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"
|
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-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"
|
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-cli
|
||||||
server = "run --bin veloren-server-cli"
|
server = "run --bin veloren-server-cli"
|
||||||
test-server = "run --bin veloren-server-cli --no-default-features --features simd"
|
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"
|
dbg-voxygen = "run --bin veloren-voxygen --profile debuginfo"
|
||||||
# misc
|
# misc
|
||||||
swarm = "run --bin swarm --features client/bin_bot,client/tick_network --"
|
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
|
*.tar filter=lfs diff=lfs merge=lfs -text
|
||||||
*.obj filter=lfs diff=lfs merge=lfs -text
|
*.obj filter=lfs diff=lfs merge=lfs -text
|
||||||
*.blend 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
|
assets/world/map/*.bin filter=lfs diff=lfs merge=lfs -text
|
||||||
|
|
||||||
*.ron gitlab-language=rust
|
*.ron gitlab-language=rust
|
||||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -52,6 +52,7 @@ wgpu-trace/
|
|||||||
|
|
||||||
# Export data
|
# Export data
|
||||||
*.csv
|
*.csv
|
||||||
|
img-export/**/*.png
|
||||||
|
|
||||||
# Game data
|
# Game data
|
||||||
*.sqlite
|
*.sqlite
|
||||||
|
@ -13,7 +13,7 @@ variables:
|
|||||||
# https://docs.gitlab.com/ee/ci/yaml/#shallow-cloning
|
# https://docs.gitlab.com/ee/ci/yaml/#shallow-cloning
|
||||||
GIT_DEPTH: 3
|
GIT_DEPTH: 3
|
||||||
GIT_CLEAN_FLAGS: -f
|
GIT_CLEAN_FLAGS: -f
|
||||||
CACHE_IMAGE_TAG: c96aef21
|
CACHE_IMAGE_TAG: 8e8fe241
|
||||||
TAG_REGEX: '/^v[0-9]+\.[0-9]+\.[0-9]+$/'
|
TAG_REGEX: '/^v[0-9]+\.[0-9]+\.[0-9]+$/'
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -55,6 +55,7 @@ benchmarks:
|
|||||||
|
|
||||||
# Coverage is needed on master for the README.md badge to work
|
# 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
|
# tmp remove simd as it doesnt work with tarpaulin: https://github.com/rust-lang/rust/issues/77529
|
||||||
|
|
||||||
coverage:
|
coverage:
|
||||||
extends: .release
|
extends: .release
|
||||||
stage: build
|
stage: build
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
||||||
# No '-' here is *very* important: https://docs.gitlab.com/ee/ci/yaml/#complex-rule-clauses
|
# No '-' here is *very* important: https://docs.gitlab.com/ee/ci/yaml/#complex-rule-clauses
|
||||||
changes:
|
changes:
|
||||||
- "**/*.{glsl,png,rs,ron,toml,vox,yml,wav,sh}"
|
- "**/*.{glsl,png,rs,ron,ftl,toml,vox,yml,wav,sh}"
|
||||||
- "rust-toolchain"
|
- "rust-toolchain"
|
||||||
- "Cargo.lock"
|
- "Cargo.lock"
|
||||||
- ".gitlab-ci.yml"
|
- ".gitlab-ci.yml"
|
||||||
@ -14,7 +14,7 @@
|
|||||||
.recompile:
|
.recompile:
|
||||||
rules:
|
rules:
|
||||||
- changes:
|
- changes:
|
||||||
- "**/*.{glsl,png,rs,ron,toml,vox,yml,wav,sh}"
|
- "**/*.{glsl,png,rs,ron,ftl,toml,vox,yml,wav,sh}"
|
||||||
- "rust-toolchain"
|
- "rust-toolchain"
|
||||||
- "Cargo.lock"
|
- "Cargo.lock"
|
||||||
- ".gitlab-ci.yml"
|
- ".gitlab-ci.yml"
|
||||||
|
@ -1,6 +1,16 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# cargo clippy is a superset of cargo check, so we don't check manually
|
# 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
|
# 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
|
time cargo fmt --all -- --check
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
echo "modifying files in 5s, ctrl+c to abort" && sleep 5
|
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 -E 's/, *"simd"|"simd" *,|"simd"//g' {} \;
|
||||||
find ./* -name "Cargo.toml" -exec sed -i 's/"simd"]/]/g' {} \;
|
|
||||||
export VELOREN_ASSETS="$(pwd)/assets";
|
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
|
#!/bin/bash
|
||||||
export VELOREN_ASSETS="$(pwd)/assets"
|
VELOREN_ASSETS="$(pwd)/assets"
|
||||||
time cargo test --package veloren-voxygen-i18n --lib test_all_localizations -- --nocapture --ignored
|
export VELOREN_ASSETS
|
||||||
|
|
||||||
|
time cargo run --bin i18n-csv --features="stat"
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
export VELOREN_ASSETS="$(pwd)/assets"
|
VELOREN_ASSETS="$(pwd)/assets"
|
||||||
time cargo test --package veloren-common-assets asset_tweak::tests --features asset_tweak --lib &&
|
export VELOREN_ASSETS
|
||||||
|
|
||||||
|
time cargo test \
|
||||||
|
--package veloren-common-assets asset_tweak::tests \
|
||||||
|
--features asset_tweak --lib &&
|
||||||
time cargo test
|
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]
|
## [Unreleased]
|
||||||
|
|
||||||
### Added
|
### 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
|
### 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
|
### Removed
|
||||||
|
|
||||||
### Fixed
|
### 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
|
## [0.13.0] - 2022-07-23
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Chat commands to mute and unmute players
|
- Chat commands to mute and unmute players
|
||||||
- Waypoints saved between sessions and shared with group members.
|
- Waypoints saved between sessions and shared with group members.
|
||||||
- New rocks
|
- 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
|
- Overhauled caves: they're now a multi-layer network spanning the entire world
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
|
|
||||||
- Removed the options for single and cumulated damage.
|
- Removed the options for single and cumulated damage.
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- Fixed bug that would sometimes cause taking a screenshot to panic because a buffer was mapped at the wrong time.
|
- 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
|
- Players can no longer push waypoints around
|
||||||
- Sites will now also be placed near the edge of the map
|
- 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
|
- New attack animation
|
||||||
- Weapon control system
|
- Weapon control system
|
||||||
- Game pauses when in single player and pause menu
|
- 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 gamepad/controller support
|
||||||
- Added player feedback when attempting to pickup an item with a full inventory
|
- Added player feedback when attempting to pickup an item with a full inventory
|
||||||
- Added free look
|
- 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_
|
_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.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.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
|
[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",
|
||||||
"common/assets",
|
"common/assets",
|
||||||
"common/base",
|
"common/base",
|
||||||
|
"common/dynlib",
|
||||||
"common/ecs",
|
"common/ecs",
|
||||||
"common/net",
|
"common/net",
|
||||||
"common/state",
|
"common/state",
|
||||||
"common/systems",
|
"common/systems",
|
||||||
"common/frontend",
|
"common/frontend",
|
||||||
"client",
|
"client",
|
||||||
|
"client/i18n",
|
||||||
"plugin/api",
|
"plugin/api",
|
||||||
"plugin/derive",
|
"plugin/derive",
|
||||||
"plugin/rt",
|
"plugin/rt",
|
||||||
"server",
|
"server",
|
||||||
|
"server/agent",
|
||||||
"server-cli",
|
"server-cli",
|
||||||
"voxygen",
|
"voxygen",
|
||||||
"voxygen/anim",
|
"voxygen/anim",
|
||||||
"voxygen/anim/dyn",
|
"voxygen/i18n-helpers",
|
||||||
"voxygen/i18n",
|
|
||||||
"voxygen/dynlib",
|
|
||||||
"voxygen/egui",
|
"voxygen/egui",
|
||||||
"voxygen/egui/dyn",
|
|
||||||
"world",
|
"world",
|
||||||
"network",
|
"network",
|
||||||
"network/protocol",
|
"network/protocol",
|
||||||
@ -115,10 +115,6 @@ systems = ["x86_64-linux"]
|
|||||||
name = "veloren-nix"
|
name = "veloren-nix"
|
||||||
key = "veloren-nix.cachix.org-1:zokfKJqVsNV6kI/oJdLF6TYBdNPYGSb+diMVQPn/5Rc="
|
key = "veloren-nix.cachix.org-1:zokfKJqVsNV6kI/oJdLF6TYBdNPYGSb+diMVQPn/5Rc="
|
||||||
|
|
||||||
[workspace.metadata.nix.crateOverride.veloren-network]
|
|
||||||
buildInputs = ["openssl"]
|
|
||||||
nativeBuildInputs = ["pkg-config"]
|
|
||||||
|
|
||||||
[patch.crates-io]
|
[patch.crates-io]
|
||||||
vek = { git = "https://github.com/yoanlcq/vek.git", rev = "84d5cb65841d46599a986c5477341bea4456be26" }
|
vek = { git = "https://github.com/yoanlcq/vek.git", rev = "84d5cb65841d46599a986c5477341bea4456be26" }
|
||||||
# patch wgpu so we can use wgpu-profiler crate
|
# patch wgpu so we can use wgpu-profiler crate
|
||||||
|
12
LICENSE
12
LICENSE
@ -1,7 +1,7 @@
|
|||||||
GNU GENERAL PUBLIC LICENSE
|
GNU GENERAL PUBLIC LICENSE
|
||||||
Version 3, 29 June 2007
|
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
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
of this license document, but changing it is not allowed.
|
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.
|
the "copyright" line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
Veloren
|
Veloren
|
||||||
Copyright (C) 2020 Project Veloren
|
Copyright (C) 2018-2023 Project Veloren
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
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.
|
GNU General Public License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
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.
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
If the program does terminal interaction, make it output a short
|
If the program does terminal interaction, make it output a short
|
||||||
notice like this when it starts in an interactive mode:
|
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 program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
This is free software, and you are welcome to redistribute it
|
This is free software, and you are welcome to redistribute it
|
||||||
under certain conditions; type `show c' for details.
|
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,
|
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.
|
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
|
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
|
The GNU General Public License does not permit incorporating your program
|
||||||
into proprietary programs. If your program is a subroutine library, you
|
into proprietary programs. If your program is a subroutine library, you
|
||||||
may consider it more useful to permit linking proprietary applications with
|
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
|
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
|
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
|
// 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
|
// A set of abilities is a primary, a secondary, and a vec of all extra abilities
|
||||||
({
|
({
|
||||||
Tool(Sword): (
|
Tool(Sword): (
|
||||||
primary: "common.abilities.sword.triplestrike",
|
primary: Contextualized(
|
||||||
secondary: "common.abilities.sword.dash",
|
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: [
|
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): (
|
Tool(Axe): (
|
||||||
primary: "common.abilities.axe.doublestrike",
|
primary: Simple(None, "common.abilities.axe.doublestrike"),
|
||||||
secondary: "common.abilities.axe.spin",
|
secondary: Simple(None, "common.abilities.axe.spin"),
|
||||||
abilities: [
|
abilities: [
|
||||||
(Some(Axe(UnlockLeap)), "common.abilities.axe.leap"),
|
Simple(Some(Axe(UnlockLeap)), "common.abilities.axe.leap"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Tool(Hammer): (
|
Tool(Hammer): (
|
||||||
primary: "common.abilities.hammer.singlestrike",
|
primary: Simple(None, "common.abilities.hammer.singlestrike"),
|
||||||
secondary: "common.abilities.hammer.charged",
|
secondary: Simple(None, "common.abilities.hammer.charged"),
|
||||||
abilities: [
|
abilities: [
|
||||||
(Some(Hammer(UnlockLeap)), "common.abilities.hammer.leap"),
|
Simple(Some(Hammer(UnlockLeap)), "common.abilities.hammer.leap"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Tool(Bow): (
|
Tool(Bow): (
|
||||||
primary: "common.abilities.bow.charged",
|
primary: Simple(None, "common.abilities.bow.charged"),
|
||||||
secondary: "common.abilities.bow.repeater",
|
secondary: Simple(None, "common.abilities.bow.repeater"),
|
||||||
abilities: [
|
abilities: [
|
||||||
(Some(Bow(UnlockShotgun)), "common.abilities.bow.shotgun"),
|
Simple(Some(Bow(UnlockShotgun)), "common.abilities.bow.shotgun"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Tool(Staff): (
|
Tool(Staff): (
|
||||||
primary: "common.abilities.staff.firebomb",
|
primary: Simple(None, "common.abilities.staff.firebomb"),
|
||||||
secondary: "common.abilities.staff.flamethrower",
|
secondary: Simple(None, "common.abilities.staff.flamethrower"),
|
||||||
abilities: [
|
abilities: [
|
||||||
(Some(Staff(UnlockShockwave)), "common.abilities.staff.fireshockwave"),
|
Simple(Some(Staff(UnlockShockwave)), "common.abilities.staff.fireshockwave"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Tool(Sceptre): (
|
Tool(Sceptre): (
|
||||||
primary: "common.abilities.sceptre.lifestealbeam",
|
primary: Simple(None, "common.abilities.sceptre.lifestealbeam"),
|
||||||
secondary: "common.abilities.sceptre.healingaura",
|
secondary: Simple(None, "common.abilities.sceptre.healingaura"),
|
||||||
abilities: [
|
abilities: [
|
||||||
(Some(Sceptre(UnlockAura)), "common.abilities.sceptre.wardingaura"),
|
Simple(Some(Sceptre(UnlockAura)), "common.abilities.sceptre.wardingaura"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Custom("Husk"): (
|
Custom("Husk"): (
|
||||||
primary: "common.abilities.custom.husk.singlestrike",
|
primary: Simple(None, "common.abilities.custom.husk.singlestrike"),
|
||||||
secondary: "common.abilities.custom.husk.triplestrike",
|
secondary: Simple(None, "common.abilities.custom.husk.triplestrike"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Husk Brute"): (
|
Custom("Husk Brute"): (
|
||||||
primary: "common.abilities.custom.husk_brute.singlestrike",
|
primary: Simple(None, "common.abilities.custom.husk_brute.singlestrike"),
|
||||||
secondary: "common.abilities.custom.husk_brute.chargedmelee",
|
secondary: Simple(None, "common.abilities.custom.husk_brute.chargedmelee"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Tool(Spear): (
|
Tool(Spear): (
|
||||||
primary: "common.abilities.spear.doublestrike",
|
primary: Simple(None, "common.abilities.spear.doublestrike"),
|
||||||
secondary: "common.abilities.spear.dash",
|
secondary: Simple(None, "common.abilities.spear.dash"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Hammer Simple"): (
|
Custom("Hammer Simple"): (
|
||||||
primary: "common.abilities.hammersimple.doublestrike",
|
primary: Simple(None, "common.abilities.hammersimple.doublestrike"),
|
||||||
secondary: "common.abilities.hammersimple.doublestrike",
|
secondary: Simple(None, "common.abilities.hammersimple.doublestrike"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
// TODO: Later investigate if we want to make this back to a simple axe when more things need a simpler axe ability set
|
// 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"): (
|
Custom("Gnarling Axe"): (
|
||||||
primary: "common.abilities.gnarling.axe.chop",
|
primary: Simple(None, "common.abilities.gnarling.axe.chop"),
|
||||||
secondary: "common.abilities.gnarling.axe.chop",
|
secondary: Simple(None, "common.abilities.gnarling.axe.chop"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Gnarling Dagger"): (
|
Custom("Gnarling Dagger"): (
|
||||||
primary: "common.abilities.gnarling.dagger.stab",
|
primary: Simple(None, "common.abilities.gnarling.dagger.stab"),
|
||||||
secondary: "common.abilities.gnarling.dagger.stab",
|
secondary: Simple(None, "common.abilities.gnarling.dagger.stab"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Gnarling Blowgun"): (
|
Custom("Gnarling Blowgun"): (
|
||||||
primary: "common.abilities.gnarling.blowgun.dart",
|
primary: Simple(None, "common.abilities.gnarling.blowgun.dart"),
|
||||||
secondary: "common.abilities.gnarling.blowgun.dart",
|
secondary: Simple(None, "common.abilities.gnarling.blowgun.dart"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Gnarling Chieftain"): (
|
Custom("Gnarling Chieftain"): (
|
||||||
primary: "common.abilities.gnarling.chieftain.flamestrike",
|
primary: Simple(None, "common.abilities.gnarling.chieftain.flamestrike"),
|
||||||
secondary: "common.abilities.gnarling.chieftain.firebarrage",
|
secondary: Simple(None, "common.abilities.gnarling.chieftain.firebarrage"),
|
||||||
abilities: [
|
abilities: [
|
||||||
(None, "common.abilities.gnarling.chieftain.fireshockwave"),
|
Simple(None, "common.abilities.gnarling.chieftain.fireshockwave"),
|
||||||
(None, "common.abilities.gnarling.chieftain.redtotem"),
|
Simple(None, "common.abilities.gnarling.chieftain.redtotem"),
|
||||||
(None, "common.abilities.gnarling.chieftain.greentotem"),
|
Simple(None, "common.abilities.gnarling.chieftain.greentotem"),
|
||||||
(None, "common.abilities.gnarling.chieftain.whitetotem"),
|
Simple(None, "common.abilities.gnarling.chieftain.whitetotem"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Custom("Gnarling Totem Red"): (
|
Custom("Gnarling Totem Red"): (
|
||||||
primary: "common.abilities.gnarling.totem.red",
|
primary: Simple(None, "common.abilities.gnarling.totem.red"),
|
||||||
secondary: "common.abilities.gnarling.totem.red",
|
secondary: Simple(None, "common.abilities.gnarling.totem.red"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Gnarling Totem Green"): (
|
Custom("Gnarling Totem Green"): (
|
||||||
primary: "common.abilities.gnarling.totem.green",
|
primary: Simple(None, "common.abilities.gnarling.totem.green"),
|
||||||
secondary: "common.abilities.gnarling.totem.green",
|
secondary: Simple(None, "common.abilities.gnarling.totem.green"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Gnarling Totem White"): (
|
Custom("Gnarling Totem White"): (
|
||||||
primary: "common.abilities.gnarling.totem.white",
|
primary: Simple(None, "common.abilities.gnarling.totem.white"),
|
||||||
secondary: "common.abilities.gnarling.totem.white",
|
secondary: Simple(None, "common.abilities.gnarling.totem.white"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Deadwood"): (
|
Custom("Deadwood"): (
|
||||||
primary: "common.abilities.custom.deadwood.lifestealbeam",
|
primary: Simple(None, "common.abilities.custom.deadwood.lifestealbeam"),
|
||||||
secondary: "common.abilities.custom.deadwood.dash",
|
secondary: Simple(None, "common.abilities.custom.deadwood.dash"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Mandragora"): (
|
Custom("Mandragora"): (
|
||||||
primary: "common.abilities.custom.mandragora.basic",
|
primary: Simple(None, "common.abilities.custom.mandragora.basic"),
|
||||||
secondary: "common.abilities.custom.mandragora.scream",
|
secondary: Simple(None, "common.abilities.custom.mandragora.scream"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Wood Golem"): (
|
Custom("Wood Golem"): (
|
||||||
primary: "common.abilities.custom.woodgolem.strike",
|
primary: Simple(None, "common.abilities.custom.woodgolem.strike"),
|
||||||
secondary: "common.abilities.custom.woodgolem.spin",
|
secondary: Simple(None, "common.abilities.custom.woodgolem.spin"),
|
||||||
abilities: [
|
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"): (
|
Custom("Sword Simple"): (
|
||||||
primary: "common.abilities.swordsimple.doublestrike",
|
primary: Simple(None, "common.abilities.swordsimple.doublestrike"),
|
||||||
secondary: "common.abilities.swordsimple.dash",
|
secondary: Simple(None, "common.abilities.swordsimple.dash"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Staff Simple"): (
|
Custom("Staff Simple"): (
|
||||||
primary: "common.abilities.staffsimple.firebomb",
|
primary: Simple(None, "common.abilities.staffsimple.firebomb"),
|
||||||
secondary: "common.abilities.staffsimple.flamethrower",
|
secondary: Simple(None, "common.abilities.staffsimple.flamethrower"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Bow Simple"): (
|
Custom("Bow Simple"): (
|
||||||
primary: "common.abilities.bowsimple.basic",
|
primary: Simple(None, "common.abilities.bowsimple.basic"),
|
||||||
secondary: "common.abilities.bowsimple.basic",
|
secondary: Simple(None, "common.abilities.bowsimple.basic"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Axe Simple"): (
|
Custom("Axe Simple"): (
|
||||||
primary: "common.abilities.axesimple.doublestrike",
|
primary: Simple(None, "common.abilities.axesimple.doublestrike"),
|
||||||
secondary: "common.abilities.axesimple.doublestrike",
|
secondary: Simple(None, "common.abilities.axesimple.doublestrike"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Dagger Simple"): (
|
Custom("Dagger Simple"): (
|
||||||
primary: "common.abilities.daggersimple.singlestrike",
|
primary: Simple(None, "common.abilities.daggersimple.singlestrike"),
|
||||||
secondary: "common.abilities.daggersimple.singlestrike",
|
secondary: Simple(None, "common.abilities.daggersimple.singlestrike"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Tool(Dagger): (
|
Tool(Dagger): (
|
||||||
primary: "common.abilities.dagger.tempbasic",
|
primary: Simple(None, "common.abilities.dagger.tempbasic"),
|
||||||
secondary: "common.abilities.dagger.tempbasic",
|
secondary: Simple(None, "common.abilities.dagger.tempbasic"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Tool(Shield): (
|
Tool(Shield): (
|
||||||
primary: "common.abilities.shield.tempbasic",
|
primary: Simple(None, "common.abilities.shield.tempbasic"),
|
||||||
secondary: "common.abilities.shield.block",
|
secondary: Simple(None, "common.abilities.shield.block"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Stone Golem"): (
|
Custom("Stone Golem"): (
|
||||||
primary: "common.abilities.custom.stonegolemfist.singlestrike",
|
primary: Simple(None, "common.abilities.custom.stonegolemfist.singlestrike"),
|
||||||
secondary: "common.abilities.custom.stonegolemfist.shockwave",
|
secondary: Simple(None, "common.abilities.custom.stonegolemfist.shockwave"),
|
||||||
abilities: [
|
abilities: [
|
||||||
(None, "common.abilities.custom.stonegolemfist.spin"),
|
Simple(None, "common.abilities.custom.stonegolemfist.spin"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Custom("Beast Claws"): (
|
Custom("Beast Claws"): (
|
||||||
primary: "common.abilities.custom.beastclaws.basic",
|
primary: Simple(None, "common.abilities.custom.beastclaws.basic"),
|
||||||
secondary: "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: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Wendigo Magic"): (
|
Custom("Wendigo Magic"): (
|
||||||
primary: "common.abilities.custom.wendigomagic.frostbomb",
|
primary: Simple(None, "common.abilities.custom.wendigomagic.frostbomb"),
|
||||||
secondary: "common.abilities.custom.wendigomagic.singlestrike",
|
secondary: Simple(None, "common.abilities.custom.wendigomagic.singlestrike"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Tidal Warrior"): (
|
Custom("Tidal Warrior"): (
|
||||||
primary: "common.abilities.custom.tidalwarrior.pincer",
|
primary: Simple(None, "common.abilities.custom.tidalwarrior.pincer"),
|
||||||
secondary: "common.abilities.custom.tidalwarrior.scuttle",
|
secondary: Simple(None, "common.abilities.custom.tidalwarrior.scuttle"),
|
||||||
abilities: [
|
abilities: [
|
||||||
(None, "common.abilities.custom.tidalwarrior.bubbles"),
|
Simple(None, "common.abilities.custom.tidalwarrior.bubbles"),
|
||||||
(None, "common.abilities.custom.tidalwarrior.totem"),
|
Simple(None, "common.abilities.custom.tidalwarrior.totem"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Custom("Tidal Totem"): (
|
Custom("Tidal Totem"): (
|
||||||
primary: "common.abilities.custom.tidalwarrior.totem_wave",
|
primary: Simple(None, "common.abilities.custom.tidalwarrior.totem_wave"),
|
||||||
secondary: "common.abilities.custom.tidalwarrior.totem_wave",
|
secondary: Simple(None, "common.abilities.custom.tidalwarrior.totem_wave"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
// Note: Consider making a ranking system once we get more entities
|
// Note: Consider making a ranking system once we get more entities
|
||||||
// TODO: Make all purple item droppers have purple CR and a unique skillset
|
// TODO: Make all purple item droppers have purple CR and a unique skillset
|
||||||
Custom("Quad Med Quick"): (
|
Custom("Quad Med Quick"): (
|
||||||
primary: "common.abilities.custom.quadmedquick.triplestrike",
|
primary: Simple(None, "common.abilities.custom.quadmedquick.triplestrike"),
|
||||||
secondary: "common.abilities.custom.quadmedquick.dash",
|
secondary: Simple(None, "common.abilities.custom.quadmedquick.dash"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Quad Med Jump"): (
|
Custom("Quad Med Jump"): (
|
||||||
primary: "common.abilities.custom.quadmedjump.leap",
|
primary: Simple(None, "common.abilities.custom.quadmedjump.leap"),
|
||||||
secondary: "common.abilities.custom.quadmedjump.doublestrike",
|
secondary: Simple(None, "common.abilities.custom.quadmedjump.doublestrike"),
|
||||||
abilities: [
|
abilities: [
|
||||||
(None, "common.abilities.custom.quadmedjump.quickleap"),
|
Simple(None, "common.abilities.custom.quadmedjump.quickleap"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Custom("Quad Med Charge"): (
|
Custom("Quad Med Charge"): (
|
||||||
primary: "common.abilities.custom.quadmedcharge.doublestrike",
|
primary: Simple(None, "common.abilities.custom.quadmedcharge.doublestrike"),
|
||||||
secondary: "common.abilities.custom.quadmedcharge.dash",
|
secondary: Simple(None, "common.abilities.custom.quadmedcharge.dash"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Quad Med Hoof"): (
|
Custom("Quad Med Hoof"): (
|
||||||
primary: "common.abilities.custom.quadmedhoof.basic",
|
primary: Simple(None, "common.abilities.custom.quadmedhoof.basic"),
|
||||||
secondary: "common.abilities.custom.quadmedhoof.basic",
|
secondary: Simple(None, "common.abilities.custom.quadmedhoof.basic"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Quad Med Basic"): (
|
Custom("Quad Med Basic"): (
|
||||||
primary: "common.abilities.custom.quadmedbasic.singlestrike",
|
primary: Simple(None, "common.abilities.custom.quadmedbasic.singlestrike"),
|
||||||
secondary: "common.abilities.custom.quadmedbasic.triplestrike",
|
secondary: Simple(None, "common.abilities.custom.quadmedbasic.triplestrike"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Basilisk"): (
|
Custom("Roshwalr"): (
|
||||||
primary: "common.abilities.custom.basilisk.petrify",
|
primary: Simple(None, "common.abilities.custom.roshwalr.doublehusk"),
|
||||||
secondary: "common.abilities.custom.basilisk.triplestrike",
|
secondary: Simple(None, "common.abilities.custom.roshwalr.slowcharge"),
|
||||||
abilities: [
|
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"): (
|
Custom("Asp"): (
|
||||||
primary: "common.abilities.custom.asp.singlestrike",
|
primary: Simple(None, "common.abilities.custom.asp.singlestrike"),
|
||||||
secondary: "common.abilities.custom.asp.firebomb",
|
secondary: Simple(None, "common.abilities.custom.asp.firebomb"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Maneater"): (
|
Custom("Maneater"): (
|
||||||
primary: "common.abilities.custom.maneater.singlestrike",
|
primary: Simple(None, "common.abilities.custom.maneater.singlestrike"),
|
||||||
secondary: "common.abilities.custom.maneater.poisonball",
|
secondary: Simple(None, "common.abilities.custom.maneater.poisonball"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Quad Low Breathe"): (
|
Custom("Quad Low Breathe"): (
|
||||||
primary: "common.abilities.custom.quadlowbreathe.flamethrower",
|
primary: Simple(None, "common.abilities.custom.quadlowbreathe.flamethrower"),
|
||||||
secondary: "common.abilities.custom.quadlowbreathe.triplestrike",
|
secondary: Simple(None, "common.abilities.custom.quadlowbreathe.triplestrike"),
|
||||||
abilities: [
|
abilities: [
|
||||||
(None, "common.abilities.custom.quadlowbreathe.dash"),
|
Simple(None, "common.abilities.custom.quadlowbreathe.dash"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Custom("Quad Low Tail"): (
|
Custom("Quad Low Tail"): (
|
||||||
primary: "common.abilities.custom.quadlowtail.charged",
|
primary: Simple(None, "common.abilities.custom.quadlowtail.charged"),
|
||||||
secondary: "common.abilities.custom.quadlowtail.triplestrike",
|
secondary: Simple(None, "common.abilities.custom.quadlowtail.triplestrike"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Quad Low Quick"): (
|
Custom("Quad Low Quick"): (
|
||||||
primary: "common.abilities.custom.quadlowquick.dash",
|
primary: Simple(None, "common.abilities.custom.quadlowquick.dash"),
|
||||||
secondary: "common.abilities.custom.quadlowquick.quadstrike",
|
secondary: Simple(None, "common.abilities.custom.quadlowquick.quadstrike"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Quad Low Basic"): (
|
Custom("Quad Low Basic"): (
|
||||||
primary: "common.abilities.custom.quadlowbasic.triplestrike",
|
primary: Simple(None, "common.abilities.custom.quadlowbasic.triplestrike"),
|
||||||
secondary: "common.abilities.custom.quadlowbasic.singlestrike",
|
secondary: Simple(None, "common.abilities.custom.quadlowbasic.singlestrike"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Quad Low Beam"): (
|
Custom("Quad Low Beam"): (
|
||||||
primary: "common.abilities.custom.quadlowbeam.lifestealbeam",
|
primary: Simple(None, "common.abilities.custom.quadlowbeam.lifestealbeam"),
|
||||||
secondary: "common.abilities.custom.quadlowbreathe.triplestrike",
|
secondary: Simple(None, "common.abilities.custom.quadlowbreathe.triplestrike"),
|
||||||
abilities: [
|
abilities: [
|
||||||
(None, "common.abilities.custom.quadlowbreathe.dash"),
|
Simple(None, "common.abilities.custom.quadlowbreathe.dash"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Custom("Quad Small Basic"): (
|
Custom("Quad Small Basic"): (
|
||||||
primary: "common.abilities.custom.quadsmallbasic.singlestrike",
|
primary: Simple(None, "common.abilities.custom.quadsmallbasic.singlestrike"),
|
||||||
secondary: "common.abilities.custom.quadsmallbasic.singlestrike",
|
secondary: Simple(None, "common.abilities.custom.quadsmallbasic.singlestrike"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Theropod Basic"): (
|
Custom("Theropod Basic"): (
|
||||||
primary: "common.abilities.custom.theropodbasic.triplestrike",
|
primary: Simple(None, "common.abilities.custom.theropodbasic.triplestrike"),
|
||||||
secondary: "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: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Theropod Bird"): (
|
Custom("Theropod Bird"): (
|
||||||
primary: "common.abilities.custom.theropodbird.triplestrike",
|
primary: Simple(None, "common.abilities.custom.theropodbird.triplestrike"),
|
||||||
secondary: "common.abilities.custom.theropodbird.triplestrike",
|
secondary: Simple(None, "common.abilities.custom.theropodbird.triplestrike"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Theropod Charge"): (
|
Custom("Theropod Charge"): (
|
||||||
primary: "common.abilities.custom.theropodbasic.triplestrike",
|
primary: Simple(None, "common.abilities.custom.theropodbasic.triplestrike"),
|
||||||
secondary: "common.abilities.custom.theropodbasic.dash",
|
secondary: Simple(None, "common.abilities.custom.theropodbasic.dash"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
// Arthropods
|
// Arthropods
|
||||||
Custom("Antlion"): (
|
Custom("Antlion"): (
|
||||||
primary: "common.abilities.custom.arthropods.antlion.singlestrike",
|
primary: Simple(None, "common.abilities.custom.arthropods.antlion.singlestrike"),
|
||||||
secondary: "common.abilities.custom.arthropods.antlion.charge",
|
secondary: Simple(None, "common.abilities.custom.arthropods.antlion.charge"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Black Widow"): (
|
Custom("Black Widow"): (
|
||||||
primary: "common.abilities.custom.arthropods.blackwidow.singlestrike",
|
primary: Simple(None, "common.abilities.custom.arthropods.blackwidow.singlestrike"),
|
||||||
secondary: "common.abilities.custom.arthropods.blackwidow.ensnaringwebs",
|
secondary: Simple(None, "common.abilities.custom.arthropods.blackwidow.ensnaringwebs"),
|
||||||
abilities: [
|
abilities: [
|
||||||
(None, "common.abilities.custom.arthropods.blackwidow.poisonball"),
|
Simple(None, "common.abilities.custom.arthropods.blackwidow.poisonball"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Custom("Horn Beetle"): (
|
Custom("Horn Beetle"): (
|
||||||
primary: "common.abilities.custom.arthropods.hornbeetle.singlestrike",
|
primary: Simple(None, "common.abilities.custom.arthropods.hornbeetle.singlestrike"),
|
||||||
secondary: "common.abilities.custom.arthropods.hornbeetle.harden",
|
secondary: Simple(None, "common.abilities.custom.arthropods.hornbeetle.harden"),
|
||||||
abilities: [
|
abilities: [
|
||||||
(None, "common.abilities.custom.arthropods.hornbeetle.leap"),
|
Simple(None, "common.abilities.custom.arthropods.hornbeetle.leap"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Custom("Tarantula"): (
|
Custom("Tarantula"): (
|
||||||
primary: "common.abilities.custom.arthropods.tarantula.singlestrike",
|
primary: Simple(None, "common.abilities.custom.arthropods.tarantula.singlestrike"),
|
||||||
secondary: "common.abilities.custom.arthropods.tarantula.ensnaringwebs",
|
secondary: Simple(None, "common.abilities.custom.arthropods.tarantula.ensnaringwebs"),
|
||||||
abilities: [
|
abilities: [
|
||||||
(None, "common.abilities.custom.arthropods.tarantula.leap"),
|
Simple(None, "common.abilities.custom.arthropods.tarantula.leap"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Custom("Weevil"): (
|
Custom("Weevil"): (
|
||||||
primary: "common.abilities.custom.arthropods.weevil.singlestrike",
|
primary: Simple(None, "common.abilities.custom.arthropods.weevil.singlestrike"),
|
||||||
secondary: "common.abilities.custom.arthropods.weevil.harden",
|
secondary: Simple(None, "common.abilities.custom.arthropods.weevil.harden"),
|
||||||
abilities: [
|
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
|
/// TODO: Organize the rest into further catagories and give purple tier droppers+ custom skillsets
|
||||||
Custom("Turret"): (
|
Custom("Turret"): (
|
||||||
primary: "common.abilities.custom.turret.arrows",
|
primary: Simple(None, "common.abilities.custom.turret.arrows"),
|
||||||
secondary: "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: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Haniwa Sentry"): (
|
Custom("Haniwa Sentry"): (
|
||||||
primary: "common.abilities.custom.turret.flamethrower",
|
primary: Simple(None, "common.abilities.custom.turret.flamethrower"),
|
||||||
secondary: "common.abilities.custom.turret.flamethrower",
|
secondary: Simple(None, "common.abilities.custom.turret.flamethrower"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Mindflayer"): (
|
Custom("Mindflayer"): (
|
||||||
primary: "common.abilities.custom.mindflayer.cursedflames",
|
primary: Simple(None, "common.abilities.custom.mindflayer.cursedflames"),
|
||||||
secondary: "common.abilities.custom.mindflayer.necroticvortex",
|
secondary: Simple(None, "common.abilities.custom.mindflayer.necroticvortex"),
|
||||||
abilities: [
|
abilities: [
|
||||||
(None, "common.abilities.custom.mindflayer.dimensionaldoor"),
|
Simple(None, "common.abilities.custom.mindflayer.dimensionaldoor"),
|
||||||
(None, "common.abilities.custom.mindflayer.necroticsphere"),
|
Simple(None, "common.abilities.custom.mindflayer.necroticsphere"),
|
||||||
(None, "common.abilities.custom.mindflayer.summonminions"),
|
Simple(None, "common.abilities.custom.mindflayer.summonminions"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Custom("Minotaur"): (
|
Custom("Minotaur"): (
|
||||||
primary: "common.abilities.custom.minotaur.cleave",
|
primary: Simple(None, "common.abilities.custom.minotaur.cleave"),
|
||||||
secondary: "common.abilities.custom.minotaur.cripplingstrike",
|
secondary: Simple(None, "common.abilities.custom.minotaur.cripplingstrike"),
|
||||||
abilities: [
|
abilities: [
|
||||||
(None, "common.abilities.custom.minotaur.charge"),
|
Simple(None, "common.abilities.custom.minotaur.charge"),
|
||||||
(None, "common.abilities.custom.minotaur.frenzy"),
|
Simple(None, "common.abilities.custom.minotaur.frenzy"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Custom("Clay Golem"): (
|
Custom("Clay Golem"): (
|
||||||
primary: "common.abilities.custom.claygolem.strike",
|
primary: Simple(None, "common.abilities.custom.claygolem.strike"),
|
||||||
secondary: "common.abilities.custom.claygolem.laser",
|
secondary: Simple(None, "common.abilities.custom.claygolem.laser"),
|
||||||
abilities: [
|
abilities: [
|
||||||
(None, "common.abilities.custom.claygolem.shockwave"),
|
Simple(None, "common.abilities.custom.claygolem.shockwave"),
|
||||||
(None, "common.abilities.custom.claygolem.rocket"),
|
Simple(None, "common.abilities.custom.claygolem.rocket"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Custom("Yeti"): (
|
Custom("Yeti"): (
|
||||||
primary: "common.abilities.custom.yeti.strike",
|
primary: Simple(None, "common.abilities.custom.yeti.strike"),
|
||||||
secondary: "common.abilities.custom.yeti.icespikes",
|
secondary: Simple(None, "common.abilities.custom.yeti.icespikes"),
|
||||||
abilities: [
|
abilities: [
|
||||||
(None, "common.abilities.custom.yeti.frostbreath"),
|
Simple(None, "common.abilities.custom.yeti.frostbreath"),
|
||||||
(None, "common.abilities.custom.yeti.snowball"),
|
Simple(None, "common.abilities.custom.yeti.snowball"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Custom("Harvester"): (
|
Custom("Harvester"): (
|
||||||
primary: "common.abilities.custom.harvester.scythe",
|
primary: Simple(None, "common.abilities.custom.harvester.scythe"),
|
||||||
secondary: "common.abilities.custom.harvester.firebreath",
|
secondary: Simple(None, "common.abilities.custom.harvester.firebreath"),
|
||||||
abilities: [
|
abilities: [
|
||||||
(None, "common.abilities.custom.harvester.ensnaringvines"),
|
Simple(None, "common.abilities.custom.harvester.ensnaringvines"),
|
||||||
(None, "common.abilities.custom.harvester.explodingpumpkin"),
|
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"): (
|
Custom("Oni"): (
|
||||||
primary: "common.abilities.custom.oni.dash",
|
primary: Simple(None, "common.abilities.custom.oni.dash"),
|
||||||
secondary: "common.abilities.custom.oni.doublestrike",
|
secondary: Simple(None, "common.abilities.custom.oni.doublestrike"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Bird Large Breathe"): (
|
Custom("Bird Large Breathe"): (
|
||||||
primary: "common.abilities.custom.birdlargebreathe.firebomb",
|
primary: Simple(None, "common.abilities.custom.birdlargebreathe.firebomb"),
|
||||||
secondary: "common.abilities.custom.birdlargebreathe.triplestrike",
|
secondary: Simple(None, "common.abilities.custom.birdlargebreathe.triplestrike"),
|
||||||
abilities: [
|
abilities: [
|
||||||
(None, "common.abilities.custom.birdlargebreathe.flamethrower"),
|
Simple(None, "common.abilities.custom.birdlargebreathe.flamethrower"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Custom("Bird Large Fire"): (
|
Custom("Bird Large Fire"): (
|
||||||
primary: "common.abilities.custom.birdlargefire.firebomb",
|
primary: Simple(None, "common.abilities.custom.birdlargefire.firebomb"),
|
||||||
secondary: "common.abilities.custom.birdlargefire.triplestrike",
|
secondary: Simple(None, "common.abilities.custom.birdlargefire.triplestrike"),
|
||||||
abilities: [
|
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"): (
|
Custom("Bird Large Basic"): (
|
||||||
primary: "common.abilities.custom.birdlargebasic.triplestrike",
|
primary: Simple(None, "common.abilities.custom.birdlargebasic.triplestrike"),
|
||||||
secondary: "common.abilities.custom.birdlargebasic.summontornadoes",
|
secondary: Simple(None, "common.abilities.custom.birdlargebasic.summontornadoes"),
|
||||||
abilities: [
|
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"): (
|
Custom("Tornado"): (
|
||||||
primary: "common.abilities.custom.tornado.spin",
|
primary: Simple(None, "common.abilities.custom.tornado.spin"),
|
||||||
secondary: "common.abilities.empty.basic",
|
secondary: Simple(None, "common.abilities.empty.basic"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Custom("Golf Club"): (
|
Custom("Golf Club"): (
|
||||||
primary: "common.abilities.hammer.singlestrike",
|
primary: Simple(None, "common.abilities.hammer.singlestrike"),
|
||||||
secondary: "common.abilities.tool.golf_club.charged",
|
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: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Tool(Debug): (
|
Tool(Debug): (
|
||||||
primary: "common.abilities.debug.forwardboost",
|
primary: Simple(None, "common.abilities.debug.forwardboost"),
|
||||||
secondary: "common.abilities.debug.upboost",
|
secondary: Simple(None, "common.abilities.debug.upboost"),
|
||||||
abilities: [
|
abilities: [
|
||||||
(None, "common.abilities.debug.possess"),
|
Simple(None, "common.abilities.debug.possess"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Tool(Farming): (
|
Tool(Farming): (
|
||||||
primary: "common.abilities.farming.basic",
|
primary: Simple(None, "common.abilities.farming.basic"),
|
||||||
secondary: "common.abilities.farming.basic",
|
secondary: Simple(None, "common.abilities.farming.basic"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Tool(Pick): (
|
Tool(Pick): (
|
||||||
primary: "common.abilities.pick.swing",
|
primary: Simple(None, "common.abilities.pick.swing"),
|
||||||
secondary: "common.abilities.pick.swing",
|
secondary: Simple(None, "common.abilities.pick.swing"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
Tool(Empty): (
|
Tool(Empty): (
|
||||||
primary: "common.abilities.empty.basic",
|
primary: Simple(None, "common.abilities.empty.basic"),
|
||||||
secondary: "common.abilities.empty.basic",
|
secondary: Simple(None, "common.abilities.empty.basic"),
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
})
|
})
|
||||||
|
@ -2,8 +2,8 @@ ComboMelee(
|
|||||||
stage_data: [
|
stage_data: [
|
||||||
(
|
(
|
||||||
stage: 1,
|
stage: 1,
|
||||||
base_damage: 11.0,
|
base_damage: 12.0,
|
||||||
damage_increase: 1.0,
|
damage_increase: 0.5,
|
||||||
base_poise_damage: 0,
|
base_poise_damage: 0,
|
||||||
poise_damage_increase: 0,
|
poise_damage_increase: 0,
|
||||||
knockback: 5.0,
|
knockback: 5.0,
|
||||||
@ -24,8 +24,8 @@ ComboMelee(
|
|||||||
),
|
),
|
||||||
(
|
(
|
||||||
stage: 2,
|
stage: 2,
|
||||||
base_damage: 13.0,
|
base_damage: 15.0,
|
||||||
damage_increase: 1.5,
|
damage_increase: 0.75,
|
||||||
base_poise_damage: 0,
|
base_poise_damage: 0,
|
||||||
poise_damage_increase: 0,
|
poise_damage_increase: 0,
|
||||||
knockback: 6.0,
|
knockback: 6.0,
|
||||||
@ -46,11 +46,10 @@ ComboMelee(
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
initial_energy_gain: 2.5,
|
initial_energy_gain: 2.5,
|
||||||
max_energy_gain: 17.5,
|
max_energy_gain: 12.5,
|
||||||
energy_increase: 3.0,
|
energy_increase: 2.5,
|
||||||
speed_increase: 0.1,
|
speed_increase: 0.1,
|
||||||
max_speed_increase: 0.6,
|
max_speed_increase: 0.6,
|
||||||
scales_from_combo: 2,
|
scales_from_combo: 2,
|
||||||
is_interruptible: false,
|
|
||||||
ori_modifier: 1.0,
|
ori_modifier: 1.0,
|
||||||
)
|
)
|
@ -1,18 +1,19 @@
|
|||||||
LeapMelee(
|
LeapMelee(
|
||||||
energy_cost: 45.0,
|
energy_cost: 30.0,
|
||||||
buildup_duration: 0.2,
|
buildup_duration: 0.3,
|
||||||
movement_duration: 0.2,
|
movement_duration: 0.25,
|
||||||
swing_duration: 0.2,
|
swing_duration: 0.2,
|
||||||
recover_duration: 0.2,
|
recover_duration: 0.2,
|
||||||
melee_constructor: (
|
melee_constructor: (
|
||||||
kind: Slash(
|
kind: Slash(
|
||||||
damage: 30.0,
|
damage: 25.0,
|
||||||
poise: 0.0,
|
poise: 0.0,
|
||||||
knockback: 12.0,
|
knockback: 12.0,
|
||||||
energy_regen: 0.0,
|
energy_regen: 0.0,
|
||||||
),
|
),
|
||||||
range: 4.5,
|
range: 4.5,
|
||||||
angle: 30.0,
|
angle: 30.0,
|
||||||
|
multi_target: Some(Normal),
|
||||||
),
|
),
|
||||||
forward_leap_strength: 20.0,
|
forward_leap_strength: 20.0,
|
||||||
vertical_leap_strength: 8.0,
|
vertical_leap_strength: 8.0,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
SpinMelee(
|
SpinMelee(
|
||||||
buildup_duration: 0.2,
|
buildup_duration: 0.2,
|
||||||
swing_duration: 0.6,
|
swing_duration: 0.4,
|
||||||
recover_duration: 0.2,
|
recover_duration: 0.2,
|
||||||
melee_constructor: (
|
melee_constructor: (
|
||||||
kind: Slash(
|
kind: Slash(
|
||||||
@ -11,11 +11,11 @@ SpinMelee(
|
|||||||
),
|
),
|
||||||
range: 3.5,
|
range: 3.5,
|
||||||
angle: 360.0,
|
angle: 360.0,
|
||||||
|
multi_target: Some(Normal),
|
||||||
),
|
),
|
||||||
energy_cost: 10.0,
|
energy_cost: 10.0,
|
||||||
is_infinite: true,
|
is_infinite: true,
|
||||||
movement_behavior: AxeHover,
|
movement_behavior: AxeHover,
|
||||||
is_interruptible: false,
|
|
||||||
forward_speed: 0.0,
|
forward_speed: 0.0,
|
||||||
num_spins: 1,
|
num_spins: 1,
|
||||||
specifier: None,
|
specifier: None,
|
||||||
|
@ -51,6 +51,5 @@ ComboMelee(
|
|||||||
speed_increase: 0.0,
|
speed_increase: 0.0,
|
||||||
max_speed_increase: 0.0,
|
max_speed_increase: 0.0,
|
||||||
scales_from_combo: 0,
|
scales_from_combo: 0,
|
||||||
is_interruptible: false,
|
|
||||||
ori_modifier: 0.7,
|
ori_modifier: 0.7,
|
||||||
)
|
)
|
@ -1,18 +1,18 @@
|
|||||||
ChargedRanged(
|
ChargedRanged(
|
||||||
energy_cost: 0,
|
energy_cost: 0,
|
||||||
energy_drain: 0,
|
energy_drain: 0,
|
||||||
initial_regen: 0.5,
|
initial_regen: 2,
|
||||||
scaled_regen: 12.0,
|
scaled_regen: 14,
|
||||||
initial_damage: 0.5,
|
initial_damage: 2,
|
||||||
scaled_damage: 12.0,
|
scaled_damage: 12,
|
||||||
initial_knockback: 0.0,
|
initial_knockback: 0,
|
||||||
scaled_knockback: 10.0,
|
scaled_knockback: 12,
|
||||||
buildup_duration: 0.2,
|
buildup_duration: 0.25,
|
||||||
charge_duration: 1.0,
|
charge_duration: 1.0,
|
||||||
recover_duration: 0.3,
|
recover_duration: 0.4,
|
||||||
projectile_body: Object(Arrow),
|
projectile_body: Object(Arrow),
|
||||||
projectile_light: None,
|
projectile_light: None,
|
||||||
initial_projectile_speed: 100.0,
|
initial_projectile_speed: 50.0,
|
||||||
scaled_projectile_speed: 150.0,
|
scaled_projectile_speed: 200.0,
|
||||||
move_speed: 0.6,
|
move_speed: 0.6,
|
||||||
)
|
)
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
RepeaterRanged(
|
RepeaterRanged(
|
||||||
energy_cost: 5.0,
|
energy_cost: 6.0,
|
||||||
buildup_duration: 0.2,
|
buildup_duration: 0.2,
|
||||||
shoot_duration: 0.5,
|
shoot_duration: 0.3,
|
||||||
recover_duration: 0.8,
|
recover_duration: 0.5,
|
||||||
max_speed: 2.0,
|
max_speed: 4.0,
|
||||||
half_speed_at: 1,
|
half_speed_at: 3,
|
||||||
projectile: Arrow(
|
projectile: Arrow(
|
||||||
damage: 3.0,
|
damage: 5.0,
|
||||||
knockback: 2.0,
|
knockback: 0,
|
||||||
energy_regen: 0,
|
energy_regen: 0,
|
||||||
),
|
),
|
||||||
projectile_body: Object(Arrow),
|
projectile_body: Object(Arrow),
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
BasicRanged(
|
BasicRanged(
|
||||||
energy_cost: 30.0,
|
energy_cost: 25.0,
|
||||||
buildup_duration: 0.4,
|
buildup_duration: 0.3,
|
||||||
recover_duration: 0.3,
|
recover_duration: 0.3,
|
||||||
projectile_spread: 0.05,
|
projectile_spread: 0.05,
|
||||||
projectile: Arrow(
|
projectile: Arrow(
|
||||||
damage: 4.0,
|
damage: 6,
|
||||||
knockback: 5.0,
|
knockback: 5,
|
||||||
energy_regen: 0,
|
energy_regen: 0,
|
||||||
),
|
),
|
||||||
projectile_body: Object(Arrow),
|
projectile_body: Object(Arrow),
|
||||||
projectile_light: None,
|
projectile_light: None,
|
||||||
projectile_speed: 60.0,
|
projectile_speed: 80.0,
|
||||||
num_projectiles: 4,
|
num_projectiles: 5,
|
||||||
)
|
)
|
||||||
|
@ -24,5 +24,4 @@ DashMelee(
|
|||||||
recover_duration: 0.8,
|
recover_duration: 0.8,
|
||||||
ori_modifier: 0.1,
|
ori_modifier: 0.1,
|
||||||
charge_through: false,
|
charge_through: false,
|
||||||
is_interruptible: false,
|
)
|
||||||
)
|
|
||||||
|
@ -29,6 +29,5 @@ ComboMelee(
|
|||||||
speed_increase: 0.0,
|
speed_increase: 0.0,
|
||||||
max_speed_increase: 0.0,
|
max_speed_increase: 0.0,
|
||||||
scales_from_combo: 0,
|
scales_from_combo: 0,
|
||||||
is_interruptible: false,
|
|
||||||
ori_modifier: 0.8,
|
ori_modifier: 0.8,
|
||||||
)
|
)
|
@ -3,6 +3,8 @@ SpriteSummon(
|
|||||||
cast_duration: 0.4,
|
cast_duration: 0.4,
|
||||||
recover_duration: 0.3,
|
recover_duration: 0.3,
|
||||||
sprite: EnsnaringWeb,
|
sprite: EnsnaringWeb,
|
||||||
|
del_timeout: None,
|
||||||
summon_distance: (0, 10),
|
summon_distance: (0, 10),
|
||||||
sparseness: 0.76,
|
sparseness: 0.76,
|
||||||
|
angle: 360,
|
||||||
)
|
)
|
@ -29,6 +29,5 @@ ComboMelee(
|
|||||||
speed_increase: 0.0,
|
speed_increase: 0.0,
|
||||||
max_speed_increase: 0.0,
|
max_speed_increase: 0.0,
|
||||||
scales_from_combo: 0,
|
scales_from_combo: 0,
|
||||||
is_interruptible: false,
|
|
||||||
ori_modifier: 0.8,
|
ori_modifier: 0.8,
|
||||||
)
|
)
|
||||||
|
@ -13,6 +13,7 @@ LeapMelee(
|
|||||||
),
|
),
|
||||||
range: 4.5,
|
range: 4.5,
|
||||||
angle: 180.0,
|
angle: 180.0,
|
||||||
|
multi_target: Some(Normal),
|
||||||
),
|
),
|
||||||
forward_leap_strength: 40.0,
|
forward_leap_strength: 40.0,
|
||||||
vertical_leap_strength: 7.5,
|
vertical_leap_strength: 7.5,
|
||||||
|
@ -23,6 +23,5 @@ ComboMelee(
|
|||||||
speed_increase: 0.0,
|
speed_increase: 0.0,
|
||||||
max_speed_increase: 0.0,
|
max_speed_increase: 0.0,
|
||||||
scales_from_combo: 0,
|
scales_from_combo: 0,
|
||||||
is_interruptible: false,
|
|
||||||
ori_modifier: 0.5,
|
ori_modifier: 0.5,
|
||||||
)
|
)
|
@ -3,6 +3,8 @@ SpriteSummon(
|
|||||||
cast_duration: 0.4,
|
cast_duration: 0.4,
|
||||||
recover_duration: 0.3,
|
recover_duration: 0.3,
|
||||||
sprite: EnsnaringWeb,
|
sprite: EnsnaringWeb,
|
||||||
|
del_timeout: None,
|
||||||
summon_distance: (0, 9),
|
summon_distance: (0, 9),
|
||||||
sparseness: 0.8,
|
sparseness: 0.8,
|
||||||
|
angle: 360,
|
||||||
)
|
)
|
@ -29,6 +29,5 @@ ComboMelee(
|
|||||||
speed_increase: 0.0,
|
speed_increase: 0.0,
|
||||||
max_speed_increase: 0.0,
|
max_speed_increase: 0.0,
|
||||||
scales_from_combo: 0,
|
scales_from_combo: 0,
|
||||||
is_interruptible: false,
|
|
||||||
ori_modifier: 0.8,
|
ori_modifier: 0.8,
|
||||||
)
|
)
|
||||||
|
@ -23,6 +23,5 @@ ComboMelee(
|
|||||||
speed_increase: 0.0,
|
speed_increase: 0.0,
|
||||||
max_speed_increase: 0.0,
|
max_speed_increase: 0.0,
|
||||||
scales_from_combo: 0,
|
scales_from_combo: 0,
|
||||||
is_interruptible: false,
|
|
||||||
ori_modifier: 0.6,
|
ori_modifier: 0.6,
|
||||||
)
|
)
|
||||||
|
@ -23,6 +23,5 @@ ComboMelee(
|
|||||||
speed_increase: 0.0,
|
speed_increase: 0.0,
|
||||||
max_speed_increase: 0.0,
|
max_speed_increase: 0.0,
|
||||||
scales_from_combo: 0,
|
scales_from_combo: 0,
|
||||||
is_interruptible: false,
|
|
||||||
ori_modifier: 0.65,
|
ori_modifier: 0.65,
|
||||||
)
|
)
|
||||||
|
@ -24,5 +24,4 @@ DashMelee(
|
|||||||
recover_duration: 2.0,
|
recover_duration: 2.0,
|
||||||
ori_modifier: 0.3,
|
ori_modifier: 0.3,
|
||||||
charge_through: false,
|
charge_through: false,
|
||||||
is_interruptible: false,
|
|
||||||
)
|
)
|
||||||
|
@ -55,6 +55,5 @@ ComboMelee(
|
|||||||
speed_increase: 0.0,
|
speed_increase: 0.0,
|
||||||
max_speed_increase: 0.0,
|
max_speed_increase: 0.0,
|
||||||
scales_from_combo: 0,
|
scales_from_combo: 0,
|
||||||
is_interruptible: false,
|
|
||||||
ori_modifier: 0.65,
|
ori_modifier: 0.65,
|
||||||
)
|
)
|
||||||
|
@ -24,5 +24,4 @@ DashMelee(
|
|||||||
recover_duration: 1.4,
|
recover_duration: 1.4,
|
||||||
ori_modifier: 0.3,
|
ori_modifier: 0.3,
|
||||||
charge_through: false,
|
charge_through: false,
|
||||||
is_interruptible: false,
|
|
||||||
)
|
)
|
||||||
|
@ -55,6 +55,5 @@ ComboMelee(
|
|||||||
speed_increase: 0.0,
|
speed_increase: 0.0,
|
||||||
max_speed_increase: 0.0,
|
max_speed_increase: 0.0,
|
||||||
scales_from_combo: 0,
|
scales_from_combo: 0,
|
||||||
is_interruptible: false,
|
|
||||||
ori_modifier: 0.7,
|
ori_modifier: 0.7,
|
||||||
)
|
)
|
||||||
|
@ -13,7 +13,6 @@ BasicRanged(
|
|||||||
col: (1.0, 0.75, 0.11).into(),
|
col: (1.0, 0.75, 0.11).into(),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
}),*/
|
}),*/
|
||||||
projectile_gravity: Some(Gravity(0.15)),
|
|
||||||
projectile_speed: 60.0,
|
projectile_speed: 60.0,
|
||||||
num_projectiles: 1,
|
num_projectiles: 1,
|
||||||
projectile_spread: 0.0,
|
projectile_spread: 0.0,
|
||||||
|
@ -73,6 +73,5 @@ ComboMelee(
|
|||||||
speed_increase: 0.0,
|
speed_increase: 0.0,
|
||||||
max_speed_increase: 0.0,
|
max_speed_increase: 0.0,
|
||||||
scales_from_combo: 0,
|
scales_from_combo: 0,
|
||||||
is_interruptible: false,
|
|
||||||
ori_modifier: 0.7,
|
ori_modifier: 0.7,
|
||||||
)
|
)
|
||||||
|
@ -13,7 +13,6 @@ BasicRanged(
|
|||||||
col: (1.0, 0.75, 0.11).into(),
|
col: (1.0, 0.75, 0.11).into(),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
}),*/
|
}),*/
|
||||||
projectile_gravity: Some(Gravity(0.15)),
|
|
||||||
projectile_speed: 60.0,
|
projectile_speed: 60.0,
|
||||||
num_projectiles: 1,
|
num_projectiles: 1,
|
||||||
projectile_spread: 0.0,
|
projectile_spread: 0.0,
|
||||||
|
@ -14,4 +14,5 @@ Shockwave(
|
|||||||
move_efficiency: 0.1,
|
move_efficiency: 0.1,
|
||||||
damage_kind: Energy,
|
damage_kind: Energy,
|
||||||
specifier: Fire,
|
specifier: Fire,
|
||||||
|
ori_rate: 1.0,
|
||||||
)
|
)
|
||||||
|
@ -73,6 +73,5 @@ ComboMelee(
|
|||||||
speed_increase: 0.0,
|
speed_increase: 0.0,
|
||||||
max_speed_increase: 0.0,
|
max_speed_increase: 0.0,
|
||||||
scales_from_combo: 0,
|
scales_from_combo: 0,
|
||||||
is_interruptible: false,
|
|
||||||
ori_modifier: 0.7,
|
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,
|
move_efficiency: 0.0,
|
||||||
damage_kind: Crushing,
|
damage_kind: Crushing,
|
||||||
specifier: Ground,
|
specifier: Ground,
|
||||||
|
ori_rate: 1.0,
|
||||||
)
|
)
|
||||||
|
@ -12,6 +12,7 @@ BasicMelee(
|
|||||||
),
|
),
|
||||||
range: 4.0,
|
range: 4.0,
|
||||||
angle: 45.0,
|
angle: 45.0,
|
||||||
|
multi_target: Some(Normal),
|
||||||
),
|
),
|
||||||
ori_modifier: 1.0,
|
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,
|
recover_duration: 2.0,
|
||||||
ori_modifier: 0.1,
|
ori_modifier: 0.1,
|
||||||
charge_through: true,
|
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,
|
cast_duration: 0.4,
|
||||||
recover_duration: 0.3,
|
recover_duration: 0.3,
|
||||||
sprite: EnsnaringVines,
|
sprite: EnsnaringVines,
|
||||||
|
del_timeout: None,
|
||||||
summon_distance: (0, 25),
|
summon_distance: (0, 25),
|
||||||
sparseness: 0.67,
|
sparseness: 0.67,
|
||||||
|
angle: 360,
|
||||||
)
|
)
|
@ -12,6 +12,7 @@ BasicMelee(
|
|||||||
),
|
),
|
||||||
range: 4.0,
|
range: 4.0,
|
||||||
angle: 60.0,
|
angle: 60.0,
|
||||||
|
multi_target: Some(Normal),
|
||||||
),
|
),
|
||||||
ori_modifier: 1.0,
|
ori_modifier: 1.0,
|
||||||
)
|
)
|
||||||
|
@ -23,6 +23,5 @@ ComboMelee(
|
|||||||
speed_increase: 0.0,
|
speed_increase: 0.0,
|
||||||
max_speed_increase: 0.0,
|
max_speed_increase: 0.0,
|
||||||
scales_from_combo: 0,
|
scales_from_combo: 0,
|
||||||
is_interruptible: false,
|
|
||||||
ori_modifier: 0.6,
|
ori_modifier: 0.6,
|
||||||
)
|
)
|
||||||
|
@ -55,6 +55,5 @@ ComboMelee(
|
|||||||
speed_increase: 0.0,
|
speed_increase: 0.0,
|
||||||
max_speed_increase: 0.0,
|
max_speed_increase: 0.0,
|
||||||
scales_from_combo: 0,
|
scales_from_combo: 0,
|
||||||
is_interruptible: false,
|
|
||||||
ori_modifier: 0.6,
|
ori_modifier: 0.6,
|
||||||
)
|
)
|
||||||
|
@ -23,6 +23,5 @@ ComboMelee(
|
|||||||
speed_increase: 0.0,
|
speed_increase: 0.0,
|
||||||
max_speed_increase: 0.0,
|
max_speed_increase: 0.0,
|
||||||
scales_from_combo: 0,
|
scales_from_combo: 0,
|
||||||
is_interruptible: false,
|
|
||||||
ori_modifier: 0.6,
|
ori_modifier: 0.6,
|
||||||
)
|
)
|
||||||
|
@ -14,7 +14,6 @@ SpinMelee(
|
|||||||
energy_cost: 0.0,
|
energy_cost: 0.0,
|
||||||
is_infinite: false,
|
is_infinite: false,
|
||||||
movement_behavior: Stationary,
|
movement_behavior: Stationary,
|
||||||
is_interruptible: false,
|
|
||||||
forward_speed: 0.0,
|
forward_speed: 0.0,
|
||||||
num_spins: 1,
|
num_spins: 1,
|
||||||
specifier: None,
|
specifier: None,
|
||||||
|
@ -23,6 +23,5 @@ ComboMelee(
|
|||||||
speed_increase: 0.0,
|
speed_increase: 0.0,
|
||||||
max_speed_increase: 0.0,
|
max_speed_increase: 0.0,
|
||||||
scales_from_combo: 0,
|
scales_from_combo: 0,
|
||||||
is_interruptible: false,
|
|
||||||
ori_modifier: 0.65,
|
ori_modifier: 0.65,
|
||||||
)
|
)
|
||||||
|
@ -10,11 +10,11 @@ SpinMelee(
|
|||||||
),
|
),
|
||||||
range: 16.0,
|
range: 16.0,
|
||||||
angle: 360.0,
|
angle: 360.0,
|
||||||
|
multi_target: Some(Normal),
|
||||||
),
|
),
|
||||||
energy_cost: 0.0,
|
energy_cost: 0.0,
|
||||||
is_infinite: true,
|
is_infinite: true,
|
||||||
movement_behavior: Stationary,
|
movement_behavior: Stationary,
|
||||||
is_interruptible: false,
|
|
||||||
forward_speed: 0.0,
|
forward_speed: 0.0,
|
||||||
num_spins: 1,
|
num_spins: 1,
|
||||||
specifier: Some(CultistVortex),
|
specifier: Some(CultistVortex),
|
||||||
|
@ -21,6 +21,7 @@ DashMelee(
|
|||||||
strength: DamageFraction(0.3),
|
strength: DamageFraction(0.3),
|
||||||
chance: 0.25,
|
chance: 0.25,
|
||||||
))),
|
))),
|
||||||
|
multi_target: Some(Normal),
|
||||||
),
|
),
|
||||||
energy_drain: 0,
|
energy_drain: 0,
|
||||||
forward_speed: 5.0,
|
forward_speed: 5.0,
|
||||||
@ -30,5 +31,4 @@ DashMelee(
|
|||||||
recover_duration: 3.4,
|
recover_duration: 3.4,
|
||||||
ori_modifier: 0.1,
|
ori_modifier: 0.1,
|
||||||
charge_through: false,
|
charge_through: false,
|
||||||
is_interruptible: false,
|
|
||||||
)
|
)
|
||||||
|
@ -16,6 +16,7 @@ ChargedMelee(
|
|||||||
)),
|
)),
|
||||||
range: 5.0,
|
range: 5.0,
|
||||||
angle: 45.0,
|
angle: 45.0,
|
||||||
|
multi_target: Some(Normal),
|
||||||
),
|
),
|
||||||
charge_duration: 4.5,
|
charge_duration: 4.5,
|
||||||
swing_duration: 0.1,
|
swing_duration: 0.1,
|
||||||
|
@ -18,6 +18,7 @@ BasicMelee(
|
|||||||
strength: Value(0.5),
|
strength: Value(0.5),
|
||||||
chance: 1.0,
|
chance: 1.0,
|
||||||
))),
|
))),
|
||||||
|
multi_target: Some(Normal),
|
||||||
),
|
),
|
||||||
ori_modifier: 1.0,
|
ori_modifier: 1.0,
|
||||||
)
|
)
|
||||||
|
@ -24,5 +24,4 @@ DashMelee(
|
|||||||
recover_duration: 2.4,
|
recover_duration: 2.4,
|
||||||
ori_modifier: 0.3,
|
ori_modifier: 0.3,
|
||||||
charge_through: false,
|
charge_through: false,
|
||||||
is_interruptible: true,
|
|
||||||
)
|
)
|
||||||
|
@ -51,6 +51,5 @@ ComboMelee(
|
|||||||
speed_increase: 0.0,
|
speed_increase: 0.0,
|
||||||
max_speed_increase: 0.0,
|
max_speed_increase: 0.0,
|
||||||
scales_from_combo: 0,
|
scales_from_combo: 0,
|
||||||
is_interruptible: false,
|
|
||||||
ori_modifier: 0.6,
|
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,
|
speed_increase: 0.0,
|
||||||
max_speed_increase: 0.0,
|
max_speed_increase: 0.0,
|
||||||
scales_from_combo: 0,
|
scales_from_combo: 0,
|
||||||
is_interruptible: false,
|
|
||||||
ori_modifier: 0.6,
|
ori_modifier: 0.6,
|
||||||
)
|
)
|
||||||
|
@ -55,6 +55,5 @@ ComboMelee(
|
|||||||
speed_increase: 0.0,
|
speed_increase: 0.0,
|
||||||
max_speed_increase: 0.0,
|
max_speed_increase: 0.0,
|
||||||
scales_from_combo: 0,
|
scales_from_combo: 0,
|
||||||
is_interruptible: false,
|
|
||||||
ori_modifier: 0.65,
|
ori_modifier: 0.65,
|
||||||
)
|
)
|
||||||
|
@ -24,5 +24,4 @@ DashMelee(
|
|||||||
recover_duration: 2.0,
|
recover_duration: 2.0,
|
||||||
ori_modifier: 0.3,
|
ori_modifier: 0.3,
|
||||||
charge_through: false,
|
charge_through: false,
|
||||||
is_interruptible: false,
|
|
||||||
)
|
)
|
||||||
|
@ -55,6 +55,5 @@ ComboMelee(
|
|||||||
speed_increase: 0.0,
|
speed_increase: 0.0,
|
||||||
max_speed_increase: 0.0,
|
max_speed_increase: 0.0,
|
||||||
scales_from_combo: 0,
|
scales_from_combo: 0,
|
||||||
is_interruptible: false,
|
|
||||||
ori_modifier: 0.7,
|
ori_modifier: 0.7,
|
||||||
)
|
)
|
||||||
|
@ -24,5 +24,4 @@ DashMelee(
|
|||||||
recover_duration: 2.0,
|
recover_duration: 2.0,
|
||||||
ori_modifier: 0.3,
|
ori_modifier: 0.3,
|
||||||
charge_through: false,
|
charge_through: false,
|
||||||
is_interruptible: false,
|
|
||||||
)
|
)
|
||||||
|
@ -71,6 +71,5 @@ ComboMelee(
|
|||||||
speed_increase: 0.0,
|
speed_increase: 0.0,
|
||||||
max_speed_increase: 0.0,
|
max_speed_increase: 0.0,
|
||||||
scales_from_combo: 0,
|
scales_from_combo: 0,
|
||||||
is_interruptible: false,
|
|
||||||
ori_modifier: 0.8,
|
ori_modifier: 0.8,
|
||||||
)
|
)
|
||||||
|
@ -16,6 +16,7 @@ ChargedMelee(
|
|||||||
)),
|
)),
|
||||||
range: 6.0,
|
range: 6.0,
|
||||||
angle: 90.0,
|
angle: 90.0,
|
||||||
|
multi_target: Some(Normal),
|
||||||
),
|
),
|
||||||
charge_duration: 3.2,
|
charge_duration: 3.2,
|
||||||
swing_duration: 0.7,
|
swing_duration: 0.7,
|
||||||
|
@ -55,6 +55,5 @@ ComboMelee(
|
|||||||
speed_increase: 0.0,
|
speed_increase: 0.0,
|
||||||
max_speed_increase: 0.0,
|
max_speed_increase: 0.0,
|
||||||
scales_from_combo: 0,
|
scales_from_combo: 0,
|
||||||
is_interruptible: false,
|
|
||||||
ori_modifier: 0.7,
|
ori_modifier: 0.7,
|
||||||
)
|
)
|
||||||
|
@ -23,6 +23,5 @@ ComboMelee(
|
|||||||
speed_increase: 0.0,
|
speed_increase: 0.0,
|
||||||
max_speed_increase: 0.0,
|
max_speed_increase: 0.0,
|
||||||
scales_from_combo: 0,
|
scales_from_combo: 0,
|
||||||
is_interruptible: false,
|
|
||||||
ori_modifier: 0.7,
|
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