commit 7384eeb2f0978f9b6ab26e4dfddd4cf27a6783aa Author: Gitea Date: Thu Aug 14 12:20:46 2025 +0200 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..03de5e6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,154 @@ +# # # # # # # # # # # # # # +# Windows .gitignore # +# # # # # # # # # # # # # # + +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# # # # # # # # # # # # # # +# macOS .gitignore # +# # # # # # # # # # # # # # + +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +# # # # # # # # # # # # # # +# JetBrains .gitignore # +# # # # # # # # # # # # # # + +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/artifacts +# .idea/compiler.xml +# .idea/jarRepositories.xml +# .idea/modules.xml +# .idea/*.iml +# .idea/modules +# *.iml +# *.ipr + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + +# Discord Integration configuration file +.idea/discord.xml + +# # # # # # # # # # # # # # +# Thetya .gitignore # +# # # # # # # # # # # # # # + +build/ +keys.txt +rsrc/server.properties +rsrc/discord.properties +rsrc/peer.properties + +coin.log +coin.log.* +exchange.log +exchange.log.* diff --git a/.idea/artifacts/thetya_server_jar.xml b/.idea/artifacts/thetya_server_jar.xml new file mode 100644 index 0000000..40e66aa --- /dev/null +++ b/.idea/artifacts/thetya_server_jar.xml @@ -0,0 +1,23 @@ + + + $PROJECT_DIR$/build/artifacts/thetya_server_jar + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..eb2bc33 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,24 @@ + + + + + \ No newline at end of file diff --git a/.idea/copyright/Thetya.xml b/.idea/copyright/Thetya.xml new file mode 100644 index 0000000..c74750d --- /dev/null +++ b/.idea/copyright/Thetya.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml new file mode 100644 index 0000000..ba7e0b7 --- /dev/null +++ b/.idea/copyright/profiles_settings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..0957210 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,12 @@ + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..3b31283 --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..d4fe37d --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..fe6b6e3 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations/Server.xml b/.idea/runConfigurations/Server.xml new file mode 100644 index 0000000..aeecd55 --- /dev/null +++ b/.idea/runConfigurations/Server.xml @@ -0,0 +1,15 @@ + + + + \ No newline at end of file diff --git a/.idea/runConfigurations/Tools__Keypair_Generator.xml b/.idea/runConfigurations/Tools__Keypair_Generator.xml new file mode 100644 index 0000000..5980142 --- /dev/null +++ b/.idea/runConfigurations/Tools__Keypair_Generator.xml @@ -0,0 +1,15 @@ + + + + \ No newline at end of file diff --git a/.idea/runConfigurations/Tools__User_Tool.xml b/.idea/runConfigurations/Tools__User_Tool.xml new file mode 100644 index 0000000..28f1cce --- /dev/null +++ b/.idea/runConfigurations/Tools__User_Tool.xml @@ -0,0 +1,16 @@ + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/1.dat b/1.dat new file mode 100644 index 0000000..f16a200 Binary files /dev/null and b/1.dat differ diff --git a/202101.dat b/202101.dat new file mode 100644 index 0000000..50bda89 Binary files /dev/null and b/202101.dat differ diff --git a/294.dat b/294.dat new file mode 100644 index 0000000..69fea31 Binary files /dev/null and b/294.dat differ diff --git a/32.dat b/32.dat new file mode 100644 index 0000000..912cf04 Binary files /dev/null and b/32.dat differ diff --git a/4.dat b/4.dat new file mode 100644 index 0000000..e1fae8c Binary files /dev/null and b/4.dat differ diff --git a/46.dat b/46.dat new file mode 100644 index 0000000..8f772f3 Binary files /dev/null and b/46.dat differ diff --git a/51.dat b/51.dat new file mode 100644 index 0000000..4e00a4e Binary files /dev/null and b/51.dat differ diff --git a/57.dat b/57.dat new file mode 100644 index 0000000..dc89fb2 Binary files /dev/null and b/57.dat differ diff --git a/69.dat b/69.dat new file mode 100644 index 0000000..9bdb0d2 Binary files /dev/null and b/69.dat differ diff --git a/80085.dat b/80085.dat new file mode 100644 index 0000000..caaadc7 Binary files /dev/null and b/80085.dat differ diff --git a/82.dat b/82.dat new file mode 100644 index 0000000..c8dc447 Binary files /dev/null and b/82.dat differ diff --git a/README.md b/README.md new file mode 100644 index 0000000..f57eafb --- /dev/null +++ b/README.md @@ -0,0 +1,61 @@ +

+ +

+ +# Thetya server + +This repository is a part of the Thetya project and contains the server-side code. + +#### Directory structure +| Directory | Description | +|-------------------|------------------------------------------------------------| +| `.idea/` | IntelliJ IDEA project meta-data. | +| `custom-configs/` | Configs modified by the Thetya team for the server to use. | +| `build/` | Project build output. | +| `docs/` | Design documents and notes on how various mechanisms work. | +| `lib/` | Libraries (*.jar files*) imported manually by IDEA. | +| `scenes/` | Game scenes in exported XML format. | +| `sql-queries/` | Some SQL queries you need to run during set-up. | +| **`src/`** | Thetya source code. | +| **`rsrc/`** | Thetya and Spiral Knights resources. | + +#### External dependencies +1. MySQL / MariaDB / Postgres database + +## Configuring and starting the server + +#### Configuration +The first thing you need to do is to generate a RSA Keypair so that you can have secure communication between the client +and the server. To do so, run `com.github.thetya.server.tools.RsaKeypairGenerator`. You do not need to pass any arguments. +When it's done, you will either see the keys in the console or have them generated in a `keys.txt` file. + +Copy the private key and open up `rsrc/server.properties`. Find `key.private` and paste it. + +You will need to determine your local IPv4 address. On Windows: +![Screenshot 1](https://am3pap002files.storage.live.com/y4mINU9EjwUinD7LTHfJ2iF7Jwy16_75Hxb2y5VAsNSR5uWXjBFhKKRN3JekIGkDpt-ALkpuwb7stIFgblUAtszKxyg8xbZflBdI8awVvZXg7VKhvAx6_GR3auvAx-Bqv8gbbtYSPDduf8qxJ39cFeLz20f_VtIllFYcmJnSmsr6xL3z8HQZhDocjHaxpMC6V448d1pGD2HbFOhmyhc-9mpmA/Zrzut%20ekranu%202020-11-16%20161958.png?psid=1&width=540&height=291) + +Put this into `rsrc/server.properties` under the field `hostname.bind`. You can now close the file. + +Now open Spiral Knights client directory, go to `code/`, unzip `config.jar` and extract `deployment.properties`. Open it. +Set `server_host` to the value you pasted into server config before, `server_ports` to `47624`, `datagram_ports` to +`47625` and `key.public` to the public key you should have generated in the first step. Save the file and replace it in the +jar. + +--- + +Now we need to set up the database. Open `rsrc/server.properties`, scroll to the bottom. You need to create 3 databases +and fill out the credentials using which they can be operated. The tables and schema migrations will be handled +automatically. + +#### Starting the server +Just run `com.github.thetya.server.ThetyaServer`. + +#### Creating a user +Make sure you have database credentials typed in into server config. Use: + +``` +$ com.github.thetya.server.tools.UserTool create [username] [password] [email] +``` + +The password will be hashed for you and a new account will be created. `siteId` will be set to `204` as this is the ID +for Spiral Knights. diff --git a/custom-configs/actor.xml b/custom-configs/actor.xml new file mode 100644 index 0000000..15a04ba --- /dev/null +++ b/custom-configs/actor.xml @@ -0,0 +1,105988 @@ + + + + + Block/Breakable/Castle + + + + world/dynamic/block/breakable/castle_base/model.dat + + Texture + world/dynamic/block/breakable/castle_base/breakable.png + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_breakable.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_breakable_break.dat + + Fragment (bottom) + + world/dynamic/block/breakable/castle_base/fragment/model.dat + + Model + fragment_bottom + Texture + world/dynamic/block/breakable/castle_base/breakable.png + + + Fragment (top) + + world/dynamic/block/breakable/castle_base/fragment/model.dat + + Model + fragment_top + Texture + world/dynamic/block/breakable/castle_base/breakable.png + + + + + + + + particle/fx_gethit_block.dat + + + + + 0 + + + + + + Block/Breakable/Castle, Firestorm + + + + world/dynamic/block/breakable/castle_fire/breakable.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/props/wooden_crash_05.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + world/dynamic/block/breakable/castle_fire/fx_breakable_destruct.dat + + Color + default + + + + + + particle/fx_gethit_block.dat + + + + + 0 + + + + + + Block/Breakable/Catacombs + + + + world/dynamic/block/breakable/castle_base/model.dat + + Texture + world/dynamic/block/breakable/castle_catacomb/breakable.png + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_breakable.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_breakable_break.dat + + Fragment (bottom) + + world/dynamic/block/breakable/castle_base/fragment/model.dat + + Model + fragment_bottom + Texture + world/dynamic/block/breakable/castle_catacomb/breakable.png + + + Fragment (top) + + world/dynamic/block/breakable/castle_base/fragment/model.dat + + Model + fragment_top + Texture + world/dynamic/block/breakable/castle_catacomb/breakable.png + + + + + + + + particle/fx_gethit_block.dat + + + + + 0 + + + + + + Block/Breakable/City, Base + + + + world/dynamic/block/breakable/city_base/breakable.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_breakable.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + world/dynamic/block/breakable/city_base/breakable_fx_destroy.dat + + + + + particle/fx_gethit_block.dat + + + + + 0 + + + + + + Block/Breakable/Clockworks, base + + + Block/Breakable/Parts/Clockworks (base) + + Texture + world/dynamic/block/breakable/clockworks/base.png + + + + + + Block/Breakable/Graveyard + + + + world/dynamic/block/breakable/castle_base/model.dat + + Texture + world/dynamic/block/breakable/graveyard/breakable.png + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_breakable.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_breakable_break.dat + + Fragment (bottom) + + world/dynamic/block/breakable/castle_base/fragment/model.dat + + Model + fragment_bottom + Texture + world/dynamic/block/breakable/graveyard/breakable.png + + + Fragment (top) + + world/dynamic/block/breakable/castle_base/fragment/model.dat + + Model + fragment_top + Texture + world/dynamic/block/breakable/graveyard/breakable.png + + + + + + + + particle/fx_gethit_block.dat + + + + + 0 + + + + + + Block/Breakable/Haven + + + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Normal + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/bush_cut_03.ogg + Gain + 0.7 + Pitch + 1.0 + Range + Medium + + + Transform + + + Transient + + world/dynamic/block/breakable/outershell/fx_shrubsplode.dat + + + + + particle/fx_gethit_block.dat + + + + + 0 + + + + + + Block/Breakable/Haven (Berries) + + + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Berries + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/bush_cut_03.ogg + Gain + 0.7 + Pitch + 1.0 + Range + Medium + + + Transform + + + Transient + + world/dynamic/block/breakable/outershell/fx_shrubsplode.dat + + + + + particle/fx_gethit_block.dat + + + + + 0 + + + + + + Block/Breakable/Parts/Clockworks (base) + + + Texture + implementation.sprite.model["Texture"], implementation.sprite.destruction_transient["Transient"]["Texture"] + + + + + + world/dynamic/block/breakable/clockworks/model_breakable.dat + + Texture + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + true + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_breakable.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 0.0, 0.0, 0.70710665, 0.70710695 + + Transient + + particle/fx_breakable_break_cwt.dat + + Texture + + + + + + + particle/fx_gethit_block.dat + + + + + 0 + + + + + + Block/Breakable/Shrub + + + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Normal + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/bush_cut_03.ogg + Gain + 0.7 + Pitch + 1.0 + Range + Medium + + + Transform + + + Transient + + world/dynamic/block/breakable/outershell/fx_shrubsplode.dat + + + + + particle/fx_gethit_block.dat + + + + + 513 + 513 + + + + + + Block/Breakable/Sky Islands, Day + + + Variant + implementation.sprite.model["Variant"] + + + Destruction fx variant + implementation.sprite.destruction_transient["Transient"]["Fragment (top) "]["Texture variant"], implementation.sprite.destruction_transient["Transient"]["Fragment (bottom)"]["Texture variant"] + + + + + + world/dynamic/block/breakable/sky_islands_day/breakable_2.dat + + Variant + Sky Islands, Day + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_breakable.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_breakable_break.dat + + Fragment (bottom) + + world/dynamic/block/breakable/sky_islands_day/fragments.dat + + Model + mesh_bottom + Texture variant + Sky Islands Day (default) + + + Fragment (top) + + world/dynamic/block/breakable/sky_islands_day/fragments.dat + + Model + mesh_top + Texture variant + Sky Islands Day (default) + + + + + + + + particle/fx_gethit_block.dat + + + + + 513 + 513 + + + + + + Block/Breakable/Sky Islands, Night + + + Block/Breakable/Sky Islands, Day + + Destruction fx variant + Sky Islands Night + Variant + Breakable - Sky Islands, Night + + + + + + Block/Breakable/WhiteSpace + + + + world/dynamic/block/whitespace/model_breakable.dat + + Variant + Breakable + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default + + File + sound/effect/world/whitespace/whitespace_block_breakable.ogg + Range + Medium + + + Transform + + + Transient + + world/dynamic/block/whitespace/fx_pixelbreak.dat + + + + + + + 513 + 513 + + + + + + Block/Breakable/WhiteSpace (Switch) + + + Actor + implementation.handlers[0].action.actor + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/whitespace/whitespace_block_breakable.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + world/dynamic/block/whitespace/fx_pixelbreak.dat + + + + + + + + + + + Dynamic/Switch/Button/WhiteSpace/One-Time + + (On Signal) + (On Signal) + (On Tag) + (On Tag) + Tag + (Button Tag) + + + + + + 0 + + + + Block/Crystal/Blue + + + + world/dynamic/block/starlink/model.dat + + Color + blue + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_crystal.ogg + Gain + 0.75 + Range + Medium + + + Transform + + + Transient + + particle/fx_starlink_explode.dat + + color + blue + + + + + + particle/fx_gethit_block.dat + + + + + 0 + + + + Block/Crystal/Gold + + + + world/dynamic/block/starlink/model.dat + + Color + gold + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_crystal.ogg + Gain + 0.75 + Range + Medium + + + Transform + + + Transient + + particle/fx_starlink_explode.dat + + color + gold + + + + + + particle/fx_gethit_block.dat + + + + + 0 + 1 + + + + Block/Crystal/Gray + + + + world/dynamic/block/starlink/model.dat + + Color + gray + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_crystal.ogg + Gain + 0.75 + Range + Medium + + + Transform + + + Transient + + particle/fx_starlink_explode.dat + + color + grey + + + + + + particle/fx_gethit_block.dat + + + + + 0 + 2 + + + + Block/Crystal/Green + + + + world/dynamic/block/starlink/model.dat + + Color + green + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_crystal.ogg + Gain + 0.75 + Range + Medium + + + Transform + + + Transient + + particle/fx_starlink_explode.dat + + color + green + + + + + + particle/fx_gethit_block.dat + + + + + 0 + 3 + + + + Block/Crystal/Pink + + + + world/dynamic/block/starlink/model.dat + + Color + pink + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_crystal.ogg + Gain + 0.75 + Range + Medium + + + Transform + + + Transient + + particle/fx_starlink_explode.dat + + color + pink + + + + + + particle/fx_gethit_block.dat + + + + + 0 + 4 + + + + Block/Crystal/Purple + + + + world/dynamic/block/starlink/model.dat + + Color + purple + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_crystal.ogg + Gain + 0.75 + Range + Medium + + + Transform + + + Transient + + particle/fx_starlink_explode.dat + + color + purple + + + + + + particle/fx_gethit_block.dat + + + + + 0 + 5 + + + + Block/Energy Block + + + Spawn Table + implementation.handlers[0].action.action.spawn_table + + + Energy + implementation.handlers[0].action.amount, implementation.handlers[0].action_desc.amount + + + Energy Use Type + implementation.handlers[0].action.use_type + + + + + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_treasure.ogg + Gain + 0.75 + Range + Medium + + + Transform + + + Transient + + particle/fx_treasure_explode.dat + + Color + Green + + + + + + + + + + + + + + + + 0 + 0 + + + + Block/Explosive + + + + world/dynamic/block/explosive/model.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_explosive.ogg + Gain + 0.75 + Range + Medium + + + Transform + + + Transient + + particle/explosive_block.dat + + Block + true + + + + + + particle/fx_gethit_block.dat + + + + + 0 + false + 100 + + + + + Block/Explosive Block - Explosion + + + + + + + + Block/Explosive (WhiteSpace) + + + + world/dynamic/block/whitespace/model_breakable.dat + + Variant + Explosive + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/whitespace/whitespace_block_explosive.ogg + Gain + 1.0 + Pitch + 1.0 + Range + Medium + + + Transform + + + Transient + + world/dynamic/block/whitespace/fx_pixelexplode.dat + + + + + + + 0 + 100 + + + + + Block/Explosive Block - Explosion + + + + + + + + Block/Explosive Timed + + + + world/dynamic/block/explosive_timed/model.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_explosive.ogg + Gain + 0.75 + Range + Medium + + + Transform + + + Transient + + particle/explosive_block.dat + + Block + true + + + + + + particle/fx_gethit_block.dat + + + + + + + world/dynamic/block/explosive_timed/parts/animation_countdown.dat + + + + + + + 0 + false + 4000 + + + + + Block/Explosive Block - Explosion + + + + + + + + Block/Gathering/Mineral, common + + + Block/Gathering/Parts/Base(Gather) + + Destruction Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/shrub_break.ogg + Gain + 1.0 + Pitch + 0.9 + Range + Short + + + Transform + + + Transient + + world/dynamic/block/breakable/outershell/fx_shrubsplode.dat + + + + Model + + world/dynamic/block/gather/rock/model.dat + + Variant + Normal + + + Spawn Table + + Treasure/Gathering/Mineral A1 + + + + + + + Block/Gathering/Mineral, rare + + + Block/Gathering/Parts/Base(Gather) + + Destruction Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/shrub_break.ogg + Gain + 1.0 + Pitch + 0.9 + Range + Short + + + Transform + + + Transient + + world/dynamic/block/breakable/outershell/fx_shrubsplode.dat + + + + Model + + world/dynamic/block/gather/rock/model.dat + + Variant + Rare + + + Spawn Table + + Treasure/Gathering/Mineral B1 + + + + + + + Block/Gathering/Parts/Base(Gather) + + + Model + implementation.sprite.model + + + Destruction Transient + implementation.sprite.destruction_transient + + + Spawn Table + implementation.damage_action.actions[1].spawn_table + + + + + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Normal + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/shrub_break.ogg + Gain + 1.0 + Pitch + 0.9 + Range + Short + + + Transform + + + Transient + + world/dynamic/block/breakable/outershell/fx_shrubsplode.dat + + + + + particle/fx_gethit_block.dat + + + + + 0 + + + + + Treasure/Gathering/Shrub A1 + + + + + + + + Block/Gathering/Shrub, common + + + Block/Gathering/Parts/Base(Gather) + + Destruction Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/bush_cut_03.ogg + Gain + 0.7 + Pitch + 1.0 + Range + Short + + + Transform + + + Transient + + world/dynamic/block/breakable/outershell/fx_shrubsplode.dat + + + + Model + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Normal + + + Spawn Table + + Treasure/Gathering/Shrub A1 + + + + + + + Block/Gathering/Shrub, rare + + + Block/Gathering/Parts/Base(Gather) + + Destruction Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/bush_cut_03.ogg + Gain + 0.7 + Pitch + 1.0 + Range + Short + + + Transform + + + Transient + + world/dynamic/block/breakable/outershell/fx_shrubsplode.dat + + + + Model + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Berries + + + Spawn Table + + Treasure/Gathering/Shrub B1 + + + + + + + Block/Gathering/Shrub, rare 2 + + + Block/Gathering/Parts/Base(Gather) + + Destruction Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/bush_cut_03.ogg + Gain + 0.7 + Pitch + 1.0 + Range + Short + + + Transform + + + Transient + + world/dynamic/block/breakable/outershell/fx_shrubsplode.dat + + + + Model + + world/dynamic/block/breakable/castle_base/model.dat + + Texture + + + + Spawn Table + + Treasure/Gathering/Shrub A1 + + + + + + + Block/Ghost + + + + world/dynamic/block/ghostlink/model.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_ghost.ogg + Gain + 1.0 + Range + Long + + + Transform + + + Transient + + particle/fx_block_fade.dat + + Model + + world/dynamic/block/ghostlink/model.dat + + + + + + + particle/fx_gethit_block.dat + + + + + 0 + + + + Block/Ghost (WhiteSpace) + + + + world/dynamic/block/whitespace/model_breakable.dat + + Variant + Ghost + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default + + File + sound/effect/world/whitespace/whitespace_block_ghost.ogg + Range + Long + + + Transform + + + Transient + + particle/fx_block_fade.dat + + Model + + world/dynamic/block/whitespace/model_breakable.dat + + Variant + Ghost + + + + + + + + + + 0 + + + + Block/Mineral/Crimsonite Node + + + Block/Mineral/Parts/Mineral (Base) + + Break Color + mineral-Red + Model Color + Red + OnHit Spawn Table + + Spawn Table + + Treasure/Mineral/Crimsonite Deposit + + + + + + + Block/Mineral/Dark Matter Node + + + Block/Mineral/Parts/Mineral (Base) + + Break Color + mineral-Dark + Model Color + mineral-Dark + OnHit Spawn Table + + Spawn Table + + Treasure/Mineral/Dark Matter Deposit + + + + + + + Block/Mineral/Luminite Node + + + Block/Mineral/Parts/Mineral (Base) + + Break Color + mineral-Light + Model Color + mineral-Light + OnHit Spawn Table + + Spawn Table + + Treasure/Mineral/Luminite Deposit + + + + + + + Block/Mineral/Moonstone Node + + + Block/Mineral/Parts/Mineral (Base) + + Break Color + mineral-Blue + Model Color + mineral-Blue + OnHit Spawn Table + + Spawn Table + + Treasure/Mineral/Moonstone Deposit + + + + + + + Block/Mineral/Parts/Mineral (Base) + + + Spawn Table + implementation.handlers[0].action.spawn_table + + + OnHit Spawn Table + implementation.damage_action.spawn_table + + + Break Color + implementation.sprite.destruction_transient["Transient"]["color"], implementation.sprite.hit_transient["Transient"]["color"] + + + Model Color + implementation.sprite.model["Color"] + + + + + + world/dynamic/block/mineral node/model.dat + + Color + Red + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default + + File + sound/effect/world/block_mineral_break.ogg + Range + Medium + + + Transform + + + Transient + + particle/fx_starlink_explode.dat + + color + mineral-Red + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Meta Clip/Default + + Files + + + Range + Medium + + + Transform + + + Transient + + particle/fx_starlink_explode.dat + + color + mineral-Red + + + + + + + + world/dynamic/block/mineral node/animation_hit0.dat + + + + + world/dynamic/block/mineral node/animation_hit1.dat + + + + + world/dynamic/block/mineral node/animation_hit2.dat + + + + + + + + + + + + + 0 + + + + + + Block/Mineral/Valestone Node + + + Block/Mineral/Parts/Mineral (Base) + + Break Color + mineral-Green + Model Color + mineral-Green + OnHit Spawn Table + + Spawn Table + + Treasure/Mineral/Valestone Deposit + + + + + + + Block/Monster + + + Spawn Table + implementation.damage_action.actions[1].spawn_table + + + + + + world/dynamic/block/monster/model.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_monster.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + world/dynamic/block/monster/parts/explode.dat + + + + + particle/fx_gethit_block.dat + + + + + 0 + + + + + Monster/Monster Block/Monster Block 1 + + + + + + + + Block/Monster (WhiteSpace) + + + + world/dynamic/block/whitespace/model_breakable.dat + + Variant + Monster + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_monster.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + character/npc/monster/swarm/shadows/fx_shadowbreak.dat + + + + + particle/fx_gethit_block.dat + + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Void Marker + + Wave Tag + + + + + + + 0 + + + + + + Block/Stone + + + + world/dynamic/block/stone/parts/model_set.dat + + Model + mesh_block00 + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_stone_hit.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_stoneblock_explode.dat + + Chunks + Sparse + Style variant + default + + + + + + + + 0 + + + + + Block/Stone_Parts/Stone(1hit) + + + + + + + + + + Block/Stone(old) + + + + world/dynamic/block/stone/model.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_stone_break.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_stoneblock_explode.dat + + Chunks + Full + Style variant + default + + + + + + particle/fx_gethit_block.dat + + + + + world/dynamic/block/stone/parts/animation_state0.dat + + + + + world/dynamic/block/stone/parts/animation_state1.dat + + + + + world/dynamic/block/stone/parts/animation_state3.dat + + + + + + + 0 + + + + Block/Stone_Parts/Stone(1hit) + + + + world/dynamic/block/stone/parts/model_set.dat + + Model + mesh_block01 + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_stone_hit.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_stoneblock_explode.dat + + Chunks + Sparse + Style variant + default + + + + + + + + 0 + + + + + Block/Stone_Parts/Stone(2hit) + + + + + + + + + + Block/Stone_Parts/Stone(2hit) + + + + world/dynamic/block/stone/parts/model_set.dat + + Model + mesh_block02 + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_stone_break.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_stoneblock_explode.dat + + Chunks + Full + Style variant + default + + + + + + + + 0 + + + + + Block/Misc/Stone Block, Jelly Spawn + + + + + + + + + + Block/Treasure + + + Color + implementation.sprite.model["Variant"], implementation.sprite.destruction_transient["Transient"]["Color"] + + + Spawn Table + implementation.damage_action.actions[1].spawn_table + + + + + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_treasure.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_treasure_explode.dat + + Color + Green + + + + + + particle/fx_gethit_block.dat + + + + + 0 + + + + + + + + + + + + + + Block/Treasure, Health + + + Color + implementation.actor["Color"] + + + Spawn Table + implementation.actor["Spawn Table"] + + + + + Block/Treasure + + Color + Pink + Spawn Table + + Treasure/Health/Treasure Health, Hearts + + + + + + + Block/Treasure, Rare + + + Color + implementation.actor["Color"] + + + Spawn Table + implementation.actor["Spawn Table"] + + + + + Block/Treasure + + Color + Red + Spawn Table + + + + + + + Block/Unbreakable/Castle + + + + world/dynamic/block/unbreakable/castle_base/model.dat + + + particle/fx_hitblocked.dat + + + + + 0 + 0 + + + + Block/Unbreakable/Castle, Firestorm + + + + world/dynamic/block/unbreakable/castle_firestorm/unbreakable.dat + + + particle/fx_hitblocked.dat + + + + + 0 + 0 + + + + Block/Unbreakable/Catacombs + + + + world/dynamic/block/unbreakable/castle_catacomb/model.dat + + + particle/fx_hitblocked.dat + + + + + 0 + 0 + + + + Block/Unbreakable/City, Base + + + + world/dynamic/block/unbreakable/city_base/unbreakable.dat + + Texture + world/dynamic/block/unbreakable/city_base/unbreakable.png + + + + particle/fx_hitblocked.dat + + + + + 0 + 0 + + + + Block/Unbreakable/Clockworks, base + + + + world/dynamic/block/unbreakable/city_base/unbreakable.dat + + Texture + world/dynamic/block/unbreakable/clockworks/base.png + + + + particle/fx_hitblocked.dat + + + + + 0 + 0 + + + + Block/Unbreakable/Graveyard + + + + world/dynamic/block/unbreakable/graveyard/model.dat + + + particle/fx_hitblocked.dat + + + + + 0 + 0 + + + + Block/Unbreakable/Outershell + + + + world/dynamic/block/unbreakable/outershell/outershell_unbreak.dat + + + particle/fx_hitblocked.dat + + + + + 0 + 0 + + + + Block/Unbreakable/Sky Islands, Day + + + Variant + implementation.sprite.model["Variant"] + + + + + + world/dynamic/block/breakable/sky_islands_day/breakable_2.dat + + Variant + Unbreakable - Sky Islands, Day + + + + particle/fx_hitblocked.dat + + + + + 0 + 0 + + + + Block/Unbreakable/Sky Islands, Night + + + Block/Unbreakable/Sky Islands, Day + + Variant + Unbreakable - Sky Islands, Night + + + + + + Block/Unbreakable/WhiteSpace + + + + world/dynamic/block/whitespace/model_unbreakable.dat + + + + + 0 + 0 + + + + Bomb/Big Angry (charged) + + + Damage + implementation.actor["Blast Damage"] + + + Radius + implementation.actor["Radius"] + + + + + Bomb/Parts/Base (Cluster) + + Blast Damage + + 300.0 + 2 + true + + Fuse + 3000 + Fuse Graphic + 3.0 + Knock-Back + + 9.0, 0.0 + 600 + 6 + + Large Explosion + + particle/explosion/bomb_blast.dat + + Charged + true + Color + Red + Icon + particle/texture/bomb_icon_bigangry.png + Size + 1.0 + + + Large Sound + + Custom/Weapons/Bomb Detonation, Big Angry Bomb + + Model + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + item/weapon/bomb/blast/model.dat + + variant + angry + + + + 1.4 + + + + + + Radius + 6.0 + Small Explosions + + particle/explosion/bomb_blast.dat + + Charged + false + Color + Red + Icon + particle/texture/bomb_icon_bigangry.png + Size + 1.0 + + + Small Sounds + sound/effect/weapon/bomb_01.ogg + + + + + + Bomb/Blast (Charged) + + + Damage + implementation.actor["Blast Damage"] + + + Radius + implementation.actor["Radius"] + + + Model + implementation.actor["Model"] + + + + + Bomb/Parts/Base (Cluster) + + Blast Damage + + 125.0 + 2 + true + + Fuse + 2000 + Fuse Graphic + 2.0 + Knock-Back + + 5.0, 0.0 + 400 + 4 + + Large Explosion + + particle/explosion/bomb_blast.dat + + Charged + true + Color + Cyan + Icon + particle/texture/bomb_icon_blast.png + Size + 1.0 + + + Large Sound + + Custom/Weapons/Parts/Bomb Detonation, Base + + File + sound/effect/weapon/bomb_c02.ogg + Gain + 1.0 + Pitch + Default + Range + Default + + + Model + + item/weapon/bomb/blast/model.dat + + variant + blast(blue) + + + Radius + 2.5 + Small Explosions + + particle/explosion/bomb_blast.dat + + Charged + false + Color + Cyan + Icon + particle/texture/bomb_icon_blast.png + Size + 1.0 + + + Small Sounds + sound/effect/weapon/bomb_01.ogg + + + + + + Bomb/Bomb Base + + + Model + implementation.sprite.model + + + Destruction Transient + implementation.sprite.destruction_transient + + + Fuse + implementation.fuse + + + Blast Radius + implementation.detonation_action.region.shape.radius + + + Blast Damage + implementation.detonation_action.damage.amount + + + Knock-Back + implementation.detonation_action.impulse_dealt + + + Damage Flag + implementation.detonation_action.damage.flags + + + + + + item/weapon/bomb/proto/model.dat + + Variant + proto + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/bomb_01.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/bomb.dat + + + + + 512 + 0 + + + 1.0 + 2 + + true + + + + + Bomb/Chemical + + + Cloud Lifespan + implementation.detonation_action.actions[1].actor["Lifespan"] + + + Lifespan + implementation.sprite.destruction_transient["Transient"]["Lifespan"] + + + Radius + implementation.sprite.destruction_transient["Transient"]["Radius"], implementation.detonation_action.actions[1].actor["Radius"], implementation.sprite.model["Range"] + + + Bomb Transform + implementation.sprite.model["Transform"] + + + Damage + implementation.detonation_action.actions[1].actor["Damage"] + + + Bomb Model + implementation.sprite.model["Bomb"] + + + Cloud Color + implementation.sprite.destruction_transient["Transient"]["Color"] + + + Destruction Sound + implementation.sprite.destruction_transient["Sounder"] + + + Damage (Blast) + implementation.detonation_action.actions[0].damage.damages[0] + + + Radius (Blast) + implementation.detonation_action.actions[0].region.shape.radius + + + + + + item/weapon/bomb/bomb_wrapper.dat + + Bomb + + item/weapon/bomb/chemical/model.dat + + Variant + Frost Blue + + + Color + White + Fuse + 2.0 + Range + 1.45 + Sounder + + Clip/Default + + File + sound/effect/weapon/bomb_drop_01.ogg + Range + Medium + + + Transform + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bomb Detonation, Chemical + + Pitch + Default + + + Transform + + + Transient + + particle/explosion/bomb_chemicalcloud.dat + + Color + Frost Blue + Complexity + Normal + Explosion + true + Lifespan + 6.0 + Radius + 1.5 + + + + + + 0 + 0 + + + + + + + + + + + 20.0 + 2 + + + 2 + + Freeze + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + true + + + + Bomb/Parts/Chemical (Cloud) + + Damage + + Freeze + + Chance + 0.25 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Lifespan + 6000 + Radius + 1.45 + + + + + + + + + Bomb/Chemical (Charged) + + + Damage + implementation.actor["Damage"] + + + Radius + implementation.actor["Radius"] + + + Damage (Blast) + implementation.actor["Damage (Blast)"] + + + Radius (Blast) + implementation.actor["Radius (Blast)"] + + + + Lifespan + + + Cloud + implementation.actor["Cloud Lifespan"] + + + FX + implementation.actor["Lifespan"] + + + + + + 1,000 + + Cloud + 1000 + FX + 1.0 + + + + + 2,000 + + Cloud + 2000 + FX + 2.0 + + + + + 3,000 + + Cloud + 3000 + FX + 3.0 + + + + + 4,000 + + Cloud + 4000 + FX + 4.0 + + + + + 5,000 + + Cloud + 5000 + FX + 5.0 + + + + + 6,000 + + Cloud + 6000 + FX + 6.0 + + + + + 7,000 + + Cloud + 7000 + FX + 7.0 + + + + + 8,000 + + Cloud + 8000 + FX + 8.0 + + + + + 9,000 + + Cloud + 9000 + FX + 9.0 + + + + + 10,000 + + Cloud + 10000 + FX + 10.0 + + + + 8,000 + + + Bomb Model + implementation.actor["Bomb Model"] + + + Cloud Color + implementation.actor["Cloud Color"] + + + Explode Sound + implementation.actor["Destruction Sound"] + + + + + Bomb/Chemical + + Bomb Model + + item/weapon/bomb/chemical/model.dat + + Variant + Frost Blue + + + Bomb Transform + + 1.25 + + Cloud Color + Frost Blue + Cloud Lifespan + 8000 + Damage + + Freeze + + Chance + 0.25 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Damage (Blast) + + 20.0 + 2 + + Destruction Sound + + Custom/Weapons/Bomb Detonation, Chemical + + Pitch + Default + + + Lifespan + 8.0 + Radius + 4.0 + Radius (Blast) + 1.25 + + + + + + Bomb/ColdSnap (Charged) + + + Damage + implementation.actor["Blast Damage"] + + + Radius + implementation.actor["Radius"] + + + + + Bomb/Parts/Base (Cluster) + + Blast Damage + + + + 125.0 + 2 + + + 2 + + Freeze + + Chance + 0.25 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Fuse + 2000 + Fuse Graphic + 2.0 + Knock-Back + + 3.0, 0.0 + 200 + + Large Explosion + + particle/explosion/bomb_blast.dat + + Charged + true + Color + Frost + Icon + particle/texture/sphere.png + Size + 1.0 + + + Large Sound + + Custom/Weapons/Parts/Bomb Detonation, Base + + File + sound/effect/weapon/bomb_c02.ogg + Gain + 1.0 + Pitch + Higher 1 + Range + Default + + + Model + + item/weapon/bomb/proto/model.dat + + Variant + coldsnap + + + Radius + 2.5 + Small Explosions + + particle/explosion/bomb_blast.dat + + Charged + false + Color + Frost + Icon + particle/texture/bomb_icon_blast.png + Size + 1.0 + + + Small Sounds + sound/effect/weapon/bomb_01.ogg + + + + + + Bomb/Deconstructor (Charged) + + + Damage + implementation.actor["Blast Damage"] + + + Radius + implementation.actor["Radius"] + + + + + Bomb/Parts/Base (Cluster) + + Blast Damage + + 45.0 + 2 + true + + Fuse + 2000 + Fuse Graphic + 2.0 + Knock-Back + + 5.0, 0.0 + 400 + 4 + + Large Explosion + + particle/explosion/bomb_blast.dat + + Charged + true + Color + Red + Icon + particle/texture/logo_gremlin.png + Size + 1.0 + + + Large Sound + + Custom/Weapons/Parts/Bomb Detonation, Base + + File + sound/effect/weapon/bomb_c02.ogg + Gain + 1.0 + Pitch + Lower 1 + Range + Default + + + Model + + item/weapon/npc/mine_windup/model.dat + + Variant + Deconstructor + + + Radius + 2.0 + Small Explosions + + particle/explosion/bomb_blast.dat + + Charged + false + Color + Red + Icon + particle/texture/logo_gremlin.png + Size + 1.0 + + + Small Sounds + sound/effect/weapon/bomb_01.ogg + + + + + + Bomb/Firecracker (Charged) + + + Damage + implementation.actor["Blast Damage"] + + + Radius + implementation.actor["Radius"] + + + + + Bomb/Parts/Base (Cluster) + + Blast Damage + + + + 125.0 + 2 + + + 2 + + Fire + + Chance + 0.25 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Fuse + 2000 + Fuse Graphic + 2.0 + Knock-Back + + 3.0, 0.0 + 200 + + Large Explosion + + particle/explosion/bomb_blast.dat + + Charged + true + Color + Fire Red + Icon + particle/texture/sphere.png + Size + 1.0 + + + Large Sound + + Custom/Weapons/Parts/Bomb Detonation, Base + + File + sound/effect/weapon/bomb_c02.ogg + Gain + 1.0 + Pitch + Higher 1 + Range + Default + + + Model + + item/weapon/bomb/proto/model.dat + + Variant + firecracker + + + Radius + 2.5 + Small Explosions + + particle/explosion/bomb_blast.dat + + Charged + false + Color + Fire Red + Icon + particle/texture/bomb_icon_blast.png + Size + 1.0 + + + Small Sounds + sound/effect/weapon/bomb_01.ogg + + + + + + Bomb/Gravidos (Charged) + + + Damage + implementation.detonation_action.actions[1].actor["Child"]["Child"]["Child"]["Child"]["Child"]["Damage"] + + + Radius (Blast) + implementation.detonation_action.actions[1].actor["Child"]["Child"]["Child"]["Child"]["Child"]["Radius"] + + + + Radius + + + Damage Zone + implementation.detonation_action.actions[1].actor["Child"]["Child"]["Child"]["Child"]["Radius"], implementation.detonation_action.actions[1].actor["Child"]["Child"]["Child"]["Radius"], implementation.detonation_action.actions[1].actor["Child"]["Child"]["Radius"], implementation.detonation_action.actions[1].actor["Child"]["Radius"], implementation.detonation_action.actions[1].actor["Radius"] + + + FX + implementation.detonation_action.actions[1].actor["Child"]["Child"]["Child"]["FX"]["Radius"], implementation.detonation_action.actions[1].actor["Child"]["Child"]["FX"]["Radius"], implementation.detonation_action.actions[1].actor["Child"]["FX"]["Radius"], implementation.detonation_action.actions[1].actor["FX"]["Radius"] + + + + + + 1.0 + + Damage Zone + 0.95 + FX + 1.0 + + + + + 1.5 + + Damage Zone + 1.45 + FX + 1.5 + + + + + 2.0 + + Damage Zone + 1.95 + FX + 2.0 + + + + + 2.5 + + Damage Zone + 2.45 + FX + 2.5 + + + + + 3.0 + + Damage Zone + 2.95 + FX + 3.0 + + + + 3.0 + + + + + + item/weapon/bomb/bomb_wrapper.dat + + Bomb + + item/weapon/bomb/artifact/model.dat + + Variant + Gravity + + + Color + White + Fuse + 2.0 + Range + 2.5 + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/bomb_drop_01.ogg + Gain + 2.0 + Range + Medium + + + Transform + + 1.25 + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) + + File + + Gain + 1.0 + Range + Long + + + Transform + + + Transient + + particle/explosion/gravidos_vortex.dat + + Radius + 2.0 + + + + + + 0 + 0 + + + + + 15.0 + 2 + + true + + -1.25, -0.25 + 400 + 4 + + + + + Bomb/Parts/Gravidos (Implode) (Charged) + + Child + + Bomb/Parts/Gravidos (Implode) (Charged) + + Child + + Bomb/Parts/Gravidos (Implode) (Charged) + + Child + + Bomb/Parts/Gravidos (Implode) (Charged) + + Child + + Bomb/Parts/Gravidos (Implode) (Charged) + + Child + + Bomb/Parts/Gravidos (Explode) (Charged) + + Damage + + 120.0 + 2 + + Radius + 1.5 + + + FX + + FX Transform + + + Radius + 1.95 + + + FX + + particle/explosion/gravidos_vortex.dat + + Radius + 3.0 + + + FX Transform + + + Radius + 1.95 + + + FX + + particle/explosion/gravidos_vortex.dat + + Radius + 3.0 + + + FX Transform + + + Radius + 1.95 + + + FX + + particle/explosion/gravidos_vortex.dat + + Radius + 2.5 + + + FX Transform + + + Radius + 1.95 + + + FX + + particle/explosion/gravidos_vortex.dat + + Radius + 2.0 + + + FX Transform + + + Radius + 1.95 + + + + + + + + + Bomb/Gravidos2 (Charged) + + + Damage + implementation.detonation_action.actions[1].actor["Child"]["Child"]["Child"]["Child"]["Child"]["Damage"] + + + Radius (Blast) + implementation.detonation_action.actions[1].actor["Child"]["Child"]["Child"]["Child"]["Child"]["Radius"] + + + + Radius + + + Damage Zone + implementation.detonation_action.actions[1].actor["Child"]["Child"]["Child"]["Child"]["Radius"], implementation.detonation_action.actions[1].actor["Child"]["Child"]["Child"]["Radius"], implementation.detonation_action.actions[1].actor["Child"]["Child"]["Radius"], implementation.detonation_action.actions[1].actor["Child"]["Radius"], implementation.detonation_action.actions[1].actor["Radius"] + + + FX + implementation.detonation_action.actions[1].actor["Child"]["Child"]["Child"]["FX"]["Radius"], implementation.detonation_action.actions[1].actor["Child"]["Child"]["FX"]["Radius"], implementation.detonation_action.actions[1].actor["Child"]["FX"]["Radius"], implementation.detonation_action.actions[1].actor["FX"]["Radius"] + + + + + + 1.0 + + Damage Zone + 0.95 + FX + 1.0 + + + + + 1.5 + + Damage Zone + 1.45 + FX + 1.5 + + + + + 2.0 + + Damage Zone + 1.95 + FX + 2.0 + + + + + 2.5 + + Damage Zone + 2.45 + FX + 2.5 + + + + + 3.0 + + Damage Zone + 2.95 + FX + 3.0 + + + + 3.0 + + + + + + item/weapon/bomb/bomb_wrapper.dat + + Bomb + + item/weapon/bomb/artifact/model.dat + + Variant + Elec + + + Color + White + Fuse + 2.0 + Range + 2.5 + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/bomb_drop_01.ogg + Gain + 2.0 + Range + Medium + + + Transform + + 1.25 + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + + Gain + 1.0 + Range + Long + + + Transform + + + Transient + + particle/explosion/gravidos_vortex.dat + + Radius + 2.0 + + + + + + 0 + 0 + + + + + 15.0 + 2 + + true + + -1.25, -0.25 + 400 + 4 + + + + + Bomb/Parts/Gravidos (Implode) (Charged) + + Child + + Bomb/Parts/Gravidos (Implode) (Charged) + + Child + + Bomb/Parts/Gravidos (Implode) (Charged) + + Child + + Bomb/Parts/Gravidos (Implode) (Charged) + + Child + + Bomb/Parts/Gravidos (Implode) (Charged) + + Child + + Bomb/Parts/Gravidos (Explode) (Charged) + + Damage + + 120.0 + 2 + + Radius + 1.5 + + + FX + + FX Transform + + + Radius + 1.95 + + + FX + + particle/explosion/gravidos_vortex.dat + + Radius + 3.0 + + + FX Transform + + + Radius + 1.95 + + + FX + + particle/explosion/gravidos_vortex.dat + + Radius + 3.0 + + + FX Transform + + + Radius + 1.95 + + + FX + + particle/explosion/gravidos_vortex.dat + + Radius + 2.5 + + + FX Transform + + + Radius + 1.95 + + + FX + + particle/explosion/gravidos_vortex.dat + + Radius + 2.0 + + + FX Transform + + + Radius + 1.95 + + + + + + + + + Bomb/IronDestroy (Charged) + + + Damage + implementation.actor["Blast Damage"] + + + + + Bomb/Parts/Base (Cluster) + + Blast Damage + + 88.0 + 2 + true + + Fuse + 3000 + Fuse Graphic + 3.0 + Knock-Back + + 6.0, 0.0 + 300 + 6 + + Large Explosion + + particle/explosion/bomb_blast.dat + + Charged + true + Color + Hateful Orange + Icon + particle/texture/bomb_icon_blast.png + Size + 1.0 + + + Large Sound + + Custom/Weapons/Parts/Bomb Detonation, Base + + File + sound/effect/weapon/bomb_c02.ogg + Gain + 1.0 + Pitch + Lower 2 + Range + Longer 1 + + + Model + + item/weapon/bomb/blast/model.dat + + variant + IronDestroy + + + Radius + 3.0 + Small Explosions + + particle/explosion/bomb_blast.dat + + Charged + false + Color + Hateful Orange + Icon + particle/texture/bomb_icon_blast.png + Size + 1.0 + + + Small Sounds + sound/effect/weapon/bomb_01.ogg + + + + + + Bomb/Irontech (Charged) + + + Damage + implementation.actor["Blast Damage"] + + + + + Bomb/Parts/Base (Cluster) + + Blast Damage + + 75.0 + 2 + true + + Fuse + 3000 + Fuse Graphic + 3.0 + Knock-Back + + 6.0, 0.0 + 300 + 6 + + Large Explosion + + particle/explosion/bomb_blast.dat + + Charged + true + Color + Hateful Orange + Icon + particle/texture/bomb_icon_blast.png + Size + 1.0 + + + Large Sound + + Custom/Weapons/Parts/Bomb Detonation, Base + + File + sound/effect/weapon/bomb_c02.ogg + Gain + 1.0 + Pitch + Lower 1 + Range + Default + + + Model + + item/weapon/bomb/blast/model.dat + + variant + Irontech + + + Radius + 3.0 + Small Explosions + + particle/explosion/bomb_blast.dat + + Charged + false + Color + Hateful Orange + Icon + particle/texture/bomb_icon_blast.png + Size + 1.0 + + + Small Sounds + sound/effect/weapon/bomb_01.ogg + + + + + + Bomb/Monster/Base (Alt) + + + Model + implementation.sprite.model + + + Destruction Transient + implementation.sprite.destruction_transient + + + Fuse + implementation.fuse + + + Blast Radius + implementation.detonation_action.region.shape.radius + + + Knock-Back + implementation.detonation_action.impulse_dealt + + + Damage + implementation.detonation_action.damage + + + + + + item/weapon/bomb/proto/model.dat + + Variant + proto + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/bomb_01.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/bomb.dat + + + + + 512 + 0 + + + + + + + 1.0 + 4 + + true + + + + + Bomb/Monster/Boss/Vanaduke Monologue + + + Words + implementation.sprite.creation_transient["Transient"]["Text"] + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/devilite/devilite_overtime.ogg + Gain + 0.8 + Pitch + 0.5 + Range + Medium + + + Transform + + 2.0 + 0.0, 0.0, 3.0 + + Transient + + model/compound/monsterchat/model.dat + + Name + + Text + Chef Knight LFG! Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam aliquam porta risus, eget venenatis sapien fermentum eu. + + + + + + 0 + 0 + 1 + + + + Bomb/Monster/Chemical + + + Cloud Lifespan + implementation.detonation_action.actions[1].actor["Lifespan"] + + + Lifespan + implementation.sprite.destruction_transient["Transient"]["Lifespan"] + + + Radius + implementation.sprite.destruction_transient["Transient"]["Radius"], implementation.detonation_action.actions[1].actor["Radius"], implementation.sprite.model["Range"] + + + Bomb Transform + implementation.sprite.model["Transform"] + + + Damage + implementation.detonation_action.actions[1].actor["Damage"] + + + Bomb Model + implementation.sprite.model["Bomb"] + + + Cloud Color + implementation.sprite.destruction_transient["Transient"]["Color"] + + + Destruction Sound + implementation.sprite.destruction_transient["Sounder"] + + + Damage (Blast) + implementation.detonation_action.actions[0].damage.damages[0] + + + Radius (Blast) + implementation.detonation_action.actions[0].region.shape.radius + + + + + + item/weapon/bomb/bomb_wrapper.dat + + Bomb + + item/weapon/bomb/chemical/model.dat + + Variant + Frost Blue + + + Color + White + Fuse + 2.0 + Range + 1.45 + Sounder + + Clip/Default + + File + sound/effect/weapon/bomb_drop_01.ogg + Range + Medium + + + Transform + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bomb Detonation, Chemical + + Pitch + Default + + + Transform + + + Transient + + particle/explosion/bomb_chemicalcloud.dat + + Color + Frost Blue + Complexity + Normal + Explosion + true + Lifespan + 6.0 + Radius + 1.5 + + + + + + 0 + 0 + + + + + + + 20.0 + 2 + + + 2 + + Freeze + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + true + + + + Bomb/Parts/Chemical (Cloud) + + Damage + + Freeze + + Chance + 0.25 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Lifespan + 6000 + Radius + 1.45 + + + + + + + + + Bomb/Monster/Chromalisk/Spew Puddle (base) + + + Texture + implementation.sprite.model["Texture"] + + + Particle Color + implementation.sprite.model["Particle Color"] + + + Status Damage + implementation.handlers[0].action.damage.status_condition + + + Fuse + implementation.fuse + + + FX Attachment + implementation.sprite.model["FX"] + + + FX Transform + implementation.sprite.model["FX Transform"] + + + + + + particle/fx_chroma_puddle-meta.dat + + FX + + FX Transform + + + Particle Color + Default (oil) + Texture + + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/jelly_death.ogg + Gain + 0.6 + Range + Medium + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + 1.8 + 0.0, 0.0, -0.5 + + Transient + + + + + + 0.36 + + + + + + 4 + + + + + 16 + 0 + 2400 + + + + Bomb/Monster/Dark Sprite Heal (Area) + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/avenger_cswing.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_silkwingaoe.dat + + + + + 0 + 0 + 0 + + + Bomb/Monster/Dark Sprite Heal (Single) (Heavy) + + + + + + Bomb/Monster/Dark Sprite Heal (Single) + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/world/enemy_heal_cast_01.ogg + Gain + 0.5 + Pitch adjust + Default + Range + Medium + + + Transform + + + Transient + + particle/fx_silkwingheal.dat + + + + + 0 + 0 + 0 + + + Monster/Heal/Heal Base -15 + + + + + + Bomb/Monster/Dark Sprite Heal (Single) (Heavy) + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/enemy_heal_cast_01.ogg + Gain + 0.25 + Range + Short + + + Transform + + + Transient + + particle/fx_silkwingheal.dat + + + + + 0 + 0 + 0 + + + Monster/Heal/Heal Base + + + + + + Bomb/Monster/Demo Mine + + + + Tier + + + Color + implementation.actor["Model"]["Bomb"]["Variant"] + + + + + + 1 + + Color + Green + Damage + + 40.0 + 4 + 80.0 + 1 + 9 + ELEMENTAL + + + + + + 2 + + Color + Orange + Damage + + 4 + 210.0 + 9 + 19 + ELEMENTAL + + + + + + 3 + + Color + Purple + Damage + + 210.0 + 4 + 360.0 + 19 + ELEMENTAL + + + + + 1 + + + + + Bomb/Monster/Base (Alt) + + Blast Radius + 1.45 + Damage + + + Monster/Damage/Attack Base + + 4 + true + + Destruction Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_explosive.ogg + Gain + 0.4 + Range + Medium + + + Transform + + + Transient + + particle/explosive_block.dat + + Block + false + + + + + Fuse + 2000 + Knock-Back + + 2.0, 0.0 + 200 + 4 + + Model + + item/weapon/bomb/bomb_wrapper.dat + + Bomb + + item/weapon/npc/mine_windup/model.dat + + Variant + Orange + + + Color + Red + Fuse + 2.0 + Range + 1.5 + Sounder + + Custom/Weapons/Bomb, Drop + + Transform + + 1.2 + + + + + + + + + Bomb/Monster/Demo Mine (Drop) + + + + Tier + + + Bomb + implementation.detonation_action.actor["Tier"] + + + Color + implementation.sprite.model["Models"][0].model["Model"]["Variant"] + + + + + + 1 + + Bomb + 1 + Color + Green + + + + + 2 + + Bomb + 2 + Color + Orange + + + + + 3 + + Bomb + 3 + Color + Purple + + + + 1 + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + item/weapon/npc/devilite/fx_metabop.dat + + Model + + item/weapon/npc/mine_windup/model.dat + + Variant + Orange + + + + + + 1.2 + 0.0, 0.0, 0.75 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/on_hit/hit_bonk_08.ogg + Gain + 0.6 + Pitch + 2.0 + Range + Short + + + Transform + + + Transient + + + + + 0 + 0 + 600 + + + Bomb/Monster/Demo Mine + + Tier + 1 + + + + + + + Bomb/Monster/Demo Mine (Oil) + + + + item/weapon/bomb/bomb_wrapper.dat + + Bomb + + item/weapon/npc/mine_windup/model.dat + + Variant + Orange + + + Color + Red + Fuse + 1.0 + Range + 1.5 + Sounder + + Custom/Weapons/Bomb, Drop + + Transform + + 1.2 + + + + + 0 + 0 + 1000 + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + + + + Bomb/Monster/Devilite Bomb + + + + item/weapon/bomb/bomb_wrapper.dat + + Bomb + + item/weapon/npc/devilite/model_bomb.dat + + Color + Red + Fuse + 1.75 + Range + 1.5 + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/bomb_drop_01.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_explosive.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/explosive_block.dat + + Block + false + + + + + + 512 + 0 + 1750 + + + + Monster/Damage/Attack Base +10 + + 4 + true + ELEMENTAL + + Monster/Split/Split - Half + + + + 2.0, 0.0 + 200 + 4 + + + + + + Bomb/Monster/DeviliteMarker + + + Wave Tag + implementation.detonation_action.spawn_table["Wave Tag"] + + + + + + particle/fx_spawn_monster.dat + + + 0 + 0 + 1 + + + Monster/Single Family/Fiend/Scaled - Devilite + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Bomb/Monster/DeviliteThrow + + + + Model + + + Lift + implementation.sprite.model["Model"] + + + Throw + implementation.handlers[0].action.actor + + + + + + Bomb + + Lift + Bomb + Throw + + Bullet/Monster/DeviliteThrow + + Model + Bomb + + + + + + + Pitchfork + + Lift + Pitchfork + Throw + + Bullet/Monster/DeviliteThrow + + Model + Pitchfork + + + + + + + Axe + + Lift + Axe + Throw + + Bullet/Monster/DeviliteThrow + + Model + Axe + + + + + + + Chair + + Lift + Chair + Throw + + Bullet/Monster/DeviliteThrow (Weak) + + Model + Chair + + + + + + + Computer + + Lift + Computer + Throw + + Bullet/Monster/DeviliteThrow (Weak) + + Model + Computer + + + + + + + Suitcase + + Lift + Suitcase + Throw + + Bullet/Monster/DeviliteThrow (Weak) + + Model + Suitcase + + + + + + + Book + + Lift + Book + Throw + + Bullet/Monster/DeviliteThrow (Weak) + + Model + Book + + + + + + + Stapler + + Lift + Stapler + Throw + + Bullet/Monster/DeviliteThrow (Weak) + + Model + Stapler + + + + + + Bomb + + + + + + character/npc/monster/devilite/parts/model_wepwep.dat + + Model + Bomb + + + + + + + + Bullet/Monster/DeviliteThrow + + Model + Bomb + + + + + + + + 0 + 0 + 567 + + + + Bomb/Monster/FiredMarker + + + Wave Tag + implementation.detonation_action.spawn_table["Wave Tag"] + + + + + + particle/fx_spawn_monster.dat + + + 0 + 0 + 1 + + + Monster/Single Family/Fiend/Scaled - Firebrander + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Bomb/Monster/GasField + + + Graphic + implementation.sprite.model["Model"]["Color"] + + + Damage + implementation.handlers[0].action.damage + + + Time + implementation.handlers[1].interval, implementation.sprite.model["Time"] + + + Radius + implementation.handlers[0].action.region.shape.radius, implementation.sprite.model["Model"]["Range"] + + + + + + particle/fx_effectfader.dat + + Alpha Mode + TRANSLUCENT + Color + + 1.0, 1.0, 1.0, 1.0 + 0.0 + 0.05 + + Max Rotation + 0.0, 0.0, 0.0 + Max Scale + 1.0 + Min Rotation + 0.0, 0.0, 0.0 + Min Scale + 1.0 + Model + + particle/ambient_gasfield.dat + + Color + Poison + Range + 2.0 + + + Time + 5.0 + + + + + + + + + Poison + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + 0 + 0 + 30000 + + + + Bomb/Monster/Giant Lichen Colony + + + Size + implementation.detonation_action.actor["Size"] + + + Wave Tag + implementation.tags.tags[0], implementation.detonation_action.actor["Wave Tag"] + + + + + (tag 1) + + 1 + + + Character/NPC/Monster/Slime/Giant Lichen Colony + + Size + 1 + Tags + + Wave Tag + (Wave Tag) + + + + + + + Bomb/Monster/Greaver Zone + + + Radius + implementation.handlers[0].action.target.condition.maximum, implementation.sprite.creation_transient["Transient"]["Radius"] + + + Lifespan + implementation.handlers[1].interval, implementation.sprite.creation_transient["Transient"]["Lifespan"] + + + Damage + implementation.handlers[0].action.condition + + + Color + implementation.sprite.creation_transient["Transient"]["Color"] + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bomb, Fizzle + + Transform + + + Transient + + particle/explosion/bomb_chemicalcloud.dat + + Color + Shadow + Complexity + Simple + Explosion + false + Lifespan + 6.0 + Radius + 3.0 + + + + + + + + + + Stun + + Chance + 0.25 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + 0 + 0 + 10000 + + + + Bomb/Monster/IceCube Zone + + + Radius + implementation.handlers[0].action.target.condition.maximum, implementation.sprite.creation_transient["Transient"]["Radius"] + + + Lifespan + implementation.handlers[1].interval, implementation.sprite.creation_transient["Transient"]["Lifespan"] + + + Damage + implementation.handlers[0].action.condition + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/bomb_crystal_shatter_03a.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/explosion/bomb_chemicalcloud.dat + + Color + Frost Blue + Complexity + Normal + Explosion + true + Lifespan + 6.0 + Radius + 3.0 + + + + + + + + + + Freeze + + Chance + 0.25 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + 0 + 0 + 10000 + + + + Bomb/Monster/Large Lichen Colony + + + Size + implementation.detonation_action.actor["Size"] + + + Wave Tag + implementation.tags.tags[0], implementation.detonation_action.actor["Wave Tag"] + + + + + (tag 1) + + 1 + + + Character/NPC/Monster/Slime/Large Lichen Colony + + Size + 1 + Tags + + Wave Tag + (Wave Tag) + + + + + + + Bomb/Monster/Lichen Colony + + + Size + implementation.detonation_action.actor["Size"] + + + Wave Tag + implementation.tags.tags[0], implementation.detonation_action.actor["Wave Tag"] + + + + + (tag 1) + + 1 + + + Character/NPC/Monster/Slime/Lichen Colony + + Size + 1 + Tags + + Wave Tag + (Wave Tag) + + + + + + + Bomb/Monster/Lichen Spire + + + Color + implementation.sprite.destruction_transient["Model"]["Variant"] + + + Damage + implementation.detonation_action.damage + + + + + + particle/fx_effectfader.dat + + Alpha Mode + TRANSLUCENT + Color + + 1.0, 1.0, 1.0, 1.0 + 1.0, 1.0, 1.0, 1.0 + 0.0 + 0.0 + + Max Rotation + 0.0, 0.0, 3.1415927 + Max Scale + 1.2 + Min Rotation + 0.0, 0.0, -3.1415927 + Min Scale + 0.8 + Model + + character/npc/monster/lichen/parts/spines/model_spire.dat + + Variant + Tox + + + Time + 6.0 + + + + 0 + 0 + 50 + + + + + 60.0 + 4 + + + 4 + + Poison + + Chance + 0.65 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + 2.0, 0.0 + 300 + 2 + + + + + + Bomb/Monster/ManagerMarker + + + Wave Tag + implementation.detonation_action.spawn_table["Wave Tag"] + + + + + + particle/fx_spawn_monster.dat + + + 0 + 0 + 1 + + + Monster/Single Family/Fiend/Scaled - Pit Boss + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Bomb/Monster/ManagerTaunts + + + Words + implementation.sprite.creation_transient["Transient"]["Text"] + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/devilite/devilite_overtime.ogg + Gain + 0.8 + Pitch + 0.5 + Range + Medium + + + Transform + + 1.25 + 0.0, 0.0, 1.35 + + Transient + + model/compound/monsterchat/model.dat + + Name + + Text + Chef Knight LFG! Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam aliquam porta risus, eget venenatis sapien fermentum eu. + + + + + + 0 + 0 + 1 + + + + Bomb/Monster/Mender Heal (Single) + + + Depth Scale + implementation.detonation_action.depth_scale + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/enemy_heal_cast_01.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_menderheal.dat + + + + + + + + + 0 + + + Monster/Heal/Heal Base -05 + + + + + + Bomb/Monster/Mender Raise + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/player_res.ogg + Gain + 1.0 + Pitch + 0.85 + Range + Medium + + + Transform + + + Transient + + particle/fx_raisegremlin.dat + + + + + 0 + + + + Bomb/Monster/Mender Raise (Player) + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/player_res.ogg + Gain + 1.0 + Pitch + 0.85 + Range + Medium + + + Transform + + + Transient + + particle/fx_raisegremlin.dat + + + + + 0 + + + + Bomb/Monster/Mender RenewZone + + + Damage + implementation.handlers[0].action.actions[0].actor + + + + + + particle/fx_effectfader.dat + + Alpha Mode + TRANSLUCENT + Color + + 1.0, 1.0, 1.0, 1.0 + 0.1 + 0.05 + + Max Rotation + 0.0, 0.0, 0.0 + Max Scale + 1.0 + Min Rotation + 0.0, 0.0, 0.0 + Min Scale + 1.0 + Model + + particle/ambient_menderrenew.dat + + Time + 15.0 + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/weapon/avenger_cswing.ogg + Gain + 1.0 + Pitch + 1.25 + Range + Medium + + + Transform + + + Transient + + + + + + 2.25 + + + + + + + + Bomb/Monster/Mender Heal (Single) + + Depth Scale + + Monster/Heal/Heal Base -05 + + + + + + + + + + + + + + + + + + + 0 + 0 + 15000 + + + + Bomb/Monster/Oil Slick + + + + particle/fx_oilslick.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/jelly_death.ogg + Gain + 0.8 + Pitch + 0.8 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + 1.8 + 0.0, 0.0, -0.5 + + Transient + + + + + + 0.45 + + + + + + + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire 2 + + Chance + 1.0 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 6 Seconds + Nature + Neutral + + + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire 3 + + Chance + 1.0 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 6 Seconds + Nature + Neutral + + + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire + + Chance + 1.0 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 6 Seconds + Nature + Neutral + + + + + + + + + + 16 + 0 + 15000 + + + + Bomb/Monster/OvertimerMarker + + + Wave Tag + implementation.detonation_action.spawn_table["Wave Tag"] + + + + + + particle/fx_spawn_monster.dat + + + 0 + 0 + 1 + + + Monster/Single Family/Fiend/Scaled - Overtimer + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Bomb/Monster/ScorcherTorch + + + + Lifetime + + + Fuse + implementation.fuse + + + Creation Life + implementation.sprite.creation_transient["Transient"]["Lifespan"] + + + + + + 1 Second + + Creation Life + 1 second + Fuse + 1000 + + + + + 2 Seconds + + Creation Life + 2 seconds + Fuse + 2000 + + + + + 4 Seconds + + Creation Life + 4 seconds + Fuse + 4000 + + + + + 6 Seconds + + Creation Life + 6 seconds + Fuse + 6000 + + + + 2 Seconds + + + + Nature + + + Color + implementation.sprite.creation_transient["Transient"]["Color"] + + + + + + Neutral + + Color + Fire Orange + Damage + + + + 40.0 + 4 + + + 4 + + Fire + + Chance + 0.65 + Power + 50 + + + + + 2 + false + + + 2 + + Fire + + Chance + 0.5 + Power + 15 + + + + + + + + + + Monster + + Color + Hot Blue + Damage + + + + 40.0 + 4 + + + 4 + + Fire + + Chance + 0.65 + Power + 50 + + + + + + + + + Neutral + + + Damage + implementation.handlers[0].action.damage + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + 1.25 + 0.0, 0.0, -0.8 + -0.17364812, 0.0, 0.0, 0.9848078 + + Transient + + particle/fx_fire_torch.dat + + Color + Fire Orange + Lifespan + 2 seconds + + + + + + particle/fx_fire_charmark.dat + + + + + + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + + 0 + 0 + + + + Bomb/Monster/Sloom Sleep (Cloud) + + + + particle/explosion/bomb_chemicalcloud.dat + + Color + Sleep + Complexity + Simple + Explosion + false + Lifespan + 8.0 + Radius + 1.2 + + + + + + + + Sleep + + Chance + 0.3 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + 0 + 0 + 8000 + + + + Bomb/Monster/Superblast Shard + + + Damage + implementation.detonation_action.actions[1].damage + + + + + + particle/bullet/part_superblast-frag_glob.dat + + Warning + true + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/chromalisk_drop.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 0.0, 0.0, 0.25 + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Small + color + red + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_explosive.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 0.75 + + Transient + + particle/explosive_block.dat + + Block + false + + + + + + + 0.125 + + 16 + 0 + 3500 + + + + + 1.0 + true + + + 4.0, 0.0 + 200 + 3 + + + + + + + + Bomb/Monster/Tortodrone Missile + + + + character/npc/monster/tortodrone/parts/fx_hit_crystal.dat + + Fuse + 2.0 + Fuse - 0.5 + 1.5 + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/bomb_02.ogg + Gain + 0.8 + Range + Medium + + + Transform + + + Transient + + character/npc/monster/tortodrone/parts/fx_crystalslam.dat + + + + + + + + + Bomb/Monster/Tortodrone Shard + + + + + 0 + 0 + + + + + + Monster/Damage/Attack Base -05 + + 7 + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Shock 3 + + Chance + 0.5 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 4 + + Stun 3 + + Chance + 0.8 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + 193 + + 1.5, 0.0 + 250 + 2 + + + + + + Bomb/Monster/Tortodrone Shard + + + + character/npc/monster/tortodrone/parts/aoe_crystal.dat + + Trail + true + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_crystal.ogg + Gain + 0.6 + Range + Medium + + + Transform + + + Transient + + particle/fx_starlink_explode.dat + + color + green + + + + + + + 0.2 + + + + + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Full + + + + 4 + + Shock 3 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + 1.0, 0.0 + 200 + 2 + + + + + 32 + 4 + 5000 + + + + Bomb/Monster/Vog Flames + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/vog_cub/vogcub_flameburst_01.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 1.5 + + Transient + + character/npc/monster/wolver/parts/bomb_vog.dat + + + + + + + + + + + 80.0 + 4 + + + 4 + + Fire + + Chance + 0.5 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + + + + + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + + + + + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + + + + + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + + + + + + 0 + 0 + 5000 + + + + + + Bomb/Monster/YesmanAura + + + Heal + implementation.detonation_action.action.current + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Default + + Files + + + sound/effect/monster/devilite/devilite_yesman.ogg + 0.8 + 0.95 + + + sound/effect/monster/devilite/devilite_yesman.ogg + 0.9 + + + sound/effect/monster/devilite/devilite_yesman.ogg + 1.05 + + + sound/effect/monster/devilite/devilite_yesman.ogg + 0.95 + 1.1 + + + Range + Medium + + + Transform + + 0.0, 0.0, 0.75 + + Transient + + character/npc/monster/devilite/parts/fx_yesmanaura.dat + + + + + 1 + + + 4 + 144 + 1 + 30 + + + + + + Bomb/Monster/YesmanMarker + + + Wave Tag + implementation.detonation_action.spawn_table["Wave Tag"] + + + + + + particle/fx_spawn_monster.dat + + + 0 + 0 + 1 + + + Monster/Single Family/Fiend/Scaled - Yesman + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Bomb/Parts/Base (Cluster) + + + Model + implementation.sprite.model["Bomb"] + + + Fuse + implementation.fuse + + + Fuse Graphic + implementation.sprite.model["Fuse"] + + + Blast Damage + implementation.detonation_action.damage + + + Knock-Back + implementation.detonation_action.impulse_dealt + + + Large Explosion + implementation.sprite.destruction_transient["Large Explosion"] + + + Small Explosions + implementation.sprite.destruction_transient["Small Explosions"] + + + Large Sound + implementation.sprite.destruction_transient["Large Sound"] + + + Small Sounds + implementation.sprite.destruction_transient["Small Sounds"] + + + + Radius + + + Large Transform + implementation.sprite.destruction_transient["Large Transform"] + + + Blast + implementation.detonation_action.region.shape.radius, implementation.sprite.model["Range"], implementation.sprite.destruction_transient["Radius"] + + + + + + 0.5 + + Blast + 0.45 + Large Transform + + 0.5 + + + + + + 1.0 + + Blast + 0.95 + Large Transform + + + + + + + 1.5 + + Blast + 1.45 + Large Transform + + 1.5 + + + + + + 2.0 + + Blast + 1.95 + Large Transform + + 2.0 + + + + + + 2.5 + + Blast + 2.45 + Large Transform + + 2.5 + + + + + + 3.0 + + Blast + 2.95 + Large Transform + + 3.0 + + + + + + 3.5 + + Blast + 3.45 + Large Transform + + 3.5 + + + + + + 4.0 + + Blast + 3.95 + Large Transform + + 4.0 + + + + + + 4.5 + + Blast + 4.45 + Large Transform + + 4.5 + + + + + + 5.0 + + Blast + 4.95 + Large Transform + + 5.0 + + + + + + 6.0 + + Blast + 5.95 + Large Transform + + 6.0 + + + + + + 7.0 + + Blast + 6.95 + Large Transform + + 7.0 + + + + + + 8.0 + + Blast + 7.95 + Large Transform + + 8.0 + + + + + 2.5 + + + + + + item/weapon/bomb/bomb_wrapper.dat + + Bomb + + item/weapon/bomb/blast/model.dat + + variant + blast(blue) + + + Color + White + Fuse + 2.0 + Range + 2.5 + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/bomb_drop_01.ogg + Gain + 1.0 + Range + Short + + + Transform + + 1.25 + + + + + particle/explosion/bomb_areaexplosion.dat + + Large Explosion + + particle/explosion/bomb_blast.dat + + Charged + true + Color + Cyan + Icon + particle/texture/bomb_icon_blast.png + Size + 1.0 + + + Large Sound + + Clip/Default (Gain) + + File + sound/effect/weapon/bomb_c02.ogg + Gain + 1.0 + Range + Medium + + + Large Transform + + 2.45 + + Radius + 2.45 + Small Explosions + + particle/explosion/bomb_blast.dat + + Charged + false + Color + Cyan + Icon + particle/texture/bomb_icon_blast.png + Size + 1.0 + + + Small Sounds + sound/effect/weapon/bomb_01.ogg + + + + 0 + 0 + + + + + + + 1.0 + 2 + + true + + 5.0, 0.0 + 400 + 4 + + + + + + Bomb/Parts/Chemical (Cloud) + + + Radius + implementation.handlers[0].action.region.shape.radius + + + Lifespan + implementation.fuse, implementation.handlers[0].limit + + + Damage + implementation.handlers[0].action.damage.status_condition + + + + + + + + + + + + 2 + + Freeze + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + true + + + + 0 + 0 + 6000 + + true + + + + + Bomb/Parts/Dud + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bomb, Fizzle + + Transform + + 0.75 + 0.0, 0.0, 1.2 + + Transient + + particle/monster_death.dat + + Color + White + + + + + + 1 + + + + Bomb/Parts/Gravidos (Explode) (Charged) + + + Damage + implementation.detonation_action.actions[0].damage + + + + Radius + + + Shape + implementation.detonation_action.actions[0].region.shape.radius + + + Transform + implementation.sprite.destruction_transient["Transform"] + + + + + + 0.5 + + Shape + 0.45 + Transform + + 0.5 + + + + + + 1.0 + + Shape + 0.95 + Transform + + + + + + + 1.5 + + Shape + 1.45 + Transform + + 1.5 + + + + + + 2.0 + + Shape + 1.95 + Transform + + 2.0 + + + + + + 2.5 + + Shape + 2.45 + Transform + + 2.5 + + + + + + 3.0 + + Shape + 2.95 + Transform + + 3.0 + + + + + + 3.5 + + Shape + 3.45 + Transform + + 3.5 + + + + + + 4.0 + + Shape + 3.95 + Transform + + 4.0 + + + + + + 4.5 + + Shape + 4.45 + Transform + + 4.5 + + + + + + 5.0 + + Shape + 4.95 + Transform + + 5.0 + + + + + + 6.0 + + Shape + 5.95 + Transform + + 6.0 + + + + + + 7.0 + + Shape + 6.95 + Transform + + 7.0 + + + + + + 8.0 + + Shape + 7.95 + Transform + + 8.0 + + + + + 2.5 + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/gravidos_cexplosion.ogg + Gain + 1.0 + Range + Long + + + Transform + + 2.5 + + Transient + + particle/explosion/bomb_blast.dat + + Charged + true + Color + Gravidos + Icon + particle/texture/bomb_icon_gravios.png + Size + 1.0 + + + + + + 0 + 0 + 500 + + + + + + + + + 120.0 + 2 + + true + + -8.0, 1.0 + 550 + 5 + + + + + + + + Bomb/Parts/Gravidos (Implode) (Charged) + + + FX + implementation.sprite.destruction_transient + + + FX Transform + implementation.sprite.destruction_transient["Transform"] + + + Radius + implementation.detonation_action.actions[0].region.shape.radius, implementation.handlers[0].action.region.shape.radius + + + Child + implementation.detonation_action.actions[1].actor + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/gravidos_cimplode.ogg + Gain + 1.0 + Range + Long + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_explosive.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/explosion/gravidos_vortex.dat + + Radius + 2.0 + + + + + + + + + + -1.25, -0.25 + 200 + 3 + + + + + + 2 + + + + 0 + 0 + 500 + + + + + -1.25, -0.25 + 200 + 3 + + + + + + 2 + + + + + + + + + Bomb/Parts/Rock Spire + + + Damage + implementation.detonation_action.damage + + + + + + particle/fx_effectfader-light.dat + + Alpha Mode + TRANSLUCENT + Color + + 1.0, 1.0, 1.0, 1.0 + 1.0, 1.0, 1.0, 1.0 + 0.0 + 0.0 + + Max Rotation + 0.0, 0.0, 3.1415927 + Max Scale + 1.2 + Min Rotation + 0.0, 0.0, -3.1415927 + Min Scale + 0.8 + Model + + particle/swing/model_rockspire.dat + + Time + 6.0 + + + + 0 + 0 + 50 + + + + + 60.0 + 2 + + + + + 2.0, 0.0 + 300 + 2 + + + + + + Bomb/Parts/Sword (CutterGhost) + + + Transform + implementation.sprite.creation_transient["Transform"] + + + Damage + implementation.detonation_action.damage + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Default (Gain) + + Files + + + sound/effect/weapon/sword_01.ogg + 1.05 + + + sound/effect/weapon/sword_02.ogg + 1.05 + + + sound/effect/weapon/sword_01.ogg + 1.15 + + + sound/effect/weapon/sword_02.ogg + 1.15 + + + Gain + 0.7 + Loop + false + Range + Medium + + + Transform + + 0.0, -0.2, 0.75 + + Transient + + particle/swing/cutterghost-swing.dat + + Flare + false + Shadow + false + Strider Arc + false + Strider Color + 0.22745098, 0.4627451, 0.8117647, 1.0 + Swing Color In/Out + 0.0, 0.29411766, 0.5803922, 0.0 + Swing Color Middle + 0.0, 0.12941177, 0.27058825, 1.0 + Sword Color + 0.49019608, 0.7490196, 1.0, 1.0 + Sword Color (End) + 0.0, 0.011764706, 0.039215688, 1.0 + Trail Swipe + true + + + + + + 0 + 0 + 1 + + + 40.0 + 2 + false + + + -0.5, 0.0 + 150 + 2 + + + + + + Bomb/Parts/Sword (DreadvenomstrikerGhost) + + + Transform + implementation.sprite.creation_transient["Transform"] + + + Damage + implementation.detonation_action.damage + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Default (Gain) + + Files + + + sound/effect/weapon/sword_01.ogg + 1.05 + + + sound/effect/weapon/sword_02.ogg + 1.05 + + + sound/effect/weapon/sword_01.ogg + 1.15 + + + sound/effect/weapon/sword_02.ogg + 1.15 + + + Gain + 0.7 + Loop + false + Range + Medium + + + Transform + + 0.0, -0.2, 0.75 + + Transient + + particle/swing/cutterghost-swing.dat + + Flare + true + Shadow + true + Strider Arc + true + Strider Color + 0.0, 0.4, 0.0, 1.0 + Swing Color In/Out + 0.0, 0.4, 0.4, 0.0 + Swing Color Middle + 0.0, 0.8, 0.0, 1.0 + Sword Color + 0.0, 0.4, 0.2, 1.0 + Sword Color (End) + 0.2, 0.2, 0.0, 1.0 + Trail Swipe + true + + + + + + 0 + 0 + 1 + + + + + 12.0 + 2 + + + 2 + + Poison + + Chance + 0.15 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + -0.5, 0.0 + 150 + 2 + + + + + + Bomb/Parts/Sword (HuntingGhost) + + + Wolf Transform + implementation.sprite.destruction_transient["Transform"] + + + Damage + implementation.detonation_action.damage + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Default (Gain) + + Files + + + sound/effect/monster/wolver_bite.ogg + + + sound/effect/monster/wolver_bite.ogg + 1.025 + + + sound/effect/monster/wolver_bite.ogg + 1.05 + + + sound/effect/monster/wolver_bite.ogg + 1.075 + + + sound/effect/monster/wolver_bite.ogg + 1.1 + + + sound/effect/monster/wolver_death.ogg + 0.01 + 1.1 + + + Gain + 0.5 + Loop + false + Range + Medium + + + Transform + + 0.0, -0.2, 0.25 + + Transient + + particle/swing/huntingsword_wolfstrike.dat + + Flare + true + Shadow + true + Strider Arc + false + Strider Color + 0.7294118, 0.6509804, 0.2627451, 1.0 + Swing Color In/Out + 0.16862746, 0.16078432, 0.0, 0.0 + Swing Color Middle + 0.89411765, 0.78039217, 0.21176471, 1.0 + Sword Color + 1.0, 1.0, 1.0, 1.0 + Sword Color (End) + 0.0, 0.0, 0.0, 1.0 + Trail Swipe + false + + + + + + 0 + 0 + 30 + + + 20.0 + 2 + + + -0.5, 0.0 + 150 + 2 + + + + + + Bomb/Parts/Sword (Huntingblade) + + + Transform + implementation.sprite.creation_transient["Transform"] + + + Damage + implementation.detonation_action.damage + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Default (Gain) + + Files + + + sound/effect/weapon/sword_01.ogg + 1.05 + + + sound/effect/weapon/sword_02.ogg + 1.05 + + + sound/effect/weapon/sword_01.ogg + 1.15 + + + sound/effect/weapon/sword_02.ogg + 1.15 + + + Gain + 0.7 + Loop + false + Range + Medium + + + Transform + + 0.0, -0.2, 0.75 + + Transient + + particle/swing/cutterghost-swing.dat + + Flare + true + Shadow + true + Strider Arc + false + Strider Color + 0.8, 0.8, 0.0, 1.0 + Swing Color In/Out + 0.6, 0.4, 0.0, 0.0 + Swing Color Middle + 0.6, 0.6, 0.0, 1.0 + Sword Color + 0.6, 0.6, 0.0, 1.0 + Sword Color (End) + 0.2, 0.2, 0.0, 1.0 + Trail Swipe + true + + + + + + 0 + 0 + 1 + + + 1.0 + 2 + + + -0.5, 0.0 + 150 + 2 + + + + + + Bomb/Parts/Sword (Roundhouse) + + + Radius + implementation.detonation_action.actions[3].action.region.shape.shapes[0].shape.radius, implementation.detonation_action.actions[2].action.region.shape.shapes[0].shape.radius, implementation.detonation_action.actions[1].action.region.shape.shapes[0].shape.radius, implementation.detonation_action.actions[0].action.region.shape.shapes[0].shape.radius + + + Damage + implementation.detonation_action.actions[3].action.damage, implementation.detonation_action.actions[2].action.damage, implementation.detonation_action.actions[1].action.damage, implementation.detonation_action.actions[0].action.damage + + + Knock-Back + implementation.detonation_action.actions[3].action.impulse_dealt, implementation.detonation_action.actions[2].action.impulse_dealt, implementation.detonation_action.actions[1].action.impulse_dealt, implementation.detonation_action.actions[0].action.impulse_dealt + + + + 0 + 0 + 1 + + + + + + 50.0 + 2 + + + 3.5, 0.0 + 300 + 3 + + + + + + + 50.0 + 2 + + + 3.5, 0.0 + 300 + 3 + + + + + + + 50.0 + 2 + + + 3.5, 0.0 + 300 + 3 + + + + + + + 50.0 + 2 + + + 3.5, 0.0 + 300 + 3 + + + + + + + + + Bomb/Parts/Sword (SealedStatus) + + + Color + implementation.sprite.destruction_transient["Transient"]["Color"] + + + Damage + implementation.detonation_action.damage + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/block_ghost.ogg + Gain + 0.25 + Pitch + 1.15 + Range + Short + + + Transform + + 0.0, -2.0, 0.0 + + Transient + + particle/explosion/sword_sealedstatus.dat + + Color + 1.0, 0.2, 0.0, 1.0 + + + + + + 0 + 0 + 1 + + + + + 2 + + Fire + + Chance + 1.0 + Power + 1 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Bomb/Parts/Sword (VilestrikerGhost) + + + Transform + implementation.sprite.creation_transient["Transform"] + + + Damage + implementation.detonation_action.damage + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Default (Gain) + + Files + + + sound/effect/weapon/sword_01.ogg + 1.05 + + + sound/effect/weapon/sword_02.ogg + 1.05 + + + sound/effect/weapon/sword_01.ogg + 1.15 + + + sound/effect/weapon/sword_02.ogg + 1.15 + + + Gain + 0.7 + Loop + false + Range + Medium + + + Transform + + 0.0, -0.2, 0.75 + + Transient + + particle/swing/cutterghost-swing.dat + + Flare + false + Shadow + true + Strider Arc + false + Strider Color + 0.0, 0.4, 0.0, 1.0 + Swing Color In/Out + 0.0, 0.4, 0.4, 0.0 + Swing Color Middle + 0.0, 0.8, 0.0, 1.0 + Sword Color + 0.0, 0.4, 0.2, 1.0 + Sword Color (End) + 0.2, 0.2, 0.0, 1.0 + Trail Swipe + true + + + + + + 0 + 0 + 1 + + + + + 20.0 + 2 + + + 2 + + Poison + + Chance + 0.075 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + -0.5, 0.0 + 150 + 2 + + + + + + Bomb/Proto (Charged) + + + Damage + implementation.actor["Blast Damage"] + + + Radius + implementation.actor["Radius"] + + + + + Bomb/Parts/Base (Cluster) + + Blast Damage + + 75.0 + 2 + true + + Fuse + 2500 + Fuse Graphic + 2.5 + Knock-Back + + 3.0, 0.0 + 150 + 2 + + Large Explosion + + particle/explosion/bomb_blast.dat + + Charged + true + Color + Green + Icon + particle/texture/bomb_icon_proto.png + Size + 1.0 + + + Large Sound + + Custom/Weapons/Parts/Bomb Detonation, Base + + File + sound/effect/weapon/bomb_c02.ogg + Gain + 1.0 + Pitch + Higher 2 + Range + Default + + + Model + + item/weapon/bomb/proto/model.dat + + Variant + proto(green) + + + Radius + 1.5 + Small Explosions + + particle/explosion/bomb_blast.dat + + Charged + false + Color + Green + Icon + particle/texture/bomb_icon_proto.png + Size + 1.0 + + + Small Sounds + sound/effect/weapon/bomb_01.ogg + + + + + + Bomb/Shard + + + Bomb/Shard Base + + Bullet + + Bullet/Shard bomb projectile + + Blast Radius + 0.4 + Damage + + 60.0 + 2 + + Destruction Transient + + particle/bullet/hit_shard.dat + + Color + Base (aqua) + + + Model + + particle/bullet/bullet_shard.dat + + Color + Base (aqua) + Dust + False + + + + + Bullet Secondary + + Charged + false + Model + + item/weapon/bomb/shard/model.dat + + Variant + Emerald + + + + + + + + Bomb/Shard (Charged) + + + Bomb Color + implementation.actor["Model"]["Variant"] + + + Damage + implementation.actor["Bullet"]["Damage"], implementation.actor["Bullet Secondary"]["Damage"] + + + Bullet Model + implementation.actor["Bullet"]["Model"], implementation.actor["Bullet Secondary"]["Model"] + + + Destruction Model + implementation.actor["Bullet Secondary"]["Destruction Transient"], implementation.actor["Bullet"]["Destruction Transient"] + + + + + Bomb/Shard Base + + Bullet + + Bullet/Shard bomb projectile + + Blast Radius + 0.6 + Damage + + 60.0 + 2 + + Destruction Transient + + particle/bullet/hit_shard.dat + + Color + Base (aqua) + + + Model + + particle/bullet/bullet_shard.dat + + Color + Base (aqua) + Dust + False + + + + + Bullet Secondary + + Bullet/Shard bomb projectile + + Blast Radius + 0.6 + Damage + + 60.0 + 2 + + Destruction Transient + + particle/bullet/hit_shard.dat + + Color + Base (aqua) + + + Model + + particle/bullet/bullet_shard.dat + + Color + Base (aqua) + Dust + False + + + + + Charged + true + Model + + item/weapon/bomb/shard/model.dat + + Variant + Emerald + + + + + + + + Bomb/Shard Base + + + Bullet + implementation.detonation_action.actions[1].actor, implementation.detonation_action.actions[2].actor, implementation.detonation_action.actions[3].actor, implementation.detonation_action.actions[4].actor + + + Bullet Secondary + implementation.detonation_action.actions[5].actor, implementation.detonation_action.actions[6].actor, implementation.detonation_action.actions[7].actor, implementation.detonation_action.actions[8].actor + + + Charged + implementation.sprite.destruction_transient["Transient"]["Charged"] + + + Model + implementation.sprite.model["Bomb"] + + + + + + item/weapon/bomb/bomb_wrapper.dat + + Bomb + + item/weapon/bomb/shard/model.dat + + Variant + Emerald + + + Color + White + Fuse + 1.0 + Range + 0.4 + Sounder + + Clip/Default + + File + sound/effect/weapon/bomb_drop_01.ogg + Range + Medium + + + Transform + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bomb Detonation, Shard + + Transform + + + Transient + + particle/explosion/shard_blast.dat + + Charged + false + Color + Base (aqua) + + + + + + 0 + 0 + 1000 + + + + + 2 + + true + + + + + 3.1415927 + + + 1.5707964 + + + -1.5707964 + + + 0.7853982 + + + -0.7853982 + + + 2.3561945 + + + -2.3561945 + + + + + + + Bullet/Base + + + Model + implementation.sprite.model + + + Creation Transient + implementation.sprite.creation_transient + + + Destruction Transient + implementation.sprite.destruction_transient + + + Offset + implementation.offset + + + Height + implementation.height + + + Bullet Shape + implementation.shape + + + Damage + implementation.detonation_action.damage + + + Blast Radius + implementation.detonation_action.region.shape.radius + + + Knock-Back + implementation.detonation_action.impulse_dealt + + + Speed + implementation.speed + + + Fuse + implementation.fuse + + + Collision Mask + implementation.collision_mask + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.2 + Core Min + 0.1 + Element + Simple + Flare + true + color + ivory + + + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Medium + color + ivory + + + + + 0.1 + + 512 + 137 + 12.0 + true + 1.1 + 0.85, -0.1 + + + + + + + + + 1.0 + 2 + false + + + 2 + + + + -10.0, 0.0 + + + + + Bullet/Dynamic Objects/Energy-Consuming Objects/Turret, Auto (default) + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.3 + Core Min + 0.1 + Element + Sparkles + Flare + true + color + rainbow + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/avenger_chit.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/bullet_hit.dat + + + + + + 0.1 + + 0 + 137 + 3.0 + true + 1.2 + 1.0, 0.0 + 2400 + + + 48.0 + 2 + + + + + + Bullet/Dynamic Objects/Energy-Consuming Objects/Turret, Auto - Railgun Beam + + + + world/dynamic/energy/parts/model_railgun_beam.dat + + + particle/fx_gun_railgun_4unit.dat + + Variant + Outro + + + + + 4.0 + 0.2 + + 0 + 129 + 40.0 + true + 0.68 + 1.0, 0.0 + 250 + + + + Bullet/Handgun/Antigua + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/bullet_piercing.dat + + Element + Simple + color + yellow + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Default + Range + Longer 1 + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + yellow + + + + + + + 0.1 + + 512 + 137 + 25.0 + true + 1.1 + 1.1, -0.1 + 300 + + + + + 15.0 + 2 + + + + + + + + Bullet/Handgun/Argent Peacemaker + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/bullet_piercing.dat + + Element + Simple + color + ivory + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Default + Range + Longer 1 + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + ivory + + + + + + + 0.1 + + 512 + 137 + 25.0 + true + 1.1 + 1.1, -0.1 + 300 + + + + + 15.0 + 2 + + + 15.0 + 2 + + + + + + + + Bullet/Handgun/Argent Peacemaker (Charged) + + + Damage + implementation.detonation_action.damage, implementation.handlers[0].action.damage + + + + + + particle/mesh/silversix_eagle/model_eagle.dat + + Variant + Ivory + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Lower 2 + Range + Medium + + + Transform + + 1.25 + 0.0, 0.0, 1.0 + + Transient + + particle/bullet/magnus/hit_charged.dat + + Spark Count + 6 + Variant + Hot + + + + + + + 2.0 + + + + + + 25.0 + 2 + + + 1.5, 0.0 + 150 + 2 + + + + + 512 + 129 + 8.0 + true + 0.05 + 1.2, -0.1 + 1000 + + + + + 15.0 + 2 + + + 10.0 + 2 + + + + + 3.0, 0.0 + 300 + 2 + + + + + + Bullet/Handgun/Autogun + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.2 + Bullet Shape + + 0.1 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 6.0 + 2 + false + + + + Destruction Transient + + particle/bullet/hit_autogun.dat + + Fuse + 400 + Height + 1.1 + Knock-Back + + Model + + particle/bullet/bullet_autogun.dat + + Color + Green + Scale + Small + + + Offset + 1.1, -0.1 + Speed + 12.0 + + + + + + Bullet/Handgun/Autogun (Charged) + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.3 + Bullet Shape + + 0.2 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 8.0 + 2 + false + + + + Destruction Transient + + particle/bullet/hit_autogun.dat + + Fuse + 400 + Height + 1.1 + Knock-Back + + -0.75, 0.0 + 150 + 2 + + Model + + particle/bullet/bullet_autogun.dat + + Color + Green + Scale + Medium + + + Offset + 1.1, -0.1 + Speed + 12.0 + + + + + + Bullet/Handgun/Blackhawk + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/bullet_piercing.dat + + Element + Frost + color + blue + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 0.75 + Pitch + Default + Range + Default + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + blue + + + + + + + 0.1 + + 512 + 137 + 20.0 + true + 1.1 + 1.1, -0.1 + 450 + + + + + 10.0 + 2 + + + 10.0 + 2 + + + + + + + + Bullet/Handgun/Blackhawk (Charged) + + + Damage + implementation.detonation_action.damage, implementation.handlers[0].action.damage + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + particle/bullet/magnus/model_charged.dat + + Variant + Evil + + + + 0.5 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Lower 2 + Range + Longer 2 + + + Transform + + 0.5 + + Transient + + particle/bullet/magnus/hit_charged.dat + + Spark Count + 6 + Variant + Cool + + + + + + + 2.0 + + + + + + + + 10.0 + 2 + + + 10.0 + 2 + + + + + 1.5, 0.0 + 150 + 2 + + + + + 512 + 129 + 10.0 + true + 1.1 + 1.2, -0.1 + 850 + + + + + 10.0 + 2 + + + 10.0 + 2 + + + + + 3.0, 0.0 + 300 + 2 + + + + + + Bullet/Handgun/Blaster + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.4 + Bullet Shape + + 0.1 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 25.0 + 2 + + + + Destruction Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/weapon/gran_faust_chit.ogg + Gain + 0.6 + Pitch + 1.4 + Range + Short + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + cyan + + + + + Fuse + 600 + Height + 1.1 + Knock-Back + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.2 + Core Min + 0.1 + Element + Simple + Flare + false + color + cyan + + + Offset + 0.85, -0.1 + Speed + 12.0 + + + + + + Bullet/Handgun/Blaster (Charged) + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.75 + Bullet Shape + + 0.5 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 75.0 + 2 + true + + + + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Large + color + cyan + + + Fuse + 700 + Height + 1.1 + Knock-Back + + 4.0, 0.0 + 400 + 4 + + Model + + particle/bullet/bullet_blaster_charged.dat + + Offset + 0.85, -0.1 + Speed + 12.0 + + + + + + Bullet/Handgun/Blitz Needle + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/bullet_piercing.dat + + Element + Simple + color + ivory + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Higher 2 + Range + Longer 1 + + + Transform + + 0.75 + + Transient + + particle/bullet/hit_shard.dat + + Color + Sun + + + + + + + 0.1 + + 512 + 137 + 25.0 + true + 1.1 + 1.1, -0.1 + 300 + + + + + 15.0 + 2 + + + + + + + + Bullet/Handgun/Callahan + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/magnus/model.dat + + Variant + Cool + + + + model/scripted/transient_sound_offset.dat + + Loop Duration + 0.0 + Sound Offset + + 0.0, 0.6, 0.0 + + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Lower 4 + Range + Longer 1 + + + Transform + + + Transient + + particle/bullet/magnus/hit.dat + + Variant + Cool + + + + + + + 0.2 + + 512 + 137 + 25.0 + true + 1.1 + 1.1, -0.1 + 250 + + + + + 40.0 + 2 + + + 2 + + Stun + + Chance + 0.1 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Bullet/Handgun/Callahan (Charged) + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/magnus/model_charged.dat + + Variant + Cool + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Lower 5 + Range + Long + + + Transform + + + Transient + + particle/bullet/magnus/hit_charged.dat + + Spark Count + 6 + Variant + Cool + + + + + + + 0.45 + + 512 + 137 + 15.0 + true + 1.1 + 1.1, -0.1 + 500 + + + + + 80.0 + 2 + true + + + 2 + + Stun + + Chance + 0.75 + Power + 90 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + -3.0, 0.0 + 150 + 2 + + + + + + Bullet/Handgun/Fiery Pepperbox + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.2 + Bullet Shape + + 0.1 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 6.0 + 2 + false + + + + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Small + color + yellow + + + Fuse + 400 + Height + 1.1 + Knock-Back + + Model + + particle/bullet/bullet_autogun.dat + + Color + Hot Red + Scale + Small + + + Offset + 1.1, -0.1 + Speed + 14.0 + + + + + + Bullet/Handgun/Fiery Pepperbox (Charged) + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.3 + Bullet Shape + + 0.2 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 8.0 + 2 + false + + + + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Medium + color + yellow + + + Fuse + 400 + Height + 1.1 + Knock-Back + + -0.75, 0.0 + 150 + 2 + + Model + + particle/bullet/bullet_autogun.dat + + Color + Hot Red + Scale + Medium + + + Offset + 1.1, -0.1 + Speed + 14.0 + + + + + + Bullet/Handgun/FrostGun + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.4 + Bullet Shape + + 0.1 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 16.0 + 2 + false + + + 2 + + Freeze + + Chance + 0.05 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + blue + + + Fuse + 600 + Height + 1.1 + Knock-Back + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.12 + Core Min + 0.06 + Element + Simple + Flare + false + color + frost + + + Offset + 0.85, -0.1 + Speed + 12.0 + + + + + + Bullet/Handgun/FrostGun (Charged) + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.75 + Bullet Shape + + 0.35 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 45.0 + 2 + false + + + 2 + + Freeze + + Chance + 0.35 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Medium + color + blue + + + Fuse + 650 + Height + 1.1 + Knock-Back + + 3.0, 0.0 + 300 + 4 + + Model + + particle/bullet/bullet_cryotech_charged.dat + + Offset + 0.85, -0.1 + Speed + 12.0 + + + + + + Bullet/Handgun/Iron Slug + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/magnus/model.dat + + Variant + Hot + + + + model/scripted/transient_sound_offset.dat + + Loop Duration + 0.0 + Sound Offset + + 0.0, 0.6, 0.0 + + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Lower 4 + Range + Longer 1 + + + Transform + + + Transient + + particle/bullet/magnus/hit.dat + + Variant + Hot + + + + + + + 0.2 + + 512 + 137 + 25.0 + true + 1.1 + 1.1, -0.1 + 250 + + + + + 40.0 + 2 + + + 2 + + Stun + + Chance + 0.1 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Bullet/Handgun/Iron Slug (Charged) + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/magnus/model_charged.dat + + Variant + Hot + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Lower 5 + Range + Long + + + Transform + + + Transient + + particle/bullet/magnus/hit_charged.dat + + Spark Count + 6 + Variant + Hot + + + + + + + 0.45 + + 512 + 137 + 15.0 + true + 1.1 + 1.1, -0.1 + 500 + + + + + 80.0 + 2 + true + + + 2 + + Stun + + Chance + 0.75 + Power + 90 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + -3.0, 0.0 + 150 + 2 + + + + + + Bullet/Handgun/Magnus + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/magnus/model.dat + + Variant + Hot + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 0.75 + Pitch + Lower 3 + Range + Longer 1 + + + Transform + + + Transient + + particle/bullet/magnus/hit.dat + + Variant + Hot + + + + + + + 0.2 + + 512 + 137 + 25.0 + true + 1.1 + 1.1, -0.1 + 250 + + + + + 30.0 + 2 + + + 2 + + Stun + + Chance + 0.1 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Bullet/Handgun/Magnus (Charged) + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/magnus/model_charged.dat + + Variant + Hot + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Lower 4 + Range + Long + + + Transform + + + Transient + + particle/bullet/magnus/hit_charged.dat + + Spark Count + 6 + Variant + Hot + + + + + + + 0.45 + + 512 + 137 + 15.0 + true + 1.1 + 1.1, -0.1 + 500 + + + + + 65.0 + 2 + true + + + 2 + + Stun + + Chance + 0.65 + Power + 45 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + -3.0, 0.0 + 150 + 2 + + + + + + Bullet/Handgun/Mega Magnus + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/magnus/model.dat + + Variant + Hot + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 0.75 + Pitch + Lower 3 + Range + Longer 1 + + + Transform + + + Transient + + particle/bullet/magnus/hit.dat + + Variant + Hot + + + + + + + 0.2 + + 512 + 137 + 25.0 + true + 1.1 + 1.1, -0.1 + 250 + + + + + 35.0 + 2 + + + 2 + + Stun + + Chance + 0.1 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Bullet/Handgun/Mega Magnus (Charged) + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/magnus/model_charged.dat + + Variant + Hot + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Lower 4 + Range + Long + + + Transform + + + Transient + + particle/bullet/magnus/hit_charged.dat + + Spark Count + 6 + Variant + Hot + + + + + + + 0.45 + + 512 + 137 + 15.0 + true + 1.1 + 1.1, -0.1 + 500 + + + + + 70.0 + 2 + true + + + 2 + + Stun + + Chance + 0.7 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + -3.0, 0.0 + 150 + 2 + + + + + + Bullet/Handgun/Needle Shot + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/bullet_piercing.dat + + Element + Simple + color + green + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Higher 1 + Range + Longer 1 + + + Transform + + 0.75 + + Transient + + particle/bullet/hit_shard.dat + + Color + Base (aqua) + + + + + + + 0.1 + + 512 + 137 + 25.0 + true + 1.1 + 1.1, -0.1 + 300 + + + + + 15.0 + 2 + + + + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + + Model + implementation.sprite.model + + + Destruction Transient + implementation.sprite.destruction_transient["Transient"] + + + Destruction Sound + implementation.sprite.destruction_transient["Sounder"]["File"] + + + Damage + implementation.detonation_action.actions[0].damage + + + Child + implementation.detonation_action.actions[1].actor, implementation.detonation_action.actions[2].actor + + + Child 2 + implementation.detonation_action.actions[3].actor, implementation.detonation_action.actions[4].actor + + + Extra Action + implementation.detonation_action.actions[5] + + + + + + particle/bullet/bullet_firotech_charged.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/gravidos_explosion.ogg + Gain + 0.75 + Range + Medium + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Large + color + yellow + + + + + + + 0.25 + + 512 + 137 + 15.0 + true + 1.1 + 0.85, 0.0 + 600 + + + + + 1.0 + 2 + + + + + + + + + + + + + + + + + + Bullet/Handgun/Parts/Alchemical/Base/Primary + + + + Offset + + + Offset + implementation.offset + + + + + + Primary + + Offset + 0.85, -0.1 + + + + + Secondary + + Offset + 0.255, 0.0 + + + + Primary + + + Model + implementation.sprite.model + + + Destruction Transient + implementation.sprite.destruction_transient["Transient"] + + + Destruction Sound + implementation.sprite.destruction_transient["Sounder"]["File"] + + + Damage + implementation.detonation_action.actions[0].damage + + + Child Bound + implementation.detonation_action.actions[1].actor + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.25 + Core Min + 0.15 + Element + Fire + Flare + false + color + yellow + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/gravidos_explosion.ogg + Gain + 0.5 + Range + Medium + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Medium + color + yellow + + + + + + + 0.25 + + + + + + + + 512 + 137 + 12.5 + true + 1.1 + 0.85, -0.1 + 5000 + + + + + 1.0 + 2 + + + + + + + + + + Bullet/Handgun/Parts/Alchemical/Base/Secondary + + + Model + implementation.sprite.model + + + Destruction Transient + implementation.sprite.destruction_transient["Transient"] + + + Destruction Sound + implementation.sprite.destruction_transient["Sounder"]["File"] + + + Damage + implementation.detonation_action.actions[0].damage + + + Child Bound + implementation.detonation_action.actions[1].actor + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.2 + Core Min + 0.1 + Element + Fire + Flare + false + color + purple + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/gravidos_explosion.ogg + Gain + 0.3 + Range + Medium + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Medium + color + purple + + + + + + + 0.2 + + + + + + + + 512 + 137 + 10.0 + true + 1.1 + 0.75, 0.0 + 5000 + + + + + 1.0 + 2 + + + + + + + + + + Bullet/Handgun/Parts/Alchemical/Base/Tirtiary + + + Model + implementation.sprite.model + + + Destruction Transient + implementation.sprite.destruction_transient["Transient"] + + + Destruction Sound + implementation.sprite.destruction_transient["Sounder"]["File"] + + + Damage + implementation.detonation_action.actions[0].damage + + + Collision + implementation.collision_mask + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.15 + Core Min + 0.075 + Element + Fire + Flare + false + color + yellow + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/gravidos_explosion.ogg + Gain + 0.2 + Range + Medium + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Medium + color + yellow + + + + + + + 0.15 + + 512 + 137 + 7.5 + true + 1.1 + 0.75, 0.0 + 800 + + + + + 1.0 + 2 + + + + + + + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Charged + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Primary + + Damage + + + + 30.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 1) + + + + 20.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 2) + + + + 10.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + 2 + + Freeze + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/cryotech_charge_bolt_bounce.ogg + Destruction Transient + + particle/bullet/hit_shard.dat + + Color + Frost + + + Extra Action + + + Model + + particle/bullet/bullet_cryotech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Charged MKI + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Tirtiary + + Damage + + + + 10.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + 2 + + Freeze + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/cryotech_charge_bolt_bounce.ogg + Destruction Transient + + particle/bullet/hit_shard.dat + + Color + Frost + + + Extra Action + + + Model + + particle/bullet/bullet_cryotech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Charged MKII + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Secondary + + Damage + + + + 20.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 1) + + + + 10.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + 2 + + Freeze + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/cryotech_charge_bolt_bounce.ogg + Destruction Transient + + particle/bullet/hit_shard.dat + + Color + Frost + + + Extra Action + + + Model + + particle/bullet/bullet_cryotech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Charged MKIII + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + Damage (Split 3) + implementation.actor["Child"]["Damage (Split 2)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Primary + + Damage + + + + 30.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 1) + + + + 20.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 2) + + + + 10.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + 2 + + Freeze + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/cryotech_charge_bolt_bounce.ogg + Destruction Transient + + particle/bullet/hit_shard.dat + + Color + Frost + + + Extra Action + + + Model + + particle/bullet/bullet_cryotech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Charged MKIV + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + Damage (Split 3) + implementation.actor["Child 2"]["Damage"], implementation.actor["Child"]["Damage (Split 2)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Primary + + Damage + + + + 30.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 1) + + + + 20.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 2) + + + + 10.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Child 2 + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Tirtiary + + Damage + + + + 10.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Damage + + + + 40.0 + 2 + + + 2 + + Freeze + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/cryotech_charge_bolt_bounce.ogg + Destruction Transient + + particle/bullet/hit_shard.dat + + Color + Frost + + + Extra Action + + + Model + + particle/bullet/bullet_cryotech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Primary + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child Bound"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child Bound"]["Damage (Split 1)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Primary + + Child Bound + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Secondary + + Damage + + + + 20.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 1) + + + + 10.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Damage + + + + 30.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/cryotech_bolt_dissipate.ogg + Destruction Transient + + particle/bullet/hit_shard.dat + + Color + Frost + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.2 + Core Min + 0.1 + Element + Frost + Flare + false + color + frost + + + Offset + Primary + + + + + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Secondary + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child Bound"]["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Secondary + + Child Bound + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Tirtiary + + Damage + + + + 10.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Damage + + + + 20.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/cryotech_bolt_dissipate.ogg + Destruction Transient + + particle/bullet/hit_shard.dat + + Color + Frost + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.1 + Core Min + 0.05 + Element + Frost + Flare + false + color + frost + + + + + + + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Tirtiary + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Tirtiary + + Collision + 137 + Damage + + + + 10.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/cryotech_bolt_dissipate.ogg + Destruction Transient + + particle/bullet/hit_shard.dat + + Color + Frost + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.075 + Core Min + 0.025 + Element + Frost + Flare + false + color + frost + + + + + + + + Bullet/Handgun/Parts/Alchemical/Firotech/Charged + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Firotech/Primary + + Damage + + + + 30.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + Damage (Split 1) + + + + 20.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + Damage (Split 2) + + + + 10.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + 2 + + Fire + + Chance + 0.2 + Power + 20 + + + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Large + color + yellow + + + Model + + particle/bullet/bullet_firotech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Firotech/Charged MKI + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Firotech/Tirtiary + + Damage + + + + 10.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + 2 + + Fire + + Chance + 0.2 + Power + 20 + + + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Large + color + yellow + + + Model + + particle/bullet/bullet_firotech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Firotech/Charged MKII + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Firotech/Secondary + + Damage + + + + 20.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + Damage (Split 1) + + + + 10.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + 2 + + Fire + + Chance + 0.2 + Power + 20 + + + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Large + color + yellow + + + Model + + particle/bullet/bullet_firotech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Firotech/Charged MKIII + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + Damage (Split 3) + implementation.actor["Child"]["Damage (Split 2)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Firotech/Primary + + Damage + + + + 30.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + Damage (Split 1) + + + + 20.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + Damage (Split 2) + + + + 10.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + 2 + + Fire + + Chance + 0.2 + Power + 20 + + + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Large + color + yellow + + + Model + + particle/bullet/bullet_firotech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Firotech/Charged MKIV + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + Damage (Split 3) + implementation.actor["Child 2"]["Damage"], implementation.actor["Child"]["Damage (Split 2)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Firotech/Primary + + Damage + + + + 30.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + Damage (Split 1) + + + + 20.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + Damage (Split 2) + + + + 10.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + + + Child 2 + + Bullet/Handgun/Parts/Alchemical/Firotech/Tirtiary + + Damage + + + + 10.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + + + Damage + + + + 40.0 + 2 + + + 2 + + Fire + + Chance + 0.2 + Power + 20 + + + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Large + color + yellow + + + Model + + particle/bullet/bullet_firotech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Firotech/Primary + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child Bound"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child Bound"]["Damage (Split 1)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Primary + + Child Bound + + Bullet/Handgun/Parts/Alchemical/Firotech/Secondary + + Damage + + + + 20.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + Damage (Split 1) + + + + 10.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + + + Damage + + + + 30.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Medium + color + yellow + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.25 + Core Min + 0.15 + Element + Fire + Flare + false + color + yellow + + + Offset + Primary + + + + + + Bullet/Handgun/Parts/Alchemical/Firotech/Secondary + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child Bound"]["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Secondary + + Child Bound + + Bullet/Handgun/Parts/Alchemical/Firotech/Tirtiary + + Damage + + + + 10.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + + + Damage + + + + 20.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Medium + color + yellow + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.2 + Core Min + 0.1 + Element + Fire + Flare + false + color + yellow + + + + + + + + Bullet/Handgun/Parts/Alchemical/Firotech/Tirtiary + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Tirtiary + + Collision + 137 + Damage + + + + 10.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Medium + color + yellow + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.15 + Core Min + 0.075 + Element + Fire + Flare + false + color + yellow + + + + + + + + Bullet/Handgun/Parts/Alchemical/Prismatech/Charged + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Prismatech/Primary + + Damage + + + + 20.0 + 2 + + + + Damage (Split 1) + + + + 10.0 + 2 + + + + Damage (Split 2) + + + + 5.0 + 2 + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Large + color + silver + + + Extra Action + + + Model + + particle/bullet/bullet_prismatech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Prismatech/Charged MKI + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Prismatech/Tirtiary + + Damage + + + + 10.0 + 2 + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Large + color + silver + + + Extra Action + + + Model + + particle/bullet/bullet_prismatech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Prismatech/Charged MKII + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Prismatech/Secondary + + Damage + + + + 20.0 + 2 + + + + Damage (Split 1) + + + + 10.0 + 2 + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Large + color + silver + + + Extra Action + + + Model + + particle/bullet/bullet_prismatech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Prismatech/Charged MKIII + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + Damage (Split 3) + implementation.actor["Child"]["Damage (Split 2)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Prismatech/Primary + + Damage + + + + 20.0 + 2 + + + + Damage (Split 1) + + + + 10.0 + 2 + + + + Damage (Split 2) + + + + 5.0 + 2 + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Large + color + silver + + + Extra Action + + + Model + + particle/bullet/bullet_prismatech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Prismatech/Charged MKIV + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + Damage (Split 3) + implementation.actor["Child"]["Damage (Split 2)"], implementation.actor["Child 2"]["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Prismatech/Primary + + Damage + + + + 20.0 + 2 + + + + Damage (Split 1) + + + + 10.0 + 2 + + + + Damage (Split 2) + + + + 5.0 + 2 + + + + + + Child 2 + + Bullet/Handgun/Parts/Alchemical/Prismatech/Tirtiary + + Damage + + + + 10.0 + 2 + + + + + + Damage + + + + 40.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Large + color + silver + + + Extra Action + + + Model + + particle/bullet/bullet_prismatech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Prismatech/Primary + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child Bound"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child Bound"]["Damage (Split 1)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Primary + + Child Bound + + Bullet/Handgun/Parts/Alchemical/Prismatech/Secondary + + Damage + + + + 10.0 + 2 + + + + Damage (Split 1) + + + + 10.0 + 2 + + + + + + Damage + + + + 20.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Medium + color + silver + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/get_hit.png + Core Max + 0.3 + Core Min + 0.2 + Element + Sparkles + Flare + false + color + rainbow + + + Offset + Primary + + + + + + Bullet/Handgun/Parts/Alchemical/Prismatech/Secondary + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child Bound"]["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Secondary + + Child Bound + + Bullet/Handgun/Parts/Alchemical/Prismatech/Tirtiary + + Damage + + + + 10.0 + 2 + + + + + + Damage + + + + 20.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Medium + color + silver + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/get_hit.png + Core Max + 0.25 + Core Min + 0.15 + Element + Sparkles + Flare + false + color + rainbow + + + + + + + + Bullet/Handgun/Parts/Alchemical/Prismatech/Tirtiary + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Tirtiary + + Collision + 137 + Damage + + + + 10.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Medium + color + silver + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/get_hit.png + Core Max + 0.2 + Core Min + 0.1 + Element + Sparkles + Flare + false + color + rainbow + + + + + + + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Charged + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Primary + + Damage + + + + 15.0 + 2 + + + 15.0 + 2 + + + + Damage (Split 1) + + + + 10.0 + 2 + + + 10.0 + 2 + + + + Damage (Split 2) + + + + 5.0 + 2 + + + 5.0 + 2 + + + + + + Child 2 + + Damage + + + + 20.0 + 2 + + + 20.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Large + color + purple + + + Extra Action + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.4 + Core Min + 0.3 + Element + Simple + Flare + false + color + purple + + + + + + + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Charged MKI + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Tirtiary + + Damage + + + + 5.0 + 2 + + + 5.0 + 2 + + + + + + Child 2 + + Damage + + + + 20.0 + 2 + + + 20.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Large + color + purple + + + Extra Action + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.4 + Core Min + 0.3 + Element + Simple + Flare + false + color + purple + + + + + + + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Charged MKII + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Secondary + + Damage + + + + 10.0 + 2 + + + 10.0 + 2 + + + + Damage (Split 1) + + + + 5.0 + 2 + + + 5.0 + 2 + + + + + + Child 2 + + Damage + + + + 20.0 + 2 + + + 20.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Large + color + purple + + + Extra Action + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.4 + Core Min + 0.3 + Element + Simple + Flare + false + color + purple + + + + + + + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Charged MKIII + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + Damage (Split 3) + implementation.actor["Child"]["Damage (Split 2)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Primary + + Damage + + + + 15.0 + 2 + + + 15.0 + 2 + + + + Damage (Split 1) + + + + 10.0 + 2 + + + 10.0 + 2 + + + + Damage (Split 2) + + + + 5.0 + 2 + + + 5.0 + 2 + + + + + + Child 2 + + Damage + + + + 20.0 + 2 + + + 20.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Large + color + purple + + + Extra Action + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.4 + Core Min + 0.3 + Element + Simple + Flare + false + color + purple + + + + + + + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Charged MKIV + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + Damage (Split 3) + implementation.actor["Child"]["Damage (Split 2)"], implementation.actor["Child 2"]["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Primary + + Damage + + + + 15.0 + 2 + + + 15.0 + 2 + + + + Damage (Split 1) + + + + 10.0 + 2 + + + 10.0 + 2 + + + + Damage (Split 2) + + + + 5.0 + 2 + + + 5.0 + 2 + + + + + + Child 2 + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Tirtiary + + Damage + + + + 5.0 + 2 + + + 5.0 + 2 + + + + + + Damage + + + + 20.0 + 2 + + + 20.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Large + color + purple + + + Extra Action + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.4 + Core Min + 0.3 + Element + Simple + Flare + false + color + purple + + + + + + + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Primary + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child Bound"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child Bound"]["Damage (Split 1)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Primary + + Child Bound + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Secondary + + Damage + + + + 10.0 + 2 + + + 10.0 + 2 + + + + Damage (Split 1) + + + + 5.0 + 2 + + + 5.0 + 2 + + + + + + Damage + + + + 15.0 + 2 + + + 15.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Medium + color + purple + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.25 + Core Min + 0.15 + Element + Simple + Flare + false + color + purple + + + Offset + Primary + + + + + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Secondary + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child Bound"]["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Secondary + + Child Bound + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Tirtiary + + Damage + + + + 5.0 + 2 + + + 5.0 + 2 + + + + + + Damage + + + + 10.0 + 2 + + + 10.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Medium + color + purple + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.2 + Core Min + 0.1 + Element + Simple + Flare + false + color + purple + + + + + + + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Tirtiary + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Tirtiary + + Collision + 137 + Damage + + + + 5.0 + 2 + + + 5.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Medium + color + purple + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.15 + Core Min + 0.075 + Element + Simple + Flare + false + color + purple + + + + + + + + Bullet/Handgun/Parts/Alchemical/Voltech/Charged + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Voltech/Primary + + Damage + + + + 30.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 1) + + + + 20.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 2) + + + + 10.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + 2 + + Shock + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/voltech_charge_spark_bounce.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Electric + Flare + Positive + Scale + Large + color + cyan + + + Extra Action + + + Model + + particle/bullet/bullet_voltech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Voltech/Charged MKI + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Voltech/Tirtiary + + Damage + + + + 10.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + 2 + + Shock + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/voltech_charge_spark_bounce.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Electric + Flare + Positive + Scale + Large + color + cyan + + + Extra Action + + + Model + + particle/bullet/bullet_voltech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Voltech/Charged MKII + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Voltech/Secondary + + Damage + + + + 20.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 1) + + + + 10.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + 2 + + Shock + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/voltech_charge_spark_bounce.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Electric + Flare + Positive + Scale + Large + color + cyan + + + Extra Action + + + Model + + particle/bullet/bullet_voltech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Voltech/Charged MKIII + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + Damage (Split 3) + implementation.actor["Child"]["Damage (Split 2)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Voltech/Primary + + Damage + + + + 30.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 1) + + + + 20.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 2) + + + + 10.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + 2 + + Shock + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/voltech_charge_spark_bounce.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Electric + Flare + Positive + Scale + Large + color + cyan + + + Extra Action + + + Model + + particle/bullet/bullet_voltech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Voltech/Charged MKIV + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + Damage (Split 3) + implementation.actor["Child"]["Damage (Split 2)"], implementation.actor["Child 2"]["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Voltech/Primary + + Damage + + + + 30.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 1) + + + + 20.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 2) + + + + 10.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Child 2 + + Bullet/Handgun/Parts/Alchemical/Voltech/Tirtiary + + Damage + + + + 10.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Damage + + + + 40.0 + 2 + + + 2 + + Shock + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/voltech_charge_spark_bounce.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Electric + Flare + Positive + Scale + Large + color + cyan + + + Extra Action + + + Model + + particle/bullet/bullet_voltech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Voltech/Primary + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child Bound"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child Bound"]["Damage (Split 1)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Primary + + Child Bound + + Bullet/Handgun/Parts/Alchemical/Voltech/Secondary + + Damage + + + + 20.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 1) + + + + 10.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Damage + + + + 30.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/voltech_bolt_dissipate.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Electric + Flare + Positive + Scale + Medium + color + cyan + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.15 + Core Min + 0.01 + Element + Electric + Flare + false + color + cyan + + + Offset + Primary + + + + + + Bullet/Handgun/Parts/Alchemical/Voltech/Secondary + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child Bound"]["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Secondary + + Child Bound + + Bullet/Handgun/Parts/Alchemical/Voltech/Tirtiary + + Damage + + + + 10.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Damage + + + + 20.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/voltech_bolt_dissipate.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Electric + Flare + Positive + Scale + Medium + color + cyan + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.125 + Core Min + 0.01 + Element + Electric + Flare + false + color + cyan + + + + + + + + Bullet/Handgun/Parts/Alchemical/Voltech/Tirtiary + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Tirtiary + + Collision + 137 + Damage + + + + 10.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/voltech_bolt_dissipate.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Electric + Flare + Positive + Scale + Medium + color + cyan + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.1 + Core Min + 0.01 + Element + Electric + Flare + false + color + cyan + + + + + + + + Bullet/Handgun/Pepperbox + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.2 + Bullet Shape + + 0.1 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 8.0 + 2 + false + + + 2 + + + + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Small + color + red + + + Fuse + 400 + Height + 1.1 + Knock-Back + + Model + + particle/bullet/bullet_autogun.dat + + Color + Hot Red + Scale + Small + + + Offset + 1.1, -0.1 + Speed + 14.0 + + + + + + Bullet/Handgun/Pepperbox (Charged) + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.3 + Bullet Shape + + 0.2 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 1.0 + 2 + false + + + 2 + + + + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Medium + color + red + + + Fuse + 400 + Height + 1.1 + Knock-Back + + -0.75, 0.0 + 150 + 2 + + Model + + particle/bullet/bullet_autogun.dat + + Color + Hot Red + Scale + Medium + + + Offset + 1.1, -0.1 + Speed + 14.0 + + + + + + Bullet/Handgun/Proto + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.4 + Bullet Shape + + 0.1 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 12.0 + 2 + + + + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + green + + + Fuse + 600 + Height + 1.1 + Knock-Back + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.12 + Core Min + 0.06 + Element + Simple + Flare + false + color + green + + + Offset + 0.85, -0.1 + Speed + 12.0 + + + + + + Bullet/Handgun/Proto (Charged) + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.75 + Bullet Shape + + 0.35 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 35.0 + 2 + true + + + + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Medium + color + green + + + Fuse + 650 + Height + 1.1 + Knock-Back + + 3.0, 0.0 + 300 + 4 + + Model + + particle/bullet/bullet_proto_charged.dat + + Offset + 0.85, -0.1 + Speed + 12.0 + + + + + + Bullet/Handgun/Punch Gun + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/magnus/model.dat + + Variant + Hot + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 0.75 + Pitch + Lower 3 + Range + Longer 1 + + + Transform + + + Transient + + particle/bullet/magnus/hit.dat + + Variant + Hot + + + + + + + 0.2 + + 512 + 137 + 25.0 + true + 1.1 + 1.1, -0.1 + 250 + + + 30.0 + 2 + + + + + + Bullet/Handgun/Punch Gun (Charged) + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/magnus/model_charged.dat + + Variant + Hot + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Lower 4 + Range + Long + + + Transform + + + Transient + + particle/bullet/magnus/hit_charged.dat + + Spark Count + 6 + Variant + Hot + + + + + + + 0.45 + + 512 + 137 + 15.0 + true + 1.1 + 1.1, -0.1 + 750 + + + + + 65.0 + 2 + true + + + 2 + + Stun + + Chance + 0.65 + Power + 45 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + -3.0, 0.0 + 150 + 2 + + + + + + Bullet/Handgun/Sentenza + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/bullet_piercing.dat + + Element + Simple + color + purple + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Default + Range + Default + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + purple + + + + + + + 0.1 + + 512 + 137 + 25.0 + true + 1.1 + 1.1, -0.1 + 300 + + + + + 15.0 + 2 + + + 15.0 + 2 + + + + + + + + Bullet/Handgun/Sentenza (Charged) + + + Damage + implementation.handlers[0].action.damage, implementation.detonation_action.damage + + + + + + particle/mesh/silversix_eagle/model_eagle.dat + + Variant + Shadow + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Lower 1 + Range + Default + + + Transform + + 1.25 + 0.0, 0.0, 1.0 + + Transient + + particle/bullet/magnus/hit_charged.dat + + Spark Count + 6 + Variant + Lost + + + + + + + 2.0 + + + + + + + + 15.0 + 2 + + + 15.0 + 2 + + + + + 1.5, 0.0 + 150 + 2 + + + + + 512 + 129 + 8.0 + true + 0.05 + 1.2, -0.1 + 1000 + + + + + 15.0 + 2 + + + 15.0 + 2 + + + + + 3.0, 0.0 + 300 + 2 + + + + + + Bullet/Handgun/Silversix + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/bullet_piercing.dat + + Element + Simple + color + silver + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Default + Range + Medium + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + silver + + + + + + + 0.1 + + 512 + 137 + 25.0 + true + 1.1 + 1.1, -0.1 + 300 + + + + + 10.0 + 2 + + + 10.0 + 2 + + + + + + + + Bullet/Handgun/Silversix (Charged) + + + Damage + implementation.detonation_action.damage, implementation.handlers[0].action.damage + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + particle/bullet/magnus/model_charged.dat + + Variant + Silver + + + + 0.5 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Lower 1 + Range + Default + + + Transform + + 0.5 + + Transient + + particle/bullet/magnus/hit_charged.dat + + Spark Count + 6 + Variant + Hot + + + + + + + 2.0 + + + + + + + + 20.0 + 2 + + + + + 1.5, 0.0 + 150 + 2 + + + + + 512 + 129 + 10.0 + true + 1.1 + 1.2, -0.1 + 850 + + + + + 10.0 + 2 + + + 10.0 + 2 + + + + + 3.0, 0.0 + 300 + 2 + + + + + + Bullet/Handgun/Strike Needle + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/bullet_piercing.dat + + Element + Simple + color + green + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Higher 2 + Range + Longer 1 + + + Transform + + 0.75 + + Transient + + particle/bullet/hit_shard.dat + + Color + Base (aqua) + + + + + + + 0.1 + + 512 + 137 + 25.0 + true + 1.1 + 1.1, -0.1 + 300 + + + + + 15.0 + 2 + + + + + + + + Bullet/Handgun/Stun Gun + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.4 + Bullet Shape + + 0.1 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 12.0 + 2 + + + 2 + + Stun + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + yellow + + + Fuse + 600 + Height + 1.1 + Knock-Back + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.12 + Core Min + 0.06 + Element + Simple + Flare + false + color + yellow + + + Offset + 0.85, -0.1 + Speed + 12.0 + + + + + + Bullet/Handgun/Stun Gun (Charged) + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.75 + Bullet Shape + + 0.35 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 20.0 + 2 + + + 2 + + Stun + + Chance + 0.3 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Medium + color + yellow + + + Fuse + 650 + Height + 1.1 + Knock-Back + + 3.0, 0.0 + 300 + 4 + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/debuff_stunstar.png + Core Max + 0.4 + Core Min + 0.3 + Element + Simple + Flare + true + color + yellow + + + Offset + 0.85, -0.1 + Speed + 12.0 + + + + + + Bullet/Handgun/Valiance + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.6 + Bullet Shape + + 0.175 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 25.0 + 2 + + + + Destruction Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/weapon/gran_faust_chit.ogg + Gain + 0.6 + Pitch + 1.4 + Range + Short + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + cyan + + + + + Fuse + 450 + Height + 1.1 + Knock-Back + + 1.0, 0.0 + 200 + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.3 + Core Min + 0.2 + Element + Simple + Flare + false + color + cyan + + + Offset + 0.85, -0.1 + Speed + 16.0 + + + + + + Bullet/Handgun/Valiance (Charged) + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 1.0 + Bullet Shape + + 0.5 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 75.0 + 2 + true + + + + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Large + color + cyan + + + Fuse + 450 + Height + 1.1 + Knock-Back + + 6.0, 0.0 + 600 + 5 + + Model + + particle/bullet/bullet_blaster_charged.dat + + Offset + 0.85, -0.1 + Speed + 16.0 + + + + + + Bullet/Handgun/Volcanic Pepperbox + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.2 + Bullet Shape + + 0.1 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 8.0 + 2 + false + + + 2 + + + + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Medium + color + red + + + Fuse + 300 + Height + 1.1 + Knock-Back + + Model + + particle/bullet/bullet_autogun.dat + + Color + Hot Red + Scale + Medium + + + Offset + 1.1, -0.1 + Speed + 18.0 + + + + + + Bullet/Handgun/Volcanic Pepperbox (Charged) + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.3 + Bullet Shape + + 0.2 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 1.0 + 2 + false + + + 2 + + + + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Large + color + red + + + Fuse + 300 + Height + 1.1 + Knock-Back + + -0.75, 0.0 + 150 + 2 + + Model + + particle/bullet/bullet_autogun.dat + + Color + Hot Red + Scale + Large + + + Offset + 1.1, -0.1 + Speed + 18.0 + + + + + + Bullet/Monster/Black Kat Bullet + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.4 + Core Min + 0.3 + Element + Simple + Flare + true + color + purple + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/gran_faust_chit.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Medium + color + purple + + + + + + + 0.2 + + 0 + 133 + 2.0 + true + 1.0 + 0.7, 0.0 + 6000 + + + + + 80.0 + 4 + + + 4 + + Curse + + Chance + 0.25 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Bullet/Monster/Bloogato Snowball + + + Status Condition + implementation.detonation_action.damage.damages[1].status_condition + + + + + + particle/bullet/bullet_frost.dat + + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Large + color + blue + + + + + 0.16 + + 0 + 133 + 2.5 + true + 1.0 + 0.7, 0.0 + 5000 + + + + + + Monster/Damage/Attack Base + + 4 + SHADOW + + Monster/Split/Split - Full + + + + 4 + + Freeze + + Chance + 0.333333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Bullet/Monster/Chromalisk/Electrolisk Globule + + + Status Damage + implementation.actor["Puddle"]["Status Damage"] + + + + + Bullet/Monster/Chromalisk/Globule (base) + + Puddle + + Bomb/Monster/Chromalisk/Spew Puddle (base) + + FX Attachment + + particle/debuff_shock-idle.dat + + Shadow + false + + + FX Transform + + 0.0, 0.0, -0.5 + + Fuse + 2400 + Particle Color + Electrolisk + Status Damage + + Texture + particle/texture/chroma_glob_shock.png + + + Status Signal + status_shock + Texture + particle/texture/chroma_glob_shock.png + + + + + + Bullet/Monster/Chromalisk/Globule (base) + + + Texture + implementation.sprite.model["Texture"] + + + Puddle + implementation.detonation_action.actions[1].actor + + + Status Signal + implementation.detonation_action.actions[2].name + + + + + + particle/bullet/bullet_chroma_glob.dat + + Texture + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/jelly_death.ogg + Gain + 0.8 + Pitch + 0.9 + Range + Medium + + + Transform + + + Transient + + + + + + 0.16 + + 0 + 135 + true + 0.5 + 1.0, 0.0 + 550 + + + + + + Monster/Damage/Attack Base + + 4 + + + + + + + + + + Bullet/Monster/Chromalisk/Salamander Globule + + + Status Damage + implementation.actor["Puddle"]["Status Damage"] + + + + + Bullet/Monster/Chromalisk/Globule (base) + + Puddle + + Bomb/Monster/Chromalisk/Spew Puddle (base) + + FX Attachment + + particle/fx_fire_torch.dat + + Color + Fire Orange + Lifespan + 2 seconds + + + FX Transform + + 0.0, 0.0, -0.5 + + Fuse + 2400 + Particle Color + Salamander + Status Damage + + Texture + particle/texture/chroma_glob_fire.png + + + Status Signal + status_fire + Texture + particle/texture/chroma_glob_fire.png + + + + + + Bullet/Monster/Chromalisk/Tundralisk Globule + + + Status Damage + implementation.actor["Puddle"]["Status Damage"] + + + + + Bullet/Monster/Chromalisk/Globule (base) + + Puddle + + Bomb/Monster/Chromalisk/Spew Puddle (base) + + FX Attachment + + particle/debuff_freeze.dat + + FX Transform + + 0.0, 0.0, -0.25 + + Fuse + 2400 + Particle Color + Tundralisk + Status Damage + + Texture + particle/texture/chroma_glob_ice.png + + + Status Signal + status_freeze + Texture + particle/texture/chroma_glob_ice.png + + + + + + Bullet/Monster/Chromalisk/Virulisk Globule + + + Status Damage + implementation.actor["Puddle"]["Status Damage"] + + + + + Bullet/Monster/Chromalisk/Globule (base) + + Puddle + + Bomb/Monster/Chromalisk/Spew Puddle (base) + + FX Attachment + + character/npc/monster/lichen/ambient_toxigel.dat + + FX Transform + + 0.0, 0.0, 0.5 + + Fuse + 2400 + Particle Color + Virulisk + Status Damage + + Texture + particle/texture/chroma_glob_poison.png + + + Status Signal + status_poison + Texture + particle/texture/chroma_glob_poison.png + + + + + + Bullet/Monster/Demo Throw + + + Fuse + implementation.fuse + + + + Tier + + + Color + implementation.sprite.model["Color"] + + + Tier + implementation.detonation_action.actions[0].actor["Tier"] + + + + + + 1 + + Color + Green + Tier + 1 + + + + + 2 + + Color + Orange + Tier + 2 + + + + + 3 + + Color + Purple + Tier + 3 + + + + 1 + + + + + + item/weapon/npc/mine_windup/thrown.dat + + Color + Orange + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + + Gain + 1.0 + Pitch + 1.3 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Generic Projectile Bonk + + Sound - Pitch + Higher 2 + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Medium + color + ivory + + + + + + + 0.1 + + 0 + 135 + 8.0 + true + 0.8 + 1.5, 0.0 + 1000 + + + + + Bomb/Monster/Demo Mine (Drop) + + Tier + 1 + + + + + + + + 4 + + Stun + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + Bullet/Monster/Demo Throw (Scatter) + + + Fuse + implementation.fuse + + + + Tier + + + Color + implementation.sprite.model["Models"][0].model["Color"], implementation.sprite.model["Models"][1].model["Color"], implementation.sprite.model["Models"][2].model["Color"], implementation.sprite.model["Models"][3].model["Color"] + + + Tier + implementation.detonation_action.actions[0].actions[3].actor["Tier"], implementation.detonation_action.actions[0].actions[2].actor["Tier"], implementation.detonation_action.actions[0].actions[1].actor["Tier"], implementation.detonation_action.actions[0].actions[0].actor["Tier"] + + + + + + 1 + + Color + Green + Tier + 1 + + + + + 2 + + Color + Orange + Tier + 2 + + + + + 3 + + Color + Purple + Tier + 3 + + + + 1 + + + + + + model/compound/model.dat + + Influences + + false + false + false + + Models + + + + item/weapon/npc/mine_windup/thrown.dat + + Color + Orange + + + + 0.1, -0.025, 0.0 + + + + + item/weapon/npc/mine_windup/thrown.dat + + Color + Orange + + + + -0.08, -0.05, -0.1 + 0.0, 0.0, -0.38268346, 0.9238795 + + + + + item/weapon/npc/mine_windup/thrown.dat + + Color + Orange + + + + 0.0, 0.1, 0.2 + 0.0, 0.0, 0.25881904, 0.9659258 + + + + + item/weapon/npc/mine_windup/thrown.dat + + Color + Orange + + + + 0.15, -0.25, 0.05 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + + Gain + 1.0 + Pitch + 1.3 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Generic Projectile Bonk + + Sound - Pitch + Higher 2 + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Medium + color + ivory + + + + + + + 0.1 + + 0 + 135 + 8.0 + true + 0.8 + 1.5, 0.0 + 1000 + + + + + + + Bomb/Monster/Demo Mine (Drop) + + Tier + 1 + + + + + + Bomb/Monster/Demo Mine (Drop) + + Tier + 1 + + + + + + Bomb/Monster/Demo Mine (Drop) + + Tier + 1 + + + + + + Bomb/Monster/Demo Mine (Drop) + + Tier + 1 + + + + + + + + + + 4 + false + + + 4 + + Stun + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + Bullet/Monster/Devilite Thrown/Weak/Electronics + + + Model + implementation.sprite.model["Variant"], implementation.sprite.destruction_transient["Transient"]["Model"]["Variant"] + + + Damage (Status) + implementation.detonation_action.actions[0].damage.damages[1].status_condition + + + + + + item/weapon/npc/devilite/bullet_electronics.dat + + Variant + 1 + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/player/player_throw.ogg + Gain + 1.0 + Pitch adjust + Higher 2 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Generic Projectile Bonk + + Sound - Pitch + Default + + + Transform + + + Transient + + item/weapon/npc/devilite/compound_bop.dat + + Fog + false + Model + + item/weapon/npc/devilite/bullet_electronics.dat + + Variant + 1 + + + Shatter + + particle/bullet/hit_pellet.dat + + Element + Electric + Flare + Negative + Scale + Small + color + cyan + + + + + + + + + 0.25 + + 0 + 133 + 11.0 + true + 1.15 + 0.25, -0.25 + 750 + + + + + + + + Monster/Damage/Attack Base -05 + + 4 + + + 4 + + Shock + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + Bullet/Monster/Devilite Thrown/Weak/Fireball + + + Damage (Status) + implementation.detonation_action.actions[0].damage.damages[1].status_condition + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.2 + Core Min + 0.1 + Element + Fire + Flare + false + color + yellow + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/player/player_throw.ogg + Gain + 1.0 + Pitch adjust + Higher 2 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bomb, Fizzle + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Negative + Scale + Small + color + yellow + + + + + + + 0.25 + + 0 + 133 + 11.0 + true + 1.15 + 0.25, -0.25 + 750 + + + + + + + + Monster/Damage/Attack Base -05 + + 4 + + + 4 + + Fire + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + Bullet/Monster/Devilite Thrown/Weak/Junk + + + Model + implementation.sprite.model["Variant"], implementation.sprite.destruction_transient["Transient"]["Model"]["Variant"] + + + Damage (Status) + implementation.detonation_action.actions[0].damage.damages[1].status_condition + + + + + + item/weapon/npc/devilite/bullet_junk.dat + + Variant + 1 + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/player/player_throw.ogg + Gain + 1.0 + Pitch adjust + Higher 2 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Higher 1 + + + Transform + + + Transient + + item/weapon/npc/devilite/compound_bop.dat + + Fog + false + Model + + item/weapon/npc/devilite/bullet_junk.dat + + Variant + 1 + + + Shatter + + particle/fx_potshatter.dat + + + + + + + + 0.25 + + 0 + 133 + 11.0 + true + 1.15 + 0.25, -0.25 + 750 + + + + + + + + Monster/Damage/Attack Base -05 + + 4 + + + 4 + + Poison + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + Bullet/Monster/Devilite Thrown/Weak/Office Suppies + + + Model + implementation.sprite.model["Variant"], implementation.sprite.destruction_transient["Transient"]["Model"]["Model"] + + + + + + item/weapon/npc/devilite/bullet_officesupplies.dat + + Variant + 1 + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/player/player_throw.ogg + Gain + 1.0 + Pitch adjust + Higher 2 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Generic Projectile Bonk + + Sound - Pitch + Default + + + Transform + + + Transient + + item/weapon/npc/devilite/compound_bop.dat + + Fog + false + Model + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Book + + + Shatter + + particle/fx_potshatter.dat + + + + + + + + 0.25 + + 0 + 133 + 11.0 + true + 1.15 + 0.25, -0.25 + 750 + + + + + + + + Monster/Damage/Attack Base -05 + + 4 + + + + + + + + + + Bullet/Monster/Devilite Thrown/Weak/Snowball + + + Damage (Status) + implementation.detonation_action.actions[0].damage.damages[1].status_condition + + + + + + item/weapon/npc/devilite/bullet_snowball.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/player/player_throw.ogg + Gain + 1.0 + Pitch adjust + Higher 2 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Generic Projectile Bonk + + Sound - Pitch + Default + + + Transform + + + Transient + + particle/bullet/hit_shard.dat + + Color + Frost + + + + + + + 0.25 + + 0 + 133 + 11.0 + true + 1.15 + 0.25, -0.25 + 750 + + + + + + + + Monster/Damage/Attack Base -05 + + 4 + + + 4 + + Freeze + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + Bullet/Monster/Devilite Thrown/Weapons/Axe + + + Damage (Status) + implementation.detonation_action.actions[0].damage.damages[1] + + + Variant + implementation.sprite.model["Variant"], implementation.sprite.destruction_transient["Transient"]["Model"]["Variant"] + + + + + + item/weapon/npc/devilite/bullet_axe.dat + + Variant + Fire + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/player/player_throw.ogg + Gain + 1.0 + Pitch adjust + Lower 2 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Generic Projectile Bonk + + Sound - Pitch + Default + + + Transform + + + Transient + + item/weapon/npc/devilite/compound_bop.dat + + Fog + true + Model + + item/weapon/npc/devilite/model_axe.dat + + Variant + Fire + + + Shatter + + particle/fx_potshatter.dat + + + + + + + + 0.25 + + 0 + 133 + 8.0 + true + 1.15 + 0.25, -0.25 + 800 + + + + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 4 + + + + + + + + + + Bullet/Monster/Devilite Thrown/Weapons/Pitchfork + + + Damage (Status) + implementation.detonation_action.actions[0].damage.damages[1] + + + Variant + implementation.sprite.model["Variant"], implementation.sprite.destruction_transient["Transient"]["Model"]["Variant"] + + + + + + item/weapon/npc/devilite/bullet_pitchfork.dat + + Variant + Fire + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/player/player_throw.ogg + Gain + 1.0 + Pitch adjust + Lower 2 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Generic Projectile Bonk + + Sound - Pitch + Default + + + Transform + + + Transient + + item/weapon/npc/devilite/compound_bop.dat + + Fog + true + Model + + item/weapon/npc/devilite/model_pitchfork.dat + + Variant + Fire + + + Shatter + + particle/fx_potshatter.dat + + + + + + + + 0.25 + + 0 + 133 + 9.0 + true + 1.15 + 0.25, -0.25 + 750 + + + + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 4 + + + + + + + + + + Bullet/Monster/DeviliteThrow + + + + Model + + + Model + implementation.sprite.model + + + Hitmodel + implementation.sprite.destruction_transient["Transient"]["Model"] + + + Smack + implementation.sprite.destruction_transient["Transient"]["Shatter"] + + + Detonation + implementation.detonation_action + + + Height + implementation.height + + + + + + Bomb + + Detonation + + + + + Character/NPC/Monster/Fiend/Devilite Throw - Bomb Damage + + + + + Bomb/Monster/Devilite Bomb + + + + + Height + 1.15 + Hitmodel + + Model + + item/weapon/npc/devilite/model_bomb.dat + + Smack + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Large + color + ivory + + + + + + + Pitchfork + + Detonation + + + + + Character/NPC/Monster/Fiend/Devilite Throw - Pitchfork Damage + + + + + Height + 1.15 + Hitmodel + + item/weapon/npc/devilite/model_pitchfork.dat + + Variant + Fire + + + Model + + item/weapon/npc/devilite/bullet_pitchfork.dat + + Variant + Fire + + + Smack + + particle/fx_potshatter_fire.dat + + + + + + Axe + + Detonation + + + + + Character/NPC/Monster/Fiend/Devilite Throw - Axe Damage + + + + + Height + 1.15 + Hitmodel + + item/weapon/npc/devilite/model_axe.dat + + Variant + Fire + + + Model + + item/weapon/npc/devilite/bullet_axe.dat + + Variant + Fire + + + Smack + + particle/fx_potshatter_fire.dat + + + + + Bomb + + + + + + item/weapon/bomb/blast/model.dat + + variant + angry + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + + Gain + 1.0 + Pitch + 1.3 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Generic Projectile Bonk + + Sound - Pitch + Default + + + Transform + + + Transient + + item/weapon/npc/devilite/compound_bop.dat + + Fog + true + Model + + item/weapon/npc/devilite/model_axe.dat + + Variant + Fire + + + Shatter + + particle/fx_potshatter_fire.dat + + + + + + + + 0.25 + + 0 + 133 + 9.0 + true + 1.15 + 0.25, -0.25 + 750 + + + + + + + 80.0 + 4 + + + 4 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + Bullet/Monster/DeviliteThrow (Weak) + + + + Model + + + Model + implementation.sprite.model + + + Hitmodel + implementation.sprite.destruction_transient["Transient"]["Model"] + + + Smack + implementation.sprite.destruction_transient["Transient"]["Shatter"] + + + Detonation + implementation.detonation_action + + + Height + implementation.height + + + + + + Chair + + + true + Detonation + + + + + Character/NPC/Monster/Fiend/Devilite Throw - Office Chair Damage + + + + + F + true + Fo + true + Fog + false + Height + 1.15 + Hitmodel + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Chair + + + Model + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Chair + + + Smack + + particle/fx_potshatter.dat + + + + + + Computer + + + true + Detonation + + + + + Character/NPC/Monster/Fiend/Devilite Throw - Office Equipment Damage + + + + + F + true + Fo + true + Fog + false + Height + 1.15 + Hitmodel + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Computer + + + Model + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Computer + + + Smack + + particle/fx_potshatter.dat + + + + + + Suitcase + + + true + Detonation + + + + + Character/NPC/Monster/Fiend/Devilite Throw - Office Equipment Damage + + + + + F + true + Fo + true + Fog + false + Height + 1.15 + Hitmodel + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Suitcase + + + Model + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Suitcase + + + Smack + + particle/fx_potshatter.dat + + + + + + Book + + + true + Detonation + + + + + Character/NPC/Monster/Fiend/Devilite Throw - Office Equipment Damage + + + + + F + true + Fo + true + Fog + false + Height + 1.15 + Hitmodel + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Book + + + Model + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Book + + + Smack + + particle/fx_potshatter.dat + + + + + + Stapler + + + true + Detonation + + + + + Character/NPC/Monster/Fiend/Devilite Throw - Office Equipment Damage + + + + + F + true + Fo + true + Fog + false + Height + 1.15 + Hitmodel + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Stapler + + + Model + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Stapler + + + Smack + + particle/fx_potshatter.dat + + + + + Bomb + + + + + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Chair + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + + Gain + 1.0 + Pitch + 1.3 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Generic Projectile Bonk + + Sound - Pitch + Default + + + Transform + + + Transient + + item/weapon/npc/devilite/compound_bop.dat + + Fog + false + Model + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Chair + + + Shatter + + particle/fx_potshatter_fire.dat + + + + + + + + 0.25 + + 0 + 133 + 11.0 + true + 1.15 + 0.25, -0.25 + 750 + + + + + + + + + + + + Bullet/Monster/FlameWall Chunk + + + Offset + implementation.offset + + + Damage + implementation.detonation_action.actor["Damage"] + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + particle/fx_fire_torch.dat + + Color + Hot Blue + Lifespan + 3 seconds + + + + 0.0, -0.5, -0.5 + -0.5, 0.0, 0.0, 0.8660254 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + + Transient + + + + + + 0.2 + + + + + + + + + + + + + + + + 4 + + Fire + + Chance + 0.5 + Power + 150 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + 0 + 195 + 4.0 + true + 0.1 + 1.0, 0.0 + 3000 + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 2 Seconds + Nature + Monster + + + + + + + Bullet/Monster/Flamethrower + + + + Length + + + Fuse + implementation.fuse + + + Lifetime + implementation.handlers[0].action.actions[0].actor["Lifetime"] + + + Sound + implementation.sprite.creation_transient["Sounder"]["File"] + + + Creation Life + implementation.sprite.model["Models"][0].model["Lifespan"], implementation.sprite.destruction_transient["Transient"]["Lifespan"] + + + + + + Short + + Creation Life + 1 second + Fuse + 300 + Lifetime + 1 Second + Sound + sound/effect/world/traps/trap_flame_2sec_01.ogg + + + + + Medium + + Creation Life + 1 second + Fuse + 500 + Lifetime + 2 Seconds + Sound + sound/effect/world/traps/trap_flame_2sec_01.ogg + + + + + Long + + Creation Life + 4 seconds + Fuse + 1000 + Lifetime + 4 Seconds + Sound + sound/effect/world/traps/trap_flame_3sec_01.ogg + + + + Medium + + + Offset + implementation.offset + + + Damage + implementation.handlers[0].action.actions[0].actor["Damage"] + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + particle/fx_fire_torch.dat + + Color + Hot Blue + Lifespan + 1 second + + + + 1.333 + 0.0, 1.0, -0.5 + -0.5, 0.0, 0.0, 0.8660254 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/traps/trap_flame_2sec_01.ogg + Gain + 1.0 + Pitch + 1.05 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + 1.6 + 0.0, -0.6, -0.2 + -0.38268346, 0.0, 0.0, 0.9238795 + + Transient + + particle/fx_fire_torch.dat + + Color + Hot Blue + Lifespan + 1 second + + + + + + + 0.2 + + + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 2 Seconds + Nature + Monster + + + + + + + + 0 + 195 + 20.0 + true + 0.1 + 1.0, 0.0 + 500 + + + + Bullet/Monster/Flamethrower (Bounder) + + + Offset + implementation.offset + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + particle/fx_fire_torch.dat + + Color + Dirty Yellow + Lifespan + 1 second + + + + 1.333 + 0.0, 1.0, -0.5 + -0.5, 0.0, 0.0, 0.8660254 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/traps/trap_flame_2sec_01.ogg + Gain + 1.0 + Pitch + 1.05 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + 1.5 + 0.0, -0.6, -0.2 + -0.38268346, 0.0, 0.0, 0.9238795 + + Transient + + + + + + 0.2 + + + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 2 Seconds + Nature + Monster + + + + + + + + + + 0 + 195 + 10.0 + true + 0.1 + 1.0, 0.0 + 1000 + + + Bullet/Monster/Parts/Flamethrower Directions/Flamethrower (W) + + + + + + Bullet/Monster/Flamethrower (Dynamic) + + + Fuse + implementation.handlers[2].interval + + + Damage + implementation.handlers[0].action.actions[0].actor["Damage"] + + + + Mode + + + Behavior + implementation.behavior + + + Turn Speed + implementation.turn_rate + + + + + + Snake + + Behavior + + Character/Weapon/FlameThrower (Snake) + + Turn Speed + 174.51547 + + + + + 90o Turns + + Behavior + + Character/Weapon/FlameThrower (90o) + + Turn Speed + 174.51547 + + + + + Straight + + Behavior + + Character/Weapon/FlameThrower + + Turn Speed + 0.0 + + + + Straight + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + editor/marker/sound/custom_sounder.dat + + Label + Fire + Range + Medium + Sounder + + Clip/Looping (Gain) + + File + sound/effect/world/flame_ambient.ogg + Gain + 1.0 + Pitch + 1.0 + Range + Long + + + Viewer Extents + 12 + + + + 1.333 + 0.0, 1.0, -0.5 + -0.5, 0.0, 0.0, 0.8660254 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/traps/trap_flame_2sec_01.ogg + Gain + 1.0 + Pitch + 1.05 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + 1.5 + 0.0, -0.6, -0.2 + -0.38268346, 0.0, 0.0, 0.9238795 + + Transient + + + + + + 0.2 + + + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 2 Seconds + Nature + Monster + + + + + + + + + + + + + + + + 0 + 65 + 10.0 + true + 10.471975 + 11 + 0 + 10.0 + true + true + + + + + + Bullet/Monster/Flamethrower (Snake) + + + Offset + implementation.offset + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + particle/fx_fire_torch.dat + + Color + Hot Blue + Lifespan + 1 second + + + + 1.333 + 0.0, 1.0, -0.5 + -0.5, 0.0, 0.0, 0.8660254 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/traps/trap_flame_2sec_01.ogg + Gain + 1.0 + Pitch + 1.05 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + 1.5 + 0.0, -0.6, -0.2 + -0.38268346, 0.0, 0.0, 0.9238795 + + Transient + + + + + + 0.2 + + + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 2 Seconds + Nature + Monster + + + + + + + + + + Bullet/Monster/Parts/Flamethrower (Snake) 2 + + Offset + 0.5, 0.0 + + + + + + + + + Bullet/Monster/Parts/Flamethrower (Snake) 2 + + Offset + 0.0, 0.0 + + + + + + + 0 + 195 + 10.0 + true + 0.1 + 1.0, 0.0 + 300 + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 2 Seconds + Nature + Monster + + + + + + + Bullet/Monster/Greaver Bullet + + + + Bullet Speed + + + Speed + implementation.speed + + + Fuse + implementation.fuse + + + + + + 1.5 + + Fuse + 6667 + Speed + 1.25 + + + + + 2.0 + + Fuse + 5000 + Speed + 2.0 + + + + + 2.5 + + Fuse + 4000 + Speed + 2.5 + + + + + 3.0 + + Fuse + 3333 + Speed + 3.0 + + + + + 3.5 + + Fuse + 2857 + Speed + 3.5 + + + + + 4.0 + + Fuse + 2500 + Speed + 4.0 + + + + + 4.5 + + Fuse + 2222 + Speed + 4.5 + + + + + 5.0 + + Fuse + 2000 + Speed + 5.0 + + + + 2.5 + + + + Element + + + Model + implementation.sprite.model + + + Hit Model + implementation.sprite.destruction_transient["Transient"] + + + Hit Sound + implementation.sprite.destruction_transient["Sounder"]["File"] + + + + + + None + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + + Hit Model + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Small + color + purple + + + Hit Sound + sound/effect/weapon/gran_faust_chit.ogg + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Simple + Flare + true + color + purple + + + + + + + Fire + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Fire + + Chance + 0.0 + Power + 0 + + + + + + Hit Model + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Negative + Scale + Small + color + yellow + + + Hit Sound + sound/effect/weapon/gran_faust_chit.ogg + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Fire + Flare + true + color + yellow + + + + + + + Freeze + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + + Hit Model + + particle/bullet/hit_shard.dat + + Color + Frost + + + Hit Sound + sound/effect/weapon/cryotech_bolt_dissipate.ogg + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Frost + Flare + true + color + frost + + + + + + + Shock + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + + Hit Model + + particle/bullet/hit_pellet.dat + + Element + Electric + Flare + Negative + Scale + Small + color + cyan + + + Hit Sound + sound/effect/weapon/voltech_bolt_dissipate.ogg + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Electric + Flare + true + color + cyan + + + + + + + Poison + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + + Hit Model + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Small + color + green + + + Hit Sound + sound/effect/monster/jelly/jelly_little_death_02.ogg + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Simple + Flare + true + color + green + + + + + + None + + + + Status + + + Status + implementation.detonation_action.damage.damages[1].status_condition + + + + + + None + + Status + + + + + + Fire + + Status + + Fire + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Fire 2 + + Status + + Fire 2 + + Chance + 0.5 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Fire 3 + + Status + + Fire 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Freeze + + Status + + Freeze + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Freeze 2 + + Status + + Freeze 2 + + Chance + 0.5 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Freeze 3 + + Status + + Freeze 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Shock + + Status + + Shock + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Shock 2 + + Status + + Shock 2 + + Chance + 0.5 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Shock 3 + + Status + + Shock 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Poison + + Status + + Poison + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Poison 2 + + Status + + Poison 2 + + Chance + 0.5 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Poison 3 + + Status + + Poison 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + None + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Simple + Flare + true + color + yellow + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/weapon/gran_faust_chit.ogg + Gain + 0.6 + Pitch adjust + Higher 2 + Range + Medium + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Small + color + yellow + + + + + + + 0.1 + + 0 + 133 + 2.5 + true + 0.667 + 0.4, 0.0 + 4500 + + + + + + Monster/Damage/Attack Base -05 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + + + + + Bullet/Monster/Gremlin HammerThrow + + + Damage + implementation.detonation_action.actions[0].damage + + + + + + item/weapon/npc/wrench_hammer/thrown.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/player/player_throw.ogg + Gain + 1.0 + Pitch + 1.3 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Generic Projectile Bonk + + Sound - Pitch + Lower 1 + + + Transform + + + Transient + + item/weapon/npc/devilite/compound_bop.dat + + Fog + true + Model + + item/weapon/npc/wrench_hammer/model.dat + + Shatter + + particle/fx_potshatter.dat + + + + + + + + 0.45 + + 0 + 135 + 7.0 + true + 1.15 + 0.25, -0.25 + 1000 + + + + + + + 20.0 + 4 + + + 4 + + Stun + + Chance + 0.3 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + Bullet/Monster/Gun Puppy Bullet + + + + Bullet Speed + + + Speed + implementation.speed + + + Fuse + implementation.fuse + + + + + + 1.5 + + Fuse + 6667 + Speed + 1.25 + + + + + 2.0 + + Fuse + 5000 + Speed + 2.0 + + + + + 2.5 + + Fuse + 4000 + Speed + 2.5 + + + + + 3.0 + + Fuse + 3333 + Speed + 3.0 + + + + + 3.5 + + Fuse + 2857 + Speed + 3.5 + + + + + 4.0 + + Fuse + 2500 + Speed + 4.0 + + + + + 4.5 + + Fuse + 2222 + Speed + 4.5 + + + + + 5.0 + + Fuse + 2000 + Speed + 5.0 + + + + 2.5 + + + + Element + + + Model + implementation.sprite.model + + + Hit Model + implementation.sprite.destruction_transient["Transient"] + + + Hit Sound + implementation.sprite.destruction_transient["Sounder"]["File"] + + + + + + None + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + + Hit Model + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Small + color + yellow + + + Hit Sound + sound/effect/weapon/gran_faust_chit.ogg + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Simple + Flare + true + color + yellow + + + + + + + Fire + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Fire + + Chance + 0.0 + Power + 0 + + + + + + Hit Model + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Negative + Scale + Small + color + yellow + + + Hit Sound + sound/effect/weapon/gran_faust_chit.ogg + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Fire + Flare + true + color + yellow + + + + + + + Freeze + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + + Hit Model + + particle/bullet/hit_shard.dat + + Color + Frost + + + Hit Sound + sound/effect/weapon/cryotech_bolt_dissipate.ogg + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Frost + Flare + true + color + frost + + + + + + + Shock + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + + Hit Model + + particle/bullet/hit_pellet.dat + + Element + Electric + Flare + Negative + Scale + Small + color + cyan + + + Hit Sound + sound/effect/weapon/voltech_bolt_dissipate.ogg + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Electric + Flare + true + color + cyan + + + + + + + Poison + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + + Hit Model + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Small + color + green + + + Hit Sound + sound/effect/monster/jelly/jelly_little_death_02.ogg + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Simple + Flare + true + color + green + + + + + + None + + + + Status + + + Status + implementation.detonation_action.damage.damages[1].status_condition + + + + + + None + + Status + + + + + + Fire + + Status + + Fire + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Fire 2 + + Status + + Fire 2 + + Chance + 0.5 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Fire 3 + + Status + + Fire 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Freeze + + Status + + Freeze + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Freeze 2 + + Status + + Freeze 2 + + Chance + 0.5 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Freeze 3 + + Status + + Freeze 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Shock + + Status + + Shock + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Shock 2 + + Status + + Shock 2 + + Chance + 0.5 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Shock 3 + + Status + + Shock 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Poison + + Status + + Poison + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Poison 2 + + Status + + Poison 2 + + Chance + 0.5 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Poison 3 + + Status + + Poison 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + None + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Simple + Flare + true + color + yellow + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/weapon/gran_faust_chit.ogg + Gain + 0.6 + Pitch adjust + Lower 2 + Range + Medium + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Small + color + yellow + + + + + + + 0.1 + + 0 + 133 + 2.5 + true + 1.0 + 0.4, 0.0 + 4500 + + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + + + + + + + Bullet/Monster/Hurkat Hairball + + + Status Condition + implementation.detonation_action.damage.damages[1].status_condition + + + + Bullet Speed + + + Speed + implementation.speed + + + Fuse + implementation.fuse + + + + + + 1.0 + + Fuse + 12500 + Speed + 1.0 + + + + + 1.5 + + Fuse + 8333 + Speed + 1.5 + + + + + 2.0 + + Fuse + 6250 + Speed + 2.0 + + + + + 2.5 + + Fuse + 5000 + Speed + 2.5 + + + + + 3.0 + + Fuse + 4167 + Speed + 3.0 + + + + + 3.5 + + Fuse + 3571 + Speed + 3.5 + + + + + 4.0 + + Fuse + 3125 + Speed + 4.0 + + + + + 4.5 + + Fuse + 2778 + Speed + 4.5 + + + + + 5.0 + + Fuse + 2500 + Speed + 5.0 + + + + 2.5 + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Simple + Flare + true + color + green + + + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Medium + color + green + + + + + 0.1 + + 0 + 133 + 2.5 + true + 1.0 + 0.7, 0.0 + 5000 + + + + + + Monster/Damage/Attack Base -05 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + + + + + Bullet/Monster/Jelly Barb + + + Style + implementation.sprite.model["Models"][0].model["Variant"] + + + Damage + implementation.detonation_action.damage + + + + Scale + + + Transform + implementation.sprite.model["Models"][0].transform + + + + + + Small + + Transform + + + + + + + Medium + + Transform + + 1.15 + + + + + + Large + + Transform + + 1.3 + + + + + Small + + + + + + model/compound/model.dat + + Influences + + false + false + false + + Models + + + + character/npc/monster/lichen/parts/spines/model_spine_bullet.dat + + Variant + Tri + + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/weapon/spur_bullet_hit.ogg + Gain + 0.6 + Pitch + 1.4 + Range + Medium + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Small + color + yellow + + + + + + + 0.1 + + 0 + 133 + 8.0 + true + 0.5 + 0.4, 0.0 + 1000 + + + + + 40.0 + 4 + + + 4 + + Poison + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + -10.0, 0.0 + + 2.0, 0.0 + 300 + 2 + + + + + + Bullet/Monster/Love Heart + + + + particle/bullet/bullet_love.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/player/player_throw.ogg + Gain + 1.0 + Pitch + 1.5 + Range + Medium + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + red + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/item/heart_acquire_01.ogg + Gain + 1.0 + Range + Short + + + Transform + + 0.0, 0.0, -1.0 + + Transient + + particle/fx_effectfader.dat + + Alpha Mode + TRANSLUCENT + Color + + 0.6, 0.0, 0.2, 1.0 + 1.0, 0.2, 0.2, 1.0 + 1.0, 0.0, 0.0, 0.0 + 0.1 + 0.05 + + Max Rotation + 0.0, 0.0, 0.0 + Max Scale + 1.0 + Min Rotation + 0.0, 0.0, 0.0 + Min Scale + 1.0 + Model + + particle/fx_menderheal.dat + + Time + 3.0 + + + + + + + 0.25 + + 0 + 133 + 3.0 + true + 1.0 + 0.4, 0.0 + 6000 + + + Monster/Heal/Heal Base -10 + + + + + + Bullet/Monster/Mecha Zombie Beam + + + Color + implementation.handlers[0].action.actor["Color"] + + + Damage (Status) + implementation.handlers[0].action.actor["Damage (Status)"] + + + Signal (Status) + implementation.handlers[0].action.actor["Signal (Status)"] + + + + + true + + + 0.1 + + + + + + Bullet/Monster/Parts/Mecha Zombie Beam Trail + + Color + 1.0, 1.0, 1.0, 1.0 + Damage (Status) + + Fire + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Signal (Status) + Fire + + + + + + 0 + 131 + 16.0 + true + 0.1 + 0.6, 0.0 + 450 + + + + Bullet/Monster/Mechaknight + + + Status Attack + implementation.actor["Damage"].damages[1].status_condition + + + + + Bullet/Handgun/Parts/Alchemical/Base/Tirtiary + + Collision + 133 + Damage + + + + + Monster/Damage/Attack Base -10 + + ELEMENTAL + 4 + + + 4 + + Shock + + Chance + 0.55 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/voltech_bolt_dissipate.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Electric + Flare + Negative + Scale + Medium + color + cyan + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.15 + Element + Electric + Flare + false + color + cyan + + + + + + + + Bullet/Monster/Mender Bolt + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.35 + Core Min + 0.15 + Element + Simple + Flare + true + color + ivory + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/weapon/handgun_01.ogg + Gain + 0.75 + Pitch + 1.3 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/tortodrone_missile1.ogg + Gain + 0.6 + Pitch + 1.8 + Range + Short + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Small + color + yellow + + + + + + + 0.1 + + 0 + 133 + true + 0.8 + 1.5, 0.0 + 1000 + + + 30.0 + 4 + 330.0 + 1 + + + + + + Bullet/Monster/Mender Heal (Ranged) + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/icon/icon_heart_small.png + Core Max + 0.4 + Core Min + 0.2 + Element + Simple + Flare + true + color + green + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/item/heart_acquire_02.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/item/heart_acquire_01.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_menderheal.dat + + + + + + 0.1 + + 0 + 69 + true + 0.65 + 1.5, 0.0 + 1250 + + 40 + + + + + Bullet/Monster/MiniJelly Blob + + + + Range + + + Speed + implementation.speed + + + Fuse + implementation.fuse + + + Sprite Speed + implementation.sprite.model["Speed"] + + + + + + Short + + Fuse + 500 + Speed + 4.0 + Sprite Speed + 6.0 + + + + + Medium + + Fuse + 750 + Speed + 6.0 + Sprite Speed + 3.0 + + + + + Long + + Fuse + 1000 + Speed + 8.0 + Sprite Speed + 2.0 + + + + Medium + + + Max Minions + implementation.detonation_action.condition.expression.second_operand.value + + + + + + particle/bullet/fx_jellyorb.dat + + Speed + 2.0 + Variant + Green + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/jelly_death.ogg + Gain + 0.8 + Pitch + 1.1 + Range + Medium + + + Transform + + + Transient + + + + + + 0.15 + + 0 + 199 + 8.0 + true + 0.5 + 1.0, 0.0 + 1000 + + + + + 0 + + + + + + + + + + + + + Character/NPC/Monster/Slime/Parts/Jelly Green Mini (No Treasure) + + + + + Character/NPC/Monster/Slime/Parts/Jelly Green Mini (No Treasure) + + + + + Character/NPC/Monster/Slime/Parts/Jelly Green Mini (No Treasure) + + + + + Character/NPC/Monster/Slime/Parts/Jelly Green Mini (No Treasure) + + + + + + + + + + + Character/NPC/Monster/Slime/Parts/Jelly Green Mini (No Treasure) + + + + + Character/NPC/Monster/Slime/Parts/Jelly Green Mini (No Treasure) + + + + + Character/NPC/Monster/Slime/Parts/Jelly Green Mini (No Treasure) + + + + + + + + + + + Character/NPC/Monster/Slime/Parts/Jelly Green Mini (No Treasure) + + + + + Character/NPC/Monster/Slime/Parts/Jelly Green Mini (No Treasure) + + + + + + + + + Character/NPC/Monster/Slime/Parts/Jelly Green Mini (No Treasure) + + + + + + + + + + Bullet/Monster/Oil Blob + + + + particle/bullet/fx_oilorb.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/jelly_death.ogg + Gain + 0.8 + Pitch + 0.9 + Range + Medium + + + Transform + + + Transient + + + + + + + + + + + + Bullet/Monster/Vog Fireball + + Damage + + + + 80.0 + 4 + + + 4 + + Fire + + Chance + 0.5 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + + + 0 + 135 + 8.0 + true + 0.5 + 1.0, 0.0 + 1000 + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + + + + Bullet/Monster/Parts/Flamethrower (Bounder)(Base) + + + Offset + implementation.offset + + + Angle + implementation.detonation_action.rotation + + + Relative + implementation.detonation_action.relative + + + Child + implementation.detonation_action.actor + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + particle/fx_fire_torch.dat + + Color + Dirty Yellow + Lifespan + 1 second + + + + 1.333 + 0.0, 1.0, -0.5 + -0.5, 0.0, 0.0, 0.8660254 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/traps/trap_flame_2sec_01.ogg + Gain + 1.0 + Pitch + 1.05 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + 1.5 + 0.0, -0.6, -0.2 + -0.38268346, 0.0, 0.0, 0.9238795 + + Transient + + + + + + 0.2 + + + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 2 Seconds + Nature + Monster + + + + + + + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 2 Seconds + Nature + Monster + + + + + + 0 + 195 + 10.0 + true + 0.1 + 1.0, 0.0 + 1000 + + + Bullet/Monster/Flamethrower (Bounder) + + Offset + -1.0, 0.0 + + + + + + + Bullet/Monster/Parts/Flamethrower (Snake) 2 + + + Offset + implementation.offset + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + particle/fx_fire_torch.dat + + Color + Hot Blue + Lifespan + 1 second + + + + 1.333 + 0.0, 1.0, -0.5 + -0.5, 0.0, 0.0, 0.8660254 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/traps/trap_flame_2sec_01.ogg + Gain + 1.0 + Pitch + 1.05 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + 1.5 + 0.0, -0.6, -0.2 + -0.38268346, 0.0, 0.0, 0.9238795 + + Transient + + + + + + 0.2 + + + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 2 Seconds + Nature + Monster + + + + + + + + + + Bullet/Monster/Parts/Flamethrower (Snake) 3 + + Offset + 0.5, 0.0 + + + + + + + + + Bullet/Monster/Parts/Flamethrower (Snake) 3 + + Offset + 0.0, 0.0 + + + + + + + 0 + 195 + 10.0 + true + 0.1 + 1.0, 0.0 + 300 + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 2 Seconds + Nature + Monster + + + + + + + Bullet/Monster/Parts/Flamethrower (Snake) 3 + + + Offset + implementation.offset + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + particle/fx_fire_torch.dat + + Color + Hot Blue + Lifespan + 1 second + + + + 1.333 + 0.0, 1.0, -0.5 + -0.5, 0.0, 0.0, 0.8660254 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/traps/trap_flame_2sec_01.ogg + Gain + 1.0 + Pitch + 1.05 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + 1.5 + 0.0, -0.6, -0.2 + -0.38268346, 0.0, 0.0, 0.9238795 + + Transient + + + + + + 0.2 + + + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 2 Seconds + Nature + Monster + + + + + + + + + + Bullet/Monster/Flamethrower (Snake) + + Offset + 0.5, 0.0 + + + + + + + + + Bullet/Monster/Flamethrower (Snake) + + Offset + 0.0, 0.0 + + + + + + + 0 + 195 + 10.0 + true + 0.1 + 1.0, 0.0 + 300 + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 2 Seconds + Nature + Monster + + + + + + + Bullet/Monster/Parts/Flamethrower Directions/Flamethrower (E) + + + Bullet/Monster/Parts/Flamethrower (Bounder)(Base) + + Angle + 0.0 + Child + + Bullet/Monster/Parts/Flamethrower Directions/Flamethrower (S) + + Offset + 1.0, 0.0 + Relative + false + + + + + + Bullet/Monster/Parts/Flamethrower Directions/Flamethrower (N) + + + Bullet/Monster/Parts/Flamethrower (Bounder)(Base) + + Angle + 0.0 + Child + + Bullet/Monster/Parts/Flamethrower Directions/Flamethrower (E) + + Offset + 1.0, 0.0 + Relative + false + + + + + + Bullet/Monster/Parts/Flamethrower Directions/Flamethrower (S) + + + Bullet/Monster/Parts/Flamethrower (Bounder)(Base) + + Angle + 0.0 + Child + + Bullet/Monster/Parts/Flamethrower Directions/Flamethrower (W) + + Offset + 1.0, 0.0 + Relative + false + + + + + + Bullet/Monster/Parts/Flamethrower Directions/Flamethrower (W) + + + Bullet/Monster/Parts/Flamethrower (Bounder)(Base) + + Angle + 0.0 + Child + + Bullet/Monster/Parts/Flamethrower Directions/Flamethrower (N) + + Offset + 1.0, 0.0 + Relative + false + + + + + + Bullet/Monster/Parts/Mecha Zombie Beam Trail + + + Color + implementation.sprite.destruction_transient["Transient"]["Color"], implementation.sprite.model["Color"] + + + Damage (Status) + implementation.detonation_action.actions[0].damage.damages[1].status_condition + + + + Signal (Status) + + + Signal + implementation.detonation_action.actions[1].name + + + + + + None + + Signal + status_none + + + + + Fire + + Signal + status_fire + + + + + Shock + + Signal + status_shock + + + + + Freeze + + Signal + status_Freeze + + + + + Poison + + Signal + status_poison + + + + None + + + + + + character/npc/monster/mechazombie/parts/fx_charmark.dat + + Color + 1.0, 1.0, 1.0, 0.5 + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/weapon/bomb_01.ogg + Gain + 1.0 + Pitch adjust + Higher 2 + Range + Long + + + Transform + + + Transient + + particle/explosion/simple.dat + + Chunks + true + Color + 1.0, 1.0, 1.0, 1.0 + Extra FX + false + Ground Scar + true + + + + + + 0 + 0 + 500 + + + + + + + + Monster/Damage/Attack Base +05 + + 4 + ELEMENTAL + + Monster/Split/Split - Full + + + + 4 + + Fire + + Chance + 1.0 + Power + 50 + Status Chance + ULTRA + Status Power + CUSTOM + + + + + + + 2.0, 0.0 + 300 + 2 + + + + + + + + Bullet/Monster/Parts/Superblast Shard Secondary + + + Damage + implementation.handlers[0].action.actions[1].actor["Damage"], implementation.detonation_action.actions[0].actor["Damage"] + + + + + + particle/bullet/bullet_superblast-frag.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/chromalisk_drop.ogg + Gain + 1.0 + Range + Medium + + + + + + + 0.125 + + + + + + + + Bomb/Monster/Superblast Shard + + Damage + + 1.0 + true + + + + + + + + + 0 + 207 + 1.5 + true + 0.01 + 0.25, 0.0 + 1500 + + + + + Bullet/Monster/Parts/Superblast Shard Tirtiary + + Damage + + 1.0 + true + + + + + + + + + + Bullet/Monster/Parts/Superblast Shard Tirtiary + + + Damage + implementation.detonation_action.actions[0].actor["Damage"] + + + + + + particle/bullet/part_superblast-frag_glob.dat + + Warning + false + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/chromalisk_drop.ogg + Gain + 1.0 + Range + Medium + + + + + + + 0.125 + + 0 + 207 + 1.5 + true + 0.01 + 0.25, 0.0 + 750 + + + + + Bomb/Monster/Superblast Shard + + Damage + + 1.0 + true + + + + + + + + + + Bullet/Monster/Rocket Puppy Rocket + + + + Bullet Speed + + + Speed + implementation.speed + + + Fuse + implementation.fuse + + + + + + 1.5 + + Fuse + 9333 + Speed + 1.5 + + + + + 2.0 + + Fuse + 7000 + Speed + 2.0 + + + + + 2.5 + + Fuse + 5600 + Speed + 2.5 + + + + + 3.0 + + Fuse + 4667 + Speed + 3.0 + + + + + 3.5 + + Fuse + 4000 + Speed + 3.5 + + + + + 4.0 + + Fuse + 3500 + Speed + 4.0 + + + + + 4.5 + + Fuse + 3111 + Speed + 4.5 + + + + + 5.0 + + Fuse + 2800 + Speed + 5.0 + + + + 3.5 + + + + + + character/npc/monster/rocketpuppy/parts/compound_rocket.dat + + Variant + Lake + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + true + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/world/block_explosive.ogg + Gain + 1.0 + Pitch adjust + Lower 1 + Range + Medium + + + Transform + + 0.0, 0.0, -0.9 + + Transient + + particle/explosive_block.dat + + Block + false + + + + + true + + + + + + 0.2 + + + 0.5, 0.0 + + + + + 1024 + 133 + 3.5 + true + 0.9 + 0.15, 0.0 + 4000 + + + + + + Monster/Damage/Attack Base +05 + + 5 + true + ELEMENTAL + + Monster/Split/Split - Half + + + + 5 + + Fire + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Bullet/Monster/Rocket Puppy Rocket (Seaking) + + + Status Attack + implementation.handlers[2].action.actions[0].damage.damages[1].status_condition + + + Turn Rate + implementation.turn_rate + + + Impulse Speed + implementation.handlers[3].action.impulse_dealt + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + character/npc/monster/rocketpuppy/parts/compound_rocket.dat + + Variant + Red + + + + 0.0, 0.0, 0.9 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/world/block_explosive.ogg + Gain + 1.0 + Pitch adjust + Lower 2 + Range + Medium + + + Transform + + + Transient + + particle/explosive_block.dat + + Block + false + + + + + + + + + + 0.2 + + + 0.35, 0.0 + + + + + + + + + + + + + + + + + + Monster/Damage/Attack Base +05 + + 5 + true + ELEMENTAL + + Monster/Split/Split - Half + + + + 5 + + + + + 2.0, 0.0 + 100 + 2 + + + + + + + + -1.0, 0.0 + + 3.0, 0.0 + 2000 + + + + + + + Monster Attacks/Targetted + + Faction + Monster + + + + + + 3 + + + 1024 + 645 + 0.0 + true + 5.2359877 + 80 + + Monster/Health/Health Base -15 + + 0 + 0 + 0 + 0.0 + true + + + + Character/NPC/Monster/Construct/Rocket + + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + + + + + + Bullet/Monster/Rocket Puppy Rocket (mkii) + + + Status Attack + implementation.detonation_action.actions[0].damage.damages[1].status_condition, implementation.handlers[0].action.actions[1].actor["Status Attack"] + + + Turn Rate + implementation.handlers[0].action.actions[1].actor["Turn Rate"] + + + Impulse Speed + implementation.handlers[0].action.actions[1].actor["Impulse Speed"] + + + + + + character/npc/monster/rocketpuppy/parts/compound_rocket.dat + + Variant + Red + + + true + + + + + + 0.2 + + + 0.5, 0.0 + + + + + + + + + + + Bullet/Monster/Rocket Puppy Rocket (Seaking) + + Impulse Speed + + 3.0, 0.0 + 2000 + + Status Attack + + Turn Rate + 5.2359877 + + + + + + + + 1024 + 133 + 5.0 + true + 0.9 + 0.15, 0.0 + 4000 + + + + + + + 5 + true + ELEMENTAL + + Monster/Split/Split - Half + + + + 5 + + Fire + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + 1.0, 0.0 + 200 + + + + + Basic + + Lifespan + 2000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/world/block_explosive.ogg + Gain + 1.0 + Pitch adjust + Lower 2 + Range + Medium + + + Transform + + + Transient + + particle/explosive_block.dat + + Block + false + + + + + + + + + + + + + Bullet/Monster/Scuttlebot Bullet + + + + Element + + + Model + implementation.sprite.model + + + Hit Model + implementation.detonation_action.fire_action["Hit Model"] + + + + + + None + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + + Hit Model + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Small + color + yellow + + + Hit Sound + sound/effect/weapon/gran_faust_chit.ogg + Model + + particle/bullet/bullet_scuttlebot.dat + + color + yellow + + + + + + + Fire + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Fire + + Chance + 0.0 + Power + 0 + + + + + + Hit Model + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Negative + Scale + Small + color + yellow + + + Hit Sound + sound/effect/weapon/gran_faust_chit.ogg + Model + + particle/bullet/bullet_scuttlebot.dat + + color + yellow + + + + + + + Freeze + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + + Hit Model + + particle/bullet/hit_shard.dat + + Color + Frost + + + Hit Sound + sound/effect/weapon/cryotech_bolt_dissipate.ogg + Model + + particle/bullet/bullet_scuttlebot.dat + + color + frost + + + + + + + Shock + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + + Hit Model + + particle/bullet/hit_pellet.dat + + Element + Electric + Flare + Negative + Scale + Small + color + cyan + + + Hit Sound + sound/effect/weapon/voltech_bolt_dissipate.ogg + Model + + particle/bullet/bullet_scuttlebot.dat + + color + cyan + + + + + + + Poison + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + + Hit Model + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Small + color + green + + + Hit Sound + sound/effect/status/status_poison.ogg + Model + + particle/bullet/bullet_scuttlebot.dat + + color + green + + + + + + None + + + + Status + + + Status + implementation.detonation_action.fire_action["Status"] + + + + + + None + + Status + + + + + + Fire + + Status + + Fire + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Fire 2 + + Status + + Fire 2 + + Chance + 0.5 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Fire 3 + + Status + + Fire 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Freeze + + Status + + Freeze + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Freeze 2 + + Status + + Freeze 2 + + Chance + 0.5 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Freeze 3 + + Status + + Freeze 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Shock + + Status + + Shock + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Shock 2 + + Status + + Shock 2 + + Chance + 0.5 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Shock 3 + + Status + + Shock 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Poison + + Status + + Poison + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Poison 2 + + Status + + Poison 2 + + Chance + 0.5 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Poison 3 + + Status + + Poison 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + None + + + + + + particle/bullet/bullet_scuttlebot.dat + + color + yellow + + + + + 0.2 + + + + + + 0 + 133 + 4.0 + true + 0.6 + 0.4, 0.0 + 400 + + + Character/NPC/Monster/Construct/Scuttlebot/Scuttlebot Bullet Damage (base) + + Hit Model + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Medium + color + yellow + + + Hit Sound + sound/effect/weapon/gran_faust_chit.ogg + Status + + + + + + + + Bullet/Monster/Spookat/Fire Hairball + + + Status Condition + implementation.detonation_action.damage.damages[1].status_condition + + + + Bullet Speed + + + Speed + implementation.speed + + + Fuse + implementation.fuse + + + + + + 1.0 + + Fuse + 12500 + Speed + 1.0 + + + + + 1.5 + + Fuse + 8333 + Speed + 1.5 + + + + + 2.0 + + Fuse + 6250 + Speed + 2.0 + + + + + 2.5 + + Fuse + 5000 + Speed + 2.5 + + + + + 3.0 + + Fuse + 4167 + Speed + 3.0 + + + + + 3.5 + + Fuse + 3571 + Speed + 3.5 + + + + + 4.0 + + Fuse + 3125 + Speed + 4.0 + + + + + 4.5 + + Fuse + 2778 + Speed + 4.5 + + + + + 5.0 + + Fuse + 2500 + Speed + 5.0 + + + + 2.5 + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Fire + Flare + true + color + yellow + + + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Negative + Scale + Medium + color + yellow + + + + + 0.1 + + 0 + 133 + 2.5 + true + 1.0 + 0.7, 0.0 + 5000 + + + + + + Monster/Damage/Attack Base -05 + + 4 + SHADOW + + Monster/Split/Split - Full + + + + 4 + + Fire + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Bullet/Monster/Spookat/Freeze Hairball + + + Status Condition + implementation.detonation_action.damage.damages[1].status_condition + + + + Bullet Speed + + + Speed + implementation.speed + + + Fuse + implementation.fuse + + + + + + 1.0 + + Fuse + 12500 + Speed + 1.0 + + + + + 1.5 + + Fuse + 8333 + Speed + 1.5 + + + + + 2.0 + + Fuse + 6250 + Speed + 2.0 + + + + + 2.5 + + Fuse + 5000 + Speed + 2.5 + + + + + 3.0 + + Fuse + 4167 + Speed + 3.0 + + + + + 3.5 + + Fuse + 3571 + Speed + 3.5 + + + + + 4.0 + + Fuse + 3125 + Speed + 4.0 + + + + + 4.5 + + Fuse + 2778 + Speed + 4.5 + + + + + 5.0 + + Fuse + 2500 + Speed + 5.0 + + + + 2.5 + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Frost + Flare + true + color + frost + + + + particle/bullet/hit_shard.dat + + Color + Frost + + + + + 0.1 + + 0 + 133 + 2.5 + true + 1.0 + 0.7, 0.0 + 5000 + + + + + + Monster/Damage/Attack Base -05 + + 4 + SHADOW + + Monster/Split/Split - Full + + + + 4 + + Freeze + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Bullet/Monster/Spookat/Hairball + + + + Bullet Speed + + + Speed + implementation.speed + + + Fuse + implementation.fuse + + + + + + 1.0 + + Fuse + 12500 + Speed + 1.0 + + + + + 1.5 + + Fuse + 8333 + Speed + 1.5 + + + + + 2.0 + + Fuse + 6250 + Speed + 2.0 + + + + + 2.5 + + Fuse + 5000 + Speed + 2.5 + + + + + 3.0 + + Fuse + 4167 + Speed + 3.0 + + + + + 3.5 + + Fuse + 3571 + Speed + 3.5 + + + + + 4.0 + + Fuse + 3125 + Speed + 4.0 + + + + + 4.5 + + Fuse + 2778 + Speed + 4.5 + + + + + 5.0 + + Fuse + 2500 + Speed + 5.0 + + + + 2.5 + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Simple + Flare + true + color + purple + + + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Medium + color + purple + + + + + 0.1 + + 0 + 133 + 2.5 + true + 1.0 + 0.7, 0.0 + 5000 + + + + + + Monster/Damage/Attack Base -05 + + 4 + SHADOW + + Monster/Split/Split - Full + + + + + + + + + Bullet/Monster/Spookat/Poison Hairball + + + Status Condition + implementation.detonation_action.damage.damages[1].status_condition + + + + Bullet Speed + + + Speed + implementation.speed + + + Fuse + implementation.fuse + + + + + + 1.0 + + Fuse + 12500 + Speed + 1.0 + + + + + 1.5 + + Fuse + 8333 + Speed + 1.5 + + + + + 2.0 + + Fuse + 6250 + Speed + 2.0 + + + + + 2.5 + + Fuse + 5000 + Speed + 2.5 + + + + + 3.0 + + Fuse + 4167 + Speed + 3.0 + + + + + 3.5 + + Fuse + 3571 + Speed + 3.5 + + + + + 4.0 + + Fuse + 3125 + Speed + 4.0 + + + + + 4.5 + + Fuse + 2778 + Speed + 4.5 + + + + + 5.0 + + Fuse + 2500 + Speed + 5.0 + + + + 2.5 + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Simple + Flare + true + color + green + + + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Medium + color + green + + + + + 0.1 + + 0 + 133 + 2.5 + true + 1.0 + 0.7, 0.0 + 5000 + + + + + + Monster/Damage/Attack Base -05 + + 4 + SHADOW + + Monster/Split/Split - Full + + + + 4 + + Poison + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Bullet/Monster/Spookat/Shock Hairball + + + Status Condition + implementation.detonation_action.damage.damages[1].status_condition + + + + Bullet Speed + + + Speed + implementation.speed + + + Fuse + implementation.fuse + + + + + + 1.0 + + Fuse + 12500 + Speed + 1.0 + + + + + 1.5 + + Fuse + 8333 + Speed + 1.5 + + + + + 2.0 + + Fuse + 6250 + Speed + 2.0 + + + + + 2.5 + + Fuse + 5000 + Speed + 2.5 + + + + + 3.0 + + Fuse + 4167 + Speed + 3.0 + + + + + 3.5 + + Fuse + 3571 + Speed + 3.5 + + + + + 4.0 + + Fuse + 3125 + Speed + 4.0 + + + + + 4.5 + + Fuse + 2778 + Speed + 4.5 + + + + + 5.0 + + Fuse + 2500 + Speed + 5.0 + + + + 2.5 + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Electric + Flare + true + color + cyan + + + + particle/bullet/hit_pellet.dat + + Element + Electric + Flare + Negative + Scale + Medium + color + cyan + + + + + 0.1 + + 0 + 133 + 2.5 + true + 1.0 + 0.7, 0.0 + 5000 + + + + + + Monster/Damage/Attack Base -05 + + 4 + SHADOW + + Monster/Split/Split - Full + + + + 4 + + Shock + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Bullet/Monster/Superblast Shard + + + Damage + implementation.handlers[0].action.actions[1].actor["Damage"], implementation.detonation_action.actions[0].actor["Damage"] + + + + + + particle/bullet/bullet_superblast-frag.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/chromalisk_drop.ogg + Gain + 1.0 + Range + Medium + + + + + + + 0.125 + + + + + + + + Bomb/Monster/Superblast Shard + + Damage + + 1.0 + true + + + + + + + + + 0 + 207 + 1.5 + true + 0.01 + 0.25, 0.0 + 4000 + + + + + Bullet/Monster/Parts/Superblast Shard Secondary + + Damage + + 1.0 + true + + + + + + + + + + Bullet/Monster/Vog Fireball + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.5 + Core Min + 0.4 + Element + Fire + Flare + true + color + yellow + + + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Negative + Scale + Large + color + yellow + + + + + 0.1 + + + + + + 0 + 133 + 2.5 + true + 0.6 + 1.2, 0.0 + 6000 + + + + + 80.0 + 4 + + + 4 + + Fire + + Chance + 0.5 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + -2.0, 0.0 + 200 + 2 + + + + + + Bullet/Shard bomb projectile + + + Model + implementation.sprite.model + + + Destruction Transient + implementation.sprite.destruction_transient + + + Blast Radius + implementation.detonation_action.region.shape.radius + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/bullet_shard.dat + + Color + Base (aqua) + Dust + False + + + + particle/bullet/hit_shard.dat + + Color + Base (aqua) + + + + + 0.65 + 0.25 + + 512 + 137 + 12.0 + true + 0.5 + 1.0, 0.0 + 800 + + + + + + + 60.0 + 2 + + true + + + + + Bullet/Sword/Avenger + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Sword/Parts/Sword Bolt + + Creation + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + ivory + + + Damage + + + + 30.0 + 2 + + + 30.0 + 2 + + + + Destruction + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/gran_faust_chit.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/bullet/magnus/hit_charged.dat + + Spark Count + 6 + Variant + Hot + + + + + Knock-Back + + 3.0, 0.0 + 200 + 3 + + Model + + item/weapon/sword/avenger/parts/bullet_avenger.dat + + Variant + Avenger + + + Shape + + 1.8 + + Transform + + 0.95 + + + + + + + Bullet/Sword/Burst Bullet + + + Color + implementation.handlers[1].action.action.actions[1].actor["Color"] + + + Damage + implementation.handlers[1].action.action.actions[1].actor["Damage"] + + + Burst Count + implementation.handlers[2].action.value.value + + + Fuse + implementation.fuse + + + Burst Scale + implementation.handlers[1].action.action.actions[1].actor["Scale"] + + + Extra FX + implementation.handlers[1].action.action.actions[1].actor["Extra FX"] + + + Ground Scar + implementation.handlers[1].action.action.actions[1].actor["Ground Scar"] + + + + + true + + + 0.1 + + + + + + + + + + + + + Bullet/Sword/Parts/Burst Trail + + Color + 1.0, 1.0, 1.0, 1.0 + Damage + + + + + Monster/Damage/Attack Base +05 + + 2 + true + ELEMENTAL + + Monster/Split/Split - Full + + + + 2 + + Fire + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Extra FX + false + Ground Scar + true + + + + + + + + + + + 512 + 131 + 12.0 + true + 0.01 + 0.3, 0.0 + 2000 + + + + Bullet/Sword/Gran Faust + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Sword/Parts/Sword Bolt + + Creation + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + purple + + + Damage + + + + 35.0 + 2 + + + 35.0 + 2 + + + + Destruction + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/gran_faust_chit.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/bullet/magnus/hit_charged.dat + + Spark Count + 6 + Variant + Lost + + + + + Knock-Back + + 2.0, 0.0 + 150 + 3 + + Model + + item/weapon/sword/avenger/parts/bullet_avenger.dat + + Variant + Gran Faust + + + Shape + + 1.8 + + Transform + + + + + + + + Bullet/Sword/Gran Faust (Charged) + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Sword/Parts/Sword Bolt + + Creation + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Medium + color + purple + + + Damage + + + + 40.0 + 2 + + + 40.0 + 2 + + + + Destruction + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/gran_faust_chit.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/bullet/magnus/hit_charged.dat + + Spark Count + 6 + Variant + Lost + + + + + Knock-Back + + 4.0, 0.0 + 200 + 4 + + Model + + item/weapon/sword/avenger/parts/bullet_avenger.dat + + Variant + Gran Faust + + + Shape + + 2.7 + 1.5 + + Transform + + 1.5 + + + + + + + Bullet/Sword/Parts/Burst Trail + + + Color + implementation.sprite.destruction_transient["Transient"]["Color"], implementation.sprite.model["Color"] + + + Damage + implementation.detonation_action.damage + + + Extra FX + implementation.sprite.destruction_transient["Transient"]["Extra FX"] + + + Ground Scar + implementation.sprite.destruction_transient["Transient"]["Ground Scar"] + + + + + + character/npc/monster/mechazombie/parts/fx_charmark.dat + + Color + 1.0, 1.0, 1.0, 0.5 + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/weapon/bomb_01.ogg + Gain + 1.0 + Pitch adjust + Higher 2 + Range + Long + + + Transform + + 1.3 + + Transient + + particle/explosion/simple.dat + + Chunks + true + Color + 1.0, 1.0, 1.0, 1.0 + Extra FX + false + Ground Scar + true + + + + + + 0 + 0 + 1 + + + + + + Monster/Damage/Attack Base +05 + + 2 + true + ELEMENTAL + + Monster/Split/Split - Full + + + + 2 + + Fire + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + 2.0, 0.0 + 300 + 2 + + -10.0, 0.0 + + + + + Bullet/Sword/Parts/Sword Bolt + + + Damage + implementation.detonation_action.damage, implementation.handlers[0].action.damage + + + Knock-Back + implementation.detonation_action.impulse_dealt, implementation.handlers[0].action.impulse_dealt + + + Shape + implementation.detonation_action.region.shape.shapes[0].shape, implementation.handlers[0].action.region.shape.shapes[0].shape, implementation.shape.shapes[0].shape + + + Model + implementation.sprite.model["Models"][0].model + + + Transform + implementation.sprite.model["Models"][0].transform + + + Creation + implementation.sprite.creation_transient + + + Destruction + implementation.sprite.destruction_transient + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + item/weapon/sword/avenger/parts/bullet_avenger.dat + + Variant + Gran Faust + + + + + + + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + purple + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/gran_faust_chit.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/bullet/magnus/hit_charged.dat + + Spark Count + 6 + Variant + Lost + + + + + + + + + + 1.8 + + + 0.15, 0.0 + + + + + + + + + + + + + + + + + + + 30.0 + 2 + + + + + 1.0, 0.0 + 150 + 3 + + -10.0, 0.0 + + + + 512 + 129 + 10.0 + true + 0.75 + 1.0, 0.0 + 600 + + + + + + + + + + + + + 30.0 + 2 + + + + + 2.0, 0.0 + 150 + 3 + + + + + + Bullet/Sword/Parts/Sword Bolt (Marker) + + + Actor + implementation.detonation_action.actor + + + + Variant + + + Model + implementation.sprite.model["Models"][0].model + + + Transform + implementation.sprite.model["Models"][0].transform + + + Creation + implementation.sprite.creation_transient["Transient"] + + + + + + Avenger + + Creation + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + ivory + + + Model + + item/weapon/sword/avenger/parts/bullet_avenger.dat + + Variant + Avenger + + + Transform + + 0.0, -1.0, 0.75 + + + + + + Gran Faust + + Creation + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + purple + + + Model + + item/weapon/sword/avenger/parts/bullet_avenger.dat + + Variant + Gran Faust + + + Transform + + 0.0, -1.0, 0.75 + + + + + + Gran Faust (Charged) + + Creation + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Medium + color + purple + + + Model + + item/weapon/sword/avenger/parts/bullet_avenger.dat + + Variant + Gran Faust + + + Transform + + 1.5 + 0.0, -1.0, 0.75 + + + + + Avenger + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + item/weapon/sword/avenger/parts/bullet_avenger.dat + + Variant + Avenger + + + + 0.0, -1.0, 0.75 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + + Gain + 1.0 + Range + Medium + + + Transform + + 0.0, -1.0, 0.75 + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + ivory + + + + + + 0 + 0 + 750 + + + Bullet/Sword/Avenger + + Damage + + + + 30.0 + 2 + + + 30.0 + 2 + + + + + + + + + + Bullet/Sword/Spur (Charged) + + + Damage + implementation.handlers[0].action.damage, implementation.detonation_action.damage + + + + + + particle/bullet/bullet_spur_charged.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/spur_charge_bullet_fire.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/spur_charge_bullet_hit.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/bullet/hit_spur.dat + + Color + Lime + Scale + Large + + + + + + + 0.45 + + + + + + 50.0 + 2 + + + 1.0, 0.0 + 200 + 3 + + + + + 512 + 129 + 10.0 + true + 0.75 + 0.5, 0.0 + 500 + + + 50.0 + 2 + + + 2.0, 0.0 + 200 + 3 + + + + + + Bullet/Sword/Sword (HuntingWolver) + + + + Side + + + Offset + implementation.offset + + + Rotate + implementation.detonation_action.rotation + + + + + + Left + + Offset + -0.75, 1.0 + Rotate + 0.34906584 + + + + + Right + + Offset + -0.75, -1.0 + Rotate + -0.34906584 + + + + + + + + + 513 + 0.01 + -0.75, 1.0 + 1 + + + Character/Weapon/Hunting Wolver + + + + + + Bullet/Sword/Winmillion + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.15 + Bullet Shape + + 0.1 + + Collision Mask + 137 + Creation Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/spur_bullet_fire.ogg + Gain + 1.0 + Range + Short + + + Transform + + + Transient + + + + Damage + + 110.0 + 2 + + Destruction Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/spur_bullet_hit.ogg + Gain + 1.0 + Range + Short + + + Transform + + + Transient + + particle/bullet/hit_spur.dat + + Color + Blue + Scale + Small + + + + + Fuse + 270 + Height + 0.75 + Knock-Back + + Model + + particle/bullet/bullet_spur.dat + + Color + Blue + Size + Small + + + Offset + 0.5, 0.0 + Speed + 15.0 + + + + + + Bullet/Sword/Winmillion (Large) + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.35 + Bullet Shape + + 0.2 + + Collision Mask + 137 + Creation Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/spur_bullet_fire.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + + + Damage + + 110.0 + 2 + + Destruction Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/spur_bullet_hit.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/bullet/hit_spur.dat + + Color + Blue + Scale + Large + + + + + Fuse + 380 + Height + 0.75 + Knock-Back + + 0.5, 0.0 + 100 + 2 + + Model + + particle/bullet/bullet_spur.dat + + Color + Blue + Size + Large + + + Offset + 0.5, 0.0 + Speed + 10.9 + + + + + + Bullet/Sword/Winmillion (Med) + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.3 + Bullet Shape + + 0.15 + + Collision Mask + 137 + Creation Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/spur_bullet_fire.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + + + Damage + + 170.0 + 2 + + Destruction Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/spur_bullet_hit.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/bullet/hit_spur.dat + + Color + Blue + Scale + Medium + + + + + Fuse + 300 + Height + 0.75 + Knock-Back + + 1.5, 0.0 + 150 + 2 + + Model + + particle/bullet/bullet_spur.dat + + Color + Blue + Size + Medium + + + Offset + 0.5, 0.0 + Speed + 12.0 + + + + + + Bullet/Sword/Wrench Wand Bolt + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/get_hit.png + Core Max + 0.6 + Core Min + 0.4 + Element + Simple + Flare + true + color + yellow + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + + Gain + 0.75 + Pitch + 1.3 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/tortodrone_missile1.ogg + Gain + 0.6 + Pitch + 1.8 + Range + Short + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Medium + color + yellow + + + + + + + 0.25 + + 512 + 169 + 10.0 + true + 0.8 + 1.5, -0.5 + 750 + + + 1.0 + 2 + + + 3.0, 0.0 + 500 + 3 + + 0.0, -10.0 + + + + + Character/Dev/Bad Dude + + + Tags + implementation.tags.derived + + + + + + character/npc/monster/gremlin/thwacker/model.dat + + Shield + + Weapon + + item/weapon/npc/wrench_hammer/model.dat + + variant + pink + + + 1.075 + + + + character/npc/monster/gremlin/animation/standing.dat + + + + + + 6.0 + + character/npc/monster/gremlin/animation/walking.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/monster_damage.ogg + Gain + 5.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/gremlin/animation/standing.dat + + + + + + 6.0 + + character/npc/monster/gremlin/animation/walking.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.333 + + + + + + Treasure/Monster/Gremlin/Thwacker/Thwacker Loot + + + + + 4 + 79 + 3.5 + 8.726646 + 250 + 7 + 0.3 + 2 + 1300 + 1100 + 5.0 + + + + Character/Dev/Bad Dude + + + + + + + + + 20 + + + + + + + Character/Dev/Dummy Knight + + + + character/pc/model.dat + + Armor + + item/gear/armor/doublebelt/model.dat + + Colorization + 257 + Variant + grey + + + Helmet + + item/gear/helm/pith/model.dat + + Colorization + 257 + Variant + grey + + + Label + + Material + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + defender + + + Shield Away + True + Weapon + + + + + particle/monster_death.dat + + Color + White + + + + + 0.333333 + + 4 + 43 + true + 9999 + 9999 + 1 + 13 + + + PC/Defense/Armor/Armor Base +10 + + + + + + Character/Dev/Jelly Cube + + + Tags + implementation.tags.derived + + + + + + character/npc/monster/jellycube/model.dat + + Trail + + variant + pink + + + + character/npc/monster/jellycube/fx_death.dat + + Color + pink + Core + true + Transform + + 0.8 + + + + 0.8 + 0.75 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/jellycube/walking.dat + + Sound - Pitch + Default + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/monster_damage.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/jellycube/walking.dat + + Sound - Pitch + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.4 + + 8 + 79 + 2.0 + 3.4906585 + 115 + 0.25 + 100 + 1100 + 2.5 + + + + Character/Dev/Jelly Cube Heal + + + + + Character/Dev/Jelly Cube Teleport + + + + + Character/Dev/Jelly Cube + + + + + + + 100 + + + 1 + 100 + + + 30 + -25 + + + + + + + Character/Dev/Nuke-Pave + + 0 + 0 + 10 + + + + + + + + + + Character/Dev/Punching Bag + + + Defense + implementation.defense + + + + + + character/npc/monster/jellycube/model.dat + + Trail + + variant + pink + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 1 + + + Transform + + 0.8 + + Transient + + character/npc/monster/jellycube/fx_death.dat + + Color + pink + Core + true + Transform + + + + + + + 0.8 + 0.75 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 2.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Default + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Higher 1 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 2.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.4 + + + + + 99999 + + + + 8 + 79 + 1.5 + 174.51547 + 99999 + + Monster/Health/Health Base +40 + + 0.25 + 10 + 100 + 1100 + 2.5 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + + + + Character/Dev/Royal Jelly (Cory sound test) + + + Wave Tag + implementation.tags.tags[3] + + + + + + character/npc/monster/royaljelly/model.dat + + Variant + Purple + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, large + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, boss + + Transform + + 2.0 + + Transient + + + + 3.0 + 2.8 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 0.5 + + + + + + + 1.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Lower 2 + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Lower 2 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 0.5 + + + + + + + 1.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + 3.0 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 1.5 + + + + + + Treasure/Monster/Slime/Royal Jelly Loot + + + + + 8 + 79 + 0.5 + 5.2359877 + 40 + 40 + 2 + 0.2 + true + 7 + 5500 + 1100 + 1.0 + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + true + + + 2 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Large + Impulse + Forward + Sound - Pitch adjust + Lower 3 + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Character/NPC/Monster/Boss/Royal Jelly/Parts/MiniProjectile + + Max Minions + 35 + Range + Long + + + Bullet 2 + + Color + 0.6, 0.0, 0.6, 1.0 + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 2 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Flare Color + Normal + Radius + 3.0 + Radius Graphic + + 2.0 + + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Character/NPC/Monster/Boss/Royal Jelly/Parts/MinionProjectile + + Range + Medium + + + Bullet 2 + + Color + 0.4, 0.0, 0.4, 1.0 + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 2 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Flare Color + Normal + Radius + 3.0 + Radius Graphic + + 2.0 + + + + + + + + + + Monster/Defense/Defense Base +05 + + + Monster/Defense/Defense Base +10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + + 1 + 100 + + + 2 + -15 + + + + + + + + + Character/Dev/Scardy Cube + + + Tags + implementation.tags.derived + + + + + + character/npc/monster/jellycube/model.dat + + Trail + + variant + pink + + + + character/npc/monster/jellycube/fx_death.dat + + Color + pink + Core + true + Transform + + 0.8 + + + + 0.8 + 0.75 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/jellycube/walking.dat + + Sound - Pitch + Default + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/monster_damage.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/jellycube/walking.dat + + Sound - Pitch + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.4 + + 8 + 79 + 2.0 + 3.4906585 + 115 + 0.25 + 100 + 1100 + 2.5 + + + + Character/Dev/Jelly Cube Heal + + + + + Character/Dev/Jelly Cube Teleport + + + + + Character/Dev/Jelly Cube + + + + + + + 100 + + + 1 + 100 + + + 30 + -25 + + + + + + + Character/Dev/Shooter + + + Bullet + implementation.handlers[0].action.actor + + + Interval + implementation.handlers[0].interval + + + Tags + implementation.tags.tags[0] + + + HP + implementation.health + + + + + + character/npc/monster/gunpuppy/model.dat + + variant + gold + + + + + 0.49 + + + + + + Bullet/Handgun/Blaster + + Damage + + + + 25.0 + 2 + + + + + + + + + 0 + 0 + 25 + + + + Character/Dev/Talkative Stranger (test) + + + Hat + implementation.sprite.model["Hat"] + + + Pack + implementation.sprite.model["Pack"] + + + + + + character/npc/stranger/model.dat + + Colors + Yellow-Purple + Hat + + character/npc/stranger/hat_mining/model.dat + + Variant + Brown + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Variant + Green + + + Robes + hexagons + Snipes + Both Shoulders (01) + + + + + + character/npc/stranger/standing_idle.dat + + + + 0.5 + + character/npc/stranger/standing_idle2.dat + + + + 0.1 + + character/npc/stranger/standing_idle3.dat + + + + + + 6.0 + + character/npc/stranger/walking.dat + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/Dev/TestDuke + + + Tags + implementation.tags.derived + + + + + + character/npc/monster/baron/model.dat + + Sheen + Stage1 + Variant + Masked + + + 2.75 + 1.4 + + + + character/npc/monster/baron/animations/animation_idle.dat + + + + + + 1.0 + + character/npc/monster/baron/animations/animation_walk.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Trojan + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/baron/animations/animation_idle.dat + + + + + + 1.0 + + character/npc/monster/baron/animations/animation_walk.dat + + + + + character/npc/monster/baron/animations/animation_spawn.dat + + + + 0.8 + + + + + + Treasure/Monster/Fiend/Vanaduke + + + + + 8 + 79 + 2.0 + 1.7453293 + + Monster/Slime/Cube (Basic Targeting) + + 600 + 2 + 0.15 + 7 + 433 + 3000 + 3767 + 2.0 + + + + Character/NPC/Monster/Fiend/Trojan/Trojan + + + + + + + + + 63 + + + + + + + Character/Dev/playermarker + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + editor/marker/pointers/pointer01.dat + + Color + 0.0, 0.6, 0.8, 1.0 + + + + 0.3 + 0.0, 0.0, -0.25 + + + + + + + 0 + 0 + 100 + 7 + + + + Character/NPC/Core Terminal/Technician + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Hood + Pack + None + Weapon Equip + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + + character/pc/emotes/animation_salute.dat + + + Core Terminal/Technician + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Core Terminal/Vaelyn + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Guardian + Gear + Aegis-Leviathon + Helmet + Pig Nose + Pack + None + Weapon Equip + + + + 1.15 + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + + character/pc/emotes/animation_salute.dat + + + Core Terminal/Vaelyn + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Emberlight/Greeter + + + + character/pc/model.dat + + Armor + + character/npc/monster/gremlin/null/model_static.dat + + Variant + Null + + + Helmet + + Label + + Material + + Shield + + Shield Away + + Weapon + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + + Emberlight/Greeter + + + + + Sound Effect + + Sound + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/monster/gremlin/gremlin_chat_extra_02b.ogg + Gain + 1.0 + Pitch adjust + Lower 1 + Range + Medium + + + + + + + + + + 8 + 15 + 0.66 + + + + Character/NPC/Emberlight/Gremlin (Wander) + + + Speed + implementation.speed + + + Variant + implementation.sprite.model["Armor"]["Variant"] + + + + + + character/pc/model.dat + + Armor + + character/npc/monster/gremlin/null/model_static.dat + + Variant + grey + + + Helmet + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Gremlin + + Pitch shift + Default + + + Transform + + + Transient + + + + Label + + Material + + Shield + + Shield Away + + Weapon + + + + + + + character/pc/idle.dat + + + + 0.1 + + character/pc/emotes/animation_shrug.dat + + + + 0.05 + + character/pc/emotes/animation_laugh.dat + + Sound + + + + + + 0.075 + + character/pc/emotes/animation_wave.dat + + + + 0.1 + + character/pc/emotes/animation_talk.dat + + + + + + 1.0 + + character/pc/walk_forward.dat + + + + 6.0 + + character/pc/run_forward.dat + + Variant + Default + + + + + + + 0.45 + + 4 + 15 + 1.5 + 17.453293 + + + + Character/NPC/Firestorm Citadel/Bridge End + + + Character/NPC/Firestorm Citadel/Lost Soul, Base + + Conversation + + Firestorm Citadel/Bridge End + + Name + + + + + + + Character/NPC/Firestorm Citadel/Greeter + + + Character/NPC/Firestorm Citadel/Lost Soul, Base + + Conversation + + Firestorm Citadel/Greeter + + Name + + + + + + + Character/NPC/Firestorm Citadel/Lost Soul, Base + + + Name + implementation.handlers[0].action.actions[0].name + + + Conversation + implementation.handlers[0].action.actions[0].conversation + + + + + + character/npc/monster/reaper/model.dat + + variant + grey + + + + + + character/npc/monster/spookat/standing.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking.dat + + + + + + 0.5 + + + + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Firestorm Citadel/Sprite 1 + + + Name + implementation.handlers[0].action.actions[0].name + + + Conversation + implementation.handlers[0].action.actions[0].conversation + + + Variation + implementation.sprite.model["Variant"] + + + + + + character/npc/sprite/model.dat + + Variant + Blue + + + 1.3 + + + + character/npc/monster/devilite/animation/v2/animation_idle1.dat + + + + + + 6.0 + + character/npc/monster/devilite/animation/v2/animation_walking.dat + + + + talkto_sprite_mem + true + + + 0.6 + + + + + + + + Firestorm Citadel/Sprite 1 + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Firestorm Citadel/Sprite, Base + + + Name + implementation.handlers[0].action.actions[0].name + + + Conversation + implementation.handlers[0].action.actions[0].conversation + + + Variation + implementation.sprite.model["Variant"] + + + + + + character/npc/sprite/model.dat + + Variant + Blue + + + + + + character/npc/monster/devilite/animation/v2/animation_idle1.dat + + + + + + 6.0 + + character/npc/monster/devilite/animation/v2/animation_walking.dat + + + + + + 0.5 + + + + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Haven/Knight/Arcade Info + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Hood + Pack + None + Weapon Equip + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + + character/pc/emotes/animation_salute.dat + + + Haven/Knight/Arcade Info + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Haven/Knight/Arcade Info 2 + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Hood + Pack + None + Weapon Equip + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + + character/pc/emotes/animation_salute.dat + + + Haven/Knight/Arcade Info 2 + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Haven/Knight/Arcade Leader + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Guardian + Gear + Defender-Calibur + Helmet + Pig Nose + Pack + None + Weapon Equip + + + + 1.15 + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + talkto_feron + true + + + 0.6 + + + + + + + + character/pc/emotes/animation_salute.dat + + + Haven/Knight/Arcade Leader + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Haven/Knight/Energy Info + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Pith + Pack + None + Weapon Equip + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + + character/pc/emotes/animation_salute.dat + + + Haven/Knight/Energy Info + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Haven/Knight/Fountain + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Pig Nose + Pack + None + Weapon Equip + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + + character/pc/emotes/animation_point.dat + + + Haven/Knight/Fountain + + + + + + + + + 8 + 15 + 0.66 + + + + Character/NPC/Haven/Knight/Guard + + + + character/npc/crew/model_gatekeeper.dat + + 1.15 + + + + character/pc/animation_overshoulder.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Haven/Knight/Mecha Knight + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Hood + Pack + None + Weapon Equip + + + + + + + character/pc/use_inventory_loop.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + + Haven/Knight/Mecha Knight + + + + + + + + + 8 + 15 + 0.66 + + + + Character/NPC/Haven/Knight/Mineral Info + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Hood + Pack + None + Weapon Equip + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + done_wegner + + + 0.6 + + + + + + + + character/pc/emotes/animation_salute.dat + + + Haven/Knight/Mineral Info + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Haven/Knight/Travel + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Pig Nose + Pack + None + Weapon Equip + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + + character/pc/emotes/animation_shrug.dat + + + Travel/Haven + + + + + + + + + 8 + 15 + 0.66 + + + + Character/NPC/Haven/Stranger/Clockworks + + + + character/npc/stranger/model.dat + + Colors + Blue-Brown + Hat + + character/npc/stranger/floppyhat/model.dat + + Variant + Tan + + + Pack + + Robes + hexagons + Snipes + Both Shoulders (01) + + + 1.2 + + + + character/npc/stranger/standing_idle.dat + + + + 0.5 + + character/npc/stranger/standing_idle2.dat + + + + 0.1 + + character/npc/stranger/standing_idle3.dat + + + + + + 6.0 + + character/npc/stranger/walking.dat + + + + + + + + + + + + + Haven/Strangers/Clockworks + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Haven/Stranger/Free Cash + + + + character/npc/stranger/model.dat + + Colors + Yellow-Purple + Hat + + character/npc/stranger/mask/model.dat + + Variant + Brown + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Variant + Green + + + Robes + hexagons + Snipes + Pack (02) + + + 1.2 + + + + character/npc/stranger/standing_idle.dat + + + + 0.5 + + character/npc/stranger/standing_idle2.dat + + + + 0.1 + + character/npc/stranger/standing_idle3.dat + + + + + + 6.0 + + character/npc/stranger/walking.dat + + + + + + + + + + + + + Haven/Strangers/Free Cash + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Haven/Stranger/Greeter + + + + character/npc/stranger/model.dat + + Colors + Green-Seafoam + Hat + + character/npc/stranger/floppyhat/model.dat + + Variant + Steel + + + Pack + + Robes + hexagons + Snipes + None + + + 1.2 + + + + character/npc/stranger/standing_idle.dat + + + + 0.5 + + character/npc/stranger/standing_idle2.dat + + + + 0.1 + + character/npc/stranger/standing_idle3.dat + + + + + + 6.0 + + character/npc/stranger/walking.dat + + + + + + + + + + + + + Haven/Strangers/Greeter + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Haven/Stranger/Gremlin Info + + + + character/npc/stranger/model.dat + + Colors + Drab-Steel + Hat + + character/npc/stranger/floppyhat/model.dat + + Variant + Brown + + + Pack + + Robes + Merchant Tabard + Snipes + Both Shoulders (02) + + + 1.2 + + + + character/npc/stranger/standing_idle.dat + + + + 0.5 + + character/npc/stranger/standing_idle2.dat + + + + 0.1 + + character/npc/stranger/standing_idle3.dat + + + + + + 6.0 + + character/npc/stranger/walking.dat + + + + + + + + + + + + + Haven/Strangers/Gremlin Info + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Haven/Stranger/Snipes + + + + character/npc/stranger/model.dat + + Colors + Drab-Rust + Hat + + character/npc/stranger/floppyhat/model.dat + + Variant + Steel + + + Pack + + Robes + hexagons + Snipes + Head & Shoulders (02) + + + 1.2 + + + + character/npc/stranger/standing_idle.dat + + + + 0.5 + + character/npc/stranger/standing_idle2.dat + + + + 0.1 + + character/npc/stranger/standing_idle3.dat + + + + + + 6.0 + + character/npc/stranger/walking.dat + + + + + + + + + + + + + Haven/Strangers/Snipes + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Ash Tail/Alpha Ash Tail 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 1 (Base) + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Fire + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Defense (Status) + + + + 4 + + + 257 + -25 + + + 8 + 50 + + + + Loot Table + + Treasure/Monster/Beast/Alpha Wolver/Alpha Wolver Loot + + Model + + character/npc/monster/wolver/model_fir.dat + + Aura + + particle/buff_auraup.dat + + Scale + 2.5 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 1 Alpha + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Ash Tail/Alpha Ash Tail 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 2 (Base) + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Fire 2 + + Chance + 0.5 + Power + 40 + + + + + + Defense (Status) + + + + 4 + + + 257 + -25 + + + 8 + 50 + + + + Model + + character/npc/monster/wolver/model_fir.dat + + Aura + + particle/buff_auraup.dat + + Scale + 2.5 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 2 Alpha + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Ash Tail/Alpha Ash Tail 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 3 (Base) + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Fire 3 + + Chance + 0.5 + Power + 50 + + + + + + Defense (Status) + + + + 4 + + + 257 + -25 + + + 8 + 50 + + + + Model + + character/npc/monster/wolver/model_fir.dat + + Aura + + particle/buff_auraup.dat + + Scale + 3.25 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 3 Alpha + + + Warp Style + Ash + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Frostifur/Alpha Frostifur 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 1 (Base) + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Freeze + + Chance + 0.5 + Power + 30 + + + + + + Defense (Status) + + + + 8 + + + 257 + -25 + + + + Model + + character/npc/monster/wolver/model_fre.dat + + Aura + + particle/buff_auraup.dat + + Scale + 2.5 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 1 Alpha + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Frostifur/Alpha Frostifur 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 2 (Base) + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Freeze 2 + + Chance + 0.5 + Power + 40 + + + + + + Defense (Status) + + + + 8 + + + 257 + -25 + + + + Model + + character/npc/monster/wolver/model_fre.dat + + Aura + + particle/buff_auraup.dat + + Scale + 2.5 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 2 Alpha + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Frostifur/Alpha Frostifur 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 3 (Base) + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Freeze 3 + + Chance + 0.5 + Power + 50 + + + + + + Defense (Status) + + + + 8 + + + 257 + -25 + + + + Model + + character/npc/monster/wolver/model_fre.dat + + Aura + + particle/buff_auraup.dat + + Scale + 3.25 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 3 Alpha + + + Warp Style + Ash + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Voltail/Alpha Voltail 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 1 (Base) + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Shock + + Chance + 0.5 + Power + 30 + + + + + + Defense (Status) + + + + 16 + + + 257 + -25 + + + 8 + 50 + + + + Model + + character/npc/monster/wolver/model_sho.dat + + Aura + + particle/buff_auraup.dat + + Scale + 2.5 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 1 Alpha + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Voltail/Alpha Voltail 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 2 (Base) + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Shock 2 + + Chance + 0.5 + Power + 40 + + + + + + Defense (Status) + + + + 16 + + + 257 + -25 + + + 8 + 50 + + + + Model + + character/npc/monster/wolver/model_sho.dat + + Aura + + particle/buff_auraup.dat + + Scale + 2.5 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 2 Alpha + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Voltail/Alpha Voltail 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 3 (Base) + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Shock 3 + + Chance + 0.5 + Power + 50 + + + + + + Defense (Status) + + + + 16 + + + 257 + -25 + + + 8 + 50 + + + + Model + + character/npc/monster/wolver/model_sho.dat + + Aura + + particle/buff_auraup.dat + + Scale + 3.25 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 3 Alpha + + + Warp Style + Dusk + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Wolver/Alpha Wolver 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 1 (Base) + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + + Defense (Status) + + + + 257 + -25 + + + 8 + 50 + + + + Loot Table + + Treasure/Monster/Beast/Alpha Wolver/Alpha Wolver Loot + + Model + + character/npc/monster/wolver/model_nrm.dat + + Aura + + particle/buff_auraup.dat + + Scale + 2.5 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 1 Alpha + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Wolver/Alpha Wolver 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 2 (Base) + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + + Defense (Status) + + + + 257 + -25 + + + 8 + 50 + + + + Model + + character/npc/monster/wolver/model_nrm.dat + + Aura + + particle/buff_auraup.dat + + Scale + 2.5 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 2 Alpha + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Wolver/Alpha Wolver 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 3 (Base) + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + + Defense (Status) + + + + 257 + -25 + + + 8 + 50 + + + + Model + + character/npc/monster/wolver/model_nrm.dat + + Aura + + particle/buff_auraup.dat + + Scale + 3.25 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 3 Alpha + + + Warp Style + Yellow + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 1 (Base) + + + Model + implementation.sprite.model + + + Damage + implementation.attacks[5].ref["Attack"]["Damage"], implementation.attacks[6].ref["Attack"]["Damage"], implementation.attacks[7].ref["Damage"] + + + Defense (Status) + implementation.defense.defenses[1] + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Wave Tag + implementation.tags.tags[4] + + + + + + character/npc/monster/wolver/model_nrm.dat + + Aura + + particle/buff_auraup.dat + + Scale + 2.5 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 1 Alpha + + + 1.5 + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + + 3.1415927 + + character/npc/monster/wolver/animation/turn_left.dat + + + character/npc/monster/wolver/animation/turn_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + character/npc/monster/wolver/animation/activate.dat + + Sound File + sound/effect/monster/wolver_spawn.ogg + Variant + Yellow + + + + + 0.44 + + + + + + Treasure/Monster/Beast/Alpha Wolver/Alpha Wolver Loot + + + + + + + Buff + + Damage Modifier + 0.3 + Defense Modifier + 0.0 + Duration + 5000 + Source + alpha_wolver + Variant + Attack Up + + + + + + 8 + 79 + 3.25 + 6.981317 + 80 + 340 + 1 + 9 + + Monster/Health/Health Base +05 + + 0.3 + 3 + 433 + 1481 + 1333 + 4.25 + + + + Character/NPC/Monster/Beast/Wolver/Bark + + Sound File + sound/effect/monster/wolver_alpha_bark.ogg + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (Y) + + Direction + Left + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (Y) + + Direction + Right + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Dodge (X) + + Direction + Left + + + Next Attack + 0 + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (X) + + Direction + Backward + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Bite, chain 1 + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + + + + Next Attack + 6 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Bite, chain 2 + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + + + + Next Attack + 7 + + + + + + Character/NPC/Monster/Beast/Wolver/Bite, chain 3 + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + + 8 + 50 + + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 2 (Base) + + + Model + implementation.sprite.model + + + Damage + implementation.attacks[5].ref["Attack"]["Damage"], implementation.attacks[6].ref["Attack"]["Damage"], implementation.attacks[7].ref["Damage"] + + + Defense (Status) + implementation.defense.defenses[1] + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Wave Tag + implementation.tags.tags[4] + + + + + + character/npc/monster/wolver/model_nrm.dat + + Aura + + particle/buff_auraup.dat + + Scale + 2.5 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 2 Alpha + + + 1.5 + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + + 3.1415927 + + character/npc/monster/wolver/animation/turn_left.dat + + + character/npc/monster/wolver/animation/turn_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + character/npc/monster/wolver/animation/activate.dat + + Sound File + sound/effect/monster/wolver_spawn.ogg + Variant + Yellow + + + + + 0.44 + + + + + + Treasure/Monster/Beast/Alpha Wolver/Alpha Wolver Loot + + + + + + + Buff + + Damage Modifier + 0.3 + Defense Modifier + 0.0 + Duration + 5000 + Source + alpha_wolver + Variant + Attack Up + + + + + + 8 + 79 + 3.75 + 6.981317 + 480 + 1080 + 9 + 19 + + Monster/Health/Health Base +05 + + 0.3 + 3 + 433 + 1481 + 1333 + 5.0 + + + + Character/NPC/Monster/Beast/Wolver/Bark + + Sound File + sound/effect/monster/wolver_alpha_bark.ogg + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (Y) + + Direction + Left + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (Y) + + Direction + Right + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Dodge (X) + + Direction + Left + + + Next Attack + 5 + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (X) + + Direction + Backward + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Bite, chain 1 + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + + + + Next Attack + 6 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Bite, chain 2 + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + + + + Next Attack + 7 + + + + + + Character/NPC/Monster/Beast/Wolver/Bite, chain 3 + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + + 8 + 50 + + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 3 (Base) + + + Model + implementation.sprite.model + + + Damage + implementation.attacks[7].ref["Damage"], implementation.attacks[6].ref["Attack"]["Damage"], implementation.attacks[5].ref["Attack"]["Damage"] + + + Defense (Status) + implementation.defense.defenses[1] + + + Wave Tag + implementation.tags.tags[4] + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Warp Style + implementation.attacks[4].ref["Attack"]["Variant"], implementation.attacks[3].ref["Attack"]["Variant"], implementation.attacks[2].ref["Variant"], implementation.attacks[1].ref["Variant"] + + + + + + character/npc/monster/wolver/model_nrm.dat + + Aura + + particle/buff_auraup.dat + + Scale + 3.25 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 3 Alpha + + + 1.5 + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + + 3.1415927 + + character/npc/monster/wolver/animation/turn_left.dat + + + character/npc/monster/wolver/animation/turn_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + character/npc/monster/wolver/animation/activate.dat + + Sound File + sound/effect/monster/wolver_spawn.ogg + Variant + Ash + + + + + 0.44 + + + + + + Treasure/Monster/Beast/Alpha Wolver/Alpha Wolver Loot + + + + + + + Buff + + Damage Modifier + 0.35 + Defense Modifier + 0.1 + Duration + 5000 + Source + alpha_wolver + Variant + Attack Up + + + + + + 8 + 79 + 3.75 + 6.981317 + 1440 + 2880 + 19 + 30 + + Monster/Health/Health Base +05 + + 0.3 + 3 + 433 + 1481 + 1333 + 5.0 + + + + Character/NPC/Monster/Beast/Wolver/Bark + + Sound File + sound/effect/monster/wolver_alpha_bark.ogg + + + + + + Character/NPC/Monster/Beast/Wolver/Warp (Instant) + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + 0.5, 2.0 + Teleport Spawn + + Variant + Ash + + + + + + Character/NPC/Monster/Beast/Wolver/Warp (Instant) + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + -0.5, -2.0 + Teleport Spawn + + Variant + Ash + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Warp + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + -1.5, 0.2 + Teleport Spawn + + Variant + Ash + + + Next Attack + 5 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Warp + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + 2.0, 1.0 + Teleport Spawn + + Variant + Ash + + + Next Attack + 5 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Bite, chain 1 + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + + + + Next Attack + 6 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Bite, chain 2 + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + + + + Next Attack + 7 + + + + + + Character/NPC/Monster/Beast/Wolver/Bite, chain 3 + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + + 8 + 50 + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/wolver_spawn.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 2.0 + + Transient + + character/npc/monster/wolver/parts/fx_activate.dat + + Variant + Ash + + + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/wolver_spawn.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 2.0 + + Transient + + character/npc/monster/wolver/parts/fx_activate.dat + + Variant + Ash + + + + + + + + + + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Rabid Alpha Wolver/Rabid Alpha Wolver 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 1 (Base) + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Poison + + Chance + 0.5 + Power + 30 + + + + + + Defense (Status) + + + + 2 + + + 257 + -25 + + + 8 + 50 + + + + Model + + character/npc/monster/wolver/model_poi.dat + + Aura + + particle/buff_auraup.dat + + Scale + 2.5 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 1 Alpha + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Rabid Alpha Wolver/Rabid Alpha Wolver 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 2 (Base) + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Poison 2 + + Chance + 0.5 + Power + 40 + + + + + + Defense (Status) + + + + 2 + + + 257 + -25 + + + 8 + 50 + + + + Model + + character/npc/monster/wolver/model_poi.dat + + Aura + + particle/buff_auraup.dat + + Scale + 2.5 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 2 Alpha + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Rabid Alpha Wolver/Rabid Alpha Wolver 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 3 (Base) + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Poison 3 + + Chance + 0.5 + Power + 50 + + + + + + Defense (Status) + + + + 2 + + + 257 + -25 + + + 8 + 50 + + + + Model + + character/npc/monster/wolver/model_poi.dat + + Aura + + particle/buff_auraup.dat + + Scale + 3.25 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 3 Alpha + + + Warp Style + Dusk + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Chromalisk Whelp/Chromalisk Whelp (Intro) + + + Wave Tag + implementation.actor["Tags"].tags[3] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisk Whelp + + + Behavior + + Monster/Beast/Chromalisk/Basic Targeting + + Defenses + + + Dodge Distance + 1 (default) + Head Model + + character/npc/monster/chromalisk/whelp/whelp_head.dat + + Texture + character/npc/monster/chromalisk/whelp/whelp.png + Tongue + On + + + Health Scale + + Monster/Health/Health Base -10 + + Loot Table + + Treasure/Monster/Tutorial/Chroma Whelp (TG) + + React % + 0.25 + Scale + 0.75 + Shape Radius + 0.3 + Speed + 1.5 + Speed (Targeted) + 2.6 + Tags + + (tag 1), (tag 2), (tag 3), (tag 4) + + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/whelp/whelp.png + + + + + Turn Rate + 5.2359877 + Weight + 1 + + + + + + Character/NPC/Monster/Beast/Chromalisk Whelp/Chromalisk Whelp (TG) + + + Wave Tag + implementation.actor["Tags"].tags[3] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisk Whelp + + + Defenses + + + 4 + 25 + + + 2 + 50 + + + 264 + -25 + + + Dodge Distance + 1 (default) + Head Model + + character/npc/monster/chromalisk/whelp/whelp_head.dat + + Texture + character/npc/monster/chromalisk/whelp/whelp.png + Tongue + On + + + Health Scale + + Monster/Health/Health Base -10 + + Loot Table + + Treasure/Monster/Tutorial/Chroma Whelp (TG) + + React % + 0.25 + Scale + 0.75 + Shape Radius + 0.3 + Speed + 1.5 + Speed (Targeted) + 2.6 + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/whelp/whelp.png + + + + + Turn Rate + 5.2359877 + Weight + 1 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Chromalisk/Chromalisk 1 + + + Wave Tag + implementation.actor["Tags"].tags[3] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisk Whelp + + + Defenses + + + 4 + 25 + + + 2 + 50 + + + 264 + -25 + + + Dodge Distance + 1 (default) + Head Model + + character/npc/monster/chromalisk/whelp/whelp_head.dat + + Texture + character/npc/monster/chromalisk/whelp/whelp.png + Tongue + On + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Chromalisk Loot + + React % + 0.25 + Scale + 0.75 + Shape Radius + 0.3 + Speed + 1.5 + Speed (Targeted) + 2.6 + Tags + + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/whelp/whelp.png + + + + + Turn Rate + 5.2359877 + Weight + 1 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Chromalisk/Chromalisk 2 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisk + + + Defenses + + + 4 + 25 + + + 2 + 50 + + + 264 + -25 + + + Dodge Distance + 1.5 units + Head Model + + character/npc/monster/chromalisk/chromalisk_head.dat + + Texture - File + character/npc/monster/chromalisk/skin_base.png + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Chromalisk Loot + + React % + 0.225 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 3.0 + Tags + + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/skin_base.png + + + + + Turn Rate + 6.2831855 + Weight + 3 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Chromalisk/Chromalisk 3 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Bull Chromalisk + + + Defenses + + + 4 + 25 + + + 2 + 50 + + + 264 + -25 + + + Dodge Distance + 2 units + Head Model + + character/npc/monster/chromalisk/bull/bull_head.dat + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Chromalisk Loot + + React % + 0.2 + Scale + 1.06 + Shape Radius + 0.44 + Speed + 1.5 + Speed (Targeted) + 3.4 + Tags + + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/bull/bull.png + + + + + Turn Rate + 6.2831855 + Weight + 5 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Electrolisk/Electrolisk 1 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisks/Globule Spew + + Globule Bullet + + Bullet/Monster/Chromalisk/Electrolisk Globule + + Status Damage + + Shock + + Chance + 1.0 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Mouth FX + + particle/fx_chroma_spew.dat + + Status Particles + + Variant + Shock + + + + + + Defenses + + + 16 + + + 4 + 25 + + + 2 + 50 + + + 264 + -25 + + + Dodge Distance + 1.5 units + Head Model + + character/npc/monster/chromalisk/whelp/whelp_head.dat + + Texture + character/npc/monster/chromalisk/electrolisk/skin.png + Tongue + No + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Electrolisk Loot + + React % + 0.225 + Scale + 0.8 + Shape Radius + 0.36 + Speed + 1.5 + Speed (Targeted) + 3.0 + Texture + + Model/Skinned/Sphere Mapped/Additive Mask + + Cull State + DISABLED + Mask + Opaque + Pass Mode + Normal + Receives Projections + false + Sphere Map + character/npc/monster/chromalisk/electrolisk/sheen.png + Sphere Mask + character/npc/monster/chromalisk/electrolisk/glossmap.png + Texture + + 2D/File/Default (Wrapping) + + File + character/npc/monster/chromalisk/electrolisk/skin.png + Wrap S + CLAMP_TO_EDGE + Wrap T + CLAMP_TO_EDGE + + + + + Turn Rate + 6.2831855 + Weight + 3 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Electrolisk/Electrolisk 2 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisks/Globule Spew + + Globule Bullet + + Bullet/Monster/Chromalisk/Electrolisk Globule + + Status Damage + + Shock 2 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Mouth FX + + particle/fx_chroma_spew.dat + + Status Particles + + Variant + Shock + + + + + + Defenses + + + 16 + + + 4 + 25 + + + 2 + 50 + + + 264 + -25 + + + Dodge Distance + 1.5 units + Head Model + + character/npc/monster/chromalisk/electrolisk/electro_head.dat + + Texture + character/npc/monster/chromalisk/electrolisk/skin_2.png + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Electrolisk Loot + + React % + 0.225 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 3.0 + Texture + + Model/Skinned/Sphere Mapped/Additive Mask + + Cull State + DISABLED + Mask + Opaque + Pass Mode + Normal + Receives Projections + false + Sphere Map + character/npc/monster/chromalisk/electrolisk/sheen.png + Sphere Mask + character/npc/monster/chromalisk/electrolisk/glossmap.png + Texture + + 2D/File/Default (Wrapping) + + File + character/npc/monster/chromalisk/electrolisk/skin_2.png + Wrap S + CLAMP_TO_EDGE + Wrap T + CLAMP_TO_EDGE + + + + + Turn Rate + 6.2831855 + Weight + 3 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Electrolisk/Electrolisk 3 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisks/Globule Spew + + Globule Bullet + + Bullet/Monster/Chromalisk/Electrolisk Globule + + Status Damage + + Shock 3 + + Chance + 1.0 + Power + 70 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Mouth FX + + particle/fx_chroma_spew.dat + + Status Particles + + Variant + Shock + + + + + + Defenses + + + 16 + + + 4 + 25 + + + 2 + 50 + + + 264 + -25 + + + Dodge Distance + 1.5 units + Head Model + + character/npc/monster/chromalisk/electrolisk/electro_head.dat + + Texture + character/npc/monster/chromalisk/electrolisk/skin_3.png + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Electrolisk Loot + + React % + 0.225 + Scale + 1.12 + Shape Radius + 0.44 + Speed + 1.5 + Speed (Targeted) + 3.0 + Texture + + Model/Skinned/Sphere Mapped/Additive Mask + + Cull State + DISABLED + Mask + Opaque + Pass Mode + Normal + Receives Projections + false + Sphere Map + character/npc/monster/chromalisk/electrolisk/sheen.png + Sphere Mask + character/npc/monster/chromalisk/electrolisk/glossmap.png + Texture + + 2D/File/Default (Wrapping) + + File + character/npc/monster/chromalisk/electrolisk/skin_3.png + Wrap S + CLAMP_TO_EDGE + Wrap T + CLAMP_TO_EDGE + + + + + Turn Rate + 6.2831855 + Weight + 3 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + + Tags + implementation.tags.derived + + + Head Model + implementation.sprite.model["Head"] + + + Texture + implementation.sprite.model["Texture"] + + + Scale + implementation.sprite.scale + + + Health Scale + implementation.health_scale + + + Shape Radius + implementation.shape.radius + + + React % + implementation.min_react_percent + + + Weight + implementation.impulse_level + + + Speed + implementation.speed + + + Speed (Targeted) + implementation.targeted_speed + + + Turn Rate + implementation.turn_rate, implementation.sprite.rotations[0].rate + + + Behavior + implementation.behavior + + + Attack (Tongue) + implementation.attacks[0] + + + + Dodge Distance + + + Dodge - Back + implementation.attacks[2].ref["Dodge Distance"] + + + Dodge - Front + implementation.attacks[3].ref["Dodge Distance"] + + + Dodge - Right + implementation.attacks[4].ref["Dodge Distance"] + + + Dodge - Left + implementation.attacks[5].ref["Dodge Distance"] + + + + + + 1 (default) + + Dodge - Back + -1.0, 0.0 + Dodge - Front + 1.0, 0.0 + Dodge - Left + 0.0, -1.0 + Dodge - Right + 0.0, 1.0 + + + + + 1.5 units + + Dodge - Back + -1.5, 0.0 + Dodge - Front + 1.5, 0.0 + Dodge - Left + 0.0, -1.5 + Dodge - Right + 0.0, 1.5 + + + + + 2 units + + Dodge - Back + -2.0, 0.0 + Dodge - Front + 2.0, 0.0 + Dodge - Left + 0.0, -2.0 + Dodge - Right + 0.0, 2.0 + + + + + 2.5 units + + Dodge - Back + -2.5, 0.0 + Dodge - Front + 2.5, 0.0 + Dodge - Left + 0.0, -2.5 + Dodge - Right + 0.0, 2.5 + + + + + 3 units + + Dodge - Back + -3.0, 0.0 + Dodge - Front + 3.0, 0.0 + Dodge - Left + 0.0, -3.0 + Dodge - Right + 0.0, 3.0 + + + + 1 (default) + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Defenses + implementation.defense.defenses[1].defenses + + + + + + character/npc/monster/chromalisk/chromalisk_body.dat + + Head + + character/npc/monster/chromalisk/chromalisk_head.dat + + Texture - File + character/npc/monster/chromalisk/skin_base.png + + + Shadow Size + 1.3 + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/skin_base.png + + + + + + + + + + character/npc/monster/chromalisk/animation/standing.dat + + + + + + 2.4 + + character/npc/monster/chromalisk/animation/moving_forward.dat + + Scuffle FX + + Visual Float + + + + + + + + 6.2831855 + + character/npc/monster/chromalisk/animation/turn_left.dat + + + character/npc/monster/chromalisk/animation/turn_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/chromalisk/animation/standing.dat + + + + + + 2.4 + + character/npc/monster/chromalisk/animation/moving_forward.dat + + Scuffle FX + + Visual Float + + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + CAMO + + character/npc/monster/chromalisk/model_cloaked.dat + + + + node_steal + + + 0.4 + + + + + + Treasure/Monster/Beast/Chromalisk/Chromalisk Loot + + + + + 8 + 79 + 1.5 + 6.2831855 + + Monster/Beast/Chromalisk/Basic Targeting + + 200 + + Monster/Health/Health Base + + 0.1 + 1167 + 1500 + 3.0 + + + + Character/NPC/Monster/Beast/Parts/Chromalisk + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk - Camoflage Activate + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Dodge back + + Dodge Distance + -1.0, 0.0 + + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Dodge forward + + Dodge Distance + 1.0, 0.0 + + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Dodge right + + Dodge Distance + 0.0, 1.0 + + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Dodge left + + Dodge Distance + 0.0, -1.0 + + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Panic emote + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Chromalisk (windup) + + Chain Condition + + + Next Attack + 0 + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + + + + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk - Four Directional + + + Tags + implementation.actor["Tags"].derived + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisk - No Intro + + + Defenses + + + 10 + + + 20 + + + 2 + 20 + + + 8 + -25 + + + Dodge Distance + 1.5 units + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Chromalisk Loot + + React % + 0.25 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 3.0 + Speed (Targeted) + 3.0 + Turn Rate + 18.849556 + Weight + 3 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Salamander/Salamander 1 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisks/Globule Spew + + Globule Bullet + + Bullet/Monster/Chromalisk/Salamander Globule + + Status Damage + + Fire + + Chance + 1.0 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Mouth FX + + particle/fx_chroma_spew.dat + + Status Particles + + particle/part_chroma_spew_fire.dat + + Variant + Fire + + + + + + Defenses + + + 4 + + + 2 + 50 + + + 264 + -25 + + + Dodge Distance + 1.5 units + Head Model + + character/npc/monster/chromalisk/whelp/whelp_head.dat + + Texture + character/npc/monster/chromalisk/salamander/salamander_base.png + Tongue + No + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Salamander Loot + + React % + 0.225 + Scale + 0.8 + Shape Radius + 0.36 + Speed + 1.5 + Speed (Targeted) + 3.0 + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/salamander/salamander_base.png + + + + + Turn Rate + 6.2831855 + Weight + 3 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Salamander/Salamander 2 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisks/Globule Spew + + Globule Bullet + + Bullet/Monster/Chromalisk/Salamander Globule + + Status Damage + + Fire 2 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Mouth FX + + particle/fx_chroma_spew.dat + + Status Particles + + particle/part_chroma_spew_fire.dat + + Variant + Fire + + + + + + Defenses + + + 4 + + + 2 + 50 + + + 264 + -25 + + + Dodge Distance + 1.5 units + Head Model + + character/npc/monster/chromalisk/salamander/salamander_head.dat + + Texture + character/npc/monster/chromalisk/salamander/salamander_2.png + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Salamander Loot + + React % + 0.225 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 3.0 + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/salamander/salamander_2.png + + + + + Turn Rate + 6.2831855 + Weight + 3 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Salamander/Salamander 3 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisks/Globule Spew + + Globule Bullet + + Bullet/Monster/Chromalisk/Salamander Globule + + Status Damage + + Fire 3 + + Chance + 1.0 + Power + 70 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Mouth FX + + particle/fx_chroma_spew.dat + + Status Particles + + particle/part_chroma_spew_fire.dat + + Variant + Fire + + + + + + Defenses + + + 4 + + + 2 + 50 + + + 264 + -25 + + + Dodge Distance + 1.5 units + Head Model + + character/npc/monster/chromalisk/salamander/salamander_head.dat + + Texture + character/npc/monster/chromalisk/salamander/salamander_3.png + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Salamander Loot + + React % + 0.225 + Scale + 1.12 + Shape Radius + 0.44 + Speed + 1.5 + Speed (Targeted) + 3.0 + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/salamander/salamander_3.png + + + + + Turn Rate + 6.2831855 + Weight + 3 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Tundralisk/Tundralisk 1 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisks/Globule Spew + + Globule Bullet + + Bullet/Monster/Chromalisk/Tundralisk Globule + + Status Damage + + Freeze + + Chance + 1.0 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Mouth FX + + particle/fx_chroma_spew.dat + + Status Particles + + particle/part_chroma_spew_freeze.dat + + Variant + Freeze + + + + + + Behavior + + Defenses + + + 8 + + + 4 + 25 + + + 2 + 50 + + + 256 + -25 + + + Dodge Distance + 1.5 units + Head Model + + character/npc/monster/chromalisk/whelp/whelp_head.dat + + Texture + character/npc/monster/chromalisk/tundralisk/tundralisk_base.png + Tongue + No + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Tundralisk Loot + + React % + 0.225 + Scale + 0.8 + Shape Radius + 0.36 + Speed + 1.5 + Speed (Targeted) + 3.0 + Tags + + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/tundralisk/tundralisk_base.png + + + + + Turn Rate + 6.2831855 + Weight + 3 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Tundralisk/Tundralisk 2 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisks/Globule Spew + + Globule Bullet + + Bullet/Monster/Chromalisk/Tundralisk Globule + + Status Damage + + Freeze 2 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Mouth FX + + particle/fx_chroma_spew.dat + + Status Particles + + particle/part_chroma_spew_freeze.dat + + Variant + Freeze + + + + + + Behavior + + Defenses + + + 8 + + + 4 + 25 + + + 2 + 50 + + + 256 + -25 + + + Dodge Distance + 1.5 units + Head Model + + character/npc/monster/chromalisk/tundralisk/tundralisk_head.dat + + Texture + character/npc/monster/chromalisk/tundralisk/tundralisk_2.png + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Tundralisk Loot + + React % + 0.225 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 3.0 + Tags + + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/tundralisk/tundralisk_2.png + + + + + Turn Rate + 6.2831855 + Weight + 3 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Tundralisk/Tundralisk 3 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisks/Globule Spew + + Globule Bullet + + Bullet/Monster/Chromalisk/Tundralisk Globule + + Status Damage + + Freeze 3 + + Chance + 1.0 + Power + 70 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Mouth FX + + particle/fx_chroma_spew.dat + + Status Particles + + particle/part_chroma_spew_freeze.dat + + Variant + Freeze + + + + + + Behavior + + Defenses + + + 8 + + + 4 + 25 + + + 2 + 50 + + + 256 + -25 + + + Dodge Distance + 1.5 units + Head Model + + character/npc/monster/chromalisk/tundralisk/tundralisk_head.dat + + Texture + character/npc/monster/chromalisk/tundralisk/tundralisk_3.png + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Tundralisk Loot + + React % + 0.225 + Scale + 1.12 + Shape Radius + 0.44 + Speed + 1.5 + Speed (Targeted) + 3.0 + Tags + + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/tundralisk/tundralisk_3.png + + + + + Turn Rate + 6.2831855 + Weight + 3 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Virulisk/Virulisk 1 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisks/Globule Spew + + Globule Bullet + + Bullet/Monster/Chromalisk/Virulisk Globule + + Status Damage + + Poison + + Chance + 1.0 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Mouth FX + + particle/fx_chroma_spew.dat + + Status Particles + + particle/part_chroma_spew_poison.dat + + Variant + Poison + + + + + + Defenses + + + 15 + 2 + + + 4 + 25 + + + 264 + -25 + + + Dodge Distance + 2 units + Head Model + + character/npc/monster/chromalisk/whelp/whelp_head.dat + + Texture + character/npc/monster/chromalisk/virulisk/viruwhelp.png + Tongue + No + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Virulisk Loot + + React % + 0.3 + Scale + 0.8 + Shape Radius + 0.36 + Speed + 1.7 + Speed (Targeted) + 2.6 + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/virulisk/virulisk.png + + + + + Turn Rate + 6.2831855 + Weight + 4 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Virulisk/Virulisk 2 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisks/Globule Spew + + Globule Bullet + + Bullet/Monster/Chromalisk/Virulisk Globule + + Status Damage + + Poison 2 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Mouth FX + + particle/fx_chroma_spew.dat + + Status Particles + + particle/part_chroma_spew_poison.dat + + Variant + Poison + + + + + + Defenses + + + 2 + + + 4 + 25 + + + 264 + -25 + + + Dodge Distance + 2.5 units + Head Model + + character/npc/monster/chromalisk/virulisk/virulisk_head.dat + + Texture + character/npc/monster/chromalisk/virulisk/virulisk.png + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Virulisk Loot + + React % + 0.3 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.7 + Speed (Targeted) + 3.0 + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/virulisk/virulisk.png + + + + + Turn Rate + 6.2831855 + Weight + 4 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Virulisk/Virulisk 3 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisks/Globule Spew + + Globule Bullet + + Bullet/Monster/Chromalisk/Virulisk Globule + + Status Damage + + Poison 3 + + Chance + 1.0 + Power + 70 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Mouth FX + + particle/fx_chroma_spew.dat + + Status Particles + + particle/part_chroma_spew_poison.dat + + Variant + Poison + + + + + + Defenses + + + 2 + + + 4 + 25 + + + 264 + -25 + + + Dodge Distance + 3 units + Head Model + + character/npc/monster/chromalisk/virulisk/virulisk_head.dat + + Texture + character/npc/monster/chromalisk/virulisk/virulisk_deadly.png + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Virulisk Loot + + React % + 0.3 + Scale + 1.12 + Shape Radius + 0.44 + Speed + 1.7 + Speed (Targeted) + 3.4 + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/virulisk/virulisk_deadly.png + + + + + Turn Rate + 6.2831855 + Weight + 4 + + + + + + Character/NPC/Monster/Beast/Kleptolisk/Kleptolisk 1 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Kleptolisk + + + Defenses + + + 4 + 25 + + + 2 + 50 + + + 264 + -25 + + + Dodge Distance + 1.5 units + Head Model + + character/npc/monster/chromalisk/kleptolisk/klepto_head.dat + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Chromalisk Loot + + React % + 0.2 + Scale + 0.9 + Shape Radius + 0.4 + Speed + 2.0 + Speed (Targeted) + 4.0 + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/kleptolisk/klepto.png + + + + + Turn Rate + 6.2831855 + Weight + 2 + + + + + + Character/NPC/Monster/Beast/Kleptolisk/Kleptolisk 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Kleptolisk/Kleptolisk 1 + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Kleptolisk/Kleptolisk 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Kleptolisk/Kleptolisk 1 + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/New Vog Cub/Vog Cub + + + Tag + implementation.tags.derived + + + + + + character/npc/monster/wolver/model.dat + + Aura + + Variant + Vog Cub + + + 2.0 + 1.75 + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + + 3.1415927 + + character/npc/monster/wolver/animation/turn_left.dat + + + character/npc/monster/wolver/animation/turn_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Lower 1 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + character/npc/monster/wolver/animation/activate.dat + + Sound File + sound/effect/monster/wolver_spawn.ogg + Variant + Vog + + + + + 0.65 + + + + + + Treasure/Monster/Beast/Wolver/Vog Cub Loot + + + + + 8 + 79 + 8.726646 + + Monster/Beast/Vog Cub/Basic Targeting + + 500 + + Monster/Health/Health Base +30 + + 0.2 + 2 + 433 + 1481 + 1333 + 7.25 + + + + Character/NPC/Monster/Beast/Wolver/Bark + + Sound File + + + + + + + Character/NPC/Monster/Beast/Wolver/Warp (Instant) + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + 0.5, 2.0 + Teleport Spawn + + Bomb/Monster/Vog Flames + + Variant + Vog + + + + + + Character/NPC/Monster/Beast/Wolver/Warp (Instant) + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + -0.5, -2.0 + Teleport Spawn + + Bomb/Monster/Vog Flames + + Variant + Vog + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Warp + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + -1.5, 0.2 + Teleport Spawn + + Bomb/Monster/Vog Flames + + Variant + Vog + + + Chain Condition + + + Next Attack + 5 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Warp + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + 2.0, 1.0 + Teleport Spawn + + Bomb/Monster/Vog Flames + + Variant + Vog + + + Chain Condition + + + Next Attack + 5 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Vog Cub - Bite, chain 1 + + Chain Condition + + + Next Attack + 6 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Vog Cub - Bite, chain 2 + + Chain Condition + + + Next Attack + 7 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Vog Cub - Bite, chain 3 + + Chain Condition + + + Next Attack + 3 + + + + + + + + 30 + + + 50 + + + 8 + -50 + + + 4 + 150 + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/wolver_spawn.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 1.5 + + Transient + + character/npc/monster/wolver/parts/fx_activate.dat + + Variant + Vog + + + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/wolver_spawn.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 1.5 + + Transient + + character/npc/monster/wolver/parts/fx_activate.dat + + Variant + Vog + + + + + + + + + + + + + + + Character/NPC/Monster/Beast/New Vog Cub/Vog Cub 5 + + + Tag + implementation.tags.derived + + + + + + character/npc/monster/wolver/model.dat + + Aura + + Variant + Vog Cub + + + 2.0 + 1.75 + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + + 3.1415927 + + character/npc/monster/wolver/animation/turn_left.dat + + + character/npc/monster/wolver/animation/turn_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Lower 1 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + character/npc/monster/wolver/animation/activate.dat + + Sound File + sound/effect/monster/wolver_spawn.ogg + Variant + Vog + + + + + 0.65 + + + + + + Treasure/Monster/Beast/Wolver/Vog Cub Loot + + + + + 8 + 79 + 8.726646 + + Monster/Beast/Vog Cub/Basic Targeting + + 700 + + Monster/Health/Health Base +30 + + 0.2 + 2 + 433 + 1481 + 1333 + 7.25 + + + + Character/NPC/Monster/Beast/Wolver/Bark + + Sound File + + + + + + + Character/NPC/Monster/Beast/Wolver/Warp (Instant) + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + 0.5, 2.0 + Teleport Spawn + + Bomb/Monster/Vog Flames + + Variant + Vog + + + + + + Character/NPC/Monster/Beast/Wolver/Warp (Instant) + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + -0.5, -2.0 + Teleport Spawn + + Bomb/Monster/Vog Flames + + Variant + Vog + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Warp + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + -1.5, 0.2 + Teleport Spawn + + Bomb/Monster/Vog Flames + + Variant + Vog + + + Chain Condition + + + Next Attack + 5 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Warp + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + 2.0, 1.0 + Teleport Spawn + + Bomb/Monster/Vog Flames + + Variant + Vog + + + Chain Condition + + + Next Attack + 5 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Vog Cub - Bite, chain 1 + + Chain Condition + + + Next Attack + 6 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Vog Cub - Bite, chain 2 + + Chain Condition + + + Next Attack + 7 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Vog Cub - Bite, chain 3 + + Chain Condition + + + Next Attack + 3 + + + + + + + + 30 + + + 50 + + + 8 + -50 + + + 4 + 150 + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/wolver_spawn.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 1.5 + + Transient + + character/npc/monster/wolver/parts/fx_activate.dat + + Variant + Vog + + + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/wolver_spawn.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 1.5 + + Transient + + character/npc/monster/wolver/parts/fx_activate.dat + + Variant + Vog + + + + + + + + + + + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk (base) + + + Tags + implementation.tags.derived + + + Scale + implementation.sprite.scale + + + Health Scale + implementation.health_scale + + + Shape Radius + implementation.shape.radius + + + React % + implementation.min_react_percent + + + Weight + implementation.impulse_level + + + Speed + implementation.speed + + + Speed (Targeted) + implementation.targeted_speed + + + Turn Rate + implementation.turn_rate, implementation.sprite.rotations[0].rate + + + Behavior + implementation.behavior + + + Attack (Tongue) + implementation.attacks[0] + + + + Dodge Distance + + + Dodge - Back + implementation.attacks[2].ref["Dodge Distance"] + + + Dodge - Front + implementation.attacks[3].ref["Dodge Distance"] + + + Dodge - Right + implementation.attacks[4].ref["Dodge Distance"] + + + Dodge - Left + implementation.attacks[5].ref["Dodge Distance"] + + + + + + 1 (default) + + Dodge - Back + -1.0, 0.0 + Dodge - Front + 1.0, 0.0 + Dodge - Left + 0.0, -1.0 + Dodge - Right + 0.0, 1.0 + + + + + 1.5 units + + Dodge - Back + -1.5, 0.0 + Dodge - Front + 1.5, 0.0 + Dodge - Left + 0.0, -1.5 + Dodge - Right + 0.0, 1.5 + + + + + 2 units + + Dodge - Back + -2.0, 0.0 + Dodge - Front + 2.0, 0.0 + Dodge - Left + 0.0, -2.0 + Dodge - Right + 0.0, 2.0 + + + + + 2.5 units + + Dodge - Back + -2.5, 0.0 + Dodge - Front + 2.5, 0.0 + Dodge - Left + 0.0, -2.5 + Dodge - Right + 0.0, 2.5 + + + + + 3 units + + Dodge - Back + -3.0, 0.0 + Dodge - Front + 3.0, 0.0 + Dodge - Left + 0.0, -3.0 + Dodge - Right + 0.0, 3.0 + + + + 1 (default) + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Defenses + implementation.defense.defenses + + + + + + character/npc/monster/chromalisk/chromalisk_body.dat + + Head + + character/npc/monster/chromalisk/chromalisk_head.dat + + Texture - File + character/npc/monster/chromalisk/skin_base.png + + + Shadow Size + 1.3 + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/skin_base.png + + + + + + + + + + character/npc/monster/chromalisk/animation/standing.dat + + + + + + 2.4 + + character/npc/monster/chromalisk/animation/moving_forward.dat + + Scuffle FX + + Visual Float + + + + + + + + 6.2831855 + + character/npc/monster/chromalisk/animation/turn_left.dat + + + character/npc/monster/chromalisk/animation/turn_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/chromalisk/animation/standing.dat + + + + + + 2.4 + + character/npc/monster/chromalisk/animation/moving_forward.dat + + Scuffle FX + + Visual Float + + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + CAMO + + character/npc/monster/chromalisk/model_cloaked.dat + + + + node_steal + + + 0.4 + + + + + + Treasure/Monster/Beast/Chromalisk/Chromalisk Loot + + + + + 8 + 79 + 1.5 + 6.2831855 + 200 + 0.1 + 1167 + 1500 + 3.0 + + + + Character/NPC/Monster/Beast/Parts/Chromalisk + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk - Camoflage Activate + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Dodge back + + Dodge Distance + -1.0, 0.0 + + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Dodge forward + + Dodge Distance + 1.0, 0.0 + + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Dodge right + + Dodge Distance + 0.0, 1.0 + + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Dodge left + + Dodge Distance + 0.0, -1.0 + + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Panic emote + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Chromalisk (windup) + + Next Attack + 0 + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base +10 + + + + 4 + 25 + + + 2 + 50 + + + 264 + -25 + + + + + + + Character/NPC/Monster/Beast/Vog Cub + + + Tag + implementation.tags.derived + + + + + + character/npc/monster/wolver/model.dat + + Aura + + Variant + Vog Cub + + + 2.0 + 1.75 + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + + 3.1415927 + + character/npc/monster/wolver/animation/turn_left.dat + + + character/npc/monster/wolver/animation/turn_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Lower 1 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + character/npc/monster/wolver/animation/activate.dat + + Sound File + sound/effect/monster/wolver_spawn.ogg + Variant + Vog + + + + + 0.65 + + + + + + Treasure/Monster/Beast/Wolver/Vog Cub Loot + + + + + 8 + 79 + 8.726646 + + Monster/Beast/Vog Cub/Basic Targeting + + 500 + 0.2 + 2 + 433 + 1481 + 1333 + 7.25 + + + + Character/NPC/Monster/Beast/Wolver/Bark + + Sound File + + + + + + + Character/NPC/Monster/Beast/Wolver/Warp (Instant) + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + 0.5, 2.0 + Teleport Spawn + + Bomb/Monster/Vog Flames + + Variant + Vog + + + + + + Character/NPC/Monster/Beast/Wolver/Warp (Instant) + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + -0.5, -2.0 + Teleport Spawn + + Bomb/Monster/Vog Flames + + Variant + Vog + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Warp + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + -1.5, 0.2 + Teleport Spawn + + Bomb/Monster/Vog Flames + + Variant + Vog + + + Chain Condition + + + Next Attack + 5 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Warp + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + 2.0, 1.0 + Teleport Spawn + + Bomb/Monster/Vog Flames + + Variant + Vog + + + Chain Condition + + + Next Attack + 5 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Vog Cub - Bite, chain 1 + + Chain Condition + + + Next Attack + 6 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Vog Cub - Bite, chain 2 + + Chain Condition + + + Next Attack + 7 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Vog Cub - Bite, chain 3 + + Chain Condition + + + Next Attack + 3 + + + + + + + + 30 + + + 50 + + + 8 + -50 + + + 4 + 150 + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/wolver_spawn.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 1.5 + + Transient + + character/npc/monster/wolver/parts/fx_activate.dat + + Variant + Vog + + + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/wolver_spawn.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 1.5 + + Transient + + character/npc/monster/wolver/parts/fx_activate.dat + + Variant + Vog + + + + + + + + + + + + + + + Character/NPC/Monster/Beast/Wolver/Ash Tail/Ash Tail 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 1 (Base) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Fire + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Defense (Status) + + + + 4 + + + 8 + 50 + + + 257 + -25 + + + + Loot Table + + Treasure/Monster/Beast/Wolver/Wolver Loot + + Model + + character/npc/monster/wolver/model_fir.dat + + Aura + + Reacting Type + Knockdown + Variant + Wolver + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Wolver/Ash Tail/Ash Tail 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 2 (Base) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Fire 2 + + Chance + 0.5 + Power + 40 + + + + + + Defense (Status) + + + + 4 + + + 8 + 50 + + + 257 + -25 + + + + Model + + character/npc/monster/wolver/model_fir.dat + + Aura + + Reacting Type + Knockdown + Variant + Tier 2 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Wolver/Ash Tail/Ash Tail 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 3 (Base) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Fire 3 + + Chance + 0.5 + Power + 50 + + + + + + Defense (Status) + + + + 4 + + + 8 + 50 + + + 257 + -25 + + + + Model + + character/npc/monster/wolver/model_fir.dat + + Aura + + Reacting Type + Knockdown + Variant + Tier 3 + + + Warp Style + Ash + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Wolver/Frostifur/Frostifur 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 1 (Base) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Freeze + + Chance + 0.5 + Power + 30 + + + + + + Defense (Status) + + + + 8 + + + 257 + -25 + + + + Model + + character/npc/monster/wolver/model_fre.dat + + Aura + + Reacting Type + Knockdown + Variant + Wolver + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Wolver/Frostifur/Frostifur 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 2 (Base) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Freeze 2 + + Chance + 0.5 + Power + 40 + + + + + + Defense (Status) + + + + 8 + + + 257 + -25 + + + + Model + + character/npc/monster/wolver/model_fre.dat + + Aura + + Reacting Type + Knockdown + Variant + Tier 2 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Wolver/Frostifur/Frostifur 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 3 (Base) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Freeze 3 + + Chance + 0.5 + Power + 50 + + + + + + Defense (Status) + + + + 8 + + + 257 + -25 + + + + Model + + character/npc/monster/wolver/model_fre.dat + + Aura + + Reacting Type + Knockdown + Variant + Tier 3 + + + Warp Style + Ash + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 1 (Base) + + + Model + implementation.sprite.model + + + Damage + implementation.attacks[5].ref["Damage"] + + + Defense (Status) + implementation.defense.defenses[1] + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Wave Tag + implementation.tags.tags[3] + + + + + + character/npc/monster/wolver/model_nrm.dat + + Aura + + Reacting Type + Knockdown + Variant + Wolver + + + 1.25 + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + + 3.1415927 + + character/npc/monster/wolver/animation/turn_left.dat + + + character/npc/monster/wolver/animation/turn_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + character/npc/monster/wolver/animation/activate.dat + + Sound File + sound/effect/monster/wolver_spawn.ogg + Variant + Yellow + + + + + 0.33 + + + (tag 1), (tag 2), (tag 3), (tag 4) + + + + + + Treasure/Monster/Beast/Wolver/Wolver Loot + + + + + 8 + 79 + 3.0 + 5.2359877 + 40 + 160 + 1 + 9 + + Monster/Health/Health Base + + 0.1 + 2000 + 1481 + 1333 + 4.0 + + + + Character/NPC/Monster/Beast/Wolver/Bark + + Sound File + sound/effect/monster/wolver_death.ogg + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (Y) + + Direction + Left + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (Y) + + Direction + Right + + + + + + Character/NPC/Monster/Beast/Wolver/Bark + + Sound File + sound/effect/monster/wolver_death.ogg + + + + + + Character/NPC/Monster/Beast/Wolver/Bark + + Sound File + sound/effect/monster/wolver_death.ogg + + + + + + Character/NPC/Monster/Beast/Wolver/Bite, chain 1 + + Damage + + + Monster/Damage/Attack Base + + 4 + + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + + + + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 2 (Base) + + + Model + implementation.sprite.model + + + Damage + implementation.attacks[5].ref["Damage"] + + + Defense (Status) + implementation.defense.defenses[1] + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Wave Tag + implementation.tags.tags[3] + + + + + + character/npc/monster/wolver/model_nrm.dat + + Aura + + Reacting Type + Knockdown + Variant + Tier 2 + + + 1.25 + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + + 3.1415927 + + character/npc/monster/wolver/animation/turn_left.dat + + + character/npc/monster/wolver/animation/turn_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + character/npc/monster/wolver/animation/activate.dat + + Sound File + sound/effect/monster/wolver_spawn.ogg + Variant + Yellow + + + + + 0.33 + + + (tag 1), (tag 2), (tag 3), (tag 4) + + + + + + Treasure/Monster/Beast/Wolver/Wolver Loot + + + + + 8 + 79 + 3.5 + 5.2359877 + 240 + 720 + 9 + 19 + + Monster/Health/Health Base + + 0.1 + 2000 + 1481 + 1333 + 4.5 + + + + Character/NPC/Monster/Beast/Wolver/Bark + + Sound File + sound/effect/monster/wolver_death.ogg + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (Y) + + Direction + Left + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (Y) + + Direction + Right + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Dodge (X) + + Direction + Left + + + Chain Condition + + + Next Attack + 5 + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (X) + + Direction + Backward + + + + + + Character/NPC/Monster/Beast/Wolver/Bite, chain 1 + + Damage + + + Monster/Damage/Attack Base + + 4 + + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + + + + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 3 (Base) + + + Model + implementation.sprite.model + + + Damage + implementation.attacks[5].ref["Damage"] + + + Warp Style + implementation.damage_action.action.actions[2].action.effect["Model"]["Transient"]["Variant"], implementation.damage_action.action.actions[0].effect["Model"]["Transient"]["Variant"], implementation.attacks[3].ref["Attack"]["Variant"], implementation.attacks[4].ref["Attack"]["Variant"], implementation.attacks[2].ref["Variant"], implementation.attacks[1].ref["Variant"] + + + Defense (Status) + implementation.defense.defenses[1] + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Wave Tag + implementation.tags.tags[3] + + + + + + character/npc/monster/wolver/model_nrm.dat + + Aura + + Reacting Type + Knockdown + Variant + Tier 3 + + + 1.25 + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + + 3.1415927 + + character/npc/monster/wolver/animation/turn_left.dat + + + character/npc/monster/wolver/animation/turn_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + character/npc/monster/wolver/animation/activate.dat + + Sound File + sound/effect/monster/wolver_spawn.ogg + Variant + Ash + + + + + 0.33 + + + (tag 1), (tag 2), (tag 3), (tag 4) + + + + + + Treasure/Monster/Beast/Wolver/Wolver Loot + + + + + 8 + 79 + 3.5 + 5.2359877 + 720 + 1440 + 19 + 30 + + Monster/Health/Health Base + + 0.3 + 2000 + 1481 + 1333 + 5.0 + + + + Character/NPC/Monster/Beast/Wolver/Bark + + Sound File + sound/effect/monster/wolver_death.ogg + + + + + + Character/NPC/Monster/Beast/Wolver/Warp (Instant) + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + 0.5, 2.0 + Teleport Spawn + + Variant + Ash + + + + + + Character/NPC/Monster/Beast/Wolver/Warp (Instant) + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + -0.5, -2.0 + Teleport Spawn + + Variant + Ash + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Warp + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + -1.5, -0.2 + Teleport Spawn + + Variant + Ash + + + Chain Condition + + + Next Attack + 5 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Warp + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + 2.0, 1.0 + Teleport Spawn + + Variant + Ash + + + Chain Condition + + + Next Attack + 5 + + + + + + Character/NPC/Monster/Beast/Wolver/Bite, chain 1 + + Damage + + + Monster/Damage/Attack Base + + 4 + + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/wolver_spawn.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 2.0 + + Transient + + character/npc/monster/wolver/parts/fx_activate.dat + + Variant + Ash + + + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/wolver_spawn.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 2.0 + + Transient + + character/npc/monster/wolver/parts/fx_activate.dat + + Variant + Ash + + + + + + + + + + + + + + + Character/NPC/Monster/Beast/Wolver/Rabid Wolver/Rabid Wolver 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 1 (Base) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Poison + + Chance + 0.5 + Power + 30 + + + + + + Defense (Status) + + + + 2 + + + 8 + 50 + + + 257 + -25 + + + + Model + + character/npc/monster/wolver/model_poi.dat + + Aura + + Reacting Type + Knockdown + Variant + Wolver + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Wolver/Rabid Wolver/Rabid Wolver 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 2 (Base) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Poison 2 + + Chance + 0.5 + Power + 40 + + + + + + Defense (Status) + + + + 2 + + + 8 + 50 + + + 257 + -25 + + + + Model + + character/npc/monster/wolver/model_poi.dat + + Aura + + Reacting Type + Knockdown + Variant + Tier 2 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Wolver/Rabid Wolver/Rabid Wolver 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 3 (Base) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Poison 3 + + Chance + 0.5 + Power + 50 + + + + + + Defense (Status) + + + + 2 + + + 8 + 50 + + + 257 + -25 + + + + Model + + character/npc/monster/wolver/model_poi.dat + + Aura + + Reacting Type + Knockdown + Variant + Tier 3 + + + Warp Style + Dusk + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Wolver/Voltail/Voltail 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 1 (Base) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Shock + + Chance + 0.5 + Power + 30 + + + + + + Defense (Status) + + + + 16 + + + 8 + 50 + + + 257 + -25 + + + + Model + + character/npc/monster/wolver/model_sho.dat + + Aura + + Reacting Type + Knockdown + Variant + Wolver + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Wolver/Voltail/Voltail 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 2 (Base) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Shock 2 + + Chance + 0.5 + Power + 40 + + + + + + Defense (Status) + + + + 16 + + + 8 + 50 + + + 257 + -25 + + + + Model + + character/npc/monster/wolver/model_sho.dat + + Aura + + Reacting Type + Knockdown + Variant + Tier 2 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Wolver/Voltail/Voltail 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 3 (Base) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Shock 3 + + Chance + 0.5 + Power + 50 + + + + + + Defense (Status) + + + + 16 + + + 8 + 50 + + + 257 + -25 + + + + Model + + character/npc/monster/wolver/model_sho.dat + + Aura + + Reacting Type + Knockdown + Variant + Tier 3 + + + Warp Style + Dusk + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Wolver/Wolver (TG) + + + Wave Tag + implementation.tags.tags[3] + + + + + + character/npc/monster/wolver/model.dat + + Aura + + Variant + Wolver + + + 1.25 + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + + 3.1415927 + + character/npc/monster/wolver/animation/turn_left.dat + + + character/npc/monster/wolver/animation/turn_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + character/npc/monster/wolver/animation/activate.dat + + Sound File + sound/effect/monster/wolver_spawn.ogg + Variant + Yellow + + + + + 0.33 + + + + + + Treasure/Monster/Tutorial/Wolver (TG) + + + + + 8 + 79 + 2.5 + 5.2359877 + 20 + 80 + 1 + 9 + + Monster/Health/Health Base -10 + + 0.1 + 433 + 1481 + 1333 + 3.5 + + + + Character/NPC/Monster/Beast/Wolver/Bark + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (Y) + + Direction + Left + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (Y) + + Direction + Right + + + + + + Character/NPC/Monster/Beast/Wolver/Bark + + + + + Character/NPC/Monster/Beast/Wolver/Bark + + + + + Character/NPC/Monster/Beast/Wolver/Bite (Training Grounds) + + + + + + + 20 + 80 + 1 + 9 + + + 40 + 3 + 9 + + + 180 + 340 + 1 + 9 + + + 40 + 3 + 9 + + + 8 + 50 + + + + + + + Character/NPC/Monster/Beast/Wolver/Wolver/Wolver 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 1 (Base) + + Damage + + + Monster/Damage/Attack Base + + 4 + + Defense (Status) + + + + 8 + 50 + + + 257 + -25 + + + + Loot Table + + Treasure/Monster/Beast/Wolver/Wolver Loot + + Model + + character/npc/monster/wolver/model_nrm.dat + + Aura + + Reacting Type + Knockdown + Variant + Wolver + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Wolver/Wolver/Wolver 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 2 (Base) + + Damage + + + Monster/Damage/Attack Base + + 4 + + Defense (Status) + + + + 8 + 50 + + + 257 + -25 + + + + Loot Table + + Treasure/Monster/Beast/Wolver/Wolver Loot + + Model + + character/npc/monster/wolver/model_nrm.dat + + Aura + + Reacting Type + Knockdown + Variant + Tier 2 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Wolver/Wolver/Wolver 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 3 (Base) + + Damage + + + Monster/Damage/Attack Base + + 4 + + Defense (Status) + + + + 8 + 50 + + + 257 + -25 + + + + Loot Table + + Treasure/Monster/Beast/Wolver/Wolver Loot + + Model + + character/npc/monster/wolver/model_nrm.dat + + Aura + + Reacting Type + Knockdown + Variant + Tier 3 + + + Warp Style + Yellow + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/MiniProjectile + + + + Range + + + Speed + implementation.speed + + + Fuse + implementation.fuse + + + Sprite Speed + implementation.sprite.model["Speed"] + + + + + + Short + + Fuse + 500 + Speed + 4.0 + Sprite Speed + 6.0 + + + + + Medium + + Fuse + 750 + Speed + 6.0 + Sprite Speed + 3.0 + + + + + Long + + Fuse + 1000 + Speed + 8.0 + Sprite Speed + 2.0 + + + + Medium + + + Max Minions + implementation.detonation_action.condition.expression.second_operand.value + + + + + + particle/bullet/fx_jellyorb.dat + + Speed + 2.0 + Variant + Royal + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/jelly_death.ogg + Gain + 0.8 + Pitch + 1.1 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + 0.0, 0.0, -1.0 + + Transient + + particle/fx_jellydeath.dat + + Core + false + color + Royal + + + + + + + 0.15 + + 0 + 199 + 8.0 + true + 0.5 + 1.0, 0.0 + 1000 + + + + + + + + + + + Monster/Single Family/Slime/Scaled - Royal Mini + + Depth Offset + 0 + + + + + + Monster/Single Family/Slime/Scaled - Royal Mini + + Depth Offset + 0 + + + + + + Monster/Single Family/Slime/Scaled - Royal Mini + + Depth Offset + 0 + + + + + + Monster/Single Family/Slime/Scaled - Royal Mini + + Depth Offset + 0 + + + + + + + + + + + + Monster/Single Family/Slime/Scaled - Royal Mini + + Depth Offset + 0 + + + + + + Monster/Single Family/Slime/Scaled - Royal Mini + + Depth Offset + 0 + + + + + + Monster/Single Family/Slime/Scaled - Royal Mini + + Depth Offset + 0 + + + + + + + + + + + + Monster/Single Family/Slime/Scaled - Royal Mini + + Depth Offset + 0 + + + + + + Monster/Single Family/Slime/Scaled - Royal Mini + + Depth Offset + 0 + + + + + + + + + + Monster/Single Family/Slime/Scaled - Royal Mini + + Depth Offset + 0 + + + + + + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/MinionProjectile + + + + Range + + + Speed + implementation.speed + + + Fuse + implementation.fuse + + + Sprite Speed + implementation.sprite.model["Speed"] + + + + + + Short + + Fuse + 500 + Speed + 4.0 + Sprite Speed + 6.0 + + + + + Medium + + Fuse + 750 + Speed + 6.0 + Sprite Speed + 3.0 + + + + + Long + + Fuse + 1000 + Speed + 8.0 + Sprite Speed + 2.0 + + + + Medium + + + + + + particle/bullet/fx_jellyorb.dat + + Speed + 2.0 + Variant + Royal + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/jelly_death.ogg + Gain + 0.8 + Pitch + 1.1 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/monster/jelly/jelly_little_spawn_01.ogg + Gain + 1.0 + Pitch adjust + Higher 1 + Range + Medium + + + Transform + + 2.0 + 0.0, 0.0, -1.0 + + Transient + + particle/fx_jellydeath.dat + + Core + false + color + Royal + + + + + + + 0.15 + + 0 + 199 + 8.0 + true + 0.5 + 1.0, 0.0 + 1000 + + + + + + Monster/Single Family/Slime/Scaled - Jelly Cube + + Depth Offset + 0 + Wave Tag + loot_none + + + + + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Jelly (Base) + + + Hvy Minion Interval + implementation.behavior["Hvy Minion Interval"], implementation.handlers[3].action.action.actor["Hvy Minion Interval"] + + + Wave Tag + implementation.tags.tags[3], implementation.handlers[3].action.action.actor["Wave Tag"] + + + + + + character/npc/monster/royaljelly/model.dat + + Variant + Purple + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, large + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, boss + + Transform + + 2.0 + + Transient + + + + 3.0 + 2.8 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 0.5 + + + + + + + 1.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Lower 2 + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Lower 2 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 0.5 + + + + + + + 1.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + 3.0 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 1.5 + + + + + + 1.0 + false + + + + + + + 2 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 0.5, 0.0 + 200 + + + + + + + Monster/Heal/Heal Base -10 + + + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Jelly (Base) (Phase 2) + + Hvy Minion Interval + 15000 + Wave Tag + (Wave Tag) + + + + + + + 8 + 79 + 0.5 + 5.2359877 + 1200 + 1200 + 1 + 30 + + Monster/Health/Health Base +40 + + 0.2 + true + 7 + 0 + 1100 + 1.0 + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + true + + + 2 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Large + Impulse + Forward + Sound - Pitch adjust + Lower 3 + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Character/NPC/Monster/Boss/Royal Jelly/Parts/MiniProjectile + + Max Minions + 25 + Range + Long + + + Bullet 2 + + Color + 0.6, 0.0, 0.6, 1.0 + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 2 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Flare Color + Normal + Radius + 3.0 + Radius Graphic + + 2.0 + + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Character/NPC/Monster/Boss/Royal Jelly/Parts/MinionProjectile + + Range + Medium + + + Bullet 2 + + Color + 0.4, 0.0, 0.4, 1.0 + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 2 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Flare Color + Normal + Radius + 3.0 + Radius Graphic + + 2.0 + + + + + + + + + + Monster/Defense/Defense Base +05 + + + Monster/Defense/Defense Base +10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + + 1 + 100 + + + 2 + -15 + + + + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/MiniProjectile + + Max Minions + 25 + Range + Short + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/MiniProjectile + + Max Minions + 25 + Range + Short + + + + + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Jelly (Base) (Phase 2) + + + Hvy Minion Interval + implementation.behavior["Hvy Minion Interval"] + + + Wave Tag + implementation.tags.tags[3] + + + + + + character/npc/monster/royaljelly/model.dat + + Variant + Purple + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, large + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, boss + + Transform + + 2.0 + + Transient + + + + 3.0 + 2.8 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 0.5 + + + + + + + 1.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Lower 2 + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Lower 2 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 0.5 + + + + + + + 1.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + 3.0 + + Transient + + particle/fx_spawn_monster.dat + + + + + + CAMO + + character/npc/monster/royaljelly/model.dat + + Variant + Red + + + + + + + 1.5 + + + + + + Treasure/Monster/Slime/Royal Jelly Loot + + + + + + + 1.0 + false + + + + + + + 2 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 0.5, 0.0 + 200 + + + + + + + + + + Monster/Heal/Heal Base -05 + + + + + + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + + Gain + 1.0 + Range + Medium + + + Transform + + 0.5 + + Transient + + character/npc/monster/tortodrone/parts/fx_aggro.dat + + + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + + Gain + 1.0 + Range + Medium + + + Transform + + 0.5 + + Transient + + character/npc/monster/tortodrone/parts/fx_aggro.dat + + + + + + + + + + + + + 8 + 79 + 0.5 + 157.07964 + 1200 + 1200 + 1 + 30 + + Monster/Health/Health Base +30 + + 0.2 + true + 7 + 5500 + 1100 + 1.0 + true + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + true + + + 2 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Large + Impulse + Forward + Sound - Pitch adjust + Lower 3 + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Character/NPC/Monster/Boss/Royal Jelly/Parts/MiniProjectile + + Max Minions + 25 + Range + Long + + + Bullet 2 + + Color + 0.6, 0.0, 0.6, 1.0 + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 2 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Flare Color + Normal + Radius + 3.0 + Radius Graphic + + 2.0 + + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Character/NPC/Monster/Boss/Royal Jelly/Parts/MinionProjectile + + Range + Medium + + + Bullet 2 + + Color + 0.4, 0.0, 0.4, 1.0 + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 2 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Flare Color + Normal + Radius + 3.0 + Radius Graphic + + 2.0 + + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Tantrum Spin + + Bullet + + Character/NPC/Monster/Boss/Royal Jelly/Parts/MiniProjectile + + Max Minions + 25 + Range + Long + + + Bullet 2 + + Character/NPC/Monster/Boss/Royal Jelly/Parts/MiniProjectile + + Max Minions + 25 + Range + Short + + + Color + 0.6, 0.0, 0.6, 1.0 + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + true + + + 2 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Radius + 3.0 + Radius Graphic + + 2.0 + + + + + + + + + + + + + + + + + Monster/Defense/Defense Base +05 + + + Monster/Defense/Defense Base +10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + + 1 + 100 + + + 2 + -15 + + + + + + + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/MiniProjectile + + Max Minions + 25 + Range + Short + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/MiniProjectile + + Max Minions + 25 + Range + Short + + + + + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Mini/Parts/Jelly Cube + + + Model + implementation.sprite.model + + + Hit Sound + implementation.sprite.hit_transient["Sounder"]["Pitch shift"] + + + Sound - Movement pitch + implementation.sprite.movements[0].animation["Sound - Pitch adjust"] + + + Death Color + implementation.sprite.destruction_transient["Transient"]["Color"] + + + Death Size + implementation.sprite.destruction_transient["Transform"] + + + Death Sound + implementation.sprite.destruction_transient["Sounder"] + + + Creation Transient + implementation.sprite.creation_transient + + + Standing Jiggle + implementation.sprite.idles[0].animation["Speed"], implementation.sprite.targeted_idles[0].animation["Speed"] + + + Scale + implementation.sprite.scale + + + Attached Scale + implementation.sprite.attached_scale + + + Shape + implementation.shape + + + Idle Speed + implementation.speed + + + Target Speed + implementation.targeted_speed + + + Health + implementation.health + + + Health End + implementation.end_health + + + Defense + implementation.defense + + + Loot Table + implementation.handlers[0].action.action.spawn_table + + + Behavior + implementation.behavior + + + Attacks + implementation.attacks + + + Tags + implementation.tags.derived + + + Handler + implementation.handlers[1] + + + + Death Time + + + DT + implementation.death_time + + + + + + Instant + + DT + 100 + + + + + Blast Warning + + DT + 4000 + + + + Instant + + + + + + character/npc/monster/jellycube/model.dat + + Trail + + variant + pink + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 1 + + + Transform + + 0.8 + + Transient + + character/npc/monster/jellycube/fx_death.dat + + Color + pink + Core + true + Transform + + + + + + + 0.8 + 0.75 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 2.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Default + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Higher 1 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 2.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.4 + + + + + + + + + + + + 160 + 239 + 1.5 + 174.51547 + 115 + 1 + 30 + + Monster/Health/Health Base -10 + + 0.25 + 100 + 1100 + 2.5 + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + 1.0 + 4 + + Damage Region + Medium + Impulse + Backward + Sound - Pitch adjust + Default + + + + + + + + 100 + + + 25 + + + 1 + 100 + + + 14 + -65 + + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Mini/Parts/Royal Mini (Base) + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Mini/Parts/Jelly Cube + + Attached Scale + 0.45 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base -10 + + 4 + + Damage Region + Small + Impulse + Forward + Sound - Pitch adjust + Higher 3 + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Spawn, small + + Transform + + 0.75 + + Transient + + particle/fx_jellydeath.dat + + Core + false + color + Royal + + + + + Death Color + Royal + Death Size + + 0.5 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 4 + + + Death Time + Instant + Defense + + + + + Monster/Defense/Defense Base +05 + + + Monster/Defense/Defense Base +10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + + 1 + 50 + + + 14 + -50 + + + + Handler + + + Health + 20 + Health End + 720 + Hit Sound + Higher 2 + Idle Speed + 1.0 + Loot Table + + Model + + character/npc/monster/jellycube/minicube/model.dat + + Trail + + variant + royal + + + Scale + 0.5 + Shape + + 0.24 + + Sound - Movement pitch + Default + Standing Jiggle + 2.0 + Tags + + Target Speed + 2.5 + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Mini/Parts/Royal Mini (Base) No Despawn + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Mini/Parts/Jelly Cube + + Attached Scale + 0.45 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base -10 + + 4 + + Damage Region + Small + Impulse + Forward + Sound - Pitch adjust + Higher 3 + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Spawn, small + + Transform + + 0.75 + + Transient + + particle/fx_jellydeath.dat + + Core + false + color + Royal + + + + + Death Color + Royal + Death Size + + 0.5 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 4 + + + Death Time + Instant + Defense + + + + + Monster/Defense/Defense Base +05 + + + Monster/Defense/Defense Base +10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + + 1 + 50 + + + 14 + -50 + + + + Handler + + + Health + 20 + Health End + 720 + Hit Sound + Higher 2 + Idle Speed + 1.0 + Loot Table + + Model + + character/npc/monster/jellycube/minicube/model.dat + + Trail + + variant + royal + + + Scale + 0.5 + Shape + + 0.24 + + Sound - Movement pitch + Default + Standing Jiggle + 2.0 + Tags + + Target Speed + 2.5 + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Mini/Royal Mini 1 + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Mini/Parts/Royal Mini (Base) + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Mini/Royal Mini, No Despawn + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Mini/Parts/Royal Mini (Base) No Despawn + + + + + Character/NPC/Monster/Boss/Royal Jelly/Royal Jelly 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Jelly (Base) + + Hvy Minion Interval + 20000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Royal Jelly 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Jelly (Base) + + Hvy Minion Interval + 17500 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Royal Jelly 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Jelly (Base) + + Hvy Minion Interval + 15000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Bullet + + + + particle/bullet/bullet_simple.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.4 + Core Min + 0.3 + color + red + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Small + color + red + + + + + + + 0.1 + + 16 + 4 + 3.333 + true + 0.25 + 1.0, 0.0 + 2500 + + + + + + Monster/Damage/Attack Base -10 + + 4 + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Bullet (Invisible) + + + + + 0.1 + + 0 + 0 + true + 1.0 + 1750 + + + Character/NPC/Monster/Boss/Swarm/Part/Bullet + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Bullet (Orbit) + + + Starting Rotation + implementation.starting_rotation + + + Orbit Radius + implementation.orbit_radius + + + Speed + implementation.speed + + + Life + implementation.handlers[1].interval + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.7 + Core Min + 0.6 + Element + Simple + Flare + true + color + red + + + + 0.8 + 0.0, 0.0, 1.0 + + + + + world/environment/shadow/circle_glow.dat + + Blend + Translucent + Color + 0.0, 0.0, 0.0, 1.0 + Size + 2.0 + + + + + + model/viewer/sounder.dat + + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/gremlin_scorcher_fire.ogg + Gain + 1.0 + Pitch + 0.5 + Range + Short + + + Viewer Extents + 8 + + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/world/block_ghost.ogg + Gain + 0.25 + Pitch adjust + Higher 3 + Range + Long + + + Transform + + 0.0, 0.0, 1.0 + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Medium + color + red + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/weapon/avenger_chit.ogg + Gain + 0.25 + Pitch adjust + Higher 2 + Range + Long + + + Transform + + 0.0, 0.0, 1.0 + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Medium + color + red + + + + + + + 0.35 + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/tortodrone_missile1.ogg + Gain + 1.0 + Pitch + 1.3 + Range + Short + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Large + color + red + + + + + + + + + + + + 16 + 12 + 0.25 + 0.75 + + + + Character/NPC/Monster/Boss/Swarm/Part/Consumed Player Marker + + + + world/environment/shadow/decal.dat + + Color + 0.34117648, 0.0627451, 0.0627451, 1.0 + Size + 1.0 + Texture + particle/texture/get_hit.png + + + + particle/fx_spawn_monster.dat + + + 0 + 0 + + + + Character/NPC/Monster/Boss/Swarm/Part/Core + + + + character/npc/monster/swarm/model_core.dat + + 2.0 + + particle/fx_gethit_monster.dat + + + particle/fx_heal.dat + + + + 1.5 + + + + + + + + Monster/Boss/Swarm Eject + + + + + Character/NPC/Monster/Boss/Swarm/Part/Core + + + + + + + + + 0.0, 0.4 + 2000 + 20 + + 8 + + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Bullet (Orbit) + + Life + 1.0 + Orbit Radius + 5.0 + Speed + 0.125 + Starting Rotation + 1.5707964 + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Bullet (Orbit) + + Life + 1.0 + Orbit Radius + 6.0 + Speed + 0.125 + Starting Rotation + 1.5707964 + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Bullet (Orbit) + + Life + 1.0 + Orbit Radius + 7.0 + Speed + 0.125 + Starting Rotation + 1.5707964 + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Bullet (Orbit) + + Life + 1.0 + Orbit Radius + 8.0 + Speed + 0.125 + Starting Rotation + 1.5707964 + + + + + + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Bullet (Orbit) + + Life + 1.0 + Orbit Radius + 2.0 + Speed + -0.125 + Starting Rotation + 1.5707964 + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Bullet (Orbit) + + Life + 1.0 + Orbit Radius + 3.0 + Speed + -0.125 + Starting Rotation + 1.5707964 + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Bullet (Orbit) + + Life + 1.0 + Orbit Radius + 4.0 + Speed + -0.125 + Starting Rotation + 1.5707964 + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Bullet (Orbit) + + Life + 1.0 + Orbit Radius + 5.0 + Speed + -0.125 + Starting Rotation + 1.5707964 + + + + + + + + + + + + + + Character/NPC/Monster/Boss/Swarm/Pulse + + Direction + Out + + + + + + + + Character/NPC/Monster/Boss/Swarm/Pulse + + Direction + In + + + + + + + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Void Marker + + Wave Tag + swarm_minion2 + + + + + + + + + + + + + Monster/Heal/Heal Base -05 + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Bullet (Invisible) + + + + + 9 + 0.0 + 174.51547 + 3000 + 3000 + 30 + + Monster/Health/Health Base +20 + + 0.01 + true + 100 + 0 + 0 + 0.0 + true + true + + + + Character/NPC/Monster/Boss/Swarm/Pulse + + Direction + Out + + + + + + Character/NPC/Monster/Boss/Swarm/Pulse + + Direction + In + + + + + + Character/NPC/Monster/Boss/Swarm/Spawn Minion + + + + + Character/NPC/Monster/Boss/Swarm/Kill Minions + + + + + + Monster/Defense/Defense Base +05 + + + Monster/Defense/Defense Base +05 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +10 + + + + + + + + + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Shadow Monster/Void Gel + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Elemental + + Attached Scale + 1.0 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + + + Monster/Damage/Attack Base + + 4 + PIERCING + + Monster/Split/Split - Half + + + + 4 + + Poison 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Medium + Flare Color + None + Impulse + Forward + Sound - Pitch adjust + Default + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Bullet/Monster/Jelly Barb + + Damage + + + + + Monster/Damage/Attack Base -05 + + PIERCING + + Monster/Split/Split - Full + + + + 4 + + Poison 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Scale + Small + Style + Shadow + + + Bullet 2 + + Color + 0.4, 0.4, 0.4, 1.0 + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + + Flare Color + None + Radius + 1.0 + Radius Graphic + + 0.5 + + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + black + Death Size + + 1.2 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 2 + + + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +10 + + + Monster/Defense/Defense Base -05 + + + Monster/Defense/Defense Base -05 + + + + 1 + 50 + + + 2 + + + 12 + -50 + + + + End Depth + 30 + End Health + 1440 + Gas Interval + 1.0 + Gas Spawn + + Health + 720 + Health Scale + + Monster/Health/Health Base +05 + + Hit Sound + Lower 2 + Idle Speed + 1.0 + Loot Table + + Treasure/Health/Monster Health, small + + Model + + character/npc/monster/swarm/shadows/model_slime.dat + + Movement - Sound pitch + Lower 1 + Scale + 1.2 + Shape + + 0.45 + + Standing Jiggle + 0.9 + Start Depth + 19 + Target Speed + 2.5 + Walk Style + Scoot + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Shadow Monster/Void Gremlin + + + Wave Tag + implementation.actor["Wave Tag"] + + + Tags + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Gremlin/Parts/Gremlin Base + + Activate Type + Normal + Attacks + + + + Character/NPC/Monster/Gremlin/Generic/Dodge Back + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Gremlin/Generic/Close Ground + + Chain Condition + + + Next Attack + 4 + + + + + + Character/NPC/Monster/Gremlin/Generic/Use Potion + + Tier Power + 3 + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Swing + + Tier + 3 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Gremlin/Tank/Hammer Thwack + + Tier + 3 + + + Chain Condition + + + Next Attack + 3 + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Pushaway + + Tier + 3 + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Throw + + Tier + 3 + + + + + Behavior + + Body Type + Darkfang Thwacker + Damage Action + + Defense + + + + + + + + + + 5.0 + 5.0 + + + -2.75, 0.0 + + + + + + + 20 + 50 + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -05 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -05 + + + + + Drop Table + + Treasure/Health/Monster Health, small + + Health Scale + + Monster/Health/Health Base + + Job Tag + job_tank + Model + + character/npc/monster/swarm/shadows/model_gremlin.dat + + Rank Tag + rank_3 + Scale + 1.2 + Speed + 5.0 + Tags + + Wave Tag + swarm_minion + Weapon Style + One Handed + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Shadow Monster/Void Sentinel + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/swarm/shadows/model_lumber.dat + + + particle/model_fxscaler.dat + + Model + + particle/fx_spawn_monster.dat + + Transfrom + + 2.0 + + + + 1.45 + 1.8 + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.4 + Blend Out + 0.0 + Sound set + Null + Speed + 0.4 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Null + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Wood + + Pitch shift + Lower 2 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.05 + Blend Out + 0.0 + Sound set + Null + Speed + 0.4 + + + + + + + 3.2 + + character/npc/monster/darkknight/walking.dat + + Sound set + Null + + + + + + animation/common/spawn_scalein.dat + + Transform + + 1.2 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.72 + + + + + + Treasure/Health/Monster Health, small + + + + + 8 + 79 + 1.2 + 3.4906585 + 1440 + 2880 + 19 + 30 + + Monster/Health/Health Base +10 + + 2 + 0.4 + true + 5 + 433 + 2500 + 1100 + 1.6 + + + + Character/NPC/Monster/Construct/Ironwood Sentinel + + + + + + + + Monster/Defense/Defense Base +05 + + + Monster/Defense/Defense Base -05 + + + Monster/Defense/Defense Base -05 + + + Monster/Defense/Defense Base +05 + + + + 2 + + + 20 + -25 + 19 + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Shadow Monster/Void Wolver + + + Wave Tag + implementation.tags.tags[3] + + + + + + character/npc/monster/swarm/shadows/model_wolver.dat + + 1.25 + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + + 3.1415927 + + character/npc/monster/wolver/animation/turn_left.dat + + + character/npc/monster/wolver/animation/turn_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + character/npc/monster/wolver/animation/activate.dat + + Sound File + sound/effect/monster/wolver_spawn.ogg + Variant + Yellow + + + + + 0.33 + + + + + + Treasure/Health/Monster Health, small + + + + + 8 + 79 + 3.5 + 5.2359877 + 240 + 720 + 9 + 19 + + Monster/Health/Health Base + + 0.1 + 433 + 1481 + 1333 + 4.5 + + + + Character/NPC/Monster/Beast/Wolver/Bark + + Sound File + + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (Y) + + Direction + Left + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (Y) + + Direction + Right + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Dodge (X) + + Direction + Left + + + Chain Condition + + + Next Attack + 5 + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (X) + + Direction + Backward + + + + + + Character/NPC/Monster/Beast/Wolver/Bite, chain 1 + + Damage + + + Monster/Damage/Attack Base + + 4 + + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -05 + + + Monster/Defense/Defense Base -05 + + + Monster/Defense/Defense Base + + + + 8 + 25 + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Shadow Monster/Void Zombie + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Parts/Zombie (Base) + + Attacks + + + + Character/NPC/Monster/Undead/Zombie/Zombie Swipe + + Status Condition + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Grapple + + Damage + + + + 4 + + + + Grab Duration + 3500 + Next Attack + 2 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 3 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 4 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 0 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Grapple + + Damage + + + + 4 + + + + Grab Duration + 2300 + Next Attack + 0 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Breath + + Breath Status Condition + + Stun 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Breath Variant + Dust + Chain Into + 7 + Warmup speed + 1.0 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Breath (loop) + + Breath Status Condition + + Stun 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Breath Variant + Dust + Chain Into (self) + 7 + + + + + Behavior + + Defense + + + + 11 + 130 + 170 + 19 + + + 4 + -25 + -25 + 19 + 29 + + + + Handlers + + + + + Treasure/Health/Monster Health, small + + + + + Health Scale + + Monster/Health/Health Base +05 + + Model + + character/npc/monster/swarm/shadows/model_zombie.dat + + React Time + 467 + Scale + 1.0 + Targeted Speed + 1.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Swarm Void + + + 2 + 1 + + world/skybox/consumed/model.dat + + + + + + + 22.5 + + + 8.25, 0.0 + + + + + 22.5 + + + -8.25, 0.0 + + + + + 22.5 + + + 0.0, 8.25 + + + + + 22.5 + + + 0.0, -8.25 + + + + + 22.5 + + + 6.0, 6.0 + 0.7853982 + + + + + 22.5 + + + -6.0, 6.0 + 2.3561945 + + + + + 22.5 + + + 6.0, -6.0 + -0.7853982 + + + + + 22.5 + + + -6.0, -6.0 + -2.3561945 + + + + + + + + + 0.0, 0.075 + 1000 + 20 + + 4 + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Core + + + + + 32 + 0 + + + + Character/NPC/Monster/Boss/Swarm/Part/Void Marker + + + Wave Tag + implementation.detonation_action.actions[0].action.actor["Wave Tag"], implementation.detonation_action.actions[1].action.actor["Wave Tag"], implementation.detonation_action.actions[2].action.actor["Wave Tag"], implementation.detonation_action.actions[3].action.actor["Wave Tag"], implementation.detonation_action.actions[4].action.actor["Wave Tag"] + + + + + + particle/fx_spawn_monster.dat + + + 0 + 0 + 1 + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Shadow Monster/Void Gremlin + + Tags + + Wave Tag + swarm_minion2 + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Shadow Monster/Void Zombie + + Wave Tag + swarm_minion2 + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Shadow Monster/Void Wolver + + Wave Tag + swarm_minion2 + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Shadow Monster/Void Gel + + Wave Tag + (Wave Tag) + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Shadow Monster/Void Sentinel + + Wave Tag + (Wave Tag) + + + + + + + + + + Character/NPC/Monster/Boss/Swarm/Swarm + + + + character/npc/monster/swarm/model.dat + + + + 5.0 + + + + + + + + + + + + -0.1, 0.05 + 100 + + + + + -0.1, 0.1 + 100 + 2 + + + + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Consumed Player Marker + + + + + + + + + + Monster/Boss/Swarm Consume + + + + + + + + + + + + + + Monster/Boss/Swarm Corruption + + Density + Sparse + + + + + + Monster/Boss/Swarm Corruption + + Density + Light + + + + + + Monster/Boss/Swarm Corruption + + Density + Medium + + + + + + Monster/Boss/Swarm Corruption + + Density + Thick + + + + + + + + 0 + 0 + 10.0 + 174.51547 + + Dev Tests/Targeting Test 1 + + 99999 + 99999 + 1 + 1.0 + 20 + 0 + 0 + 2.5 + true + true + + + + Character/NPC/Monster/Boss/Swarm/Consume + + + + + + + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Mask Base + + + Tags + implementation.tags.derived + + + Behavior + implementation.behavior + + + Attacks + implementation.attacks + + + On Shutdown + implementation.handlers[2].action + + + + Stage + + + Tag + implementation.tags.tags[1] + + + + + + 1 + + Tag + boss_stage1 + + + + + 2 + + Tag + boss_stage2 + + + + + 3 + + Tag + boss_stage3 + + + + 3 + + + Speed + implementation.targeted_speed, implementation.speed + + + Health + implementation.health + + + + + + character/npc/monster/baron/parts/model_maskrig.dat + + Variant + Wet + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/vanaduke/vanduke_mask_shatter.ogg + Gain + 1.0 + Range + Long + + + Transform + + 1.5 + + Transient + + particle/fx_potshatter_fire.dat + + + + 1.75 + + + + character/npc/monster/baron/animations/animation_maskidle.dat + + + + + + 6.0 + + character/npc/monster/baron/animations/animation_maskidle.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Bones + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/baron/animations/animation_maskidle.dat + + + + + + 6.0 + + character/npc/monster/baron/animations/animation_maskidle.dat + + + + + character/npc/monster/baron/animations/animation_maskspawn.dat + + + + CAMO + + character/npc/monster/baron/parts/model_maskrig.dat + + Variant + Fire + + + + + + + 0.6 + + + (tag 1), (tag 2) + + + + + + + + + + + Monster Attacks/Boss/Vanaduke/Mask Count Down + + + + + + + + + + + + Monster/Damage/Attack Base -05 + + 4 + true + ELEMENTAL + + Monster/Split/Split - Full + + + + 4 + + Fire 3 + + Chance + 0.75 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Stun 3 + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + 5.0, 0.0 + 700 + 3 + + + + + + + + + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (douse, sml) + + Orbit Radius + 6.0 + Speed + 0.2 + Starting Rotation + 0.0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (douse, sml) + + Orbit Radius + 6.0 + Speed + 0.2 + Starting Rotation + 3.1415927 + + + + + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (douse, sml) + + Orbit Radius + 5.0 + Speed + -0.2 + Starting Rotation + 1.5707964 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (douse, sml) + + Orbit Radius + 5.0 + Speed + -0.2 + Starting Rotation + 4.712389 + + + + + + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (sml) + + Orbit Radius + 12.0 + Speed + -0.1 + Starting Rotation + 1.5707964 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (sml) + + Orbit Radius + 12.0 + Speed + -0.1 + Starting Rotation + 4.712389 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (sml) + + Orbit Radius + 12.0 + Speed + -0.1 + Starting Rotation + 0.0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (sml) + + Orbit Radius + 12.0 + Speed + -0.1 + Starting Rotation + 3.1415927 + + + + + + + + + + + + 8 + 79 + 2.0 + 174.53293 + 5000 + 5000 + 0.3 + 20 + 0 + 4000 + 2.0 + true + true + + + + + + + + 300 + + + 400 + + + 400 + + + 400 + + + 292 + + + 10 + 50 + + + 16 + 100 + + + 1 + 50 + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Mask Stage 1 + + + Character/NPC/Monster/Boss/Vanaduke/Mask Base + + Attacks + + + + Character/NPC/Monster/Boss/Vanaduke/Mask Bullet + + + + + + + + Behavior + + Health + 5000 + On Shutdown + + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Soul + + + Speed + 2.0 + Stage + 1 + Tags + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Mask Stage 2 + + + Character/NPC/Monster/Boss/Vanaduke/Mask Base + + Attacks + + + + Character/NPC/Monster/Boss/Vanaduke/Mask Bullet + + + + + Character/NPC/Monster/Boss/Vanaduke/Mask Bullet Diagonal + + + + + + Behavior + + Health + 5500 + On Shutdown + + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Soul + + + Speed + 2.0 + Stage + 2 + Tags + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Bullet + + + Color + implementation.sprite.model["color"], implementation.sprite.destruction_transient["Transient"]["color"] + + + + + + particle/bullet/bullet_simple.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + color + yellow + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/weapon/gran_faust_chit.ogg + Gain + 0.6 + Pitch + 0.6 + Range + Medium + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Small + color + yellow + + + + + + + 0.1 + + + + + + 1040 + 133 + 3.333 + true + 1.0 + 0.4, 0.0 + 2500 + + + + + + Monster/Damage/Attack Base -10 + + ELEMENTAL + + Monster/Split/Split - Full + + + + 4 + + Fire 3 + + Chance + 0.5 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Falling Debri + + + Fire Tiles + implementation.detonation_action.actions[1].action.count + + + + + + character/npc/monster/baron/parts/fx_debrishadow.dat + + + character/npc/monster/baron/parts/fx_fallingdebri.dat + + Model + Fall + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/world/props/wooden_crash_05.ogg + Gain + 1.0 + Pitch adjust + Lower 3 + Range + Long + + + Transform + + + Transient + + character/npc/monster/baron/parts/fx_fallingdebri.dat + + Model + Hit + + + + + + 0 + 227 + 1675 + + + + + + + + 300.0 + 4 + + + 4 + + Stun 3 + + Chance + 0.5 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 4 + + Fire 3 + + Chance + 0.5 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + 1.0, 0.0 + 200 + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame Marker + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Falling Debri Marker + + + Fire Tiles + implementation.handlers[1].action.actor["Fire Tiles"] + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + + + + + 0.5 + + + + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Falling Debri + + Fire Tiles + 1 + + + + + + 0 + 227 + 500 + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame + + + Starting Rotation + implementation.starting_rotation + + + Orbit Radius + implementation.orbit_radius + + + Speed + implementation.speed + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + character/npc/monster/baron/parts/model_chainorbital.dat + + Chain + false + Eyes + true + + + + + + world/environment/shadow/circle_glow.dat + + Blend + Additive + Color + 0.53333336, 0.16078432, 0.0, 1.0 + Size + 2.0 + + + + + + model/viewer/sounder.dat + + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/gremlin_scorcher_fire.ogg + Gain + 1.0 + Pitch + 0.333 + Range + Short + + + Viewer Extents + 8 + + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/status/status_fire_pulse.ogg + Gain + 1.0 + Pitch + 0.8 + Range + Long + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Negative + Scale + Medium + color + yellow + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/weapon/cryotech_bolt_dissipate.ogg + Gain + 1.0 + Pitch + 0.7 + Range + Long + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Medium + color + yellow + + + + + + + 0.35 + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/tortodrone_missile1.ogg + Gain + 1.0 + Pitch + 1.3 + Range + Short + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Negative + Scale + Large + color + yellow + + + + + + + + + + 16 + 12 + 0.75 + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (douse) + + + Starting Rotation + implementation.actor["Starting Rotation"] + + + Orbit Radius + implementation.actor["Orbit Radius"] + + + Speed + implementation.actor["Speed"] + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (douse, base) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + true + ELEMENTAL + + Monster/Split/Split - Full + + + + 4 + + Fire 3 + + Chance + 1.0 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Knock-Back + + 2.0, 0.0 + 300 + 3 + + Model + + character/npc/monster/baron/parts/model_chainorbital.dat + + Chain + false + Eyes + true + + + Orbit Radius + 1.0 + Other Handler + + + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/gremlin_scorcher_fire.ogg + Gain + 1.0 + Pitch + 0.333 + Range + Short + + + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (douse, base) + + + Starting Rotation + implementation.starting_rotation + + + Orbit Radius + implementation.orbit_radius + + + Speed + implementation.speed + + + Other Handler + implementation.handlers[2] + + + Model + implementation.sprite.model["Models"][0].model + + + Sounder + implementation.sprite.model["Models"][2].model["Sounder"] + + + Damage + implementation.collision_action.actions[1].damage + + + Knock-Back + implementation.collision_action.actions[1].impulse_dealt + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + character/npc/monster/baron/parts/model_chainorbital.dat + + Chain + false + Eyes + true + + + + + + world/environment/shadow/circle_glow.dat + + Blend + Additive + Color + 0.53333336, 0.16078432, 0.0, 1.0 + Size + 2.0 + + + + + + model/viewer/sounder.dat + + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/gremlin_scorcher_fire.ogg + Gain + 1.0 + Pitch + 0.333 + Range + Short + + + Viewer Extents + 8 + + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/status/status_fire_pulse.ogg + Gain + 1.0 + Pitch + 0.8 + Range + Long + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Negative + Scale + Medium + color + yellow + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/weapon/cryotech_bolt_dissipate.ogg + Gain + 1.0 + Pitch + 0.7 + Range + Long + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Medium + color + yellow + + + + + + + INACTIVE + + particle/ambient_simpleglow_manual_nooffset.dat + + Alignment + BILLBOARD + Color + + + 0.0, 0.0, 0.0, 0.0 + 0.5411765, 0.6156863, 0.6901961, 0.1 + 0.0, 0.0, 0.0, 0.0 + 0.5 + 0.5 + + + Material + + Model/Translucent + + Fog + Disabled + Light Override + + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + particle/texture/flare_nopoint.png + + + + + + + + + + + 0.35 + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/tortodrone_missile1.ogg + Gain + 1.0 + Pitch + 1.3 + Range + Short + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Negative + Scale + Large + color + yellow + + + + + + + + + + + + + + + + + + + + + + 144 + 12 + 0.75 + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (douse, sml) + + + Starting Rotation + implementation.actor["Starting Rotation"] + + + Orbit Radius + implementation.actor["Orbit Radius"] + + + Speed + implementation.actor["Speed"] + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (douse, base) + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Full + + + + 4 + + Fire 3 + + Chance + 0.33 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Knock-Back + + 1.0, 0.0 + 200 + 3 + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.7 + Core Min + 0.6 + Element + Fire + Flare + true + color + red + + + Orbit Radius + 1.0 + Other Handler + + + + + Character/NPC/Monster/Boss/Vanaduke/4 Bullet Spread (red) + + Delay + 0 + + + + + + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/gremlin_scorcher_fire.ogg + Gain + 1.0 + Pitch + 0.5 + Range + Short + + + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (sml) + + + Starting Rotation + implementation.starting_rotation + + + Orbit Radius + implementation.orbit_radius + + + Speed + implementation.speed + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.7 + Core Min + 0.6 + Element + Fire + Flare + true + color + red + + + + 0.8 + + + + + world/environment/shadow/circle_glow.dat + + Blend + Additive + Color + 0.3137255, 0.05882353, 0.0, 1.0 + Size + 2.0 + + + + + + model/viewer/sounder.dat + + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/gremlin_scorcher_fire.ogg + Gain + 1.0 + Pitch + 0.5 + Range + Short + + + Viewer Extents + 8 + + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/status/status_fire_pulse.ogg + Gain + 1.0 + Pitch + 0.8 + Range + Long + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Negative + Scale + Medium + color + yellow + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/weapon/cryotech_bolt_dissipate.ogg + Gain + 1.0 + Pitch + 0.7 + Range + Long + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Medium + color + yellow + + + + + + + 0.35 + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/tortodrone_missile1.ogg + Gain + 1.0 + Pitch + 1.3 + Range + Short + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Negative + Scale + Large + color + yellow + + + + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/4 Bullet Spread (red) + + Delay + 0 + + + + + + 16 + 12 + 0.25 + 0.75 + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame Marker + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + + + + + 0.5 + + 0 + 227 + 500 + + + Dynamic/Traps and Hazards/Firestorm Fire Tile + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Marker + + + Actor + implementation.detonation_action.spawn_table["Actor"] + + + + + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + yellow + + + + 0 + 0 + 1 + + + default (Actor) + + Actor + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Soul + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + character/npc/monster/baron/parts/model_chainorbital.dat + + Chain + false + Eyes + true + + + + 0.0, 0.0, 1.0 + + + + + world/environment/shadow/circle_glow.dat + + Blend + Additive + Color + 0.5568628, 0.16862746, 0.0, 1.0 + Size + 2.0 + + + + + + + + particle/fx_fire_torch.dat + + Color + Hot Blue + Lifespan + 1 second + + + + particle/swing/vog_charged.dat + + + + 0.2 + + + + + + + + + + + + + + 0 + 79 + 9.0 + 174.51547 + 1 + 0 + 0 + 0 + 9.0 + true + true + + + + + + + + 5000 + + + 5000 + + + 5000 + + + 5000 + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Slag Walker Minion + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 3 (Base) + + Breath Color + Slag Walker + Breath Condition + + Fire 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 36 + + + 10 + 50 + + + 256 + 25 + + + + Head Drop + Slag + Loot Table + + Treasure/Health/Monster Health, small + + Model + + character/npc/monster/zombie/model_fir.dat + + Reaction + Flinch + + + Scale + 1.05 + Status Condition + + Fire 3 + + Chance + 0.2 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Boss/Vanaduke/Stage 1 + + + Character/NPC/Monster/Boss/Vanaduke/Vanaduke Base + + Activate + None + Attack While Camo + false + Attacks + + + + Character/NPC/Monster/Boss/Vanaduke/Club Slam (Stage 1) + + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + true + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Fire 3 + + Chance + 1.0 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 4 + + Stun 3 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Debri Count + 1 + Fire Tiles + 1 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Boss/Vanaduke/Shoulder Check + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + + + + Chain Condition + + + Next Attack + 0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Club Slam (Stage 1) + + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + true + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Fire 3 + + Chance + 1.0 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 4 + + Stun 3 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Debri Count + 1 + Fire Tiles + 1 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Call Minions + + Minions + Slag Walkers (4) + + + + + Behavior + + Collision Mask + 79 + Death Time + 0 + Defense + + + + 360 + + + 300 + + + 400 + + + 400 + + + 3 + 50 + + + 24 + 50 + + + 292 + + + + Handlers + + + + + + Character/NPC/Monster/Boss/Vanaduke/Stage 1 Complete + + + + + + + + Health + 15000 + No Mask + Stage1 + Sheen + Stage1 + Tags + + Variant + Masked + + + + + + Character/NPC/Monster/Boss/Vanaduke/Stage 1 Complete + + + Character/NPC/Monster/Boss/Vanaduke/Vanaduke Base + + Activate + None + Attack While Camo + true + Attacks + + + + + + Character/NPC/Monster/Boss/Vanaduke/Swap + + Swap Actor + + Character/NPC/Monster/Boss/Vanaduke/Stage 2 + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Mask + + Mask + + Character/NPC/Monster/Boss/Vanaduke/Mask Stage 1 + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Activate + + Mask + True + Minions + Nothing + + + + + + + Behavior + + Collision Mask + 0 + Death Time + 3000 + Defense + + + Handlers + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Flames + + Orbit Radius + 2.5 + Speed + 0.2 + + + + + + Health + 5000 + No Mask + Stage1 + Sheen + Stage1 + Tags + + Variant + Masked + + + + + + Character/NPC/Monster/Boss/Vanaduke/Stage 2 + + + Character/NPC/Monster/Boss/Vanaduke/Vanaduke Base + + Activate + None + Attack While Camo + false + Attacks + + + + Character/NPC/Monster/Boss/Vanaduke/Club Slam (Stage 1) + + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + true + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Fire 3 + + Chance + 1.0 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 4 + + Stun 3 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Debri Count + 1 + Fire Tiles + 1 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Boss/Vanaduke/Shoulder Check + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + + + + Chain Condition + + + Next Attack + 0 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Boss/Vanaduke/Shoulder Check + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + + + + Chain Condition + + + Next Attack + 0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Call Minions + + Minions + Slag Walkers (4) + + + + + Behavior + + Collision Mask + 79 + Death Time + 0 + Defense + + + + 360 + + + 300 + + + 400 + + + 400 + + + 3 + 50 + + + 24 + 50 + + + 292 + + + + Handlers + + + + + + Character/NPC/Monster/Boss/Vanaduke/Stage 2 Complete + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Flames + + Orbit Radius + 2.5 + Speed + 0.2 + + + + + + + Health + 15000 + No Mask + Stage2 + Sheen + Stage2 + Tags + + Variant + Masked + + + + + + Character/NPC/Monster/Boss/Vanaduke/Stage 2 Complete + + + Character/NPC/Monster/Boss/Vanaduke/Vanaduke Base + + Activate + None + Attack While Camo + true + Attacks + + + + + + Character/NPC/Monster/Boss/Vanaduke/Swap + + Swap Actor + + Character/NPC/Monster/Boss/Vanaduke/Stage 3 + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Mask + + Mask + + Character/NPC/Monster/Boss/Vanaduke/Mask Stage 2 + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Activate + + Mask + False + Minions + Nothing + + + + + Behavior + + Collision Mask + 0 + Death Time + 3000 + Defense + + + Handlers + + + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Flames + + Orbit Radius + 3.8 + Speed + -0.22 + + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Flames + + Orbit Radius + 2.5 + Speed + 0.2 + + + + + + Health + 5000 + No Mask + Stage4 + Sheen + Stage3 + Tags + + Variant + Masked + + + + + + Character/NPC/Monster/Boss/Vanaduke/Stage 3 + + + Character/NPC/Monster/Boss/Vanaduke/Vanaduke Base + + Activate + None + Attack While Camo + false + Attacks + + + + Character/NPC/Monster/Boss/Vanaduke/Club Slam (Stage 1) + + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + true + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Fire 3 + + Chance + 1.0 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 4 + + Stun 3 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Debri Count + 1 + Fire Tiles + 1 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Boss/Vanaduke/Shoulder Check + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + + + + Chain Condition + + + Next Attack + 0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Fire Snakes + + + + + Character/NPC/Monster/Boss/Vanaduke/Call Minions + + Minions + Slag Guards (2) + + + + + Behavior + + Collision Mask + 79 + Death Time + 20000 + Defense + + + + 360 + + + 300 + + + 400 + + + 400115 + + + 3 + 50 + + + 24 + 50 + + + 292 + + + + Handlers + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Flames + + Orbit Radius + 2.5 + Speed + 0.2 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Flames + + Orbit Radius + 3.6 + Speed + -0.22 + + + + + + + + + + + + + + + + + Treasure/Monster/Fiend/Vanaduke + + + + + Health + 15000 + No Mask + Stage4 + Sheen + Stage4 + Tags + + Variant + No Mask + + + + + + Character/NPC/Monster/Boss/Vanaduke/Vanaduke Base + + + Variant + implementation.sprite.model["Variant"] + + + Sheen + implementation.sprite.model["Sheen"] + + + No Mask + implementation.sprite.flag_models[0].model["Sheen"] + + + Behavior + implementation.behavior + + + Handlers + implementation.handlers + + + Death Time + implementation.death_time + + + Attacks + implementation.attacks + + + Defense + implementation.defense + + + Collision Mask + implementation.collision_mask + + + Attack While Camo + implementation.attack_while_camo + + + + Activate + + + Animation + implementation.sprite.activation + + + Time + implementation.activate_time + + + + + + None + + Animation + + Time + 0 + + + + + Animated + + Animation + + character/npc/monster/baron/animations/animation_spawn.dat + + Time + 3767 + + + + None + + + Tags + implementation.tags.derived + + + Health + implementation.health + + + + + + character/npc/monster/baron/model.dat + + Sheen + Stage1 + Variant + Masked + + + 3.0 + 3.0 + + + + character/npc/monster/baron/animations/animation_idle.dat + + + + + + 1.0 + + character/npc/monster/baron/animations/animation_walk.dat + + + + + + 2.0943952 + + character/npc/monster/baron/animations/animation_turn-left.dat + + + character/npc/monster/baron/animations/animation_turn-right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/world/props/mailbox_break.ogg + Gain + 1.0 + Pitch adjust + Lower 3 + Range + Long + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/baron/animations/animation_idle.dat + + + + + + 1.0 + + character/npc/monster/baron/animations/animation_walk.dat + + + + + + SECONDARY + + character/npc/monster/baron/model.dat + + Sheen + Stage1 + Variant + No Mask + + + + + + + 1.75 + + 136 + 79 + 3.0 + 1.5707964 + 15000 + 15000 + 2 + 1.0 + true + 10 + 0 + 30000 + 3.0 + + + + Character/NPC/Monster/Fiend/Dark Knight/Sword Slam + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Minions + + Minion + + + + + + + 50 + + + + + Character/NPC/Monster/Boss/Vanaduke/Vanaduke Start + + + Character/NPC/Monster/Boss/Vanaduke/Vanaduke Base + + Activate + None + Attack While Camo + true + Attacks + + + + Character/NPC/Monster/Fiend/Dark Knight/Sword Slam + + + + + Character/NPC/Monster/Boss/Vanaduke/Activate + + Mask + True + Minions + Slag Walkers (4) + + + + + + Character/NPC/Monster/Boss/Vanaduke/Monologue + + + + + Character/NPC/Monster/Boss/Vanaduke/Swap + + Swap Actor + + Character/NPC/Monster/Boss/Vanaduke/Stage 1 + + + + + + Behavior + + Collision Mask + 3 + Death Time + 3000 + Defense + + + Handlers + + + + + + + Health + 5000 + No Mask + Stage1 + Sheen + Stage1 + Tags + + Variant + Masked + + + + + + Character/NPC/Monster/Boss/Vanaduke/_Mask Stage 3 + + + Character/NPC/Monster/Boss/Vanaduke/Mask Base + + Attacks + + + + Character/NPC/Monster/Boss/Vanaduke/Mask Bullet + + + + + Character/NPC/Monster/Boss/Vanaduke/Mask Bullet Diagonal + + + + + Character/NPC/Monster/Boss/Vanaduke/Mask Bullet Diagonal + + + + Behavior + + Health + 6000 + On Shutdown + + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Soul + + + Speed + 2.0 + Stage + 3 + Tags + + + + + + + Character/NPC/Monster/Boss/Vanaduke/_Stage 2 + + + Character/NPC/Monster/Boss/Vanaduke/Vanaduke Base + + Activate + None + Attack While Camo + false + Attacks + + + + Character/NPC/Monster/Boss/Vanaduke/Club Slam (Stage 1) + + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + true + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Fire 3 + + Chance + 1.0 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 4 + + Stun 3 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Debri Count + 1 + Fire Tiles + 1 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Boss/Vanaduke/Shoulder Check + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + + + + Chain Condition + + + Next Attack + 0 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Boss/Vanaduke/Shoulder Check + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + + + + Chain Condition + + + Next Attack + 0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Call Minions + + Minions + Slag Walkers (4) + + + + + Behavior + + Collision Mask + 79 + Death Time + 0 + Defense + + + + 360 + + + 300 + + + 400 + + + 400 + + + 3 + 50 + + + 24 + 50 + + + 292 + + + + Handlers + + + + + + Character/NPC/Monster/Boss/Vanaduke/Stage 2 Complete + + + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame + + Orbit Radius + 2.5 + Speed + 0.2 + Starting Rotation + 3.1415927 + + + + + + + + + Health + 15000 + No Mask + Stage2 + Sheen + Stage2 + Tags + + Variant + Masked + + + + + + Character/NPC/Monster/Boss/Vanaduke/_Stage 3 + + + Character/NPC/Monster/Boss/Vanaduke/Vanaduke Base + + Activate + None + Attack While Camo + false + Attacks + + + + Character/NPC/Monster/Boss/Vanaduke/Club Slam (Stage 1) + + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + true + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Fire 3 + + Chance + 1.0 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 4 + + Stun 3 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Debri Count + 1 + Fire Tiles + 1 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Boss/Vanaduke/Shoulder Check + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + + + + Chain Condition + + + Next Attack + 0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Fire Snakes + + + + + Character/NPC/Monster/Boss/Vanaduke/Call Minions + + Minions + Slag Walkers (6) + + + + + Behavior + + Collision Mask + 79 + Death Time + 0 + Defense + + + + 360 + + + 300 + + + 400 + + + 400 + + + 3 + 50 + + + 24 + 50 + + + 292 + + + + Handlers + + + + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame + + Orbit Radius + 2.5 + Speed + 0.2 + Starting Rotation + 0.0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame + + Orbit Radius + 4.5 + Speed + -0.15 + Starting Rotation + 2.0943952 + + + + + + + + + Health + 15000 + No Mask + Stage3 + Sheen + Stage3 + Tags + + Variant + Masked + + + + + + Character/NPC/Monster/Boss/Vanaduke/_Stage 3 Complete + + + Character/NPC/Monster/Boss/Vanaduke/Vanaduke Base + + Activate + None + Attack While Camo + true + Attacks + + + + + + Character/NPC/Monster/Boss/Vanaduke/Swap + + Swap Actor + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Mask + + Mask + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Activate + + Mask + False + Minions + Slag Guards (2) + + + + + Behavior + + Collision Mask + 0 + Death Time + 3000 + Defense + + + Handlers + + + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame + + Orbit Radius + 6.5 + Speed + 0.1 + Starting Rotation + 4.1887903 + + + + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame + + Orbit Radius + 2.5 + Speed + 0.2 + Starting Rotation + 0.0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame + + Orbit Radius + 4.5 + Speed + -0.15 + Starting Rotation + 2.0943952 + + + + + + + + Health + 5000 + No Mask + Stage3 + Sheen + Stage3 + Tags + + Variant + Masked + + + + + + Character/NPC/Monster/Construct/Gold Gun Puppy + + + Tags + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 3.0 + Element + None + Status + None + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 1.5 + + + Defense + Default + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Model + + character/npc/monster/gunpuppy/model.dat + + variant + gold + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Gun Puppy (No Loot) + + + Wave Tag + implementation.actor["Wave Tag"] + + + Behavior + implementation.actor["Behavior"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.0 + Element + None + Status + None + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 1.3 + + + Behavior + + Monster/Slime/Cube (Basic Targeting) + + Defense + Default + Handler + + + Health Scale + + Monster/Health/Health Base -10 + + Loot Table + + Model + + character/npc/monster/gunpuppy/model.dat + + variant + green + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Gun Puppy (TG) + + + Wave Tag + implementation.actor["Wave Tag"] + + + No Loot Tag + implementation.actor["No Loot Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 1.3 + + + Defense + Default + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Tutorial/Gun Puppy (TG) + + Model + + character/npc/monster/gunpuppy/model.dat + + variant + green + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Gun Puppy/Gun Puppy 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + No Loot Tag + implementation.actor["No Loot Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 1.3 + + + Defense + Default + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Gun Puppy Loot + + Model + + character/npc/monster/gunpuppy/model.dat + + variant + green + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Gun Puppy/Gun Puppy 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy (mkii) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 3.0 + Element + None + Status + None + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 1.25 + + + Defense + Default + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Gun Puppy Loot + + Model + + character/npc/monster/gunpuppy/model.dat + + variant + mkii + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Gun Puppy/Gun Puppy 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy (mkiii) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 3.5 + Element + None + Status + None + + + Sound + sound/effect/monster/gun_puppy_fire.ogg + Speed + 1.1 + + + Defense + Default + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Gun Puppy Loot + + Model + + character/npc/monster/gunpuppy/model.dat + + variant + mkiii + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Red Rover/Red Rover 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Red Rover + + Bullet + + Bullet/Monster/Flamethrower (Dynamic) + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + ELEMENTAL + + Monster/Split/Split - Full + + + + 4 + + Fire + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Mode + Straight + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 0.6 + + + Defense + Red Rover + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Red Rover Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + red + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Red Rover/Red Rover 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Red Rover + + Bullet + + Bullet/Monster/Flamethrower (Dynamic) + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + ELEMENTAL + + Monster/Split/Split - Full + + + + 4 + + Fire 2 + + Chance + 0.5 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Mode + Straight + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 0.6 + + + Defense + Red Rover + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Red Rover Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + red-mkii + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Red Rover/Red Rover 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Red Rover + + Bullet + + Bullet/Monster/Flamethrower (Dynamic) + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + ELEMENTAL + + Monster/Split/Split - Full + + + + 4 + + Fire 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Mode + Snake + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 0.6 + + + Defense + Red Rover + Handler + + + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Red Rover Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + red-mkiii + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Sick Puppy/Sick Puppy 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + No Loot Tag + implementation.actor["No Loot Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy (ele) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + Poison + Status + Poison + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 1.3 + + + Defense + Sick Puppy + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Sick Puppy Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + poi + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Sick Puppy/Sick Puppy 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy (mkii) (ele) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 3.0 + Element + Poison + Status + Poison 2 + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 1.25 + + + Defense + Sick Puppy + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Sick Puppy Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + poi-mkii + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Sick Puppy/Sick Puppy 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy (mkiii) (ele) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 3.5 + Element + Poison + Status + Poison 3 + + + Sound + sound/effect/monster/gun_puppy_fire.ogg + Speed + 1.1 + + + Defense + Sick Puppy + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Sick Puppy Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + poi-mkiii + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Slush Puppy/Slush Puppy 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + No Loot Tag + implementation.actor["No Loot Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy (ele) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + Freeze + Status + Freeze + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 1.3 + + + Defense + Slush Puppy + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Slush Puppy Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + fre + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Slush Puppy/Slush Puppy 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy (mkii) (ele) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 3.0 + Element + Freeze + Status + Freeze 3 + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 1.25 + + + Defense + Slush Puppy + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Slush Puppy Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + fre-mkiii + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Slush Puppy/Slush Puppy 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy (mkiii) (ele) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 3.5 + Element + Freeze + Status + Freeze 2 + + + Sound + sound/effect/monster/gun_puppy_fire.ogg + Speed + 1.1 + + + Defense + Slush Puppy + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Slush Puppy Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + fre-mkii + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Spark Puppy/Spark Puppy 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + No Loot Tag + implementation.actor["No Loot Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy (ele) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + Shock + Status + Shock + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 1.3 + + + Defense + Spark Puppy + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Spark Puppy Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + sho + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Spark Puppy/Spark Puppy 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy (mkii) (ele) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 3.0 + Element + Shock + Status + Shock 2 + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 1.25 + + + Defense + Spark Puppy + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Spark Puppy Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + sho-mkii + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Spark Puppy/Spark Puppy 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy (mkiii) (ele) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 3.5 + Element + Shock + Status + Shock 3 + + + Sound + sound/effect/monster/gun_puppy_fire.ogg + Speed + 1.1 + + + Defense + Spark Puppy + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Spark Puppy Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + sho-mkiii + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Ironwood Sentinel/Ironwood Sentinel + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/lumber/lumber.dat + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + + + + Death FX + Lumber + Sound - Attack end + Lumber club + Sound - Attack fire + Lumber thud + Texture, body + + + + + particle/model_fxscaler.dat + + Model + + particle/fx_spawn_monster.dat + + Transfrom + + 2.0 + + + + 1.45 + 1.8 + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.4 + Blend Out + 0.0 + Sound set + Null + Speed + 0.4 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Null + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Custom/on_Hit/Wood + + Pitch shift + Lower 2 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.05 + Blend Out + 0.0 + Sound set + Null + Speed + 0.4 + + + + + + + 3.2 + + character/npc/monster/darkknight/walking.dat + + Sound set + Null + + + + + + animation/common/spawn_scalein.dat + + Transform + + 1.2 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.72 + + + + + + Treasure/Monster/Construct/Lumber/Ironwood Sentinel Loot + + + + + 8 + 79 + 1.2 + 3.4906585 + 1440 + 2880 + 19 + 30 + + Monster/Health/Health Base +10 + + 2 + 0.4 + true + 5 + 433 + 2500 + 1100 + 1.6 + + + + Character/NPC/Monster/Construct/Ironwood Sentinel + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + + 3 + 25 + + + 4 + -25 + + + 256 + + + + + + + Character/NPC/Monster/Construct/Love Puppy/Love Puppy + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy + + Bullet + + Bullet/Monster/Love Heart + + Sound + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Pitch + 1.6 + Range + Medium + + + Speed + 1.0 + + + Behavior + + Defense + Default + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Love Puppy Loot + + Model + + character/npc/monster/gunpuppy/model.dat + + variant + love + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Electreant/Electreant 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/electreant_1.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 1) + + Status Damage + + + + + Stun + + Chance + 0.333 + Power + 50 + + + + + 4 + + Shock + + Chance + 0.333 + Power + 50 + + + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/electreant_branches.png + + + Death FX + Redward + Defense + Electreant + Loot Table + + Treasure/Monster/Construct/Lumber/Electreant Loot + + Texture, body + character/npc/monster/lumber/electreant_1.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Electreant/Electreant 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/electreant_2.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 2) + + Status Damage + + + + + Stun 2 + + Chance + 0.667 + Power + 50 + + + + + 4 + + Shock 2 + + Chance + 0.667 + Power + 50 + + + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/electreant_branches.png + + + Death FX + Redward + Defense + Electreant + Loot Table + + Treasure/Monster/Construct/Lumber/Electreant Loot + + Texture, body + character/npc/monster/lumber/electreant_2.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Electreant/Electreant 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/electreant_3.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 3) + + Status Damage + + + + + Stun 3 + + Chance + 1.0 + Power + 50 + + + + + 4 + + Shock 3 + + Chance + 1.0 + Power + 50 + + + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/electreant_branches.png + + + Death FX + Redward + Defense + Electreant + Loot Table + + Treasure/Monster/Construct/Lumber/Electreant Loot + + Texture, body + character/npc/monster/lumber/electreant_3.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Lumber (TG) + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/lumber_1.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 1) + + Status Damage + + + Stun + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/lumber_branches.png + + + Death FX + Lumber + Defense + Default + Loot Table + + Treasure/Monster/Tutorial/Lumber (TG) + + Texture, body + character/npc/monster/lumber/lumber_1.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Lumber/Lumber 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/lumber_1.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 1) + + Status Damage + + + Stun + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/lumber_branches.png + + + Death FX + Lumber + Defense + Default + Loot Table + + Treasure/Monster/Construct/Lumber/Lumber Loot + + Texture, body + character/npc/monster/lumber/lumber_1.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Lumber/Lumber 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/lumber_2.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 2) + + Status Damage + + + Stun 2 + + Chance + 0.667 + Power + 50 + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/lumber_branches.png + + + Death FX + Lumber + Loot Table + + Treasure/Monster/Construct/Lumber/Lumber Loot + + Texture, body + character/npc/monster/lumber/lumber_2.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Lumber/Lumber 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/lumber_3.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 3) + + Status Damage + + + Stun 3 + + Chance + 1.0 + Power + 50 + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/lumber_branches.png + + + Death FX + Lumber + Loot Table + + Treasure/Monster/Construct/Lumber/Lumber Loot + + Texture, body + character/npc/monster/lumber/lumber_3.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + + Arm model + implementation.sprite.model["Arm model"] + + + Bits model + implementation.sprite.model["Bits model"] + + + Texture, body + implementation.sprite.model["Texture,, body"] + + + Death FX + implementation.sprite.model["Death FX"] + + + Attack - Slam + implementation.attacks[0].ref + + + Loot Table + implementation.handlers[0].action.spawn_table + + + + Defense + + + Thematic Immunity + implementation.defense.defenses[2].defenses + + + + + + Default + + Thematic Immunity + + + + + + + Electreant + + Thematic Immunity + + + 16 + + + + + + + Redward + + Thematic Immunity + + + 4 + + + + + + + Silversap + + Thematic Immunity + + + 8 + + + + + + + Vilewood + + Thematic Immunity + + + 2 + + + + + + Default + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/lumber/lumber.dat + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + + + + Death FX + Lumber + Sound - Attack end + Lumber club + Sound - Attack fire + Lumber thud + Texture, body + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Default + + Files + + + sound/effect/monster/lumber/lumber_spawn_01.ogg + + + Range + Long + + + Transform + + + Transient + + particle/model_fxscaler.dat + + Model + + particle/fx_spawn_monster.dat + + Transfrom + + 2.0 + + + + + + 1.16 + 1.4 + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.4 + Blend Out + 0.0 + Sound set + Null + Speed + 0.4 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Null + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Wood + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_lumber_hit.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.05 + Blend Out + 0.0 + Sound set + Null + Speed + 0.4 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Null + + + + + + animation/common/spawn_scalein.dat + + Transform + + 1.2 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.72 + + + + + + Treasure/Monster/Construct/Lumber/Lumber Loot + + + + + 8 + 79 + 1.2 + 2.7925267 + + Dev Tests/Targeting Test 1 + + 80 + 320 + 1 + 9 + + Monster/Health/Health Base +10 + + 2 + 0.4 + true + 5 + 433 + 2500 + 1100 + 1.6 + + + + Character/NPC/Monster/Construct/Lumber + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + + + + 3 + 25 + + + 4 + -25 + + + 256 + + + + + + + + + + + Character/NPC/Monster/Construct/Lumber/Redward/Redward 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/redward_1.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 1) + + Status Damage + + + + + Stun + + Chance + 0.333 + Power + 50 + + + + + 4 + + Fire + + Chance + 0.333 + Power + 50 + + + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/redward_branches.png + + + Death FX + Redward + Defense + Redward + Loot Table + + Treasure/Monster/Construct/Lumber/Redward Loot + + Texture, body + character/npc/monster/lumber/redward_1.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Redward/Redward 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/redward_2.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 2) + + Status Damage + + + Stun 2 + + Chance + 0.667 + Power + 50 + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/redward_branches.png + + + Death FX + Redward + Defense + Redward + Loot Table + + Treasure/Monster/Construct/Lumber/Redward Loot + + Texture, body + character/npc/monster/lumber/redward_2.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Redward/Redward 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/redward_3.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 3) + + Status Damage + + + Stun 3 + + Chance + 1.0 + Power + 50 + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/redward_branches.png + + + Death FX + Redward + Defense + Redward + Loot Table + + Treasure/Monster/Construct/Lumber/Redward Loot + + Texture, body + character/npc/monster/lumber/redward_3.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Silversap/Silversap 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/silversap_1.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 1) + + Status Damage + + + + + Stun + + Chance + 0.333 + Power + 50 + + + + + 4 + + Freeze + + Chance + 0.333 + Power + 50 + + + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/silversap_branches.png + + + Death FX + Redward + Defense + Silversap + Loot Table + + Treasure/Monster/Construct/Lumber/Silversap Loot + + Texture, body + character/npc/monster/lumber/silversap_1.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Silversap/Silversap 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/silversap_2.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 2) + + Status Damage + + + + + Stun 2 + + Chance + 0.667 + Power + 50 + + + + + 4 + + Freeze 2 + + Chance + 0.667 + Power + 50 + + + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/silversap_branches.png + + + Death FX + Redward + Defense + Silversap + Loot Table + + Treasure/Monster/Construct/Lumber/Silversap Loot + + Texture, body + character/npc/monster/lumber/silversap_2.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Silversap/Silversap 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/silversap_3.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 3) + + Status Damage + + + + + Stun 3 + + Chance + 1.0 + Power + 50 + + + + + 4 + + Freeze 3 + + Chance + 1.0 + Power + 50 + + + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/silversap_branches.png + + + Death FX + Redward + Defense + Silversap + Loot Table + + Treasure/Monster/Construct/Lumber/Silversap Loot + + Texture, body + character/npc/monster/lumber/silversap_3.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Vilewood/Vilewood 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/vilewood_1.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 1) + + Status Damage + + + + + Stun + + Chance + 0.333 + Power + 50 + + + + + 4 + + Poison + + Chance + 0.333 + Power + 50 + + + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/vilewood_branches.png + + + Death FX + Redward + Defense + Vilewood + Loot Table + + Treasure/Monster/Construct/Lumber/Vilewood Loot + + Texture, body + character/npc/monster/lumber/vilewood_1.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Vilewood/Vilewood 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/vilewood_2.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 2) + + Status Damage + + + + + Stun 2 + + Chance + 0.667 + Power + 50 + + + + + 4 + + Poison 2 + + Chance + 0.667 + Power + 50 + + + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/vilewood_branches.png + + + Death FX + Redward + Defense + Vilewood + Loot Table + + Treasure/Monster/Construct/Lumber/Vilewood Loot + + Texture, body + character/npc/monster/lumber/vilewood_2.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Vilewood/Vilewood 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/vilewood_3.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 3) + + Status Damage + + + + + Stun 3 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 4 + + Poison 3 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/vilewood_branches.png + + + Death FX + Redward + Defense + Vilewood + Loot Table + + Treasure/Monster/Construct/Lumber/Vilewood Loot + + Texture, body + character/npc/monster/lumber/vilewood_3.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight Bodyguard/Sword/Mecha Knight Bodyguard + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Mecha Knight Bodyguard/Sword/Parts/Sword (Base) + + Defense + Default + Depth End + 9 + Depth Start + 1 + Health + 200 + Health End + 566 + Health Scale + + Monster/Health/Health Base +05 + + Shock Chance + 0.3 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight Bodyguard/Sword/Mecha Knight Bodyguard 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Mecha Knight Bodyguard/Sword/Parts/Sword (Base) + + Defense + Default + Depth End + 19 + Depth Start + 9 + Health + 560 + Health End + 720 + Health Scale + + Monster/Health/Health Base +05 + + Shock Chance + 0.15 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight Bodyguard/Sword/Mecha Knight Bodyguard 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Mecha Knight Bodyguard/Sword/Parts/Sword (Base) + + Defense + Default + Depth End + 30 + Depth Start + 19 + Health + 720 + Health End + 800 + Health Scale + + Monster/Health/Health Base +05 + + Shock Chance + 0.075 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight Bodyguard/Sword/Parts/Sword (Base) + + + Health + implementation.actor["Health"] + + + Health End + implementation.actor["Health End"] + + + Health Scale + implementation.actor["Health Scale"] + + + Defense + implementation.actor["Defense"] + + + Depth Start + implementation.actor["Health Start Depth"] + + + Depth End + implementation.actor["Health End Depth"] + + + Shock Chance + implementation.actor["Shock Chance"] + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword 3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack 1 Chain Condition + + + Attack 2 Chain Condition + + + Attack Time Scale + 2.0 + Chain End Speed + 1.5 + Charge Attack + + Weapon/Sword/Calibur (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base (Charged) + + 2 + true + + + + + + Charge Time Scale + 1.0 + Damage + + + + + PC/Damage/Sword/Sword Base + + 2 + + + + Defense + Default + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flare Color (Charge Attack) + None + Handler1 + + + + + + + + Basic + + Lifespan + 2000 + Model + + particle/monster_death.dat + + Color + Energy Blue + + + + + + + + + + + + + Health + 500 + Health End + 400 + Health End Depth + 30 + Health Scale + + Monster/Health/Health Base + + Health Start Depth + 1 + Loot Table + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + defender(blue) + + + Weapon + + item/weapon/sword/calibur/model.dat + + variant + calibur(blue) + + + variant + energy + + + Scale + 1.2 + Shield + True + Shock Chance + 0.333 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 1.0, 1.0, 1.0 + Swing Color In/Out + 0.2, 1.0, 1.0, 0.0 + Swing Color Middle + 0.6, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + Target Mode + Friend + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Cryo Knight/Cryo Knight 1 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 1 (Base) + + Charge FX + + particle/swing/proto_charged.dat + + Color + Proto + + + Damage (Status) + + 4 + + Freeze + + Chance + 0.2 + Power + 25 + + + + Damage Charge (Status) + + 4 + + Freeze + + Chance + 0.5 + Power + 25 + + + + Defense (Status) + Cryo Knight + Flare Color + Elemental + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Cryo Knight Loot + + Model + + character/npc/monster/mechaknight/model_status.dat + + Color + Freeze + variant + mk1 + + + Secondary Damage + ELEMENTAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 0.4, 0.6, 1.0 + Swing Color In/Out + 0.0, 0.4, 0.6, 0.0 + Swing Color Middle + 0.6, 0.6, 0.6, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Cryo Knight/Cryo Knight 2 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 2 (Base) + + Charge FX + + particle/swing/icewave.dat + + Damage (Status) + Default + Damage Charge (Status) + + 4 + + Freeze 2 + + Chance + 0.55 + Power + 50 + + + + Defense (Status) + Cryo Knight + Flare Color + Elemental + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Cryo Knight Loot + + Model + + character/npc/monster/mechaknight/model_status.dat + + Color + Freeze + variant + mk2 + + + Secondary Damage + ELEMENTAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 0.4, 0.6, 1.0 + Swing Color In/Out + 0.0, 0.4, 0.6, 0.0 + Swing Color Middle + 0.6, 0.6, 0.6, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Cryo Knight/Cryo Knight 3 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 3 (Base) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.0 + Element + Freeze + Status + Freeze 3 + + + Charge FX + + particle/swing/icewave.dat + + Damage (Status) + + 4 + + Freeze 3 + + Chance + 0.2 + Power + 100 + + + + Damage Charge (Status) + + 4 + + Freeze 3 + + Chance + 0.6 + Power + 100 + + + + Defense (Status) + Cryo Knight + Flare Color + Elemental + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Cryo Knight Loot + + Model + + character/npc/monster/mechaknight/model_status.dat + + Color + Freeze + variant + mk3 + + + Secondary Damage + ELEMENTAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 0.4, 0.6, 1.0 + Swing Color In/Out + 0.0, 0.4, 0.6, 0.0 + Swing Color Middle + 0.6, 0.6, 0.6, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Firo Knight/Firo Knight 1 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 1 (Base) + + Charge FX + + particle/swing/proto_charged.dat + + Color + Cautery Sword + + + Damage (Status) + + 4 + + Fire + + Chance + 0.2 + Power + 25 + + + + Damage Charge (Status) + + 4 + + Fire + + Chance + 0.5 + Power + 25 + + + + Defense (Status) + Firo Knight + Flare Color + Elemental + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Firo Knight Loot + + Model + + character/npc/monster/mechaknight/model_status.dat + + Color + Fire + variant + mk1 + + + Secondary Damage + ELEMENTAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.6, 0.0, 0.0, 1.0 + Swing Color In/Out + 0.6, 0.0, 0.0, 0.0 + Swing Color Middle + 1.0, 0.4, 0.0, 1.0 + Texture + particle/texture/flame_lick_01.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Firo Knight/Firo Knight 2 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 2 (Base) + + Charge FX + + particle/swing/vog_charged.dat + + Damage (Status) + Default + Damage Charge (Status) + + 4 + + Fire 2 + + Chance + 0.55 + Power + 50 + + + + Defense (Status) + Firo Knight + Flare Color + Elemental + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Firo Knight Loot + + Model + + character/npc/monster/mechaknight/model_status.dat + + Color + Fire + variant + mk2 + + + Secondary Damage + ELEMENTAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.6, 0.0, 0.0, 1.0 + Swing Color In/Out + 0.6, 0.0, 0.0, 0.0 + Swing Color Middle + 1.0, 0.4, 0.0, 1.0 + Texture + particle/texture/flame_lick_01.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Firo Knight/Firo Knight 3 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 3 (Base) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.0 + Element + Fire + Status + Fire 3 + + + Charge FX + + particle/swing/vog_charged.dat + + Damage (Status) + + 4 + + Fire 3 + + Chance + 0.2 + Power + 100 + + + + Damage Charge (Status) + + 4 + + Fire 3 + + Chance + 0.6 + Power + 100 + + + + Defense (Status) + Firo Knight + Flare Color + Elemental + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Firo Knight Loot + + Model + + character/npc/monster/mechaknight/model_status.dat + + Color + Fire + variant + mk3 + + + Secondary Damage + ELEMENTAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.6, 0.2, 0.0, 1.0 + Swing Color In/Out + 0.6, 0.0, 0.0, 0.0 + Swing Color Middle + 1.0, 0.6, 0.0, 1.0 + Texture + particle/texture/flame_lick_01.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Mecha Knight/Mecha Knight 1 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 1 (Base) + + Charge FX + + particle/swing/proto_charged.dat + + Color + Cautery Sword + + + Damage (Status) + + 0 + + Damage Charge (Status) + + 0 + + Defense (Status) + Default + Flare Color + Normal + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + Weapon + + item/weapon/npc/mechaknight/model_sword.dat + + Color + Normal + variant + mechasword mk1 + + + variant + mk1 + + + Secondary Damage + NORMAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.7019608, 0.0, 0.0, 1.0 + Swing Color In/Out + 0.5686275, 0.0, 0.0, 0.0 + Swing Color Middle + 0.7058824, 0.0, 0.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Mecha Knight/Mecha Knight 2 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 2 (Base) + + Charge FX + + particle/swing/calibur_charged.dat + + Variant + Coldiron + + + Damage (Status) + Default + Damage Charge (Status) + + 0 + + Defense (Status) + Default + Flare Color + Normal + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + item/gear/shield/buckler/model.dat + + variant + mechashield mk2 + + + Weapon + + item/weapon/npc/mechaknight/model_sword.dat + + Color + Normal + variant + mechasword mk2 + + + variant + mk2 + + + Secondary Damage + NORMAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.5764706, 0.0, 0.0, 1.0 + Swing Color In/Out + 0.61960787, 0.0, 0.0, 0.0 + Swing Color Middle + 0.67058825, 0.0, 0.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Mecha Knight/Mecha Knight 3 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 3 (Base) + + Bullet + + Bomb/Monster/Demo Mine (Drop) + + Tier + 3 + + + Charge FX + + particle/swing/calibur_charged.dat + + Variant + Coldiron + + + Damage (Status) + + 0 + + Damage Charge (Status) + + 0 + + Defense (Status) + Default + Flare Color + Normal + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + mechashield + + + Weapon + + item/weapon/npc/mechaknight/model_sword.dat + + Color + Normal + variant + mechasword mk3 + + + variant + mk3 + + + Secondary Damage + NORMAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.5803922, 0.0, 0.0, 1.0 + Swing Color In/Out + 0.5254902, 0.0, 0.0, 0.0 + Swing Color Middle + 0.52156866, 0.0, 0.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 1 (Base) + + + Model + implementation.actor["Model"] + + + Damage (Status) + implementation.actor["Damage"].damages[1] + + + Damage Charge (Status) + implementation.actor["Charge Attack"]["Damage"].damages[1] + + + Swing FX + implementation.actor["Swing FX"] + + + Charge FX + implementation.actor["Charge Attack"]["Swing"] + + + Loot Table + implementation.actor["Loot Table"] + + + Flare Color + implementation.actor["Flare Color (Charge Attack)"] + + + Secondary Damage + implementation.actor["Charge Attack"]["Damage"].damages[0].type2, implementation.actor["Damage"].damages[0].type2 + + + Defense (Status) + implementation.actor["Defense"] + + + Tags + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword 3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Time Scale + 1.8 + Chain End Speed + 1.5 + Charge Attack + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + true + + + 4 + + + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 150 + 500 + + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Default + Start Speed + 1.9 + Swing + + particle/swing/proto_charged.dat + + Color + Proto + + + + + Charge Time Scale + 1.0 + Damage + + + + + Monster/Damage/Attack Base + + + Monster/Split/Split - Half + + + + 4 + + + + Defense + Default + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flare Color (Charge Attack) + Elemental + Handler1 + + + Health + 40 + Health End + 240 + Health End Depth + 9 + Health Scale + + Monster/Health/Health Base +05 + + Health Start Depth + 1 + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + Weapon + + item/weapon/sword/proto/model.dat + + variant + mechasword mk1 + + + variant + mk1 + + + Scale + 1.1 + Shield + False + Shock Chance + 0.333 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.59607846, 1.0, 0.4, 1.0 + Swing Color In/Out + 0.19607843, 0.8, 0.0, 0.0 + Swing Color Middle + 0.59607846, 1.0, 0.4, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + Target Mode + Foe + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 2 (Base) + + + Model + implementation.actor["Model"] + + + Damage (Status) + implementation.actor["Defense"] + + + Damage Charge (Status) + implementation.actor["Charge Attack"]["Damage"].damages[1] + + + Swing FX + implementation.actor["Swing FX"] + + + Charge FX + implementation.actor["Charge Attack"]["Swing"] + + + Loot Table + implementation.actor["Loot Table"] + + + Flare Color + implementation.actor["Flare Color (Charge Attack)"] + + + Secondary Damage + implementation.actor["Charge Attack"]["Damage"].damages[0].type2, implementation.actor["Damage"].damages[0].type2 + + + Defense (Status) + implementation.actor["Defense"] + + + Tags + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword 3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Time Scale + 2.0 + Chain End Speed + 1.5 + Charge Attack + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Round House) + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Shock 2 + + Chance + 0.55 + Power + 50 + + + + + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 200 + 300 + + Knock-Back + + 3.5, 0.0 + 300 + 3 + + Radius + 1.0 + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Default + Start Speed + 2.75 + Swing + + particle/swing/calibur_charged.dat + + Variant + Calibur + + + + + Charge Time Scale + 1.0 + Damage + + + + + Monster/Damage/Attack Base + + + Monster/Split/Split - Half + + + + 4 + + Shock 2 + + Chance + 0.2 + Power + 50 + + + + + + Defense + Default + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flare Color (Charge Attack) + Elemental + Handler1 + + + Health + 240 + Health End + 720 + Health End Depth + 19 + Health Scale + + Monster/Health/Health Base +05 + + Health Start Depth + 9 + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + item/gear/shield/buckler/model.dat + + variant + mechashield mk2 + + + Weapon + + item/weapon/sword/proto/model.dat + + variant + mechasword mk2 + + + variant + mk2 + + + Scale + 1.15 + Shield + True + Shock Chance + 0.222 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 1.0, 1.0, 1.0 + Swing Color In/Out + 0.0, 0.2, 1.0, 0.0 + Swing Color Middle + 0.0, 1.0, 0.6, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + Target Mode + Foe + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 3 (Base) + + + Model + implementation.actor["Model"] + + + Damage (Status) + implementation.actor["Damage"].damages[1] + + + Damage Charge (Status) + implementation.actor["Charge Attack"]["Damage"].damages[1] + + + Bullet + implementation.actor["Charge Attack"]["Extra Action"]["Action"].actions[0].actor, implementation.actor["Charge Attack"]["Extra Action"]["Action"].actions[1].actor, implementation.actor["Charge Attack"]["Extra Action"]["Action"].actions[2].actor, implementation.actor["Charge Attack"]["Extra Action"]["Action"].actions[3].actor + + + Swing FX + implementation.actor["Swing FX"] + + + Charge FX + implementation.actor["Charge Attack"]["Swing"] + + + Loot Table + implementation.actor["Loot Table"] + + + Flare Color + implementation.actor["Flare Color (Charge Attack)"] + + + Secondary Damage + implementation.actor["Damage"].damages[0].type2, implementation.actor["Charge Attack"]["Damage"].damages[0].type2 + + + Defense (Status) + implementation.actor["Defense"] + + + Tags + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword 3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Time Scale + 2.2 + Chain End Speed + 1.5 + Charge Attack + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Round House) + + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Shock 3 + + Chance + 0.6 + Power + 100 + + + + + + End Speed + 0.75 + Extra Action + + Base/Default + + Action + + + + + Bullet/Monster/Mechaknight + + Status Attack + + Shock 3 + + Chance + 0.55 + Power + 50 + + + + + + + + Bullet/Monster/Mechaknight + + Status Attack + + Shock 3 + + Chance + 0.55 + Power + 50 + + + + + + + + Bullet/Monster/Mechaknight + + Status Attack + + Shock 3 + + Chance + 0.55 + Power + 50 + + + + + + + + Bullet/Monster/Mechaknight + + Status Attack + + Shock 3 + + Chance + 0.55 + Power + 50 + + + + + + + + Delay + 90 + + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 200 + 300 + + Knock-Back + + 3.5, 0.0 + 300 + 3 + + Radius + 1.0 + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Default + Start Speed + 2.75 + Swing + + particle/swing/calibur_charged.dat + + Variant + Calibur + + + + + Charge Time Scale + 1.0 + Damage + + + + + Monster/Damage/Attack Base + + + Monster/Split/Split - Half + + + + 4 + + Shock 3 + + Chance + 0.2 + Power + 100 + + + + + + Defense + Default + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flare Color (Charge Attack) + Elemental + Handler1 + + + Health + 720 + Health End + 1440 + Health End Depth + 30 + Health Scale + + Monster/Health/Health Base +05 + + Health Start Depth + 19 + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + mechashield + + + Weapon + + item/weapon/sword/proto/model.dat + + variant + mechasword mk3 + + + variant + mk3 + + + Scale + 1.2 + Shield + True + Shock Chance + 0.111 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 0.99215686, 1.0, 1.0 + Swing Color In/Out + 0.0, 0.20784314, 1.0, 0.0 + Swing Color Middle + 0.0, 1.0, 0.60784316, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + Target Mode + Foe + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Poison Knight/Poison Knight 1 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 1 (Base) + + Charge FX + + particle/swing/proto_charged.dat + + Color + Proto + + + Damage (Status) + + 4 + + Poison + + Chance + 0.2 + Power + 25 + + + + Damage Charge (Status) + + 4 + + Poison + + Chance + 0.5 + Power + 25 + + + + Defense (Status) + Poison Knight + Flare Color + Elemental + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Blight Knight Loot + + Model + + character/npc/monster/mechaknight/model_status.dat + + Color + Poison + variant + mk1 + + + Secondary Damage + ELEMENTAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 0.4, 0.2, 1.0 + Swing Color In/Out + 0.0, 0.8, 0.2, 0.0 + Swing Color Middle + 0.0, 0.8, 0.2, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Poison Knight/Poison Knight 2 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 2 (Base) + + Charge FX + + particle/swing/calibur_charged.dat + + Variant + Poison + + + Damage (Status) + Default + Damage Charge (Status) + + 4 + + Poison 2 + + Chance + 0.55 + Power + 50 + + + + Defense (Status) + Poison Knight + Flare Color + Elemental + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Blight Knight Loot + + Model + + character/npc/monster/mechaknight/model_status.dat + + Color + Poison + variant + mk2 + + + Secondary Damage + ELEMENTAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 0.4, 0.2, 1.0 + Swing Color In/Out + 0.0, 0.8, 0.2, 0.0 + Swing Color Middle + 0.0, 0.8, 0.2, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Poison Knight/Poison Knight 3 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 3 (Base) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.0 + Element + Poison + Status + Poison 3 + + + Charge FX + + particle/swing/calibur_charged.dat + + Variant + Poison + + + Damage (Status) + + 4 + + Poison 3 + + Chance + 0.2 + Power + 100 + + + + Damage Charge (Status) + + 4 + + Poison 3 + + Chance + 0.6 + Power + 100 + + + + Defense (Status) + Poison Knight + Flare Color + Elemental + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Blight Knight Loot + + Model + + character/npc/monster/mechaknight/model_status.dat + + Color + Poison + variant + mk3 + + + Secondary Damage + ELEMENTAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 0.4, 0.2, 1.0 + Swing Color In/Out + 0.0, 0.6, 0.2, 0.0 + Swing Color Middle + 0.0, 0.8, 0.2, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Sword/Mecha Knight + + + Tags + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword 3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack 1 Chain Condition + + + Attack 2 Chain Condition + + + Attack Time Scale + 1.8 + Chain End Speed + 1.5 + Charge Attack + + Weapon/Sword/Proto Sword (Charge) + + Damage + + + Monster/Damage/Attack Base + + + Monster/Split/Split - Half + + + + + Charge Time Scale + 1.0 + Damage + + + + + Monster/Damage/Attack Base + + + Monster/Split/Split - Half + + + + + Defense + Default + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flare Color (Charge Attack) + Elemental + Handler1 + + + Health + 40 + Health End + 240 + Health End Depth + 9 + Health Scale + + Monster/Health/Health Base + + Health Start Depth + 1 + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + Weapon + + item/weapon/sword/proto/model.dat + + variant + mechasword mk1 + + + variant + mk1 + + + Scale + 1.1 + Shield + False + Shock Chance + 0.333 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.59607846, 1.0, 0.4, 1.0 + Swing Color In/Out + 0.19607843, 0.8, 0.0, 0.0 + Swing Color Middle + 0.59607846, 1.0, 0.4, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + Target Mode + Foe + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Sword/Mecha Knight Mk II + + + Tags + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword 3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack 1 Chain Condition + + + Attack 2 Chain Condition + + + Attack Time Scale + 2.0 + Chain End Speed + 1.5 + Charge Attack + + Weapon/Sword/Static Edge (Charge) + + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Shock 2 + + Chance + 0.55 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Charge Time Scale + 1.0 + Damage + + + + + Monster/Damage/Attack Base + + + Monster/Split/Split - Half + + + + 4 + + Shock 2 + + Chance + 0.2 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Defense + Default + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flare Color (Charge Attack) + Elemental + Handler1 + + + Health + 240 + Health End + 720 + Health End Depth + 19 + Health Scale + + Monster/Health/Health Base + + Health Start Depth + 9 + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + item/gear/shield/buckler/model.dat + + variant + mechashield mk2 + + + Weapon + + item/weapon/sword/proto/model.dat + + variant + mechasword mk2 + + + variant + mk2 + + + Scale + 1.15 + Shield + True + Shock Chance + 0.222 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 1.0, 1.0, 1.0 + Swing Color In/Out + 0.0, 0.2, 1.0, 0.0 + Swing Color Middle + 0.0, 1.0, 0.6, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/staticedge_swing_1.ogg + Swing Sound 2 + sound/effect/weapon/staticedge_swing_2.ogg + Swing Sound 3 + sound/effect/weapon/staticedge_swing_3.ogg + Target Mode + Foe + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Sword/Mecha Knight Mk III + + + Tags + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword 3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack 1 Chain Condition + + + Attack 2 Chain Condition + + + Attack Time Scale + 2.2 + Chain End Speed + 1.5 + Charge Attack + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Round House) + + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Shock 3 + + Chance + 0.6 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + End Speed + 0.75 + Extra Action + + Base/Default + + Action + + + + + Bullet/Monster/Mechaknight + + Status Attack + + Shock 3 + + Chance + 0.55 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Bullet/Monster/Mechaknight + + Status Attack + + Shock 3 + + Chance + 0.55 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Bullet/Monster/Mechaknight + + Status Attack + + Shock 3 + + Chance + 0.55 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Bullet/Monster/Mechaknight + + Status Attack + + Shock 3 + + Chance + 0.55 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Delay + 90 + + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 200 + 300 + + Knock-Back + + 3.5, 0.0 + 300 + 3 + + Radius + 1.0 + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Default + Start Speed + 2.75 + Swing + + particle/swing/calibur_charged.dat + + Variant + Calibur + + + + + Charge Time Scale + 1.0 + Damage + + + + + Monster/Damage/Attack Base + + + Monster/Split/Split - Half + + + + 4 + + Shock 3 + + Chance + 0.2 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Defense + Default + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flare Color (Charge Attack) + Elemental + Handler1 + + + Health + 720 + Health End + 1440 + Health End Depth + 30 + Health Scale + + Monster/Health/Health Base + + Health Start Depth + 19 + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + mechashield + + + Weapon + + item/weapon/sword/proto/model.dat + + variant + mechasword mk3 + + + variant + mk3 + + + Scale + 1.2 + Shield + True + Shock Chance + 0.111 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 0.99215686, 1.0, 1.0 + Swing Color In/Out + 0.0, 0.20784314, 1.0, 0.0 + Swing Color Middle + 0.0, 1.0, 0.60784316, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/staticedge_swing_1.ogg + Swing Sound 2 + sound/effect/weapon/staticedge_swing_2.ogg + Swing Sound 3 + sound/effect/weapon/staticedge_swing_3.ogg + Target Mode + Foe + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Volt Knight/Volt Knight 1 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 1 (Base) + + Charge FX + + particle/swing/proto_charged.dat + + Color + Static + + + Damage (Status) + + 4 + + Shock + + Chance + 0.2 + Power + 25 + + + + Damage Charge (Status) + + 4 + + Shock + + Chance + 0.5 + Power + 25 + + + + Defense (Status) + Volt Knight + Flare Color + Elemental + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Volt Knight Loot + + Model + + character/npc/monster/mechaknight/model_status.dat + + Color + Shock + variant + mk1 + + + Secondary Damage + ELEMENTAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 1.0, 0.8, 1.0 + Swing Color In/Out + 0.0, 0.0, 1.0, 0.0 + Swing Color Middle + 0.0, 1.0, 0.4, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Volt Knight/Volt Knight 2 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 2 (Base) + + Charge FX + + particle/swing/calibur_charged.dat + + Variant + Calibur + + + Damage (Status) + Default + Damage Charge (Status) + + 4 + + Shock 2 + + Chance + 0.55 + Power + 50 + + + + Defense (Status) + Volt Knight + Flare Color + Elemental + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Volt Knight Loot + + Model + + character/npc/monster/mechaknight/model_status.dat + + Color + Shock + variant + mk2 + + + Secondary Damage + ELEMENTAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 1.0, 1.0, 1.0 + Swing Color In/Out + 0.0, 0.2, 1.0, 0.0 + Swing Color Middle + 0.4, 1.0, 0.4, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Volt Knight/Volt Knight 3 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 3 (Base) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.0 + Element + Shock + Status + Shock 3 + + + Charge FX + + particle/swing/calibur_charged.dat + + Variant + Calibur + + + Damage (Status) + + 4 + + Shock 3 + + Chance + 0.2 + Power + 100 + + + + Damage Charge (Status) + + 4 + + Shock 3 + + Chance + 0.6 + Power + 100 + + + + Defense (Status) + Volt Knight + Flare Color + Elemental + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Volt Knight Loot + + Model + + character/npc/monster/mechaknight/model_status.dat + + Color + Shock + variant + mk3 + + + Secondary Damage + ELEMENTAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 0.99215686, 1.0, 1.0 + Swing Color In/Out + 0.0, 0.20784314, 1.0, 0.0 + Swing Color Middle + 0.0, 1.0, 0.60784316, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Old/Mecha Knight + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword 3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack 1 Chain Condition + + + Attack 2 Chain Condition + + + Attack Time Scale + 2.0 + Chain End Speed + 1.5 + Charge Attack + + Weapon/Sword/Proto Sword (Charge) + + Damage + + + + 55.0 + 4 + + + + + + Charge Time Scale + 1.0 + Damage + + + + 40.0 + 4 + + + + Defense + Default + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flare Color (Charge Attack) + None + Handler1 + + + Health + 200 + Health End + 400 + Health End Depth + 30 + Health Scale + + Health Start Depth + 1 + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + Weapon + + item/weapon/sword/proto/model.dat + + variant + mechasword mk1 + + + variant + mk1 + + + Scale + 1.1 + Shield + False + Shock Chance + 0.333 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.59607846, 1.0, 0.4, 1.0 + Swing Color In/Out + 0.19607843, 0.8, 0.0, 0.0 + Swing Color Middle + 0.59607846, 1.0, 0.4, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + Target Mode + Foe + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Old/Mecha Knight (Fang of Vog) + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword 3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 720 + Attack 1 Chain Condition + + + Attack 2 Chain Condition + + + Attack Time Scale + 2.0 + Chain End Speed + 1.2 + Charge Attack + + Weapon/Sword/Fang of Vog (Charge) + + Damage + + + + 60.0 + 4 + + + 4 + + Fire + + Chance + 0.72 + Power + 97 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Charge Time Scale + 1.0 + Damage + + + + 50.0 + 4 + + + 4 + + Fire + + Chance + 0.15 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Defense + Default + End Speed + 1.5 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 0.9 + Flare Color (Charge Attack) + None + Handler1 + + + Health + 400 + Health End + 400 + Health End Depth + 30 + Health Scale + + Health Start Depth + 1 + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + item/gear/shield/buckler/model.dat + + variant + mechashield + + + Weapon + + item/weapon/sword/proto/model.dat + + variant + mechasword + + + variant + mk2 + + + Scale + 1.2 + Shield + True + Shock Chance + 0.333 + Start Speed + 1.25 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 1.0, 0.4, 0.0, 1.0 + Swing Color In/Out + 1.0, 0.4, 0.0, 0.0 + Swing Color Middle + 1.0, 0.8, 0.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + Target Mode + Foe + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Old/Mecha Knight (Friendly) + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword 3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack 1 Chain Condition + + + Attack 2 Chain Condition + + + Attack Time Scale + 2.0 + Chain End Speed + 1.5 + Charge Attack + + Weapon/Sword/Calibur (Charge) + + Damage + + + + 80.0 + 2 + + + + + + Charge Time Scale + 1.0 + Damage + + + + 65.0 + 2 + + + + Defense + Default + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flare Color (Charge Attack) + None + Handler1 + + + Health + 500 + Health End + 400 + Health End Depth + 30 + Health Scale + + Health Start Depth + 1 + Loot Table + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + defender(blue) + + + Weapon + + item/weapon/sword/calibur/model.dat + + variant + calibur(blue) + + + variant + energy + + + Scale + 1.2 + Shield + True + Shock Chance + 0.333 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 1.0, 1.0, 1.0 + Swing Color In/Out + 0.2, 1.0, 1.0, 0.0 + Swing Color Middle + 0.6, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + Target Mode + Friend + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Old/Mecha Knight Mk II + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword 3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack 1 Chain Condition + + + Attack 2 Chain Condition + + + Attack Time Scale + 2.0 + Chain End Speed + 1.5 + Charge Attack + + Weapon/Sword/Static Edge (Charge) + + Damage + + + + 80.0 + 4 + + + 4 + + Shock + + Chance + 0.55 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Charge Time Scale + 1.0 + Damage + + + + 65.0 + 4 + + + 4 + + Shock + + Chance + 0.2 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Defense + Default + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flare Color (Charge Attack) + None + Handler1 + + + Health + 300 + Health End + 400 + Health End Depth + 30 + Health Scale + + Health Start Depth + 1 + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + item/gear/shield/buckler/model.dat + + variant + mechashield mk2 + + + Weapon + + item/weapon/sword/proto/model.dat + + variant + mechasword mk2 + + + variant + mk2 + + + Scale + 1.15 + Shield + True + Shock Chance + 0.333 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 1.0, 1.0, 1.0 + Swing Color In/Out + 0.0, 0.2, 1.0, 0.0 + Swing Color Middle + 0.0, 1.0, 0.6, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/staticedge_swing_1.ogg + Swing Sound 2 + sound/effect/weapon/staticedge_swing_2.ogg + Swing Sound 3 + sound/effect/weapon/staticedge_swing_3.ogg + Target Mode + Foe + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Old/Mecha Knight Mk III + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword 3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack 1 Chain Condition + + + Attack 2 Chain Condition + + + Attack Time Scale + 2.0 + Chain End Speed + 1.5 + Charge Attack + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Round House) + + Damage + + + + 100.0 + 4 + true + + + 4 + + Shock + + Chance + 0.6 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + End Speed + 0.75 + Extra Action + + Base/Default + + Action + + + + + Bullet/Monster/Mechaknight + + Status Attack + + Shock + + Chance + 0.55 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Bullet/Monster/Mechaknight + + Status Attack + + Shock + + Chance + 0.55 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Bullet/Monster/Mechaknight + + Status Attack + + Shock + + Chance + 0.55 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Bullet/Monster/Mechaknight + + Status Attack + + Shock + + Chance + 0.55 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Delay + 90 + + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 200 + 300 + + Knock-Back + + 3.5, 0.0 + 300 + 3 + + Radius + 1.0 + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Default + Start Speed + 2.75 + Swing + + particle/swing/calibur_charged.dat + + Variant + Calibur + + + + + Charge Time Scale + 1.0 + Damage + + + + 80.0 + 4 + + + 4 + + Shock + + Chance + 0.2 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Defense + Default + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flare Color (Charge Attack) + None + Handler1 + + + Health + 400 + Health End + 400 + Health End Depth + 30 + Health Scale + + Health Start Depth + 1 + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + mechashield + + + Weapon + + item/weapon/sword/proto/model.dat + + variant + mechasword mk3 + + + variant + mk3 + + + Scale + 1.2 + Shield + True + Shock Chance + 0.333 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 0.99215686, 1.0, 1.0 + Swing Color In/Out + 0.0, 0.20784314, 1.0, 0.0 + Swing Color Middle + 0.0, 1.0, 0.60784316, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/staticedge_swing_1.ogg + Swing Sound 2 + sound/effect/weapon/staticedge_swing_2.ogg + Swing Sound 3 + sound/effect/weapon/staticedge_swing_3.ogg + Target Mode + Foe + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + + Model + implementation.sprite.model + + + Health Scale + implementation.health_scale + + + Loot Table + implementation.handlers[0].action.action.spawn_table + + + Behavior + implementation.behavior + + + Attacks + implementation.attacks[0].ref + + + + Defense + + + Thematic Immunity + implementation.defense.defenses[2] + + + + + + Default + + Thematic Immunity + + + + + + + Red Rover + + Thematic Immunity + + 4 + + + + + + Sick Puppy + + Thematic Immunity + + 2 + + + + + + Slush Puppy + + Thematic Immunity + + 8 + + + + + + Spark Puppy + + Thematic Immunity + + 16 + + + + + Default + + + Handler + implementation.handlers[1] + + + Wave Tag + implementation.tags.tags[3] + + + No Loot Tag + implementation.tags.tags[4] + + + + + + character/npc/monster/gunpuppy/model.dat + + variant + green + + + + + + character/npc/monster/gunpuppy/standing_idle.dat + + + + + + 6.0 + + character/npc/monster/gunpuppy/walking_idle.dat + + + + + + 1.5707964 + + character/npc/monster/gunpuppy/walking_idle.dat + + + character/npc/monster/gunpuppy/walking_idle.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Stone + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/gunpuppy/standing_idle.dat + + + + + + 6.0 + + character/npc/monster/gunpuppy/walking_idle.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.45 + + + (tag 1), (tag 2), (tag 3), (tag 4), (tag 5) + + + + + + + Treasure/Monster/Construct/Gun Puppy/Gun Puppy Loot + + + + + + + + 8 + 79 + 0.0 + 1.5707964 + 100 + 0.15 + true + 10 + 333 + 160 + 1100 + 0.0 + + + + Character/NPC/Monster/Construct/Gun Puppy + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 1.25 + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + + + + 16 + -25 + + + 256 + + + + + + + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Base) + + + Tags + implementation.tags.derived + + + Wave Tag + implementation.tags.tags[2] + + + Model + implementation.sprite.model + + + Scale + implementation.sprite.scale + + + Behavior + implementation.behavior + + + Move While Attacking + implementation.move_while_attacking + + + Attacks + implementation.attacks + + + Loot Table + implementation.handlers[0].action.action.spawn_table + + + Health + implementation.health + + + Health End + implementation.end_health + + + Health Start Depth + implementation.start_depth + + + Health End Depth + implementation.end_depth + + + Health Scale + implementation.health_scale + + + + Defense + + + Thematic Immunity + implementation.defense.defenses[2].defenses + + + + + + Default + + + + + Status Resists + + + + + T + + + Th + + + The + + + Them + + + Thema + + + Themat + + + Themati + + + Thematic + + + Thematic I + + + Thematic Im + + + Thematic Imm + + + Thematic Immu + + + Thematic Immun + + + Thematic Immuni + + + Thematic Immunit + + + Thematic Immunity + + + V + + + Va + + + Var + + + Vari + + + Varia + + + Varian + + + Variant + + + + + + + Cryo Knight + + Status Resists + + + Thematic Immunity + + + 8 + + + + + + + Firo Knight + + Status Resists + + + Thematic Immunity + + + 4 + + + + + + + Poison Knight + + Status Resists + + + Thematic Immunity + + + 2 + + + + + + + Volt Knight + + Status Resists + + + Thematic Immunity + + + 16 + + + + + + Default + + + + Target Mode + + + Damage Mask + implementation.damage_mask + + + Col Flags + implementation.collision_flags + + + Col Mask + implementation.collision_mask + + + Idle Speed + implementation.speed + + + Hit Transient + implementation.sprite.hit_transient["Transient"] + + + Stasis + implementation.stasis_interval + + + Activation + implementation.sprite.activation + + + Taggers + implementation.tags.tags[1] + + + + + + Foe + + Activation + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + Col Flags + 8 + Col Mask + 79 + Damage Mask + 3 + Hit Transient + + particle/fx_gethit_monster.dat + + Idle Speed + 2.0 + Stasis + 5000 + Tag + fam_construct, faction_monster, (Wave Tag) + Tagged + fam_construct + Taggers + faction_monster + Tags + fam_construct, faction_monster + + + + + Friend + + Activation + + character/npc/monster/mechaknight/animations/activate.dat + + Col Flags + 4 + Col Mask + 79 + Damage Mask + 5 + Hit Transient + + particle/fx_gethit_player.dat + + Color + Red + + + Idle Speed + 4.5 + Stasis + 999000 + Tag + fam_construct, faction_monster, (Wave Tag) + Tagged + fam_construct + Taggers + faction_ally + Tags + fam_construct, faction_ally + + + + Foe + + + Handler1 + implementation.handlers[1] + + + + + + character/npc/monster/mechaknight/model.dat + + Shield + + item/gear/shield/buckler/model.dat + + variant + mechashield + + + Weapon + + item/weapon/sword/proto/model.dat + + variant + mechasword + + + variant + mk2 + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/monster_death_cloud.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/monster_death.dat + + Color + Purple + + + + + 1.2 + + + + character/pc/idle.dat + + + + + + 0.75 + + character/pc/walk_forward.dat + + + character/pc/walk_left.dat + + + character/pc/walk_backward.dat + + + character/pc/walk_right.dat + + + + 4.5 + + character/pc/run_forward.dat + + Variant + MechaKnight + + + + character/pc/run_left.dat + + + character/pc/run_backward.dat + + + character/pc/run_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Metal + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/pc/ready_sword.dat + + + + + + 0.75 + + character/pc/walk_forward.dat + + + character/pc/walk_left.dat + + + character/pc/walk_backward.dat + + + character/pc/walk_right.dat + + + + 4.5 + + character/pc/run_forward.dat + + Variant + MechaKnight + + + + character/pc/run_left.dat + + + character/pc/run_backward.dat + + + character/pc/run_right.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.45 + + + + + + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + + + + + + + 8 + 79 + 2.0 + 17.453293 + 400 + 400 + 1 + 30 + 0.3 + 1000 + 2033 + 1100 + 3.333 + true + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Construct/Mecha Knight Charge + + Damage Zone + Directional + Flare Color + None + Sound + sound/effect/monster/mechaknight/mechaknight_attackcue_05.ogg + Time Scale + 2.0 + + + Chain Condition + + + Next Attack + 1 + + + + + + Character/NPC/Monster/Chain + + Attack + + Weapon/Sword/Parts/Base (3 Hit)/Swing 0 (R-L) + + Damage + + + + 50.0 + 4 + + + + End Speed + 2.0 + Extra Action + + Fire Speed + 1.0 + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Default + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + Chain Condition + + + Next Attack + 2 + + + + + + Character/NPC/Monster/Chain + + Attack + + Weapon/Sword/Parts/Base (3 Hit)/Swing 1 (L-R) + + Damage + + + + 50.0 + 4 + + + + End Speed + 2.0 + Extra Action + + Fire Speed + 1.0 + Sound + sound/effect/weapon/sword_02.ogg + Sound - Pitch + Default + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + Chain Condition + + + Next Attack + 3 + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Swing 2 (Around CW) + + Damage + + + + 50.0 + 4 + + + + End Speed + 1.0 + Extra Action + + Fire Speed + 1.0 + Rearm + 900 + Sound + sound/effect/weapon/sword_03.ogg + Sound - Pitch + Default + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Construct/Mecha Knight Charge + + Damage Zone + Directional + Flare Color + None + Sound + sound/effect/monster/mechaknight/mechaknight_attackcue_05.ogg + Time Scale + 1.0 + + + Chain Condition + + + Next Attack + 5 + + + + + + Weapon/Sword/Proto Sword (Charge) + + Damage + + + + 40.0 + 4 + + + + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + + + + 14 + 25 + + + 16 + -25 + + + 256 + + + + + + + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword 3 Hit) + + + Model + implementation.actor["Model"] + + + Scale + implementation.actor["Scale"] + + + Charge Time Scale + implementation.actor["Attacks"][0].ref["Attack"]["Time Scale"] + + + Attack Time Scale + implementation.actor["Attacks"][1].ref["Attack"]["Time Scale"] + + + Charge Attack + implementation.actor["Attacks"][2].ref + + + Attack 1 Chain Condition + implementation.actor["Attacks"][3].ref["Chain Condition"] + + + Attack 2 Chain Condition + implementation.actor["Attacks"][4].ref["Chain Condition"] + + + Damage + implementation.actor["Attacks"][3].ref["Attack"]["Damage"], implementation.actor["Attacks"][4].ref["Attack"]["Damage"], implementation.actor["Attacks"][5].ref["Damage"] + + + Start Speed + implementation.actor["Attacks"][3].ref["Attack"]["Start Speed"], implementation.actor["Attacks"][4].ref["Attack"]["Start Speed"], implementation.actor["Attacks"][5].ref["Start Speed"] + + + Fire Speed + implementation.actor["Attacks"][3].ref["Attack"]["Fire Speed"], implementation.actor["Attacks"][4].ref["Attack"]["Fire Speed"], implementation.actor["Attacks"][5].ref["Fire Speed"] + + + End Speed + implementation.actor["Attacks"][3].ref["Attack"]["End Speed"], implementation.actor["Attacks"][4].ref["Attack"]["End Speed"] + + + Chain End Speed + implementation.actor["Attacks"][5].ref["End Speed"] + + + 233+((667/Chain End Speed)*Fire Speed) + implementation.actor["Attacks"][5].ref["Rearm"] + + + Swing Sound 1 + implementation.actor["Attacks"][3].ref["Attack"]["Sound"] + + + Swing Sound 2 + implementation.actor["Attacks"][4].ref["Attack"]["Sound"] + + + Swing Sound 3 + implementation.actor["Attacks"][5].ref["Sound"] + + + Swing FX + implementation.actor["Attacks"][3].ref["Attack"]["Swing"], implementation.actor["Attacks"][4].ref["Attack"]["Swing"], implementation.actor["Attacks"][5].ref["Swing"] + + + Extra Action 0 + implementation.actor["Attacks"][3].ref["Attack"]["Extra Action"] + + + Extra Action 1 + implementation.actor["Attacks"][4].ref["Attack"]["Extra Action"] + + + Extra Action 2 + implementation.actor["Attacks"][5].ref["Extra Action"] + + + Loot Table + implementation.actor["Loot Table"] + + + Health + implementation.actor["Health"] + + + Health End + implementation.actor["Health End"] + + + Health Start Depth + implementation.actor["Health Start Depth"] + + + Health End Depth + implementation.actor["Health End Depth"] + + + Health Scale + implementation.actor["Health Scale"] + + + Defense + implementation.actor["Defense"] + + + Shield + implementation.actor["Shield"] + + + Target Mode + implementation.actor["Target Mode"] + + + Wave Tag + implementation.actor["Wave Tag"] + + + Tags + implementation.actor["Tags"].derived + + + Handler1 + implementation.actor["Handler1"] + + + Shock Chance + implementation.actor["Shock Chance"] + + + Flare Color (Charge Attack) + implementation.actor["Attacks"][0].ref["Attack"]["Flare Color"] + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword Base) + + Attacks + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Construct/Mecha Knight Charge + + Damage Zone + Directional + Flare Color + None + Sound + sound/effect/monster/mechaknight/mechaknight_attackcue_05.ogg + Time Scale + 1.0 + + + Chain Condition + + + Next Attack + 2 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Construct/Mecha Knight Charge + + Damage Zone + Omni + Flare Color + Elemental + Sound + sound/effect/monster/mechaknight/mechaknight_attackcue_05.ogg + Time Scale + 2.0 + + + Chain Condition + + + Next Attack + 3 + + + + + + Weapon/Sword/Proto Sword (Charge) + + Damage + + + + 40.0 + 4 + + + + + + + + + Character/NPC/Monster/Chain + + Attack + + Weapon/Sword/Parts/Base (3 Hit)/Swing 0 (R-L) + + Damage + + + + 50.0 + 4 + + + + End Speed + 2.0 + Extra Action + + Fire Speed + 1.0 + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Default + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + Chain Condition + + + Next Attack + 4 + + + + + + Character/NPC/Monster/Chain + + Attack + + Weapon/Sword/Parts/Base (3 Hit)/Swing 1 (L-R) + + Damage + + + + 50.0 + 4 + + + + End Speed + 2.0 + Extra Action + + Fire Speed + 1.0 + Sound + sound/effect/weapon/sword_02.ogg + Sound - Pitch + Default + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + Chain Condition + + + Next Attack + 5 + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Swing 2 (Around CW) + + Damage + + + + 50.0 + 4 + + + + End Speed + 1.0 + Extra Action + + Fire Speed + 1.0 + Rearm + 900 + Sound + sound/effect/weapon/sword_03.ogg + Sound - Pitch + Default + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + + + Character/NPC/Monster/Construct/Mech Knight Defend + + + + + Character/NPC/Monster/Construct/Mecha Knight Spaz + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Construct/Mecha Knight Charge (small) + + Sound + sound/effect/monster/mechaknight/mechaknight_attackcue_05.ogg + Time Scale + 2.0 + + + Chain Condition + + + Next Attack + 3 + + + + + Defense + Default + Handler1 + + + Health + 400 + Health End + 400 + Health End Depth + 30 + Health Scale + + Health Start Depth + 1 + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + item/gear/shield/buckler/model.dat + + variant + mechashield + + + Weapon + + item/weapon/sword/proto/model.dat + + variant + mechasword + + + variant + mk2 + + + Scale + 1.2 + Shield + True + Shock Chance + 0.333 + Target Mode + Foe + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword Base) + + + Tags + implementation.actor["Tags"].derived + + + Wave Tag + implementation.actor["Wave Tag"] + + + Model + implementation.actor["Model"] + + + Scale + implementation.actor["Scale"] + + + Attacks + implementation.actor["Attacks"] + + + Loot Table + implementation.actor["Loot Table"] + + + Health + implementation.actor["Health"] + + + Health End + implementation.actor["Health End"] + + + Health Start Depth + implementation.actor["Health Start Depth"] + + + Health End Depth + implementation.actor["Health End Depth"] + + + Health Scale + implementation.actor["Health Scale"] + + + Defense + implementation.actor["Defense"] + + + Shield + implementation.actor["Behavior"]["Shield"] + + + Target Mode + implementation.actor["Target Mode"], implementation.actor["Behavior"]["Target Mode"] + + + Handler1 + implementation.actor["Handler1"] + + + Shock Chance + implementation.actor["Behavior"]["Shock Chance"] + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Base) + + Attacks + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Construct/Mecha Knight Charge + + Damage Zone + Directional + Flare Color + None + Sound + sound/effect/monster/mechaknight/mechaknight_attackcue_05.ogg + Time Scale + 1.0 + + + Chain Condition + + + Next Attack + 2 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Construct/Mecha Knight Charge + + Damage Zone + Directional + Flare Color + None + Sound + sound/effect/monster/mechaknight/mechaknight_attackcue_05.ogg + Time Scale + 2.0 + + + Chain Condition + + + Next Attack + 3 + + + + + + Weapon/Sword/Proto Sword (Charge) + + Damage + + + + 40.0 + 4 + + + + + + + + + Character/NPC/Monster/Chain + + Attack + + Weapon/Sword/Parts/Base (3 Hit)/Swing 0 (R-L) + + Damage + + + + 50.0 + 4 + + + + End Speed + 2.0 + Extra Action + + Fire Speed + 1.0 + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Default + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + Chain Condition + + + Next Attack + 4 + + + + + + Character/NPC/Monster/Chain + + Attack + + Weapon/Sword/Parts/Base (3 Hit)/Swing 1 (L-R) + + Damage + + + + 50.0 + 4 + + + + End Speed + 2.0 + Extra Action + + Fire Speed + 1.0 + Sound + sound/effect/weapon/sword_02.ogg + Sound - Pitch + Default + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + Chain Condition + + + Next Attack + 5 + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Swing 2 (Around CW) + + Damage + + + + 50.0 + 4 + + + + End Speed + 1.0 + Extra Action + + Fire Speed + 1.0 + Rearm + 900 + Sound + sound/effect/weapon/sword_03.ogg + Sound - Pitch + Default + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + + Behavior + + Defense + Default + Handler1 + + + Health + 400 + Health End + 400 + Health End Depth + 30 + Health Scale + + Health Start Depth + 1 + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + item/gear/shield/buckler/model.dat + + variant + mechashield + + + Weapon + + item/weapon/sword/proto/model.dat + + variant + mechasword + + + variant + mk2 + + + Move While Attacking + false + Scale + 1.2 + Tags + + Target Mode + Foe + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Parts/MechaShield + + + + particle/shield/frontarc.dat + + Power + monster + Radius + 1.0 + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/weapon/charge_complete_01.ogg + Gain + 1.0 + Pitch + 2.0 + Range + Medium + + + Transform + + + Transient + + + + + + + + + 1.25 + + + 0.5, 0.0 + + + + + + + + + + + 160 + 0 + 0.0 + 1 + true + 20 + 0 + 0 + 0.0 + + + + + + + + + + + + Character/NPC/Monster/Construct/Plasma Dog + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/gunpuppy/model.dat + + variant + green + + + + + + character/npc/monster/gunpuppy/standing_idle.dat + + + + + + 6.0 + + character/npc/monster/gunpuppy/walking_idle.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Stone + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/gunpuppy/standing_idle.dat + + + + + + 6.0 + + character/npc/monster/gunpuppy/walking_idle.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.45 + + + + + + Treasure/Monster/Construct/Gun Puppy/Gun Puppy Loot + + + + + 8 + 79 + 0.0 + 8.726646 + 100 + 0.5 + 10 + 333 + 160 + 1100 + 0.0 + + + + Character/NPC/Monster/Construct/Gun Puppy + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 1.25 + + + + + + + + 40 + + + 50 + + + 2 + 100 + + + 16 + -50 + + + + + + + Character/NPC/Monster/Construct/Retrode/Hotrode/Hotrode 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 0.8, 0.2, 0.0, 1.0 + Beam Interval + 6000 + Damage (Status) + + Defense (Status) + Hotrode + Eye Beam + False + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_sts.dat + + Color + Fire + Reaction + Knockdown + Variant + Tier 1 + + + Reaction Time + 2100 + Scale + 1.05 + Signal (Status) + Fire + Swing Interval + 4000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Hotrode/Hotrode 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 1.0, 0.4, 0.0, 1.0 + Beam Interval + 6000 + Damage (Status) + + Fire 2 + + Chance + 1.0 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + Hotrode + Eye Beam + True + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_sts.dat + + Color + Fire + Reaction + Knockdown + Variant + Tier 2 + + + Reaction Time + 2100 + Scale + 1.075 + Signal (Status) + Fire + Swing Interval + 3000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Hotrode/Hotrode 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 1.0, 0.4, 0.0, 1.0 + Beam Interval + 4000 + Damage (Status) + + Fire 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + Hotrode + Eye Beam + True + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_sts.dat + + Color + Fire + Reaction + Flinch + Variant + Tier 3 + + + Reaction Time + 300 + Scale + 1.1 + Signal (Status) + Fire + Swing Interval + 2000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Isotrode/Isotrode 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 0.4, 0.8, 0.0, 1.0 + Beam Interval + 6000 + Damage (Status) + + Defense (Status) + Isotrode + Eye Beam + False + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_sts.dat + + Color + Poison + Reaction + Knockdown + Variant + Tier 1 + + + Reaction Time + 2100 + Scale + 1.05 + Signal (Status) + Poison + Swing Interval + 4000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Isotrode/Isotrode 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 0.4, 0.8, 0.0, 1.0 + Beam Interval + 6000 + Damage (Status) + + Poison 2 + + Chance + 1.0 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + Isotrode + Eye Beam + True + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_sts.dat + + Color + Poison + Reaction + Knockdown + Variant + Tier 2 + + + Reaction Time + 2100 + Scale + 1.075 + Signal (Status) + Poison + Swing Interval + 3000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Isotrode/Isotrode 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 0.4, 0.8, 0.0, 1.0 + Beam Interval + 4000 + Damage (Status) + + Poison 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + Isotrode + Eye Beam + True + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_sts.dat + + Color + Poison + Reaction + Flinch + Variant + Tier 3 + + + Reaction Time + 300 + Scale + 1.1 + Signal (Status) + Poison + Swing Interval + 2000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + + Model + implementation.sprite.model + + + Scale + implementation.sprite.scale + + + Eye Beam + implementation.behavior["Eye Beam"] + + + Beam Color + implementation.attacks[1].ref["Color"], implementation.attacks[1].ref["Bullet"]["Color"] + + + Damage (Status) + implementation.attacks[0].ref["Status Condition"], implementation.attacks[1].ref["Bullet"]["Damage (Status)"] + + + Signal (Status) + implementation.attacks[1].ref["Bullet"]["Signal (Status)"] + + + Swing Interval + implementation.behavior["Swing Interval"] + + + Beam Interval + implementation.behavior["Beam Interval"] + + + Reaction Time + implementation.react_time + + + + Defense (Status) + + + Thematic Immunity + implementation.defense.defenses[2].defenses + + + + + + Default + + Thematic Immunity + + + + + + + Hotrode + + Thematic Immunity + + + 4 + + + + + + + Isotrode + + Thematic Immunity + + + 2 + + + + + + + Sleetrode + + Thematic Immunity + + + 8 + + + + + + + Voltrode + + Thematic Immunity + + + 16 + + + + + + Default + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/mechazombie/model_nrm.dat + + Reaction + Knockdown + Variant + Tier 2 + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/monster_spawn_01.ogg + Gain + 1.0 + Range + Medium + + + + + 1.1 + + + + character/npc/monster/mechazombie/animations/animation_idle.dat + + + + + + 1.0 + + character/npc/monster/mechazombie/animations/animation_moving.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Metal + + Pitch shift + Lower 2 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/mechazombie/animations/animation_idle.dat + + + + + + 1.0 + + character/npc/monster/mechazombie/animations/animation_moving.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.45 + + + (tag 1), (tag 2), (tag 3) + + + + + + Treasure/Monster/Construct/Retrode/Retrode Loot + + + + + 8 + 79 + 0.75 + 3.4906585 + 100 + + Monster/Health/Health Base +05 + + 0.3 + 2100 + 2050 + 100 + 2.0 + + + + Character/NPC/Monster/Construct/Mecha Zombie/Swipe Arm + + Status Condition + + + + + + + Character/NPC/Monster/Construct/Mecha Zombie/Eye Beam + + Bullet + + Bullet/Monster/Mecha Zombie Beam + + Color + 0.0, 1.0, 0.4, 1.0 + Damage (Status) + + Signal (Status) + Fire + + + Color + 0.0, 1.0, 0.2, 1.0 + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + + + + 257 + -25 + + + 256 + + + + + + + + + + + Character/NPC/Monster/Construct/Retrode/Retrode (TG) + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 0.0, 1.0, 0.2, 1.0 + Beam Interval + 6000 + Damage (Status) + + Defense (Status) + Default + Eye Beam + False + Loot Table + + Treasure/Monster/Tutorial/Retrode (TG) + + Model + + character/npc/monster/mechazombie/model_nrm.dat + + Reaction + Knockdown + Variant + Tier 1 + + + Reaction Time + 2100 + Scale + 1.05 + Signal (Status) + None + Swing Interval + 4000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Retrode/Retrode 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 0.0, 1.0, 0.2, 1.0 + Beam Interval + 6000 + Damage (Status) + + Defense (Status) + Default + Eye Beam + False + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_nrm.dat + + Reaction + Knockdown + Variant + Tier 1 + + + Reaction Time + 2100 + Scale + 1.05 + Signal (Status) + None + Swing Interval + 4000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Retrode/Retrode 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 0.0, 1.0, 0.2, 1.0 + Beam Interval + 6000 + Damage (Status) + + Defense (Status) + Default + Eye Beam + True + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_nrm.dat + + Reaction + Knockdown + Variant + Tier 2 + + + Reaction Time + 2100 + Scale + 1.075 + Signal (Status) + None + Swing Interval + 3000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Retrode/Retrode 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 0.0, 1.0, 0.2, 1.0 + Beam Interval + 4000 + Damage (Status) + + Defense (Status) + Default + Eye Beam + True + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_nrm.dat + + Reaction + Flinch + Variant + Tier 3 + + + Reaction Time + 300 + Scale + 1.1 + Signal (Status) + None + Swing Interval + 2000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Sleetrode/Sleetrode 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 0.6, 0.8, 1.0, 1.0 + Beam Interval + 6000 + Damage (Status) + + Defense (Status) + Sleetrode + Eye Beam + False + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_sts.dat + + Color + Freeze + Reaction + Knockdown + Variant + Tier 1 + + + Reaction Time + 2100 + Scale + 1.05 + Signal (Status) + Freeze + Swing Interval + 4000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Sleetrode/Sleetrode 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 0.6, 0.8, 1.0, 1.0 + Beam Interval + 6000 + Damage (Status) + + Freeze 2 + + Chance + 1.0 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + Sleetrode + Eye Beam + True + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_sts.dat + + Color + Freeze + Reaction + Knockdown + Variant + Tier 2 + + + Reaction Time + 2100 + Scale + 1.075 + Signal (Status) + Freeze + Swing Interval + 3000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Sleetrode/Sleetrode 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 0.6, 0.8, 1.0, 1.0 + Beam Interval + 4000 + Damage (Status) + + Freeze 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + Sleetrode + Eye Beam + True + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_sts.dat + + Color + Freeze + Reaction + Flinch + Variant + Tier 3 + + + Reaction Time + 300 + Scale + 1.1 + Signal (Status) + Freeze + Swing Interval + 2000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Voltrode/Voltrode 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 0.4, 1.0, 0.8, 1.0 + Beam Interval + 6000 + Damage (Status) + + Defense (Status) + Voltrode + Eye Beam + False + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_sts.dat + + Color + Shock + Reaction + Knockdown + Variant + Tier 1 + + + Reaction Time + 2100 + Scale + 1.05 + Signal (Status) + Shock + Swing Interval + 4000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Voltrode/Voltrode 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 0.4, 1.0, 0.8, 1.0 + Beam Interval + 6000 + Damage (Status) + + Shock 2 + + Chance + 1.0 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + Voltrode + Eye Beam + True + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_sts.dat + + Color + Shock + Reaction + Knockdown + Variant + Tier 2 + + + Reaction Time + 2100 + Scale + 1.075 + Signal (Status) + Shock + Swing Interval + 3000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Voltrode/Voltrode 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 0.2, 1.0, 0.8, 1.0 + Beam Interval + 4000 + Damage (Status) + + Shock 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + Voltrode + Eye Beam + True + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_sts.dat + + Color + Shock + Reaction + Flinch + Variant + Tier 3 + + + Reaction Time + 300 + Scale + 1.1 + Signal (Status) + Shock + Swing Interval + 2000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Rocket Puppy/Rocket Puppy/Rocket Puppy 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Rocket Puppy + + Bullet + + Bullet/Monster/Rocket Puppy Rocket + + Bullet Speed + 3.5 + + + Offset + 0.0, 0.0 + Sound + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Pitch + 0.8 + Range + Medium + + + Speed + 2.0 + + + Behavior + + Defense + Default + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Rocket Puppy/Rocket Puppy Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + green + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Rocket Puppy/Rocket Puppy/Rocket Puppy 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Rocket Puppy + + Bullet + + Bullet/Monster/Rocket Puppy Rocket (mkii) + + Impulse Speed + + 2.0, 0.0 + 2000 + + Status Attack + + Fire 2 + + Chance + 0.5 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Turn Rate + 1.3962634 + + + Offset + 0.0, 0.0 + Sound + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Pitch + 0.8 + Range + Medium + + + Speed + 0.75 + + + Behavior + + Defense + Default + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Rocket Puppy/Rocket Puppy Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + mkii + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Rocket Puppy/Rocket Puppy/Rocket Puppy 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Rocket Puppy + + Bullet + + Bullet/Monster/Rocket Puppy Rocket (mkii) + + Impulse Speed + + 3.0, 0.0 + 2000 + + Status Attack + + Fire 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Turn Rate + 6.2831855 + + + Offset + 0.0, 0.0 + Sound + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Pitch + 0.8 + Range + Medium + + + Speed + 0.75 + + + Behavior + + Defense + Default + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Rocket Puppy/Rocket Puppy Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + mkiii + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Brumabot/Brumabot Mk I + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Default + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + Freeze + Status + Freeze + + + Mouthspark + Frost + + + + Behavior + + Defenses + Brumabot + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Brumabot Loot + + React % + 0.1 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 2.8 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk1_rc.png + Theme Variant + Freeze + Turn Rate + 6.2831855 + Weight + 1 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Brumabot/Brumabot Mk II + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Tier 2 + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + Freeze + Status + Freeze 2 + + + Mouthspark + Frost + + + + Behavior + + Defenses + Brumabot + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Brumabot Loot + + React % + 0.15 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 3.0 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk2_rc.png + Theme Variant + Freeze + Turn Rate + 6.2831855 + Weight + 1 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Brumabot/Brumabot Mk III + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Tier 3 + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + Freeze + Status + Freeze 3 + + + Mouthspark + Frost + + + + Behavior + + Defenses + Brumabot + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Brumabot Loot + + React % + 0.2 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 3.2 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk3_rc.png + Theme Variant + Freeze + Turn Rate + 6.2831855 + Weight + 2 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Cinderbot/Cinderbot Mk I + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Default + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + Fire + Status + Fire + + + Mouthspark + Fire + + + + Behavior + + Defenses + Cinderbot + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Cinderbot Loot + + React % + 0.1 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 2.8 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk1_rc.png + Theme Variant + Fire + Turn Rate + 6.2831855 + Weight + 1 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Cinderbot/Cinderbot Mk II + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Tier 2 + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + Fire + Status + Fire 2 + + + Mouthspark + Fire + + + + Behavior + + Defenses + Cinderbot + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Cinderbot Loot + + React % + 0.15 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 3.0 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk2_rc.png + Theme Variant + Fire + Turn Rate + 6.2831855 + Weight + 1 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Cinderbot/Cinderbot Mk III + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Tier 3 + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + Fire + Status + Fire 3 + + + Mouthspark + Fire + + + + Behavior + + Defenses + Cinderbot + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Cinderbot Loot + + React % + 0.2 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 3.2 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk3_rc.png + Theme Variant + Fire + Turn Rate + 6.2831855 + Weight + 2 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Hazbot/Hazbot Mk I + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Default + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + Poison + Status + Poison + + + Mouthspark + Poison + + + + Behavior + + Defenses + Hazbot + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Hazbot Loot + + React % + 0.1 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 2.8 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk1_rc.png + Theme Variant + Poison + Turn Rate + 6.2831855 + Weight + 1 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Hazbot/Hazbot Mk II + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Tier 2 + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + Poison + Status + Poison 2 + + + Mouthspark + Poison + + + + Behavior + + Defenses + Hazbot + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Hazbot Loot + + React % + 0.15 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 3.0 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk2_rc.png + Theme Variant + Poison + Turn Rate + 6.2831855 + Weight + 1 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Hazbot/Hazbot Mk III + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Tier 3 + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + Poison + Status + Poison 3 + + + Mouthspark + Poison + + + + Behavior + + Defenses + Hazbot + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Hazbot Loot + + React % + 0.2 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 3.2 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk3_rc.png + Theme Variant + Poison + Turn Rate + 6.2831855 + Weight + 2 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + + Texture + implementation.sprite.model["Texture"] + + + Theme Variant + implementation.sprite.model["Theme Variant"] + + + Tags + implementation.tags.derived + + + Scale + implementation.sprite.scale + + + Health Scale + implementation.health_scale + + + Shape Radius + implementation.shape.radius + + + React % + implementation.min_react_percent + + + Weight + implementation.impulse_level + + + Speed + implementation.speed + + + Speed (Targeted) + implementation.targeted_speed + + + Turn Rate + implementation.turn_rate, implementation.sprite.rotations[0].rate + + + Behavior + implementation.behavior + + + Attack (Blast) + implementation.attacks[0] + + + Loot Table + implementation.handlers[0].action.spawn_table + + + + Defenses + + + Thematic Immunity + implementation.defense.defenses[2] + + + + + + Default + + Thematic Immunity + + + + + + + Brumabot + + Thematic Immunity + + 8 + + + + + + Cinderbot + + Thematic Immunity + + 4 + + + + + + Hazbot + + Thematic Immunity + + 2 + + + + + + Surgebot + + Thematic Immunity + + 16 + + + + + Default + + + + + + character/npc/monster/scuttlebot/scuttlebot_body.dat + + Texture + + Theme Variant + Fire + + + 0.86 + 0.86 + + + + character/npc/monster/chromalisk/animation/standing.dat + + + + + + 2.8 + + character/npc/monster/scuttlebot/animations/moving_forward.dat + + Scuffle FX + + particle/footstep/scuffle_construct.dat + + Visual Float + + + + + + + + 6.2831855 + + character/npc/monster/chromalisk/animation/turn_left.dat + + + character/npc/monster/chromalisk/animation/turn_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Metal + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/chromalisk/animation/standing.dat + + + + + + 2.8 + + character/npc/monster/chromalisk/animation/moving_forward.dat + + Scuffle FX + + particle/footstep/scuffle_construct.dat + + Visual Float + + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + node_steal + + + 0.4 + + + (tag 1), (tag 2), (tag 3) + + + + + + Treasure/Monster/Construct/Gun Puppy/Gun Puppy Loot + + + + + 8 + 79 + 2.0 + 6.2831855 + 200 + + Monster/Health/Health Base + + 0.1 + 167 + 1500 + 4.0 + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Default + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + None + Status + None + + + Mouthspark + Default (yellow) + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + + + + 16 + -25 + + + 256 + + + + + + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Scuttlebot (TG) + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Default + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + None + Status + None + + + Mouthspark + Default (yellow) + + + + Behavior + + Defenses + Default + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Tutorial/Scuttlebot (TG) + + React % + 0.1 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 2.8 + Tags + + (tag 1), (tag 2), (tag 3) + + Texture + character/npc/monster/scuttlebot/body_mk1.png + Theme Variant + Fire + Turn Rate + 6.2831855 + Weight + 1 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Scuttlebot/Scuttlebot Mk I + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Default + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + None + Status + None + + + Mouthspark + Default (yellow) + + + + Behavior + + Defenses + Default + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Scuttlebot Loot + + React % + 0.1 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 2.8 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk1.png + Theme Variant + Fire + Turn Rate + 6.2831855 + Weight + 1 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Scuttlebot/Scuttlebot Mk II + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Tier 2 + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + None + Status + None + + + Mouthspark + Default (yellow) + + + + Behavior + + Defenses + Default + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Scuttlebot Loot + + React % + 0.15 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 3.0 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk2.png + Theme Variant + Fire + Turn Rate + 6.2831855 + Weight + 1 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Scuttlebot/Scuttlebot Mk III + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Tier 3 + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + None + Status + None + + + Mouthspark + Default (yellow) + + + + Behavior + + Defenses + Default + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Scuttlebot Loot + + React % + 0.2 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 3.2 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk3.png + Theme Variant + Fire + Turn Rate + 6.2831855 + Weight + 2 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Surgebot/Surgebot Mk I + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Default + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + Shock + Status + Shock + + + Mouthspark + Shock + + + + Behavior + + Defenses + Surgebot + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Surgebot Loot + + React % + 0.1 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 2.8 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk1_rc.png + Theme Variant + Shock + Turn Rate + 6.2831855 + Weight + 1 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Surgebot/Surgebot Mk II + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Tier 2 + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + Shock + Status + Shock 2 + + + Mouthspark + Shock + + + + Behavior + + Defenses + Surgebot + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Surgebot Loot + + React % + 0.15 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 3.0 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk2_rc.png + Theme Variant + Shock + Turn Rate + 6.2831855 + Weight + 1 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Surgebot/Surgebot Mk III + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Tier 3 + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + Shock + Status + Shock 3 + + + Mouthspark + Shock + + + + Behavior + + Defenses + Surgebot + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Surgebot Loot + + React % + 0.2 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 3.2 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk3_rc.png + Theme Variant + Shock + Turn Rate + 6.2831855 + Weight + 2 + + + + + + Character/NPC/Monster/Construct/Tortodrone/Parts/Tortodrone (base) + + + Wave Tag + implementation.tags.tags[4], implementation.handlers[1].action.actor["Wave Tag"] + + + + + + character/npc/monster/tortodrone/tortodrone.dat + + Variant + Idle + + + + particle/fx_chainmechadeath.dat + + 2.5 + + + + character/npc/monster/tortodrone/animation/standing_idle.dat + + + + + + 2.0 + + character/npc/monster/tortodrone/animation/moving.dat + + Animation Speed + 0.667 + + + + + + + 1.5707964 + + character/npc/monster/tortodrone/animation/moving.dat + + Animation Speed + 2.0 + + + + character/npc/monster/tortodrone/animation/moving.dat + + Animation Speed + 2.0 + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Stone + + Pitch shift + Lower 1 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + 0.98 + + character/npc/monster/tortodrone/animation/standing_aggro.dat + + Sound + + + + + + 0.02 + + character/npc/monster/tortodrone/animation/standing_aggro.dat + + Sound + sound/effect/monster/tortodrone_aggressive_groan3.ogg + + + + + + + 6.0 + + character/npc/monster/tortodrone/animation/moving.dat + + Animation Speed + 2.0 + + + + + + character/npc/monster/tortodrone/animation/activate.dat + + + + TARGETED + + character/npc/monster/tortodrone/tortodrone.dat + + Variant + Aggro + + + + + + + 1.3 + + + + + + Monster/Heal/Heal Base -10 + + + + + + + Character/NPC/Monster/Construct/Tortodrone/Parts/Tortodrone Corpse + + Wave Tag + (Wave Tag) + + + + + + 12 + 79 + 2.0 + 240 + 4320 + 1 + 30 + + Monster/Health/Health Base +40 + + 7 + 0.15 + true + 10 + 267 + 900 + 3.5 + + + + Character/NPC/Monster/Construct/Tortodrone Missle Attack + + Translation 0 + 0.0, 0.0 + Translation 1 + 0.0, 0.0 + Translation 2 + 0.0, 0.0 + Translation 3 + 0.0, 0.0 + + + + + + Character/NPC/Monster/Construct/Tortodrone Charge Loop + + Status Attack + + + + + + + Character/NPC/Monster/Construct/Tortodrone Fist Pound + + + + + Character/NPC/Monster/Construct/Tortodrone Missle Attack + + Translation 0 + 0.0, 0.0 + Translation 1 + 0.0, 0.0 + Translation 2 + 0.0, 0.0 + Translation 3 + 0.0, 0.0 + + + + + + Character/NPC/Monster/Construct/Tortodrone Missle Attack + + Translation 0 + 0.0, 0.0 + Translation 1 + 0.0, 0.0 + Translation 2 + 0.0, 0.0 + Translation 3 + 0.0, 0.0 + + + + + + Character/NPC/Monster/Construct/Tortodrone Flying Punch (far) + + + + + Character/NPC/Monster/Construct/Tortodrone Punch + + + + + Character/NPC/Monster/Construct/Tortodrone Punch (outro) + + Speed + 1.0 + + + + + + + + + Monster/Defense/Defense Base +05 + + + Monster/Defense/Defense Base +05 + + + Monster/Defense/Defense Base +05 + + + Monster/Defense/Defense Base +05 + + + + 29 + 75 + + + 2 + 100 + + + 288 + + + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base +25 + + + + + + + 2.6 + 2.6 + + + -1.3, 0.0 + + + + + + + + + + + Character/NPC/Monster/Construct/Tortodrone/Parts/Tortodrone Corpse + + + Wave Tag + implementation.tags.tags[4], implementation.handlers[2].action.spawn_table["Wave Tag"] + + + + + + character/npc/monster/tortodrone/tortodrone_defeated.dat + + + + + character/npc/monster/tortodrone/animation/corpse_idle.dat + + + + + character/npc/monster/tortodrone/animation/corpse_stirring.dat + + + + + + 0.8 + + + + + + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default + + File + sound/effect/monster/monster_damage.ogg + Range + Medium + + + Transform + + + Transient + + particle/fx_gethit_crap.dat + + Size + Medium + + + + + + + + + + + Treasure/Breakable Object/Generic A + + + + + + 2 + + + + + Monster/Single Family/Construct/Tortodrone + + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Basic + + Lifespan + 5000 + Model + + particle/fx_treasure_explode.dat + + Color + Green + + + + + + + + + + + 2.5, 0.0 + 240 + 20 + + 7 + + + + + + + + + + + + + + 243 + 3 + + + + + + + + + + Character/NPC/Monster/Construct/Tortodrone/Tortodrone + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Tortodrone/Parts/Tortodrone (base) + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Blarful/Blarful 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Blarful (Base) + + Aquire Range + 6.0 + Attack Interval + 5000 + Damage (Status) + + Poison + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 1500 + Targeted Speed + 3.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Blarful/Blarful 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Blarful (Base) + + Aquire Range + 9.0 + Attack Interval + 3500 + Damage (Status) + + Poison 2 + + Chance + 0.4 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 1000 + Targeted Speed + 4.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Blarful/Blarful 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Blarful (Base) + + Aquire Range + 12.0 + Attack Interval + 2000 + Damage (Status) + + Poison 3 + + Chance + 0.6 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 500 + Targeted Speed + 5.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Blarful/Blarful Overtimer 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Blarful Overtimer (Base) + + Aquire Range + 8.0 + Attack Interval + 5000 + Damage (Status) + + Poison + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 1200 + Targeted Speed + 3.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Blarful/Blarful Overtimer 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Blarful Overtimer (Base) + + Aquire Range + 10.0 + Attack Interval + 3500 + Damage (Status) + + Poison 2 + + Chance + 0.4 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 850 + Targeted Speed + 4.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Blarful/Blarful Overtimer 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Blarful Overtimer (Base) + + Aquire Range + 12.0 + Attack Interval + 2000 + Damage (Status) + + Poison 3 + + Chance + 0.6 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 500 + Targeted Speed + 6.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Devil-IT/Devil-IT 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devil-IT (Base) + + Aquire Range + 6.0 + Attack Interval + 5000 + Damage (Status) + + Shock + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 1500 + Targeted Speed + 3.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Devil-IT/Devil-IT 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devil-IT (Base) + + Aquire Range + 9.0 + Attack Interval + 3500 + Damage (Status) + + Shock 2 + + Chance + 0.4 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 1000 + Targeted Speed + 4.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Devil-IT/Devil-IT 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devil-IT (Base) + + Aquire Range + 12.0 + Attack Interval + 2000 + Damage (Status) + + Shock 3 + + Chance + 0.6 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 500 + Targeted Speed + 5.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Devil-IT/Devil-IT Overtimer 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devil-IT Overtimer (Base) + + Aquire Range + 8.0 + Attack Interval + 5000 + Damage (Status) + + Shock + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 1200 + Targeted Speed + 3.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Devil-IT/Devil-IT Overtimer 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devil-IT Overtimer (Base) + + Aquire Range + 10.0 + Attack Interval + 3500 + Damage (Status) + + Shock 2 + + Chance + 0.4 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 850 + Targeted Speed + 4.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Devil-IT/Devil-IT Overtimer 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devil-IT Overtimer (Base) + + Aquire Range + 12.0 + Attack Interval + 2000 + Damage (Status) + + Shock 3 + + Chance + 0.6 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 500 + Targeted Speed + 6.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Devilite/Devilite 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devilite (Base) + + Aquire Range + 6.0 + Attack Interval + 5000 + Dodge Interval + 1500 + Targeted Speed + 3.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Devilite/Devilite 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devilite (Base) + + Aquire Range + 9.0 + Attack Interval + 3500 + Dodge Interval + 1000 + Targeted Speed + 4.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Devilite/Devilite 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devilite (Base) + + Aquire Range + 12.0 + Attack Interval + 2000 + Dodge Interval + 500 + Targeted Speed + 5.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Devilite/Devilite Overtimer 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devilite Overtimer (Base) + + Aquire Range + 8.0 + Attack Interval + 5000 + Damage (Status) + + Stun + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 1200 + Targeted Speed + 3.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Devilite/Devilite Overtimer 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devilite Overtimer (Base) + + Aquire Range + 10.0 + Attack Interval + 3500 + Damage (Status) + + Stun + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 850 + Targeted Speed + 4.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Devilite/Devilite Overtimer 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devilite Overtimer (Base) + + Aquire Range + 12.0 + Attack Interval + 2000 + Damage (Status) + + Stun + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 500 + Targeted Speed + 6.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Firebrander/Firebrander 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Firebrander (Base) + + Aquire Range + 6.0 + Attack Interval + 5000 + Damage (Status) + + Fire + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 1500 + Targeted Speed + 3.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Firebrander/Firebrander 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Firebrander (Base) + + Aquire Range + 9.0 + Attack Interval + 3500 + Damage (Status) + + Fire 2 + + Chance + 0.4 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 1000 + Targeted Speed + 4.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Firebrander/Firebrander 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Firebrander (Base) + + Aquire Range + 12.0 + Attack Interval + 2000 + Damage (Status) + + Fire 3 + + Chance + 0.6 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 500 + Targeted Speed + 5.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Firebrander/Firebrander Overtimer 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Firebrander Overtimer (Base) + + Aquire Range + 8.0 + Attack Interval + 5000 + Damage (Status) + + Fire + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 1200 + Targeted Speed + 3.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Firebrander/Firebrander Overtimer 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Firebrander Overtimer (Base) + + Aquire Range + 10.0 + Attack Interval + 3500 + Damage (Status) + + Fire 2 + + Chance + 0.4 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 850 + Targeted Speed + 4.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Firebrander/Firebrander Overtimer 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Firebrander Overtimer (Base) + + Aquire Range + 12.0 + Attack Interval + 2000 + Damage (Status) + + Fire 3 + + Chance + 0.6 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 500 + Targeted Speed + 6.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Layoafer/Layoafer 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Layoafer (Base) + + Aquire Range + 6.0 + Attack Interval + 5000 + Damage (Status) + + Freeze + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 1500 + Targeted Speed + 3.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Layoafer/Layoafer 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Layoafer (Base) + + Aquire Range + 9.0 + Attack Interval + 3500 + Damage (Status) + + Freeze 2 + + Chance + 0.4 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 1000 + Targeted Speed + 4.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Layoafer/Layoafer 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Layoafer (Base) + + Aquire Range + 12.0 + Attack Interval + 2000 + Damage (Status) + + Freeze 3 + + Chance + 0.6 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 500 + Targeted Speed + 5.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Layoafer/Layoafer Overtimer 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Layoafer Overtimer (Base) + + Aquire Range + 8.0 + Attack Interval + 5000 + Damage (Status) + + Freeze + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 1200 + Targeted Speed + 3.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Layoafer/Layoafer Overtimer 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Layoafer Overtimer (Base) + + Aquire Range + 10.0 + Attack Interval + 3500 + Damage (Status) + + Freeze 2 + + Chance + 0.4 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 850 + Targeted Speed + 4.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Layoafer/Layoafer Overtimer 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Layoafer Overtimer (Base) + + Aquire Range + 12.0 + Attack Interval + 2000 + Damage (Status) + + Freeze 3 + + Chance + 0.6 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 500 + Targeted Speed + 6.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Blarful (Base) + + + Damage (Status) + implementation.actor["Attacks"][4].ref["Damage (Status)"], implementation.actor["Attacks"][5].ref["Damage (Status)"], implementation.actor["Attacks"][6].ref["Damage (Status)"], implementation.actor["Attacks"][7].ref["Damage (Status)"], implementation.actor["Attacks"][8].ref["Damage (Status)"] + + + Targeted Speed + implementation.actor["Targeted Speed"] + + + Aquire Range + implementation.actor["Behavior"]["Behavior"]["Aquire Range"] + + + Attack Interval + implementation.actor["Behavior"]["Behavior"]["Attack Interval"] + + + Dodge Interval + implementation.actor["Behavior"]["Behavior"]["Dodge Interval"], implementation.actor["Behavior"]["Dodge Interval"] + + + Wave Tag + implementation.actor["Wave Tag"], implementation.actor["Overtimer Table"]["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Worker (Base) + + Attacks + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Left + + + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Right + + + + + + Character/NPC/Monster/Fiend/Devilite/Dive Away + + + + + Character/NPC/Monster/Fiend/Devilite/Cower + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Junk/Can + + Damage (Status) + + Poison + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Junk/Cup + + Damage (Status) + + Poison + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Junk/Dohnut + + Damage (Status) + + Poison + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Junk/Napkin + + Damage (Status) + + Poison + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Junk/Can + + Damage (Status) + + Poison + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Behavior + + Defense + Blarful + Health Scale + + Monster/Health/Health Base -05 + + Idle Speed + 2.0 + Intersection Action + + + Loot Table + + Treasure/Monster/Fiend/Devilite/Blarful Loot + + Model + + character/npc/monster/devilite/model_poi.dat + + Variant + Worker + Weapon Left + + Weapon Right + + + + Overtimer Table + + Monster/Single Family/Fiend/Scaled - Blarful Overtimer + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + Scale + 0.85 + Spawn Style + Normal + Tags Label + devilworker + Targeted Speed + 5.0 + Turn Speed + 3.4906585 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Blarful Overtimer (Base) + + + Damage (Status) + implementation.actor["Attacks"][4].ref["Damage"].damages[1].status_condition, implementation.actor["Attacks"][5].ref["Damage (Status)"].status_condition, implementation.actor["Attacks"][6].ref["Damage (Status)"].status_condition + + + Targeted Speed + implementation.actor["Targeted Speed"] + + + Aquire Range + implementation.actor["Behavior"]["Behavior"]["Aquire Range"] + + + Attack Interval + implementation.actor["Behavior"]["Behavior"]["Attack Interval"] + + + Dodge Interval + implementation.actor["Behavior"]["Behavior"]["Dodge Interval"], implementation.actor["Behavior"]["Dodge Interval"] + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Worker (Base) + + Attacks + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Left + + + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Right + + + + + + Character/NPC/Monster/Fiend/Devilite/Dive Away + + + + + Character/NPC/Monster/Fiend/Devilite/Cower + + + + + Character/NPC/Monster/Fiend/Devilite/Swing Weapon + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 4 + + Fire + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Weapons/Pitchfork (Nrm) + + Damage (Status) + + 4 + + Fire + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Variant + Poison + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Weapons/Axe (Nrm) + + Damage (Status) + + 4 + + Fire + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Variant + Poison + + + + + Behavior + + Defense + Blarful + Health Scale + + Monster/Health/Health Base + + Idle Speed + 2.0 + Intersection Action + + + Loot Table + + Treasure/Monster/Fiend/Devilite/Blarful Loot + + Model + + character/npc/monster/devilite/model_poi.dat + + Variant + Overtimer + Weapon Left + + Weapon Right + + item/weapon/npc/devilite/model_axe.dat + + Variant + Poison + + + + + Overtimer Table + + Scale + 0.85 + Spawn Style + Demotion + Tags Label + devilovertimer + Targeted Speed + 5.0 + Turn Speed + 3.4906585 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devil-IT (Base) + + + Damage (Status) + implementation.actor["Attacks"][4].ref["Damage (Status)"], implementation.actor["Attacks"][5].ref["Damage (Status)"], implementation.actor["Attacks"][6].ref["Damage (Status)"], implementation.actor["Attacks"][7].ref["Damage (Status)"], implementation.actor["Attacks"][8].ref["Damage (Status)"] + + + Targeted Speed + implementation.actor["Targeted Speed"] + + + Aquire Range + implementation.actor["Behavior"]["Behavior"]["Aquire Range"] + + + Attack Interval + implementation.actor["Behavior"]["Behavior"]["Attack Interval"] + + + Dodge Interval + implementation.actor["Behavior"]["Behavior"]["Dodge Interval"], implementation.actor["Behavior"]["Dodge Interval"] + + + Wave Tag + implementation.actor["Wave Tag"], implementation.actor["Overtimer Table"]["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Worker (Base) + + Attacks + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Left + + + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Right + + + + + + Character/NPC/Monster/Fiend/Devilite/Dive Away + + + + + Character/NPC/Monster/Fiend/Devilite/Cower + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Electronics/Board 1 + + Damage (Status) + + Shock + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Electronics/Board 2 + + Damage (Status) + + Shock + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Electronics/Board 3 + + Damage (Status) + + Shock + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Electronics/Floppy + + Damage (Status) + + Shock + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Electronics/Board 2 + + Damage (Status) + + Shock + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Behavior + + Defense + Devil-IT + Health Scale + + Monster/Health/Health Base -05 + + Idle Speed + 2.0 + Intersection Action + + + Loot Table + + Treasure/Monster/Fiend/Devilite/Devil-IT Loot + + Model + + character/npc/monster/devilite/model_sho.dat + + Variant + Worker + Weapon Left + + Weapon Right + + + + Overtimer Table + + Monster/Single Family/Fiend/Scaled - Devil-IT Overtimer + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + Scale + 0.85 + Spawn Style + Normal + Tags Label + devilworker + Targeted Speed + 5.0 + Turn Speed + 3.4906585 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devil-IT Overtimer (Base) + + + Damage (Status) + implementation.actor["Attacks"][4].ref["Damage"].damages[1].status_condition, implementation.actor["Attacks"][5].ref["Damage (Status)"].status_condition, implementation.actor["Attacks"][6].ref["Damage (Status)"].status_condition + + + Targeted Speed + implementation.actor["Targeted Speed"] + + + Aquire Range + implementation.actor["Behavior"]["Behavior"]["Aquire Range"] + + + Attack Interval + implementation.actor["Behavior"]["Behavior"]["Attack Interval"] + + + Dodge Interval + implementation.actor["Behavior"]["Behavior"]["Dodge Interval"], implementation.actor["Behavior"]["Dodge Interval"] + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Worker (Base) + + Attacks + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Left + + + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Right + + + + + + Character/NPC/Monster/Fiend/Devilite/Dive Away + + + + + Character/NPC/Monster/Fiend/Devilite/Cower + + + + + Character/NPC/Monster/Fiend/Devilite/Swing Weapon + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 4 + + Shock + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Weapons/Pitchfork (Nrm) + + Damage (Status) + + 4 + + Fire + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Variant + Shock + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Weapons/Axe (Nrm) + + Damage (Status) + + 4 + + Fire + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Variant + Shock + + + + + Behavior + + Defense + Devil-IT + Health Scale + + Monster/Health/Health Base + + Idle Speed + 2.0 + Intersection Action + + + Loot Table + + Treasure/Monster/Fiend/Devilite/Devil-IT Loot + + Model + + character/npc/monster/devilite/model_sho.dat + + Variant + Overtimer + Weapon Left + + Weapon Right + + item/weapon/npc/devilite/model_axe.dat + + Variant + Shock + + + + + Overtimer Table + + Scale + 0.85 + Spawn Style + Demotion + Tags Label + devilovertimer + Targeted Speed + 5.0 + Turn Speed + 3.4906585 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devilite (Base) + + + Targeted Speed + implementation.actor["Targeted Speed"] + + + Aquire Range + implementation.actor["Behavior"]["Behavior"]["Aquire Range"] + + + Attack Interval + implementation.actor["Behavior"]["Behavior"]["Attack Interval"] + + + Dodge Interval + implementation.actor["Behavior"]["Behavior"]["Dodge Interval"], implementation.actor["Behavior"]["Dodge Interval"] + + + Wave Tag + implementation.actor["Wave Tag"], implementation.actor["Overtimer Table"]["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Worker (Base) + + Attacks + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Left + + + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Right + + + + + + Character/NPC/Monster/Fiend/Devilite/Dive Away + + + + + Character/NPC/Monster/Fiend/Devilite/Cower + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Book + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Stapler + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Suitcase + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Computer + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Chair + + + + Behavior + + Defense + Default + Health Scale + + Monster/Health/Health Base -05 + + Idle Speed + 2.0 + Intersection Action + + + Loot Table + + Treasure/Monster/Fiend/Devilite/Devilite Loot + + Model + + character/npc/monster/devilite/model_nrm.dat + + Variant + Worker + Weapon Left + + Weapon Right + + + + Overtimer Table + + Monster/Single Family/Fiend/Scaled - Devilite Overtimer + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + Scale + 0.85 + Spawn Style + Normal + Tags Label + devilworker + Targeted Speed + 5.0 + Turn Speed + 3.4906585 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devilite Overtimer (Base) + + + Damage (Status) + implementation.actor["Attacks"][5].ref["Damage (Status)"].status_condition, implementation.actor["Attacks"][6].ref["Damage (Status)"].status_condition + + + Targeted Speed + implementation.actor["Targeted Speed"] + + + Aquire Range + implementation.actor["Behavior"]["Behavior"]["Aquire Range"] + + + Attack Interval + implementation.actor["Behavior"]["Behavior"]["Attack Interval"] + + + Dodge Interval + implementation.actor["Behavior"]["Behavior"]["Dodge Interval"], implementation.actor["Behavior"]["Dodge Interval"] + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Worker (Base) + + Attacks + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Left + + + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Right + + + + + + Character/NPC/Monster/Fiend/Devilite/Dive Away + + + + + Character/NPC/Monster/Fiend/Devilite/Cower + + + + + Character/NPC/Monster/Fiend/Devilite/Swing Weapon + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + true + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Weapons/Axe (Nrm) + + Damage (Status) + + 4 + + Stun + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Variant + Normal + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Weapons/Pitchfork (Nrm) + + Damage (Status) + + 4 + + Stun + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Variant + Normal + + + + + Behavior + + Defense + Default + Health Scale + + Monster/Health/Health Base + + Idle Speed + 2.0 + Intersection Action + + + Loot Table + + Treasure/Monster/Fiend/Devilite/Devilite Loot + + Model + + character/npc/monster/devilite/model_nrm.dat + + Variant + Overtimer + Weapon Left + + Weapon Right + + item/weapon/npc/devilite/model_axe.dat + + Variant + Normal + + + + + Overtimer Table + + Scale + 0.85 + Spawn Style + Demotion + Tags Label + devilovertimer + Targeted Speed + 5.0 + Turn Speed + 3.4906585 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Firebrander (Base) + + + Damage (Status) + implementation.actor["Attacks"][4].ref["Damage (Status)"], implementation.actor["Attacks"][5].ref["Damage (Status)"], implementation.actor["Attacks"][6].ref["Damage (Status)"], implementation.actor["Attacks"][7].ref["Damage (Status)"], implementation.actor["Attacks"][8].ref["Damage (Status)"] + + + Targeted Speed + implementation.actor["Targeted Speed"] + + + Aquire Range + implementation.actor["Behavior"]["Behavior"]["Aquire Range"] + + + Attack Interval + implementation.actor["Behavior"]["Behavior"]["Attack Interval"] + + + Dodge Interval + implementation.actor["Behavior"]["Behavior"]["Dodge Interval"], implementation.actor["Behavior"]["Dodge Interval"] + + + Wave Tag + implementation.actor["Wave Tag"], implementation.actor["Overtimer Table"]["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Worker (Base) + + Attacks + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Left + + + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Right + + + + + + Character/NPC/Monster/Fiend/Devilite/Dive Away + + + + + Character/NPC/Monster/Fiend/Devilite/Cower + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Fireball + + Damage (Status) + + Fire + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Fireball + + Damage (Status) + + Fire + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Fireball + + Damage (Status) + + Fire + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Fireball + + Damage (Status) + + Fire + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Fireball + + Damage (Status) + + Fire + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Behavior + + Defense + Firebrander + Health Scale + + Monster/Health/Health Base -05 + + Idle Speed + 2.0 + Intersection Action + + + Loot Table + + Treasure/Monster/Fiend/Devilite/Firebrander Loot + + Model + + character/npc/monster/devilite/model_fir.dat + + Variant + Worker + Weapon Left + + Weapon Right + + + + Overtimer Table + + Monster/Single Family/Fiend/Scaled - Firebrander Overtimer + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + Scale + 0.85 + Spawn Style + Normal + Tags Label + devilworker + Targeted Speed + 5.0 + Turn Speed + 3.4906585 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Firebrander Overtimer (Base) + + + Damage (Status) + implementation.actor["Attacks"][4].ref["Damage"].damages[1].status_condition, implementation.actor["Attacks"][5].ref["Damage (Status)"].status_condition, implementation.actor["Attacks"][6].ref["Damage (Status)"].status_condition + + + Targeted Speed + implementation.actor["Targeted Speed"] + + + Aquire Range + implementation.actor["Behavior"]["Behavior"]["Aquire Range"] + + + Attack Interval + implementation.actor["Behavior"]["Behavior"]["Attack Interval"] + + + Dodge Interval + implementation.actor["Behavior"]["Behavior"]["Dodge Interval"], implementation.actor["Behavior"]["Dodge Interval"] + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Worker (Base) + + Attacks + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Left + + + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Right + + + + + + Character/NPC/Monster/Fiend/Devilite/Dive Away + + + + + Character/NPC/Monster/Fiend/Devilite/Cower + + + + + Character/NPC/Monster/Fiend/Devilite/Swing Weapon + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 4 + + Fire + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Weapons/Pitchfork (Nrm) + + Damage (Status) + + 4 + + Fire + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Variant + Fire + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Weapons/Axe (Nrm) + + Damage (Status) + + 4 + + Fire + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Variant + Fire + + + + + Behavior + + Defense + Firebrander + Health Scale + + Monster/Health/Health Base + + Idle Speed + 2.0 + Intersection Action + + + Loot Table + + Treasure/Monster/Fiend/Devilite/Firebrander Loot + + Model + + character/npc/monster/devilite/model_fir.dat + + Variant + Overtimer + Weapon Left + + Weapon Right + + item/weapon/npc/devilite/model_axe.dat + + Variant + Fire + + + + + Overtimer Table + + Scale + 0.85 + Spawn Style + Demotion + Tags Label + devilovertimer + Targeted Speed + 5.0 + Turn Speed + 3.4906585 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Layoafer (Base) + + + Damage (Status) + implementation.actor["Attacks"][4].ref["Damage (Status)"] + + + Targeted Speed + implementation.actor["Targeted Speed"] + + + Aquire Range + implementation.actor["Behavior"]["Behavior"]["Aquire Range"] + + + Attack Interval + implementation.actor["Behavior"]["Behavior"]["Attack Interval"] + + + Dodge Interval + implementation.actor["Behavior"]["Behavior"]["Dodge Interval"], implementation.actor["Behavior"]["Dodge Interval"] + + + Wave Tag + implementation.actor["Wave Tag"], implementation.actor["Overtimer Table"]["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Worker (Base) + + Attacks + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Left + + + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Right + + + + + + Character/NPC/Monster/Fiend/Devilite/Dive Away + + + + + Character/NPC/Monster/Fiend/Devilite/Cower + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Snowball + + Damage (Status) + + Freeze + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Snowball + + Damage (Status) + + Freeze + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Snowball + + Damage (Status) + + Freeze + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Snowball + + Damage (Status) + + Freeze + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Snowball + + Damage (Status) + + Freeze + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Behavior + + Defense + Layoafer + Health Scale + + Monster/Health/Health Base -05 + + Idle Speed + 2.0 + Intersection Action + + + Loot Table + + Treasure/Monster/Fiend/Devilite/Layoafer Loot + + Model + + character/npc/monster/devilite/model_fre.dat + + Variant + Worker + Weapon Left + + Weapon Right + + + + Overtimer Table + + Monster/Single Family/Fiend/Scaled - Layoafer Overtimer + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + Scale + 0.85 + Spawn Style + Normal + Tags Label + devilworker + Targeted Speed + 5.0 + Turn Speed + 3.4906585 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Layoafer Overtimer (Base) + + + Damage (Status) + implementation.actor["Attacks"][4].ref["Damage"].damages[1].status_condition, implementation.actor["Attacks"][5].ref["Damage (Status)"].status_condition, implementation.actor["Attacks"][6].ref["Damage (Status)"].status_condition + + + Targeted Speed + implementation.actor["Targeted Speed"] + + + Aquire Range + implementation.actor["Behavior"]["Behavior"]["Aquire Range"] + + + Attack Interval + implementation.actor["Behavior"]["Behavior"]["Attack Interval"] + + + Dodge Interval + implementation.actor["Behavior"]["Behavior"]["Dodge Interval"], implementation.actor["Behavior"]["Dodge Interval"] + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Worker (Base) + + Attacks + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Left + + + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Right + + + + + + Character/NPC/Monster/Fiend/Devilite/Dive Away + + + + + Character/NPC/Monster/Fiend/Devilite/Cower + + + + + Character/NPC/Monster/Fiend/Devilite/Swing Weapon + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 4 + + Freeze + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Weapons/Pitchfork (Nrm) + + Damage (Status) + + 4 + + Fire + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Variant + Freeze + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Weapons/Axe (Nrm) + + Damage (Status) + + 4 + + Fire + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Variant + Freeze + + + + + Behavior + + Defense + Layoafer + Health Scale + + Monster/Health/Health Base + + Idle Speed + 2.0 + Intersection Action + + + Loot Table + + Treasure/Monster/Fiend/Devilite/Layoafer Loot + + Model + + character/npc/monster/devilite/model_fre.dat + + Variant + Overtimer + Weapon Left + + Weapon Right + + item/weapon/npc/devilite/model_axe.dat + + Variant + Freeze + + + + + Overtimer Table + + Scale + 0.85 + Spawn Style + Demotion + Tags Label + devilovertimer + Targeted Speed + 5.0 + Turn Speed + 3.4906585 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Marker + + + Table + implementation.detonation_action.spawn_table + + + + + + particle/fx_spawn_monster.dat + + + 0 + 0 + 1 + + + Monster/Single Family/Fiend/Scaled - Devilite + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Pit Boss (Base) + + + Targeted Speed + implementation.targeted_speed + + + Aquire Range + implementation.behavior["Aquire Range"] + + + Coffee Weight + implementation.behavior["Coffee Weight"] + + + Overtime Weight + implementation.behavior["Overtime Weight"] + + + Promote Weight + implementation.behavior["Yesman Weight"] + + + Wave Tag + implementation.tags.tags[3] + + + + + + character/npc/monster/devilite/model_manager.dat + + Weapon Left + + item/weapon/npc/devilite/model_clipboard.dat + + Weapon Right + + item/weapon/npc/devilite/model_coffee.dat + + + + 1.1 + 0.9 + + + 0.75 + + character/npc/monster/devilite/animation/v2/animation_idle1.dat + + + + 0.25 + + character/npc/monster/devilite/animation/v2/animation_idle3_sigh.dat + + + + + + 3.0 + + character/npc/monster/devilite/animation/v2/animation_walking.dat + + + + + + 3.1415927 + + character/npc/monster/devilite/animation/v2/animation_turnleft.dat + + + character/npc/monster/devilite/animation/v2/animation_turnright.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/monster_damage.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + 0.75 + + character/npc/monster/devilite/animation/v2/animation_idle1.dat + + + + 0.25 + + character/npc/monster/devilite/animation/v2/animation_idle3_sigh.dat + + + + + + 3.0 + + character/npc/monster/devilite/animation/v2/animation_walking.dat + + + + + character/npc/monster/devilite/animation/v2/animation_nooooo.dat + + Sound + sound/effect/monster/devilite/devilite_promotion.ogg + + + + + 0.47 + + + + + + + + + Treasure/Monster/Fiend/Devilite/Pit Boss Loot + + + + + + + + + + + + + + 8 + 79 + 2.0 + 3.4906585 + 160 + 5760 + 1 + 30 + + Monster/Health/Health Base +10 + + 0.08 + 500 + 1692 + 1100 + 3.0 + + + + Character/NPC/Monster/Fiend/Devilite/Manager/Overtime + + + + + Character/NPC/Monster/Fiend/Devilite/Manager/Sip Coffee + + + + + Character/NPC/Monster/Fiend/Devilite/Manager/Overtime + + + + + Character/NPC/Monster/Fiend/Devilite/Manager/Promote + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + + 36 + 50 + + + 264 + -25 + + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Worker (Base) + + + Model + implementation.sprite.model + + + Scale + implementation.sprite.scale + + + Health Scale + implementation.health_scale + + + Loot Table + implementation.handlers[0].action.action.spawn_table + + + Tags Label + implementation.tags.tags[0] + + + Targeted Speed + implementation.targeted_speed + + + Idle Speed + implementation.speed + + + Turn Speed + implementation.turn_rate + + + Behavior + implementation.behavior + + + Attacks + implementation.attacks + + + + Defense + + + Thematic Immunity + implementation.defense.defenses[2].defenses + + + + + + Default + + Thematic Immunity + + + + + + + Blarful + + Thematic Immunity + + + 2 + + + + + + + Devil-IT + + Thematic Immunity + + + 16 + + + + + + + Firebrander + + Thematic Immunity + + + 4 + + + + + + + Layoafer + + Thematic Immunity + + + 8 + + + + + + Default + + + Overtimer Table + implementation.handlers[1].action.action.actions[0].actor["Table"] + + + Intersection Action + implementation.handlers[4].action + + + + Spawn Style + + + Activation + implementation.sprite.activation + + + Activate Time + implementation.activate_time + + + + + + Normal + + Activate Time + 200 + Activation + + animation/common/spawn_scalein.dat + + Transform + + 0.75 + + Transient + + particle/fx_spawn_monster.dat + + + + + + + + Demotion + + Activate Time + 2500 + Activation + + character/npc/monster/devilite/animation/v2/animation_nooooo.dat + + Sound + sound/effect/monster/devilite/devilite_overtime.ogg + + + + + + Normal + + + Wave Tag + implementation.tags.tags[3], implementation.handlers[1].action.action.actions[0].actor["Table"]["Wave Tag"], implementation.handlers[2].action.action.actions[0].actor["Table"]["Wave Tag"], implementation.handlers[3].action.action.actions[0].actor["Table"]["Wave Tag"] + + + + + + character/npc/monster/devilite/model_nrm.dat + + Variant + Worker + Weapon Left + + Weapon Right + + + + 0.85 + 0.85 + + + 0.5 + + character/npc/monster/devilite/animation/v2/animation_idle1.dat + + + + 0.25 + + character/npc/monster/devilite/animation/v2/animation_idle2_lookaround.dat + + + + 0.25 + + character/npc/monster/devilite/animation/v2/animation_idle3_sigh.dat + + + + + + 3.0 + + character/npc/monster/devilite/animation/v2/animation_walking.dat + + + + + + 3.1415927 + + character/npc/monster/devilite/animation/v2/animation_turnleft.dat + + + character/npc/monster/devilite/animation/v2/animation_turnright.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/devilite/animation/v2/animation_standing.dat + + + + + + 6.0 + + character/npc/monster/devilite/animation/v2/animation_running.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.35 + + + + + + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Marker + + Table + + Monster/Single Family/Fiend/Scaled - Overtimer + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Marker + + Table + + Monster/Single Family/Fiend/Scaled - Pit Boss + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Marker + + Table + + Monster/Single Family/Fiend/Scaled - Yesman + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + + + + + + + 8 + 79 + 2.0 + 3.4906585 + 1 + 1 + + Monster/Health/Health Base + + 0.08 + 500 + 1692 + 1100 + 5.0 + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Left + + + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Right + + + + + + Character/NPC/Monster/Fiend/Devilite/Dive Away + + + + + Character/NPC/Monster/Fiend/Devilite/Cower + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Book + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Stapler + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Suitcase + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Computer + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Chair + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + + + + 36 + 50 + + + 264 + -25 + + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Yesman (Base) + + + Defense Aura + implementation.handlers[1].action.actions[2].condition["Defense Modifier"] + + + Wave Tag + implementation.tags.tags[2], implementation.handlers[2].action.action.actions[0].actor["Table"]["Wave Tag"] + + + + + + character/npc/monster/devilite/model_spt.dat + + Weapon Left + + Weapon Right + + + + 0.85 + 0.85 + + + 0.7 + + character/npc/monster/devilite/animation/v2/animation_idle1.dat + + + + 0.15 + + character/npc/monster/devilite/animation/v2/animation_idle3_sigh.dat + + + + 0.15 + + character/npc/monster/devilite/animation/v2/animation_idle2_lookaround.dat + + + + + + 3.0 + + character/npc/monster/devilite/animation/v2/animation_walking.dat + + + + + + 3.1415927 + + character/npc/monster/devilite/animation/v2/animation_turnleft.dat + + + character/npc/monster/devilite/animation/v2/animation_turnright.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/monster_damage.ogg + Gain + 5.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + 0.7 + + character/npc/monster/devilite/animation/v2/animation_idle1.dat + + + + 0.15 + + character/npc/monster/devilite/animation/v2/animation_idle3_sigh.dat + + + + 0.15 + + character/npc/monster/devilite/animation/v2/animation_idle2_lookaround.dat + + + + + + 3.0 + + character/npc/monster/devilite/animation/v2/animation_walking.dat + + + + + character/npc/monster/devilite/animation/v2/animation_nooooo.dat + + Sound + sound/effect/monster/devilite/devilite_promotion.ogg + + + + + 0.35 + + + + + + + Treasure/Monster/Fiend/Devilite/Devilite Loot + + + + + + + + + + false + + + + + Bomb/Monster/YesmanAura + + Heal + 15 + + + + + + Buff + + Damage Modifier + 0.0 + Defense Modifier + 0.0 + Duration + 3000 + Source + + Variant + Null + + + + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Marker + + Table + + Monster/Single Family/Fiend/Scaled - Devilite Overtimer + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + + + 8 + 79 + 4.0 + 5.2359877 + 80 + 2880 + 1 + 30 + + Monster/Health/Health Base +10 + + 0.08 + 500 + 1692 + 1100 + 4.0 + + + + Character/NPC/Monster/Fiend/Devilite/Yesman Twitch + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + + 36 + 50 + + + 264 + -25 + + + + + + + Character/NPC/Monster/Fiend/Devilite/Pit Boss/Pit Boss 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Pit Boss (Base) + + Aquire Range + 12.0 + Coffee Weight + 10.0 + Overtime Weight + 6.0 + Promote Weight + 5.0 + Targeted Speed + 3.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Pit Boss/Pit Boss 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Pit Boss (Base) + + Aquire Range + 14.0 + Coffee Weight + 10.0 + Overtime Weight + 9.0 + Promote Weight + 5.0 + Targeted Speed + 4.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Pit Boss/Pit Boss 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Pit Boss (Base) + + Aquire Range + 18.0 + Coffee Weight + 5.0 + Overtime Weight + 20.0 + Promote Weight + 5.0 + Targeted Speed + 6.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Yesman/Yesman 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Yesman (Base) + + Defense Aura + 0.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Yesman/Yesman 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Yesman (Base) + + Defense Aura + 0.25 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Yesman/Yesman 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Yesman (Base) + + Defense Aura + 0.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Gold Trojan/Gold Trojan + + + Wave Tag + implementation.tags.tags[2] + + + Patrol Tag + implementation.behavior["Patrol Tag"] + + + + + + character/npc/monster/darkknight/model.dat + + variant + gold + + + + particle/model_fxscaler.dat + + Model + + particle/fx_spawn_monster.dat + + Transfrom + + 2.0 + + + + 1.25 + 1.4 + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.0 + Blend Out + 0.0 + Sound set + Trojan family + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Trojan family + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Trojan + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.0 + Blend Out + 0.0 + Sound set + Trojan family + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Trojan family + + + + + + animation/common/spawn_scalein.dat + + Transform + + 1.2 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.8 + + 8 + 79 + 3.0 + 6.981317 + 600 + 2 + 0.15 + true + 7 + 433 + 1500 + 2.0 + + + + Character/NPC/Monster/Fiend/Gold Trojan/Sword Slam + + + + + + + + + Character/NPC/Monster/Fiend/Greaver/Fire/Ruby Greaver 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 1 (Base) + + Bullet + + Defense (Status) + Fire + Model + + character/npc/monster/silkwing/model_sts.dat + + Color + Fire + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Fire/Ruby Greaver 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 2 (Base) + + Bomb Color + Fire Red + Bomb Status + + Fire 2 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Defense (Status) + Fire + Model + + character/npc/monster/silkwing/model_sts.dat + + Color + Fire + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Fire/Ruby Greaver 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 3 (Base) + + Bomb Color + Fire Red + Bomb Status + + Fire 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Bullet/Monster/Greaver Bullet + + Bullet Speed + 2.5 + Element + Fire + Status + Fire 3 + + + Defense (Status) + Fire + Model + + character/npc/monster/silkwing/model_sts.dat + + Color + Fire + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Freeze/Pearl Greaver 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 1 (Base) + + Bullet + + Defense (Status) + Freeze + Model + + character/npc/monster/silkwing/model_sts.dat + + Color + Freeze + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Freeze/Pearl Greaver 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 2 (Base) + + Bomb Color + Frost Blue + Bomb Status + + Freeze 2 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Defense (Status) + Freeze + Model + + character/npc/monster/silkwing/model_sts.dat + + Color + Freeze + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Freeze/Pearl Greaver 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 3 (Base) + + Bomb Color + Frost Blue + Bomb Status + + Freeze 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Bullet/Monster/Greaver Bullet + + Bullet Speed + 2.5 + Element + Freeze + Status + Freeze 3 + + + Defense (Status) + Freeze + Model + + character/npc/monster/silkwing/model_sts.dat + + Color + Freeze + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Greaver (Base) + + + Model + implementation.sprite.model + + + Bullet + implementation.attacks[0].ref["Bullet"] + + + Bomb + implementation.handlers[1].action.actor + + + Loot + implementation.handlers[0].action.actions[0].spawn_table + + + Targeted Speed + implementation.targeted_speed + + + Attack Interval + implementation.behavior["Target Action"].min_attack_interval + + + + Defense (Status) + + + Thematic Immunity + implementation.defense.defenses[2].defenses + + + + + + Default + + Thematic Immunity + + + + + + + Fire + + Thematic Immunity + + + 4 + + + + + + + Freeze + + Thematic Immunity + + + 8 + + + + + + + Poison + + Thematic Immunity + + + 2 + + + + + + + Shock + + Thematic Immunity + + + 16 + + + + + + Default + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/silkwing/model_nrm.dat + + Variant + Tier 2 + + + 1.25 + 0.9 + + + + character/npc/monster/silkwing/animation/flapwings.dat + + Speed + 0.75 + + + + + + + 4.0 + + character/npc/monster/silkwing/animation/animation_movebob.dat + + + + + particle/fx_gethit_monster.dat + + + particle/fx_heal.dat + + + + + character/npc/monster/silkwing/animation/flapwings.dat + + Speed + 2.0 + + + + + + + 4.0 + + character/npc/monster/silkwing/animation/animation_movebob.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.45 + + + (tag 1), (tag 2), (tag 3) + + + + + + + + Treasure/Monster/Fiend/Silkwing/Silkwing Loot + + + + + + + + + Bomb/Monster/Greaver Zone + + Color + Stun + Damage + + Stun + + Chance + 0.25 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Lifespan + 1.0 + Radius + 1.25 + + + + + + 8 + 79 + 2.5 + true + 6.2831855 + 240 + 540 + 9 + 19 + + Monster/Health/Health Base + + 0.1 + 667 + 1100 + 1100 + 4.0 + true + + + + Character/NPC/Monster/Fiend/Greaver (WingSwipe) + + Bomb + + Bullet + + Bullet/Monster/Greaver Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + + + + 36 + 50 + + + 1 + -25 + + + + + + + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 1 (Base) + + + Model + implementation.actor["Model"] + + + Bullet + implementation.actor["Bullet"] + + + Defense (Status) + implementation.actor["Defense (Status)"] + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Greaver (Base) + + Attack Interval + 6000 + Bomb + + Bullet + + Defense (Status) + Default + Loot + + Treasure/Monster/Fiend/Silkwing/Silkwing Loot + + Model + + character/npc/monster/silkwing/model_nrm.dat + + Variant + Tier 2 + + + Targeted Speed + 3.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 2 (Base) + + + Model + implementation.actor["Model"] + + + Bullet + implementation.actor["Bullet"] + + + Bomb Status + implementation.actor["Bomb"]["Damage"] + + + Bomb Color + implementation.actor["Bomb"]["Color"] + + + Defense (Status) + implementation.actor["Defense (Status)"] + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Greaver (Base) + + Attack Interval + 5000 + Bomb + + Bomb/Monster/Greaver Zone + + Color + Stun + Damage + + Stun 2 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Lifespan + 1.0 + Radius + 1.25 + + + Bullet + + Defense (Status) + Default + Loot + + Treasure/Monster/Fiend/Silkwing/Silkwing Loot + + Model + + character/npc/monster/silkwing/model_nrm.dat + + Variant + Tier 2 + + + Targeted Speed + 3.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 3 (Base) + + + Model + implementation.actor["Model"] + + + Bullet + implementation.actor["Bullet"] + + + Bomb Status + implementation.actor["Bomb"]["Damage"] + + + Bomb Color + implementation.actor["Bomb"]["Color"] + + + Defense (Status) + implementation.actor["Defense (Status)"] + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Greaver (Base) + + Attack Interval + 4000 + Bomb + + Bomb/Monster/Greaver Zone + + Color + Stun + Damage + + Stun 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Lifespan + 1.0 + Radius + 1.25 + + + Bullet + + Bullet/Monster/Greaver Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Defense (Status) + Default + Loot + + Treasure/Monster/Fiend/Silkwing/Silkwing Loot + + Model + + character/npc/monster/silkwing/model_nrm.dat + + Variant + Tier 2 + + + Targeted Speed + 4.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Poison/Jade Greaver 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 1 (Base) + + Bullet + + Defense (Status) + Poison + Model + + character/npc/monster/silkwing/model_sts.dat + + Color + Poison + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Poison/Jade Greaver 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 2 (Base) + + Bomb Color + Poison Green + Bomb Status + + Poison 2 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Defense (Status) + Poison + Model + + character/npc/monster/silkwing/model_sts.dat + + Color + Poison + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Poison/Jade Greaver 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 3 (Base) + + Bomb Color + Poison Green + Bomb Status + + Poison 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Bullet/Monster/Greaver Bullet + + Bullet Speed + 2.5 + Element + Poison + Status + Poison 3 + + + Defense (Status) + Poison + Model + + character/npc/monster/silkwing/model_sts.dat + + Color + Poison + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Shock/Beryl Greaver 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 1 (Base) + + Bullet + + Defense (Status) + Shock + Model + + character/npc/monster/silkwing/model_sts.dat + + Color + Shock + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Shock/Beryl Greaver 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 2 (Base) + + Bomb Color + Shock + Bomb Status + + Shock 2 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Defense (Status) + Shock + Model + + character/npc/monster/silkwing/model_sts.dat + + Color + Shock + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Shock/Beryl Greaver 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 3 (Base) + + Bomb Color + Shock + Bomb Status + + Shock 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Bullet/Monster/Greaver Bullet + + Bullet Speed + 2.5 + Element + Shock + Status + Shock 3 + + + Defense (Status) + Shock + Model + + character/npc/monster/silkwing/model_sts.dat + + Color + Shock + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Vanilla/Greaver 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 1 (Base) + + Bullet + + Defense (Status) + Default + Model + + character/npc/monster/silkwing/model_nrm.dat + + Variant + Tier 2 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Vanilla/Greaver 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 2 (Base) + + Bomb Color + Shadow + Bomb Status + + Stun 2 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Defense (Status) + Default + Model + + character/npc/monster/silkwing/model_nrm.dat + + Variant + Tier 2 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Vanilla/Greaver 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 3 (Base) + + Bomb Color + Shadow + Bomb Status + + Stun 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Bullet/Monster/Greaver Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Defense (Status) + Default + Model + + character/npc/monster/silkwing/model_nrm.dat + + Variant + Tier 2 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Silkwing (TG) + + + Wave Tag + implementation.tags.tags[4] + + + + + + character/npc/monster/silkwing/model_spt.dat + + 0.7 + 0.9 + + + + character/npc/monster/silkwing/animation/animation_idle.dat + + Weight + 1.0 + + + + + + + 4.0 + + character/npc/monster/silkwing/animation/animation_movebob.dat + + + + + particle/fx_gethit_monster.dat + + + particle/fx_heal.dat + + + + + character/npc/monster/silkwing/animation/animation_idle.dat + + Weight + 1.0 + + + + + + + 4.0 + + character/npc/monster/silkwing/animation/animation_movebob.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.25 + + + + + + Bomb/Monster/Dark Sprite Heal (Single) + + + + + + + + + + + Treasure/Monster/Tutorial/Silkwing (TG) + + + + + + + 8 + 79 + 2.5 + true + 5.2359877 + 40 + 160 + 1 + 9 + + Monster/Health/Health Base + + 0.1 + 667 + 1100 + 1100 + 3.0 + + + + Character/NPC/Monster/Fiend/Silkwing 0 + + + + + Character/NPC/Monster/Fiend/Silkwing 1 + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + + 36 + 50 + + + 1 + -25 + + + + + + + Character/NPC/Monster/Fiend/Silkwing/Silkwing 1 + + + Wave Tag + implementation.tags.tags[4] + + + + + + character/npc/monster/silkwing/model_spt.dat + + 0.7 + 0.9 + + + + character/npc/monster/silkwing/animation/animation_idle.dat + + Weight + 1.0 + + + + + + + 4.0 + + character/npc/monster/silkwing/animation/animation_movebob.dat + + + + + particle/fx_gethit_monster.dat + + + particle/fx_heal.dat + + + + + character/npc/monster/silkwing/animation/animation_idle.dat + + Weight + 1.0 + + + + + + + 4.0 + + character/npc/monster/silkwing/animation/animation_movebob.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.25 + + + (tag 1), (tag 2), (tag 3), (tag 4), (tag 5) + + + + + + Bomb/Monster/Dark Sprite Heal (Single) + + + + + + + + + + + Treasure/Monster/Fiend/Silkwing/Silkwing Loot + + + + + + + 8 + 79 + 2.5 + true + 5.2359877 + 40 + 160 + 1 + 9 + + Monster/Health/Health Base + + 0.1 + 667 + 1100 + 1100 + 3.0 + + + + Character/NPC/Monster/Fiend/Silkwing 0 + + + + + Character/NPC/Monster/Fiend/Silkwing 1 + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + + 36 + 50 + + + 1 + -25 + + + + + + + Character/NPC/Monster/Fiend/Silkwing/Silkwing 2 + + + Wave Tag + implementation.tags.tags[4] + + + + + + character/npc/monster/silkwing/model_spt.dat + + 0.75 + 0.9 + + + + character/npc/monster/silkwing/animation/animation_idle.dat + + Weight + 1.0 + + + + + + + 4.0 + + character/npc/monster/silkwing/animation/animation_movebob.dat + + + + + particle/fx_gethit_monster.dat + + + particle/fx_heal.dat + + + + + character/npc/monster/silkwing/animation/animation_idle.dat + + Weight + 1.0 + + + + + + + 4.0 + + character/npc/monster/silkwing/animation/animation_movebob.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.25 + + + (tag 1), (tag 2), (tag 3), (tag 4), (tag 5) + + + + + + Bomb/Monster/Dark Sprite Heal (Single) + + + + + + + + + Bomb/Monster/Dark Sprite Heal (Area) + + + + + Treasure/Monster/Fiend/Silkwing/Silkwing Loot + + + + + + + 8 + 79 + 3.0 + true + 6.2831855 + 240 + 540 + 9 + 19 + + Monster/Health/Health Base + + 0.1 + 667 + 1100 + 1100 + 3.5 + + + + Character/NPC/Monster/Fiend/Silkwing 0 + + + + + Character/NPC/Monster/Fiend/Silkwing 1 + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + + 36 + 50 + + + 1 + -25 + + + + + + + Character/NPC/Monster/Fiend/Silkwing/Silkwing 3 + + + Wave Tag + implementation.tags.tags[4] + + + + + + character/npc/monster/silkwing/model_spt.dat + + 0.8 + 0.9 + + + + character/npc/monster/silkwing/animation/animation_idle.dat + + Weight + 1.0 + + + + + + + 4.0 + + character/npc/monster/silkwing/animation/animation_movebob.dat + + + + + particle/fx_gethit_monster.dat + + + particle/fx_heal.dat + + + + + character/npc/monster/silkwing/animation/animation_idle.dat + + Weight + 1.0 + + + + + + + 4.0 + + character/npc/monster/silkwing/animation/animation_movebob.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.25 + + + (tag 1), (tag 2), (tag 3), (tag 4), (tag 5) + + + + + + Bomb/Monster/Dark Sprite Heal (Single) + + + + + + + + + Bomb/Monster/Dark Sprite Heal (Area) + + + + + Treasure/Monster/Fiend/Silkwing/Silkwing Loot + + + + + + + 8 + 79 + 3.5 + true + 7.330383 + 720 + 1440 + 19 + 30 + + Monster/Health/Health Base + + 0.1 + 667 + 1100 + 1100 + 4.0 + + + + Character/NPC/Monster/Fiend/Silkwing 0 + + + + + Character/NPC/Monster/Fiend/Silkwing 1 + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + + 36 + 50 + + + 1 + -25 + + + + + + + Character/NPC/Monster/Fiend/Trojan/Trojan 1 + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/darkknight/model.dat + + variant + trojan + + + + particle/model_fxscaler.dat + + Model + + particle/fx_spawn_monster.dat + + Transfrom + + 2.0 + + + + 1.25 + 2.0 + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.0 + Blend Out + 0.0 + Sound set + Trojan family + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Trojan family + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Trojan + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.0 + Blend Out + 0.0 + Sound set + Trojan family + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Trojan family + + + + + + animation/common/spawn_scalein.dat + + Transform + + 1.2 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.8 + + + + + + Dynamic/Breakable Objects/Character/Trojan Corpse + + + + + 136 + 79 + 4.0 + 6.2831855 + 80 + 320 + 1 + 9 + + Monster/Health/Health Base +10 + + 2 + 0.15 + true + 7 + 433 + 3000 + 1100 + 2.0 + + + + Character/NPC/Monster/Fiend/Dark Knight/Shield Deflect + + + + + Character/NPC/Monster/Fiend/Dark Knight/Sword Slam + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Fiend/Dark Knight/Shoulder Check + + Chain Condition + + + Next Attack + 1 + + + + + + Character/NPC/Monster/Fiend/Dark Knight/Push Back + + Status Condition + + 4 + + Shock + + Chance + 0.3333 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + + + + + + 1.2 + 1.8 + + + 0.4, 0.0 + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + + 32 + + + 260 + 50 + + + 17 + 25 + + + + + + + Character/NPC/Monster/Fiend/Trojan/Trojan 2 + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/darkknight/model.dat + + variant + darkknight + + + + particle/model_fxscaler.dat + + Model + + particle/fx_spawn_monster.dat + + Transfrom + + 2.0 + + + + 1.25 + 2.0 + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.0 + Blend Out + 0.0 + Sound set + Trojan family + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Trojan family + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Trojan + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.0 + Blend Out + 0.0 + Sound set + Trojan family + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Trojan family + + + + + + animation/common/spawn_scalein.dat + + Transform + + 1.2 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.8 + + + + + + Dynamic/Breakable Objects/Character/Trojan Corpse + + + + + 136 + 79 + 4.0 + 7.8539815 + 480 + 1080 + 9 + 19 + + Monster/Health/Health Base +10 + + 2 + 0.15 + true + 7 + 433 + 3000 + 1100 + 2.0 + + + + Character/NPC/Monster/Fiend/Dark Knight/Shield Deflect + + + + + Character/NPC/Monster/Fiend/Darkhorse/Sword Slam + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Fiend/Dark Knight/Shoulder Check + + Chain Condition + + + Next Attack + 1 + + + + + + Character/NPC/Monster/Fiend/Dark Knight/Push Back + + Status Condition + + 4 + + Shock 2 + + Chance + 0.3333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + + + + + + 1.2 + 1.8 + + + 0.4, 0.0 + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + + 32 + + + 260 + 50 + + + 17 + 25 + + + + + + + Character/NPC/Monster/Fiend/Trojan/Trojan 3 + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/darkknight/model.dat + + variant + knightmare + + + + particle/model_fxscaler.dat + + Model + + particle/fx_spawn_monster.dat + + Transfrom + + 2.0 + + + + 1.25 + 2.0 + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.0 + Blend Out + 0.0 + Sound set + Trojan family + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Trojan family + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Trojan + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.0 + Blend Out + 0.0 + Sound set + Trojan family + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Trojan family + + + + + + animation/common/spawn_scalein.dat + + Transform + + 1.2 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.8 + + + + + + Dynamic/Breakable Objects/Character/Trojan Corpse + + + + + 136 + 79 + 4.0 + 9.424778 + 1440 + 2800 + 19 + 29 + + Monster/Health/Health Base +10 + + 2 + 0.15 + true + 7 + 433 + 3000 + 1100 + 2.0 + + + + Character/NPC/Monster/Fiend/Dark Knight/Shield Deflect + + + + + Character/NPC/Monster/Fiend/Knightmare/Sword Slam + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Fiend/Dark Knight/Shoulder Check + + Chain Condition + + + Next Attack + 1 + + + + + + Character/NPC/Monster/Fiend/Dark Knight/Push Back + + Status Condition + + 4 + + Shock 3 + + Chance + 0.3333 + Power + 75 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + + + + + + 1.2 + 1.8 + + + 0.4, 0.0 + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + + 32 + + + 260 + 50 + + + 17 + 25 + + + + + + + Character/NPC/Monster/Gremlin/Darkfang Demo + + + Wave Tag + implementation.actor["Wave Tag"] + + + Tags + implementation.actor["Tags"].derived + + + Activate Type + implementation.actor["Activate Type"] + + + + + Character/NPC/Monster/Gremlin/Parts/Gremlin Base + + Activate Type + Normal + Attacks + + + + Character/NPC/Monster/Gremlin/Generic/Dodge Back + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine (Oil) + + Momentum Translation + -4.0, 0.0 + + + + + + Character/NPC/Monster/Gremlin/Generic/Use Potion + + Tier Power + 3 + + + + + + Character/NPC/Monster/Gremlin/Demo/Throw Bomb + + Bomb + + Bullet/Monster/Demo Throw + + Fuse + 1000 + Tier + 3 + + + + + + + + Character/NPC/Monster/Gremlin/Demo/Throw Bomb + + Bomb + + Bullet/Monster/Demo Throw (Scatter) + + Fuse + 1000 + Tier + 3 + + + + + + + + Character/NPC/Monster/Gremlin/Demo/Combo Throw + + Speed + 1.0 + Tier + 3 + + + + + + Character/NPC/Monster/Gremlin/Demo/Throw Bomb + + Bomb + + Bullet/Monster/Demo Throw + + Fuse + 1000 + Tier + 3 + + + + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine + + Tier + 3 + + + Momentum Translation + -3.0, 1.0 + + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine + + Tier + 3 + + + Momentum Translation + 3.0, 1.0 + + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine + + Tier + 3 + + + Momentum Translation + 1.0, -3.0 + + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine + + Tier + 3 + + + Momentum Translation + -1.0, 3.0 + + + + + Behavior + + Body Type + Darkfang Demo + Damage Action + + + + + + + + Bomb/Monster/Demo Mine (Drop) + + Tier + 3 + + + + + + + + + + Bomb/Monster/Demo Mine (Drop) + + Tier + 3 + + + + + + Bomb/Monster/Demo Mine (Drop) + + Tier + 3 + + + + + + + + + Defense + + + + 276 + 50 + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + + 34 + -25 + + + + Drop Table + + Treasure/Monster/Gremlin/Demo/Demo Loot + + Health Scale + + Monster/Health/Health Base + + Job Tag + job_demo + Model + + character/npc/monster/gremlin/demo/model.dat + + Weapon + + item/weapon/npc/mine_windup/model.dat + + Variant + Purple + + + variant + purple + + + Rank Tag + rank_3 + Scale + 1.1 + Speed + 5.5 + Tags + + Wave Tag + (Wave Tag) + Weapon Style + One Handed + + + + + + Character/NPC/Monster/Gremlin/Darkfang Mender + + + Wave Tag + implementation.actor["Wave Tag"] + + + Tags + implementation.actor["Tags"] + + + Activate Type + implementation.actor["Activate Type"] + + + + + Character/NPC/Monster/Gremlin/Parts/Gremlin Base + + Activate Type + Normal + Attacks + + + + Character/NPC/Monster/Gremlin/Generic/Dodge Back + + + + + Character/NPC/Monster/Gremlin/Healer/Wand Bolt + + Tier + 3 + + + + + + Character/NPC/Monster/Gremlin/Healer/Wand Swing + + Tier + 3 + + + + + + Character/NPC/Monster/Gremlin/Healer/Heal (Target) + + Tier + 3 + + + + + + Character/NPC/Monster/Gremlin/Healer/Heal (Omni) + + Tier + 3 + + + + + + Character/NPC/Monster/Gremlin/Healer/Heal (Renew) + + Tier + 3 + + + + + + Character/NPC/Monster/Gremlin/Healer/Raise Dead + + Speed + 1.0 + + + + + + Character/NPC/Monster/Gremlin/Healer/Raise Construct + + Speed + 1.0 + + + + + Behavior + + Body Type + Darkfang Mender + Damage Action + + + + + + + + + + Monster Attacks/Shield Bubble + + + + + + + + Defense + + + + 276 + 50 + + + + Monster/Defense/Defense Base -05 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + + 34 + -25 + + + + Drop Table + + Treasure/Monster/Gremlin/Mender/Mender Loot + + Health Scale + + Monster/Health/Health Base + + Job Tag + job_healer + Model + + character/npc/monster/gremlin/mender/model.dat + + Weapon + + item/weapon/npc/wrench_wand/model.dat + + variant + purple + + + variant + purple + + + Rank Tag + rank_3 + Scale + 1.0 + Speed + 5.0 + Tags + + Wave Tag + (Wave Tag) + Weapon Style + Two Handed + + + + + + Character/NPC/Monster/Gremlin/Darkfang Scorcher + + + Wave Tag + implementation.actor["Wave Tag"] + + + Tags + implementation.actor["Tags"].derived + + + Activate Type + implementation.actor["Activate Type"] + + + + + Character/NPC/Monster/Gremlin/Parts/Gremlin Base + + Activate Type + Normal + Attacks + + + + Character/NPC/Monster/Gremlin/Generic/Use Potion + + Tier Power + 3 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Torch Straight + + Flame + + Bullet/Monster/Flamethrower (Dynamic) + + Damage + + 4 + + Fire 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Fuse + 1.0 + Mode + Straight + + + Offset + 0.0, 0.0 + Speed + 1.0 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Torch Straight + + Flame + + Bullet/Monster/Flamethrower (Dynamic) + + Damage + + 4 + + Fire 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Fuse + 1.0 + Mode + Snake + + + Offset + 0.0, 0.0 + Speed + 1.0 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Fire Bullet + + Tier + 3 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Fire Bullet (Triple) + + Tier + 3 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Self Destruct + + Damage + 240.0 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/FlameWall + + Tier + 3 + + + + + Behavior + + Body Type + Ironclaw Scorcher + Damage Action + + Defense + + + + 4 + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + + 272 + 50 + + + 34 + -25 + + + + Drop Table + + Treasure/Monster/Gremlin/Scorcher/Scorcher Loot + + Health Scale + + Monster/Health/Health Base + + Job Tag + job_scorcher + Model + + character/npc/monster/gremlin/scorcher/model.dat + + Weapon + + item/weapon/npc/torch/model.dat + + variant + purple + + + variant + purple + + + Rank Tag + rank_3 + Scale + 1.25 + Speed + 3.25 + Tags + + Wave Tag + (Wave Tag) + Weapon Style + Two Handed + + + + + + Character/NPC/Monster/Gremlin/Darkfang Thwacker + + + Wave Tag + implementation.actor["Wave Tag"] + + + Tags + implementation.actor["Tags"] + + + Activate Type + implementation.actor["Activate Type"] + + + + + Character/NPC/Monster/Gremlin/Parts/Gremlin Base + + Activate Type + Normal + Attacks + + + + Character/NPC/Monster/Gremlin/Generic/Dodge Back + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Gremlin/Generic/Close Ground + + Chain Condition + + + Next Attack + 4 + + + + + + Character/NPC/Monster/Gremlin/Generic/Use Potion + + Tier Power + 3 + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Swing + + Tier + 3 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Gremlin/Tank/Hammer Thwack + + Tier + 3 + + + Chain Condition + + + Next Attack + 3 + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Pushaway + + Tier + 3 + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Throw + + Tier + 3 + + + + + Behavior + + Body Type + Darkfang Thwacker + Damage Action + + Defense + + + + + + + + + + 5.0 + 5.0 + + + -2.75, 0.0 + + + + + + + 276 + 50 + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + + 34 + -25 + + + + Drop Table + + Treasure/Monster/Gremlin/Thwacker/Thwacker Loot + + Health Scale + + Monster/Health/Health Base + + Job Tag + job_tank + Model + + character/npc/monster/gremlin/thwacker/model.dat + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + gremlin + + + Weapon + + item/weapon/npc/wrench_hammer/model.dat + + variant + purple + + + Rank Tag + rank_3 + Scale + 1.2 + Speed + 5.0 + Tags + + Wave Tag + (Wave Tag) + Weapon Style + Two Handed + + + + + + Character/NPC/Monster/Gremlin/Ironclaw Demo + + + Wave Tag + implementation.actor["Wave Tag"] + + + Tags + implementation.actor["Tags"].derived + + + Activate Type + implementation.actor["Activate Type"] + + + + + Character/NPC/Monster/Gremlin/Parts/Gremlin Base + + Activate Type + Normal + Attacks + + + + Character/NPC/Monster/Gremlin/Generic/Dodge Back + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine + + Tier + 2 + + + Momentum Translation + -4.0, 0.0 + + + + + + Character/NPC/Monster/Gremlin/Generic/Use Potion + + Tier Power + 2 + + + + + + Character/NPC/Monster/Gremlin/Demo/Throw Bomb + + Bomb + + Bullet/Monster/Demo Throw + + Fuse + 750 + Tier + 2 + + + + + + + + Character/NPC/Monster/Gremlin/Demo/Throw Bomb + + Bomb + + Bullet/Monster/Demo Throw (Scatter) + + Fuse + 750 + Tier + 2 + + + + + + + + Character/NPC/Monster/Gremlin/Demo/Combo Throw + + Speed + 1.0 + Tier + 2 + + + + + + Character/NPC/Monster/Gremlin/Demo/Throw Bomb + + Bomb + + Bullet/Monster/Demo Throw + + Fuse + 750 + Tier + 2 + + + + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine + + Tier + 2 + + + Momentum Translation + -2.5, 0.75 + + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine + + Tier + 2 + + + Momentum Translation + 2.5, 0.75 + + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine + + Tier + 2 + + + Momentum Translation + 0.75, -2.5 + + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine + + Tier + 2 + + + Momentum Translation + -0.75, 2.5 + + + + + Behavior + + Body Type + Ironclaw Demo + Damage Action + + + + + + + + Bomb/Monster/Demo Mine (Drop) + + Tier + 2 + + + + + + + Defense + + + + 276 + 50 + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + + 34 + -25 + + + + Drop Table + + Treasure/Monster/Gremlin/Demo/Demo Loot + + Health Scale + + Monster/Health/Health Base + + Job Tag + job_demo + Model + + character/npc/monster/gremlin/demo/model.dat + + Weapon + + item/weapon/npc/mine_windup/model.dat + + Variant + Orange + + + variant + orange + + + Rank Tag + rank_2 + Scale + 1.05 + Speed + 5.0 + Tags + + Wave Tag + (Wave Tag) + Weapon Style + One Handed + + + + + + Character/NPC/Monster/Gremlin/Ironclaw Mender + + + Wave Tag + implementation.actor["Wave Tag"] + + + Tags + implementation.actor["Tags"] + + + Activate Type + implementation.actor["Activate Type"] + + + + + Character/NPC/Monster/Gremlin/Parts/Gremlin Base + + Activate Type + Normal + Attacks + + + + Character/NPC/Monster/Gremlin/Generic/Dodge Back + + + + + Character/NPC/Monster/Gremlin/Healer/Wand Bolt + + Tier + 2 + + + + + + Character/NPC/Monster/Gremlin/Healer/Wand Swing + + Tier + 2 + + + + + + Character/NPC/Monster/Gremlin/Healer/Heal (Target) + + Tier + 2 + + + + + + Character/NPC/Monster/Gremlin/Healer/Heal (Omni) + + Tier + 2 + + + + + + Character/NPC/Monster/Gremlin/Healer/Heal (Target) + + Tier + 2 + + + + + + Character/NPC/Monster/Gremlin/Healer/Heal (Omni) + + Tier + 2 + + + + + Behavior + + Body Type + Ironclaw Mender + Damage Action + + Defense + + + + 276 + 50 + + + + Monster/Defense/Defense Base -05 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + + 34 + -25 + + + + Drop Table + + Treasure/Monster/Gremlin/Mender/Mender Loot + + Health Scale + + Monster/Health/Health Base + + Job Tag + job_healer + Model + + character/npc/monster/gremlin/mender/model.dat + + Weapon + + item/weapon/npc/wrench_wand/model.dat + + variant + orange + + + variant + orange + + + Rank Tag + rank_2 + Scale + 0.95 + Speed + 4.0 + Tags + + Wave Tag + (Wave Tag) + Weapon Style + Two Handed + + + + + + Character/NPC/Monster/Gremlin/Ironclaw Scorcher + + + Wave Tag + implementation.actor["Wave Tag"] + + + Tags + implementation.actor["Tags"].derived + + + Activate Type + implementation.actor["Activate Type"] + + + + + Character/NPC/Monster/Gremlin/Parts/Gremlin Base + + Activate Type + Normal + Attacks + + + + Character/NPC/Monster/Gremlin/Generic/Use Potion + + Tier Power + 2 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Torch Straight + + Flame + + Bullet/Monster/Flamethrower (Dynamic) + + Damage + + 4 + + Fire 2 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Fuse + 1.0 + Mode + Straight + + + Offset + 0.0, 0.0 + Speed + 0.925 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Torch Straight + + Flame + + Bullet/Monster/Flamethrower (Dynamic) + + Damage + + 4 + + Fire 2 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Fuse + 1.0 + Mode + Straight + + + Offset + 0.0, 0.0 + Speed + 0.925 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Fire Bullet + + Tier + 2 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Fire Bullet (Triple) + + Tier + 2 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Self Destruct + + Damage + 180.0 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Torch Straight + + Flame + + Bullet/Monster/Flamethrower (Dynamic) + + Damage + + 4 + + Fire 2 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Fuse + 1.0 + Mode + Straight + + + Offset + 0.0, 0.0 + Speed + 0.925 + + + + + Behavior + + Body Type + Ironclaw Scorcher + Damage Action + + Defense + + + + 4 + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + + 48 + 50 + + + 34 + -25 + + + + Drop Table + + Treasure/Monster/Gremlin/Scorcher/Scorcher Loot + + Health Scale + + Monster/Health/Health Base + + Job Tag + job_scorcher + Model + + character/npc/monster/gremlin/scorcher/model.dat + + Weapon + + item/weapon/npc/torch/model.dat + + variant + orange + + + variant + orange + + + Rank Tag + rank_2 + Scale + 1.15 + Speed + 2.75 + Tags + + Wave Tag + (Wave Tag) + Weapon Style + Two Handed + + + + + + Character/NPC/Monster/Gremlin/Ironclaw Thwacker + + + Wave Tag + implementation.actor["Wave Tag"] + + + Tags + implementation.actor["Tags"] + + + Activate Type + implementation.actor["Activate Type"] + + + + + Character/NPC/Monster/Gremlin/Parts/Gremlin Base + + Activate Type + Normal + Attacks + + + + Character/NPC/Monster/Gremlin/Generic/Dodge Back + + + + + Character/NPC/Monster/Gremlin/Generic/Close Ground + + + + + Character/NPC/Monster/Gremlin/Generic/Use Potion + + Tier Power + 2 + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Swing + + Tier + 2 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Gremlin/Tank/Hammer Thwack + + Tier + 2 + + + Chain Condition + + + Next Attack + 3 + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Thwack + + Tier + 2 + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Throw + + Tier + 3 + + + + + Behavior + + Body Type + Ironclaw Thwacker + Damage Action + + Defense + + + + 276 + 50 + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + + 34 + -25 + + + + Drop Table + + Treasure/Monster/Gremlin/Thwacker/Thwacker Loot + + Health Scale + + Monster/Health/Health Base + + Job Tag + job_tank + Model + + character/npc/monster/gremlin/thwacker/model.dat + + Shield + + Weapon + + item/weapon/npc/wrench_hammer/model.dat + + variant + orange + + + Rank Tag + rank_2 + Scale + 1.1 + Speed + 4.0 + Tags + + Wave Tag + (Wave Tag) + Weapon Style + Two Handed + + + + + + Character/NPC/Monster/Gremlin/Parts/Bubble Shield + + + + particle/ambient_bubbleshield.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Compound + + Sounders + + + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/block_treasure.ogg + Gain + 1.0 + Pitch + 0.5 + Range + Medium + + + + + + Clip/Default (Gain) (Pitch) + + File + sound/effect/item/heart_acquire_02.ogg + Gain + 1.0 + Pitch + 0.75 + Range + Medium + + + + + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Compound + + Sounders + + + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/pot_smash.ogg + Gain + 0.5 + Pitch + 0.7 + Range + Medium + + + + + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/block_treasure.ogg + Gain + 1.0 + Pitch + 0.5 + Range + Medium + + + + + + + Transform + + + Transient + + particle/fx_bubbleshield-pop.dat + + + + 1.5 + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/bounce.ogg + Gain + 1.0 + Pitch + 1.5 + Range + Medium + + + Transform + + + Transient + + particle/fx_hitblocked.dat + + + + + + 1.8 + + + + + + + + + + + 5 + + + + + + 160 + 0 + 0.0 + 50 + 50 + 30 + + Monster/Health/Health Base + + true + 20 + 0 + 0 + 0.0 + + + + + Monster/Defense/Defense Base +10 + + + Monster/Defense/Defense Base +10 + + + Monster/Defense/Defense Base +10 + + + Monster/Defense/Defense Base -10 + + + + 7 + 16383 + + + + + + 1.0, 0.0 + 200 + 5 + + + + + + Character/NPC/Monster/Gremlin/Parts/Dead Gremlin + + + + Body Type + + + Weapon + implementation.sprite.model["Weapon"] + + + Type + implementation.handlers[2].action.actions[1].value.value + + + + + + Darkfang Thwacker + + Actor + + Character/NPC/Monster/Gremlin/Darkfang Thwacker + + Activate Type + Rez'd + Tags + + loot_none + + + + Table + + Monster/Single Family/Gremlin/Scaled - Thwacker + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + loot_none + + + Treasure + + Treasure/Monster/Gremlin/Thwacker/Thwacker Loot + + Type + Thwacker + Weapon + + item/weapon/npc/wrench_hammer/model.dat + + + + + + Darkfang Mender + + Actor + + Character/NPC/Monster/Gremlin/Darkfang Mender + + Activate Type + Rez'd + Tags + + loot_none + + + + Table + + Monster/Single Family/Gremlin/Scaled - Mender + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + loot_none + + + Treasure + + Treasure/Monster/Gremlin/Mender/Mender Loot + + Type + Mender + Weapon + + item/weapon/npc/wrench_wand/model.dat + + variant + purple + + + + + + + Darkfang Scorcher + + Actor + + Character/NPC/Monster/Gremlin/Darkfang Scorcher + + Activate Type + Rez'd + Tags + + loot_none + + + + Table + + Monster/Single Family/Gremlin/Scaled - Scorcher + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + loot_none + + + Treasure + + Treasure/Monster/Gremlin/Scorcher/Scorcher Loot + + Type + Scorcher + Weapon + + item/weapon/npc/torch/model.dat + + variant + purple + + + + + + + Darkfang Demo + + Actor + + Character/NPC/Monster/Gremlin/Darkfang Demo + + Activate Type + Rez'd + Tags + + loot_none + + + + Table + + Monster/Single Family/Gremlin/Scaled - Demo + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + loot_none + + + Treasure + + Treasure/Monster/Gremlin/Demo/Demo Loot + + Type + Demo + Weapon + + item/weapon/npc/mine_windup/model.dat + + Variant + Purple + + + + + + + Ironclaw Thwacker + + Actor + + Character/NPC/Monster/Gremlin/Ironclaw Thwacker + + Activate Type + Rez'd + Tags + + loot_none + + + + Table + + Monster/Single Family/Gremlin/Scaled - Thwacker + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + loot_none + + + Treasure + + Treasure/Monster/Gremlin/Thwacker/Thwacker Loot + + Type + Thwacker + Weapon + + item/weapon/npc/wrench_hammer/model.dat + + + + + + Ironclaw Mender + + Actor + + Character/NPC/Monster/Gremlin/Ironclaw Mender + + Activate Type + Rez'd + Tags + + loot_none + + + + Table + + Monster/Single Family/Gremlin/Scaled - Mender + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + loot_none + + + Treasure + + Treasure/Monster/Gremlin/Mender/Mender Loot + + Type + Mender + Weapon + + item/weapon/npc/wrench_wand/model.dat + + variant + orange + + + + + + + Ironclaw Scorcher + + Actor + + Character/NPC/Monster/Gremlin/Ironclaw Scorcher + + Activate Type + Rez'd + Tags + + loot_none + + + + Table + + Monster/Single Family/Gremlin/Scaled - Scorcher + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + loot_none + + + Treasure + + Treasure/Monster/Gremlin/Scorcher/Scorcher Loot + + Type + Scorcher + Weapon + + item/weapon/npc/torch/model.dat + + variant + orange + + + + + + + Ironclaw Demo + + Actor + + Character/NPC/Monster/Gremlin/Ironclaw Demo + + Activate Type + Rez'd + Tags + + loot_none + + + + Table + + Monster/Single Family/Gremlin/Scaled - Demo + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + loot_none + + + Treasure + + Treasure/Monster/Gremlin/Demo/Demo Loot + + Type + Demo + Weapon + + item/weapon/npc/mine_windup/model.dat + + Variant + Orange + + + + + + + Tenderfoot Thwacker + + Actor + + Character/NPC/Monster/Gremlin/Tenderfoot Thwacker + + Activate Type + Rez'd + Tags + + loot_none + + + + Table + + Monster/Single Family/Gremlin/Scaled - Thwacker + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + loot_none + + + Treasure + + Treasure/Monster/Gremlin/Thwacker/Thwacker Loot + + Type + Thwacker + Weapon + + item/weapon/npc/wrench_hammer/model.dat + + + + + + Tenderfoot Mender + + Actor + + Character/NPC/Monster/Gremlin/Tenderfoot Mender + + Activate Type + Rez'd + Tags + + loot_none + + + + Table + + Monster/Single Family/Gremlin/Scaled - Mender + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + loot_none + + + Treasure + + Treasure/Monster/Gremlin/Mender/Mender Loot + + Type + Mender + Weapon + + item/weapon/npc/wrench_wand/model.dat + + variant + green + + + + + + + Tenderfoot Scorcher + + Actor + + Character/NPC/Monster/Gremlin/Tenderfoot Scorcher + + Activate Type + Rez'd + Tags + + loot_none + + + + Table + + Monster/Single Family/Gremlin/Scaled - Scorcher + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + loot_none + + + Treasure + + Treasure/Monster/Gremlin/Scorcher/Scorcher Loot + + Type + Scorcher + Weapon + + item/weapon/npc/torch/model.dat + + variant + green + + + + + + + Tenderfoot Demo + + Actor + + Character/NPC/Monster/Gremlin/Tenderfoot Demo + + Activate Type + Rez'd + Tags + + loot_none + + + + Table + + Monster/Single Family/Gremlin/Scaled - Demo + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + loot_none + + + Treasure + + Treasure/Monster/Gremlin/Demo/Demo Loot + + Type + Demo + Weapon + + item/weapon/npc/mine_windup/model.dat + + Variant + Green + + + + + + + Ghostmane Stalker + + Actor + + Character/NPC/Monster/Gremlin/Ghostmane Stalker + + Activate Type + Rez'd + Tags + + loot_none + + + + Table + + Monster/Single Family/Gremlin/Scaled - Mender + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + loot_none + + + Treasure + + Treasure/Monster/Gremlin/Thwacker/Thwacker Loot + + Type + Mender + Weapon + + + + + Darkfang Thwacker + + + Wave Tag + implementation.tags.tags[1], implementation.handlers[1].action.action.actions[0].cases[0].action.spawn_table["Wave Tag"], implementation.handlers[1].action.action.actions[0].cases[1].action.spawn_table["Wave Tag"], implementation.handlers[1].action.action.actions[0].cases[2].action.spawn_table["Wave Tag"], implementation.handlers[1].action.action.actions[0].cases[3].action.spawn_table["Wave Tag"] + + + + + + character/npc/monster/gremlin/null/model_dead.dat + + Weapon + + + + + particle/fx_pcdeathsmoke.dat + + + + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/monster_death_cloud.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/monster_death.dat + + Color + Purple + + + + + + + + + + + + + + + + + + + + + + + Monster/Single Family/Gremlin/Scaled - Thwacker + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Gremlin/Scaled - Mender + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Gremlin/Scaled - Scorcher + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Gremlin/Scaled - Demo + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + + + + + + + + 0 + 0 + 0.0 + 999999 + 1 + 0 + 0 + 0 + 0.0 + + + + + + Character/NPC/Monster/Gremlin/Parts/Dead Player Marker + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + + Transient + + particle/fx_pcdeathsmoke.dat + + + + + + + + + + + + + + + Monster/Single Family/Construct/Mecha Knight Mk III + + Tag + loot_none + + + + + + + + + + + + + + + + 0 + 0 + 0.0 + 1 + 200 + 0 + 0 + 0.0 + + + + + + Character/NPC/Monster/Gremlin/Parts/Gremlin Base + + + Model + implementation.sprite.model + + + + Weapon Style + + + Animation + implementation.sprite.movements[0].animation, implementation.sprite.targeted_movements[0].animation + + + + + + One Handed + + Animation + + character/npc/monster/gremlin/animation/walking_nowep.dat + + + + + + Two Handed + + Animation + + character/npc/monster/gremlin/animation/walking.dat + + + + + One Handed + + + Scale + implementation.sprite.scale, implementation.sprite.attached_scale + + + Health Scale + implementation.health_scale + + + Speed + implementation.targeted_speed, implementation.speed + + + Job Tag + implementation.tags.tags[0] + + + Rank Tag + implementation.tags.tags[1] + + + Wave Tag + implementation.tags.tags[4], implementation.handlers[2].action.action.actor["Wave Tag"] + + + Tags + implementation.tags.derived + + + Behavior + implementation.behavior + + + Attacks + implementation.attacks + + + Defense + implementation.defense + + + Drop Table + implementation.handlers[0].action.action.spawn_table + + + Damage Action + implementation.damage_action + + + Body Type + implementation.handlers[2].action.action.actor["Body Type"] + + + + Activate Type + + + Activate Time + implementation.activate_time + + + Activate Animation + implementation.sprite.activation + + + Loot Tag + implementation.tags.tags[5] + + + + + + Normal + + Activate Animation + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + Activate Time + 1100 + Loot Tag + + + + + + Rez'd + + Activate Animation + + character/npc/monster/gremlin/animation/reacting_recover.dat + + Activate Time + 600 + Loot Tag + loot_none + + + + + No Loot + + Activate Animation + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + Activate Time + 1100 + Loot Tag + loot_none + + + + Normal + + + + + + character/npc/monster/gremlin/null/model.dat + + Variant + Null + Weapon + + item/weapon/sword/cutter/model.dat + + variant + ghost + + + + + 1.075 + + + + character/npc/monster/gremlin/animation/standing.dat + + + + + + 6.0 + + character/npc/monster/gremlin/animation/walking_nowep.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Gremlin + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/gremlin/animation/standing.dat + + + + + + 6.0 + + character/npc/monster/gremlin/animation/walking.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.45 + + + (tag 1), (tag 2), (tag 3), (tag 4), (tag 5), (tag 6) + + + + + + + + + + + + + + + Character/NPC/Monster/Gremlin/Parts/Dead Gremlin + + Body Type + Darkfang Thwacker + Wave Tag + (Wave Tag) + + + + + + + + + + Buff + + Damage Modifier + 0.0 + Defense Modifier + 0.5 + Duration + 6000 + Source + job_tank + Variant + Defense Up + + + + + + + 8 + 79 + 17.453293 + 250 + 250 + 1 + 30 + + Monster/Health/Health Base + + 0.15 + true + 1725 + 1300 + 1100 + 7.5 + + + + + + + + + + + + + + + + + + + + + + 20 + 25 + + + + + + + Character/NPC/Monster/Gremlin/Tenderfoot Demo + + + Wave Tag + implementation.actor["Wave Tag"] + + + Tags + implementation.actor["Tags"].derived + + + Activate Type + implementation.actor["Activate Type"] + + + + + Character/NPC/Monster/Gremlin/Parts/Gremlin Base + + Activate Type + Normal + Attacks + + + + Character/NPC/Monster/Gremlin/Generic/Dodge Back + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine + + Tier + 1 + + + Momentum Translation + -4.0, 0.0 + + + + + + Character/NPC/Monster/Gremlin/Generic/Dodge Back + + + + + Character/NPC/Monster/Gremlin/Demo/Throw Bomb + + Bomb + + Bullet/Monster/Demo Throw + + Fuse + 600 + Tier + 1 + + + + + + + + Character/NPC/Monster/Gremlin/Demo/Throw Bomb + + Bomb + + Bullet/Monster/Demo Throw + + Fuse + 600 + Tier + 1 + + + + + + + + Character/NPC/Monster/Gremlin/Demo/Throw Bomb + + Bomb + + Bullet/Monster/Demo Throw + + Fuse + 600 + Tier + 1 + + + + + + + + Character/NPC/Monster/Gremlin/Demo/Throw Bomb + + Bomb + + Bullet/Monster/Demo Throw + + Fuse + 600 + Tier + 1 + + + + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine + + Tier + 1 + + + Momentum Translation + -2.0, 0.5 + + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine + + Tier + 1 + + + Momentum Translation + 2.0, 0.5 + + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine + + Tier + 1 + + + Momentum Translation + 0.5, -2.0 + + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine + + Tier + 1 + + + Momentum Translation + -0.5, 2.0 + + + + + Behavior + + Body Type + Tenderfoot Demo + Damage Action + + Defense + + + + 276 + 50 + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + + 34 + -25 + + + + Drop Table + + Treasure/Monster/Gremlin/Demo/Demo Loot + + Health Scale + + Monster/Health/Health Base + + Job Tag + job_demo + Model + + character/npc/monster/gremlin/null/model.dat + + Variant + Demo + Weapon + + item/weapon/npc/mine_windup/model.dat + + Variant + Green + + + + + Rank Tag + rank_0 + Scale + 1.0 + Speed + 5.0 + Tags + + + Wave Tag + (Wave Tag) + Weapon Style + One Handed + + + + + + Character/NPC/Monster/Gremlin/Tenderfoot Mender + + + Wave Tag + implementation.actor["Wave Tag"] + + + Tags + implementation.actor["Tags"] + + + Activate Type + implementation.actor["Activate Type"] + + + + + Character/NPC/Monster/Gremlin/Parts/Gremlin Base + + Activate Type + Normal + Attacks + + + + Character/NPC/Monster/Gremlin/Generic/Dodge Back + + + + + Character/NPC/Monster/Gremlin/Healer/Wand Bolt + + Tier + 1 + + + + + + Character/NPC/Monster/Gremlin/Healer/Wand Swing + + Tier + 1 + + + + + + Character/NPC/Monster/Gremlin/Healer/Heal (Target) + + Tier + 1 + + + + + + Character/NPC/Monster/Gremlin/Healer/Heal (Target) + + Tier + 1 + + + + + + Character/NPC/Monster/Gremlin/Healer/Heal (Target) + + Tier + 1 + + + + + + Character/NPC/Monster/Gremlin/Healer/Heal (Omni) + + Tier + 1 + + + + + Behavior + + Body Type + Tenderfoot Mender + Damage Action + + Defense + + + + 276 + 50 + + + + Monster/Defense/Defense Base -05 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + + 34 + -25 + + + + Drop Table + + Treasure/Monster/Gremlin/Mender/Mender Loot + + Health Scale + + Monster/Health/Health Base + + Job Tag + job_healer + Model + + character/npc/monster/gremlin/null/model.dat + + Variant + Mender + Weapon + + item/weapon/npc/wrench_wand/model.dat + + variant + green + + + + + Rank Tag + rank_0 + Scale + 0.9 + Speed + 4.0 + Tags + + Wave Tag + (Wave Tag) + Weapon Style + Two Handed + + + + + + Character/NPC/Monster/Gremlin/Tenderfoot Scorcher + + + Wave Tag + implementation.actor["Wave Tag"] + + + Tags + implementation.actor["Tags"].derived + + + Activate Type + implementation.actor["Activate Type"] + + + + + Character/NPC/Monster/Gremlin/Parts/Gremlin Base + + Activate Type + Normal + Attacks + + + + Character/NPC/Monster/Gremlin/Scorcher/Fire Bullet + + Tier + 1 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Torch Straight + + Flame + + Bullet/Monster/Flamethrower (Dynamic) + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Fuse + 1.0 + Mode + Straight + + + Offset + 0.0, 0.0 + Speed + 0.75 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Torch Straight + + Flame + + Bullet/Monster/Flamethrower (Dynamic) + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Fuse + 1.0 + Mode + Straight + + + Offset + 0.0, 0.0 + Speed + 0.75 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Fire Bullet + + Tier + 1 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Fire Bullet + + Tier + 1 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Fire Bullet + + Tier + 1 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Torch Straight + + Flame + + Bullet/Monster/Flamethrower (Dynamic) + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Fuse + 1.0 + Mode + Straight + + + Offset + 0.0, 0.0 + Speed + 0.75 + + + + + Behavior + + Body Type + Tenderfoot Scorcher + Damage Action + + Defense + + + + 4 + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + + 272 + 50 + + + 34 + -25 + + + + Drop Table + + Treasure/Monster/Gremlin/Scorcher/Scorcher Loot + + Health Scale + + Monster/Health/Health Base + + Job Tag + job_scorcher + Model + + character/npc/monster/gremlin/null/model.dat + + Variant + Scorcher + Weapon + + item/weapon/npc/torch/model.dat + + variant + green + + + + + Rank Tag + rank_0 + Scale + 1.1 + Speed + 2.75 + Tags + + Wave Tag + (Wave Tag) + Weapon Style + Two Handed + + + + + + Character/NPC/Monster/Gremlin/Tenderfoot Thwacker + + + Wave Tag + implementation.actor["Wave Tag"] + + + Tags + implementation.actor["Tags"] + + + Activate Type + implementation.actor["Activate Type"] + + + + + Character/NPC/Monster/Gremlin/Parts/Gremlin Base + + Activate Type + Normal + Attacks + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Throw + + Tier + 1 + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Throw + + Tier + 1 + + + + + + Character/NPC/Monster/Gremlin/Generic/Use Potion + + Tier Power + 1 + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Thwack + + Tier + 1 + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Thwack + + Tier + 1 + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Thwack + + Tier + 1 + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Throw + + Tier + 1 + + + + + Behavior + + Body Type + Tenderfoot Thwacker + Damage Action + + Defense + + + + 276 + 50 + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + + 34 + -25 + + + + Drop Table + + Treasure/Monster/Gremlin/Thwacker/Thwacker Loot + + Health Scale + + Monster/Health/Health Base + + Job Tag + job_tank + Model + + character/npc/monster/gremlin/null/model.dat + + Variant + Thwacker + Weapon + + item/weapon/npc/wrench_hammer/model.dat + + + + Rank Tag + rank_1 + Scale + 1.05 + Speed + 4.0 + Tags + + Wave Tag + (Wave Tag) + Weapon Style + Two Handed + + + + + + Character/NPC/Monster/Slime/Blast Cube/Blast Cube 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 0.9 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base + + 4 + + Damage Region + Medium + Impulse + Forward + Sound - Pitch adjust + Lower 1 + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + lichen + Death Size + + + Death Sound + + Clip/Default + + File + sound/effect/monster/blastjelly_explode.ogg + Range + Long + + + Death Time + Blast Warning + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 257 + 50 + + + 28 + -25 + + + + Handler + + + + + + + Monster/Damage/Attack Base +10 + + true + + + 4.0, 0.0 + 200 + 3 + + + + + Basic + + Lifespan + 3000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_explosive.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/explosive_block.dat + + Block + false + + + + + + + + + + + Health Scale + + Monster/Health/Health Base + + Hit Sound + Lower 2 + Idle Speed + 1.5 + Loot Table + + Treasure/Monster/Slime/Blast Cube/Blast Cube Loot + + Model + + character/npc/monster/blastcube/model.dat + + Variant + Blast Cube + + + Scale + 1.0 + Shape + + 0.45 + + Sound - Movement pitch + Default + Standing Jiggle + 0.85 + Target Speed + 2.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Blast Cube/Blast Cube 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 1.0 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base + + 4 + + Damage Region + Medium + Impulse + Forward + Sound - Pitch adjust + Lower 2 + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + tri-lichen + Death Size + + 1.1 + + Death Sound + + Clip/Default + + File + sound/effect/monster/blastjelly_explode.ogg + Range + Long + + + Death Time + Blast Warning + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 257 + 50 + + + 28 + -25 + + + + Handler + + + + + + Bullet/Monster/Superblast Shard + + Damage + + + Monster/Damage/Attack Base + + true + + + + + + + Bullet/Monster/Superblast Shard + + Damage + + + Monster/Damage/Attack Base + + true + + + + + + + Bullet/Monster/Superblast Shard + + Damage + + + Monster/Damage/Attack Base + + true + + + + + + + Bullet/Monster/Superblast Shard + + Damage + + + Monster/Damage/Attack Base + + true + + + + + + + Bullet/Monster/Superblast Shard + + Damage + + + Monster/Damage/Attack Base + + true + + + + + + + Bullet/Monster/Superblast Shard + + Damage + + + Monster/Damage/Attack Base + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/block_explosive.ogg + Gain + 1.0 + Pitch + 0.8 + Range + Medium + + + Transform + + 1.5 + + Transient + + particle/explosive_block.dat + + Block + false + + + + + + + + + + + Monster/Damage/Attack Base +05 + + true + + + 4.0, 0.0 + 200 + 3 + + + + + + Health Scale + + Monster/Health/Health Base + + Hit Sound + Lower 2 + Idle Speed + 1.5 + Loot Table + + Treasure/Monster/Slime/Blast Cube/Blast Cube Loot + + Model + + character/npc/monster/blastcube/model.dat + + Variant + Super Blast + + + Scale + 1.1 + Shape + + 0.45 + + Sound - Movement pitch + Default + Standing Jiggle + 0.75 + Target Speed + 2.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Blast Cube/Blast Cube 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 1.0 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base + + 4 + + Damage Region + Medium + Impulse + Forward + Sound - Pitch adjust + Lower 2 + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + tri-lichen + Death Size + + 1.1 + + Death Sound + + Clip/Default + + File + sound/effect/monster/blastjelly_explode.ogg + Range + Long + + + Death Time + Blast Warning + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 257 + 50 + + + 28 + -25 + + + + Handler + + + + + + Bullet/Monster/Superblast Shard + + Damage + + + Monster/Damage/Attack Base + + true + + + + + + + Bullet/Monster/Superblast Shard + + Damage + + + Monster/Damage/Attack Base + + true + + + + + + + Bullet/Monster/Superblast Shard + + Damage + + + Monster/Damage/Attack Base + + true + + + + + + + Bullet/Monster/Superblast Shard + + Damage + + + Monster/Damage/Attack Base + + true + + + + + + + Bullet/Monster/Superblast Shard + + Damage + + + Monster/Damage/Attack Base + + true + + + + + + + Bullet/Monster/Superblast Shard + + Damage + + + Monster/Damage/Attack Base + + true + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/block_explosive.ogg + Gain + 1.0 + Pitch + 0.8 + Range + Medium + + + Transform + + 1.5 + + Transient + + particle/explosive_block.dat + + Block + false + + + + + + + + + + + Monster/Damage/Attack Base +05 + + true + + + 4.0, 0.0 + 200 + 3 + + + + + + Health Scale + + Monster/Health/Health Base + + Hit Sound + Lower 2 + Idle Speed + 1.5 + Loot Table + + Treasure/Monster/Slime/Blast Cube/Blast Cube Loot + + Model + + character/npc/monster/blastcube/model.dat + + Variant + Ultra Blast Cube + + + Scale + 1.1 + Shape + + 0.45 + + Sound - Movement pitch + Default + Standing Jiggle + 0.75 + Target Speed + 2.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Companion Cube/Companion Cube 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Companion Cube/Parts/Companion Cube (Base) + + Idle Speed + 6.0 + Loot Table + + Treasure/Health/Monster Health, small + + Target Speed + 2.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Companion Cube/Companion Cube 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Companion Cube/Parts/Companion Cube (Base) + + Idle Speed + 6.0 + Loot Table + + Treasure/Health/Monster Health, small + + Target Speed + 2.75 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Companion Cube/Companion Cube 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Companion Cube/Parts/Companion Cube (Base) + + Idle Speed + 6.0 + Loot Table + + Treasure/Health/Monster Health, small + + Target Speed + 3.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Companion Cube/Parts/Companion Cube (Base) + + + Idle Speed + implementation.speed + + + Target Speed + implementation.targeted_speed + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/jellycube/model.dat + + Trail + + variant + blue + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 1 + + + Transform + + 0.8 + + Transient + + character/npc/monster/jellycube/fx_death.dat + + Color + blue + Core + true + Transform + + + + + + + 0.8 + 0.75 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 2.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Default + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Higher 1 + + + Transform + + + Transient + + particle/fx_gethit_player.dat + + Color + Red + + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 2.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.4 + + + (tag 1), (tag 2), (tag 3) + + + + + + Treasure/Health/Monster Health, small + + + + + + + Monster/Heal/Heal Base + + + + + + + + + + + + + Basic + + Lifespan + 2000 + Model + + particle/monster_death.dat + + Color + Energy Blue + + + + + + + + + + + + + + 4 + 79 + 174.51547 + 115 + + Monster/Health/Health Base +05 + + 5 + 0.25 + 100 + 1100 + 2.5 + true + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base + + 2 + + Damage Region + Medium + Impulse + Forward + Sound - Pitch adjust + Default + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + + + Character/NPC/Monster/Slime/Giant Lichen Colony + + + Wave Tag + implementation.tags.tags[3], implementation.handlers[2].action.action.actions[0].fire_action["Wave Tag"] + + + Tags + implementation.tags.derived + + + + Size + + + Model Scale + implementation.sprite.scale + + + Radius + implementation.shape.radius + + + Health Multiplier + implementation.health_scale["Multiplier"] + + + Max Attack Distance + implementation.behavior["Max Attack Distance"] + + + Damage Transform + implementation.attacks[0].ref["Damage Transform"] + + + Spin Radius + implementation.attacks[2].ref["Radius"] + + + Core Count + implementation.sprite.model["Core"]["Core Count"] + + + Size Variable + implementation.handlers[0].action.value.value + + + Loot Table + implementation.handlers[1].action.action.spawn_table + + + + + + 16 + + Core Count + 16 + Damage Amount + 65.0 + Damage End Amount + 395.0 + Damage Transform + + 2.05, 0.0 + + Health + 120 + Health End + 4320 + Health Multiplier + 3.75 + Health Scale + + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 15 Loot + + Max Attack Distance + 1.5 + Model Scale + 2.4 + Radius + 0.9 + Size Variable + 16 + Spin Radius + 1.8 + + + + + 17 + + Core Count + 17 + Damage Amount + 65.0 + Damage End Amount + 395.0 + Damage Transform + + 2.1, 0.0 + + Health + 130 + Health End + 4680 + Health Multiplier + 4.0 + Health Scale + + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 15 Loot + + Max Attack Distance + 1.6 + Model Scale + 2.4 + Radius + 0.95 + Size Variable + 17 + Spin Radius + 1.9 + + + + + 18 + + Core Count + 18 + Damage Amount + 65.0 + Damage End Amount + 395.0 + Damage Transform + + 2.15, 0.0 + + Health + 140 + Health End + 5040 + Health Multiplier + 4.25 + Health Scale + + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 15 Loot + + Max Attack Distance + 1.8 + Model Scale + 2.6 + Radius + 1.0 + Size Variable + 18 + Spin Radius + 2.0 + + + + + 19 + + Core Count + 19 + Damage Amount + 65.0 + Damage End Amount + 395.0 + Damage Transform + + 2.2, 0.0 + + Health + 150 + Health End + 5400 + Health Multiplier + 4.5 + Health Scale + + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 15 Loot + + Max Attack Distance + 1.9 + Model Scale + 2.8 + Radius + 1.05 + Size Variable + 19 + Spin Radius + 2.1 + + + + + 20 + + Core Count + 20 + Damage Amount + 65.0 + Damage End Amount + 395.0 + Damage Transform + + 2.25, 0.0 + + Health + 160 + Health End + 5760 + Health Multiplier + 4.75 + Health Scale + + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 15 Loot + + Max Attack Distance + 2.0 + Model Scale + 2.9 + Radius + 1.45 + Size Variable + 20 + Spin Radius + 2.3 + + + + + 21 + + Core Count + 21 + Damage Amount + 65.0 + Damage End Amount + 395.0 + Damage Transform + + 2.3, 0.0 + + Health + 170 + Health End + 6000 + Health Multiplier + 5.0 + Health Scale + + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 15 Loot + + Max Attack Distance + 2.0 + Model Scale + 3.0 + Radius + 1.45 + Size Variable + 21 + Spin Radius + 2.5 + + + + 16 + + + + + + character/npc/monster/lichen/model_highrez.dat + + Core + + character/npc/monster/lichen/ambient_cores.dat + + Core Count + 1 + Size + 0.06 + + + Variant + tri-lichen-deep + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, large + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, large + + Pitch adjust + Higher 2 + Range + Medium + + + Transform + + 1.4 + + Transient + + character/npc/monster/jellycube/fx_death.dat + + Color + tri-lichen + Core + true + Transform + + 1.5 + + + + + + 2.2 + 1.2 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 0.8 + + + + + + + 1.5 + + character/npc/monster/royaljelly/animations/animation_walk.dat + + Sound - Pitch + Lower 1 + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Lower 2 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 0.8 + + + + + + + 1.5 + + character/npc/monster/royaljelly/animations/animation_walk.dat + + Sound - Pitch + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.9 + + + (tag 1), (tag 2), (tag 3), (tag 4) + + + + + + + + + + + + + + + + + + + Character/NPC/Monster/Slime/Spawn Lichen Colony + + Wave Tag + (Wave Tag) + + + + + + + + + 8 + 79 + 2.5 + 2.6179938 + 120 + 4320 + 1 + 30 + + Base/Multiplier + + Depth Scale + + Monster/Health/Health Base + + Multiplier + 1.0 + + + 0.3 + 4 + 100 + 1100 + 2.5 + + + + Character/NPC/Monster/Slime/Lichen + + Damage Scale + + Monster/Damage/Attack Base + + Damage Transform + + 1.75, 0.0 + + + + + + + Character/NPC/Monster/Slime/Lichen Impale + + Spire + + Bomb/Monster/Lichen Spire + + Color + Tri Deep + Damage + + + Monster/Damage/Attack Base +05 + + 4 + true + PIERCING + + Monster/Split/Split - Full + + + + + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Bullet/Monster/Jelly Barb + + Damage + + + + + Monster/Damage/Attack Base + + PIERCING + + Monster/Split/Split - Full + + + + + Scale + Large + Style + Tri Deep + + + Bullet 2 + + Bullet/Monster/Jelly Barb + + Damage + + + + + Monster/Damage/Attack Base + + PIERCING + + Monster/Split/Split - Full + + + + + Scale + Large + Style + Tri Deep + + + Color + 0.8, 0.0, 0.2, 1.0 + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 4 + + Stun + + Chance + 0.3 + Power + 75 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Flare Color + Pierce + Radius + 1.0 + Radius Graphic + + 0.5 + + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Slime/Lichen Dash + + Chain Condition + + + Next Attack + 1 + + + + + + + + 1 + 50 + + + 256 + 100 + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + + + + + Character/NPC/Monster/Slime/Ideal Jelly Cube + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 0.75 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + 40.0 + 4 + 80.0 + 1 + 9 + + Damage Region + Medium + Impulse + Backward + Sound - Pitch adjust + Default + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + pink + Death Size + + 0.8 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 1 + + + Death Time + Instant + Defense + + + + 180 + 340 + 1 + 9 + + + + Dev/Monster/Normal Defense + + + + 40 + 1 + 9 + + + 40 + 1 + 9 + + + 1 + 50 + + + 14 + -50 + + + + Handler + + + Health Scale + + Dev/Monster/Normal Health + + Hit Sound + Higher 1 + Idle Speed + 1.5 + Loot Table + + Treasure/Monster/Slime/Jelly Cube/Jelly Cube Loot + + Model + + character/npc/monster/jellycube/model.dat + + Trail + + variant + pink + + + Scale + 0.8 + Shape + + 0.4 + + Sound - Movement pitch + Higher 1 + Standing Jiggle + 1.0 + Target Speed + 2.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly Cube (Intro) + + + Tags + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 0.75 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base -10 + + 4 + + Damage Region + Medium + Impulse + Backward + Sound - Pitch adjust + Default + + + + + Behavior + + Monster/Slime/Cube (Basic Targeting) + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + pink + Death Size + + 0.8 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 1 + + + Death Time + Instant + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 1 + 50 + + + 14 + -50 + + + + Handler + + + Health Scale + + Monster/Health/Health Base -10 + + Hit Sound + Higher 1 + Idle Speed + 1.5 + Loot Table + + Treasure/Monster/Tutorial/Jelly Cube (TG) + + Model + + character/npc/monster/jellycube/model.dat + + Trail + + variant + pink + + + Scale + 0.8 + Shape + + 0.4 + + Sound - Movement pitch + Higher 1 + Standing Jiggle + 1.0 + Target Speed + 2.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly Cube (No Loot) + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 0.75 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base + + 4 + + Damage Region + Medium + Impulse + Backward + Sound - Pitch adjust + Default + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + pink + Death Size + + 0.8 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 1 + + + Death Time + Instant + Defense + + + + 100 + + + 25 + + + 1 + 100 + + + 14 + -65 + + + + Handler + + + Health Scale + + Hit Sound + Higher 1 + Idle Speed + 1.5 + Loot Table + + Model + + character/npc/monster/jellycube/model.dat + + Trail + + variant + pink + + + Scale + 0.8 + Shape + + 0.4 + + Sound - Movement pitch + Higher 1 + Standing Jiggle + 1.0 + Target Speed + 2.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly Cube (TG) + + + Tags + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 0.75 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base -05 + + 4 + + Damage Region + Medium + Impulse + Backward + Sound - Pitch adjust + Default + + + + + Behavior + + Monster/Slime/Cube (Basic Targeting) + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + pink + Death Size + + 0.8 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 1 + + + Death Time + Instant + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 1 + 50 + + + 14 + -50 + + + + Handler + + + Health Scale + + Monster/Health/Health Base + + Hit Sound + Higher 1 + Idle Speed + 1.5 + Loot Table + + Treasure/Monster/Tutorial/Jelly Cube (TG) + + Model + + character/npc/monster/jellycube/model.dat + + Trail + + variant + pink + + + Scale + 0.8 + Shape + + 0.4 + + Sound - Movement pitch + Higher 1 + Standing Jiggle + 1.0 + Target Speed + 2.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly Green Giant + + + Tags + implementation.tags.derived + + + + + + character/npc/monster/jellycube/model_highres.dat + + Trail + + particle/ambient_jellytrail.dat + + variant + green + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, large + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, boss + + Transform + + 2.0 + + Transient + + character/npc/monster/jellycube/fx_death.dat + + Color + green + Core + true + Transform + + + + + + + 2.0 + 1.8 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 0.5 + + + + + + + 1.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Lower 2 + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Lower 2 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 0.5 + + + + + + + 1.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + 3.0 + + Transient + + particle/fx_spawn_monster.dat + + + + + + + + + + + Monster/Single Family/Slime/Parts/Jelly Green Giant Split + + + + + + + 1.0 + false + + + + + + + 2 + + Stun + + Chance + 0.0 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 0.5, 0.0 + 200 + + + + + + 25 + + + + 8 + 79 + 0.5 + 5.2359877 + + Monster/Slime/Jelly Green Giant + + 600 + 0.2 + 7 + 100 + 1100 + 1.0 + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + + 150.0 + 4 + + + 4 + + Stun + + Chance + 0.3 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 2 + + Stun + + Chance + 0.0 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Large + Impulse + Forward + Sound - Pitch adjust + Lower 3 + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Bullet/Monster/MiniJelly Blob + + Max Minions + 30 + Range + Long + + + Bullet 2 + + Color + 0.31764707, 0.8, 0.0, 1.0 + Damage + + + + 60.0 + 4 + + + 4 + + Stun + + Chance + 0.01 + Power + 75 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 2 + + Stun + + Chance + 0.0 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Flare Color + None + Radius + 3.0 + Radius Graphic + + 2.5 + + + + + + + + + 130 + + + 50 + + + 1 + 50 + + + 256 + 100 + + + + + + + + + Bullet/Monster/MiniJelly Blob + + Max Minions + 30 + Range + Short + + + + + + Bullet/Monster/MiniJelly Blob + + Max Minions + 30 + Range + Short + + + + + + + + + + Character/NPC/Monster/Slime/Jelly Green Mini + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 0.45 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + 10.0 + 4 + + Damage Region + Small + Impulse + Forward + Sound - Pitch adjust + Higher 3 + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Spawn, small + + Transform + + 0.75 + + Transient + + particle/fx_jellydeath.dat + + Core + false + color + green + + + + + Death Color + green + Death Size + + 0.5 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 4 + + + Death Time + Instant + Defense + + + + 100 + + + 45 + + + 1 + 100 + + + 14 + -65 + + + + Handler + + + Health Scale + + Hit Sound + Higher 2 + Idle Speed + 1.0 + Loot Table + + Treasure/Monster/Slime/Jelly Cube/Jelly Green Mini Loot + + Model + + character/npc/monster/jellycube/minicube/model.dat + + Trail + + variant + pink + + + Scale + 0.5 + Shape + + 0.24 + + Sound - Movement pitch + Default + Standing Jiggle + 2.0 + Target Speed + 1.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly Green Mini (No Loot) + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 0.45 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + 10.0 + 4 + + Damage Region + Small + Impulse + Forward + Sound - Pitch adjust + Higher 3 + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Spawn, small + + Transform + + 0.75 + + Transient + + particle/fx_jellydeath.dat + + Core + false + color + green + + + + + Death Color + green + Death Size + + 0.5 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 4 + + + Death Time + Instant + Defense + + + + 100 + + + 45 + + + 1 + 100 + + + 14 + -65 + + + + Handler + + + Health Scale + + Hit Sound + Higher 2 + Idle Speed + 1.0 + Loot Table + + Model + + character/npc/monster/jellycube/minicube/model.dat + + Trail + + variant + pink + + + Scale + 0.5 + Shape + + 0.24 + + Sound - Movement pitch + Default + Standing Jiggle + 2.0 + Target Speed + 1.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Ice Cube/Ice Cube 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Jelly/Parts/Ice Cube (Base) + + Attack Status + + 4 + + Freeze + + Chance + 0.8 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Death Bomb + + Bomb/Monster/IceCube Zone + + Damage + + Freeze + + Chance + 0.25 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Lifespan + 1.0 + Radius + 1.0 + + + Scale + 0.8 + Standing Jiggle + 1.0 + Targeted Speed + 2.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Ice Cube/Ice Cube 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Jelly/Parts/Ice Cube (Base) + + Attack Status + + 4 + + Freeze 2 + + Chance + 0.85 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Death Bomb + + Bomb/Monster/IceCube Zone + + Damage + + Freeze 2 + + Chance + 0.25 + Power + 55 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Lifespan + 1.0 + Radius + 1.5 + + + Scale + 0.9 + Standing Jiggle + 0.9 + Targeted Speed + 2.33 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Ice Cube/Ice Cube 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Jelly/Parts/Ice Cube (Base) + + Attack Status + + 4 + + Freeze 3 + + Chance + 0.9 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Death Bomb + + Bomb/Monster/IceCube Zone + + Damage + + Freeze 3 + + Chance + 0.25 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Lifespan + 1.0 + Radius + 2.0 + + + Scale + 1.0 + Standing Jiggle + 0.8 + Targeted Speed + 2.67 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Impostocube + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 0.75 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base + + 4 + + Damage Region + Medium + Impulse + Backward + Sound - Pitch adjust + Default + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + pink + Death Size + + 0.8 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 1 + + + Death Time + Instant + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 257 + 50 + + + 28 + -25 + + + + Handler + + + Health Scale + + Monster/Health/Health Base + + Hit Sound + Higher 1 + Idle Speed + 1.5 + Loot Table + + Treasure/Monster/Slime/Jelly Cube/Impostocube Loot + + Model + + character/npc/monster/jellycube/model.dat + + Trail + + variant + imposto + + + Scale + 0.8 + Shape + + 0.4 + + Sound - Movement pitch + Default + Standing Jiggle + 1.0 + Target Speed + 2.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Jelly Cube/Jelly Cube 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 0.75 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base + + 4 + + Damage Region + Medium + Impulse + Backward + Sound - Pitch adjust + Default + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + pink + Death Size + + 0.8 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 1 + + + Death Time + Instant + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 257 + 50 + + + 28 + -25 + + + + Handler + + + Health Scale + + Monster/Health/Health Base + + Hit Sound + Higher 1 + Idle Speed + 1.5 + Loot Table + + Treasure/Monster/Slime/Jelly Cube/Jelly Cube Loot + + Model + + character/npc/monster/jellycube/model_nrm.dat + + Trail + + variant + pink + + + Scale + 0.8 + Shape + + 0.4 + + Sound - Movement pitch + Higher 1 + Standing Jiggle + 1.0 + Target Speed + 2.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Jelly Cube/Jelly Cube 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 0.9 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base + + 4 + + Damage Region + Medium + Impulse + Forward + Sound - Pitch adjust + Lower 1 + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + pink + Death Size + + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 2 + + + Death Time + Instant + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 257 + 50 + + + 28 + -25 + + + + Handler + + + Health Scale + + Monster/Health/Health Base + + Hit Sound + Lower 1 + Idle Speed + 1.5 + Loot Table + + Treasure/Monster/Slime/Jelly Cube/Jelly Cube Loot + + Model + + character/npc/monster/jellycube/model_nrm.dat + + Trail + + variant + Tier 2 + + + Scale + 0.9 + Shape + + 0.45 + + Sound - Movement pitch + Default + Standing Jiggle + 0.85 + Target Speed + 3.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Jelly Cube/Jelly Cube 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 0.9 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base + + 4 + + Damage Region + Medium + Impulse + Forward + Sound - Pitch adjust + Default + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + pink + Death Size + + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 1 + + + Death Time + Instant + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 257 + 50 + + + 28 + -25 + + + + Handler + + + Health Scale + + Monster/Health/Health Base + + Hit Sound + Lower 1 + Idle Speed + 1.5 + Loot Table + + Treasure/Monster/Slime/Jelly Cube/Jelly Cube Loot + + Model + + character/npc/monster/jellycube/model_nrm.dat + + Trail + + variant + Tier 3 + + + Scale + 1.0 + Shape + + 0.45 + + Sound - Movement pitch + Default + Standing Jiggle + 0.5 + Target Speed + 3.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Oiler/Oiler 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Jelly/Parts/Oiler (Base) + + Behavior + + Death Oil Count + 1 + Scale + 1.05 + Targeted Speed + 3.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Oiler/Oiler 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Jelly/Parts/Oiler (Base) + + Behavior + + Death Oil Count + 1 + Scale + 1.15 + Targeted Speed + 3.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Oiler/Oiler 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Jelly/Parts/Oiler (Base) + + Behavior + + Death Oil Count + 1 + Scale + 1.25 + Targeted Speed + 4.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Parts/Ice Cube (Base) + + + Standing Jiggle + implementation.sprite.idles[0].animation["Speed"], implementation.sprite.targeted_idles[0].animation["Speed"] + + + Scale + implementation.sprite.scale + + + Targeted Speed + implementation.targeted_speed + + + Attack Status + implementation.attacks[0].ref["Damage Frozen"].damages[1] + + + Death Bomb + implementation.handlers[3].action.action.actor + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/blastcube/model_ice.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 1 + + + Transform + + 0.8 + + Transient + + character/npc/monster/jellycube/fx_death.dat + + Color + blue + Core + true + Transform + + + + + + + 0.8 + 0.75 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 2.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Default + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Higher 1 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 2.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + SECONDARY + + character/npc/monster/jellycube/model_fre.dat + + variant + pink + + + + + + + 0.4 + + + (tag 1), (tag 2), (tag 3) + + + + + + + Treasure/Monster/Slime/Jelly Cube/Ice Cube Loot + + + + + + + + + + + + + Freeze 3 + + Chance + 1.0 + Power + 1 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 8 + + + + Monster/Heal/Heal Base + + + + + + + + + + + Bomb/Monster/IceCube Zone + + Damage + + Freeze + + Chance + 0.25 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Lifespan + 1.0 + Radius + 2.0 + + + + + + + + + + Freeze 3 + + Chance + 1.0 + Power + 1 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/world/block_crystal.ogg + Gain + 1.0 + Pitch adjust + Higher 2 + Range + Medium + + + Transform + + + Transient + + particle/fx_starlink_explode.dat + + color + blue + + + + + + + + + + + 8 + 79 + 1.5 + 174.51547 + 115 + + Monster/Health/Health Base + + 0.25 + 100 + 1100 + 2.5 + + + + Character/NPC/Monster/Slime/Jelly Roundhouse (Ice) + + Damage + + + Monster/Damage/Attack Base + + 4 + + Damage Frozen + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 4 + + Freeze + + Chance + 0.8 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Medium + Impulse + Forward + Sound - Pitch adjust + Default + + + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base -05 + + 4 + + Damage Region + Medium + Impulse + Forward + Sound - Pitch adjust + Higher 1 + + + + + + + + + 8 + + + + + 8 + -100 + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 1 + 100 + + + 6 + -65 + + + + + + + Character/NPC/Monster/Slime/Jelly/Parts/Oiler (Base) + + + Scale + implementation.sprite.scale + + + Targeted Speed + implementation.targeted_speed + + + Behavior + implementation.behavior + + + Death Oil Count + implementation.handlers[1].action.actions[0].count + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/lichen/model.dat + + Core + + Variant + oiler + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, large + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 3 + + + Transform + + 0.8 + + Transient + + character/npc/monster/jellycube/fx_death.dat + + Color + tri-lichen + Core + false + Transform + + + + + + + 1.25 + 0.8 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.4 + + + + + + + 1.5 + + character/npc/monster/royaljelly/animations/animation_walk.dat + + Sound - Pitch + Higher 1 + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.4 + + + + + + + 1.5 + + character/npc/monster/royaljelly/animations/animation_walk.dat + + Sound - Pitch + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + SECONDARY + + character/npc/monster/lichen/model.dat + + Core + + Variant + oiler-ignite + + + + + + + 0.4 + + + (tag 1), (tag 2), (tag 3) + + + + + + Treasure/Monster/Slime/Jelly Cube/Oiler Loot + + + + + + + + + Bomb/Monster/Oil Slick + + + + + + + + + + + + Monster/Heal/Heal Base + + + + 4 + + + true + + + + + + + + + + + + 4 + + Fire 3 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + + + + + + + 8 + 79 + 4.0 + 6.981317 + 40 + 1440 + 1 + 30 + + Monster/Health/Health Base + + 0.3 + 100 + 1100 + 4.0 + true + + + + Character/NPC/Monster/Slime/Oiler Place + + + + + Character/NPC/Monster/Slime/Oiler Dash + + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + Monster/Damage/Attack Base -05 + + 4 + + Damage Region + Medium + Flare Color + Normal + Impulse + Forward + Sound - Pitch adjust + Higher 2 + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 1 + 100 + + + 2 + -65 + + + + + + + Monster/Defense/Defense Base +10 + + ELEMENTAL + + + 7 + 4 + + + 8 + -50 + + + + + + + 4 + -100 + + + + 8 + 50 + + + + + + + Character/NPC/Monster/Slime/Jelly/Parts/Quicksilver (Base) + + + Scale + implementation.sprite.scale + + + Targeted Speed + implementation.targeted_speed + + + Shock Speed + implementation.speed + + + Charge-Up + implementation.behavior["Charge-Up"] + + + Damage (Status) + implementation.attacks[1].ref["Damage Status"].status_condition, implementation.handlers[4].action.action.actions[0].damage.damages[1].status_condition, implementation.handlers[1].action.action.actions[2].condition + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/lichen/model_sho.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, large + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 3 + + + Transform + + 0.8 + + Transient + + character/npc/monster/jellycube/fx_death.dat + + Color + + Core + true + Transform + + + + + + + 1.25 + 0.8 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.4 + + + + + + + 1.5 + + character/npc/monster/royaljelly/animations/animation_walk.dat + + Sound - Pitch + Higher 1 + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.4 + + + + + + + 1.5 + + character/npc/monster/royaljelly/animations/animation_walk.dat + + Sound - Pitch + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + SECONDARY + + character/npc/monster/lichen/model_sho-alt.dat + + + + + + 0.4 + + + + + + Treasure/Monster/Slime/Jelly Cube/Quicksilver Loot + + + + + + + + + + Monster/Heal/Heal Base + + + + + Shock 3 + + Chance + 1.0 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + true + + + + + + + + + + + 16 + + + + + + + + + + + + + + + Monster/Damage/Attack Base +05 + + ELEMENTAL + + Monster/Split/Split - Full + + + + + Shock 3 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + 8 + 79 + 20.0 + 17.453293 + 40 + 1440 + 1 + 30 + + Monster/Health/Health Base -05 + + 0.3 + 100 + 1100 + 4.0 + true + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + Monster/Damage/Attack Base + + 4 + + Damage Region + Medium + Flare Color + Normal + Impulse + Forward + Sound - Pitch adjust + Higher 2 + + + + + + Character/NPC/Monster/Slime/Quicksilver Charge + + Damage Status + + 4 + + Shock 3 + + Chance + 1.0 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + + 1 + 100 + + + 26 + -65 + + + 8 + 50 + + + + + + + Character/NPC/Monster/Slime/Jelly/Quicksilver/Quicksilver 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Jelly/Parts/Quicksilver (Base) + + Charge-Up + False + Damage (Status) + + Shock + + Chance + 1.0 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Scale + 1.05 + Shock Speed + 15.0 + Targeted Speed + 3.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Quicksilver/Quicksilver 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Jelly/Parts/Quicksilver (Base) + + Charge-Up + False + Damage (Status) + + Shock 2 + + Chance + 1.0 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Scale + 1.15 + Shock Speed + 17.5 + Targeted Speed + 3.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Quicksilver/Quicksilver 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Jelly/Parts/Quicksilver (Base) + + Charge-Up + True + Damage (Status) + + Shock 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Scale + 1.25 + Shock Speed + 20.0 + Targeted Speed + 4.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Soul Jelly + + + Wave Tag + implementation.tags.tags[1] + + + + + + character/npc/monster/souljelly/model.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, large + + Pitch adjust + Higher 3 + Range + Medium + + + Transform + + + Transient + + particle/monster_death.dat + + Color + Purple + + + + + 0.8 + 0.7 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/jellycube/walking.dat + + Sound - Pitch + Default + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/jellycube/walking.dat + + Sound - Pitch + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.4 + + + (tag 1), (tag 2) + + + + + + Treasure/Monster/Slime/Jelly Cube/Jelly Cube Loot + + + + + 8 + 79 + 2.0 + 3.4906585 + 40 + 1440 + 30 + + Monster/Health/Health Base +05 + + 0.25 + 2667 + 1100 + 2.5 + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + Monster/Damage/Attack Base -05 + + 4 + + Damage Region + Medium + Flare Color + Normal + Impulse + Backward + Sound - Pitch adjust + Default + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 20 + 360 + + + 320 + + + 320 + + + 1 + 50 + + + 30 + -50 + + + + + + + Character/NPC/Monster/Slime/Jelly/Toxigel/Toxigel 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Elemental + + Attached Scale + 1.0 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Poison + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Medium + Flare Color + Normal + Impulse + Forward + Sound - Pitch adjust + Default + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + toxigel + Death Size + + 1.2 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 1 + + + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 257 + 50 + + + 28 + -25 + + + 2 + + + + End Depth + 9 + End Health + 240 + Gas Interval + 1.0 + Gas Spawn + + Health + 40 + Health Scale + + Monster/Health/Health Base + + Hit Sound + Default + Idle Speed + 1.0 + Loot Table + + Treasure/Monster/Slime/Toxigel/Toxigel Loot + + Model + + character/npc/monster/lichen/model.dat + + Core + + Variant + toxigel + + + Movement - Sound pitch + Default + Scale + 1.2 + Shape + + 0.45 + + Standing Jiggle + 1.0 + Start Depth + 1 + Target Speed + 2.5 + Walk Style + Stretch + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Toxigel/Toxigel 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Elemental + + Attached Scale + 1.0 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Poison 2 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Medium + Flare Color + Normal + Impulse + Forward + Sound - Pitch adjust + Default + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + toxigel + Death Size + + 1.2 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 1 + + + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 257 + 50 + + + 28 + -25 + + + 2 + + + + End Depth + 19 + End Health + 720 + Gas Interval + 1.0 + Gas Spawn + + Health + 240 + Health Scale + + Monster/Health/Health Base + + Hit Sound + Default + Idle Speed + 1.0 + Loot Table + + Treasure/Monster/Slime/Toxigel/Toxigel Loot + + Model + + character/npc/monster/lichen/model.dat + + Core + + Variant + toxigel-potent + + + Movement - Sound pitch + Default + Scale + 1.2 + Shape + + 0.45 + + Standing Jiggle + 1.0 + Start Depth + 9 + Target Speed + 2.5 + Walk Style + Stretch + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Toxigel/Toxigel 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Elemental + + Attached Scale + 1.0 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + + + Monster/Damage/Attack Base + + 4 + PIERCING + + Monster/Split/Split - Half + + + + 4 + + Poison 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Medium + Flare Color + Pierce + Impulse + Forward + Sound - Pitch adjust + Default + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Bullet/Monster/Jelly Barb + + Damage + + + + + Monster/Damage/Attack Base -05 + + PIERCING + + Monster/Split/Split - Full + + + + 4 + + Poison 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Scale + Small + Style + Tox + + + Bullet 2 + + Color + 0.0, 0.32941177, 0.078431375, 1.0 + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + + Flare Color + Pierce + Radius + 1.0 + Radius Graphic + + 0.5 + + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + toxigel + Death Size + + 1.2 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 1 + + + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 257 + 50 + + + 2 + + + 28 + -25 + + + + End Depth + 30 + End Health + 1440 + Gas Interval + 1.0 + Gas Spawn + + Health + 720 + Health Scale + + Monster/Health/Health Base + + Hit Sound + Default + Idle Speed + 1.0 + Loot Table + + Treasure/Monster/Slime/Toxigel/Toxigel Loot + + Model + + character/npc/monster/lichen/model.dat + + Core + + Variant + toxigel-deep + + + Movement - Sound pitch + Default + Scale + 1.2 + Shape + + 0.45 + + Standing Jiggle + 0.9 + Start Depth + 19 + Target Speed + 2.5 + Walk Style + Stretch + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Large Lichen Colony + + + Wave Tag + implementation.tags.tags[3], implementation.handlers[2].action.action.actions[0].fire_action["Wave Tag"] + + + Tags + implementation.tags.derived + + + + Size + + + Model Scale + implementation.sprite.scale + + + Radius + implementation.shape.radius + + + Health Multiplier + implementation.health_scale["Multiplier"] + + + Damage Scale + implementation.attacks[0].ref["Damage Scale"], implementation.attacks[1].ref["Damage"].damages[0].depth_scale + + + Damage Bullet Scale + implementation.attacks[1].ref["Bullet"]["Damage"].depth_scale + + + Max Attack Distance + implementation.behavior["Max Attack Distance"] + + + Damage Transform + implementation.attacks[0].ref["Damage Transform"] + + + Core Count + implementation.sprite.model["Core"]["Core Count"] + + + Size Variable + implementation.handlers[0].action.value.value + + + Loot Table + implementation.handlers[1].action.action.spawn_table + + + + + + 10 + + Core Count + 10 + Damage Amount + 40.0 + Damage Bullet Scale + + Monster/Damage/Attack Base -05 + + Damage End Amount + 360.0 + Damage Scale + + Monster/Damage/Attack Base + + Damage Transform + + 1.75, 0.0 + + Health + 80 + Health End + 2880 + Health Multiplier + 2.25 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 10 Loot + + Max Attack Distance + 1.3 + Model Scale + 1.8 + Radius + 0.9 + Size Variable + 10 + + + + + 11 + + Core Count + 11 + Damage Amount + 40.0 + Damage Bullet Scale + + Monster/Damage/Attack Base -05 + + Damage End Amount + 360.0 + Damage Scale + + Monster/Damage/Attack Base + + Damage Transform + + 1.8, 0.0 + + Health + 475 + Health End + 90 + Health Multiplier + 2.5 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 10 Loot + + Max Attack Distance + 1.35 + Model Scale + 1.9 + Radius + 0.95 + Size Variable + 11 + + + + + 12 + + Core Count + 12 + Damage Amount + 40.0 + Damage Bullet Scale + + Monster/Damage/Attack Base -05 + + Damage End Amount + 360.0 + Damage Scale + + Monster/Damage/Attack Base + + Damage Transform + + 1.85, 0.0 + + Health + 100 + Health End + 3600 + Health Multiplier + 2.75 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 10 Loot + + Max Attack Distance + 1.4 + Model Scale + 2.0 + Radius + 1.0 + Size Variable + 12 + + + + + 13 + + Core Count + 13 + Damage Amount + 40.0 + Damage Bullet Scale + + Monster/Damage/Attack Base + + Damage End Amount + 360.0 + Damage Scale + + Monster/Damage/Attack Base + + Damage Transform + + 1.9, 0.0 + + Health + 107 + Health End + 3840 + Health Multiplier + 3.0 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 10 Loot + + Max Attack Distance + 1.45 + Model Scale + 2.1 + Radius + 1.05 + Size Variable + 13 + + + + + 14 + + Core Count + 14 + Damage Amount + 40.0 + Damage Bullet Scale + + Monster/Damage/Attack Base + + Damage End Amount + 360.0 + Damage Scale + + Monster/Damage/Attack Base +05 + + Damage Transform + + 1.95, 0.0 + + Health + 114 + Health End + 4080 + Health Multiplier + 3.25 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 10 Loot + + Max Attack Distance + 1.5 + Model Scale + 2.2 + Radius + 1.1 + Size Variable + 14 + + + + + 15 + + Core Count + 15 + Damage Amount + 40.0 + Damage Bullet Scale + + Monster/Damage/Attack Base + + Damage End Amount + 360.0 + Damage Scale + + Monster/Damage/Attack Base +05 + + Damage Transform + + 2.0, 0.0 + + Health + 120 + Health End + 4320 + Health Multiplier + 3.5 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 15 Loot + + Max Attack Distance + 1.45 + Model Scale + 2.3 + Radius + 1.15 + Size Variable + 15 + + + + 10 + + + + + + character/npc/monster/lichen/model_highrez.dat + + Core + + character/npc/monster/lichen/ambient_cores.dat + + Core Count + 1 + Size + 0.1 + + + Variant + tri-lichen + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, large + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, large + + Pitch adjust + Higher 2 + Range + Medium + + + Transform + + 1.2 + + Transient + + character/npc/monster/jellycube/fx_death.dat + + Color + tri-lichen + Core + true + Transform + + + + + + + 1.8 + 0.6 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 1.5 + + character/npc/monster/royaljelly/animations/animation_walk.dat + + Sound - Pitch + Lower 1 + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 1.5 + + character/npc/monster/royaljelly/animations/animation_walk.dat + + Sound - Pitch + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.9 + + + (tag 1), (tag 2), (tag 3), (tag 4) + + + + + + + + + + + + + + + + + + + Character/NPC/Monster/Slime/Spawn Lichen Colony + + Wave Tag + (Wave Tag) + + + + + + + + + 8 + 79 + 2.5 + 3.4906585 + 80 + 2880 + 1 + 30 + + Base/Multiplier + + Depth Scale + + Monster/Health/Health Base + + Multiplier + 1.0 + + + 0.3 + 4 + 100 + 1100 + 2.5 + + + + Character/NPC/Monster/Slime/Lichen + + Damage Scale + + Monster/Damage/Attack Base + + Damage Transform + + 1.75, 0.0 + + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Bullet/Monster/Jelly Barb + + Damage + + + Monster/Damage/Attack Base -05 + + PIERCING + + Monster/Split/Split - Full + + + Scale + Medium + Style + Tri + + + Bullet 2 + + Color + 1.0, 0.4, 0.0, 1.0 + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + + Flare Color + Pierce + Radius + 1.0 + Radius Graphic + + 0.5 + + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 257 + 50 + + + 28 + -25 + + + + + + + Character/NPC/Monster/Slime/Lichen Colony + + + Wave Tag + implementation.tags.tags[3], implementation.handlers[2].action.action.actions[0].fire_action["Wave Tag"] + + + Tags + implementation.tags.derived + + + + Size + + + Model Scale + implementation.sprite.scale + + + Radius + implementation.shape.radius + + + Health Multiplier + implementation.health_scale["Multiplier"] + + + Damage Scale + implementation.attacks[0].ref["Damage Scale"] + + + Max Attack Distance + implementation.behavior["Max Attack Distance"] + + + Damage Transform + implementation.attacks[0].ref["Damage Transform"] + + + Core Count + implementation.sprite.model["Core"]["Core Count"] + + + Size Variable + implementation.handlers[0].action.value.value + + + Loot Table + implementation.handlers[1].action.action.spawn_table + + + + + + 1 + + Core Count + 1 + Damage Amount + 30.0 + Damage End Amount + 330.0 + Damage Scale + + Monster/Damage/Attack Base -10 + + Damage Transform + + 1.25, 0.0 + + Health + 40 + Health End + 1440 + Health Multiplier + 1.0 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 1 Loot + + Max Attack Distance + 0.8 + Model Scale + 0.8 + Radius + 0.4 + Size Variable + 1 + + + + + 2 + + Core Count + 2 + Damage Amount + 30.0 + Damage End Amount + 330.0 + Damage Scale + + Monster/Damage/Attack Base -10 + + Damage Transform + + 1.3, 0.0 + + Health + 50 + Health End + 1550 + Health Multiplier + 1.25 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 1 Loot + + Max Attack Distance + 0.85 + Model Scale + 0.9 + Radius + 0.45 + Size Variable + 2 + + + + + 3 + + Core Count + 3 + Damage Amount + 30.0 + Damage End Amount + 330.0 + Damage Scale + + Monster/Damage/Attack Base -10 + + Damage Transform + + 1.35, 0.0 + + Health + 60 + Health End + 1700 + Health Multiplier + 1.5 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 1 Loot + + Max Attack Distance + 0.9 + Model Scale + 1.0 + Radius + 0.5 + Size Variable + 3 + + + + + 4 + + Core Count + 4 + Damage Amount + 30.0 + Damage End Amount + 330.0 + Damage Scale + + Monster/Damage/Attack Base -10 + + Damage Transform + + 1.4, 0.0 + + Health + 70 + Health End + 1900 + Health Multiplier + 1.75 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 1 Loot + + Max Attack Distance + 0.95 + Model Scale + 1.1 + Radius + 0.55 + Size Variable + 4 + + + + + 5 + + Core Count + 5 + Damage Amount + 30.0 + Damage End Amount + 330.0 + Damage Scale + + Monster/Damage/Attack Base -10 + + Damage Transform + + 1.45, 0.0 + + Health + 70 + Health End + 2160 + Health Multiplier + 2.0 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 5 Loot + + Max Attack Distance + 1.0 + Model Scale + 1.2 + Radius + 0.6 + Size Variable + 5 + + + + + 6 + + Core Count + 6 + Damage Amount + 30.0 + Damage End Amount + 330.0 + Damage Scale + + Monster/Damage/Attack Base -05 + + Damage Transform + + 1.5, 0.0 + + Health + 75 + Health End + 2300 + Health Multiplier + 2.25 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 5 Loot + + Max Attack Distance + 1.05 + Model Scale + 1.3 + Radius + 0.65 + Size Variable + 6 + + + + + 7 + + Core Count + 7 + Damage Amount + 30.0 + Damage End Amount + 330.0 + Damage Scale + + Monster/Damage/Attack Base -05 + + Damage Transform + + 1.55, 0.0 + + Health + 75 + Health End + 2500 + Health Multiplier + 2.5 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 5 Loot + + Max Attack Distance + 1.1 + Model Scale + 1.4 + Radius + 0.7 + Size Variable + 7 + + + + + 8 + + Core Count + 8 + Damage Amount + 30.0 + Damage End Amount + 330.0 + Damage Scale + + Monster/Damage/Attack Base -05 + + Damage Transform + + 1.6, 0.0 + + Health + 80 + Health End + 2750 + Health Multiplier + 2.75 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 5 Loot + + Max Attack Distance + 1.15 + Model Scale + 1.5 + Radius + 0.75 + Size Variable + 8 + + + + + 9 + + Core Count + 9 + Damage Amount + 30.0 + Damage End Amount + 330.0 + Damage Scale + + Monster/Damage/Attack Base + + Damage Transform + + 1.65, 0.0 + + Health + 80 + Health End + 2880 + Health Multiplier + 3.0 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 5 Loot + + Max Attack Distance + 1.2 + Model Scale + 1.6 + Radius + 0.8 + Size Variable + 9 + + + + 1 + + + + + + character/npc/monster/lichen/model.dat + + Core + + character/npc/monster/lichen/ambient_cores.dat + + Core Count + 1 + Size + 0.15 + + + Variant + lichen + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, large + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 3 + + + Transform + + 0.8 + + Transient + + character/npc/monster/jellycube/fx_death.dat + + Color + lichen + Core + false + Transform + + + + + + + 0.8 + 0.6 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.4 + + + + + + + 2.5 + + character/npc/monster/jellycube/walking.dat + + Sound - Pitch + Higher 2 + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.4 + + + + + + + 2.5 + + character/npc/monster/jellycube/walking.dat + + Sound - Pitch + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.4 + + + (tag 1), (tag 2), (tag 3), (tag 4) + + + + + + + + + + + + + + + + + + + Character/NPC/Monster/Slime/Spawn Lichen Colony + + Wave Tag + (Wave Tag) + + + + + + + + + 8 + 79 + 2.5 + 5.2359877 + 40 + 1440 + 1 + 30 + + Base/Multiplier + + Depth Scale + + Monster/Health/Health Base + + Multiplier + 1.0 + + + 0.3 + 100 + 1100 + 2.5 + + + + Character/NPC/Monster/Slime/Lichen + + Damage Scale + + Monster/Damage/Attack Base -10 + + Damage Transform + + 1.25, 0.0 + + + + + + + Character/NPC/Monster/Slime/Lichen Merge + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 257 + 50 + + + 28 + -50 + + + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + + Model + implementation.sprite.model + + + Hit Sound + implementation.sprite.hit_transient["Sounder"]["Pitch shift"] + + + Sound - Movement pitch + implementation.sprite.movements[0].animation["Sound - Pitch adjust"] + + + Death Color + implementation.sprite.destruction_transient["Transient"]["Color"] + + + Death Size + implementation.sprite.destruction_transient["Transform"] + + + Death Sound + implementation.sprite.destruction_transient["Sounder"] + + + Creation Transient + implementation.sprite.creation_transient + + + Standing Jiggle + implementation.sprite.idles[0].animation["Speed"], implementation.sprite.targeted_idles[0].animation["Speed"] + + + Scale + implementation.sprite.scale + + + Attached Scale + implementation.sprite.attached_scale + + + Shape + implementation.shape + + + Idle Speed + implementation.speed + + + Target Speed + implementation.targeted_speed + + + Health Scale + implementation.health_scale + + + Defense + implementation.defense + + + Loot Table + implementation.handlers[0].action.action.spawn_table + + + Behavior + implementation.behavior + + + Attacks + implementation.attacks + + + Wave Tag + implementation.tags.tags[2] + + + Handler + implementation.handlers[1] + + + + Death Time + + + DT + implementation.death_time + + + + + + Instant + + DT + 100 + + + + + Blast Warning + + DT + 4000 + + + + Instant + + + + + + character/npc/monster/jellycube/model.dat + + Trail + + variant + pink + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 1 + + + Transform + + 0.8 + + Transient + + character/npc/monster/jellycube/fx_death.dat + + Color + pink + Core + true + Transform + + + + + + + 0.8 + 0.75 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 2.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Default + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Higher 1 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 2.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.4 + + + (tag 1), (tag 2), (tag 3) + + + + + + + + + + + + 8 + 79 + 1.5 + 174.51547 + 115 + 0.25 + 100 + 1100 + 2.5 + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + 1.0 + 4 + + Damage Region + Medium + Impulse + Backward + Sound - Pitch adjust + Default + + + + + + + + 100 + + + 25 + + + 1 + 100 + + + 14 + -65 + + + + + + + Character/NPC/Monster/Slime/Parts/Jelly Elemental + + + Model + implementation.sprite.model + + + Hit Sound + implementation.sprite.hit_transient["Sounder"]["Pitch shift"] + + + Movement - Sound pitch + implementation.sprite.movements[0].animation["Sound - Pitch"] + + + Death Color + implementation.sprite.destruction_transient["Transient"]["Color"] + + + Death Size + implementation.sprite.destruction_transient["Transform"] + + + Death Sound + implementation.sprite.destruction_transient["Sounder"] + + + Creation Transient + implementation.sprite.creation_transient + + + Standing Jiggle + implementation.sprite.idles[0].animation["Speed"], implementation.sprite.targeted_idles[0].animation["Speed"] + + + Scale + implementation.sprite.scale + + + Attached Scale + implementation.sprite.attached_scale + + + Shape + implementation.shape + + + Idle Speed + implementation.speed + + + Target Speed + implementation.targeted_speed + + + Health + implementation.health + + + End Health + implementation.end_health + + + Start Depth + implementation.start_depth + + + End Depth + implementation.end_depth + + + Health Scale + implementation.health_scale + + + Defense + implementation.defense + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Behavior + implementation.behavior + + + Attacks + implementation.attacks + + + Gas Interval + implementation.handlers[1].interval + + + Gas Spawn + implementation.handlers[1].action.actor + + + Wave Tag + implementation.tags.tags[2] + + + + Walk Style + + + Animation + implementation.sprite.movements[0].animation, implementation.sprite.targeted_movements[0].animation + + + Speed + implementation.sprite.movements[0].speed, implementation.sprite.targeted_movements[0].speed + + + + + + Scoot + + Animation + + character/npc/monster/royaljelly/animations/animation_walk.dat + + Sound - Pitch + Default + + + Speed + 1.5 + + + + + Stretch + + Animation + + character/npc/monster/jellycube/walking.dat + + Sound - Pitch + Default + + + Speed + 2.5 + + + + Scoot + + + + + + character/npc/monster/lichen/model.dat + + Core + + Variant + toxigel + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 1 + + + Transform + + 0.9 + + Transient + + character/npc/monster/jellycube/fx_death.dat + + Color + toxigel + Core + true + Transform + + + + + + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 1.5 + + character/npc/monster/royaljelly/animations/animation_walk.dat + + Sound - Pitch + Default + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.4 + + + + + + + 1.5 + + character/npc/monster/royaljelly/animations/animation_walk.dat + + Sound - Pitch + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.45 + + + (tag 1), (tag 2), (tag 3) + + + + + + Treasure/Monster/Slime/Toxigel/Toxigel Loot + + + + + + + + + 8 + 79 + 2.5 + 3.4906585 + 225 + 0.3 + 100 + 1100 + 2.5 + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + + 40.0 + 4 + + + 4 + + Poison + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Medium + Flare Color + None + Impulse + Forward + Sound - Pitch adjust + Default + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Bullet/Monster/Jelly Barb + + Damage + + + + 40.0 + 4 + + + 4 + + Poison + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Scale + Small + Style + Tox + + + Bullet 2 + + Color + 0.0, 0.32941177, 0.078431375, 1.0 + Damage + + + + 20.0 + 4 + + + + Flare Color + None + Radius + 1.0 + Radius Graphic + + 2.0 + + + + + + + + + 115 + + + 35 + + + 1 + 100 + + + 2 + 200 + + + 12 + -45 + + + + + + + Character/NPC/Monster/Slime/Parts/Jelly Green Mini (No Treasure) + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 0.45 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + 10.0 + 4 + + Damage Region + Small + Impulse + Forward + Sound - Pitch adjust + Higher 3 + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Spawn, small + + Transform + + 0.75 + + Transient + + particle/fx_jellydeath.dat + + Core + false + color + green + + + + + Death Color + green + Death Size + + 0.5 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 4 + + + Death Time + Instant + Defense + + + + 100 + + + 45 + + + 1 + 100 + + + 14 + -65 + + + + Handler + + + Health Scale + + Hit Sound + Higher 2 + Idle Speed + 1.0 + Loot Table + + Model + + character/npc/monster/jellycube/minicube/model.dat + + Trail + + variant + pink + + + Scale + 0.5 + Shape + + 0.24 + + Sound - Movement pitch + Default + Standing Jiggle + 2.0 + Target Speed + 2.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Rock Jelly/Rock Jelly 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 0.9 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base + + 4 + + Damage Region + Medium + Impulse + Forward + Sound - Pitch adjust + Default + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + blue + Death Size + + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 1 + + + Death Time + Instant + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 257 + 50 + + + 24 + -25 + + + 4 + 25 + + + + Handler + + + Health Scale + + Monster/Health/Health Base +10 + + Hit Sound + Lower 1 + Idle Speed + 1.5 + Loot Table + + Treasure/Monster/Slime/Jelly Cube/Jelly Cube Loot + + Model + + character/npc/monster/blastcube/model_rock.dat + + Scale + 1.0 + Shape + + 0.45 + + Sound - Movement pitch + Default + Standing Jiggle + 0.5 + Target Speed + 1.75 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Rock Jelly/Rock Jelly 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Rock Jelly/Rock Jelly 1 + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Rock Jelly/Rock Jelly 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Rock Jelly/Rock Jelly 1 + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Sloom/Sloom 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Elemental + + Attached Scale + 1.0 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Sleep + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Medium + Flare Color + Normal + Impulse + Forward + Sound - Pitch adjust + Default + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + sloom + Death Size + + 1.2 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 1 + + + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 1 + 50 + + + 256 + + + 28 + -25 + + + + End Depth + 9 + End Health + 240 + Gas Interval + 1.0 + Gas Spawn + + Health + 40 + Health Scale + + Monster/Health/Health Base + + Hit Sound + Default + Idle Speed + 1.0 + Loot Table + + Treasure/Monster/Slime/Sloom/Sloom Loot + + Model + + character/npc/monster/lichen/model.dat + + Core + + Variant + sloom + + + Movement - Sound pitch + Default + Scale + 1.2 + Shape + + 0.45 + + Standing Jiggle + 1.0 + Start Depth + 0 + Target Speed + 2.5 + Walk Style + Stretch + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Sloom/Sloom 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Elemental + + Attached Scale + 1.0 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Sleep 2 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Medium + Flare Color + Normal + Impulse + Forward + Sound - Pitch adjust + Default + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + sloom + Death Size + + 1.2 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 1 + + + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 1 + 50 + + + 256 + + + 28 + -25 + + + + End Depth + 19 + End Health + 720 + Gas Interval + 1.0 + Gas Spawn + + Health + 240 + Health Scale + + Monster/Health/Health Base + + Hit Sound + Default + Idle Speed + 1.0 + Loot Table + + Treasure/Monster/Slime/Sloom/Sloom Loot + + Model + + character/npc/monster/lichen/model.dat + + Core + + Variant + dozy sloom + + + Movement - Sound pitch + Default + Scale + 1.2 + Shape + + 0.45 + + Standing Jiggle + 1.0 + Start Depth + 9 + Target Speed + 2.5 + Walk Style + Stretch + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Sloom/Sloom 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Elemental + + Attached Scale + 1.0 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + + + Monster/Damage/Attack Base + + 4 + PIERCING + + Monster/Split/Split - Half + + + + 4 + + Sleep 3 + + Chance + 0.5 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Medium + Flare Color + Pierce + Impulse + Forward + Sound - Pitch adjust + Default + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Bullet/Monster/Jelly Barb + + Damage + + + + + Monster/Damage/Attack Base -05 + + PIERCING + + Monster/Split/Split - Full + + + + 4 + + Sleep 3 + + Chance + 0.5 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Scale + Small + Style + Slo + + + Bullet 2 + + Color + 0.0, 0.6, 0.6, 1.0 + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + + Flare Color + Pierce + Radius + 1.0 + Radius Graphic + + 0.5 + + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + sloom + Death Size + + 1.2 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 1 + + + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 1 + 50 + + + 28 + -25 + + + 256 + + + + End Depth + 30 + End Health + 1440 + Gas Interval + 1.0 + Gas Spawn + + Health + 720 + Health Scale + + Monster/Health/Health Base + + Hit Sound + Default + Idle Speed + 1.0 + Loot Table + + Treasure/Monster/Slime/Sloom/Sloom Loot + + Model + + character/npc/monster/lichen/model.dat + + Core + + Variant + deep sloom + + + Movement - Sound pitch + Default + Scale + 1.2 + Shape + + 0.45 + + Standing Jiggle + 0.9 + Start Depth + 19 + Target Speed + 2.5 + Walk Style + Stretch + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Sloombargo/Sloombargo 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Elemental + + Attached Scale + 1.9 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Sleep + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Large + Flare Color + Normal + Impulse + Forward + Sound - Pitch adjust + Lower 3 + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, large + + + + Death Color + sloom + Death Size + + 2.3 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 3 + + + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 1 + 50 + + + 256 + + + 28 + -25 + + + + End Depth + 9 + End Health + 720 + Gas Interval + 1.0 + Gas Spawn + + Bomb/Monster/GasField + + Damage + + 4 + + Sleep + + Chance + 0.3 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Graphic + Sleep + Radius + 1.75 + Time + 1.0 + + + Health + 120 + Health Scale + + Monster/Health/Health Base +20 + + Hit Sound + Default + Idle Speed + 1.0 + Loot Table + + Treasure/Monster/Slime/Sloom/Sloombargo Loot + + Model + + character/npc/monster/lichen/model_highrez.dat + + Core + + Variant + sloom + + + Movement - Sound pitch + Lower 1 + Scale + 2.3 + Shape + + 1.1 + + Standing Jiggle + 0.6 + Start Depth + 1 + Target Speed + 2.0 + Walk Style + Scoot + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Sloombargo/Sloombargo 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Elemental + + Attached Scale + 1.9 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Sleep 2 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Large + Flare Color + Normal + Impulse + Forward + Sound - Pitch adjust + Lower 3 + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, large + + + + Death Color + sloom + Death Size + + 2.3 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 3 + + + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 1 + 50 + + + 256 + + + 28 + -25 + + + + End Depth + 19 + End Health + 2160 + Gas Interval + 1.0 + Gas Spawn + + Bomb/Monster/GasField + + Damage + + 4 + + Sleep 2 + + Chance + 0.3 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Graphic + Sleep + Radius + 1.75 + Time + 1.0 + + + Health + 720 + Health Scale + + Monster/Health/Health Base +20 + + Hit Sound + Default + Idle Speed + 1.0 + Loot Table + + Treasure/Monster/Slime/Sloom/Sloombargo Loot + + Model + + character/npc/monster/lichen/model_highrez.dat + + Core + + Variant + dozy sloom + + + Movement - Sound pitch + Lower 1 + Scale + 2.3 + Shape + + 1.1 + + Standing Jiggle + 0.6 + Start Depth + 9 + Target Speed + 2.0 + Walk Style + Scoot + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Sloombargo/Sloombargo 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Elemental + + Attached Scale + 1.9 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + PIERCING + + Monster/Split/Split - Half + + + + 4 + + Sleep 3 + + Chance + 0.6 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Medium + Flare Color + Pierce + Impulse + Forward + Sound - Pitch adjust + Default + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Bullet/Monster/Jelly Barb + + Damage + + + + + Monster/Damage/Attack Base + + PIERCING + + Monster/Split/Split - Full + + + + 4 + + Sleep 3 + + Chance + 0.8 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Scale + Medium + Style + Slo + + + Bullet 2 + + Bullet/Monster/Jelly Barb + + Damage + + + + + Monster/Damage/Attack Base + + PIERCING + + Monster/Split/Split - Full + + + + 4 + + Sleep 3 + + Chance + 0.8 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Scale + Medium + Style + Slo + + + Color + 0.0, 0.6, 0.6, 1.0 + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + true + + + + Flare Color + Pierce + Radius + 1.0 + Radius Graphic + + 0.5 + + + + + + + Character/NPC/Monster/Slime/Lichen Impale (Lesser) + + Spire + + Bomb/Monster/Lichen Spire + + Color + Slo + Damage + + + + + Monster/Damage/Attack Base + + PIERCING + + Monster/Split/Split - Full + + + + 4 + + Sleep 3 + + Chance + 0.65 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + sloom + Death Size + + 1.8 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 1 + + + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 180 + 360 + 19 + + + 1 + 50 + + + 256 + + + 28 + -25 + + + + End Depth + 30 + End Health + 4320 + Gas Interval + 1.0 + Gas Spawn + + Bomb/Monster/GasField + + Damage + + 4 + + Sleep 3 + + Chance + 0.4 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Graphic + Sleep + Radius + 2.0 + Time + 1.0 + + + Health + 2160 + Health Scale + + Monster/Health/Health Base +20 + + Hit Sound + Default + Idle Speed + 1.0 + Loot Table + + Treasure/Monster/Slime/Sloom/Sloombargo Loot + + Model + + character/npc/monster/lichen/model_highrez.dat + + Core + + Variant + deep sloom + + + Movement - Sound pitch + Lower 1 + Scale + 2.3 + Shape + + 1.1 + + Standing Jiggle + 0.5 + Start Depth + 19 + Target Speed + 2.0 + Walk Style + Scoot + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Toxilargo/Toxilargo 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Elemental + + Attached Scale + 1.9 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Poison + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Large + Flare Color + Normal + Impulse + Forward + Sound - Pitch adjust + Lower 3 + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, large + + + + Death Color + toxigel + Death Size + + 2.3 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 3 + + + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 1 + 50 + + + 12 + -50 + + + 2 + + + + End Depth + 9 + End Health + 720 + Gas Interval + 1.0 + Gas Spawn + + Bomb/Monster/GasField + + Damage + + 4 + + Poison + + Chance + 0.3 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Graphic + Poison + Radius + 1.75 + Time + 1.0 + + + Health + 120 + Health Scale + + Monster/Health/Health Base +20 + + Hit Sound + Default + Idle Speed + 1.0 + Loot Table + + Treasure/Monster/Slime/Toxigel/Toxilargo Loot + + Model + + character/npc/monster/lichen/model_highrez.dat + + Core + + Variant + toxigel + + + Movement - Sound pitch + Lower 1 + Scale + 2.3 + Shape + + 1.1 + + Standing Jiggle + 0.6 + Start Depth + 0 + Target Speed + 2.0 + Walk Style + Scoot + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Toxilargo/Toxilargo 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Elemental + + Attached Scale + 1.9 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Poison 2 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Large + Flare Color + Normal + Impulse + Forward + Sound - Pitch adjust + Lower 3 + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, large + + + + Death Color + toxigel + Death Size + + 2.3 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 3 + + + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 1 + 50 + + + 12 + -50 + + + 2 + + + + End Depth + 19 + End Health + 2160 + Gas Interval + 1.0 + Gas Spawn + + Bomb/Monster/GasField + + Damage + + 4 + + Poison 2 + + Chance + 0.3 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Graphic + Poison + Radius + 1.75 + Time + 1.0 + + + Health + 720 + Health Scale + + Monster/Health/Health Base +20 + + Hit Sound + Default + Idle Speed + 1.0 + Loot Table + + Treasure/Monster/Slime/Toxigel/Toxilargo Loot + + Model + + character/npc/monster/lichen/model_highrez.dat + + Core + + Variant + toxigel-potent + + + Movement - Sound pitch + Lower 1 + Scale + 2.3 + Shape + + 1.1 + + Standing Jiggle + 0.6 + Start Depth + 9 + Target Speed + 2.0 + Walk Style + Scoot + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Toxilargo/Toxilargo 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Elemental + + Attached Scale + 1.9 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + PIERCING + + Monster/Split/Split - Half + + + Damage Region + Medium + Flare Color + Pierce + Impulse + Forward + Sound - Pitch adjust + Default + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Bullet/Monster/Jelly Barb + + Damage + + + + + Monster/Damage/Attack Base + + PIERCING + + Monster/Split/Split - Full + + + + 4 + + Poison 3 + + Chance + 0.8 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Scale + Medium + Style + Tox + + + Bullet 2 + + Bullet/Monster/Jelly Barb + + Damage + + + + + Monster/Damage/Attack Base + + PIERCING + + Monster/Split/Split - Full + + + + 4 + + Poison 3 + + Chance + 0.8 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Scale + Medium + Style + Tox + + + Color + 0.0, 0.32941177, 0.078431375, 1.0 + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + true + + + + Flare Color + Pierce + Radius + 1.0 + Radius Graphic + + 0.5 + + + + + + + Character/NPC/Monster/Slime/Lichen Impale (Lesser) + + Spire + + Bomb/Monster/Lichen Spire + + Color + Tox + Damage + + + + + Monster/Damage/Attack Base + + PIERCING + + Monster/Split/Split - Full + + + + 4 + + Poison 3 + + Chance + 0.65 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + toxigel + Death Size + + 1.8 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 1 + + + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 1 + 50 + + + 2 + + + 12 + -50 + + + + End Depth + 30 + End Health + 4320 + Gas Interval + 1.0 + Gas Spawn + + Bomb/Monster/GasField + + Damage + + 4 + + Poison 3 + + Chance + 0.4 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Graphic + Poison + Radius + 2.0 + Time + 1.0 + + + Health + 2160 + Health Scale + + Monster/Health/Health Base +20 + + Hit Sound + Default + Idle Speed + 1.0 + Loot Table + + Treasure/Monster/Slime/Toxigel/Toxilargo Loot + + Model + + character/npc/monster/lichen/model_highrez.dat + + Core + + Variant + toxigel-deep + + + Movement - Sound pitch + Lower 1 + Scale + 2.3 + Shape + + 1.1 + + Standing Jiggle + 0.5 + Start Depth + 19 + Target Speed + 2.0 + Walk Style + Scoot + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Barlok + + + Tags + implementation.tags.derived + + + + + + character/npc/monster/reaper/model.dat + + variant + red + + + + + + character/npc/monster/spookat/standing_idle.dat + + Pitch adjust + Default + + + + + 0.5 + + character/npc/monster/spookat/standing_idle2.dat + + Pitch adjust + Default + + + + + 0.25 + + character/npc/monster/spookat/standing_idle3.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking_idle.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Bones + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/spookat/standing.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.2 + + + + + + Treasure/Monster/Undead/Spookat/Spookat Loot + + + + + 8 + 79 + 1.5 + 6.981317 + 125 + 0.3 + 1100 + 2.5 + + + + Character/NPC/Monster/Undead/Spookat + + Damage + + 50.0 + 4 + + + + + + + + + 50 + + + 100 + + + 50 + + + 11 + 50 + + + + + + + Character/NPC/Monster/Undead/Deadnaught/Deadnaught/Deadnought, Tier 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Deadnaught/Parts/Deadnought (Base) + + Actor Weight + 5 + Charge - Min Attack Interval + 7200 + Charge - Movement Speed + 6.0 + Charge Attack - Status Infliction + + Loot Table + + Skewer Attack - Status Infliction + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Deadnaught/Deadnaught/Deadnought, Tier 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Deadnaught/Parts/Deadnought (Base) + + Actor Weight + 6 + Charge - Min Attack Interval + 6400 + Charge - Movement Speed + 7.0 + Charge Attack - Status Infliction + + Loot Table + + Skewer Attack - Status Infliction + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Deadnaught/Deadnaught/Deadnought, Tier 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Deadnaught/Parts/Deadnought (Base) + + Actor Weight + 7 + Charge - Min Attack Interval + 6000 + Charge - Movement Speed + 8.0 + Charge Attack - Status Infliction + + Loot Table + + Skewer Attack - Status Infliction + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Deadnaught/Parts/Deadnought (Base) + + + Actor Weight + implementation.impulse_level + + + Charge - Min Attack Interval + implementation.behavior["Min Attack Interval"] + + + Charge - Movement Speed + implementation.behavior["Charge Speed"] + + + Charge Attack - Status Infliction + implementation.attacks[2].ref["Status Attack"] + + + Skewer Attack - Status Infliction + implementation.attacks[1].ref["Status Attack"] + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Wave Tag + implementation.tags.tags[3] + + + + + + character/npc/monster/zombieknight/model.dat + + + particle/model_fxscaler.dat + + Model + + particle/fx_spawn_monster.dat + + Transfrom + + 2.0 + + + + 1.6 + 2.0 + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.0 + Blend Out + 0.0 + Sound set + Null + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Null + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Bones + + Pitch shift + Lower 1 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.0 + Blend Out + 0.0 + Sound set + Null + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Null + + + + + + animation/common/spawn_scalein.dat + + Transform + + 1.2 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.8 + + + + + + + + 8 + 79 + 4.0 + 6.981317 + 450 + + Monster/Health/Health Base +10 + + 2 + 0.1 + true + 7 + 433 + 3000 + 1100 + 2.0 + true + + + + Character/NPC/Monster/Fiend/Dark Knight/Shield Deflect + + + + + Character/NPC/Monster/Undead/Deadnought/Parts/Charge - Finish + + Status Attack + + + + + + + Character/NPC/Monster/Undead/Deadnought/Parts/Charge - Start, Loop + + Status Attack + + + + + + + + + + + + + + + 1.2 + 1.8 + + + 0.4, 0.0 + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + + 266 + 50 + + + 32 + + + + + + + Character/NPC/Monster/Undead/Deadnaught/Parts/Tier 1 (Base) + + + Charge Attack - Status Infliction + implementation.actor["Charge Attack - Status Infliction"] + + + Skewer Attack - Status Infliction + implementation.actor["Skewer Attack - Status Infliction"] + + + Loot Table + implementation.actor["Loot Table"] + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Deadnaught/Parts/Deadnought (Base) + + Actor Weight + 5 + Charge - Min Attack Interval + 7200 + Charge - Movement Speed + 6.0 + Charge Attack - Status Infliction + + Loot Table + + Skewer Attack - Status Infliction + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Deadnaught/Parts/Tier 2 (Base) + + + Charge Attack - Status Infliction + implementation.actor["Charge Attack - Status Infliction"] + + + Skewer Attack - Status Infliction + implementation.actor["Skewer Attack - Status Infliction"] + + + Loot Table + implementation.actor["Loot Table"] + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Deadnaught/Parts/Deadnought (Base) + + Actor Weight + 6 + Charge - Min Attack Interval + 6400 + Charge - Movement Speed + 7.0 + Charge Attack - Status Infliction + + Loot Table + + Skewer Attack - Status Infliction + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Deadnaught/Parts/Tier 3 (Base) + + + Charge Attack - Status Infliction + implementation.actor["Charge Attack - Status Infliction"] + + + Skewer Attack - Status Infliction + implementation.actor["Skewer Attack - Status Infliction"] + + + Loot Table + implementation.actor["Loot Table"] + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Deadnaught/Parts/Deadnought (Base) + + Actor Weight + 7 + Charge - Min Attack Interval + 6000 + Charge - Movement Speed + 8.0 + Charge Attack - Status Infliction + + Loot Table + + Skewer Attack - Status Infliction + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Deadnaught/Slag Guard (2) + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Deadnaught/Parts/Deadnought (Base) + + Actor Weight + 7 + Charge - Min Attack Interval + 6400 + Charge - Movement Speed + 8.0 + Charge Attack - Status Infliction + + Fire 3 + + Chance + 0.333 + Power + 50 + Status Chance + MEDIUM + Status Power + MODERATE + + + Loot Table + + Treasure/Health/Monster Health, medium + + Skewer Attack - Status Infliction + + Fire 3 + + Chance + 0.667 + Power + 75 + Status Chance + MEDIUM + Status Power + MODERATE + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Deadnought + + + Wave Tag + implementation.tags.tags[3] + + + + + + character/npc/monster/zombieknight/model.dat + + + particle/model_fxscaler.dat + + Model + + particle/fx_spawn_monster.dat + + Transfrom + + 2.0 + + + + 1.6 + 2.0 + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.0 + Blend Out + 0.0 + Sound set + Null + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Null + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Bones + + Pitch shift + Lower 1 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.0 + Blend Out + 0.0 + Sound set + Null + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Null + + + + + + animation/common/spawn_scalein.dat + + Transform + + 1.2 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.8 + + + + + + Treasure/Health/Monster Health, large + + + + + 8 + 79 + 4.0 + 6.981317 + 450 + + Monster/Health/Health Base +10 + + 2 + 0.1 + true + 7 + 433 + 3000 + 1100 + 2.0 + true + + + + Character/NPC/Monster/Fiend/Dark Knight/Shield Deflect + + + + + Character/NPC/Monster/Undead/Deadnought/Parts/Charge - Finish + + Status Attack + + + + + + + Character/NPC/Monster/Undead/Deadnought/Parts/Charge - Start, Loop + + Status Attack + + + + + + + + + + + + + + + 1.2 + 1.8 + + + 0.4, 0.0 + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + + 266 + 50 + + + 32 + + + + + + + Character/NPC/Monster/Undead/Dybbuk + + + Tags + implementation.tags.derived + + + + + + character/npc/monster/reaper/model.dat + + variant + blue + + + + + + character/npc/monster/spookat/standing_idle.dat + + Pitch adjust + Default + + + + + 0.5 + + character/npc/monster/spookat/standing_idle2.dat + + Pitch adjust + Default + + + + + 0.25 + + character/npc/monster/spookat/standing_idle3.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking_idle.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/monster_damage.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/spookat/standing.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.2 + + + + + + Treasure/Monster/Undead/Spookat/Spookat Loot + + + + + 8 + 79 + 1.5 + 6.981317 + 125 + 0.3 + 1100 + 2.5 + + + + Character/NPC/Monster/Undead/Spookat + + Damage + + 50.0 + 4 + + + + + + + + + 50 + + + 100 + + + 50 + + + 11 + 50 + + + + + + + Character/NPC/Monster/Undead/NPC/Konjuring Kat + + + + character/npc/monster/spookat/model.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.2 + Range + Medium + + + variant + pink + + + + + + character/npc/monster/spookat/standing_idle.dat + + Pitch adjust + Default + + + + + + + 6.0 + + character/npc/monster/spookat/walking_idle.dat + + + + + + + + + + + + + character/npc/monster/spookat/standing_idle2.dat + + Pitch adjust + Higher 1 + + + + Moorcroft/Ritual + + + + + + + + + 8 + 15 + 0.66 + + + + Character/NPC/Monster/Undead/Parts/Zombie (Base) + + + Model + implementation.sprite.model + + + Scale + implementation.sprite.scale + + + Handlers + implementation.handlers + + + Health Scale + implementation.health_scale + + + Behavior + implementation.behavior + + + Attacks + implementation.attacks + + + Defense + implementation.defense.defenses[1] + + + Targeted Speed + implementation.targeted_speed + + + React Time + implementation.react_time + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/zombie/model.dat + + Variant + Dust + + + + + + character/npc/monster/zombie/animation/idle.dat + + + + + + 1.0 + + character/npc/monster/zombie/animation/moving.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Bones + + Pitch shift + Lower 2 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/zombie/animation/idle.dat + + + + 0.2 + + character/npc/monster/zombie/animation/idle.dat + + + + + + 1.0 + + character/npc/monster/zombie/animation/moving.dat + + + + + character/npc/monster/zombie/animation/spawn.dat + + + + 0.6 + + + (tag 1), (tag 2), (tag 3) + + + + + + + Character/NPC/Monster/Undead/Parts/Zombie Head + + Tag + (Wave Tag) + Variant + Dust + + + + + + Treasure/Monster/Undead/Dust Zombie/Dust Zombie Loot + + + + + + + + + + + + + + 8 + 79 + 0.75 + 3.4906585 + 115 + + Monster/Health/Health Base + + 0.3 + 467 + 100 + 1500 + 1.0 + + + + Character/NPC/Monster/Undead/Zombie/Zombie Swipe + + Status Condition + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Grapple + + Damage + + + + 4 + + + 4 + + + + Grab Duration + 3500 + Next Attack + 0 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 3 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 4 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 0 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Grapple + + Damage + + + + 4 + + + 4 + + + + Grab Duration + 2300 + Next Attack + 0 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Breath + + Breath Status Condition + + Breath Variant + Dust + Chain Into + 7 + Warmup speed + 1.0 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Breath (loop) + + Breath Status Condition + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Breath Variant + Dust + Chain Into (self) + 7 + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + + + + 10 + 50 + + + 256 + 25 + + + 4 + -50 + + + 32 + + + + + + + + + + + + 32768 + + + + + + Character/NPC/Monster/Undead/Parts/Zombie Head + + + Tag + implementation.tags.tags[1], implementation.handlers[0].action.action.actions[1].action.cases[1].action.spawn_table["Tag"], implementation.handlers[0].action.action.actions[1].action.cases[2].action.spawn_table["Tag"], implementation.handlers[0].action.action.actions[1].action.cases[3].action.spawn_table["Tag"] + + + + Variant + + + Model + implementation.sprite.model["Models"][0].model["Variant"] + + + Spawn + implementation.handlers[0].action.action.actions[1].action.value.value + + + + + + Dust + + Actor + + Monster/Single Family/Undead/Scaled - Dust Zombie + + Depth Offset + 0 + Tag + (Wave Tag) + + + Droul Condition + + + + + Frozen Condition + + + + + Model + Dust + Slag Condition + + + + + Spawn + Dust + + + + + Droul + + Actor + + Monster/Single Family/Undead/Scaled - Droul + + Depth Offset + 0 + Tag + (Wave Tag) + + + Droul Condition + + + Frozen Condition + + + + + Model + Poison + Slag Condition + + + + + Spawn + Droul + + + + + Slag + + Actor + + Monster/Single Family/Undead/Scaled - Slag Walker + + Depth Offset + 0 + Tag + (Wave Tag) + + + Droul Condition + + + + + Frozen Condition + + + + + Model + Fire + Slag Condition + + + Spawn + Slag + + + + + Frozen + + Actor + + Monster/Single Family/Undead/Scaled - Frozen Shambler + + Depth Offset + 0 + Tag + (Wave Tag) + + + Droul Condition + + + + + Frozen Condition + + + Model + Frost + Slag Condition + + + + + Spawn + Frozen + + + + + Frank + + Model + Frank + Spawn + Frank + + + + Dust + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + character/npc/monster/zombie/parts/model_head.dat + + Variant + Dust + + + + 1.1 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_stone_hit.ogg + Gain + 0.5 + Range + Short + + + Transform + + + Transient + + character/npc/monster/zombie/parts/fx_burst.dat + + Dust + true + + + + + + + 0.6 + + + + + + + + + 2.0, 0.0 + 100 + 10 + + + + + + + + + Monster/Single Family/Undead/Scaled - Droul + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Undead/Scaled - Frozen Shambler + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Undead/Scaled - Slag Walker + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Undead/Scaled - Dust Zombie + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Undead/Scaled - Dust Zombie + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/compound/metaparticle_2.dat + + Lifespan + 1.0 + Model 1 + + particle/debuff_name.dat + + Variant + Arise + + + Model 2 + + particle/fx_grimtotem_shockwave.dat + + Variant + Zombie Head Ping + + + + + + + + + + + + + + + + 0 + 4 + 30000 + + + + Character/NPC/Monster/Undead/Phantom/Parts/Dead Phantom + + + Fuse + implementation.fuse, implementation.detonation_action.actions[0].actor["Down Time"] + + + Damage (Status) + implementation.detonation_action.actions[0].actor["Damage (Status)"] + + + Charge Bullet (Primary) + implementation.detonation_action.actions[0].actor["Charge Bullet (Primary)"] + + + Charge Bullet (Secondary) + implementation.detonation_action.actions[0].actor["Charge Bullet (Secondary)"] + + + Wave Tag + implementation.tags.tags[0], implementation.detonation_action.actions[0].actor["Wave Tag"] + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/sphere.png + Core Max + 0.1 + Core Min + 0.01 + Element + Frost + Flare + false + color + red + + + + 0.0, 0.0, 1.0 + 0.70710665, 0.0, 0.0, 0.70710695 + + + + + + + 0 + 0 + 30000 + + + + + Character/NPC/Monster/Undead/Phantom/Parts/Phantom + + Charge Bullet (Primary) + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Gran Faust + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + SHADOW + + Monster/Split/Split - Full + + + + 4 + + + + + + Variant + Gran Faust + + + Charge Bullet (Secondary) + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Gran Faust + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + SHADOW + + Monster/Split/Split - Full + + + + 4 + + + + + + Variant + Gran Faust + + + Damage (Status) + + Down Time + 30000 + Wave Tag + (Wave Tag) + + + + + + Sound Effect + + Sound + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/monster/reaper_death.ogg + Gain + 1.0 + Pitch adjust + Lower 4 + Range + Unlimited + + + + + + + + + + + Character/NPC/Monster/Undead/Phantom/Parts/Phantom + + + Wave Tag + implementation.tags.tags[2], implementation.handlers[3].action.actor["Wave Tag"] + + + Down Time + implementation.handlers[3].action.actor["Fuse"], implementation.handlers[3].action.actor["Fuse"] + + + Damage (Status) + implementation.attacks[5].ref["Damage"].damages[1].status_condition, implementation.handlers[3].action.actor["Damage (Status)"] + + + Charge Bullet (Primary) + implementation.attacks[5].ref["Extra Action"]["Action"].actions[0].actor, implementation.handlers[3].action.actor["Charge Bullet (Primary)"] + + + Charge Bullet (Secondary) + implementation.attacks[5].ref["Extra Action"]["Action"].actions[1].actor, implementation.attacks[5].ref["Extra Action"]["Action"].actions[2].actor, implementation.handlers[3].action.actor["Charge Bullet (Secondary)"] + + + + + + character/pc/model.dat + + Armor + + item/gear/armor/doublebelt/model_recolor.dat + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.667 + 1.0 + -0.8 + + + Colorization + 260 + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.333 + 1.0 + -0.8 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.35 + 1.0 + + + 1.0 + -0.8 + + + + + Helmet + + model/compound/model.dat + + Influences + + false + false + false + + Models + + + + character/npc/monster/reaper/model.dat + + variant + red + + + + 0.75 + 0.0, 0.0, -0.55 + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/monster/reaper_death.ogg + Gain + 1.0 + Pitch adjust + Lower 2 + Range + Long + + + Transform + + 0.0, 0.0, -0.75 + + Transient + + particle/fx_spawn_monster.dat + + + + + + + + Label + + Material + + Shield + + Shield Away + + Weapon + + item/weapon/sword/cutter/model.dat + + variant + Shadow + + + + + + particle/monster_death.dat + + Color + Purple + + + + particle/monster_death.dat + + Color + Purple + + + + + + character/pc/idle.dat + + + + + + 1.0 + + character/pc/walk_forward.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Bones + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_player.dat + + Color + Black + + + + + + + + character/pc/ready_sword.dat + + + + + + 6.0 + + character/pc/run_forward.dat + + Variant + Default + + + + + + + CAMO + + character/pc/model.dat + + Armor + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/sphere.png + Core Max + 0.2 + Core Min + 0.1 + Element + Frost + Flare + true + color + red + + + + 0.0, 0.0, 0.75 + + + + + + Helmet + + Label + + Material + + Shield + + Shield Away + + Weapon + + + + + + + + 0.33 + + + + + + + Monster Attacks/Targetted + + Faction + Monster + + + + + + + + + + + + + + + + + + + Character/NPC/Monster/Undead/Phantom/Parts/Dead Phantom + + Charge Bullet (Primary) + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Gran Faust + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + SHADOW + + Monster/Split/Split - Full + + + + 4 + + + + + + Variant + Gran Faust + + + Charge Bullet (Secondary) + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Gran Faust + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + SHADOW + + Monster/Split/Split - Full + + + + 4 + + + + + + Variant + Gran Faust + + + Damage (Status) + + Fuse + 30000 + Wave Tag + (Wave Tag) + + + + + + + + 8 + 76 + 1.0 + 6.2831855 + 2000 + 2000 + 30 + + Monster/Health/Health Base +10 + + 1.0 + 0 + 0 + 4.0 + true + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Construct/Mecha Knight Charge (small) + + Sound + sound/effect/monster/reaper_laugh.ogg + Time Scale + 2.0 + + + Chain Condition + + + Next Attack + 1 + + + + + + Character/NPC/Monster/Chain + + Attack + + Weapon/Sword/Parts/Base (3 Hit)/Swing 0 (R-L) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + SHADOW + + Monster/Split/Split - Half + + + + + End Speed + 2.0 + Extra Action + + Fire Speed + 1.0 + Sound + sound/effect/weapon/gran_faust_swing1.ogg + Sound - Pitch + Lower 2 + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 1.0, 0.0, 0.2, 1.0 + Swing Color In/Out + 1.0, 0.0, 0.2, 0.0 + Swing Color Middle + 1.0, 0.0, 0.2, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + Chain Condition + + + Next Attack + 2 + + + + + + Character/NPC/Monster/Chain + + Attack + + Weapon/Sword/Parts/Base (3 Hit)/Swing 1 (L-R) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + SHADOW + + Monster/Split/Split - Half + + + + + End Speed + 2.0 + Extra Action + + Fire Speed + 1.0 + Sound + sound/effect/weapon/gran_faust_swing2.ogg + Sound - Pitch + Lower 2 + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 1.0, 0.0, 0.2, 1.0 + Swing Color In/Out + 1.0, 0.0, 0.2, 0.0 + Swing Color Middle + 1.0, 0.0, 0.2, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + Chain Condition + + + Next Attack + 3 + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Swing 2 (R-L) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + SHADOW + + Monster/Split/Split - Half + + + + + End Speed + 1.0 + Extra Action + + Fire Speed + 1.0 + Rearm + 900 + Sound + sound/effect/weapon/gran_faust_swing3.ogg + Sound - Pitch + Lower 2 + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 1.0, 0.0, 0.2, 1.0 + Swing Color In/Out + 1.0, 0.0, 0.2, 0.0 + Swing Color Middle + 1.0, 0.0, 0.2, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Construct/Mecha Knight Charge + + Damage Zone + Directional + Flare Color + Shadow + Sound + sound/effect/monster/reaper_laugh.ogg + Time Scale + 0.5 + + + Chain Condition + + + Next Attack + 5 + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + End Speed + 1.0 + Extra Action + + Base/Default + + Action + + + + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Gran Faust + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + SHADOW + + Monster/Split/Split - Full + + + + 4 + + + + + + Variant + Gran Faust + + + + + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Gran Faust + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + SHADOW + + Monster/Split/Split - Full + + + + 4 + + + + + + Variant + Gran Faust + + + + + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Gran Faust + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + SHADOW + + Monster/Split/Split - Full + + + + 4 + + + + + + Variant + Gran Faust + + + + + + Delay + 0 + + + Fire Speed + 1.0 + Impulse + + -0.5, 0.0 + 200 + 933 + + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Sound + sound/effect/weapon/gran_faust_cswing.ogg + Sound - Pitch + Lower 2 + Start Speed + 1.0 + Swing + + particle/swing/proto_charged.dat + + Color + Gran Faust + + + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Gremlin/Generic/Dodge + + Translation + 3.0, 1.5 + + + Chain Condition + + + Next Attack + 0 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Gremlin/Generic/Dodge + + Translation + 3.0, -1.5 + + + Chain Condition + + + Next Attack + 0 + + + + + + + + 32 + + + + + + + + + + + + + + + + 54 + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + + + + + + + + + Character/NPC/Monster/Undead/Phantom/Parts/Phantom (Base) + + + Spawn Delay + implementation.fuse, implementation.detonation_action.actor["Down Time"] + + + Damage (Status) + implementation.detonation_action.actor["Damage (Status)"] + + + Charge Bullet (Primary) + implementation.detonation_action.actor["Charge Bullet (Primary)"] + + + Charge Bullet (Secondary) + implementation.detonation_action.actor["Charge Bullet (Secondary)"] + + + Wave Tag + implementation.detonation_action.actor["Wave Tag"], implementation.tags.tags[0] + + + + + + model/conditional/marker.dat + + Model + + character/npc/monster/reaper/model.dat + + variant + red + + + + + + 0 + 0 + 30000 + + + Character/NPC/Monster/Undead/Phantom/Parts/Phantom + + Charge Bullet (Primary) + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Gran Faust + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + SHADOW + + Monster/Split/Split - Full + + + + 4 + + + + + + Variant + Gran Faust + + + Charge Bullet (Secondary) + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Gran Faust + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + SHADOW + + Monster/Split/Split - Full + + + + 4 + + + + + + Variant + Gran Faust + + + Damage (Status) + + Down Time + 30000 + Wave Tag + (Wave Tag) + + + + + + + Character/NPC/Monster/Undead/Phantom/Phantom 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Phantom/Parts/Phantom (Base) + + Charge Bullet (Primary) + + Charge Bullet (Secondary) + + Damage (Status) + + Curse + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Spawn Delay + 90000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Phantom/Phantom 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Phantom/Parts/Phantom (Base) + + Charge Bullet (Primary) + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Gran Faust + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + SHADOW + + Monster/Split/Split - Full + + + + 4 + + Curse 2 + + Chance + 0.0 + Power + 0 + Status Chance + LOW + Status Power + MINOR + + + + + + + + Variant + Gran Faust + + + Charge Bullet (Secondary) + + Damage (Status) + + Curse 2 + + Chance + 0.25 + Power + 20 + Status Chance + MEDIUM + Status Power + MODERATE + + + Spawn Delay + 60000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Phantom/Phantom 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Phantom/Parts/Phantom (Base) + + Charge Bullet (Primary) + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Gran Faust + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + SHADOW + + Monster/Split/Split - Full + + + + 4 + + Curse 3 + + Chance + 0.0 + Power + 0 + Status Chance + MEDIUM + Status Power + MODERATE + + + + + + + + Variant + Gran Faust + + + Charge Bullet (Secondary) + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Gran Faust + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + SHADOW + + Monster/Split/Split - Full + + + + 4 + + Curse 3 + + Chance + 0.0 + Power + 0 + Status Chance + MEDIUM + Status Power + MODERATE + + + + + + + + Variant + Gran Faust + + + Damage (Status) + + Curse 3 + + Chance + 0.5 + Power + 30 + Status Chance + VERY_HIGH + Status Power + STRONG + + + Spawn Delay + 60000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Slag Guard + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/zombieknight/model.dat + + + particle/model_fxscaler.dat + + Model + + particle/fx_spawn_monster.dat + + Transfrom + + 2.0 + + + + 1.6 + 2.0 + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.0 + Blend Out + 0.0 + Sound set + Null + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Null + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Bones + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.0 + Blend Out + 0.0 + Sound set + Null + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Trojan family + + + + + + animation/common/spawn_scalein.dat + + Transform + + 1.2 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.8 + + + + + + Treasure/Health/Monster Health, medium + + + + + 136 + 79 + 4.0 + 9.424778 + 1440 + 2800 + 19 + 29 + + Monster/Health/Health Base +05 + + 2 + 0.15 + true + 7 + 433 + 3000 + 1100 + 2.0 + + + + Character/NPC/Monster/Fiend/Dark Knight/Shield Deflect + + + + + Character/NPC/Monster/Fiend/Knightmare/Sword Slam + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Fiend/Dark Knight/Shoulder Check + + Chain Condition + + + Next Attack + 1 + + + + + + Character/NPC/Monster/Fiend/Dark Knight/Push Back + + Status Condition + + 4 + + Fire 3 + + Chance + 0.3333 + Power + 75 + Status Chance + MEDIUM + Status Power + MODERATE + + + + + + + + + + + + + + + + + 1.2 + 1.8 + + + 0.4, 0.0 + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + + 4 + + + 10 + 50 + + + 256 + 25 + + + + + + + Character/NPC/Monster/Undead/Spookat/Black Kat + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/spookat/model.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.2 + Range + Long + + + variant + black + + + 1.1 + + + + character/npc/monster/spookat/standing_idle.dat + + Pitch adjust + Lower 3 + + + + + 0.5 + + character/npc/monster/spookat/standing_idle2.dat + + Pitch adjust + Lower 3 + + + + + 0.25 + + character/npc/monster/spookat/standing_idle3.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking_idle.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/spookat/standing.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + 1.25 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.3 + + + + + + Treasure/Monster/Undead/Black Kat Loot + + + + + + + 4 + + Curse + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + 8 + 79 + 1.8 + 6.981317 + 420 + + Monster/Health/Health Base +20 + + 0.15 + 4 + 1100 + 2.5 + + + + Character/NPC/Monster/Undead/Black Kat 0 + + Damage + + 100.0 + 4 + + Sound - Chomp Pitch + Lower 4 + Sound - Screech Pitch + Lower 4 + + + + + + Character/NPC/Monster/Undead/Black Kat 1 + + + + + + + + + 3 + + + 2080 + + + + + + + Character/NPC/Monster/Undead/Spookat/Bloogato/Bloogato 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 1 (Base) + + Bite (Status) + + Freeze + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 40 + + + 6 + 50 + + + 16 + -50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Bloogato Loot + + Model + + character/npc/monster/spookat/model_fre.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.2 + Range + Medium + + + variant + pink + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Spookat/Bloogato/Bloogato 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 2 (Base) + + Bite (Status) + + Freeze 2 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Bullet/Monster/Spookat/Freeze Hairball + + Bullet Speed + 2.5 + Status Condition + + Freeze 2 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Defense (Status) + + + + 40 + + + 6 + 50 + + + 16 + -50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Bloogato Loot + + Model + + character/npc/monster/spookat/model_fre.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.1 + Range + Medium + + + variant + Tier 2 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Spookat/Bloogato/Bloogato 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 3 (Base) + + Bite (Status) + + Freeze 3 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Bullet/Monster/Spookat/Freeze Hairball + + Bullet Speed + 2.5 + Status Condition + + Freeze 3 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Defense (Status) + + + + 40 + + + 6 + 50 + + + 16 + -50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Bloogato Loot + + Model + + character/npc/monster/spookat/model_fre.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.0 + Range + Medium + + + variant + Tier 3 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Spookat/Hurkat/Hurkat 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 1 (Base) + + Bite (Status) + + Poison + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 34 + + + 14 + 50 + + + 16 + -50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Hurkat Loot + + Model + + character/npc/monster/spookat/model_poi.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.2 + Range + Medium + + + variant + pink + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Spookat/Hurkat/Hurkat 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 2 (Base) + + Bite (Status) + + Poison 2 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Bullet/Monster/Spookat/Poison Hairball + + Bullet Speed + 2.5 + Status Condition + + Poison 2 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Defense (Status) + + + + 34 + + + 12 + 50 + + + 16 + -50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Hurkat Loot + + Model + + character/npc/monster/spookat/model_poi.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.1 + Range + Medium + + + variant + Tier 2 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Spookat/Hurkat/Hurkat 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 3 (Base) + + Bite (Status) + + Poison 3 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Bullet/Monster/Spookat/Poison Hairball + + Bullet Speed + 2.5 + Status Condition + + Poison 3 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Defense (Status) + + + + 34 + + + 12 + 50 + + + 16 + -50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Hurkat Loot + + Model + + character/npc/monster/spookat/model_poi.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.0 + Range + Medium + + + variant + Tier 3 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Spookat/Mewkat + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/spookat/model_nrm.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.4 + Range + Medium + + + variant + Mewkat + + + + particle/monster_death.dat + + Color + White + + + 0.6 + + + + character/npc/monster/spookat/standing_idle.dat + + Pitch adjust + Higher 3 + + + + + 0.5 + + character/npc/monster/spookat/standing_idle2.dat + + Pitch adjust + Higher 3 + + + + + 0.25 + + character/npc/monster/spookat/standing_idle3.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking_idle.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/spookat/standing.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + 0.5 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.2 + + + + + + + + Treasure/Monster/Undead/Spookat/Mewkat Loot + + + + + + + 8 + 79 + 1.5 + 6.981317 + 25 + + Monster/Health/Health Base + + 1100 + 2.5 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +10 + + + Monster/Defense/Defense Base -05 + + + Monster/Defense/Defense Base +10 + + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 1 (Base) + + + Model + implementation.sprite.model + + + Bite (Status) + implementation.attacks[0].ref["Damage (Status)"].status_condition, implementation.attacks[2].ref["Damage (Status)"].status_condition + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Defense (Status) + implementation.defense.defenses[1] + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/spookat/model_nrm.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.2 + Range + Medium + + + variant + pink + + + 0.8 + 0.8 + + + + character/npc/monster/spookat/standing_idle.dat + + Pitch adjust + Higher 1 + + + + + 0.5 + + character/npc/monster/spookat/standing_idle2.dat + + Pitch adjust + Higher 1 + + + + + 0.25 + + character/npc/monster/spookat/standing_idle3.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking_idle.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/spookat/standing.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.2 + + + + + + Treasure/Monster/Undead/Spookat/Spookat Loot + + + + + 8 + 79 + 1.5 + 6.981317 + 1 + 1 + + Monster/Health/Health Base + + 0.3 + 1100 + 2.5 + + + + Character/NPC/Monster/Undead/Spookat Bite + + Damage (Status) + + 4 + + Dash Distance + 1.0 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Undead/Spookat Dash + + Distance + 6 + + + Chain Condition + + + Next Attack + 0 + + + + + + Character/NPC/Monster/Undead/Spookat Bite + + Damage (Status) + + 4 + + Dash Distance + 1.0 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Undead/Spookat Dash + + Distance + 6 + + + Chain Condition + + + Next Attack + 2 + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + + 11 + 50 + + + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 2 (Base) + + + Model + implementation.sprite.model + + + Bite (Status) + implementation.attacks[0].ref["Damage (Status)"].status_condition + + + Bullet + implementation.attacks[2].ref["Bullet (Primary)"] + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Defense (Status) + implementation.defense.defenses[1] + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/spookat/model_nrm.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.1 + Range + Medium + + + variant + Tier 2 + + + 0.85 + 0.85 + + + + character/npc/monster/spookat/standing_idle.dat + + Pitch adjust + Lower 1 + + + + + 0.5 + + character/npc/monster/spookat/standing_idle2.dat + + Pitch adjust + Lower 1 + + + + + 0.25 + + character/npc/monster/spookat/standing_idle3.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking_idle.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/spookat/standing.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.2 + + + + + + Treasure/Monster/Undead/Spookat/Hurkat Loot + + + + + 8 + 79 + 2.0 + 6.981317 + 1 + 1 + + Monster/Health/Health Base + + 0.3 + 1100 + 2.5 + + + + Character/NPC/Monster/Undead/Spookat Bite + + Damage (Status) + + 4 + + Dash Distance + 2.0 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Undead/Spookat Dash + + Distance + 6 + + + Chain Condition + + + Next Attack + 0 + + + + + + Character/NPC/Monster/Undead/Hurkat Spit (x3) + + Bullet (Primary) + + Bullet/Monster/Spookat/Hairball + + Bullet Speed + 2.5 + + + Bullet (Secondary) + + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Undead/Spookat Dash + + Distance + 8 + + + Chain Condition + + + Next Attack + 2 + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + + 11 + 50 + + + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 3 (Base) + + + Model + implementation.sprite.model + + + Bite (Status) + implementation.attacks[0].ref["Damage (Status)"].status_condition + + + Bullet + implementation.attacks[2].ref["Bullet (Primary)"], implementation.attacks[2].ref["Bullet (Secondary)"] + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Defense (Status) + implementation.defense.defenses[1] + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/spookat/model_nrm.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.0 + Range + Medium + + + variant + Tier 3 + + + 0.9 + 0.9 + + + + character/npc/monster/spookat/standing_idle.dat + + Pitch adjust + Lower 3 + + + + + 0.5 + + character/npc/monster/spookat/standing_idle2.dat + + Pitch adjust + Lower 3 + + + + + 0.25 + + character/npc/monster/spookat/standing_idle3.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking_idle.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/spookat/standing.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.3 + + + + + + Treasure/Monster/Undead/Spookat/Bloogato Loot + + + + + 8 + 79 + 1.0 + 6.981317 + 1 + 1 + + Monster/Health/Health Base + + 0.3 + 4 + 1100 + 2.0 + + + + Character/NPC/Monster/Undead/Spookat Bite + + Damage (Status) + + 4 + + Dash Distance + 4.0 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Undead/Spookat Dash + + Distance + 8 + + + Chain Condition + + + Next Attack + 0 + + + + + + Character/NPC/Monster/Undead/Hurkat Spit (x3) + + Bullet (Primary) + + Bullet/Monster/Spookat/Hairball + + Bullet Speed + 2.5 + + + Bullet (Secondary) + + Bullet/Monster/Spookat/Hairball + + Bullet Speed + 2.5 + + + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Undead/Spookat Dash + + Distance + 10 + + + Chain Condition + + + Next Attack + 2 + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + + 11 + 50 + + + + + + + Character/NPC/Monster/Undead/Spookat/Pepper Kat/Pepper Kat 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 1 (Base) + + Bite (Status) + + Fire + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 36 + + + 10 + 50 + + + 16 + -50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Pepper Kat Loot + + Model + + character/npc/monster/spookat/model_fir.dat + + Sound - Ambient + + Clip/Looping (Gain) + + File + sound/effect/world/flame_ambient.ogg + Gain + 0.2 + Pitch + 1.0 + Range + Medium + + + variant + pink + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Spookat/Pepper Kat/Pepper Kat 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 2 (Base) + + Bite (Status) + + Fire 2 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Bullet/Monster/Spookat/Fire Hairball + + Bullet Speed + 2.5 + Status Condition + + Fire 2 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Defense (Status) + + + + 36 + + + 10 + 50 + + + 16 + -50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Pepper Kat Loot + + Model + + character/npc/monster/spookat/model_fir.dat + + Sound - Ambient + + Clip/Looping (Gain) + + File + sound/effect/world/flame_ambient.ogg + Gain + 0.2 + Pitch + 1.0 + Range + Medium + + + variant + Tier 2 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Spookat/Pepper Kat/Pepper Kat 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 3 (Base) + + Bite (Status) + + Fire 3 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Bullet/Monster/Spookat/Fire Hairball + + Bullet Speed + 2.5 + Status Condition + + Fire 3 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Defense (Status) + + + + 36 + + + 10 + 50 + + + 16 + -50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Pepper Kat Loot + + Model + + character/npc/monster/spookat/model_fir.dat + + Sound - Ambient + + Clip/Looping (Gain) + + File + sound/effect/world/flame_ambient.ogg + Gain + 0.2 + Pitch + 1.0 + Range + Medium + + + variant + Tier 3 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Spookat/Spookat/Spookat 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 1 (Base) + + Bite (Status) + + Defense (Status) + + + + 32 + + + 14 + 50 + + + 16 + -50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Spookat Loot + + Model + + character/npc/monster/spookat/model_nrm.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.2 + Range + Medium + + + variant + pink + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Spookat/Spookat/Spookat 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 2 (Base) + + Bite (Status) + + Bullet + + Bullet/Monster/Spookat/Hairball + + Bullet Speed + 2.5 + + + Defense (Status) + + + + 32 + + + 14 + 50 + + + 16 + -50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Spookat Loot + + Model + + character/npc/monster/spookat/model_nrm.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.1 + Range + Medium + + + variant + Tier 2 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Spookat/Spookat/Spookat 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 3 (Base) + + Bite (Status) + + Bullet + + Bullet/Monster/Spookat/Hairball + + Bullet Speed + 2.5 + + + Defense (Status) + + + + 32 + + + 14 + 50 + + + 16 + -50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Spookat Loot + + Model + + character/npc/monster/spookat/model_nrm.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.0 + Range + Medium + + + variant + Tier 3 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Spookat/Statikat/Statikat 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 1 (Base) + + Bite (Status) + + Shock + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 48 + + + 14 + 50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Statikat Loot + + Model + + character/npc/monster/spookat/model_sho.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.2 + Range + Medium + + + variant + pink + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Spookat/Statikat/Statikat 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 2 (Base) + + Bite (Status) + + Shock 2 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Bullet/Monster/Spookat/Shock Hairball + + Bullet Speed + 2.5 + Status Condition + + Shock 2 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Defense (Status) + + + + 48 + + + 14 + 50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Statikat Loot + + Model + + character/npc/monster/spookat/model_sho.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.1 + Range + Medium + + + variant + Tier 2 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Spookat/Statikat/Statikat 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 3 (Base) + + Bite (Status) + + Shock 3 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Bullet/Monster/Spookat/Shock Hairball + + Bullet Speed + 2.5 + Status Condition + + Shock 3 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Defense (Status) + + + + 48 + + + 14 + 50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Statikat Loot + + Model + + character/npc/monster/spookat/model_sho.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.0 + Range + Medium + + + variant + Tier 3 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Droul/Droul 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 1 (Base) + + Breath Color + Droul + Breath Condition + + Poison + + Chance + 1.0 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 34 + + + 8 + 50 + + + 256 + 25 + + + 4 + -50 + + + + Head Drop + Droul + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Droul Loot + + Model + + character/npc/monster/zombie/model_poi.dat + + Reaction + Knockdown + + + Scale + 0.9 + Status Condition + + Poison + + Chance + 0.1 + Power + 15 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Droul/Droul 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 2 (Base) + + Breath Color + Droul + Breath Condition + + Poison 2 + + Chance + 1.0 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 34 + + + 4 + -50 + + + 8 + 50 + + + 256 + 25 + + + + Head Drop + Droul + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Droul Loot + + Model + + character/npc/monster/zombie/model_poi.dat + + Reaction + Knockdown + + + Scale + 0.925 + Status Condition + + Poison 2 + + Chance + 0.15 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Droul/Droul 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 3 (Base) + + Breath Color + Droul + Breath Condition + + Poison 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 34 + + + 4 + -50 + + + 256 + 25 + + + 8 + 50 + + + + Head Drop + Droul + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Droul Loot + + Model + + character/npc/monster/zombie/model_poi.dat + + Reaction + Flinch + + + Scale + 0.95 + Status Condition + + Poison 3 + + Chance + 0.2 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Dust Zombie (TG) + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 1 (Base) + + Breath Color + Dust + Breath Condition + + Stun + + Chance + 1.0 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 32 + + + 4 + -50 + + + 10 + 50 + + + 256 + 25 + + + + Head Drop + Dust + Loot Table + + Treasure/Monster/Tutorial/Dust Zombie (TG) + + Model + + character/npc/monster/zombie/model_nrm.dat + + Reaction + Knockdown + + + Scale + 0.95 + Status Condition + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Dust Zombie/Dust Zombie 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 1 (Base) + + Breath Color + Dust + Breath Condition + + Stun + + Chance + 1.0 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 32 + + + 4 + -50 + + + 10 + 50 + + + 256 + 25 + + + + Head Drop + Dust + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Dust Zombie Loot + + Model + + character/npc/monster/zombie/model_nrm.dat + + Reaction + Knockdown + + + Scale + 0.95 + Status Condition + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Dust Zombie/Dust Zombie 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 2 (Base) + + Breath Color + Dust + Breath Condition + + Stun 2 + + Chance + 1.0 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 32 + + + 4 + -50 + + + 10 + 50 + + + 256 + 25 + + + + Head Drop + Dust + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Dust Zombie Loot + + Model + + character/npc/monster/zombie/model_nrm.dat + + Reaction + Knockdown + + + Scale + 1.0 + Status Condition + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Dust Zombie/Dust Zombie 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 3 (Base) + + Breath Color + Dust + Breath Condition + + Stun 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 32 + + + 4 + -50 + + + 10 + 50 + + + 256 + 25 + + + + Head Drop + Dust + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Dust Zombie Loot + + Model + + character/npc/monster/zombie/model_nrm.dat + + Reaction + Flinch + + + Scale + 1.05 + Status Condition + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Frankenzom/Frankenzom 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 1 (Base) + + Breath Color + Frank + Breath Condition + + Shock + + Chance + 1.0 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 48 + + + 4 + -50 + + + 10 + 50 + + + 256 + 25 + + + + Head Drop + Frank + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Frankenzom Loot + + Model + + character/npc/monster/zombie/model_sho.dat + + Reaction + Knockdown + + + Scale + 0.95 + Status Condition + + Shock + + Chance + 0.1 + Power + 15 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Frankenzom/Frankenzom 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 2 (Base) + + Breath Color + Frank + Breath Condition + + Shock 2 + + Chance + 1.0 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 48 + + + 4 + -50 + + + 10 + 50 + + + 256 + 25 + + + + Head Drop + Frank + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Frankenzom Loot + + Model + + character/npc/monster/zombie/model_sho.dat + + Reaction + Knockdown + + + Scale + 1.0 + Status Condition + + Shock 2 + + Chance + 0.15 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Frankenzom/Frankenzom 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 3 (Base) + + Breath Color + Frank + Breath Condition + + Shock 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 48 + + + 4 + -50 + + + 10 + 50 + + + 256 + 25 + + + + Head Drop + Frank + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Frankenzom Loot + + Model + + character/npc/monster/zombie/model_sho.dat + + Reaction + Flinch + + + Scale + 1.05 + Status Condition + + Shock 3 + + Chance + 0.2 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Frozen Shamber/Frozen Shamber 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 1 (Base) + + Breath Color + Frozen Shambler + Breath Condition + + Freeze + + Chance + 1.0 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 40 + + + 4 + -50 + + + 2 + 50 + + + 256 + 25 + + + + Head Drop + Frozen + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Frozen Shambler Loot + + Model + + character/npc/monster/zombie/model_fre.dat + + Reaction + Knockdown + + + Scale + 1.05 + Status Condition + + Freeze + + Chance + 0.1 + Power + 15 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Frozen Shamber/Frozen Shamber 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 2 (Base) + + Breath Color + Frozen Shambler + Breath Condition + + Freeze 2 + + Chance + 1.0 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 40 + + + 4 + -50 + + + 2 + 50 + + + 256 + 25 + + + + Head Drop + Frozen + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Frozen Shambler Loot + + Model + + character/npc/monster/zombie/model_fre.dat + + Reaction + Knockdown + + + Scale + 1.1 + Status Condition + + Freeze 2 + + Chance + 0.15 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Frozen Shamber/Frozen Shamber 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 3 (Base) + + Breath Color + Frozen Shambler + Breath Condition + + Freeze 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 40 + + + 4 + -50 + + + 2 + 50 + + + 256 + 25 + + + + Head Drop + Frozen + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Frozen Shambler Loot + + Model + + character/npc/monster/zombie/model_fre.dat + + Reaction + Flinch + + + Scale + 1.15 + Status Condition + + Freeze 3 + + Chance + 0.2 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 1 (Base) + + + Model + implementation.actor["Model"] + + + Scale + implementation.actor["Scale"] + + + Head Drop + implementation.actor["Handlers"][0].action.action.actor["Variant"] + + + Breath Color + implementation.actor["Attacks"][7].ref["Breath Variant"], implementation.actor["Attacks"][6].ref["Breath Variant"] + + + Breath Condition + implementation.actor["Attacks"][6].ref["Breath Status Condition"], implementation.actor["Attacks"][7].ref["Breath Status Condition"] + + + Status Condition + implementation.actor["Attacks"][0].ref["Status Condition"], implementation.actor["Attacks"][2].ref["Damage"].damages[1].status_condition, implementation.actor["Attacks"][3].ref["Damage"].damages[1].status_condition, implementation.actor["Attacks"][4].ref["Damage"].damages[1].status_condition + + + Loot Table + implementation.actor["Handlers"][0].action.else_action.spawn_table + + + Defense (Status) + implementation.actor["Defense"] + + + Wave Tag + implementation.actor["Wave Tag"], implementation.actor["Handlers"][0].action.action.actor["Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Zombie (Base) + + Attacks + + + + Character/NPC/Monster/Undead/Zombie/Zombie Swipe + + Status Condition + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Grapple + + Damage + + + + 4 + + + 4 + + + + Grab Duration + 3500 + Next Attack + 2 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 3 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 4 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 0 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Grapple + + Damage + + + + 4 + + + 4 + + + + Grab Duration + 2300 + Next Attack + 0 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Breath + + Breath Status Condition + + Stun + + Chance + 1.0 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Breath Variant + Dust + Chain Into + 7 + Warmup speed + 1.0 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Breath (loop) + + Breath Status Condition + + Stun + + Chance + 1.0 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Breath Variant + Dust + Chain Into (self) + 7 + + + + + Behavior + + Monster/Slime/Cube (Basic Targeting) + + Defense + + + + 11 + 25 + + + 4 + -100 + + + + Handlers + + + + + + Character/NPC/Monster/Undead/Parts/Zombie Head + + Tag + (Wave Tag) + Variant + Dust + + + + + + Treasure/Monster/Undead/Dust Zombie/Dust Zombie Loot + + + + + + + + + + + + + + Health Scale + + Monster/Health/Health Base + + Model + + character/npc/monster/zombie/model_nrm.dat + + Reaction + Knockdown + + + React Time + 2100 + Scale + 0.95 + Targeted Speed + 0.8 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 2 (Base) + + + Model + implementation.actor["Model"] + + + Scale + implementation.actor["Scale"] + + + Head Drop + implementation.actor["Handlers"][0].action.action.actor["Variant"] + + + Breath Color + implementation.actor["Attacks"][6].ref["Breath Variant"], implementation.actor["Attacks"][7].ref["Breath Variant"] + + + Breath Condition + implementation.actor["Attacks"][6].ref["Breath Status Condition"], implementation.actor["Attacks"][7].ref["Breath Status Condition"] + + + Status Condition + implementation.actor["Attacks"][0].ref["Status Condition"], implementation.actor["Attacks"][2].ref["Damage"].damages[1].status_condition, implementation.actor["Attacks"][3].ref["Damage"].damages[1].status_condition, implementation.actor["Attacks"][4].ref["Damage"].damages[1].status_condition + + + Loot Table + implementation.actor["Handlers"][0].action.else_action.spawn_table + + + Defense (Status) + implementation.actor["Defense"] + + + Wave Tag + implementation.actor["Wave Tag"], implementation.actor["Handlers"][0].action.action.actor["Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Zombie (Base) + + Attacks + + + + Character/NPC/Monster/Undead/Zombie/Zombie Swipe + + Status Condition + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Grapple + + Damage + + + + 4 + + + + Grab Duration + 3500 + Next Attack + 2 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 3 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 4 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 0 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Grapple + + Damage + + + + 4 + + + + Grab Duration + 2300 + Next Attack + 0 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Breath + + Breath Status Condition + + Stun 2 + + Chance + 1.0 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Breath Variant + Dust + Chain Into + 7 + Warmup speed + 1.0 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Breath (loop) + + Breath Status Condition + + Stun 2 + + Chance + 1.0 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Breath Variant + Dust + Chain Into (self) + 7 + + + + + Behavior + + Defense + + + + 11 + 50 + + + 4 + -50 + + + + Handlers + + + + + + Character/NPC/Monster/Undead/Parts/Zombie Head + + Tag + (Wave Tag) + Variant + Dust + + + + + + Treasure/Monster/Undead/Dust Zombie/Dust Zombie Loot + + + + + + + + + + + + + + Health Scale + + Monster/Health/Health Base + + Model + + character/npc/monster/zombie/model_nrm.dat + + Reaction + Knockdown + + + React Time + 2100 + Scale + 1.0 + Targeted Speed + 1.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 3 (Base) + + + Model + implementation.actor["Model"] + + + Scale + implementation.actor["Scale"] + + + Head Drop + implementation.actor["Handlers"][0].action.action.actor["Variant"] + + + Breath Color + implementation.actor["Attacks"][6].ref["Breath Variant"], implementation.actor["Attacks"][7].ref["Breath Variant"] + + + Breath Condition + implementation.actor["Attacks"][6].ref["Breath Status Condition"], implementation.actor["Attacks"][7].ref["Breath Status Condition"] + + + Status Condition + implementation.actor["Attacks"][0].ref["Status Condition"], implementation.actor["Attacks"][2].ref["Damage"].damages[1].status_condition, implementation.actor["Attacks"][3].ref["Damage"].damages[1].status_condition, implementation.actor["Attacks"][4].ref["Damage"].damages[1].status_condition + + + Loot Table + implementation.actor["Handlers"][0].action.else_action.spawn_table + + + Defense (Status) + implementation.actor["Defense"] + + + Wave Tag + implementation.actor["Wave Tag"], implementation.actor["Handlers"][0].action.action.actor["Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Zombie (Base) + + Attacks + + + + Character/NPC/Monster/Undead/Zombie/Zombie Swipe + + Status Condition + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Grapple + + Damage + + + + 4 + + + + Grab Duration + 3500 + Next Attack + 2 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 3 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 4 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 0 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Grapple + + Damage + + + + 4 + + + + Grab Duration + 2300 + Next Attack + 0 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Breath + + Breath Status Condition + + Stun 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Breath Variant + Dust + Chain Into + 7 + Warmup speed + 1.0 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Breath (loop) + + Breath Status Condition + + Stun 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Breath Variant + Dust + Chain Into (self) + 7 + + + + + Behavior + + Defense + + + + 11 + 130 + + + 4 + -25 + + + + Handlers + + + + + + Character/NPC/Monster/Undead/Parts/Zombie Head + + Tag + (Wave Tag) + Variant + Dust + + + + + + Treasure/Monster/Undead/Dust Zombie/Dust Zombie Loot + + + + + + + + + + + + + + Health Scale + + Monster/Health/Health Base +05 + + Model + + character/npc/monster/zombie/model_nrm.dat + + Reaction + Flinch + + + React Time + 467 + Scale + 1.05 + Targeted Speed + 1.2 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Zombie (Base) + + + Model + implementation.sprite.model + + + Scale + implementation.sprite.scale + + + Handlers + implementation.handlers + + + Health Scale + implementation.health_scale + + + Behavior + implementation.behavior + + + Attacks + implementation.attacks + + + Defense + implementation.defense.defenses[1] + + + Targeted Speed + implementation.targeted_speed + + + React Time + implementation.react_time + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/zombie/model.dat + + Variant + Dust + + + + + + character/npc/monster/zombie/animation/idle.dat + + + + + + 1.0 + + character/npc/monster/zombie/animation/moving.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Bones + + Pitch shift + Lower 2 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/zombie/animation/idle.dat + + + + 0.2 + + character/npc/monster/zombie/animation/idle.dat + + + + + + 1.0 + + character/npc/monster/zombie/animation/moving.dat + + + + + character/npc/monster/zombie/animation/spawn.dat + + + + 0.6 + + + (tag 1), (tag 2), (tag 3) + + + + + + + Character/NPC/Monster/Undead/Parts/Zombie Head + + Tag + (Wave Tag) + Variant + Dust + + + + + + Treasure/Monster/Undead/Dust Zombie/Dust Zombie Loot + + + + + + + + + + + + + + 8 + 79 + 0.75 + 3.4906585 + 115 + + Monster/Health/Health Base + + 0.3 + 467 + 100 + 1500 + 1.0 + + + + Character/NPC/Monster/Undead/Zombie/Zombie Swipe + + Status Condition + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Grapple + + Damage + + + + 4 + + + 4 + + + + Grab Duration + 3500 + Next Attack + 0 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 3 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 4 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 0 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Grapple + + Damage + + + + 4 + + + 4 + + + + Grab Duration + 2300 + Next Attack + 0 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Breath + + Breath Status Condition + + Breath Variant + Dust + Chain Into + 7 + Warmup speed + 1.0 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Breath (loop) + + Breath Status Condition + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Breath Variant + Dust + Chain Into (self) + 7 + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + + + + 10 + 50 + + + 256 + 25 + + + 4 + -50 + + + 32 + + + + + + + + + + + + + + 32768 + + + + + + Character/NPC/Monster/Undead/Zombie/Slag Walker/Slag Walker 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 1 (Base) + + Breath Color + Slag Walker + Breath Condition + + Fire + + Chance + 1.0 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 36 + + + 10 + 50 + + + 256 + 25 + + + + Head Drop + Slag + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Slag Walker Loot + + Model + + character/npc/monster/zombie/model_fir.dat + + Reaction + Knockdown + + + Scale + 0.95 + Status Condition + + Fire + + Chance + 0.1 + Power + 15 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Slag Walker/Slag Walker 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 2 (Base) + + Breath Color + Slag Walker + Breath Condition + + Fire 2 + + Chance + 1.0 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 36 + + + 10 + 50 + + + 256 + 25 + + + + Head Drop + Slag + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Slag Walker Loot + + Model + + character/npc/monster/zombie/model_fir.dat + + Reaction + Knockdown + + + Scale + 1.0 + Status Condition + + Fire 2 + + Chance + 0.15 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Slag Walker/Slag Walker 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 3 (Base) + + Breath Color + Slag Walker + Breath Condition + + Fire 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 36 + + + 10 + 50 + + + 256 + 25 + + + + Head Drop + Slag + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Slag Walker Loot + + Model + + character/npc/monster/zombie/model_fir.dat + + Reaction + Flinch + + + Scale + 1.05 + Status Condition + + Fire 3 + + Chance + 0.2 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Moorcroft/Bellhop + + + + character/npc/monster/zombie/bellhop/model.dat + + Equip + Nothing + + + 0.8 + + + + character/npc/monster/zombie/animation/idle.dat + + + + + + 1.0 + + character/npc/monster/zombie/animation/moving.dat + + + + + + 0.55 + + 4 + 15 + 0.75 + 13.08997 + + + + Character/NPC/Moorcroft/Desk Clerk + + + + character/npc/monster/spookat/clerk/model.dat + + + + + character/npc/monster/spookat/standing_idle.dat + + Pitch adjust + Default + + + + + + + 6.0 + + character/npc/monster/spookat/walking_idle.dat + + + + + + + + + + + + + character/npc/monster/spookat/standing_idle2.dat + + Pitch adjust + Higher 1 + + + + Moorcroft/Desk Clerk + + + + + + + + + 8 + 15 + 0.66 + + + + Character/NPC/Moorcroft/Konjuring Kat + + + + character/npc/monster/spookat/model.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.2 + Range + Medium + + + variant + pink + + + 0.65 + + + + character/npc/monster/spookat/standing_idle.dat + + Pitch adjust + Default + + + + + + + 6.0 + + character/npc/monster/spookat/walking_idle.dat + + + + + + 0.4 + + + + + + + + character/npc/monster/spookat/standing_idle2.dat + + Pitch adjust + Higher 1 + + + + Moorcroft/Ritual + + + + + + + + + 8 + 15 + 0.66 + + + + Character/NPC/Nature Sprite/Nature Sprite (Cursed) + + + Wave Tag + implementation.tags.tags[0] + + + + + + character/npc/sprite/model.dat + + Variant + Cursed + + + + particle/fx_spawn_monster.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/item/heart_acquire_02.ogg + Gain + 1.0 + Pitch + 1.5 + Range + Medium + + + Transform + + 1.5 + 0.0, 0.0, -0.5 + + Transient + + particle/fx_menderheal.dat + + + + + + 0.01 + + character/npc/monster/devilite/animation/v2/animation_idle1.dat + + + + + character/npc/monster/devilite/animation/v2/animation_cower.dat + + + + 0.2 + + character/npc/monster/devilite/animation/v2/animation_idle2_lookaround.dat + + + + 0.0010 + + character/npc/monster/devilite/animation/v2/animation_idle3_sigh.dat + + + + + + 3.0 + + character/npc/monster/devilite/animation/v2/animation_walking.dat + + + + + + 3.1415927 + + character/npc/monster/devilite/animation/v2/animation_turnleft.dat + + + character/npc/monster/devilite/animation/v2/animation_turnright.dat + + + + + + 0.3 + + + + + + + + + + + + Character/NPC/Nature Sprite/Nature Sprite (Wander) + + Wave Tag + (Wave Tag) + + + + + + + + 128 + 139 + 4.0 + 10.0 + 9999 + + + + Character/NPC/Nature Sprite/Nature Sprite (Wander) + + + Wave Tag + implementation.tags.tags[0] + + + + + + character/npc/sprite/model.dat + + Variant + Green + + + + + + character/npc/monster/devilite/animation/v2/animation_idle1.dat + + + + 0.5 + + character/npc/monster/devilite/animation/v2/animation_idle2_lookaround.dat + + + + 0.25 + + character/npc/monster/devilite/animation/v2/animation_idle3_sigh.dat + + + + + + 3.0 + + character/npc/monster/devilite/animation/v2/animation_walking.dat + + + + + + 3.1415927 + + character/npc/monster/devilite/animation/v2/animation_turnleft.dat + + + character/npc/monster/devilite/animation/v2/animation_turnright.dat + + + + + + 0.333 + + 4 + 15 + 1.5 + 8.726646 + + + + Character/NPC/Rescue Camp/Bombs + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Pith + Pack + None + Weapon Equip + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + n.rc_bomb + + character/pc/emotes/animation_salute.dat + + + Rescue Camp/Bomb + + + + Action + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Rescue Camp/Final Gate + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Pig Nose + Pack + None + Weapon Equip + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + n.rc_end + + character/pc/emotes/animation_salute.dat + + + Rescue Camp/Final Gate + + + + Action + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Rescue Camp/Greeter + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Pig Nose + Pack + None + Weapon Equip + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + n.rc_greet + + character/pc/emotes/animation_wave.dat + + + Rescue Camp/Greeter + + + + Action + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Rescue Camp/Instructor + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Hood + Pack + None + Weapon Equip + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + n.rc_instruct + + character/pc/emotes/animation_salute.dat + + + Rescue Camp/Instructor + + + + Action + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Rescue Camp/Nervous + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Pith + Pack + None + Weapon Equip + + + + + + + character/npc/monster/mechaknight/animations/jitters.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + n.rc_nervous + + Rescue Camp/Nervous + + + + Action + + + + + + + + 8 + 15 + 0.66 + + + + Character/NPC/Rescue Camp/Sleepy + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Pig Nose + Pack + None + Weapon Equip + + + + + + + character/pc/sleeping/loop.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + n.rc_sleepy + + Rescue Camp/Sleepy + + + + Action + + + + + + + + 8 + 15 + 0.66 + + + + Character/NPC/Rescue Camp/Soil + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Hood + Pack + None + Weapon Equip + + + + + + + character/pc/use_inventory_loop.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + n.rc_soil + + Rescue Camp/Soil + + + + Action + + + + + + + + 8 + 15 + 0.66 + + + + Character/NPC/Rescue Camp/Warning + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Hood + Pack + None + Weapon Equip + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + n.rc_warning + + character/pc/emotes/animation_salute.dat + + + Rescue Camp/Warning + + + + Action + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Snipe/Snipe, Fly + + + Color 1 + implementation.sprite.model["Color 1"] + + + Scale + implementation.sprite.scale + + + + + + character/npc/snipe/model.dat + + Color 1 + 1291 + + + + + + character/npc/snipe/animation/flying_idle.dat + + + + + character/npc/snipe/animation/flying_idle_03_lookaround.dat + + + + 0.1 + + character/npc/snipe/animation/flying_idle_02_spin.dat + + Pitch + 1.1 + + + + + 0.1 + + character/npc/snipe/animation/flying_idle_02_spin.dat + + Pitch + 0.95 + + + + + 0.1 + + character/npc/snipe/animation/flying_idle_02_spin.dat + + Pitch + 1.15 + + + + + 0.1 + + character/npc/snipe/animation/flying_idle_02_spin.dat + + Pitch + 1.0 + + + + + + + 2.3 + + character/npc/snipe/animation/flying_moving.dat + + + + + + 0.4 + + 4 + 15 + 2.3 + 10.471975 + + Wander/Snipe + + + + + Character/NPC/Snipe/Snipe, Walk + + + Color 1 + implementation.sprite.model["Color 1"] + + + Scale + implementation.sprite.scale + + + + + + character/npc/snipe/model.dat + + Color 1 + 1291 + + + + + + character/npc/snipe/animation/idle_00.dat + + + + + character/npc/snipe/animation/idle_01.dat + + + + 0.33 + + character/npc/snipe/animation/idle_03.dat + + Pitch + 1.1 + + + + + 0.33 + + character/npc/snipe/animation/idle_03.dat + + Pitch + 1.2 + + + + + 0.33 + + character/npc/snipe/animation/idle_03.dat + + Pitch + 1.0 + + + + + 0.33 + + character/npc/snipe/animation/idle_02.dat + + Pitch + 1.1 + + + + + 0.33 + + character/npc/snipe/animation/idle_02.dat + + Pitch + 1.2 + + + + + 0.33 + + character/npc/snipe/animation/idle_02.dat + + Pitch + 1.0 + + + + + + + 0.75 + + character/npc/snipe/animation/moving.dat + + + + + + 0.333 + + 4 + 15 + 1.5 + 8.726646 + + Wander/Snipe + + + + + Character/NPC/Tier Guard/Base + + + Conversation + implementation.handlers[0].action.actions[0].conversation + + + + + + character/npc/crew/model_gatekeeper.dat + + 1.15 + + + + character/pc/animation_overshoulder.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + + Tier Guard/Base + + Access + 1 + Message: Armor Req + m.tier_1_armor + Message: Helm Req + m.tier_1_helm + Message: Shield Req + m.tier_1_shield + Message: Tier Req + m.tier_1_requirements + Message: Token Req + m.tier_1_tokens + Message: Weapon Req + m.tier_1_weapon + Number of Tokens + 25 + Required Star Value + 2 + Token Type + 0 + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Tier Guard/Tier 1 + + + Character/NPC/Tier Guard/Base + + Conversation + + Tier Guard/Tier 1 + + + + + + + Character/NPC/Tier Guard/Tier 2 + + + Character/NPC/Tier Guard/Base + + Conversation + + Tier Guard/Tier 2 + + + + + + + Character/NPC/Travel Agent/Base + + + Conversation + implementation.handlers[0].action.actions[0].conversation + + + + + + character/pc/model.dat + + Armor + + character/npc/monster/gremlin/null/model_static.dat + + Variant + grey + + + Helmet + + Label + + Material + + Shield + + Shield Away + + Weapon + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + + character/pc/emotes/animation_shrug.dat + + + + + + + + + 8 + 15 + 0.66 + + + + Character/NPC/Travel Agent/Emberlight + + + Character/NPC/Travel Agent/Base + + Conversation + + Travel/Emberlight + + + + + + + Character/NPC/Travel Agent/Haven + + + Character/NPC/Travel Agent/Base + + Conversation + + Travel/Haven + + + + + + + Character/NPC/Travel Agent/Moorcroft + + + Character/NPC/Travel Agent/Base + + Conversation + + Travel/Moorcroft + + + + + + + Character/PC/Arena + + + Model + implementation.sprite.model + + + + + + character/pc/model_level.dat + + Armor + + item/gear/armor/doublebelt/model.dat + + Colorization + 257 + Variant + grey + + + Helmet + + item/gear/helm/pith/model.dat + + Colorization + 257 + Variant + grey + + + Label + + Material + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + defender + + + Shield Away + + Weapon + + item/weapon/sword/calibur/model.dat + + variant + calibur + + + + + + particle/monster_death.dat + + Color + White + + + + + + character/pc/idle.dat + + + + + + 1.0 + + character/pc/walk_forward.dat + + + character/pc/walk_left.dat + + + character/pc/walk_backward.dat + + + character/pc/walk_right.dat + + + + 6.0 + + character/pc/run_forward.dat + + Variant + Default + + + + character/pc/run_left.dat + + + character/pc/run_backward.dat + + + character/pc/run_right.dat + + + + + particle/fx_gethit_player.dat + + Color + Red + + + + particle/fx_gethit_player.dat + + Color + Black + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/player_res.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_shareheart.dat + + + + + + 0.333333 + + 132 + 47 + 5.0 + + + + + 0.4 + + + 0.7, 0.0 + + + + + 15 + + + + Character/PC/Default + + + Model + implementation.sprite.model + + + + + + character/pc/model.dat + + Armor + + item/gear/armor/doublebelt/model.dat + + Colorization + 257 + Variant + grey + + + Helmet + + item/gear/helm/pith/model.dat + + Colorization + 257 + Variant + grey + + + Label + + Material + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + defender + + + Shield Away + + Weapon + + item/weapon/sword/calibur/model.dat + + variant + calibur + + + + + + particle/monster_death.dat + + Color + White + + + + + + character/pc/idle.dat + + + + + + 1.0 + + character/pc/walk_forward.dat + + + character/pc/walk_left.dat + + + character/pc/walk_backward.dat + + + character/pc/walk_right.dat + + + + 6.0 + + character/pc/run_forward.dat + + Variant + Default + + + + character/pc/run_left.dat + + + character/pc/run_backward.dat + + + character/pc/run_right.dat + + + + + + 0.333333 + + 4 + 43 + 5.0 + + + + + 0.4 + + + 0.7, 0.0 + + + + + + + + Character/PC/Editor + + + + character/pc/model.dat + + Armor + + item/gear/armor/rearpouch/model.dat + + Colorization + 274 + Variant + gold-hazel-navy + + + Helmet + + item/gear/helm/doubleploom/model.dat + + Colorization + 274 + Variant + gold-hazel-navy + + + Label + + Material + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + defender(blue) + + + Shield Away + + Weapon + + item/weapon/sword/calibur/model.dat + + variant + calibur(blue) + + + + + + + + character/pc/idle.dat + + + + + + 1.0 + + character/pc/walk_forward.dat + + + character/pc/walk_left.dat + + + character/pc/walk_backward.dat + + + character/pc/walk_right.dat + + + + 6.0 + + character/pc/run_forward.dat + + Variant + Default + + + + character/pc/run_left.dat + + + character/pc/run_backward.dat + + + character/pc/run_right.dat + + + + + + 0.333333 + + + + + + Character/Dev/playermarker + + + + + + + 4 + 43 + 10.0 + + + + Character/PC/Level + + + Model + implementation.sprite.model + + + + + + character/pc/model_level.dat + + Armor + + item/gear/armor/doublebelt/model.dat + + Colorization + 257 + Variant + grey + + + Helmet + + item/gear/helm/pith/model.dat + + Colorization + 257 + Variant + grey + + + Label + + Material + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + defender + + + Shield Away + + Weapon + + item/weapon/sword/calibur/model.dat + + variant + calibur + + + + + + particle/monster_death.dat + + Color + White + + + + + + character/pc/idle.dat + + + + + + 1.0 + + character/pc/walk_forward.dat + + + character/pc/walk_left.dat + + + character/pc/walk_backward.dat + + + character/pc/walk_right.dat + + + + 6.0 + + character/pc/run_forward.dat + + Variant + Default + + + + character/pc/run_left.dat + + + character/pc/run_backward.dat + + + character/pc/run_right.dat + + + + + particle/fx_gethit_player.dat + + Color + Red + + + + particle/fx_gethit_player.dat + + Color + Black + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/player_res.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_shareheart.dat + + + + + + 0.333333 + + 4 + 43 + 5.0 + + + + + 0.4 + + + 0.7, 0.0 + + + + + 13 + + + + Character/Weapon/Hunting Wolver + + + + character/npc/monster/wolver/model.dat + + Aura + + Variant + Ghost + + + + particle/bullet/magnus/hit_charged.dat + + Spark Count + 6 + Variant + Hot + + + 1.8 + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 6.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/monster_damage.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 6.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + + 0.45 + + + + + + + + 12 + 79 + 7.0 + 13.962634 + 1 + 0 + 0.1 + 433 + 1481 + 1333 + 14.0 + + + + Character/Weapon/Hunting Wolver + + + + + + + Door/Base + + + Model + implementation.sprite.model + + + Animation - Close + implementation.sprite.states[0].animation + + + Animation - Open + implementation.sprite.states[2].animation + + + Shape + implementation.shape + + + Tag + implementation.tags.tags[0] + + + Open + implementation.open + + + Actionable Signal + implementation.actionable_signal + + + Action Desc + implementation.action_desc + + + Actionable Condition + implementation.actionable_condition + + + Handlers + implementation.handlers + + + + + 2 + 1 + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Normal + + + + + + + + world/dynamic/door/irongate/animation/state_closed.dat + + + + + + + world/dynamic/door/irongate/animation/state_open.dat + + + + + + 5.0 + + + (Door Tag) + + 500 + + + + Door/Energy Base + + + + Size Variant + + + Model + implementation.sprite.model + + + State - Closing + implementation.sprite.states[0].animation + + + State - Closed + implementation.sprite.states[1].animation + + + State - Opening + implementation.sprite.states[2].animation + + + State - Opened + implementation.sprite.states[3].animation + + + Collision shape - length + implementation.shape.height + + + + + + 3 Wide + + + 5.0 + C + 5.0 + Co + 5.0 + Col + 5.0 + Coll + 5.0 + Colli + 5.0 + Collis + 5.0 + Collisi + 5.0 + Collisio + 5.0 + Collision + 5.0 + Collision s + 5.0 + Collision sh + 5.0 + Collision sha + 5.0 + Collision shap + 5.0 + Collision shape + 5.0 + Collision shape - + 5.0 + Collision shape - l + 5.0 + Collision shape - le + 5.0 + Collision shape - len + 5.0 + Collision shape - leng + 5.0 + Collision shape - lengt + 5.0 + Collision shape - length + 3.0 + Model + + world/dynamic/door/irongate/3wide/energy.dat + + State - Closed + + world/dynamic/door/irongate/animation/energy_state_closed_3w.dat + + State - Closing + + world/dynamic/door/irongate/animation/energy_close_3w.dat + + State - Opened + + world/dynamic/door/irongate/animation/energy_state_open_3w.dat + + State - Opening + + world/dynamic/door/irongate/animation/energy_open_3w.dat + + W + 5.0 + Wi + 5.0 + + + + + 5 Wide + + + 5.0 + C + 5.0 + Co + 5.0 + Col + 5.0 + Coll + 5.0 + Colli + 5.0 + Collis + 5.0 + Collisi + 5.0 + Collisio + 5.0 + Collision + 5.0 + Collision s + 5.0 + Collision sh + 5.0 + Collision sha + 5.0 + Collision shap + 5.0 + Collision shape + 5.0 + Collision shape - + 5.0 + Collision shape - l + 5.0 + Collision shape - le + 5.0 + Collision shape - len + 5.0 + Collision shape - leng + 5.0 + Collision shape - lengt + 5.0 + Collision shape - length + 5.0 + Model + + world/dynamic/door/irongate/5wide/energy.dat + + State - Closed + + world/dynamic/door/irongate/animation/energy_state_closed_5w.dat + + State - Closing + + world/dynamic/door/irongate/animation/energy_close_5w.dat + + State - Opened + + world/dynamic/door/irongate/animation/energy_state_open_5w.dat + + State - Opening + + world/dynamic/door/irongate/animation/energy_open_5w.dat + + W + 5.0 + Wi + 5.0 + + + + 5 Wide + + + Tag + implementation.tags.tags + + + Energy Cost + implementation.handlers[0].action.action.actions[1].amount, implementation.action_desc.amount, implementation.actionable_condition.conditions[1].energy + + + + + + world/dynamic/door/irongate/5wide/energy.dat + + + + + world/dynamic/door/irongate/animation/energy_close_5w.dat + + + + + world/dynamic/door/irongate/animation/energy_state_closed_5w.dat + + + + + world/dynamic/door/irongate/animation/energy_open_5w.dat + + + + + world/dynamic/door/irongate/animation/energy_state_open_5w.dat + + + + + + 5.0 + + + + + + + + + + + + + + + + + + energy_unlock + + 5 + + 500 + + + + Door/Energy Base (test) + + + + Size Variant + + + Model + implementation.sprite.model + + + State - Closing + implementation.sprite.states[0].animation + + + State - Closed + implementation.sprite.states[1].animation + + + State - Opening + implementation.sprite.states[2].animation + + + State - Opened + implementation.sprite.states[3].animation + + + Collision shape - length + implementation.shape.height + + + + + + 3 Wide + + + 5.0 + C + 5.0 + Co + 5.0 + Col + 5.0 + Coll + 5.0 + Colli + 5.0 + Collis + 5.0 + Collisi + 5.0 + Collisio + 5.0 + Collision + 5.0 + Collision s + 5.0 + Collision sh + 5.0 + Collision sha + 5.0 + Collision shap + 5.0 + Collision shape + 5.0 + Collision shape - + 5.0 + Collision shape - l + 5.0 + Collision shape - le + 5.0 + Collision shape - len + 5.0 + Collision shape - leng + 5.0 + Collision shape - lengt + 5.0 + Collision shape - length + 3.0 + Model + + world/dynamic/door/irongate/3wide/energy.dat + + State - Closed + + world/dynamic/door/irongate/animation/energy_state_closed_3w.dat + + State - Closing + + world/dynamic/door/irongate/animation/energy_close_3w.dat + + State - Opened + + world/dynamic/door/irongate/animation/energy_state_open_3w.dat + + State - Opening + + world/dynamic/door/irongate/animation/energy_open_3w.dat + + W + 5.0 + Wi + 5.0 + + + + + 5 Wide + + + 5.0 + C + 5.0 + Co + 5.0 + Col + 5.0 + Coll + 5.0 + Colli + 5.0 + Collis + 5.0 + Collisi + 5.0 + Collisio + 5.0 + Collision + 5.0 + Collision s + 5.0 + Collision sh + 5.0 + Collision sha + 5.0 + Collision shap + 5.0 + Collision shape + 5.0 + Collision shape - + 5.0 + Collision shape - l + 5.0 + Collision shape - le + 5.0 + Collision shape - len + 5.0 + Collision shape - leng + 5.0 + Collision shape - lengt + 5.0 + Collision shape - length + 5.0 + Model + + world/dynamic/door/irongate/5wide/energy.dat + + State - Closed + + world/dynamic/door/irongate/animation/energy_state_closed_5w.dat + + State - Closing + + world/dynamic/door/irongate/animation/energy_close_5w.dat + + State - Opened + + world/dynamic/door/irongate/animation/energy_state_open_5w.dat + + State - Opening + + world/dynamic/door/irongate/animation/energy_open_5w.dat + + W + 5.0 + Wi + 5.0 + + + + 5 Wide + + + Tag + implementation.tags.tags + + + Cost + implementation.handlers[0].action.action.amount, implementation.action_desc.amount + + + + + + world/dynamic/door/irongate/5wide/energy.dat + + + + + world/dynamic/door/irongate/animation/energy_close_5w.dat + + + + + world/dynamic/door/irongate/animation/energy_state_closed_5w.dat + + + + + world/dynamic/door/irongate/animation/energy_open_5w.dat + + + + + world/dynamic/door/irongate/animation/energy_state_open_5w.dat + + + + + + 5.0 + + + + + + + + + + energy_unlock + + + 500 + + + + Door/Gold Key Base + + + Model + implementation.actor["Model"] + + + Animation - Close + implementation.actor["Animation - Close"] + + + Animation - Open + implementation.actor["Animation - Open"] + + + Shape + implementation.actor["Shape"] + + + Tag + implementation.actor["Tag"] + + + + + Door/Base + + Action Desc + + + Actionable Condition + + Actionable Signal + gold_unlock + Animation - Close + + Animation - Open + + Handlers + + + + + + + + + + + + + + ui/minimap/gold_door.png + + + + Model + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Normal + + + Open + false + Shape + + 5.0 + + Tag + Door + + + + + + Door/Iron Gate/Energy 3 + + + Tag + implementation.actor["Tag"] + + + + + Door/Energy Base + + Size Variant + 3 Wide + Tag + Door + + + + + + Door/Iron Gate/Energy 5 + + + Tag + implementation.actor["Tag"] + + + + + Door/Energy Base + + Size Variant + 5 Wide + Tag + Door + + + + + + Door/Iron Gate/Gold 3 + + + Tag + implementation.actor["Tag"] + + + + + Door/Gold Key Base + + Animation - Close + + world/dynamic/door/irongate/animation/close.dat + + Width + 2.75 + + + Animation - Open + + world/dynamic/door/irongate/animation/open.dat + + Width + 2.75 + + + Model + + world/dynamic/door/irongate/3wide/model.dat + + Variant + Locked (Gold) + + + Shape + + 3.0 + + Tag + Door + + + + + + Door/Iron Gate/Gold 5 + + + Tag + implementation.actor["Tag"] + + + + + Door/Gold Key Base + + Animation - Close + + world/dynamic/door/irongate/animation/close.dat + + Width + 4.75 + + + Animation - Open + + world/dynamic/door/irongate/animation/open.dat + + Width + 4.75 + + + Model + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Locked (Gold) + + + Shape + + 5.0 + + Tag + Door + + + + + + Door/Iron Gate/Monster 3 + + + Tag + implementation.actor["Tag"] + + + Open + implementation.actor["Open"] + + + Variant + implementation.actor["Model"]["Variant"] + + + + + Door/Base + + Action Desc + + + Actionable Condition + + Actionable Signal + action + Animation - Close + + world/dynamic/door/irongate/animation/close.dat + + Width + 2.75 + + + Animation - Open + + world/dynamic/door/irongate/animation/open.dat + + Width + 2.75 + + + Handlers + + + Model + + world/dynamic/door/irongate/3wide/model.dat + + Variant + Normal + + + Open + false + Shape + + 3.0 + + Tag + Door + + + + + + Door/Iron Gate/Monster 5 + + + Tag + implementation.actor["Tag"] + + + Open + implementation.actor["Open"] + + + Variant + implementation.actor["Model"]["Variant"] + + + + + Door/Base + + Action Desc + + + Actionable Condition + + Actionable Signal + action + Animation - Close + + world/dynamic/door/irongate/animation/close.dat + + Width + 4.75 + + + Animation - Open + + world/dynamic/door/irongate/animation/open.dat + + Width + 4.75 + + + Handlers + + + Model + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Normal + + + Open + false + Shape + + 5.0 + + Tag + Door + + + + + + Door/Iron Gate/Multi Trigger 3 + + + Tag + implementation.actor["Tag"] + + + Open + implementation.actor["Open"] + + + Variant + implementation.actor["Model"]["Variant"] + + + Triggers + implementation.actor["Triggers"] + + + + + Door/Multi Trigger Base + + Animation - Close + + world/dynamic/door/irongate/animation/close.dat + + Width + 2.75 + + + Animation - Open + + world/dynamic/door/irongate/animation/open.dat + + Width + 2.75 + + + Model + + world/dynamic/door/irongate/3wide/model.dat + + Variant + Normal + + + Open + false + Shape + + 3.0 + + Tag + Door + Triggers + 2 + Variant + Normal + + + + + + Door/Iron Gate/Multi Trigger 5 + + + Tag + implementation.actor["Tag"] + + + Open + implementation.actor["Open"] + + + Variant + implementation.actor["Model"]["Variant"] + + + Triggers + implementation.actor["Triggers"] + + + + + Door/Multi Trigger Base + + Animation - Close + + world/dynamic/door/irongate/animation/close.dat + + Width + 4.75 + + + Animation - Open + + world/dynamic/door/irongate/animation/open.dat + + Width + 4.75 + + + Model + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Normal + + + Open + false + Shape + + 5.0 + + Tag + Door + Triggers + 2 + Variant + Normal + + + + + + Door/Iron Gate/Silver 3 + + + Door/Key Base + + Animation - Close + + world/dynamic/door/irongate/animation/close.dat + + Width + 2.75 + + + Animation - Open + + world/dynamic/door/irongate/animation/open.dat + + Width + 2.75 + + + Model + + world/dynamic/door/irongate/3wide/model.dat + + Variant + Locked (Silver) + + + Shape + + 3.0 + + Tag + Locked Door + + + + + + Door/Iron Gate/Silver 5 + + + Door/Key Base + + Animation - Close + + world/dynamic/door/irongate/animation/close.dat + + Width + 4.75 + + + Animation - Open + + world/dynamic/door/irongate/animation/open.dat + + Width + 4.75 + + + Model + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Locked (Silver) + + + Shape + + 5.0 + + Tag + Locked Door + + + + + + Door/Iron Gate/Trigger 3 + + + Tag + implementation.actor["Tag"] + + + Open + implementation.actor["Open"] + + + Variant + implementation.actor["Model"]["Variant"] + + + + + Door/Base + + Action Desc + + + Actionable Condition + + Actionable Signal + action + Animation - Close + + world/dynamic/door/irongate/animation/close.dat + + Width + 2.75 + + + Animation - Open + + world/dynamic/door/irongate/animation/open.dat + + Width + 2.75 + + + Handlers + + + Model + + world/dynamic/door/irongate/3wide/model.dat + + Variant + Normal + + + Open + false + Shape + + 3.0 + + Tag + Door + + + + + + Door/Iron Gate/Trigger 5 + + + Tag + implementation.actor["Tag"] + + + Open + implementation.actor["Open"] + + + Variant + implementation.actor["Model"]["Variant"] + + + + + Door/Base + + Action Desc + + + Actionable Condition + + Actionable Signal + action + Animation - Close + + world/dynamic/door/irongate/animation/close.dat + + Width + 4.75 + + + Animation - Open + + world/dynamic/door/irongate/animation/open.dat + + Width + 4.75 + + + Handlers + + + Model + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Normal + + + Open + false + Shape + + 0.85 + 4.85 + + Tag + Door + + + + + + Door/Key Base + + + Model + implementation.actor["Model"] + + + Animation - Close + implementation.actor["Animation - Close"] + + + Animation - Open + implementation.actor["Animation - Open"] + + + Shape + implementation.actor["Shape"] + + + Tag + implementation.actor["Tag"] + + + + + Door/Base + + Action Desc + + + Actionable Condition + + Actionable Signal + silver_unlock + Animation - Close + + Animation - Open + + Handlers + + + + + + + Model + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Normal + + + Open + false + Shape + + 5.0 + + Tag + Door + + + + + + Door/Multi Trigger Base + + + Model + implementation.actor["Model"] + + + Animation - Close + implementation.actor["Animation - Close"] + + + Animation - Open + implementation.actor["Animation - Open"] + + + Shape + implementation.actor["Shape"] + + + Tag + implementation.actor["Tag"] + + + Open + implementation.actor["Open"] + + + Variant + implementation.actor["Model"]["Variant"] + + + Triggers + implementation.actor["Handlers"][0].action.actions[1].condition.expression.second_operand.value, implementation.actor["Handlers"][1].action.actions[1].condition.expression.second_operand.value + + + + + Door/Base + + Action Desc + + + Actionable Condition + + Actionable Signal + action + Animation - Close + + Animation - Open + + Handlers + + + + + + + + + + + + + + + + + + + Model + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Normal + + + Open + false + Shape + + 5.0 + + Tag + Door + + + + + + Door/WhiteSpace/Gold 3 + + + Tag + implementation.actor["Tag"] + + + + + Door/Gold Key Base + + Animation - Close + + world/dynamic/door/whitespace/animation/close.dat + + Width + 2.75 + + + Animation - Open + + world/dynamic/door/whitespace/animation/open.dat + + Width + 2.75 + + + Model + + world/dynamic/door/whitespace/model_x3.dat + + Variant + Locked (Gold) + + + Shape + + 3.0 + + Tag + Door + + + + + + Door/WhiteSpace/Monster 3 + + + Tag + implementation.actor["Tag"] + + + Open + implementation.actor["Open"] + + + Variant + implementation.actor["Model"]["Variant"] + + + + + Door/Base + + Action Desc + + + Actionable Condition + + Actionable Signal + action + Animation - Close + + world/dynamic/door/whitespace/animation/close.dat + + Width + 2.75 + + + Animation - Open + + world/dynamic/door/whitespace/animation/open.dat + + Width + 2.75 + + + Handlers + + + Model + + world/dynamic/door/whitespace/model_x3.dat + + Variant + Normal + + + Open + false + Shape + + 3.0 + + Tag + Door + + + + + + Door/WhiteSpace/Multi Trigger 3 + + + Tag + implementation.actor["Tag"] + + + Open + implementation.actor["Open"] + + + Variant + implementation.actor["Model"]["Variant"] + + + Triggers + implementation.actor["Triggers"] + + + + + Door/Multi Trigger Base + + Animation - Close + + world/dynamic/door/whitespace/animation/close.dat + + Width + 2.75 + + + Animation - Open + + world/dynamic/door/whitespace/animation/open.dat + + Width + 2.75 + + + Model + + world/dynamic/door/whitespace/model_x3.dat + + Variant + Normal + + + Open + false + Shape + + 3.0 + + Tag + Door + Triggers + 2 + Variant + Normal + + + + + + Door/WhiteSpace/Trigger 3 + + + Tag + implementation.actor["Tag"] + + + Open + implementation.actor["Open"] + + + Variant + implementation.actor["Model"]["Variant"] + + + + + Door/Base + + Action Desc + + + Actionable Condition + + Actionable Signal + action + Animation - Close + + world/dynamic/door/whitespace/animation/close.dat + + Width + 2.75 + + + Animation - Open + + world/dynamic/door/whitespace/animation/open.dat + + Width + 2.75 + + + Handlers + + + Model + + world/dynamic/door/whitespace/model_x3.dat + + Variant + Normal + + + Open + false + Shape + + 3.0 + + Tag + Door + + + + + + Dynamic/Barrier/One-Way Wall + + + + world/dynamic/forcefield/compound_x3.dat + + + + 0.1 + 3.0 + + + + + + + + 0 + 0 + + + + Dynamic/Barrier/Sub-town Force Field + + + + world/dynamic/forcefield/subtown/model.dat + + + + + world/dynamic/forcefield/subtown/animations/transition_closing.dat + + + + + world/dynamic/forcefield/subtown/animations/state_closed.dat + + + + + world/dynamic/forcefield/subtown/animations/transition_opening.dat + + + + + world/dynamic/forcefield/subtown/animations/state_open.dat + + + + + + 0.1 + 5.0 + + 2048 + 0 + + + + Dynamic/Breakable Objects/Castle, Firestorm/Barricade, wooden + + + Dynamic/Breakable Objects/Castle, Firestorm/Parts/Barricade, wooden (base) + + Handler - On Damage + + + + + + Dynamic/Breakable Objects/Castle, Firestorm/Parts/Barricade, wooden - weakened + + + + + 2 + + Model + barricade_x2 + + + + + + Dynamic/Breakable Objects/Castle, Firestorm/Brazier, ground + + + Dynamic/Breakable Objects/Castle/Parts/Base - Brazier, ground + + Texture + world/prop/structural/brazier_ground/skin_firestorm.png + + + + + + Dynamic/Breakable Objects/Castle, Firestorm/Brazier, tall + + + Dynamic/Breakable Objects/Castle/Parts/Base - Brazier, tall + + Texture + world/prop/structural/brazier_ground/skin_firestorm.png + + + + + + Dynamic/Breakable Objects/Castle, Firestorm/Parts/Barricade, wooden (base) + + + Model + implementation.sprite.model["Model"] + + + Handler - On Damage + implementation.handlers[1] + + + + + + world/prop/castle_fire/barricade.dat + + Model + barricade_x2 + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/props/wooden_crash_05.ogg + Gain + 0.6 + Range + Medium + + + Transform + + + Transient + + particle/fx_wood_explode.dat + + Color + Firestorm + Emitter + 1x2 Rectangle + + + + + + + + + + 2.4 + + + + + + + + + + Hazard/Hazard Base -10 + + 8 + + 131 + + -1.0, 0.0 + 100 + 5 + + + + + + + + + Dynamic/Breakable Objects/Castle, Firestorm/Parts/Barricade, wooden - weakened + + + + + 2 + + + 0 + + + + Dynamic/Breakable Objects/Castle, Firestorm/Parts/Barricade, wooden - weakened + + + Dynamic/Breakable Objects/Castle, Firestorm/Parts/Barricade, wooden (base) + + Handler - On Damage + + + + + + Treasure/Breakable Object/Generic A + + + + + 2 + + Model + barricade_x2_busted + + + + + + Dynamic/Breakable Objects/Castle/Brazier, ground + + + Dynamic/Breakable Objects/Castle/Parts/Base - Brazier, ground + + Texture + world/prop/structural/brazier_ground/skin_brass.png + + + + + + Dynamic/Breakable Objects/Castle/Brazier, tall + + + Dynamic/Breakable Objects/Castle/Parts/Base - Brazier, tall + + Texture + world/prop/structural/brazier_ground/skin_brass.png + + + + + + Dynamic/Breakable Objects/Castle/Parts/Base - Brazier, ground + + + Texture + implementation.sprite.model["Texture"], implementation.sprite.destruction_transient["Transient"]["Texture"] + + + + + + world/prop/structural/brazier_ground/model.dat + + Texture + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/brazier_break.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + world/prop/structural/brazier_ground/parts/brazier_destroy.dat + + Texture + + Type + Short + + + + + + + 0.4 + + + + + + + + Treasure/Breakable Object/Generic A + + + + + + + + Dynamic/Breakable Objects/Castle/Parts/Base - Brazier, tall + + + Texture + implementation.sprite.model["Texture"], implementation.sprite.destruction_transient["Transient"]["Texture"] + + + + + + world/prop/structural/brazier_tall/model.dat + + Texture + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/brazier_break.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + world/prop/structural/brazier_ground/parts/brazier_destroy.dat + + Texture + + Type + Tall + + + + + + + 0.4 + + + + + + + + Treasure/Breakable Object/Generic A + + + + + + + + Dynamic/Breakable Objects/Character/Trojan Corpse + + + + character/npc/monster/darkknight/parts/compound_dead.dat + + Transform + + 1.25 + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_stone_break.ogg + Gain + 0.85 + Range + Medium + + + Transform + + 1.25 + + Transient + + character/npc/monster/darkknight/parts/fx_dead_explode.dat + + + + + + 0.8 + + + + + + + + Treasure/Monster/Fiend/Trojan/Trojan Loot + + + + + + + + Dynamic/Breakable Objects/City, Base/Fire hydrant + + + + world/prop/city_base/firehydrant.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default + + File + sound/effect/world/props/hydrant_break.ogg + Range + Medium + + + Transform + + + Transient + + particle/props/fx_firehydrant_destruct.dat + + + + + + 0.44 + + + + + + + + Treasure/Breakable Object/Generic A + + + + + + + + Dynamic/Breakable Objects/City, Base/Mailbox + + + + world/prop/city_base/mailbox.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default + + File + sound/effect/world/props/mailbox_break.ogg + Range + Medium + + + Transform + + + Transient + + particle/props/fx_mailbox_destruct.dat + + + + + + 0.8 + 0.8 + + + + + + + + Treasure/Breakable Object/Generic A + + + + + + + + Dynamic/Breakable Objects/Clockworks/Bucket o bolts + + + + world/prop/gremlin/bucket_01.dat + + Attachment + + world/prop/gremlin/bucket_01_content.dat + + + + + particle/props/fx_bucketbolts_destruct.dat + + + + 0.2 + + + + + + + + Treasure/Breakable Object/Generic A + + + + + 3 + + + 224 + 0 + + + + Dynamic/Breakable Objects/Clockworks/Bucket, empty + + + + world/prop/gremlin/bucket_01.dat + + Attachment + + + + + particle/fx_generic_destruct.dat + + Model + + world/prop/gremlin/bucket_01.dat + + Attachment + + + + + + + + 0.2 + + + + + + + + Treasure/Breakable Object/Generic A + + + + + 3 + + + 224 + 0 + + + + Dynamic/Breakable Objects/Clockworks/Pipeworks/Valve, wheel 01 + + + Transform + implementation.sprite.model["Models"][0].transform + + + + + + model/compound/model.dat + + Influences + + false + false + + Models + + + + world/prop/clockworks/valve_wheel_01.dat + + + 0.0, -0.2, 0.75 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/on_hit/metal_02.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/props/fx_valve_01_destruct.dat + + + + + + 0.4 + 0.2 + + + + + + + + + + 2 + + + 0 + + + + Dynamic/Breakable Objects/Gravestones/Breakable, small block + + + Dynamic/Breakable Objects/Gravestones/Breakable, small planed + + Model + gravestone_02_breakable + + + + + + Dynamic/Breakable Objects/Gravestones/Breakable, small planed + + + Model + implementation.sprite.model["Model"], implementation.sprite.destruction_transient["Transient"]["Gravestone Model"] + + + + + + world/prop/graveyard/gravestone_set_statics.dat + + Model + gravestone_01_breakable + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/on_hit/hit_stone_05.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_gravestone_smash.dat + + Gravestone Model + gravestone_01_breakable + + + + + + + 0.6 + 0.6 + + + + + + + + Treasure/Crowns/Scaled Crown + + + + + + + + Dynamic/Breakable Objects/Gravestones/Breakable, small rounded + + + Dynamic/Breakable Objects/Gravestones/Breakable, small planed + + Model + gravestone_03_breakable + + + + + + Dynamic/Breakable Objects/Gremlins/Locker - 1 + + + + world/prop/gremlin/locker_1.dat + + + + + world/prop/gremlin/animations/lockers/locker_1_state_shut.dat + + + + + animation/sequential/simple.dat + + Animations + + + 0.5 + + world/prop/gremlin/animations/lockers/locker_1_open.dat + + + + + world/prop/gremlin/animations/lockers/locker_1_state_open.dat + + + + Priority + 0 + + + + + + + 0.9 + 2.0 + + + + + + + + 0 + + + + + + + + Treasure/Breakable Object/Generic A + + + + + Sound Effect + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/on_hit/hit_metal_01.ogg + Gain + 1.0 + Range + Medium + + + + + + + + + + + + Dynamic/Breakable Objects/Gremlins/Locker - 2 + + + + world/prop/gremlin/locker_2.dat + + + + + world/prop/gremlin/animations/lockers/locker_2_state_shut.dat + + + + + animation/sequential/simple.dat + + Animations + + + 0.5 + + world/prop/gremlin/animations/lockers/locker_2_open.dat + + + + + world/prop/gremlin/animations/lockers/locker_2_state_open.dat + + + + Priority + 0 + + + + + + + 0.9 + 2.0 + + + + + + + + 0 + + + + + + + + Treasure/Breakable Object/Generic A + + + + + Sound Effect + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/on_hit/hit_metal_01.ogg + Gain + 1.0 + Range + Medium + + + + + + + + + + + + Dynamic/Breakable Objects/Heat Objects/Ember Well, large + + + + world/prop/structural/ember_well/model.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/brazier_break.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 2.0 + + Transient + + world/prop/structural/brazier_ground/parts/brazier_destroy.dat + + Texture + world/prop/structural/brazier_ground/skin_brass.png + Type + Short + + + + + + + 0.8 + + + + + + + + Treasure/Heat/Monster Heat, large + + + + + + + + Dynamic/Breakable Objects/Heat Objects/Ember Well, small + + + + world/prop/structural/ember_well/model.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/brazier_break.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + world/prop/structural/brazier_ground/parts/brazier_destroy.dat + + Texture + world/prop/structural/brazier_ground/skin_brass.png + Type + Short + + + + + + + 0.4 + + + + + + + + Treasure/Heat/Monster Heat, small + + + + + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 1 + + + Model + implementation.sprite.model["Model"] + + + Variant + implementation.sprite.model["Variant"] + + + + + + world/prop/sky_islands_day/shrub_new1.dat + + Model + shrub_01 + Variant + Blue + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/shrub_break.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_shrub_cut_2.dat + + Color variant + Blue + Model Variant + Shrub 1 + + + + + + + 0.4 + + + + + + + + + + Treasure/Breakable Object/Generic A + + + + + 512 + 512 + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 1, day variant + + + Model + implementation.sprite.model["Model"] + + + Variant + implementation.sprite.model["Variant"] + + + + + + world/prop/sky_islands_day/shrub_new1.dat + + Model + shrub_01 + Variant + Sky Islands Day - variant + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/shrub_break.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_shrub_cut_2.dat + + Color variant + Sky Islands Day - Variant + Model Variant + Shrub 1 + + + + + + + 0.4 + + + + + + + + + + Treasure/Breakable Object/Generic A + + + + + 512 + 512 + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 1, yellow-green + + + + world/prop/sky_islands_day/shrub_new1.dat + + Model + shrub_01 + Variant + Green + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/shrub_break.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_shrub_cut_2.dat + + Color variant + Yellow-green + Model Variant + Shrub 1 + + + + + + + 0.4 + + + + + + + + + + Treasure/Breakable Object/Generic A + + + + + 512 + 512 + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 2 + + + + world/prop/sky_islands_day/shrub_new1.dat + + Model + shrub_02 + Variant + Blue + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/shrub_break.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_shrub_cut_2.dat + + Color variant + Blue + Model Variant + Shrub 2 + + + + + + + 0.4 + + + + + + + + + + Treasure/Breakable Object/Generic A + + + + + 512 + 513 + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 2, day variant + + + + world/prop/sky_islands_day/shrub_new1.dat + + Model + shrub_02 + Variant + Sky Islands Day - variant + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/shrub_break.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_shrub_cut_2.dat + + Color variant + Sky Islands Day - Variant + Model Variant + Shrub 2 + + + + + + + 0.4 + + + + + + + + + + Treasure/Breakable Object/Generic A + + + + + 512 + 513 + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 2, yellow-green + + + + world/prop/sky_islands_day/shrub_new1.dat + + Model + shrub_02 + Variant + Green + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/shrub_break.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_shrub_cut_2.dat + + Color variant + Yellow-green + Model Variant + Shrub 2 + + + + + + + 0.4 + + + + + + + + + + Treasure/Breakable Object/Generic A + + + + + 512 + 513 + + + + Dynamic/Cannon/Base + + + + world/dynamic/cannon/model.dat + + + + + + + 0.5 + + + -0.25, 0.0 + + + + + 0.5 + + + 1.0, 0.0 + + + + + 1.25 + + + 0.375, 0.0 + + + + + + + + + + + + + + Bullet/Handgun/Callahan (Charged) + + Damage + + + + 80.0 + 2 + true + + + 2 + + Stun + + Chance + 0.75 + Power + 90 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + special_fodder + + Bullet/Handgun/Callahan (Charged) + + Damage + + + + 80.0 + 2 + true + + + 2 + + Stun + + Chance + 0.75 + Power + 90 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + + + + + + + + + cannon_fodder + + + + + + Dynamic/Dev - Cory Tests/Trap - Land mine + + + 0 + + item/weapon/npc/mine_windup/model.dat + + Variant + Orange + + + + particle/explosive_block.dat + + Block + false + + + + + + + + + + + + 100.0 + 2 + + + 100.0 + 4 + + + + + + + + + 0 + 0 + + + + Dynamic/Elevator/Base/Base + + + Dissolve Party + implementation.dissolve_party + + + + + + + + world/dynamic/elevator/next/animation/empty.dat + + + + + world/dynamic/elevator/next/animation/active.dat + + + + + world/dynamic/elevator/next/animation/railsup.dat + + + + + world/dynamic/elevator/next/animation/platdown.dat + + + + + + 1.75 + 1.75 + + 192 + 0 + + + + Dynamic/Elevator/Base/Universal + + + Dissolve Party + implementation.dissolve_party + + + Split Party + implementation.split_party + + + + + + + + world/dynamic/elevator/next/animation/empty.dat + + + + + world/dynamic/elevator/next/animation/empty.dat + + + + + world/dynamic/elevator/univeral/animations/animation_activate.dat + + + + + world/dynamic/elevator/univeral/animations/animation_goingdown.dat + + + + + + 1.75 + 1.75 + + 192 + 0 + + + + Dynamic/Elevator/Haven + + + Dynamic/Elevator/Base/Universal + + Dissolve Party + true + Split Party + false + + + + + + Dynamic/Elevator/Next Floor + + + Dynamic/Elevator/Base/Universal + + Dissolve Party + false + Split Party + false + + + + + + Dynamic/Elevator/Next Floor (Subtown) + + + Dynamic/Elevator/Base/Universal + + Dissolve Party + false + Split Party + true + + + + + + Dynamic/Energy-Consuming Objects/Bodyguard/Bodyguard - sword + + + Dynamic/Energy-Consuming Objects/Bodyguard/Parts/Bodyguard - Base + + Cost + 0 + Spawn Table + + Monster/Single Family/Construct/Scaled - Mecha Knight (Friendly) + + Depth Offset + 0 + + + Tags + bodyguard + + + + + + Dynamic/Energy-Consuming Objects/Bodyguard/Parts/Bodyguard - Base + + + Cost + implementation.handlers[0].action.amount, implementation.handlers[0].action_desc.amount + + + Spawn Table + implementation.handlers[0].action.action.actions[1].spawn_table + + + Tags + implementation.tags.tags + + + + + + character/npc/monster/mechaknight/parts/model_deadwhole.dat + + + + 0.4 + + + + + + + + + default (Actor) + + Actor + + + + + + + + + + + + + + 37 + 31 + + + + Dynamic/Energy-Consuming Objects/Crates/Crate - Auto Turret, default + + + Tags + implementation.actor["Tags"] + + + + + Dynamic/Energy-Consuming Objects/Crates/Parts/Crate - Base + + Cost + 0 + Spawn Table + + Monster/Player Allied/Scaled - Auto Turret, Railgun + + Tags + autoturret + + + + + + Dynamic/Energy-Consuming Objects/Crates/Parts/Crate - Base + + + Cost + implementation.handlers[0].action.amount, implementation.handlers[0].action_desc.amount + + + Spawn Table + implementation.handlers[0].action.action.actions[1].spawn_table + + + Tags + implementation.tags.tags + + + + + + world/dynamic/energy/crate_01.dat + + + + 0.96 + 0.96 + + + + + + + + + default (Actor) + + Actor + + + + + + + + + + + + + + 37 + 31 + + + + Dynamic/Energy-Consuming Objects/Crates/Parts/Turret, Auto (base) + + + Tags + implementation.tags.tags + + + + + + world/dynamic/energy/turret_01.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + 1.2 + 0.0, -0.8, 0.12 + + Transient + + particle/monster_death.dat + + Color + Energy Blue + + + + + 0.8 + + + + world/dynamic/energy/animations/auto-turret/idle_01.dat + + + + + + 1.0 + + world/dynamic/energy/animations/auto-turret/idle_01.dat + + + + + particle/fx_gethit_monster.dat + + + particle/fx_heal.dat + + + + + world/dynamic/energy/animations/auto-turret/idle_target_01.dat + + + + + + 1.0 + + world/dynamic/energy/animations/auto-turret/idle_target_01.dat + + + + + world/dynamic/energy/animations/auto-turret/activate.dat + + + + 0.96 + 0.96 + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/energy/energy_turret_acquire_voiced_02.ogg + Gain + 1.0 + Range + Long + + + Transform + + + Transient + + + + + + + + + + 36 + 79 + 0.0 + 1.5707964 + 100 + 0 + 0.5 + true + 10 + 333 + 160 + 1100 + 0.0 + + + + Dynamic/Energy-Consuming Objects/Railgun beam + + Damage Amount + 100.0 + + + + + + + + + + Dynamic/Energy-Consuming Objects/Crates/Parts/Turret, Auto - Vulcan + + + Tags + implementation.tags.tags + + + + + + world/dynamic/energy/turret_vulcan.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + 1.2 + 0.0, -0.8, 0.12 + + Transient + + particle/monster_death.dat + + Color + Energy Blue + + + + + + particle/monster_death.dat + + Color + Energy Blue + + + 0.8 + + + + world/dynamic/energy/animations/auto-turret/idle_01.dat + + + + + + 1.0 + + world/dynamic/energy/animations/auto-turret/idle_01.dat + + + + + particle/fx_gethit_monster.dat + + + particle/fx_heal.dat + + + + + world/dynamic/energy/animations/auto-turret/idle_target_01.dat + + + + + + 1.0 + + world/dynamic/energy/animations/auto-turret/idle_target_01.dat + + + + + world/dynamic/energy/animations/auto-turret/activate.dat + + + + 0.96 + 0.96 + + 4 + 47 + 0.0 + 1.5707964 + 800 + 4 + 0.5 + true + 20 + 1 + 1 + 1000 + 0.0 + + + + Dynamic/Energy-Consuming Objects/Vulcan Spray + + + + + Dynamic/Energy-Consuming Objects/Vulcan Spray (chain) + + + + + + + 2050 + 300 + + + 40 + + + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Parts/Turret, Auto - Railgun + + + Tags + implementation.tags.tags + + + Health + implementation.health + + + Defense + implementation.defense.defenses[1].amount, implementation.defense.defenses[2].amount, implementation.defense.defenses[3].amount, implementation.defense.defenses[4].amount + + + Damage Amount + implementation.attacks[0].ref["Damage Amount"] + + + + + + world/dynamic/energy/turret_railgun.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + 1.2 + 0.0, -0.8, 0.12 + + Transient + + particle/monster_death.dat + + Color + Energy Blue + + + + + + particle/monster_death.dat + + Color + Energy Blue + + + 0.8 + + + + world/dynamic/energy/animations/auto-turret/idle_01.dat + + + + + + 1.0 + + world/dynamic/energy/animations/auto-turret/idle_01.dat + + + + + particle/fx_gethit_monster.dat + + + particle/fx_heal.dat + + + + + world/dynamic/energy/animations/auto-turret/idle_target_01.dat + + + + + + 1.0 + + world/dynamic/energy/animations/auto-turret/idle_target_01.dat + + + + + world/dynamic/energy/animations/auto-turret/activate.dat + + + + 0.96 + 0.96 + + 4 + 47 + 0.0 + 1.5707964 + 800 + 4 + 0.5 + true + 20 + 1 + 1 + 1000 + 0.0 + + + + Dynamic/Energy-Consuming Objects/Railgun beam + + Damage Amount + 100.0 + + + + + + + + 2050 + 300 + + + 40 + + + 40 + + + 40 + + + 40 + + + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Parts/Turret, Auto - Railgun Damager + + + 0 + + + + + + + + + + + + + + + + 10.0 + 2 + + 0.0, -6.0 + + 2.0, 0.0 + 200 + 5 + + + + + + + 512 + 160 + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Parts/Turret, Auto - Railgun Damager (test) + + + Damage - per pulse + implementation.handlers[1].action.damage.amount + + + + + 0 + + + + + + 0.6 + 12.0 + + + -6.5, 0.0 + + + + + + + + + + + 4.0 + 2 + + 0.0, 6.5 + + + + 512 + 129 + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 01 + + + Tags + implementation.actor["Tags"] + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Parts/Turret, Auto - Railgun + + Damage Amount + 100.0 + Defense + 20 + Health + 800 + Tags + autoturret, faction_allied + + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 02 + + + Tags + implementation.actor["Tags"] + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Parts/Turret, Auto - Railgun + + Damage Amount + 120.0 + Defense + 25 + Health + 1000 + Tags + autoturret, faction_allied + + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 03 + + + Tags + implementation.actor["Tags"] + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Parts/Turret, Auto - Railgun + + Damage Amount + 140.0 + Defense + 30 + Health + 1200 + Tags + autoturret, faction_allied + + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 04 + + + Tags + implementation.actor["Tags"] + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Parts/Turret, Auto - Railgun + + Damage Amount + 160.0 + Defense + 35 + Health + 1400 + Tags + autoturret, faction_allied + + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 05 + + + Tags + implementation.actor["Tags"] + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Parts/Turret, Auto - Railgun + + Damage Amount + 180.0 + Defense + 40 + Health + 1600 + Tags + autoturret, faction_allied + + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 06 + + + Tags + implementation.actor["Tags"] + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Parts/Turret, Auto - Railgun + + Damage Amount + 200.0 + Defense + 45 + Health + 1800 + Tags + autoturret, faction_allied + + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 07 + + + Tags + implementation.actor["Tags"] + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Parts/Turret, Auto - Railgun + + Damage Amount + 220.0 + Defense + 50 + Health + 2000 + Tags + autoturret, faction_allied + + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 08 + + + Tags + implementation.actor["Tags"] + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Parts/Turret, Auto - Railgun + + Damage Amount + 240.0 + Defense + 55 + Health + 2200 + Tags + autoturret, faction_allied + + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 09 + + + Tags + implementation.actor["Tags"] + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Parts/Turret, Auto - Railgun + + Damage Amount + 260.0 + Defense + 60 + Health + 2400 + Tags + autoturret, faction_allied + + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 10 + + + Tags + implementation.actor["Tags"] + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Parts/Turret, Auto - Railgun + + Damage Amount + 280.0 + Defense + 65 + Health + 2600 + Tags + autoturret, faction_allied + + + + + + Dynamic/Energy-Consuming Objects/Vending Machine, base + + + Dynamic/Energy-Consuming Objects/Vending Machines/Vending Machine - Health Capsule + + + + + Dynamic/Energy-Consuming Objects/Vending Machines/Parts/Vending Machine, base - Grant Item + + + Cost + implementation.handlers[0].action.actions[0].amount, implementation.handlers[0].action_desc.amount, implementation.sprite.model["Cost"] + + + Item + implementation.handlers[0].action.actions[0].action.item + + + Variant + implementation.sprite.model["Variant"] + + + Colorization + implementation.sprite.model["Colorization"] + + + + + + world/dynamic/energy/vendingmachine_01.dat + + Colorization + Red (default) + Cost + 2 + Variant + Capsule + + + + + 1.48 + 1.24 + + + + + + + + false + false + + + + + Sound Effect + + Sound + + Clip/Default + + File + sound/effect/world/energy/energy_vending_use_01.ogg + Range + Medium + + + + + + + + + + + + 36 + 79 + + + + Dynamic/Energy-Consuming Objects/Vending Machines/Vending Machine - Fire Vial + + + Dynamic/Energy-Consuming Objects/Vending Machines/Parts/Vending Machine, base - Grant Item + + Colorization + Red (default) + Cost + 0 + Item + + Pickup/Vial/Fire Vial + + Variant + Vial + + + + + + Dynamic/Energy-Consuming Objects/Vending Machines/Vending Machine - Health Capsule + + + Dynamic/Energy-Consuming Objects/Vending Machines/Parts/Vending Machine, base - Grant Item + + Colorization + Red (default) + Cost + 0 + Item + + Pickup/Capsule/Health Capsule + + Variant + Capsule + + + + + + Dynamic/Gate/Gate Display + + + Gate Index + implementation.gate_index + + + + + + world/dynamic/gates/arcade_pillar/model.dat + + Blue + 0.0 + Dark + 0.0 + Green + 0.0 + Light + 0.0 + Red + 0.0 + Teir1 Ring1 + + Teir1 Ring2 + + Teir2 Ring1 + + Teir2 Ring2 + + Teir3 Ring1 + + Teir3 Ring2 + + Tray + + Tube + + + + + + + + + + Dynamic/Help Bubble/Help + + + Message + implementation.sprite.message + + + Title + implementation.sprite.title + + + Title Color + implementation.sprite.title_color + + + Width + implementation.sprite.width + + + Icon + implementation.sprite.icon + + + Visible Distance + implementation.sprite.visible_distance + + + Tags + implementation.tags.derived + + + + + m.test + + 0 + 0 + + + + + + + + + + Dynamic/Help Bubble/Recon + + + Message + implementation.sprite.message + + + Title + implementation.sprite.title + + + Title Color + implementation.sprite.title_color + + + Icon + implementation.sprite.icon + + + Visible Distance + implementation.sprite.visible_distance + + + Tags + implementation.tags.derived + + + + + m.test + true + + 0 + 0 + + + + + + + + + + Dynamic/Lift Objects/Clay Pot + + + Dynamic/Lift Objects/Parts/Pot (Base) + + Ailment + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Blast Radius + 0.5 + Destruction + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/pot_smash.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_potshatter.dat + + + + Extra Action + + + Model + + item/live/pot/model.dat + + Variant + Default + + + Tags + + Thrown Collision Mask + 137 + + + + + + Dynamic/Lift Objects/Clay Pot (WhiteSpace) + + + Dynamic/Lift Objects/Parts/Pot (Base) + + Ailment + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Blast Radius + 0.5 + Destruction + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/block_ghost.ogg + Gain + 1.0 + Pitch + 2.0 + Range + Medium + + + Transform + + + Transient + + world/dynamic/block/whitespace/fx_pixelbreak.dat + + + + Extra Action + + + Model + + item/live/whitekey/model.dat + + Variant + White + + + Tags + + Thrown Collision Mask + 137 + + + + + + Dynamic/Lift Objects/Fire Pot + + + Dynamic/Lift Objects/Parts/Pot (Base) + + Ailment + + Fire + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Blast Radius + 1.0 + Destruction + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/pot_fire_smash.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_potshatter_fire.dat + + + + Extra Action + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 2 + + Fire + + Chance + 1.0 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 4 Seconds + Nature + Neutral + + + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 2 + + Fire 2 + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 4 Seconds + Nature + Neutral + + + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 2 + + Fire 3 + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 4 Seconds + Nature + Neutral + + + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 2 + + Fire 3 + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 4 Seconds + Nature + Neutral + + + + + Model + + item/live/pot/model.dat + + Variant + Fire + + + Tags + + Thrown Collision Mask + 137 + + + + + + Dynamic/Lift Objects/Gold Key + + + + item/live/goldkey/model.dat + + + + 0.2 + + + + + ui/minimap/gold_key.png + + + + + + + + (Gold Door) + + + + + + + open + + + + + + + + + 1 + + + 3 + 500 + 3.0 + gold_unlock + false + + + + Dynamic/Lift Objects/Gold Key (WhiteSpace) + + + + item/live/whitekey/model.dat + + Variant + Gold + + + + + 0.2 + + + + + ui/minimap/gold_key.png + + + + 3 + 500 + 3.0 + gold_unlock + false + + + + Dynamic/Lift Objects/Heavy Statue + + + Dynamic/Lift Objects/Parts/Heavy Weight (Base) + + Model + + item/live/statue/model.dat + + + + + + + Dynamic/Lift Objects/Liftable Snipe + + + + character/npc/snipe/model.dat + + Color 1 + 1291 + + + + + 0.2 + + 500 + 3.0 + + + + Dynamic/Lift Objects/Oil Pot + + + Dynamic/Lift Objects/Parts/Pot (Base) + + Ailment + + Blast Radius + 1.0 + Destruction + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Compound + + Sounders + + + + Clip/Default + + File + sound/effect/world/pot_smash.ogg + Range + Medium + + + + + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/jelly_death.ogg + Gain + 0.8 + Pitch + 0.6 + Range + Medium + + + + + + + Transform + + + Transient + + particle/fx_potshatter.dat + + + + Extra Action + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Model + + item/live/pot/model.dat + + Variant + Oil + + + Tags + + Thrown Collision Mask + 137 + + + + + + Dynamic/Lift Objects/Parts/Heavy Weight (Base) + + + Model + implementation.sprite.model + + + + + + item/live/pot/model.dat + + Variant + Default + + + + + 0.45 + + + (Heavy) + + + + + + + + 137 + 12.0 + 1300 + 6.0 + false + 1500 + + + + Dynamic/Lift Objects/Parts/Pot (Base) + + + Model + implementation.sprite.model + + + Thrown Collision Mask + implementation.thrown_collision_mask + + + Destruction + implementation.sprite.destruction_transient + + + Ailment + implementation.handlers[0].action.actions[1].damage.damages[0].status_condition + + + Blast Radius + implementation.handlers[0].action.actions[1].region.expansion + + + Extra Action + implementation.handlers[0].action.actions[2] + + + Tags + implementation.tags.derived + + + + + + item/live/pot/model.dat + + Variant + Default + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/brazier_break.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_potshatter.dat + + + + + + 0.45 + + + + + + + + + + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + PC/Damage/Base/Default + + 2 + + + + + + + + + + + + + + + + + 9 + + + 514 + 137 + 11.69 + 650 + 3.5 + 137 + 1500 + + + + Dynamic/Lift Objects/Special Pot + + + Dynamic/Lift Objects/Parts/Pot (Base) + + Ailment + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Blast Radius + 0.5 + Destruction + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/pot_smash.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_potshatter.dat + + + + Extra Action + + + Model + + item/live/pot/model.dat + + Variant + Default + + + Tags + + Thrown Collision Mask + 137 + + + + + + Dynamic/Lift Objects/Throwing Vial + + + Colorizations + implementation.sprite.model["Texture"]["Colorizations"] + + + Item + implementation.item + + + Destruction Transient + implementation.sprite.destruction_transient + + + Icon File + implementation.sprite.model["Texture"]["File"] + + + + + 1 + + item/drop/model.dat + + Icon Halo + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 513 + + + 769 + + + 1025 + + + File + ui/icon/inventory/icon_vial.png + + + Variant + item + + + + + 0.35 + + 137 + 12.0 + 1300 + 6.0 + 1 + 137 + 1500 + + + + Dynamic/Lift Objects/Water Pot + + + Dynamic/Lift Objects/Parts/Pot (Base) + + Ailment + + Blast Radius + 0.5 + Destruction + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/jelly/jelly_lunge_03.ogg + Gain + 1.0 + Pitch + 2.0 + Range + Long + + + Transform + + + Transient + + + + Extra Action + + + + + Basic + + Lifespan + 10000 + Model + + particle/fx_watersplash.dat + + + + + + 36 + + + + Model + + item/live/waterball/model.dat + + Tags + + Thrown Collision Mask + 1161 + + + + + + Dynamic/Misc/Damage Pad + + + Actor + implementation.actor["Actor"] + + + Delay + implementation.actor["Delay"] + + + Damage + implementation.actor["Damage"].amount + + + + + Dynamic/Misc/Respawn Pad + + Actor + + Damage + + + Delay + 3000 + Warning + 2000 + + + + + + Dynamic/Misc/Damage Pad (Table) + + + Spawn Table + implementation.actor["Spawn Table"] + + + Delay + implementation.actor["Delay"] + + + Damage + implementation.actor["Damage"].amount + + + + + Dynamic/Misc/Respawn Pad (Table) + + Damage + + + Delay + 3000 + Spawn Table + + Warning + 2000 + + + + + + Dynamic/Misc/Elevator (24.5 Tall) + + + Action + implementation.state_actions[1] + + + + + + + + world/dynamic/elevator/next/animation/empty.dat + + + + + world/dynamic/elevator/univeral/animations/sequential_activate-intralevel.dat + + + + + + 3.0 + 3.0 + + + + + + + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + + + Dynamic/Misc/Heal Pad + + + Interval + implementation.handlers[0].interval + + + + Heart + + + Health + implementation.handlers[0].action.condition.action.current + + + Heart Actor + implementation.sprite.model["Preview"]["Actor"] + + + + + + 1 + + Health + 40 + Heart Actor + + Item/Consumable/Hearts/Heart + + + + + + 2 + + Health + 80 + Heart Actor + + Item/Consumable/Hearts/Heart 2 + + + + + + 3 + + Health + 120 + Heart Actor + + Item/Consumable/Hearts/Heart 3 + + + + + 1 + + + + + + world/dynamic/respawnpad/model.dat + + Preview + + model/wrapper/actorwrapper.dat + + Actor + + + + + + + + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + particle/fx_heal.dat + + + + + + + + 4 + 0 + + + + Dynamic/Misc/Respawn Pad + + + Actor + implementation.actor + + + Delay + implementation.delay + + + Warning + implementation.warning + + + Damage + implementation.damage + + + + + + world/dynamic/respawnpad/model.dat + + Preview + + + + + world/dynamic/respawnpad/parts/fx_spawnin.dat + + + world/dynamic/respawnpad/parts/fx_countdown.dat + + + + + 0 + 0 + + + + Dynamic/Misc/Respawn Pad (Table) + + + Spawn Table + implementation.spawn_table + + + Delay + implementation.delay + + + Warning + implementation.warning + + + Damage + implementation.damage + + + + + + world/dynamic/respawnpad/model.dat + + Preview + + + + + world/dynamic/respawnpad/parts/fx_spawnin.dat + + + world/dynamic/respawnpad/parts/fx_countdown.dat + + + + + 0 + 0 + + + + Dynamic/Misc/Sprite Objects/Sprite Sanctuary + + + (On Signal) + implementation.state_actions[1].actions[0].name + + + (Off Signal) + implementation.state_actions[0].name + + + (Target Tag) + implementation.state_actions[0].target.tag, implementation.state_actions[1].actions[0].target.tag + + + Tag + implementation.tags.tags[0] + + + Activation Count + implementation.handlers[0].action.condition.expression.second_operand.value + + + + + + world/prop/castle_fire/model_sanctuary.dat + + + + + animation/procedural/defualt.dat + + implementation + + + + + + + + animation/procedural/defualt.dat + + implementation + + + + + + + + + 2.0 + + + + + + + + + 38 + + + + + + + + 0 + 0 + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/player_res.ogg + Gain + 1.0 + Pitch + 0.7 + Range + Medium + + + Transform + + 1.5 + + Transient + + particle/charging_release-shockwave.dat + + + + + + + + + + + + + Dynamic/Misc/Sprite Objects/Sprite Sanctuary (Charred Court) + + + (On Signal) + implementation.state_actions[1].actions[0].name + + + (Off Signal) + implementation.state_actions[0].name + + + (Target Tag) + implementation.state_actions[0].target.tag, implementation.state_actions[1].actions[0].target.tag + + + Tag + implementation.tags.tags[0] + + + Activation Count + implementation.handlers[0].action.condition.expression.second_operand.value + + + + + + world/prop/castle_fire/model_sanctuary.dat + + + + + animation/procedural/defualt.dat + + implementation + + + + + + + + animation/procedural/defualt.dat + + implementation + + + + + + + + + 2.0 + + + + + + + + + 38 + + + + + + + + 0 + 0 + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/player_res.ogg + Gain + 1.0 + Pitch + 0.7 + Range + Medium + + + Transform + + 1.5 + + Transient + + particle/charging_release-shockwave.dat + + + + + + + + + + find_sprites + + + clear_sprites + + m.clear_sprites + + + + + + + + + + + Dynamic/Misc/Sprite Objects/Sprite Well + + + Delay + implementation.delay + + + + + 2 + 1 + + world/prop/castle_fire/spritewell/model.dat + + Mode + Active + Preview + + + + + world/dynamic/respawnpad/parts/fx_spawnin.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/monster/jelly/jelly_little_death_02.ogg + Gain + 1.0 + Pitch adjust + Higher 2 + Range + Medium + + + Transform + + + Transient + + particle/fx_watersplash.dat + + + + + + 0.49 + + 32 + 0 + + Dynamic/Lift Objects/Water Pot + + + + + Dynamic/Misc/Sprite Objects/Sprite Well (Inactive) + + + Delay + implementation.handlers[0].action.actor["Delay"] + + + Activation Tag + implementation.handlers[1].name + + + Tag + implementation.tags.tags[0] + + + + + 2 + 1 + + world/prop/castle_fire/spritewell/model.dat + + Mode + Inactive + Preview + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/jelly/jelly_big_death_01.ogg + Gain + 1.0 + Pitch + 1.2 + Range + Medium + + + Transform + + 2.0 + 0.0, 0.0, 0.5 + + Transient + + particle/fx_pickupitem.dat + + + + + + 0.49 + + + + + + Dynamic/Misc/Sprite Objects/Sprite Well + + Delay + 0 + + + + + + + + 32 + 0 + + + + Dynamic/Misc/WhiteSpace/Damage Pad + + + Actor + implementation.actor["Actor"] + + + Delay + implementation.actor["Delay"] + + + Damage + implementation.actor["Damage"].amount + + + + + Dynamic/Misc/WhiteSpace/Respawn Pad + + Actor + + Damage + + + Delay + 3000 + Warning + 2000 + + + + + + Dynamic/Misc/WhiteSpace/Respawn Pad + + + Actor + implementation.actor + + + Delay + implementation.delay + + + Warning + implementation.warning + + + Damage + implementation.damage + + + + + + world/dynamic/respawnpad/model_whitespace.dat + + + world/dynamic/respawnpad/parts/fx_spawnin.dat + + + world/dynamic/respawnpad/parts/fx_countdown.dat + + + + + 0 + 0 + + + + Dynamic/Misc/WhiteSpace/Respawn Pad (Table) + + + Spawn Table + implementation.spawn_table + + + Delay + implementation.delay + + + Warning + implementation.warning + + + Damage + implementation.damage + + + + + + world/dynamic/respawnpad/model_whitespace.dat + + + world/dynamic/respawnpad/parts/fx_spawnin.dat + + + world/dynamic/respawnpad/parts/fx_countdown.dat + + + + + 0 + 0 + + + + Dynamic/Monster Objects/Grim Totem + + + + item/live/totem/grimtotem_01.dat + + + + 0.4 + + + + + + + + Objects/Monster Objects/Grim Totem/Zombie resurrection, pulse + + + + + + + 0.8 + 500 + 6.0 + false + 43 + + + + Dynamic/Switch/Button/One-Time + + + (On Signal) + implementation.state_actions[1].name + + + (On Tag) + implementation.state_actions[1].target.tag + + + Tag + implementation.tags.tags[0] + + + + + + world/dynamic/switch/button/model.dat + + + + + world/dynamic/switch/button/parts/animation_up.dat + + + + + world/dynamic/switch/button/parts/animation_down.dat + + FX Size + Small + + + + + + + 0.4 + + + (tag 1) + + + + + + + + next + + + 4 + + + 4 + 4 + + + + + + + + + + + + Dynamic/Switch/Button/One-Time (Multi) + + + On Signal + implementation.state_actions[1].actions[0].name + + + On Tag + implementation.state_actions[1].actions[0].target.tag + + + Actions + implementation.state_actions[1].actions[1].actions + + + Tag + implementation.tags.tags[0] + + + + + + world/dynamic/switch/button/model.dat + + + + + world/dynamic/switch/button/parts/animation_up.dat + + + + + world/dynamic/switch/button/parts/animation_down.dat + + FX Size + Small + + + + + + + 0.4 + + + (tag 1) + + + + + + + + next + + + 4 + + + 4 + 4 + + + + + + + + + + + + + + + + + + Dynamic/Switch/Button/Timed + + + (On Signal) + implementation.state_actions[1].name + + + (On Tag) + implementation.state_actions[1].target.tag + + + (Off Signal) + implementation.state_actions[0].name + + + (Off Tag) + implementation.state_actions[0].target.tag + + + Tag + implementation.tags.tags[0] + + + Delay + implementation.handlers[0].under_action.delay, implementation.handlers[0].condition.time + + + + + + world/dynamic/switch/button/model.dat + + + + + world/dynamic/switch/button/parts/animation_up.dat + + + + + world/dynamic/switch/button/parts/animation_down.dat + + FX Size + Small + + + + + + + 0.4 + + + (tag 1) + + + + + next + + 4 + + + 1 + + + prev + + + + + 0 + 0 + + + + + + + + + + + + + + Dynamic/Switch/Button/WhiteSpace/One-Time + + + (On Signal) + implementation.state_actions[1].name + + + (On Tag) + implementation.state_actions[1].target.tag + + + Tag + implementation.tags.tags[0] + + + + + + world/dynamic/switch/button/model_whitespace.dat + + + + + world/dynamic/switch/button/parts/animation_show.dat + + Transient + + + + + + + world/dynamic/switch/button/parts/animation_hide.dat + + Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/enemy_heal_cast_01.ogg + Gain + 1.0 + Pitch + 2.0 + Range + Medium + + + Transform + + + Transient + + world/dynamic/switch/button/fx_whitespace-hit.dat + + + + + + + + + + 0.4 + + + + + + + + 0 + 0 + + + + + + + + Dynamic/Switch/Button/WhiteSpace/One-Time (Multi) + + + On Signal + implementation.state_actions[1].actions[0].name + + + On Tag + implementation.state_actions[1].actions[0].target.tag + + + Actions + implementation.state_actions[1].actions[1].actions + + + + + + world/dynamic/switch/button/model_whitespace.dat + + + + + world/dynamic/switch/button/parts/animation_show.dat + + Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_explosive.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/explosive_block.dat + + Block + false + + + + + + + + + + world/dynamic/switch/button/parts/animation_down.dat + + FX Size + Small + + + + + + + 0.4 + + + + + + + + 0 + 0 + + + + + + + + + + + + + + Dynamic/Switch/Button/WhiteSpace/Timed + + + (On Signal) + implementation.state_actions[1].name + + + (On Tag) + implementation.state_actions[1].target.tag + + + Tag + implementation.tags.tags[0] + + + Delay + implementation.handlers[0].under_action.delay + + + + + + world/dynamic/switch/button/model_whitespace.dat + + + + + world/dynamic/switch/button/parts/animation_show.dat + + Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_explosive.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/explosive_block.dat + + Block + false + + + + + + + + + + world/dynamic/switch/button/parts/animation_down.dat + + FX Size + Small + + + + + + + 0.4 + + + + + + + + + + 0 + 0 + + + + + + + + Dynamic/Switch/Lever/3-Point Indicator + + + Activation Action + implementation.state_actions[3] + + + Tag + implementation.tags.derived + + + + + + world/dynamic/switch/multistate/model.dat + + Variant + Active + + + + + + world/dynamic/switch/multistate/parts/animation_disabled.dat + + + + + world/dynamic/switch/multistate/parts/animation_red.dat + + + + + world/dynamic/switch/multistate/parts/animation_yellow.dat + + + + + world/dynamic/switch/multistate/parts/animation_green.dat + + + + + + + + + + + + + + + + + + + + Dynamic/Switch/Lever/Damage Timed Toggle + + + Delay + implementation.actor["Handlers"][0].action.action.actions[1].delay, implementation.actor["Handlers"][0].action.condition.time + + + State 0 Signal + implementation.actor["State 0 Signal"] + + + State 0 Tag + implementation.actor["State 0 Tag"] + + + Start 1 Signal + implementation.actor["State 1 Signal"] + + + State 1 Tag + implementation.actor["State 1 Tag"] + + + + + Dynamic/Switch/Lever/Toggle + + Handlers + + + + + + + + + next + + + + prev + + + + + + 2 + + + State 0 Signal + (State 0 Signal) + State 0 Tag + (State 0 Tag) + State 1 Signal + (State 1 Signal) + State 1 Tag + (State 1 Tag) + Tags + + + + + + + Dynamic/Switch/Lever/Damage Toggle + + + (State 0 Signal) + implementation.actor["State 0 Signal"] + + + (State 0 Tag) + implementation.actor["State 0 Tag"] + + + (State 1 Signal) + implementation.actor["State 1 Signal"] + + + (State 1 Tag) + implementation.actor["State 1 Tag"] + + + + + Dynamic/Switch/Lever/Toggle + + Handlers + + + + + open + + + next + + + prev + + + 2 + + + State 0 Signal + (State 0 Signal) + State 0 Tag + (State 0 Tag) + State 1 Signal + (State 1 Signal) + State 1 Tag + (State 1 Tag) + Tags + + + + + + + Dynamic/Switch/Lever/Damage Toggle (Puzzle) + + + (State 0 Signal) + implementation.actor["State 0 Signal"] + + + (State 0 Tag) + implementation.actor["State 0 Tag"] + + + (State 1 Signal) + implementation.actor["State 1 Signal"] + + + (State 1 Tag) + implementation.actor["State 1 Tag"] + + + (Toggle Tag) + implementation.actor["Tags"].tags[0] + + + (Left Toggle Tag) + implementation.actor["Handlers"][0].action.action.target.targets[1].tag + + + (Right Toggle Tag) + implementation.actor["Handlers"][0].action.action.target.targets[2].tag + + + + + Dynamic/Switch/Lever/Toggle + + Handlers + + + + + 2 + + + State 0 Signal + (State 0 Signal) + State 0 Tag + (State 0 Tag) + State 1 Signal + (State 1 Signal) + State 1 Tag + (State 1 Tag) + Tags + + + + + + + Dynamic/Switch/Lever/One-Time + + + (Activate Signal) + implementation.state_actions[1].name + + + (Activate Tag) + implementation.state_actions[1].target.tag + + + Tag + implementation.tags.tags[0] + + + + + + world/dynamic/switch/multistate/model.dat + + Variant + Active + + + + + + world/dynamic/switch/multistate/parts/animation_red.dat + + + + + world/dynamic/switch/multistate/parts/animation_green.dat + + + + + + + + (tag 1) + + + + + + + + next + + + 2 + + + + + + + + + + + + + + Dynamic/Switch/Lever/Toggle + + + Handlers + implementation.handlers + + + State 0 Signal + implementation.state_actions[0].name + + + State 0 Tag + implementation.state_actions[0].target.tag + + + State 1 Signal + implementation.state_actions[1].name + + + State 1 Tag + implementation.state_actions[1].target.tag + + + Tags + implementation.tags.derived + + + + + + world/dynamic/switch/multistate/model.dat + + Variant + Active + + + + + + world/dynamic/switch/multistate/parts/animation_violet.dat + + + + + world/dynamic/switch/multistate/parts/animation_yellow.dat + + + + + + + + + + + + + + + + + + + + Dynamic/Switch/Lever/WhiteSpace/3-Point Indicator + + + Activation Action + implementation.state_actions[3] + + + Tag + implementation.tags.derived + + + + + + world/dynamic/switch/multistate/model.dat + + Variant + Active + + + + + + world/dynamic/switch/multistate/parts/animation_disabled.dat + + + + + world/dynamic/switch/multistate/parts/animation_red.dat + + + + + world/dynamic/switch/multistate/parts/animation_yellow.dat + + + + + world/dynamic/switch/multistate/parts/animation_green.dat + + + + + + + + + + + + + + + + + + + + Dynamic/Switch/Lever/WhiteSpace/Damage Timed Toggle + + + Delay + implementation.actor["Handlers"][0].action.action.actions[1].delay + + + State 0 Signal + implementation.actor["State 0 Signal"] + + + State 0 Tag + implementation.actor["State 0 Tag"] + + + Start 1 Signal + implementation.actor["State 1 Signal"] + + + State 1 Tag + implementation.actor["State 1 Tag"] + + + + + Dynamic/Switch/Lever/Toggle + + Handlers + + + + + + + + + + + 2 + + + State 0 Signal + (State 0 Signal) + State 0 Tag + (State 0 Tag) + State 1 Signal + (State 1 Signal) + State 1 Tag + (State 1 Tag) + Tags + + + + + + + Dynamic/Switch/Lever/WhiteSpace/Damage Toggle + + + (State 0 Signal) + implementation.actor["State 0 Signal"] + + + (State 0 Tag) + implementation.actor["State 0 Tag"] + + + (State 1 Signal) + implementation.actor["State 1 Signal"] + + + (State 1 Tag) + implementation.actor["State 1 Tag"] + + + + + Dynamic/Switch/Lever/Toggle + + Handlers + + + + + 2 + + + State 0 Signal + (State 0 Signal) + State 0 Tag + (State 0 Tag) + State 1 Signal + (State 1 Signal) + State 1 Tag + (State 1 Tag) + Tags + + + + + + + Dynamic/Switch/Lever/WhiteSpace/Damage Toggle (Puzzle) + + + (State 0 Signal) + implementation.actor["State 0 Signal"] + + + (State 0 Tag) + implementation.actor["State 0 Tag"] + + + (State 1 Signal) + implementation.actor["State 1 Signal"] + + + (State 1 Tag) + implementation.actor["State 1 Tag"] + + + (Toggle Tag) + implementation.actor["Tags"].tags[0] + + + (Left Toggle Tag) + implementation.actor["Handlers"][0].action.action.target.targets[1].tag + + + (Right Toggle Tag) + implementation.actor["Handlers"][0].action.action.target.targets[2].tag + + + + + Dynamic/Switch/Lever/Toggle + + Handlers + + + + + 2 + + + State 0 Signal + (State 0 Signal) + State 0 Tag + (State 0 Tag) + State 1 Signal + (State 1 Signal) + State 1 Tag + (State 1 Tag) + Tags + + + + + + + Dynamic/Switch/Lever/WhiteSpace/One-Time + + + (Activate Signal) + implementation.state_actions[1].name + + + (Activate Tag) + implementation.state_actions[1].target.tag + + + + + + world/dynamic/switch/multistate/model.dat + + Variant + Active + + + + + + world/dynamic/switch/multistate/parts/animation_red.dat + + + + + world/dynamic/switch/multistate/parts/animation_green.dat + + + + + + + + + 2 + + + + + + + + + + Dynamic/Switch/Lever/WhiteSpace/Toggle + + + Handlers + implementation.handlers + + + State 0 Signal + implementation.state_actions[0].name + + + State 0 Tag + implementation.state_actions[0].target.tag + + + State 1 Signal + implementation.state_actions[1].name + + + State 1 Tag + implementation.state_actions[1].target.tag + + + Tags + implementation.tags.derived + + + + + + world/dynamic/switch/multistate/model.dat + + Variant + Active + + + + + + world/dynamic/switch/multistate/parts/animation_violet.dat + + + + + world/dynamic/switch/multistate/parts/animation_yellow.dat + + + + + + + + + + Dynamic/Switch/Party Platform/Base + + + Action + implementation.state_actions[1] + + + + + 2 + 1 + + world/dynamic/switch/button_large/model.dat + + + + + world/dynamic/switch/button/parts/animation_up.dat + + + + + world/dynamic/switch/button/parts/animation_down.dat + + FX Size + Large + + + + + + + 3.0 + 3.0 + + + + 4 + + + + + + + + + 4 + + + + + + + + + next + + + + + 4 + + + + + 4 + 4 + + + + + + + + + + + + + + + + Dynamic/Switch/Party Platform/Party (WhiteSpace) + + + Action + implementation.state_actions[1] + + + + + 2 + 1 + + world/dynamic/switch/button_large/model_whitespace.dat + + + + + world/dynamic/switch/button/parts/animation_show.dat + + Transient + + + + + + + world/dynamic/switch/button/parts/animation_hide.dat + + Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/enemy_heal_cast_01.ogg + Gain + 1.0 + Pitch + 1.5 + Range + Medium + + + Transform + + + Transient + + world/dynamic/switch/button_large/fx_whitespace-hit.dat + + + + + + + + + + 3.0 + 3.0 + + + + + + + + + + + + + + + + + + 0 + 0 + + + + + + + + + + Dynamic/Switch/Pressure Plate/Base + + + (On Signal) + implementation.state_actions[1].name + + + (Off Signal) + implementation.state_actions[0].name + + + (Target Tag) + implementation.state_actions[0].target.tag, implementation.state_actions[1].target.tag + + + Tag + implementation.tags.tags[0] + + + + + + world/dynamic/switch/button/model_pressure.dat + + + + + world/dynamic/switch/button/parts/animation_up.dat + + + + + world/dynamic/switch/button/parts/animation_down.dat + + FX Size + Small + + + + + + + 0.4 + + + (tag 1) + + + + + next + + 5 + + + + + + + + (Heavy) + + + + + + 1 + + prev + + + + 0 + 0 + + + + + + + + + + + + + + Dynamic/Traps and Hazards/Firestorm Fire Tile + + + Tags + implementation.tags.derived + + + + + + world/dynamic/traps_n_hazards/fire_evil/fire_1unit.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + + Transient + + particle/fx_fire_hazard_destroy.dat + + + + + + 0.8 + 0.8 + + + + + + + + + + + + Monster/Damage/Attack Base + + ELEMENTAL + + Monster/Split/Split - Full + + + + 8 + + Fire 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + 160 + + + + Dynamic/Traps and Hazards/Floor/Fire + + + UP Animation + implementation.sprite.states[2].animation + + + + Warning and Damage Size + + + Intersect Shape + implementation.handlers[0].shape.shape + + + Damage Size + implementation.handlers[0].action.action.fire_action["Damage Size"], implementation.sprite.states[1].animation["Warning Flash Size"] + + + + + + 2x2 + + Damage Size + 2x2 + Intersect Shape + + 1.5 + 1.5 + + Warning Flash Size + 2x2 + + + + + 3x2 + + Damage Size + 3x2 + Intersect Shape + + 1.5 + 2.5 + + Warning Flash Size + 3x2 + + + + + 3x3 + + Damage Size + 3x3 + Intersect Shape + + 2.5 + 2.5 + + Warning Flash Size + 3x3 + + + + + 4x2 + + Damage Size + 4x2 + Intersect Shape + + 1.5 + 3.5 + + Warning Flash Size + 4x2 + + + + + 4x4 + + Damage Size + 4x4 + Intersect Shape + + 3.5 + 3.5 + + Warning Flash Size + 4x4 + + + + + 5x2 + + Damage Size + 5x2 + Intersect Shape + + 1.5 + 4.5 + + Warning Flash Size + 5x2 + + + + + 5x5 + + Damage Size + 5x5 + Intersect Shape + + 4.5 + 4.5 + + Warning Flash Size + 5x5 + + + + + 6x2 + + Damage Size + 6x2 + Intersect Shape + + 1.5 + 5.5 + + Warning Flash Size + 6x2 + + + + + 6x4 + + Damage Size + 6x4 + Intersect Shape + + 3.5 + 5.5 + + Warning Flash Size + 6x4 + + + + 2x2 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + + world/dynamic/traps_n_hazards/floor/shared/actor_base.dat + + + + + world/dynamic/traps_n_hazards/floor/shared/animations/stop.dat + + + + + world/dynamic/traps_n_hazards/floor/shared/animations/warning.dat + + Variant + Fire + Warning Flash Size + 2x2 + + + + + + world/dynamic/traps_n_hazards/floor/fire/animations/start_2x2.dat + + + + + + + + + + Traps and Hazards/Trap, floor + + Damage Size + 2x2 + Split Damage Type + ELEMENTAL + Status Infliction + Fire + + + + + + + + + 0 + 0 + + + + Dynamic/Traps and Hazards/Floor/Freeze + + + UP Animation + implementation.sprite.states[2].animation + + + + Warning and Damage Size + + + Intersect Shape + implementation.handlers[0].shape.shape + + + Damage Size + implementation.handlers[0].action.action.fire_action["Damage Size"], implementation.sprite.states[1].animation["Warning Flash Size"] + + + + + + 2x2 + + Damage Size + 2x2 + Intersect Shape + + 1.5 + 1.5 + + + + + + 3x2 + + Damage Size + 3x2 + Intersect Shape + + 1.5 + 2.5 + + + + + + 3x3 + + Damage Size + 3x3 + Intersect Shape + + 2.5 + 2.5 + + + + + + 5x2 + + Damage Size + 5x2 + Intersect Shape + + 1.5 + 4.5 + + + + + + 5x5 + + Damage Size + 5x5 + Intersect Shape + + 4.5 + 4.5 + + + + + 2x2 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + + world/dynamic/traps_n_hazards/floor/shared/actor_base.dat + + + + + world/dynamic/traps_n_hazards/floor/shared/animations/stop.dat + + + + + world/dynamic/traps_n_hazards/floor/shared/animations/warning.dat + + Variant + Freeze + Warning Flash Size + 2x2 + + + + + + world/dynamic/traps_n_hazards/floor/freeze/animations/start_2x2.dat + + + + + + + + + + Traps and Hazards/Trap, floor + + Damage Size + 2x2 + Split Damage Type + ELEMENTAL + Status Infliction + Freeze + + + + + + + + + + + + Dynamic/Traps and Hazards/Floor/Poison + + + UP Animation + implementation.sprite.states[2].animation + + + + Warning and Damage Size + + + Intersect Shape + implementation.handlers[0].shape.shape + + + Damage Size + implementation.handlers[0].action.action.fire_action["Damage Size"], implementation.sprite.states[1].animation["Warning Flash Size"] + + + + + + 2x2 + + Damage Size + 2x2 + Intersect Shape + + 1.5 + 1.5 + + + + + + 3x2 + + Damage Size + 3x2 + Intersect Shape + + 1.5 + 2.5 + + + + + + 3x3 + + Damage Size + 3x3 + Intersect Shape + + 2.5 + 2.5 + + + + + + 5x2 + + Damage Size + 5x2 + Intersect Shape + + 1.5 + 4.5 + + + + + + 5x5 + + Damage Size + 5x5 + Intersect Shape + + 4.5 + 4.5 + + + + + 2x2 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + + world/dynamic/traps_n_hazards/floor/shared/actor_base.dat + + + + + world/dynamic/traps_n_hazards/floor/shared/animations/stop.dat + + + + + world/dynamic/traps_n_hazards/floor/shared/animations/warning.dat + + Variant + Poison + Warning Flash Size + 2x2 + + + + + + world/dynamic/traps_n_hazards/floor/poison/animations/start_2x2.dat + + + + + + + + + + Traps and Hazards/Trap, floor + + Damage Size + 2x2 + Split Damage Type + ELEMENTAL + Status Infliction + Poison + + + + + + + + + 0 + 0 + + + + Dynamic/Traps and Hazards/Floor/Shock + + + UP Animation + implementation.sprite.states[2].animation + + + + Warning and Damage Size + + + Intersect Shape + implementation.handlers[0].shape.shape + + + Damage Size + implementation.handlers[0].action.action.fire_action["Damage Size"], implementation.sprite.states[1].animation["Warning Flash Size"] + + + + + + 2x2 + + Damage Size + 2x2 + Intersect Shape + + 1.5 + 1.5 + + + + + + 3x2 + + Damage Size + 3x2 + Intersect Shape + + 1.5 + 2.5 + + + + + + 3x3 + + Damage Size + 3x3 + Intersect Shape + + 2.5 + 2.5 + + + + + + 5x2 + + Damage Size + 5x2 + Intersect Shape + + 1.5 + 4.5 + + + + + + 5x5 + + Damage Size + 5x5 + Intersect Shape + + 4.5 + 4.5 + + + + + 2x2 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + + world/dynamic/traps_n_hazards/floor/shared/actor_base.dat + + + + + world/dynamic/traps_n_hazards/floor/shared/animations/stop.dat + + + + + world/dynamic/traps_n_hazards/floor/shared/animations/warning.dat + + Variant + Shock + Warning Flash Size + 2x2 + + + + + + world/dynamic/traps_n_hazards/floor/shock/animations/start_2x2.dat + + + + + + + + + + Traps and Hazards/Trap, floor + + Damage Size + 2x2 + Split Damage Type + ELEMENTAL + Status Infliction + Shock + + + + + + + + + 0 + 0 + + + + Dynamic/Traps and Hazards/Floor/Spikes + + + Model + implementation.sprite.model["Attachment"] + + + + Warning and Damage Size + + + Intersect Shape + implementation.handlers[0].shape.shape + + + Damage Size + implementation.handlers[0].action.action.fire_action["Damage Size"], implementation.sprite.states[1].animation["Warning Flash Size"] + + + + + + 1x1 + + + 2x2 + D + 2x2 + Da + 2x2 + Dam + 2x2 + Dama + 2x2 + Damag + 2x2 + Damage + 2x2 + Damage S + 2x2 + Damage Si + 2x2 + Damage Siz + 2x2 + Damage Size + 1x1 + Intersect Shape + + 0.5 + 0.5 + + + + + + 2x1 + + Damage Size + 2x1 + Intersect Shape + + 0.5 + 1.5 + + + + + + 2x2 + + Damage Size + 2x2 + Intersect Shape + + 1.5 + 1.5 + + + + + + 3x2 + + Damage Size + 3x2 + Intersect Shape + + 1.5 + 2.5 + + + + + + 3x3 + + Damage Size + 3x3 + Intersect Shape + + 2.5 + 2.5 + + + + + + 5x2 + + Damage Size + 5x2 + Intersect Shape + + 1.5 + 4.5 + + + + + + 5x5 + + Damage Size + 5x5 + Intersect Shape + + 4.5 + 4.5 + + + + + 2x2 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + + world/dynamic/traps_n_hazards/floor/shared/actor_base_attach.dat + + Attachment + + + + + + + world/dynamic/traps_n_hazards/floor/spikes/animations/retract.dat + + + + + world/dynamic/traps_n_hazards/floor/spikes/animations/warning.dat + + Variant + Spike + Warning Flash Size + 2x2 + + + + + + world/dynamic/traps_n_hazards/floor/spikes/animations/extend.dat + + + + + + (tag 1) + + + + + + + Traps and Hazards/Trap, floor + + Damage Size + 2x2 + Split Damage Type + PIERCING + Status Infliction + None + + + + + + + + + 0 + 0 + + + + Dynamic/Traps and Hazards/Siege Wheel/Parts/Wheel + + + Fuse + implementation.fuse + + + + + + world/dynamic/traps_n_hazards/siegewheel/model_wheel.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/world/props/wooden_crash_05.ogg + Gain + 1.0 + Pitch adjust + Lower 2 + Range + Medium + + + Transform + + + Transient + + world/dynamic/traps_n_hazards/siegewheel/fx_landingdebri.dat + + + + true + + + 2.75 + + + + + + + + + Monster/Damage/Attack Base + + 8 + true + + + + Monster/Damage/Attack Base -10 + + 2 + true + + + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + 2.0, 0.0 + 1000 + 10 + + + + + 3 + true + 0.01 + 10000 + + + + Dynamic/Traps and Hazards/Siege Wheel/Wheel Launcher + + + Interval + implementation.behavior["Interval"] + + + Wheel Fuse + implementation.attacks[0].ref["Fuse"] + + + Wave Tag + implementation.tags.tags[2] + + + + + + world/dynamic/traps_n_hazards/siegewheel/model_wheellauncher.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/world/props/wooden_crash_05.ogg + Gain + 1.0 + Pitch adjust + Lower 2 + Range + Medium + + + Transform + + + Transient + + world/dynamic/traps_n_hazards/siegewheel/fx_landingdebri.dat + + + + 2.0 + + + + world/dynamic/traps_n_hazards/siegewheel/animations/animation_idle.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Wood + + Pitch shift + Lower 1 + + + Transform + + 1.25 + + Transient + + particle/fx_gethit_monster.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + 1.7 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 4.0 + 2.0 + + 160 + 0 + 0.0 + 0.0 + + Traps and Hazards/Wheel Launcher + + 120 + 800 + 1 + 30 + + Monster/Heal/Heal Base +05 + + 2 + 0.01 + true + 30 + 667 + 1 + 1000 + 0.0 + + + + Dynamic/Traps and Hazards/SiegeWheel + + Fire Speed + 1.0 + Fuse + 10000 + + + + + + + + + + + + + + 3.0 + 3.0 + + + 2.0, 0.0 + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + + + + + + + + Environment/Music + + + File + implementation.sprite.model["File"] + + + Stack + implementation.sprite.model["Stack"] + + + Override + implementation.sprite.model["Override"] + + + Fade In + implementation.sprite.model["Fade In"] + + + Fade Out + implementation.sprite.model["Fade Out"] + + + Tag + implementation.tags.tags[0] + + + Destruction Transient + implementation.sprite.destruction_transient + + + + + 0 + + world/environment/global_music_stack.dat + + Fade In + 0.0 + Fade Out + 0.0 + File + + Gain + 1.0 + Override + false + Stack + default + + + + model/scripted/play_sound_clip.dat + + File + + Gain + 1.0 + + + + + + + (tag 1) + + 0 + 0 + + + + Item/Consumable/Base + + + Model + implementation.sprite.model + + + Action + implementation.pickup_action + + + Party + implementation.party + + + Pickup Transient + implementation.sprite.pickupTransient + + + Sounder + implementation.sprite.destruction_transient["Sounder"] + + + Radius + implementation.shape.radius + + + Lifespan + implementation.lifespan + + + + + + item/drop/model.dat + + Icon Halo + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 519 + + + 774 + + + 1025 + + + File + particle/texture/icon/icon_heart_small.png + + + Variant + item + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/player_pickup.ogg + Gain + 1.0 + Range + Short + + + Transform + + + Transient + + particle/fx_pickupitem.dat + + + + + + 0.4 + + 16 + 10 + 16 + 3 + + 1 + + + + + Item/Consumable/Base (Vacuum) + + + Model + implementation.sprite.model + + + Action + implementation.pickup_action + + + Pickup Transient + implementation.sprite.pickupTransient + + + Sounder + implementation.sprite.destruction_transient["Sounder"] + + + + + + item/drop/model.dat + + Icon Halo + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 519 + + + 774 + + + 1025 + + + File + particle/texture/icon/icon_heart_small.png + + + Variant + item + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/player_pickup.ogg + Gain + 1.0 + Range + Short + + + Transform + + + Transient + + particle/fx_pickupitem.dat + + + + + + 0.4 + + 16 + 10 + 16 + 3 + 2.0 + 8.0 + + 1 + + + + + Item/Consumable/Crowns/Copper Crown + + + Item/Consumable/Base (Vacuum) + + Action + + 1 + + Model + + item/consumable/crown/model.dat + + color + copper + + + Pickup Transient + + particle/fx_getcoin.dat + + Coin type + Copper + + + Sounder + + Clip/Default (Gain) + + File + sound/effect/item/coin_acquire_01.ogg + Gain + 0.7 + Range + Medium + + + + + + + + Item/Consumable/Crowns/Copper-Silver Crown + + + Item/Consumable/Base (Vacuum) + + Action + + 5 + + Model + + item/consumable/crown/model.dat + + color + copper-silver + + + Pickup Transient + + particle/fx_getcoin.dat + + Coin type + Copper-Silver + + + Sounder + + Clip/Default (Gain) + + File + sound/effect/item/coin_acquire_01.ogg + Gain + 0.7 + Range + Medium + + + + + + + + Item/Consumable/Crowns/Gold Crown + + + Item/Consumable/Base (Vacuum) + + Action + + 50 + + Model + + item/consumable/crown/model.dat + + color + gold + + + Pickup Transient + + particle/fx_getcoin.dat + + Coin type + Gold + + + Sounder + + Clip/Default (Gain) + + File + sound/effect/item/coin_acquire_02.ogg + Gain + 0.7 + Range + Medium + + + + + + + + Item/Consumable/Crowns/Silver Crown + + + Item/Consumable/Base (Vacuum) + + Action + + 10 + + Model + + item/consumable/crown/model.dat + + color + silver + + + Pickup Transient + + particle/fx_getcoin.dat + + Coin type + Silver + + + Sounder + + Clip/Default (Gain) + + File + sound/effect/item/coin_acquire_02.ogg + Gain + 0.7 + Range + Medium + + + + + + + + Item/Consumable/Crowns/Silver-Gold Crown + + + Item/Consumable/Base (Vacuum) + + Action + + 25 + + Model + + item/consumable/crown/model.dat + + color + silver-gold + + + Pickup Transient + + particle/fx_getcoin.dat + + Coin type + Silver-Gold + + + Sounder + + Clip/Default (Gain) + + File + sound/effect/item/coin_acquire_02.ogg + Gain + 0.7 + Range + Medium + + + + + + + + Item/Consumable/Hearts/Dev/Omegapod + + + Item/Equip + + Dungeon Item + + Gear/Dungeon/Vitapod/Health +15 + + Model + + item/consumable/vitapod/model.dat + + Variant + sword + number + 15 + + + + + + + + Item/Consumable/Hearts/Dev/Super Vitapod + + + Item/Equip + + Dungeon Item + + Gear/Dungeon/Vitapod/Health +03 + + Model + + item/consumable/vitapod/model.dat + + Variant + sword + number + 3 + + + + + + + + Item/Consumable/Hearts/Dev/Vitapod + + + Item/Equip + + Dungeon Item + + Gear/Dungeon/Vitapod/Health +01 + + Model + + item/consumable/vitapod/model.dat + + Variant + sword + number + 1 + + + + + + + + Item/Consumable/Hearts/Heart + + + Item/Consumable/Base + + Action + + 40 + + Lifespan + 90000 + Model + + item/consumable/heart/model.dat + + Variant + small + + + Party + true + Pickup Transient + + Radius + 0.4 + Sounder + + Clip/Default (Gain) + + File + sound/effect/item/heart_acquire_01.ogg + Gain + 0.8 + Range + Medium + + + + + + + + Item/Consumable/Hearts/Heart 2 + + + Item/Consumable/Base + + Action + + 80 + + Lifespan + 90000 + Model + + item/consumable/heart/model.dat + + Variant + medium + + + Party + true + Pickup Transient + + Radius + 0.4 + Sounder + + Clip/Default (Gain) + + File + sound/effect/item/heart_acquire_01.ogg + Gain + 0.8 + Range + Medium + + + + + + + + Item/Consumable/Hearts/Heart 3 + + + Item/Consumable/Base + + Action + + 120 + + Lifespan + 90000 + Model + + item/consumable/heart/model.dat + + Variant + large + + + Party + true + Pickup Transient + + Radius + 0.4 + Sounder + + Clip/Default (Gain) + + File + sound/effect/item/heart_acquire_01.ogg + Gain + 0.8 + Range + Medium + + + + + + + + Item/Consumable/Heat/(Dev) Super Ember + + + Item/Consumable/Base (Vacuum) + + Action + + 1 + + Model + + item/consumable/heat/model.dat + + Size + Large + + + Pickup Transient + + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/heat_acquire.ogg + Gain + 1.0 + Range + Medium + + + + + + + + Item/Consumable/Heat/Ember 1 + + + Item/Consumable/Base (Vacuum) + + Action + + 1 + + Model + + item/consumable/heat/model.dat + + Size + Small + + + Pickup Transient + + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/heat_acquire.ogg + Gain + 1.0 + Range + Medium + + + + + + + + Item/Consumable/Heat/Ember 2 + + + Item/Consumable/Base (Vacuum) + + Action + + 5 + + Model + + item/consumable/heat/model.dat + + Size + Small + + + Pickup Transient + + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/heat_acquire.ogg + Gain + 1.0 + Range + Medium + + + + + + + + Item/Consumable/Heat/Ember 3 + + + Item/Consumable/Base (Vacuum) + + Action + + 10 + + Model + + item/consumable/heat/model.dat + + Size + Medium + + + Pickup Transient + + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/heat_acquire.ogg + Gain + 1.0 + Range + Medium + + + + + + + + Item/Consumable/Heat/Ember 4 + + + Item/Consumable/Base (Vacuum) + + Action + + 25 + + Model + + item/consumable/heat/model.dat + + Size + Large + + + Pickup Transient + + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/heat_acquire.ogg + Gain + 1.0 + Range + Medium + + + + + + + + Item/Consumable/Heat/Ember 5 + + + Item/Consumable/Base (Vacuum) + + Action + + 50 + + Model + + item/consumable/heat/model.dat + + Size + Large + + + Pickup Transient + + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/heat_acquire.ogg + Gain + 1.0 + Range + Medium + + + + + + + + Item/Consumable/Star/Fire + + + Item/Consumable/Base + + Action + + 1 + + Lifespan + 0 + Model + + item/consumable/star/model.dat + + color + fire + + + Party + false + Pickup Transient + + Radius + 0.4 + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/player_pickup.ogg + Gain + 1.0 + Range + Short + + + + + + + + Item/Consumable/Star/Frozen + + + Item/Consumable/Base + + Action + + 1 + + Lifespan + 0 + Model + + item/consumable/star/model.dat + + color + frozen + + + Party + false + Pickup Transient + + Radius + 0.4 + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/player_pickup.ogg + Gain + 1.0 + Range + Short + + + + + + + + Item/Consumable/Star/Impact + + + Item/Consumable/Base + + Action + + 1 + + Lifespan + 0 + Model + + item/consumable/star/model.dat + + color + impact + + + Party + false + Pickup Transient + + Radius + 0.4 + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/player_pickup.ogg + Gain + 1.0 + Range + Short + + + + + + + + Item/Consumable/Star/Lightning + + + Item/Consumable/Base + + Action + + 1 + + Lifespan + 0 + Model + + item/consumable/star/model.dat + + color + lightning + + + Party + false + Pickup Transient + + Radius + 0.4 + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/player_pickup.ogg + Gain + 1.0 + Range + Short + + + + + + + + Item/Consumable/Star/Rock + + + Item/Consumable/Base + + Action + + 1 + + Lifespan + 0 + Model + + item/consumable/star/model.dat + + color + rock + + + Party + false + Pickup Transient + + Radius + 0.4 + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/player_pickup.ogg + Gain + 1.0 + Range + Short + + + + + + + + Item/Consumable/Star/Slimey + + + Item/Consumable/Base + + Action + + 1 + + Lifespan + 0 + Model + + item/consumable/star/model.dat + + color + slimey + + + Party + false + Pickup Transient + + Radius + 0.4 + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/player_pickup.ogg + Gain + 1.0 + Range + Short + + + + + + + + Item/Consumable/Star/Venom + + + Item/Consumable/Base + + Action + + 1 + + Lifespan + 0 + Model + + item/consumable/star/model.dat + + color + venom + + + Party + false + Pickup Transient + + Radius + 0.4 + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/player_pickup.ogg + Gain + 1.0 + Range + Short + + + + + + + + Item/Drop + + + Variant + implementation.sprite.model["Variant"] + + + Texture + implementation.sprite.model["Texture"], implementation.sprite.pickup_transient["Texture"]["Texture"] + + + Item + implementation.pickup_action.actions[0].item, implementation.sprite.tooltip_item + + + Loot + implementation.pickup_action.actions[0].loot, implementation.predistribute + + + Distribute + implementation.pickup_action.actions[0].distribute + + + Target + implementation.pickup_action.actions[0].target + + + Dropped + implementation.pickup_action.actions[0].dropped, implementation.dropped + + + Extra Pickup Action + implementation.pickup_action.actions[1] + + + + + + item/drop/model.dat + + Icon Halo + + item/drop/ambient_rim.dat + + Fixed + + + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 513 + + + 769 + + + 1025 + + + File + ui/icon/inventory/icon_armor.png + + + Variant + sword + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/player_pickup.ogg + Gain + 2.5 + Range + Medium + + + Transform + + + Transient + + particle/fx_pickupitem.dat + + + + + particle/fx_getitem.dat + + Texture + + item/drop/icon.dat + + Halo + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 516 + + + 771 + + + 1026 + + + File + ui/icon/inventory/icon_armor.png + + + + + + + + + 0.4 + + 16 + 10 + 16 + 3 + + + + + + + + true + + + + + Item/Equip + + + Dungeon Item + implementation.pickup_action.item + + + Model + implementation.sprite.model + + + + + + item/consumable/vitapod/model.dat + + Variant + sword + number + + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/player_pickup.ogg + Gain + 2.5 + Range + Medium + + + + + + + 0.4 + + 16 + 10 + 16 + 3 + + + + + + + + Item/Key/Silver Key + + + Item/Drop + + Distribute + true + Dropped + false + Extra Pickup Action + + + Item + + Pickup/Key/Silver Key + + Loot + true + Target + + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 516 + + + 770 + + + 1048 + + + File + ui/icon/inventory/icon_key.png + + + Variant + item + + + + + + Item/Pickups/Capsule/Health Capsule + + + Item/Drop + + Distribute + false + Dropped + false + Extra Pickup Action + + + Item + + Pickup/Capsule/Health Capsule + + Loot + false + Target + + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 519 + + + 774 + + + 1025 + + + File + ui/icon/inventory/icon_capsule.png + + + Variant + item + + + + + + Item/Pickups/Vial/Curse Vial + + + Item/Drop + + Distribute + false + Dropped + false + Extra Pickup Action + + + Item + + Pickup/Vial/Curse Vial + + Loot + false + Target + + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 519 + + + 776 + + + 1030 + + + File + ui/icon/inventory/icon_vial.png + + + Variant + item + + + + + + Item/Pickups/Vial/Fire Vial + + + Item/Drop + + Distribute + false + Dropped + false + Extra Pickup Action + + + Item + + Pickup/Vial/Fire Vial + + Loot + false + Target + + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 523 + + + 778 + + + 1038 + + + File + ui/icon/inventory/icon_vial.png + + + Variant + item + + + + + + Item/Pickups/Vial/Freeze Vial + + + Item/Drop + + Distribute + false + Dropped + false + Extra Pickup Action + + + Item + + Pickup/Vial/Freeze Vial + + Loot + false + Target + + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 540 + + + 770 + + + 1025 + + + File + ui/icon/inventory/icon_vial.png + + + Variant + item + + + + + + Item/Pickups/Vial/Poison Vial + + + Item/Drop + + Distribute + false + Dropped + false + Extra Pickup Action + + + Item + + Pickup/Vial/Poison Vial + + Loot + false + Target + + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 531 + + + 788 + + + 1042 + + + File + ui/icon/inventory/icon_vial.png + + + Variant + item + + + + + + Item/Pickups/Vial/Shock Vial + + + Item/Drop + + Distribute + false + Dropped + false + Extra Pickup Action + + + Item + + Pickup/Vial/Shock Vial + + Loot + false + Target + + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 535 + + + 792 + + + 1046 + + + File + ui/icon/inventory/icon_vial.png + + + Variant + item + + + + + + Item/Pickups/Vial/Sleep Vial + + + Item/Drop + + Distribute + false + Dropped + false + Extra Pickup Action + + + Item + + Pickup/Vial/Sleep Vial + + Loot + false + Target + + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 539 + + + 792 + + + 1041 + + + File + ui/icon/inventory/icon_vial.png + + + Variant + item + + + + + + Item/Pickups/Vial/Stun Vial + + + Item/Drop + + Distribute + false + Dropped + false + Extra Pickup Action + + + Item + + Pickup/Vial/Stun Vial + + Loot + false + Target + + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 516 + + + 784 + + + 1038 + + + File + ui/icon/inventory/icon_vial.png + + + Variant + item + + + + + + Item/Pickups/Vial/Super Freeze Vial + + + Item/Drop + + Distribute + false + Dropped + false + Extra Pickup Action + + + Item + + Pickup/Vial/Super Freeze Vial + + Loot + false + Target + + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 540 + + + 770 + + + 1025 + + + File + ui/icon/inventory/icon_vial-super.png + + + Variant + item + + + + + + Item/Token + + + Variant + implementation.actor["Variant"] + + + Texture + implementation.actor["Texture"], implementation.actor["Extra Pickup Action"].effect["Texture"] + + + Item + implementation.actor["Item"] + + + + + Item/Drop + + Distribute + false + Dropped + false + Extra Pickup Action + + + Player/Pickup Item + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 516 + + + 771 + + + 1026 + + + File + ui/icon/inventory/icon_armor.png + + + + + + Item + + Loot + true + Target + + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 513 + + + 769 + + + 1025 + + + File + ui/icon/inventory/icon_armor.png + + + Variant + sword + + + + + + Mineral/Base + + + Meta Mineral + implementation.handlers[0].action.actions[0].item + + + Model + implementation.sprite.model + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + world/dynamic/block/starlink/model.dat + + Color + mineral-Green + + + + 0.6 + + + + + + + + 0.3 + + + + + + + + + + + + action + + + + + + + + Orbital/Core + + + Starting Rotation + implementation.starting_rotation + + + Orbit Radius + implementation.orbit_radius + + + Speed + implementation.speed + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.3 + Element + Simple + Flare + true + color + swarm + + + + + 0.15 + + + + + + 25.0 + 4 + + + + + 0 + 4 + 0.75 + false + + + + Orbital/Fire + + + Starting Rotation + implementation.starting_rotation + + + Orbit Radius + implementation.orbit_radius + + + Speed + implementation.speed + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.3 + Element + Simple + Flare + true + color + yellow + + + + + 0.15 + + + + + + 25.0 + 4 + + + + + 0 + 4 + 0.75 + false + + + + Orbital/Test + + + Starting Rotation + implementation.starting_rotation + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.2 + Core Min + 0.1 + Element + Simple + Flare + false + color + yellow + + + + + 0.15 + + + + + + + + 25.0 + 2 + + + + + 0 + 9 + 0.75 + + + + Shop/Emberlight/General Goods + + + + character/pc/model.dat + + Armor + + character/npc/monster/gremlin/mender/model_static.dat + + variant + Ember + + + Helmet + + Label + + Material + + Shield + + Shield Away + + Weapon + + + + 1.2 + + + + character/pc/idle.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking.dat + + + + + + + + + + + + n.em_general + t.em_general + 0 + + model/viewer/sounder.dat + + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/monster/gremlin/gremlin_chat_upset.ogg + Gain + 1.0 + Pitch adjust + Default + Range + Medium + + + Viewer Extents + 16 + + + + character/pc/emotes/animation_laugh.dat + + Sound + sound/effect/monster/gremlin/gremlin_chat_taunt.ogg + + + DAY + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Shop/Haven/Alchemy + + + Cost + implementation.sprite.model["Cost"] + projectx + + + + + + world/dynamic/energy/vendingmachine_01.dat + + Colorization + Yellow + Cost + Alchemy + Variant + Vial + + + + + + + + + + + + 8 + 15 + + + + Shop/Haven/Armor and Helms + + + Shop/Haven/Parts/Open Shop, Idle + + Catalog + + Catalog Cycle + DAY + Hat + + character/npc/stranger/mask/model.dat + + Variant + Shield + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Variant + Green + + + Robe - Colorization + Blue-Brown + Robe Variant + Merchant Tabard + Shop - Level + 0 + Shop - Name + m.haven_armor_1n + Shop - Title + m.haven_armor_1t + Shop - Type + CROWN + Snipes + Pack (01) + Unique Per Knight + true + + + + + + Shop/Haven/Exchange + + + + character/npc/stranger/model.dat + + Colors + Red-Grey + Hat + + character/npc/stranger/mask/model.dat + + Variant + Energy + + + Pack + + Robes + Merchant Tabard + Snipes + None + + + 1.2 + + + + character/npc/stranger/standing_idle.dat + + + + 0.5 + + character/npc/stranger/standing_idle2.dat + + + + 0.1 + + character/npc/stranger/standing_idle3.dat + + + + + + 6.0 + + character/npc/stranger/walking.dat + + + + + + + + + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Shop/Haven/Guild 1 + + + Shop/Haven/Parts/Open Shop, Idle + + Catalog + + Catalog Cycle + CONSTANT + Hat + + character/npc/stranger/mask/model.dat + + Variant + Simple + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Variant + Green + + + Robe - Colorization + Yellow-Purple + Robe Variant + Merchant Tabard + Shop - Level + 0 + Shop - Name + m.haven_guild + Shop - Title + t.haven_guild + Shop - Type + CROWN + Snipes + Both Shoulders (01) + Unique Per Knight + false + + + + + + Shop/Haven/Guns and Bombs + + + Shop/Haven/Parts/Open Shop, Idle + + Catalog + + Catalog Cycle + DAY + Hat + + character/npc/stranger/mask/model.dat + + Variant + Weapon + + + Pack + + Robe - Colorization + Drab-Rust + Robe Variant + Merchant Tabard + Shop - Level + 0 + Shop - Name + m.haven_weapon_2n + Shop - Title + m.haven_weapon_2t + Shop - Type + CROWN + Snipes + Left Shoulder (02) + Unique Per Knight + true + + + + + + Shop/Haven/Parts/Crafter, Idle + + + Robe Variant + implementation.sprite.model["Robes"] + + + Robe - Colorization + implementation.sprite.model["Colors"] + + + Hat + implementation.sprite.model["Hat"] + + + Pack + implementation.sprite.model["Pack"] + + + Snipes + implementation.sprite.model["Snipes"] + + + Shop - Name + implementation.handlers[0].action.actions[0].name + + + Shop - Title + implementation.handlers[0].action.actions[0].title + + + Shop - Type + implementation.handlers[0].action.actions[0].type + + + + + + character/npc/stranger/model.dat + + Colors + Yellow-Purple + Hat + + character/npc/stranger/hat_mining/model.dat + + Variant + Brown + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Variant + Green + + + Robes + hexagons + Snipes + Both Shoulders (01) + + + 1.2 + + + + character/npc/stranger/standing_idle.dat + + + + 0.5 + + character/npc/stranger/standing_idle2.dat + + + + 0.1 + + character/npc/stranger/standing_idle3.dat + + + + + + 6.0 + + character/npc/stranger/walking.dat + + + + + + + + + + + + m.haven_craft_2n + m.haven_craft_2t + + model/viewer/sounder.dat + + Sounder + + Custom/NPCs/Strangers/Speech/Default/Greeting + + Viewer Extents + 16 + + + + character/npc/stranger/emote_goodbye.dat + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Shop/Haven/Parts/Open Shop, Idle + + + Robe Variant + implementation.sprite.model["Robes"] + + + Robe - Colorization + implementation.sprite.model["Colors"] + + + Hat + implementation.sprite.model["Hat"] + + + Pack + implementation.sprite.model["Pack"] + + + Snipes + implementation.sprite.model["Snipes"] + + + Shop - Name + implementation.handlers[0].action.actions[0].name + + + Shop - Title + implementation.handlers[0].action.actions[0].title + + + Shop - Level + implementation.handlers[0].action.actions[0].level + + + Shop - Type + implementation.handlers[0].action.actions[0].type + + + Catalog + implementation.handlers[0].action.actions[0].catalog + + + Catalog Cycle + implementation.handlers[0].action.actions[0].catalog_cycle + + + Unique Per Knight + implementation.handlers[0].action.actions[0].adjust_cycle_per_knight + + + + + + character/npc/stranger/model.dat + + Colors + Yellow-Purple + Hat + + character/npc/stranger/hat_mining/model.dat + + Variant + Brown + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Variant + Green + + + Robes + hexagons + Snipes + Both Shoulders (01) + + + 1.2 + + + + character/npc/stranger/standing_idle.dat + + + + 0.5 + + character/npc/stranger/standing_idle2.dat + + + + 0.1 + + character/npc/stranger/standing_idle3.dat + + + + + + 6.0 + + character/npc/stranger/walking.dat + + + + + + + + + + + + m.haven_armor_1n + m.haven_armor_1t + 0 + + character/npc/stranger/shop_loop.dat + + + model/viewer/sounder.dat + + Sounder + + Custom/NPCs/Strangers/Speech/Default/Greeting + + Viewer Extents + 16 + + + + character/npc/stranger/emote_goodbye.dat + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Shop/Haven/Recipes + + + Shop/Haven/Parts/Open Shop, Idle + + Catalog + + Catalog Cycle + DAY + Hat + + character/npc/stranger/mask/model.dat + + Variant + Potion + + + Pack + + Robe - Colorization + Green-Seafoam + Robe Variant + Merchant Tabard + Shop - Level + 0 + Shop - Name + m.haven_craft_2n + Shop - Title + m.haven_craft_2t + Shop - Type + CROWN + Snipes + Left Shoulder (02) + Unique Per Knight + true + + + + + + Shop/Haven/Shields and Trinkets + + + Shop/Haven/Parts/Open Shop, Idle + + Catalog + + Catalog Cycle + DAY + Hat + + character/npc/stranger/mask/model.dat + + Variant + Shield + + + Pack + + Robe - Colorization + Blue-Brown + Robe Variant + hexagons + Shop - Level + 0 + Shop - Name + m.haven_armor_2n + Shop - Title + m.haven_armor_2t + Shop - Type + CROWN + Snipes + Both Shoulders (02) + Unique Per Knight + true + + + + + + Shop/Haven/Spiral Quartermaster + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Defender-Calibur + Helmet + Double Ploom + Pack + Merchant Pack + Weapon Equip + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + m.spiral_qm + t.spiral_qm + 0 + + character/pc/emotes/animation_salute.dat + + + + + + + + + 8 + 15 + 0.66 + + + + Shop/Haven/Swords + + + Shop/Haven/Parts/Open Shop, Idle + + Catalog + + Catalog Cycle + DAY + Hat + + character/npc/stranger/mask/model.dat + + Variant + Weapon + + + Pack + + Robe - Colorization + Red-Brown + Robe Variant + Merchant Tabard + Shop - Level + 0 + Shop - Name + m.haven_weapon_1n + Shop - Title + m.haven_weapon_1t + Shop - Type + CROWN + Snipes + Both Shoulders (01) + Unique Per Knight + true + + + + + + Shop/Haven/Token Trader + + + + character/npc/crew/model_tokenmaster.dat + + Animation + + character/pc/idle.dat + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + m.token_trader + t.token_trader + 0 + TOKEN + + character/pc/emotes/animation_salute.dat + + + + + + + + + 8 + 15 + 0.66 + + + + Shop/Haven/Upgrades + + + Shop/Haven/Parts/Open Shop, Idle + + Catalog + + Catalog Cycle + CONSTANT + Hat + + character/npc/stranger/mask/model.dat + + Variant + Energy + + + Pack + + Robe - Colorization + Yellow-Purple + Robe Variant + Merchant Tabard + Shop - Level + 0 + Shop - Name + m.haven_upgrade + Shop - Title + t.haven_upgrade + Shop - Type + ENERGY + Snipes + Both Shoulders (03) + Unique Per Knight + false + + + + + + Shop/Moorcroft Manor/Armor 1 + + + + character/npc/monster/reaper/model.dat + + variant + grey + + + + + + character/npc/monster/spookat/standing.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking.dat + + + + + + + + + + + + m.moorcroft_armor_1n + m.moorcroft_armor_1t + 0 + DAY + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Shop/Moorcroft Manor/Armor 2 + + + + character/npc/monster/reaper/model.dat + + variant + grey + + + + + + character/npc/monster/spookat/standing.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking.dat + + + + + + + + + + + + m.moorcroft_armor_2n + m.moorcroft_armor_2t + 0 + DAY + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Shop/Rescue Camp/General Goods + + + Shop/Haven/Parts/Open Shop, Idle + + Catalog + + Rescue Camp/General Goods + + Catalog Cycle + CONSTANT + Hat + + character/npc/stranger/hat_mining/model.dat + + Variant + Steel + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Variant + Green + + + Robe - Colorization + Drab-Steel + Robe Variant + Merchant Tabard + Shop - Level + 0 + Shop - Name + m.rc_general + Shop - Title + t.rc_general + Shop - Type + CROWN + Snipes + None + Unique Per Knight + false + + + + + + Shop/Rescue Camp/Upgrades + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Hood + Pack + None + Weapon Equip + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + n.rc_upgrade + t.rc_upgrade + 0 + ENERGY + + + + + + + + 8 + 15 + 0.66 + + + + Shop/Test/Free Items + + + + character/pc/model.dat + + Armor + + item/gear/armor/doublebelt/model.dat + + Colorization + 272 + Variant + tan-teal-navy + + + Helmet + + item/gear/helm/nose/model.dat + + Colorization + 272 + Variant + green-tan + + + Label + + Material + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + defender + + + Shield Away + True + Weapon + + + + 1.1 + + + + character/pc/idle.dat + + + + + + 6.0 + + + + + 0.5 + + + + + m.upgrader_1n + m.upgrader_1t + 0 + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Shop/Test/Free Loot + + + Shop/Haven/Parts/Open Shop, Idle + + Catalog + + Catalog Cycle + CONSTANT + Hat + + character/npc/stranger/mask/model.dat + + Variant + Simple + + + Pack + + Robe - Colorization + Drab-Tan + Robe Variant + Merchant Tabard + Shop - Level + 0 + Shop - Name + m.free_loot1 + Shop - Title + m.free_loot2 + Shop - Type + CROWN + Snipes + Both Shoulders (02) + Unique Per Knight + false + + + + + + Shop/Test/Limit + + + + character/pc/model.dat + + Armor + + item/gear/armor/doublebelt/model.dat + + Colorization + 272 + Variant + tan-teal-navy + + + Helmet + + item/gear/helm/nose/model.dat + + Colorization + 272 + Variant + green-tan + + + Label + + Material + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + defender + + + Shield Away + True + Weapon + + + + 1.1 + + + + character/pc/idle.dat + + + + + + 6.0 + + + + + 0.5 + + + + + m.upgrader_1n + m.upgrader_1t + 0 + DAY + true + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Shop/Test/Terminal + + + Shop/Haven/Parts/Open Shop, Idle + + Catalog + + Catalog Cycle + INSTANCE + Hat + + character/npc/stranger/mask/model.dat + + Variant + Shield + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Variant + Green + + + Robe - Colorization + Blue-Brown + Robe Variant + Merchant Tabard + Shop - Level + 0 + Shop - Name + m.haven_armor_1n + Shop - Title + m.haven_armor_1t + Shop - Type + CROWN + Snipes + Pack (01) + Unique Per Knight + false + + + + + + Shop/Test/Upgrader + + + + character/pc/model.dat + + Armor + + item/gear/armor/doublebelt/model.dat + + Colorization + 272 + Variant + tan-teal-navy + + + Helmet + + item/gear/helm/nose/model.dat + + Colorization + 272 + Variant + green-tan + + + Label + + Material + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + defender + + + Shield Away + True + Weapon + + + + 1.1 + + + + character/pc/idle.dat + + + + + + 6.0 + + + + + 0.5 + + + + + m.upgrader_1n + m.upgrader_1t + 0 + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Shop/Traveler/Parts/Traveler (Base) + + + Robe Variant + implementation.sprite.model["Robes"] + + + Robe - Colorization + implementation.sprite.model["Colors"] + + + Hat + implementation.sprite.model["Hat"] + + + Pack + implementation.sprite.model["Pack"] + + + Snipes + implementation.sprite.model["Snipes"] + + + Shop - Name + implementation.handlers[0].action.name + + + Shop - Title + implementation.handlers[0].action.title + + + Shop - Level + implementation.handlers[0].action.level + + + Catalog + implementation.handlers[0].action.catalog + + + + + + character/npc/stranger/model.dat + + Colors + Drab-Tan + Hat + + character/npc/stranger/hat_mining/model.dat + + Variant + Brown + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Variant + Green + + + Robes + Merchant Tabard + Snipes + None + + + 1.2 + + + + character/npc/stranger/standing_idle.dat + + + + 0.5 + + character/npc/stranger/standing_idle2.dat + + + + 0.1 + + character/npc/stranger/standing_idle3.dat + + + + + + 6.0 + + character/npc/stranger/walking.dat + + + + + + + + + + m.traveler_1 + t.traveler_1 + 0 + + model/viewer/sounder.dat + + Sounder + + Custom/NPCs/Strangers/Speech/Default/Greeting + + Viewer Extents + 16 + + + INSTANCE + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Shop/Traveler/Terminal Tier 1 + + + Shop/Traveler/Parts/Traveler (Base) + + Catalog + + Hat + + character/npc/stranger/hat_mining/model.dat + + Variant + Steel + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Variant + Green + + + Robe - Colorization + Drab-Tan + Robe Variant + Merchant Tabard + Shop - Level + 0 + Shop - Name + m.traveler_1 + Shop - Title + t.traveler_1 + Snipes + None + + + + + + Shop/Traveler/Terminal Tier 2 + + + Shop/Traveler/Parts/Traveler (Base) + + Catalog + + Hat + + character/npc/stranger/hat_mining/model.dat + + Variant + Steel + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Variant + Green + + + Robe - Colorization + Drab-Tan + Robe Variant + Merchant Tabard + Shop - Level + 0 + Shop - Name + m.traveler_1 + Shop - Title + t.traveler_1 + Snipes + None + + + + + + Shop/Traveler/Terminal Tier 3 + + + Shop/Traveler/Parts/Traveler (Base) + + Catalog + + Hat + + character/npc/stranger/hat_mining/model.dat + + Variant + Steel + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Variant + Green + + + Robe - Colorization + Drab-Tan + Robe Variant + Merchant Tabard + Shop - Level + 0 + Shop - Name + m.traveler_1 + Shop - Title + t.traveler_1 + Snipes + None + + + + + + Static/Gravestones/Grave mound, intersect Start + + + Static/Gravestones/Parts/Grave mound, intersect + + Handler + + + + + + + 2.0, 0.0 + 200 + 5 + + 4 + + + + Monster/Class {stc}/Family/Undead/Status - Zombie + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Static/Gravestones/Grave mound, intersect Stop + + + Static/Gravestones/Parts/Grave mound, intersect + + Handler + + + + + + + 2.0, 0.0 + 200 + 5 + + 4 + + + + Monster/Class {stc}/Family/Undead/Status - Zombie + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Static/Gravestones/Parts/Grave mound, intersect + + + Handler + implementation.handlers[0] + + + + + 2 + 1 + + world/prop/graveyard/gravepile.dat + + + + 0.6 + + + + + + + + + + 1.0 + 4 + + + 3.0, 0.0 + 200 + 5 + + + + + Monster/Single Family/Undead/Scaled - Dust Zombie + + Depth Offset + 3 + Tag + + + + + + + + + + + 0 + 0 + + + + Static/Gravestones/Static, small block + + + Static/Gravestones/Static, small planed + + Model + gravestone_02 + + + + + + Static/Gravestones/Static, small planed + + + Model + implementation.sprite.model["Model"] + + + + + + world/prop/graveyard/gravestone_set_statics.dat + + Model + gravestone_01 + + + + + 0.6 + 0.6 + + 3 + + + + Static/Gravestones/Static, small rounded + + + Static/Gravestones/Static, small planed + + Model + gravestone_03 + + + + + + \ No newline at end of file diff --git a/custom-configs/area.xml b/custom-configs/area.xml new file mode 100644 index 0000000..165fef3 --- /dev/null +++ b/custom-configs/area.xml @@ -0,0 +1,387 @@ + + + + + + + Player Enter/Base + + + Color + implementation.color + + + Trigger Condition + implementation.handlers[0].action.condition.conditions[1].conditions + + + Trigger Action + implementation.handlers[0].action.action + + + + + + + + + + + + + + + + + + + + 4 + + + + + + Player Enter/Chance Encounter + + + Trigger Action + implementation.area["Trigger Action"] + + + + + Player Enter/Base + + Color + 1.0, 1.0, 1.0, 1.0 + Trigger Action + + + Trigger Condition + + + + + + + + Player Enter/Spawn Activate + + + Trigger Action + implementation.area["Trigger Action"] + + + + + Player Enter/Base + + Color + 1.0, 1.0, 1.0, 1.0 + Trigger Action + + + + + Trigger Condition + + + + + + + + + + + + + + Portals/AB Portal + + + Destination + implementation.handlers[0].action.destination + + + + + + + + + + + + + Portals/Next Floor + + + + + + + + + + + + 4 + + + + + + Portals/Portal + + + Tag + implementation.tags.tags[0] + + + Scene ID + implementation.handlers[0].action.scene_id + + + Portal + implementation.handlers[0].action.portal + + + + + (tag 1) + + + + + + + + + + + + + Portals/To Town + + + Town Name + implementation.handlers[0].action.town_name + + + + + + + + + + + + + Portals/Town Portal + + + Destination Tag + implementation.tags.tags[0] + + + Town Name + implementation.handlers[0].action.town_name + + + Scene Id + implementation.handlers[0].action.scene_id + + + Portal + implementation.handlers[0].action.portal + + + + + (tag 1) + + + + + + + + + + + Triggers/Actor Removed Trigger + + + Actor Tag + implementation.handlers[0].target.tag + + + Action + implementation.handlers[0].action + + + + + + + + + + + Triggers/Doormat + + + Door Tag + implementation.area["Entered Action"].target.tag, implementation.area["Exited Action"].target.tag + + + + + Triggers/Player Standing + + + + + Triggers/Key Trigger + + + Door Tag + implementation.handlers[0].action.condition.conditions[1].target.tag, implementation.handlers[2].action.actions[0].action.target.tag, implementation.handlers[1].action.condition.conditions[1].target.tag + + + + + + + + + + + + + + + + + + + + + + + + + Triggers/Monster Detect + + + Monsters Gone + implementation.handlers[0].under_action + + + + + + + + + + + + + Triggers/Music Area + + + File + implementation.handlers[0].action.actor["File"] + + + Stack + implementation.handlers[0].action.actor["Stack"] + + + Fade In + implementation.handlers[0].action.actor["Fade In"] + + + Fade Out + implementation.handlers[0].action.actor["Fade Out"] + + + Tag + implementation.handlers[0].action.actor["Tag"], implementation.handlers[0].under_action.target.tag + + + + + + + + Environment/Music + + Fade In + 0.0 + Fade Out + 0.0 + File + + Override + true + Stack + default + Tag + Music + + + + + + + + + Triggers/Party Trigger + + + Door Tag + implementation.handlers[0].action.target.tag + + + Action + implementation.handlers[0].action + + + + + + + + + + + Triggers/Player Standing + + + Entered Action + implementation.handlers[0].action + + + Exited Action + implementation.handlers[0].under_action + + + + + + + + + + + \ No newline at end of file diff --git a/custom-configs/attack.xml b/custom-configs/attack.xml new file mode 100644 index 0000000..360ce7d --- /dev/null +++ b/custom-configs/attack.xml @@ -0,0 +1,25502 @@ + + + + + + + Character/Dev/Bad Dude + + + character/npc/monster/gremlin/animation/attack_1_start.dat + + Balloon + + + + + character/npc/monster/gremlin/animation/attack_1_fire.dat + + FX + + particle/fx_gremlinswing.dat + + Sound + sound/effect/monster/gremlin_thwack.ogg + + + + character/npc/monster/gremlin/animation/attack_1_end.dat + + 1.5 + 1000 + 667 + 983 + + 1.0, 0.0 + 100 + 1000 + + + + + Character/Dev/Bad Dude + + + + + + + Character/Dev/Jelly Cube + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 1.0 + + + + character/npc/monster/jellycube/attack_1_fire.dat + + + character/npc/monster/jellycube/attack_1_end.dat + + 2.5 + 1000 + 88 + 702 + + -1.5, 0.0 + 450 + 500 + + + + + Character/Dev/Jelly Damage + + Damage + + + + 35.0 + + + 5.0 + + + 5.0 + + + 40.0 + + + + Delay + 0 + + + + + + + + Character/Dev/Jelly Cube Heal + + + + + Base/Heal Source + + Current + 50 + Delay + 0 + Maximum + 0 + + + + + + + + Character/Dev/Jelly Cube Teleport + + 800 + 644 + 0 + + + + Base/Default + + Delay + 0 + + + + + + + + Character/NPC/Monster/Beast/Basilisk + + + character/npc/monster/chromalisk/animation/attack_start.dat + + Attack Flare + 1.0 + Attack land effect Scale + + 0.8 + 0.0, 0.14, 0.0 + + Flare Color + None + + + + character/npc/monster/chromalisk/animation/attack_fire.dat + + Attack Sound + sound/effect/monster/chromalisk_tongue.ogg + Spew + + particle/fx_chroma_spew_spittle.dat + + + + + character/npc/monster/chromalisk/animation/attack_end.dat + + Attack Sound, Outro + sound/effect/monster/chromalisk_gulp.ogg + + + 1.28 + 1.28 + 1000 + 567 + 1267 + + -0.25, 0.0 + 800 + 200 + + + + + Base/Damage Region Transformed + + Damage + + 65.0 + 4 + + Delay + 0 + Shape + + + 3.0 + 0.75 + + + 1.6, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Bull Chromalisk + + + character/npc/monster/chromalisk/animation/attack_start.dat + + Attack Flare + 1.0 + Attack land effect Scale + + 0.8 + 0.0, 0.14, 0.0 + + Flare Color + Normal + + + + character/npc/monster/chromalisk/animation/attack_fire.dat + + Attack Sound + sound/effect/monster/chromalisk_tongue.ogg + Spew + + particle/fx_chroma_spew_spittle.dat + + + + + character/npc/monster/chromalisk/animation/attack_end.dat + + Attack Sound, Outro + sound/effect/monster/chromalisk_gulp.ogg + + + 1.48 + 1.48 + 1000 + 567 + 1267 + false + + -0.4, 0.0 + 800 + 200 + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base + + 4 + + Delay + 560 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 3.0 + 0.75 + + + 1.6, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Chromalisk + + + character/npc/monster/chromalisk/animation/attack_start.dat + + Attack Flare + 1.0 + Attack land effect Scale + + 0.8 + 0.0, 0.14, 0.0 + + Flare Color + Normal + + + + character/npc/monster/chromalisk/animation/attack_fire.dat + + Attack Sound + sound/effect/monster/chromalisk_tongue.ogg + Spew + + particle/fx_chroma_spew_spittle.dat + + + + + character/npc/monster/chromalisk/animation/attack_end.dat + + Attack Sound, Outro + sound/effect/monster/chromalisk_gulp.ogg + + + 1.24 + 1.24 + 1000 + 567 + 1267 + false + + -0.25, 0.0 + 800 + 200 + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base + + 4 + + Delay + 560 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 3.0 + 0.75 + + + 1.6, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Chromalisk (Tut) + + + character/npc/monster/chromalisk/animation/attack_start.dat + + Attack Flare + 1.0 + Attack land effect Scale + + 0.8 + 0.0, 0.14, 0.0 + + Flare Color + Normal + + + + character/npc/monster/chromalisk/animation/attack_fire.dat + + Attack Sound + sound/effect/monster/chromalisk_tongue.ogg + Spew + + particle/fx_chroma_spew_spittle.dat + + + + + character/npc/monster/chromalisk/animation/attack_end.dat + + Attack Sound, Outro + sound/effect/monster/chromalisk_gulp.ogg + + + 1.28 + 1.28 + 1000 + 567 + 1267 + false + + -0.25, 0.0 + 800 + 200 + + + + + Base/Damage Origin Transformed + + Damage + + 100.0 + 4 + + Delay + 560 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 3.0 + 0.75 + + + 1.6, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Chromalisk (windup) + + + character/npc/monster/chromalisk/animation/cloak_deactivate.dat + + 1 + 300 + 100 + false + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + + + Character/NPC/Monster/Beast/Chromalisk - No Intro + + + character/npc/monster/chromalisk/animation/attack_fire.dat + + Attack Sound + sound/effect/monster/chromalisk_tongue.ogg + Spew + + particle/fx_chroma_spew_spittle.dat + + + + + character/npc/monster/chromalisk/animation/attack_end.dat + + Attack Sound, Outro + sound/effect/monster/chromalisk_gulp.ogg + + + 1.28 + 1.28 + 1000 + 567 + 1267 + false + + -0.25, 0.0 + 800 + 200 + + + + + Base/Damage Origin Transformed + + Damage + + 80.0 + 4 + + Delay + 560 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 3.0 + 0.75 + + + 1.6, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Chromalisk Whelp + + + character/npc/monster/chromalisk/animation/attack_start.dat + + Attack Flare + 1.0 + Attack land effect Scale + + 0.8 + 0.0, 0.14, 0.0 + + Flare Color + Normal + + + + character/npc/monster/chromalisk/animation/attack_fire.dat + + Attack Sound + sound/effect/monster/chromalisk_tongue.ogg + Spew + + particle/fx_chroma_spew_spittle.dat + + + + + character/npc/monster/chromalisk/animation/attack_end.dat + + Attack Sound, Outro + sound/effect/monster/chromalisk_gulp.ogg + + + 1000 + 567 + 1267 + false + + -0.2, 0.0 + 1000 + 280 + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base + + 4 + + Delay + 540 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 2.0 + 0.6 + + + 1.2, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Chromalisk Whelp (Tut) + + + character/npc/monster/chromalisk/animation/attack_start.dat + + Attack Flare + 1.0 + Attack land effect Scale + + 0.8 + 0.0, 0.14, 0.0 + + Flare Color + Normal + + + + character/npc/monster/chromalisk/animation/attack_fire.dat + + Attack Sound + sound/effect/monster/chromalisk_tongue.ogg + Spew + + particle/fx_chroma_spew_spittle.dat + + + + + character/npc/monster/chromalisk/animation/attack_end.dat + + Attack Sound, Outro + sound/effect/monster/chromalisk_gulp.ogg + + + 1000 + 567 + 1267 + false + + -0.2, 0.0 + 1000 + 280 + + + + + Base/Damage Origin Transformed + + Damage + + 20.0 + 4 + + Delay + 540 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 2.0 + 0.6 + + + 1.2, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Chromalisks/Globule Spew + + + Mouth FX + implementation.fire["Spew"] + + + Globule Bullet + implementation.fire_refs[0].ref["Actor"] + + + + + character/npc/monster/chromalisk/animation/attack_start.dat + + Attack Flare + 1.0 + Attack land effect Scale + + 0.8 + 0.0, 0.14, 0.0 + + Flare Color + Normal + + + + character/npc/monster/chromalisk/animation/attack_fire.dat + + Attack Sound + sound/effect/monster/chromalisk_spit.ogg + Attack Sound - Gain + 1.0 + Spew + + + + + character/npc/monster/chromalisk/animation/attack_end.dat + + Attack Sound, Outro + sound/effect/monster/chromalisk_gulp.ogg + + + 1.24 + 1.24 + 1000 + 567 + 1267 + false + + -0.25, 0.0 + 800 + 200 + + + + + Base/Spawn Transformed-Rotated Actor + + Actor + + Bullet/Monster/Chromalisk/Salamander Globule + + Status Damage + + + + Delay + 520 + + + + + + + + Character/NPC/Monster/Beast/Kleptolisk + + + character/npc/monster/chromalisk/animation/attack_start.dat + + Attack Flare + 1.0 + Attack land effect Scale + + 0.0, 0.14, 0.0 + + Flare Color + Normal + + + + character/npc/monster/chromalisk/animation/attack_fire.dat + + Attack Sound + sound/effect/monster/chromalisk_tongue.ogg + Spew + + particle/fx_chroma_spew_spittle.dat + + + + + character/npc/monster/chromalisk/animation/attack_end.dat + + Attack Sound, Outro + sound/effect/monster/chromalisk_gulp.ogg + + + 1.28 + 1.28 + 1000 + 1000 + 1267 + false + + -0.25, 0.0 + 800 + 200 + + + + + Base/Damage Origin Transformed + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + + + + + + + + + + + + + + + + Delay + 560 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 3.0 + 0.75 + + + 1.6, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk + + false + + + + Character/NPC/Monster/Beast/Parts/Chromalisk - Camoflage Activate + + + character/npc/monster/chromalisk/animation/moving_forward.dat + + Scuffle FX + + Visual Float + + + + + character/npc/monster/chromalisk/animation/moving_forward.dat + + Scuffle FX + + Visual Float + + + + 200 + 200 + 1 + false + + + + Base/Default + + Delay + 0 + + + + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Dodge back + + + Dodge Distance + implementation.impulse_received.translation + + + + + character/npc/monster/chromalisk/animation/dodge_start.dat + + + character/npc/monster/chromalisk/animation/dodge_fire.dat + + + character/npc/monster/chromalisk/animation/dodge_end.dat + + 162 + 312 + 83 + false + + -1.0, 0.0 + 332 + 162 + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Dodge forward + + + Dodge Distance + implementation.impulse_received.translation + + + + + character/npc/monster/chromalisk/animation/dodge_start.dat + + + character/npc/monster/chromalisk/animation/dodge_fire.dat + + + character/npc/monster/chromalisk/animation/dodge_end.dat + + 162 + 312 + 83 + false + + 1.0, 0.0 + 332 + 162 + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Dodge left + + + Dodge Distance + implementation.impulse_received.translation + + + + + character/npc/monster/chromalisk/animation/dodge_start.dat + + + character/npc/monster/chromalisk/animation/dodge_fire.dat + + + character/npc/monster/chromalisk/animation/dodge_end.dat + + 162 + 312 + 83 + false + + 0.0, -1.0 + 332 + 162 + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Dodge right + + + Dodge Distance + implementation.impulse_received.translation + + + + + character/npc/monster/chromalisk/animation/dodge_start.dat + + + character/npc/monster/chromalisk/animation/dodge_fire.dat + + + character/npc/monster/chromalisk/animation/dodge_end.dat + + 162 + 312 + 83 + false + + 0.0, 1.0 + 332 + 162 + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Panic emote + + + character/npc/monster/chromalisk/animation/moving_forward.dat + + Scuffle FX + + Visual Float + + character/npc/monster/devilite/parts/fx_panic.dat + + Count + 3 + Mode + Right + + + + + 0.0 + 0.0 + 5 + 5 + 5 + true + true + + + + Character/NPC/Monster/Beast/Vog Cub + + + character/npc/monster/wolver/animation/attack_bite_start(Charge).dat + + Attack Flare + 1.0 + + + + character/npc/monster/wolver/animation/attack_bite_fire.dat + + Pitch + 1.0 + Sound + sound/effect/monster/vog_cub/vogcub_bite_01b.ogg + + + + character/npc/monster/wolver/animation/attack_bite_end.dat + + 0.9 + 800 + 200 + 333 + + -2.0, 0.0 + 130 + 1400 + + + + + Base/Damage Origin Transformed + + Damage + + + + 70.0 + 4 + + + 70.0 + 4 + + + + Delay + 100 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 3.0, 0.0 + 300 + 4 + + Shape + + + 0.5 + + + + + + + + Base/Damage Origin Transformed + + Damage + + + + 70.0 + 4 + + + 70.0 + 4 + + + + Delay + 200 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 3.0, 0.0 + 300 + 4 + + Shape + + + 0.5 + + + 1.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Wolver/Bark + + + Sound File + implementation.fire["Sound File"] + + + + + character/npc/monster/wolver/animation/standing_bark.dat + + Sound File + + + + 0 + 1656 + 0 + false + true + + + + Character/NPC/Monster/Beast/Wolver/Bite (Training Grounds) + + + character/npc/monster/wolver/animation/attack_bite_start(Charge).dat + + Attack Flare + 0.75 + + + + character/npc/monster/wolver/animation/attack_bite_fire.dat + + Pitch + 1.0 + Sound + sound/effect/monster/wolver_bite.ogg + + + + character/npc/monster/wolver/animation/attack_bite_end.dat + + 0.75 + 1000 + 200 + 383 + + 1.2, 0.0 + 200 + 1333 + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base -10 + + 4 + + Delay + 180 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 0.25, 0.0 + 200 + + Shape + + + 0.5 + + + 1.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Wolver/Bite, chain 1 + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + + + character/npc/monster/wolver/animation/attack_bite_start(Charge).dat + + Attack Flare + 0.75 + + + + character/npc/monster/wolver/animation/attack_bite_fire.dat + + Pitch + 1.0 + Sound + sound/effect/monster/wolver_bite.ogg + + + + character/npc/monster/wolver/animation/attack_bite_end.dat + + 0.75 + 1000 + 200 + 383 + + 1.2, 0.0 + 200 + 1333 + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base + + 4 + + Delay + 180 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 0.25, 0.0 + 200 + + Shape + + + 0.5 + + + 1.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Wolver/Bite, chain 2 + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + + + character/npc/monster/wolver/animation/attack_bite2_start.dat + + + character/npc/monster/wolver/animation/attack_bite2_fire.dat + + Pitch + 1.0 + Sound + sound/effect/monster/wolver_bite.ogg + + + + character/npc/monster/wolver/animation/attack_bite3_end.dat + + 217 + 217 + 517 + + 1.6, 0.0 + 250 + 225 + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base + + 4 + + Delay + 180 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 0.5, 0.0 + 200 + + Shape + + + 0.5 + + + 1.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Wolver/Bite, chain 3 + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + + + character/npc/monster/wolver/animation/attack_bite3_start.dat + + + character/npc/monster/wolver/animation/attack_bite3_fire.dat + + Pitch + 1.0 + Sound + sound/effect/monster/wolver_bite.ogg + + + + character/npc/monster/wolver/animation/attack_bite3_end.dat + + 183 + 217 + 517 + + 2.2, 0.0 + 300 + 200 + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + + Delay + 180 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 3.0, 0.0 + 500 + 2 + + Shape + + + 0.5 + + + 1.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (X) + + + + Direction + + + Impulse + implementation.impulse_received + + + Animation + implementation.start + + + + + + Forward + + Animation + + character/npc/monster/wolver/animation/turn_right.dat + + Impulse + + 6.0, 1.0 + 500 + + Translation + -2.0, 3.0 + + + + + Backward + + Animation + + character/npc/monster/wolver/animation/turn_left.dat + + Impulse + + -4.0, -1.0 + 500 + + Translation + -2.0, -3.0 + + + + Left + + + + + animation/sequential/simple.dat + + Animations + + + 4.0 + + character/npc/monster/wolver/animation/dash.dat + + + + 4.0 + + character/npc/monster/wolver/animation/moving.dat + + + + 4.0 + + character/npc/monster/wolver/animation/moving.dat + + + + 4.0 + + character/npc/monster/wolver/animation/moving.dat + + + + Priority + 0 + + + + character/npc/monster/wolver/animation/standing.dat + + 2.0 + 1 + 1000 + 100 + true + + 6.0, 1.0 + 500 + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (Y) + + + + Direction + + + Impulse + implementation.impulse_received + + + Animation + implementation.start + + + + + + Left + + Animation + + character/npc/monster/wolver/animation/dash_right.dat + + Impulse + + -0.5, 2.25 + 400 + + Translation + -2.0, 3.0 + + + + + Right + + Animation + + character/npc/monster/wolver/animation/dash_left.dat + + Impulse + + -0.5, -2.25 + 400 + + Translation + -2.0, -3.0 + + + + Left + + + + + character/npc/monster/wolver/animation/turn_left.dat + + 1.25 + 100 + 300 + 1 + + -1.0, 3.0 + 600 + + + + + Character/NPC/Monster/Beast/Wolver/Vog Cub - Bite, chain 1 + + + character/npc/monster/wolver/animation/attack_bite_start(Charge).dat + + Attack Flare + 0.75 + + + + character/npc/monster/wolver/animation/attack_bite_fire.dat + + Pitch + 1.0 + Sound + sound/effect/monster/wolver_bite.ogg + + + + character/npc/monster/wolver/animation/attack_bite_end.dat + + 0.75 + 1000 + 200 + 383 + + 1.2, 0.0 + 200 + 1333 + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + Delay + 180 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 0.25, 0.0 + 200 + + Shape + + + 0.5 + + + 1.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Wolver/Vog Cub - Bite, chain 2 + + + character/npc/monster/wolver/animation/attack_bite2_start.dat + + + character/npc/monster/wolver/animation/attack_bite2_fire.dat + + Pitch + 1.0 + Sound + sound/effect/monster/wolver_bite.ogg + + + + character/npc/monster/wolver/animation/attack_bite3_end.dat + + 217 + 217 + 517 + + 1.6, 0.0 + 250 + 225 + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + Delay + 180 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 0.5, 0.0 + 200 + + Shape + + + 0.5 + + + 1.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Wolver/Vog Cub - Bite, chain 3 + + + character/npc/monster/wolver/animation/attack_bite3_start.dat + + + character/npc/monster/wolver/animation/attack_bite3_fire.dat + + Pitch + 1.0 + Sound + sound/effect/monster/wolver_bite.ogg + + + + character/npc/monster/wolver/animation/attack_bite3_end.dat + + 183 + 217 + 517 + + 2.2, 0.0 + 300 + 200 + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base +10 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + Delay + 180 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 3.0, 0.0 + 500 + 2 + + Shape + + + 0.5 + + + 1.0, 0.0 + + + + + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/Vog Fireball + + Damage + + + + 80.0 + 4 + + + 4 + + Fire + + Chance + 0.5 + Power + 80 + + + + + + + + Delay + 180 + + + + + + + + Character/NPC/Monster/Beast/Wolver/Warp + + + Variant + implementation.start["Variant"], implementation.end["Variant"] + + + Sound File + implementation.end["Sound File"] + + + Teleport Spawn + implementation.fire_refs[0].ref["Actor"] + + + Target Offset + implementation.fire_refs[2].ref["Translation"] + + + + + character/npc/monster/wolver/animation/attack_bite_start(warp).dat + + Variant + Ash + + + + character/npc/monster/wolver/animation/gounder.dat + + + character/npc/monster/wolver/animation/activate.dat + + Sound File + sound/effect/monster/wolver_spawn.ogg + Variant + Ash + + + 1.6 + 0.5 + 2.0 + 1000 + 400 + 0 + false + + -4.0, 1.0 + 300 + + + + + Base/Spawn Rotated Actor + + Actor + + Delay + 0 + + + + + + Base/Damage Origin Transformed + + Damage + + 4 + + Stun + + Chance + 0.0 + Power + 0 + + + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 0.25, 0.0 + 150 + + Shape + + + 2.0 + + + + + + + + Base/Warp Behind Target + + Delay + 150 + Translation + -1.0, 0.0 + + + + + + + + Character/NPC/Monster/Beast/Wolver/Warp (Instant) + + + Variant + implementation.start["Variant"], implementation.end["Variant"] + + + Sound File + implementation.end["Sound File"] + + + Teleport Spawn + implementation.fire_refs[0].ref["Actor"] + + + Target Offset + implementation.fire_refs[2].ref["Translation"] + + + + + character/npc/monster/wolver/animation/attack_bite_start(warp).dat + + Variant + Ash + + + + character/npc/monster/wolver/animation/gounder.dat + + + character/npc/monster/wolver/animation/activate.dat + + Sound File + sound/effect/monster/wolver_spawn.ogg + Variant + Ash + + + 100.0 + 0.5 + 2.0 + 1000 + 400 + 0 + false + + 0.0, 3.0 + 300 + + + + + Base/Spawn Rotated Actor + + Actor + + Delay + 0 + + + + + + Base/Damage Origin Transformed + + Damage + + 4 + + Stun + + Chance + 0.0 + Power + 0 + + + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 0.25, 0.0 + 150 + + Shape + + + 2.0 + + + + + + + + Base/Warp Behind Target + + Delay + 11 + Translation + -1.0, 0.0 + + + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Tantrum Spin + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Radius + implementation.fire_refs[0].ref["Shape"].shape.radius + + + Radius Graphic + implementation.fire["Wave Radius"] + + + Bullet + implementation.fire_refs[2].ref["Actor"], implementation.fire_refs[4].ref["Actor"], implementation.fire_refs[6].ref["Actor"], implementation.fire_refs[8].ref["Actor"] + + + Bullet 2 + implementation.fire_refs[1].ref["Actor"], implementation.fire_refs[3].ref["Actor"], implementation.fire_refs[5].ref["Actor"], implementation.fire_refs[7].ref["Actor"] + + + Color + implementation.fire["Color"] + + + + + character/npc/monster/jellycube/attack_aoe_fire.dat + + Color + 0.6, 0.0, 0.6, 1.0 + Sound + + Clip/Default (Gain) + + File + sound/effect/weapon/bomb_c01.ogg + Gain + 1.0 + Range + Medium + + + Wave Radius + + 2.0 + + + + + character/npc/monster/jellycube/attack_aoe_end.dat + + 2.0 + 0 + 50 + 1050 + false + + 5.0, 0.0 + 2000 + + + + + Base/Damage Origin Transformed + + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + true + + + 2 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Delay + 50 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 4.0, 0.0 + 300 + 3 + + Shape + + + 3.0 + + + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 25 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 50 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 75 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 100 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 125 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 150 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 175 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 200 + + + + + + + + Character/NPC/Monster/Boss/Swarm/Consume + + + animation/common/blank.dat + + Action + + + + + 1 + 1 + 0 + true + + + + Base/Damage Region Transformed + + Damage + + 1.0 + 4 + false + + Delay + 0 + Shape + + + + + + + + + + Character/NPC/Monster/Boss/Swarm/Kill Minions + + + animation/common/blank.dat + + Action + + + + + 1 + 1 + 0 + true + + + + Base/Default + + Delay + 0 + + + + + + + + Character/NPC/Monster/Boss/Swarm/Pulse + + + + Direction + + + Translation + implementation.fire_refs[1].ref["Action"].impulse_dealt.translation + + + Direction + implementation.fire_refs[0].ref["Action"].effect["Model"]["Transient"]["Direction"] + + + + + + Out + + Direction + Out + Translation + 5.0, 0.0 + + + + + In + + Direction + In + Translation + -3.0, 0.0 + + + + Out + + + + + animation/common/blank.dat + + Action + + + + + 1 + 1 + 0 + true + + + + Base/Default + + Action + + + Basic + + Lifespan + 1500 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/world/block_ghost.ogg + Gain + 0.5 + Pitch adjust + Lower 3 + Range + Long + + + Transform + + + Transient + + character/npc/monster/swarm/parts/meta_wave.dat + + Direction + Out + + + + + + + + Delay + 0 + + + + + + Base/Default + + Action + + + 5.0, 0.0 + 1000 + 3 + + + Delay + 50 + + + + + + + + Character/NPC/Monster/Boss/Swarm/Spawn Minion + + + animation/common/blank.dat + + Action + + + + + 1 + 1 + 0 + true + + + + Base/Default + + Action + + + Character/NPC/Monster/Boss/Swarm/Part/Void Marker + + Wave Tag + swarm_minion2 + + + + Delay + 0 + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Activate + + + + Minions + + + Front + implementation.fire_refs[3].ref["Actor"]["Actor"], implementation.fire_refs[2].ref["Actor"]["Actor"] + + + Flank + implementation.fire_refs[5].ref["Actor"]["Actor"], implementation.fire_refs[4].ref["Actor"]["Actor"] + + + Rear + implementation.fire_refs[7].ref["Actor"]["Actor"], implementation.fire_refs[6].ref["Actor"]["Actor"] + + + + + + Slag Walkers (4) + + Flank + + Character/NPC/Monster/Boss/Vanaduke/Part/Slag Walker Minion + + Wave Tag + vanaduke_spawn + + + Front + + Character/NPC/Monster/Boss/Vanaduke/Part/Slag Walker Minion + + Wave Tag + vanaduke_spawn + + + Rear + + + + + + Slag Walkers (6) + + Flank + + Character/NPC/Monster/Boss/Vanaduke/Part/Slag Walker Minion + + Wave Tag + vanaduke_spawn + + + Front + + Character/NPC/Monster/Boss/Vanaduke/Part/Slag Walker Minion + + Wave Tag + vanaduke_spawn + + + Rear + + Character/NPC/Monster/Boss/Vanaduke/Part/Slag Walker Minion + + Wave Tag + vanaduke_spawn + + + + + + + Slag Guards (2) + + Flank + + Character/NPC/Monster/Undead/Deadnought + + Wave Tag + vanaduke_spawn + + + Front + + Rear + + + + + Slag Walkers (4) + + + + Mask + + + Action 1 + implementation.fire_refs[1].ref + + + + + + True + + Action 1 + + Base/Default + + Action + + SECONDARY + false + + Delay + 0 + + + + + + + False + + Action 1 + + + + + True + + + + + character/npc/monster/baron/animations/animation_spawn.dat + + 1 + 3767 + 0 + false + + + + Base/Damage Origin Transformed + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + true + ELEMENTAL + + Monster/Split/Split - Full + + + + 4 + + Fire 3 + + Chance + 1.0 + Power + 75 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Stun 3 + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 4.0, 0.0 + 500 + 4 + + Shape + + + 3.0 + + + + + + + + Base/Default + + Delay + 0 + + + + + + Base/Spawn Transformed Actor + + Actor + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Marker + + Actor + + + + Delay + 2600 + + + + + + Base/Spawn Transformed Actor + + Actor + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Marker + + Actor + + + + Delay + 2700 + + + + + + Base/Spawn Transformed Actor + + Actor + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Marker + + Actor + + + + Delay + 3000 + + + + + + Base/Spawn Transformed Actor + + Actor + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Marker + + Actor + + + + Delay + 3250 + + + + + + Base/Spawn Transformed Actor + + Actor + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Marker + + Actor + + + + Delay + 3500 + + + + + + Base/Spawn Transformed Actor + + Actor + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Marker + + Actor + + + + Delay + 3600 + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Call Minions + + + + Minions + + + Front + implementation.fire_refs[0].ref["Actor"]["Actor"], implementation.fire_refs[1].ref["Actor"]["Actor"] + + + Flank + implementation.fire_refs[3].ref["Actor"]["Actor"], implementation.fire_refs[2].ref["Actor"]["Actor"] + + + Rear + implementation.fire_refs[5].ref["Actor"]["Actor"], implementation.fire_refs[4].ref["Actor"]["Actor"] + + + + + + Slag Walkers (4) + + Flank + + Character/NPC/Monster/Boss/Vanaduke/Part/Slag Walker Minion + + Wave Tag + vanaduke_spawn + + + Front + + Character/NPC/Monster/Boss/Vanaduke/Part/Slag Walker Minion + + Wave Tag + vanaduke_spawn + + + Rear + + + + + + Slag Walkers (6) + + Flank + + Character/NPC/Monster/Boss/Vanaduke/Part/Slag Walker Minion + + Wave Tag + vanaduke_spawn + + + Front + + Character/NPC/Monster/Boss/Vanaduke/Part/Slag Walker Minion + + Wave Tag + vanaduke_spawn + + + Rear + + Character/NPC/Monster/Boss/Vanaduke/Part/Slag Walker Minion + + Wave Tag + vanaduke_spawn + + + + + + + Slag Guards (2) + + Flank + + Character/NPC/Monster/Undead/Deadnought + + Wave Tag + vanaduke_spawn + + + Front + + Rear + + + + + Slag Walkers (4) + + + + + character/npc/monster/baron/animations/animation_taunt.dat + + + character/npc/monster/baron/animations/animation_idle.dat + + 1933 + 1500 + 0 + false + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Actor at Marker + + Actor + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Marker + + Actor + + + + Delay + 0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Actor at Marker + + Actor + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Marker + + Actor + + + + Delay + 100 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Actor at Marker + + Actor + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Marker + + Actor + + + + Delay + 400 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Actor at Marker + + Actor + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Marker + + Actor + + + + Delay + 650 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Actor at Marker + + Actor + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Marker + + Actor + + + + Delay + 800 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Actor at Marker + + Actor + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Marker + + Actor + + + + Delay + 900 + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Club Slam (Stage 1) + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Debri Count + implementation.fire_refs[2].ref["Count"] + + + Fire Tiles + implementation.fire_refs[2].ref["Fire Tiles"] + + + + + character/npc/monster/baron/animations/animation_sword-start.dat + + + character/npc/monster/baron/animations/animation_sword-fire.dat + + + character/npc/monster/baron/animations/animation_sword-end.dat + + 0.5 + 633 + 95 + 1867 + false + + + + Base/Damage Origin Transformed + + Damage + + + + 160.0 + 5 + + + 4 + + Stun + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Delay + 160 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 6.0, 0.0 + 1000 + 4 + + Shape + + + + + + 1.9 + + + 7.5, 1.35 + + + + + 4.0 + 1.6 + + + 4.0, 1.0 + + + + + + + + + + + Base/Default + + Action + + + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + 7.5, 1.75 + + 4.0, 0.0 + 600 + 3 + + + Delay + 200 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Flame Wreckage + + Delay + 250 + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Fire Snakes + + + character/npc/monster/baron/animations/animation_cast-start.dat + + Flare Color + Normal + Flare Direction + Directional + + + + character/npc/monster/baron/animations/animation_cast-fire.dat + + + character/npc/monster/baron/animations/animation_cast-end.dat + + 1000 + 167 + 750 + false + + + + Base/Default + + Action + + + Bullet/Monster/Flamethrower (Dynamic) + + Damage + + 4 + + Fire 3 + + Chance + 0.65 + Power + 50 + + + + Mode + Snake + + + + Delay + 0 + + + + + + Base/Default + + Action + + + Bullet/Monster/Flamethrower (Dynamic) + + Damage + + 4 + + Fire 3 + + Chance + 0.65 + Power + 50 + + + + Mode + Snake + + + + Delay + 0 + + + + + + Base/Default + + Action + + + Bullet/Monster/Flamethrower (Dynamic) + + Damage + + 4 + + Fire 3 + + Chance + 0.65 + Power + 50 + + + + Mode + Snake + + + + Delay + 0 + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Mask Bullet + + + animation/common/blank.dat + + Action + + + + + 1.5 + 1 + 750 + 0 + true + + + + Character/NPC/Monster/Boss/Vanaduke/4 Bullet Spread (2) + + Delay + 0 + + + + + + Base/Default + + Action + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/weapon/gran_faust_chit.ogg + Gain + 1.0 + Pitch adjust + Lower 1 + Range + Long + + + Transform + + 0.0, 0.0, 1.0 + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Medium + color + yellow + + + + + + + + Delay + 0 + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Mask Bullet Diagonal + + + animation/common/blank.dat + + Action + + + + + 1.5 + 1 + 750 + 0 + true + + + + Character/NPC/Monster/Boss/Vanaduke/4 Bullet Spread (Diagonal) + + Delay + 0 + + + + + + Base/Default + + Action + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/weapon/gran_faust_chit.ogg + Gain + 1.0 + Pitch adjust + Higher 2 + Range + Long + + + Transform + + 0.0, 0.0, 1.0 + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Medium + color + yellow + + + + + + + + Delay + 0 + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Mask Bullet Spiral + + + animation/common/blank.dat + + Action + + + + + 1.5 + 1 + 1300 + 0 + true + + + + Character/NPC/Monster/Boss/Vanaduke/Oriented Bullet + + Delay + 0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Oriented Bullet + + Delay + 100 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Oriented Bullet + + Delay + 200 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Oriented Bullet + + Delay + 300 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Oriented Bullet + + Delay + 400 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Oriented Bullet + + Delay + 500 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Oriented Bullet + + Delay + 600 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Oriented Bullet + + Delay + 700 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Oriented Bullet + + Delay + 800 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Oriented Bullet + + Delay + 900 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Oriented Bullet + + Delay + 1000 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Oriented Bullet + + Delay + 1100 + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Monologue + + + character/npc/monster/baron/animations/animation_idle.dat + + + character/npc/monster/baron/animations/animation_idle.dat + + + character/npc/monster/baron/animations/animation_idle.dat + + 10000 + + + + Base/Default + + Action + + + character/npc/monster/baron/model.dat + + Sheen + Stage1 + Variant + Masked + + + + Boss/Vanaduke/Monologue + + + Delay + 0 + + + + + + Base/Default + + Delay + 9900 + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Shoulder Check + + + Damage + implementation.fire_refs[0].ref["Damage"], implementation.fire_refs[1].ref["Damage"], implementation.fire_refs[2].ref["Damage"], implementation.fire_refs[3].ref["Damage"] + + + + + character/npc/monster/baron/animations/animation_rush-start.dat + + Attack Flare + 1.0 + + + + character/npc/monster/baron/animations/animation_rush-fire.dat + + + character/npc/monster/baron/animations/animation_rush-end.dat + + 0.9 + 0.8 + 1000 + 267 + 700 + false + + 12.0, 0.0 + 700 + 1000 + + + + + Character/NPC/Monster/Boss/Vanaduke/Shoulder Check + + Damage + + + + 1.0 + 5 + + + + Delay + 0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Shoulder Check + + Damage + + + + 1.0 + 5 + + + + Delay + 100 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Shoulder Check + + Damage + + + + 1.0 + 5 + + + + Delay + 200 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Shoulder Check + + Damage + + + + 1.0 + 5 + + + + Delay + 400 + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Flame 1 + + + character/npc/monster/baron/animations/animation_spawn.dat + + 1 + 3767 + 0 + + + + Base/Default + + Delay + 0 + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Mask + + + Mask + implementation.fire_refs[0].ref["Actor"]["Actor"] + + + + + character/npc/monster/baron/animations/animation_kneel-start.dat + + + character/npc/monster/baron/animations/animation_kneel-loop.dat + + 0.75 + 1 + 1500 + 99999999 + false + + + + Base/Spawn Transformed Actor + + Actor + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Marker + + Actor + + + + Delay + 200 + + + + + + Base/Default + + Delay + 200 + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Minions + + + Minion + implementation.fire_refs[0].ref["Actor"], implementation.fire_refs[1].ref["Actor"], implementation.fire_refs[2].ref["Actor"], implementation.fire_refs[3].ref["Actor"] + + + + + character/npc/monster/baron/animations/animation_cast-start.dat + + Flare Color + None + Flare Direction + Omni + + + + character/npc/monster/baron/animations/animation_cast-fire.dat + + + character/npc/monster/baron/animations/animation_cast-end.dat + + false + + + + Base/Spawn Transformed Actor + + Actor + + Delay + 0 + + + + + + Base/Spawn Transformed Actor + + Actor + + Delay + 0 + + + + + + Base/Spawn Transformed Actor + + Actor + + Delay + 0 + + + + + + Base/Spawn Transformed Actor + + Actor + + Delay + 0 + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Swap + + + Swap Actor + implementation.fire_refs[0].ref["Actor"] + + + + + character/npc/monster/baron/animations/animation_idle.dat + + + character/npc/monster/baron/animations/animation_idle.dat + + + character/npc/monster/baron/animations/animation_idle.dat + + 200 + 200 + 0 + + + + Base/Spawn Actor + + Actor + + Delay + 0 + + + + + + Base/Default + + Delay + 0 + + + + + + + + Character/NPC/Monster/Chain + + + Attack + implementation.attack + + + Chain Condition + implementation.condition + + + Next Attack + implementation.next_attack + + + + + + + Character/NPC/Monster/Construct/Gold Gun Puppy + + + character/npc/monster/gunpuppy/activate.dat + + Attack Flare + 1.25 + + + + character/npc/monster/gunpuppy/attack_1_fire.dat + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + + + + character/npc/monster/gunpuppy/deactivate.dat + + 1.25 + 1000 + 1000 + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Delay + 0 + + + + + + + + Character/NPC/Monster/Construct/Gun Puppy + + + Bullet + implementation.fire_refs[0].ref["Actor"] + + + Speed + implementation.start_speed, implementation.start["Attack Flare"] + + + Sound + implementation.fire["Sound"] + + + + + character/npc/monster/gunpuppy/activate.dat + + Attack Flare + 1.25 + + + + character/npc/monster/gunpuppy/attack_1_fire.dat + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + + + + character/npc/monster/gunpuppy/deactivate.dat + + 1.25 + 1000 + 1000 + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Delay + 0 + + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + Base/Damage Region Transformed + + Damage + + 1.0 + false + + Delay + 0 + Shape + + + + + + 9999.0, 0.0 + + + + + + + + + + + + + Character/NPC/Monster/Construct/Gun Puppy (ele) + + + Bullet + implementation.fire_refs[0].ref["Actor"] + + + Speed + implementation.start_speed, implementation.start["Attack Flare"] + + + Sound + implementation.fire["Sound"] + + + + + character/npc/monster/rocketpuppy/animations/activate.dat + + Attack Flare + 1.25 + + + + character/npc/monster/rocketpuppy/animations/fire.dat + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + + + + character/npc/monster/rocketpuppy/animations/deactivate.dat + + 1.25 + 1000 + 1000 + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Delay + 0 + + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + Base/Damage Region Transformed + + Damage + + 1.0 + false + + Delay + 0 + Shape + + + + + + 9999.0, 0.0 + + + + + + + + + + + + + Character/NPC/Monster/Construct/Gun Puppy (mkii) + + + Bullet + implementation.fire_refs[0].ref["Actor"] + + + Speed + implementation.start_speed, implementation.start["Attack Flare"] + + + Sound + implementation.fire["Sound"] + + + + + character/npc/monster/gunpuppy/activate.dat + + Attack Flare + 1.25 + + + + character/npc/monster/gunpuppy/attack_1_fire.dat + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + + + + character/npc/monster/gunpuppy/deactivate.dat + + 1.25 + 1000 + 1000 + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Delay + 0 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Delay + 0 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Delay + 0 + + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + Base/Damage Region Transformed + + Damage + + 1.0 + false + + Delay + 0 + Shape + + + + + + 9999.0, 0.0 + + + + + + + + + + + + + Character/NPC/Monster/Construct/Gun Puppy (mkii) (ele) + + + Bullet + implementation.fire_refs[0].ref["Actor"], implementation.fire_refs[1].ref["Actor"], implementation.fire_refs[2].ref["Actor"] + + + Speed + implementation.start_speed, implementation.start["Attack Flare"] + + + Sound + implementation.fire["Sound"] + + + + + character/npc/monster/rocketpuppy/animations/activate.dat + + Attack Flare + 1.25 + + + + character/npc/monster/rocketpuppy/animations/fire.dat + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + + + + character/npc/monster/rocketpuppy/animations/deactivate.dat + + 1.25 + 1000 + 1000 + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + + + Delay + 0 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + + + Delay + 0 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + + + Delay + 0 + + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + Base/Damage Region Transformed + + Damage + + 1.0 + false + + Delay + 0 + Shape + + + + + + 9999.0, 0.0 + + + + + + + + + + + + + Character/NPC/Monster/Construct/Gun Puppy (mkiii) + + + Bullet + implementation.fire_refs[0].ref["Actor"], implementation.fire_refs[1].ref["Actor"], implementation.fire_refs[2].ref["Actor"], implementation.fire_refs[3].ref["Actor"], implementation.fire_refs[4].ref["Actor"] + + + Speed + implementation.start_speed, implementation.start["Attack Flare"] + + + Sound + implementation.fire["Animations"][0].animation["Sound"]["File"], implementation.fire["Animations"][1].animation["Sound"]["File"] + + + + + character/npc/monster/gunpuppy/activate.dat + + Attack Flare + 1.25 + + + + animation/sequential/simple.dat + + Animations + + + 2.0 + + character/npc/monster/gunpuppy/attack_1_fire.dat + + Sound + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 0.75 + Pitch + 0.75 + Range + Medium + + + + + + + 2.0 + + character/npc/monster/gunpuppy/attack_1_fire.dat + + Sound + + Clip/Default (Gain) (Pitch) + + File + + Gain + 0.75 + Pitch + 0.75 + Range + Medium + + + + + + + 2.0 + + character/npc/monster/gunpuppy/attack_1_fire.dat + + Sound + + Clip/Default (Gain) (Pitch) + + File + + Gain + 0.75 + Pitch + 0.75 + Range + Medium + + + + + + + Priority + 1 + + + + character/npc/monster/gunpuppy/deactivate.dat + + 1.25 + 1000 + 124 + 1000 + false + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Delay + 0 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Delay + 160 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Delay + 320 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Delay + 480 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Delay + 640 + + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + + + Character/NPC/Monster/Construct/Gun Puppy (mkiii) (ele) + + + Bullet + implementation.fire_refs[0].ref["Actor"], implementation.fire_refs[1].ref["Actor"], implementation.fire_refs[2].ref["Actor"], implementation.fire_refs[3].ref["Actor"], implementation.fire_refs[4].ref["Actor"] + + + Speed + implementation.start_speed, implementation.start["Attack Flare"] + + + Sound + implementation.fire["Animations"][0].animation["Sound"]["File"], implementation.fire["Animations"][1].animation["Sound"]["File"] + + + + + character/npc/monster/rocketpuppy/animations/activate.dat + + Attack Flare + 1.25 + + + + animation/sequential/simple.dat + + Animations + + + 2.0 + + character/npc/monster/rocketpuppy/animations/fire.dat + + Sound + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 0.75 + Pitch + 0.75 + Range + Medium + + + + + + + 2.0 + + character/npc/monster/rocketpuppy/animations/fire.dat + + Sound + + Clip/Default (Gain) (Pitch) + + File + + Gain + 0.75 + Pitch + 0.75 + Range + Medium + + + + + + + 2.0 + + character/npc/monster/rocketpuppy/animations/fire.dat + + Sound + + Clip/Default (Gain) (Pitch) + + File + + Gain + 0.75 + Pitch + 0.75 + Range + Medium + + + + + + + Priority + 1 + + + + character/npc/monster/rocketpuppy/animations/deactivate.dat + + 1.25 + 1000 + 124 + 1000 + false + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + + + Delay + 0 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + + + Delay + 160 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + + + Delay + 320 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + + + Delay + 480 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + + + Delay + 640 + + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + + + Character/NPC/Monster/Construct/Ironwood Sentinel + + + character/npc/monster/lumber/animations/attack_1_start.dat + + + character/npc/monster/lumber/animations/attack_1_fire.dat + + Variant + Ironwood axe + + + + character/npc/monster/lumber/animations/attack_1_end.dat + + Variant + Ironwood axe + + + 0.7 + 0.7 + 467 + 167 + 867 + false + + + + Character/NPC/Monster/Construct/Lumber/Slam, Ironwood Sentinel + + Attack Shape + + 0.92 + + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + true + + + + Monster/Damage/Attack Base -10 + + 2 + + + 4 + + Stun 3 + + Chance + 1.0 + Power + 50 + + + + + + Knock-Back + + 6.0, 0.0 + 600 + 5 + + + + + + + + + Character/NPC/Monster/Construct/Lumber + + + character/npc/monster/lumber/animations/attack_1_start.dat + + + character/npc/monster/lumber/animations/attack_1_fire.dat + + Variant + Lumber thud + + + + character/npc/monster/lumber/animations/attack_1_end.dat + + Variant + Lumber club + + + 0.5 + 0.5 + 467 + 167 + 867 + false + + + + Character/NPC/Monster/Construct/Lumber + + Attack Shape + + 0.8 + + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + true + + + + Monster/Damage/Attack Base -10 + + 2 + + + 4 + + Stun + + Chance + 0.5 + Power + 50 + + + + + + Knock-Back + + 4.0, 0.0 + 400 + 5 + + + + + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 1) + + + Status Damage + implementation.fire_refs[0].ref["Status Damage"] + + + + + character/npc/monster/lumber/animations/attack_1_start.dat + + + character/npc/monster/lumber/animations/attack_1_fire.dat + + Variant + Lumber thud + + + + character/npc/monster/lumber/animations/attack_1_end.dat + + Variant + Lumber club + + + 0.5 + 0.4 + 467 + 167 + 867 + false + + + + Character/NPC/Monster/Construct/Lumber/Slam, Lumber + + Attack Shape + + + 0.7 + + + 3.0, 0.312 + + + Knock-Back + + 4.0, 0.0 + 400 + 5 + + Status Damage + + + Stun + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 2) + + + Status Damage + implementation.fire_refs[0].ref["Status Damage"] + + + + + character/npc/monster/lumber/animations/attack_1_start.dat + + + character/npc/monster/lumber/animations/attack_1_fire.dat + + Variant + Lumber thud + + + + character/npc/monster/lumber/animations/attack_1_end.dat + + Variant + Lumber club + + + 0.65 + 0.6 + 467 + 167 + 867 + false + + + + Character/NPC/Monster/Construct/Lumber/Slam, Lumber + + Attack Shape + + + 0.75 + + + 3.0, 0.312 + + + Knock-Back + + 5.0, 0.0 + 450 + 5 + + Status Damage + + + + 4 + + Stun 2 + + Chance + 0.667 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 2 + + Shock 2 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 3) + + + Status Damage + implementation.fire_refs[0].ref["Status Damage"] + + + + + character/npc/monster/lumber/animations/attack_1_start.dat + + + character/npc/monster/lumber/animations/attack_1_fire.dat + + Variant + Lumber thud + + + + character/npc/monster/lumber/animations/attack_1_end.dat + + Variant + Lumber club + + + 0.8 + 0.8 + 467 + 167 + 867 + false + + + + Character/NPC/Monster/Construct/Lumber/Slam, Lumber + + Attack Shape + + + 0.8 + + + 3.0, 0.312 + + + Knock-Back + + 6.0, 0.0 + 500 + 5 + + Status Damage + + 4 + + Stun 3 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + Character/NPC/Monster/Construct/Mech Knight Defend + + + character/pc/blend_shield.dat + + + character/pc/blend_shield.dat + + 2.0 + 1 + 997 + 997 + false + + + + Base/Default + + Action + + + Character/NPC/Monster/Construct/Parts/MechaShield + + + Delay + 0 + + + + + + + + Character/NPC/Monster/Construct/Mecha Knight + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 1.0 + Color + None + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/attack_1_end.dat + + 0.75 + 100 + 88 + 702 + + + + Base/Damage Region Transformed + + Damage + + 1.0 + 4 + + Delay + 330 + Shape + + + 0.5 + + + 1.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Construct/Mecha Knight Charge + + + Time Scale + implementation.fire["Actions"][0].action.model["Time Scale"], implementation.fire_speed + + + Sound + implementation.fire["Actions"][1].action.sounder["File"] + + + Damage Zone + implementation.fire["Actions"][0].action.model["Damage Zone"] + + + Flare Color + implementation.fire["Actions"][0].action.model["Color"] + + + + + character/pc/charge_sword_hold.dat + + Actions + + + + true + + particle/fx_attackflare.dat + + Color + None + Damage Zone + Directional + Time Scale + 1.0 + + + %ROOT% + + + + + + Clip/Default (Gain) + + File + sound/effect/monster/mechaknight/mechaknight_attackcue_05.ogg + + Gain + 1.0 + Range + Medium + + + %ROOT% + + + + + + 0 + 1000 + true + + + + Character/NPC/Monster/Construct/Mecha Knight Charge (small) + + + Time Scale + implementation.fire_speed + + + Sound + implementation.fire["Actions"][0].action.sounder["File"] + + + + + character/pc/sword-chargerelease/animation_nofx.dat + + Actions + + + + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/monster/mechaknight/mechaknight_attackcue_05.ogg + + Gain + 1.0 + Pitch adjust + Default + Range + Medium + + + %ROOT% + + + + 2.5 + + + particle/fx_pcfootstep.dat + + %ROOT% + + 2.0 + 0.0, 0.0, 0.5 + + + + + + + 2.0 + 0 + 1000 + false + + + + Character/NPC/Monster/Construct/Mecha Knight Spaz + + + character/npc/monster/mechaknight/animations/shocked.dat + + 5.0 + 1 + 967 + 1 + false + + + + Base/Damage Origin Transformed + + Damage + + 4 + + Shock + + Chance + 0.25 + Power + 30 + + + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 0.9 + + + + + + + + Base/Default + + Action + + + Shock + + Chance + 0.25 + Power + 30 + + + + Delay + 0 + + + + + + + + Character/NPC/Monster/Construct/Mecha Zombie/Eye Beam + + + Color + implementation.fire["Color"] + + + Bullet + implementation.fire_refs[0].ref["Action"].actor + + + + + character/npc/monster/mechazombie/animations/animation_breath-start.dat + + Attack Flare + 1.0 + + + + character/npc/monster/mechazombie/animations/animation_breath-fire.dat + + Color + 0.0, 1.0, 0.2, 1.0 + + + + character/npc/monster/zombie/animation/attack_breath_end.dat + + 1300 + 467 + 1533 + false + + + + Base/Default + + Action + + + Delay + 0 + + + + + + + + Character/NPC/Monster/Construct/Mecha Zombie/Swipe Arm + + + Status Condition + implementation.fire_refs[0].ref["Damage"].damages[1].status_condition + + + + + character/npc/monster/mechazombie/animations/animation_attack-start.dat + + Attack Flare + 1.364 + Flare Color + Normal + + + + character/npc/monster/zombie/animation/attack_fire.dat + + Swing Color + 1.0, 0.0, 0.0, 1.0 + + + + character/npc/monster/zombie/animation/attack_end.dat + + 0.75 + 1.2 + 0.7 + 550 + 333 + 1267 + + 0.8, 0.0 + 300 + 680 + + + + + Base/Damage Origin Transformed + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + + + Delay + 165 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 0.65 + + + 1.2, 0.0 + + + + + + + + + + Character/NPC/Monster/Construct/Red Rover + + + Bullet + implementation.fire_refs[0].ref["Action"].actor + + + Speed + implementation.start_speed, implementation.start["Attack Flare"] + + + Sound + implementation.fire["Sound"] + + + Offset + implementation.fire_refs[0].ref["Action"].translation + + + + + character/npc/monster/rocketpuppy/animations/activate.dat + + Attack Flare + 1.25 + + + + character/npc/monster/rocketpuppy/animations/fire.dat + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + + + + character/npc/monster/rocketpuppy/animations/deactivate.dat + + 1.25 + 0.75 + 1000 + 1133 + 267 + false + + + + Base/Default + + Action + + + Bullet/Monster/Rocket Puppy Rocket + + Bullet Speed + 3.5 + + + + Delay + 0 + + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + Base/Damage Region Transformed + + Damage + + false + + Delay + 0 + Shape + + + -1000.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Construct/Rocket + + 0 + 0 + 0 + + + + Base/Default + + Delay + 0 + + + + + + Base/Damage Region Transformed + + Damage + + 0.0010 + false + + Delay + 0 + Shape + + + -1000.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Construct/Rocket Puppy + + + Bullet + implementation.fire_refs[0].ref["Action"].actor + + + Speed + implementation.start_speed, implementation.start["Attack Flare"] + + + Sound + implementation.fire["Sound"] + + + Offset + implementation.fire_refs[0].ref["Action"].translation + + + + + character/npc/monster/rocketpuppy/animations/activate.dat + + Attack Flare + 1.25 + + + + character/npc/monster/rocketpuppy/animations/fire.dat + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + + + + character/npc/monster/rocketpuppy/animations/deactivate.dat + + 1.25 + 1000 + 833 + 667 + + + + Base/Default + + Action + + + Bullet/Monster/Rocket Puppy Rocket + + + Delay + 0 + + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + Base/Damage Region Transformed + + Damage + + false + + Delay + 0 + Shape + + + -1000.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + + Bullet + implementation.fire_refs[0].ref["Bullet"] + + + Mouthspark + implementation.fire["Spew"]["Color Variant"] + + + + Attack Speed + + + Attack - Intro Speed + implementation.start_speed + + + Bullet Delay + implementation.fire_refs[0].ref["Delay"] + + + Attack Flare - Time Scale + implementation.start["Attack Flare - Time Scale"] + + + + + + Tier 1 + + + 1.4 + A + 1.4 + At + 1.4 + Att + 1.4 + Atta + 1.4 + Attac + 1.4 + Attack + 1.4 + Attack - Intro Speed + 0.2 + Attack F + 1.4 + Attack Fl + 1.4 + Attack Fla + 1.4 + Attack Flar + 1.4 + Attack Flare + 1.4 + Attack Flare - + 1.4 + Attack Flare - T + 1.4 + Attack Flare - Ti + 1.4 + Attack Flare - Tim + 1.4 + Attack Flare - Time + 1.4 + Attack Flare - Time S + 1.4 + Attack Flare - Time Sc + 1.4 + Attack Flare - Time Sca + 1.4 + Attack Flare - Time Scal + 1.4 + Attack Flare - Time Scale + 1.0 + Bullet Delay + 80 + + + + + Tier 2 + + + 1.4 + A + 1.4 + At + 1.4 + Att + 1.4 + Atta + 1.4 + Attac + 1.4 + Attack + 1.4 + Attack - Intro Speed + 0.3 + Attack F + 1.4 + Attack Fl + 1.4 + Attack Fla + 1.4 + Attack Flar + 1.4 + Attack Flare + 1.4 + Attack Flare - + 1.4 + Attack Flare - T + 1.4 + Attack Flare - Ti + 1.4 + Attack Flare - Tim + 1.4 + Attack Flare - Time + 1.4 + Attack Flare - Time S + 1.4 + Attack Flare - Time Sc + 1.4 + Attack Flare - Time Sca + 1.4 + Attack Flare - Time Scal + 1.4 + Attack Flare - Time Scale + 1.6 + Bullet Delay + 100 + + + + + Tier 3 + + + 1.4 + A + 1.4 + At + 1.4 + Att + 1.4 + Atta + 1.4 + Attac + 1.4 + Attack + 1.4 + Attack - Intro Speed + 0.4 + Attack F + 1.4 + Attack Fl + 1.4 + Attack Fla + 1.4 + Attack Flar + 1.4 + Attack Flare + 1.4 + Attack Flare - + 1.4 + Attack Flare - T + 1.4 + Attack Flare - Ti + 1.4 + Attack Flare - Tim + 1.4 + Attack Flare - Time + 1.4 + Attack Flare - Time S + 1.4 + Attack Flare - Time Sc + 1.4 + Attack Flare - Time Sca + 1.4 + Attack Flare - Time Scal + 1.4 + Attack Flare - Time Scale + 1.8 + Bullet Delay + 110 + + + + Default + + + + + character/npc/monster/scuttlebot/animations/attack_start.dat + + Attack Flare - Size + + 0.68 + + Attack Flare - Time Scale + 1.4 + + + + character/npc/monster/chromalisk/animation/attack_fire.dat + + Attack Sound + sound/effect/weapon/magnus_charge_bullet_hit.ogg + Spew + + particle/fx_scuttlebot_mouthspark.dat + + Color Variant + Default (yellow) + + + + + + character/npc/monster/chromalisk/animation/attack_end.dat + + Attack Sound, Outro + + + + 0.2 + 1.4 + 0.8 + 233 + 567 + 1267 + false + true + + + + Character/NPC/Monster/Construct/Scuttlebot/Scuttlebot Blast (base) + + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + None + Status + None + + + Delay + 120 + + + + + + + + Character/NPC/Monster/Construct/Tortodrone Charge Loop + + + Status Attack + implementation.fire_refs[0].ref["Status Attack"] + + + + + character/npc/monster/tortodrone/animation/attackCharge_loop.dat + + 1 + 6530 + 1 + false + true + true + + + + Character/NPC/Monster/Undead/Deadnought/Deadnought, Charge + + Status Attack + + + + + + + + + Character/NPC/Monster/Construct/Tortodrone Fist Pound + + + character/npc/monster/tortodrone/animation/attackAoE_start.dat + + + character/npc/monster/tortodrone/animation/attackAoE_fire.dat + + + character/npc/monster/tortodrone/animation/attackAoE_end.dat + + 0.6 + 1000 + 100 + 767 + false + + + + Character/NPC/Monster/Construct/Tortodrone Fist Pound + + + + + + + Character/NPC/Monster/Construct/Tortodrone Flying Punch + + + character/npc/monster/tortodrone/animation/attack01_start.dat + + + character/npc/monster/tortodrone/animation/attack01_fire.dat + + + character/npc/monster/tortodrone/animation/attack01_end.dat + + 0.75 + 667 + 300 + 1167 + + 6.0, 0.0 + 400 + 890 + + + + + Character/NPC/Monster/Construct/Tortodrone Damage + + Delay + 10 + Knock-Back + + 6.0, 0.0 + 300 + 8 + + + + + + + Character/NPC/Monster/Construct/Tortodrone Damage + + Delay + 110 + Knock-Back + + 6.0, 0.0 + 300 + 8 + + + + + + + Character/NPC/Monster/Construct/Tortodrone Damage + + Delay + 210 + Knock-Back + + 6.0, 0.0 + 300 + 8 + + + + + + 7 + + + + Character/NPC/Monster/Construct/Tortodrone Flying Punch (far) + + + character/npc/monster/tortodrone/animation/attack01_start.dat + + + character/npc/monster/tortodrone/animation/attack01_fire.dat + + + character/npc/monster/tortodrone/animation/attack01_end.dat + + 0.75 + 1.5 + 667 + 300 + 1167 + + 9.0, 0.0 + 600 + 890 + + + + + Character/NPC/Monster/Construct/Tortodrone Damage + + Delay + 10 + Knock-Back + + 6.0, 0.0 + 300 + 8 + + + + + + + Character/NPC/Monster/Construct/Tortodrone Damage + + Delay + 110 + Knock-Back + + 6.0, 0.0 + 300 + 8 + + + + + + + Character/NPC/Monster/Construct/Tortodrone Damage + + Delay + 210 + Knock-Back + + 6.0, 0.0 + 300 + 8 + + + + + + + Character/NPC/Monster/Construct/Tortodrone Damage + + Delay + 310 + Knock-Back + + 6.0, 0.0 + 300 + 8 + + + + + + + Character/NPC/Monster/Construct/Tortodrone Damage + + Delay + 410 + Knock-Back + + 6.0, 0.0 + 300 + 8 + + + + + + 7 + + + + Character/NPC/Monster/Construct/Tortodrone Missile Base + + + Target + implementation.fire_refs[0].ref["Target"], implementation.fire_refs[1].ref["Target"], implementation.fire_refs[2].ref["Target"], implementation.fire_refs[3].ref["Target"] + + + Translation 0 + implementation.fire_refs[0].ref["Translation"] + + + Translation 1 + implementation.fire_refs[1].ref["Translation"] + + + Translation 2 + implementation.fire_refs[2].ref["Translation"] + + + Translation 3 + implementation.fire_refs[0].ref["Translation"] + + + + + character/npc/monster/tortodrone/animation/attackNutso_start.dat + + + character/npc/monster/tortodrone/animation/attackNutso_fire.dat + + + character/npc/monster/tortodrone/animation/attackNutso_end.dat + + 1000 + 1067 + 900 + false + + + + Character/NPC/Monster/Construct/Tortodrone Missile + + Delay + 250 + + + + + + Character/NPC/Monster/Construct/Tortodrone Missile + + Delay + 500 + + + + + + Character/NPC/Monster/Construct/Tortodrone Missile + + Delay + 750 + + + + + + Character/NPC/Monster/Construct/Tortodrone Missile + + Delay + 1000 + + + + + + + + Character/NPC/Monster/Construct/Tortodrone Missle Attack + + + Translation 0 + implementation.attack["Translation 0"] + + + Translation 1 + implementation.attack["Translation 1"] + + + Translation 2 + implementation.attack["Translation 2"] + + + Translation 3 + implementation.attack["Translation 3"] + + + + + Character/NPC/Monster/Construct/Tortodrone Missile Base + + + + + Character/NPC/Monster/Construct/Tortodrone Punch + + + character/npc/monster/tortodrone/animation/attack01_start.dat + + + character/npc/monster/tortodrone/animation/attack01_fire.dat + + + character/npc/monster/tortodrone/animation/attack01_end.dat + + 1.4 + 667 + 300 + 1167 + + 3.0, 0.0 + 400 + 699 + + + + + Character/NPC/Monster/Construct/Tortodrone Punch Damage + + + + 7 + + + + Character/NPC/Monster/Construct/Tortodrone Punch (outro) + + + Speed + implementation.fire_speed + + + + + character/npc/monster/tortodrone/animation/attack01_end.dat + + 1 + 1167 + 1 + false + true + + + + + + + + Character/NPC/Monster/Fiend/Dark Knight/Push Back + + + Status Condition + implementation.fire_refs[0].ref["Damage"].damages[1] + + + + + animation/sequential/simple.dat + + Animations + + + + character/npc/monster/baron/animations/animation_cast-start.dat + + Flare Color + Normal + Flare Direction + Omni + + + + + + character/npc/monster/baron/animations/animation_cast-loopend.dat + + + + Priority + 1 + + + + character/npc/monster/baron/animations/animation_cast-fire.dat + + + character/npc/monster/baron/animations/animation_cast-end.dat + + 1667 + 167 + 750 + false + + + + Base/Damage Origin Transformed + + Damage + + + + + Monster/Damage/Attack Base + + 5 + + + 4 + + Shock + + Chance + 0.3333 + Power + 75 + + + + + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 8.0, 0.0 + 1000 + 3 + + Shape + + + 2.0 + + + + + + + + Base/Default + + Action + + + Buff + + Damage Modifier + 0.5 + Defense Modifier + 0.0 + Duration + 6000 + Source + + Variant + Attack Up + + + + Delay + 0 + + + + + + + + Character/NPC/Monster/Fiend/Dark Knight/Shield Deflect + + + character/npc/monster/darkknight/blocking.dat + + 1 + 533 + 1 + false + true + + -0.5, 0.0 + 200 + 1 + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + + + Character/NPC/Monster/Fiend/Dark Knight/Shoulder Check + + + character/npc/monster/darkknight/animation_rush-start.dat + + Attack Flare + 1.0 + + + + character/npc/monster/darkknight/animation_rush-fire.dat + + + character/npc/monster/baron/animations/animation_rush-end.dat + + 0.9 + 0.8 + 1000 + 267 + 700 + false + + 8.0, 0.0 + 600 + 1000 + + + + + Character/NPC/Monster/Fiend/Trojan ShoulderCheck + + Delay + 0 + + + + + + Character/NPC/Monster/Fiend/Trojan ShoulderCheck + + Delay + 100 + + + + + + Character/NPC/Monster/Fiend/Trojan ShoulderCheck + + Delay + 200 + + + + + + Character/NPC/Monster/Fiend/Trojan ShoulderCheck + + Delay + 400 + + + + + + + + Character/NPC/Monster/Fiend/Dark Knight/Sword Slam + + + character/npc/monster/darkknight/attack_1_start.dat + + + character/npc/monster/darkknight/attack_1_fire.dat + + + character/npc/monster/darkknight/attack_1_end.dat + + 0.5 + 0.8 + 0.5 + 500 + 167 + 933 + false + + + + Character/NPC/Monster/Fiend/Trojan - Slam + + + + + + + Character/NPC/Monster/Fiend/Darkhorse/Sword Slam + + + character/npc/monster/darkknight/attack_1_start.dat + + + character/npc/monster/darkknight/attack_1_fire.dat + + + character/npc/monster/darkknight/attack_1_end.dat + + 0.5 + 0.8 + 0.5 + 500 + 167 + 933 + false + + + + Character/NPC/Monster/Fiend/Darkhorse - Slam + + + + + + + Character/NPC/Monster/Fiend/Devilite/Cower + + + character/npc/monster/devilite/animation/v2/animation_cower.dat + + + character/npc/monster/devilite/animation/v2/animation_standing.dat + + 1.25 + 1.5 + 1 + 2133 + 1200 + + -1.0, 0.0 + 300 + + + + + Base/Damage Region Transformed + + Damage + + false + + Delay + 0 + Shape + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Dive Away + + + character/npc/monster/devilite/animation/v2/animation_dive-start.dat + + + character/npc/monster/devilite/animation/v2/animation_dive-fire.dat + + + character/npc/monster/devilite/animation/v2/animation_dive-end.dat + + 0.8 + 2.0 + 767 + 1000 + 2267 + + -6.0, 0.0 + 1250 + 1200 + + + + + Base/Damage Region Transformed + + Damage + + false + + Delay + 0 + Shape + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + + + Direction + + + Translation + implementation.impulse_received.translation + + + + + + Left + + Translation + 1.0, 3.0 + + + + + Right + + Translation + 1.0, -3.0 + + + + Left + + + + + character/npc/monster/devilite/animation/v2/animation_running.dat + + 1.5 + 1 + 567 + 1 + + 1.0, 3.0 + 375 + + + + + Base/Damage Region Transformed + + Damage + + false + + Delay + 0 + Shape + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Manager/Overtime + + + character/npc/monster/devilite/animation/v2/animation_talk-start.dat + + + character/npc/monster/devilite/animation/v2/animation_talk-fire.dat + + Balloon + + + + + character/npc/monster/devilite/animation/v2/animation_talk-end.dat + + 767 + 2000 + 1333 + + + + Base/Table Spawn + + Delay + 350 + Spawn Table + + Monster/Attacks/ManagerTaunts (Overtime) + + + + + + + Base/Damage Region Transformed + + Damage + + false + + Delay + 0 + Shape + + + + + + + + Base/Default + + Delay + 1500 + + + + + + Base/Damage Region Transformed + + Damage + + false + + Delay + 1500 + Shape + + + 1.5 + + + 1.5, 0.0 + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Manager/Promote + + + character/npc/monster/devilite/animation/v2/animation_talk-start.dat + + + character/npc/monster/devilite/animation/v2/animation_talk-fire.dat + + Balloon + + + + + character/npc/monster/devilite/animation/v2/animation_talk-end.dat + + 767 + 2000 + 1333 + + + + Base/Table Spawn + + Delay + 350 + Spawn Table + + Monster/Attacks/ManagerTaunts (Promotion) + + + + + + + Base/Damage Region Transformed + + Damage + + false + + Delay + 0 + Shape + + + + + + + + Base/Default + + Delay + 1500 + + + + + + Base/Damage Region Transformed + + Damage + + false + + Delay + 1500 + Shape + + + 1.5 + + + 1.5, 0.0 + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Manager/Sip Coffee + + + character/npc/monster/devilite/animation/v2/animation_sip-start.dat + + + character/npc/monster/devilite/animation/v2/animation_sip-fire.dat + + + character/npc/monster/devilite/animation/v2/animation_sip-end.dat + + 767 + 2000 + 1333 + + + + Base/Damage Region Transformed + + Damage + + false + + Delay + 0 + Shape + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Swing Weapon + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + + + character/npc/monster/devilite/animation/v2/animation_swing-start.dat + + Attack Flare + 0.8 + + + + character/npc/monster/devilite/animation/v2/animation_swing-fire.dat + + + character/npc/monster/devilite/animation/v2/animation_swing-end.dat + + 0.8 + 2.0 + 1000 + 333 + 1167 + + 1.0, 0.0 + 200 + 1100 + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base + + 4 + + Delay + 50 + Impulse Origin Translation + -1.0, 0.0 + Knock-Back + + 1.0, 0.0 + 300 + 2 + + Shape + + + 0.6 + + + 1.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Electronics/Board 1 + + + Damage (Status) + implementation.attack["Bullet"]["Damage (Status)"] + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Electronics + + Damage (Status) + + Shock + + Chance + 0.2 + Power + 20 + + + Model + 2 + + + Model + + item/weapon/npc/devilite/bullet_electronics.dat + + Variant + 2 + + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Electronics/Board 2 + + + Damage (Status) + implementation.attack["Bullet"]["Damage (Status)"] + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Electronics + + Damage (Status) + + Shock + + Chance + 0.2 + Power + 20 + + + Model + 3 + + + Model + + item/weapon/npc/devilite/bullet_electronics.dat + + Variant + 3 + + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Electronics/Board 3 + + + Damage (Status) + implementation.attack["Bullet"]["Damage (Status)"] + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Electronics + + Damage (Status) + + Shock + + Chance + 0.2 + Power + 20 + + + Model + 4 + + + Model + + item/weapon/npc/devilite/bullet_electronics.dat + + Variant + 4 + + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Electronics/Floppy + + + Damage (Status) + implementation.attack["Bullet"]["Damage (Status)"] + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Electronics + + Damage (Status) + + Shock + + Chance + 0.2 + Power + 20 + + + Model + 1 + + + Model + + item/weapon/npc/devilite/bullet_electronics.dat + + Variant + 1 + + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Fireball + + + Damage (Status) + implementation.attack["Bullet"]["Damage (Status)"] + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Fireball + + Damage (Status) + + Fire + + Chance + 0.2 + Power + 20 + + + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.2 + Core Min + 0.1 + Element + Fire + Flare + false + color + yellow + + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Junk/Can + + + Damage (Status) + implementation.attack["Bullet"]["Damage (Status)"] + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Junk + + Damage (Status) + + Poison + + Chance + 0.2 + Power + 20 + + + Model + 2 + + + Model + + item/weapon/npc/devilite/bullet_junk.dat + + Variant + 2 + + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Junk/Cup + + + Damage (Status) + implementation.attack["Bullet"]["Damage (Status)"] + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Junk + + Damage (Status) + + Poison + + Chance + 0.2 + Power + 20 + + + Model + 3 + + + Model + + item/weapon/npc/devilite/bullet_junk.dat + + Variant + 3 + + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Junk/Dohnut + + + Damage (Status) + implementation.attack["Bullet"]["Damage (Status)"] + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Junk + + Damage (Status) + + Poison + + Chance + 0.2 + Power + 20 + + + Model + Book + + + Model + + item/weapon/npc/devilite/bullet_junk.dat + + Variant + 1 + + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Junk/Napkin + + + Damage (Status) + implementation.attack["Bullet"]["Damage (Status)"] + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Junk + + Damage (Status) + + Poison + + Chance + 0.2 + Power + 20 + + + Model + 4 + + + Model + + item/weapon/npc/devilite/bullet_junk.dat + + Variant + 4 + + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Book + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Office Suppies + + Model + Book + + + Model + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Book + + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Chair + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Office Suppies + + Model + Chair + + + Model + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Chair + + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Computer + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Office Suppies + + Model + Computer + + + Model + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Computer + + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Stapler + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Office Suppies + + Model + Stapler + + + Model + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Stapler + + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Suitcase + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Office Suppies + + Model + Suitcase + + + Model + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Suitcase + + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + + Model + implementation.start["Model"] + + + Model Transform + implementation.start["Transform"] + + + Bullet + implementation.fire_refs[0].ref["Actor"] + + + + + character/npc/monster/devilite/animation/v2/animation_throw-startv2.dat + + Flare Color + Normal + Model + + item/weapon/npc/devilite/model_axe.dat + + Variant + Fire + + + Transform + + -0.38268346, 0.0, 0.0, 0.9238795 + + + + + character/npc/monster/devilite/animation/v2/animation_throw-fire.dat + + + character/npc/monster/devilite/animation/v2/animation_throw-end.dat + + 625 + 167 + 1333 + true + true + + -0.25, 0.0 + 200 + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 0 + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Snowball + + + Damage (Status) + implementation.attack["Bullet"]["Damage (Status)"] + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Snowball + + Damage (Status) + + Freeze + + Chance + 0.2 + Power + 20 + + + + + Model + + item/weapon/npc/devilite/bullet_snowball.dat + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Weapons/Axe (Nrm) + + + Damage (Status) + implementation.attack["Bullet"]["Damage (Status)"] + + + Variant + implementation.attack["Model"]["Variant"], implementation.attack["Bullet"]["Variant"] + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weapons/Axe + + Damage (Status) + + 4 + + Variant + Fire + + + Model + + item/weapon/npc/devilite/model_axe.dat + + Variant + Fire + + + Model Transform + + -0.38122723, -0.080521375, -0.03335305, 0.9203639 + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Weapons/Pitchfork (Nrm) + + + Damage (Status) + implementation.attack["Bullet"]["Damage (Status)"] + + + Variant + implementation.attack["Model"]["Variant"], implementation.attack["Bullet"]["Variant"] + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weapons/Pitchfork + + Damage (Status) + + 4 + + Variant + Fire + + + Model + + item/weapon/npc/devilite/model_pitchfork.dat + + Variant + Fire + + + Model Transform + + 0.4055797, -0.4545195, 0.5416752, 0.57922804 + + + + + + + Character/NPC/Monster/Fiend/Devilite/Yesman Twitch + + + character/npc/monster/devilite/animation/v2/animation_reacting.dat + + Cry + sound/effect/monster/devilite/devilite_yesman_hurt.ogg + + + 1.5 + 1 + 500 + 1 + + -1.0, 0.0 + 300 + + + + + Base/Damage Region Transformed + + Damage + + false + + Delay + 0 + Shape + + + + + + + + + + Character/NPC/Monster/Fiend/Gold Trojan/Sword Slam + + + character/npc/monster/darkknight/attack_1_start.dat + + + character/npc/monster/darkknight/attack_1_fire.dat + + + character/npc/monster/darkknight/attack_1_end.dat + + 0.5 + 0.8 + 0.5 + 500 + 167 + 933 + false + + + + Character/NPC/Monster/Fiend/Gold Trojan - Slam + + + + + + + Character/NPC/Monster/Fiend/Greaver (WingSwipe) + + + Bullet + implementation.fire_refs[5].ref["Actor"], implementation.fire_refs[4].ref["Actor"], implementation.fire_refs[3].ref["Actor"], implementation.fire_refs[2].ref["Actor"] + + + Bomb + implementation.fire_refs[1].ref["Action"].actor + + + + + character/npc/monster/silkwing/animation/animation_attack_start.dat + + Attack Flare + 0.8 + + + + character/npc/monster/silkwing/animation/animation_attack_fire.dat + + + character/npc/monster/silkwing/animation/animation_attack_end.dat + + 0.8 + 1000 + 333 + 667 + true + true + + 5.0, 0.0 + 1250 + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base + + 4 + true + SHADOW + + Monster/Split/Split - Full + + + Delay + 0 + Impulse Origin Translation + -1.0, 0.0 + Knock-Back + + 0.25, 0.0 + 150 + + Shape + + + 0.75 + + + 0.75, 0.0 + + + + + + + + Base/Default + + Action + + + Delay + 0 + + + + + + Base/Spawn Transformed-Rotated Actor + + Actor + + Delay + 0 + + + + + + Base/Spawn Transformed-Rotated Actor + + Actor + + Delay + 0 + + + + + + Base/Spawn Transformed-Rotated Actor + + Actor + + Delay + 0 + + + + + + Base/Spawn Transformed-Rotated Actor + + Actor + + Delay + 0 + + + + + + Base/Default + + Delay + 0 + + + + + + + + Character/NPC/Monster/Fiend/Knightmare/Sword Slam + + + character/npc/monster/darkknight/attack_1_start.dat + + + character/npc/monster/darkknight/attack_1_fire.dat + + + character/npc/monster/darkknight/attack_1_end.dat + + 0.5 + 0.8 + 0.5 + 500 + 167 + 933 + false + + + + Character/NPC/Monster/Fiend/Knightmare - Slam + + + + + + + Character/NPC/Monster/Fiend/Silkwing 0 + + 0 + 1 + 0 + + + + Base/Damage Region Transformed + + Damage + + false + + Delay + 0 + Shape + + + -1000.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Fiend/Silkwing 1 + + + character/npc/monster/silkwing/animation/animation_reacting.dat + + 667 + 0 + 0 + + -11.0, 0.0 + 900 + 210 + + + + + Base/Damage Region Transformed + + Damage + + false + + Delay + 0 + Shape + + + -1000.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Fiend/Trojan/Trojan + + + character/npc/monster/darkknight/attack_1_start.dat + + + character/npc/monster/darkknight/attack_1_fire.dat + + + character/npc/monster/darkknight/attack_1_end.dat + + 0.5 + 0.8 + 0.5 + 500 + 167 + 933 + false + + + + Character/NPC/Monster/Fiend/Trojan - Slam + + + + + + + Character/NPC/Monster/Gremlin/Demo/Combo Throw + + + Speed + implementation.start["Release Time"], implementation.start_speed + + + Tier + implementation.fire_refs[4].ref["Actor"]["Tier"], implementation.fire_refs[3].ref["Actor"]["Tier"], implementation.fire_refs[2].ref["Actor"]["Tier"], implementation.fire_refs[1].ref["Actor"]["Tier"], implementation.fire_refs[0].ref["Actor"]["Tier"] + + + + + character/pc/sword-chargerelease/animation.dat + + Release Time + 1.0 + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gremlin/gremlin_chat_charge.ogg + Gain + 1.0 + Range + Long + + + + + + character/pc/charge_combosword/fire.dat + + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch 1 + Default + Sound - Pitch 2 + Higher 1 + Sound - Pitch 3 + Higher 2 + Sound - Pitch 4 + Higher 3 + Sound - Pitch Final + Default + Sound2 + sound/effect/weapon/sword_01.ogg + Swing + + particle/swing/pc_cutter_simple.dat + + Blend + TRANSLUCENT + Flare + false + Shadow + false + Strider Arc + false + Strider Color + 0.4745098, 0.4627451, 0.40784314, 0.0 + Swing Color In/Out + 0.45490196, 0.36862746, 0.32941177, 0.0 + Swing Color Middle + 0.8392157, 0.7647059, 0.5764706, 0.5 + Texture + particle/texture/fx_pcswing.png + Thin Cut + true + Trail Swipe + false + + + + + + character/pc/attack_sword-upwardswipe/end.dat + + 0.75 + 1000 + 1617 + 667 + 3 + + 2.0, 0.0 + 100 + 2000 + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Demo Throw + + Fuse + 250 + Tier + 1 + + + Delay + 0 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Demo Throw + + Fuse + 500 + Tier + 1 + + + Delay + 250 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Demo Throw + + Fuse + 750 + Tier + 1 + + + Delay + 500 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Demo Throw + + Fuse + 1000 + Tier + 1 + + + Delay + 750 + + + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/Demo Throw + + Fuse + 2000 + Tier + 1 + + + Delay + 1633 + + + + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + + Momentum Translation + implementation.impulse_received.translation + + + Bomb + implementation.fire_refs[0].ref["Actor"] + + + + + character/npc/monster/gremlin/animation/blend_bomb.dat + + + character/npc/monster/gremlin/animation/walking.dat + + 2.0 + 0 + 700 + 0 + + -3.0, 1.0 + 600 + 250 + + + + + Base/Spawn Actor + + Actor + + Bomb/Monster/Demo Mine + + Tier + 1 + + + Delay + 0 + + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + + + Character/NPC/Monster/Gremlin/Demo/Throw Bomb + + + Bomb + implementation.fire_refs[0].ref["Actor"] + + + + + character/npc/monster/gremlin/animation/attack_1_start.dat + + Attack Flare + 1.0 + Balloon + + model/compound/monsterchat/model.dat + + Name + + Text + m.catch + + + Sound + + Meta Clip/Default + + Files + + + sound/effect/monster/gremlin/gremlin_chat_taunt.ogg + + + Range + Long + + + + + + character/npc/monster/gremlin/animation/attack_1_fire.dat + + FX + + Sound + sound/effect/weapon/sword_03.ogg + + + + character/npc/monster/gremlin/animation/attack_1_end.dat + + 1.5 + 2.0 + 2.0 + 1000 + 667 + 450 + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Demo Throw + + Fuse + 1000 + Tier + 1 + + + Delay + 200 + + + + + + + + Character/NPC/Monster/Gremlin/Generic/Close Ground + + + character/npc/monster/gremlin/animation/skill_charging.dat + + Balloon + + Charge FX + + particle/fx_chargedash.dat + + Color + 1.0, 1.0, 0.99607843, 1.0 + Rings + false + + + Sound + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/monster_death_cloud.ogg + Gain + 0.8 + Pitch + 2.0 + Range + Medium + + + + + + character/pc/sword-chargerelease/animation_nofx.dat + + Actions + + + + + particle/fx_pcfootstep.dat + + + 3.0 + 0.0, 0.0, 0.5 + + + + + 1.0 + + + particle/fx_pcfootstep.dat + + + 2.5 + 0.0, 0.0, 0.5 + + + + + 2.5 + + + particle/fx_pcfootstep.dat + + + 2.0 + 0.0, 0.0, 0.5 + + + + + + + 5.0 + 0 + 1000 + 0 + + 6.5, 0.0 + 400 + 300 + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + + + Character/NPC/Monster/Gremlin/Generic/Dodge + + + Translation + implementation.impulse_received.translation + + + + + character/npc/monster/gremlin/animation/skill_charging.dat + + Balloon + + Charge FX + + particle/fx_chargedash.dat + + Color + 1.0, 1.0, 0.99607843, 1.0 + Rings + false + + + Sound + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/monster_death_cloud.ogg + Gain + 0.8 + Pitch + 2.0 + Range + Medium + + + + + + character/pc/sword-chargerelease/animation_nofx.dat + + Actions + + + + + particle/fx_pcfootstep.dat + + + 3.0 + 0.0, 0.0, 0.5 + + + + + 1.0 + + + particle/fx_pcfootstep.dat + + + 2.5 + 0.0, 0.0, 0.5 + + + + + 2.5 + + + particle/fx_pcfootstep.dat + + + 2.0 + 0.0, 0.0, 0.5 + + + + + + + + character/pc/hurt_soft.dat + + 5.0 + 2.0 + 0 + 1000 + 500 + true + + 400 + 300 + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + + + Character/NPC/Monster/Gremlin/Generic/Dodge Back + + + character/npc/monster/gremlin/animation/skill_charging.dat + + Balloon + + character/npc/monster/devilite/parts/fx_panic.dat + + Count + 2 + Mode + Right + + + Charge FX + + particle/fx_chargedash.dat + + Color + 1.0, 1.0, 0.99607843, 1.0 + Rings + true + + + Sound + + Compound + + Sounders + + + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/monster_death_cloud.ogg + Gain + 0.5 + Pitch + 1.75 + Range + Medium + + + + + + + + + + character/pc/sword-chargerelease/animation_nofx.dat + + Actions + + + + + particle/fx_pcfootstep.dat + + + 3.0 + 0.0, 0.0, 0.5 + + + + + 1.0 + + + particle/fx_pcfootstep.dat + + + 2.5 + 0.0, 0.0, 0.5 + + + + + 2.5 + + + particle/fx_pcfootstep.dat + + + 2.0 + 0.0, 0.0, 0.5 + + + + + + + 5.0 + 0 + 1000 + 0 + + -2.0, -1.0 + 200 + 100 + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + + + Character/NPC/Monster/Gremlin/Generic/Use Potion + + + + Tier Power + + + Icon + implementation.fire["Texture"]["File"] + + + + + + 1 + + Health + + 30 + + + 210 + 1 + 9 + + Icon + ui/icon/inventory/icon_capsule.png + + + + + 2 + + Health + + 210 + + + 450 + 9 + 19 + + Icon + ui/icon/inventory/icon_capsule-super.png + + + + + 3 + + Health + + 450 + + + 960 + 19 + 30 + + Icon + ui/icon/inventory/icon_capsule-ultra.png + + + + 1 + + + + + character/npc/monster/gremlin/animation/skill_charging.dat + + Balloon + + Charge FX + + particle/fx_attackflare.dat + + Time Scale + 0.75 + + + Sound + + Clip/Default + + File + sound/effect/monster/gremlin/gremlin_chat_extra_02b.ogg + Range + Long + + + + + + character/pc/use_item.dat + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 519 + + + 774 + + + 1025 + + + File + ui/icon/inventory/icon_capsule-super.png + + + + + 2.0 + 0.75 + 1067 + 1433 + 0 + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + Base/Default + + Action + + + Monster/Heal/Heal Base +10 + + + Delay + 1000 + + + + + + + + Character/NPC/Monster/Gremlin/Healer/Heal (Omni) + + + + Tier + + + Speed + implementation.start["Charge FX"]["Time Scale"], implementation.start_speed + + + + + + 1 + + Damage + 65 + Damage End + 125 + End Depth + 9 + Speed + 0.3 + Start Depth + 1 + + + + + 2 + + Damage + 125 + Damage End + 255 + End Depth + 19 + Speed + 0.6 + Start Depth + 9 + + + + + 3 + + Damage + 255 + Damage End + 395 + End Depth + 30 + Speed + 0.8 + Start Depth + 19 + + + + 1 + + + + + character/npc/monster/gremlin/animation/skill_charging.dat + + Balloon + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + model/compound/monsterchat/model.dat + + Name + + Text + m.stay_close + + + + + + model/viewer/sounder.dat + + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/gremlin/gremlin_chat_heal_04c.ogg + + Gain + 1.0 + Range + Long + + + Viewer Extents + 24 + + + + + + + Charge FX + + particle/fx_attackflare.dat + + Color + None + Damage Zone + Omni + Time Scale + 1.0 + + + Sound + + + + + character/npc/monster/gremlin/animation/skill_omni.dat + + FX + + particle/fx_menderaoe.dat + + Sound + sound/effect/weapon/avenger_cswing.ogg + + + 1067 + 1067 + 0 + + + + Base/Default + + Action + + + Bomb/Monster/Mender Heal (Single) + + Depth Scale + + Monster/Damage/Attack Base +05 + + + + + Delay + 0 + + + + + + Base/Default + + Action + + + 6.0, 0.0 + 300 + 4 + + 4 + + Delay + 0 + + + + + + + + Character/NPC/Monster/Gremlin/Healer/Heal (Renew) + + + + Tier + + + Speed + implementation.start["Charge FX"]["Time Scale"], implementation.start_speed + + + + + + 1 + + Damage + + Bomb/Monster/Mender Heal (Single) + + Depth Scale + + Monster/Damage/Attack Base -05 + + + + Speed + 0.3 + + + + + 2 + + Damage + + Bomb/Monster/Mender Heal (Single) + + Depth Scale + + Monster/Damage/Attack Base -05 + + + + Speed + 0.6 + + + + + 3 + + Damage + + Bomb/Monster/Mender Heal (Single) + + Depth Scale + + Monster/Damage/Attack Base -05 + + + + Speed + 0.8 + + + + 1 + + + + + character/npc/monster/gremlin/animation/skill_charging.dat + + Balloon + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + model/compound/monsterchat/model.dat + + Name + + Text + m.heal + + + + + + model/viewer/sounder.dat + + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/gremlin/gremlin_chat_heal_03.ogg + + Gain + 1.0 + Range + Long + + + Viewer Extents + 24 + + + + + + + Charge FX + + particle/fx_attackflare.dat + + Color + None + Damage Zone + Directional + Time Scale + 2.0 + + + Sound + + + + + character/npc/monster/gremlin/animation/skill_directional.dat + + 2.0 + 1067 + 900 + 200 + + + + Base/Default + + Action + + + Bomb/Monster/Mender RenewZone + + Damage + + Bomb/Monster/Mender Heal (Single) + + Depth Scale + + Monster/Damage/Attack Base -10 + + + + + + + Delay + 500 + + + + + + + + Character/NPC/Monster/Gremlin/Healer/Heal (Target) + + + + Tier + + + Speed + implementation.start["Charge FX"]["Time Scale"], implementation.start_speed + + + + + + 1 + + Damage + 30 + Damage End + 65 + End Depth + 9 + Speed + 0.7 + Start Depth + 1 + + + + + 2 + + Damage + 65 + Damage End + 190 + End Depth + 19 + Speed + 0.85 + Start Depth + 9 + + + + + 3 + + Damage + 190 + Damage End + 330 + End Depth + 30 + Speed + 1.0 + Start Depth + 19 + + + + 1 + + + + + character/npc/monster/gremlin/animation/skill_charging.dat + + Balloon + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + model/compound/monsterchat/model.dat + + Name + + Text + m.heal_target + + + + + + model/viewer/sounder.dat + + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/gremlin/gremlin_chat_heal_03.ogg + + Gain + 1.0 + Range + Long + + + Viewer Extents + 24 + + + + + + + Charge FX + + particle/fx_attackflare.dat + + Color + None + Damage Zone + Directional + Time Scale + 2.0 + + + Sound + + + + + character/npc/monster/gremlin/animation/skill_directional.dat + + 2.0 + 1067 + 900 + 200 + + + + Base/Default + + Action + + + Bomb/Monster/Mender Heal (Single) + + Depth Scale + + Monster/Damage/Attack Base + + + + + Delay + 500 + + + + + + + + Character/NPC/Monster/Gremlin/Healer/Raise Construct + + + Speed + implementation.start["Charge FX"]["Time Scale"], implementation.start_speed + + + + + character/npc/monster/gremlin/animation/skill_charging.dat + + Balloon + + model/compound/monsterchat/model.dat + + Name + + Text + m.raise_dead + + + Charge FX + + particle/fx_attackflare.dat + + Time Scale + 1.0 + + + Sound + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/gremlin/gremlin_chat_heal_04c.ogg + Gain + 1.0 + Pitch + 1.0 + Range + Long + + + + + + character/npc/monster/gremlin/animation/skill_directional.dat + + 1067 + 900 + 200 + + + + Base/Default + + Action + + + Bomb/Monster/Mender Raise (Player) + + + Delay + 500 + + + + + + Base/Damage Region Transformed + + Damage + + 1.0 + + Delay + 0 + Shape + + + -1000.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Gremlin/Healer/Raise Dead + + + Speed + implementation.start["Charge FX"]["Time Scale"], implementation.start_speed + + + + + character/npc/monster/gremlin/animation/skill_charging.dat + + Balloon + + model/compound/monsterchat/model.dat + + Name + + Text + m.raise_dead + + + Charge FX + + particle/fx_attackflare.dat + + Time Scale + 1.0 + + + Sound + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/gremlin/gremlin_chat_heal_04c.ogg + Gain + 1.0 + Pitch + 1.0 + Range + Long + + + + + + character/npc/monster/gremlin/animation/skill_directional.dat + + 1067 + 900 + 200 + + + + Base/Default + + Action + + + Bomb/Monster/Mender Raise + + + Delay + 500 + + + + + + + + Character/NPC/Monster/Gremlin/Healer/Wand Bolt + + + + Tier + + + Speed + implementation.start["Charge FX"]["Time Scale"], implementation.start_speed + + + + + + 1 + + Damage + + 30.0 + 4 + 65.0 + 1 + 19 + + Speed + 2.5 + + + + + 2 + + Damage + + 65.0 + 4 + 190.0 + 9 + 19 + + Speed + 3.75 + + + + + 3 + + Damage + + 190.0 + 4 + 330.0 + 19 + + Speed + 5.0 + + + + 1 + + + + + character/npc/monster/gremlin/animation/skill_charging.dat + + Balloon + + model/compound/monsterchat/model.dat + + Name + + Text + m.magic_missle + + + Charge FX + + particle/fx_attackflare.dat + + Color + Elemental + Damage Zone + Directional + Time Scale + 1.5 + + + Sound + + Custom/Monsters/Gremlins/Light Growls + + + + + character/npc/monster/gremlin/animation/skill_directional.dat + + 1.5 + 1067 + 900 + 200 + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/Mender Bolt + + Damage + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + + Delay + 300 + + + + + + + + Character/NPC/Monster/Gremlin/Healer/Wand Swing + + + + Tier + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + + + + 1 + + Damage + + + Monster/Damage/Attack Base -10 + + 4 + + + + + + 2 + + Damage + + + Monster/Damage/Attack Base -10 + + 4 + + + + + + 3 + + Damage + + + Monster/Damage/Attack Base -10 + + 4 + + + + + 1 + + + + + character/pc/attack_sword_1_start.dat + + + character/pc/attack_sword_1_fire2.dat + + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Default + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.0, 0.0, 0.0, 1.0 + Swing Color In/Out + 0.0, 0.0, 0.0, 0.0 + Swing Color Middle + 1.0, 0.0, 0.4, 1.0 + Texture + particle/texture/ring_halfmoon.png + + + + + + character/pc/attack_sword_1_end.dat + + 2.5 + 233 + 667 + + 1.0, 0.0 + 150 + 300 + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base -10 + + 4 + + Delay + 0 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 1.0, 0.0 + 200 + + Shape + + + 0.4 + + + 1.0, 0.0 + + + + + + + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Fire Bullet + + + + Tier + + + Speed + implementation.start_speed, implementation.start["Attack Flare"] + + + Bullet + implementation.fire_refs[0].ref["Actor"] + + + + + + 1 + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Speed + 1.0 + + + + + 2 + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 3.0 + Element + None + Status + None + + + Speed + 1.25 + + + + + 3 + + Bullet + + Bullet/Monster/Vog Fireball + + Damage + + + + + Monster/Damage/Attack Base + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Fire 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Speed + 1.5 + + + + 1 + + + + + character/npc/monster/gremlin/animation/range_1_start.dat + + Attack Flare + 1.0 + Sounder + + + + + character/npc/monster/gremlin/animation/range_1_loop.dat + + Sound + sound/effect/weapon/cryotech_fire.ogg + + + + character/npc/monster/gremlin/animation/range_1_end.dat + + 2.0 + 1000 + 500 + 750 + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Flamethrower + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Length + Medium + Offset + 1.0, 0.0 + + + Delay + 200 + + + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Fire Bullet (Triple) + + + + Tier + + + Speed + implementation.start["Attack Flare"], implementation.start_speed + + + Bullet + implementation.fire_refs[0].ref["Actor"], implementation.fire_refs[1].ref["Actor"], implementation.fire_refs[2].ref["Actor"] + + + + + + 1 + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + + + Speed + 1.0 + + + + + 2 + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 3.0 + + + Speed + 1.0 + + + + + 3 + + Bullet + + Bullet/Monster/Vog Fireball + + Damage + + + + + Monster/Damage/Attack Base + + 4 + ELEMENTAL + + Monster/Split/Split - Full + + + + 4 + + Fire 3 + + Chance + 0.5 + Power + 50 + + + + + + + + Speed + 1.0 + + + + 1 + + + + + character/npc/monster/gremlin/animation/range_1_start.dat + + Attack Flare + 1.0 + Sounder + + + + + character/npc/monster/gremlin/animation/range_1_loop.dat + + Sound + sound/effect/weapon/cryotech_fire.ogg + + + + character/npc/monster/gremlin/animation/range_1_end.dat + + 2.0 + 1000 + 500 + 750 + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Flamethrower + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + + + + Length + Medium + Offset + 1.0, 0.0 + + + Delay + 200 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Vog Fireball + + Damage + + + + 80.0 + 4 + + + 4 + + Fire + + Chance + 0.5 + Power + 80 + + + + + + + + Delay + 200 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Vog Fireball + + Damage + + + + 80.0 + 4 + + + 4 + + Fire + + Chance + 0.5 + Power + 80 + + + + + + + + Delay + 0 + + + + + + + + Character/NPC/Monster/Gremlin/Scorcher/FlameWall + + + + Tier + + + Speed + implementation.start["Attack Flare"], implementation.start_speed + + + Damage + implementation.fire_refs[0].ref["Actor"]["Damage"], implementation.fire_refs[1].ref["Actor"]["Damage"], implementation.fire_refs[2].ref["Actor"]["Damage"], implementation.fire_refs[3].ref["Actor"]["Damage"], implementation.fire_refs[4].ref["Actor"]["Damage"], implementation.fire_refs[5].ref["Actor"]["Damage"], implementation.fire_refs[6].ref["Actor"]["Damage"] + + + + + + 1 + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Speed + 0.8 + + + + + 2 + + Damage + + 4 + + Fire 2 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Speed + 0.9 + + + + + 3 + + Damage + + 4 + + Fire 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Speed + 1.0 + + + + 1 + + + + + character/npc/monster/gremlin/animation/range_1_start.dat + + Attack Flare + 1.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/gremlin/gremlin_chat_taunt.ogg + Gain + 1.0 + Range + Long + + + + + + animation/sequential/simple.dat + + Animations + + + + character/npc/monster/gremlin/animation/range_1_loop.dat + + Sound + sound/effect/monster/gremlin_scorcher_fire.ogg + + + + + + character/npc/monster/gremlin/animation/range_1_loop.dat + + Sound + + + + + + Priority + 1 + + + + character/npc/monster/gremlin/animation/range_1_end.dat + + 1000 + 1000 + 750 + false + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/FlameWall Chunk + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Offset + 1.0, 0.0 + + + Delay + 200 + + + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/FlameWall Chunk + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Offset + 1.33, 1.0 + + + Delay + 300 + + + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/FlameWall Chunk + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Offset + 1.33, -1.0 + + + Delay + 300 + + + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/FlameWall Chunk + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Offset + 1.66, 2.0 + + + Delay + 400 + + + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/FlameWall Chunk + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Offset + 1.66, -2.0 + + + Delay + 400 + + + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/FlameWall Chunk + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Offset + 2.0, 3.0 + + + Delay + 500 + + + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/FlameWall Chunk + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Offset + 2.0, -3.0 + + + Delay + 500 + + + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Self Destruct + + + Damage + implementation.fire_refs[0].ref["Action"].damage.amount + + + + + character/npc/monster/gremlin/animation/skill_charging.dat + + Balloon + + world/dynamic/block/explosive_timed/parts/fx_countdown.dat + + Charge FX + + particle/fx_attackflare.dat + + Time Scale + 0.333 + + + Sound + + + + + character/npc/monster/gremlin/animation/skill_omni.dat + + FX + + particle/swing/vog_charged.dat + + Sound + sound/effect/weapon/bomb_c02.ogg + + + 0.333 + 1067 + 1067 + 0 + + + + Base/Default + + Action + + + 240.0 + + + -4.0, 0.0 + 200 + 3 + + + Delay + 160 + + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Torch Straight + + + Speed + implementation.start["Attack Flare"], implementation.start_speed + + + Flame + implementation.fire_refs[0].ref["Actor"] + + + Offset + implementation.fire_refs[0].ref["Translation"] + + + + + character/npc/monster/gremlin/animation/range_1_start.dat + + Attack Flare + 1.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/gremlin/gremlin_chat_taunt.ogg + Gain + 1.0 + Range + Long + + + + + + animation/sequential/simple.dat + + Animations + + + + character/npc/monster/gremlin/animation/range_1_loop.dat + + Sound + sound/effect/monster/gremlin_scorcher_fire.ogg + + + + + + character/npc/monster/gremlin/animation/range_1_loop.dat + + Sound + + + + + + + character/npc/monster/gremlin/animation/range_1_loop.dat + + Sound + + + + + + + character/npc/monster/gremlin/animation/range_1_loop.dat + + Sound + + + + + + Priority + 1 + + + + character/npc/monster/gremlin/animation/range_1_end.dat + + 1000 + 2000 + 750 + false + + + + Base/Spawn Transformed-Rotated Actor + + Actor + + Bullet/Monster/Flamethrower + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Length + Medium + Offset + 1.0, 0.0 + + + Delay + 200 + + + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Pushaway + + + + Tier + + + Speed + implementation.start["Release Time"], implementation.start_speed + + + Knock-Back + implementation.fire_refs[0].ref["Knock-Back"], implementation.fire_refs[1].ref["Knock-Back"], implementation.fire_refs[2].ref["Knock-Back"], implementation.fire_refs[3].ref["Knock-Back"] + + + Damage + implementation.fire_refs[3].ref["Damage"], implementation.fire_refs[2].ref["Damage"], implementation.fire_refs[1].ref["Damage"], implementation.fire_refs[0].ref["Damage"] + + + + + + 1 + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 4 + + Stun + + Chance + 0.5 + Power + 25 + + + + + + Knock-Back + + 3.0, 0.0 + 400 + + Speed + 1.5 + + + + + 2 + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 4 + + Stun 2 + + Chance + 0.5 + Power + 25 + + + + + + Knock-Back + + 4.5, 0.0 + 400 + 2 + + Speed + 1.5 + + + + + 3 + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 4 + + Stun 3 + + Chance + 0.5 + Power + 25 + + + + + + Knock-Back + + 6.0, 0.0 + 400 + 3 + + Speed + 1.5 + + + + 1 + + + + + character/pc/sword-chargerelease/animation.dat + + Release Time + 1.5 + Sound + + + + + character/pc/attack_sword_3_firewithwindup2.dat + + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Default + Swing + + particle/swing/calibur_charged.dat + + Variant + Coldiron + + + + + + character/pc/attack_sword_3_end.dat + + 1.5 + 0.75 + 1000 + 350 + 667 + false + 3 + + 1.0, 0.0 + 200 + 300 + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 4 + + + 4 + + Stun + + Chance + 0.5 + Power + 30 + + + + + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 6.0, 0.0 + 400 + 3 + + Shape + + + + + 0.0, -1.0 + + + + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 4 + + + 4 + + Stun + + Chance + 0.5 + Power + 30 + + + + + + Delay + 90 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 6.0, 0.0 + 400 + 3 + + Shape + + + + + -1.0, 0.0 + + + + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 4 + + + 4 + + Stun + + Chance + 0.5 + Power + 30 + + + + + + Delay + 130 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 6.0, 0.0 + 400 + 3 + + Shape + + + + + 0.0, 1.0 + + + + + + + + Base/Damage Origin Transformed + + Damage + + + + 60.0 + 4 + + + 4 + + Stun + + Chance + 0.5 + Power + 30 + + + + + + Delay + 180 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 6.0, 0.0 + 400 + 3 + + Shape + + + + + 1.0, 0.0 + + + + + + + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Swing + + + + Tier + + + Speed + implementation.start_speed + + + + + + 1 + + Damage + + 40.0 + 4 + 80.0 + 1 + 9 + + Speed + 0.95 + + + + + 2 + + Damage + + 80.0 + 4 + 210.0 + 9 + 19 + + Speed + 1.0 + + + + + 3 + + Damage + + 210.0 + 4 + 360.0 + 19 + + Speed + 1.1 + + + + 1 + + + + + character/pc/attack_sword_2_start.dat + + Sounder + + Custom/Monsters/Gremlins/Light Growls + + + + + character/pc/attack_sword_2_fire.dat + + Sound + + Clip/Default (Gain) + + File + sound/effect/weapon/sword_02.ogg + Gain + 1.0 + Range + Medium + + + Swing + + + particle/swing/pc_default.dat + + Blend + TRANSLUCENT + Color + + 0.79607844, 0.76862746, 0.73333335, 0.0 + 0.8784314, 0.8745098, 0.8745098, 1.0 + 0.7764706, 0.7372549, 0.7058824, 0.0 + 0.1 + 0.9 + + PC Swing# + 2 + Scale + + + 1.5 + + + 1.5 + 0.1 + + + 2.0 + + + Strider Color + + 0.7058824, 0.6745098, 0.6509804, 0.75 + 0.24313726, 0.21176471, 0.1882353, 0.0 + + + + Strider Toggle + false + Texture + particle/texture/fx_gremlinswing.png + + + %ROOT% + + + + + character/pc/attack_sword_2_end.dat + + 1.1 + 0.6 + 1.25 + 233 + 667 + + 3.0, 0.0 + 400 + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base -05 + + 4 + + Delay + 0 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 1.5, 0.0 + 150 + 2 + + Shape + + + 0.8 + + + 1.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Throw + + + + Tier + + + Damage + implementation.fire_refs[0].ref["Actor"]["Damage"] + + + Speed + implementation.start_speed, implementation.start["Attack Flare"] + + + + + + 1 + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + + + 4 + + Stun + + Chance + 0.3 + Power + 25 + + + + + + Speed + 0.75 + + + + + 2 + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + + + 4 + + Stun 2 + + Chance + 0.3 + Power + 25 + + + + + + Speed + 1.1 + + + + + 3 + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + + + 4 + + Stun 3 + + Chance + 0.3 + Power + 25 + + + + + + Speed + 1.5 + + + + 1 + + + + + character/npc/monster/gremlin/animation/attack_1_start.dat + + Attack Flare + 1.5 + Balloon + + Sound + + Meta Clip/Default + + Files + + + sound/effect/monster/gremlin/gremlin_chat_taunt.ogg + 0.85 + 1.2 + + + Range + Medium + + + + + + character/pc/attack_swordranged_leftright/fire.dat + + Sound + sound/effect/weapon/sword_03.ogg + Sound - Pitch + Default + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.4, 0.4, 0.4, 1.0 + Swing Color In/Out + 0.4, 0.4, 0.4, 0.0 + Swing Color Middle + 0.7294118, 0.7411765, 0.7019608, 0.5 + Texture + particle/texture/sphere.png + + + + + + character/npc/monster/gremlin/animation/attack_1_end.dat + + 1.5 + 3.0 + 2.0 + 1000 + 250 + 450 + true + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/Gremlin HammerThrow + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + + + 4 + + Stun + + Chance + 0.3 + Power + 25 + + + + + + + + Delay + 200 + + + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Thwack + + + + Tier + + + Speed + implementation.start_speed, implementation.start["Attack Flare"] + + + + + + 1 + + Damage + + 40.0 + 4 + 80.0 + 1 + 9 + + Speed + 1.0 + + + + + 2 + + Damage + + 80.0 + 4 + 210.0 + 9 + 19 + + Speed + 1.25 + + + + + 3 + + Damage + + 210.0 + 4 + 360.0 + 19 + + Speed + 1.5 + + + + 1 + + + + + character/npc/monster/gremlin/animation/attack_1_start.dat + + Attack Flare + 1.5 + Balloon + + Sound + + Custom/Monsters/Gremlins/Medium Attack + + + + + character/npc/monster/gremlin/animation/attack_1_fire.dat + + FX + + particle/fx_gremlinswing.dat + + Sound + sound/effect/monster/gremlin_thwack.ogg + + + + character/npc/monster/gremlin/animation/attack_1_end.dat + + 1.5 + 1000 + 667 + 983 + false + + 1.0, 0.0 + 100 + 1000 + + + + + Base/Damage Region Transformed + + Damage + + + + + Monster/Damage/Attack Base + + 4 + true + + + 4 + + Stun + + Chance + 0.2 + Power + 75 + + + + + + Delay + 330 + Shape + + + 1.5 + 0.5 + + + 1.2, 0.0 + + + + + + + + + + Character/NPC/Monster/Slime/Blast Cube + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 3.0 + Sound - Pitch adjust + Lower 1 + + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Lower 1 + + + + character/npc/monster/jellycube/attack_1_end.dat + + 3.0 + 0.75 + 1000 + 88 + 702 + + 1.0, 0.0 + 300 + 333 + + + + + Character/NPC/Monster/Slime/Jelly Damage + + Damage Amount + 80.0 + Delay + 0 + + + + + + + + Character/NPC/Monster/Slime/Impostocube + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 3.0 + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/attack_1_end.dat + + 3.0 + 1000 + 88 + 702 + + + + Base/Damage Origin Transformed + + Damage + + 80.0 + 4 + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 0.5 + + + 1.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Slime/Jelly Cube + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 2.5 + Sound - Pitch adjust + Higher 1 + + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Higher 1 + + + + character/npc/monster/jellycube/attack_1_end.dat + + 2.5 + 1000 + 88 + 702 + + -1.5, 0.0 + 450 + 500 + + + + + Character/NPC/Monster/Slime/Jelly Damage + + Damage Amount + 40.0 + Delay + 0 + + + + + + + + Character/NPC/Monster/Slime/Jelly Green Giant 0 + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 2.0 + Sound - Pitch adjust + Lower 3 + + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Lower 3 + + + + character/npc/monster/jellycube/attack_1_end.dat + + 2.0 + 0.8 + 0.4 + 1000 + 88 + 702 + + 2.0, 0.0 + 200 + 450 + + + + + Base/Damage Origin Transformed + + Damage + + + + 150.0 + 4 + + + 4 + + Stun + + Chance + 0.0 + Power + 0 + + + + + + Delay + 100 + Knock-Back + + 6.0, 0.0 + 800 + 7 + + Shape + + + 1.25 + + + 1.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Slime/Jelly Green Giant 1 + + + character/npc/monster/jellycube/attack_aoe_start.dat + + Attack Flare + 1.0 + + + + character/npc/monster/jellycube/attack_aoe_fire.dat + + Wave Radius + + 2.0 + + + + + character/npc/monster/jellycube/attack_aoe_end.dat + + 1000 + 50 + 1050 + + + + Base/Damage Origin Transformed + + Damage + + + + 4 + + Stun + + Chance + 0.0 + Power + 0 + + + + + 60.0 + 4 + + + + Delay + 0 + Knock-Back + + 4.0, 0.0 + 300 + 3 + + Shape + + + 1.8 + + + + + + + + + + Character/NPC/Monster/Slime/Jelly Green Mini + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 1.5 + Sound - Pitch adjust + Higher 4 + + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Higher 4 + + + + character/npc/monster/jellycube/attack_1_end.dat + + 1.5 + 1000 + 88 + 702 + + -0.75, 0.0 + 200 + 850 + + + + + Character/NPC/Monster/Slime/Jelly Damage + + Damage Amount + 20.0 + Delay + 0 + + + + + + + + Character/NPC/Monster/Slime/Jelly Punch + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + + Damage Region + + + Region + implementation.fire_refs[0].ref["Shape"] + + + + + + Small + + Region + + + 0.2 + + + 0.6, 0.0 + + + + + + + Medium + + Region + + + 0.5 + + + 1.0, 0.0 + + + + + + + Large + + Region + + + + + 2.0, 0.0 + + + + + + Medium + + + + Impulse + + + Impulse + implementation.impulse_received + + + + + + Backward + + Impulse + + -1.5, 0.0 + 450 + 1000 + + + + + + Null + + Impulse + + + + + + Forward + + Impulse + + 2.0, 0.0 + 200 + 800 + + + + + Backward + + + Sound - Pitch adjust + implementation.start["Sound - Pitch adjust"], implementation.fire["Sound - Pitch adjust"] + + + Flare Color + implementation.start["Color"] + + + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 1.0 + Color + None + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/attack_1_end.dat + + 0.9 + 1000 + 88 + 702 + true + true + + -1.5, 0.0 + 450 + 1000 + + + + + Base/Damage Origin Transformed + + Damage + + 40.0 + 4 + + Delay + 0 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 1.0, 0.0 + 200 + + Shape + + + 0.5 + + + 1.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + + Damage Region + + + Region + implementation.fire_refs[0].ref["Shape"] + + + Knock-Back + implementation.fire_refs[0].ref["Knock-Back"] + + + + + + Small + + + + + + + Knock-Back + + 1.0, 0.0 + 200 + + R + + + + + Ra + + + + + Re + + + + + Reg + + + + + Regi + + + + + Regio + + + + + Region + + + + + + + + + Medium + + + + + + + Knock-Back + + 1.5, 0.0 + 250 + + R + + + + + Ra + + + + + Re + + + + + Reg + + + + + Regi + + + + + Regio + + + + + Region + + + + + + + + + Large + + + + + + + Knock-Back + + 6.0, 0.0 + 800 + 7 + + R + + + + + Ra + + + + + Re + + + + + Reg + + + + + Regi + + + + + Regio + + + + + Region + + + + + + + + Medium + + + + Impulse + + + Impulse + implementation.impulse_received + + + + + + Backward + + Impulse + + -1.5, 0.0 + 450 + 1450 + + + + + + Null + + Impulse + + + + + + Forward + + Impulse + + 2.0, 0.0 + 200 + 914 + + + + + Backward + + + Sound - Pitch adjust + implementation.start["Sound - Pitch adjust"], implementation.fire["Sound - Pitch adjust"] + + + + + character/npc/monster/jellycube/animations_omni/animation_attack_start.dat + + Attack Flare + 0.7 + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/animations_omni/animation_attack_fire.dat + + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/animations_omni/animation_attack_end.dat + + 0.7 + 1.5 + 0.9 + 926 + 667 + 414 + + -1.5, 0.0 + 450 + 1000 + + + + + Base/Damage Origin Transformed + + Damage + + 40.0 + 4 + + Delay + 150 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 1.0, 0.0 + 200 + + Shape + + + + + + + + + + + + Character/NPC/Monster/Slime/Jelly Roundhouse (Ice) + + + Damage + implementation.fire_refs[0].ref["Action"].action.damage + + + Damage Frozen + implementation.fire_refs[0].ref["Action"].else_action.damage + + + + Damage Region + + + Region + implementation.fire_refs[0].ref["Action"].else_action.region.shape, implementation.fire_refs[0].ref["Action"].action.region.shape, implementation.fire_refs[1].ref["Action"].action.target.region.shape + + + Knock-Back + implementation.fire_refs[0].ref["Action"].else_action.impulse_dealt, implementation.fire_refs[0].ref["Action"].action.impulse_dealt + + + + + + Small + + + + + + + Knock-Back + + 1.0, 0.0 + 200 + + R + + + + + Ra + + + + + Re + + + + + Reg + + + + + Regi + + + + + Regio + + + + + Region + + + + + + + Medium + + + + + + + Knock-Back + + 1.5, 0.0 + 250 + + R + + + + + Ra + + + + + Re + + + + + Reg + + + + + Regi + + + + + Regio + + + + + Region + + 1.3 + + + + + + Large + + + + + + + Knock-Back + + 6.0, 0.0 + 800 + 7 + + R + + + + + Ra + + + + + Re + + + + + Reg + + + + + Regi + + + + + Regio + + + + + Region + + 1.6 + + + + + Medium + + + + Impulse + + + Impulse + implementation.impulse_received + + + + + + Backward + + Impulse + + -1.5, 0.0 + 450 + 1428 + + + + + + Null + + Impulse + + + + + + Forward + + Impulse + + 2.0, 0.0 + 200 + 914 + + + + + Backward + + + Sound - Pitch adjust + implementation.start["Sound - Pitch adjust"], implementation.fire["Sound - Pitch adjust"] + + + + + character/npc/monster/jellycube/animations_omni/animation_attack_start.dat + + Attack Flare + 0.7 + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/animations_omni/animation_attack_fire-ice.dat + + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/animations_omni/animation_attack_end.dat + + 0.7 + 1.5 + 0.9 + 926 + 667 + 414 + + -1.5, 0.0 + 450 + 1000 + + + + + Base/Default + + Action + + + + + Monster/Damage/Attack Base + + 4 + + + 1.0, 0.0 + 200 + + + + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 4 + + Freeze + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + 2.0, 0.0 + 300 + + + + Delay + 150 + + + + + + Base/Default + + Action + + + Delay + 150 + + + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Radius + implementation.fire_refs[0].ref["Shape"].shape.radius + + + Radius Graphic + implementation.fire["Wave Radius"] + + + Bullet + implementation.fire_refs[2].ref["Actor"], implementation.fire_refs[4].ref["Actor"], implementation.fire_refs[6].ref["Actor"], implementation.fire_refs[8].ref["Actor"] + + + Bullet 2 + implementation.fire_refs[1].ref["Actor"], implementation.fire_refs[3].ref["Actor"], implementation.fire_refs[5].ref["Actor"], implementation.fire_refs[7].ref["Actor"] + + + Color + implementation.fire["Color"] + + + Flare Color + implementation.start["Color"] + + + + + character/npc/monster/jellycube/attack_aoe_start.dat + + Attack Flare + 0.75 + Color + None + + + + character/npc/monster/jellycube/attack_aoe_fire.dat + + Color + 0.31764707, 0.8, 0.0, 1.0 + Sound + + Clip/Default (Gain) + + File + sound/effect/weapon/bomb_c01.ogg + Gain + 1.0 + Range + Medium + + + Wave Radius + + 2.0 + + + + + character/npc/monster/jellycube/attack_aoe_end.dat + + 0.75 + 1000 + 50 + 1050 + false + + + + Base/Damage Origin Transformed + + Damage + + + + 60.0 + 4 + + + 4 + + Stun + + Chance + 0.3 + Power + 75 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Delay + 50 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 4.0, 0.0 + 300 + 3 + + Shape + + + 3.0 + + + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 25 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 50 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 75 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 100 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 125 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 150 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 175 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 200 + + + + + + + + Character/NPC/Monster/Slime/Lichen + + + Damage Scale + implementation.fire_refs[0].ref["Damage Scale"] + + + Damage Transform + implementation.fire_refs[0].ref["Damage Transform"] + + + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 1.0 + Color + Normal + Sound - Pitch adjust + Higher 2 + + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Higher 2 + + + + character/npc/monster/jellycube/attack_1_end.dat + + 0.75 + 1000 + 702 + + -1.0, 0.0 + 200 + 1000 + + + + + Character/NPC/Monster/Slime/Lichen Damage + + Damage Scale + + Monster/Damage/Attack Base + + Damage Transform + + 1.25, 0.0 + + Delay + 0 + + + + + + + + Character/NPC/Monster/Slime/Lichen Dash + + + character/npc/monster/lichen/animations/dash.dat + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Higher 2 + + + + character/npc/monster/jellycube/attack_1_end.dat + + 0.75 + 200 + 702 + + 6.0, 0.0 + 400 + + + + + Character/NPC/Monster/Slime/Lichen Impale + + + Spire + implementation.fire_refs[1].ref["Action"].actor, implementation.fire_refs[2].ref["Action"].actor, implementation.fire_refs[3].ref["Action"].actor, implementation.fire_refs[4].ref["Action"].actor, implementation.fire_refs[5].ref["Action"].actor + + + + + character/npc/monster/lichen/animations/attack_impale_start.dat + + Attack Flare + 0.75 + Flare Color + Pierce + Sound - Pitch adjust + Lower 2 + + + + character/npc/monster/lichen/animations/attack_impale_fire.dat + + Sound - Pitch adjust + Default + + + + character/npc/monster/lichen/animations/attack_impale_end.dat + + 0.75 + 0.5 + 1000 + 200 + 500 + false + + + + Base/Default + + Action + + + 4 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 2.0, 0.0 + 200 + 3 + + + Delay + 0 + + + + + + Base/Default + + Action + + + Bomb/Monster/Lichen Spire + + Color + Tri Deep + Damage + + + + 60.0 + 4 + + + 4 + + Poison + + Chance + 0.65 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + Delay + 50 + + + + + + Base/Default + + Action + + + Bomb/Monster/Lichen Spire + + Color + Tox + Damage + + + + 60.0 + 4 + + + 4 + + Poison + + Chance + 0.65 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + Delay + 100 + + + + + + Base/Default + + Action + + + Bomb/Monster/Lichen Spire + + Color + Tox + Damage + + + + 60.0 + 4 + + + 4 + + Poison + + Chance + 0.65 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + Delay + 150 + + + + + + Base/Default + + Action + + + Delay + 200 + + + + + + Base/Default + + Action + + + Delay + 250 + + + + + + + + Character/NPC/Monster/Slime/Lichen Impale (Lesser) + + + Spire + implementation.fire_refs[1].ref["Action"].actor, implementation.fire_refs[2].ref["Action"].actor, implementation.fire_refs[3].ref["Action"].actor + + + + + character/npc/monster/lichen/animations/attack_impale_start.dat + + Attack Flare + 1.0 + Flare Color + Pierce + Sound - Pitch adjust + Lower 1 + + + + character/npc/monster/lichen/animations/attack_impale_fire.dat + + Sound - Pitch adjust + Higher 1 + + + + character/npc/monster/lichen/animations/attack_impale_end.dat + + 0.9 + 1000 + 200 + 500 + false + true + + + + Base/Default + + Action + + + 4 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 2.0, 0.0 + 200 + 3 + + + Delay + 0 + + + + + + Base/Default + + Action + + + Bomb/Monster/Lichen Spire + + Color + Tri Deep + Damage + + + + 60.0 + 4 + + + 4 + + Poison + + Chance + 0.65 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + Delay + 100 + + + + + + Base/Default + + Action + + + Bomb/Monster/Lichen Spire + + Color + Tox + Damage + + + + 60.0 + 4 + + + 4 + + Poison + + Chance + 0.65 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + Delay + 200 + + + + + + Base/Default + + Action + + + Bomb/Monster/Lichen Spire + + Color + Tox + Damage + + + + 60.0 + 4 + + + 4 + + Poison + + Chance + 0.65 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + Delay + 300 + + + + + + + + Character/NPC/Monster/Slime/Lichen Merge + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 2.25 + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/attack_1_end.dat + + 2.25 + 0.75 + 1000 + 702 + + + + Character/NPC/Monster/Slime/Lichen Merge + + + + + + + Character/NPC/Monster/Slime/Oiler Dash + + + character/npc/monster/lichen/animations/dash.dat + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Higher 1 + + + + character/npc/monster/jellycube/attack_1_end.dat + + 10.0 + 0.75 + 200 + 702 + + 6.0, 0.0 + 400 + + + + + Base/Spawn Actor + + Actor + + Bomb/Monster/Oil Slick + + Delay + 0 + + + + + + Base/Spawn Actor + + Actor + + Bomb/Monster/Oil Slick + + Delay + 75 + + + + + + Base/Spawn Actor + + Actor + + Bomb/Monster/Oil Slick + + Delay + 150 + + + + + + Base/Spawn Actor + + Actor + + Bomb/Monster/Oil Slick + + Delay + 225 + + + + + + Base/Spawn Actor + + Actor + + Bomb/Monster/Oil Slick + + Delay + 300 + + + + + + + + Character/NPC/Monster/Slime/Oiler Place + + + character/npc/monster/lichen/animations/attack_impale_fire.dat + + Sound - Pitch adjust + Higher 3 + + + + character/npc/monster/lichen/animations/attack_impale_end.dat + + 1.5 + 1 + 200 + 500 + true + true + + 1.0, 0.0 + 150 + + + + + Base/Spawn Transformed Actor + + Actor + + Bomb/Monster/Oil Slick + + Delay + 75 + + + + + + + + Character/NPC/Monster/Slime/Quicksilver Charge + + + Damage Status + implementation.fire_refs[0].ref["Damage"].damages[1] + + + + + character/npc/monster/lichen/animations/attack_impale_start.dat + + Attack Flare + 0.75 + Flare Color + Elemental + Sound - Pitch adjust + Default + + + + character/npc/monster/lichen/animations/attack_impale_fire.dat + + Sound - Pitch adjust + Higher 3 + + + + character/npc/monster/lichen/animations/attack_impale_end.dat + + 0.75 + 1000 + 200 + 500 + true + + + + Base/Damage Origin Transformed + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + ELEMENTAL + + Monster/Split/Split - Full + + + + 4 + + Shock 3 + + Chance + 1.0 + Power + 30 + + + + + + Delay + 75 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 2.0, 0.0 + 300 + + Shape + + + + + + + + + + Base/Default + + Delay + 0 + + + + + + + + Character/NPC/Monster/Slime/Sloom + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 2.25 + Color + None + Sound - Pitch adjust + Lower 1 + + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Lower 1 + + + + character/npc/monster/jellycube/attack_1_end.dat + + 2.25 + 0.75 + 1000 + 702 + + -0.75, 0.0 + 200 + 600 + + + + + Character/NPC/Monster/Slime/Sloom Damage + + Damage Amount + 40.0 + Delay + 0 + Status Condition + + + + + + + + + Character/NPC/Monster/Slime/Sloombargo + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 2.25 + Sound - Pitch adjust + Lower 3 + + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Lower 3 + + + + character/npc/monster/jellycube/attack_1_end.dat + + 2.25 + 0.75 + 1000 + 702 + + -0.75, 0.0 + 200 + 600 + + + + + Character/NPC/Monster/Slime/Sloom Damage + + Damage Amount + 40.0 + Delay + 0 + Status Condition + + + + + + + + + Character/NPC/Monster/Slime/Soul Jelly + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 2.5 + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/attack_1_end.dat + + 2.5 + 1000 + 88 + 702 + + -1.5, 0.0 + 450 + 500 + + + + + Character/NPC/Monster/Slime/Jelly Damage + + Damage Amount + 40.0 + Delay + 0 + + + + + + + + Character/NPC/Monster/Slime/Toxigel + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 2.25 + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/attack_1_end.dat + + 2.25 + 0.75 + 1000 + 702 + + -0.75, 0.0 + 200 + 600 + + + + + Character/NPC/Monster/Slime/Sloom Damage + + Damage Amount + 40.0 + Delay + 0 + Status Condition + + Poison + + Chance + 0.0 + Power + 0 + + + + + + + + + + Character/NPC/Monster/Slime/Tri-Lichen + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 2.25 + Sound - Pitch adjust + Lower 1 + + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Lower 1 + + + + character/npc/monster/jellycube/attack_1_end.dat + + 2.25 + 0.75 + 1000 + 702 + + -0.75, 0.0 + 200 + 600 + + + + + Character/NPC/Monster/Slime/Lichen Damage + + Damage Transform + + 1.25, 0.0 + + Delay + 0 + + + + + + + + Character/NPC/Monster/Undead/Black Kat 0 + + + Sound - Screech Pitch + implementation.start["Sound - Pitch"] + + + Sound - Chomp Pitch + implementation.fire["Sound - Chomp Pitch"] + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + + + character/npc/monster/spookat/attack_1_start.dat + + Attack Flare + 0.8333333 + Sound - File + sound/effect/monster/spookat/spookat_attackcue_05.ogg + Sound - Pitch + Lower 1 + + + + character/npc/monster/spookat/attack_1_fire.dat + + Sound - Chomp Pitch + Lower 1 + + + + character/npc/monster/spookat/attack_1_end.dat + + 0.3 + 360 + 583 + + 3.0, 0.0 + 150 + 1100 + + + + + Base/Damage Origin Transformed + + Damage + + 100.0 + 4 + + Delay + 0 + Impulse Origin Translation + -5.0, 0.0 + Knock-Back + + 4.0, 0.0 + 400 + 4 + + Shape + + + + + 0.8, 0.0 + + + + + + + + + + Character/NPC/Monster/Undead/Black Kat 1 + + + character/npc/monster/spookat/ranged_1_start.dat + + Sound - Intro Pitch + Lower 3 + + + + character/npc/monster/spookat/ranged_1_fire.dat + + Sound - Spit Pitch + Lower 3 + + + + character/npc/monster/spookat/ranged_1_end.dat + + 0.5 + 433 + 75 + + 2.0, 0.0 + 300 + 300 + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Black Kat Bullet + + Delay + 100 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Black Kat Bullet + + Delay + 100 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Black Kat Bullet + + Delay + 100 + + + + + + + + Character/NPC/Monster/Undead/Bloogato Spit + + + Bullet (Primary) + implementation.fire_refs[0].ref["Actor"] + + + Bullet (Secondary) + implementation.fire_refs[1].ref["Actor"], implementation.fire_refs[2].ref["Actor"] + + + + + character/npc/monster/spookat/ranged_1_start.dat + + Sound - Intro Pitch + Lower 2 + + + + character/npc/monster/spookat/ranged_1_fire.dat + + Sound - Spit Pitch + Lower 2 + + + + character/npc/monster/spookat/ranged_1_end.dat + + 0.5 + 433 + 75 + + 2.0, 0.0 + 300 + 300 + + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/Bloogato Snowball + + Status Condition + + Freeze + + Chance + 0.333333 + Power + 50 + + + + + Delay + 0 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Bloogato Snowball + + Status Condition + + Freeze + + Chance + 0.333333 + Power + 50 + + + + + Delay + 0 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Bloogato Snowball + + Status Condition + + Freeze + + Chance + 0.333333 + Power + 50 + + + + + Delay + 0 + + + + + + + + Character/NPC/Monster/Undead/Deadnought/Parts/Charge - Finish + + + Status Attack + implementation.fire_refs[0].ref["Status Attack"] + + + + + character/npc/monster/zombieknight/animation/attack_charge_fire.dat + + + character/npc/monster/zombieknight/animation/attack_charge_end.dat + + 1 + 1530 + 4 + false + + 3.0, 0.0 + 600 + + + + + Character/NPC/Monster/Undead/Deadnought/Deadnought, Skewer + + Status Attack + + + + + + + + + Character/NPC/Monster/Undead/Deadnought/Parts/Charge - Start, Loop + + + Status Attack + implementation.fire_refs[0].ref["Status Attack"] + + + + + character/npc/monster/zombieknight/animation/attack_charge_begin.dat + + + character/npc/monster/zombieknight/animation/attack_charge_loop.dat + + Loop + true + + + 683 + 6530 + 1 + false + true + true + + + + Character/NPC/Monster/Undead/Deadnought/Deadnought, Charge + + Status Attack + + + + + + + + + Character/NPC/Monster/Undead/Deadnought/Parts/Mecha Knight Charge + + + character/pc/charge_sword_hold.dat + + Actions + + + + + 0 + 1000 + true + + + + Character/NPC/Monster/Undead/Hurkat Spit + + + character/npc/monster/spookat/ranged_1_start.dat + + Sound - Intro Pitch + Higher 1 + + + + character/npc/monster/spookat/ranged_1_fire.dat + + Sound - Spit Pitch + Higher 1 + + + + character/npc/monster/spookat/ranged_1_end.dat + + 0.5 + 433 + 0 + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/Hurkat Hairball + + Bullet Speed + 2.5 + Status Condition + + + + Delay + 0 + + + + + + + + Character/NPC/Monster/Undead/Hurkat Spit (x3) + + + Bullet (Primary) + implementation.fire_refs[0].ref["Actor"] + + + Bullet (Secondary) + implementation.fire_refs[1].ref["Actor"], implementation.fire_refs[2].ref["Actor"] + + + + + character/npc/monster/spookat/ranged_1_start.dat + + Sound - Intro Pitch + Higher 1 + + + + character/npc/monster/spookat/ranged_1_fire.dat + + Sound - Spit Pitch + Higher 1 + + + + character/npc/monster/spookat/ranged_1_end.dat + + 0.5 + 433 + 0 + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/Hurkat Hairball + + Bullet Speed + 2.5 + Status Condition + + + + Delay + 0 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Hurkat Hairball + + Bullet Speed + 2.5 + Status Condition + + + + Delay + 0 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Hurkat Hairball + + Bullet Speed + 2.5 + Status Condition + + + + Delay + 0 + + + + + + + + Character/NPC/Monster/Undead/Spookat + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + + + character/npc/monster/spookat/attack_1_start.dat + + Attack Flare + 1.38 + Sound - File + sound/effect/monster/spookat/spookat_attackcue_05.ogg + Sound - Pitch + Higher 1 + + + + character/npc/monster/spookat/attack_1_fire.dat + + Sound - Chomp Pitch + Higher 1 + + + + character/npc/monster/spookat/attack_1_end.dat + + 0.5 + 360 + 583 + + 2.0, 0.0 + 150 + 600 + + + + + Base/Damage Region Transformed + + Damage + + 50.0 + 4 + + Delay + 0 + Shape + + + 0.4 + + + 0.75, 0.0 + + + + + + + + + + Character/NPC/Monster/Undead/Spookat AI 1 + + + character/npc/monster/spookat/attack_1_start.dat + + Attack Flare + 1.38 + Sound - File + sound/effect/monster/spookat/spookat_attackcue_01.ogg + Sound - Pitch + Default + + + + character/npc/monster/spookat/attack_1_fire.dat + + Sound - Chomp Pitch + Default + + + + character/npc/monster/spookat/attack_1_end.dat + + 0.5 + 0.75 + + 2.0, 0.0 + 100 + 300 + + + + + Base/Damage Origin Transformed + + Damage + + 50.0 + 4 + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 1.0, 0.0 + + Shape + + + 0.4 + + + 0.75, 0.0 + + + + + + + + + + Character/NPC/Monster/Undead/Spookat Bite + + + + Dash Distance + + + Translation + implementation.impulse_received.translation + + + Duration + implementation.impulse_received.duration + + + Delay + implementation.impulse_received.delay + + + + + + 0.0 + + Delay + 600 + Duration + 0 + Translation + 0.0, 0.0 + + + + + 1.0 + + Delay + 650 + Duration + 100 + Translation + 1.0, 0.0 + + + + + 2.0 + + Delay + 600 + Duration + 150 + Translation + 2.0, 0.0 + + + + + 3.0 + + Delay + 525 + Duration + 225 + Translation + 3.0, 0.0 + + + + + 4.0 + + Delay + 450 + Duration + 300 + Translation + 4.0, 0.0 + + + + + 5.0 + + Delay + 375 + Duration + 375 + Translation + 5.0, 0.0 + + + + 2.0 + + + Damage (Status) + implementation.fire_refs[0].ref["Damage"].damages[1] + + + + + character/npc/monster/spookat/attack_1_start.dat + + Attack Flare + 1.38 + Sound - File + sound/effect/monster/spookat/spookat_attackcue_05.ogg + Sound - Pitch + Higher 1 + + + + character/npc/monster/spookat/attack_1_fire.dat + + Sound - Chomp Pitch + Higher 1 + + + + character/npc/monster/spookat/attack_1_end.dat + + 0.5 + 360 + 583 + + 2.0, 0.0 + 150 + 600 + + + + + Base/Damage Origin Transformed + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 0 + + + + Delay + 200 + Impulse Origin Translation + -1.0, 0.0 + Knock-Back + + 1.0, 0.0 + 100 + + Shape + + + 0.4 + + + 0.75, 0.0 + + + + + + + + + + Character/NPC/Monster/Undead/Spookat Dash + + + + Distance + + + Translation + implementation.impulse_received.translation + + + + + + 10 + + Duration + 1250 + Translation + 10.0, 0.0 + + + + + 8 + + Duration + 1000 + Translation + 8.0, 0.0 + + + + + 6 + + Duration + 750 + Translation + 6.0, 0.0 + + + + + 4 + + Duration + 500 + Translation + 4.0, 0.0 + + + + 8 + + + + + character/npc/monster/spookat/reacting.dat + + + animation/sequential/simple.dat + + Animations + + + + character/npc/monster/spookat/walking.dat + + + + + character/npc/monster/spookat/walking.dat + + + + + character/npc/monster/spookat/walking.dat + + + + Priority + 1 + + + + character/npc/monster/spookat/reacting.dat + + 0.75 + 3.5 + 567 + 1500 + 567 + false + + 8.0, 0.0 + 1000 + 750 + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Next Attack + implementation.attack + + + Next Attack Condition + implementation.condition + + + + + character/npc/monster/zombie/animation/bite.dat + + 0 + 1000 + 500 + false + true + + + + Base/Damage Origin Transformed + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Delay + 950 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 0.75, 0.0 + + + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Breath + + + Warmup speed + implementation.start_speed + + + Breath Variant + implementation.fire_refs[0].ref["Action"].effect["Variant"] + + + Chain Into + implementation.attack + + + Breath Status Condition + implementation.fire_refs[0].ref["Action"].effect["Status"] + + + + + character/npc/monster/zombie/animation/attack_breath_start.dat + + + character/npc/monster/zombie/animation/attack_breath_fire.dat + + + character/npc/monster/zombie/animation/attack_breath_end.dat + + 0.8 + 1900 + 467 + 1533 + false + true + + + + Base/Default + + Action + + + Monster/Undead/Zombie Breath + + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/zombie/zombie_breath_outro_02.ogg + Gain + 0.6 + Range + Medium + + + Status + + Variant + Dust + + + + Delay + 1 + + + + + 7 + + + + Character/NPC/Monster/Undead/Zombie/Zombie Breath (loop) + + + Chain Into (self) + implementation.attack + + + Breath Variant + implementation.fire_refs[0].ref["Action"].effect["Variant"] + + + Breath Status Condition + implementation.fire_refs[0].ref["Action"].effect["Status"] + + + + + character/npc/monster/zombie/animation/attack_breath_fire.dat + + + character/npc/monster/zombie/animation/attack_breath_end.dat + + 0.8 + 0 + 467 + 1533 + false + true + + + + Base/Default + + Action + + + Monster/Undead/Zombie Breath + + Sounder + + Status + + Variant + Dust + + + + Delay + 1 + + + + + 7 + + + + Character/NPC/Monster/Undead/Zombie/Zombie Grapple + + + Next Attack + implementation.attack + + + Damage + implementation.fire_refs[0].ref["Damage"], implementation.fire_refs[1].ref["Damage"], implementation.fire_refs[2].ref["Damage"] + + + Grab Duration + implementation.condition.conditions[1].action.damage.status_condition["Duration"] + + + + + character/npc/monster/zombie/animation/launch_start.dat + + Attack Flare + 0.9 + + + + character/npc/monster/zombie/animation/launch_fire.dat + + + character/npc/monster/zombie/animation/launch_end.dat + + 0.15 + 217 + 733 + 1133 + false + + 4.0, 0.0 + 400 + 1250 + + + + + Character/NPC/Monster/Undead/Dust Zombie + + Damage + + + + 4 + + + 4 + + + + Delay + 0 + Knock Back + + + + + + + Character/NPC/Monster/Undead/Dust Zombie + + Damage + + + + 4 + + + 4 + + + + Delay + 200 + Knock Back + + + + + + + Character/NPC/Monster/Undead/Dust Zombie + + Damage + + + + 4 + + + 4 + + + + Delay + 400 + Knock Back + + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Swipe + + + Status Condition + implementation.fire_refs[0].ref["Damage"].damages[1].status_condition + + + + + character/npc/monster/zombie/animation/attack_start.dat + + Attack Flare + 1.364 + Flare Color + Shadow + + + + character/npc/monster/zombie/animation/attack_fire.dat + + Swing Color + 0.6901961, 0.54509807, 0.38039216, 1.0 + + + + character/npc/monster/zombie/animation/attack_end.dat + + 0.75 + 1.2 + 0.7 + 550 + 333 + 1267 + + 0.8, 0.0 + 300 + 680 + + + + + Base/Damage Origin Transformed + + Damage + + + + + Monster/Damage/Attack Base + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Delay + 165 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 0.65 + + + 1.2, 0.0 + + + + + + + + + + Character/Weapon/Hunting Wolver + + + character/npc/monster/wolver/animation/attack_bite_start.dat + + 2.0 + 1 + 800 + 1 + + 0.8, 0.0 + 200 + 300 + + + + + Base/Default + + Delay + 400 + + + + + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (HuntingGhost) + + Wolf Transform + + 1.5 + 0.0, 0.2, 0.2 + + + + Delay + 400 + + + + + + Base/Damage Region Transformed + + Damage + + 40.0 + 2 + false + + Delay + 400 + Shape + + + 0.75 + + + 1.0, 0.0 + + + + + + + + + + Dynamic/Energy-Consuming Objects/Railgun beam + + + Damage Amount + implementation.fire_refs[1].ref["Damage Amount"] + + + + + world/dynamic/energy/animations/auto-turret/attack_warmup_railgun.dat + + + world/dynamic/energy/animations/auto-turret/attack_fire_railgun.dat + + + world/dynamic/energy/animations/auto-turret/attack_cooldown_railgun.dat + + 0.35 + 1567 + 67 + 1133 + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Dynamic Objects/Energy-Consuming Objects/Turret, Auto - Railgun Beam + + Delay + 0 + + + + + + Character/NPC/Player Faction/Turret, Auto/Railgun beam + + Damage Amount + 10.0 + + + + + + + + Dynamic/Energy-Consuming Objects/Turret, Auto + + + world/dynamic/energy/animations/auto-turret/attack_warmup.dat + + + world/dynamic/energy/animations/auto-turret/attack_fire.dat + + + world/dynamic/energy/animations/auto-turret/attack_cooldown.dat + + 567 + 200 + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Dynamic Objects/Energy-Consuming Objects/Turret, Auto (default) + + Delay + 0 + + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + + + Dynamic/Energy-Consuming Objects/Vulcan Spray + + + world/dynamic/energy/animations/auto-turret/attack_warmup_vulcan.dat + + + world/dynamic/energy/animations/auto-turret/attack_fire_vulcan_1.dat + + + world/dynamic/energy/animations/auto-turret/attack_cooldown_vulcan.dat + + 0.25 + 0.32 + 0.25 + 633 + 67 + 567 + + + + Character/NPC/Player Faction/Turret, Auto/Vulcan Spray + + Delay + 0 + + + + + 1 + + + + Dynamic/Energy-Consuming Objects/Vulcan Spray (chain) + + + world/dynamic/energy/animations/auto-turret/attack_fire_vulcan_loop.dat + + + world/dynamic/energy/animations/auto-turret/attack_cooldown_vulcan.dat + + 0.32 + 0.25 + 0 + 67 + 567 + + + + Character/NPC/Player Faction/Turret, Auto/Vulcan Spray + + Delay + 4 + + + + + 1 + + + + Dynamic/Traps and Hazards/SiegeWheel + + + Fire Speed + implementation.start["Attack Flare"], implementation.start_speed + + + Fuse + implementation.fire_refs[0].ref["Actor"]["Fuse"] + + + + + world/dynamic/traps_n_hazards/siegewheel/animations/arnimation_launch-start.dat + + Attack Flare + 1.0 + + + + world/dynamic/traps_n_hazards/siegewheel/animations/arnimation_launch-fire.dat + + + world/dynamic/traps_n_hazards/siegewheel/animations/arnimation_launch-end.dat + + 1000 + 2000 + 33 + false + + + + Base/Spawn Actor + + Actor + + Dynamic/Traps and Hazards/Siege Wheel/Parts/Wheel + + Fuse + 10000 + + + Delay + 0 + + + + + + + + Weapon/Bomb/Parts/Base Attack + + + Fire Speed + implementation.fire_speed + + + Bomb + implementation.fire_refs[0].ref["Actor"] + + + Fire Sound + implementation.fire["Sound"]["File"] + + + + + character/pc/attack_bomb_blend.dat + + Sound + + Clip/Default (Gain) + + File + + Gain + 2.5 + Range + Medium + + + + + 200 + 200 + 200 + true + + + + Base/Spawn Prespawned + + Actor + + Delay + 0 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + + + Weapon/Bomb/Parts/Base Blank + + + character/pc/lift.dat + + + character/pc/throw.dat + + 0 + 200 + 767 + true + + + + Weapon/Bomb/Parts/Base Charge + + + Fire Speed + implementation.fire_speed + + + Bomb + implementation.fire_refs[0].ref["Actor"] + + + + + character/pc/attack_bomb_blend.dat + + Sound + + + + 0.8 + 0 + 200 + 200 + + + + Base/Spawn Prespawned + + Actor + + Bomb/Proto (Charged) + + Damage + + 75.0 + 2 + true + + Radius + 1.5 + + + Delay + 0 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + + + Weapon/Bomb/Parts/Base Incomplete + + + Fire Speed + implementation.attack["Fire Speed"] + + + Bomb + implementation.attack["Bomb"] + + + + + Weapon/Bomb/Parts/Base Attack + + Bomb + + Fire Sound + sound/effect/weapon/bomb_drop_01.ogg + Fire Speed + 1.0 + + + + + + Weapon/Bomb/Parts/Base Interupt + + + character/pc/throw.dat + + 2.0 + 0 + 767 + 250 + true + + + + Base/Spawn Prespawned + + Actor + + Bomb/Parts/Dud + + Delay + 0 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + + + Weapon/Handgun/Autogun (Charge) + + + Weapon/Handgun/Parts/Auto Charge + + Bullet + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Random Variance + 0.08726646 + + + + + + Weapon/Handgun/Parts/Auto Charge + + + Bullet + implementation.fire_refs[0].ref["Actor"], implementation.fire_refs[1].ref["Actor"], implementation.fire_refs[2].ref["Actor"], implementation.fire_refs[3].ref["Actor"], implementation.fire_refs[4].ref["Actor"], implementation.fire_refs[5].ref["Actor"], implementation.fire_refs[6].ref["Actor"], implementation.fire_refs[7].ref["Actor"], implementation.fire_refs[8].ref["Actor"], implementation.fire_refs[9].ref["Actor"], implementation.fire_refs[10].ref["Actor"], implementation.fire_refs[11].ref["Actor"], implementation.fire_refs[12].ref["Actor"], implementation.fire_refs[13].ref["Actor"], implementation.fire_refs[14].ref["Actor"] + + + Muzzle Flash + implementation.fire["Animations"][0].animation["Muzzle Flare"], implementation.fire["Animations"][1].animation["Muzzle Flare"], implementation.fire["Animations"][2].animation["Muzzle Flare"], implementation.fire["Animations"][3].animation["Muzzle Flare"], implementation.fire["Animations"][4].animation["Muzzle Flare"], implementation.fire["Animations"][5].animation["Muzzle Flare"], implementation.fire["Animations"][6].animation["Muzzle Flare"], implementation.fire["Animations"][7].animation["Muzzle Flare"], implementation.fire["Animations"][8].animation["Muzzle Flare"], implementation.fire["Animations"][9].animation["Muzzle Flare"], implementation.fire["Animations"][10].animation["Muzzle Flare"], implementation.fire["Animations"][11].animation["Muzzle Flare"] + + + Random Variance + implementation.fire_refs[14].ref["Rotation Variance"], implementation.fire_refs[13].ref["Rotation Variance"], implementation.fire_refs[12].ref["Rotation Variance"], implementation.fire_refs[11].ref["Rotation Variance"], implementation.fire_refs[10].ref["Rotation Variance"], implementation.fire_refs[9].ref["Rotation Variance"], implementation.fire_refs[8].ref["Rotation Variance"], implementation.fire_refs[7].ref["Rotation Variance"], implementation.fire_refs[6].ref["Rotation Variance"], implementation.fire_refs[5].ref["Rotation Variance"], implementation.fire_refs[4].ref["Rotation Variance"], implementation.fire_refs[3].ref["Rotation Variance"], implementation.fire_refs[2].ref["Rotation Variance"], implementation.fire_refs[1].ref["Rotation Variance"], implementation.fire_refs[0].ref["Rotation Variance"] + + + + + character/pc/handgun-chargerelease/animation.dat + + Release Time + 2.0 + + + + animation/sequential/simple.dat + + Animations + + + 5.0 + + character/pc/attack_heavypistol/fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + 0.0, -1.2, 1.05 + + Sound + + + + + + 1.66 + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + 1.66 + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + 1.66 + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + 1.66 + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + 1.66 + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + 1.66 + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + 1.66 + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + 1.66 + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + 1.66 + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + 1.66 + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + 1.66 + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + Priority + 0 + + + + character/pc/handgun_reload/handgun_reload(noshells).dat + + 2.0 + 0.8 + 1000 + 1900 + 0 + false + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 0 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 50 + Rotation + 0.10471976 + Rotation Variance + 0.0 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 100 + Rotation + 0.20943952 + Rotation Variance + 0.0 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 150 + Rotation + 0.31415927 + Rotation Variance + 0.0 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 200 + Rotation + 0.2443461 + Rotation Variance + 0.0 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 250 + Rotation + 0.13962634 + Rotation Variance + 0.0 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 300 + Rotation + 0.034906585 + Rotation Variance + 0.0 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 350 + Rotation + -0.06981317 + Rotation Variance + 0.0 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 400 + Rotation + -0.17453292 + Rotation Variance + 0.0 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 450 + Rotation + -0.27925268 + Rotation Variance + 0.0 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 500 + Rotation + -0.20943952 + Rotation Variance + 0.0 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 550 + Rotation + -0.10471976 + Rotation Variance + 0.0 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 600 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 650 + Rotation + 0.10471976 + Rotation Variance + 0.0 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 700 + Rotation + 0.20943952 + Rotation Variance + 0.0 + + + + + + + + Weapon/Handgun/Parts/Auto Reload + + + speed + implementation.fire_speed + + + + + character/pc/handgun_reload/handgun_reload(noshells).dat + + 0.65 + 0 + 933 + 0 + false + + + + Weapon/Handgun/Parts/Auto Shot + + + Bullet + implementation.fire_refs[3].ref["Actor"], implementation.fire_refs[0].ref["Actor"], implementation.fire_refs[2].ref["Actor"], implementation.fire_refs[6].ref["Actor"], implementation.fire_refs[4].ref["Actor"], implementation.fire_refs[5].ref["Actor"] + + + Muzzle Flash + implementation.fire["Animations"][0].animation["Muzzle Flare"], implementation.fire["Animations"][1].animation["Muzzle Flare"], implementation.fire["Animations"][2].animation["Muzzle Flare"], implementation.fire["Animations"][3].animation["Muzzle Flare"], implementation.fire["Animations"][4].animation["Muzzle Flare"], implementation.fire["Animations"][5].animation["Muzzle Flare"] + + + + First Shot + + + Animation + implementation.start + + + Time + implementation.land + + + Speed + implementation.start_speed + + + + + + True + + Animation + + character/pc/attack_heavypistol/start.dat + + Speed + 0.7 + Time + 300 + + + + + False + + Animation + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + Speed + 3.0 + Time + 83 + + + + False + + + Rotation + implementation.fire_refs[3].ref["Rotation"], implementation.fire_refs[0].ref["Rotation"], implementation.fire_refs[2].ref["Rotation"], implementation.fire_refs[6].ref["Rotation"], implementation.fire_refs[4].ref["Rotation"], implementation.fire_refs[5].ref["Rotation"] + + + Rotation Variance + implementation.fire_refs[3].ref["Rotation Variance"], implementation.fire_refs[0].ref["Rotation Variance"], implementation.fire_refs[2].ref["Rotation Variance"], implementation.fire_refs[6].ref["Rotation Variance"], implementation.fire_refs[4].ref["Rotation Variance"], implementation.fire_refs[5].ref["Rotation Variance"] + + + + + character/pc/attack_heavypistol/start.dat + + + animation/sequential/simple.dat + + Animations + + + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + Priority + 2 + + + + animation/sequential/simple.dat + + Animations + + + + character/pc/attack_pistol_blend_end.dat + + + + Priority + 2 + + + 0.5 + 287 + 720 + 400 + false + true + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Handgun/Autogun + + Damage + + + + 6.0 + 2 + false + + + + + + Delay + 0 + Rotation + 0.0 + Rotation Variance + 0.3 + + + + + + Base/Fire Prefired + + Delay + 64 + Effect + + Basic + + Lifespan + 3000 + Model + + particle/fx_silversix-shellcasings.dat + + Mode + Land + Shell Count + 6 + + + + + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Handgun/Autogun + + Damage + + + + 6.0 + 2 + false + + + + + + Delay + 83 + Rotation + 0.0 + Rotation Variance + 0.3 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Handgun/Autogun + + Damage + + + + 6.0 + 2 + false + + + + + + Delay + 166 + Rotation + 0.0 + Rotation Variance + 0.3 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Handgun/Autogun + + Damage + + + + 6.0 + 2 + false + + + + + + Delay + 249 + Rotation + 0.0 + Rotation Variance + 0.3 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Handgun/Autogun + + Damage + + + + 6.0 + 2 + false + + + + + + Delay + 332 + Rotation + 0.0 + Rotation Variance + 0.3 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Handgun/Autogun + + Damage + + + + 6.0 + 2 + false + + + + + + Delay + 415 + Rotation + 0.0 + Rotation Variance + 0.3 + + + + + + + + Weapon/Handgun/Parts/Base + + + Sound + implementation.fire["Sound"] + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Bullet + implementation.fire_refs[0].ref["Actor"] + + + Start + implementation.start + + + Land + implementation.land + + + + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + Clip/Default (Gain) + + File + sound/effect/weapon/handgun_01.ogg + Gain + 1.0 + Range + Medium + + + + + + character/pc/attack_pistol_blend_end.dat + + 0 + + + + Base/Spawn Actor + + Actor + + Bullet/Handgun/Proto + + Delay + 0 + + + + + + + + Weapon/Handgun/Parts/Base Charge + + + Bullet + implementation.fire_refs[0].ref["Actor"] + + + Muzzle Flash + implementation.fire["Animations"][0].animation["Muzzle Flare"] + + + + + character/pc/handgun-chargerelease/animation.dat + + Release Time + 2.0 + + + + animation/sequential/simple.dat + + Animations + + + + character/pc/attack_heavypistol/fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + + character/pc/attack_heavypistol/end.dat + + + + Priority + 0 + + + 2.0 + 1000 + 917 + 0 + false + + -1.0, 0.0 + 300 + 475 + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Blaster (Charged) + + Damage + + + + 75.0 + 2 + true + + + + + + Delay + 175 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + + + Weapon/Handgun/Parts/Base Reload + + + speed + implementation.fire_speed + + + + + character/pc/handgun_reload/handgun_reload-spin.dat + + 0 + 1417 + 0 + + + + Weapon/Handgun/Parts/Base Shot + + + Bullet + implementation.fire_refs[0].ref["Actor"] + + + Muzzle Flash + implementation.fire["Muzzle Flare"] + + + Rotation + implementation.fire_refs[0].ref["Rotation"] + + + Rotation Variance + implementation.fire_refs[0].ref["Rotation Variance"] + + + + First Shot + + + Animation + implementation.start + + + Time + implementation.land + + + Speed + implementation.start_speed + + + + + + True + + Animation + + character/pc/attack_pistol_blend_start.dat + + Speed + 1.75 + Time + 287 + + + + + False + + Animation + + Speed + 1.0 + Time + 0 + + + + True + + + + + character/pc/attack_pistol_blend_start.dat + + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + character/pc/attack_pistol_blend_end.dat + + 1.75 + 2.0 + 287 + 252 + 355 + true + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Blaster + + Damage + + + + 25.0 + 2 + + + + + + Delay + 0 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + + + Weapon/Handgun/Parts/Heavy Charge + + + Bullet + implementation.fire_refs[0].ref["Actor"] + + + Muzzle Flash + implementation.fire["Animations"][0].animation["Muzzle Flare"] + + + + + character/pc/handgun-chargerelease/animation.dat + + Release Time + 2.0 + + + + animation/sequential/simple.dat + + Animations + + + 3.0 + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + + character/pc/hurt_hard.dat + + + + Priority + 0 + + + + character/pc/hurt_recover.dat + + 2.0 + 1000 + 1400 + 0 + false + + -3.0, 0.0 + 200 + 600 + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Magnus (Charged) + + Damage + + + + 65.0 + 2 + true + + + 2 + + Stun + + Chance + 0.65 + Power + 45 + + + + + + + + Delay + 0 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + + + Weapon/Handgun/Parts/Heavy Reload + + + speed + implementation.fire_speed + + + Shells + implementation.fire["Shells"] + + + + + character/pc/handgun_reload/handgun_reload.dat + + Shells + 3 + + + 0 + 933 + 0 + false + + + + Weapon/Handgun/Parts/Heavy Shot + + + Bullet + implementation.fire_refs[0].ref["Actor"] + + + Muzzle Flash + implementation.fire["Muzzle Flare"] + + + Rotation + implementation.fire_refs[0].ref["Rotation"] + + + Rotation Variance + implementation.fire_refs[0].ref["Rotation Variance"] + + + + + character/pc/attack_heavypistol/start.dat + + + character/pc/attack_heavypistol/fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + character/pc/attack_heavypistol/end.dat + + 1.6 + 383 + 367 + false + + -0.25, 0.0 + 200 + 300 + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Magnus + + Delay + 0 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + + + Weapon/Handgun/Parts/Sixshot Charge + + + Bullet + implementation.fire_refs[0].ref["Actor"], implementation.fire_refs[1].ref["Actor"], implementation.fire_refs[2].ref["Actor"], implementation.fire_refs[3].ref["Actor"], implementation.fire_refs[4].ref["Actor"] + + + Bullet Charged + implementation.fire_refs[5].ref["Actor"] + + + Muzzle Flash + implementation.fire["Animations"][0].animation["Muzzle Flare"], implementation.fire["Animations"][1].animation["Muzzle Flare"], implementation.fire["Animations"][2].animation["Muzzle Flare"], implementation.fire["Animations"][3].animation["Muzzle Flare"], implementation.fire["Animations"][4].animation["Muzzle Flare"], implementation.fire["Animations"][6].animation["Muzzle Flare"] + + + Random Variance + implementation.fire_refs[4].ref["Rotation Variance"], implementation.fire_refs[3].ref["Rotation Variance"], implementation.fire_refs[2].ref["Rotation Variance"], implementation.fire_refs[1].ref["Rotation Variance"], implementation.fire_refs[0].ref["Rotation Variance"] + + + + + character/pc/handgun-chargerelease/animation.dat + + Release Time + 2.0 + + + + animation/sequential/simple.dat + + Animations + + + 1.5 + + character/pc/attack_heavypistol/fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Muzzle Flash Transform + + 0.0, -1.2, 1.05 + + Sound + + + + + + 1.5 + + character/pc/attack_heavypistol/fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + 1.5 + + character/pc/attack_heavypistol/fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + 1.5 + + character/pc/attack_heavypistol/fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + 1.5 + + character/pc/attack_heavypistol/fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + 2.0 + + character/pc/handgun-chargerelease/animation.dat + + Release Time + 2.0 + + + + + 0.8 + + character/pc/attack_heavypistol/fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + Priority + 2 + + + + animation/sequential/simple.dat + + Animations + + + 0.75 + + character/pc/handgun_reload/handgun_reload.dat + + Shells + 6 + + + + + Priority + 3 + + + 2.0 + 1000 + 2500 + 300 + false + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Silversix + + Damage + + + + 10.0 + 2 + + + 10.0 + 2 + + + + + + Delay + 0 + Rotation + 0.0 + Rotation Variance + 0.08726646 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Silversix + + Damage + + + + 10.0 + 2 + + + 10.0 + 2 + + + + + + Delay + 187 + Rotation + 0.0 + Rotation Variance + 0.17453292 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Silversix + + Damage + + + + 10.0 + 2 + + + 10.0 + 2 + + + + + + Delay + 375 + Rotation + 0.0 + Rotation Variance + 0.10471976 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Silversix + + Damage + + + + 10.0 + 2 + + + 10.0 + 2 + + + + + + Delay + 562 + Rotation + 0.0 + Rotation Variance + 0.12217305 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Silversix + + Damage + + + + 10.0 + 2 + + + 10.0 + 2 + + + + + + Delay + 750 + Rotation + 0.0 + Rotation Variance + 0.08726646 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Silversix (Charged) + + Damage + + + + 10.0 + 2 + + + 10.0 + 2 + + + + + + Delay + 1350 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + + + Weapon/Sword/Avenger (Charge) + + + Damage + implementation.attack["Damage"] + + + Damage (Bullet) + implementation.attack["Extra Action"]["Actor"]["Actor"]["Damage"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + + + 30.0 + 2 + true + + + 30.0 + 2 + true + + + + End Speed + 0.75 + Extra Action + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Avenger + + Damage + + + + 30.0 + 2 + + + 30.0 + 2 + + + + + + Variant + Avenger + + + Delay + 50 + Rotation + 0.0 + Rotation Variance + 0.0 + + + Fire Speed + 1.0 + Impulse + + -0.75, 0.0 + 100 + 50 + + Knock-Back + + 3.0, 0.0 + 300 + 3 + + Sound + sound/effect/weapon/avenger_cswing.ogg + Sound - Pitch + Lower 1 + Start Speed + 1.5 + Swing + + particle/swing/proto_charged.dat + + Color + Avenger + + + + + + + + Weapon/Sword/Beast Basher (Charge) + + + Damage + implementation.attack["Damage"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + + + 65.0 + 2 + true + + + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 150 + 500 + + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Lower 2 + Start Speed + 1.9 + Swing + + particle/swing/proto_charged.dat + + Color + Cautery Sword + + + + + + + + Weapon/Sword/Brandish (Charge) + + + Damage + implementation.attack["Damage"].damages[0] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + + + 80.0 + 2 + true + + + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + Impulse + + 1.25, 0.0 + 175 + 480 + + Knock-Back + + 3.5, 0.0 + 300 + 2 + + Sound + sound/effect/weapon/sword_c02.ogg + Sound - Pitch + Lower 1 + Start Speed + 2.0 + Swing + + particle/swing/proto_charged.dat + + Color + Sealed Sword + + + + + + + + Weapon/Sword/Burst Brandish (Charge) + + + Damage + implementation.attack["Damage"] + + + Style + implementation.attack["Swing"]["Color"] + + + Burst Color + implementation.attack["Extra Action"]["Actor"]["Color"] + + + Burst Damage + implementation.attack["Extra Action"]["Actor"]["Damage"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + 50.0 + 2 + true + + End Speed + 0.75 + Extra Action + + Base/Spawn Prespawned + + Actor + + Bullet/Sword/Burst Bullet + + Color + 1.0, 1.0, 1.0, 1.0 + Damage + + + + + Monster/Damage/Attack Base +05 + + 2 + true + ELEMENTAL + + Monster/Split/Split - Full + + + + 2 + + Fire + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Fuse + 300 + + + Delay + 0 + Rotation + 0.0 + Rotation Variance + 0.0 + + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 150 + 500 + + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Sound + sound/effect/weapon/sword_c02.ogg + Sound - Pitch + Lower 1 + Start Speed + 1.9 + Swing + + particle/swing/proto_charged.dat + + Color + Cautery Sword + + + + + + + + Weapon/Sword/Burst Flourish (Charge) + + + Damage + implementation.attack["Damage"] + + + Style + implementation.attack["Swing"]["Color"] + + + Burst Color + implementation.attack["Extra Action"]["Actor"]["Color"] + + + Burst Damage + implementation.attack["Extra Action"]["Actor"]["Damage"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + 50.0 + 2 + true + + End Speed + 0.75 + Extra Action + + Base/Spawn Prespawned + + Actor + + Bullet/Sword/Burst Bullet + + Color + 1.0, 1.0, 1.0, 1.0 + Damage + + + + + Monster/Damage/Attack Base +05 + + 2 + true + ELEMENTAL + + Monster/Split/Split - Full + + + + 2 + + Fire + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Fuse + 400 + + + Delay + 0 + Rotation + 0.0 + Rotation Variance + 0.0 + + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 150 + 500 + + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Sound + sound/effect/weapon/sword_c02.ogg + Sound - Pitch + Lower 1 + Start Speed + 1.9 + Swing + + particle/swing/proto_charged.dat + + Color + Cautery Sword + + + + + + + + Weapon/Sword/Calibur (Charge) + + + Damage + implementation.attack["Damage"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Round House) + + Damage + + + + 75.0 + 2 + true + + + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 200 + 300 + + Knock-Back + + 5.0, 0.0 + 400 + 5 + + Radius + 1.0 + Sound + sound/effect/weapon/sword_c02.ogg + Sound - Pitch + Lower 1 + Start Speed + 2.2 + Swing + + particle/swing/calibur_charged.dat + + Variant + Calibur + + + + + + + + Weapon/Sword/Cautery Sword (Charge) + + + Damage + implementation.attack["Damage"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + 50.0 + 2 + true + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 150 + 500 + + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Sound + sound/effect/weapon/sword_c02.ogg + Sound - Pitch + Lower 1 + Start Speed + 1.9 + Swing + + particle/swing/proto_charged.dat + + Color + Cautery Sword + + + + + + + + Weapon/Sword/Cold Iron Carver (Charge) + + + Damage + implementation.attack["Damage"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Round House) + + Damage + + 70.0 + 2 + true + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 200 + 300 + + Knock-Back + + 3.5, 0.0 + 250 + 3 + + Radius + 1.0 + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Lower 1 + Start Speed + 1.9 + Swing + + particle/swing/calibur_charged.dat + + Variant + Calibur + + + + + + + + Weapon/Sword/Cold Iron Vanquisher (Charge) + + + Damage + implementation.attack["Damage"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Round House) + + Damage + + 80.0 + 2 + true + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 200 + 300 + + Knock-Back + + 3.5, 0.0 + 250 + 3 + + Radius + 1.0 + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Lower 1 + Start Speed + 1.9 + Swing + + particle/swing/calibur_charged.dat + + Variant + Calibur + + + + + + + + Weapon/Sword/Cutter (Charge) + + + Damage + implementation.attack["Damage"] + + + Damage (Projectile) + implementation.attack["GhostSwing4"]["Damage"], implementation.attack["GhostSwing3"]["Damage"], implementation.attack["GhostSwing2"]["Damage"], implementation.attack["GhostSwing1"]["Damage"] + + + + + Weapon/Sword/Parts/Base (5 Hit)/Charge (Combo Strike) + + Damage + + + + 25.0 + 2 + true + + + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + GhostSwing1 + + Bomb/Parts/Sword (CutterGhost) + + Damage + + 40.0 + 2 + false + + Transform + + -0.08, -0.349, 0.783 + 0.0, 0.25881904, 0.0, 0.9659258 + + + + GhostSwing2 + + Bomb/Parts/Sword (CutterGhost) + + Damage + + 40.0 + 2 + false + + Transform + + -0.108, -0.445, 0.685 + 9.735319E-7, 0.99736917, 9.735319E-7, -0.0724897 + + + + GhostSwing3 + + Bomb/Parts/Sword (CutterGhost) + + Damage + + 40.0 + 2 + false + + Transform + + -0.08, -0.349, 0.783 + 0.0, 0.25881904, 0.0, 0.9659258 + + + + GhostSwing4 + + Bomb/Parts/Sword (CutterGhost) + + Damage + + 40.0 + 2 + false + + Transform + + -0.108, -0.445, 0.685 + 9.735319E-7, 0.99736917, 9.735319E-7, -0.0724897 + + + + Impulse + + 2.0, 0.0 + 100 + 2000 + + Knock-Back + + 4.0, 0.0 + 250 + 4 + + Sound + sound/effect/weapon/sword_02.ogg + Start Speed + 2.0 + Swing + + particle/swing/pc_cutter_simple.dat + + Blend + ADDITIVE + Flare + true + Shadow + false + Strider Arc + false + Strider Color + 0.24313726, 0.4392157, 0.7019608, 1.0 + Swing Color In/Out + 0.0, 0.16862746, 0.32941177, 0.0 + Swing Color Middle + 0.67058825, 0.7372549, 0.8117647, 1.0 + Texture + particle/texture/fx_pcswing.png + Thin Cut + true + Trail Swipe + true + + + + + + + + Weapon/Sword/Divine Avenger (Charge) + + + Damage + implementation.attack["Damage"] + + + Damage (Bolt) + implementation.attack["Extra Action"]["Action"].actions[0].actor["Actor"], implementation.attack["Extra Action"]["Action"].actions[1].actor["Actor"], implementation.attack["Extra Action"]["Action"].actions[2].actor["Actor"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + + + 35.0 + 2 + true + + + 35.0 + 2 + true + + + + End Speed + 0.75 + Extra Action + + Base/Default + + Action + + + + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Avenger + + Damage + + + + 30.0 + 2 + + + 30.0 + 2 + + + + + + Variant + Avenger + + + 0.2617994 + true + 1.0, 1.0 + + + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Avenger + + Damage + + + + 30.0 + 2 + + + 30.0 + 2 + + + + + + Variant + Avenger + + + true + 1.0, 0.0 + + + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Avenger + + Damage + + + + 30.0 + 2 + + + 30.0 + 2 + + + + + + Variant + Avenger + + + -0.2617994 + true + 1.0, -1.0 + + + + Delay + 50 + + + Fire Speed + 1.0 + Impulse + + -0.75, 0.0 + 150 + 50 + + Knock-Back + + 3.0, 0.0 + 300 + 3 + + Sound + sound/effect/weapon/avenger_cswing.ogg + Sound - Pitch + Lower 2 + Start Speed + 1.25 + Swing + + particle/swing/proto_charged.dat + + Color + Avenger + + + + + + + + Weapon/Sword/Dread Venom Striker (Charge) + + + Damage + implementation.attack["Damage"] + + + Damage (Projectile) + implementation.attack["GhostSwing4"]["Damage"], implementation.attack["GhostSwing3"]["Damage"], implementation.attack["GhostSwing2"]["Damage"], implementation.attack["GhostSwing1"]["Damage"] + + + + + Weapon/Sword/Parts/Base (5 Hit)/Charge (Combo Strike) + + Damage + + + + 35.0 + 2 + true + + + 2 + + Poison + + Chance + 0.35 + Power + 75 + + + + + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + GhostSwing1 + + Bomb/Parts/Sword (DreadvenomstrikerGhost) + + Damage + + + + 12.0 + 2 + + + 2 + + Poison + + Chance + 0.15 + Power + 30 + + + + + + Transform + + -0.08, -0.349, 0.783 + 0.0, 0.25881904, 0.0, 0.9659258 + + + + GhostSwing2 + + Bomb/Parts/Sword (DreadvenomstrikerGhost) + + Damage + + + + 12.0 + 2 + + + 2 + + Poison + + Chance + 0.15 + Power + 30 + + + + + + Transform + + -0.108, -0.445, 0.685 + 9.735319E-7, 0.99736917, 9.735319E-7, -0.0724897 + + + + GhostSwing3 + + Bomb/Parts/Sword (DreadvenomstrikerGhost) + + Damage + + + + 12.0 + 2 + + + 2 + + Poison + + Chance + 0.15 + Power + 30 + + + + + + Transform + + -0.08, -0.349, 0.783 + 0.0, 0.25881904, 0.0, 0.9659258 + + + + GhostSwing4 + + Bomb/Parts/Sword (DreadvenomstrikerGhost) + + Damage + + + + 12.0 + 2 + + + 2 + + Poison + + Chance + 0.15 + Power + 30 + + + + + + Transform + + -0.108, -0.445, 0.685 + 9.735319E-7, 0.99736917, 9.735319E-7, -0.0724897 + + + + Impulse + + 2.0, 0.0 + 100 + 2000 + + Knock-Back + + 4.0, 0.0 + 250 + 4 + + Sound + sound/effect/weapon/sword_02.ogg + Start Speed + 2.0 + Swing + + particle/swing/pc_cutter_simple.dat + + Blend + ADDITIVE + Flare + true + Shadow + true + Strider Arc + true + Strider Color + 0.0, 0.8, 0.0, 1.0 + Swing Color In/Out + 0.0, 0.2, 0.2, 0.0 + Swing Color Middle + 0.0, 0.4, 0.2, 1.0 + Texture + particle/texture/fx_pcswing.png + Thin Cut + true + Trail Swipe + true + + + + + + + + Weapon/Sword/Fang of Vog (Charge) + + + Damage + implementation.attack["Damage"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Round House) + + Damage + + + + 60.0 + 2 + true + + + 60.0 + 2 + true + + + 2 + + Fire + + Chance + 0.75 + Power + 60 + + + + + + End Speed + 0.75 + Extra Action + + Base/Default + + Action + + + Fire 3 + + Chance + 0.5 + Power + 75 + + + + Delay + 50 + + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 200 + 300 + + Knock-Back + + 3.0, 0.0 + 350 + 3 + + Radius + 1.5 + Sound + sound/effect/weapon/sword_c02.ogg + Sound - Pitch + Lower 2 + Start Speed + 1.75 + Swing + + particle/swing/vog_charged.dat + + + + + + + Weapon/Sword/Faust (Charge) + + + Damage + implementation.attack["Damage"] + + + Damage (Bolt) + implementation.attack["Extra Action"]["Action"].actions[0].actor["Actor"]["Damage"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + + + 25.0 + 2 + true + + + 25.0 + 2 + true + + + 2 + + Curse + + Chance + 0.15 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + End Speed + 0.75 + Extra Action + + Base/Default + + Action + + + + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Gran Faust + + Damage + + + + 35.0 + 2 + + + 35.0 + 2 + + + + + + Variant + Gran Faust + + + true + + + + Curse 3 + + Chance + 0.25 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Delay + 50 + + + Fire Speed + 1.0 + Impulse + + -0.75, 0.0 + 100 + 50 + + Knock-Back + + 5.0, 0.0 + 500 + 4 + + Sound + sound/effect/weapon/gran_faust_cswing.ogg + Sound - Pitch + Lower 1 + Start Speed + 1.5 + Swing + + particle/swing/proto_charged.dat + + Color + Gran Faust + + + + + + + + Weapon/Sword/Frost Sword (charge) + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Round House) + + Damage + + + + 60.0 + 2 + true + + + 2 + + Freeze + + Chance + 0.72 + Power + 97 + + + + + + End Speed + 0.75 + Extra Action + + Base/Damage Origin Transformed + + Damage + + 4 + + Freeze + + Chance + 0.6 + Power + 80 + + + + Delay + 50 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 200 + 300 + + Knock-Back + + 3.0, 0.0 + 350 + 3 + + Radius + 1.5 + Sound + sound/effect/weapon/sword_c02.ogg + Sound - Pitch + Default + Start Speed + 1.75 + Swing + + particle/swing/icewave.dat + + + + + + + Weapon/Sword/Gram (Charge) + + + Damage + implementation.attack["Damage"] + + + Damage (Spires) + implementation.attack["Extra Action"]["Action"].actions[0].actor["Damage"].damages[0], implementation.attack["Extra Action"]["Action"].actions[1].action.actor["Damage"].damages[0] + + + + + Weapon/Sword/Parts/Base (2 Hit Slow)/Charge (Heavy Slam) + + Damage + + + + 120.0 + 2 + true + + + 2 + + Stun + + Chance + 0.35 + Power + 55 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + End Speed + 1.0 + Extra Action + + Base/Default + + Action + + + + + Bomb/Parts/Rock Spire + + Damage + + + + 60.0 + 2 + + + + + + + + + + Bomb/Parts/Rock Spire + + Damage + + + + 60.0 + 2 + + + + + + + + + + Delay + 150 + + + Fire Speed + 1.0 + Impulse + + 3.0, 0.0 + 200 + 1160 + + Smash FX + + particle/swing/scripted-gram_charged-slam.dat + + Sound + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_02.ogg + Pitch + Lower 3 + + + Start Speed + 0.8 + Swing + + particle/swing/troika_charged-swing.dat + + + + + + + Weapon/Sword/Gran Faust (Charge) + + + Damage + implementation.attack["Damage"] + + + Damage (Bolt) + implementation.attack["Extra Action"]["Action"].actions[0].actor["Actor"]["Damage"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + + + 35.0 + 2 + true + + + 35.0 + 2 + true + + + 2 + + Curse + + Chance + 0.15 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + End Speed + 0.75 + Extra Action + + Base/Default + + Action + + + + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Gran Faust (Charged) + + Damage + + + + 40.0 + 2 + + + 40.0 + 2 + + + + + + Variant + Gran Faust (Charged) + + + true + + + + Curse 3 + + Chance + 0.25 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Delay + 50 + + + Fire Speed + 1.0 + Impulse + + -0.75, 0.0 + 100 + 50 + + Knock-Back + + 5.0, 0.0 + 500 + 4 + + Sound + sound/effect/weapon/gran_faust_cswing.ogg + Sound - Pitch + Lower 2 + Start Speed + 1.25 + Swing + + particle/swing/proto_charged.dat + + Color + Gran Faust + + + + + + + + Weapon/Sword/Hatchet (Charge) + + + Damage + implementation.attack["Damage"] + + + + + Weapon/Sword/Parts/Base (2 Hit Slow)/Charge (Heavy Slam) (No AOE) + + Damage + + 110.0 + 2 + + End Speed + 1.0 + Extra Action + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 200 + 933 + + Sound + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_02.ogg + Pitch + Lower 3 + + + Start Speed + 1.0 + Swing + + particle/swing/troika_charged-swing.dat + + + + + + + Weapon/Sword/Hunting Blade (Charge) + + + Damage + implementation.attack["Damage"] + + + Damage (Projectile) + implementation.attack["GhostSwing4"]["Damage"], implementation.attack["GhostSwing3"]["Damage"], implementation.attack["GhostSwing2"]["Damage"], implementation.attack["GhostSwing1"]["Damage"] + + + + + Weapon/Sword/Parts/Base (5 Hit)/Charge (Combo Strike) + + Damage + + 35.0 + 2 + true + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + GhostSwing1 + + Bomb/Parts/Sword (Huntingblade) + + Damage + + 1.0 + 2 + + Transform + + -0.08, -0.349, 0.783 + 0.0, 0.25881904, 0.0, 0.9659258 + + + + GhostSwing2 + + Bomb/Parts/Sword (Huntingblade) + + Damage + + 1.0 + 2 + + Transform + + -0.108, -0.445, 0.685 + 9.735319E-7, 0.99736917, 9.735319E-7, -0.0724897 + + + + GhostSwing3 + + Bomb/Parts/Sword (Huntingblade) + + Damage + + 1.0 + 2 + + Transform + + -0.08, -0.349, 0.783 + 0.0, 0.25881904, 0.0, 0.9659258 + + + + GhostSwing4 + + Bomb/Parts/Sword (CutterGhost) + + Damage + + 40.0 + 2 + + Transform + + -0.108, -0.445, 0.685 + 9.735319E-7, 0.99736917, 9.735319E-7, -0.0724897 + + + + Impulse + + 2.0, 0.0 + 100 + 2000 + + Knock-Back + + 4.0, 0.0 + 250 + 4 + + Sound + sound/effect/weapon/sword_02.ogg + Start Speed + 2.0 + Swing + + particle/swing/pc_cutter_simple.dat + + Blend + ADDITIVE + Flare + true + Shadow + false + Strider Arc + false + Strider Color + 0.6, 0.6, 0.0, 1.0 + Swing Color In/Out + 0.29411766, 0.22745098, 0.09411765, 0.0 + Swing Color Middle + 0.85882354, 0.8117647, 0.62352943, 1.0 + Texture + particle/texture/fx_pcswing.png + Thin Cut + true + Trail Swipe + true + + + + + + + + Weapon/Sword/Hunting Sword (Charge) + + + Damage + implementation.attack["Damage"] + + + Damage (Projectile) + implementation.attack["Extra Action"]["Actor"]["Damage"], implementation.attack["GhostSwing4"]["Damage"], implementation.attack["GhostSwing3"]["Damage"], implementation.attack["GhostSwing2"]["Damage"], implementation.attack["GhostSwing1"]["Damage"] + + + + + Weapon/Sword/Parts/Base (5 Hit)/Charge (Combo Strike) + + Damage + + 35.0 + 2 + true + + End Speed + 0.75 + Extra Action + + Base/Spawn Prespawned + + Actor + + Bomb/Parts/Sword (HuntingGhost) + + Damage + + 20.0 + 2 + + Wolf Transform + + 1.8 + 0.0, 1.0, 0.2 + + + + Delay + 1633 + Rotation + 0.0 + Rotation Variance + 0.0 + + + Fire Speed + 1.0 + GhostSwing1 + + Bomb/Parts/Sword (HuntingGhost) + + Damage + + 20.0 + 2 + + Wolf Transform + + 1.1 + -1.5, -1.0, 0.2 + 0.0, 0.0, 0.38268346, 0.9238795 + + + + GhostSwing2 + + Bomb/Parts/Sword (HuntingGhost) + + Damage + + 20.0 + 2 + + Wolf Transform + + 1.1 + 2.0, -2.0, 0.2 + 0.0, 0.0, -0.67559004, 0.7372775 + + + + GhostSwing3 + + Bomb/Parts/Sword (HuntingGhost) + + Damage + + 20.0 + 2 + + Wolf Transform + + 1.1 + -1.4, -1.6, 0.2 + 0.0, 0.0, 0.62932, 0.7771462 + + + + GhostSwing4 + + Bomb/Parts/Sword (HuntingGhost) + + Damage + + 20.0 + 2 + + Wolf Transform + + 1.1 + 1.0, -0.25, 0.2 + 0.0, 0.0, -0.25881904, 0.9659258 + + + + Impulse + + 2.0, 0.0 + 100 + 2000 + + Knock-Back + + 4.0, 0.0 + 250 + 4 + + Sound + sound/effect/weapon/sword_02.ogg + Start Speed + 2.0 + Swing + + particle/swing/pc_cutter_simple.dat + + Blend + ADDITIVE + Flare + true + Shadow + false + Strider Arc + false + Strider Color + 0.7019608, 0.6117647, 0.24313726, 1.0 + Swing Color In/Out + 0.32941177, 0.25490198, 0.0, 0.0 + Swing Color Middle + 0.8117647, 0.78039217, 0.67058825, 1.0 + Texture + particle/texture/fx_pcswing.png + Thin Cut + true + Trail Swipe + true + + + + + + + + Weapon/Sword/Khorovod (Charge) + + + Damage + implementation.attack["Damage"] + + + Damage (Spires) + implementation.attack["Extra Action"]["Action"].actor["Damage"].damages[0] + + + + + Weapon/Sword/Parts/Base (2 Hit Slow)/Charge (Heavy Slam) + + Damage + + + + 120.0 + 2 + true + + + 2 + + Stun + + Chance + 0.35 + Power + 55 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + End Speed + 1.0 + Extra Action + + Base/Default + + Action + + + Bomb/Parts/Rock Spire + + Damage + + + + 60.0 + 2 + + + + + + + Delay + 160 + + + Fire Speed + 1.0 + Impulse + + 3.0, 0.0 + 200 + 1160 + + Smash FX + + particle/swing/troika_charged-slam.dat + + Vertical wave + On + + + Sound + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_02.ogg + Pitch + Lower 3 + + + Start Speed + 0.8 + Swing + + particle/swing/troika_charged-swing.dat + + + + + + + Weapon/Sword/Parts/Base (2 Hit Slow)/Charge (Heavy Slam) + + + Start Speed + implementation.start_speed, implementation.start["Release Time"] + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Impulse + implementation.impulse_received + + + Extra Action + implementation.fire_refs[1].ref + + + Smash FX + implementation.fire["Slam"] + + + + + character/pc/attack_sword_heavyslam/heavyslam_start.dat + + Release Time + 1.0 + + + + character/pc/attack_sword_heavyslam/heavyslam_fire.dat + + Slam + + particle/swing/troika_charged-slam.dat + + Vertical wave + On + + + Sound + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_02.ogg + Pitch + Lower 1 + + + Swing + + particle/swing/troika_charged-swing.dat + + + + + character/pc/attack_sword_heavyslam/heavyslam_end.dat + + 933 + 1056 + 500 + + 2.0, 0.0 + 150 + 800 + + + + + Base/Damage Origin Transformed + + Damage + + 200.0 + 2 + + Delay + 167 + Impulse Origin Translation + -1.0, 0.0 + Knock-Back + + 7.0, 0.0 + 600 + 5 + + Shape + + + 1.6 + + + 2.0, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (2 Hit Slow)/Charge (Heavy Slam) (No AOE) + + + Start Speed + implementation.start_speed, implementation.start["Release Time"] + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Impulse + implementation.impulse_received + + + Extra Action + implementation.fire_refs[1].ref + + + + + character/pc/attack_sword_heavyslam/heavyslam_start.dat + + Release Time + 1.0 + + + + character/pc/attack_sword_heavyslam/heavyslam_fire.dat + + Slam + + particle/fx_stoneblock_explode.dat + + Chunks + Sparse + Style variant + default + + + Sound + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_02.ogg + Pitch + Default + + + Swing + + particle/swing/troika_charged-swing.dat + + + + + character/pc/attack_sword_heavyslam/heavyslam_end.dat + + 933 + 1056 + 500 + + 2.0, 0.0 + 150 + 800 + + + + + Base/Damage Origin Transformed + + Damage + + 200.0 + 2 + + Delay + 167 + Impulse Origin Translation + -1.0, 0.0 + Knock-Back + + 4.0, 0.0 + 500 + 3 + + Shape + + + 2.5 + 1.2 + + + 2.0, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (2 Hit Slow)/Incomplete (L-R) + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + + + character/pc/attack_sword_2_start.dat + + Sounder + + + + + character/pc/attack_sword_2_fire.dat + + Sound + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_02.ogg + Pitch + Lower 1 + + + Swing + + + particle/swing/pc_default.dat + + Blend + TRANSLUCENT + Color + + 0.53333336, 0.49019608, 0.44313726, 0.0 + 0.8901961, 0.87058824, 0.8352941, 1.0 + 0.5882353, 0.5647059, 0.52156866, 0.0 + 0.1 + 0.9 + + PC Swing# + 2 + Scale + + + 1.6 + + + 1.6 + 0.1 + + + 2.0 + + + Strider Color + + 0.8392157, 0.7921569, 0.75686276, 0.75 + 0.23137255, 0.21176471, 0.2, 0.0 + + + + Strider Toggle + true + Texture + particle/texture/fx_gremlinswing.png + + + %ROOT% + + + + + character/pc/attack_sword_2_end.dat + + 1.1 + 0.6 + 1.25 + 233 + 667 + true + + + + Base/Damage Origin Transformed + + Damage + + 90.0 + 2 + + Delay + 0 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 2.0, 0.0 + 150 + 3 + + Shape + + + 1.2 + + + 1.05, 0.0 + + + + + + + + + + Weapon/Sword/Parts/Base (2 Hit Slow)/Swing 0 (L-R) + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + + + character/pc/attack_sword_2_start.dat + + Sounder + + + + + character/pc/attack_sword_2_fire.dat + + Sound + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_02.ogg + Pitch + Lower 1 + + + Swing + + + particle/swing/pc_default.dat + + Blend + TRANSLUCENT + Color + + 0.79607844, 0.76862746, 0.73333335, 0.0 + 0.8784314, 0.8745098, 0.8745098, 1.0 + 0.7764706, 0.7372549, 0.7058824, 0.0 + 0.1 + 0.9 + + PC Swing# + 2 + Scale + + + 1.5 + + + 1.5 + 0.1 + + + 2.0 + + + Strider Color + + 0.7058824, 0.6745098, 0.6509804, 0.75 + 0.24313726, 0.21176471, 0.1882353, 0.0 + + + + Strider Toggle + true + Texture + particle/texture/fx_gremlinswing.png + + + %ROOT% + + + + + character/pc/attack_sword_2_end.dat + + 1.1 + 0.6 + 1.25 + 233 + 667 + true + + + + Base/Damage Origin Transformed + + Damage + + 90.0 + 2 + + Delay + 0 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 2.0, 0.0 + 150 + 3 + + Shape + + + 1.2 + + + 1.05, 0.0 + + + + + + + + + + Weapon/Sword/Parts/Base (2 Hit Slow)/Swing 1 (Around CW) + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Rearm + implementation.rearm + + + + + character/pc/attack_sword_3_start.dat + + + character/pc/attack_sword_3_fire.dat + + Sound + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_03.ogg + Pitch + Lower 1 + + + Swing + + + particle/swing/pc_default.dat + + Blend + TRANSLUCENT + Color + + 0.78431374, 0.75686276, 0.7176471, 0.0 + 0.8, 0.79607844, 0.79607844, 1.0 + 0.78039217, 0.7372549, 0.70980394, 0.0 + 0.1 + 0.9 + + PC Swing# + 3 + Scale + + + 1.5 + + + 1.5 + 0.1 + + + 2.0 + + + Strider Color + + 0.7254902, 0.7019608, 0.6784314, 0.75 + 0.23137255, 0.24313726, 0.22745098, 0.0 + + + + Strider Toggle + true + Texture + particle/texture/fx_gremlinswing.png + + + %ROOT% + + + + + character/pc/attack_sword_3_end.dat + + 0.6 + 633 + 1 + true + + 1.5, 0.0 + 350 + + + + + Base/Damage Origin Transformed + + Damage + + 90.0 + 2 + + Delay + 0 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 4.0, 0.0 + 300 + 4 + + Shape + + + 1.45 + + + 1.0, 0.0 + + + + + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Round House) + + + Start Speed + implementation.start_speed, implementation.start["Release Time"] + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Sound - Pitch + implementation.fire["Sound - Pitch"] + + + Impulse + implementation.impulse_received + + + Damage + implementation.fire_refs[0].ref["Damage"], implementation.fire_refs[1].ref["Damage"], implementation.fire_refs[2].ref["Damage"], implementation.fire_refs[3].ref["Damage"] + + + Knock-Back + implementation.fire_refs[0].ref["Knock-Back"], implementation.fire_refs[1].ref["Knock-Back"], implementation.fire_refs[2].ref["Knock-Back"], implementation.fire_refs[3].ref["Knock-Back"] + + + Radius + implementation.fire_refs[0].ref["Shape"].shape.radius, implementation.fire_refs[1].ref["Shape"].shape.radius, implementation.fire_refs[2].ref["Shape"].shape.radius, implementation.fire_refs[3].ref["Shape"].shape.radius + + + Extra Action + implementation.fire_refs[4].ref + + + + + character/pc/sword-chargerelease/animation.dat + + Release Time + 2.75 + Sound + + + + + character/pc/attack_sword_3_firewithwindup2.dat + + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Default + Swing + + particle/swing/calibur_charged.dat + + Variant + Calibur + + + + + + character/pc/attack_sword_3_end.dat + + 2.75 + 0.75 + 1000 + 350 + 667 + + 1.0, 0.0 + 200 + 300 + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 3.5, 0.0 + 300 + 3 + + Shape + + + + + 0.0, -1.0 + + + + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 90 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 3.5, 0.0 + 300 + 3 + + Shape + + + + + -1.0, 0.0 + + + + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 130 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 3.5, 0.0 + 300 + 3 + + Shape + + + + + 0.0, 1.0 + + + + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 180 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 3.5, 0.0 + 300 + 3 + + Shape + + + + + 1.0, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + + Start Speed + implementation.start["Release Time"], implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Swing + implementation.fire["Swing"].model + + + Sound + implementation.fire["Sound"]["File"] + + + Sound - Pitch + implementation.fire["Sound"]["Pitch"] + + + Impulse + implementation.impulse_received + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Knock-Back + implementation.fire_refs[0].ref["Knock-Back"] + + + Extra Action + implementation.fire_refs[1].ref + + + + + character/pc/sword-chargerelease/animation.dat + + Release Time + 1.9 + Sound + + + + + character/pc/attack_sword_2_fire.dat + + Sound + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_c01.ogg + Pitch + Default + + + Swing + + + particle/swing/proto_charged.dat + + Color + Proto + + + %ROOT% + + + + + character/pc/attack_sword_2_end.dat + + 1.9 + 0.75 + 1000 + 233 + 667 + + 1.0, 0.0 + 150 + 500 + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 0 + Impulse Origin Translation + -1.0, 0.0 + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Shape + + + 2.0 + 2.5 + + + 1.0, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Incomplete (R-L) + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Sound - Pitch + implementation.fire["Sound - Pitch"] + + + Extra Action + implementation.fire_refs[1].ref + + + + + character/pc/attack_sword_2_start.dat + + Sounder + + + + + character/pc/attack_sword_2_fire2.dat + + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Default + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + character/pc/attack_sword_2_end.dat + + 2.0 + 233 + 667 + true + + 1.0, 0.0 + 175 + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 20 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 2.0, 0.0 + 375 + 3 + + Shape + + + 1.6 + 1.2 + + + 1.1, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Swing 0 (R-L) + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Sound - Pitch + implementation.fire["Sound - Pitch"] + + + Extra Action + implementation.fire_refs[1].ref + + + + + character/pc/attack_sword_1_start.dat + + + character/pc/attack_sword_1_fire2.dat + + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Default + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + character/pc/attack_sword_1_end.dat + + 1.75 + 2.0 + 233 + 667 + true + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 0 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 0.6, 0.0 + 200 + 3 + + Shape + + + 1.6 + 0.75 + + + 1.1, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Swing 1 (L-R) + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Sound - Pitch + implementation.fire["Sound - Pitch"] + + + Extra Action + implementation.fire_refs[1].ref + + + + + character/pc/attack_sword_2_start.dat + + Sounder + + + + + character/pc/attack_sword_2_fire2.dat + + Sound + sound/effect/weapon/sword_02.ogg + Sound - Pitch + Default + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + character/pc/attack_sword_2_end.dat + + 1.75 + 2.0 + 233 + 667 + true + + 1.25, 0.0 + 150 + 100 + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 20 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 2.5, 0.0 + 300 + + Shape + + + 1.75 + 1.2 + + + 1.2, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Swing 2 (Around CW) + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Sound - Pitch + implementation.fire["Sound - Pitch"] + + + Rearm + implementation.rearm + + + Extra Action + implementation.fire_refs[1].ref + + + + + character/pc/attack_sword_3_start.dat + + + character/pc/attack_sword_3_fire2.dat + + Sound + sound/effect/weapon/sword_03.ogg + Sound - Pitch + Default + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + character/pc/attack_sword_3_end.dat + + 1.75 + 900 + 1 + true + + 2.5, 0.0 + 200 + 50 + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 20 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 2.5, 0.0 + 325 + 3 + + Shape + + + 1.7 + 1.8 + + + 1.45, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Swing 2 (R-L) + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Sound - Pitch + implementation.fire["Sound - Pitch"] + + + Rearm + implementation.rearm + + + Extra Action + implementation.fire_refs[1].ref + + + + + character/pc/attack_swordranged_rightleft/start_faster.dat + + + character/pc/attack_swordranged_rightleft/fire_faster.dat + + Sound + sound/effect/weapon/sword_03.ogg + Sound - Pitch + Default + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + character/pc/attack_swordranged_rightleft/end_faster.dat + + 1.75 + 900 + 1 + true + + 2.0, 0.0 + 150 + 100 + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 20 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 2.5, 0.0 + 325 + 3 + + Shape + + + 1.7 + 1.8 + + + 1.45, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (5 Hit)/Charge (Combo Strike) + + + Start Speed + implementation.start["Release Time"], implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"], implementation.fire["Sound2"] + + + Impulse + implementation.impulse_received + + + Damage + implementation.fire_refs[0].ref["Damage"], implementation.fire_refs[2].ref["Damage"], implementation.fire_refs[4].ref["Damage"], implementation.fire_refs[6].ref["Damage"], implementation.fire_refs[8].ref["Damage"] + + + Knock-Back + implementation.fire_refs[8].ref["Knock-Back"] + + + GhostSwing1 + implementation.fire_refs[1].ref["Actor"] + + + GhostSwing2 + implementation.fire_refs[3].ref["Actor"] + + + GhostSwing3 + implementation.fire_refs[5].ref["Actor"] + + + GhostSwing4 + implementation.fire_refs[7].ref["Actor"] + + + Extra Action + implementation.fire_refs[9].ref + + + + + character/pc/sword-chargerelease/animation.dat + + Release Time + 2.5 + Sound + + + + + character/pc/charge_combosword/fire.dat + + Sound + sound/effect/weapon/sword_02.ogg + Sound - Pitch 1 + Higher 2 + Sound - Pitch 2 + Default + Sound - Pitch 3 + Higher 1 + Sound - Pitch 4 + Higher 3 + Sound - Pitch Final + Default + Sound2 + sound/effect/weapon/sword_02.ogg + Swing + + particle/swing/pc_cutter_simple.dat + + Blend + ADDITIVE + Flare + true + Shadow + false + Strider Arc + false + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + Thin Cut + true + Trail Swipe + true + + + + + + character/pc/attack_sword-upwardswipe/end.dat + + 2.5 + 0.75 + 1000 + 1617 + 667 + + 2.0, 0.0 + 100 + 2000 + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 0.1, -0.5 + 250 + 2 + + Shape + + + 0.75 + + + 1.5, 0.0 + + + + + + + + Base/Spawn Prespawned + + Actor + + Delay + 125 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Base/Damage Origin Transformed + + Damage + + 50.0 + 2 + + Delay + 250 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 0.1, 0.5 + 250 + 2 + + Shape + + + 0.75 + + + 1.5, 0.0 + + + + + + + + Base/Spawn Prespawned + + Actor + + Delay + 375 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Base/Damage Origin Transformed + + Damage + + 50.0 + 2 + + Delay + 500 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 0.1, -0.5 + 250 + 2 + + Shape + + + 0.75 + + + 1.5, 0.0 + + + + + + + + Base/Spawn Prespawned + + Actor + + Delay + 625 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Base/Damage Origin Transformed + + Damage + + 50.0 + 2 + + Delay + 750 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 0.1, 0.5 + 350 + 2 + + Shape + + + 0.75 + + + 1.5, 0.0 + + + + + + + + Base/Spawn Prespawned + + Actor + + Delay + 875 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Base/Damage Origin Transformed + + Damage + + 40.0 + 2 + + Delay + 1633 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 2504.0, 0.0 + 4 + + Shape + + + 2.25 + 1.5 + + + 1.25, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (5 Hit)/Swing 2 (R-L Flare) + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Sound - Pitch + implementation.fire["Sound - Pitch"] + + + Extra Action + implementation.fire_refs[1].ref + + + + + character/pc/attack_swordranged_rightleft/start.dat + + + character/pc/attack_swordranged_rightleft/fire.dat + + Sound + sound/effect/weapon/sword_02.ogg + Sound - Pitch + Default + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + character/pc/attack_swordranged_rightleft/end.dat + + 1.75 + 2.0 + 233 + 667 + true + + 1.25, 0.0 + 200 + 50 + + + + + Base/Damage Origin Transformed + + Damage + + 50.0 + 2 + + Delay + 0 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Shape + + + 1.75 + 1.2 + + + 1.0, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (5 Hit)/Swing 3 (L-R Flare) + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Sound - Pitch + implementation.fire["Sound - Pitch"] + + + Extra Action + implementation.fire_refs[1].ref + + + + + character/pc/attack_swordranged_leftright/start.dat + + + character/pc/attack_swordranged_leftright/fire.dat + + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Default + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + character/pc/attack_swordranged_leftright/end.dat + + 1.75 + 2.0 + 233 + 667 + true + + 1.5, 0.0 + 200 + 50 + + + + + Base/Damage Origin Transformed + + Damage + + 50.0 + 2 + + Delay + 0 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Shape + + + 1.75 + 1.2 + + + 1.0, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (Saber)/Charge (Swipe) + + + character/pc/sword-chargerelease/animation.dat + + Release Time + 1.9 + Sound + + + + + animation/sequential/simple.dat + + Animations + + + 3.0 + + character/pc/attack_sword-forwardthrust/start.dat + + + + 4.0 + + character/pc/attack_sword-forwardthrust/fire.dat + + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Higher 2 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 2.0 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.0, 0.0, 0.0, 0.0 + Swing Color Middle + 0.0, 0.0, 0.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + + 4.0 + + character/pc/attack_sword-forwardthrust/start-2nd.dat + + + + 4.0 + + character/pc/attack_sword-forwardthrust/fire.dat + + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Higher 2 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 2.0 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.0, 0.0, 0.0, 0.0 + Swing Color Middle + 0.0, 0.0, 0.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + + 3.0 + + character/pc/attack_swordranged_rightleft/start_faster.dat + + + + + character/pc/attack_swordranged_rightleft/fire.dat + + Sound + sound/effect/weapon/sword_02.ogg + Sound - Pitch + Higher 2 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing_narrow.png + + + + + + + Priority + 2 + + + + character/pc/attack_swordranged_rightleft/end.dat + + 1.9 + 1.25 + 1000 + 1000 + 1167 + false + + 4.0, 0.0 + 750 + 500 + + + + + Base/Damage Origin Transformed + + Damage + + + + + PC/Damage/Sword/Sword Base (Charged) + + PIERCING + 2 + + + + Delay + 0 + Impulse Origin Translation + -1.0, 0.0 + Knock-Back + + 1.0, 0.0 + 200 + + Shape + + + 2.0 + + + 2.0, 0.0 + + + + + + + + Base/Damage Origin Transformed + + Damage + + + PC/Damage/Sword/Sword Base (Charged) + + PIERCING + 2 + + Delay + 250 + Impulse Origin Translation + -1.0, 0.0 + Knock-Back + + 1.0, 0.0 + 200 + 2 + + Shape + + + 2.0 + + + 2.0, 0.0 + + + + + + + + Base/Damage Origin Transformed + + Damage + + + PC/Damage/Sword/Sword Base +05 (Charged) + + PIERCING + 2 + true + + Delay + 600 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 3.0, 0.0 + 300 + 3 + + Shape + + + 1.25 + + + 1.25, 0.0 + + + + + + + + + + Weapon/Sword/Parts/Base (Saber)/Swing 0 (L-R) + + + character/pc/attack_sword_2_start.dat + + Sounder + + + + + character/pc/attack_sword_2_fire.dat + + Sound + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_02.ogg + Pitch + Higher 1 + + + Swing + + + particle/swing/pc_default.dat + + Blend + ADDITIVE + Color + + 0.8, 1.0, 1.0, 0.0 + 0.8862745, 0.9843137, 1.0, 1.0 + 0.8, 1.0, 1.0, 0.0 + 0.1 + 0.9 + + PC Swing# + 2 + Scale + + + 1.5 + + + 1.5 + 0.1 + + + 2.0 + + + Strider Color + + 0.0, 0.0, 0.0, 0.75 + 0.0, 0.0, 0.0, 0.0 + + + + Strider Toggle + false + Texture + particle/texture/fx_pcswing_narrow.png + + + %ROOT% + + + + + character/pc/attack_sword_2_end.dat + + 1.8 + 1.5 + 1.25 + 233 + 667 + true + + + + Base/Damage Origin Transformed + + Damage + + + PC/Damage/Sword/Sword Base + + PIERCING + 2 + true + + Delay + 0 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 2.0, 0.0 + 150 + 3 + + Shape + + + 1.2 + + + 1.05, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (Saber)/Swing 1 (Thrust) + + + character/pc/attack_sword-forwardthrust/start.dat + + + character/pc/attack_sword-forwardthrust/fire.dat + + Sound + sound/effect/weapon/sword_02.ogg + Sound - Pitch + Higher 2 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.0, 0.0, 0.0, 0.0 + Swing Color Middle + 0.0, 0.0, 0.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + character/pc/attack_sword-forwardthrust/end.dat + + 2.0 + 1.75 + 2.0 + 250 + 667 + true + + 1.0, 0.0 + 150 + 100 + + + + + Base/Damage Origin Transformed + + Damage + + + + + PC/Damage/Sword/Sword Base + + PIERCING + 2 + + + + Delay + 100 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 1.5, 0.0 + 300 + + Shape + + + 1.5 + 0.45 + + + 1.75, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (Saber)/Swing 2 (Thrust) + + + character/pc/attack_sword-forwardthrust/start-2nd.dat + + + character/pc/attack_sword-forwardthrust/fire.dat + + Sound + sound/effect/weapon/sword_03.ogg + Sound - Pitch + Higher 2 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.0, 0.0, 0.0, 0.0 + Swing Color Middle + 0.0, 0.0, 0.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + character/pc/attack_sword-forwardthrust/end.dat + + 1.75 + 1.5 + 800 + 1 + true + + 3.0, 0.0 + 250 + 100 + + + + + Base/Damage Origin Transformed + + Damage + + + + + PC/Damage/Sword/Sword Base (Last Chain) + + PIERCING + 2 + true + + + + Delay + 100 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 2.5, 0.0 + 325 + 3 + + Shape + + + 2.0 + 0.6 + + + 1.75, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (Spur) 0 + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Sound - Pitch + implementation.fire["Sound - Pitch"] + + + + + character/pc/attack_swordranged_leftright/start.dat + + + character/pc/attack_swordranged_leftright/fire.dat + + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Default + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + character/pc/attack_swordranged_leftright/end.dat + + 1.75 + 2.0 + 233 + 667 + true + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 20 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 1.0, 0.0 + 250 + 2 + + Shape + + + 0.4 + + + 1.0, 0.0 + + + + + + + + + + Weapon/Sword/Parts/Base (Spur) 1 + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Sound - Pitch + implementation.fire["Sound - Pitch"] + + + + + character/pc/attack_swordranged_rightleft/start.dat + + + character/pc/attack_swordranged_rightleft/fire.dat + + Sound + sound/effect/weapon/sword_02.ogg + Sound - Pitch + Default + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + character/pc/attack_swordranged_rightleft/end.dat + + 1.75 + 2.0 + 233 + 667 + true + + 1.0, 0.0 + 250 + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 20 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Shape + + + 1.75 + 1.2 + + + 1.0, 0.0 + + + + + + + + + + Weapon/Sword/Parts/Base (Spur) 2 + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Sound - Pitch + implementation.fire["Sound - Pitch"] + + + Rearm + implementation.rearm + + + + + character/pc/attack_sword_2_start.dat + + Sounder + + + + + character/pc/attack_sword_2_fire2.dat + + Sound + sound/effect/weapon/sword_03.ogg + Sound - Pitch + Default + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + character/pc/attack_sword_2_end.dat + + 1.75 + 900 + 1 + true + + 1.5, 0.0 + 300 + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 20 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 3.5, 0.0 + 325 + 3 + + Shape + + + 17.0 + 1.8 + + + 1.3, 0.0 + + + + + + + + + + Weapon/Sword/Parts/Base (Spur) Charge + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + + + character/pc/attack_sword_3_firewithwindup2.dat + + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Default + Swing + + particle/swing/calibur_charged.dat + + Variant + Calibur + + + + + + character/pc/attack_sword_3_end.dat + + 0.75 + 0 + 350 + 667 + + + + Base/Damage Origin Transformed + + Damage + + 100.0 + 2 + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 5.0, 0.0 + 500 + 4 + + Shape + + + 1.75 + + + + + + + + + + Weapon/Sword/Parts/Base (Spur) Incomplete + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Sound - Pitch + implementation.fire["Sound - Pitch"] + + + + + character/pc/attack_swordranged_leftright/start.dat + + + character/pc/attack_swordranged_leftright/fire.dat + + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Default + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + character/pc/attack_swordranged_rightleft/end.dat + + 1.5 + 233 + 667 + true + 3 + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 20 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 2.0, 0.0 + 375 + + Shape + + + 0.5 + + + 1.0, 0.0 + + + + + + + + + + Weapon/Sword/Poison Sword (Charge) + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Round House) + + Damage + + + + 60.0 + 2 + true + + + 2 + + Poison + + Chance + 0.0 + Power + 0 + + + + + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 150 + 500 + + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Radius + 1.0 + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Default + Start Speed + 2.0 + Swing + + particle/swing/proto_charged.dat + + Color + Proto + + + + + + + + Weapon/Sword/Proto Sword (Charge) + + + Damage + implementation.attack["Damage"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + + + 65.0 + 2 + true + + + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 150 + 500 + + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Default + Start Speed + 1.9 + Swing + + particle/swing/proto_charged.dat + + Color + Proto + + + + + + + + Weapon/Sword/Sealed Sword (Charge) + + + Damage + implementation.attack["Damage"] + + + Power + implementation.attack["Extra Action"]["Action"].action.spawn_table["Power"] + + + Chance + implementation.attack["Extra Action"]["Action"].action.spawn_table["Chance"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + 70.0 + 2 + true + + End Speed + 0.75 + Extra Action + + Base/Default + + Action + + + 0.85 + + + + Monster/Attacks/Sword(BreakSeal) + + Chance + 1.0 + Power + 37 + + + + + Delay + 0 + + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 150 + 500 + + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Default + Start Speed + 1.9 + Swing + + particle/swing/proto_charged.dat + + Color + Sealed Sword + + + + + + + + Weapon/Sword/Slime Slasher (Charge) + + + Damage + implementation.attack["Damage"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + + + 65.0 + 2 + true + + + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 150 + 500 + + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Higher 1 + Start Speed + 1.9 + Swing + + particle/swing/proto_charged.dat + + Color + Cautery Sword + + + + + + + + Weapon/Sword/Spur (Charge) + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Damage (Projectile) + implementation.fire_refs[1].ref["Actor"]["Damage"] + + + + + character/pc/attack_sword-upwardswipe/start.dat + + Release Time + 1.5 + + + + character/pc/attack_sword-upwardswipe/fire.dat + + Sound + sound/effect/weapon/spur_swing3.ogg + Sound - Pitch + Higher 2 + Swing + + particle/swing/spur.dat + + Blend + ADDITIVE + Scale + 1.2 + Strider Color + 0.4, 1.0, 0.2, 1.0 + Swing Color In/Out + 0.2, 0.8, 0.0, 0.0 + Swing Color Middle + 0.8, 1.0, 0.0, 1.0 + + + + + + character/pc/attack_sword-upwardswipe/end.dat + + 1.5 + 0.65 + 1000 + 133 + 667 + + -1.0, 0.0 + 150 + 10 + + + + + Base/Damage Origin Transformed + + Damage + + 20.0 + 2 + true + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 3.0, 0.0 + 200 + 3 + + Shape + + + + + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Sword/Spur (Charged) + + Damage + + 50.0 + 2 + + + + Delay + 150 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + + + Weapon/Sword/Static Edge (Charge) + + + Damage + implementation.attack["Damage"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + + + 40.0 + 2 + true + + + 2 + + Shock + + Chance + 0.25 + Power + 30 + + + + + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 150 + 500 + + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Sound + sound/effect/weapon/staticedge_charged_02.ogg + Sound - Pitch + Lower 1 + Start Speed + 1.9 + Swing + + particle/swing/proto_charged.dat + + Color + Static + + + + + + + + Weapon/Sword/The Ban Stick (Charge) + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Round House) + + Damage + + + + 9999.0 + 2 + true + + + + End Speed + 0.75 + Extra Action + + Base/Damage Region Transformed + + Damage + + 9999.0 + 4 + + Delay + 0 + Shape + + + + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 200 + 300 + + Knock-Back + + 20.0, 0.0 + 500 + 10 + + Radius + 2.0 + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Default + Start Speed + 3.0 + Swing + + particle/swing/calibur_charged.dat + + Variant + Calibur + + + + + + + + Weapon/Sword/Troika (Charge) + + + Damage + implementation.attack["Damage"] + + + + + Weapon/Sword/Parts/Base (2 Hit Slow)/Charge (Heavy Slam) + + Damage + + + + 110.0 + 2 + true + + + 2 + + Stun + + Chance + 0.25 + Power + 35 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + End Speed + 1.0 + Extra Action + + Fire Speed + 1.0 + Impulse + + 2.0, 0.0 + 200 + 933 + + Smash FX + + particle/swing/troika_charged-slam.dat + + Vertical wave + On + + + Sound + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_02.ogg + Pitch + Lower 3 + + + Start Speed + 1.0 + Swing + + particle/swing/troika_charged-swing.dat + + + + + + + Weapon/Sword/Vile Striker (Charge) + + + Damage + implementation.attack["Damage"] + + + Damage (Projectile) + implementation.attack["GhostSwing4"]["Damage"], implementation.attack["GhostSwing3"]["Damage"], implementation.attack["GhostSwing2"]["Damage"], implementation.attack["GhostSwing1"]["Damage"] + + + + + Weapon/Sword/Parts/Base (5 Hit)/Charge (Combo Strike) + + Damage + + + + 25.0 + 2 + true + + + 2 + + Poison + + Chance + 0.25 + Power + 35 + + + + + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + GhostSwing1 + + Bomb/Parts/Sword (VilestrikerGhost) + + Damage + + + + 20.0 + 2 + + + 2 + + Poison + + Chance + 0.075 + Power + 30 + + + + + + Transform + + -0.08, -0.349, 0.783 + 0.0, 0.25881904, 0.0, 0.9659258 + + + + GhostSwing2 + + Bomb/Parts/Sword (VilestrikerGhost) + + Damage + + + + 20.0 + 2 + + + 2 + + Poison + + Chance + 0.075 + Power + 30 + + + + + + Transform + + -0.108, -0.445, 0.685 + 9.735319E-7, 0.99736917, 9.735319E-7, -0.0724897 + + + + GhostSwing3 + + Bomb/Parts/Sword (VilestrikerGhost) + + Damage + + + + 20.0 + 2 + + + 2 + + Poison + + Chance + 0.075 + Power + 30 + + + + + + Transform + + -0.08, -0.349, 0.783 + 0.0, 0.25881904, 0.0, 0.9659258 + + + + GhostSwing4 + + Bomb/Parts/Sword (VilestrikerGhost) + + Damage + + + + 20.0 + 2 + + + 2 + + Poison + + Chance + 0.075 + Power + 30 + + + + + + Transform + + -0.108, -0.445, 0.685 + 9.735319E-7, 0.99736917, 9.735319E-7, -0.0724897 + + + + Impulse + + 2.0, 0.0 + 100 + 2000 + + Knock-Back + + 4.0, 0.0 + 250 + 4 + + Sound + sound/effect/weapon/sword_02.ogg + Start Speed + 2.0 + Swing + + particle/swing/pc_cutter_simple.dat + + Blend + ADDITIVE + Flare + true + Shadow + false + Strider Arc + false + Strider Color + 0.0, 0.8, 0.0, 1.0 + Swing Color In/Out + 0.0, 0.2, 0.2, 0.0 + Swing Color Middle + 0.0, 0.4, 0.2, 1.0 + Texture + particle/texture/fx_pcswing.png + Thin Cut + true + Trail Swipe + true + + + + + + + + Weapon/Sword/Wild Hunting Blade (Charge) + + + Damage + implementation.attack["Damage"].damages[0] + + + Damage (Projectile) + implementation.attack["Extra Action"]["Actor"]["Damage"], implementation.attack["GhostSwing4"]["Damage"], implementation.attack["GhostSwing3"]["Damage"], implementation.attack["GhostSwing2"]["Damage"], implementation.attack["GhostSwing1"]["Damage"] + + + + + Weapon/Sword/Parts/Base (5 Hit)/Charge (Combo Strike) + + Damage + + + + 40.0 + 2 + true + + + + End Speed + 0.75 + Extra Action + + Base/Spawn Prespawned + + Actor + + Bomb/Parts/Sword (HuntingGhost) + + Damage + + 20.0 + 2 + + Wolf Transform + + 1.8 + 0.0, 1.0, 0.2 + + + + Delay + 1633 + Rotation + 0.0 + Rotation Variance + 0.0 + + + Fire Speed + 1.0 + GhostSwing1 + + Bomb/Parts/Sword (HuntingGhost) + + Damage + + 20.0 + 2 + + Wolf Transform + + 1.1 + -1.5, -1.0, 0.2 + 0.0, 0.0, 0.38268346, 0.9238795 + + + + GhostSwing2 + + Bomb/Parts/Sword (HuntingGhost) + + Damage + + 20.0 + 2 + + Wolf Transform + + 1.1 + 2.0, -2.0, 0.2 + 0.0, 0.0, -0.67559004, 0.7372775 + + + + GhostSwing3 + + Bomb/Parts/Sword (HuntingGhost) + + Damage + + 20.0 + 2 + + Wolf Transform + + 1.1 + -1.4, -1.6, 0.2 + 0.0, 0.0, 0.62932, 0.7771462 + + + + GhostSwing4 + + Bomb/Parts/Sword (HuntingGhost) + + Damage + + 20.0 + 2 + + Wolf Transform + + 1.1 + 1.0, -0.25, 0.2 + 0.0, 0.0, -0.25881904, 0.9659258 + + + + Impulse + + 2.0, 0.0 + 100 + 2000 + + Knock-Back + + 4.0, 0.0 + 250 + 4 + + Sound + sound/effect/weapon/sword_02.ogg + Start Speed + 2.0 + Swing + + particle/swing/pc_cutter_simple.dat + + Blend + ADDITIVE + Flare + true + Shadow + false + Strider Arc + false + Strider Color + 0.7019608, 0.6117647, 0.24313726, 1.0 + Swing Color In/Out + 0.32941177, 0.25490198, 0.0, 0.0 + Swing Color Middle + 0.8117647, 0.78039217, 0.67058825, 1.0 + Texture + particle/texture/fx_pcswing.png + Thin Cut + true + Trail Swipe + true + + + + + + + + Weapon/Sword/Winmillion (Charge) + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Damage (Projectile) + implementation.fire_refs[1].ref["Actor"]["Damage"] + + + + + character/pc/attack_sword-upwardswipe/start.dat + + Release Time + 1.25 + + + + character/pc/attack_sword-upwardswipe/fire.dat + + Sound + sound/effect/weapon/spur_swing3.ogg + Sound - Pitch + Higher 2 + Swing + + particle/swing/spur.dat + + Blend + ADDITIVE + Scale + 1.2 + Strider Color + 0.83137256, 0.87058824, 0.8901961, 1.0 + Swing Color In/Out + 0.0, 0.4, 0.6, 0.0 + Swing Color Middle + 0.2, 0.6, 1.0, 1.0 + + + + + + character/pc/attack_sword-upwardswipe/end.dat + + 1.25 + 0.65 + 1000 + 133 + 667 + + -1.0, 0.0 + 150 + 10 + + + + + Base/Damage Origin Transformed + + Damage + + 20.0 + 2 + true + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 3.0, 0.0 + 200 + 3 + + Shape + + + + + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Sword/Winmillion (Large) + + Damage + + 1.0 + 2 + + + + Delay + 150 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + + + Weapon/Sword/Wrench Wand (Charge) + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Bullet + implementation.fire_refs[1].ref["Actor"] + + + + + character/pc/sword-chargerelease/animation.dat + + Release Time + 1.9 + Sound + + + + + character/npc/monster/gremlin/animation/skill_directional.dat + + 1.9 + 1.2 + 2.0 + 1000 + 1100 + 0 + false + + 1.0, 0.0 + 200 + 500 + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 3.0, 0.0 + 400 + 2 + + Shape + + + 1.6 + 1.2 + + + 1.1, 0.0 + + + + + + + + Base/Spawn Actor + + Actor + + Bullet/Sword/Wrench Wand Bolt + + Damage + + + + 60.0 + 4 + + + + + + Delay + 200 + + + + + + + + \ No newline at end of file diff --git a/custom-configs/behavior.xml b/custom-configs/behavior.xml new file mode 100644 index 0000000..924dcbb --- /dev/null +++ b/custom-configs/behavior.xml @@ -0,0 +1,201 @@ + + + + + + + Dev Tests/Targeting Test (first) + + + Wander/Base + + + + 10.0 + + + + 0.08726646 + 0.08726646 + + + + + Dev Tests/Targeting Test 1 + + + Wander/Base + + 2 + + 0, 1, 2, 3 + 0.17453292 + 0.17453292 + + + + + Monster/Beast/Chromalisk/Base + + + + + false + 50.0 + + + Monster/Beast/Chromalisk/Dodge + + + + + false + 100.0 + + + Monster/Beast/Chromalisk/Targeted Attack + + + + + + + Monster/Beast/Chromalisk/Basic Targeting + + + Wander/Base + + 2 + + 7, 0 + 0.17453292 + 0.17453292 + + + + + Monster/Beast/Chromalisk/Dodge + + 2000 + + + 2 + + + 0.7853982 + 4 + + + 2.3561945 + 5 + + + + + + Monster/Beast/Chromalisk/Targeted Attack + + + Wander/Base + + 2 + + 7, 0 + 0.17453292 + 0.17453292 + + + + + Monster/Beast/Vog Cub/Basic Targeting + + + Wander/Base + + 2 + + 0, 1, 2, 3, 4, 5, 6, 7 + 2000 + 1.7453293 + 0.87266463 + + + + + Monster/Slime/Cube (Basic Targeting) + + + Wander/Base + + + + 2 + + 0.87266463 + 1.7453293 + + + + + Monster/Slime/Jelly Green Giant + + + Wander/Base + + + + 10.0 + + + 2 + + 0, 1 + 1500 + 1.85 + 1.7453293 + 1.7453293 + + + + + Traps and Hazards/Wheel Launcher + + + + + + 5000 + + + + + + + + Wander/Base + + 50.0 + + + + Wander/Snipe + + + 5.5 + + + 1.0 + 4.0 + + + 2.0 + + + + + \ No newline at end of file diff --git a/custom-configs/catalog.xml b/custom-configs/catalog.xml new file mode 100644 index 0000000..48e41cd --- /dev/null +++ b/custom-configs/catalog.xml @@ -0,0 +1,128 @@ + + + + + + + Catalog Test + + + + + + + + 10 + 5 + 1 + + Artifact/Preview Event Medal + + + + + + + Rescue Camp/General Goods + + + + 150 + 10 + + Weapon/Sword/Beast Basher + + + + 150 + 10 + + Weapon/Sword/Hatchet + + + + 150 + 10 + + Weapon/Sword/Proto Sword + + + + 150 + 10 + + Weapon/Sword/Slime Slasher + + + + 150 + 10 + + Weapon/Handgun/Proto Gun + + + + 150 + 10 + + Weapon/Handgun/Punch Gun + + + + 150 + 10 + + Weapon/Handgun/Stun Gun + + + + 150 + 10 + + Weapon/Bomb/Proto Bomb + + + + 150 + 10 + + Gear/Helm/Cyclops Cap + + + + 150 + 10 + + Gear/Helm/Mining Hat + + + + 150 + 10 + + Gear/Armor/Fencing Jacket + + + + 150 + 10 + + Gear/Armor/Vitasuit + + + + 150 + + Gear/Shield/Iron Buckler + + + + + + + \ No newline at end of file diff --git a/custom-configs/conversation.xml b/custom-configs/conversation.xml new file mode 100644 index 0000000..8fc01d8 --- /dev/null +++ b/custom-configs/conversation.xml @@ -0,0 +1,3233 @@ + + + + + + + Boss/Vanaduke/Monologue + + monster + + + monologue + m.vanaduke_1 + + character/npc/monster/baron/animations/animation_idle.dat + + + + + + + Core Terminal/Technician + + + + part 1a + m.core_tech_1 + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.core_tech_1 + + + + + + + part 2a + m.core_tech_2 + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.core_tech_2 + + + + + part 3a + m.core_tech_3 + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.core_tech_3 + + + + + + + + Core Terminal/Vaelyn + + + + part 1a + m.core_lead_1 + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.core_lead_1 + + + + + + + part 2a + m.core_lead_2 + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.core_lead_2 + + + + + part 3a + m.core_lead_3 + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.core_lead_3 + + + + + part 4a + m.core_lead_4 + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.core_lead_4 + + + + + part 5a + m.core_lead_5 + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.core_lead_5 + + + + + + + + Emberlight/Greeter + + + + part 1a + m.em_greeter_1a + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.em_greeter_1a + + + + + + + + Firestorm Citadel/Bridge End + + + + part 1 + m.fc_bridge_1 + + + r.fc_bridge_1a + + + r.fc_bridge_1b + + + + + part 2 + m.fc_bridge_2 + + + r.fc_bridge_2 + + + + + part 3 + m.fc_bridge_3 + + + r.fc_bridge_3 + + + + + + + + Firestorm Citadel/Greeter + + + + part 1 + m.fc_greeter_1 + + + r.fc_greeter_1 + + + + + part 2 + m.fc_greeter_2 + + + r.fc_greeter_2 + + + + + + + + Firestorm Citadel/Sprite 1 + + + + part 1 + m.fc_court_1 + + + r.fc_court_1 + + + + + part 2 + m.fc_court_2 + + + r.fc_court_2 + + + + + part 3 + m.fc_court_3 + + + r.fc_court_3 + + + + + + + talkto_sprite + + + talkto_sprite_a + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/play_sound_clip.dat + + File + sound/feedback/objective_end.ogg + Gain + 1.0 + + + + + + + + + + + + + + + part 4 + m.fc_court_4 + + + r.fc_court_4_accept + + + + talkto_sprite_a + + + find_sprites + + m.find_sprites + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/play_sound_clip.dat + + File + sound/feedback/objective_start.ogg + Gain + 1.0 + + + + + + + talkto_sprite_mem + + + + + + r.fc_court_4 + + + + + part 5 + m.fc_court_5 + + + r.fc_court_5 + + + + + + + talkto_sprite_a + SESSION + + + find_sprites + + m.find_sprites + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/play_sound_clip.dat + + File + sound/feedback/objective_start.ogg + Gain + 1.0 + + + + + + + talkto_sprite_mem + + + + + + + + + + + + + + Firestorm Citadel/Sprite 2 + + + + part 1 + m.fc_court_reminder_1 + + + r.fc_reminder_1 + + + + + + + + Firestorm Citadel/Sprite 3 + + + + part 1 + m.fc_court_complete_1 + + + r.fc_court_complete_1 + + + + + + + + Haven/Knight/Arcade Info + + + + part 1a + m.hav_arcade_1a + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.hav_arcade_1a + + + r.hav_arcade_1b + + + + + part 2a + m.hav_arcade_2a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.hav_arcade_2a + + + + + part 3a + m.hav_arcade_3a + + ui/conversation/interface_centeredimage.dat + + image + ui/conversation/images/gate_construction/dormant-active.png + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.hav_arcade_3a + + + + + part 4a + m.hav_arcade_4a + + ui/conversation/interface_centeredimage.dat + + image + ui/conversation/images/gate_construction/minerals.png + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.hav_arcade_4a + + + + + part 5a + m.hav_arcade_5a + + ui/conversation/interface_centeredimage.dat + + image + ui/conversation/images/gate_construction/arcadeplatform.png + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.hav_arcade_5a + + + + + part 6a + m.hav_arcade_6a + + ui/conversation/interface_centeredimage.dat + + image + ui/conversation/images/gate_construction/deposit-meters.png + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.hav_arcade_6a + + + + + part 7a + m.hav_arcade_7a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.hav_arcade_7a + + + r.hav_arcade_7b + + + + + part 8a + m.hav_arcade_8a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.hav_arcade_8a + + + + + + + + Haven/Knight/Arcade Info 2 + + + + part 1a + m.hav_arcade2_1a + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.hav_arcade2_1a + + + r.hav_arcade2_1b + + + + + part 2a + m.hav_arcade2_2a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.hav_arcade2_2a + + + r.hav_arcade2_2b + + + r.hav_arcade2_2c + + + r.hav_arcade2_2d + + + + + part 3a + m.hav_arcade2_3a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.hav_arcade2_3a + + + r.hav_arcade2_3b + + + + + part 3b + m.hav_arcade2_3b + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.hav_arcade2_3a + + + r.hav_arcade2_3b + + + + + part 3c + m.hav_arcade2_3c + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.hav_arcade2_3a + + + r.hav_arcade2_3b + + + + + + + + Haven/Knight/Arcade Leader + + + + part 1a + m.arc_leader_1 + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.arc_leader_1 + + + + + + + part 2a + m.arc_leader_2 + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.arc_leader_2 + + + + + part 3a + m.arc_leader_3 + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.arc_leader_3 + + + + + part 4a + m.arc_leader_4 + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.arc_leader_4 + + + + + + + head_north_arcade + KNIGHT + + + head_north_arcade_a + KNIGHT + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/play_sound_clip.dat + + File + sound/feedback/objective_end.ogg + Gain + 1.0 + + + + + + + + + + + + + + + + + part 5a + m.arc_leader_5 + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.arc_leader_5 + + + + + + + head_north_arcade_a + KNIGHT + + + reach_terminal_1 + KNIGHT + + m.reach_terminal_1 + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/play_sound_clip.dat + + File + sound/feedback/objective_start.ogg + Gain + 1.0 + + + + + + + talkto_feron + + + + + + + + + + + + + + Haven/Knight/Energy Info + + + + part 1a + m.energy_info_1a + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.energy_info_1a + + + r.energy_info_1b + + + + + part 2a + m.energy_info_2a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.energy_info_2a + + + r.energy_info_2b + + + r.energy_info_2c + + + r.energy_info_2d + + + + + part 3a + m.energy_info_3a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.energy_info_3a + + + r.energy_info_3b + + + + + part 3b + m.energy_info_3b + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.energy_info_3a + + + r.energy_info_3b + + + + + part 3c + m.energy_info_3c + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.energy_info_3a + + + r.energy_info_3b + + + + + + + + Haven/Knight/Fountain + + + + part 1a + m.fountain_1 + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.fountain_1 + + + + + + + + Haven/Knight/Mecha Knight + + + + part 1a + m.hav_mecha_1a + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.hav_mecha_1a + + + + + + + + Haven/Knight/Mineral Info + + + + + + + + return_to_wegner + KNIGHT + + + done_wegner + KNIGHT + + + adv_wegner + KNIGHT + + + + + + + + + + + + + + + part 1a + m.arc_mintut_1 + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.arc_mintut_1 + + + + + part 2a + m.arc_mintut_2 + + ui/conversation/interface_centeredimage.dat + + image + ui/conversation/images/gate_construction/step1_minerals.png + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.arc_mintut_2 + + + + + part 3a + m.arc_mintut_3 + + ui/conversation/interface_centeredimage.dat + + image + ui/conversation/images/gate_construction/step2_gather.png + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.arc_mintut_3 + + + + + part 4a + m.arc_mintut_4 + + ui/conversation/interface_centeredimage.dat + + image + ui/conversation/images/gate_construction/step3_deposit.png + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.arc_mintut_4 + + + + + part 5a + m.arc_mintut_5 + + ui/conversation/interface_centeredimage.dat + + image + ui/conversation/images/gate_construction/step4_autosell.png + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.arc_mintut_5 + + + + + part 6a + m.arc_mintut_6 + + ui/conversation/interface_centeredimage.dat + + image + ui/conversation/images/gate_construction/step5_getpaid.png + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.arc_mintut_6 + + + + + + + deposit_minerals + KNIGHT + + m.deposit_minerals + + + + deposit_minerals + KNIGHT + + + return_to_wegner + KNIGHT + + m.return_to_wegner + + + + done_wegner + + + + + + + + done_wegner + KNIGHT + + + + + + + + + + + + + + part 1a adv + m.arc_mintut_adv_1 + + + r.arc_mintut_adv_1a + + + r.arc_mintut_adv_1b + + + r.arc_mintut_adv_1c + + + + + part 2a adv + m.arc_mintut_adv_2 + + ui/conversation/interface_centeredimage.dat + + image + ui/conversation/images/gate_construction/stratum_themes.png + + + + + r.arc_mintut_adv_2 + + + + + part 3a adv + m.arc_mintut_adv_3 + + ui/conversation/interface_centeredimage.dat + + image + ui/conversation/images/gate_construction/mineral_amounts.png + + + + + r.arc_mintut_adv_3 + + + + + part 4a adv + m.arc_mintut_adv_4 + + ui/conversation/interface_centeredimage.dat + + image + ui/conversation/images/gate_construction/mineral_recipes.png + + + + + r.arc_mintut_adv_4 + + + + + part 5a adv + m.arc_mintut_adv_5 + + ui/conversation/interface_centeredimage.dat + + image + ui/conversation/images/gate_construction/mineral_boosting.png + + + + + r.arc_mintut_adv_5 + + + + + + + part 1a adv alt1 + m.arc_mintut_adv_1_alt1 + + + r.arc_mintut_adv_1a + + + r.arc_mintut_adv_1b + + + r.arc_mintut_adv_1c + + + + + + + + Haven/Strangers/Clockworks + + + + part 1a + m.hav_clock_1a + + character/npc/stranger/shop_loop.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/NPCs/Strangers/Speech/Default/Conversation + + + + + + r.hav_clock_1a + + + r.hav_clock_1b + + + + + part 2a + m.hav_clock_2a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/NPCs/Strangers/Speech/Default/Conversation + + + + + + r.hav_clock_2a + + + r.hav_clock_2b + + + r.hav_clock_2c + + + r.hav_clock_2d + + + + + part 3a + m.hav_clock_3a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/NPCs/Strangers/Speech/Default/Conversation + + + + + + r.hav_clock_3a + + + r.hav_clock_3b + + + + + part 3b + m.hav_clock_3b + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/NPCs/Strangers/Speech/Default/Conversation + + + + + + r.hav_clock_3a + + + r.hav_clock_3b + + + + + part 3c + m.hav_clock_3c + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/NPCs/Strangers/Speech/Default/Conversation + + + + + + r.hav_clock_3a + + + r.hav_clock_3b + + + + + + + + Haven/Strangers/Free Cash + + + + part 1a + m.cash_01_1a + + character/npc/stranger/shop_loop.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/NPCs/Strangers/Speech/Default/Conversation + + + + + + r.cash_01_1a + + + + + r.cash_01_1b + + + + + + + + + + Haven/Strangers/Greeter + + + + part 1a + m.hav_greeter_1a + + character/npc/stranger/shop_loop.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/NPCs/Strangers/Speech/Default/Conversation + + + + + + r.hav_greeter_1a + + + + + + + + Haven/Strangers/Gremlin Info + + + + part 1a + m.hav_grem_1a + + character/npc/stranger/shop_loop.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/NPCs/Strangers/Speech/Default/Conversation + + + + + + r.hav_grem_1a + + + r.hav_grem_1b + + + + + part 2a + m.hav_grem_2a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/NPCs/Strangers/Speech/Default/Conversation + + + + + + r.hav_grem_2a + + + r.hav_grem_2b + + + r.hav_grem_2c + + + r.hav_grem_2d + + + + + part 3a + m.hav_grem_3a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/NPCs/Strangers/Speech/Default/Conversation + + + + + + r.hav_grem_3a + + + r.hav_grem_3b + + + + + part 3b + m.hav_grem_3b + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/NPCs/Strangers/Speech/Default/Conversation + + + + + + r.hav_grem_3a + + + r.hav_grem_3b + + + + + part 3c + m.hav_grem_3c + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/NPCs/Strangers/Speech/Default/Conversation + + + + + + r.hav_grem_3a + + + r.hav_grem_3b + + + + + + + + Haven/Strangers/Snipes + + + + part 1a + m.hav_snipes_1a + + character/npc/stranger/shop_loop.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/NPCs/Strangers/Speech/Default/Conversation + + + + + + r.hav_snipes_1a + + + + + part 2a + m.hav_snipes_2a + + + r.hav_snipes_2a + + + + + + + + Moorcroft/Desk Clerk + + + + part 1a + m.deskclerk_1a + + character/npc/monster/spookat/standing_idle.dat + + Pitch adjust + Default + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.deskclerk_1a + + + + + + + + Moorcroft/Ritual + + + + part 1a + m.ritual_1a + + character/npc/monster/spookat/standing_idle.dat + + Pitch adjust + Default + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.ritual_1a + + + + + + + + Recon Module/Danger/Danger 1 + + false + + + part_1 + m.danger_module + + + r.end_module + + + + + + + + Recon Module/Info/Gold Keys + + false + + + part_1 + m.gold_keys + + + r.end_module + + + + + + + + Recon Module/Info/Gold Monsters + + false + + + part_1 + m.gold_monsters + + + r.end_module + + + + + + + + Recon Module/Info/Respawning Blocks + + false + + + part_1 + m.respawning_blocks + + + r.end_module + + + + + + + + Recon Module/Info/Running from Monsters + + false + + + part_1 + m.running_from_monsters + + + r.end_module + + + + + + + + Recon Module/Info/Silver Keys + + false + + + part_1 + m.silver_keys + + + r.end_module + + + + + + + + Recon Module/Info/The Jelly Farm OV + + false + + + part_1 + m.the_jelly_farm_ov + + + r.end_module + + + + + + + + Recon Module/Info/Trojan Tactics + + false + + + part_1 + m.trojan_tactics + + + r.end_module + + + + + + + + Recon Module/Info/Victory Garden (test) + + false + + + part_1 + m.victory_garden + + + r.end_module + + + + + + + + Recon Module/Story/Aurora Isles Sky + + false + + + part_1 + m.aurora_isles_sky + + + r.end_module + + + + + + + + Recon Module/Story/Jelly Farm Snack + + false + + + part_1 + m.jelly_farm_snack + + + r.end_module + + + + + + + + Rescue Camp/Bomb + + + part 1a + + + + part 1a + m.rc_bomb_1a + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_bomb_1a + + + + + + + + Rescue Camp/Final Gate + + + part 1a + + + + part 1a + m.rc_end_1a + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_end_1a + + part 2a + + + + r.rc_end_1b + + + + + part 2a + m.rc_end_2a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_end_2a + + part 3a + + + + r.rc_end_2b + + part 3b + + + + r.rc_end_2c + + part 3c + + + + r.rc_end_2d + + + + + part 3a + m.rc_end_3a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_end_3a + + part 2a + + + + r.rc_end_3b + + + + + part 3b + m.rc_end_3b + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_end_3a + + part 2a + + + + r.rc_end_3b + + + + + part 3c + m.rc_end_3c + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_end_3a + + part 2a + + + + r.rc_end_3b + + + + + + + + Rescue Camp/Greeter + + + part 1a + + + + part 1a + m.rc_greet_1a + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_greet_1a + + part 2a + + + + r.rc_greet_1b + + + + + part 2a + m.rc_greet_2a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_greet_2a + + part 3a + + + + r.rc_greet_2b + + part 3b + + + + r.rc_greet_2c + + part 3c + + + + r.rc_greet_2d + + + + + part 3a + m.rc_greet_3a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_greet_3a + + part 2a + + + + r.rc_greet_3b + + + + + part 3b + m.rc_greet_3b + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_greet_3a + + part 2a + + + + r.rc_greet_3b + + + + + part 3c + m.rc_greet_3c + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_greet_3a + + part 2a + + + + r.rc_greet_3b + + + + + + + + Rescue Camp/Instructor + + + part 1a + + + + part 1a + m.rc_instruct_1a + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_instruct_1a + + part 2a + + + + r.rc_instruct_1b + + + + + part 2a + m.rc_instruct_2a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_instruct_2a + + part 3a + + + + r.rc_instruct_2b + + part 3b + + + + r.rc_instruct_2c + + + + + part 3a + m.rc_instruct_3a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_instruct_3a + + part 2a + + + + r.rc_instruct_3b + + + + + part 3b + m.rc_instruct_3b + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_instruct_3a + + part 2a + + + + r.rc_instruct_3b + + + + + + + + Rescue Camp/Nervous + + + part 1a + + + + part 1a + m.rc_nervous_1a + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_nervous_1a + + + + + + + + Rescue Camp/Sleepy + + + part 1a + + + + part 1a + m.rc_sleepy_1a + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_sleepy_1a + + + + + + + + Rescue Camp/Soil + + + part 1a + + + + part 1a + m.rc_soil_1a + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_soil_1a + + + + + + + + Rescue Camp/Warning + + + part 1a + + + + part 1a + m.rc_warning_1a + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_warning_1a + + + + + + + + Test + + + + stick + m.stick + + + r.yes_please + + + + + r.no_thanks + + + + + grant_stick + m.grant_stick + + + r.bye + + + + + no_stick + m.no_stick + + + r.whatever + + + + + + + + Tier Guard/Base + + + Access + implementation.initial_action.condition.flags, + implementation.nodes[7].responses[0].action.actions[0].flags + + + + Required Star Value + implementation.initial_action.else_action.condition.conditions[0].rarity, + implementation.initial_action.else_action.condition.conditions[1].rarity, + implementation.initial_action.else_action.condition.conditions[2].rarity, + implementation.initial_action.else_action.condition.conditions[3].rarity, + implementation.nodes[1].condition.condition.rarity, implementation.nodes[2].condition.condition.rarity, + implementation.nodes[3].condition.condition.rarity, implementation.nodes[4].condition.condition.rarity + + + + Token Type + implementation.initial_action.else_action.condition.conditions[4].token_type, + implementation.nodes[5].condition.condition.token_type + + + + Number of Tokens + implementation.initial_action.else_action.condition.conditions[4].num_tokens, + implementation.nodes[5].condition.condition.num_tokens + + + + Message: Tier Req + implementation.nodes[0].message + + + Message: Armor Req + implementation.nodes[1].message + + + Message: Helm Req + implementation.nodes[2].message + + + Message: Shield Req + implementation.nodes[3].message + + + Message: Weapon Req + implementation.nodes[4].message + + + Message: Token Req + implementation.nodes[5].message + + + + + + + + + + have_requirements + m.tier_1_requirements + + + r.tier_equipment + + + + + armor_requirement + m.tier_1_armor + + + r.tier_what_else + + + r.tier_unequipped + + + helm_requirement + + + helm_requirement + m.tier_1_helm + + + r.tier_what_else + + + r.tier_unequipped + + + shield_requirement + + + shield_requirement + m.tier_1_shield + + + r.tier_what_else + + + r.tier_unequipped + + + weapon_requirement + + + weapon_requirement + m.tier_1_weapon + + + r.tier_what_else + + + r.tier_unequipped + + + token_requirement + + + token_requirement + m.tier_1_tokens + + + r.tier_what_else + + + r.tier_unequipped + + + all_requirement + + + all_requirement + m.tier_all_requirements + + + r.tier_again + + + r.tier_unequipped + + + + + meets_requirements + m.tier_meets_requirements + + + r.tier_accept + + + + + + + all_done + m.tier_done + + + r.tier_accept + + + + + + + + Tier Guard/Tier 1 + + + Tier Guard/Base + + Access + 1 + Message: Armor Req + m.tier_1_armor + Message: Helm Req + m.tier_1_helm + Message: Shield Req + m.tier_1_shield + Message: Tier Req + m.tier_1_requirements + Message: Token Req + m.tier_1_tokens + Message: Weapon Req + m.tier_1_weapon + Number of Tokens + 15 + Required Star Value + 2 + Token Type + 0 + + + + + + Tier Guard/Tier 2 + + + Tier Guard/Base + + Access + 2 + Message: Armor Req + m.tier_2_armor + Message: Helm Req + m.tier_2_helm + Message: Shield Req + m.tier_2_shield + Message: Tier Req + m.tier_2_requirements + Message: Token Req + m.tier_2_tokens + Message: Weapon Req + m.tier_2_weapon + Number of Tokens + 25 + Required Star Value + 4 + Token Type + 1 + + + + + + Travel/Base + + + Message + implementation.nodes[0].message + + + + Haven + + + Condition + implementation.nodes[0].responses[1].condition + + + + + + Enabled + + Condition + + + + + + + Disabled + + Condition + + + + + + + + Enabled + + + + + + desk + m.travel_destinations + + + r.travel_how_to + + + r.travel_to_haven + + + + + r.travel_to_moorcroft + + Town Pass/Moorcroft + + + + r.travel_to_emberlight + + Town Pass/Emberlight + + + + r.travel_close + + + + + travel_how_to + m.travel_how_to + + + r.travel_desk + + + + + + + + Travel/Emberlight + + + Travel/Base + + Haven + Enabled + Message + m.travel_destinations + + + + + + Travel/Haven + + + Travel/Base + + Haven + Disabled + Message + m.travel_destinations + + + + + + Travel/Moorcroft + + + Travel/Base + + Haven + Enabled + Message + m.travel_destinations + + + + + + Tutorial/AB Instructions + + false + + + part_1 + m.ab_instructions + + + r.end_module + + + + + + + + Tutorial/Charge Instructions + + false + + + part_1 + m.charge_instructions + + + r.end_module + + + + + + + + Tutorial/Clockworks + + false + + + part_1 + m.clockworks + + + r.end_module + + + + + + + + Tutorial/Friend Instructions + + false + + + part_1 + m.friend_instructions + + + r.end_module + + + + + + + + Tutorial/Party Pad + + false + + + part_1 + m.party_pad + + + r.end_module + + + + + + + + Tutorial/Rescue Agent Intro + + + part 1a + + + + part 1a + m.tut_intro_1a + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.tut_intro_1a + + + + + + + + Tutorial/Shop Instructions + + false + + + part_1 + m.shop_instructions + + + r.end_module + + + + + + + + Tutorial/Test Lobby + + false + + + part_1 + m.test_lobby + + + r.end_module + + + + + + + + Tutorial/Upgrader (test) + + false + + + part_1 + m.upgrader + + + r.end_module + + + + + + + + Tutorial/Welcome + + false + + + part_1 + m.welcome_instructions + + + r.end_module + + + + + + + + \ No newline at end of file diff --git a/custom-configs/fire_action.xml b/custom-configs/fire_action.xml new file mode 100644 index 0000000..2e76421 --- /dev/null +++ b/custom-configs/fire_action.xml @@ -0,0 +1,4378 @@ + + + + + + + Base/Damage Origin Transformed + + + Delay + implementation.delay + + + Shape + implementation.action.region.shape.shapes[0] + + + Damage + implementation.action.damage + + + Knock-Back + implementation.action.impulse_dealt + + + Impulse Origin Translation + implementation.action.impulse_translation + + + + + + + + + + + + + + + + + Base/Damage Region Transformed + + + Delay + implementation.delay + + + Shape + implementation.action.region.shape.shapes[0] + + + Damage + implementation.action.damage + + + + + + + + + + + + + + + + + Base/Default + + + Delay + implementation.delay + + + Action + implementation.action + + + + + Base/Fire Prefired + + + Delay + implementation.delay + + + Effect + implementation.action.effect + + + + false + + + Basic + + Lifespan + 1000 + Model + + particle/fx_gethit_monster.dat + + + + + + + + Base/Heal Source + + + Delay + implementation.delay + + + Current + implementation.action.current + + + Maximum + implementation.action.maximum + + + + + + + + + Base/Spawn Actor + + + Delay + implementation.delay + + + Actor + implementation.action.actor + + + + + Base/Spawn Actor (random 4-directional facing) + + + Actor + implementation.action.actions[0].action.actor, implementation.action.actions[1].action.actor, implementation.action.actions[2].action.actor, implementation.action.actions[3].action.actor + + + + + + + + + + + + + + + + + + + + + + + + + + + Base/Spawn Prespawned + + + Delay + implementation.delay + + + Actor + implementation.action.actor + + + Rotation + implementation.action.rotation + + + Rotation Variance + implementation.action.rotation_variance + + + + false + + + + + + Base/Spawn Relative Rotated Actor + + + Delay + implementation.delay + + + Actor + implementation.action.actor + + + Rotation + implementation.action.rotation + + + Rotation Variance + implementation.action.rotation_variance + + + + + true + + + + + Base/Spawn Rotated Actor + + + Delay + implementation.delay + + + Actor + implementation.action.actor + + + + + + + + + Base/Spawn Transformed Actor + + + Delay + implementation.delay + + + Actor + implementation.action.actor + + + Translation + implementation.action.translation + + + + + + + + + Base/Spawn Transformed-Rotated Actor + + + Delay + implementation.delay + + + Actor + implementation.action.actor + + + Translation + implementation.action.translation + + + Rotation + implementation.action.rotation + + + Rotation Variance + implementation.action.rotation_variance + + + Relative + implementation.action.relative + + + + + + + + + Base/Table Spawn + + + Delay + implementation.delay + + + Spawn Table + implementation.action.spawn_table + + + + + + + + + Base/Table Spawn (random 4-directional facing) + + + Spawn Table + implementation.action.actions[0].action.spawn_table, implementation.action.actions[1].action.spawn_table, implementation.action.actions[2].action.spawn_table, implementation.action.actions[3].action.spawn_table + + + + + + + + + + + + + + + + + + + + + + + + + + + Base/Warp + + + Delay + implementation.delay + + + Translation + implementation.action.translation + + + + + + + + + Base/Warp Behind Target + + + Delay + implementation.delay + + + Translation + implementation.action.translation + + + + + + + + + Block/Explosive Block - Explosion + + + + 1.0 + + + + + + Monster/Damage/Attack Base +05 + + 3 + true + ELEMENTAL + + Monster/Split/Split - Half + + + + + 133 + + + + + Character/Dev/Bad Dude + + 330 + + + + + 115.0 + 7 + + + 7 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Character/Dev/Jelly Damage + + + Delay + implementation.fire["Delay"] + + + Damage + implementation.fire["Damage"] + + + + + Base/Damage Origin Transformed + + Damage + + 4 + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 0.5 + + + 1.0, 0.0 + + + + + + + + Character/NPC/Monster/Boss/Swarm/Pulse + + + + Direction + + + Translation + implementation.action.actions[1].action.impulse_dealt.translation + + + Direction + implementation.action.actions[0].effect["Model"]["Transient"]["Direction"] + + + + + + Out + + Direction + Out + Translation + 5.0, 0.0 + + + + + In + + Direction + In + Translation + -3.0, 0.0 + + + + Out + + + + + + + + Basic + + Lifespan + 1500 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/world/block_ghost.ogg + Gain + 0.5 + Pitch adjust + Lower 3 + Range + Long + + + Transform + + 0.0, 0.0, 2.0 + + Transient + + character/npc/monster/swarm/parts/meta_wave.dat + + Direction + Out + + + + + + + + + + + 5.0, 0.0 + 1000 + 3 + + 8 + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/4 Bullet Spread (2) + + + Delay + implementation.delay + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Bullet + + Color + yellow + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Bullet + + Color + yellow + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Bullet + + Color + yellow + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Bullet + + Color + yellow + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/4 Bullet Spread (Diagonal) + + + Delay + implementation.delay + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Bullet + + Color + yellow + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Bullet + + Color + yellow + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Bullet + + Color + yellow + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Bullet + + Color + yellow + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/4 Bullet Spread (red) + + + Delay + implementation.delay + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Bullet + + Color + red + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Bullet + + Color + red + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Bullet + + Color + red + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Bullet + + Color + red + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Flame Wreckage + + + Delay + implementation.delay + + + Count + implementation.action.count + + + Fire Tiles + implementation.action.actor["Fire Tiles"] + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Falling Debri Marker + + Fire Tiles + 1 + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Oriented Bullet + + + Delay + implementation.delay + + + Rotation + implementation.action.rotation + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Bullet + + Color + yellow + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Shoulder Check + + + Delay + implementation.delay + + + Damage + implementation.action.damage + + + + + + + + 1.0 + 5 + + + + + 10.0, 0.0 + 800 + 3 + + -10.0, 0.0 + + + + + Character/NPC/Monster/Boss/Vanaduke/Smash + + + Delay + implementation.delay + + + Damage + implementation.action.damage + + + + 160 + + + + + 160.0 + 5 + + + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + 5.0, 0.0 + 500 + 7 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Actor at Marker + + + Delay + implementation.delay + + + Actor + implementation.action.actor + + + Translation + implementation.action.translation + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Flames + + + Orbit Radius + implementation.action.actions[0].actor["Orbit Radius"], implementation.action.actions[1].actor["Orbit Radius"], implementation.action.actions[2].actor["Orbit Radius"], implementation.action.actions[3].actor["Orbit Radius"] + + + Speed + implementation.action.actions[0].actor["Speed"], implementation.action.actions[1].actor["Speed"], implementation.action.actions[2].actor["Speed"], implementation.action.actions[3].actor["Speed"] + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (douse) + + Orbit Radius + 2.5 + Speed + 0.2 + Starting Rotation + 0.0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (douse) + + Orbit Radius + 2.5 + Speed + 0.2 + Starting Rotation + 1.5707964 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (douse) + + Orbit Radius + 2.5 + Speed + 0.2 + Starting Rotation + 3.1415927 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (douse) + + Orbit Radius + 2.5 + Speed + 0.2 + Starting Rotation + 4.712389 + + + + + + + + + Character/NPC/Monster/Construct/Lumber + + + Attack Shape + implementation.action.region.shape.shapes[1].shape + + + Damage + implementation.action.damage + + + Knock-Back + implementation.action.impulse_dealt + + + + 160 + + + + + 80.0 + 4 + + + + Stun + + Chance + 0.0 + Power + 0 + + + + + + + 4.0, 0.0 + 400 + 5 + + + + + + Character/NPC/Monster/Construct/Lumber/Clearing Swipe, Lumber + + 160 + + + + + 10.0 + + + + 131 + + 6.0, 0.0 + 600 + 5 + + + + + + Character/NPC/Monster/Construct/Lumber/Slam, Ironwood Sentinel + + + Attack Shape + implementation.action.region.shape.shapes[1].shape + + + Damage + implementation.action.damage + + + Knock-Back + implementation.action.impulse_dealt + + + + 160 + + + + + + + + + + + + + + + 80.0 + 4 + + + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + 131 + + 4.0, 0.0 + 400 + 5 + + + + + + Character/NPC/Monster/Construct/Lumber/Slam, Lumber + + + Attack Shape + implementation.action.actions[0].region.shape.shapes[1], implementation.action.actions[1].region.shape.shapes[0] + + + Status Damage + implementation.action.actions[0].damage.damages[1] + + + Knock-Back + implementation.action.actions[1].impulse_dealt + + + + 160 + + + + + + + + + + + + + + + + + + Monster/Damage/Attack Base +10 + + 4 + true + + + + + + 131 + + + + 4.0, 0.0 + 400 + 5 + + + + + + + + + + + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Scuttlebot Blast (base) + + + Delay + implementation.delay + + + Bullet + implementation.action.actions[0].actor, implementation.action.actions[1].actor, implementation.action.actions[2].actor + + + + 120 + + + + + Bullet/Monster/Scuttlebot Bullet + + Element + None + Status + None + + + + + + Bullet/Monster/Scuttlebot Bullet + + Element + None + Status + None + + + + + + Bullet/Monster/Scuttlebot Bullet + + Element + None + Status + None + + + + + + 4 + + + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Scuttlebot Bullet Damage (base) + + + Hit Model + implementation.action.actions[1].effect["Model"]["Transient"] + + + Hit Sound + implementation.action.actions[1].effect["Model"]["Sounder"]["File"] + + + Status + implementation.action.actions[0].damage.damages[1].status_condition + + + + 1 + + + + + + + + Monster/Damage/Attack Base -05 + + 4 + + + 4 + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/weapon/gran_faust_chit.ogg + Gain + 0.4 + Pitch adjust + Default + Range + Medium + + + Transform + + 0.0, 0.0, 0.6 + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Medium + color + yellow + + + + + + + + + + + + + Character/NPC/Monster/Construct/Tortodrone Damage + + + Delay + implementation.fire["Delay"] + + + Knock-Back + implementation.fire["Knock-Back"] + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base +05 + + 7 + true + + Delay + 0 + Impulse Origin Translation + -10.0, 0.0 + Knock-Back + + 6.0, 0.0 + 300 + 8 + + Shape + + + 1.25 + 2.2 + + + 2.2, 0.0 + + + + + + + + Character/NPC/Monster/Construct/Tortodrone Fist Pound + + + + + + + + + + + + Monster/Damage/Attack Base + + 7 + true + + + 7 + + Stun + + Chance + 0.75 + Power + 50 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + + 1.5, 0.0 + 100 + 3 + + + + + + + + + + + + + + Monster/Damage/Attack Base + + 7 + true + + + 7 + + Stun 2 + + Chance + 0.75 + Power + 50 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + + 1.5, 0.0 + 100 + 4 + + + + + + + + + + + + + + Monster/Damage/Attack Base + + 7 + true + + + 7 + + Stun 3 + + Chance + 0.75 + Power + 50 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + + 1.5, 0.0 + 100 + 5 + + + + + + + + + + + Character/NPC/Monster/Construct/Tortodrone Missile + + + Delay + implementation.delay + + + Translation + implementation.action.translation + + + Target + implementation.action.location + + + + + + Bomb/Monster/Tortodrone Missile + + + + + + Character/NPC/Monster/Construct/Tortodrone Punch Damage + + 10 + 100 + + + + + + Monster/Damage/Attack Base +05 + + 7 + true + + + 6.0, 0.0 + 300 + 8 + + -10.0, 0.0 + + + + + + + Character/NPC/Monster/Fake Damage + + + Delay + implementation.fire["Delay"] + + + + + Base/Damage Region Transformed + + Damage + + 0 + false + + Delay + 0 + Shape + + + -1000.0, 0.0 + + + + + + + + Character/NPC/Monster/Fiend/Darkhorse - Slam + + 160 + + + + + + Monster/Damage/Attack Base +10 + + 4 + true + + + + Monster/Damage/Attack Base -10 + + 2 + true + + + 4 + + Stun 2 + + Chance + 0.75 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + 5.0, 0.0 + 500 + 7 + + -1.0, 0.0 + + + + + Character/NPC/Monster/Fiend/Devilite (Manager) + + + Delay + implementation.delay + + + Actor + implementation.action.actions[0].actor + + + + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite Throw - Axe Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + + + + Character/NPC/Monster/Fiend/Devilite Throw - Bomb Damage + + + + + + + + + 4 + + Stun + + Chance + 0.25 + Power + 25 + + + + + + + + + + + + + 4 + + Stun 2 + + Chance + 0.25 + Power + 25 + + + + + + + + + + + + + 4 + + Stun 3 + + Chance + 0.25 + Power + 25 + + + + + + + + + + Bomb/Monster/Devilite Bomb + + + + + + + + Character/NPC/Monster/Fiend/Devilite Throw - Office Chair Damage + + + + + + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Stun + + Chance + 0.25 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Stun 2 + + Chance + 0.25 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Stun 3 + + Chance + 0.25 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite Throw - Office Equipment Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + + + + + + Character/NPC/Monster/Fiend/Devilite Throw - Pitchfork Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + PIERCING + + Monster/Split/Split - Full + + + + + + + Character/NPC/Monster/Fiend/Gold Trojan - Slam + + 160 + + + + + + Monster/Damage/Attack Base +10 + + 4 + true + + + + Monster/Damage/Attack Base -10 + + 2 + true + + + 4 + + Stun + + Chance + 0.75 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + 5.0, 0.0 + 500 + 7 + + -1.0, 0.0 + + + + + Character/NPC/Monster/Fiend/Knightmare - Slam + + 160 + + + + + + Monster/Damage/Attack Base +10 + + 4 + true + + + + Monster/Damage/Attack Base -10 + + 2 + true + + + 4 + + Stun 3 + + Chance + 0.75 + Power + 75 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + 5.0, 0.0 + 500 + 7 + + -1.0, 0.0 + + + + + Character/NPC/Monster/Fiend/Trojan - Slam + + 160 + + + + + + Monster/Damage/Attack Base +10 + + 4 + true + + + + Monster/Damage/Attack Base -10 + + 2 + true + + + 4 + + Stun + + Chance + 0.75 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + 5.0, 0.0 + 500 + 7 + + -1.0, 0.0 + + + + + Character/NPC/Monster/Fiend/Trojan ShoulderCheck + + + Delay + implementation.delay + + + + + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + + + 10.0, 0.0 + 800 + 3 + + -10.0, 0.0 + + + + + Character/NPC/Monster/Slime/Jelly Damage + + + Delay + implementation.fire["Delay"] + + + Damage Amount + implementation.fire["Damage"].amount + + + + + Base/Damage Origin Transformed + + Damage + + 4 + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 0.5 + + + 1.0, 0.0 + + + + + + + + Character/NPC/Monster/Slime/Lichen Damage + + + Delay + implementation.fire["Delay"] + + + Damage Scale + implementation.fire["Damage"].depth_scale + + + Damage Transform + implementation.fire["Shape"].transform + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base + + 4 + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 0.5 + + + 1.25, 0.0 + + + + + + + + Character/NPC/Monster/Slime/Lichen Merge + + + Character/NPC/Monster/Slime/Sloom Damage + + + Delay + implementation.fire["Delay"] + + + Damage Amount + implementation.fire["Damage"].damages[1].amount + + + Status Condition + implementation.fire["Damage"].damages[0].status_condition + + + + + Base/Damage Origin Transformed + + Damage + + + + 4 + + + 40.0 + 4 + + + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 0.5 + + + 1.25, 0.0 + + + + + + + + Character/NPC/Monster/Slime/Spawn Lichen Colony + + + Wave Tag + implementation.action.cases[0].action.actor["Wave Tag"], implementation.action.cases[1].action.actor["Wave Tag"], implementation.action.cases[2].action.actor["Wave Tag"], implementation.action.cases[3].action.actor["Wave Tag"], implementation.action.cases[4].action.actor["Wave Tag"], implementation.action.cases[5].action.actor["Wave Tag"], implementation.action.cases[6].action.actor["Wave Tag"], implementation.action.cases[7].action.actor["Wave Tag"], implementation.action.cases[8].action.actor["Wave Tag"], implementation.action.cases[9].action.actor["Wave Tag"], implementation.action.cases[10].action.actor["Wave Tag"], implementation.action.cases[11].action.actor["Wave Tag"], implementation.action.cases[12].action.actor["Wave Tag"], implementation.action.cases[13].action.actor["Wave Tag"], implementation.action.cases[14].action.actor["Wave Tag"], implementation.action.cases[15].action.actor["Wave Tag"], implementation.action.cases[16].action.actor["Wave Tag"], implementation.action.cases[17].action.actor["Wave Tag"], implementation.action.cases[18].action.actor["Wave Tag"], implementation.action.cases[19].action.actor["Wave Tag"], implementation.action.default_action.actor["Wave Tag"] + + + + + + + + + Bomb/Monster/Lichen Colony + + Size + 2 + Wave Tag + (Wave Tag) + + + + + + + + Bomb/Monster/Lichen Colony + + Size + 3 + Wave Tag + (Wave Tag) + + + + + + + + Bomb/Monster/Lichen Colony + + Size + 4 + Wave Tag + (Wave Tag) + + + + + + + + Bomb/Monster/Lichen Colony + + Size + 5 + Wave Tag + (Wave Tag) + + + + + + + + Bomb/Monster/Lichen Colony + + Size + 6 + Wave Tag + (Wave Tag) + + + + + + + + Bomb/Monster/Lichen Colony + + Size + 7 + Wave Tag + (Wave Tag) + + + + + + + + Bomb/Monster/Lichen Colony + + Size + 8 + Wave Tag + (Wave Tag) + + + + + + + + Bomb/Monster/Lichen Colony + + Size + 9 + Wave Tag + (Wave Tag) + + + + + + + + Bomb/Monster/Large Lichen Colony + + Size + 10 + Wave Tag + + + + + + + + + Bomb/Monster/Large Lichen Colony + + Size + 11 + Wave Tag + + + + + + + + + Bomb/Monster/Large Lichen Colony + + Size + 12 + Wave Tag + + + + + + + + + Bomb/Monster/Large Lichen Colony + + Size + 13 + Wave Tag + + + + + + + + + Bomb/Monster/Large Lichen Colony + + Size + 14 + Wave Tag + + + + + + + + + Bomb/Monster/Large Lichen Colony + + Size + 15 + Wave Tag + + + + + + + + + Bomb/Monster/Giant Lichen Colony + + Size + 16 + Wave Tag + + + + + + + + + Bomb/Monster/Giant Lichen Colony + + Size + 17 + Wave Tag + + + + + + + + + Bomb/Monster/Giant Lichen Colony + + Size + 18 + Wave Tag + + + + + + + + + Bomb/Monster/Giant Lichen Colony + + Size + 19 + Wave Tag + + + + + + + + + Bomb/Monster/Giant Lichen Colony + + Size + 20 + Wave Tag + + + + + + + + + Bomb/Monster/Giant Lichen Colony + + Size + 21 + Wave Tag + + + + + + + + + Bomb/Monster/Giant Lichen Colony + + Size + 21 + Wave Tag + + + + + + + + + Character/NPC/Monster/Undead/Deadnought/Deadnought, Charge + + + Status Attack + implementation.action.actions[0].damage.damages[1].status_condition + + + + 1 + 120 + + + + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + + + 1.0, 0.0 + + + 0.6, 0.0 + + 2.0, 0.0 + 200 + + + + + + + + Character/NPC/Monster/Undead/Deadnought/Deadnought, Skewer + + + Status Attack + implementation.action.actions[0].damage.damages[1].status_condition + + + + 400 + false + + + + + + + + Monster/Damage/Attack Base +10 + + 4 + true + + + 4 + + + + 131 + 1.0, 0.0 + + + + 6.0, 0.0 + 400 + 5 + + + + + + + + Character/NPC/Monster/Undead/Dust Zombie + + + Delay + implementation.fire["Delay"] + + + Damage + implementation.fire["Damage"] + + + Knock Back + implementation.fire["Knock-Back"] + + + + + Base/Damage Origin Transformed + + Damage + + + + 4 + + + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + -1.0, 0.0 + 140 + 2 + + Shape + + + 0.75 + + + 0.75, 0.0 + + + + + + + + Character/NPC/Player Faction/Turret, Auto/Railgun beam + + + Damage Amount + implementation.action.damage.amount + + + + + + 10.0 + 2 + true + + + 6.0, 0.0 + 400 + 5 + + + + + + Character/NPC/Player Faction/Turret, Auto/Vulcan Spray + + + Delay + implementation.delay + + + + false + + + + + Basic + + Lifespan + 1000 + Model + + particle/fx_gun_vulcan_shot.dat + + + + + + + Debug/Flash Shape + + Shape + + + + + 8.0 + 8.0 + + + 0.0, -5.5 + 0.013707784 + + + + + + + + + + + + + 2.0 + 2 + + + + + + + + + + + Character/NPC/Talk, word balloon/Random (1) + + + Character Name + implementation.action.actions[0].actions[0].action.effect["Model"]["Name"] + + + Text 1 + implementation.action.actions[0].actions[0].action.effect["Model"]["Text"] + + + Transform + implementation.action.actions[0].actions[0].action.effect["Model"]["Transform"] + + + Lifespan + implementation.action.actions[0].actions[0].action.effect["Lifespan"] + + + + + + + + + + + Basic + + Lifespan + 2000 + Model + + model/compound/npcchat/model.dat + + Name + Cherub + Text + Chef Knight LFG! Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam aliquam porta risus, eget venenatis sapien fermentum eu. + Transform + + 0.0, 0.0, 1.5 + + + + + + + + + + + + + + + Character/NPC/Talk, word balloon/Random (2) + + + Character Name + implementation.action.actions[0].actions[0].action.effect["Model"]["Name"], implementation.action.actions[0].actions[1].action.effect["Model"]["Name"] + + + Text 1 + implementation.action.actions[0].actions[0].action.effect["Model"]["Text"] + + + Text 2 + implementation.action.actions[0].actions[1].action.effect["Model"]["Text"] + + + Transform + implementation.action.actions[0].actions[0].action.effect["Model"]["Transform"], implementation.action.actions[0].actions[1].action.effect["Model"]["Transform"] + + + Lifespan + implementation.action.actions[0].actions[0].action.effect["Lifespan"], implementation.action.actions[0].actions[1].action.effect["Lifespan"] + + + + + + + + + + + Basic + + Lifespan + 2000 + Model + + model/compound/npcchat/model.dat + + Name + Cherub + Text + Chef Knight LFG! Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam aliquam porta risus, eget venenatis sapien fermentum eu. + Transform + + 0.0, 0.0, 1.5 + + + + + + + + + + + Basic + + Lifespan + 2000 + Model + + model/compound/npcchat/model.dat + + Name + Cherub + Text + Chef Knight LFG! Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam aliquam porta risus, eget venenatis sapien fermentum eu. + Transform + + 0.0, 0.0, 1.5 + + + + + + + + + + + + + + + Character/NPC/Talk, word balloon/Random (3) + + + Character Name + implementation.action.actions[0].actions[0].action.effect["Model"]["Name"], implementation.action.actions[0].actions[1].action.effect["Model"]["Name"], implementation.action.actions[0].actions[2].action.effect["Model"]["Name"] + + + Text 1 + implementation.action.actions[0].actions[0].action.effect["Model"]["Text"] + + + Text 2 + implementation.action.actions[0].actions[1].action.effect["Model"]["Text"] + + + Text 3 + implementation.action.actions[0].actions[2].action.effect["Model"]["Text"] + + + Transform + implementation.action.actions[0].actions[0].action.effect["Model"]["Transform"], implementation.action.actions[0].actions[1].action.effect["Model"]["Transform"], implementation.action.actions[0].actions[2].action.effect["Model"]["Transform"] + + + Lifespan + implementation.action.actions[0].actions[0].action.effect["Lifespan"], implementation.action.actions[0].actions[1].action.effect["Lifespan"], implementation.action.actions[0].actions[2].action.effect["Lifespan"] + + + + + + + + + + + Basic + + Lifespan + 2000 + Model + + model/compound/npcchat/model.dat + + Name + Cherub + Text + Chef Knight LFG! Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam aliquam porta risus, eget venenatis sapien fermentum eu. + Transform + + 0.0, 0.0, 1.5 + + + + + + + + + + + Basic + + Lifespan + 2000 + Model + + model/compound/npcchat/model.dat + + Name + Cherub + Text + Chef Knight LFG! Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam aliquam porta risus, eget venenatis sapien fermentum eu. + Transform + + 0.0, 0.0, 1.5 + + + + + + + + + + + Basic + + Lifespan + 2000 + Model + + model/compound/npcchat/model.dat + + Name + Cherub + Text + Chef Knight LFG! Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam aliquam porta risus, eget venenatis sapien fermentum eu. + Transform + + 0.0, 0.0, 1.5 + + + + + + + + + + + + + + + Item/Gear/Shield/PushBack (Base) + + + + Knock-Back Power + + + KB + implementation.action.action.action.actions[1].impulse_dealt + + + + + + 1 + + KB + + 3.0, 0.0 + 400 + + + + + + 2 + + KB + + 3.5, 0.0 + 500 + 2 + + + + + + 3 + + KB + + 4.0, 0.0 + 600 + 3 + + + + + + 4 + + KB + + 4.5, 0.0 + 700 + 4 + + + + + + 5 + + KB + + 5.0, 0.0 + 800 + 5 + + + + + 3 + + + + + + + + 2 + + + + + 1.1 + + + + + com.threerings.projectx.dungeon.server.logic.MonsterLogic + + + + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + particle/shield/fx_shieldpush.dat + + + + + + + + + + 6 + + + true + + + + + + + Item/Gear/Shield/PushBack (Base) (Old) + + + Cooldown + implementation.action.action.condition.time + + + Radius + implementation.action.action.action.actions[1].region.shape.radius, implementation.action.condition.first.shape.radius + + + Damage + implementation.action.action.action.actions[1].damage.damages[2] + + + + Knock-Back Power + + + KB + implementation.action.action.action.actions[1].impulse_dealt + + + + + + 1 + + KB + + 3.0, 0.0 + 400 + + + + + + 2 + + KB + + 3.5, 0.0 + 500 + 2 + + + + + + 3 + + KB + + 4.0, 0.0 + 600 + 3 + + + + + + 4 + + KB + + 4.5, 0.0 + 700 + 4 + + + + + + 5 + + KB + + 5.0, 0.0 + 800 + 5 + + + + + 3 + + + + + + + + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + particle/shield/fx_shieldpush.dat + + + + + + + + + + + + + 2 + true + + + 2 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + 4.0, 0.0 + 600 + 3 + + + + true + + + + + + + Traps and Hazards/Shadowfire + + + Traps and Hazards/Status Trap, floor + + + + Status Infliction + + + Tier 1 + implementation.action.actions[0].action.actions[0].damage.damages[1].status_condition + + + Tier 2 + implementation.action.actions[1].action.actions[0].damage.damages[1].status_condition + + + Tier 3 + implementation.action.actions[2].action.actions[0].damage.damages[1].status_condition + + + + + + Fire + + Tier 1 + + Fire + + Chance + 0.85 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 2 + + Fire 2 + + Chance + 0.85 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 3 + + Fire 3 + + Chance + 0.85 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Freeze + + Tier 1 + + Freeze + + Chance + 0.85 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 2 + + Freeze 2 + + Chance + 0.85 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 3 + + Freeze 3 + + Chance + 0.85 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Poison + + Tier 1 + + Poison + + Chance + 0.85 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 2 + + Poison 2 + + Chance + 0.85 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 3 + + Poison 3 + + Chance + 0.85 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Shock + + Tier 1 + + Shock + + Chance + 0.85 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 2 + + Shock 2 + + Chance + 0.85 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 3 + + Shock 3 + + Chance + 0.85 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Fire + + + + Damage Size + + + Damage Region + implementation.action.actions[0].action.actions[0].region.shape, implementation.action.actions[1].action.actions[0].region.shape, implementation.action.actions[2].action.actions[0].region.shape + + + + + + 1x1 + + Damage Region + + 0.5 + 0.5 + + + + + + 1x2 + + Damage Region + + 1.5 + 0.5 + + + + + + 2x1 + + Damage Region + + 0.5 + 1.5 + + + + + + 2x2 + + Damage Region + + 1.5 + 1.5 + + + + + + 2x3 + + Damage Region + + 2.5 + 1.5 + + + + + + 2x4 + + Damage Region + + 3.5 + 1.5 + + + + + + 2x5 + + Damage Region + + 4.5 + 1.5 + + + + + + 2x6 + + Damage Region + + 5.5 + 1.5 + + + + + + 3x2 + + Damage Region + + 1.5 + 2.5 + + + + + + 3x3 + + Damage Region + + 2.5 + 2.5 + + + + + + 3x4 + + Damage Region + + 3.5 + 2.5 + + + + + + 4x2 + + Damage Region + + 1.5 + 3.5 + + + + + + 4x3 + + Damage Region + + 2.5 + 3.5 + + + + + + 4x4 + + Damage Region + + 3.5 + 3.5 + + + + + + 4x6 + + Damage Region + + 5.5 + 3.5 + + + + + + 5x2 + + Damage Region + + 1.5 + 4.5 + + + + + + 5x3 + + Damage Region + + 2.5 + 4.5 + + + + + + 5x4 + + Damage Region + + 3.5 + 4.5 + + + + + + 5x5 + + Damage Region + + 4.5 + 4.5 + + + + + + 6x2 + + Damage Region + + 1.5 + 5.5 + + + + + + 6x3 + + Damage Region + + 2.5 + 5.5 + + + + + + 6x4 + + Damage Region + + 3.5 + 5.5 + + + + + + 6x6 + + Damage Region + + 5.5 + 5.5 + + + + + 2x2 + + + + + + + + + + + + + + + + + + Monster/Damage/Attack Base -05 + + 8 + ELEMENTAL + + Monster/Split/Split - Full + + + + 8 + + + + + + + + + + + + + + + + + + + + Monster/Damage/Attack Base -05 + + 8 + ELEMENTAL + + Monster/Split/Split - Full + + + + 8 + + + + + + + + + + + + + + + + + + + + Monster/Damage/Attack Base -05 + + 8 + ELEMENTAL + + Monster/Split/Split - Full + + + + 8 + + + + + + + + + + + + + Traps and Hazards/Trap, floor + + + Split Damage Type + implementation.action.actions[0].action.actions[0].damage.damages[0].type2, implementation.action.actions[1].action.actions[0].damage.damages[0].type2, implementation.action.actions[2].action.actions[0].damage.damages[0].type2 + + + + Status Infliction + + + Tier 1 + implementation.action.actions[0].action.actions[0].damage.damages[1].status_condition + + + Tier 2 + implementation.action.actions[1].action.actions[0].damage.damages[1].status_condition + + + Tier 3 + implementation.action.actions[2].action.actions[0].damage.damages[1].status_condition + + + + + + Fire + + Tier 1 + + Fire + + Chance + 0.85 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 2 + + Fire 2 + + Chance + 0.85 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 3 + + Fire 3 + + Chance + 0.85 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Freeze + + Tier 1 + + Freeze + + Chance + 0.85 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 2 + + Freeze 2 + + Chance + 0.85 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 3 + + Freeze 3 + + Chance + 0.85 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Poison + + Tier 1 + + Poison + + Chance + 0.85 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 2 + + Poison 2 + + Chance + 0.85 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 3 + + Poison 3 + + Chance + 0.85 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Shock + + Tier 1 + + Shock + + Chance + 0.85 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 2 + + Shock 2 + + Chance + 0.85 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 3 + + Shock 3 + + Chance + 0.85 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + None + + Tier 1 + + Tier 2 + + Tier 3 + + + + + Fire + + + + Damage Size + + + Damage Region + implementation.action.actions[0].action.actions[0].region.shape, implementation.action.actions[1].action.actions[0].region.shape, implementation.action.actions[2].action.actions[0].region.shape + + + + + + 1x1 + + Damage Region + + 0.5 + 0.5 + + + + + + 1x2 + + Damage Region + + 1.5 + 0.5 + + + + + + 2x1 + + Damage Region + + 0.5 + 1.5 + + + + + + 2x2 + + Damage Region + + 1.5 + 1.5 + + + + + + 2x3 + + Damage Region + + 2.5 + 1.5 + + + + + + 2x4 + + Damage Region + + 3.5 + 1.5 + + + + + + 2x5 + + Damage Region + + 4.5 + 1.5 + + + + + + 2x6 + + Damage Region + + 5.5 + 1.5 + + + + + + 3x2 + + Damage Region + + 1.5 + 2.5 + + + + + + 3x3 + + Damage Region + + 2.5 + 2.5 + + + + + + 3x4 + + Damage Region + + 3.5 + 2.5 + + + + + + 4x2 + + Damage Region + + 1.5 + 3.5 + + + + + + 4x3 + + Damage Region + + 2.5 + 3.5 + + + + + + 4x4 + + Damage Region + + 3.5 + 3.5 + + + + + + 4x6 + + Damage Region + + 5.5 + 3.5 + + + + + + 5x2 + + Damage Region + + 1.5 + 4.5 + + + + + + 5x3 + + Damage Region + + 2.5 + 4.5 + + + + + + 5x4 + + Damage Region + + 3.5 + 4.5 + + + + + + 5x5 + + Damage Region + + 4.5 + 4.5 + + + + + + 6x2 + + Damage Region + + 1.5 + 5.5 + + + + + + 6x3 + + Damage Region + + 2.5 + 5.5 + + + + + + 6x4 + + Damage Region + + 3.5 + 5.5 + + + + + + 6x6 + + Damage Region + + 5.5 + 5.5 + + + + + 2x2 + + + + + + + + + + + + + + + + + + Monster/Damage/Attack Base -05 + + 8 + ELEMENTAL + + Monster/Split/Split - Full + + + + 8 + + + + + + + + + + + + + + + + + + + + Monster/Damage/Attack Base -05 + + 8 + ELEMENTAL + + Monster/Split/Split - Full + + + + 8 + + + + + + + + + + + + + + + + + + + + Monster/Damage/Attack Base -05 + + 8 + ELEMENTAL + + Monster/Split/Split - Full + + + + 8 + + + + + + + + + + + + + \ No newline at end of file diff --git a/custom-configs/ground.xml b/custom-configs/ground.xml new file mode 100644 index 0000000..ac3873c --- /dev/null +++ b/custom-configs/ground.xml @@ -0,0 +1,25 @@ + + + + + + + Ground Test + + + + + + + + + + + + + \ No newline at end of file diff --git a/custom-configs/placeable.xml b/custom-configs/placeable.xml new file mode 100644 index 0000000..8382edb --- /dev/null +++ b/custom-configs/placeable.xml @@ -0,0 +1,27971 @@ + + + + + + + Actor 1x1 + + + Actor + implementation.handlers[0].action.actor, implementation.model["Preview"]["Actor"] + + + + + editor/marker/monster_wave/model.dat + + Colorization + 257 + Preview + + model/wrapper/actorwrapper.dat + + Actor + + + + Wave Number + + + + + + + + + + + + + Camera/Default + + + Transition + implementation.model["Model"]["Transition"] + + + Easing + implementation.model["Model"]["Easing"] + + + Camera + implementation.model["Model"]["Camera"] + + + Extent - X axis + implementation.model["Model"]["Extent"].size_x, implementation.shape.width + + + Extent - Y axis + implementation.model["Model"]["Extent"].size_y, implementation.shape.height + + + Extent - Z axis + implementation.model["Model"]["Extent"].size_z + + + + + model/compound/marked.dat + + Marker Model + + editor/marker/vertex/model.dat + + Model + + world/environment/bounded_camera.dat + + Camera + + + Easing + + + Extent + + 5.0 + + Transition + 0.0 + + + + + + + 0 + 0 + + + + Camera/Fog Influencer + + + Fog + implementation.model["Model"]["State"] + + + Shape Extent + implementation.shape + + + + + model/compound/marked.dat + + Marker Model + + editor/marker/vertex/model.dat + + Model + + world/environment/global_fog.dat + + State + + 12.0 + 24.0 + + + + + + + + 0 + 0 + + + + Character/Dev/Dummy Knight + + + Actor + implementation.handlers[0].action.actor + + + + + editor/billboardknight/model.dat + + + 0.333 + + + + + + Character/Dev/Dummy Knight + + + + + + + + Character/Dev/Shooter + + + Bullet + implementation.handlers[0].action.actor["Bullet"] + + + Interval + implementation.handlers[0].action.actor["Interval"] + + + Tags + implementation.handlers[0].action.actor["Tags"] + + + HP + implementation.handlers[0].action.actor["HP"] + + + + + character/npc/monster/gunpuppy/model.dat + + variant + gold + + + + 0.49 + + + + + + Character/Dev/Shooter + + Bullet + + Bullet/Handgun/Blaster + + HP + 25 + Interval + 1.0 + Tags + Tag! + + + + + + + + + Character/Dev/Talkative Stranger + + + character/npc/stranger/model.dat + + Hat + + character/npc/stranger/hat_mining/model.dat + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + + + + + + + Character/Dev/Talkative Stranger (test) + + Hat + + character/npc/stranger/hat_mining/model.dat + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + + + + + + + + + Character/Knight/Crew, general + + + Actor + implementation.handlers[0].action.actor + + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Gear + Empty + Helmet + Pig Nose + Pack + None + + + + + + + + + + Character/Knight/Crew, table + + + Table + implementation.handlers[0].action.spawn_table + + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Gear + Empty + Helmet + Hood + Pack + None + + + + + + + + + + + + Character/Monster/Beast/Alpha Wolver + + + character/npc/monster/wolver/model.dat + + Aura + + Variant + Wolver Alpha + + + + + + + Monster/Single Family/Beast/Alpha Wolver + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Beast/Ash Tail + + + character/npc/monster/wolver/model.dat + + Aura + + Variant + Ash + + + + + + + Monster/Single Family/Beast/Ash Tail + + Wave Tag + (Wave Tag) + + + + + + + + + Character/Monster/Beast/Chromalisk + + + character/npc/monster/chromalisk/chromalisk_body.dat + + + + + + Monster/Single Family/Beast/Chromalisk + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Beast/Chromalisk Whelp + + + character/npc/monster/chromalisk/chromalisk_body.dat + + + + + + Monster/Single Family/Beast/Chromalisk Whelp + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Beast/Chromalisk Whelp (Tut) + + + character/npc/monster/chromalisk/chromalisk_body.dat + + + + + + Monster/Tutorial/Intro/Chromalisk Whelp + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Beast/Kleptolisk + + + character/npc/monster/chromalisk/chromalisk_body.dat + + + + + + Monster/Single Family/Beast/Kleptolisk + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Beast/Skollver + + + character/npc/monster/wolver/model.dat + + Aura + + Variant + Wolver Alpha + + + + + + + Monster/Single Family/Beast/Scaled - Skolver + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Character/Monster/Beast/Virulisk + + + character/npc/monster/chromalisk/chromalisk_body.dat + + + + + + Monster/Single Family/Beast/Virulisk + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Beast/Wolver + + + character/npc/monster/wolver/model.dat + + Aura + + Variant + Wolver + + + + + + + Monster/Single Family/Beast/Wolver + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Boss/Swarm + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + editor/marker/vertex/model.dat + + + 3.0 + 0.0, 0.0, 0.1 + + + + + character/npc/monster/swarm/parts/ambient_core.dat + + + 0.5 + + + + + + + + + + + Character/NPC/Monster/Boss/Swarm/Swarm + + + + + + + + + Character/Monster/Boss/Vanaduke + + + character/npc/monster/baron/model.dat + + Sheen + Stage1 + Variant + Masked + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Vanaduke Start + + + + + + + + Character/Monster/Construct/Gold Gun Puppy + + + character/npc/monster/gunpuppy/model.dat + + variant + gold + + + + 0.425 + + + + + + Monster/Single Family/Construct/Gold Gun Puppy + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Construct/Gun Puppy + + + character/npc/monster/gunpuppy/model.dat + + variant + green + + + + 0.425 + + + + + + Monster/Single Family/Construct/Gun Puppy + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Construct/Lumber + + + character/npc/monster/lumber/lumber.dat + + + 0.64 + + + + + + Monster/Single Family/Construct/Scaled - Lumber + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Construct/NPC/Energy Knight + + + Actor + implementation.handlers[0].action.actor + + + + + character/npc/monster/mechaknight/model.dat + + Shield + + Weapon + + variant + energy + + + + + + + + + + Character/Monster/Construct/Rocket Puppy + + + character/npc/monster/rocketpuppy/model.dat + + variant + green + + + + 0.425 + + + + + + Monster/Single Family/Construct/Rocket Puppy + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Construct/Tortodrone + + + Wave Tag + implementation.handlers[0].action.spawn_table["Wave Tag"] + + + + + character/npc/monster/tortodrone/tortodrone.dat + + Variant + Idle + + + + + + + Monster/Single Family/Construct/Tortodrone + + Wave Tag + (Wave Tag) + + + + + + + + + Character/Monster/Fiend/Devilite + + + character/npc/monster/devilite/worker_model.dat + + Variant + Worker + Weapon Left + + Weapon Right + + + + + + + + Monster/Single Family/Fiend/Devilite + + Wave Tag + (Wave Tag) + + + + + + + + + Character/Monster/Fiend/Devilite (Manager) + + + character/npc/monster/devilite/model_manager.dat + + Weapon Left + + item/weapon/npc/devilite/model_clipboard.dat + + Weapon Right + + item/weapon/npc/devilite/model_coffee.dat + + + + + + + + Monster/Single Family/Fiend/Scaled - Pit Boss + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Character/Monster/Fiend/Gold Trojan + + + Actor + implementation.handlers[0].action.actor + + + + + character/npc/monster/darkknight/model.dat + + variant + gold + + + + + + + Character/NPC/Monster/Fiend/Gold Trojan/Gold Trojan + + Patrol Tag + (Patrol Tag) + Wave Tag + (Wave Tag) + + + + + + + + + Character/Monster/Fiend/Silkwing + + + character/npc/monster/silkwing/model.dat + + Variant + Dark + + + + 0.4 + + + + + + Monster/Single Family/Fiend/Silkwing + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Fiend/Trojan + + + character/npc/monster/darkknight/model.dat + + variant + trojan + + + + + + + Monster/Single Family/Fiend/Trojan + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Generic/Chance Spawn + + + Spawn Tag + implementation.placeable["Tag"] + + + Spawn Table + implementation.placeable["Action"].spawn_table, implementation.placeable["Model"]["Preview"]["Spawn + Table"] + + + Wave Number + implementation.placeable["Model"]["Wave Number"] + + + + + Trigger/One Time Action + + Action + + + Model + + editor/marker/monster_wave/model.dat + + Colorization + 263 + Preview + + model/wrapper/spawntablewrapper.dat + + Spawn Table + + + + Wave Number + + + + Tag + (Monster Spawn) + + + + + + Character/Monster/Generic/Class Spawn + + + Spawn Tag + implementation.placeable["Tag"] + + + Spawn Table + implementation.placeable["Action"].spawn_table, implementation.placeable["Model"]["Preview"]["Spawn + Table"] + + + Wave Number + implementation.placeable["Model"]["Wave Number"] + + + + + Trigger/One Time Action + + Action + + + Model + + editor/marker/monster_wave/model.dat + + Colorization + 263 + Preview + + model/wrapper/spawntablewrapper.dat + + Spawn Table + + + + Wave Number + + + + Tag + (Monster Spawn) + + + + + + Character/Monster/Generic/Rare Spawn + + + Spawn Tag + implementation.placeable["Tag"] + + + Spawn Table + implementation.placeable["Action"].spawn_table, implementation.placeable["Model"]["Preview"]["Spawn + Table"] + + + Wave Number + implementation.placeable["Model"]["Wave Number"] + + + + + Trigger/One Time Action + + Action + + + Model + + editor/marker/monster_wave/model.dat + + Colorization + 268 + Preview + + model/wrapper/spawntablewrapper.dat + + Spawn Table + + + + Wave Number + + + + Tag + (Monster Spawn) + + + + + + Character/Monster/Generic/Single Spawn + + + Spawn Tag + implementation.placeable["Tag"] + + + Spawn Table + implementation.placeable["Action"].spawn_table, implementation.placeable["Model"]["Preview"]["Spawn Table"] + + + Wave Number + implementation.placeable["Model"]["Wave Number"] + + + + + Trigger/One Time Action + + Action + + + Model + + editor/marker/monster_wave/model.dat + + Colorization + 259 + Preview + + model/wrapper/spawntablewrapper.dat + + Spawn Table + + + + Wave Number + + + + Tag + (Monster Spawn) + + + + + + Character/Monster/Generic/Subset Spawn + + + Tag + implementation.tags.tags[0] + + + Wave Number + implementation.model["Wave Number"] + + + + + editor/marker/monster_wave/model.dat + + Colorization + 274 + Preview + + Wave Number + + + + + (tag 1) + + + + + Character/Monster/Generic/Wave Spawn + + + Spawn Tag + implementation.placeable["Tag"] + + + Spawn Table + implementation.placeable["Action"].spawn_table, implementation.placeable["Model"]["Preview"]["Spawn Table"] + + + Wave Number + implementation.placeable["Model"]["Wave Number"] + + + + + Trigger/One Time Action + + Action + + + Model + + editor/marker/monster_wave/model.dat + + Colorization + 261 + Preview + + model/wrapper/spawntablewrapper.dat + + Spawn Table + + + + Wave Number + + + + Tag + (Spawn Tag) + + + + + + Character/Monster/Gremlin/Ironclaw Demo + + + character/npc/monster/gremlin/demo/model.dat + + Weapon + + item/weapon/npc/mine_windup/model.dat + + Variant + Orange + + + variant + pink + + + + + + + Monster/Single Family/Gremlin/Ironclaw Demo + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Gremlin/Ironclaw Mender + + + character/npc/monster/gremlin/mender/model.dat + + variant + pink + + + + + + + Monster/Single Family/Gremlin/Ironclaw Mender + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Gremlin/Ironclaw Thwacker + + + character/npc/monster/gremlin/thwacker/model.dat + + variant + pink + + + + + + + Monster/Single Family/Gremlin/Ironclaw Thwacker + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Slime/Blast Cube + + + character/npc/monster/blastcube/model.dat + + Variant + Blast Cube + + + + + + + Monster/Single Family/Slime/Blast Cube + + + + + + + + Character/Monster/Slime/Brute Cube + + + character/npc/monster/jellycube/model.dat + + Trail + + variant + blue + + + + + + + Monster/Single Family/Slime/Brute Cube + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Slime/Jelly Cube + + + character/npc/monster/jellycube/model.dat + + Trail + + variant + pink + + + + + + + Monster/Single Family/Slime/Jelly Cube + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Slime/Jelly Cube (Tut) + + + character/npc/monster/jellycube/model.dat + + Trail + + variant + pink + + + + + + + Monster/Tutorial/Intro/Jelly Cube + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Slime/Jelly Green Giant + + + character/npc/monster/jellycube/model.dat + + Trail + + variant + green + + + + + + + Monster/Single Family/Slime/Jelly Green Giant + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Slime/Soul Jelly + + + character/npc/monster/souljelly/model.dat + + + + + + Monster/Single Family/Slime/Soul Jelly + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Slime/Toxigel + + + character/npc/monster/lichen/model.dat + + Core + + character/npc/monster/lichen/ambient_cores.dat + + Core Count + 1 + Size + 0.12 + + + Variant + toxigel + + + + 0.4 + + + + + + Monster/Single Family/Slime/Toxigel + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Undead/Black Kat + + + character/npc/monster/spookat/model.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.2 + Range + Short + + + variant + black + + + + + + + Monster/Single Family/Undead/Black Kat + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Undead/Bloogato + + + character/npc/monster/spookat/model.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.2 + Range + Short + + + variant + blue + + + + + + + Monster/Single Family/Undead/Scaled - Bloogato + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Undead/Dust Zombie + + + character/npc/monster/zombie/model.dat + + Variant + Dust + + + + 0.6 + + + + + + Monster/Single Family/Undead/Dust Zombie + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Undead/Hurkat + + + character/npc/monster/spookat/model.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.2 + Range + Short + + + variant + green + + + + + + + Monster/Single Family/Undead/Scaled - Hurkat + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Undead/Mewkat + + + character/npc/monster/spookat/model.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.6 + Range + Short + + + variant + white + + + + + + + Monster/Single Family/Undead/Mewkat + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Undead/NPC/Spookat + + + Actor + implementation.handlers[0].action.actor + + + + + character/npc/monster/spookat/model.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.2 + Range + Medium + + + variant + pink + + + + + + + + + + Character/Monster/Undead/Spookat + + + character/npc/monster/spookat/model.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 4.0 + Range + Short + + + variant + pink + + + + + + + Monster/Single Family/Undead/Spookat + + Tag + (Wave Tag) + + + + + + + + + Character/Snipe/Snipe, Fly + + + Color 1 + implementation.handlers[0].action.actor["Color 1"], implementation.model["Color 1"] + + + Scale + implementation.handlers[0].action.actor["Scale"] + + + + + character/npc/snipe/parts/model_lowres.dat + + Color 1 + 1289 + + + + 0.4 + + + + + + Character/NPC/Snipe/Snipe, Fly + + Color 1 + 1289 + Scale + 1.0 + + + + + + + + + Character/Snipe/Snipe, Walk + + + Color 1 + implementation.handlers[0].action.actor["Color 1"], implementation.model["Color 1"] + + + Scale + implementation.handlers[0].action.actor["Scale"] + + + + + character/npc/snipe/parts/model_lowres.dat + + Color 1 + 1291 + + + + 0.33 + + + + + + Character/NPC/Snipe/Snipe, Walk + + Color 1 + 1291 + Scale + 1.0 + + + + + + + + + Character/Sprite/Nature Sprite (Cursed) + + + character/npc/sprite/model.dat + + Variant + Cursed + + + + + + + Character/NPC/Nature Sprite/Nature Sprite (Cursed) + + Wave Tag + (Wave Tag) + + + + + + + + + Character/Sprite/Nature Sprite (Wander) + + + character/npc/sprite/model.dat + + Variant + Wolver + + + + + + + Character/NPC/Nature Sprite/Nature Sprite (Wander) + + Wave Tag + (Wave Tag) + + + + + + + + + Character/Stranger/Stranger, general + + + Actor + implementation.handlers[0].action.actor + + + + + character/npc/stranger/model.dat + + Colors + Drab-Steel + Hat + + Pack + + Robes + hexagons + Snipes + None + + + + + + + + + + Character/Stranger/Stranger, merchant + + + Actor + implementation.handlers[0].action.actor + + + + + character/npc/stranger/model.dat + + Colors + Red-Grey + Hat + + character/npc/stranger/mask/model.dat + + Variant + Weapon + + + Pack + + Robes + Merchant Tabard + Snipes + None + + + + + + + + + + Dev/Floor Label + + + Model + implementation.model + + + Text + implementation.model["Text"] + + + + + model/compound/label_floor/label_floor.dat + + Text + room_battle_EW_3w_01 + + + + + + + 0.5 + + + + + + + + + 0 + 0 + + + + Dev/Label - Prefab + + + Text + implementation.model["Models"][0].model["Text"] + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + model/debug/label_prefab_indicator.dat + + Text + room_battle_EW_3w_01 + + + + + + model/conditional/marker.dat + + Model + + editor/marker/generic_selectors/box_2x1.dat + + Color State Override + + 0.24313726, 0.23921569, 0.4, 0.5 + + + + + + + + + + + 2.0 + + + + + Dev/Viewer Affector + + + Model + implementation.model + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + model/conditional/marker.dat + + Model + + editor/marker/vertex/model.dat + + + + + + + model/viewer/bgcolor.dat + + Color + 0.80784315, 0.8509804, 0.9490196, 1.0 + Extent + + 20.0 + 20.0 + 40.0 + + + + + + + + + + + + 0.5 + + + 2.8725E-41 + + + + + + + -2.8725E-41 + + + + + 0 + 0 + + + + Dynamic/Barrier/Force Field + + + world/dynamic/forcefield/model.dat + + Model + middle(blue) + + + + + 192 + 0 + + + + Dynamic/Barrier/Force Field (cap) + + + world/dynamic/forcefield/model.dat + + Model + cap + + + 192 + 0 + + + + Dynamic/Barrier/Force Field (end) + + + world/dynamic/forcefield/model.dat + + Model + end(blue) + + + + + + + 0.5 + + + 0.25, 0.0 + + + + + 192 + 0 + + + + Dynamic/Barrier/Force Field (endfull) + + + world/dynamic/forcefield/model.dat + + Model + endfull(blue) + + + + + 192 + 0 + + + + Dynamic/Barrier/Force Field x3 + + + world/dynamic/forcefield/compound_x3.dat + + + 2.95 + + 192 + 0 + + + + Dynamic/Barrier/Force Field x5 + + + world/dynamic/forcefield/compound_x5.dat + + + 4.95 + + 192 + 0 + + + + Dynamic/Barrier/One-Way Wall + + + world/dynamic/forcefield/compound_x3.dat + + + 3.0 + + + + + + Dynamic/Barrier/One-Way Wall + + + + + + + + Dynamic/Barrier/Sub-town Force Field + + + world/dynamic/forcefield/subtown/model.dat + + + 5.0 + + + + + + Dynamic/Barrier/Sub-town Force Field + + + + + + + + Dynamic/Block/Base + + + Model + implementation.model + + + Actor + implementation.handlers[0].action.actor + + + + + world/dynamic/block/explosive/model.dat + + + 0.98 + 0.98 + + + + + + Block/Explosive + + + + + + + + Dynamic/Block/Base, Table + + + Model + implementation.model + + + Action + implementation.handlers[0].action + + + + + 0.98 + 0.98 + + + + + + + + + + + Dynamic/Block/Base, Table, random facing + + + Model + implementation.model + + + Spawn Table + implementation.handlers[0].action.fire_action["Spawn Table"] + + + + + world/dynamic/block/explosive/model.dat + + + 0.98 + 0.98 + + + + + + Base/Table Spawn (random 4-directional facing) + + Spawn Table + + + + + + + + + + Dynamic/Block/Base, random facing + + + Model + implementation.model + + + Actor + implementation.handlers[0].action.fire_action["Actor"] + + + + + world/dynamic/block/explosive/model.dat + + + 0.98 + 0.98 + + + + + + Base/Spawn Actor (random 4-directional facing) + + Actor + + + + + + + + + + Dynamic/Block/Breakable/Castle + + + Dynamic/Block/Base + + Actor + + Block/Breakable/Castle + + Model + + world/dynamic/block/breakable/castle_base/model.dat + + Texture + world/dynamic/block/breakable/castle_base/breakable.png + + + + + + + + Dynamic/Block/Breakable/Castle, Fire + + + Dynamic/Block/Base, random facing + + Actor + + Block/Breakable/Castle, Firestorm + + Model + + world/dynamic/block/breakable/castle_fire/breakable.dat + + + + + + + Dynamic/Block/Breakable/Catacombs + + + Dynamic/Block/Base + + Actor + + Block/Breakable/Catacombs + + Model + + world/dynamic/block/breakable/castle_base/model.dat + + Texture + world/dynamic/block/breakable/castle_catacomb/breakable.png + + + + + + + + Dynamic/Block/Breakable/City, Base + + + Dynamic/Block/Base + + Actor + + Block/Breakable/City, Base + + Model + + world/dynamic/block/breakable/city_base/breakable.dat + + + + + + + Dynamic/Block/Breakable/Clockworks, base + + + Dynamic/Block/Base, Table, random facing + + Model + + world/dynamic/block/breakable/clockworks/model_breakable.dat + + Texture + world/dynamic/block/breakable/clockworks/base.png + + + Spawn Table + + Block/Theme Variants {stc}/Breakable/Clockworks + + + + + + + Dynamic/Block/Breakable/Graveyard + + + Dynamic/Block/Base + + Actor + + Block/Breakable/Graveyard + + Model + + world/dynamic/block/breakable/castle_base/model.dat + + Texture + world/dynamic/block/breakable/graveyard/breakable.png + + + + + + + + Dynamic/Block/Breakable/Haven + + + Dynamic/Block/Base + + Actor + + Block/Breakable/Haven + + Model + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Normal + + + + + + + + Dynamic/Block/Breakable/Random/Castle, base + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Block/Breakable, Random/Castle, base + + + Model + + world/dynamic/block/breakable/sky_islands_day/breakable.dat + + Variant + Breakable - Sky Islands, Night + + + + + + + + Dynamic/Block/Breakable/Random/City, base + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Block/Breakable, Random/City, base + + + Model + + world/dynamic/block/breakable/sky_islands_day/breakable.dat + + Variant + Breakable - Sky Islands, Night + + + + + + + + Dynamic/Block/Breakable/Random/Clockworks, base + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Base/Table Spawn (random 4-directional facing) + + Spawn Table + + Block/Breakable, Random/Clockworks, base + + + + + Model + + world/dynamic/block/breakable/sky_islands_day/breakable.dat + + Variant + Breakable - Sky Islands, Day + + + + + + + + Dynamic/Block/Breakable/Random/Clockworks, base (Respawn) + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Base/Table Spawn (random 4-directional facing) + + Spawn Table + + Block/Breakable, Random/Clockworks, base (Respawn) + + + + + Model + + world/dynamic/block/breakable/sky_islands_day/breakable.dat + + Variant + Breakable - Sky Islands, Night + + + + + + + + Dynamic/Block/Breakable/Random/Shrub + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Block/Breakable, Random/Shrub + + + Model + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Normal + + + + + + + + Dynamic/Block/Breakable/Random/Sky Islands, Night + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Block/Breakable, Random/Sky Islands, Night + + + Model + + world/dynamic/block/breakable/sky_islands_day/breakable.dat + + Variant + Breakable - Sky Islands, Day + + + + + + + + Dynamic/Block/Breakable/Random/WhiteSpace, base + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Block/Breakable, Random/WhiteSpace, base + + + Model + + world/dynamic/block/breakable/sky_islands_day/breakable.dat + + Variant + Breakable - Sky Islands, Day + + + + + + + + Dynamic/Block/Breakable/Shrub + + + Dynamic/Block/Base + + Actor + + Block/Breakable/Shrub + + Model + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Graveyard + + + + + + + + Dynamic/Block/Breakable/Sky Islands, Day + + + Dynamic/Block/Base + + Actor + + Block/Breakable/Sky Islands, Day + + Destruction fx variant + Sky Islands Day (default) + Variant + Sky Islands, Day + + + Model + + world/dynamic/block/breakable/sky_islands_day/breakable_2.dat + + Variant + Sky Islands, Day + + + + + + + + Dynamic/Block/Breakable/Sky Islands, Night + + + Dynamic/Block/Base + + Actor + + Block/Breakable/Sky Islands, Night + + Model + + world/dynamic/block/breakable/sky_islands_day/breakable_2.dat + + Variant + Breakable - Sky Islands, Night + + + + + + + + Dynamic/Block/Breakable/WhiteSpace + + + Dynamic/Block/Base + + Actor + + Block/Breakable/WhiteSpace + + Model + + world/dynamic/block/whitespace/model_breakable.dat + + Variant + Breakable + + + + + + + + Dynamic/Block/Breakable/WhiteSpace (Switch) + + + Actor + implementation.placeable["Actor"]["Actor"] + + + + + Dynamic/Block/Base + + Actor + + Block/Breakable/WhiteSpace (Switch) + + Actor + + Dynamic/Switch/Button/WhiteSpace/One-Time + + (On Signal) + (On Signal) + (On Tag) + (On Tag) + Tag + (Button Tag) + + + + + Model + + model/compound/marked.dat + + Marker Model + + editor/marker/vertex/model.dat + + Model + + + + + + + + + Dynamic/Block/Crystal/Blue + + + Dynamic/Block/Base + + Actor + + Block/Crystal/Blue + + Model + + world/dynamic/block/starlink/model.dat + + Color + blue + + + + + + + + Dynamic/Block/Crystal/Gold + + + Dynamic/Block/Base + + Actor + + Block/Crystal/Gold + + Model + + world/dynamic/block/starlink/model.dat + + Color + gold + + + + + + + + Dynamic/Block/Crystal/Gray + + + Dynamic/Block/Base + + Actor + + Block/Crystal/Gray + + Model + + world/dynamic/block/starlink/model.dat + + Color + gray + + + + + + + + Dynamic/Block/Crystal/Green + + + Dynamic/Block/Base + + Actor + + Block/Crystal/Green + + Model + + world/dynamic/block/starlink/model.dat + + Color + green + + + + + + + + Dynamic/Block/Crystal/Pink + + + Dynamic/Block/Base + + Actor + + Block/Crystal/Pink + + Model + + world/dynamic/block/starlink/model.dat + + Color + pink + + + + + + + + Dynamic/Block/Crystal/Purple + + + Dynamic/Block/Base + + Actor + + Block/Crystal/Purple + + Model + + world/dynamic/block/starlink/model.dat + + Color + purple + + + + + + + + Dynamic/Block/Crystal/Random/Any Color + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Block/Crystal, Random/Any Color + + + Model + + world/dynamic/block/starlink/model.dat + + Color + Red + + + + + + + + Dynamic/Block/Crystal/Random/Blue + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Block/Crystal, Random/Blue + + + Model + + world/dynamic/block/starlink/model.dat + + Color + blue + + + + + + + + Dynamic/Block/Crystal/Random/Gold + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Block/Crystal, Random/Gold + + + Model + + world/dynamic/block/starlink/model.dat + + Color + gold + + + + + + + + Dynamic/Block/Crystal/Random/Gray + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Block/Crystal, Random/Gray + + + Model + + world/dynamic/block/starlink/model.dat + + Color + gray + + + + + + + + Dynamic/Block/Crystal/Random/Green + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Block/Crystal, Random/Green + + + Model + + world/dynamic/block/starlink/model.dat + + Color + green + + + + + + + + Dynamic/Block/Crystal/Random/Pink + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Block/Crystal, Random/Pink + + + Model + + world/dynamic/block/starlink/model.dat + + Color + pink + + + + + + + + Dynamic/Block/Crystal/Random/Purple + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Block/Crystal, Random/Purple + + + Model + + world/dynamic/block/starlink/model.dat + + Color + purple + + + + + + + + Dynamic/Block/Explosive + + + Dynamic/Block/Base + + Actor + + Block/Explosive + + Model + + world/dynamic/block/explosive/model.dat + + + + + + + Dynamic/Block/Explosive (WhiteSpace) + + + Dynamic/Block/Base + + Actor + + Block/Explosive (WhiteSpace) + + Model + + world/dynamic/block/whitespace/model_breakable.dat + + Variant + Explosive + + + + + + + + Dynamic/Block/Explosive Timed + + + Dynamic/Block/Base + + Actor + + Block/Explosive Timed + + Model + + world/dynamic/block/explosive_timed/model.dat + + + + + + + Dynamic/Block/Gathering/Chance Shrub 1 + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Treasure/Gathering/Actor Spawn/Shrub Chance 1 + + + Model + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Normal + + + + + + + + Dynamic/Block/Gathering/Chance Shrub 2 + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Treasure/Gathering/Actor Spawn/Shrub Chance 2 + + + Model + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Normal + + + + + + + + Dynamic/Block/Gathering/Chance Shrub 3 + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Treasure/Gathering/Actor Spawn/Shrub Chance 3 + + + Model + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Normal + + + + + + + + Dynamic/Block/Gathering/Junk 1 + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Treasure/Gathering/Actor Spawn/Shrub Spawn 1 + + + Model + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Normal + + + + + + + + Dynamic/Block/Gathering/Mineral 1 + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Treasure/Gathering/Actor Spawn/Mineral Spawn 1 + + + Model + + world/dynamic/block/gather/rock/model.dat + + Variant + Normal + + + + + + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + + Model + implementation.model + + + Action + implementation.handlers[0].action + + + + + 0.98 + 0.98 + + + + + + + + + + + Dynamic/Block/Gathering/Relic 1 + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Treasure/Gathering/Actor Spawn/Shrub Spawn 1 + + + Model + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Normal + + + + + + + + Dynamic/Block/Gathering/Shrub 1 + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Treasure/Gathering/Actor Spawn/Shrub Spawn 1 + + + Model + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Normal + + + + + + + + Dynamic/Block/Gathering/Shrub 2 + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Treasure/Gathering/Actor Spawn/Shrub Spawn 2 + + + Model + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Normal + + + + + + + + Dynamic/Block/Gathering/Shrub 3 + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Treasure/Gathering/Actor Spawn/Shrub Spawn 3 + + + Model + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Normal + + + + + + + + Dynamic/Block/Ghost + + + Dynamic/Block/Base + + Actor + + Block/Ghost + + Model + + world/dynamic/block/ghostlink/model.dat + + + + + + + Dynamic/Block/Ghost (WhiteSpace) + + + Dynamic/Block/Base + + Actor + + Block/Ghost (WhiteSpace) + + Model + + world/dynamic/block/whitespace/model_breakable.dat + + Variant + Ghost + + + + + + + + Dynamic/Block/Mineral/Class {tb}/Generic Mineral + + + Group + implementation.placeable["Action"].spawn_table["Group"] + + + Loot Table + implementation.placeable["Action"].spawn_table + + + + + Dynamic/Block/Mineral/Parts/Mineral Base + + Action + + + Block/Mineral/Generic {stc} + + Group + + + + + Model + + world/dynamic/block/mineral node/model_placeable.dat + + Color + mineral-Random + + + + + + + + Dynamic/Block/Mineral/Crimsonite + + + Dynamic/Block/Mineral/Parts/Mineral Base + + Action + + + Block/Mineral/Crimsonite Node + + + Model + + world/dynamic/block/mineral node/model_placeable.dat + + Color + Red + + + + + + + + Dynamic/Block/Mineral/Dark Matter + + + Dynamic/Block/Mineral/Parts/Mineral Base + + Action + + + Block/Mineral/Dark Matter Node + + + Model + + world/dynamic/block/mineral node/model_placeable.dat + + Color + mineral-Dark + + + + + + + + Dynamic/Block/Mineral/Luminite + + + Dynamic/Block/Mineral/Parts/Mineral Base + + Action + + + Block/Mineral/Luminite Node + + + Model + + world/dynamic/block/mineral node/model_placeable.dat + + Color + mineral-Light + + + + + + + + Dynamic/Block/Mineral/Moonstone + + + Dynamic/Block/Mineral/Parts/Mineral Base + + Action + + + Block/Mineral/Moonstone Node + + + Model + + world/dynamic/block/mineral node/model_placeable.dat + + Color + mineral-Blue + + + + + + + + Dynamic/Block/Mineral/Parts/Mineral Base + + + Model + implementation.model + + + Action + implementation.handlers[0].action + + + + + world/dynamic/block/mineral node/model_placeable.dat + + Color + Red + + + + 0.98 + 0.98 + + + + + + + + + + + Dynamic/Block/Mineral/Random Mineral + + + Dynamic/Block/Mineral/Parts/Mineral Base + + Action + + + Block/Mineral/Random Mineral Node + + + Model + + world/dynamic/block/mineral node/model_placeable.dat + + Color + mineral-Random + + + + + + + + Dynamic/Block/Mineral/Valestone + + + Dynamic/Block/Mineral/Parts/Mineral Base + + Action + + + Block/Mineral/Valestone Node + + + Model + + world/dynamic/block/mineral node/model_placeable.dat + + Color + mineral-Green + + + + + + + + Dynamic/Block/Monster/Monster (WhiteSpace) + + + Dynamic/Block/Base + + Actor + + Block/Monster (WhiteSpace) + + Model + + world/dynamic/block/whitespace/model_breakable.dat + + Variant + Monster + + + + + + + + Dynamic/Block/Monster/Monster 1 + + + Dynamic/Block/Base + + Actor + + Block/Monster + + Spawn Table + + Block/Monster Block/Monster 1 + + + + Model + + world/dynamic/block/monster/model.dat + + + + + + + Dynamic/Block/Stone + + + Dynamic/Block/Base + + Actor + + Block/Stone + + Model + + world/dynamic/block/stone/parts/model_set.dat + + Model + mesh_block00 + + + + + + + + Dynamic/Block/Treasure/Aurora Isles + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Aurora Isles/Aurora Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Aurora Isles, Rare + + + Dynamic/Block/Base + + Actor + + Block/Treasure, Rare + + Color + Red + Spawn Table + + Treasure/Block/Aurora Isles/Aurora, Rare + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Treasure/Battle Arena + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Battle Arena/Battle Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Battle Arena, Rare + + + Dynamic/Block/Base + + Actor + + Block/Treasure, Rare + + Color + Red + Spawn Table + + Treasure/Block/Battle Arena/Battle, Rare + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Treasure/Class {tb}/Treasure + + + Loot Table + implementation.placeable["Action"].spawn_table["Normal Treasure"]["Loot"], implementation.placeable["Action"].spawn_table["Rare Treasure"]["Loot"] + + + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Treasure Block Base + + Normal Treasure + + Treasure/Block/Treasure, Normal + + Loot + + Treasure/Block/Class {stc}/Class Loot + + + + Rare Treasure + + Treasure/Block/Treasure, Rare + + Loot + + Treasure/Block/Class {stc}/Class Loot + + + + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Class {tb}/Treasure, Rare + + + Loot Table + implementation.placeable["Actor"]["Spawn Table"]["Loot"] + + + + + Dynamic/Block/Base + + Actor + + Block/Treasure + + Color + Red + Spawn Table + + Treasure/Block/Treasure, Rare + + Loot + + Treasure/Block/Class {stc}/Class Loot + + + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Treasure/Clockwork Tunnels + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Clockwork Tunnels/Clockwork Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Clockwork Tunnels, Rare + + + Dynamic/Block/Base + + Actor + + Block/Treasure + + Color + Red + Spawn Table + + Treasure/Block/Clockwork Tunnels/Clockwork, Rare + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Treasure/Concrete Jungle + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Concrete Jungle/Concrete Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Concrete Jungle, Rare + + + Dynamic/Block/Base + + Actor + + Block/Treasure, Rare + + Color + Red + Spawn Table + + Treasure/Block/Concrete Jungle/Concrete, Rare + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Treasure/Deconstruction Zone + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Deconstruction Zone/Deconstruction Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Deconstruction Zone, Rare + + + Dynamic/Block/Base + + Actor + + Block/Treasure + + Color + Red + Spawn Table + + Treasure/Block/Deconstruction Zone/Deconstruction, Rare + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Treasure/Devilish Drudgery + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Devilish Drudgery/Devilish Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Devilish Drudgery, Rare + + + Dynamic/Block/Base + + Actor + + Block/Treasure + + Color + Red + Spawn Table + + Treasure/Block/Devilish Drudgery/Devilish, Rare + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Treasure/Energy + + + Dynamic/Block/Base + + Actor + + Block/Energy Block + + Spawn Table + + Treasure/Block/Treasure Vault/Treasure, Normal + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Firestorm Citadel + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Firestorm Citadel/Firestorm Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Firestorm Citadel, Rare + + + Dynamic/Block/Base + + Actor + + Block/Treasure + + Color + Red + Spawn Table + + Treasure/Block/Firestorm Citadel/Firestorm, Rare + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Treasure/Graveyard + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Graveyard/Graveyard Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Graveyard, Rare + + + Dynamic/Block/Base + + Actor + + Block/Treasure, Rare + + Color + Red + Spawn Table + + Treasure/Block/Graveyard/Graveyard, Rare + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Treasure/Hearts + + + Dynamic/Block/Base, Table + + Action + + + Block/Treasure, Health + + Color + Pink + Spawn Table + + Treasure/Health/Treasure Health, Hearts + + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Pink + + + + + + + + Dynamic/Block/Treasure/Jigsaw Valley + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Aurora Isles/Aurora Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Jigsaw Valley, Rare + + + Dynamic/Block/Base + + Actor + + Block/Treasure, Rare + + Color + Red + Spawn Table + + Treasure/Block/Aurora Isles/Aurora, Rare + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Treasure/Lichenous Lair + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Lichenous Lair/Lichenous Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Lichenous Lair, Rare + + + Dynamic/Block/Base + + Actor + + Block/Treasure + + Color + Red + Spawn Table + + Treasure/Block/Lichenous Lair/Lichenous, Rare + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Treasure/Lost Castle + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Scarlet Fortress/Scarlet Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Scarlet Fortress + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Scarlet Fortress/Scarlet Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Scarlet Fortress, Rare + + + Dynamic/Block/Base + + Actor + + Block/Treasure + + Color + Red + Spawn Table + + Treasure/Block/Scarlet Fortress/Scarlet, Rare + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Treasure/Silent Metropolis + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Devilish Drudgery/Devilish Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Starlight Cradle + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Starlight Cradle/Starlight Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Starlight Cradle, Rare + + + Dynamic/Block/Base + + Actor + + Block/Treasure + + Color + Red + Spawn Table + + Treasure/Block/Starlight Cradle/Starlight, Rare + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Treasure/Training Grounds + + + Dynamic/Block/Base + + Actor + + Block/Treasure + + Color + Green + Spawn Table + + Treasure/Block/Training Grounds/Training Block + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Treasure Vault + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Treasure Vault/Treasure, Normal + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Treasure Vault, Rare + + + Dynamic/Block/Base + + Actor + + Block/Treasure + + Color + Red + Spawn Table + + Treasure/Block/Treasure Vault/Treasure, Rare + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Treasure/Tutorial + + + Dynamic/Block/Base + + Actor + + Block/Treasure + + Color + Green + Spawn Table + + Treasure/Block/Tutorial + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/WhiteSpace + + + Dynamic/Block/Base + + Actor + + Block/Treasure + + Color + Green + Spawn Table + + Treasure/Block/WhiteSpace/WhiteSpace Block + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Wolver Den + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Wolver Den/Wolver Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Wolver Den, Rare + + + Dynamic/Block/Base + + Actor + + Block/Treasure + + Color + Red + Spawn Table + + Treasure/Block/Wolver Den/Wolver, Rare + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Unbreakable/Castle + + + Dynamic/Block/Base + + Actor + + Block/Unbreakable/Castle + + Model + + world/dynamic/block/unbreakable/castle_base/model.dat + + + + + + + Dynamic/Block/Unbreakable/Castle, Fire + + + Dynamic/Block/Base, random facing + + Actor + + Block/Unbreakable/Castle, Firestorm + + Model + + world/dynamic/block/unbreakable/castle_firestorm/unbreakable.dat + + + + + + + Dynamic/Block/Unbreakable/Catacombs + + + Dynamic/Block/Base + + Actor + + Block/Unbreakable/Catacombs + + Model + + world/dynamic/block/unbreakable/castle_catacomb/model.dat + + + + + + + Dynamic/Block/Unbreakable/City, Base + + + Dynamic/Block/Base + + Actor + + Block/Unbreakable/City, Base + + Model + + world/dynamic/block/unbreakable/city_base/unbreakable.dat + + Texture + world/dynamic/block/unbreakable/city_base/unbreakable.png + + + + + + + + Dynamic/Block/Unbreakable/Clockworks, base + + + Dynamic/Block/Base + + Actor + + Block/Unbreakable/Clockworks, base + + Model + + world/dynamic/block/unbreakable/city_base/unbreakable.dat + + Texture + world/dynamic/block/unbreakable/clockworks/base.png + + + + + + + + Dynamic/Block/Unbreakable/Graveyard + + + Dynamic/Block/Base + + Actor + + Block/Unbreakable/Graveyard + + Model + + world/dynamic/block/unbreakable/graveyard/model.dat + + + + + + + Dynamic/Block/Unbreakable/Haven + + + Dynamic/Block/Base + + Actor + + Block/Unbreakable/Outershell + + Model + + world/dynamic/block/unbreakable/outershell/outershell_unbreak.dat + + + + + + + Dynamic/Block/Unbreakable/Sky Islands, Day + + + Dynamic/Block/Base + + Actor + + Block/Unbreakable/Sky Islands, Day + + Variant + Unbreakable - Sky Islands, Day + + + Model + + world/dynamic/block/breakable/sky_islands_day/breakable_2.dat + + Variant + Unbreakable - Sky Islands, Day + + + + + + + + Dynamic/Block/Unbreakable/Sky Islands, Night + + + Dynamic/Block/Base + + Actor + + Block/Unbreakable/Sky Islands, Night + + Model + + world/dynamic/block/breakable/sky_islands_day/breakable_2.dat + + Variant + Unbreakable - Sky Islands, Night + + + + + + + + Dynamic/Block/Unbreakable/WhiteSpace + + + Dynamic/Block/Base + + Actor + + Block/Unbreakable/WhiteSpace + + Model + + world/dynamic/block/whitespace/model_unbreakable.dat + + + + + + + Dynamic/Breakable Objects/Castle, Fire/Barricade, 2-tile + + + world/prop/castle_fire/barricade.dat + + Model + barricade_x2 + + + + 0.5 + 1.4 + + + + + + Dynamic/Breakable Objects/Castle, Firestorm/Barricade, wooden + + + + + + + + Dynamic/Breakable Objects/Castle, Fire/Brazier, ground + + + world/prop/structural/brazier_ground/model.dat + + Texture + world/prop/structural/brazier_ground/skin_firestorm.png + + + + 0.4 + + + + + + Dynamic/Breakable Objects/Castle, Firestorm/Brazier, ground + + + + + + + + Dynamic/Breakable Objects/Castle, Fire/Brazier, tall + + + world/prop/structural/brazier_tall/model.dat + + Texture + world/prop/structural/brazier_ground/skin_firestorm.png + + + + 0.4 + + + + + + Dynamic/Breakable Objects/Castle, Firestorm/Brazier, tall + + + + + + + + Dynamic/Breakable Objects/Castle/Brazier, ground + + + world/prop/structural/brazier_ground/model.dat + + Texture + world/prop/structural/brazier_ground/skin_brass.png + + + + 0.4 + + + + + + Dynamic/Breakable Objects/Castle/Brazier, ground + + + + + + + + Dynamic/Breakable Objects/Castle/Brazier, tall + + + world/prop/structural/brazier_tall/model.dat + + Texture + world/prop/structural/brazier_ground/skin_brass.png + + + + 0.4 + + + + + + Dynamic/Breakable Objects/Castle/Brazier, tall + + + + + + + + Dynamic/Breakable Objects/City/Fire Hydrant + + + world/prop/city_base/firehydrant.dat + + + 0.44 + + + + + + Dynamic/Breakable Objects/City, Base/Fire hydrant + + + + + + + + Dynamic/Breakable Objects/City/Mailbox + + + world/prop/city_base/mailbox.dat + + + + + + + + Dynamic/Breakable Objects/City, Base/Mailbox + + + + + + + + Dynamic/Breakable Objects/Clockworks/Bucket o bolts + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Treasure/Gathering/Shrub A1 + + + Model + + world/prop/gremlin/bucket_01_content.dat + + + + + + + Dynamic/Breakable Objects/Clockworks/Bucket, empty + + + world/prop/gremlin/bucket_01.dat + + Attachment + + + + + + + + Dynamic/Breakable Objects/Clockworks/Bucket o bolts + + + + + + + + Dynamic/Breakable Objects/Graveyard/Brazier, ground + + + world/prop/structural/brazier_ground/model.dat + + + 0.4 + + + + + + Dynamic/Breakable Objects/Castle/Brazier, ground + + + + + + + + Dynamic/Breakable Objects/Graveyard/Brazier, tall + + + world/prop/structural/brazier_tall/model.dat + + + 0.4 + + + + + + Dynamic/Breakable Objects/Castle/Brazier, tall + + + + + + + + Dynamic/Breakable Objects/Gremlin/Lockers - tall, 01 + + + world/prop/gremlin/locker_1.dat + + + 2.0 + 0.9 + + + + + + Dynamic/Breakable Objects/Gremlins/Locker - 1 + + + + + + + + Dynamic/Breakable Objects/Gremlin/Lockers - tall, 02 + + + world/prop/gremlin/locker_2.dat + + + 2.0 + 0.9 + + + + + + Dynamic/Breakable Objects/Gremlins/Locker - 2 + + + + + + + + Dynamic/Breakable Objects/Heat Objects/Ember Well, large + + + world/prop/structural/ember_well/model.dat + + + 0.8 + + + + + + Dynamic/Breakable Objects/Heat Objects/Ember Well, large + + + + + + + + Dynamic/Breakable Objects/Heat Objects/Ember Well, small + + + world/prop/structural/ember_well/model.dat + + + 0.4 + + + + + + Dynamic/Breakable Objects/Heat Objects/Ember Well, small + + + + + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 1, blue + + + world/prop/sky_islands_day/shrub_new1.dat + + Model + shrub_01 + Variant + Blue + + + + 0.3 + + + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 1 + + Model + shrub_01 + Variant + Blue + + + + + + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 1, green + + + world/prop/sky_islands_day/shrub_new1.dat + + Model + shrub_01 + Variant + Sky Islands Day - variant + + + + 0.3 + + + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 1, day variant + + Model + shrub_01 + Variant + Sky Islands Day - variant + + + + + + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 1, yellow-green + + + world/prop/sky_islands_day/shrub_new1.dat + + Model + shrub_01 + Variant + Green + + + + 0.3 + + + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 1, yellow-green + + + + + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 2, blue + + + world/prop/sky_islands_day/shrub_new1.dat + + Model + shrub_02 + Variant + Sky Islands Day - Blue + + + + 0.3 + + + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 2 + + + + + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 2, green + + + world/prop/sky_islands_day/shrub_new1.dat + + Model + shrub_02 + Variant + Sky Islands Day - variant + + + + 0.3 + + + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 2, day variant + + + + + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 2, yellow-green + + + world/prop/sky_islands_day/shrub_new1.dat + + Model + shrub_02 + Variant + Green + + + + 0.3 + + + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 2, yellow-green + + + + + + + + Dynamic/Dev - Cory Tests/Bumper + + + world/dynamic/signmodule/model.dat + + Variant + General + + + + 0.4 + + + + + + 6.0 + 7 + false + + 0 + + 8.0, 0.0 + 800 + 5 + + + + + 0 + + + + Dynamic/Dev - Cory Tests/Hazard Tile + + + world/dynamic/signmodule/model.dat + + Variant + Shop + + + + + + + 4.0 + 7 + + + + + 0 + 0 + + + + Dynamic/Dev - Cory Tests/Shape Tester + + + Model + implementation.model + + + + + model/conditional/marker.dat + + Model + + editor/marker/vertex/model.dat + + + + + + + + 1.75 + + + 2.25, 0.0 + + + + + 2.25 + + + 0.0, 2.5 + + + + + 2.25 + + + 0.0, -2.5 + + + + + 4.0 + 10.0 + + + 0.0, 7.0 + + + + + 4.0 + 10.0 + + + 0.0, -7.0 + + + + + 4.0 + + + + + 12.0 + + + + + + + + + 8.0 + 8.0 + + + 12.0 + + + -8.0 + 8.0 + + + + + + + 10.0 + 10.0 + + + 0.0, -7.5 + 4.17563E-6 + + + + + 0 + 0 + + + + Dynamic/Dev - Cory Tests/Trap - Land mine + + + item/weapon/npc/mine_windup/model.dat + + Variant + Orange + + + + + + + Dynamic/Dev - Cory Tests/Trap - Land mine + + + + + + + + Dynamic/Door/Iron Gate/Base + + + Model + implementation.model + + + Shape + implementation.shape + + + Actor + implementation.handlers[0].action.actor + + + + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Normal + + + + 5.0 + + + (Door Tag) + + + + + + Door/Iron Gate/Trigger 5 + + Open + false + Tag + Door + Variant + Normal + + + + + + + + + Dynamic/Door/Iron Gate/Energy 3 + + + Tag + implementation.placeable["Actor"]["Tag"] + + + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/Iron Gate/Energy 3 + + Tag + Door + + + Model + + world/dynamic/door/irongate/3wide/energy.dat + + Shape + + 3.0 + + + + + + + Dynamic/Door/Iron Gate/Energy 5 + + + Tag + implementation.placeable["Actor"]["Tag"] + + + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/Iron Gate/Energy 5 + + Tag + Door + + + Model + + world/dynamic/door/irongate/5wide/energy.dat + + Shape + + 5.0 + + + + + + + Dynamic/Door/Iron Gate/Gold 3 + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/Iron Gate/Gold 3 + + Tag + (Gold Door) + + + Model + + world/dynamic/door/irongate/3wide/model.dat + + Variant + Locked (Gold) + + + Shape + + 3.0 + + + + + + + Dynamic/Door/Iron Gate/Gold 5 + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/Iron Gate/Gold 5 + + Tag + (Gold Door) + + + Model + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Locked (Gold) + + + Shape + + 5.0 + + + + + + + Dynamic/Door/Iron Gate/Monster 3 + + + Tag + implementation.placeable["Actor"]["Tag"] + + + Open + implementation.placeable["Actor"]["Open"] + + + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/Iron Gate/Monster 3 + + Open + false + Tag + (Door Tag) + Variant + Monster + + + Model + + world/dynamic/door/irongate/3wide/model.dat + + Variant + Monster + + + Shape + + 3.0 + + + + + + + Dynamic/Door/Iron Gate/Monster 5 + + + Tag + implementation.placeable["Actor"]["Tag"] + + + Open + implementation.placeable["Actor"]["Open"] + + + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/Iron Gate/Monster 5 + + Open + false + Tag + (Door Tag) + Variant + Monster + + + Model + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Monster + + + Shape + + 5.0 + + + + + + + Dynamic/Door/Iron Gate/Multi Trigger 3 + + + Tag + implementation.placeable["Actor"]["Tag"] + + + Open + implementation.placeable["Actor"]["Open"] + + + Triggers + implementation.placeable["Actor"]["Triggers"] + + + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/Iron Gate/Multi Trigger 3 + + Open + false + Tag + (Door Tag) + Triggers + 2 + Variant + Normal + + + Model + + world/dynamic/door/irongate/3wide/model.dat + + Variant + Normal + + + Shape + + 3.0 + + + + + + + Dynamic/Door/Iron Gate/Multi Trigger 5 + + + Tag + implementation.placeable["Actor"]["Tag"] + + + Open + implementation.placeable["Actor"]["Open"] + + + Triggers + implementation.placeable["Actor"]["Triggers"] + + + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/Iron Gate/Multi Trigger 5 + + Open + false + Tag + (Door Tag) + Triggers + 2 + Variant + Normal + + + Model + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Normal + + + Shape + + 5.0 + + + + + + + Dynamic/Door/Iron Gate/Silver 3 + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/Iron Gate/Energy 3 + + Tag + Door + + + Model + + world/dynamic/door/irongate/3wide/model.dat + + Variant + Locked (Silver) + + + Shape + + 3.0 + + + + + + + Dynamic/Door/Iron Gate/Silver 5 + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/Iron Gate/Energy 5 + + Tag + Door + + + Model + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Locked (Silver) + + + Shape + + 5.0 + + + + + + + Dynamic/Door/Iron Gate/Trigger 3 + + + Tag + implementation.placeable["Actor"]["Tag"] + + + Open + implementation.placeable["Actor"]["Open"] + + + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/Iron Gate/Trigger 3 + + Open + false + Tag + (Door Tag) + Variant + Normal + + + Model + + world/dynamic/door/irongate/3wide/model.dat + + Variant + Normal + + + Shape + + 3.0 + + + + + + + Dynamic/Door/Iron Gate/Trigger 5 + + + Tag + implementation.placeable["Actor"]["Tag"] + + + Open + implementation.placeable["Actor"]["Open"] + + + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/Iron Gate/Trigger 5 + + Open + false + Tag + (Door Tag) + Variant + Normal + + + Model + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Normal + + + Shape + + 5.0 + + + + + + + Dynamic/Door/WhiteSpace/Gold 3 + + + Tag + implementation.placeable["Actor"]["Tag"] + + + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/WhiteSpace/Gold 3 + + Tag + (Door Tag) + + + Model + + world/dynamic/door/whitespace/model_x3.dat + + Variant + Locked (Gold) + + + Shape + + 3.0 + + + + + + + Dynamic/Door/WhiteSpace/Monster 3 + + + Tag + implementation.placeable["Actor"]["Tag"] + + + Open + implementation.placeable["Actor"]["Open"] + + + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/WhiteSpace/Monster 3 + + Open + false + Tag + (Door Tag) + Variant + Monster + + + Model + + world/dynamic/door/whitespace/model_x3.dat + + Variant + Monster + + + Shape + + 3.0 + + + + + + + Dynamic/Door/WhiteSpace/Multi Trigger 3 + + + Tag + implementation.placeable["Actor"]["Tag"] + + + Open + implementation.placeable["Actor"]["Open"] + + + Triggers + implementation.placeable["Actor"]["Triggers"] + + + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/WhiteSpace/Multi Trigger 3 + + Open + false + Tag + (Door Tag) + Triggers + 2 + Variant + Normal + + + Model + + world/dynamic/door/whitespace/model_x3.dat + + Variant + Normal + + + Shape + + 3.0 + + + + + + + Dynamic/Door/WhiteSpace/Trigger 3 + + + Tag + implementation.placeable["Actor"]["Tag"] + + + Open + implementation.placeable["Actor"]["Open"] + + + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/WhiteSpace/Trigger 3 + + Open + false + Tag + (Door Tag) + Variant + Normal + + + Model + + world/dynamic/door/whitespace/model_x3.dat + + Variant + Normal + + + Shape + + 3.0 + + + + + + + Dynamic/Elevator/AB Access + + + world/dynamic/elevator/next/model.dat + + Variant + Down + + + + + + + 4.25 + + + 0.0, 2.0 + + + + + 0.75 + + + 1.75, 1.0 + + + + + 0.75 + + + -1.75, 1.0 + + + + + + + + + + + 0 + + + + Dynamic/Elevator/Base/Elevator + + + Actor + implementation.actor + + + + + world/dynamic/elevator/univeral/model.dat + + Colorizations + + + 2 + + -0.207 + -0.165 + + + + 3 + + -0.383 + 0.338 + -0.692 + + + + Cost + 10 + Icon + ui/icon/gate/arrow_down.png + + + + + + + 4.55 + 1.15 + + + 0.0, 2.0 + + + + + 0.75 + 0.95 + + + 1.9, 1.0 + + + + + 0.75 + 0.95 + + + -1.9, 1.0 + + + + + + Dynamic/Elevator/Next Floor + + + + + Dynamic/Elevator/Haven + + + Dynamic/Elevator/Base/Elevator + + Actor + + Dynamic/Elevator/Haven + + + + + + + Dynamic/Elevator/Next Floor + + + Dynamic/Elevator/Base/Elevator + + Actor + + Dynamic/Elevator/Next Floor + + + + + + + Dynamic/Elevator/Next Floor (Subtown) + + + Dynamic/Elevator/Base/Elevator + + Actor + + Dynamic/Elevator/Next Floor (Subtown) + + + + + + + Dynamic/Elevator/Start Platform + + + Tag + implementation.tags.tags[0] + + + Default Entrance + implementation.default_entrance + + + + true + + world/dynamic/elevator/univeral/model_start.dat + + 0 + + + + Dynamic/Energy Objects/Auto Turret, default + + + Tags + implementation.tags.tags, implementation.handlers[0].action.actor["Tags"] + + + + + world/dynamic/energy/crate_01.dat + + + 0.96 + 0.96 + + + + + + Dynamic/Energy-Consuming Objects/Crates/Crate - Auto Turret, default + + Tags + autoturret + + + + + + + + + Dynamic/Energy Objects/Bodyguard, sword + + + character/npc/monster/mechaknight/parts/model_deadwhole.dat + + + 0.45 + + + + + + Dynamic/Energy-Consuming Objects/Bodyguard/Bodyguard - sword + + + + + + + + Dynamic/Energy Objects/Energy Door 3 + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/Iron Gate/Silver 3 + + Model + + world/dynamic/door/clockwork/3wide/model.dat + + Shape + + 3.0 + + + + + + + Dynamic/Energy Objects/Energy Door 5 + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/Iron Gate/Silver 5 + + Model + + world/dynamic/door/clockwork/5wide/model.dat + + Shape + + 5.0 + + + + + + + Dynamic/Energy Objects/Manual Turret + + + editor/marker/monster_wave/model.dat + + Colorization + 276 + Preview + + Wave Number + Manual Turret + + + + + + Dynamic/Energy Objects/Vending Machine + + + Variant + implementation.model["Variant"] + + + + + world/dynamic/energy/vendingmachine_01.dat + + Colorization + Red (default) + Cost + 5 + Variant + Capsule + + + + 1.48 + 1.24 + + + + + + + + + Dynamic/Energy Objects/Vending Machine Clickable + + + + + + Dynamic/Energy-Consuming Objects/Vending Machine, base + + + + + + + + Dynamic/Gate/Gate Display + + + Gate Index + implementation.handlers[0].action.actor["Gate Index"] + + + + + world/dynamic/gates/arcade_pillar/model.dat + + Blue + 0.0 + Dark + 0.0 + Green + 0.0 + Light + 0.0 + Red + 0.0 + Teir1 Ring1 + + Teir1 Ring2 + + Teir2 Ring1 + + Teir2 Ring2 + + Teir3 Ring1 + + Teir3 Ring2 + + Tray + + + + + + + + + + Dynamic/Gate/Gate Display + + Gate Index + 0 + + + + + + + + + Dynamic/Gates/Arcade Dropbox + + + Gate Index + implementation.handlers[0].action.gate_index, implementation.gate_index + + + + + world/dynamic/gates/dropbox/model.dat + + + + + + 3.0 + 2.0 + + + 0.0, 1.0 + + + + + + + + + + + 0 + + world/dynamic/gates/dropbox/model.dat + + + world/dynamic/gates/dropbox/model.dat + + + + + Dynamic/Gates/Arcade Monitor + + + Gate Index + implementation.gate_index + + + + + world/dynamic/gates/monitordropbox/model.dat + + Texture + + 2D/File/Colorized (Multiple)/Default (NoMipmap) + + Colorizations + + + 2 + + -0.207 + -0.165 + -0.021 + + + + 3 + + -0.383 + 0.338 + -0.692 + + + + File + ui/icon/map/knight.png + + + Variant + Tv + + + + + + + 2.0 + 2.0 + + + 0.0, 1.0 + + + + + 0 + Texture + + world/dynamic/gates/monitordropbox/model.dat + + Texture + + 2D/File/Colorized (Multiple)/Default (NoMipmap) + + Colorizations + + + 2 + + -0.207 + -0.165 + -0.021 + + + + 3 + + -0.383 + 0.338 + -0.692 + + + + File + ui/icon/map/knight.png + + + Variant + Tv + + + + world/dynamic/gates/monitordropbox/model.dat + + Texture + + 2D/File/Colorized (Multiple)/Default (NoMipmap) + + Colorizations + + + 2 + + -0.207 + -0.165 + -0.021 + + + + 3 + + -0.383 + 0.338 + -0.692 + + + + File + ui/icon/map/knight.png + + + Variant + Tv + + + + + + Dynamic/Gates/Console + + + Gate Index + implementation.handlers[0].action.gate_index, implementation.gate_index + + + + + world/dynamic/gates/monitordropbox/model.dat + + Texture + + 2D/File/Colorized (Multiple)/Default (NoMipmap) + + Colorizations + + + 2 + + -0.207 + -0.165 + -0.021 + + + + 3 + + -0.383 + 0.338 + -0.692 + + + + File + ui/icon/map/knight.png + + + Variant + Shoot Open + + + + + + + 2.0 + 3.0 + + + 0.0, 0.5 + + + + + + + + + + + 0 + Texture + + world/dynamic/gates/monitordropbox/model.dat + + Texture + + 2D/File/Colorized (Multiple)/Default (NoMipmap) + + Colorizations + + + 2 + + -0.207 + -0.165 + -0.021 + + + + 3 + + -0.383 + 0.338 + -0.692 + + + + File + ui/icon/map/knight.png + + + Variant + Shoot Closed + + + + world/dynamic/gates/monitordropbox/model.dat + + Texture + + 2D/File/Colorized (Multiple)/Default (NoMipmap) + + Colorizations + + + 2 + + -0.207 + -0.165 + -0.021 + + + + 3 + + -0.383 + 0.338 + -0.692 + + + + File + ui/icon/map/knight.png + + + Variant + Shoot Closed + + + + + + Dynamic/Gates/Control Panel + + + Gate Index + implementation.handlers[0].action.destination.index, implementation.gate_index + + + + + world/dynamic/gates/console/model.dat + + Variant + Off + countdown + 0 + + + + + + + 3.0 + 2.0 + + + 0.0, 1.0 + + + + + + + + + + + + + 0 + countdown + + world/dynamic/gates/console/model.dat + + Variant + On + countdown + 0 + + + + world/dynamic/gates/console/model.dat + + Variant + Off + countdown + 0 + + + + + + Dynamic/Gates/Control Panel (Fixed) + + + Name + implementation.handlers[0].action.destination.internal_id + + + + + world/dynamic/gates/console/model.dat + + Variant + On + countdown + 0 + + + + + + + 3.0 + 2.0 + + + 0.0, 1.0 + + + + + + + + + + + + + 0 + + + + Dynamic/Gates/Gate Display + + + Gate Index + implementation.handlers[0].action.actor["Gate Index"] + + + + + world/dynamic/gates/arcade_pillar/model_v2.dat + + Arrow + 1 + Icon1 + ui/icon/theme/unk.png + Icon2 + ui/icon/theme/unk.png + Icon3 + ui/icon/theme/unk.png + Icon4 + ui/icon/theme/unk.png + Icon5 + ui/icon/theme/unk.png + Icon6 + ui/icon/theme/unk.png + State + Launched + + + + + + + + + Dynamic/Gate/Gate Display + + Gate Index + 0 + + + + + + + + + Dynamic/Gates/Lobby Console + + + world/dynamic/gates/monitordropbox/model.dat + + Texture + + 2D/File/Colorized (Multiple)/Default (NoMipmap) + + Colorizations + + + 2 + + -0.207 + -0.165 + -0.021 + + + + 3 + + -0.383 + 0.338 + -0.692 + + + + File + ui/icon/map/knight.png + + + Variant + Tv + + + + + + + 2.0 + 2.0 + + + 0.0, 1.0 + + + + + 0 + Texture + + world/dynamic/gates/monitordropbox/model.dat + + Texture + + 2D/File/Colorized (Multiple)/Default (NoMipmap) + + Colorizations + + + 2 + + -0.207 + -0.165 + -0.021 + + + + 3 + + -0.383 + 0.338 + -0.692 + + + + File + ui/icon/map/knight.png + + + Variant + Tv + + + + + + Dynamic/Hazards/Bramble thicket/Bramble 1x1, 01 + + + Model + implementation.model + + + Trigger Shape + implementation.handlers[0].shape.shape, implementation.handlers[0].action.region.shape + + + Visualization Shape + implementation.shape + + + + + world/dynamic/traps_n_hazards/thicket/vine_x1_01.dat + + Texture File + world/dynamic/traps_n_hazards/thicket/wrapping_brambles.png + + + + + + + + + + Hazard/Hazard Base -20 + + 8 + + + + + 0 + 0 + + + + Dynamic/Hazards/Bramble thicket/Bramble 1x1, 02 + + + Dynamic/Hazards/Bramble thicket/Bramble 1x1, 01 + + Model + + world/dynamic/traps_n_hazards/thicket/vine_x1_02.dat + + Texture File + world/dynamic/traps_n_hazards/thicket/wrapping_brambles.png + + + Trigger Shape + + 0.55 + 0.55 + + Visualization Shape + + + + + + + + Dynamic/Hazards/Bramble thicket/Bramble 3x3, 01 + + + Dynamic/Hazards/Bramble thicket/Bramble 1x1, 01 + + Model + + world/dynamic/traps_n_hazards/thicket/vine_x3_01.dat + + Texture File + world/dynamic/traps_n_hazards/thicket/wrapping_brambles.png + + + Trigger Shape + + 2.55 + 2.55 + + Visualization Shape + + 3.0 + 3.0 + + + + + + + Dynamic/Hazards/Bramble thicket/Bramble 3x3, 02 + + + Dynamic/Hazards/Bramble thicket/Bramble 1x1, 01 + + Model + + world/dynamic/traps_n_hazards/thicket/vine_x3_02.dat + + Texture File + world/dynamic/traps_n_hazards/thicket/wrapping_brambles.png + + + Trigger Shape + + 2.55 + 2.55 + + Visualization Shape + + 3.0 + 3.0 + + + + + + + Dynamic/Hazards/Bramble thicket/Poison 1x1, 01 + + + Model + implementation.model + + + Trigger Shape + implementation.handlers[0].shape.shape, implementation.handlers[0].action.actions[0].action.region.shape, implementation.handlers[0].action.actions[1].action.region.shape, implementation.handlers[0].action.actions[2].action.region.shape, implementation.handlers[0].action.actions[3].region.shape + + + Visualization Shape + implementation.shape + + + + + world/dynamic/traps_n_hazards/thicket/vine_x1_01.dat + + Texture File + world/dynamic/traps_n_hazards/thicket/wrapping_brambles_poison.png + + + + + + + + + + + + + + + Hazard/Hazard Base -20 + + 8 + + + 8 + + Poison + + Chance + 0.75 + Power + 50 + + + + + + + + + + + + + + Hazard/Hazard Base -20 + + 8 + + + 8 + + Poison 2 + + Chance + 0.75 + Power + 50 + + + + + + + + + + + + + + Hazard/Hazard Base -20 + + 8 + + + 8 + + Poison 3 + + Chance + 0.75 + Power + 50 + + + + + + + + + + + Hazard/Hazard Base -20 + + 8 + false + + + + + + + 0 + 0 + + + + Dynamic/Hazards/Bramble thicket/Poison 1x1, 02 + + + Dynamic/Hazards/Bramble thicket/Poison 1x1, 01 + + Model + + world/dynamic/traps_n_hazards/thicket/vine_x1_02.dat + + Texture File + world/dynamic/traps_n_hazards/thicket/wrapping_brambles_poison.png + + + Trigger Shape + + 0.55 + 0.55 + + Visualization Shape + + + + + + + + Dynamic/Hazards/Bramble thicket/Poison 3x3, 01 + + + Dynamic/Hazards/Bramble thicket/Poison 1x1, 01 + + Model + + world/dynamic/traps_n_hazards/thicket/vine_x3_01.dat + + Texture File + world/dynamic/traps_n_hazards/thicket/wrapping_brambles_poison.png + + + Trigger Shape + + 2.55 + 2.55 + + Visualization Shape + + 3.0 + 3.0 + + + + + + + Dynamic/Hazards/Bramble thicket/Poison 3x3, 02 + + + Dynamic/Hazards/Bramble thicket/Poison 1x1, 01 + + Model + + world/dynamic/traps_n_hazards/thicket/vine_x3_02.dat + + Texture File + world/dynamic/traps_n_hazards/thicket/wrapping_brambles_poison.png + + + Trigger Shape + + 2.55 + 2.55 + + Visualization Shape + + 3.0 + 3.0 + + + + + + + Dynamic/Hazards/Firestorm Fire Tiles/Fire Tile - 1 unit + + + Tag + implementation.handlers[0].action.actions[0].action.actor["Tags"].tags[0], implementation.handlers[0].action.actions[1].action.actor["Tags"].tags[0], implementation.handlers[0].action.actions[2].action.actor["Tags"].tags[0], implementation.handlers[0].action.actions[3].action.actor["Tags"].tags[0] + + + + + world/dynamic/traps_n_hazards/fire_evil/fire_1unit.dat + + + + + + + + + + + Dynamic/Traps and Hazards/Firestorm Fire Tile + + Tags + + (tag 1) + + + + + + + + + Dynamic/Traps and Hazards/Firestorm Fire Tile + + Tags + + (tag 1) + + + + + + + + + Dynamic/Traps and Hazards/Firestorm Fire Tile + + Tags + + (tag 1) + + + + + + + + + Dynamic/Traps and Hazards/Firestorm Fire Tile + + Tags + + (tag 1) + + + + + + + + + + + + + Dynamic/Help Bubble/Help Bubble + + + Title + implementation.actor["Title"] + + + Message + implementation.actor["Message"] + + + Width + implementation.actor["Width"] + + + Icon + implementation.actor["Icon"] + + + Visible Distance + implementation.actor["Visible Distance"] + + + Tags + implementation.actor["Tags"].derived + + + + + editor/marker/helptip/default_marker.dat + + 0 + + Dynamic/Help Bubble/Help + + Icon + + Message + m.(message) + Tags + + + Title + t.(title) + Title Color + 0.6, 0.0, 0.4, 1.0 + Visible Distance + 10.0 + Width + 200 + + + + + + Dynamic/Lift Objects/Clay Pot + + + item/live/pot/model.dat + + Variant + Default + + + + 0.45 + + + + + + Dynamic/Lift Objects/Clay Pot + + + + + + + + Dynamic/Lift Objects/Clay Pot (WhiteSpace) + + + item/live/whitekey/model.dat + + Variant + White + + + + 0.45 + + + + + + Dynamic/Lift Objects/Clay Pot (WhiteSpace) + + + + + + + + Dynamic/Lift Objects/Fire Pot + + + item/live/pot/model.dat + + Variant + Fire + + + + 0.45 + + + + + + Dynamic/Lift Objects/Fire Pot + + + + + + + + Dynamic/Lift Objects/Gold Key + + + item/live/goldkey/model.dat + + + 0.4 + + + + + + Dynamic/Lift Objects/Gold Key + + + + + + + + Dynamic/Lift Objects/Gold Key (WhiteSpace) + + + item/live/whitekey/model.dat + + + 0.4 + + + + + + Dynamic/Lift Objects/Gold Key (WhiteSpace) + + + + + + + + Dynamic/Lift Objects/Heavy Statue + + + item/live/statue/model.dat + + + 0.45 + + + + + + Dynamic/Lift Objects/Heavy Statue + + + + + + + + Dynamic/Lift Objects/Liftable Snipe + + + character/npc/snipe/model.dat + + Color 1 + 1291 + + + + + + + Dynamic/Lift Objects/Liftable Snipe + + + + + + + + Dynamic/Lift Objects/Oil Pot + + + item/live/pot/model.dat + + Variant + Oil + + + + 0.45 + + + + + + Dynamic/Lift Objects/Oil Pot + + + + + + + + Dynamic/Misc/Altar/Gold Key + + + world/prop/generic/altar_x3.dat + + + 3.0 + 3.0 + + 0 + + + + Dynamic/Misc/Arsenal/Arsenal Box + + + world/dynamic/arsenal/arsenal_box.dat + + + + + + 0.7 + + + -0.65, 0.0 + + + + + 0.7 + + + 0.65, 0.0 + + + + + 1.3 + 1.4 + + + + + + + + + + + 0 + + + + Dynamic/Misc/Border/Border (End) + + + world/dynamic/border/model.dat + + Model + end + + + + 0.9 + 0.25 + + 0 + 0 + + + + Dynamic/Misc/Border/Border (Label) + + + Label + implementation.model["Label"] + town + + + Off Center + implementation.model["Off Center"] + + + + + world/dynamic/border/model_label.dat + + Label + Zone Border + Off Center + False + + + + 0.9 + 0.25 + + 0 + 0 + + + + Dynamic/Misc/Border/Border (Middle) + + + world/dynamic/border/model.dat + + Model + middle + + + + 0.9 + 0.25 + + 0 + 0 + + + + Dynamic/Misc/Border/Border (Start) + + + world/dynamic/border/model.dat + + Model + start + + + + 0.9 + 0.25 + + 0 + 0 + + + + Dynamic/Misc/Elevator (24.5 Tall) + + + Action + implementation.actor["Action"] + + + + + world/dynamic/elevator/univeral/model_intralevel.dat + + + + + + 1.9 + 2.9 + + + 2.5, 0.0 + + + + + 1.9 + 2.9 + + + -2.5, 0.0 + + + + + + Dynamic/Misc/Elevator (24.5 Tall) + + Action + + + + + + + + + + + + Dynamic/Misc/Heal Pad + + + Interval + implementation.handlers[0].action.actor["Interval"] + + + Heart + implementation.handlers[0].action.actor["Heart"], implementation.model["Preview"]["Actor"]["Heart"] + + + + + world/dynamic/respawnpad/model.dat + + Preview + + model/wrapper/actorwrapper.dat + + Actor + + Dynamic/Misc/Heal Pad + + Heart + 1 + + + + + + + + 0.9 + 0.9 + + + + + + Dynamic/Misc/Heal Pad + + Heart + 1 + Interval + 1.0 + + + + + + + + + Dynamic/Misc/PvP Console + + + world/dynamic/gates/monitordropbox/model.dat + + Texture + + 2D/File/Colorized (Multiple)/Default (NoMipmap) + + Colorizations + + + 2 + + 0.155 + -0.165 + -0.021 + + + + 3 + + -1.0 + 0.338 + -0.692 + + + + File + ui/icon/gate/pvp.png + + + Variant + Tv + + + + + + + + + 0 + + + + Dynamic/Misc/Respawn Pad + + + Actor + implementation.handlers[0].action.actor["Actor"], implementation.model["Preview"]["Actor"] + + + Delay + implementation.handlers[0].action.actor["Delay"] + + + + + world/dynamic/respawnpad/model.dat + + Preview + + model/wrapper/actorwrapper.dat + + Actor + + + + + + + 0.9 + 0.9 + + + + + + Dynamic/Misc/Respawn Pad + + Actor + + Damage + + Delay + 5000 + Warning + 0 + + + + + + + + + Dynamic/Misc/Respawn Pad (Damage) + + + Actor + implementation.handlers[0].action.actor["Actor"], implementation.model["Preview"]["Actor"] + + + Delay + implementation.handlers[0].action.actor["Delay"] + + + Damage + implementation.handlers[0].action.actor["Damage"] + + + + + world/dynamic/respawnpad/model.dat + + Preview + + model/wrapper/actorwrapper.dat + + Actor + + + + + + + 0.9 + 0.9 + + + + + + Dynamic/Misc/Damage Pad + + Actor + + Damage + 50.0 + Delay + 3000 + + + + + + + + + Dynamic/Misc/Respawn Pad (Table) + + + Spawn Table + implementation.handlers[0].action.actor["Spawn Table"], implementation.model["Preview"]["Spawn Table"] + + + Delay + implementation.handlers[0].action.actor["Delay"] + + + + + world/dynamic/respawnpad/model.dat + + Preview + + model/wrapper/spawntablewrapper.dat + + Spawn Table + + + + + + + 0.9 + 0.9 + + + + + + Dynamic/Misc/Respawn Pad (Table) + + Damage + + Delay + 5000 + Spawn Table + + Warning + 0 + + + + + + + + + Dynamic/Misc/Respawn Pad (Table, Damage) + + + Spawn Table + implementation.handlers[0].action.actor["Spawn Table"], implementation.model["Preview"]["Spawn Table"] + + + Delay + implementation.handlers[0].action.actor["Delay"] + + + Damage + implementation.handlers[0].action.actor["Damage"] + + + + + world/dynamic/respawnpad/model.dat + + Preview + + model/wrapper/spawntablewrapper.dat + + Spawn Table + + + + + + + 0.9 + 0.9 + + + + + + Dynamic/Misc/Damage Pad (Table) + + Damage + 50.0 + Delay + 3000 + Spawn Table + + + + + + + + + + Dynamic/Misc/Sprite Objects/Sprite Sanctuary + + + Actor + implementation.handlers[0].action.actor + + + + + world/prop/castle_fire/model_sanctuary.dat + + + 2.0 + + + + + + Dynamic/Misc/Sprite Objects/Sprite Sanctuary + + (Off Signal) + (Off Signal) + (On Signal) + (On Signal) + (Target Tag) + (Target Tag) + Activation Count + 1 + Tag + (Button Tag) + + + + + + + + + Dynamic/Misc/Sprite Objects/Sprite Sanctuary (Charred Court) + + + Actor + implementation.handlers[0].action.actor + + + + + world/prop/castle_fire/model_sanctuary.dat + + + 2.0 + + + + + + Dynamic/Misc/Sprite Objects/Sprite Sanctuary (Charred Court) + + (Off Signal) + (Off Signal) + (On Signal) + (On Signal) + (Target Tag) + (Target Tag) + Activation Count + 1 + Tag + (Button Tag) + + + + + + + + + Dynamic/Misc/Sprite Objects/Sprite Well + + + Delay + implementation.handlers[0].action.actor["Delay"] + + + + + world/prop/castle_fire/spritewell/model.dat + + Mode + Active + Preview + + particle/ambient_waterball.dat + + + + + 0.49 + + + + + + Dynamic/Misc/Sprite Objects/Sprite Well + + Delay + 1000 + + + + + + + + + Dynamic/Misc/Sprite Objects/Sprite Well (Inactive) + + + Delay + implementation.handlers[0].action.actor["Delay"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + Activation Tag + implementation.handlers[0].action.actor["Activation Tag"] + + + + + world/prop/castle_fire/spritewell/model.dat + + Mode + Inactive + Preview + + + + + 0.49 + + + + + + Dynamic/Misc/Sprite Objects/Sprite Well (Inactive) + + Delay + 1000 + Tag + (Tag) + + + + + + + + + Dynamic/Misc/Suggestion Box + + + world/prop/generic/misc/suggestionbox.dat + + + + + + + + + + + Dynamic/Misc/WhiteSpace/Respawn Pad + + + Actor + implementation.handlers[0].action.actor["Actor"], implementation.model["Model"]["Preview"]["Actor"] + + + Delay + implementation.handlers[0].action.actor["Delay"] + + + + + model/compound/marked.dat + + Marker Model + + editor/marker/vertex/model.dat + + Model + + world/dynamic/respawnpad/compound_whitespace.dat + + Preview + + model/wrapper/actorwrapper.dat + + Actor + + + + + + + + + 0.9 + 0.9 + + + + + + Dynamic/Misc/WhiteSpace/Respawn Pad + + Actor + + Damage + + Delay + 5000 + Warning + 0 + + + + + + + + + Dynamic/Misc/WhiteSpace/Respawn Pad (Damage) + + + Actor + implementation.handlers[0].action.actor["Actor"], implementation.model["Model"]["Preview"]["Actor"] + + + Delay + implementation.handlers[0].action.actor["Delay"] + + + Damage + implementation.handlers[0].action.actor["Damage"] + + + + + model/compound/marked.dat + + Marker Model + + editor/marker/vertex/model.dat + + Model + + world/dynamic/respawnpad/compound_whitespace.dat + + Preview + + model/wrapper/actorwrapper.dat + + Actor + + + + + + + + + 0.9 + 0.9 + + + + + + Dynamic/Misc/WhiteSpace/Damage Pad + + Actor + + Damage + 50.0 + Delay + 3000 + + + + + + + + + Dynamic/Misc/WhiteSpace/Respawn Pad (Table) + + + Spawn Table + implementation.handlers[0].action.actor["Spawn Table"], implementation.model["Model"]["Preview"]["Spawn + Table"] + + + Delay + implementation.handlers[0].action.actor["Delay"] + + + + + model/compound/marked.dat + + Marker Model + + editor/marker/vertex/model.dat + + Model + + world/dynamic/respawnpad/compound_whitespace.dat + + Preview + + model/wrapper/spawntablewrapper.dat + + Spawn Table + + + + + + + + + 0.9 + 0.9 + + + + + + Dynamic/Misc/WhiteSpace/Respawn Pad (Table) + + Damage + + Delay + 5000 + Spawn Table + + Warning + 0 + + + + + + + + + Dynamic/Monster Objects/Grim Totem + + + model/compound/marked.dat + + Marker Model + + editor/marker/pointlight/parts/particle_ring.dat + + Color + 1.0, 0.0, 0.8352941, 1.0 + Scale + 12.0 + + + Model + + item/live/totem/grimtotem_01.dat + + + + + 0.5 + + + + + + Dynamic/Monster Objects/Grim Totem + + + + + + + + Dynamic/Portal/Destination + + + Tag + implementation.tags.tags[0] + + + Default Entrance + implementation.default_entrance + + + + + editor/billboardknight/model_compound.dat + + Attachment + + editor/marker/pointers/pointer01.dat + + Color + 0.0, 1.0, 1.0, 1.0 + + + + + + (tag 1) + + + + + Dynamic/Portal/Level Start + + + Default Entrance + implementation.default_entrance + + + + true + + editor/billboardknight/model_compound.dat + + Attachment + + editor/marker/pointers/pointer01.dat + + Color + 0.0, 0.8, 0.2, 1.0 + + + + + + + + Dynamic/Portal/Test + + + Tag + implementation.tags.tags[0] + + + Scene ID + implementation.handlers[0].action.scene_id + + + Portal + implementation.handlers[0].action.portal + + + + + world/dynamic/signmodule/model.dat + + Variant + General + + + + + + + + + 0 + + + + Dynamic/Recon Module/Danger + + + Conversation + implementation.placeable["Conversation"] + + + + + Dynamic/Recon Module/Info + + Conversation + + Variant + Danger + + + + + + Dynamic/Recon Module/Danger Bubble + + + Message + implementation.placeable["Message"] + + + Title + implementation.placeable["Title"] + + + Title Color + implementation.placeable["Title Color"] + + + Visible Distance + implementation.placeable["Visible Distance"] + + + + + Dynamic/Recon Module/Info Bubble + + Message + m.test + Title + + Title Color + 1.0, 1.0, 1.0, 1.0 + Variant + Danger + Visible Distance + 7.0 + + + + + + Dynamic/Recon Module/Info + + + Variant + implementation.model["Variant"] + + + Conversation + implementation.handlers[0].action.conversation + + + + + world/dynamic/signmodule/model.dat + + Variant + General + + + + 0.49 + + + + + + + + 0 + 0 + + + + Dynamic/Recon Module/Info Bubble + + + Variant + implementation.model["Variant"] + + + Message + implementation.actor["Message"] + + + Title + implementation.actor["Title"] + + + Title Color + implementation.actor["Title Color"] + + + Visible Distance + implementation.actor["Visible Distance"] + + + + + world/dynamic/signmodule/model.dat + + Variant + General + + + + 0.49 + + + + + Action + + + + + + 0 + 0 + + Dynamic/Help Bubble/Recon + + Icon + + Message + m.test + Tags + + Title + + Title Color + 1.0, 1.0, 1.0, 1.0 + Visible Distance + 7.0 + + + + + + Dynamic/Recon Module/Shop + + + Conversation + implementation.placeable["Conversation"] + + + + + Dynamic/Recon Module/Info + + Conversation + + Variant + Shop + + + + + + Dynamic/Recon Module/Shop Bubble + + + Message + implementation.placeable["Message"] + + + Title + implementation.placeable["Title"] + + + Title Color + implementation.placeable["Title Color"] + + + Visible Distance + implementation.placeable["Visible Distance"] + + + + + Dynamic/Recon Module/Info Bubble + + Message + m.test + Title + + Title Color + 1.0, 1.0, 1.0, 1.0 + Variant + Shop + Visible Distance + 7.0 + + + + + + Dynamic/Recon Module/Story + + + Conversation + implementation.placeable["Conversation"] + + + + + Dynamic/Recon Module/Info + + Conversation + + Variant + Story + + + + + + Dynamic/Recon Module/Story Bubble + + + Message + implementation.placeable["Message"] + + + Title + implementation.placeable["Title"] + + + Title Color + implementation.placeable["Title Color"] + + + Visible Distance + implementation.placeable["Visible Distance"] + + + + + Dynamic/Recon Module/Info Bubble + + Message + m.test + Title + + Title Color + 1.0, 1.0, 1.0, 1.0 + Variant + Story + Visible Distance + 7.0 + + + + + + Dynamic/Switch/Button/One-Time + + + Actor + implementation.handlers[0].action.actor + + + + + world/dynamic/switch/button/model.dat + + + 0.4 + + + + + + Dynamic/Switch/Button/One-Time + + (On Signal) + (On Signal) + (On Tag) + (On Tag) + Tag + (Button Tag) + + + + + + + + + Dynamic/Switch/Button/One-Time (Multi) + + + On Signal + implementation.handlers[0].action.actor["On Signal"] + + + On Tag + implementation.handlers[0].action.actor["On Tag"] + + + Action + implementation.handlers[0].action.actor["Actions"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + + world/dynamic/switch/button/model.dat + + + 0.4 + + + + + + Dynamic/Switch/Button/One-Time (Multi) + + Actions + + + On Signal + (On Signal) + On Tag + (On Tag) + Tag + (Button Tag) + + + + + + + + + Dynamic/Switch/Button/Pressure Plate + + + Actor + implementation.handlers[0].action.actor + + + + + world/dynamic/switch/button/model_pressure.dat + + + 0.4 + + + + + + Dynamic/Switch/Pressure Plate/Base + + (Off Signal) + (Off Signal) + (On Signal) + (On Signal) + (Target Tag) + (Target Tag) + Tag + (Button Tag) + + + + + + + + + Dynamic/Switch/Button/Timer + + + Actor + implementation.handlers[0].action.actor + + + + + world/dynamic/switch/button/model.dat + + + 0.4 + + + + + + Dynamic/Switch/Button/Timed + + (Off Signal) + (Off Signal) + (Off Tag) + (Off Tag) + (On Signal) + (On Signal) + (On Tag) + (On Tag) + Delay + 0 + Tag + (Button Tag) + + + + + + + + + Dynamic/Switch/Button/WhiteSpace/One-Time + + + Actor + implementation.handlers[0].action.actor + + + + + model/compound/marked.dat + + Marker Model + + editor/marker/vertex/model.dat + + Model + + world/dynamic/switch/button/model_whitespace.dat + + + + + 0.4 + + + + + + Dynamic/Switch/Button/WhiteSpace/One-Time + + (On Signal) + (On Signal) + (On Tag) + (On Tag) + Tag + (Button Tag) + + + + + + + + + Dynamic/Switch/Lever/3-Point Indicator + + + Activation Action + implementation.placeable["Actor"]["Activation Action"] + + + Tags + implementation.placeable["Actor"]["Tag"].derived + + + + + Actor 1x1 + + Actor + + Dynamic/Switch/Lever/3-Point Indicator + + Activation Action + + + Tag + + + + + + + + + Dynamic/Switch/Lever/One-Time + + + (Activate Signal) + implementation.placeable["Actor"]["(Activate Signal)"] + + + (Activate Tag) + implementation.placeable["Actor"]["(Activate Tag)"] + + + Tag + implementation.placeable["Actor"]["Tag"] + + + + + Dynamic/Switch/Lever/Toggle + + Actor + + Dynamic/Switch/Lever/One-Time + + (Activate Signal) + (Activate Signal) + (Activate Tag) + (Activate Tag) + Tag + (tag 1) + + + + + + + + Dynamic/Switch/Lever/Timed Toggle + + + Actor + implementation.placeable["Actor"] + + + + + Actor 1x1 + + Actor + + Dynamic/Switch/Lever/Damage Timed Toggle + + Start 1 Signal + (State 1 Signal) + State 0 Signal + (State 0 Signal) + State 0 Tag + (State 0 Tag) + State 1 Tag + (State 1 Tag) + + + + + + + + Dynamic/Switch/Lever/Toggle + + + Actor + implementation.handlers[0].action.actor + + + + + world/dynamic/switch/multistate/model.dat + + Variant + Active + + + + 0.9 + 0.9 + + + + + + Dynamic/Switch/Lever/Damage Toggle + + (State 0 Signal) + (State 0 Signal) + (State 0 Tag) + (State 0 Tag) + (State 1 Signal) + (State 1 Signal) + (State 1 Tag) + (State 1 Tag) + + + + + + + + + Dynamic/Switch/Lever/WhiteSpace/3-Point Indicator + + + Activation Action + implementation.placeable["Actor"]["Activation Action"] + + + Tags + implementation.placeable["Actor"]["Tag"].derived + + + + + Actor 1x1 + + Actor + + Dynamic/Switch/Lever/3-Point Indicator + + Activation Action + + + + + + + + + + Dynamic/Switch/Lever/WhiteSpace/One-Time + + + (Activate Signal) + implementation.placeable["Actor"]["(Activate Signal)"] + + + (Activate Tag) + implementation.placeable["Actor"]["(Activate Tag)"] + + + + + Dynamic/Switch/Lever/Toggle + + Actor + + Dynamic/Switch/Lever/One-Time + + (Activate Signal) + (Activate Signal) + (Activate Tag) + (Activate Tag) + + + + + + + + Dynamic/Switch/Lever/WhiteSpace/Timed Toggle + + + Actor + implementation.placeable["Actor"] + + + + + Actor 1x1 + + Actor + + Dynamic/Switch/Lever/Damage Timed Toggle + + Start 1 Signal + (State 1 Signal) + State 0 Signal + (State 0 Signal) + State 0 Tag + (State 0 Tag) + State 1 Tag + (State 1 Tag) + + + + + + + + Dynamic/Switch/Lever/WhiteSpace/Toggle + + + Actor + implementation.handlers[0].action.actor + + + + + world/dynamic/switch/multistate/model.dat + + Variant + Active + + + + 0.9 + 0.9 + + + + + + Dynamic/Switch/Lever/Damage Toggle + + (State 0 Signal) + (State 0 Signal) + (State 0 Tag) + (State 0 Tag) + (State 1 Signal) + (State 1 Signal) + (State 1 Tag) + (State 1 Tag) + + + + + + + + + Dynamic/Switch/Party Platform/Base + + + Action + implementation.handlers[0].action.actor["Action"] + + + + + world/dynamic/switch/button_large/model.dat + + + + + + Dynamic/Switch/Party Platform/Base + + Action + + + + + + + + + + + Dynamic/Switch/Party Platform/Close Door, Open Door + + + Action + implementation.placeable["Action"] + + + + + Dynamic/Switch/Party Platform/Base + + Action + + + + + + + + Dynamic/Switch/Party Platform/Close Door, Spawn + + + Action + implementation.placeable["Action"] + + + + + Dynamic/Switch/Party Platform/Base + + Action + + + + + + + + Dynamic/Switch/Party Platform/Spawn + + + Action + implementation.placeable["Action"] + + + + + Dynamic/Switch/Party Platform/Base + + Action + + + + + + + + Dynamic/Switch/Party Platform/WhiteSpace/Base + + + Action + implementation.handlers[0].action.actor["Action"] + + + + + model/compound/marked.dat + + Marker Model + + editor/marker/vertex/model.dat + + Model + + world/dynamic/switch/button_large/model_whitespace.dat + + + + + + + + Dynamic/Switch/Party Platform/Party (WhiteSpace) + + Action + + + + + + + + + + + Dynamic/Switch/Party Platform/WhiteSpace/Close Door, Open Door + + + Action + implementation.placeable["Action"] + + + + + Dynamic/Switch/Party Platform/WhiteSpace/Base + + Action + + + + + + + + Dynamic/Switch/Party Platform/WhiteSpace/Close Door, Spawn + + + Action + implementation.placeable["Action"] + + + + + Dynamic/Switch/Party Platform/WhiteSpace/Base + + Action + + + + + + + + Dynamic/Switch/Party Platform/WhiteSpace/Spawn + + + Action + implementation.placeable["Action"] + + + + + Dynamic/Switch/Party Platform/WhiteSpace/Base + + + + + Encounter/Parts/Formation Lead + + + Spawn Table + implementation.placeable["Action"].spawn_table, implementation.placeable["Model"]["Preview"]["Spawn + Table"] + + + + + Trigger/One Time Action + + Action + + + Model + + editor/marker/monster_wave/model.dat + + Colorization + 268 + Preview + + model/wrapper/spawntablewrapper.dat + + Spawn Table + + + + Wave Number + + + + Tag + (Spawn Tag) + + + + + + Encounter/Parts/Formation Sub + + + Spawn Table + implementation.placeable["Action"].spawn_table, implementation.placeable["Model"]["Preview"]["Spawn + Table"] + + + + + Trigger/One Time Action + + Action + + + Model + + editor/marker/monster_wave/model.dat + + Colorization + 266 + Preview + + model/wrapper/spawntablewrapper.dat + + Spawn Table + + + + Wave Number + + + + Tag + (Spawn Tag) + + + + + + Generic Marker + + + Tag + implementation.tags.tags[0] + + + + + editor/marker/flag/model.dat + + Variant + Pawn + + + + (tag 1) + + + + + Item/Capsule/Health Capsule + + + Item/Point Drop + + Actor + + Item/Pickups/Capsule/Health Capsule + + + + + + + Item/Consumable/Heart + + + Item/Point Drop + + Actor + + Item/Consumable/Hearts/Heart + + + + + + + Item/Consumable/Omegapod + + + Item/Item Drop (Table) + + Icon + ui/icon/inventory/icon_vitapod.png + Table Spawn + + Treasure/Health/Parts/Vitapod Tier 3 + + + + + + + Item/Consumable/Super Vitapod + + + Item/Item Drop (Table) + + Icon + ui/icon/inventory/icon_vitapod.png + Table Spawn + + Treasure/Health/Vitapod + + Depth Offset + 0 + + + + + + + + Item/Consumable/Vitapod + + + Item/Item Drop (Table) + + Icon + ui/icon/inventory/icon_vitapod.png + Table Spawn + + Treasure/Health/Vitapod + + Depth Offset + 0 + + + + + + + + Item/Crowns/Copper Crown + + + Item/Point Drop + + Actor + + Item/Consumable/Crowns/Copper Crown + + + + + + + Item/Crowns/Gold Crown + + + Item/Point Drop + + Actor + + Item/Consumable/Crowns/Gold Crown + + + + + + + Item/Crowns/Scaled Crown + + + Item/Point Drop (Table) + + Actor + + Item/Consumable/Crowns/Copper Crown + + Spawn Table + + Treasure/Crowns/Scaled Crown + + + + + + + Item/Crowns/Silver Crown + + + Item/Point Drop + + Actor + + Item/Consumable/Crowns/Silver Crown + + + + + + + Item/Heat/Ember 1 + + + Item/Point Drop + + Actor + + Item/Consumable/Heat/Ember 1 + + + + + + + Item/Heat/Ember 2 + + + Item/Point Drop + + Actor + + Item/Consumable/Heat/Ember 2 + + + + + + + Item/Heat/Ember 3 + + + Item/Point Drop + + Actor + + Item/Consumable/Heat/Ember 3 + + + + + + + Item/Heat/Scaled Ember + + + Item/Point Drop (Table) + + Actor + + Item/Consumable/Heat/Ember 1 + + Spawn Table + + Treasure/Heat/Scaled Ember + + + + + + + Item/Item Drop + + + Texture + implementation.model["Texture"] + + + Actor + implementation.handlers[0].action.actor + + + + + item/drop/model.dat + + Icon Halo + + item/drop/ambient_rim.dat + + Fixed + + + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 513 + + + 769 + + + 1025 + + + File + ui/icon/inventory/icon_armor.png + + + Variant + item + + + + + + + + + + Item/Item Drop (Table) + + + Table Spawn + implementation.handlers[0].action.spawn_table + + + Icon + implementation.model["Texture"]["File"] + + + + + item/drop/model.dat + + Icon Halo + + item/drop/ambient_rim.dat + + Fixed + + + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 516 + + + 771 + + + 1026 + + + File + ui/icon/inventory/icon_misc.png + + + Variant + item + + + + + + + + + + + + Item/Key/Silver Key + + + Item/Point Drop + + Actor + + Item/Key/Silver Key + + + + + + + Item/Point Drop + + + Actor + implementation.handlers[0].action.actor, implementation.model["Actor"] + + + + + model/wrapper/actorwrapper.dat + + Actor + + + + + + + + + + + Item/Point Drop (Table) + + + Actor + implementation.model["Actor"] + + + Spawn Table + implementation.handlers[0].action.spawn_table + + + + + model/wrapper/actorwrapper.dat + + Actor + + + + + + + + + + + + + Item/Vial/Curse Vial + + + Item/Point Drop + + Actor + + Item/Pickups/Vial/Curse Vial + + + + + + + Item/Vial/Fire Vial + + + Item/Point Drop + + Actor + + Item/Pickups/Vial/Fire Vial + + + + + + + Item/Vial/Freeze Vial + + + Item/Point Drop + + Actor + + Item/Pickups/Vial/Freeze Vial + + + + + + + Item/Vial/Poison Vial + + + Item/Point Drop + + Actor + + Item/Pickups/Vial/Poison Vial + + + + + + + Item/Vial/Shock Vial + + + Item/Point Drop + + Actor + + Item/Pickups/Vial/Shock Vial + + + + + + + Item/Vial/Sleep Vial + + + Item/Point Drop + + Actor + + Item/Pickups/Vial/Sleep Vial + + + + + + + Item/Vial/Stun Vial + + + Item/Point Drop + + Actor + + Item/Pickups/Vial/Stun Vial + + + + + + + Lights/Border Decal/Arcade + + + Texture + implementation.model["Texture"] + + + Width + implementation.model["Width"], implementation.shape.width + + + Height + implementation.model["height"], implementation.shape.height + + + + + world/prop/outershell/arcade/lighttransition/marker_model.dat + + Color + 0.7294118, 0.4392157, 0.0, 1.0 + Fog State Override + + 15.0 + 40.0 + + Texture + 1x1 + Width + 1.0 + height + 1.0 + + + + + 0 + 0 + + + + Lights/Directional Light + + + Diffuse + implementation.model["Diffuse"] + + + Width + implementation.shape.width, implementation.model["Extent"].size_x + + + Height + implementation.shape.height, implementation.model["Extent"].size_y + + + Direction + implementation.model["Direction"] + + + + + editor/marker/directionallight/model.dat + + Diffuse + 1.0, 1.0, 1.0, 1.0 + Direction + 0.0, -4.371139E-8, 1.0 + Extent + + 10.0 + 10.0 + 20.0 + + + + + 10.0 + 10.0 + + 0 + 0 + + + + Lights/Point Light + + + Diffuse + implementation.model["Diffuse"] + + + Attenuation + implementation.model["Attenuation"] + + + Extent + implementation.model["Extent"] + + + + + editor/marker/pointlight/model.dat + + Attenuation + + 0.7 + 0.7 + + Diffuse + 1.0, 1.0, 1.0, 1.0 + Extent + 10.0 + + + + + + + 0.35 + + + + + 0 + 0 + + + + Lights/Point/Default + + + Colors + implementation.model["Colors"] + + + Attenuation + implementation.model["Attenuation"] + + + Extent + implementation.model["Extent"] + + + + + lights/point/default_marker.dat + + Attenuation + + 0.6 + 0.6 + + Colors + + + Extent + + 20.0 + 20.0 + 20.0 + + + + + + 0 + 0 + + + + Lights/Prop/Sunbeam, short + + + world/prop/outershell/sunbeam/compound_model.dat + + Model + beam_small + + + + 1.5 + + 0 + 0 + + + + Lights/Prop/Sunbeam, tall + + + world/prop/outershell/sunbeam/compound_model.dat + + Model + beam_tall + + + + 1.5 + + 0 + 0 + + + + Lights/Spot/Default + + + Color + implementation.model["Color"] + + + Attenuation + implementation.model["Attenuation"] + + + Direction + implementation.model["Direction"] + + + Falloff + implementation.model["Falloff"] + + + Extent + implementation.model["Extent"] + + + Shape + implementation.shape + + + + + lights/spot/default_marker.dat + + Attenuation + + 0.6 + 0.06 + 0.0060 + + Color + 1.0, 1.0, 1.0, 1.0 + Direction + 0.0, -4.371139E-8, -1.0 + Extent + + 12.0 + 12.0 + 24.0 + + Falloff + + 10.0 + 40.0 + + + + + 12.0 + 12.0 + + 0 + 0 + + + + Model Tester + + + Model + implementation.model + + + + + model/conditional/marker.dat + + Model + + editor/marker/vertex/model.dat + + + + + + + + 0.5 + + + 2.8725E-41 + + + + + + + -2.8725E-41 + + + + + 0 + 0 + + + + Null barrier, no-walk + + + editor/marker/tiles/null_nowalk.dat + + Transform + + -0.5, -0.5, 0.0 + + + + + 1.02 + 1.02 + + 98 + 0 + + + + Null barrier, no-walk no-shoot + + + editor/marker/tiles/null_noshoot.dat + + Transform + + -0.5, -0.5, 0.0 + + + + + 1.02 + 1.02 + + 225 + 0 + + + + Orbit Trap/3 Trap Holes + + + Speed + implementation.handlers[0].action.actor["Speed"], implementation.handlers[1].action.actor["Speed"], implementation.handlers[2].action.actor["Speed"] + + + Starting Rotation + implementation.handlers[0].action.actor["Starting Rotation"], implementation.handlers[1].action.actor["Starting Rotation"], implementation.handlers[2].action.actor["Starting Rotation"] + + + + + editor/marker/flag/model.dat + + Variant + Queen + + + + + + + Orbital/Fire + + Orbit Radius + 1.5 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + Orbital/Fire + + Orbit Radius + 4.5 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + Orbital/Fire + + Orbit Radius + 7.5 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + + Orbit Trap/4 Trap + + + Speed + implementation.handlers[0].action.actor["Speed"], implementation.handlers[1].action.actor["Speed"], implementation.handlers[2].action.actor["Speed"] + + + Starting Rotation + implementation.handlers[0].action.actor["Starting Rotation"], implementation.handlers[1].action.actor["Starting Rotation"], implementation.handlers[2].action.actor["Starting Rotation"] + + + + + editor/marker/flag/model.dat + + Variant + Queen + + + + + + + Orbital/Fire + + Orbit Radius + 1.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + Orbital/Fire + + Orbit Radius + 2.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + Orbital/Fire + + Orbit Radius + 3.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + + Orbit Trap/4 Trap Core + + + Speed + implementation.handlers[0].action.actor["Speed"], implementation.handlers[1].action.actor["Speed"], implementation.handlers[2].action.actor["Speed"] + + + Starting Rotation + implementation.handlers[0].action.actor["Starting Rotation"], implementation.handlers[1].action.actor["Starting Rotation"], implementation.handlers[2].action.actor["Starting Rotation"] + + + + + editor/marker/flag/model.dat + + Variant + Queen + + + + + + + Orbital/Core + + Orbit Radius + 1.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + Orbital/Core + + Orbit Radius + 2.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + Orbital/Core + + Orbit Radius + 3.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + + Orbit Trap/8 Trap + + + Speed + implementation.handlers[0].action.actor["Speed"], implementation.handlers[1].action.actor["Speed"], implementation.handlers[2].action.actor["Speed"], implementation.handlers[3].action.actor["Speed"], implementation.handlers[4].action.actor["Speed"], implementation.handlers[5].action.actor["Speed"], implementation.handlers[6].action.actor["Speed"], implementation.handlers[7].action.actor["Speed"] + + + Starting Rotation + implementation.handlers[0].action.actor["Starting Rotation"], implementation.handlers[1].action.actor["Starting Rotation"], implementation.handlers[2].action.actor["Starting Rotation"], implementation.handlers[3].action.actor["Starting Rotation"], implementation.handlers[4].action.actor["Starting Rotation"], implementation.handlers[5].action.actor["Starting Rotation"], implementation.handlers[6].action.actor["Starting Rotation"], implementation.handlers[7].action.actor["Starting Rotation"] + + + + + editor/marker/flag/model.dat + + Variant + Queen + + + + + + + Orbital/Fire + + Orbit Radius + 1.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + Orbital/Fire + + Orbit Radius + 2.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + Orbital/Fire + + Orbit Radius + 3.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + Orbital/Fire + + Orbit Radius + 4.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + Orbital/Fire + + Orbit Radius + 5.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + Orbital/Fire + + Orbit Radius + 6.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + Orbital/Fire + + Orbit Radius + 7.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + Orbital/Fire + + Orbit Radius + 8.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + + Orbit Trap/8 Trap Arc + + + Speed + implementation.handlers[0].action.actor["Speed"], implementation.handlers[1].action.actor["Speed"], implementation.handlers[2].action.actor["Speed"], implementation.handlers[3].action.actor["Speed"], implementation.handlers[4].action.actor["Speed"], implementation.handlers[5].action.actor["Speed"], implementation.handlers[6].action.actor["Speed"], implementation.handlers[7].action.actor["Speed"] + + + + + editor/marker/flag/model.dat + + Variant + Queen + + + + + + + Orbital/Fire + + Orbit Radius + 1.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + Orbital/Fire + + Orbit Radius + 2.0 + Speed + 0.33 + Starting Rotation + 0.08726646 + + + + + + + + Orbital/Fire + + Orbit Radius + 3.0 + Speed + 0.33 + Starting Rotation + 0.17453292 + + + + + + + + Orbital/Fire + + Orbit Radius + 4.0 + Speed + 0.33 + Starting Rotation + 0.2617994 + + + + + + + + Orbital/Fire + + Orbit Radius + 5.0 + Speed + 0.33 + Starting Rotation + 0.34906584 + + + + + + + + Orbital/Fire + + Orbit Radius + 6.0 + Speed + 0.33 + Starting Rotation + 0.43633232 + + + + + + + + Orbital/Fire + + Orbit Radius + 7.0 + Speed + 0.33 + Starting Rotation + 0.5235988 + + + + + + + + Orbital/Fire + + Orbit Radius + 8.0 + Speed + 0.33 + Starting Rotation + 0.61086524 + + + + + + + + + Prop/Castle, Firestorm/Brazier, float + + + world/prop/structural/brazier_float/model.dat + + Texture + world/prop/structural/brazier_ground/skin_firestorm.png + + + + 0.5 + + 0 + + + + Prop/Castle, Firestorm/Burnt Structures/Watchtower - 5x5 + + + world/prop/castle_fire/burnt_structures/watchtower.dat + + 0 + 0 + + + + Prop/Castle, Firestorm/Chains/Chain - rail 01 + + + world/prop/castle_fire/chain_rail_01.dat + + + + + Prop/Castle, Firestorm/Crenellation x1 + + + world/prop/castle_fire/crenel_set.dat + + 0 + 0 + + + + Prop/Castle, Firestorm/Furniture/Table, 1-tile 01 + + + world/prop/generic/interior/table_01.dat + + Texture + world/prop/castle_fire/table_01_firestorm.png + + + + + + + + Prop/Castle, Firestorm/Furniture/Tapestry, high + + + world/prop/structural/tapestry/model.dat + + Texture + world/prop/structural/tapestry/skin_firestorm.png + + + + + 0 + + + + Prop/Castle, Firestorm/Furniture/Tapestry, low + + + model/compound/model.dat + + Influences + + false + false + + Models + + + + world/prop/structural/tapestry/model_low.dat + + Texture + world/prop/structural/tapestry/skin_firestorm.png + + + + 0.0, -0.14, -0.12 + + + + + + + + 0 + + + + Prop/Castle, Firestorm/Nature/Boulder 01 + + + world/prop/catacomb/stone_01.dat + + Receives Projections + false + Texture + world/prop/castle_fire/nature/boulder_01.png + + + + 0.5 + + 0 + + + + Prop/Castle, Firestorm/Nature/Tree, scorched + + + world/prop/castle_fire/nature/tree_01.dat + + + 0.45 + + 0 + + + + Prop/Castle/Brazier/Brazier, float + + + world/prop/structural/brazier_float/model.dat + + Texture + world/prop/structural/brazier_ground/skin_brass.png + + + + 0.5 + + 0 + + + + Prop/Castle/Tapestry/Red, high + + + world/prop/structural/tapestry/model.dat + + Texture + world/prop/structural/tapestry/skin_castlered.png + + + + + 0 + + + + Prop/Castle/Tapestry/Red, low + + + world/prop/structural/tapestry/model_low.dat + + Texture + world/prop/structural/tapestry/skin_castlered.png + + + + + 0 + + + + Prop/Catacombs/Fungibulb/Fungibulb, small 1 + + + world/prop/catacomb/Fungus bulbs/fungus_small01.dat + + + + + + 0.85 + 0.85 + + + + + 0 + 0 + + + + Prop/Catacombs/Fungibulb/Fungibulb, small 2 + + + world/prop/catacomb/Fungus bulbs/small_half.dat + + + + + + 0.6 + + + 0.0, 0.25 + + + + + 0 + 0 + + + + Prop/Catacombs/Fungibulb/Fungibulb, small 3 + + + world/prop/catacomb/Fungus bulbs/small_corner-out.dat + + + + + + 0.5 + 0.5 + + + -0.25, 0.25 + + + + + 0 + 0 + + + + Prop/Catacombs/Natural/Stone, medium 01 + + + world/prop/catacomb/stone_01.dat + + + 0.5 + + 0 + + + + Prop/Catacombs/Pipeworks/Edge pipe, down + + + world/prop/catacomb/pipeworks/edge_vert_down.dat + + 0 + + + + Prop/Catacombs/Pipeworks/Edge pipe, up + + + world/prop/catacomb/pipeworks/edge_vert_up.dat + + 0 + + + + Prop/Catacombs/Pipeworks/Flat pipe + + + world/prop/catacomb/pipeworks/pipe_billboard01.dat + + 0 + + + + Prop/Catacombs/Pipeworks/Giant pipe 1 + + + world/prop/catacomb/pipeworks/pipe_L_horiz_down.dat + + 0 + + + + Prop/Catacombs/Pipeworks/Giant pipe 2 + + + world/prop/catacomb/pipeworks/pipe_L_horiz_up.dat + + 0 + + + + Prop/Catacombs/Pipeworks/Giant pipe 3 + + + world/prop/catacomb/pipeworks/pipe_S_vert.dat + + 0 + + + + Prop/Catacombs/Rubble/Brick loose 01, catacombs + + + world/prop/catacomb/rubble/brick_loose01.dat + + Variant + Catacomb + + + 0 + 0 + + + + Prop/Catacombs/Rubble/Brick loose 02, catacombs + + + world/prop/catacomb/rubble/brick_loose02.dat + + Variant + Catacomb + + + 0 + 0 + + + + Prop/Catacombs/Rubble/Brick pile 01, catacombs + + + world/prop/catacomb/rubble/brick_pile01.dat + + Variant + Catacomb + + + + + 0 + + + + Prop/Catacombs/Rubble/Brick pile 02, catacombs + + + world/prop/catacomb/rubble/brick_pile02.dat + + Variant + Catacomb + + + + + 0 + + + + Prop/City Base/Awning/Awning, 1-unit piece, capped + + + Variant + implementation.model["Variant"] + + + + + world/prop/city_base/awning.dat + + Model + awning_x1_cap + Variant + Red + + + + + 0 + 0 + + + + Prop/City Base/Awning/Awning, 1-unit, no caps + + + Variant + implementation.model["Variant"] + + + + + world/prop/city_base/awning.dat + + Model + awning_x1 + Variant + Red + + + + + 0 + 0 + + + + Prop/City Base/Awning/Awning, 2-unit, no caps + + + Variant + implementation.model["Variant"] + + + + + world/prop/city_base/awning.dat + + Model + awning_x2 + Variant + Red + + + + + + + 2.0 + + + 0.5, 0.0 + + + + + 0 + 0 + + + + Prop/City Base/Awning/Awning, 3-unit, no caps + + + Variant + implementation.model["Variant"] + + + + + world/prop/city_base/awning.dat + + Model + awning_x3 + Variant + Red + + + + 3.0 + + 0 + 0 + + + + Prop/City Base/Awning/Awning, 4-unit, no caps + + + Variant + implementation.model["Variant"] + + + + + world/prop/city_base/awning.dat + + Model + awning_x4 + Variant + Red + + + + 4.0 + + 0 + 0 + + + + Prop/City Base/Awning/Awning, cap Left + + + Variant + implementation.model["Variant"] + + + + + world/prop/city_base/awning.dat + + Model + awning_cap_L + Variant + Red + + + 0 + 0 + + + + Prop/City Base/Awning/Awning, cap Right + + + Variant + implementation.model["Variant"] + + + + + world/prop/city_base/awning.dat + + Model + awning_cap_R + Variant + Red + + + 0 + 0 + + + + Prop/City Base/Brazier, tall (2) + + + world/prop/structural/brazier_tall/model.dat + + + 0.4 + + + + + + Dynamic/Breakable Objects/Castle/Brazier, tall + + + + + + + + Prop/City Base/Fire Hydrant + + + world/prop/city_base/firehydrant.dat + + + 0.44 + + + + + + Dynamic/Breakable Objects/City, Base/Fire hydrant + + + + + + + + Prop/City Base/Girder props/Girder, no-walk, x4 + + + world/prop/city_base/girders.dat + + Model + gird_prop_x4 + Receives Projections + true + Texture + world/tileset/city_base/girder/girder.png + + + + + + + 4.0 + + + 0.0, 1.5 + + + + + + + + Prop/City Base/Girder props/Girder, no-walk, x6 + + + world/prop/city_base/girders.dat + + Model + gird_prop_x6 + + + + + + + 6.0 + + + 0.0, 2.5 + + + + + + + + Prop/City Base/Girder props/Girder, no-walk, x8 + + + world/prop/city_base/girders.dat + + Model + gird_prop_x8 + + + + + + + 8.0 + + + 0.0, 3.5 + + + + + + + + Prop/City Base/Girder props/Girder, walkable, x4 + + + world/prop/city_base/girders.dat + + Model + gird_prop_x4 + + + 0 + + + + Prop/City Base/Girder props/Girder, walkable, x6 + + + world/prop/city_base/girders.dat + + Model + gird_prop_x6 + + + 0 + + + + Prop/City Base/Girder props/Girder, walkable, x8 + + + world/prop/city_base/girders.dat + + Model + gird_prop_x8 + + + 0 + + + + Prop/City Base/Litter, blowing paper + + + Marker Color + implementation.model["Marker Color"] + + + + + world/prop/city_base/litter_paperblow.dat + + Marker Color + 0.0, 0.72156864, 0.003921569, 0.75 + + + + 8.0 + 8.0 + + 0 + 0 + + + + Prop/City Base/Mailbox + + + world/prop/city_base/mailbox.dat + + + + + + + + Dynamic/Breakable Objects/City, Base/Mailbox + + + + + + + + Prop/City Base/Scaffolding/Beam, back, horiz x2 + + + world/prop/city_base/scaffold_beams.dat + + Model + back_horiz_beam_x2 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Beam, back, horiz x3 + + + world/prop/city_base/scaffold_beams.dat + + Model + back_horiz_beam_x3 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Beam, back, horiz x4 + + + world/prop/city_base/scaffold_beams.dat + + Model + back_horiz_beam_x4 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Beam, back, horiz x6 + + + world/prop/city_base/scaffold_beams.dat + + Model + back_horiz_beam_x6 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Beam, front, horiz x2 + + + world/prop/city_base/scaffold_beams.dat + + Model + front_horiz_beam_x2 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Beam, front, horiz x3 + + + world/prop/city_base/scaffold_beams.dat + + Model + front_horiz_beam_x3 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Beam, front, horiz x4 + + + world/prop/city_base/scaffold_beams.dat + + Model + front_horiz_beam_x4 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Girder, vert 01 + + + world/prop/city_base/scaffold_beams.dat + + Model + gird_vert_01 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Post, back, vert 01 + + + world/prop/city_base/scaffold_beams.dat + + Model + backpost_01 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Post, back, vert 02 + + + world/prop/city_base/scaffold_beams.dat + + Model + backpost_02 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Post, back, vert 03 + + + world/prop/city_base/scaffold_beams.dat + + Model + backpost_03 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Post, back, vert 04 + + + world/prop/city_base/scaffold_beams.dat + + Model + backpost_04 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Post, front, vert 01 + + + world/prop/city_base/scaffold_beams.dat + + Model + frontpost_01 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Post, front, vert 02 + + + world/prop/city_base/scaffold_beams.dat + + Model + frontpost_02 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Post, front, vert 03 + + + world/prop/city_base/scaffold_beams.dat + + Model + frontpost_03 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Post, front, vert 04 + + + world/prop/city_base/scaffold_beams.dat + + Model + frontpost_04 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Post, side, vert 01 + + + world/prop/city_base/scaffold_beams.dat + + Model + sidepost_01 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Post, side, vert 02 + + + world/prop/city_base/scaffold_beams.dat + + Model + sidepost_02 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Post, side, vert 03 + + + world/prop/city_base/scaffold_beams.dat + + Model + sidepost_03 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Post, side, vert 04 + + + world/prop/city_base/scaffold_beams.dat + + Model + sidepost_04 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Sheet, corrugated 01 + + + Color + implementation.model["Color"] + + + + + world/prop/city_base/scaffold_tiles.dat + + Color + + Model + sheet_x1_01 + + + 0 + + + + Prop/City Base/Scaffolding/Sheet, corrugated 02 + + + Color + implementation.model["Color"] + + + + + world/prop/city_base/scaffold_tiles.dat + + Color + + Model + sheet_x1_02 + + + 0 + + + + Prop/City Base/Scaffolding/Sheet, corrugated x2 + + + Color + implementation.model["Color"] + + + + + world/prop/city_base/scaffold_tiles.dat + + Color + + Model + sheet_x2 + + + 0 + + + + Prop/City Base/Scaffolding/Tile-sized pieces/Plate 01 + + + Color + implementation.model["Color"] + + + + + world/prop/city_base/scaffold_tiles.dat + + Color + + Model + scaffold_back_plate + + + + + + + + Prop/City Base/Scaffolding/Tile-sized pieces/Platform 01 + + + Color + implementation.model["Color"] + + + + + world/prop/city_base/scaffold_tiles.dat + + Color + + Model + scaffold_platform01 + + + + + + + + Prop/City Base/Scaffolding/Tile-sized pieces/Platform 02 + + + Color + implementation.model["Color"] + + + + + world/prop/city_base/scaffold_tiles.dat + + Color + + Model + scaffold_platform02 + + + + + + + + Prop/City Base/Scaffolding/Tile-sized pieces/Platform 03 + + + Color + implementation.model["Color"] + + + + + world/prop/city_base/scaffold_tiles.dat + + Color + + Model + scaffold_platform03 + + + + + + + + Prop/City Base/Scaffolding/Tile-sized pieces/Platform 04 + + + Color + implementation.model["Color"] + + + + + world/prop/city_base/scaffold_tiles.dat + + Color + + Model + scaffold_platform04 + + + + + + + + Prop/City Base/Scaffolding/Tile-sized pieces/Tile piece 01 + + + Color + implementation.model["Color"] + + + + + world/prop/city_base/scaffold_tiles.dat + + Color + + Model + scaffold_box_01 + + + + + + + + Prop/City Base/Scaffolding/Tile-sized pieces/Tile piece x2 + + + Color + implementation.model["Color"] + + + + + world/prop/city_base/scaffold_tiles.dat + + Color + Red + Model + scaffold_box_x2 + + + + + + + 2.0 + + + 0.5, 0.0 + + + + + + + + Prop/City Base/Stairs (fire escape)/Platform 1 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + platform_01 + + + 0 + + + + Prop/City Base/Stairs (fire escape)/Platform 2 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + platform_02 + + + 0 + + + + Prop/City Base/Stairs (fire escape)/Platform 3 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + platform_03 + + + 0 + + + + Prop/City Base/Stairs (fire escape)/Platform 4 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + platform_04 + + + 0 + + + + Prop/City Base/Stairs (fire escape)/Platform x2 01 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + platform_x2_01 + + + 0 + + + + Prop/City Base/Stairs (fire escape)/Platform x2 02 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + platform_x2_02 + + + 0 + + + + Prop/City Base/Stairs (fire escape)/Platform x2 03 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + platform_x2_03 + + + 0 + + + + Prop/City Base/Stairs (fire escape)/Platform x2 04 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + platform_x2_04 + + + 0 + + + + Prop/City Base/Stairs (fire escape)/Rail L1 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + rail_L01 + + + + + + + 0.5 + 1.04 + + + 0.25, 0.0 + + + + + + + + Prop/City Base/Stairs (fire escape)/Rail L2 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + rail_L02 + + + + + + + 0.5 + 1.04 + + + 0.25, 0.0 + + + + + + + + Prop/City Base/Stairs (fire escape)/Rail R1 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + rail_R01 + + + + + + + 0.5 + 1.04 + + + -0.25, 0.0 + + + + + + + + Prop/City Base/Stairs (fire escape)/Rail R2 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + rail_R02 + + + + + + + 0.5 + 1.04 + + + -0.25, 0.0 + + + + + + + + Prop/City Base/Stairs (fire escape)/Rail straight x2, 01 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + rail_x2_01 + + + + + + + 0.54 + 2.04 + + + -0.25, 0.5 + + + + + + + + Prop/City Base/Stairs (fire escape)/Rail straight x3, 01 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + rail_x3_01 + + + + + + + 0.54 + 3.04 + + + -0.25, 1.0 + + + + + + + + Prop/City Base/Stairs (fire escape)/Rail straight, 01 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + rail_01 + + + + + + + 0.54 + 1.04 + + + -0.25, 0.0 + + + + + + + + Prop/City Base/Stairs (fire escape)/Rail straight, 02 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + rail_02 + + + + + + + 0.54 + 1.04 + + + -0.25, 0.0 + + + + + + + + Prop/City Base/Stairs (fire escape)/Rail straight, 03 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + rail_03 + + + + + + + 0.54 + 1.04 + + + -0.25, 0.0 + + + + + + + + Prop/City Base/Stairs (fire escape)/Rail straight, ladder + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + rail_ladder + + + + + + + 0.54 + 1.04 + + + -0.25, 0.0 + + + + + + + + Prop/City Base/Stairs (fire escape)/Rail, corner post + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + corner_post + + + + + + + 0.45 + + + -0.2, 0.2 + + + + + + + + Prop/City Base/Stairs (fire escape)/Stair beam x1 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + stair_beam_x1 + + + 0 + 0 + + + + Prop/City Base/Stairs (fire escape)/Stair beam x2 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + stair_beam_x2 + + + 0 + 0 + + + + Prop/City Base/Stairs (fire escape)/Stair beam x3 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + stair_beam_x3 + + + 0 + 0 + + + + Prop/City Base/Stairs (fire escape)/Stair beam x4 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + stair_beam_x4 + + + 0 + 0 + + + + Prop/City Base/Stairs (fire escape)/Stair beam x6 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + stair_beam_x6 + + + 0 + 0 + + + + Prop/City Base/Stairs (fire escape)/Stairs 3 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + stairs_03 + + + 0 + + + + Prop/City Base/Stairs (fire escape)/Stairs 4 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + stairs_04 + + + 0 + + + + Prop/City Base/Stairs (fire escape)/Stairs x2 01 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + stairs_01 + + + 0 + + + + Prop/City Base/Stairs (fire escape)/Stairs x2 02 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + stairs_02 + + + 0 + + + + Prop/City Base/Stairs (fire escape)/Stairs x2 03 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + stairs_03 + + + 0 + + + + Prop/City Base/Stairs (fire escape)/Stairs x2 04 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + stairs_04 + + + 0 + + + + Prop/City Base/Street light 01 + + + world/prop/city_base/streetlamp_01.dat + + + + 0 + + + + Prop/City Base/Street markings/White fade + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + line_x1_fade + + + + + + + 0.4 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White x1 01 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + line_x1_01 + + + + + + + 0.4 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White x1 02 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + line_x1_02 + + + + + + + 0.4 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White x1 03 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + line_x1_03 + + + + + + + 0.4 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White x1 04 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + line_x1_04 + + + + + + + 0.4 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White x2 01 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + line_x2_01 + + + + + + + 2.0 + 0.4 + + + 0.5, 0.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White x2 02 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + line_x2_02 + + + + + + + 2.0 + 0.4 + + + 0.5, 0.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White x3 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + line_x3_01 + + + + + + + 3.0 + 0.4 + + + 1.0, 0.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White x4 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + line_x4_01 + + + + + + + 4.0 + 0.4 + + + 1.5, 0.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White, X box x2 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + x_box_x2 + + + + + + + 2.2 + 2.2 + + + 0.5, 0.5 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White, corner curve x2 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + line_curve_2x2_01 + + + + + + + 2.0 + 2.0 + + + -0.5, -0.5 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White, corner curve x3 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + line_curve_3x3_01 + + + + + + + 3.0 + 3.0 + + + -1.0, -1.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White, corner dashed x5 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + dash_curve_5x5_01 + + + + + + + 5.0 + 5.0 + + + -2.0, -2.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White, corner sharp x1 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + line_corner_x1 + + + + + + + 0.75 + 0.75 + + + -0.125, -0.125 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White, hatchbox cap + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + hash_box_cap + + + + + + + 0.6 + 1.8 + + + -0.2, 0.5 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White, hatchbox x1 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + hash_box_x1 + + + + + + + 1.8 + + + 0.0, 0.5 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White, hatchbox x2 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + hash_box_x2 + + + + + + + 2.0 + 1.8 + + + 0.5, 0.5 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White, hatchbox x4 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + hash_box_x4 + + + + + + + 4.0 + 1.8 + + + 1.5, 0.5 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White, thick x2 01 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + line_fat_x2_01 + + + + + + + 2.0 + 0.68 + + + 0.5, 0.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White, thick x2 02 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + line_fat_x2_02 + + + + + + + 2.0 + 0.68 + + + 0.5, 0.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow fade + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + line_x1_fade + + + + + + + 0.4 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow x1 01 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + line_x1_01 + + + + + + + 0.4 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow x1 02 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + line_x1_02 + + + + + + + 0.4 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow x1 03 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + line_x1_03 + + + + + + + 0.4 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow x1 04 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + line_x1_04 + + + + + + + 0.4 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow x2 01 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + line_x2_01 + + + + + + + 2.0 + 0.4 + + + 0.5, 0.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow x2 02 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + line_x2_02 + + + + + + + 2.0 + 0.4 + + + 0.5, 0.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow x3 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + line_x3_01 + + + + + + + 3.0 + 0.4 + + + 1.0, 0.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow x4 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + line_x4_01 + + + + + + + 4.0 + 0.4 + + + 1.5, 0.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow, X box x2 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + x_box_x2 + + + + + + + 2.2 + 2.2 + + + 0.5, 0.5 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow, corner curve x2 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + line_curve_2x2_01 + + + + + + + 2.0 + 2.0 + + + -0.5, -0.5 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow, corner curve x3 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + line_curve_3x3_01 + + + + + + + 3.0 + 3.0 + + + -1.0, -1.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow, corner dashed x5 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + dash_curve_5x5_01 + + + + + + + 5.0 + 5.0 + + + -2.0, -2.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow, corner sharp x1 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + line_corner_x1 + + + + + + + 0.4 + 0.4 + + + -0.5, -0.5 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow, hatchbox cap + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + hash_box_cap + + + + + + + 0.6 + 1.8 + + + -0.2, 0.5 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow, hatchbox x1 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + hash_box_x1 + + + + + + + 1.8 + + + 0.0, 0.5 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow, hatchbox x2 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + hash_box_x2 + + + + + + + 2.0 + 1.8 + + + 0.5, 0.5 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow, hatchbox x4 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + hash_box_x4 + + + + + + + 4.0 + 1.8 + + + 1.5, 0.5 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow, thick x2 01 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + line_fat_x2_01 + + + + + + + 2.0 + 0.68 + + + 0.5, 0.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow, thick x2 02 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + line_fat_x2_02 + + + + + + + 2.0 + 0.68 + + + 0.5, 0.0 + + + + + 0 + 0 + + + + Prop/Clockworks/Fan, x2 01 + + + Variant + implementation.model["Variant"] + + + + + world/prop/clockworks/fan_x2_01.dat + + Variant + Iron (default) + + + 0 + + + + Prop/Clockworks/Girder props/Girder, Blue - no-walk, x4 + + + world/prop/structural/girder/girder_set.dat + + Model + gird_prop_x4 + Receives Projections + false + Texture + world/prop/structural/girder/clockwork_blue.png + + + + + + + 4.0 + + + 0.0, 1.5 + + + + + 0 + + + + Prop/Clockworks/Girder props/Girder, Blue - no-walk, x6 + + + world/prop/structural/girder/girder_set.dat + + Model + gird_prop_x6 + Receives Projections + false + Texture + world/prop/structural/girder/clockwork_blue.png + + + + + + + 6.0 + + + 0.0, 2.5 + + + + + 0 + + + + Prop/Clockworks/Girder props/Girder, Blue - no-walk, x8 + + + world/prop/structural/girder/girder_set.dat + + Model + gird_prop_x8 + Receives Projections + false + Texture + world/prop/structural/girder/clockwork_blue.png + + + + + + + 8.0 + + + 0.0, 3.5 + + + + + 0 + + + + Prop/Clockworks/Girder props/Girder, Blue - walkable, x4 + + + world/prop/structural/girder/girder_set.dat + + Model + gird_prop_x4 + Receives Projections + true + Texture + world/prop/structural/girder/clockwork_blue.png + + + 0 + + + + Prop/Clockworks/Girder props/Girder, Blue - walkable, x6 + + + world/prop/structural/girder/girder_set.dat + + Model + gird_prop_x6 + Receives Projections + true + Texture + world/prop/structural/girder/clockwork_blue.png + + + 0 + + + + Prop/Clockworks/Girder props/Girder, Blue - walkable, x8 + + + world/prop/structural/girder/girder_set.dat + + Model + gird_prop_x8 + Receives Projections + true + Texture + world/prop/structural/girder/clockwork_blue.png + + + 0 + + + + Prop/Clockworks/Girder props/Girder, Brass - no-walk, x4 + + + world/prop/structural/girder/girder_set.dat + + Model + gird_prop_x4 + Receives Projections + false + Texture + world/prop/structural/girder/clockwork_brass.png + + + + + + + 4.0 + + + 0.0, 1.5 + + + + + 0 + + + + Prop/Clockworks/Girder props/Girder, Brass - no-walk, x6 + + + world/prop/structural/girder/girder_set.dat + + Model + gird_prop_x6 + Receives Projections + false + Texture + world/prop/structural/girder/clockwork_brass.png + + + + + + + 6.0 + + + 0.0, 2.5 + + + + + 0 + + + + Prop/Clockworks/Girder props/Girder, Brass - no-walk, x8 + + + world/prop/structural/girder/girder_set.dat + + Model + gird_prop_x8 + Receives Projections + false + Texture + world/prop/structural/girder/clockwork_brass.png + + + + + + + 8.0 + + + 0.0, 3.5 + + + + + 0 + + + + Prop/Clockworks/Girder props/Girder, Brass - walkable, x4 + + + world/prop/structural/girder/girder_set.dat + + Model + gird_prop_x4 + Receives Projections + true + Texture + world/prop/structural/girder/clockwork_brass.png + + + 0 + + + + Prop/Clockworks/Girder props/Girder, Brass - walkable, x6 + + + world/prop/structural/girder/girder_set.dat + + Model + gird_prop_x6 + Receives Projections + true + Texture + world/prop/structural/girder/clockwork_brass.png + + + 0 + + + + Prop/Clockworks/Girder props/Girder, Brass - walkable, x8 + + + world/prop/structural/girder/girder_set.dat + + Model + gird_prop_x8 + Receives Projections + true + Texture + world/prop/structural/girder/clockwork_brass.png + + + 0 + + + + Prop/Clockworks/Lamp, short rail-mounted + + + Light Color + implementation.model["Light Color"] + + + + + world/prop/clockworks/lamp_rail02.dat + + Light Color + Default (incandescent) + + + + + 0 + 0 + + + + Prop/Clockworks/Lamp, tall rail-mounted + + + Light Color + implementation.model["Light Color"] + + + + + world/prop/clockworks/lamp_rail01.dat + + Light Color + Default (incandescent) + + + + + 0 + + + + Prop/Clockworks/Pipes, floor small/Blue, T joint + + + world/prop/clockworks/pipes_small.dat + + Model + pipe_floor_t + Texture + world/prop/clockworks/pipe_small_blue.png + Texture - Brace + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, floor small/Blue, Terminate + + + world/prop/clockworks/pipes_small.dat + + Model + pipe_floor_terminate + Texture + world/prop/clockworks/pipe_small_blue.png + Texture - Brace + world/prop/clockworks/pipe_small_blue_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, floor small/Blue, elbow L + + + world/prop/clockworks/pipes_small.dat + + Model + pipe_floor_l + Texture + world/prop/clockworks/pipe_small_blue.png + Texture - Brace + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, floor small/Blue, standing - Valve, 1.5unit + + + + Spawn with Valve? + + + Handler + implementation.handlers[0] + + + + + + Yes + + Handler + + + + Props/Clockworks/Valves - red wheel, 1.5unit + + true + + + + + + + No + + Handler + + + + + + Yes + + + + + world/prop/clockworks/pipes_small_standing_set.dat + + Model + pipe_standing_1halfunit + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_blue.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_blue_fitting.png + + + + + + + 0.34 + + + 0.0, 0.08 + + + + + + + + + Props/Clockworks/Valves - red wheel, 1.5unit + + true + + + + 96 + 0 + + + + Prop/Clockworks/Pipes, floor small/Blue, standing - Valve, 1unit + + + + Spawn with Valve? + + + Handler + implementation.handlers[0] + + + + + + Yes + + Handler + + + + Props/Clockworks/Valves - red wheel, 1unit + + true + + + + + + + No + + Handler + + + + + + Yes + + + + + world/prop/clockworks/pipes_small_standing_set.dat + + Model + pipe_standing_1unit + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_blue.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_blue_fitting.png + + + + + + + 0.34 + + + 0.0, 0.08 + + + + + + + + + Props/Clockworks/Valves - red wheel, 1unit + + true + + + + 96 + 0 + + + + Prop/Clockworks/Pipes, floor small/Blue, standing - Valve, 2.5unit + + + + Spawn with Valve? + + + Handler + implementation.handlers[0] + + + + + + Yes + + Handler + + + + Props/Clockworks/Valves - red wheel, 2.5unit + + true + + + + + + + No + + Handler + + + + + + Yes + + + + + world/prop/clockworks/pipes_small_standing_set.dat + + Model + pipe_standing_2halfunit + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_blue.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_blue_fitting.png + + + + + + + 0.34 + + + 0.0, 0.08 + + + + + + + + + Props/Clockworks/Valves - red wheel, 2.5unit + + true + + + + 96 + 0 + + + + Prop/Clockworks/Pipes, floor small/Blue, standing - Valve, 2unit + + + + Spawn with Valve? + + + Handler + implementation.handlers[0] + + + + + + Yes + + Handler + + + + Props/Clockworks/Valves - red wheel, 2unit + + true + + + + + + + No + + Handler + + + + + + Yes + + + + + world/prop/clockworks/pipes_small_standing_set.dat + + Model + pipe_standing_2unit + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_blue.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_blue_fitting.png + + + + + + + 0.34 + + + 0.0, 0.08 + + + + + + + + + Props/Clockworks/Valves - red wheel, 2unit + + true + + + + 96 + 0 + + + + Prop/Clockworks/Pipes, floor small/Blue, straight half + + + world/prop/clockworks/pipes_small.dat + + Model + pipe_floor_half + Texture + world/prop/clockworks/pipe_small_blue.png + Texture - Brace + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, floor small/Blue, straight x1 + + + world/prop/clockworks/pipes_small.dat + + Model + pipe_floor_x1 + Texture + world/prop/clockworks/pipe_small_blue.png + Texture - Brace + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, floor small/Blue, straight x2 + + + world/prop/clockworks/pipes_small.dat + + Model + pipe_floor_x2 + Texture + world/prop/clockworks/pipe_small_blue.png + Texture - Brace + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, floor small/Iron, T joint + + + world/prop/clockworks/pipes_small.dat + + Model + pipe_floor_t + Texture + world/prop/clockworks/pipe_small_iron.png + Texture - Brace + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, floor small/Iron, Terminate + + + world/prop/clockworks/pipes_small.dat + + Model + pipe_floor_terminate + Texture + world/prop/clockworks/pipe_small_iron.png + Texture - Brace + world/prop/clockworks/pipe_small_iron_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, floor small/Iron, elbow L + + + world/prop/clockworks/pipes_small.dat + + Model + pipe_floor_l + Texture + world/prop/clockworks/pipe_small_iron.png + Texture - Brace + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, floor small/Iron, standing - Valve, 1.5unit + + + + Spawn with Valve? + + + Handler + implementation.handlers[0] + + + + + + Yes + + Handler + + + + Props/Clockworks/Valves - red wheel, 1.5unit + + true + + + + + + + No + + Handler + + + + + + Yes + + + + + world/prop/clockworks/pipes_small_standing_set.dat + + Model + pipe_standing_1halfunit + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_iron.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_iron_fitting.png + + + + + + + 0.34 + + + 0.0, 0.08 + + + + + + + + + Props/Clockworks/Valves - red wheel, 1.5unit + + true + + + + 96 + 0 + + + + Prop/Clockworks/Pipes, floor small/Iron, standing - Valve, 1unit + + + + Spawn with Valve? + + + Handler + implementation.handlers[0] + + + + + + Yes + + Handler + + + + Props/Clockworks/Valves - red wheel, 1unit + + true + + + + + + + No + + Handler + + + + + + Yes + + + + + world/prop/clockworks/pipes_small_standing_set.dat + + Model + pipe_standing_1unit + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_iron.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_iron_fitting.png + + + + + + + 0.34 + + + 0.0, 0.08 + + + + + + + + + Props/Clockworks/Valves - red wheel, 1unit + + true + + + + 96 + 0 + + + + Prop/Clockworks/Pipes, floor small/Iron, standing - Valve, 2.5unit + + + + Spawn with Valve? + + + Handler + implementation.handlers[0] + + + + + + Yes + + Handler + + + + Props/Clockworks/Valves - red wheel, 2.5unit + + true + + + + + + + No + + Handler + + + + + + Yes + + + + + world/prop/clockworks/pipes_small_standing_set.dat + + Model + pipe_standing_2halfunit + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_iron.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_iron_fitting.png + + + + + + + 0.34 + + + 0.0, 0.08 + + + + + + + + + Props/Clockworks/Valves - red wheel, 2.5unit + + true + + + + 96 + 0 + + + + Prop/Clockworks/Pipes, floor small/Iron, standing - Valve, 2unit + + + + Spawn with Valve? + + + Handler + implementation.handlers[0] + + + + + + Yes + + Handler + + + + Props/Clockworks/Valves - red wheel, 2unit + + true + + + + + + + No + + Handler + + + + + + Yes + + + + + world/prop/clockworks/pipes_small_standing_set.dat + + Model + pipe_standing_2unit + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_iron.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_iron_fitting.png + + + + + + + 0.34 + + + 0.0, 0.08 + + + + + + + + + Props/Clockworks/Valves - red wheel, 2unit + + true + + + + 96 + 0 + + + + Prop/Clockworks/Pipes, floor small/Iron, straight half + + + world/prop/clockworks/pipes_small.dat + + Model + pipe_floor_half + Texture + world/prop/clockworks/pipe_small_iron.png + Texture - Brace + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, floor small/Iron, straight x1 + + + world/prop/clockworks/pipes_small.dat + + Model + pipe_floor_x1 + Texture + world/prop/clockworks/pipe_small_iron.png + Texture - Brace + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, floor small/Iron, straight x2 + + + world/prop/clockworks/pipes_small.dat + + Model + pipe_floor_x2 + Texture + world/prop/clockworks/pipe_small_iron.png + Texture - Brace + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Blue/Blue, Horizontal 2unit 01 + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_horiz_2x_01 + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_blue.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_blue_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Blue/Blue, Horizontal 2unit 02 + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_horiz_2x_02 + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_blue.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_blue_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Blue/Blue, Horizontal 4unit 01 + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_horiz_4x_01 + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_blue.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_blue_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Blue/Blue, L joint down + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_elbow_l_down + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_blue.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_blue_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Blue/Blue, L joint up + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_elbow_l_up + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_blue.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_blue_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Blue/Blue, T joint + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_elbow_t + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_blue.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_blue_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Blue/Blue, Vertical 2unit 01 + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_vert_2x_01 + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_blue.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_blue_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Blue/Blue, Vertical 2unit 02 + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_vert_2x_02 + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_blue.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_blue_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Blue/Blue, Vertical 4unit 01 + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_vert_4x_01 + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_blue.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_blue_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Iron/Iron, Horizontal 2unit 01 + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_horiz_2x_01 + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_iron.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_iron_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Iron/Iron, Horizontal 2unit 02 + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_horiz_2x_02 + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_iron.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_iron_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Iron/Iron, Horizontal 4unit 01 + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_horiz_4x_01 + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_iron.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_iron_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Iron/Iron, L joint down + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_elbow_l_down + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_iron.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_iron_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Iron/Iron, L joint up + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_elbow_l_up + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_iron.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_iron_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Iron/Iron, T joint + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_elbow_t + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_iron.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_iron_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Iron/Iron, Vertical 2unit 01 + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_vert_2x_01 + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_iron.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_iron_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Iron/Iron, Vertical 2unit 02 + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_vert_2x_02 + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_iron.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_iron_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Iron/Iron, Vertical 4unit 01 + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_vert_4x_01 + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_iron.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_iron_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, ground - Blue Large/Abyss pipe, vertical + + + Prop/Haven/Ground pipes, brass/Abyss pipe, vertical + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Bracket + + + Prop/Haven/Ground pipes, brass/Bracket + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Cliff pipe, vertical + + + Prop/Haven/Ground pipes, brass/Cliff pipe, vertical + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Diagonal 1unit + + + Prop/Haven/Ground pipes, brass/Diagonal 1unit + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Diagonal 2unit + + + Prop/Haven/Ground pipes, brass/Diagonal 2unit + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Diagonal 3unit + + + Prop/Haven/Ground pipes, brass/Diagonal 3unit + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Diagonal 4unit + + + Prop/Haven/Ground pipes, brass/Diagonal 4unit + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Diagonal 5unit + + + Prop/Haven/Ground pipes, brass/Diagonal 5unit + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Elbow 45, left + + + Prop/Haven/Ground pipes, brass/Elbow 45, left + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Elbow 45, right + + + Prop/Haven/Ground pipes, brass/Elbow 45, right + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Elbow 90 + + + Prop/Haven/Ground pipes, brass/Elbow 90 + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Straight 1unit + + + Prop/Haven/Ground pipes, brass/Straight 1unit + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Straight 2 unit + + + Prop/Haven/Ground pipes, brass/Straight 2 unit + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Straight 3 unit + + + Prop/Haven/Ground pipes, brass/Straight 3 unit + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Straight 5 unit + + + Prop/Haven/Ground pipes, brass/Straight 5 unit + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Y Connector + + + Prop/Haven/Ground pipes, brass/Y Connector + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Abyss pipe, vertical + + + Prop/Haven/Ground pipes, brass/Abyss pipe, vertical + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Bracket + + + Prop/Haven/Ground pipes, brass/Bracket + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Cliff pipe, vertical + + + Prop/Haven/Ground pipes, brass/Cliff pipe, vertical + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Diagonal 1unit + + + Prop/Haven/Ground pipes, brass/Diagonal 1unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Diagonal 2unit + + + Prop/Haven/Ground pipes, brass/Diagonal 2unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Diagonal 3unit + + + Prop/Haven/Ground pipes, brass/Diagonal 3unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Diagonal 4unit + + + Prop/Haven/Ground pipes, brass/Diagonal 4unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Diagonal 5unit + + + Prop/Haven/Ground pipes, brass/Diagonal 5unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Elbow 45, left + + + Prop/Haven/Ground pipes, brass/Elbow 45, left + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Elbow 45, right + + + Prop/Haven/Ground pipes, brass/Elbow 45, right + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Elbow 90 + + + Prop/Haven/Ground pipes, brass/Elbow 90 + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Abyss pipe, vertical + + + Prop/Haven/Ground pipes, brass/Abyss pipe, vertical + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Bracket + + + Prop/Haven/Ground pipes, brass/Bracket + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Cliff pipe, vertical + + + Prop/Haven/Ground pipes, brass/Cliff pipe, vertical + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Diagonal 1unit + + + Prop/Haven/Ground pipes, brass/Diagonal 1unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Diagonal 2unit + + + Prop/Haven/Ground pipes, brass/Diagonal 2unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Diagonal 3unit + + + Prop/Haven/Ground pipes, brass/Diagonal 3unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Diagonal 4unit + + + Prop/Haven/Ground pipes, brass/Diagonal 4unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Diagonal 5unit + + + Prop/Haven/Ground pipes, brass/Diagonal 5unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Elbow 45, left + + + Prop/Haven/Ground pipes, brass/Elbow 45, left + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Elbow 45, right + + + Prop/Haven/Ground pipes, brass/Elbow 45, right + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Elbow 90 + + + Prop/Haven/Ground pipes, brass/Elbow 90 + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Straight 1unit + + + Prop/Haven/Ground pipes, brass/Straight 1unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Straight 2 unit + + + Prop/Haven/Ground pipes, brass/Straight 2 unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Straight 3 unit + + + Prop/Haven/Ground pipes, brass/Straight 3 unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Straight 5 unit + + + Prop/Haven/Ground pipes, brass/Straight 5 unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Y Connector + + + Prop/Haven/Ground pipes, brass/Y Connector + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Straight 1unit + + + Prop/Haven/Ground pipes, brass/Straight 1unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Straight 2 unit + + + Prop/Haven/Ground pipes, brass/Straight 2 unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Straight 3 unit + + + Prop/Haven/Ground pipes, brass/Straight 3 unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Straight 5 unit + + + Prop/Haven/Ground pipes, brass/Straight 5 unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Y Connector + + + Prop/Haven/Ground pipes, brass/Y Connector + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, wall small/Height 1 - Iron, T-down + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_t-down + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 1 - Iron, T-up + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_t-up + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 1 - Iron, elbow-down L + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_floor_l + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 1 - Iron, elbow-down R + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_elbowdown_R + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 1 - Iron, straight half + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_half + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 1 - Iron, straight x1 + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_x1 + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 1 - Iron, straight x2 + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_x2 + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 2 - Iron, S Left + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall2_s_L + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 2 - Iron, S Right + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall2_s_R + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 2 - Iron, T-down + + + Color variant + implementation.model["Models"][0].model["Color variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_t-down + + + + 0.0, 0.34, 0.96 + + + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 2 - Iron, elbow-down L + + + Color variant + implementation.model["Models"][0].model["Color variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_elbowdown_L + + + + 0.0, 0.34, 0.96 + + + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 2 - Iron, elbow-down R + + + Color variant + implementation.model["Models"][0].model["Color variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_elbowdown_R + + + + 0.0, 0.34, 0.96 + + + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 2 - Iron, straight half-unit + + + Color variant + implementation.model["Models"][0].model["Color variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_half + + + + 0.0, 0.34, 0.96 + + + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 2 - Iron, straight x1 + + + Color variant + implementation.model["Models"][0].model["Color variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_x1 + + + + 0.0, 0.34, 0.96 + + + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 2 - Iron, straight x2 + + + Color variant + implementation.model["Models"][0].model["Color variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_x2 + + + + 0.0, 0.34, 0.96 + + + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 3 - Iron, T-down + + + Color variant + implementation.model["Models"][0].model["Color variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_t-down + + + + 0.0, 0.34, 1.56 + + + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 3 - Iron, elbow-down L + + + Color variant + implementation.model["Models"][0].model["Color variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_elbowdown_L + + + + 0.0, 0.34, 1.56 + + + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 3 - Iron, elbow-down R + + + Color variant + implementation.model["Models"][0].model["Color variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_elbowdown_R + + + + 0.0, 0.34, 1.56 + + + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 3 - Iron, elbow-up L + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall3_elbow-up_L + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 3 - Iron, elbow-up R + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall3_elbow-up_R + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 3 - Iron, straight half-unit + + + Color variant + implementation.model["Models"][0].model["Color variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_half + + + + 0.0, 0.34, 1.56 + + + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 3 - Iron, straight x1 + + + Color variant + implementation.model["Models"][0].model["Color variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_x1 + + + + 0.0, 0.34, 1.56 + + + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 3 - Iron, straight x2 + + + Color variant + implementation.model["Models"][0].model["Color variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_x2 + + + + 0.0, 0.34, 1.56 + + + + + + 0 + 0 + + + + Prop/Clockworks/Platform Lift + + + world/dynamic/elevator/univeral/model_start-static.dat + + 0 + + + + Prop/Clockworks/Platform Rail + + + world/prop/clockworks/model_platformrail.dat + + + + + + 0.5 + 4.0 + + + 2.75, 1.5 + + + + + 0.5 + 4.0 + + + -2.75, 1.5 + + + + + 5.0 + 0.5 + + + 0.0, 3.25 + + + + + + + -1.0 + 3.0 + + + -2.5 + 1.0 + + + + + + + + + 1.0 + 3.0 + + + 2.5 + 1.0 + + + + + + + + + + Prop/Clockworks/Tech/Screw - giant 01 + + + world/prop/clockworks/screw_giant_01.dat + + 0 + + + + Prop/Clockworks/Understructure/Understructure 7x3 + + + world/prop/clockworks/understructure_7x3.dat + + + + + + 7.0 + 3.0 + + + 0.5, 0.5 + + + + + 0 + 0 + + + + Prop/Clockworks/Understructure/Understructure x3 + + + world/prop/clockworks/understructure_x3.dat + + + + + + 3.0 + 3.0 + + + 0.5, 0.5 + + + + + 0 + 0 + + + + Prop/Clockworks/Understructure/Understructure x5 + + + world/prop/clockworks/understructure_x5.dat + + + + + + 5.0 + 5.0 + + + 0.5, 1.5 + + + + + 0 + 0 + + + + Prop/Clockworks/Understructure/Understructure x7 + + + world/prop/clockworks/understructure_x7.dat + + + + + + 7.0 + 7.0 + + + 0.5, 2.5 + + + + + 0 + 0 + + + + Prop/Clockworks/Understructure/Understructure x9 + + + world/prop/clockworks/understructure_x9.dat + + + + + + 9.0 + 9.0 + + + 0.5, 3.5 + + + + + 0 + 0 + + + + Prop/General/Altar, x3 + + + world/prop/generic/altar_x3.dat + + + 3.0 + 3.0 + + 0 + + + + Prop/General/Fiend/Sigil - Circle, large quarter + + + Model variant + implementation.model["Model variant"] + + + Sigil Color + implementation.model["Color"] + + + Shape + implementation.shape + + + + + world/prop/generic/fiend/sigil_circles_handles.dat + + Color + 1.0, 0.0, 1.0, 1.0 + Flag color + 1.0, 0.52156866, 0.2, 1.0 + Model variant + Large, quarter + + + + 2.2 + + 0 + 0 + + + + Prop/General/Fiend/Sigil - Circle, large sixth + + + Sigil Color + implementation.placeable["Sigil Color"] + + + + + Prop/General/Fiend/Sigil - Circle, large quarter + + Model variant + Large, sixth + Shape + + 2.2 + + Sigil Color + 1.0, 0.0, 1.0, 1.0 + + + + + + Prop/General/Fiend/Sigil - Circle, medium full + + + Sigil Color + implementation.placeable["Sigil Color"] + + + + + Prop/General/Fiend/Sigil - Circle, large quarter + + Model variant + Medium, full + Shape + + 1.2 + + Sigil Color + 1.0, 0.0, 1.0, 1.0 + + + + + + Prop/General/Fiend/Sigil - Circle, medium half + + + Sigil Color + implementation.placeable["Sigil Color"] + + + + + Prop/General/Fiend/Sigil - Circle, large quarter + + Model variant + Medium, half + Shape + + 1.2 + + Sigil Color + 1.0, 0.0, 1.0, 1.0 + + + + + + Prop/General/Fiend/Sigil - Circle, medium sixth + + + Sigil Color + implementation.placeable["Sigil Color"] + + + + + Prop/General/Fiend/Sigil - Circle, large quarter + + Model variant + Medium, sixth + Shape + + 1.2 + + Sigil Color + 1.0, 0.0, 1.0, 1.0 + + + + + + Prop/General/Fiend/Sigil - Circle, small full + + + Sigil Color + implementation.placeable["Sigil Color"] + + + + + Prop/General/Fiend/Sigil - Circle, large quarter + + Model variant + Small, full + Shape + + 0.4 + + Sigil Color + 1.0, 0.0, 1.0, 1.0 + + + + + + Prop/General/Fiend/Sigil - Circle, small half + + + Sigil Color + implementation.placeable["Sigil Color"] + + + + + Prop/General/Fiend/Sigil - Circle, large quarter + + Model variant + Small, half + Shape + + 0.4 + + Sigil Color + 1.0, 0.0, 1.0, 1.0 + + + + + + Prop/General/Fiend/Sigil - Line, curled + + + Sigil Color + implementation.model["Color"] + + + + + world/prop/generic/fiend/sigil_circles_handles.dat + + Color + 1.0, 0.0, 1.0, 1.0 + Flag color + 1.0, 0.88235295, 0.4, 1.0 + Model variant + Line, curled + + + + + + + 2.4 + 0.4 + + + + + 0 + 0 + + + + Prop/General/Fiend/Sigil - Line, straight + + + Sigil Color + implementation.model["Color"] + + + + + world/prop/generic/fiend/sigil_circles_handles.dat + + Color + 1.0, 0.0, 1.0, 1.0 + Flag color + 1.0, 0.88235295, 0.4, 1.0 + Model variant + Line, straight + + + + + + + 2.0 + 0.25 + + + + + 0 + 0 + + + + Prop/General/Fiend/Sigil - Rune 01 + + + Model + implementation.model["Model"] + + + Sigil Color + implementation.model["Color"] + + + Marker color + implementation.model["Flag color"] + + + + + world/prop/generic/fiend/sigil_runes_handles.dat + + Color + 1.0, 0.0, 1.0, 1.0 + Flag color + 1.0, 1.0, 0.6, 1.0 + Marker + flag_40tall + Model + sigil_rune_01 + + + + 0.6 + 0.6 + + 0 + 0 + + + + Prop/General/Fiend/Sigil - Rune 02 + + + Color + implementation.placeable["Sigil Color"] + + + + + Prop/General/Fiend/Sigil - Rune 01 + + Marker color + 1.0, 1.0, 0.6, 1.0 + Model + sigil_rune_02 + Sigil Color + 1.0, 0.0, 1.0, 1.0 + + + + + + Prop/General/Fiend/Sigil - Rune 03 + + + Color + implementation.placeable["Sigil Color"] + + + + + Prop/General/Fiend/Sigil - Rune 01 + + Marker color + 1.0, 1.0, 0.6, 1.0 + Model + sigil_rune_03 + Sigil Color + 1.0, 0.0, 1.0, 1.0 + + + + + + Prop/General/Fiend/Sigil - Rune 04 + + + Color + implementation.placeable["Sigil Color"] + + + + + Prop/General/Fiend/Sigil - Rune 01 + + Marker color + 1.0, 1.0, 0.6, 1.0 + Model + sigil_rune_04 + Sigil Color + 1.0, 0.0, 1.0, 1.0 + + + + + + Prop/General/Fiend/Sigil - Rune 05 + + + Prop/General/Fiend/Sigil - Rune 01 + + Marker color + 1.0, 1.0, 0.6, 1.0 + Model + sigil_rune_05 + Sigil Color + 1.0, 0.0, 1.0, 1.0 + + + + + + Prop/General/Fiend/Sigil - Rune 06 + + + Prop/General/Fiend/Sigil - Rune 01 + + Marker color + 1.0, 1.0, 0.6, 1.0 + Model + sigil_rune_06 + Sigil Color + 1.0, 0.0, 1.0, 1.0 + + + + + + Prop/General/Fiend/Sigil - Rune 07 + + + Color + implementation.placeable["Sigil Color"] + + + + + Prop/General/Fiend/Sigil - Rune 01 + + Marker color + 1.0, 1.0, 0.6, 1.0 + Model + sigil_rune_07 + Sigil Color + 1.0, 0.0, 1.0, 1.0 + + + + + + Prop/General/Fiend/Sigil - Rune 08 + + + Prop/General/Fiend/Sigil - Rune 01 + + Marker color + 1.0, 1.0, 0.6, 1.0 + Model + sigil_rune_08 + Sigil Color + 1.0, 0.0, 1.0, 1.0 + + + + + + Prop/General/Fiend/Sigil - Square + + + Sigil Color + implementation.placeable["Sigil Color"] + + + + + Prop/General/Fiend/Sigil - Circle, large quarter + + Model variant + Square + Shape + + 2.25 + 2.25 + + Sigil Color + 1.0, 0.0, 1.0, 1.0 + + + + + + Prop/General/Interior/Books/Large, violet + + + world/prop/generic/interior/book_set_01.dat + + Color 1, offset + + -0.25 + 0.1 + 0.16 + + Color 2, offset + + -0.025 + -0.5 + 0.05 + + Model + book_large_01 + Texture + world/prop/generic/interior/book_border_01.png + + + 0 + 0 + + + + Prop/General/Interior/Books/Medium, blue + + + world/prop/generic/interior/book_set_01.dat + + Color 1, offset + + 0.532 + -0.175 + -0.06 + + Color 2, offset + + -0.387 + -0.365 + 0.0060 + + Model + book_med_01 + Texture + world/prop/generic/interior/book_leather_01.png + + + 0 + 0 + + + + Prop/General/Interior/Books/Medium, red + + + world/prop/generic/interior/book_set_01.dat + + Color 1, offset + + + Color 2, offset + + + Model + book_med_01 + Texture + world/prop/generic/interior/book_border_01.png + + + 0 + 0 + + + + Prop/General/Interior/Books/Medium, worn + + + world/prop/generic/interior/book_set_01.dat + + Color 1, offset + + 0.114 + -0.261 + 0.071 + + Color 2, offset + + -0.471 + + Model + book_med_01 + Texture + world/prop/generic/interior/book_worn_01.png + + + 0 + 0 + + + + Prop/General/Interior/Books/Small, gold + + + world/prop/generic/interior/book_set_01.dat + + Color 1, offset + + 0.108 + 0.5 + 0.06 + + Color 2, offset + + -0.426 + -0.365 + 0.0060 + + Model + book_small_01 + Texture + world/prop/generic/interior/book_border_01.png + + + 0 + 0 + + + + Prop/General/Interior/Books/Small, green + + + world/prop/generic/interior/book_set_01.dat + + Color 1, offset + + 0.277 + 0.23200001 + -0.133 + + Color 2, offset + + -0.426 + -0.365 + 0.0060 + + Model + book_small_01 + Texture + world/prop/generic/interior/book_leather_01.png + + + 0 + 0 + + + + Prop/General/Interior/Books/Small, worn + + + world/prop/generic/interior/book_set_01.dat + + Color 1, offset + + 0.149 + -0.20099999 + -0.146 + + Color 2, offset + + -0.426 + -0.365 + -0.094 + + Model + book_small_01 + Texture + world/prop/generic/interior/book_worn_01.png + + + 0 + 0 + + + + Prop/General/Interior/Table, 1-tile 01 + + + world/prop/generic/interior/table_01.dat + + Texture + world/prop/generic/interior/table_cafe01.png + + + + + + + + Prop/General/Jelly/Jelly glob, large + + + Color + implementation.model["Color"] + + + + + world/prop/generic/jelly/chunks_mesh_set.dat + + Color + Jelly Cube Pink + Model + mesh_chunk_lrg + + + + 1.5 + + 0 + 0 + + + + Prop/General/Jelly/Jelly glob, medium + + + Color + implementation.model["Color"] + + + + + world/prop/generic/jelly/chunks_mesh_set.dat + + Color + Jelly Cube Pink + Model + mesh_chunk_med + + + + + 0 + 0 + + + + Prop/General/Jelly/Jelly glob, small + + + Color + implementation.model["Color"] + + + + + world/prop/generic/jelly/chunks_mesh_set.dat + + Color + Jelly Cube Pink + Model + mesh_chunk_sml + + + + 0.5 + + 0 + 0 + + + + Prop/General/Mechaknight/Mecha, Arm + + + Variant + implementation.model["Models"][0].model["variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + character/npc/monster/mechaknight/parts/modelset_dead.dat + + Model + mesh_arm + variant + mk1 + + + + 1.25 + + + + + + + 0.5 + + 0 + 0 + + + + Prop/General/Mechaknight/Mecha, Armless + + + Variant + implementation.model["Models"][0].model["variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + character/npc/monster/mechaknight/parts/modelset_dead.dat + + Model + mesh_body-armless + variant + mk1 + + + + 1.25 + + + + + world/environment/shadow/circle.dat + + Size + 1.25 + + + + + + + + 0.5 + + 0 + + + + Prop/General/Mechaknight/Mecha, Head + + + Variant + implementation.model["Models"][0].model["variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + character/npc/monster/mechaknight/parts/modelset_dead.dat + + Model + mesh_head + variant + mk1 + + + + 1.25 + + + + + world/environment/shadow/circle.dat + + Size + 0.8 + + + + + + + + 0.3 + + 0 + 0 + + + + Prop/General/Mechaknight/Mecha, Headless + + + Variant + implementation.model["Models"][0].model["variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + character/npc/monster/mechaknight/parts/modelset_dead.dat + + Model + mesh_body-headless + variant + mk1 + + + + 1.25 + + + + + world/environment/shadow/circle.dat + + Size + 1.25 + + + + + + + + 0.5 + + 0 + 0 + + + + Prop/General/Mechaknight/Mecha, Leg + + + Variant + implementation.model["Models"][0].model["variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + character/npc/monster/mechaknight/parts/modelset_dead.dat + + Model + mesh_leg + variant + mk1 + + + + 1.25 + + + + + + + 0.5 + + 0 + 0 + + + + Prop/General/Mechaknight/Mecha, Legs + + + Variant + implementation.model["Models"][0].model["variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + character/npc/monster/mechaknight/parts/modelset_dead.dat + + Model + mesh_legs + variant + mk1 + + + + 1.25 + + + + + world/environment/shadow/circle.dat + + Size + 1.0 + + + + + + + + 0.5 + + 0 + + + + Prop/General/Mechaknight/Mecha, Whole + + + Variant + implementation.model["Models"][0].model["variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + character/npc/monster/mechaknight/parts/modelset_dead.dat + + Model + mesh_body-whole + variant + mk1 + + + + 1.25 + + + + + world/environment/shadow/circle.dat + + Size + 1.25 + + + + + + + + 0.5 + + 0 + + + + Prop/General/Nature/FireFlies + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + model/conditional/marker.dat + + Model + + editor/marker/vertex/model.dat + + + + + + + particle/ambient_fireflies.dat + + + + + + + 0.5 + + 0 + + + + Prop/General/Nature/Foliage/Grass variants/City, desaturated/Grass billboard, large 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 1 + + Colorization + 1800 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/City, desaturated/Grass billboard, large 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 2 + + Colorization + 1800 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/City, desaturated/Grass billboard, single 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 1 + + Colorization + 1800 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/City, desaturated/Grass billboard, single 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 2 + + Colorization + 1800 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/City, desaturated/Grass billboard, small 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 1 + + Colorization + 1800 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/City, desaturated/Grass billboard, small 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 2 + + Colorization + 1800 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/City, desaturated/Grass tuft 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor tuft 1 + + Colorization + 1800 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Clockworks Base billboard, large 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 1 + + Colorization + 1797 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Clockworks Base billboard, large 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 2 + + Colorization + 1797 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Clockworks Base billboard, single 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 1 + + Colorization + 1797 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Clockworks Base billboard, single 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 2 + + Colorization + 1797 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Clockworks Base billboard, small 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 1 + + Colorization + 1797 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Clockworks Base billboard, small 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 2 + + Colorization + 1797 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Clockworks Base tuft 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor tuft 1 + + Colorization + 1797 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Dry billboard, large 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 1 + + Colorization + 1798 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Dry billboard, large 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 2 + + Colorization + 1798 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Dry billboard, single 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 1 + + Colorization + 1798 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Dry billboard, single 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 2 + + Colorization + 1798 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Dry billboard, small 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 1 + + Colorization + 1798 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Dry billboard, small 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 2 + + Colorization + 1798 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Dry tuft 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor tuft 1 + + Colorization + 1798 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, large 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 1 + + Colorization + 1793 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, large 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 2 + + Colorization + 1793 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, single 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 1 + + Colorization + 1793 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, single 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 2 + + Colorization + 1793 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, small 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 1 + + Colorization + 1793 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, small 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 2 + + Colorization + 1793 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Grass tuft 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor tuft 1 + + Colorization + 1793 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Graveyard billboard, large 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 1 + + Colorization + 1796 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Graveyard billboard, large 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 2 + + Colorization + 1796 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Graveyard billboard, single 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 1 + + Colorization + 1796 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Graveyard billboard, single 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 2 + + Colorization + 1796 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Graveyard billboard, small 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 1 + + Colorization + 1796 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Graveyard billboard, small 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 2 + + Colorization + 1796 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Graveyard tuft 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor tuft 1 + + Colorization + 1796 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 1 + + + Colorization + implementation.model["Colorization"] + + + Tint + implementation.model["Tint"] + + + + + -0.13962634, -0.10471976, -0.10471976 + 0.0, 0.10471976, 0.10471976 + + + world/prop/generic/plants/grass_billboard_large1.dat + + Colorization + 1793 + Tint + Default + + + + 2.0 + 0.4 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 2 + + + Colorization + implementation.model["Colorization"] + + + Tint + implementation.model["Tint"] + + + + + -0.13962634, -0.10471976, -0.10471976 + 0.0, 0.10471976, 0.10471976 + + + world/prop/generic/plants/grass_billboard_large2.dat + + Colorization + 1793 + Tint + Default + + + + 2.0 + 0.4 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 1 + + + Colorization + implementation.model["Colorization"] + + + Tint + implementation.model["Tint"] + + + + + -0.13962634, -0.41887903, -0.41887903 + 0.0, 0.41887903, 0.41887903 + + + world/prop/generic/plants/grass_billboard_single1.dat + + Colorization + 1793 + Tint + Default + + + + 0.4 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 2 + + + Colorization + implementation.model["Colorization"] + + + Tint + implementation.model["Tint"] + + + + + -0.13962634, -0.41887903, -0.41887903 + 0.0, 0.41887903, 0.41887903 + + + world/prop/generic/plants/grass_billboard_single2.dat + + Colorization + 1793 + Tint + Default + + + + 0.4 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 1 + + + Colorization + implementation.model["Colorization"] + + + Tint + implementation.model["Tint"] + + + + + -0.13962634, -0.20943952, -0.10471976 + 0.0, 0.20943952, 0.10471976 + + + world/prop/generic/plants/grass_billboard_small1.dat + + Colorization + 1793 + Tint + Default + + + + 0.4 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 2 + + + Colorization + implementation.model["Colorization"] + + + Tint + implementation.model["Tint"] + + + + + -0.13962634, -0.20943952, -0.10471976 + 0.0, 0.20943952, 0.10471976 + + + world/prop/generic/plants/grass_billboard_small2.dat + + Colorization + 1793 + Tint + Default + + + + 0.4 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor tuft 1 + + + Colorization + implementation.model["Colorization"] + + + Tint + implementation.model["Tint"] + + + + + world/prop/generic/plants/grass_tuft_1.dat + + Colorization + 1793 + Tint + Default + + + + 0.4 + 0.4 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Grass variants/Parts/Test Recolor billboard, large 1 + + + Colorization + implementation.model["Colorization"].offsets + + + Tint + implementation.model["Tint"] + + + + + -0.13962634, -0.10471976, -0.10471976 + 0.0, 0.10471976, 0.10471976 + + + world/prop/generic/plants/grass_billboard_large1_test.dat + + Colorization + + 7 + + Tint + Default + + + + 2.0 + 0.4 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Grass variants/Parts/Test diffuse billboard, large 1 + + + Tint + implementation.model["Tint"] + + + + + -0.13962634, -0.10471976, -0.10471976 + 0.0, 0.10471976, 0.10471976 + + + world/prop/generic/plants/grass_billboard_large1_diffuse.dat + + Tint + Default + + + + 2.0 + 0.4 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Day billboard, large 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 1 + + Colorization + 1794 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Day billboard, large 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 2 + + Colorization + 1794 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Day billboard, single 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 1 + + Colorization + 1794 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Day billboard, single 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 2 + + Colorization + 1794 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Day billboard, small 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 1 + + Colorization + 1794 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Day billboard, small 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 2 + + Colorization + 1794 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Day tuft 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor tuft 1 + + Colorization + 1794 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Night billboard, large 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 1 + + Colorization + 1795 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Night billboard, large 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 2 + + Colorization + 1795 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Night billboard, single 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 1 + + Colorization + 1795 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Night billboard, single 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 2 + + Colorization + 1795 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Night billboard, small 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 1 + + Colorization + 1795 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Night billboard, small 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 2 + + Colorization + 1795 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Night tuft 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor tuft 1 + + Colorization + 1795 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Ivy & Vines/Ivy, wall x3 01 + + + world/prop/generic/plants/ivy_wall_x3_01.dat + + Color + 1793 + Color - Vine + 1793 + Vine - Color adjust + Darker 5 + + + + 3.0 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Ivy & Vines/Vine, hanging 01 + + + Darkness adjust + implementation.model["Models"][0].model["Darkness adjust"] + + + + + model/compound/model.dat + + Influences + + false + false + + Models + + + + world/prop/generic/plants/vines_hanging.dat + + Color + 1795 + Darkness adjust + Default + Model + Loft01 + + + + 0.0, 0.4, 2.7 + + + + + + + 3.0 + 0.2 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Ivy & Vines/Vine, hanging 02 + + + model/compound/model.dat + + Influences + + false + false + + Models + + + + world/prop/generic/plants/vines_hanging.dat + + Color + 1793 + Darkness adjust + Default + Model + Loft02 + + + + 0.0, 0.4, 2.7 + + + + + + + 3.0 + 0.2 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Ivy & Vines/Vine, hanging 03 + + + model/compound/model.dat + + Influences + + false + false + + Models + + + + world/prop/generic/plants/vines_hanging.dat + + Color + 1793 + Darkness adjust + Default + Model + Loft03 + + + + 0.0, 0.4, 2.7 + + + + + + + 3.0 + 0.2 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Ivy & Vines/Vine, hanging 04 + + + model/compound/model.dat + + Influences + + false + false + + Models + + + + world/prop/generic/plants/vines_hanging.dat + + Color + 1793 + Darkness adjust + Default + Model + Loft04 + + + + 0.0, 0.4, 2.7 + + + + + + + 3.0 + 0.2 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Leaf, plane 01 + + + Model + implementation.model["Model"] + + + Color variant + implementation.model["Color"] + + + + + 0.0, 0.0, -3.1415927 + 0.0, 0.0, 3.1415927 + + + world/prop/generic/plants/leaf_plane.dat + + Color + 1793 + Model + grass_blades_01 + + + + + 0 + 0 + + + + Prop/General/Nature/Foliage/Leaf, plane 02 + + + Color variant + implementation.placeable["Color variant"] + + + + + Prop/General/Nature/Foliage/Leaf, plane 01 + + Color variant + 1793 + Model + leaf_plane_02 + + + + + + Prop/General/Nature/Foliage/Leaf, plane 03 + + + Color variant + implementation.placeable["Color variant"] + + + + + Prop/General/Nature/Foliage/Leaf, plane 01 + + Color variant + 1793 + Model + leaf_plane_03 + + + + + + Prop/General/Nature/Foliage/Leaf, plane 04 + + + Color variant + implementation.placeable["Color variant"] + + + + + Prop/General/Nature/Foliage/Leaf, plane 01 + + Color variant + 1793 + Model + leaf_plane_04 + + + + + + Prop/General/Nature/Foliage/Seam + + + world/prop/generic/plants/grass_seam.dat + + + + + + 0.16 + 2.0 + + + 0.5, 0.5 + + + + + 0 + 0 + + + + Prop/General/Nature/Foliage/Variants - City desaturated/Ivy Wall, x1 - 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x1 base + + Color - Foliage + 1800 + Color - Vine + 1799 + Color adjust - Vine + Darker 2 + + + + + + Prop/General/Nature/Foliage/Variants - City desaturated/Ivy Wall, x3 - 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x3 base + + Color - Foliage + 1800 + Color - Vine + 1799 + Color adjust - Vine + Darker 2 + + + + + + Prop/General/Nature/Foliage/Variants - City desaturated/Ivy vine 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1800 + Model + ivy_vine_01 + Shape + Ivy vine + + + + + + Prop/General/Nature/Foliage/Variants - City desaturated/Ivy vine 02 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1800 + Model + ivy_vine_02 + Shape + Ivy vine + + + + + + Prop/General/Nature/Foliage/Variants - City desaturated/Leaves 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1800 + Model + leaf_plane_01 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - City desaturated/Leaves 02 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1800 + Model + leaf_plane_02 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - City desaturated/Leaves 03 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1800 + Model + leaf_plane_03 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - City desaturated/Leaves 04 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1800 + Model + leaf_plane_04 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - City desaturated/Vine, hanging 01 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1800 + Darkness adjust + Default + Model + Loft01 + + + + + + Prop/General/Nature/Foliage/Variants - City desaturated/Vine, hanging 02 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1800 + Darkness adjust + Default + Model + Loft02 + + + + + + Prop/General/Nature/Foliage/Variants - City desaturated/Vine, hanging 03 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1800 + Darkness adjust + Default + Model + Loft03 + + + + + + Prop/General/Nature/Foliage/Variants - City desaturated/Vine, hanging 04 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1800 + Darkness adjust + Default + Model + Loft04 + + + + + + Prop/General/Nature/Foliage/Variants - Clockworks Base/Ivy Wall, x1 - 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x1 base + + Color - Foliage + 1797 + Color - Vine + 1800 + Color adjust - Vine + Darker 4 + + + + + + Prop/General/Nature/Foliage/Variants - Clockworks Base/Ivy Wall, x3 - 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x3 base + + Color - Foliage + 1797 + Color - Vine + 1800 + Color adjust - Vine + Darker 4 + + + + + + Prop/General/Nature/Foliage/Variants - Clockworks Base/Ivy vine, Clockworks 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1797 + Model + ivy_vine_01 + Shape + Ivy vine + + + + + + Prop/General/Nature/Foliage/Variants - Clockworks Base/Ivy vine, Clockworks 02 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1797 + Model + ivy_vine_02 + Shape + Ivy vine + + + + + + Prop/General/Nature/Foliage/Variants - Clockworks Base/Leaves, Clockworks 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1797 + Model + leaf_plane_01 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Clockworks Base/Leaves, Clockworks 02 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1797 + Model + leaf_plane_02 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Clockworks Base/Leaves, Clockworks 03 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1797 + Model + leaf_plane_03 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Clockworks Base/Leaves, Clockworks 04 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1797 + Model + leaf_plane_04 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Clockworks Base/Vine, hanging 01 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1797 + Darkness adjust + Default + Model + Loft01 + + + + + + Prop/General/Nature/Foliage/Variants - Clockworks Base/Vine, hanging 02 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1797 + Darkness adjust + Default + Model + Loft02 + + + + + + Prop/General/Nature/Foliage/Variants - Clockworks Base/Vine, hanging 03 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1797 + Darkness adjust + Default + Model + Loft03 + + + + + + Prop/General/Nature/Foliage/Variants - Clockworks Base/Vine, hanging 04 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1797 + Darkness adjust + Default + Model + Loft04 + + + + + + Prop/General/Nature/Foliage/Variants - Dry/Ivy Wall, x1 - 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x1 base + + Color - Foliage + 1798 + Color - Vine + 1799 + Color adjust - Vine + Darker 3 + + + + + + Prop/General/Nature/Foliage/Variants - Dry/Ivy Wall, x3 - 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x3 base + + Color - Foliage + 1798 + Color - Vine + 1799 + Color adjust - Vine + Darker 3 + + + + + + Prop/General/Nature/Foliage/Variants - Dry/Ivy vine, Dry 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1798 + Model + ivy_vine_01 + Shape + Ivy vine + + + + + + Prop/General/Nature/Foliage/Variants - Dry/Ivy vine, Dry 02 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1798 + Model + ivy_vine_02 + Shape + Ivy vine + + + + + + Prop/General/Nature/Foliage/Variants - Dry/Leaves, Dry 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1798 + Model + leaf_plane_01 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Dry/Leaves, Dry 02 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1798 + Model + leaf_plane_02 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Dry/Leaves, Dry 03 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1798 + Model + leaf_plane_03 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Dry/Leaves, Dry 04 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1798 + Model + leaf_plane_04 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Dry/Vine, hanging 01 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1798 + Darkness adjust + Default + Model + Loft01 + + + + + + Prop/General/Nature/Foliage/Variants - Dry/Vine, hanging 02 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1798 + Darkness adjust + Default + Model + Loft02 + + + + + + Prop/General/Nature/Foliage/Variants - Dry/Vine, hanging 03 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1798 + Darkness adjust + Default + Model + Loft03 + + + + + + Prop/General/Nature/Foliage/Variants - Dry/Vine, hanging 04 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1798 + Darkness adjust + Default + Model + Loft04 + + + + + + Prop/General/Nature/Foliage/Variants - Graveyard/Ivy Wall, x1 - 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x1 base + + Color - Foliage + 1796 + Color - Vine + 1798 + Color adjust - Vine + Darker 5 + + + + + + Prop/General/Nature/Foliage/Variants - Graveyard/Ivy Wall, x3 - 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x3 base + + Color - Foliage + 1796 + Color - Vine + 1798 + Color adjust - Vine + Darker 5 + + + + + + Prop/General/Nature/Foliage/Variants - Graveyard/Ivy vine, Graveyard 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1796 + Model + ivy_vine_01 + Shape + Ivy vine + + + + + + Prop/General/Nature/Foliage/Variants - Graveyard/Ivy vine, Graveyard 02 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1796 + Model + ivy_vine_02 + Shape + Ivy vine + + + + + + Prop/General/Nature/Foliage/Variants - Graveyard/Leaves, Graveyard 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1796 + Model + leaf_plane_01 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Graveyard/Leaves, Graveyard 02 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1796 + Model + leaf_plane_02 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Graveyard/Leaves, Graveyard 03 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1796 + Model + leaf_plane_03 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Graveyard/Leaves, Graveyard 04 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1796 + Model + leaf_plane_04 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Graveyard/Vine, hanging 01 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1796 + Darkness adjust + Default + Model + Loft01 + + + + + + Prop/General/Nature/Foliage/Variants - Graveyard/Vine, hanging 02 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1796 + Darkness adjust + Default + Model + Loft02 + + + + + + Prop/General/Nature/Foliage/Variants - Graveyard/Vine, hanging 03 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1796 + Darkness adjust + Default + Model + Loft03 + + + + + + Prop/General/Nature/Foliage/Variants - Graveyard/Vine, hanging 04 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1796 + Darkness adjust + Default + Model + Loft04 + + + + + + Prop/General/Nature/Foliage/Variants - Haven/Ivy Wall, x1 - 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x1 base + + Color - Foliage + 1793 + Color - Vine + 1799 + Color adjust - Vine + Darker 1 + + + + + + Prop/General/Nature/Foliage/Variants - Haven/Ivy Wall, x3 - 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x3 base + + Color - Foliage + 1793 + Color - Vine + 1799 + Color adjust - Vine + Darker 1 + + + + + + Prop/General/Nature/Foliage/Variants - Haven/Ivy vine, Haven 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1793 + Model + ivy_vine_01 + Shape + Ivy vine + + + + + + Prop/General/Nature/Foliage/Variants - Haven/Ivy vine, Haven 02 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1793 + Model + ivy_vine_02 + Shape + Ivy vine + + + + + + Prop/General/Nature/Foliage/Variants - Haven/Leaves, Haven 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1793 + Model + leaf_plane_01 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Haven/Leaves, Haven 02 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1793 + Model + leaf_plane_02 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Haven/Leaves, Haven 03 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1793 + Model + leaf_plane_03 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Haven/Leaves, Haven 04 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1793 + Model + leaf_plane_04 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x1 base + + + Color - Foliage + implementation.model["Color"] + + + Color - Vine + implementation.model["Color - Vine"] + + + Color adjust - Vine + implementation.model["Vine - Color adjust"] + + + + + world/prop/generic/plants/ivy_wall_x1_01.dat + + Color + 1793 + Color - Vine + 1793 + Vine - Color adjust + Darker 5 + + + + + + + 1.4 + 0.4 + + + + + 0 + 0 + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x3 base + + + Color - Foliage + implementation.model["Color"] + + + Color - Vine + implementation.model["Color - Vine"] + + + Color adjust - Vine + implementation.model["Vine - Color adjust"] + + + + + world/prop/generic/plants/ivy_wall_x3_01.dat + + Color + 1793 + Color - Vine + 1793 + Vine - Color adjust + Darker 5 + + + + + + + 3.0 + 0.4 + + + + + 0 + 0 + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + + Model + implementation.model["Model"] + + + Color + implementation.model["Color"] + + + + Shape + + + Shape + implementation.shape + + + + + + Leaf plane + + Shape + + + + + + + Ivy vine + + Shape + + 0.3 + + + + + Leaf plane + + + + + 0.0, 0.0, -3.1415927 + 0.0, 0.0, 3.1415927 + + + world/prop/generic/plants/leaf_plane.dat + + Color + 1793 + Model + leaf_plane_01 + + + + + 0 + 0 + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + + Model + implementation.model["Models"][0].model["Model"] + + + Color + implementation.model["Models"][0].model["Color"] + + + Darkness adjust + implementation.model["Models"][0].model["Darkness adjust"] + + + + + model/compound/model.dat + + Influences + + false + false + + Models + + + + world/prop/generic/plants/vines_hanging.dat + + Color + 1793 + Darkness adjust + Default + Model + Loft01 + + + + 0.0, 0.4, 2.7 + + + + + + + 3.0 + 0.2 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - diffuse test + + + Model + implementation.model["Models"][0].model["Model"] + + + + + model/compound/model.dat + + Influences + + false + false + + Models + + + + world/prop/generic/plants/vines_hanging_diffusetest.dat + + Model + Loft01 + + + + 0.0, 0.4, 2.7 + + + + + + + 3.0 + 0.2 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - recolor test + + + Model + implementation.model["Models"][0].model["Model"] + + + Colorization + implementation.model["Models"][0].model["Colorization"] + + + Darkness adjust + implementation.model["Models"][0].model["Darkness adjust"] + + + + + model/compound/model.dat + + Influences + + false + false + + Models + + + + world/prop/generic/plants/vines_hanging_recolortest.dat + + Colorization + + 7 + + Darkness adjust + Default + Model + Loft01 + + + + 0.0, 0.4, 2.7 + + + + + + + 3.0 + 0.2 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Variants - Haven/Vine, hanging 01 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1793 + Darkness adjust + Default + Model + Loft01 + + + + + + Prop/General/Nature/Foliage/Variants - Haven/Vine, hanging 02 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1793 + Darkness adjust + Default + Model + Loft02 + + + + + + Prop/General/Nature/Foliage/Variants - Haven/Vine, hanging 03 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1793 + Darkness adjust + Default + Model + Loft03 + + + + + + Prop/General/Nature/Foliage/Variants - Haven/Vine, hanging 04 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1793 + Darkness adjust + Default + Model + Loft04 + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Day/Ivy Wall, x1 - 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x1 base + + Color - Foliage + 1794 + Color - Vine + 1799 + Color adjust - Vine + Default + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Day/Ivy Wall, x3 - 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x3 base + + Color - Foliage + 1794 + Color - Vine + 1799 + Color adjust - Vine + Default + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Day/Ivy vine, Sky Islands Day 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1794 + Model + ivy_vine_01 + Shape + Ivy vine + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Day/Ivy vine, Sky Islands Day 02 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1794 + Model + ivy_vine_02 + Shape + Ivy vine + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Day/Leaves, Sky Islands Day 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1794 + Model + leaf_plane_01 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Day/Leaves, Sky Islands Day 02 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1794 + Model + leaf_plane_02 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Day/Leaves, Sky Islands Day 03 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1794 + Model + leaf_plane_03 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Day/Leaves, Sky Islands Day 04 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1794 + Model + leaf_plane_04 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Day/Vine, hanging 01 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1794 + Darkness adjust + Default + Model + Loft01 + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Day/Vine, hanging 02 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1794 + Darkness adjust + Default + Model + Loft02 + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Day/Vine, hanging 03 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1794 + Darkness adjust + Default + Model + Loft03 + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Day/Vine, hanging 04 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1794 + Darkness adjust + Default + Model + Loft04 + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Night/Ivy Wall, x1 - 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x1 base + + Color - Foliage + 1795 + Color - Vine + 1797 + Color adjust - Vine + Darker 1 + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Night/Ivy Wall, x3 - 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x3 base + + Color - Foliage + 1795 + Color - Vine + 1797 + Color adjust - Vine + Darker 1 + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Night/Ivy vine, Sky Islands Night 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1795 + Model + ivy_vine_01 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Night/Ivy vine, Sky Islands Night 02 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1795 + Model + ivy_vine_02 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Night/Leaves, Sky Islands Night 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1795 + Model + leaf_plane_01 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Night/Leaves, Sky Islands Night 02 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1795 + Model + leaf_plane_02 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Night/Leaves, Sky Islands Night 03 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1795 + Model + leaf_plane_03 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Night/Leaves, Sky Islands Night 04 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1795 + Model + leaf_plane_04 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Night/Vine, hanging 01 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1795 + Darkness adjust + Default + Model + Loft01 + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Night/Vine, hanging 02 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1795 + Darkness adjust + Default + Model + Loft02 + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Night/Vine, hanging 03 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1795 + Darkness adjust + Default + Model + Loft03 + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Night/Vine, hanging 04 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1795 + Darkness adjust + Default + Model + Loft04 + + + + + + Prop/General/Spiderweb, corner + + + world/prop/generic/spiderweb_adjust.dat + + + + 0 + 0 + + + + Prop/General/Tech/Energy-pulsing Cables/Cable, 01 unit + + + world/prop/outershell/metal parts/hanging_cables_pulse.dat + + Model + rope_1unit + + + + + + + 0.1 + + + 0.5, 0.0 + + + + + 0 + 0 + + + + Prop/General/Tech/Energy-pulsing Cables/Cable, 02 unit + + + world/prop/outershell/metal parts/hanging_cables_pulse.dat + + Model + 2 units + + + + + + + 2.0 + 0.1 + + + 1.0, 0.0 + + + + + 0 + 0 + + + + Prop/General/Tech/Energy-pulsing Cables/Cable, 03 unit + + + world/prop/outershell/metal parts/hanging_cables_pulse.dat + + Model + 3 units + + + + + + + 3.0 + 0.1 + + + 1.5, 0.0 + + + + + 0 + 0 + + + + Prop/General/Tech/Energy-pulsing Cables/Cable, 04 unit + + + world/prop/outershell/metal parts/hanging_cables_pulse.dat + + Model + 4 units + + + + + + + 4.0 + 0.1 + + + 2.0, 0.0 + + + + + 0 + 0 + + + + Prop/General/Tech/Energy-pulsing Cables/Cable, 05 unit + + + world/prop/outershell/metal parts/hanging_cables_pulse.dat + + Model + 5 units + + + + + + + 5.0 + 0.1 + + + 2.5, 0.0 + + + + + 0 + 0 + + + + Prop/General/Tech/Energy-pulsing Cables/Cable, 06 unit + + + world/prop/outershell/metal parts/hanging_cables_pulse.dat + + Model + 6 units + + + + + + + 6.0 + 0.1 + + + 3.0, 0.0 + + + + + 0 + 0 + + + + Prop/General/Tech/Energy-pulsing Cables/Cable, 08 unit + + + world/prop/outershell/metal parts/hanging_cables_pulse.dat + + Model + 8 units + + + + + + + 8.0 + 0.1 + + + 4.0, 0.0 + + + + + 0 + 0 + + + + Prop/General/Tech/Energy-pulsing Cables/Cable, 12 unit + + + world/prop/outershell/metal parts/hanging_cables_pulse.dat + + Model + 12 units + + + + + + + 12.0 + 0.1 + + + 6.0, 0.0 + + + + + 0 + 0 + + + + Prop/General/Undead/Bone plane, chips + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/generic/bones.dat + + Color variant + Default + Model + chips_plane_04 + + + + 0.6 + 0.6 + + 0 + 0 + + + + Prop/General/Undead/Bone plane, jaw + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/generic/bones.dat + + Color variant + Default + Model + chips_plane_03 + + + + + + + 0.2 + 0.8 + + + -7.2878485E-8 + + + + + 0 + 0 + + + + Prop/General/Undead/Bone plane, pieces + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/generic/bones.dat + + Color variant + Default + Model + chips_plane_01 + + + + 1.48 + 1.48 + + 0 + 0 + + + + Prop/General/Undead/Bone plane, ribs + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/generic/bones.dat + + Color variant + Default + Model + chips_plane_02 + + + + 0.46 + + 0 + 0 + + + + Prop/General/Undead/Bones, bone 01 + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/generic/bones.dat + + Color variant + Default + Model + bone_bone01 + + + 0 + 0 + + + + Prop/General/Undead/Bones, bone 02 + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/generic/bones.dat + + Color variant + Default + Model + bone_bone02 + + + 0 + 0 + + + + Prop/General/Undead/Bones, ribcage + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/generic/bones.dat + + Color variant + Default + Model + bone_ribcage + + + 0 + 0 + + + + Prop/General/Undead/Bones, skull + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/generic/bones.dat + + Color variant + Default + Model + bone_skull + + + 0 + 0 + + + + Prop/General/Undead/Ground Fog + + + Color + implementation.model["Color"] + + + Radius + implementation.model["Radius"] + + + Density + implementation.model["Density"] + + + + + world/prop/generic/model_groundfog.dat + + Color + 1.0, 1.0, 1.0, 1.0 + Density + 200 + Radius + 1.0 + + + + 0.49 + + 0 + 0 + + + + Prop/Graveyard/Burial Mound Prop + + + world/prop/graveyard/gravepile.dat + + + 0.5 + + 0 + 0 + + + + Prop/Graveyard/Rubble/Brick loose 01, graveyard + + + world/prop/catacomb/rubble/brick_loose01.dat + + Variant + Graveyard + + + 0 + 0 + + + + Prop/Graveyard/Rubble/Brick loose 02, graveyard + + + world/prop/catacomb/rubble/brick_loose02.dat + + Variant + Graveyard + + + 0 + 0 + + + + Prop/Graveyard/Rubble/Brick pile 01, graveyard + + + world/prop/catacomb/rubble/brick_pile01.dat + + Variant + Graveyard + + + + + 0 + + + + Prop/Graveyard/Rubble/Brick pile 02, graveyard + + + world/prop/catacomb/rubble/brick_pile02.dat + + Variant + Graveyard + + + + + 0 + + + + Prop/Graveyard/Sarcophagus + + + Lid + implementation.model["Lid"] + + + + + world/prop/graveyard/sarcophagus.dat + + Lid + Sealed + + + + 1.8 + 3.6 + + 0 + + + + Prop/Graveyard/Sarcophagus, opened lid + + + world/prop/graveyard/sarcophagus.dat + + Lid + Opened + + + + + + + 1.8 + 3.6 + + + + + 1.4 + 3.2 + + + 0.9, -0.25 + -0.08726646 + + + + + 0 + + + + Prop/Graveyard/Stone, medium 01 + + + world/prop/catacomb/stone_01.dat + + Receives Projections + false + Texture + world/prop/graveyard/stone_01.png + + + + 0.5 + + 0 + + + + Prop/Graveyard/Tombstones/Burial mound Spawn Marker + + + editor/marker/prop_spawn/model.dat + + Colorization + 257 + Preview + + world/prop/graveyard/gravepile.dat + + Wave Number + + + + + + + + Props/Burial mound + + + + + + + + Prop/Graveyard/Tombstones/Tombstone Spawn Marker + + + editor/marker/prop_spawn/model.dat + + Colorization + 257 + Preview + + world/prop/graveyard/gravestone_set_statics.dat + + Model + gravestone_01 + + + Wave Number + + + + + + + + Props/Gravestones + + + + + + + + Prop/Graveyard/Tombstones/Tombstone, busted + + + world/prop/graveyard/gravestone_06.dat + + + + 0 + + + + Prop/Graveyard/Tombstones/Tombstone, creature head + + + world/prop/graveyard/gravestone_07.dat + + + + 0 + + + + Prop/Graveyard/Tombstones/Tombstone, obelisk + + + world/prop/graveyard/gravestone_04.dat + + + + 0 + + + + Prop/Graveyard/Tombstones/Tombstone, small block; Breakable + + + world/prop/graveyard/gravestone_set_statics.dat + + Model + gravestone_02_breakable + + + + + + + + + Dynamic/Breakable Objects/Gravestones/Breakable, small block + + + + + + + + Prop/Graveyard/Tombstones/Tombstone, small block; Static + + + world/prop/graveyard/gravestone_set_statics.dat + + Model + gravestone_02 + + + + 0.8 + 0.8 + + 0 + + + + Prop/Graveyard/Tombstones/Tombstone, small planed; Breakable + + + world/prop/graveyard/gravestone_set_statics.dat + + Model + gravestone_01_breakable + + + + + + + + + Dynamic/Breakable Objects/Gravestones/Breakable, small planed + + Model + gravestone_01_breakable + + + + + + + + + Prop/Graveyard/Tombstones/Tombstone, small planed; Static + + + world/prop/graveyard/gravestone_set_statics.dat + + Model + gravestone_01 + + + + + 0 + + + + Prop/Graveyard/Tombstones/Tombstone, small rounded; Breakable + + + world/prop/graveyard/gravestone_set_statics.dat + + Model + gravestone_03_breakable + + + + + + + + + Dynamic/Breakable Objects/Gravestones/Breakable, small rounded + + + + + + + + Prop/Graveyard/Tombstones/Tombstone, small rounded; Static + + + world/prop/graveyard/gravestone_set_statics.dat + + Model + gravestone_03 + + + + + 0 + + + + Prop/Graveyard/Tombstones/Tombstone, two-unit + + + world/prop/graveyard/gravestone_two01.dat + + + 2.0 + + 0 + + + + Prop/Graveyard/Tombstones/Tombstone, ziggurat + + + world/prop/graveyard/gravestone_05.dat + + + 1.5 + 1.5 + + 0 + + + + Prop/Graveyard/Underbase/Underbase x10 + + + world/prop/graveyard/underbase/x10.dat + + + 10.0 + 10.0 + + 0 + 0 + + + + Prop/Gremlin/Counter Props/Counter 4x4 - Curved Elbow + + + Model + implementation.model["Model"] + + + + + world/prop/generic/interior/counter_set_01.dat + + Model + bar_x4_curved_elbow + Texture + world/prop/gremlin/countertop_01.png + + + + + + + 0.8 + + + -1.0, 2.0 + + + + + 0.8 + 1.1 + + + -0.905, 1.022 + 0.19634955 + + + + + 0.8 + 1.1 + + + -0.539, 0.138 + 0.5890486 + + + + + 0.8 + 1.1 + + + 0.138, -0.539 + 0.98174715 + + + + + 0.8 + 1.1 + + + 1.022, -0.905 + 1.3744463 + + + + + 0.8 + + + 2.0, -1.0 + + + + + 2 + 0 + + + + Prop/Gremlin/Counter Props/Counter x1 - Elbow Out 01 + + + Model + implementation.model["Model"] + + + + + world/prop/generic/interior/counter_set_01.dat + + Model + bar_x1_out_01 + Texture + world/prop/gremlin/countertop_01.png + + + + + + + 0.8 + + + -0.1, 0.0 + + + + + 0.8 + + + 0.0, 0.1 + + + + + 2 + 0 + + + + Prop/Gremlin/Counter Props/Counter x1 - End cap Left + + + Prop/Gremlin/Counter Props/Counter x1 01 + + Model + bar_x1_cap_L + + + + + + Prop/Gremlin/Counter Props/Counter x1 - End cap Right + + + Prop/Gremlin/Counter Props/Counter x1 01 + + Model + bar_x1_cap_R + + + + + + Prop/Gremlin/Counter Props/Counter x1 01 + + + Model + implementation.model["Model"] + + + + + world/prop/generic/interior/counter_set_01.dat + + Model + bar_x1_01 + Texture + world/prop/gremlin/countertop_01.png + + + + 0.8 + + 2 + 0 + + + + Prop/Gremlin/Counter Props/Counter x1 02 + + + Prop/Gremlin/Counter Props/Counter x1 01 + + Model + bar_x1_02 + + + + + + Prop/Gremlin/Counter Props/Counter x1 03 + + + Prop/Gremlin/Counter Props/Counter x1 01 + + Model + bar_x1_03 + + + + + + Prop/Gremlin/Counter Props/Counter x1 04 + + + Prop/Gremlin/Counter Props/Counter x1 01 + + Model + bar_x1_04 + + + + + + Prop/Gremlin/Lockers - tall, 01 + + + world/prop/gremlin/locker_1.dat + + + 2.0 + 0.9 + + 0 + + + + Prop/Gremlin/Lockers - tall, 02 + + + world/prop/gremlin/locker_2.dat + + + 2.0 + 0.9 + + 0 + + + + Prop/Gremlin/Roadblock 01 + + + world/prop/gremlin/roadblock_01.dat + + + 1.1 + 0.9 + + 0 + + + + Prop/Gremlin/Roadblock 02 + + + world/prop/gremlin/roadblock_02.dat + + + + + + 1.92 + 0.6 + + + 0.5, -0.2 + + + + + 0 + + + + Prop/Gremlin/Sign, Gremlin emblem + + + Variant + implementation.model["Variant"] + + + + + world/prop/gremlin/sign_emblem.dat + + Variant + Gremlin + + + 0 + 0 + + + + Prop/Gremlin/Stool + + + world/prop/generic/interior/stool.dat + + Texture + world/prop/gremlin/stool.png + + + + 0.4 + + 2 + 0 + + + + Prop/Gremlin/Tool, drillgun + + + world/prop/gremlin/tools_floor.dat + + Model + tools_ground_drillgun + + + 0 + 0 + + + + Prop/Gremlin/Tool, shovel + + + + Preset position + + + Transform + implementation.model["Models"][0].transform + + + + + + Floor (default) + + Transform + + + + + + + Upright 1 + + Transform + + 0.0, 0.0, 0.82 + 0.43045896, -0.4304591, 0.5609856, 0.5609859 + + + + + + Upright 2 + + Transform + + 0.0, 0.0, 0.85 + 0.43045896, 0.4304591, -0.5609856, 0.5609859 + + + + + Floor (default) + + + + + model/compound/model.dat + + Influences + + + Models + + + + world/prop/gremlin/tools_floor.dat + + Model + tools_ground_shovel + + + + + + + 0 + 0 + + + + Prop/Gremlin/Tool, wrench + + + world/prop/gremlin/tools_floor.dat + + Model + tools_ground_wrench + + + 0 + 0 + + + + Prop/Gremlin/Toolbox + + + world/prop/gremlin/toolbox_01.dat + + + 0.6 + + 2 + 0 + + + + Prop/Haven/Arcade/Ceiling - Curve, East + + + world/prop/outershell/arcade/ceiling_curve_east.dat + + 0 + 0 + + + + Prop/Haven/Arcade/Ceiling - Curve, West + + + world/prop/outershell/arcade/ceiling_curve_west.dat + + 0 + 0 + + + + Prop/Haven/Arcade/Ceiling - Ridge + + + world/prop/outershell/arcade/ceiling_ridge.dat + + 0 + 0 + + + + Prop/Haven/Arcade/Entranceway, north wall + + + world/prop/outershell/arcade/entrance_fromtown.dat + + + + + + 1.25 + 6.0 + + + 3.25, 0.0 + + + + + 1.25 + 6.0 + + + -3.25, 0.0 + + + + + 0 + + + + Prop/Haven/Arcade/Entranceway, south wall + + + world/prop/outershell/arcade/entranceway_southwall.dat + + Color - Light Override + 0.11372549, 0.11372549, 0.14117648, 1.0 + + + + + + + 4.0 + + + 3.0, 0.5 + + + + + 4.0 + + + -3.0, 0.5 + + + + + 0 + + + + Prop/Haven/Arcade/Faux Rail - East side + + + world/prop/outershell/arcade/rail_faux_eastside.dat + + 0 + 0 + + + + Prop/Haven/Arcade/Static Gate Monitor + + + Icon + implementation.model["Texture"]["File"] + + + Colorizations + implementation.model["Texture"]["Colorizations"] + + + + + world/dynamic/gates/monitordropbox/model.dat + + Texture + + 2D/File/Colorized (Multiple)/Default (NoMipmap) + + Colorizations + + + 2 + + -0.238 + -0.165 + + + + 3 + + -0.383 + 0.338 + -0.55 + + + + File + ui/icon/map/knight.png + + + Variant + Tv + + + + + + + 2.0 + 2.0 + + + 0.0, 1.0 + + + + + + + + Prop/Haven/Architecture/Fountain, side piece + + + world/tileset/outershell/bathtiles_decoration.dat + + + + + 1.0 + -0.6 + + + 1.0 + 3.6 + + + -0.5 + 3.6 + + + -1.4 + 2.5 + + + -1.4 + 0.5 + + + -0.5 + -0.6 + + + + 2 + 0 + + + + Prop/Haven/Cables & Wires/Cable, 01 unit + + + world/prop/outershell/metal parts/hanging_cables.dat + + Color State Override + 1.0, 1.0, 1.0, 1.0 + Model + rope_1unit + + + + + + + 0.1 + + + 0.5, 0.0 + + + + + 0 + 0 + + + + Prop/Haven/Cables & Wires/Cable, 02 unit + + + world/prop/outershell/metal parts/hanging_cables.dat + + Model + rope_2unit + + + + + + + 2.0 + 0.1 + + + 1.0, 0.0 + + + + + 0 + 0 + + + + Prop/Haven/Cables & Wires/Cable, 03 unit + + + world/prop/outershell/metal parts/hanging_cables.dat + + Color State Override + 1.0, 1.0, 1.0, 1.0 + Model + rope_3unit + + + + + + + 3.0 + 0.1 + + + 1.5, 0.0 + + + + + 0 + 0 + + + + Prop/Haven/Cables & Wires/Cable, 04 unit + + + world/prop/outershell/metal parts/hanging_cables.dat + + Color State Override + 1.0, 1.0, 1.0, 1.0 + Model + rope_4unit + + + + + + + 4.0 + 0.1 + + + 2.0, 0.0 + + + + + 0 + 0 + + + + Prop/Haven/Cables & Wires/Cable, 05 unit + + + world/prop/outershell/metal parts/hanging_cables.dat + + Color State Override + 1.0, 1.0, 1.0, 1.0 + Model + rope_5unit + + + + + + + 5.0 + 0.1 + + + 2.5, 0.0 + + + + + 0 + 0 + + + + Prop/Haven/Cables & Wires/Cable, 06 unit + + + Color State Override + implementation.model["Color State Override"] + + + + + world/prop/outershell/metal parts/hanging_cables.dat + + Color State Override + 1.0, 1.0, 1.0, 1.0 + Model + rope_6unit + + + + + + + 6.0 + 0.1 + + + 3.0, 0.0 + + + + + 0 + 0 + + + + Prop/Haven/Cables & Wires/Cable, 08 unit + + + world/prop/outershell/metal parts/hanging_cables.dat + + Model + rope_8unit + + + + + + + 8.0 + 0.1 + + + 4.0, 0.0 + + + + + 0 + 0 + + + + Prop/Haven/Cables & Wires/Cable, 12 unit + + + Color State Override + implementation.model["Color State Override"] + + + + + world/prop/outershell/metal parts/hanging_cables.dat + + Color State Override + 1.0, 1.0, 1.0, 1.0 + Model + rope_12unit + + + + + + + 12.0 + 0.1 + + + 6.0, 0.0 + + + + + 0 + 0 + + + + Prop/Haven/Fake Tiles/Divider - Balcony + + + world/prop/outershell/arcade/platform_divider.dat + + Model + floor_divider_balcony + + + 0 + 0 + + + + Prop/Haven/Fake Tiles/Divider - Dual Entrance-to-Balcony + + + world/prop/outershell/arcade/platform_divider.dat + + Model + floor_divider_both + + + 0 + 0 + + + + Prop/Haven/Fake Tiles/Divider - Entranceway + + + world/prop/outershell/arcade/platform_divider.dat + + Model + floor_divider_entrance + + + 0 + 0 + + + + Prop/Haven/Fake Tiles/Floor, dirt 4wide + + + world/prop/outershell/arcade/arcade_dirtfloor.dat + + 0 + + + + Prop/Haven/Foliage Top/Top 1x1 01 + + + world/tileset/outershell/nature.dat + + Model + floor_foliage_01 + Recieves Projections + false + + + + + 0 + 0 + + + + Prop/Haven/Foliage Top/Top 2x2 01 + + + world/tileset/outershell/nature.dat + + Model + floor_foliage_x2_01 + Recieves Projections + false + + + + 2.0 + 2.0 + + 0 + 0 + + + + Prop/Haven/Foliage Top/Top 4x4 01 + + + world/tileset/outershell/nature.dat + + Model + floor_foliage_x4_01 + Recieves Projections + false + + + + 4.0 + 4.0 + + 0 + 0 + + + + Prop/Haven/Ground pipes, brass/Abyss pipe, vertical + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + abyss_pipe + + + 0 + + + + Prop/Haven/Ground pipes, brass/Bracket + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + bracket + + + 0 + + + + Prop/Haven/Ground pipes, brass/Cliff pipe, vertical + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + cliff_pipe + + + + + + + 0.5 + + + 0.0, 0.25 + + + + + 0 + + + + Prop/Haven/Ground pipes, brass/Diagonal 1unit + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + diag_1 + + + 0 + + + + Prop/Haven/Ground pipes, brass/Diagonal 2unit + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + diag_2 + + + 0 + + + + Prop/Haven/Ground pipes, brass/Diagonal 3unit + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + diag_3 + + + 0 + + + + Prop/Haven/Ground pipes, brass/Diagonal 4unit + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + diag_4 + + + 0 + + + + Prop/Haven/Ground pipes, brass/Diagonal 5unit + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + diag_5 + + + 0 + + + + Prop/Haven/Ground pipes, brass/Elbow 45, left + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + elbow_45_L + + + 0 + + + + Prop/Haven/Ground pipes, brass/Elbow 45, right + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + elbow_45_R + + + 0 + + + + Prop/Haven/Ground pipes, brass/Elbow 90 + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + elbow_90 + + + 0 + + + + Prop/Haven/Ground pipes, brass/Straight 1unit + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + straight_1unit + + + 0 + + + + Prop/Haven/Ground pipes, brass/Straight 2 unit + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + straight_2unit + + + 0 + + + + Prop/Haven/Ground pipes, brass/Straight 3 unit + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + straight_3unit + + + 0 + + + + Prop/Haven/Ground pipes, brass/Straight 5 unit + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + straight_5unit + + + 0 + + + + Prop/Haven/Ground pipes, brass/Y Connector + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + y_connector + + + 0 + + + + Prop/Haven/Metal objects/Antennae/Antenna, T + + + Attachment 1 + implementation.model["Attachment 1"] + + + Attachment 2 + implementation.model["Attachment 2"] + + + Attachment 3 + implementation.model["Attachment 3"] + + + Attachment 4 + implementation.model["Attachment 4"] + + + Attachment 5 + implementation.model["Attachment 5"] + + + Attachment 6 + implementation.model["Attachment 6"] + + + + + world/prop/outershell/metal parts/antenna01.dat + + Attachment 1 + + Attachment 2 + + Attachment 3 + + Attachment 4 + + Attachment 5 + + Attachment 6 + + + + 0 + 0 + + + + Prop/Haven/Metal objects/Antennae/Antenna, grid + + + Attachment 1 + implementation.model["Attachment 1"] + + + Attachment 2 + implementation.model["Attachment 2"] + + + Attachment 3 + implementation.model["Attachment 3"] + + + Attachment 4 + implementation.model["Attachment 4"] + + + Attachment 5 + implementation.model["Attachment 5"] + + + Attachment 6 + implementation.model["Attachment 6"] + + + Attachment 7 + implementation.model["Attachment 7"] + + + Attachment 8 + implementation.model["Attachment 8"] + + + Attachment 9 + implementation.model["Attachment 9"] + + + + + world/prop/outershell/metal parts/antenna02.dat + + Attachment 1 + + Attachment 2 + + Attachment 3 + + Attachment 4 + + Attachment 5 + + Attachment 6 + + Attachment 7 + + Attachment 8 + + Attachment 9 + + + + 0 + 0 + + + + Prop/Haven/Metal objects/Antennae/Antenna, rectangle + + + world/prop/outershell/metal parts/antenna03.dat + + Attachment 1 + + Attachment 2 + + Attachment 3 + + Attachment 4 + + Attachment 5 + + Attachment 6 + + Attachment 7 + + + + 0 + 0 + + + + Prop/Haven/Metal objects/Chimney pipe, pointed + + + world/prop/outershell/metal parts/chimney_pipe_01.dat + + 0 + + + + Prop/Haven/Metal objects/Chimney pipe, spout + + + world/prop/outershell/metal parts/chimney_pipe_02.dat + + 0 + + + + Prop/Haven/Metal objects/Floor pipes/Elbow L + + + world/prop/outershell/metal parts/floor_pipes.dat + + Model + pipe_floor_L01 + + + 0 + 0 + + + + Prop/Haven/Metal objects/Floor pipes/Straight half + + + world/prop/outershell/metal parts/floor_pipes.dat + + Model + pipe_floor_half + + + 0 + 0 + + + + Prop/Haven/Metal objects/Floor pipes/Straight x1 + + + world/prop/outershell/metal parts/floor_pipes.dat + + Model + pipe_floor_x1 + + + 0 + 0 + + + + Prop/Haven/Metal objects/Floor pipes/Straight x2 + + + world/prop/outershell/metal parts/floor_pipes.dat + + Model + pipe_floor_x2 + + + 0 + 0 + + + + Prop/Haven/Metal objects/Floor pipes/T joint + + + world/prop/outershell/metal parts/floor_pipes.dat + + Model + pipe_floor_T + + + 0 + 0 + + + + Prop/Haven/Metal objects/Roof fan, x2 01 + + + world/prop/outershell/metal parts/roof_fan_01.dat + + 0 + + + + Prop/Haven/Metal objects/Strut + + + world/prop/outershell/arcade/strut.dat + + + + + + 0.4 + + + 0.0, 0.1 + + + + + 0.5 + + + -0.2, 0.1 + + + + + 0.5 + + + 0.2, 0.1 + + + + + 0 + + + + Prop/Haven/Metal objects/Strut, South Wall + + + world/prop/outershell/arcade/strut_south.dat + + + + + + 0.5 + + + 0.2, -0.06 + + + + + 0.5 + + + -0.2, -0.06 + + + + + 0.4 + + + 0.0, -0.06 + + + + + 0 + + + + Prop/Haven/Metal objects/Track, Turntable + + + world/prop/outershell/arcade/track_turntable.dat + + Model + turntable + + + + + + + + Prop/Haven/Metal objects/Track, Turntable connector + + + world/prop/outershell/arcade/track_turntable.dat + + Model + turntable_connector + + + + + + + + Prop/Haven/Metal objects/Water drum, cylindrical + + + world/prop/outershell/metal parts/waterdrum_01.dat + + + 0.88 + + 0 + + + + Prop/Haven/Metal objects/Water drum, round + + + world/prop/outershell/metal parts/waterdrum_02.dat + + + 1.92 + 1.6 + + 0 + + + + Prop/Haven/Nature/Boulder (Arcade) + + + world/prop/catacomb/stone_01.dat + + Receives Projections + true + Texture + world/prop/outershell/nature/bounder_haven.png + + + + 0.5 + + 0 + + + + Prop/Haven/Nature/Boulder 01 + + + world/prop/catacomb/stone_01.dat + + Receives Projections + false + Texture + world/prop/outershell/nature/bounder_haven.png + + + + 0.5 + + 0 + + + + Prop/Haven/Nature/Litter, blowing leaves + + + Marker Color + implementation.model["Marker Color"] + + + + + world/prop/outershell/nature/litter_leavesblow.dat + + Marker Color + 0.0, 0.72156864, 0.003921569, 0.75 + + + + 8.0 + 8.0 + + 0 + 0 + + + + Prop/Haven/Snipe, Static/Snipe, Low Res + + + Color 1 + implementation.model["Color 1"] + + + + + character/npc/snipe/parts/model_lowres.dat + + Color 1 + 1281 + + + + 0.33 + + 0 + 0 + + + + Prop/Haven/Store Banners/Armor Banner + + + Prop/Haven/Store Banners/Banner Base + + Variant + Armor + + + + + + Prop/Haven/Store Banners/Banner Base + + + Variant + implementation.model["Color"] + + + + + world/prop/outershell/storebanners/model.dat + + Color + Weapon + + + + 2.0 + + 0 + + + + Prop/Haven/Store Banners/Item Banner + + + Prop/Haven/Store Banners/Banner Base + + Variant + Item + + + + + + Prop/Haven/Store Banners/Weapon Banner + + + Prop/Haven/Store Banners/Banner Base + + Variant + Weapon + + + + + + Prop/Haven/Tarp/Posts/Post, 2.5 units + + + world/prop/outershell/hangingcloth/post.dat + + Model + post_01 + + + 0 + 0 + + + + Prop/Haven/Tarp/Posts/Post, 3 units + + + world/prop/outershell/hangingcloth/post.dat + + Model + post_02 + + + 0 + 0 + + + + Prop/Haven/Tarp/Posts/Post, 3.5 units + + + world/prop/outershell/hangingcloth/post.dat + + Model + post_03 + + + 0 + 0 + + + + Prop/Haven/Tarp/Rope/Rope Length 1 + + + world/prop/outershell/hangingcloth/model.dat + + Color 1 + 1283 + Color 2 + 1537 + Model + rope_length1 + + + + + + -0.125 + + + 1.125 + + + + 0 + 0 + + + + Prop/Haven/Tarp/Rope/Rope Length 2 + + + world/prop/outershell/hangingcloth/model_animated.dat + + Color 1 + 1283 + Color 2 + 1537 + Model + rope_length2 + Shadow + + Shadow Transform + + + + + + + + -0.125 + + + 2.125 + + + + 0 + 0 + + + + Prop/Haven/Tarp/Rope/Rope Length 3 + + + world/prop/outershell/hangingcloth/model_animated.dat + + Color 1 + 1283 + Color 2 + 1537 + Model + rope_length3 + Shadow + + Shadow Transform + + + + + + + + -0.125 + + + 3.125 + + + + 0 + 0 + + + + Prop/Haven/Tarp/Rope/Rope Length 4 + + + world/prop/outershell/hangingcloth/model_animated.dat + + Color 1 + 1283 + Color 2 + 1537 + Model + rope_length4 + Shadow + + Shadow Transform + + + + + + + + -0.125 + + + 4.125 + + + + 0 + 0 + + + + Prop/Haven/Tarp/Rope/Rope Stitch + + + world/prop/outershell/hangingcloth/model.dat + + Color 1 + 1283 + Color 2 + 1537 + Model + rope_stitch + + + + + + -0.125 + + + 0.125 + + + + 0 + 0 + + + + Prop/Haven/Tarp/Shadow Verticle/Shadow 2x2 + + + world/prop/outershell/hangingcloth/model_vershadow.dat + + Color State Override + 0.039215688, 0.07450981, 0.10980392, 0.333 + Model + shadowplanex2 + + + + + + + 2.0 + + + 0.5, 0.45 + + + + + 0 + 0 + + + + Prop/Haven/Tarp/Shadow Verticle/Shadow 3x3 + + + world/prop/outershell/hangingcloth/model_vershadow.dat + + Color State Override + 0.039215688, 0.07450981, 0.10980392, 0.333 + Model + shadowplanex3 + + + + + + + 3.0 + + + 0.0, 0.45 + + + + + 0 + 0 + + + + Prop/Haven/Tarp/Tarp 2x2 01 + + + Color 1 + implementation.model["Color 1"] + + + Color 2 + implementation.model["Color 2"] + + + + + world/prop/outershell/hangingcloth/model_animated.dat + + Color 1 + 1285 + Color 2 + 1543 + Model + tarp_2x2_01 + Shadow + + world/environment/shadow/square.dat + + Size Height + 2.17 + Size Width + 2.17 + + + Shadow Transform + + 0.5, 0.5, 0.0 + + + + + + + -0.5 + -0.5 + + + 1.5 + -0.5 + + + 1.5 + 1.5 + + + -0.5 + 1.5 + + + + 0 + 0 + + + + Prop/Haven/Tarp/Tarp 2x2 02 + + + Color 1 + implementation.model["Color 1"] + + + Color 2 + implementation.model["Color 2"] + + + + + world/prop/outershell/hangingcloth/model_animated.dat + + Color 1 + 1283 + Color 2 + 1537 + Model + tarp_2x2_02 + Shadow + + world/environment/shadow/square.dat + + Size Height + 2.17 + Size Width + 2.17 + + + Shadow Transform + + 0.5, 0.5, 0.0 + + + + + + + -0.5 + -0.5 + + + 1.5 + -0.5 + + + 1.5 + 1.5 + + + -0.5 + 1.5 + + + + 0 + 0 + + + + Prop/Haven/Tarp/Tarp 2x2 03 + + + Color 1 + implementation.model["Color 1"] + + + Color 2 + implementation.model["Color 2"] + + + + + world/prop/outershell/hangingcloth/model_animated.dat + + Color 1 + 1287 + Color 2 + 1545 + Model + tarp_2x2_03 + Shadow + + world/environment/shadow/square.dat + + Size Height + 2.17 + Size Width + 2.17 + + + Shadow Transform + + 0.5, 0.5, 0.0 + + + + + + + -0.5 + -0.5 + + + 1.5 + -0.5 + + + 1.5 + 1.5 + + + -0.5 + 1.5 + + + + 0 + 0 + + + + Prop/Haven/Tarp/Tarp 2x3 01 + + + Color 1 + implementation.model["Color 1"] + + + Color 2 + implementation.model["Color 2"] + + + + + world/prop/outershell/hangingcloth/model_animated.dat + + Color 1 + 1284 + Color 2 + 1539 + Model + tarp_2x3_01 + Shadow + + world/environment/shadow/square.dat + + Size Height + 3.17 + Size Width + 2.17 + + + Shadow Transform + + 0.5, 0.0, 0.0 + + + + + + + -0.5 + -1.5 + + + 1.5 + -1.5 + + + 1.5 + 1.5 + + + -0.5 + 1.5 + + + + 0 + 0 + + + + Prop/Haven/Tarp/Tarp 2x3 02 + + + Color 1 + implementation.model["Color 1"] + + + Color 2 + implementation.model["Color 2"] + + + + + world/prop/outershell/hangingcloth/model_animated.dat + + Color 1 + 1281 + Color 2 + 1547 + Model + tarp_2x3_02 + Shadow + + world/environment/shadow/square.dat + + Size Height + 3.17 + Size Width + 2.17 + + + Shadow Transform + + 0.5, 0.0, 0.0 + + + + + + + -0.5 + -1.5 + + + 1.5 + -1.5 + + + 1.5 + 1.5 + + + -0.5 + 1.5 + + + + 0 + 0 + + + + Prop/Haven/Tarp/Tarp 2x4 01 + + + Color 1 + implementation.model["Color 1"] + + + Color 2 + implementation.model["Color 2"] + + + + + world/prop/outershell/hangingcloth/model_animated.dat + + Color 1 + 1285 + Color 2 + 1542 + Model + tarp_2x4_01 + Shadow + + world/environment/shadow/square.dat + + Size Height + 4.17 + Size Width + 2.17 + + + Shadow Transform + + 0.5, 0.5, 0.0 + + + + + + + -0.5 + -1.5 + + + 1.5 + -1.5 + + + 1.5 + 2.5 + + + -0.5 + 2.5 + + + + 0 + 0 + + + + Prop/Haven/Tarp/Tarp 2x4 02 + + + Color 1 + implementation.model["Color 1"] + + + Color 2 + implementation.model["Color 2"] + + + + + world/prop/outershell/hangingcloth/model_animated.dat + + Color 1 + 1290 + Color 2 + 1545 + Model + tarp_2x4_02 + Shadow + + world/environment/shadow/square.dat + + Size Height + 4.17 + Size Width + 2.17 + + + Shadow Transform + + 0.5, 0.5, 0.0 + + + + + + + -0.5 + -1.5 + + + 1.5 + -1.5 + + + 1.5 + 2.5 + + + -0.5 + 2.5 + + + + 0 + 0 + + + + Prop/Haven/Tarp/Tarp 2x4 03 + + + Color 1 + implementation.model["Color 1"] + + + Color 2 + implementation.model["Color 2"] + + + + + world/prop/outershell/hangingcloth/model_animated.dat + + Color 1 + 1291 + Color 2 + 1548 + Model + tarp_2x4_03 + Shadow + + world/environment/shadow/square.dat + + Size Height + 4.17 + Size Width + 2.17 + + + Shadow Transform + + 0.5, 0.5, 0.0 + + + + + + + -0.5 + -1.5 + + + 1.5 + -1.5 + + + 1.5 + 2.5 + + + -0.5 + 2.5 + + + + 0 + 0 + + + + Prop/Haven/Tarp/Tarp 3x3 01 + + + Color 1 + implementation.model["Color 1"] + + + Color 2 + implementation.model["Color 2"] + + + + + world/prop/outershell/hangingcloth/model_animated.dat + + Color 1 + 1292 + Color 2 + 1538 + Model + tarp_3x3_01 + Shadow + + world/environment/shadow/square.dat + + Size Height + 3.17 + Size Width + 3.17 + + + Shadow Transform + + + + + + 3.0 + 3.0 + + 0 + 0 + + + + Prop/Haven/Tarp/Tarp 3x3 02 + + + Color 1 + implementation.model["Color 1"] + + + Color 2 + implementation.model["Color 2"] + + + + + world/prop/outershell/hangingcloth/model_animated.dat + + Color 1 + 1283 + Color 2 + 1537 + Model + tarp_3x3_02 + Shadow + + world/environment/shadow/square.dat + + Size Height + 3.17 + Size Width + 3.17 + + + Shadow Transform + + + + + + 3.0 + 3.0 + + 0 + 0 + + + + Prop/Haven/Tarp/Tarp 3x5 01 + + + Color 1 + implementation.model["Color 1"] + + + Color 2 + implementation.model["Color 2"] + + + + + world/prop/outershell/hangingcloth/model_animated.dat + + Color 1 + 1293 + Color 2 + 1550 + Model + tarp_3x5_01 + Shadow + + world/environment/shadow/square.dat + + Size Height + 5.17 + Size Width + 3.17 + + + Shadow Transform + + + + + + + + -1.5 + -2.5 + + + 1.5 + -2.5 + + + 1.5 + 2.5 + + + -1.5 + 2.5 + + + + 0 + 0 + + + + Prop/Knights/Block - Toughbox + + + world/prop/knights/toughbox_shut.dat + + + 0.88 + 0.88 + + 0 + + + + Prop/Knights/Block - Toughbox, Empty + + + world/prop/knights/toughbox_empty.dat + + + 0.88 + 0.88 + + 0 + + + + Prop/Knights/Camp Bonfire + + + model/compound/model.dat + + Influences + + false + false + + Models + + + + character/npc/monster/baron/parts/modelset_wooddebri-fx.dat + + Model + mesh_ladder + + + + 0.8800001 + 0.0, -0.14999999, 0.21000004 + 0.0, 0.0, -0.25881904, 0.9659258 + + + + + character/npc/monster/baron/parts/modelset_wooddebri-fx.dat + + Model + mesh_tripod + + + + 0.0, 0.10999997, 0.4299999 + 0.0, 0.08715563, 0.0, 0.9961947 + + + + + character/npc/monster/baron/parts/modelset_wooddebri.dat + + Model + mesh_shard1_s + + + + 1.2499998 + 0.49999982, -0.4199999, 0.24000005 + 0.0, 0.0, -0.93969256, 0.34202027 + + + + + character/npc/monster/baron/parts/modelset_wooddebri.dat + + Model + mesh_shard2_m + + + + 1.4999995 + 0.12999997, 0.31, 0.49999982 + -0.25653282, -0.010330677, -0.83480287, 0.48702002 + + + + + character/npc/monster/baron/parts/modelset_wooddebri.dat + + Model + mesh_shard3_l + + + + 1.2499998 + 0.4099999, -0.3, 0.27000004 + -0.15227348, -0.73442566, 0.16427332, 0.64066064 + + + + + character/npc/monster/baron/parts/modelset_wooddebri.dat + + Model + mesh_shard3_l + + + + 1.1999998 + 0.0, -0.5799998, 0.5899998 + -0.9282731, -0.08857797, -0.18975574, 0.30733663 + + + + + character/npc/monster/baron/parts/modelset_wooddebri.dat + + Model + mesh_shard1_s + + + + 1.4899995 + 0.6499997, 0.16999999, 0.36 + 0.0, 0.0, 0.46174848, 0.88701093 + + + + + particle/debuff_immolate.dat + + + 1.5 + -0.03476668, 0.08710254, 0.003041687, 0.9955879 + + + + + world/environment/shadow/circle.dat + + Size + 3.0 + + + + + + world/environment/shadow/circle.dat + + Size + 3.0 + + + + + + + + 1.4 + + + + + Prop/Knights/Computer 1, toughbox + + + world/prop/knights/toughbox_computer.dat + + + 0.88 + 0.88 + + 0 + + + + Prop/Knights/Crash site + + + world/prop/knights/crashsite.dat + + + + + + 1.6 + + + 0.25, 0.75 + + + + + 1.6 + 2.0 + + + 1.25, -0.75 + 1.1802831E-16 + + + + + + + + + Basic + + Lifespan + 1000 + Model + + particle/fx_gethit_block.dat + + + + + 0 + + + + + + Prop/Knights/Escape Pod - Static, Closed + + + world/prop/knights/escapepod_static_closed.dat + + + + + + 1.4 + + + + + 0 + + + + Prop/Knights/Escape Pod - Static, No Door-hatch + + + world/prop/knights/escapepod_static_nodoor.dat + + + + + + 1.4 + + + + + 0 + + + + Prop/Knights/Flare + + + world/prop/knights/flare/model.dat + + + 0.25 + + 0 + + + + Prop/Knights/Floor Mats/Floor Mat - 2x1 + + + world/prop/knights/floormats/floormat_2x1.dat + + 0 + + + + Prop/Knights/Floor Mats/Floor Mat - 6x4 + + + world/prop/knights/floormats/floormat_6x4.dat + + 0 + + + + Prop/Knights/Static NPC + + + Model + implementation.model + + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Gear + Empty + Helmet + Pig Nose + Pack + None + + + + 0.333 + + 0 + + + + Prop/Knights/Test Core Pod + + + world/prop/knights/escapepod_static_closed.dat + + + + + + 1.4 + + + + + 0 + 0 + + + + Prop/Knights/Text Float NPC + + + Model + implementation.model + + + Fire Action + implementation.handlers[0].action.fire_action + + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Gear + Empty + Helmet + Pig Nose + Pack + None + + + + 0.333 + + + + + + Character/NPC/Talk, word balloon/Random (3) + + Character Name + + Lifespan + 2000 + Text 1 + + Text 2 + + Text 3 + + Transform + + + + + + + + 0 + + + + Prop/Sky Islands, Day/Natural/Boulder 01 + + + world/prop/catacomb/stone_01.dat + + Receives Projections + false + Texture + world/prop/sky_islands_day/rock01.png + + + + 0.5 + + 0 + + + + Prop/Sky Islands, Day/Natural/Boulder 01, non-walk + + + world/prop/catacomb/stone_01.dat + + Receives Projections + false + Texture + world/prop/sky_islands_day/rock_blue.png + + + + 0.5 + + 0 + + + + Prop/Sky Islands, Day/Natural/Log (Lrg) + + + model/compound/model.dat + + Influences + + false + false + + Models + + + + world/prop/sky_islands_day/tree_chopped.dat + + Model + mesh_log1 + + + + 0.0, 0.0, 0.70710665, 0.70710695 + + + + + + + 1.2 + 0.45 + + 0 + + + + Prop/Sky Islands, Day/Natural/Log (med) + + + model/compound/model.dat + + Influences + + false + false + + Models + + + + world/prop/sky_islands_day/tree_chopped.dat + + Model + mesh_log2 + + + + 0.0, 0.0, 0.70710665, 0.70710695 + + + + + + + 0.25 + + 0 + + + + Prop/Sky Islands, Day/Natural/Log (sml) + + + model/compound/model.dat + + Influences + + false + false + + Models + + + + world/prop/sky_islands_day/tree_chopped.dat + + Model + mesh_log3 + + + + 0.0, 0.0, 0.70710665, 0.70710695 + + + + + + + 0.2 + + 0 + + + + Prop/Sky Islands, Day/Natural/Spiral Tree + + + world/prop/sky_islands_day/tree.dat + + + 0.45 + + 0 + + + + Prop/Sky Islands, Day/Natural/Stump + + + world/prop/sky_islands_day/tree_chopped.dat + + Model + mesh_stump + + + + 0.45 + + 0 + + + + Prop/Sky Islands, Day/Natural/Stump (Axe) + + + world/prop/sky_islands_day/tree_chopped.dat + + Model + mesh_stump_axe + + + + 0.45 + + 0 + + + + Prop/Sky Islands, Day/Puppy Statue + + + world/prop/sky_islands_day/gunpuppy.dat + + Variant + Sky Islands, Day + + + + + 0 + + + + Prop/Sky Islands, Night/Boulder 01 + + + world/prop/catacomb/stone_01.dat + + Receives Projections + false + Texture + world/prop/sky_islands_night/stone_01.png + + + + 0.5 + + 0 + + + + Prop/Sky Islands, Night/Lantern, blue + + + world/prop/sky_islands_night/stone_lantern_01.dat + + Glow color + Blue-green + + + + 0.49 + + 0 + + + + Prop/Sky Islands, Night/Lantern, orange + + + world/prop/sky_islands_night/stone_lantern_01.dat + + Glow color + Orange + + + + 0.49 + + 0 + + + + Prop/Sky Islands, Night/Lantern, violet + + + world/prop/sky_islands_night/stone_lantern_01.dat + + Glow color + Violet + + + + 0.49 + + 0 + + + + Prop/Sky Islands, Night/Puppy Statue + + + world/prop/sky_islands_day/gunpuppy.dat + + Variant + Sky Islands, Night + + + + + 0 + + + + Prop/Town/Commerce/Market stall - Fruit 01 + + + 1.8 + 1.8 + + 0 + + + + Prop/Town/Furniture/Counter, Haven 4x4 - Curved Elbow + + + Model + implementation.model["Model"] + + + + + world/prop/generic/interior/counter_set_01.dat + + Model + bar_x4_curved_elbow + Texture + world/prop/generic/interior/counter_haven01.png + + + + + + + 0.8 + + + -1.0, 2.0 + + + + + 0.8 + 1.1 + + + -0.905, 1.022 + 0.19634955 + + + + + 0.8 + 1.1 + + + -0.539, 0.138 + 0.5890486 + + + + + 0.8 + 1.1 + + + 0.138, -0.539 + 0.98174715 + + + + + 0.8 + 1.1 + + + 1.022, -0.905 + 1.3744463 + + + + + 0.8 + + + 2.0, -1.0 + + + + + 2 + 0 + + + + Prop/Town/Furniture/Counter, Haven x1 - Elbow Out 01 + + + Model + implementation.model["Model"] + + + + + world/prop/generic/interior/counter_set_01.dat + + Model + bar_x1_out_01 + Texture + world/prop/generic/interior/counter_haven01.png + + + + + + + 0.8 + + + -0.1, 0.0 + + + + + 0.8 + + + 0.0, 0.1 + + + + + 2 + 0 + + + + Prop/Town/Furniture/Counter, Haven x1 - End cap Left + + + Prop/Town/Furniture/Counter, Haven x1 01 + + Model + bar_x1_cap_L + + + + + + Prop/Town/Furniture/Counter, Haven x1 - End cap Right + + + Prop/Town/Furniture/Counter, Haven x1 01 + + Model + bar_x1_cap_R + + + + + + Prop/Town/Furniture/Counter, Haven x1 01 + + + Model + implementation.model["Model"] + + + + + world/prop/generic/interior/counter_set_01.dat + + Model + bar_x1_01 + Texture + world/prop/generic/interior/counter_haven01.png + + + + 0.8 + + 2 + 0 + + + + Prop/Town/Furniture/Counter, Haven x1 02 + + + Prop/Town/Furniture/Counter, Haven x1 01 + + Model + bar_x1_02 + + + + + + Prop/Town/Furniture/Counter, Haven x1 03 + + + Prop/Town/Furniture/Counter, Haven x1 01 + + Model + bar_x1_03 + + + + + + Prop/Town/Furniture/Counter, Haven x1 04 + + + Prop/Town/Furniture/Counter, Haven x1 01 + + Model + bar_x1_04 + + + + + + Prop/Town/Furniture/Table, small + + + world/prop/generic/interior/table_01.dat + + Texture + world/prop/generic/interior/table_cafe01.png + + + + 0.8 + + 2 + 0 + + + + Prop/Town/Moorcroft/Bench, antique 1 + + + world/prop/manor/bench_01.dat + + + 1.8 + 0.8 + + 2 + 0 + + + + Prop/Town/Moorcroft/Bookcase 01 + + + world/prop/manor/bookcase_01.dat + + + 3.0 + + 2 + 0 + + + + Prop/Town/Moorcroft/Brazier, ground + + + world/prop/manor/brazier_ground.dat + + + 0.4 + + + + + Prop/Town/Moorcroft/Brazier, tall + + + world/prop/manor/brazier_tall.dat + + + 0.4 + + + + + Prop/Town/Moorcroft/Chair, antique 1 + + + world/prop/manor/chair_01.dat + + + 0.4 + + 2 + 0 + + + + Prop/Town/Moorcroft/Counter Props/Counter 4x4 - Curved Elbow + + + Model + implementation.model["Model"] + + + + + world/prop/generic/interior/counter_set_01.dat + + Model + bar_x4_curved_elbow + Texture + world/prop/manor/countertop_01.png + + + + + + + 0.8 + + + -1.0, 2.0 + + + + + 0.8 + 1.1 + + + -0.905, 1.022 + 0.19634955 + + + + + 0.8 + 1.1 + + + -0.539, 0.138 + 0.5890486 + + + + + 0.8 + 1.1 + + + 0.138, -0.539 + 0.9817468 + + + + + 0.8 + 1.1 + + + 1.022, -0.905 + 1.3744463 + + + + + 0.8 + + + 2.0, -1.0 + + + + + 2 + 0 + + + + Prop/Town/Moorcroft/Counter Props/Counter x1 - Elbow Out 01 + + + Model + implementation.model["Model"] + + + + + world/prop/generic/interior/counter_set_01.dat + + Model + bar_x1_out_01 + Texture + world/prop/manor/countertop_01.png + + + + + + + 0.8 + + + -0.1, 0.0 + + + + + 0.8 + + + 0.0, 0.1 + + + + + 2 + 0 + + + + Prop/Town/Moorcroft/Counter Props/Counter x1 - End cap Left + + + Prop/Town/Moorcroft/Counter Props/Counter x1 01 + + Model + bar_x1_cap_L + + + + + + Prop/Town/Moorcroft/Counter Props/Counter x1 - End cap Right + + + Prop/Town/Moorcroft/Counter Props/Counter x1 01 + + Model + bar_x1_cap_R + + + + + + Prop/Town/Moorcroft/Counter Props/Counter x1 01 + + + Model + implementation.model["Model"] + + + + + world/prop/generic/interior/counter_set_01.dat + + Model + bar_x1_01 + Texture + world/prop/manor/countertop_01.png + + + + 0.8 + + 2 + 0 + + + + Prop/Town/Moorcroft/Counter Props/Counter x1 02 + + + Prop/Town/Moorcroft/Counter Props/Counter x1 01 + + Model + bar_x1_01 + + + + + + Prop/Town/Moorcroft/Counter Props/Counter x1 03 + + + Prop/Town/Moorcroft/Counter Props/Counter x1 01 + + Model + bar_x1_01 + + + + + + Prop/Town/Moorcroft/Counter Props/Counter x1 04 + + + Prop/Town/Moorcroft/Counter Props/Counter x1 01 + + Model + bar_x1_01 + + + + + + Prop/Town/Moorcroft/Luggage/Briefcase, black + + + world/prop/manor/luggage_briefcase_01.dat + + Color 1, offset + + -0.15 + -0.3 + -0.52 + + Color 2, offset + + 0.2 + -0.476 + -0.3 + + Color 3, offset + + -0.55 + 0.25 + -0.2 + + + + + 0.9 + 0.28 + + 2 + 0 + + + + Prop/Town/Moorcroft/Luggage/Briefcase, deep brown + + + world/prop/manor/luggage_briefcase_01.dat + + Color 1, offset + + 0.06 + 0.24 + -0.26 + + Color 2, offset + + -0.2 + 0.2 + -0.05 + + Color 3, offset + + -0.12 + -0.25 + -0.24 + + + + + 0.9 + 0.28 + + 2 + 0 + + + + Prop/Town/Moorcroft/Luggage/Hatbox, gray + + + world/prop/manor/luggage_hatbox_01.dat + + Color - Base, offsets + + 0.06 + -0.34 + -0.14 + + Color - Handle, offsets + + 0.88 + -0.28 + -0.12 + + Color - Stripes, offsets + + -0.283 + -0.2 + -0.14 + + + + + 0.26 + + 2 + 0 + + + + Prop/Town/Moorcroft/Luggage/Hatbox, greenstripe + + + world/prop/manor/luggage_hatbox_01.dat + + Color - Base, offsets + + -0.55 + + Color - Handle, offsets + + 0.4 + -0.12 + -0.08 + + Color - Stripes, offsets + + 0.1 + + + + + 0.26 + + 2 + 0 + + + + Prop/Town/Moorcroft/Luggage/Suitcase, brown + + + world/prop/manor/luggage_suitcase_01.dat + + Color 1, offset + + 0.051 + + Color 2, offset + + -0.285 + + Color 3, offset + + -0.032 + -0.287 + -0.227 + + + + + 0.95 + 0.45 + + 2 + 0 + + + + Prop/Town/Moorcroft/Luggage/Suitcase, gray + + + world/prop/manor/luggage_suitcase_01.dat + + Color 1, offset + + 0.36 + -0.45 + -0.2 + + Color 2, offset + + -0.24 + -0.05 + 0.05 + + Color 3, offset + + 0.38 + 0.18 + -0.12 + + + + + 0.95 + 0.45 + + 2 + 0 + + + + Prop/Town/Moorcroft/Train tracks, huge + + + world/prop/manor/train_tracks.dat + + 0 + + + + Prop/Town/Storage/Bags and Sacks/Sack, open + + + 0.4 + + + + + Prop/Whitespace/Blocks & Cubes/Cube, 2 units + + + + Collision + + + Collision Flags + implementation.collision_flags + + + + + + Block movement and projectiles + + Collision Flags + 1 + + + + + Block movement only + + Collision Flags + 2 + + + + + No collision + + Collision Flags + 0 + + + + Block movement and projectiles + + + + + world/prop/whitespace/blocks_floating_set.dat + + Model + block_x2 + + + + 2.0 + 2.0 + + + + + Prop/Whitespace/Blocks & Cubes/Cube, 4 units + + + + Collision + + + Collision Flags + implementation.collision_flags + + + + + + Block movement and projectiles + + Collision Flag + 1 + Collision Flags + 1 + + + + + Block movement only + + Collision Flag + 2 + Collision Flags + 2 + + + + + No collision + + Collision Flag + 0 + Collision Flags + 0 + + + + Block everything + + + + + world/prop/whitespace/blocks_floating_set.dat + + Model + block_x4 + + + + 4.0 + 4.0 + + + + + Prop/Whitespace/Blocks & Cubes/Cube, single unit + + + + Collision + + + Collision Flags + implementation.collision_flags + + + + + + Block movement and projectiles + + Collision Flags + 1 + + + + + Block movement only + + Collision Flags + 2 + + + + + No collision + + Collision Flags + 0 + + + + Block movement and projectiles + + + + + world/prop/whitespace/blocks_floating_set.dat + + Model + block_x1 + + + + + + + + Prop/Whitespace/Swarm Void + + + world/skybox/consumed/model.dat + + + + + + 22.5 + + + 8.25, 0.0 + + + + + 22.5 + + + -8.25, 0.0 + + + + + 22.5 + + + 0.0, 8.25 + + + + + 22.5 + + + 0.0, -8.25 + + + + + 22.5 + + + 6.0, 6.0 + 0.7853982 + + + + + 22.5 + + + -6.0, 6.0 + 2.3561945 + + + + + 22.5 + + + 6.0, -6.0 + -0.7853982 + + + + + 22.5 + + + -6.0, -6.0 + -2.3561945 + + + + + 32 + + + + Shop/Haven/Alchemy + + + world/dynamic/energy/vendingmachine_01.dat + + Colorization + Yellow + Cost + Alchemy + Variant + Vial + + + + + + + Shop/Haven/Alchemy + + Cost + m.alchemy + + + + + + + + + Shop/Haven/Exchange + + + Actor + implementation.handlers[0].action.actor + + + + + character/npc/stranger/model.dat + + Colors + Yellow-Purple + Hat + + character/npc/stranger/hat_mining/model.dat + + Variant + Brown + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Variant + Green + + + Robes + hexagons + Snipes + Both Shoulders (01) + + + + + + + Shop/Haven/Exchange + + + + + + + + Shop/Haven/Guild 1 + + + Actor + implementation.handlers[0].action.actor + + + + + character/npc/stranger/model.dat + + Colors + Yellow-Purple + Hat + + character/npc/stranger/hat_mining/model.dat + + Variant + Brown + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Variant + Green + + + Robes + hexagons + Snipes + Both Shoulders (01) + + + + + + + Shop/Haven/Guild 1 + + + + + + + + Shop/Haven/Upgrades + + + Actor + implementation.handlers[0].action.actor + + + + + character/npc/stranger/model.dat + + Colors + Yellow-Purple + Hat + + character/npc/stranger/mask/model.dat + + Variant + Simple + + + Pack + + Robes + Merchant Tabard + Snipes + Both Shoulders (03) + + + + + + + Shop/Haven/Upgrades + + + + + + + + Shop/Moorcroft Manor/Armor 1 + + + Actor + implementation.handlers[0].action.actor + + + + + character/npc/monster/reaper/model.dat + + variant + grey + + + + + + + Shop/Moorcroft Manor/Armor 1 + + + + + + + + Shop/Moorcroft Manor/Armor 2 + + + Actor + implementation.handlers[0].action.actor + + + + + character/npc/monster/reaper/model.dat + + variant + grey + + + + + + + Shop/Moorcroft Manor/Armor 2 + + + + + + + + Shop/Rescue Camp/General Goods + + + Actor + implementation.handlers[0].action.actor + + + + + character/npc/stranger/model.dat + + Colors + Blue-Brown + Hat + + character/npc/stranger/hat_mining/model.dat + + Variant + Brown + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Robes + Merchant Tabard + Snipes + Both Shoulders (01) + + + + + + + Shop/Rescue Camp/General Goods + + + + + + + + Shop/Test/Free Items + + + character/pc/model.dat + + Armor + + item/gear/armor/doublebelt/model.dat + + Colorization + 272 + Variant + tan-teal-navy + + + Helmet + + item/gear/helm/nose/model.dat + + Colorization + 272 + Variant + green-tan + + + Label + + Material + + Shield + + item/gear/shield/aegis/model.dat + + variant + defender + + + Shield Away + True + Weapon + + + + + + + + Shop/Test/Free Items + + + + + + + + Shop/Test/Free Items (2) + + + Actor 1x1 + + Actor + + Shop/Test/Terminal + + + + + + + Shop/Test/Terminal + + + Actor 1x1 + + Actor + + Shop/Test/Terminal + + + + + + + Shop/Test/Upgrader + + + character/pc/model.dat + + Armor + + item/gear/armor/doublebelt/model.dat + + Colorization + 272 + Variant + tan-teal-navy + + + Helmet + + item/gear/helm/nose/model.dat + + Colorization + 272 + Variant + green-tan + + + Label + + Material + + Shield + + item/gear/shield/aegis/model.dat + + variant + defender + + + Shield Away + True + Weapon + + + + + + + + Shop/Test/Upgrader + + + + + + + + Sounds/Positional/Constant Looping + + + Sound + implementation.model["Sound"] + + + Gain + implementation.model["Gain"] + + + Pitch + implementation.model["Pitch"] + + + Range + implementation.model["Range"] + + + Label + implementation.model["Label"] + + + + + editor/marker/sound/model.dat + + Gain + 1.0 + Label + + Pitch + 1.0 + Range + Medium + Sound + sound/effect/world/environmental_rumble_01.ogg + + + + + + + 0.35 + + + + + 0 + 0 + + + + Sounds/Positional/Haven/Fountain, Town Square + + + Label + implementation.model["Label"] + + + + + editor/marker/sound/custom_sounder.dat + + Label + Fountain, Town Square + Range + Long + Sounder + + Custom/Environment/Haven/Fountain, Town Square + + Gain + 0.2 + + + Viewer Extents + 40 + + + + + + + 6.0 + + + + + 0 + 0 + + + + Sounds/Positional/Nature/Fire crackle, heavy + + + + Size + + + Gain + implementation.model["Sounder"]["Gain"] + + + Size + implementation.model["Sounder"]["Size"] + + + Viewer Extents + implementation.model["Viewer Extents"] + + + + + + Small + + + 0.2 + G + 0.2 + Ga + 0.2 + Gai + 0.2 + Gain + 0.2 + Size + Small + Viewer Extents + 16 + + + + + Medium + + + 0.2 + G + 0.2 + Ga + 0.2 + Gai + 0.2 + Gain + 0.25 + Size + Medium + Viewer Extents + 24 + + + + + Large + + + 0.2 + G + 0.2 + Ga + 0.2 + Gai + 0.2 + Gain + 0.3 + Size + Large + Viewer Extents + 32 + + + + Medium + + + Range + implementation.model["Range"] + + + Label + implementation.model["Label"] + + + + + editor/marker/sound/custom_sounder.dat + + Label + Fire crackle, heavy + Range + Medium + Sounder + + Custom/Environment/Nature/Fire crackle, heavy + + Gain + 0.4 + Size + Medium + + + Viewer Extents + 32 + + + + + + + 0.35 + + + + + 0 + 0 + + + + Sounds/Positional/Sounder + + + Sound File + implementation.model["Sounder"]["File"] + + + + Size + + + Gain + implementation.model["Sounder"]["Gain"] + + + Size + implementation.model["Range"] + + + Viewer Extents + implementation.model["Viewer Extents"] + + + Range + implementation.model["Sounder"]["Range"] + + + + + + Small + + + 0.2 + G + 0.2 + Ga + 0.2 + Gai + 0.2 + Gain + 0.2 + Range + Short + Size + Small + Viewer Extents + 16 + + + + + Medium + + + 0.2 + G + 0.2 + Ga + 0.2 + Gai + 0.2 + Gain + 0.25 + Range + Medium + Size + Medium + Viewer Extents + 24 + + + + + Large + + + 0.2 + G + 0.2 + Ga + 0.2 + Gai + 0.2 + Gain + 0.3 + Range + Long + Size + Long + Viewer Extents + 32 + + + + Medium + + + Label + implementation.model["Label"] + + + Gain + implementation.model["Sounder"]["Gain"] + + + Pitch + implementation.model["Sounder"]["Pitch"] + + + + + editor/marker/sound/custom_sounder.dat + + Label + Sounder + Range + Medium + Sounder + + Clip/Looping (Gain) + + File + sound/effect/world/block_explosive.ogg + Gain + 1.0 + Pitch + 1.0 + Range + Medium + + + Viewer Extents + 32 + + + + + + + 0.35 + + + + + 0 + 0 + + + + Sounds/Positional/Test + + + Label + implementation.model["Label"] + + + Sounder + implementation.model["Sounder"] + + + + + editor/marker/sound/custom_sounder.dat + + Label + Test Sounder + Range + Long + Sounder + + Custom/Test + + Viewer Extents + 32 + + + + + + + 16.0 + + + + + 0 + 0 + + + + Sounds/Positional/Tutorial/Clockworks Reveal + + + Label + implementation.model["Label"] + + + + + editor/marker/sound/custom_sounder.dat + + Label + Clockworks Reveal + Range + Long + Sounder + + Custom/Clockworks/Clockwork Machinery + + File + sound/effect/world/environmental_clockworks_01.ogg + Gain + 1.0 + Pitch + 1.0 + Range + Long + + + Viewer Extents + 40 + + + + + + + 6.0 + + + + + 0 + 0 + + + + Sounds/Positional/Tutorial/Crash site, electric zaps + + + Label + implementation.model["Label"] + + + + + editor/marker/sound/custom_sounder.dat + + Label + Electrical Zaps + Range + Medium + Sounder + + Viewer Extents + 24 + + + + + + + 0.35 + + + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Custom/Environment/Technology/Crash site, electric zaps + + Transform + + + Transient + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Custom/Environment/Technology/Crash site, electric zaps + + Transform + + + Transient + + + + + + + + + + + + + 0 + 0 + + + + Special Encounter/Device 1 + + + world/prop/structural/temp_stairs/model.dat + + + + + + Special Encounter/Terminal Traveler + + + + + + + + Special Encounter/Terminal Traveler + + + character/npc/stranger/model.dat + + Colors + Drab-Tan + Hat + + character/npc/stranger/hat_mining/model.dat + + Variant + Brown + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Robes + Merchant Tabard + Snipes + None + + + + + + + Special Encounter/Terminal Traveler + + + + + + + + Special Encounter/Traveler 1 + + + character/npc/stranger/model.dat + + Colors + Drab-Tan + Hat + + character/npc/stranger/hat_mining/model.dat + + Variant + Brown + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Robes + Merchant Tabard + Snipes + None + + + + + + + Special Encounter/Terminal Traveler + + + + + + + + Trigger/Actor Removed + + + Actor Tag + implementation.handlers[0].target.tag + + + Action + implementation.handlers[0].action + + + + + editor/marker/flag/model.dat + + Variant + Actor Removed + + + + + + + + + + Trigger/Actor Removed (2 Tags) + + + Actor Tag + implementation.handlers[0].target.tag + + + Actor Tag 2 + implementation.handlers[1].target.tag + + + Action + implementation.handlers[2].action.action + + + + + editor/marker/flag/model.dat + + Variant + Actor Removed + + + + + + + + + + + + + + + + + + + + Trigger/Actor Removed (3 Tags) + + + Actor Tag + implementation.handlers[0].target.tag + + + Actor Tag 2 + implementation.handlers[1].target.tag + + + Actor Tag 3 + implementation.handlers[3].target.tag + + + Action + implementation.handlers[2].action.action + + + + + editor/marker/flag/model.dat + + Variant + Actor Removed + + + + + + + + + + + + + + + + + + + + + + + + Trigger/Actor Removed (Multi) + + + Actor Tag + implementation.handlers[0].target.targets + + + Action + implementation.handlers[0].action + + + + + editor/marker/flag/model.dat + + Variant + Actor Removed + + + + + + + + + + Trigger/Master Signal Trigger + + + Spawn Tag + implementation.tags.tags[0] + + + Spawn Table + implementation.handlers[0].action.action.spawn_table + + + Number + implementation.handlers[0].action.action.location.size + + + Tag + implementation.handlers[0].action.action.location.target.tag + + + Wave Number + implementation.model["Models"][1].model["Text"] + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + editor/marker/flag/model.dat + + Variant + King + + + + + + editor/marker/monster_wave/text.dat + + Text + + + + + 0.0, -0.23000005, 0.44000006 + + + + + + + (tag 1) + + + + + + + + true + + + + + + + activate + + + + + + Trigger/One Time Action + + + Tag + implementation.tags.tags[0] + + + Action + implementation.handlers[0].action.action + + + Model + implementation.model + + + + + editor/marker/flag/model.dat + + Variant + One Time Action + + + + (Tag) + + + + + + + + activate + + + + + + Trigger/Repeat Action + + + Tag + implementation.tags.tags[0] + + + Action + implementation.handlers[0].action + + + + + editor/marker/flag/model.dat + + Variant + Repeat Action + + + + + + + + + + Trigger/Start Up Trigger + + + Actor + implementation.placeable["Action"].actor + + + Number + implementation.placeable["Action"].location.size + + + Marker Tag + implementation.placeable["Action"].location.target.tag + + + + + Trigger/Start Up Trigger (Generic) + + Action + + + + + + 0 + + + + + + + Trigger/Start Up Trigger (Generic) + + + Action + implementation.handlers[0].action + + + + + editor/marker/flag/model.dat + + Variant + Queen + + + + + + + + + + Trigger/Start Up Trigger (Table) + + + Spawn Table + implementation.placeable["Action"].spawn_table + + + Number + implementation.placeable["Action"].location.size + + + Marker Tag + implementation.placeable["Action"].location.target.tag + + + + + Trigger/Start Up Trigger (Generic) + + Action + + + + + + + + \ No newline at end of file diff --git a/custom-configs/wall.xml b/custom-configs/wall.xml new file mode 100644 index 0000000..ff4d1c5 --- /dev/null +++ b/custom-configs/wall.xml @@ -0,0 +1,24 @@ + + + + + + + Wall Test + + + Ground Test + + + + + + + + + \ No newline at end of file diff --git a/lib/commons-beanutils.jar b/lib/commons-beanutils.jar new file mode 100644 index 0000000..caf7ae3 Binary files /dev/null and b/lib/commons-beanutils.jar differ diff --git a/lib/commons-digester.jar b/lib/commons-digester.jar new file mode 100644 index 0000000..9c8bd13 Binary files /dev/null and b/lib/commons-digester.jar differ diff --git a/lib/commons-logging.jar b/lib/commons-logging.jar new file mode 100644 index 0000000..1deef14 Binary files /dev/null and b/lib/commons-logging.jar differ diff --git a/lib/config.jar b/lib/config.jar new file mode 100644 index 0000000..2704f1e Binary files /dev/null and b/lib/config.jar differ diff --git a/lib/depot-1.5.jar b/lib/depot-1.5.jar new file mode 100644 index 0000000..d91f07e Binary files /dev/null and b/lib/depot-1.5.jar differ diff --git a/lib/getdown-pro-new.jar b/lib/getdown-pro-new.jar new file mode 100644 index 0000000..7336b9d Binary files /dev/null and b/lib/getdown-pro-new.jar differ diff --git a/lib/jedis-4.0.1.jar b/lib/jedis-4.0.1.jar new file mode 100644 index 0000000..4397be1 Binary files /dev/null and b/lib/jedis-4.0.1.jar differ diff --git a/lib/jinput.jar b/lib/jinput.jar new file mode 100644 index 0000000..7c2b6b0 Binary files /dev/null and b/lib/jinput.jar differ diff --git a/lib/jshortcut.jar b/lib/jshortcut.jar new file mode 100644 index 0000000..b642b38 Binary files /dev/null and b/lib/jshortcut.jar differ diff --git a/lib/lwjgl.jar b/lib/lwjgl.jar new file mode 100644 index 0000000..465fac4 Binary files /dev/null and b/lib/lwjgl.jar differ diff --git a/lib/lwjgl_util.jar b/lib/lwjgl_util.jar new file mode 100644 index 0000000..5453187 Binary files /dev/null and b/lib/lwjgl_util.jar differ diff --git a/lib/mysql-connector-java-5.1.49.jar b/lib/mysql-connector-java-5.1.49.jar new file mode 100644 index 0000000..d3c8b41 Binary files /dev/null and b/lib/mysql-connector-java-5.1.49.jar differ diff --git a/lib/ooo-user.jar b/lib/ooo-user.jar new file mode 100644 index 0000000..c0747cf Binary files /dev/null and b/lib/ooo-user.jar differ diff --git a/lib/projectx-config.jar b/lib/projectx-config.jar new file mode 100644 index 0000000..3c82b95 Binary files /dev/null and b/lib/projectx-config.jar differ diff --git a/lib/projectx-pcode.jar b/lib/projectx-pcode.jar new file mode 100644 index 0000000..55bfade Binary files /dev/null and b/lib/projectx-pcode.jar differ diff --git a/lib/samskivert-1.5.jar b/lib/samskivert-1.5.jar new file mode 100644 index 0000000..06445d1 Binary files /dev/null and b/lib/samskivert-1.5.jar differ diff --git a/lib/velocity-1.7.jar b/lib/velocity-1.7.jar new file mode 100644 index 0000000..ae936d3 Binary files /dev/null and b/lib/velocity-1.7.jar differ diff --git a/rsrc/build.properties b/rsrc/build.properties new file mode 100644 index 0000000..eadae44 --- /dev/null +++ b/rsrc/build.properties @@ -0,0 +1,2 @@ +# Wed Apr 20 15:40:29 PDT 2011 +version = 20110420154029 \ No newline at end of file diff --git a/rsrc/peer.properties.temp b/rsrc/peer.properties.temp new file mode 100644 index 0000000..b56dba6 --- /dev/null +++ b/rsrc/peer.properties.temp @@ -0,0 +1,17 @@ +# +# $Id: thetya-server 2020-12-20 14:02 michael $ +# +# Configuration for the peered environment + +# +# This peer's node name. Leave blank if you want to run standalone. +node = tht-1 + +# +# This peer's external address. +external_address = the.actual.address + +# +# The secret shared with other peers to securely authenticate within the peer network. +# Should be tha same value in all the peers' configuration files. +shared_secret = ghsucks diff --git a/rsrc/rsrc/config/actor.xml b/rsrc/rsrc/config/actor.xml new file mode 100644 index 0000000..40ff4af --- /dev/null +++ b/rsrc/rsrc/config/actor.xml @@ -0,0 +1,106225 @@ + + + + + Block/Breakable/Castle + + + + world/dynamic/block/breakable/castle_base/model.dat + + Texture + world/dynamic/block/breakable/castle_base/breakable.png + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_breakable.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_breakable_break.dat + + Fragment (bottom) + + world/dynamic/block/breakable/castle_base/fragment/model.dat + + Model + fragment_bottom + Texture + world/dynamic/block/breakable/castle_base/breakable.png + + + Fragment (top) + + world/dynamic/block/breakable/castle_base/fragment/model.dat + + Model + fragment_top + Texture + world/dynamic/block/breakable/castle_base/breakable.png + + + + + + + + particle/fx_gethit_block.dat + + + + + 0 + + + + + + Block/Breakable/Castle, Firestorm + + + + world/dynamic/block/breakable/castle_fire/breakable.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/props/wooden_crash_05.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + world/dynamic/block/breakable/castle_fire/fx_breakable_destruct.dat + + Color + default + + + + + + particle/fx_gethit_block.dat + + + + + 0 + + + + + + Block/Breakable/Catacombs + + + + world/dynamic/block/breakable/castle_base/model.dat + + Texture + world/dynamic/block/breakable/castle_catacomb/breakable.png + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_breakable.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_breakable_break.dat + + Fragment (bottom) + + world/dynamic/block/breakable/castle_base/fragment/model.dat + + Model + fragment_bottom + Texture + world/dynamic/block/breakable/castle_catacomb/breakable.png + + + Fragment (top) + + world/dynamic/block/breakable/castle_base/fragment/model.dat + + Model + fragment_top + Texture + world/dynamic/block/breakable/castle_catacomb/breakable.png + + + + + + + + particle/fx_gethit_block.dat + + + + + 0 + + + + + + Block/Breakable/City, Base + + + + world/dynamic/block/breakable/city_base/breakable.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_breakable.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + world/dynamic/block/breakable/city_base/breakable_fx_destroy.dat + + + + + particle/fx_gethit_block.dat + + + + + 0 + + + + + + Block/Breakable/Clockworks, base + + + Block/Breakable/Parts/Clockworks (base) + + Texture + world/dynamic/block/breakable/clockworks/base.png + + + + + + Block/Breakable/Graveyard + + + + world/dynamic/block/breakable/castle_base/model.dat + + Texture + world/dynamic/block/breakable/graveyard/breakable.png + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_breakable.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_breakable_break.dat + + Fragment (bottom) + + world/dynamic/block/breakable/castle_base/fragment/model.dat + + Model + fragment_bottom + Texture + world/dynamic/block/breakable/graveyard/breakable.png + + + Fragment (top) + + world/dynamic/block/breakable/castle_base/fragment/model.dat + + Model + fragment_top + Texture + world/dynamic/block/breakable/graveyard/breakable.png + + + + + + + + particle/fx_gethit_block.dat + + + + + 0 + + + + + + Block/Breakable/Haven + + + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Normal + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/bush_cut_03.ogg + Gain + 0.7 + Pitch + 1.0 + Range + Medium + + + Transform + + + Transient + + world/dynamic/block/breakable/outershell/fx_shrubsplode.dat + + + + + particle/fx_gethit_block.dat + + + + + 0 + + + + + + Block/Breakable/Haven (Berries) + + + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Berries + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/bush_cut_03.ogg + Gain + 0.7 + Pitch + 1.0 + Range + Medium + + + Transform + + + Transient + + world/dynamic/block/breakable/outershell/fx_shrubsplode.dat + + + + + particle/fx_gethit_block.dat + + + + + 0 + + + + + + Block/Breakable/Parts/Clockworks (base) + + + Texture + implementation.sprite.model["Texture"], implementation.sprite.destruction_transient["Transient"]["Texture"] + + + + + + world/dynamic/block/breakable/clockworks/model_breakable.dat + + Texture + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + true + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_breakable.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 0.0, 0.0, 0.70710665, 0.70710695 + + Transient + + particle/fx_breakable_break_cwt.dat + + Texture + + + + + + + particle/fx_gethit_block.dat + + + + + 0 + + + + + + Block/Breakable/Shrub + + + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Normal + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/bush_cut_03.ogg + Gain + 0.7 + Pitch + 1.0 + Range + Medium + + + Transform + + + Transient + + world/dynamic/block/breakable/outershell/fx_shrubsplode.dat + + + + + particle/fx_gethit_block.dat + + + + + 513 + 513 + + + + + + Block/Breakable/Sky Islands, Day + + + Variant + implementation.sprite.model["Variant"] + + + Destruction fx variant + implementation.sprite.destruction_transient["Transient"]["Fragment (top) "]["Texture variant"], implementation.sprite.destruction_transient["Transient"]["Fragment (bottom)"]["Texture variant"] + + + + + + world/dynamic/block/breakable/sky_islands_day/breakable_2.dat + + Variant + Sky Islands, Day + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_breakable.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_breakable_break.dat + + Fragment (bottom) + + world/dynamic/block/breakable/sky_islands_day/fragments.dat + + Model + mesh_bottom + Texture variant + Sky Islands Day (default) + + + Fragment (top) + + world/dynamic/block/breakable/sky_islands_day/fragments.dat + + Model + mesh_top + Texture variant + Sky Islands Day (default) + + + + + + + + particle/fx_gethit_block.dat + + + + + 513 + 513 + + + + + + Block/Breakable/Sky Islands, Night + + + Block/Breakable/Sky Islands, Day + + Destruction fx variant + Sky Islands Night + Variant + Breakable - Sky Islands, Night + + + + + + Block/Breakable/WhiteSpace + + + + world/dynamic/block/whitespace/model_breakable.dat + + Variant + Breakable + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default + + File + sound/effect/world/whitespace/whitespace_block_breakable.ogg + Range + Medium + + + Transform + + + Transient + + world/dynamic/block/whitespace/fx_pixelbreak.dat + + + + + + + 513 + 513 + + + + + + Block/Breakable/WhiteSpace (Switch) + + + Actor + implementation.handlers[0].action.actor + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/whitespace/whitespace_block_breakable.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + world/dynamic/block/whitespace/fx_pixelbreak.dat + + + + + + + + + + + Dynamic/Switch/Button/WhiteSpace/One-Time + + (On Signal) + (On Signal) + (On Tag) + (On Tag) + Tag + (Button Tag) + + + + + + 0 + + + + Block/Crystal/Blue + + + + world/dynamic/block/starlink/model.dat + + Color + blue + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_crystal.ogg + Gain + 0.75 + Range + Medium + + + Transform + + + Transient + + particle/fx_starlink_explode.dat + + color + blue + + + + + + particle/fx_gethit_block.dat + + + + + 0 + + + + Block/Crystal/Gold + + + + world/dynamic/block/starlink/model.dat + + Color + gold + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_crystal.ogg + Gain + 0.75 + Range + Medium + + + Transform + + + Transient + + particle/fx_starlink_explode.dat + + color + gold + + + + + + particle/fx_gethit_block.dat + + + + + 0 + 1 + + + + Block/Crystal/Gray + + + + world/dynamic/block/starlink/model.dat + + Color + gray + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_crystal.ogg + Gain + 0.75 + Range + Medium + + + Transform + + + Transient + + particle/fx_starlink_explode.dat + + color + grey + + + + + + particle/fx_gethit_block.dat + + + + + 0 + 2 + + + + Block/Crystal/Green + + + + world/dynamic/block/starlink/model.dat + + Color + green + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_crystal.ogg + Gain + 0.75 + Range + Medium + + + Transform + + + Transient + + particle/fx_starlink_explode.dat + + color + green + + + + + + particle/fx_gethit_block.dat + + + + + 0 + 3 + + + + Block/Crystal/Pink + + + + world/dynamic/block/starlink/model.dat + + Color + pink + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_crystal.ogg + Gain + 0.75 + Range + Medium + + + Transform + + + Transient + + particle/fx_starlink_explode.dat + + color + pink + + + + + + particle/fx_gethit_block.dat + + + + + 0 + 4 + + + + Block/Crystal/Purple + + + + world/dynamic/block/starlink/model.dat + + Color + purple + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_crystal.ogg + Gain + 0.75 + Range + Medium + + + Transform + + + Transient + + particle/fx_starlink_explode.dat + + color + purple + + + + + + particle/fx_gethit_block.dat + + + + + 0 + 5 + + + + Block/Energy Block + + + Spawn Table + implementation.handlers[0].action.action.spawn_table + + + Energy + implementation.handlers[0].action.amount, implementation.handlers[0].action_desc.amount + + + Energy Use Type + implementation.handlers[0].action.use_type + + + + + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_treasure.ogg + Gain + 0.75 + Range + Medium + + + Transform + + + Transient + + particle/fx_treasure_explode.dat + + Color + Green + + + + + + + + + + + + + + + + 0 + 0 + + + + Block/Explosive + + + + world/dynamic/block/explosive/model.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_explosive.ogg + Gain + 0.75 + Range + Medium + + + Transform + + + Transient + + particle/explosive_block.dat + + Block + true + + + + + + particle/fx_gethit_block.dat + + + + + 0 + false + 100 + + + + + Block/Explosive Block - Explosion + + + + + + + + Block/Explosive (WhiteSpace) + + + + world/dynamic/block/whitespace/model_breakable.dat + + Variant + Explosive + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/whitespace/whitespace_block_explosive.ogg + Gain + 1.0 + Pitch + 1.0 + Range + Medium + + + Transform + + + Transient + + world/dynamic/block/whitespace/fx_pixelexplode.dat + + + + + + + 0 + 100 + + + + + Block/Explosive Block - Explosion + + + + + + + + Block/Explosive Timed + + + + world/dynamic/block/explosive_timed/model.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_explosive.ogg + Gain + 0.75 + Range + Medium + + + Transform + + + Transient + + particle/explosive_block.dat + + Block + true + + + + + + particle/fx_gethit_block.dat + + + + + + + world/dynamic/block/explosive_timed/parts/animation_countdown.dat + + + + + + + 0 + false + 4000 + + + + + Block/Explosive Block - Explosion + + + + + + + + Block/Gathering/Mineral, common + + + Block/Gathering/Parts/Base(Gather) + + Destruction Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/shrub_break.ogg + Gain + 1.0 + Pitch + 0.9 + Range + Short + + + Transform + + + Transient + + world/dynamic/block/breakable/outershell/fx_shrubsplode.dat + + + + Model + + world/dynamic/block/gather/rock/model.dat + + Variant + Normal + + + Spawn Table + + Treasure/Gathering/Mineral A1 + + + + + + + Block/Gathering/Mineral, rare + + + Block/Gathering/Parts/Base(Gather) + + Destruction Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/shrub_break.ogg + Gain + 1.0 + Pitch + 0.9 + Range + Short + + + Transform + + + Transient + + world/dynamic/block/breakable/outershell/fx_shrubsplode.dat + + + + Model + + world/dynamic/block/gather/rock/model.dat + + Variant + Rare + + + Spawn Table + + Treasure/Gathering/Mineral B1 + + + + + + + Block/Gathering/Parts/Base(Gather) + + + Model + implementation.sprite.model + + + Destruction Transient + implementation.sprite.destruction_transient + + + Spawn Table + implementation.damage_action.actions[1].spawn_table + + + + + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Normal + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/shrub_break.ogg + Gain + 1.0 + Pitch + 0.9 + Range + Short + + + Transform + + + Transient + + world/dynamic/block/breakable/outershell/fx_shrubsplode.dat + + + + + particle/fx_gethit_block.dat + + + + + 0 + + + + + Treasure/Gathering/Shrub A1 + + + + + + + + Block/Gathering/Shrub, common + + + Block/Gathering/Parts/Base(Gather) + + Destruction Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/bush_cut_03.ogg + Gain + 0.7 + Pitch + 1.0 + Range + Short + + + Transform + + + Transient + + world/dynamic/block/breakable/outershell/fx_shrubsplode.dat + + + + Model + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Normal + + + Spawn Table + + Treasure/Gathering/Shrub A1 + + + + + + + Block/Gathering/Shrub, rare + + + Block/Gathering/Parts/Base(Gather) + + Destruction Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/bush_cut_03.ogg + Gain + 0.7 + Pitch + 1.0 + Range + Short + + + Transform + + + Transient + + world/dynamic/block/breakable/outershell/fx_shrubsplode.dat + + + + Model + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Berries + + + Spawn Table + + Treasure/Gathering/Shrub B1 + + + + + + + Block/Gathering/Shrub, rare 2 + + + Block/Gathering/Parts/Base(Gather) + + Destruction Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/bush_cut_03.ogg + Gain + 0.7 + Pitch + 1.0 + Range + Short + + + Transform + + + Transient + + world/dynamic/block/breakable/outershell/fx_shrubsplode.dat + + + + Model + + world/dynamic/block/breakable/castle_base/model.dat + + Texture + + + + Spawn Table + + Treasure/Gathering/Shrub A1 + + + + + + + Block/Ghost + + + + world/dynamic/block/ghostlink/model.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_ghost.ogg + Gain + 1.0 + Range + Long + + + Transform + + + Transient + + particle/fx_block_fade.dat + + Model + + world/dynamic/block/ghostlink/model.dat + + + + + + + particle/fx_gethit_block.dat + + + + + 0 + + + + Block/Ghost (WhiteSpace) + + + + world/dynamic/block/whitespace/model_breakable.dat + + Variant + Ghost + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default + + File + sound/effect/world/whitespace/whitespace_block_ghost.ogg + Range + Long + + + Transform + + + Transient + + particle/fx_block_fade.dat + + Model + + world/dynamic/block/whitespace/model_breakable.dat + + Variant + Ghost + + + + + + + + + + 0 + + + + Block/Mineral/Crimsonite Node + + + Block/Mineral/Parts/Mineral (Base) + + Break Color + mineral-Red + Model Color + Red + OnHit Spawn Table + + Spawn Table + + Treasure/Mineral/Crimsonite Deposit + + + + + + + Block/Mineral/Dark Matter Node + + + Block/Mineral/Parts/Mineral (Base) + + Break Color + mineral-Dark + Model Color + mineral-Dark + OnHit Spawn Table + + Spawn Table + + Treasure/Mineral/Dark Matter Deposit + + + + + + + Block/Mineral/Luminite Node + + + Block/Mineral/Parts/Mineral (Base) + + Break Color + mineral-Light + Model Color + mineral-Light + OnHit Spawn Table + + Spawn Table + + Treasure/Mineral/Luminite Deposit + + + + + + + Block/Mineral/Moonstone Node + + + Block/Mineral/Parts/Mineral (Base) + + Break Color + mineral-Blue + Model Color + mineral-Blue + OnHit Spawn Table + + Spawn Table + + Treasure/Mineral/Moonstone Deposit + + + + + + + Block/Mineral/Parts/Mineral (Base) + + + Spawn Table + implementation.handlers[0].action.spawn_table + + + OnHit Spawn Table + implementation.damage_action.spawn_table + + + Break Color + implementation.sprite.destruction_transient["Transient"]["color"], implementation.sprite.hit_transient["Transient"]["color"] + + + Model Color + implementation.sprite.model["Color"] + + + + + + world/dynamic/block/mineral node/model.dat + + Color + Red + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default + + File + sound/effect/world/block_mineral_break.ogg + Range + Medium + + + Transform + + + Transient + + particle/fx_starlink_explode.dat + + color + mineral-Red + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Meta Clip/Default + + Files + + + Range + Medium + + + Transform + + + Transient + + particle/fx_starlink_explode.dat + + color + mineral-Red + + + + + + + + world/dynamic/block/mineral node/animation_hit0.dat + + + + + world/dynamic/block/mineral node/animation_hit1.dat + + + + + world/dynamic/block/mineral node/animation_hit2.dat + + + + + + + + + + + + + 0 + + + + + + Block/Mineral/Valestone Node + + + Block/Mineral/Parts/Mineral (Base) + + Break Color + mineral-Green + Model Color + mineral-Green + OnHit Spawn Table + + Spawn Table + + Treasure/Mineral/Valestone Deposit + + + + + + + Block/Monster + + + Spawn Table + implementation.damage_action.actions[1].spawn_table + + + + + + world/dynamic/block/monster/model.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_monster.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + world/dynamic/block/monster/parts/explode.dat + + + + + particle/fx_gethit_block.dat + + + + + 0 + + + + + Monster/Monster Block/Monster Block 1 + + + + + + + + Block/Monster (WhiteSpace) + + + + world/dynamic/block/whitespace/model_breakable.dat + + Variant + Monster + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_monster.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + character/npc/monster/swarm/shadows/fx_shadowbreak.dat + + + + + particle/fx_gethit_block.dat + + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Void Marker + + Wave Tag + + + + + + + 0 + + + + + + Block/Stone + + + + world/dynamic/block/stone/parts/model_set.dat + + Model + mesh_block00 + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_stone_hit.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_stoneblock_explode.dat + + Chunks + Sparse + Style variant + default + + + + + + + + 0 + + + + + Block/Stone_Parts/Stone(1hit) + + + + + + + + + + Block/Stone(old) + + + + world/dynamic/block/stone/model.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_stone_break.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_stoneblock_explode.dat + + Chunks + Full + Style variant + default + + + + + + particle/fx_gethit_block.dat + + + + + world/dynamic/block/stone/parts/animation_state0.dat + + + + + world/dynamic/block/stone/parts/animation_state1.dat + + + + + world/dynamic/block/stone/parts/animation_state3.dat + + + + + + + 0 + + + + Block/Stone_Parts/Stone(1hit) + + + + world/dynamic/block/stone/parts/model_set.dat + + Model + mesh_block01 + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_stone_hit.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_stoneblock_explode.dat + + Chunks + Sparse + Style variant + default + + + + + + + + 0 + + + + + Block/Stone_Parts/Stone(2hit) + + + + + + + + + + Block/Stone_Parts/Stone(2hit) + + + + world/dynamic/block/stone/parts/model_set.dat + + Model + mesh_block02 + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_stone_break.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_stoneblock_explode.dat + + Chunks + Full + Style variant + default + + + + + + + + 0 + + + + + Block/Misc/Stone Block, Jelly Spawn + + + + + + + + + + Block/Treasure + + + Color + implementation.sprite.model["Variant"], implementation.sprite.destruction_transient["Transient"]["Color"] + + + Spawn Table + implementation.damage_action.actions[1].spawn_table + + + + + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_treasure.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_treasure_explode.dat + + Color + Green + + + + + + particle/fx_gethit_block.dat + + + + + 0 + + + + + + + + + + + + + + Block/Treasure, Health + + + Color + implementation.actor["Color"] + + + Spawn Table + implementation.actor["Spawn Table"] + + + + + Block/Treasure + + Color + Pink + Spawn Table + + Treasure/Health/Treasure Health, Hearts + + + + + + + Block/Treasure, Rare + + + Color + implementation.actor["Color"] + + + Spawn Table + implementation.actor["Spawn Table"] + + + + + Block/Treasure + + Color + Red + Spawn Table + + + + + + + Block/Unbreakable/Castle + + + + world/dynamic/block/unbreakable/castle_base/model.dat + + + particle/fx_hitblocked.dat + + + + + 0 + 0 + + + + Block/Unbreakable/Castle, Firestorm + + + + world/dynamic/block/unbreakable/castle_firestorm/unbreakable.dat + + + particle/fx_hitblocked.dat + + + + + 0 + 0 + + + + Block/Unbreakable/Catacombs + + + + world/dynamic/block/unbreakable/castle_catacomb/model.dat + + + particle/fx_hitblocked.dat + + + + + 0 + 0 + + + + Block/Unbreakable/City, Base + + + + world/dynamic/block/unbreakable/city_base/unbreakable.dat + + Texture + world/dynamic/block/unbreakable/city_base/unbreakable.png + + + + particle/fx_hitblocked.dat + + + + + 0 + 0 + + + + Block/Unbreakable/Clockworks, base + + + + world/dynamic/block/unbreakable/city_base/unbreakable.dat + + Texture + world/dynamic/block/unbreakable/clockworks/base.png + + + + particle/fx_hitblocked.dat + + + + + 0 + 0 + + + + Block/Unbreakable/Graveyard + + + + world/dynamic/block/unbreakable/graveyard/model.dat + + + particle/fx_hitblocked.dat + + + + + 0 + 0 + + + + Block/Unbreakable/Outershell + + + + world/dynamic/block/unbreakable/outershell/outershell_unbreak.dat + + + particle/fx_hitblocked.dat + + + + + 0 + 0 + + + + Block/Unbreakable/Sky Islands, Day + + + Variant + implementation.sprite.model["Variant"] + + + + + + world/dynamic/block/breakable/sky_islands_day/breakable_2.dat + + Variant + Unbreakable - Sky Islands, Day + + + + particle/fx_hitblocked.dat + + + + + 0 + 0 + + + + Block/Unbreakable/Sky Islands, Night + + + Block/Unbreakable/Sky Islands, Day + + Variant + Unbreakable - Sky Islands, Night + + + + + + Block/Unbreakable/WhiteSpace + + + + world/dynamic/block/whitespace/model_unbreakable.dat + + + + + 0 + 0 + + + + Bomb/Big Angry (charged) + + + Damage + implementation.actor["Blast Damage"] + + + Radius + implementation.actor["Radius"] + + + + + Bomb/Parts/Base (Cluster) + + Blast Damage + + 300.0 + 2 + true + + Fuse + 3000 + Fuse Graphic + 3.0 + Knock-Back + + 9.0, 0.0 + 600 + 6 + + Large Explosion + + particle/explosion/bomb_blast.dat + + Charged + true + Color + Red + Icon + particle/texture/bomb_icon_bigangry.png + Size + 1.0 + + + Large Sound + + Custom/Weapons/Bomb Detonation, Big Angry Bomb + + Model + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + item/weapon/bomb/blast/model.dat + + variant + angry + + + + 1.4 + + + + + + Radius + 6.0 + Small Explosions + + particle/explosion/bomb_blast.dat + + Charged + false + Color + Red + Icon + particle/texture/bomb_icon_bigangry.png + Size + 1.0 + + + Small Sounds + sound/effect/weapon/bomb_01.ogg + + + + + + Bomb/Blast (Charged) + + + Damage + implementation.actor["Blast Damage"] + + + Radius + implementation.actor["Radius"] + + + Model + implementation.actor["Model"] + + + + + Bomb/Parts/Base (Cluster) + + Blast Damage + + 125.0 + 2 + true + + Fuse + 2000 + Fuse Graphic + 2.0 + Knock-Back + + 5.0, 0.0 + 400 + 4 + + Large Explosion + + particle/explosion/bomb_blast.dat + + Charged + true + Color + Cyan + Icon + particle/texture/bomb_icon_blast.png + Size + 1.0 + + + Large Sound + + Custom/Weapons/Parts/Bomb Detonation, Base + + File + sound/effect/weapon/bomb_c02.ogg + Gain + 1.0 + Pitch + Default + Range + Default + + + Model + + item/weapon/bomb/blast/model.dat + + variant + blast(blue) + + + Radius + 2.5 + Small Explosions + + particle/explosion/bomb_blast.dat + + Charged + false + Color + Cyan + Icon + particle/texture/bomb_icon_blast.png + Size + 1.0 + + + Small Sounds + sound/effect/weapon/bomb_01.ogg + + + + + + Bomb/Bomb Base + + + Model + implementation.sprite.model + + + Destruction Transient + implementation.sprite.destruction_transient + + + Fuse + implementation.fuse + + + Blast Radius + implementation.detonation_action.region.shape.radius + + + Blast Damage + implementation.detonation_action.damage.amount + + + Knock-Back + implementation.detonation_action.impulse_dealt + + + Damage Flag + implementation.detonation_action.damage.flags + + + + + + item/weapon/bomb/proto/model.dat + + Variant + proto + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/bomb_01.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/bomb.dat + + + + + 512 + 0 + + + 1.0 + 2 + + true + + + + + Bomb/Chemical + + + Cloud Lifespan + implementation.detonation_action.actions[1].actor["Lifespan"] + + + Lifespan + implementation.sprite.destruction_transient["Transient"]["Lifespan"] + + + Radius + implementation.sprite.destruction_transient["Transient"]["Radius"], implementation.detonation_action.actions[1].actor["Radius"], implementation.sprite.model["Range"] + + + Bomb Transform + implementation.sprite.model["Transform"] + + + Damage + implementation.detonation_action.actions[1].actor["Damage"] + + + Bomb Model + implementation.sprite.model["Bomb"] + + + Cloud Color + implementation.sprite.destruction_transient["Transient"]["Color"] + + + Destruction Sound + implementation.sprite.destruction_transient["Sounder"] + + + Damage (Blast) + implementation.detonation_action.actions[0].damage.damages[0] + + + Radius (Blast) + implementation.detonation_action.actions[0].region.shape.radius + + + + + + item/weapon/bomb/bomb_wrapper.dat + + Bomb + + item/weapon/bomb/chemical/model.dat + + Variant + Frost Blue + + + Color + White + Fuse + 2.0 + Range + 1.45 + Sounder + + Clip/Default + + File + sound/effect/weapon/bomb_drop_01.ogg + Range + Medium + + + Transform + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bomb Detonation, Chemical + + Pitch + Default + + + Transform + + + Transient + + particle/explosion/bomb_chemicalcloud.dat + + Color + Frost Blue + Complexity + Normal + Explosion + true + Lifespan + 6.0 + Radius + 1.5 + + + + + + 0 + 0 + + + + + + + + + + + 20.0 + 2 + + + 2 + + Freeze + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + true + + + + Bomb/Parts/Chemical (Cloud) + + Damage + + Freeze + + Chance + 0.25 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Lifespan + 6000 + Radius + 1.45 + + + + + + + + + Bomb/Chemical (Charged) + + + Damage + implementation.actor["Damage"] + + + Radius + implementation.actor["Radius"] + + + Damage (Blast) + implementation.actor["Damage (Blast)"] + + + Radius (Blast) + implementation.actor["Radius (Blast)"] + + + + Lifespan + + + Cloud + implementation.actor["Cloud Lifespan"] + + + FX + implementation.actor["Lifespan"] + + + + + + 1,000 + + Cloud + 1000 + FX + 1.0 + + + + + 2,000 + + Cloud + 2000 + FX + 2.0 + + + + + 3,000 + + Cloud + 3000 + FX + 3.0 + + + + + 4,000 + + Cloud + 4000 + FX + 4.0 + + + + + 5,000 + + Cloud + 5000 + FX + 5.0 + + + + + 6,000 + + Cloud + 6000 + FX + 6.0 + + + + + 7,000 + + Cloud + 7000 + FX + 7.0 + + + + + 8,000 + + Cloud + 8000 + FX + 8.0 + + + + + 9,000 + + Cloud + 9000 + FX + 9.0 + + + + + 10,000 + + Cloud + 10000 + FX + 10.0 + + + + 8,000 + + + Bomb Model + implementation.actor["Bomb Model"] + + + Cloud Color + implementation.actor["Cloud Color"] + + + Explode Sound + implementation.actor["Destruction Sound"] + + + + + Bomb/Chemical + + Bomb Model + + item/weapon/bomb/chemical/model.dat + + Variant + Frost Blue + + + Bomb Transform + + 1.25 + + Cloud Color + Frost Blue + Cloud Lifespan + 8000 + Damage + + Freeze + + Chance + 0.25 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Damage (Blast) + + 20.0 + 2 + + Destruction Sound + + Custom/Weapons/Bomb Detonation, Chemical + + Pitch + Default + + + Lifespan + 8.0 + Radius + 4.0 + Radius (Blast) + 1.25 + + + + + + Bomb/ColdSnap (Charged) + + + Damage + implementation.actor["Blast Damage"] + + + Radius + implementation.actor["Radius"] + + + + + Bomb/Parts/Base (Cluster) + + Blast Damage + + + + 125.0 + 2 + + + 2 + + Freeze + + Chance + 0.25 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Fuse + 2000 + Fuse Graphic + 2.0 + Knock-Back + + 3.0, 0.0 + 200 + + Large Explosion + + particle/explosion/bomb_blast.dat + + Charged + true + Color + Frost + Icon + particle/texture/sphere.png + Size + 1.0 + + + Large Sound + + Custom/Weapons/Parts/Bomb Detonation, Base + + File + sound/effect/weapon/bomb_c02.ogg + Gain + 1.0 + Pitch + Higher 1 + Range + Default + + + Model + + item/weapon/bomb/proto/model.dat + + Variant + coldsnap + + + Radius + 2.5 + Small Explosions + + particle/explosion/bomb_blast.dat + + Charged + false + Color + Frost + Icon + particle/texture/bomb_icon_blast.png + Size + 1.0 + + + Small Sounds + sound/effect/weapon/bomb_01.ogg + + + + + + Bomb/Deconstructor (Charged) + + + Damage + implementation.actor["Blast Damage"] + + + Radius + implementation.actor["Radius"] + + + + + Bomb/Parts/Base (Cluster) + + Blast Damage + + 45.0 + 2 + true + + Fuse + 2000 + Fuse Graphic + 2.0 + Knock-Back + + 5.0, 0.0 + 400 + 4 + + Large Explosion + + particle/explosion/bomb_blast.dat + + Charged + true + Color + Red + Icon + particle/texture/logo_gremlin.png + Size + 1.0 + + + Large Sound + + Custom/Weapons/Parts/Bomb Detonation, Base + + File + sound/effect/weapon/bomb_c02.ogg + Gain + 1.0 + Pitch + Lower 1 + Range + Default + + + Model + + item/weapon/npc/mine_windup/model.dat + + Variant + Deconstructor + + + Radius + 2.0 + Small Explosions + + particle/explosion/bomb_blast.dat + + Charged + false + Color + Red + Icon + particle/texture/logo_gremlin.png + Size + 1.0 + + + Small Sounds + sound/effect/weapon/bomb_01.ogg + + + + + + Bomb/Firecracker (Charged) + + + Damage + implementation.actor["Blast Damage"] + + + Radius + implementation.actor["Radius"] + + + + + Bomb/Parts/Base (Cluster) + + Blast Damage + + + + 125.0 + 2 + + + 2 + + Fire + + Chance + 0.25 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Fuse + 2000 + Fuse Graphic + 2.0 + Knock-Back + + 3.0, 0.0 + 200 + + Large Explosion + + particle/explosion/bomb_blast.dat + + Charged + true + Color + Fire Red + Icon + particle/texture/sphere.png + Size + 1.0 + + + Large Sound + + Custom/Weapons/Parts/Bomb Detonation, Base + + File + sound/effect/weapon/bomb_c02.ogg + Gain + 1.0 + Pitch + Higher 1 + Range + Default + + + Model + + item/weapon/bomb/proto/model.dat + + Variant + firecracker + + + Radius + 2.5 + Small Explosions + + particle/explosion/bomb_blast.dat + + Charged + false + Color + Fire Red + Icon + particle/texture/bomb_icon_blast.png + Size + 1.0 + + + Small Sounds + sound/effect/weapon/bomb_01.ogg + + + + + + Bomb/Gravidos (Charged) + + + Damage + implementation.detonation_action.actions[1].actor["Child"]["Child"]["Child"]["Child"]["Child"]["Damage"] + + + Radius (Blast) + implementation.detonation_action.actions[1].actor["Child"]["Child"]["Child"]["Child"]["Child"]["Radius"] + + + + Radius + + + Damage Zone + implementation.detonation_action.actions[1].actor["Child"]["Child"]["Child"]["Child"]["Radius"], implementation.detonation_action.actions[1].actor["Child"]["Child"]["Child"]["Radius"], implementation.detonation_action.actions[1].actor["Child"]["Child"]["Radius"], implementation.detonation_action.actions[1].actor["Child"]["Radius"], implementation.detonation_action.actions[1].actor["Radius"] + + + FX + implementation.detonation_action.actions[1].actor["Child"]["Child"]["Child"]["FX"]["Radius"], implementation.detonation_action.actions[1].actor["Child"]["Child"]["FX"]["Radius"], implementation.detonation_action.actions[1].actor["Child"]["FX"]["Radius"], implementation.detonation_action.actions[1].actor["FX"]["Radius"] + + + + + + 1.0 + + Damage Zone + 0.95 + FX + 1.0 + + + + + 1.5 + + Damage Zone + 1.45 + FX + 1.5 + + + + + 2.0 + + Damage Zone + 1.95 + FX + 2.0 + + + + + 2.5 + + Damage Zone + 2.45 + FX + 2.5 + + + + + 3.0 + + Damage Zone + 2.95 + FX + 3.0 + + + + 3.0 + + + + + + item/weapon/bomb/bomb_wrapper.dat + + Bomb + + item/weapon/bomb/artifact/model.dat + + Variant + Gravity + + + Color + White + Fuse + 2.0 + Range + 2.5 + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/bomb_drop_01.ogg + Gain + 2.0 + Range + Medium + + + Transform + + 1.25 + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) + + File + + Gain + 1.0 + Range + Long + + + Transform + + + Transient + + particle/explosion/gravidos_vortex.dat + + Radius + 2.0 + + + + + + 0 + 0 + + + + + 15.0 + 2 + + true + + -1.25, -0.25 + 400 + 4 + + + + + Bomb/Parts/Gravidos (Implode) (Charged) + + Child + + Bomb/Parts/Gravidos (Implode) (Charged) + + Child + + Bomb/Parts/Gravidos (Implode) (Charged) + + Child + + Bomb/Parts/Gravidos (Implode) (Charged) + + Child + + Bomb/Parts/Gravidos (Implode) (Charged) + + Child + + Bomb/Parts/Gravidos (Explode) (Charged) + + Damage + + 120.0 + 2 + + Radius + 1.5 + + + FX + + FX Transform + + + Radius + 1.95 + + + FX + + particle/explosion/gravidos_vortex.dat + + Radius + 3.0 + + + FX Transform + + + Radius + 1.95 + + + FX + + particle/explosion/gravidos_vortex.dat + + Radius + 3.0 + + + FX Transform + + + Radius + 1.95 + + + FX + + particle/explosion/gravidos_vortex.dat + + Radius + 2.5 + + + FX Transform + + + Radius + 1.95 + + + FX + + particle/explosion/gravidos_vortex.dat + + Radius + 2.0 + + + FX Transform + + + Radius + 1.95 + + + + + + + + + Bomb/Gravidos2 (Charged) + + + Damage + implementation.detonation_action.actions[1].actor["Child"]["Child"]["Child"]["Child"]["Child"]["Damage"] + + + Radius (Blast) + implementation.detonation_action.actions[1].actor["Child"]["Child"]["Child"]["Child"]["Child"]["Radius"] + + + + Radius + + + Damage Zone + implementation.detonation_action.actions[1].actor["Child"]["Child"]["Child"]["Child"]["Radius"], implementation.detonation_action.actions[1].actor["Child"]["Child"]["Child"]["Radius"], implementation.detonation_action.actions[1].actor["Child"]["Child"]["Radius"], implementation.detonation_action.actions[1].actor["Child"]["Radius"], implementation.detonation_action.actions[1].actor["Radius"] + + + FX + implementation.detonation_action.actions[1].actor["Child"]["Child"]["Child"]["FX"]["Radius"], implementation.detonation_action.actions[1].actor["Child"]["Child"]["FX"]["Radius"], implementation.detonation_action.actions[1].actor["Child"]["FX"]["Radius"], implementation.detonation_action.actions[1].actor["FX"]["Radius"] + + + + + + 1.0 + + Damage Zone + 0.95 + FX + 1.0 + + + + + 1.5 + + Damage Zone + 1.45 + FX + 1.5 + + + + + 2.0 + + Damage Zone + 1.95 + FX + 2.0 + + + + + 2.5 + + Damage Zone + 2.45 + FX + 2.5 + + + + + 3.0 + + Damage Zone + 2.95 + FX + 3.0 + + + + 3.0 + + + + + + item/weapon/bomb/bomb_wrapper.dat + + Bomb + + item/weapon/bomb/artifact/model.dat + + Variant + Elec + + + Color + White + Fuse + 2.0 + Range + 2.5 + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/bomb_drop_01.ogg + Gain + 2.0 + Range + Medium + + + Transform + + 1.25 + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + + Gain + 1.0 + Range + Long + + + Transform + + + Transient + + particle/explosion/gravidos_vortex.dat + + Radius + 2.0 + + + + + + 0 + 0 + + + + + 15.0 + 2 + + true + + -1.25, -0.25 + 400 + 4 + + + + + Bomb/Parts/Gravidos (Implode) (Charged) + + Child + + Bomb/Parts/Gravidos (Implode) (Charged) + + Child + + Bomb/Parts/Gravidos (Implode) (Charged) + + Child + + Bomb/Parts/Gravidos (Implode) (Charged) + + Child + + Bomb/Parts/Gravidos (Implode) (Charged) + + Child + + Bomb/Parts/Gravidos (Explode) (Charged) + + Damage + + 120.0 + 2 + + Radius + 1.5 + + + FX + + FX Transform + + + Radius + 1.95 + + + FX + + particle/explosion/gravidos_vortex.dat + + Radius + 3.0 + + + FX Transform + + + Radius + 1.95 + + + FX + + particle/explosion/gravidos_vortex.dat + + Radius + 3.0 + + + FX Transform + + + Radius + 1.95 + + + FX + + particle/explosion/gravidos_vortex.dat + + Radius + 2.5 + + + FX Transform + + + Radius + 1.95 + + + FX + + particle/explosion/gravidos_vortex.dat + + Radius + 2.0 + + + FX Transform + + + Radius + 1.95 + + + + + + + + + Bomb/IronDestroy (Charged) + + + Damage + implementation.actor["Blast Damage"] + + + + + Bomb/Parts/Base (Cluster) + + Blast Damage + + 88.0 + 2 + true + + Fuse + 3000 + Fuse Graphic + 3.0 + Knock-Back + + 6.0, 0.0 + 300 + 6 + + Large Explosion + + particle/explosion/bomb_blast.dat + + Charged + true + Color + Hateful Orange + Icon + particle/texture/bomb_icon_blast.png + Size + 1.0 + + + Large Sound + + Custom/Weapons/Parts/Bomb Detonation, Base + + File + sound/effect/weapon/bomb_c02.ogg + Gain + 1.0 + Pitch + Lower 2 + Range + Longer 1 + + + Model + + item/weapon/bomb/blast/model.dat + + variant + IronDestroy + + + Radius + 3.0 + Small Explosions + + particle/explosion/bomb_blast.dat + + Charged + false + Color + Hateful Orange + Icon + particle/texture/bomb_icon_blast.png + Size + 1.0 + + + Small Sounds + sound/effect/weapon/bomb_01.ogg + + + + + + Bomb/Irontech (Charged) + + + Damage + implementation.actor["Blast Damage"] + + + + + Bomb/Parts/Base (Cluster) + + Blast Damage + + 75.0 + 2 + true + + Fuse + 3000 + Fuse Graphic + 3.0 + Knock-Back + + 6.0, 0.0 + 300 + 6 + + Large Explosion + + particle/explosion/bomb_blast.dat + + Charged + true + Color + Hateful Orange + Icon + particle/texture/bomb_icon_blast.png + Size + 1.0 + + + Large Sound + + Custom/Weapons/Parts/Bomb Detonation, Base + + File + sound/effect/weapon/bomb_c02.ogg + Gain + 1.0 + Pitch + Lower 1 + Range + Default + + + Model + + item/weapon/bomb/blast/model.dat + + variant + Irontech + + + Radius + 3.0 + Small Explosions + + particle/explosion/bomb_blast.dat + + Charged + false + Color + Hateful Orange + Icon + particle/texture/bomb_icon_blast.png + Size + 1.0 + + + Small Sounds + sound/effect/weapon/bomb_01.ogg + + + + + + Bomb/Monster/Base (Alt) + + + Model + implementation.sprite.model + + + Destruction Transient + implementation.sprite.destruction_transient + + + Fuse + implementation.fuse + + + Blast Radius + implementation.detonation_action.region.shape.radius + + + Knock-Back + implementation.detonation_action.impulse_dealt + + + Damage + implementation.detonation_action.damage + + + + + + item/weapon/bomb/proto/model.dat + + Variant + proto + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/bomb_01.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/bomb.dat + + + + + 512 + 0 + + + + + + + 1.0 + 4 + + true + + + + + Bomb/Monster/Boss/Vanaduke Monologue + + + Words + implementation.sprite.creation_transient["Transient"]["Text"] + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/devilite/devilite_overtime.ogg + Gain + 0.8 + Pitch + 0.5 + Range + Medium + + + Transform + + 2.0 + 0.0, 0.0, 3.0 + + Transient + + model/compound/monsterchat/model.dat + + Name + + Text + Chef Knight LFG! Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam aliquam porta risus, eget venenatis sapien fermentum eu. + + + + + + 0 + 0 + 1 + + + + Bomb/Monster/Chemical + + + Cloud Lifespan + implementation.detonation_action.actions[1].actor["Lifespan"] + + + Lifespan + implementation.sprite.destruction_transient["Transient"]["Lifespan"] + + + Radius + implementation.sprite.destruction_transient["Transient"]["Radius"], implementation.detonation_action.actions[1].actor["Radius"], implementation.sprite.model["Range"] + + + Bomb Transform + implementation.sprite.model["Transform"] + + + Damage + implementation.detonation_action.actions[1].actor["Damage"] + + + Bomb Model + implementation.sprite.model["Bomb"] + + + Cloud Color + implementation.sprite.destruction_transient["Transient"]["Color"] + + + Destruction Sound + implementation.sprite.destruction_transient["Sounder"] + + + Damage (Blast) + implementation.detonation_action.actions[0].damage.damages[0] + + + Radius (Blast) + implementation.detonation_action.actions[0].region.shape.radius + + + + + + item/weapon/bomb/bomb_wrapper.dat + + Bomb + + item/weapon/bomb/chemical/model.dat + + Variant + Frost Blue + + + Color + White + Fuse + 2.0 + Range + 1.45 + Sounder + + Clip/Default + + File + sound/effect/weapon/bomb_drop_01.ogg + Range + Medium + + + Transform + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bomb Detonation, Chemical + + Pitch + Default + + + Transform + + + Transient + + particle/explosion/bomb_chemicalcloud.dat + + Color + Frost Blue + Complexity + Normal + Explosion + true + Lifespan + 6.0 + Radius + 1.5 + + + + + + 0 + 0 + + + + + + + 20.0 + 2 + + + 2 + + Freeze + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + true + + + + Bomb/Parts/Chemical (Cloud) + + Damage + + Freeze + + Chance + 0.25 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Lifespan + 6000 + Radius + 1.45 + + + + + + + + + Bomb/Monster/Chromalisk/Spew Puddle (base) + + + Texture + implementation.sprite.model["Texture"] + + + Particle Color + implementation.sprite.model["Particle Color"] + + + Status Damage + implementation.handlers[0].action.damage.status_condition + + + Fuse + implementation.fuse + + + FX Attachment + implementation.sprite.model["FX"] + + + FX Transform + implementation.sprite.model["FX Transform"] + + + + + + particle/fx_chroma_puddle-meta.dat + + FX + + FX Transform + + + Particle Color + Default (oil) + Texture + + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/jelly_death.ogg + Gain + 0.6 + Range + Medium + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + 1.8 + 0.0, 0.0, -0.5 + + Transient + + + + + + 0.36 + + + + + + 4 + + + + + 16 + 0 + 2400 + + + + Bomb/Monster/Dark Sprite Heal (Area) + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/avenger_cswing.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_silkwingaoe.dat + + + + + 0 + 0 + 0 + + + Bomb/Monster/Dark Sprite Heal (Single) (Heavy) + + + + + + Bomb/Monster/Dark Sprite Heal (Single) + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/world/enemy_heal_cast_01.ogg + Gain + 0.5 + Pitch adjust + Default + Range + Medium + + + Transform + + + Transient + + particle/fx_silkwingheal.dat + + + + + 0 + 0 + 0 + + + Monster/Heal/Heal Base -15 + + + + + + Bomb/Monster/Dark Sprite Heal (Single) (Heavy) + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/enemy_heal_cast_01.ogg + Gain + 0.25 + Range + Short + + + Transform + + + Transient + + particle/fx_silkwingheal.dat + + + + + 0 + 0 + 0 + + + Monster/Heal/Heal Base + + + + + + Bomb/Monster/Demo Mine + + + + Tier + + + Color + implementation.actor["Model"]["Bomb"]["Variant"] + + + + + + 1 + + Color + Green + Damage + + 40.0 + 4 + 80.0 + 1 + 9 + ELEMENTAL + + + + + + 2 + + Color + Orange + Damage + + 4 + 210.0 + 9 + 19 + ELEMENTAL + + + + + + 3 + + Color + Purple + Damage + + 210.0 + 4 + 360.0 + 19 + ELEMENTAL + + + + + 1 + + + + + Bomb/Monster/Base (Alt) + + Blast Radius + 1.45 + Damage + + + Monster/Damage/Attack Base + + 4 + true + + Destruction Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_explosive.ogg + Gain + 0.4 + Range + Medium + + + Transform + + + Transient + + particle/explosive_block.dat + + Block + false + + + + + Fuse + 2000 + Knock-Back + + 2.0, 0.0 + 200 + 4 + + Model + + item/weapon/bomb/bomb_wrapper.dat + + Bomb + + item/weapon/npc/mine_windup/model.dat + + Variant + Orange + + + Color + Red + Fuse + 2.0 + Range + 1.5 + Sounder + + Custom/Weapons/Bomb, Drop + + Transform + + 1.2 + + + + + + + + + Bomb/Monster/Demo Mine (Drop) + + + + Tier + + + Bomb + implementation.detonation_action.actor["Tier"] + + + Color + implementation.sprite.model["Models"][0].model["Model"]["Variant"] + + + + + + 1 + + Bomb + 1 + Color + Green + + + + + 2 + + Bomb + 2 + Color + Orange + + + + + 3 + + Bomb + 3 + Color + Purple + + + + 1 + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + item/weapon/npc/devilite/fx_metabop.dat + + Model + + item/weapon/npc/mine_windup/model.dat + + Variant + Orange + + + + + + 1.2 + 0.0, 0.0, 0.75 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/on_hit/hit_bonk_08.ogg + Gain + 0.6 + Pitch + 2.0 + Range + Short + + + Transform + + + Transient + + + + + 0 + 0 + 600 + + + Bomb/Monster/Demo Mine + + Tier + 1 + + + + + + + Bomb/Monster/Demo Mine (Oil) + + + + item/weapon/bomb/bomb_wrapper.dat + + Bomb + + item/weapon/npc/mine_windup/model.dat + + Variant + Orange + + + Color + Red + Fuse + 1.0 + Range + 1.5 + Sounder + + Custom/Weapons/Bomb, Drop + + Transform + + 1.2 + + + + + 0 + 0 + 1000 + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + + + + Bomb/Monster/Devilite Bomb + + + + item/weapon/bomb/bomb_wrapper.dat + + Bomb + + item/weapon/npc/devilite/model_bomb.dat + + Color + Red + Fuse + 1.75 + Range + 1.5 + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/bomb_drop_01.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_explosive.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/explosive_block.dat + + Block + false + + + + + + 512 + 0 + 1750 + + + + Monster/Damage/Attack Base +10 + + 4 + true + ELEMENTAL + + Monster/Split/Split - Half + + + + 2.0, 0.0 + 200 + 4 + + + + + + Bomb/Monster/DeviliteMarker + + + Wave Tag + implementation.detonation_action.spawn_table["Wave Tag"] + + + + + + particle/fx_spawn_monster.dat + + + 0 + 0 + 1 + + + Monster/Single Family/Fiend/Scaled - Devilite + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Bomb/Monster/DeviliteThrow + + + + Model + + + Lift + implementation.sprite.model["Model"] + + + Throw + implementation.handlers[0].action.actor + + + + + + Bomb + + Lift + Bomb + Throw + + Bullet/Monster/DeviliteThrow + + Model + Bomb + + + + + + + Pitchfork + + Lift + Pitchfork + Throw + + Bullet/Monster/DeviliteThrow + + Model + Pitchfork + + + + + + + Axe + + Lift + Axe + Throw + + Bullet/Monster/DeviliteThrow + + Model + Axe + + + + + + + Chair + + Lift + Chair + Throw + + Bullet/Monster/DeviliteThrow (Weak) + + Model + Chair + + + + + + + Computer + + Lift + Computer + Throw + + Bullet/Monster/DeviliteThrow (Weak) + + Model + Computer + + + + + + + Suitcase + + Lift + Suitcase + Throw + + Bullet/Monster/DeviliteThrow (Weak) + + Model + Suitcase + + + + + + + Book + + Lift + Book + Throw + + Bullet/Monster/DeviliteThrow (Weak) + + Model + Book + + + + + + + Stapler + + Lift + Stapler + Throw + + Bullet/Monster/DeviliteThrow (Weak) + + Model + Stapler + + + + + + Bomb + + + + + + character/npc/monster/devilite/parts/model_wepwep.dat + + Model + Bomb + + + + + + + + Bullet/Monster/DeviliteThrow + + Model + Bomb + + + + + + + + 0 + 0 + 567 + + + + Bomb/Monster/FiredMarker + + + Wave Tag + implementation.detonation_action.spawn_table["Wave Tag"] + + + + + + particle/fx_spawn_monster.dat + + + 0 + 0 + 1 + + + Monster/Single Family/Fiend/Scaled - Firebrander + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Bomb/Monster/GasField + + + Graphic + implementation.sprite.model["Model"]["Color"] + + + Damage + implementation.handlers[0].action.damage + + + Time + implementation.handlers[1].interval, implementation.sprite.model["Time"] + + + Radius + implementation.handlers[0].action.region.shape.radius, implementation.sprite.model["Model"]["Range"] + + + + + + particle/fx_effectfader.dat + + Alpha Mode + TRANSLUCENT + Color + + 1.0, 1.0, 1.0, 1.0 + 0.0 + 0.05 + + Max Rotation + 0.0, 0.0, 0.0 + Max Scale + 1.0 + Min Rotation + 0.0, 0.0, 0.0 + Min Scale + 1.0 + Model + + particle/ambient_gasfield.dat + + Color + Poison + Range + 2.0 + + + Time + 5.0 + + + + + + + + + Poison + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + 0 + 0 + 30000 + + + + Bomb/Monster/Giant Lichen Colony + + + Size + implementation.detonation_action.actor["Size"] + + + Wave Tag + implementation.tags.tags[0], implementation.detonation_action.actor["Wave Tag"] + + + + + (tag 1) + + 1 + + + Character/NPC/Monster/Slime/Giant Lichen Colony + + Size + 1 + Tags + + Wave Tag + (Wave Tag) + + + + + + + Bomb/Monster/Greaver Zone + + + Radius + implementation.handlers[0].action.target.condition.maximum, implementation.sprite.creation_transient["Transient"]["Radius"] + + + Lifespan + implementation.handlers[1].interval, implementation.sprite.creation_transient["Transient"]["Lifespan"] + + + Damage + implementation.handlers[0].action.condition + + + Color + implementation.sprite.creation_transient["Transient"]["Color"] + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bomb, Fizzle + + Transform + + + Transient + + particle/explosion/bomb_chemicalcloud.dat + + Color + Shadow + Complexity + Simple + Explosion + false + Lifespan + 6.0 + Radius + 3.0 + + + + + + + + + + Stun + + Chance + 0.25 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + 0 + 0 + 10000 + + + + Bomb/Monster/IceCube Zone + + + Radius + implementation.handlers[0].action.target.condition.maximum, implementation.sprite.creation_transient["Transient"]["Radius"] + + + Lifespan + implementation.handlers[1].interval, implementation.sprite.creation_transient["Transient"]["Lifespan"] + + + Damage + implementation.handlers[0].action.condition + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/bomb_crystal_shatter_03a.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/explosion/bomb_chemicalcloud.dat + + Color + Frost Blue + Complexity + Normal + Explosion + true + Lifespan + 6.0 + Radius + 3.0 + + + + + + + + + + Freeze + + Chance + 0.25 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + 0 + 0 + 10000 + + + + Bomb/Monster/Large Lichen Colony + + + Size + implementation.detonation_action.actor["Size"] + + + Wave Tag + implementation.tags.tags[0], implementation.detonation_action.actor["Wave Tag"] + + + + + (tag 1) + + 1 + + + Character/NPC/Monster/Slime/Large Lichen Colony + + Size + 1 + Tags + + Wave Tag + (Wave Tag) + + + + + + + Bomb/Monster/Lichen Colony + + + Size + implementation.detonation_action.actor["Size"] + + + Wave Tag + implementation.tags.tags[0], implementation.detonation_action.actor["Wave Tag"] + + + + + (tag 1) + + 1 + + + Character/NPC/Monster/Slime/Lichen Colony + + Size + 1 + Tags + + Wave Tag + (Wave Tag) + + + + + + + Bomb/Monster/Lichen Spire + + + Color + implementation.sprite.destruction_transient["Model"]["Variant"] + + + Damage + implementation.detonation_action.damage + + + + + + particle/fx_effectfader.dat + + Alpha Mode + TRANSLUCENT + Color + + 1.0, 1.0, 1.0, 1.0 + 1.0, 1.0, 1.0, 1.0 + 0.0 + 0.0 + + Max Rotation + 0.0, 0.0, 3.1415927 + Max Scale + 1.2 + Min Rotation + 0.0, 0.0, -3.1415927 + Min Scale + 0.8 + Model + + character/npc/monster/lichen/parts/spines/model_spire.dat + + Variant + Tox + + + Time + 6.0 + + + + 0 + 0 + 50 + + + + + 60.0 + 4 + + + 4 + + Poison + + Chance + 0.65 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + 2.0, 0.0 + 300 + 2 + + + + + + Bomb/Monster/ManagerMarker + + + Wave Tag + implementation.detonation_action.spawn_table["Wave Tag"] + + + + + + particle/fx_spawn_monster.dat + + + 0 + 0 + 1 + + + Monster/Single Family/Fiend/Scaled - Pit Boss + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Bomb/Monster/ManagerTaunts + + + Words + implementation.sprite.creation_transient["Transient"]["Text"] + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/devilite/devilite_overtime.ogg + Gain + 0.8 + Pitch + 0.5 + Range + Medium + + + Transform + + 1.25 + 0.0, 0.0, 1.35 + + Transient + + model/compound/monsterchat/model.dat + + Name + + Text + Chef Knight LFG! Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam aliquam porta risus, eget venenatis sapien fermentum eu. + + + + + + 0 + 0 + 1 + + + + Bomb/Monster/Mender Heal (Single) + + + Depth Scale + implementation.detonation_action.depth_scale + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/enemy_heal_cast_01.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_menderheal.dat + + + + + + + + + 0 + + + Monster/Heal/Heal Base -05 + + + + + + Bomb/Monster/Mender Raise + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/player_res.ogg + Gain + 1.0 + Pitch + 0.85 + Range + Medium + + + Transform + + + Transient + + particle/fx_raisegremlin.dat + + + + + 0 + + + + Bomb/Monster/Mender Raise (Player) + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/player_res.ogg + Gain + 1.0 + Pitch + 0.85 + Range + Medium + + + Transform + + + Transient + + particle/fx_raisegremlin.dat + + + + + 0 + + + + Bomb/Monster/Mender RenewZone + + + Damage + implementation.handlers[0].action.actions[0].actor + + + + + + particle/fx_effectfader.dat + + Alpha Mode + TRANSLUCENT + Color + + 1.0, 1.0, 1.0, 1.0 + 0.1 + 0.05 + + Max Rotation + 0.0, 0.0, 0.0 + Max Scale + 1.0 + Min Rotation + 0.0, 0.0, 0.0 + Min Scale + 1.0 + Model + + particle/ambient_menderrenew.dat + + Time + 15.0 + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/weapon/avenger_cswing.ogg + Gain + 1.0 + Pitch + 1.25 + Range + Medium + + + Transform + + + Transient + + + + + + 2.25 + + + + + + + + Bomb/Monster/Mender Heal (Single) + + Depth Scale + + Monster/Heal/Heal Base -05 + + + + + + + + + + + + + + + + + + + 0 + 0 + 15000 + + + + Bomb/Monster/Oil Slick + + + + particle/fx_oilslick.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/jelly_death.ogg + Gain + 0.8 + Pitch + 0.8 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + 1.8 + 0.0, 0.0, -0.5 + + Transient + + + + + + 0.45 + + + + + + + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire 2 + + Chance + 1.0 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 6 Seconds + Nature + Neutral + + + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire 3 + + Chance + 1.0 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 6 Seconds + Nature + Neutral + + + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire + + Chance + 1.0 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 6 Seconds + Nature + Neutral + + + + + + + + + + 16 + 0 + 15000 + + + + Bomb/Monster/OvertimerMarker + + + Wave Tag + implementation.detonation_action.spawn_table["Wave Tag"] + + + + + + particle/fx_spawn_monster.dat + + + 0 + 0 + 1 + + + Monster/Single Family/Fiend/Scaled - Overtimer + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Bomb/Monster/ScorcherTorch + + + + Lifetime + + + Fuse + implementation.fuse + + + Creation Life + implementation.sprite.creation_transient["Transient"]["Lifespan"] + + + + + + 1 Second + + Creation Life + 1 second + Fuse + 1000 + + + + + 2 Seconds + + Creation Life + 2 seconds + Fuse + 2000 + + + + + 4 Seconds + + Creation Life + 4 seconds + Fuse + 4000 + + + + + 6 Seconds + + Creation Life + 6 seconds + Fuse + 6000 + + + + 2 Seconds + + + + Nature + + + Color + implementation.sprite.creation_transient["Transient"]["Color"] + + + + + + Neutral + + Color + Fire Orange + Damage + + + + 40.0 + 4 + + + 4 + + Fire + + Chance + 0.65 + Power + 50 + + + + + 2 + false + + + 2 + + Fire + + Chance + 0.5 + Power + 15 + + + + + + + + + + Monster + + Color + Hot Blue + Damage + + + + 40.0 + 4 + + + 4 + + Fire + + Chance + 0.65 + Power + 50 + + + + + + + + + Neutral + + + Damage + implementation.handlers[0].action.damage + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + 1.25 + 0.0, 0.0, -0.8 + -0.17364812, 0.0, 0.0, 0.9848078 + + Transient + + particle/fx_fire_torch.dat + + Color + Fire Orange + Lifespan + 2 seconds + + + + + + particle/fx_fire_charmark.dat + + + + + + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + + 0 + 0 + + + + Bomb/Monster/Sloom Sleep (Cloud) + + + + particle/explosion/bomb_chemicalcloud.dat + + Color + Sleep + Complexity + Simple + Explosion + false + Lifespan + 8.0 + Radius + 1.2 + + + + + + + + Sleep + + Chance + 0.3 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + 0 + 0 + 8000 + + + + Bomb/Monster/Superblast Shard + + + Damage + implementation.detonation_action.actions[1].damage + + + + + + particle/bullet/part_superblast-frag_glob.dat + + Warning + true + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/chromalisk_drop.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 0.0, 0.0, 0.25 + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Small + color + red + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_explosive.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 0.75 + + Transient + + particle/explosive_block.dat + + Block + false + + + + + + + 0.125 + + 16 + 0 + 3500 + + + + + 1.0 + true + + + 4.0, 0.0 + 200 + 3 + + + + + + + + Bomb/Monster/Tortodrone Missile + + + + character/npc/monster/tortodrone/parts/fx_hit_crystal.dat + + Fuse + 2.0 + Fuse - 0.5 + 1.5 + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/bomb_02.ogg + Gain + 0.8 + Range + Medium + + + Transform + + + Transient + + character/npc/monster/tortodrone/parts/fx_crystalslam.dat + + + + + + + + + Bomb/Monster/Tortodrone Shard + + + + + 0 + 0 + + + + + + Monster/Damage/Attack Base -05 + + 7 + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Shock 3 + + Chance + 0.5 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 4 + + Stun 3 + + Chance + 0.8 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + 193 + + 1.5, 0.0 + 250 + 2 + + + + + + Bomb/Monster/Tortodrone Shard + + + + character/npc/monster/tortodrone/parts/aoe_crystal.dat + + Trail + true + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_crystal.ogg + Gain + 0.6 + Range + Medium + + + Transform + + + Transient + + particle/fx_starlink_explode.dat + + color + green + + + + + + + 0.2 + + + + + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Full + + + + 4 + + Shock 3 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + 1.0, 0.0 + 200 + 2 + + + + + 32 + 4 + 5000 + + + + Bomb/Monster/Vog Flames + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/vog_cub/vogcub_flameburst_01.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 1.5 + + Transient + + character/npc/monster/wolver/parts/bomb_vog.dat + + + + + + + + + + + 80.0 + 4 + + + 4 + + Fire + + Chance + 0.5 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + + + + + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + + + + + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + + + + + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + + + + + + 0 + 0 + 5000 + + + + + + Bomb/Monster/YesmanAura + + + Heal + implementation.detonation_action.action.current + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Default + + Files + + + sound/effect/monster/devilite/devilite_yesman.ogg + 0.8 + 0.95 + + + sound/effect/monster/devilite/devilite_yesman.ogg + 0.9 + + + sound/effect/monster/devilite/devilite_yesman.ogg + 1.05 + + + sound/effect/monster/devilite/devilite_yesman.ogg + 0.95 + 1.1 + + + Range + Medium + + + Transform + + 0.0, 0.0, 0.75 + + Transient + + character/npc/monster/devilite/parts/fx_yesmanaura.dat + + + + + 1 + + + 4 + 144 + 1 + 30 + + + + + + Bomb/Monster/YesmanMarker + + + Wave Tag + implementation.detonation_action.spawn_table["Wave Tag"] + + + + + + particle/fx_spawn_monster.dat + + + 0 + 0 + 1 + + + Monster/Single Family/Fiend/Scaled - Yesman + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Bomb/Parts/Base (Cluster) + + + Model + implementation.sprite.model["Bomb"] + + + Fuse + implementation.fuse + + + Fuse Graphic + implementation.sprite.model["Fuse"] + + + Blast Damage + implementation.detonation_action.damage + + + Knock-Back + implementation.detonation_action.impulse_dealt + + + Large Explosion + implementation.sprite.destruction_transient["Large Explosion"] + + + Small Explosions + implementation.sprite.destruction_transient["Small Explosions"] + + + Large Sound + implementation.sprite.destruction_transient["Large Sound"] + + + Small Sounds + implementation.sprite.destruction_transient["Small Sounds"] + + + + Radius + + + Large Transform + implementation.sprite.destruction_transient["Large Transform"] + + + Blast + implementation.detonation_action.region.shape.radius, implementation.sprite.model["Range"], implementation.sprite.destruction_transient["Radius"] + + + + + + 0.5 + + Blast + 0.45 + Large Transform + + 0.5 + + + + + + 1.0 + + Blast + 0.95 + Large Transform + + + + + + + 1.5 + + Blast + 1.45 + Large Transform + + 1.5 + + + + + + 2.0 + + Blast + 1.95 + Large Transform + + 2.0 + + + + + + 2.5 + + Blast + 2.45 + Large Transform + + 2.5 + + + + + + 3.0 + + Blast + 2.95 + Large Transform + + 3.0 + + + + + + 3.5 + + Blast + 3.45 + Large Transform + + 3.5 + + + + + + 4.0 + + Blast + 3.95 + Large Transform + + 4.0 + + + + + + 4.5 + + Blast + 4.45 + Large Transform + + 4.5 + + + + + + 5.0 + + Blast + 4.95 + Large Transform + + 5.0 + + + + + + 6.0 + + Blast + 5.95 + Large Transform + + 6.0 + + + + + + 7.0 + + Blast + 6.95 + Large Transform + + 7.0 + + + + + + 8.0 + + Blast + 7.95 + Large Transform + + 8.0 + + + + + 2.5 + + + + + + item/weapon/bomb/bomb_wrapper.dat + + Bomb + + item/weapon/bomb/blast/model.dat + + variant + blast(blue) + + + Color + White + Fuse + 2.0 + Range + 2.5 + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/bomb_drop_01.ogg + Gain + 1.0 + Range + Short + + + Transform + + 1.25 + + + + + particle/explosion/bomb_areaexplosion.dat + + Large Explosion + + particle/explosion/bomb_blast.dat + + Charged + true + Color + Cyan + Icon + particle/texture/bomb_icon_blast.png + Size + 1.0 + + + Large Sound + + Clip/Default (Gain) + + File + sound/effect/weapon/bomb_c02.ogg + Gain + 1.0 + Range + Medium + + + Large Transform + + 2.45 + + Radius + 2.45 + Small Explosions + + particle/explosion/bomb_blast.dat + + Charged + false + Color + Cyan + Icon + particle/texture/bomb_icon_blast.png + Size + 1.0 + + + Small Sounds + sound/effect/weapon/bomb_01.ogg + + + + 0 + 0 + + + + + + + 1.0 + 2 + + true + + 5.0, 0.0 + 400 + 4 + + + + + + Bomb/Parts/Chemical (Cloud) + + + Radius + implementation.handlers[0].action.region.shape.radius + + + Lifespan + implementation.fuse, implementation.handlers[0].limit + + + Damage + implementation.handlers[0].action.damage.status_condition + + + + + + + + + + + + 2 + + Freeze + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + true + + + + 0 + 0 + 6000 + + true + + + + + Bomb/Parts/Dud + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bomb, Fizzle + + Transform + + 0.75 + 0.0, 0.0, 1.2 + + Transient + + particle/monster_death.dat + + Color + White + + + + + + 1 + + + + Bomb/Parts/Gravidos (Explode) (Charged) + + + Damage + implementation.detonation_action.actions[0].damage + + + + Radius + + + Shape + implementation.detonation_action.actions[0].region.shape.radius + + + Transform + implementation.sprite.destruction_transient["Transform"] + + + + + + 0.5 + + Shape + 0.45 + Transform + + 0.5 + + + + + + 1.0 + + Shape + 0.95 + Transform + + + + + + + 1.5 + + Shape + 1.45 + Transform + + 1.5 + + + + + + 2.0 + + Shape + 1.95 + Transform + + 2.0 + + + + + + 2.5 + + Shape + 2.45 + Transform + + 2.5 + + + + + + 3.0 + + Shape + 2.95 + Transform + + 3.0 + + + + + + 3.5 + + Shape + 3.45 + Transform + + 3.5 + + + + + + 4.0 + + Shape + 3.95 + Transform + + 4.0 + + + + + + 4.5 + + Shape + 4.45 + Transform + + 4.5 + + + + + + 5.0 + + Shape + 4.95 + Transform + + 5.0 + + + + + + 6.0 + + Shape + 5.95 + Transform + + 6.0 + + + + + + 7.0 + + Shape + 6.95 + Transform + + 7.0 + + + + + + 8.0 + + Shape + 7.95 + Transform + + 8.0 + + + + + 2.5 + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/gravidos_cexplosion.ogg + Gain + 1.0 + Range + Long + + + Transform + + 2.5 + + Transient + + particle/explosion/bomb_blast.dat + + Charged + true + Color + Gravidos + Icon + particle/texture/bomb_icon_gravios.png + Size + 1.0 + + + + + + 0 + 0 + 500 + + + + + + + + + 120.0 + 2 + + true + + -8.0, 1.0 + 550 + 5 + + + + + + + + Bomb/Parts/Gravidos (Implode) (Charged) + + + FX + implementation.sprite.destruction_transient + + + FX Transform + implementation.sprite.destruction_transient["Transform"] + + + Radius + implementation.detonation_action.actions[0].region.shape.radius, implementation.handlers[0].action.region.shape.radius + + + Child + implementation.detonation_action.actions[1].actor + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/gravidos_cimplode.ogg + Gain + 1.0 + Range + Long + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_explosive.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/explosion/gravidos_vortex.dat + + Radius + 2.0 + + + + + + + + + + -1.25, -0.25 + 200 + 3 + + + + + + 2 + + + + 0 + 0 + 500 + + + + + -1.25, -0.25 + 200 + 3 + + + + + + 2 + + + + + + + + + Bomb/Parts/Rock Spire + + + Damage + implementation.detonation_action.damage + + + + + + particle/fx_effectfader-light.dat + + Alpha Mode + TRANSLUCENT + Color + + 1.0, 1.0, 1.0, 1.0 + 1.0, 1.0, 1.0, 1.0 + 0.0 + 0.0 + + Max Rotation + 0.0, 0.0, 3.1415927 + Max Scale + 1.2 + Min Rotation + 0.0, 0.0, -3.1415927 + Min Scale + 0.8 + Model + + particle/swing/model_rockspire.dat + + Time + 6.0 + + + + 0 + 0 + 50 + + + + + 60.0 + 2 + + + + + 2.0, 0.0 + 300 + 2 + + + + + + Bomb/Parts/Sword (CutterGhost) + + + Transform + implementation.sprite.creation_transient["Transform"] + + + Damage + implementation.detonation_action.damage + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Default (Gain) + + Files + + + sound/effect/weapon/sword_01.ogg + 1.05 + + + sound/effect/weapon/sword_02.ogg + 1.05 + + + sound/effect/weapon/sword_01.ogg + 1.15 + + + sound/effect/weapon/sword_02.ogg + 1.15 + + + Gain + 0.7 + Loop + false + Range + Medium + + + Transform + + 0.0, -0.2, 0.75 + + Transient + + particle/swing/cutterghost-swing.dat + + Flare + false + Shadow + false + Strider Arc + false + Strider Color + 0.22745098, 0.4627451, 0.8117647, 1.0 + Swing Color In/Out + 0.0, 0.29411766, 0.5803922, 0.0 + Swing Color Middle + 0.0, 0.12941177, 0.27058825, 1.0 + Sword Color + 0.49019608, 0.7490196, 1.0, 1.0 + Sword Color (End) + 0.0, 0.011764706, 0.039215688, 1.0 + Trail Swipe + true + + + + + + 0 + 0 + 1 + + + 40.0 + 2 + false + + + -0.5, 0.0 + 150 + 2 + + + + + + Bomb/Parts/Sword (DreadvenomstrikerGhost) + + + Transform + implementation.sprite.creation_transient["Transform"] + + + Damage + implementation.detonation_action.damage + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Default (Gain) + + Files + + + sound/effect/weapon/sword_01.ogg + 1.05 + + + sound/effect/weapon/sword_02.ogg + 1.05 + + + sound/effect/weapon/sword_01.ogg + 1.15 + + + sound/effect/weapon/sword_02.ogg + 1.15 + + + Gain + 0.7 + Loop + false + Range + Medium + + + Transform + + 0.0, -0.2, 0.75 + + Transient + + particle/swing/cutterghost-swing.dat + + Flare + true + Shadow + true + Strider Arc + true + Strider Color + 0.0, 0.4, 0.0, 1.0 + Swing Color In/Out + 0.0, 0.4, 0.4, 0.0 + Swing Color Middle + 0.0, 0.8, 0.0, 1.0 + Sword Color + 0.0, 0.4, 0.2, 1.0 + Sword Color (End) + 0.2, 0.2, 0.0, 1.0 + Trail Swipe + true + + + + + + 0 + 0 + 1 + + + + + 12.0 + 2 + + + 2 + + Poison + + Chance + 0.15 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + -0.5, 0.0 + 150 + 2 + + + + + + Bomb/Parts/Sword (HuntingGhost) + + + Wolf Transform + implementation.sprite.destruction_transient["Transform"] + + + Damage + implementation.detonation_action.damage + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Default (Gain) + + Files + + + sound/effect/monster/wolver_bite.ogg + + + sound/effect/monster/wolver_bite.ogg + 1.025 + + + sound/effect/monster/wolver_bite.ogg + 1.05 + + + sound/effect/monster/wolver_bite.ogg + 1.075 + + + sound/effect/monster/wolver_bite.ogg + 1.1 + + + sound/effect/monster/wolver_death.ogg + 0.01 + 1.1 + + + Gain + 0.5 + Loop + false + Range + Medium + + + Transform + + 0.0, -0.2, 0.25 + + Transient + + particle/swing/huntingsword_wolfstrike.dat + + Flare + true + Shadow + true + Strider Arc + false + Strider Color + 0.7294118, 0.6509804, 0.2627451, 1.0 + Swing Color In/Out + 0.16862746, 0.16078432, 0.0, 0.0 + Swing Color Middle + 0.89411765, 0.78039217, 0.21176471, 1.0 + Sword Color + 1.0, 1.0, 1.0, 1.0 + Sword Color (End) + 0.0, 0.0, 0.0, 1.0 + Trail Swipe + false + + + + + + 0 + 0 + 30 + + + 20.0 + 2 + + + -0.5, 0.0 + 150 + 2 + + + + + + Bomb/Parts/Sword (Huntingblade) + + + Transform + implementation.sprite.creation_transient["Transform"] + + + Damage + implementation.detonation_action.damage + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Default (Gain) + + Files + + + sound/effect/weapon/sword_01.ogg + 1.05 + + + sound/effect/weapon/sword_02.ogg + 1.05 + + + sound/effect/weapon/sword_01.ogg + 1.15 + + + sound/effect/weapon/sword_02.ogg + 1.15 + + + Gain + 0.7 + Loop + false + Range + Medium + + + Transform + + 0.0, -0.2, 0.75 + + Transient + + particle/swing/cutterghost-swing.dat + + Flare + true + Shadow + true + Strider Arc + false + Strider Color + 0.8, 0.8, 0.0, 1.0 + Swing Color In/Out + 0.6, 0.4, 0.0, 0.0 + Swing Color Middle + 0.6, 0.6, 0.0, 1.0 + Sword Color + 0.6, 0.6, 0.0, 1.0 + Sword Color (End) + 0.2, 0.2, 0.0, 1.0 + Trail Swipe + true + + + + + + 0 + 0 + 1 + + + 1.0 + 2 + + + -0.5, 0.0 + 150 + 2 + + + + + + Bomb/Parts/Sword (Roundhouse) + + + Radius + implementation.detonation_action.actions[3].action.region.shape.shapes[0].shape.radius, implementation.detonation_action.actions[2].action.region.shape.shapes[0].shape.radius, implementation.detonation_action.actions[1].action.region.shape.shapes[0].shape.radius, implementation.detonation_action.actions[0].action.region.shape.shapes[0].shape.radius + + + Damage + implementation.detonation_action.actions[3].action.damage, implementation.detonation_action.actions[2].action.damage, implementation.detonation_action.actions[1].action.damage, implementation.detonation_action.actions[0].action.damage + + + Knock-Back + implementation.detonation_action.actions[3].action.impulse_dealt, implementation.detonation_action.actions[2].action.impulse_dealt, implementation.detonation_action.actions[1].action.impulse_dealt, implementation.detonation_action.actions[0].action.impulse_dealt + + + + 0 + 0 + 1 + + + + + + 50.0 + 2 + + + 3.5, 0.0 + 300 + 3 + + + + + + + 50.0 + 2 + + + 3.5, 0.0 + 300 + 3 + + + + + + + 50.0 + 2 + + + 3.5, 0.0 + 300 + 3 + + + + + + + 50.0 + 2 + + + 3.5, 0.0 + 300 + 3 + + + + + + + + + Bomb/Parts/Sword (SealedStatus) + + + Color + implementation.sprite.destruction_transient["Transient"]["Color"] + + + Damage + implementation.detonation_action.damage + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/block_ghost.ogg + Gain + 0.25 + Pitch + 1.15 + Range + Short + + + Transform + + 0.0, -2.0, 0.0 + + Transient + + particle/explosion/sword_sealedstatus.dat + + Color + 1.0, 0.2, 0.0, 1.0 + + + + + + 0 + 0 + 1 + + + + + 2 + + Fire + + Chance + 1.0 + Power + 1 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Bomb/Parts/Sword (VilestrikerGhost) + + + Transform + implementation.sprite.creation_transient["Transform"] + + + Damage + implementation.detonation_action.damage + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Default (Gain) + + Files + + + sound/effect/weapon/sword_01.ogg + 1.05 + + + sound/effect/weapon/sword_02.ogg + 1.05 + + + sound/effect/weapon/sword_01.ogg + 1.15 + + + sound/effect/weapon/sword_02.ogg + 1.15 + + + Gain + 0.7 + Loop + false + Range + Medium + + + Transform + + 0.0, -0.2, 0.75 + + Transient + + particle/swing/cutterghost-swing.dat + + Flare + false + Shadow + true + Strider Arc + false + Strider Color + 0.0, 0.4, 0.0, 1.0 + Swing Color In/Out + 0.0, 0.4, 0.4, 0.0 + Swing Color Middle + 0.0, 0.8, 0.0, 1.0 + Sword Color + 0.0, 0.4, 0.2, 1.0 + Sword Color (End) + 0.2, 0.2, 0.0, 1.0 + Trail Swipe + true + + + + + + 0 + 0 + 1 + + + + + 20.0 + 2 + + + 2 + + Poison + + Chance + 0.075 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + -0.5, 0.0 + 150 + 2 + + + + + + Bomb/Proto (Charged) + + + Damage + implementation.actor["Blast Damage"] + + + Radius + implementation.actor["Radius"] + + + + + Bomb/Parts/Base (Cluster) + + Blast Damage + + 75.0 + 2 + true + + Fuse + 2500 + Fuse Graphic + 2.5 + Knock-Back + + 3.0, 0.0 + 150 + 2 + + Large Explosion + + particle/explosion/bomb_blast.dat + + Charged + true + Color + Green + Icon + particle/texture/bomb_icon_proto.png + Size + 1.0 + + + Large Sound + + Custom/Weapons/Parts/Bomb Detonation, Base + + File + sound/effect/weapon/bomb_c02.ogg + Gain + 1.0 + Pitch + Higher 2 + Range + Default + + + Model + + item/weapon/bomb/proto/model.dat + + Variant + proto(green) + + + Radius + 1.5 + Small Explosions + + particle/explosion/bomb_blast.dat + + Charged + false + Color + Green + Icon + particle/texture/bomb_icon_proto.png + Size + 1.0 + + + Small Sounds + sound/effect/weapon/bomb_01.ogg + + + + + + Bomb/Shard + + + Bomb/Shard Base + + Bullet + + Bullet/Shard bomb projectile + + Blast Radius + 0.4 + Damage + + 60.0 + 2 + + Destruction Transient + + particle/bullet/hit_shard.dat + + Color + Base (aqua) + + + Model + + particle/bullet/bullet_shard.dat + + Color + Base (aqua) + Dust + False + + + + + Bullet Secondary + + Charged + false + Model + + item/weapon/bomb/shard/model.dat + + Variant + Emerald + + + + + + + + Bomb/Shard (Charged) + + + Bomb Color + implementation.actor["Model"]["Variant"] + + + Damage + implementation.actor["Bullet"]["Damage"], implementation.actor["Bullet Secondary"]["Damage"] + + + Bullet Model + implementation.actor["Bullet"]["Model"], implementation.actor["Bullet Secondary"]["Model"] + + + Destruction Model + implementation.actor["Bullet Secondary"]["Destruction Transient"], implementation.actor["Bullet"]["Destruction Transient"] + + + + + Bomb/Shard Base + + Bullet + + Bullet/Shard bomb projectile + + Blast Radius + 0.6 + Damage + + 60.0 + 2 + + Destruction Transient + + particle/bullet/hit_shard.dat + + Color + Base (aqua) + + + Model + + particle/bullet/bullet_shard.dat + + Color + Base (aqua) + Dust + False + + + + + Bullet Secondary + + Bullet/Shard bomb projectile + + Blast Radius + 0.6 + Damage + + 60.0 + 2 + + Destruction Transient + + particle/bullet/hit_shard.dat + + Color + Base (aqua) + + + Model + + particle/bullet/bullet_shard.dat + + Color + Base (aqua) + Dust + False + + + + + Charged + true + Model + + item/weapon/bomb/shard/model.dat + + Variant + Emerald + + + + + + + + Bomb/Shard Base + + + Bullet + implementation.detonation_action.actions[1].actor, implementation.detonation_action.actions[2].actor, implementation.detonation_action.actions[3].actor, implementation.detonation_action.actions[4].actor + + + Bullet Secondary + implementation.detonation_action.actions[5].actor, implementation.detonation_action.actions[6].actor, implementation.detonation_action.actions[7].actor, implementation.detonation_action.actions[8].actor + + + Charged + implementation.sprite.destruction_transient["Transient"]["Charged"] + + + Model + implementation.sprite.model["Bomb"] + + + + + + item/weapon/bomb/bomb_wrapper.dat + + Bomb + + item/weapon/bomb/shard/model.dat + + Variant + Emerald + + + Color + White + Fuse + 1.0 + Range + 0.4 + Sounder + + Clip/Default + + File + sound/effect/weapon/bomb_drop_01.ogg + Range + Medium + + + Transform + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bomb Detonation, Shard + + Transform + + + Transient + + particle/explosion/shard_blast.dat + + Charged + false + Color + Base (aqua) + + + + + + 0 + 0 + 1000 + + + + + 2 + + true + + + + + 3.1415927 + + + 1.5707964 + + + -1.5707964 + + + 0.7853982 + + + -0.7853982 + + + 2.3561945 + + + -2.3561945 + + + + + + + Bullet/Base + + + Model + implementation.sprite.model + + + Creation Transient + implementation.sprite.creation_transient + + + Destruction Transient + implementation.sprite.destruction_transient + + + Offset + implementation.offset + + + Height + implementation.height + + + Bullet Shape + implementation.shape + + + Damage + implementation.detonation_action.damage + + + Blast Radius + implementation.detonation_action.region.shape.radius + + + Knock-Back + implementation.detonation_action.impulse_dealt + + + Speed + implementation.speed + + + Fuse + implementation.fuse + + + Collision Mask + implementation.collision_mask + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.2 + Core Min + 0.1 + Element + Simple + Flare + true + color + ivory + + + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Medium + color + ivory + + + + + 0.1 + + 512 + 137 + 12.0 + true + 1.1 + 0.85, -0.1 + + + + + + + + + 1.0 + 2 + false + + + 2 + + + + -10.0, 0.0 + + + + + Bullet/Dynamic Objects/Energy-Consuming Objects/Turret, Auto (default) + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.3 + Core Min + 0.1 + Element + Sparkles + Flare + true + color + rainbow + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/avenger_chit.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/bullet_hit.dat + + + + + + 0.1 + + 0 + 137 + 3.0 + true + 1.2 + 1.0, 0.0 + 2400 + + + 48.0 + 2 + + + + + + Bullet/Dynamic Objects/Energy-Consuming Objects/Turret, Auto - Railgun Beam + + + + world/dynamic/energy/parts/model_railgun_beam.dat + + + particle/fx_gun_railgun_4unit.dat + + Variant + Outro + + + + + 4.0 + 0.2 + + 0 + 129 + 40.0 + true + 0.68 + 1.0, 0.0 + 250 + + + + Bullet/Handgun/(Dev) Actor Despawner + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/bullet_piercing.dat + + Element + Fire + color + red + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Default + Range + Default + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + purple + + + + + + + 0.1 + + + + + + + 0.5 + + + + 4091 + + + 512 + 137 + 25.0 + true + 1.1 + 1.1, -0.1 + 300 + + + + + + + + Bullet/Handgun/Antigua + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/bullet_piercing.dat + + Element + Simple + color + yellow + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Default + Range + Longer 1 + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + yellow + + + + + + + 0.1 + + 512 + 137 + 25.0 + true + 1.1 + 1.1, -0.1 + 300 + + + + + 15.0 + 2 + + + + + + + + Bullet/Handgun/Argent Peacemaker + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/bullet_piercing.dat + + Element + Simple + color + ivory + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Default + Range + Longer 1 + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + ivory + + + + + + + 0.1 + + 512 + 137 + 25.0 + true + 1.1 + 1.1, -0.1 + 300 + + + + + 15.0 + 2 + + + 15.0 + 2 + + + + + + + + Bullet/Handgun/Argent Peacemaker (Charged) + + + Damage + implementation.detonation_action.damage, implementation.handlers[0].action.damage + + + + + + particle/mesh/silversix_eagle/model_eagle.dat + + Variant + Ivory + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Lower 2 + Range + Medium + + + Transform + + 1.25 + 0.0, 0.0, 1.0 + + Transient + + particle/bullet/magnus/hit_charged.dat + + Spark Count + 6 + Variant + Hot + + + + + + + 2.0 + + + + + + 25.0 + 2 + + + 1.5, 0.0 + 150 + 2 + + + + + 512 + 129 + 8.0 + true + 0.05 + 1.2, -0.1 + 1000 + + + + + 15.0 + 2 + + + 10.0 + 2 + + + + + 3.0, 0.0 + 300 + 2 + + + + + + Bullet/Handgun/Autogun + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.2 + Bullet Shape + + 0.1 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 6.0 + 2 + false + + + + Destruction Transient + + particle/bullet/hit_autogun.dat + + Fuse + 400 + Height + 1.1 + Knock-Back + + Model + + particle/bullet/bullet_autogun.dat + + Color + Green + Scale + Small + + + Offset + 1.1, -0.1 + Speed + 12.0 + + + + + + Bullet/Handgun/Autogun (Charged) + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.3 + Bullet Shape + + 0.2 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 8.0 + 2 + false + + + + Destruction Transient + + particle/bullet/hit_autogun.dat + + Fuse + 400 + Height + 1.1 + Knock-Back + + -0.75, 0.0 + 150 + 2 + + Model + + particle/bullet/bullet_autogun.dat + + Color + Green + Scale + Medium + + + Offset + 1.1, -0.1 + Speed + 12.0 + + + + + + Bullet/Handgun/Blackhawk + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/bullet_piercing.dat + + Element + Frost + color + blue + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 0.75 + Pitch + Default + Range + Default + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + blue + + + + + + + 0.1 + + 512 + 137 + 20.0 + true + 1.1 + 1.1, -0.1 + 450 + + + + + 10.0 + 2 + + + 10.0 + 2 + + + + + + + + Bullet/Handgun/Blackhawk (Charged) + + + Damage + implementation.detonation_action.damage, implementation.handlers[0].action.damage + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + particle/bullet/magnus/model_charged.dat + + Variant + Evil + + + + 0.5 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Lower 2 + Range + Longer 2 + + + Transform + + 0.5 + + Transient + + particle/bullet/magnus/hit_charged.dat + + Spark Count + 6 + Variant + Cool + + + + + + + 2.0 + + + + + + + + 10.0 + 2 + + + 10.0 + 2 + + + + + 1.5, 0.0 + 150 + 2 + + + + + 512 + 129 + 10.0 + true + 1.1 + 1.2, -0.1 + 850 + + + + + 10.0 + 2 + + + 10.0 + 2 + + + + + 3.0, 0.0 + 300 + 2 + + + + + + Bullet/Handgun/Blaster + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.4 + Bullet Shape + + 0.1 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 25.0 + 2 + + + + Destruction Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/weapon/gran_faust_chit.ogg + Gain + 0.6 + Pitch + 1.4 + Range + Short + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + cyan + + + + + Fuse + 600 + Height + 1.1 + Knock-Back + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.2 + Core Min + 0.1 + Element + Simple + Flare + false + color + cyan + + + Offset + 0.85, -0.1 + Speed + 12.0 + + + + + + Bullet/Handgun/Blaster (Charged) + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.75 + Bullet Shape + + 0.5 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 75.0 + 2 + true + + + + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Large + color + cyan + + + Fuse + 700 + Height + 1.1 + Knock-Back + + 4.0, 0.0 + 400 + 4 + + Model + + particle/bullet/bullet_blaster_charged.dat + + Offset + 0.85, -0.1 + Speed + 12.0 + + + + + + Bullet/Handgun/Blitz Needle + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/bullet_piercing.dat + + Element + Simple + color + ivory + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Higher 2 + Range + Longer 1 + + + Transform + + 0.75 + + Transient + + particle/bullet/hit_shard.dat + + Color + Sun + + + + + + + 0.1 + + 512 + 137 + 25.0 + true + 1.1 + 1.1, -0.1 + 300 + + + + + 15.0 + 2 + + + + + + + + Bullet/Handgun/Callahan + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/magnus/model.dat + + Variant + Cool + + + + model/scripted/transient_sound_offset.dat + + Loop Duration + 0.0 + Sound Offset + + 0.0, 0.6, 0.0 + + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Lower 4 + Range + Longer 1 + + + Transform + + + Transient + + particle/bullet/magnus/hit.dat + + Variant + Cool + + + + + + + 0.2 + + 512 + 137 + 25.0 + true + 1.1 + 1.1, -0.1 + 250 + + + + + 40.0 + 2 + + + 2 + + Stun + + Chance + 0.1 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Bullet/Handgun/Callahan (Charged) + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/magnus/model_charged.dat + + Variant + Cool + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Lower 5 + Range + Long + + + Transform + + + Transient + + particle/bullet/magnus/hit_charged.dat + + Spark Count + 6 + Variant + Cool + + + + + + + 0.45 + + 512 + 137 + 15.0 + true + 1.1 + 1.1, -0.1 + 500 + + + + + 80.0 + 2 + true + + + 2 + + Stun + + Chance + 0.75 + Power + 90 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + -3.0, 0.0 + 150 + 2 + + + + + + Bullet/Handgun/Fiery Pepperbox + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.2 + Bullet Shape + + 0.1 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 6.0 + 2 + false + + + + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Small + color + yellow + + + Fuse + 400 + Height + 1.1 + Knock-Back + + Model + + particle/bullet/bullet_autogun.dat + + Color + Hot Red + Scale + Small + + + Offset + 1.1, -0.1 + Speed + 14.0 + + + + + + Bullet/Handgun/Fiery Pepperbox (Charged) + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.3 + Bullet Shape + + 0.2 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 8.0 + 2 + false + + + + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Medium + color + yellow + + + Fuse + 400 + Height + 1.1 + Knock-Back + + -0.75, 0.0 + 150 + 2 + + Model + + particle/bullet/bullet_autogun.dat + + Color + Hot Red + Scale + Medium + + + Offset + 1.1, -0.1 + Speed + 14.0 + + + + + + Bullet/Handgun/FrostGun + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.4 + Bullet Shape + + 0.1 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 16.0 + 2 + false + + + 2 + + Freeze + + Chance + 0.05 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + blue + + + Fuse + 600 + Height + 1.1 + Knock-Back + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.12 + Core Min + 0.06 + Element + Simple + Flare + false + color + frost + + + Offset + 0.85, -0.1 + Speed + 12.0 + + + + + + Bullet/Handgun/FrostGun (Charged) + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.75 + Bullet Shape + + 0.35 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 45.0 + 2 + false + + + 2 + + Freeze + + Chance + 0.35 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Medium + color + blue + + + Fuse + 650 + Height + 1.1 + Knock-Back + + 3.0, 0.0 + 300 + 4 + + Model + + particle/bullet/bullet_cryotech_charged.dat + + Offset + 0.85, -0.1 + Speed + 12.0 + + + + + + Bullet/Handgun/Iron Slug + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/magnus/model.dat + + Variant + Hot + + + + model/scripted/transient_sound_offset.dat + + Loop Duration + 0.0 + Sound Offset + + 0.0, 0.6, 0.0 + + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Lower 4 + Range + Longer 1 + + + Transform + + + Transient + + particle/bullet/magnus/hit.dat + + Variant + Hot + + + + + + + 0.2 + + 512 + 137 + 25.0 + true + 1.1 + 1.1, -0.1 + 250 + + + + + 40.0 + 2 + + + 2 + + Stun + + Chance + 0.1 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Bullet/Handgun/Iron Slug (Charged) + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/magnus/model_charged.dat + + Variant + Hot + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Lower 5 + Range + Long + + + Transform + + + Transient + + particle/bullet/magnus/hit_charged.dat + + Spark Count + 6 + Variant + Hot + + + + + + + 0.45 + + 512 + 137 + 15.0 + true + 1.1 + 1.1, -0.1 + 500 + + + + + 80.0 + 2 + true + + + 2 + + Stun + + Chance + 0.75 + Power + 90 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + -3.0, 0.0 + 150 + 2 + + + + + + Bullet/Handgun/Magnus + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/magnus/model.dat + + Variant + Hot + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 0.75 + Pitch + Lower 3 + Range + Longer 1 + + + Transform + + + Transient + + particle/bullet/magnus/hit.dat + + Variant + Hot + + + + + + + 0.2 + + 512 + 137 + 25.0 + true + 1.1 + 1.1, -0.1 + 250 + + + + + 30.0 + 2 + + + 2 + + Stun + + Chance + 0.1 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Bullet/Handgun/Magnus (Charged) + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/magnus/model_charged.dat + + Variant + Hot + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Lower 4 + Range + Long + + + Transform + + + Transient + + particle/bullet/magnus/hit_charged.dat + + Spark Count + 6 + Variant + Hot + + + + + + + 0.45 + + 512 + 137 + 15.0 + true + 1.1 + 1.1, -0.1 + 500 + + + + + 65.0 + 2 + true + + + 2 + + Stun + + Chance + 0.65 + Power + 45 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + -3.0, 0.0 + 150 + 2 + + + + + + Bullet/Handgun/Mega Magnus + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/magnus/model.dat + + Variant + Hot + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 0.75 + Pitch + Lower 3 + Range + Longer 1 + + + Transform + + + Transient + + particle/bullet/magnus/hit.dat + + Variant + Hot + + + + + + + 0.2 + + 512 + 137 + 25.0 + true + 1.1 + 1.1, -0.1 + 250 + + + + + 35.0 + 2 + + + 2 + + Stun + + Chance + 0.1 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Bullet/Handgun/Mega Magnus (Charged) + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/magnus/model_charged.dat + + Variant + Hot + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Lower 4 + Range + Long + + + Transform + + + Transient + + particle/bullet/magnus/hit_charged.dat + + Spark Count + 6 + Variant + Hot + + + + + + + 0.45 + + 512 + 137 + 15.0 + true + 1.1 + 1.1, -0.1 + 500 + + + + + 70.0 + 2 + true + + + 2 + + Stun + + Chance + 0.7 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + -3.0, 0.0 + 150 + 2 + + + + + + Bullet/Handgun/Needle Shot + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/bullet_piercing.dat + + Element + Simple + color + green + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Higher 1 + Range + Longer 1 + + + Transform + + 0.75 + + Transient + + particle/bullet/hit_shard.dat + + Color + Base (aqua) + + + + + + + 0.1 + + 512 + 137 + 25.0 + true + 1.1 + 1.1, -0.1 + 300 + + + + + 15.0 + 2 + + + + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + + Model + implementation.sprite.model + + + Destruction Transient + implementation.sprite.destruction_transient["Transient"] + + + Destruction Sound + implementation.sprite.destruction_transient["Sounder"]["File"] + + + Damage + implementation.detonation_action.actions[0].damage + + + Child + implementation.detonation_action.actions[1].actor, implementation.detonation_action.actions[2].actor + + + Child 2 + implementation.detonation_action.actions[3].actor, implementation.detonation_action.actions[4].actor + + + Extra Action + implementation.detonation_action.actions[5] + + + + + + particle/bullet/bullet_firotech_charged.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/gravidos_explosion.ogg + Gain + 0.75 + Range + Medium + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Large + color + yellow + + + + + + + 0.25 + + 512 + 137 + 15.0 + true + 1.1 + 0.85, 0.0 + 600 + + + + + 1.0 + 2 + + + + + + + + + + + + + + + + + + Bullet/Handgun/Parts/Alchemical/Base/Primary + + + + Offset + + + Offset + implementation.offset + + + + + + Primary + + Offset + 0.85, -0.1 + + + + + Secondary + + Offset + 0.255, 0.0 + + + + Primary + + + Model + implementation.sprite.model + + + Destruction Transient + implementation.sprite.destruction_transient["Transient"] + + + Destruction Sound + implementation.sprite.destruction_transient["Sounder"]["File"] + + + Damage + implementation.detonation_action.actions[0].damage + + + Child Bound + implementation.detonation_action.actions[1].actor + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.25 + Core Min + 0.15 + Element + Fire + Flare + false + color + yellow + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/gravidos_explosion.ogg + Gain + 0.5 + Range + Medium + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Medium + color + yellow + + + + + + + 0.25 + + + + + + + + 512 + 137 + 12.5 + true + 1.1 + 0.85, -0.1 + 5000 + + + + + 1.0 + 2 + + + + + + + + + + Bullet/Handgun/Parts/Alchemical/Base/Secondary + + + Model + implementation.sprite.model + + + Destruction Transient + implementation.sprite.destruction_transient["Transient"] + + + Destruction Sound + implementation.sprite.destruction_transient["Sounder"]["File"] + + + Damage + implementation.detonation_action.actions[0].damage + + + Child Bound + implementation.detonation_action.actions[1].actor + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.2 + Core Min + 0.1 + Element + Fire + Flare + false + color + purple + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/gravidos_explosion.ogg + Gain + 0.3 + Range + Medium + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Medium + color + purple + + + + + + + 0.2 + + + + + + + + 512 + 137 + 10.0 + true + 1.1 + 0.75, 0.0 + 5000 + + + + + 1.0 + 2 + + + + + + + + + + Bullet/Handgun/Parts/Alchemical/Base/Tirtiary + + + Model + implementation.sprite.model + + + Destruction Transient + implementation.sprite.destruction_transient["Transient"] + + + Destruction Sound + implementation.sprite.destruction_transient["Sounder"]["File"] + + + Damage + implementation.detonation_action.actions[0].damage + + + Collision + implementation.collision_mask + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.15 + Core Min + 0.075 + Element + Fire + Flare + false + color + yellow + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/gravidos_explosion.ogg + Gain + 0.2 + Range + Medium + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Medium + color + yellow + + + + + + + 0.15 + + 512 + 137 + 7.5 + true + 1.1 + 0.75, 0.0 + 800 + + + + + 1.0 + 2 + + + + + + + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Charged + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Primary + + Damage + + + + 30.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 1) + + + + 20.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 2) + + + + 10.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + 2 + + Freeze + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/cryotech_charge_bolt_bounce.ogg + Destruction Transient + + particle/bullet/hit_shard.dat + + Color + Frost + + + Extra Action + + + Model + + particle/bullet/bullet_cryotech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Charged MKI + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Tirtiary + + Damage + + + + 10.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + 2 + + Freeze + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/cryotech_charge_bolt_bounce.ogg + Destruction Transient + + particle/bullet/hit_shard.dat + + Color + Frost + + + Extra Action + + + Model + + particle/bullet/bullet_cryotech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Charged MKII + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Secondary + + Damage + + + + 20.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 1) + + + + 10.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + 2 + + Freeze + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/cryotech_charge_bolt_bounce.ogg + Destruction Transient + + particle/bullet/hit_shard.dat + + Color + Frost + + + Extra Action + + + Model + + particle/bullet/bullet_cryotech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Charged MKIII + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + Damage (Split 3) + implementation.actor["Child"]["Damage (Split 2)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Primary + + Damage + + + + 30.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 1) + + + + 20.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 2) + + + + 10.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + 2 + + Freeze + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/cryotech_charge_bolt_bounce.ogg + Destruction Transient + + particle/bullet/hit_shard.dat + + Color + Frost + + + Extra Action + + + Model + + particle/bullet/bullet_cryotech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Charged MKIV + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + Damage (Split 3) + implementation.actor["Child 2"]["Damage"], implementation.actor["Child"]["Damage (Split 2)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Primary + + Damage + + + + 30.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 1) + + + + 20.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 2) + + + + 10.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Child 2 + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Tirtiary + + Damage + + + + 10.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Damage + + + + 40.0 + 2 + + + 2 + + Freeze + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/cryotech_charge_bolt_bounce.ogg + Destruction Transient + + particle/bullet/hit_shard.dat + + Color + Frost + + + Extra Action + + + Model + + particle/bullet/bullet_cryotech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Primary + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child Bound"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child Bound"]["Damage (Split 1)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Primary + + Child Bound + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Secondary + + Damage + + + + 20.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 1) + + + + 10.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Damage + + + + 30.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/cryotech_bolt_dissipate.ogg + Destruction Transient + + particle/bullet/hit_shard.dat + + Color + Frost + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.2 + Core Min + 0.1 + Element + Frost + Flare + false + color + frost + + + Offset + Primary + + + + + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Secondary + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child Bound"]["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Secondary + + Child Bound + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Tirtiary + + Damage + + + + 10.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Damage + + + + 20.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/cryotech_bolt_dissipate.ogg + Destruction Transient + + particle/bullet/hit_shard.dat + + Color + Frost + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.1 + Core Min + 0.05 + Element + Frost + Flare + false + color + frost + + + + + + + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Tirtiary + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Tirtiary + + Collision + 137 + Damage + + + + 10.0 + 2 + + + 2 + + Freeze + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/cryotech_bolt_dissipate.ogg + Destruction Transient + + particle/bullet/hit_shard.dat + + Color + Frost + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.075 + Core Min + 0.025 + Element + Frost + Flare + false + color + frost + + + + + + + + Bullet/Handgun/Parts/Alchemical/Firotech/Charged + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Firotech/Primary + + Damage + + + + 30.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + Damage (Split 1) + + + + 20.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + Damage (Split 2) + + + + 10.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + 2 + + Fire + + Chance + 0.2 + Power + 20 + + + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Large + color + yellow + + + Model + + particle/bullet/bullet_firotech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Firotech/Charged MKI + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Firotech/Tirtiary + + Damage + + + + 10.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + 2 + + Fire + + Chance + 0.2 + Power + 20 + + + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Large + color + yellow + + + Model + + particle/bullet/bullet_firotech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Firotech/Charged MKII + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Firotech/Secondary + + Damage + + + + 20.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + Damage (Split 1) + + + + 10.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + 2 + + Fire + + Chance + 0.2 + Power + 20 + + + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Large + color + yellow + + + Model + + particle/bullet/bullet_firotech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Firotech/Charged MKIII + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + Damage (Split 3) + implementation.actor["Child"]["Damage (Split 2)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Firotech/Primary + + Damage + + + + 30.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + Damage (Split 1) + + + + 20.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + Damage (Split 2) + + + + 10.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + 2 + + Fire + + Chance + 0.2 + Power + 20 + + + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Large + color + yellow + + + Model + + particle/bullet/bullet_firotech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Firotech/Charged MKIV + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + Damage (Split 3) + implementation.actor["Child 2"]["Damage"], implementation.actor["Child"]["Damage (Split 2)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Firotech/Primary + + Damage + + + + 30.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + Damage (Split 1) + + + + 20.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + Damage (Split 2) + + + + 10.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + + + Child 2 + + Bullet/Handgun/Parts/Alchemical/Firotech/Tirtiary + + Damage + + + + 10.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + + + Damage + + + + 40.0 + 2 + + + 2 + + Fire + + Chance + 0.2 + Power + 20 + + + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Large + color + yellow + + + Model + + particle/bullet/bullet_firotech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Firotech/Primary + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child Bound"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child Bound"]["Damage (Split 1)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Primary + + Child Bound + + Bullet/Handgun/Parts/Alchemical/Firotech/Secondary + + Damage + + + + 20.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + Damage (Split 1) + + + + 10.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + + + Damage + + + + 30.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Medium + color + yellow + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.25 + Core Min + 0.15 + Element + Fire + Flare + false + color + yellow + + + Offset + Primary + + + + + + Bullet/Handgun/Parts/Alchemical/Firotech/Secondary + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child Bound"]["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Secondary + + Child Bound + + Bullet/Handgun/Parts/Alchemical/Firotech/Tirtiary + + Damage + + + + 10.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + + + Damage + + + + 20.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Medium + color + yellow + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.2 + Core Min + 0.1 + Element + Fire + Flare + false + color + yellow + + + + + + + + Bullet/Handgun/Parts/Alchemical/Firotech/Tirtiary + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Tirtiary + + Collision + 137 + Damage + + + + 10.0 + 2 + + + 2 + + Fire + + Chance + 0.1 + Power + 10 + + + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Medium + color + yellow + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.15 + Core Min + 0.075 + Element + Fire + Flare + false + color + yellow + + + + + + + + Bullet/Handgun/Parts/Alchemical/Prismatech/Charged + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Prismatech/Primary + + Damage + + + + 20.0 + 2 + + + + Damage (Split 1) + + + + 10.0 + 2 + + + + Damage (Split 2) + + + + 5.0 + 2 + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Large + color + silver + + + Extra Action + + + Model + + particle/bullet/bullet_prismatech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Prismatech/Charged MKI + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Prismatech/Tirtiary + + Damage + + + + 10.0 + 2 + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Large + color + silver + + + Extra Action + + + Model + + particle/bullet/bullet_prismatech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Prismatech/Charged MKII + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Prismatech/Secondary + + Damage + + + + 20.0 + 2 + + + + Damage (Split 1) + + + + 10.0 + 2 + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Large + color + silver + + + Extra Action + + + Model + + particle/bullet/bullet_prismatech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Prismatech/Charged MKIII + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + Damage (Split 3) + implementation.actor["Child"]["Damage (Split 2)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Prismatech/Primary + + Damage + + + + 20.0 + 2 + + + + Damage (Split 1) + + + + 10.0 + 2 + + + + Damage (Split 2) + + + + 5.0 + 2 + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Large + color + silver + + + Extra Action + + + Model + + particle/bullet/bullet_prismatech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Prismatech/Charged MKIV + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + Damage (Split 3) + implementation.actor["Child"]["Damage (Split 2)"], implementation.actor["Child 2"]["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Prismatech/Primary + + Damage + + + + 20.0 + 2 + + + + Damage (Split 1) + + + + 10.0 + 2 + + + + Damage (Split 2) + + + + 5.0 + 2 + + + + + + Child 2 + + Bullet/Handgun/Parts/Alchemical/Prismatech/Tirtiary + + Damage + + + + 10.0 + 2 + + + + + + Damage + + + + 40.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Large + color + silver + + + Extra Action + + + Model + + particle/bullet/bullet_prismatech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Prismatech/Primary + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child Bound"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child Bound"]["Damage (Split 1)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Primary + + Child Bound + + Bullet/Handgun/Parts/Alchemical/Prismatech/Secondary + + Damage + + + + 10.0 + 2 + + + + Damage (Split 1) + + + + 10.0 + 2 + + + + + + Damage + + + + 20.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Medium + color + silver + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/get_hit.png + Core Max + 0.3 + Core Min + 0.2 + Element + Sparkles + Flare + false + color + rainbow + + + Offset + Primary + + + + + + Bullet/Handgun/Parts/Alchemical/Prismatech/Secondary + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child Bound"]["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Secondary + + Child Bound + + Bullet/Handgun/Parts/Alchemical/Prismatech/Tirtiary + + Damage + + + + 10.0 + 2 + + + + + + Damage + + + + 20.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Medium + color + silver + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/get_hit.png + Core Max + 0.25 + Core Min + 0.15 + Element + Sparkles + Flare + false + color + rainbow + + + + + + + + Bullet/Handgun/Parts/Alchemical/Prismatech/Tirtiary + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Tirtiary + + Collision + 137 + Damage + + + + 10.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Medium + color + silver + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/get_hit.png + Core Max + 0.2 + Core Min + 0.1 + Element + Sparkles + Flare + false + color + rainbow + + + + + + + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Charged + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Primary + + Damage + + + + 15.0 + 2 + + + 15.0 + 2 + + + + Damage (Split 1) + + + + 10.0 + 2 + + + 10.0 + 2 + + + + Damage (Split 2) + + + + 5.0 + 2 + + + 5.0 + 2 + + + + + + Child 2 + + Damage + + + + 20.0 + 2 + + + 20.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Large + color + purple + + + Extra Action + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.4 + Core Min + 0.3 + Element + Simple + Flare + false + color + purple + + + + + + + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Charged MKI + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Tirtiary + + Damage + + + + 5.0 + 2 + + + 5.0 + 2 + + + + + + Child 2 + + Damage + + + + 20.0 + 2 + + + 20.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Large + color + purple + + + Extra Action + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.4 + Core Min + 0.3 + Element + Simple + Flare + false + color + purple + + + + + + + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Charged MKII + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Secondary + + Damage + + + + 10.0 + 2 + + + 10.0 + 2 + + + + Damage (Split 1) + + + + 5.0 + 2 + + + 5.0 + 2 + + + + + + Child 2 + + Damage + + + + 20.0 + 2 + + + 20.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Large + color + purple + + + Extra Action + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.4 + Core Min + 0.3 + Element + Simple + Flare + false + color + purple + + + + + + + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Charged MKIII + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + Damage (Split 3) + implementation.actor["Child"]["Damage (Split 2)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Primary + + Damage + + + + 15.0 + 2 + + + 15.0 + 2 + + + + Damage (Split 1) + + + + 10.0 + 2 + + + 10.0 + 2 + + + + Damage (Split 2) + + + + 5.0 + 2 + + + 5.0 + 2 + + + + + + Child 2 + + Damage + + + + 20.0 + 2 + + + 20.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Large + color + purple + + + Extra Action + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.4 + Core Min + 0.3 + Element + Simple + Flare + false + color + purple + + + + + + + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Charged MKIV + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + Damage (Split 3) + implementation.actor["Child"]["Damage (Split 2)"], implementation.actor["Child 2"]["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Primary + + Damage + + + + 15.0 + 2 + + + 15.0 + 2 + + + + Damage (Split 1) + + + + 10.0 + 2 + + + 10.0 + 2 + + + + Damage (Split 2) + + + + 5.0 + 2 + + + 5.0 + 2 + + + + + + Child 2 + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Tirtiary + + Damage + + + + 5.0 + 2 + + + 5.0 + 2 + + + + + + Damage + + + + 20.0 + 2 + + + 20.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Large + color + purple + + + Extra Action + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.4 + Core Min + 0.3 + Element + Simple + Flare + false + color + purple + + + + + + + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Primary + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child Bound"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child Bound"]["Damage (Split 1)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Primary + + Child Bound + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Secondary + + Damage + + + + 10.0 + 2 + + + 10.0 + 2 + + + + Damage (Split 1) + + + + 5.0 + 2 + + + 5.0 + 2 + + + + + + Damage + + + + 15.0 + 2 + + + 15.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Medium + color + purple + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.25 + Core Min + 0.15 + Element + Simple + Flare + false + color + purple + + + Offset + Primary + + + + + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Secondary + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child Bound"]["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Secondary + + Child Bound + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Tirtiary + + Damage + + + + 5.0 + 2 + + + 5.0 + 2 + + + + + + Damage + + + + 10.0 + 2 + + + 10.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Medium + color + purple + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.2 + Core Min + 0.1 + Element + Simple + Flare + false + color + purple + + + + + + + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Tirtiary + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Tirtiary + + Collision + 137 + Damage + + + + 5.0 + 2 + + + 5.0 + 2 + + + + Destruction Sound + sound/effect/weapon/gravidos_explosion.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Medium + color + purple + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.15 + Core Min + 0.075 + Element + Simple + Flare + false + color + purple + + + + + + + + Bullet/Handgun/Parts/Alchemical/Voltech/Charged + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Voltech/Primary + + Damage + + + + 30.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 1) + + + + 20.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 2) + + + + 10.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + 2 + + Shock + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/voltech_charge_spark_bounce.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Electric + Flare + Positive + Scale + Large + color + cyan + + + Extra Action + + + Model + + particle/bullet/bullet_voltech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Voltech/Charged MKI + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Voltech/Tirtiary + + Damage + + + + 10.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + 2 + + Shock + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/voltech_charge_spark_bounce.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Electric + Flare + Positive + Scale + Large + color + cyan + + + Extra Action + + + Model + + particle/bullet/bullet_voltech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Voltech/Charged MKII + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Voltech/Secondary + + Damage + + + + 20.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 1) + + + + 10.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + 2 + + Shock + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/voltech_charge_spark_bounce.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Electric + Flare + Positive + Scale + Large + color + cyan + + + Extra Action + + + Model + + particle/bullet/bullet_voltech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Voltech/Charged MKIII + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + Damage (Split 3) + implementation.actor["Child"]["Damage (Split 2)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Voltech/Primary + + Damage + + + + 30.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 1) + + + + 20.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 2) + + + + 10.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Child 2 + + Damage + + + + 40.0 + 2 + + + 2 + + Shock + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/voltech_charge_spark_bounce.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Electric + Flare + Positive + Scale + Large + color + cyan + + + Extra Action + + + Model + + particle/bullet/bullet_voltech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Voltech/Charged MKIV + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child"]["Damage (Split 1)"] + + + Damage (Split 3) + implementation.actor["Child"]["Damage (Split 2)"], implementation.actor["Child 2"]["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Charged + + Child + + Bullet/Handgun/Parts/Alchemical/Voltech/Primary + + Damage + + + + 30.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 1) + + + + 20.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 2) + + + + 10.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Child 2 + + Bullet/Handgun/Parts/Alchemical/Voltech/Tirtiary + + Damage + + + + 10.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Damage + + + + 40.0 + 2 + + + 2 + + Shock + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/voltech_charge_spark_bounce.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Electric + Flare + Positive + Scale + Large + color + cyan + + + Extra Action + + + Model + + particle/bullet/bullet_voltech_charged.dat + + + + + + + Bullet/Handgun/Parts/Alchemical/Voltech/Primary + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child Bound"]["Damage"] + + + Damage (Split 2) + implementation.actor["Child Bound"]["Damage (Split 1)"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Primary + + Child Bound + + Bullet/Handgun/Parts/Alchemical/Voltech/Secondary + + Damage + + + + 20.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage (Split 1) + + + + 10.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Damage + + + + 30.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/voltech_bolt_dissipate.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Electric + Flare + Positive + Scale + Medium + color + cyan + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.15 + Core Min + 0.01 + Element + Electric + Flare + false + color + cyan + + + Offset + Primary + + + + + + Bullet/Handgun/Parts/Alchemical/Voltech/Secondary + + + Damage + implementation.actor["Damage"] + + + Damage (Split 1) + implementation.actor["Child Bound"]["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Secondary + + Child Bound + + Bullet/Handgun/Parts/Alchemical/Voltech/Tirtiary + + Damage + + + + 10.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Damage + + + + 20.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/voltech_bolt_dissipate.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Electric + Flare + Positive + Scale + Medium + color + cyan + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.125 + Core Min + 0.01 + Element + Electric + Flare + false + color + cyan + + + + + + + + Bullet/Handgun/Parts/Alchemical/Voltech/Tirtiary + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Handgun/Parts/Alchemical/Base/Tirtiary + + Collision + 137 + Damage + + + + 10.0 + 2 + + + 2 + + Shock + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/voltech_bolt_dissipate.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Electric + Flare + Positive + Scale + Medium + color + cyan + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.1 + Core Min + 0.01 + Element + Electric + Flare + false + color + cyan + + + + + + + + Bullet/Handgun/Pepperbox + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.2 + Bullet Shape + + 0.1 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 8.0 + 2 + false + + + 2 + + + + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Small + color + red + + + Fuse + 400 + Height + 1.1 + Knock-Back + + Model + + particle/bullet/bullet_autogun.dat + + Color + Hot Red + Scale + Small + + + Offset + 1.1, -0.1 + Speed + 14.0 + + + + + + Bullet/Handgun/Pepperbox (Charged) + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.3 + Bullet Shape + + 0.2 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 1.0 + 2 + false + + + 2 + + + + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Medium + color + red + + + Fuse + 400 + Height + 1.1 + Knock-Back + + -0.75, 0.0 + 150 + 2 + + Model + + particle/bullet/bullet_autogun.dat + + Color + Hot Red + Scale + Medium + + + Offset + 1.1, -0.1 + Speed + 14.0 + + + + + + Bullet/Handgun/Proto + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.4 + Bullet Shape + + 0.1 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 12.0 + 2 + + + + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + green + + + Fuse + 600 + Height + 1.1 + Knock-Back + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.12 + Core Min + 0.06 + Element + Simple + Flare + false + color + green + + + Offset + 0.85, -0.1 + Speed + 12.0 + + + + + + Bullet/Handgun/Proto (Charged) + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.75 + Bullet Shape + + 0.35 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 35.0 + 2 + true + + + + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Medium + color + green + + + Fuse + 650 + Height + 1.1 + Knock-Back + + 3.0, 0.0 + 300 + 4 + + Model + + particle/bullet/bullet_proto_charged.dat + + Offset + 0.85, -0.1 + Speed + 12.0 + + + + + + Bullet/Handgun/Punch Gun + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/magnus/model.dat + + Variant + Hot + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 0.75 + Pitch + Lower 3 + Range + Longer 1 + + + Transform + + + Transient + + particle/bullet/magnus/hit.dat + + Variant + Hot + + + + + + + 0.2 + + 512 + 137 + 25.0 + true + 1.1 + 1.1, -0.1 + 250 + + + 30.0 + 2 + + + + + + Bullet/Handgun/Punch Gun (Charged) + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/magnus/model_charged.dat + + Variant + Hot + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Lower 4 + Range + Long + + + Transform + + + Transient + + particle/bullet/magnus/hit_charged.dat + + Spark Count + 6 + Variant + Hot + + + + + + + 0.45 + + 512 + 137 + 15.0 + true + 1.1 + 1.1, -0.1 + 750 + + + + + 65.0 + 2 + true + + + 2 + + Stun + + Chance + 0.65 + Power + 45 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + -3.0, 0.0 + 150 + 2 + + + + + + Bullet/Handgun/Sentenza + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/bullet_piercing.dat + + Element + Simple + color + purple + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Default + Range + Default + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + purple + + + + + + + 0.1 + + 512 + 137 + 25.0 + true + 1.1 + 1.1, -0.1 + 300 + + + + + 15.0 + 2 + + + 15.0 + 2 + + + + + + + + Bullet/Handgun/Sentenza (Charged) + + + Damage + implementation.handlers[0].action.damage, implementation.detonation_action.damage + + + + + + particle/mesh/silversix_eagle/model_eagle.dat + + Variant + Shadow + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Lower 1 + Range + Default + + + Transform + + 1.25 + 0.0, 0.0, 1.0 + + Transient + + particle/bullet/magnus/hit_charged.dat + + Spark Count + 6 + Variant + Lost + + + + + + + 2.0 + + + + + + + + 15.0 + 2 + + + 15.0 + 2 + + + + + 1.5, 0.0 + 150 + 2 + + + + + 512 + 129 + 8.0 + true + 0.05 + 1.2, -0.1 + 1000 + + + + + 15.0 + 2 + + + 15.0 + 2 + + + + + 3.0, 0.0 + 300 + 2 + + + + + + Bullet/Handgun/Silversix + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/bullet_piercing.dat + + Element + Simple + color + silver + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Default + Range + Medium + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + silver + + + + + + + 0.1 + + 512 + 137 + 25.0 + true + 1.1 + 1.1, -0.1 + 300 + + + + + 10.0 + 2 + + + 10.0 + 2 + + + + + + + + Bullet/Handgun/Silversix (Charged) + + + Damage + implementation.detonation_action.damage, implementation.handlers[0].action.damage + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + particle/bullet/magnus/model_charged.dat + + Variant + Silver + + + + 0.5 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Lower 1 + Range + Default + + + Transform + + 0.5 + + Transient + + particle/bullet/magnus/hit_charged.dat + + Spark Count + 6 + Variant + Hot + + + + + + + 2.0 + + + + + + + + 20.0 + 2 + + + + + 1.5, 0.0 + 150 + 2 + + + + + 512 + 129 + 10.0 + true + 1.1 + 1.2, -0.1 + 850 + + + + + 10.0 + 2 + + + 10.0 + 2 + + + + + 3.0, 0.0 + 300 + 2 + + + + + + Bullet/Handgun/Strike Needle + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/bullet_piercing.dat + + Element + Simple + color + green + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bullet, ricochet + + Gain + 1.0 + Pitch + Higher 2 + Range + Longer 1 + + + Transform + + 0.75 + + Transient + + particle/bullet/hit_shard.dat + + Color + Base (aqua) + + + + + + + 0.1 + + 512 + 137 + 25.0 + true + 1.1 + 1.1, -0.1 + 300 + + + + + 15.0 + 2 + + + + + + + + Bullet/Handgun/Stun Gun + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.4 + Bullet Shape + + 0.1 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 12.0 + 2 + + + 2 + + Stun + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + yellow + + + Fuse + 600 + Height + 1.1 + Knock-Back + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.12 + Core Min + 0.06 + Element + Simple + Flare + false + color + yellow + + + Offset + 0.85, -0.1 + Speed + 12.0 + + + + + + Bullet/Handgun/Stun Gun (Charged) + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.75 + Bullet Shape + + 0.35 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 20.0 + 2 + + + 2 + + Stun + + Chance + 0.3 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Medium + color + yellow + + + Fuse + 650 + Height + 1.1 + Knock-Back + + 3.0, 0.0 + 300 + 4 + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/debuff_stunstar.png + Core Max + 0.4 + Core Min + 0.3 + Element + Simple + Flare + true + color + yellow + + + Offset + 0.85, -0.1 + Speed + 12.0 + + + + + + Bullet/Handgun/Valiance + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.6 + Bullet Shape + + 0.175 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 25.0 + 2 + + + + Destruction Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/weapon/gran_faust_chit.ogg + Gain + 0.6 + Pitch + 1.4 + Range + Short + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + cyan + + + + + Fuse + 450 + Height + 1.1 + Knock-Back + + 1.0, 0.0 + 200 + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.3 + Core Min + 0.2 + Element + Simple + Flare + false + color + cyan + + + Offset + 0.85, -0.1 + Speed + 16.0 + + + + + + Bullet/Handgun/Valiance (Charged) + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 1.0 + Bullet Shape + + 0.5 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 75.0 + 2 + true + + + + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Large + color + cyan + + + Fuse + 450 + Height + 1.1 + Knock-Back + + 6.0, 0.0 + 600 + 5 + + Model + + particle/bullet/bullet_blaster_charged.dat + + Offset + 0.85, -0.1 + Speed + 16.0 + + + + + + Bullet/Handgun/Volcanic Pepperbox + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.2 + Bullet Shape + + 0.1 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 8.0 + 2 + false + + + 2 + + + + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Medium + color + red + + + Fuse + 300 + Height + 1.1 + Knock-Back + + Model + + particle/bullet/bullet_autogun.dat + + Color + Hot Red + Scale + Medium + + + Offset + 1.1, -0.1 + Speed + 18.0 + + + + + + Bullet/Handgun/Volcanic Pepperbox (Charged) + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.3 + Bullet Shape + + 0.2 + + Collision Mask + 137 + Creation Transient + + Damage + + + + 1.0 + 2 + false + + + 2 + + + + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Large + color + red + + + Fuse + 300 + Height + 1.1 + Knock-Back + + -0.75, 0.0 + 150 + 2 + + Model + + particle/bullet/bullet_autogun.dat + + Color + Hot Red + Scale + Large + + + Offset + 1.1, -0.1 + Speed + 18.0 + + + + + + Bullet/Monster/Black Kat Bullet + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.4 + Core Min + 0.3 + Element + Simple + Flare + true + color + purple + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/gran_faust_chit.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Medium + color + purple + + + + + + + 0.2 + + 0 + 133 + 2.0 + true + 1.0 + 0.7, 0.0 + 6000 + + + + + 80.0 + 4 + + + 4 + + Curse + + Chance + 0.25 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Bullet/Monster/Bloogato Snowball + + + Status Condition + implementation.detonation_action.damage.damages[1].status_condition + + + + + + particle/bullet/bullet_frost.dat + + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Large + color + blue + + + + + 0.16 + + 0 + 133 + 2.5 + true + 1.0 + 0.7, 0.0 + 5000 + + + + + + Monster/Damage/Attack Base + + 4 + SHADOW + + Monster/Split/Split - Full + + + + 4 + + Freeze + + Chance + 0.333333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Bullet/Monster/Chromalisk/Electrolisk Globule + + + Status Damage + implementation.actor["Puddle"]["Status Damage"] + + + + + Bullet/Monster/Chromalisk/Globule (base) + + Puddle + + Bomb/Monster/Chromalisk/Spew Puddle (base) + + FX Attachment + + particle/debuff_shock-idle.dat + + Shadow + false + + + FX Transform + + 0.0, 0.0, -0.5 + + Fuse + 2400 + Particle Color + Electrolisk + Status Damage + + Texture + particle/texture/chroma_glob_shock.png + + + Status Signal + status_shock + Texture + particle/texture/chroma_glob_shock.png + + + + + + Bullet/Monster/Chromalisk/Globule (base) + + + Texture + implementation.sprite.model["Texture"] + + + Puddle + implementation.detonation_action.actions[1].actor + + + Status Signal + implementation.detonation_action.actions[2].name + + + + + + particle/bullet/bullet_chroma_glob.dat + + Texture + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/jelly_death.ogg + Gain + 0.8 + Pitch + 0.9 + Range + Medium + + + Transform + + + Transient + + + + + + 0.16 + + 0 + 135 + true + 0.5 + 1.0, 0.0 + 550 + + + + + + Monster/Damage/Attack Base + + 4 + + + + + + + + + + Bullet/Monster/Chromalisk/Salamander Globule + + + Status Damage + implementation.actor["Puddle"]["Status Damage"] + + + + + Bullet/Monster/Chromalisk/Globule (base) + + Puddle + + Bomb/Monster/Chromalisk/Spew Puddle (base) + + FX Attachment + + particle/fx_fire_torch.dat + + Color + Fire Orange + Lifespan + 2 seconds + + + FX Transform + + 0.0, 0.0, -0.5 + + Fuse + 2400 + Particle Color + Salamander + Status Damage + + Texture + particle/texture/chroma_glob_fire.png + + + Status Signal + status_fire + Texture + particle/texture/chroma_glob_fire.png + + + + + + Bullet/Monster/Chromalisk/Tundralisk Globule + + + Status Damage + implementation.actor["Puddle"]["Status Damage"] + + + + + Bullet/Monster/Chromalisk/Globule (base) + + Puddle + + Bomb/Monster/Chromalisk/Spew Puddle (base) + + FX Attachment + + particle/debuff_freeze.dat + + FX Transform + + 0.0, 0.0, -0.25 + + Fuse + 2400 + Particle Color + Tundralisk + Status Damage + + Texture + particle/texture/chroma_glob_ice.png + + + Status Signal + status_freeze + Texture + particle/texture/chroma_glob_ice.png + + + + + + Bullet/Monster/Chromalisk/Virulisk Globule + + + Status Damage + implementation.actor["Puddle"]["Status Damage"] + + + + + Bullet/Monster/Chromalisk/Globule (base) + + Puddle + + Bomb/Monster/Chromalisk/Spew Puddle (base) + + FX Attachment + + character/npc/monster/lichen/ambient_toxigel.dat + + FX Transform + + 0.0, 0.0, 0.5 + + Fuse + 2400 + Particle Color + Virulisk + Status Damage + + Texture + particle/texture/chroma_glob_poison.png + + + Status Signal + status_poison + Texture + particle/texture/chroma_glob_poison.png + + + + + + Bullet/Monster/Demo Throw + + + Fuse + implementation.fuse + + + + Tier + + + Color + implementation.sprite.model["Color"] + + + Tier + implementation.detonation_action.actions[0].actor["Tier"] + + + + + + 1 + + Color + Green + Tier + 1 + + + + + 2 + + Color + Orange + Tier + 2 + + + + + 3 + + Color + Purple + Tier + 3 + + + + 1 + + + + + + item/weapon/npc/mine_windup/thrown.dat + + Color + Orange + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + + Gain + 1.0 + Pitch + 1.3 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Generic Projectile Bonk + + Sound - Pitch + Higher 2 + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Medium + color + ivory + + + + + + + 0.1 + + 0 + 135 + 8.0 + true + 0.8 + 1.5, 0.0 + 1000 + + + + + Bomb/Monster/Demo Mine (Drop) + + Tier + 1 + + + + + + + + 4 + + Stun + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + Bullet/Monster/Demo Throw (Scatter) + + + Fuse + implementation.fuse + + + + Tier + + + Color + implementation.sprite.model["Models"][0].model["Color"], implementation.sprite.model["Models"][1].model["Color"], implementation.sprite.model["Models"][2].model["Color"], implementation.sprite.model["Models"][3].model["Color"] + + + Tier + implementation.detonation_action.actions[0].actions[3].actor["Tier"], implementation.detonation_action.actions[0].actions[2].actor["Tier"], implementation.detonation_action.actions[0].actions[1].actor["Tier"], implementation.detonation_action.actions[0].actions[0].actor["Tier"] + + + + + + 1 + + Color + Green + Tier + 1 + + + + + 2 + + Color + Orange + Tier + 2 + + + + + 3 + + Color + Purple + Tier + 3 + + + + 1 + + + + + + model/compound/model.dat + + Influences + + false + false + false + + Models + + + + item/weapon/npc/mine_windup/thrown.dat + + Color + Orange + + + + 0.1, -0.025, 0.0 + + + + + item/weapon/npc/mine_windup/thrown.dat + + Color + Orange + + + + -0.08, -0.05, -0.1 + 0.0, 0.0, -0.38268346, 0.9238795 + + + + + item/weapon/npc/mine_windup/thrown.dat + + Color + Orange + + + + 0.0, 0.1, 0.2 + 0.0, 0.0, 0.25881904, 0.9659258 + + + + + item/weapon/npc/mine_windup/thrown.dat + + Color + Orange + + + + 0.15, -0.25, 0.05 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + + Gain + 1.0 + Pitch + 1.3 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Generic Projectile Bonk + + Sound - Pitch + Higher 2 + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Medium + color + ivory + + + + + + + 0.1 + + 0 + 135 + 8.0 + true + 0.8 + 1.5, 0.0 + 1000 + + + + + + + Bomb/Monster/Demo Mine (Drop) + + Tier + 1 + + + + + + Bomb/Monster/Demo Mine (Drop) + + Tier + 1 + + + + + + Bomb/Monster/Demo Mine (Drop) + + Tier + 1 + + + + + + Bomb/Monster/Demo Mine (Drop) + + Tier + 1 + + + + + + + + + + 4 + false + + + 4 + + Stun + + Chance + 0.1 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + Bullet/Monster/Devilite Thrown/Weak/Electronics + + + Model + implementation.sprite.model["Variant"], implementation.sprite.destruction_transient["Transient"]["Model"]["Variant"] + + + Damage (Status) + implementation.detonation_action.actions[0].damage.damages[1].status_condition + + + + + + item/weapon/npc/devilite/bullet_electronics.dat + + Variant + 1 + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/player/player_throw.ogg + Gain + 1.0 + Pitch adjust + Higher 2 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Generic Projectile Bonk + + Sound - Pitch + Default + + + Transform + + + Transient + + item/weapon/npc/devilite/compound_bop.dat + + Fog + false + Model + + item/weapon/npc/devilite/bullet_electronics.dat + + Variant + 1 + + + Shatter + + particle/bullet/hit_pellet.dat + + Element + Electric + Flare + Negative + Scale + Small + color + cyan + + + + + + + + + 0.25 + + 0 + 133 + 11.0 + true + 1.15 + 0.25, -0.25 + 750 + + + + + + + + Monster/Damage/Attack Base -05 + + 4 + + + 4 + + Shock + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + Bullet/Monster/Devilite Thrown/Weak/Fireball + + + Damage (Status) + implementation.detonation_action.actions[0].damage.damages[1].status_condition + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.2 + Core Min + 0.1 + Element + Fire + Flare + false + color + yellow + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/player/player_throw.ogg + Gain + 1.0 + Pitch adjust + Higher 2 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Bomb, Fizzle + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Negative + Scale + Small + color + yellow + + + + + + + 0.25 + + 0 + 133 + 11.0 + true + 1.15 + 0.25, -0.25 + 750 + + + + + + + + Monster/Damage/Attack Base -05 + + 4 + + + 4 + + Fire + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + Bullet/Monster/Devilite Thrown/Weak/Junk + + + Model + implementation.sprite.model["Variant"], implementation.sprite.destruction_transient["Transient"]["Model"]["Variant"] + + + Damage (Status) + implementation.detonation_action.actions[0].damage.damages[1].status_condition + + + + + + item/weapon/npc/devilite/bullet_junk.dat + + Variant + 1 + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/player/player_throw.ogg + Gain + 1.0 + Pitch adjust + Higher 2 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Higher 1 + + + Transform + + + Transient + + item/weapon/npc/devilite/compound_bop.dat + + Fog + false + Model + + item/weapon/npc/devilite/bullet_junk.dat + + Variant + 1 + + + Shatter + + particle/fx_potshatter.dat + + + + + + + + 0.25 + + 0 + 133 + 11.0 + true + 1.15 + 0.25, -0.25 + 750 + + + + + + + + Monster/Damage/Attack Base -05 + + 4 + + + 4 + + Poison + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + Bullet/Monster/Devilite Thrown/Weak/Office Suppies + + + Model + implementation.sprite.model["Variant"], implementation.sprite.destruction_transient["Transient"]["Model"]["Model"] + + + + + + item/weapon/npc/devilite/bullet_officesupplies.dat + + Variant + 1 + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/player/player_throw.ogg + Gain + 1.0 + Pitch adjust + Higher 2 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Generic Projectile Bonk + + Sound - Pitch + Default + + + Transform + + + Transient + + item/weapon/npc/devilite/compound_bop.dat + + Fog + false + Model + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Book + + + Shatter + + particle/fx_potshatter.dat + + + + + + + + 0.25 + + 0 + 133 + 11.0 + true + 1.15 + 0.25, -0.25 + 750 + + + + + + + + Monster/Damage/Attack Base -05 + + 4 + + + + + + + + + + Bullet/Monster/Devilite Thrown/Weak/Snowball + + + Damage (Status) + implementation.detonation_action.actions[0].damage.damages[1].status_condition + + + + + + item/weapon/npc/devilite/bullet_snowball.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/player/player_throw.ogg + Gain + 1.0 + Pitch adjust + Higher 2 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Generic Projectile Bonk + + Sound - Pitch + Default + + + Transform + + + Transient + + particle/bullet/hit_shard.dat + + Color + Frost + + + + + + + 0.25 + + 0 + 133 + 11.0 + true + 1.15 + 0.25, -0.25 + 750 + + + + + + + + Monster/Damage/Attack Base -05 + + 4 + + + 4 + + Freeze + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + Bullet/Monster/Devilite Thrown/Weapons/Axe + + + Damage (Status) + implementation.detonation_action.actions[0].damage.damages[1] + + + Variant + implementation.sprite.model["Variant"], implementation.sprite.destruction_transient["Transient"]["Model"]["Variant"] + + + + + + item/weapon/npc/devilite/bullet_axe.dat + + Variant + Fire + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/player/player_throw.ogg + Gain + 1.0 + Pitch adjust + Lower 2 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Generic Projectile Bonk + + Sound - Pitch + Default + + + Transform + + + Transient + + item/weapon/npc/devilite/compound_bop.dat + + Fog + true + Model + + item/weapon/npc/devilite/model_axe.dat + + Variant + Fire + + + Shatter + + particle/fx_potshatter.dat + + + + + + + + 0.25 + + 0 + 133 + 8.0 + true + 1.15 + 0.25, -0.25 + 800 + + + + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 4 + + + + + + + + + + Bullet/Monster/Devilite Thrown/Weapons/Pitchfork + + + Damage (Status) + implementation.detonation_action.actions[0].damage.damages[1] + + + Variant + implementation.sprite.model["Variant"], implementation.sprite.destruction_transient["Transient"]["Model"]["Variant"] + + + + + + item/weapon/npc/devilite/bullet_pitchfork.dat + + Variant + Fire + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/player/player_throw.ogg + Gain + 1.0 + Pitch adjust + Lower 2 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Generic Projectile Bonk + + Sound - Pitch + Default + + + Transform + + + Transient + + item/weapon/npc/devilite/compound_bop.dat + + Fog + true + Model + + item/weapon/npc/devilite/model_pitchfork.dat + + Variant + Fire + + + Shatter + + particle/fx_potshatter.dat + + + + + + + + 0.25 + + 0 + 133 + 9.0 + true + 1.15 + 0.25, -0.25 + 750 + + + + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 4 + + + + + + + + + + Bullet/Monster/DeviliteThrow + + + + Model + + + Model + implementation.sprite.model + + + Hitmodel + implementation.sprite.destruction_transient["Transient"]["Model"] + + + Smack + implementation.sprite.destruction_transient["Transient"]["Shatter"] + + + Detonation + implementation.detonation_action + + + Height + implementation.height + + + + + + Bomb + + Detonation + + + + + Character/NPC/Monster/Fiend/Devilite Throw - Bomb Damage + + + + + Bomb/Monster/Devilite Bomb + + + + + Height + 1.15 + Hitmodel + + Model + + item/weapon/npc/devilite/model_bomb.dat + + Smack + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Large + color + ivory + + + + + + + Pitchfork + + Detonation + + + + + Character/NPC/Monster/Fiend/Devilite Throw - Pitchfork Damage + + + + + Height + 1.15 + Hitmodel + + item/weapon/npc/devilite/model_pitchfork.dat + + Variant + Fire + + + Model + + item/weapon/npc/devilite/bullet_pitchfork.dat + + Variant + Fire + + + Smack + + particle/fx_potshatter_fire.dat + + + + + + Axe + + Detonation + + + + + Character/NPC/Monster/Fiend/Devilite Throw - Axe Damage + + + + + Height + 1.15 + Hitmodel + + item/weapon/npc/devilite/model_axe.dat + + Variant + Fire + + + Model + + item/weapon/npc/devilite/bullet_axe.dat + + Variant + Fire + + + Smack + + particle/fx_potshatter_fire.dat + + + + + Bomb + + + + + + item/weapon/bomb/blast/model.dat + + variant + angry + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + + Gain + 1.0 + Pitch + 1.3 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Generic Projectile Bonk + + Sound - Pitch + Default + + + Transform + + + Transient + + item/weapon/npc/devilite/compound_bop.dat + + Fog + true + Model + + item/weapon/npc/devilite/model_axe.dat + + Variant + Fire + + + Shatter + + particle/fx_potshatter_fire.dat + + + + + + + + 0.25 + + 0 + 133 + 9.0 + true + 1.15 + 0.25, -0.25 + 750 + + + + + + + 80.0 + 4 + + + 4 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + Bullet/Monster/DeviliteThrow (Weak) + + + + Model + + + Model + implementation.sprite.model + + + Hitmodel + implementation.sprite.destruction_transient["Transient"]["Model"] + + + Smack + implementation.sprite.destruction_transient["Transient"]["Shatter"] + + + Detonation + implementation.detonation_action + + + Height + implementation.height + + + + + + Chair + + + true + Detonation + + + + + Character/NPC/Monster/Fiend/Devilite Throw - Office Chair Damage + + + + + F + true + Fo + true + Fog + false + Height + 1.15 + Hitmodel + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Chair + + + Model + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Chair + + + Smack + + particle/fx_potshatter.dat + + + + + + Computer + + + true + Detonation + + + + + Character/NPC/Monster/Fiend/Devilite Throw - Office Equipment Damage + + + + + F + true + Fo + true + Fog + false + Height + 1.15 + Hitmodel + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Computer + + + Model + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Computer + + + Smack + + particle/fx_potshatter.dat + + + + + + Suitcase + + + true + Detonation + + + + + Character/NPC/Monster/Fiend/Devilite Throw - Office Equipment Damage + + + + + F + true + Fo + true + Fog + false + Height + 1.15 + Hitmodel + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Suitcase + + + Model + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Suitcase + + + Smack + + particle/fx_potshatter.dat + + + + + + Book + + + true + Detonation + + + + + Character/NPC/Monster/Fiend/Devilite Throw - Office Equipment Damage + + + + + F + true + Fo + true + Fog + false + Height + 1.15 + Hitmodel + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Book + + + Model + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Book + + + Smack + + particle/fx_potshatter.dat + + + + + + Stapler + + + true + Detonation + + + + + Character/NPC/Monster/Fiend/Devilite Throw - Office Equipment Damage + + + + + F + true + Fo + true + Fog + false + Height + 1.15 + Hitmodel + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Stapler + + + Model + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Stapler + + + Smack + + particle/fx_potshatter.dat + + + + + Bomb + + + + + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Chair + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + + Gain + 1.0 + Pitch + 1.3 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Generic Projectile Bonk + + Sound - Pitch + Default + + + Transform + + + Transient + + item/weapon/npc/devilite/compound_bop.dat + + Fog + false + Model + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Chair + + + Shatter + + particle/fx_potshatter_fire.dat + + + + + + + + 0.25 + + 0 + 133 + 11.0 + true + 1.15 + 0.25, -0.25 + 750 + + + + + + + + + + + + Bullet/Monster/FlameWall Chunk + + + Offset + implementation.offset + + + Damage + implementation.detonation_action.actor["Damage"] + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + particle/fx_fire_torch.dat + + Color + Hot Blue + Lifespan + 3 seconds + + + + 0.0, -0.5, -0.5 + -0.5, 0.0, 0.0, 0.8660254 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + + Transient + + + + + + 0.2 + + + + + + + + + + + + + + + + 4 + + Fire + + Chance + 0.5 + Power + 150 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + 0 + 195 + 4.0 + true + 0.1 + 1.0, 0.0 + 3000 + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 2 Seconds + Nature + Monster + + + + + + + Bullet/Monster/Flamethrower + + + + Length + + + Fuse + implementation.fuse + + + Lifetime + implementation.handlers[0].action.actions[0].actor["Lifetime"] + + + Sound + implementation.sprite.creation_transient["Sounder"]["File"] + + + Creation Life + implementation.sprite.model["Models"][0].model["Lifespan"], implementation.sprite.destruction_transient["Transient"]["Lifespan"] + + + + + + Short + + Creation Life + 1 second + Fuse + 300 + Lifetime + 1 Second + Sound + sound/effect/world/traps/trap_flame_2sec_01.ogg + + + + + Medium + + Creation Life + 1 second + Fuse + 500 + Lifetime + 2 Seconds + Sound + sound/effect/world/traps/trap_flame_2sec_01.ogg + + + + + Long + + Creation Life + 4 seconds + Fuse + 1000 + Lifetime + 4 Seconds + Sound + sound/effect/world/traps/trap_flame_3sec_01.ogg + + + + Medium + + + Offset + implementation.offset + + + Damage + implementation.handlers[0].action.actions[0].actor["Damage"] + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + particle/fx_fire_torch.dat + + Color + Hot Blue + Lifespan + 1 second + + + + 1.333 + 0.0, 1.0, -0.5 + -0.5, 0.0, 0.0, 0.8660254 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/traps/trap_flame_2sec_01.ogg + Gain + 1.0 + Pitch + 1.05 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + 1.6 + 0.0, -0.6, -0.2 + -0.38268346, 0.0, 0.0, 0.9238795 + + Transient + + particle/fx_fire_torch.dat + + Color + Hot Blue + Lifespan + 1 second + + + + + + + 0.2 + + + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 2 Seconds + Nature + Monster + + + + + + + + 0 + 195 + 20.0 + true + 0.1 + 1.0, 0.0 + 500 + + + + Bullet/Monster/Flamethrower (Bounder) + + + Offset + implementation.offset + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + particle/fx_fire_torch.dat + + Color + Dirty Yellow + Lifespan + 1 second + + + + 1.333 + 0.0, 1.0, -0.5 + -0.5, 0.0, 0.0, 0.8660254 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/traps/trap_flame_2sec_01.ogg + Gain + 1.0 + Pitch + 1.05 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + 1.5 + 0.0, -0.6, -0.2 + -0.38268346, 0.0, 0.0, 0.9238795 + + Transient + + + + + + 0.2 + + + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 2 Seconds + Nature + Monster + + + + + + + + + + 0 + 195 + 10.0 + true + 0.1 + 1.0, 0.0 + 1000 + + + Bullet/Monster/Parts/Flamethrower Directions/Flamethrower (W) + + + + + + Bullet/Monster/Flamethrower (Dynamic) + + + Fuse + implementation.handlers[2].interval + + + Damage + implementation.handlers[0].action.actions[0].actor["Damage"] + + + + Mode + + + Behavior + implementation.behavior + + + Turn Speed + implementation.turn_rate + + + + + + Snake + + Behavior + + Character/Weapon/FlameThrower (Snake) + + Turn Speed + 174.51547 + + + + + 90o Turns + + Behavior + + Character/Weapon/FlameThrower (90o) + + Turn Speed + 174.51547 + + + + + Straight + + Behavior + + Character/Weapon/FlameThrower + + Turn Speed + 0.0 + + + + Straight + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + editor/marker/sound/custom_sounder.dat + + Label + Fire + Range + Medium + Sounder + + Clip/Looping (Gain) + + File + sound/effect/world/flame_ambient.ogg + Gain + 1.0 + Pitch + 1.0 + Range + Long + + + Viewer Extents + 12 + + + + 1.333 + 0.0, 1.0, -0.5 + -0.5, 0.0, 0.0, 0.8660254 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/traps/trap_flame_2sec_01.ogg + Gain + 1.0 + Pitch + 1.05 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + 1.5 + 0.0, -0.6, -0.2 + -0.38268346, 0.0, 0.0, 0.9238795 + + Transient + + + + + + 0.2 + + + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 2 Seconds + Nature + Monster + + + + + + + + + + + + + + + + 0 + 65 + 10.0 + true + 10.471975 + 11 + 0 + 10.0 + true + true + + + + + + Bullet/Monster/Flamethrower (Snake) + + + Offset + implementation.offset + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + particle/fx_fire_torch.dat + + Color + Hot Blue + Lifespan + 1 second + + + + 1.333 + 0.0, 1.0, -0.5 + -0.5, 0.0, 0.0, 0.8660254 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/traps/trap_flame_2sec_01.ogg + Gain + 1.0 + Pitch + 1.05 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + 1.5 + 0.0, -0.6, -0.2 + -0.38268346, 0.0, 0.0, 0.9238795 + + Transient + + + + + + 0.2 + + + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 2 Seconds + Nature + Monster + + + + + + + + + + Bullet/Monster/Parts/Flamethrower (Snake) 2 + + Offset + 0.5, 0.0 + + + + + + + + + Bullet/Monster/Parts/Flamethrower (Snake) 2 + + Offset + 0.0, 0.0 + + + + + + + 0 + 195 + 10.0 + true + 0.1 + 1.0, 0.0 + 300 + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 2 Seconds + Nature + Monster + + + + + + + Bullet/Monster/Greaver Bullet + + + + Bullet Speed + + + Speed + implementation.speed + + + Fuse + implementation.fuse + + + + + + 1.5 + + Fuse + 6667 + Speed + 1.25 + + + + + 2.0 + + Fuse + 5000 + Speed + 2.0 + + + + + 2.5 + + Fuse + 4000 + Speed + 2.5 + + + + + 3.0 + + Fuse + 3333 + Speed + 3.0 + + + + + 3.5 + + Fuse + 2857 + Speed + 3.5 + + + + + 4.0 + + Fuse + 2500 + Speed + 4.0 + + + + + 4.5 + + Fuse + 2222 + Speed + 4.5 + + + + + 5.0 + + Fuse + 2000 + Speed + 5.0 + + + + 2.5 + + + + Element + + + Model + implementation.sprite.model + + + Hit Model + implementation.sprite.destruction_transient["Transient"] + + + Hit Sound + implementation.sprite.destruction_transient["Sounder"]["File"] + + + + + + None + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + + Hit Model + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Small + color + purple + + + Hit Sound + sound/effect/weapon/gran_faust_chit.ogg + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Simple + Flare + true + color + purple + + + + + + + Fire + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Fire + + Chance + 0.0 + Power + 0 + + + + + + Hit Model + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Negative + Scale + Small + color + yellow + + + Hit Sound + sound/effect/weapon/gran_faust_chit.ogg + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Fire + Flare + true + color + yellow + + + + + + + Freeze + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + + Hit Model + + particle/bullet/hit_shard.dat + + Color + Frost + + + Hit Sound + sound/effect/weapon/cryotech_bolt_dissipate.ogg + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Frost + Flare + true + color + frost + + + + + + + Shock + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + + Hit Model + + particle/bullet/hit_pellet.dat + + Element + Electric + Flare + Negative + Scale + Small + color + cyan + + + Hit Sound + sound/effect/weapon/voltech_bolt_dissipate.ogg + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Electric + Flare + true + color + cyan + + + + + + + Poison + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + + Hit Model + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Small + color + green + + + Hit Sound + sound/effect/monster/jelly/jelly_little_death_02.ogg + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Simple + Flare + true + color + green + + + + + + None + + + + Status + + + Status + implementation.detonation_action.damage.damages[1].status_condition + + + + + + None + + Status + + + + + + Fire + + Status + + Fire + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Fire 2 + + Status + + Fire 2 + + Chance + 0.5 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Fire 3 + + Status + + Fire 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Freeze + + Status + + Freeze + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Freeze 2 + + Status + + Freeze 2 + + Chance + 0.5 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Freeze 3 + + Status + + Freeze 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Shock + + Status + + Shock + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Shock 2 + + Status + + Shock 2 + + Chance + 0.5 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Shock 3 + + Status + + Shock 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Poison + + Status + + Poison + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Poison 2 + + Status + + Poison 2 + + Chance + 0.5 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Poison 3 + + Status + + Poison 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + None + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Simple + Flare + true + color + yellow + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/weapon/gran_faust_chit.ogg + Gain + 0.6 + Pitch adjust + Higher 2 + Range + Medium + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Small + color + yellow + + + + + + + 0.1 + + 0 + 133 + 2.5 + true + 0.667 + 0.4, 0.0 + 4500 + + + + + + Monster/Damage/Attack Base -05 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + + + + + Bullet/Monster/Gremlin HammerThrow + + + Damage + implementation.detonation_action.actions[0].damage + + + + + + item/weapon/npc/wrench_hammer/thrown.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/player/player_throw.ogg + Gain + 1.0 + Pitch + 1.3 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Weapons/Generic Projectile Bonk + + Sound - Pitch + Lower 1 + + + Transform + + + Transient + + item/weapon/npc/devilite/compound_bop.dat + + Fog + true + Model + + item/weapon/npc/wrench_hammer/model.dat + + Shatter + + particle/fx_potshatter.dat + + + + + + + + 0.45 + + 0 + 135 + 7.0 + true + 1.15 + 0.25, -0.25 + 1000 + + + + + + + 20.0 + 4 + + + 4 + + Stun + + Chance + 0.3 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + Bullet/Monster/Gun Puppy Bullet + + + + Bullet Speed + + + Speed + implementation.speed + + + Fuse + implementation.fuse + + + + + + 1.5 + + Fuse + 6667 + Speed + 1.25 + + + + + 2.0 + + Fuse + 5000 + Speed + 2.0 + + + + + 2.5 + + Fuse + 4000 + Speed + 2.5 + + + + + 3.0 + + Fuse + 3333 + Speed + 3.0 + + + + + 3.5 + + Fuse + 2857 + Speed + 3.5 + + + + + 4.0 + + Fuse + 2500 + Speed + 4.0 + + + + + 4.5 + + Fuse + 2222 + Speed + 4.5 + + + + + 5.0 + + Fuse + 2000 + Speed + 5.0 + + + + 2.5 + + + + Element + + + Model + implementation.sprite.model + + + Hit Model + implementation.sprite.destruction_transient["Transient"] + + + Hit Sound + implementation.sprite.destruction_transient["Sounder"]["File"] + + + + + + None + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + + Hit Model + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Small + color + yellow + + + Hit Sound + sound/effect/weapon/gran_faust_chit.ogg + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Simple + Flare + true + color + yellow + + + + + + + Fire + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Fire + + Chance + 0.0 + Power + 0 + + + + + + Hit Model + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Negative + Scale + Small + color + yellow + + + Hit Sound + sound/effect/weapon/gran_faust_chit.ogg + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Fire + Flare + true + color + yellow + + + + + + + Freeze + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + + Hit Model + + particle/bullet/hit_shard.dat + + Color + Frost + + + Hit Sound + sound/effect/weapon/cryotech_bolt_dissipate.ogg + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Frost + Flare + true + color + frost + + + + + + + Shock + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + + Hit Model + + particle/bullet/hit_pellet.dat + + Element + Electric + Flare + Negative + Scale + Small + color + cyan + + + Hit Sound + sound/effect/weapon/voltech_bolt_dissipate.ogg + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Electric + Flare + true + color + cyan + + + + + + + Poison + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + + Hit Model + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Small + color + green + + + Hit Sound + sound/effect/monster/jelly/jelly_little_death_02.ogg + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Simple + Flare + true + color + green + + + + + + None + + + + Status + + + Status + implementation.detonation_action.damage.damages[1].status_condition + + + + + + None + + Status + + + + + + Fire + + Status + + Fire + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Fire 2 + + Status + + Fire 2 + + Chance + 0.5 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Fire 3 + + Status + + Fire 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Freeze + + Status + + Freeze + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Freeze 2 + + Status + + Freeze 2 + + Chance + 0.5 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Freeze 3 + + Status + + Freeze 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Shock + + Status + + Shock + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Shock 2 + + Status + + Shock 2 + + Chance + 0.5 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Shock 3 + + Status + + Shock 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Poison + + Status + + Poison + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Poison 2 + + Status + + Poison 2 + + Chance + 0.5 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Poison 3 + + Status + + Poison 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + None + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Simple + Flare + true + color + yellow + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/weapon/gran_faust_chit.ogg + Gain + 0.6 + Pitch adjust + Lower 2 + Range + Medium + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Small + color + yellow + + + + + + + 0.1 + + 0 + 133 + 2.5 + true + 1.0 + 0.4, 0.0 + 4500 + + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + + + + + + + Bullet/Monster/Hurkat Hairball + + + Status Condition + implementation.detonation_action.damage.damages[1].status_condition + + + + Bullet Speed + + + Speed + implementation.speed + + + Fuse + implementation.fuse + + + + + + 1.0 + + Fuse + 12500 + Speed + 1.0 + + + + + 1.5 + + Fuse + 8333 + Speed + 1.5 + + + + + 2.0 + + Fuse + 6250 + Speed + 2.0 + + + + + 2.5 + + Fuse + 5000 + Speed + 2.5 + + + + + 3.0 + + Fuse + 4167 + Speed + 3.0 + + + + + 3.5 + + Fuse + 3571 + Speed + 3.5 + + + + + 4.0 + + Fuse + 3125 + Speed + 4.0 + + + + + 4.5 + + Fuse + 2778 + Speed + 4.5 + + + + + 5.0 + + Fuse + 2500 + Speed + 5.0 + + + + 2.5 + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Simple + Flare + true + color + green + + + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Medium + color + green + + + + + 0.1 + + 0 + 133 + 2.5 + true + 1.0 + 0.7, 0.0 + 5000 + + + + + + Monster/Damage/Attack Base -05 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + + + + + Bullet/Monster/Jelly Barb + + + Style + implementation.sprite.model["Models"][0].model["Variant"] + + + Damage + implementation.detonation_action.damage + + + + Scale + + + Transform + implementation.sprite.model["Models"][0].transform + + + + + + Small + + Transform + + + + + + + Medium + + Transform + + 1.15 + + + + + + Large + + Transform + + 1.3 + + + + + Small + + + + + + model/compound/model.dat + + Influences + + false + false + false + + Models + + + + character/npc/monster/lichen/parts/spines/model_spine_bullet.dat + + Variant + Tri + + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/weapon/spur_bullet_hit.ogg + Gain + 0.6 + Pitch + 1.4 + Range + Medium + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Small + color + yellow + + + + + + + 0.1 + + 0 + 133 + 8.0 + true + 0.5 + 0.4, 0.0 + 1000 + + + + + 40.0 + 4 + + + 4 + + Poison + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + -10.0, 0.0 + + 2.0, 0.0 + 300 + 2 + + + + + + Bullet/Monster/Love Heart + + + + particle/bullet/bullet_love.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/player/player_throw.ogg + Gain + 1.0 + Pitch + 1.5 + Range + Medium + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + red + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/item/heart_acquire_01.ogg + Gain + 1.0 + Range + Short + + + Transform + + 0.0, 0.0, -1.0 + + Transient + + particle/fx_effectfader.dat + + Alpha Mode + TRANSLUCENT + Color + + 0.6, 0.0, 0.2, 1.0 + 1.0, 0.2, 0.2, 1.0 + 1.0, 0.0, 0.0, 0.0 + 0.1 + 0.05 + + Max Rotation + 0.0, 0.0, 0.0 + Max Scale + 1.0 + Min Rotation + 0.0, 0.0, 0.0 + Min Scale + 1.0 + Model + + particle/fx_menderheal.dat + + Time + 3.0 + + + + + + + 0.25 + + 0 + 133 + 3.0 + true + 1.0 + 0.4, 0.0 + 6000 + + + Monster/Heal/Heal Base -10 + + + + + + Bullet/Monster/Mecha Zombie Beam + + + Color + implementation.handlers[0].action.actor["Color"] + + + Damage (Status) + implementation.handlers[0].action.actor["Damage (Status)"] + + + Signal (Status) + implementation.handlers[0].action.actor["Signal (Status)"] + + + + + true + + + 0.1 + + + + + + Bullet/Monster/Parts/Mecha Zombie Beam Trail + + Color + 1.0, 1.0, 1.0, 1.0 + Damage (Status) + + Fire + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Signal (Status) + Fire + + + + + + 0 + 131 + 16.0 + true + 0.1 + 0.6, 0.0 + 450 + + + + Bullet/Monster/Mechaknight + + + Status Attack + implementation.actor["Damage"].damages[1].status_condition + + + + + Bullet/Handgun/Parts/Alchemical/Base/Tirtiary + + Collision + 133 + Damage + + + + + Monster/Damage/Attack Base -10 + + ELEMENTAL + 4 + + + 4 + + Shock + + Chance + 0.55 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Destruction Sound + sound/effect/weapon/voltech_bolt_dissipate.ogg + Destruction Transient + + particle/bullet/hit_pellet.dat + + Element + Electric + Flare + Negative + Scale + Medium + color + cyan + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.15 + Element + Electric + Flare + false + color + cyan + + + + + + + + Bullet/Monster/Mender Bolt + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.35 + Core Min + 0.15 + Element + Simple + Flare + true + color + ivory + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/weapon/handgun_01.ogg + Gain + 0.75 + Pitch + 1.3 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/tortodrone_missile1.ogg + Gain + 0.6 + Pitch + 1.8 + Range + Short + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Small + color + yellow + + + + + + + 0.1 + + 0 + 133 + true + 0.8 + 1.5, 0.0 + 1000 + + + 30.0 + 4 + 330.0 + 1 + + + + + + Bullet/Monster/Mender Heal (Ranged) + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/icon/icon_heart_small.png + Core Max + 0.4 + Core Min + 0.2 + Element + Simple + Flare + true + color + green + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/item/heart_acquire_02.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/item/heart_acquire_01.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_menderheal.dat + + + + + + 0.1 + + 0 + 69 + true + 0.65 + 1.5, 0.0 + 1250 + + 40 + + + + + Bullet/Monster/MiniJelly Blob + + + + Range + + + Speed + implementation.speed + + + Fuse + implementation.fuse + + + Sprite Speed + implementation.sprite.model["Speed"] + + + + + + Short + + Fuse + 500 + Speed + 4.0 + Sprite Speed + 6.0 + + + + + Medium + + Fuse + 750 + Speed + 6.0 + Sprite Speed + 3.0 + + + + + Long + + Fuse + 1000 + Speed + 8.0 + Sprite Speed + 2.0 + + + + Medium + + + Max Minions + implementation.detonation_action.condition.expression.second_operand.value + + + + + + particle/bullet/fx_jellyorb.dat + + Speed + 2.0 + Variant + Green + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/jelly_death.ogg + Gain + 0.8 + Pitch + 1.1 + Range + Medium + + + Transform + + + Transient + + + + + + 0.15 + + 0 + 199 + 8.0 + true + 0.5 + 1.0, 0.0 + 1000 + + + + + 0 + + + + + + + + + + + + + Character/NPC/Monster/Slime/Parts/Jelly Green Mini (No Treasure) + + + + + Character/NPC/Monster/Slime/Parts/Jelly Green Mini (No Treasure) + + + + + Character/NPC/Monster/Slime/Parts/Jelly Green Mini (No Treasure) + + + + + Character/NPC/Monster/Slime/Parts/Jelly Green Mini (No Treasure) + + + + + + + + + + + Character/NPC/Monster/Slime/Parts/Jelly Green Mini (No Treasure) + + + + + Character/NPC/Monster/Slime/Parts/Jelly Green Mini (No Treasure) + + + + + Character/NPC/Monster/Slime/Parts/Jelly Green Mini (No Treasure) + + + + + + + + + + + Character/NPC/Monster/Slime/Parts/Jelly Green Mini (No Treasure) + + + + + Character/NPC/Monster/Slime/Parts/Jelly Green Mini (No Treasure) + + + + + + + + + Character/NPC/Monster/Slime/Parts/Jelly Green Mini (No Treasure) + + + + + + + + + + Bullet/Monster/Oil Blob + + + + particle/bullet/fx_oilorb.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/jelly_death.ogg + Gain + 0.8 + Pitch + 0.9 + Range + Medium + + + Transform + + + Transient + + + + + + + + + + + + Bullet/Monster/Vog Fireball + + Damage + + + + 80.0 + 4 + + + 4 + + Fire + + Chance + 0.5 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + + + 0 + 135 + 8.0 + true + 0.5 + 1.0, 0.0 + 1000 + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + + + + Bullet/Monster/Parts/Flamethrower (Bounder)(Base) + + + Offset + implementation.offset + + + Angle + implementation.detonation_action.rotation + + + Relative + implementation.detonation_action.relative + + + Child + implementation.detonation_action.actor + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + particle/fx_fire_torch.dat + + Color + Dirty Yellow + Lifespan + 1 second + + + + 1.333 + 0.0, 1.0, -0.5 + -0.5, 0.0, 0.0, 0.8660254 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/traps/trap_flame_2sec_01.ogg + Gain + 1.0 + Pitch + 1.05 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + 1.5 + 0.0, -0.6, -0.2 + -0.38268346, 0.0, 0.0, 0.9238795 + + Transient + + + + + + 0.2 + + + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 2 Seconds + Nature + Monster + + + + + + + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 2 Seconds + Nature + Monster + + + + + + 0 + 195 + 10.0 + true + 0.1 + 1.0, 0.0 + 1000 + + + Bullet/Monster/Flamethrower (Bounder) + + Offset + -1.0, 0.0 + + + + + + + Bullet/Monster/Parts/Flamethrower (Snake) 2 + + + Offset + implementation.offset + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + particle/fx_fire_torch.dat + + Color + Hot Blue + Lifespan + 1 second + + + + 1.333 + 0.0, 1.0, -0.5 + -0.5, 0.0, 0.0, 0.8660254 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/traps/trap_flame_2sec_01.ogg + Gain + 1.0 + Pitch + 1.05 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + 1.5 + 0.0, -0.6, -0.2 + -0.38268346, 0.0, 0.0, 0.9238795 + + Transient + + + + + + 0.2 + + + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 2 Seconds + Nature + Monster + + + + + + + + + + Bullet/Monster/Parts/Flamethrower (Snake) 3 + + Offset + 0.5, 0.0 + + + + + + + + + Bullet/Monster/Parts/Flamethrower (Snake) 3 + + Offset + 0.0, 0.0 + + + + + + + 0 + 195 + 10.0 + true + 0.1 + 1.0, 0.0 + 300 + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 2 Seconds + Nature + Monster + + + + + + + Bullet/Monster/Parts/Flamethrower (Snake) 3 + + + Offset + implementation.offset + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + particle/fx_fire_torch.dat + + Color + Hot Blue + Lifespan + 1 second + + + + 1.333 + 0.0, 1.0, -0.5 + -0.5, 0.0, 0.0, 0.8660254 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/traps/trap_flame_2sec_01.ogg + Gain + 1.0 + Pitch + 1.05 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + 1.5 + 0.0, -0.6, -0.2 + -0.38268346, 0.0, 0.0, 0.9238795 + + Transient + + + + + + 0.2 + + + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 2 Seconds + Nature + Monster + + + + + + + + + + Bullet/Monster/Flamethrower (Snake) + + Offset + 0.5, 0.0 + + + + + + + + + Bullet/Monster/Flamethrower (Snake) + + Offset + 0.0, 0.0 + + + + + + + 0 + 195 + 10.0 + true + 0.1 + 1.0, 0.0 + 300 + + + Bomb/Monster/ScorcherTorch + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 2 Seconds + Nature + Monster + + + + + + + Bullet/Monster/Parts/Flamethrower Directions/Flamethrower (E) + + + Bullet/Monster/Parts/Flamethrower (Bounder)(Base) + + Angle + 0.0 + Child + + Bullet/Monster/Parts/Flamethrower Directions/Flamethrower (S) + + Offset + 1.0, 0.0 + Relative + false + + + + + + Bullet/Monster/Parts/Flamethrower Directions/Flamethrower (N) + + + Bullet/Monster/Parts/Flamethrower (Bounder)(Base) + + Angle + 0.0 + Child + + Bullet/Monster/Parts/Flamethrower Directions/Flamethrower (E) + + Offset + 1.0, 0.0 + Relative + false + + + + + + Bullet/Monster/Parts/Flamethrower Directions/Flamethrower (S) + + + Bullet/Monster/Parts/Flamethrower (Bounder)(Base) + + Angle + 0.0 + Child + + Bullet/Monster/Parts/Flamethrower Directions/Flamethrower (W) + + Offset + 1.0, 0.0 + Relative + false + + + + + + Bullet/Monster/Parts/Flamethrower Directions/Flamethrower (W) + + + Bullet/Monster/Parts/Flamethrower (Bounder)(Base) + + Angle + 0.0 + Child + + Bullet/Monster/Parts/Flamethrower Directions/Flamethrower (N) + + Offset + 1.0, 0.0 + Relative + false + + + + + + Bullet/Monster/Parts/Mecha Zombie Beam Trail + + + Color + implementation.sprite.destruction_transient["Transient"]["Color"], implementation.sprite.model["Color"] + + + Damage (Status) + implementation.detonation_action.actions[0].damage.damages[1].status_condition + + + + Signal (Status) + + + Signal + implementation.detonation_action.actions[1].name + + + + + + None + + Signal + status_none + + + + + Fire + + Signal + status_fire + + + + + Shock + + Signal + status_shock + + + + + Freeze + + Signal + status_Freeze + + + + + Poison + + Signal + status_poison + + + + None + + + + + + character/npc/monster/mechazombie/parts/fx_charmark.dat + + Color + 1.0, 1.0, 1.0, 0.5 + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/weapon/bomb_01.ogg + Gain + 1.0 + Pitch adjust + Higher 2 + Range + Long + + + Transform + + + Transient + + particle/explosion/simple.dat + + Chunks + true + Color + 1.0, 1.0, 1.0, 1.0 + Extra FX + false + Ground Scar + true + + + + + + 0 + 0 + 500 + + + + + + + + Monster/Damage/Attack Base +05 + + 4 + ELEMENTAL + + Monster/Split/Split - Full + + + + 4 + + Fire + + Chance + 1.0 + Power + 50 + Status Chance + ULTRA + Status Power + CUSTOM + + + + + + + 2.0, 0.0 + 300 + 2 + + + + + + + + Bullet/Monster/Parts/Superblast Shard Secondary + + + Damage + implementation.handlers[0].action.actions[1].actor["Damage"], implementation.detonation_action.actions[0].actor["Damage"] + + + + + + particle/bullet/bullet_superblast-frag.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/chromalisk_drop.ogg + Gain + 1.0 + Range + Medium + + + + + + + 0.125 + + + + + + + + Bomb/Monster/Superblast Shard + + Damage + + 1.0 + true + + + + + + + + + 0 + 207 + 1.5 + true + 0.01 + 0.25, 0.0 + 1500 + + + + + Bullet/Monster/Parts/Superblast Shard Tirtiary + + Damage + + 1.0 + true + + + + + + + + + + Bullet/Monster/Parts/Superblast Shard Tirtiary + + + Damage + implementation.detonation_action.actions[0].actor["Damage"] + + + + + + particle/bullet/part_superblast-frag_glob.dat + + Warning + false + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/chromalisk_drop.ogg + Gain + 1.0 + Range + Medium + + + + + + + 0.125 + + 0 + 207 + 1.5 + true + 0.01 + 0.25, 0.0 + 750 + + + + + Bomb/Monster/Superblast Shard + + Damage + + 1.0 + true + + + + + + + + + + Bullet/Monster/Rocket Puppy Rocket + + + + Bullet Speed + + + Speed + implementation.speed + + + Fuse + implementation.fuse + + + + + + 1.5 + + Fuse + 9333 + Speed + 1.5 + + + + + 2.0 + + Fuse + 7000 + Speed + 2.0 + + + + + 2.5 + + Fuse + 5600 + Speed + 2.5 + + + + + 3.0 + + Fuse + 4667 + Speed + 3.0 + + + + + 3.5 + + Fuse + 4000 + Speed + 3.5 + + + + + 4.0 + + Fuse + 3500 + Speed + 4.0 + + + + + 4.5 + + Fuse + 3111 + Speed + 4.5 + + + + + 5.0 + + Fuse + 2800 + Speed + 5.0 + + + + 3.5 + + + + + + character/npc/monster/rocketpuppy/parts/compound_rocket.dat + + Variant + Lake + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + true + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/world/block_explosive.ogg + Gain + 1.0 + Pitch adjust + Lower 1 + Range + Medium + + + Transform + + 0.0, 0.0, -0.9 + + Transient + + particle/explosive_block.dat + + Block + false + + + + + true + + + + + + 0.2 + + + 0.5, 0.0 + + + + + 1024 + 133 + 3.5 + true + 0.9 + 0.15, 0.0 + 4000 + + + + + + Monster/Damage/Attack Base +05 + + 5 + true + ELEMENTAL + + Monster/Split/Split - Half + + + + 5 + + Fire + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Bullet/Monster/Rocket Puppy Rocket (Seaking) + + + Status Attack + implementation.handlers[2].action.actions[0].damage.damages[1].status_condition + + + Turn Rate + implementation.turn_rate + + + Impulse Speed + implementation.handlers[3].action.impulse_dealt + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + character/npc/monster/rocketpuppy/parts/compound_rocket.dat + + Variant + Red + + + + 0.0, 0.0, 0.9 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/world/block_explosive.ogg + Gain + 1.0 + Pitch adjust + Lower 2 + Range + Medium + + + Transform + + + Transient + + particle/explosive_block.dat + + Block + false + + + + + + + + + + 0.2 + + + 0.35, 0.0 + + + + + + + + + + + + + + + + + + Monster/Damage/Attack Base +05 + + 5 + true + ELEMENTAL + + Monster/Split/Split - Half + + + + 5 + + + + + 2.0, 0.0 + 100 + 2 + + + + + + + + -1.0, 0.0 + + 3.0, 0.0 + 2000 + + + + + + + Monster Attacks/Targetted + + Faction + Monster + + + + + + 3 + + + 1024 + 645 + 0.0 + true + 5.2359877 + 80 + + Monster/Health/Health Base -15 + + 0 + 0 + 0 + 0.0 + true + + + + Character/NPC/Monster/Construct/Rocket + + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + + + + + + Bullet/Monster/Rocket Puppy Rocket (mkii) + + + Status Attack + implementation.detonation_action.actions[0].damage.damages[1].status_condition, implementation.handlers[0].action.actions[1].actor["Status Attack"] + + + Turn Rate + implementation.handlers[0].action.actions[1].actor["Turn Rate"] + + + Impulse Speed + implementation.handlers[0].action.actions[1].actor["Impulse Speed"] + + + + + + character/npc/monster/rocketpuppy/parts/compound_rocket.dat + + Variant + Red + + + true + + + + + + 0.2 + + + 0.5, 0.0 + + + + + + + + + + + Bullet/Monster/Rocket Puppy Rocket (Seaking) + + Impulse Speed + + 3.0, 0.0 + 2000 + + Status Attack + + Turn Rate + 5.2359877 + + + + + + + + 1024 + 133 + 5.0 + true + 0.9 + 0.15, 0.0 + 4000 + + + + + + + 5 + true + ELEMENTAL + + Monster/Split/Split - Half + + + + 5 + + Fire + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + 1.0, 0.0 + 200 + + + + + Basic + + Lifespan + 2000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/world/block_explosive.ogg + Gain + 1.0 + Pitch adjust + Lower 2 + Range + Medium + + + Transform + + + Transient + + particle/explosive_block.dat + + Block + false + + + + + + + + + + + + + Bullet/Monster/Scuttlebot Bullet + + + + Element + + + Model + implementation.sprite.model + + + Hit Model + implementation.detonation_action.fire_action["Hit Model"] + + + + + + None + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + + Hit Model + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Small + color + yellow + + + Hit Sound + sound/effect/weapon/gran_faust_chit.ogg + Model + + particle/bullet/bullet_scuttlebot.dat + + color + yellow + + + + + + + Fire + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Fire + + Chance + 0.0 + Power + 0 + + + + + + Hit Model + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Negative + Scale + Small + color + yellow + + + Hit Sound + sound/effect/weapon/gran_faust_chit.ogg + Model + + particle/bullet/bullet_scuttlebot.dat + + color + yellow + + + + + + + Freeze + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + + Hit Model + + particle/bullet/hit_shard.dat + + Color + Frost + + + Hit Sound + sound/effect/weapon/cryotech_bolt_dissipate.ogg + Model + + particle/bullet/bullet_scuttlebot.dat + + color + frost + + + + + + + Shock + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + + Hit Model + + particle/bullet/hit_pellet.dat + + Element + Electric + Flare + Negative + Scale + Small + color + cyan + + + Hit Sound + sound/effect/weapon/voltech_bolt_dissipate.ogg + Model + + particle/bullet/bullet_scuttlebot.dat + + color + cyan + + + + + + + Poison + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + + Hit Model + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Small + color + green + + + Hit Sound + sound/effect/status/status_poison.ogg + Model + + particle/bullet/bullet_scuttlebot.dat + + color + green + + + + + + None + + + + Status + + + Status + implementation.detonation_action.fire_action["Status"] + + + + + + None + + Status + + + + + + Fire + + Status + + Fire + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Fire 2 + + Status + + Fire 2 + + Chance + 0.5 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Fire 3 + + Status + + Fire 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Freeze + + Status + + Freeze + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Freeze 2 + + Status + + Freeze 2 + + Chance + 0.5 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Freeze 3 + + Status + + Freeze 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Shock + + Status + + Shock + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Shock 2 + + Status + + Shock 2 + + Chance + 0.5 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Shock 3 + + Status + + Shock 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Poison + + Status + + Poison + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Poison 2 + + Status + + Poison 2 + + Chance + 0.5 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Poison 3 + + Status + + Poison 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + None + + + + + + particle/bullet/bullet_scuttlebot.dat + + color + yellow + + + + + 0.2 + + + + + + 0 + 133 + 4.0 + true + 0.6 + 0.4, 0.0 + 400 + + + Character/NPC/Monster/Construct/Scuttlebot/Scuttlebot Bullet Damage (base) + + Hit Model + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Medium + color + yellow + + + Hit Sound + sound/effect/weapon/gran_faust_chit.ogg + Status + + + + + + + + Bullet/Monster/Spookat/Fire Hairball + + + Status Condition + implementation.detonation_action.damage.damages[1].status_condition + + + + Bullet Speed + + + Speed + implementation.speed + + + Fuse + implementation.fuse + + + + + + 1.0 + + Fuse + 12500 + Speed + 1.0 + + + + + 1.5 + + Fuse + 8333 + Speed + 1.5 + + + + + 2.0 + + Fuse + 6250 + Speed + 2.0 + + + + + 2.5 + + Fuse + 5000 + Speed + 2.5 + + + + + 3.0 + + Fuse + 4167 + Speed + 3.0 + + + + + 3.5 + + Fuse + 3571 + Speed + 3.5 + + + + + 4.0 + + Fuse + 3125 + Speed + 4.0 + + + + + 4.5 + + Fuse + 2778 + Speed + 4.5 + + + + + 5.0 + + Fuse + 2500 + Speed + 5.0 + + + + 2.5 + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Fire + Flare + true + color + yellow + + + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Negative + Scale + Medium + color + yellow + + + + + 0.1 + + 0 + 133 + 2.5 + true + 1.0 + 0.7, 0.0 + 5000 + + + + + + Monster/Damage/Attack Base -05 + + 4 + SHADOW + + Monster/Split/Split - Full + + + + 4 + + Fire + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Bullet/Monster/Spookat/Freeze Hairball + + + Status Condition + implementation.detonation_action.damage.damages[1].status_condition + + + + Bullet Speed + + + Speed + implementation.speed + + + Fuse + implementation.fuse + + + + + + 1.0 + + Fuse + 12500 + Speed + 1.0 + + + + + 1.5 + + Fuse + 8333 + Speed + 1.5 + + + + + 2.0 + + Fuse + 6250 + Speed + 2.0 + + + + + 2.5 + + Fuse + 5000 + Speed + 2.5 + + + + + 3.0 + + Fuse + 4167 + Speed + 3.0 + + + + + 3.5 + + Fuse + 3571 + Speed + 3.5 + + + + + 4.0 + + Fuse + 3125 + Speed + 4.0 + + + + + 4.5 + + Fuse + 2778 + Speed + 4.5 + + + + + 5.0 + + Fuse + 2500 + Speed + 5.0 + + + + 2.5 + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Frost + Flare + true + color + frost + + + + particle/bullet/hit_shard.dat + + Color + Frost + + + + + 0.1 + + 0 + 133 + 2.5 + true + 1.0 + 0.7, 0.0 + 5000 + + + + + + Monster/Damage/Attack Base -05 + + 4 + SHADOW + + Monster/Split/Split - Full + + + + 4 + + Freeze + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Bullet/Monster/Spookat/Hairball + + + + Bullet Speed + + + Speed + implementation.speed + + + Fuse + implementation.fuse + + + + + + 1.0 + + Fuse + 12500 + Speed + 1.0 + + + + + 1.5 + + Fuse + 8333 + Speed + 1.5 + + + + + 2.0 + + Fuse + 6250 + Speed + 2.0 + + + + + 2.5 + + Fuse + 5000 + Speed + 2.5 + + + + + 3.0 + + Fuse + 4167 + Speed + 3.0 + + + + + 3.5 + + Fuse + 3571 + Speed + 3.5 + + + + + 4.0 + + Fuse + 3125 + Speed + 4.0 + + + + + 4.5 + + Fuse + 2778 + Speed + 4.5 + + + + + 5.0 + + Fuse + 2500 + Speed + 5.0 + + + + 2.5 + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Simple + Flare + true + color + purple + + + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Medium + color + purple + + + + + 0.1 + + 0 + 133 + 2.5 + true + 1.0 + 0.7, 0.0 + 5000 + + + + + + Monster/Damage/Attack Base -05 + + 4 + SHADOW + + Monster/Split/Split - Full + + + + + + + + + Bullet/Monster/Spookat/Poison Hairball + + + Status Condition + implementation.detonation_action.damage.damages[1].status_condition + + + + Bullet Speed + + + Speed + implementation.speed + + + Fuse + implementation.fuse + + + + + + 1.0 + + Fuse + 12500 + Speed + 1.0 + + + + + 1.5 + + Fuse + 8333 + Speed + 1.5 + + + + + 2.0 + + Fuse + 6250 + Speed + 2.0 + + + + + 2.5 + + Fuse + 5000 + Speed + 2.5 + + + + + 3.0 + + Fuse + 4167 + Speed + 3.0 + + + + + 3.5 + + Fuse + 3571 + Speed + 3.5 + + + + + 4.0 + + Fuse + 3125 + Speed + 4.0 + + + + + 4.5 + + Fuse + 2778 + Speed + 4.5 + + + + + 5.0 + + Fuse + 2500 + Speed + 5.0 + + + + 2.5 + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Simple + Flare + true + color + green + + + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Medium + color + green + + + + + 0.1 + + 0 + 133 + 2.5 + true + 1.0 + 0.7, 0.0 + 5000 + + + + + + Monster/Damage/Attack Base -05 + + 4 + SHADOW + + Monster/Split/Split - Full + + + + 4 + + Poison + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Bullet/Monster/Spookat/Shock Hairball + + + Status Condition + implementation.detonation_action.damage.damages[1].status_condition + + + + Bullet Speed + + + Speed + implementation.speed + + + Fuse + implementation.fuse + + + + + + 1.0 + + Fuse + 12500 + Speed + 1.0 + + + + + 1.5 + + Fuse + 8333 + Speed + 1.5 + + + + + 2.0 + + Fuse + 6250 + Speed + 2.0 + + + + + 2.5 + + Fuse + 5000 + Speed + 2.5 + + + + + 3.0 + + Fuse + 4167 + Speed + 3.0 + + + + + 3.5 + + Fuse + 3571 + Speed + 3.5 + + + + + 4.0 + + Fuse + 3125 + Speed + 4.0 + + + + + 4.5 + + Fuse + 2778 + Speed + 4.5 + + + + + 5.0 + + Fuse + 2500 + Speed + 5.0 + + + + 2.5 + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + Element + Electric + Flare + true + color + cyan + + + + particle/bullet/hit_pellet.dat + + Element + Electric + Flare + Negative + Scale + Medium + color + cyan + + + + + 0.1 + + 0 + 133 + 2.5 + true + 1.0 + 0.7, 0.0 + 5000 + + + + + + Monster/Damage/Attack Base -05 + + 4 + SHADOW + + Monster/Split/Split - Full + + + + 4 + + Shock + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Bullet/Monster/Superblast Shard + + + Damage + implementation.handlers[0].action.actions[1].actor["Damage"], implementation.detonation_action.actions[0].actor["Damage"] + + + + + + particle/bullet/bullet_superblast-frag.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/chromalisk_drop.ogg + Gain + 1.0 + Range + Medium + + + + + + + 0.125 + + + + + + + + Bomb/Monster/Superblast Shard + + Damage + + 1.0 + true + + + + + + + + + 0 + 207 + 1.5 + true + 0.01 + 0.25, 0.0 + 4000 + + + + + Bullet/Monster/Parts/Superblast Shard Secondary + + Damage + + 1.0 + true + + + + + + + + + + Bullet/Monster/Vog Fireball + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.5 + Core Min + 0.4 + Element + Fire + Flare + true + color + yellow + + + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Negative + Scale + Large + color + yellow + + + + + 0.1 + + + + + + 0 + 133 + 2.5 + true + 0.6 + 1.2, 0.0 + 6000 + + + + + 80.0 + 4 + + + 4 + + Fire + + Chance + 0.5 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + -2.0, 0.0 + 200 + 2 + + + + + + Bullet/Shard bomb projectile + + + Model + implementation.sprite.model + + + Destruction Transient + implementation.sprite.destruction_transient + + + Blast Radius + implementation.detonation_action.region.shape.radius + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/bullet_shard.dat + + Color + Base (aqua) + Dust + False + + + + particle/bullet/hit_shard.dat + + Color + Base (aqua) + + + + + 0.65 + 0.25 + + 512 + 137 + 12.0 + true + 0.5 + 1.0, 0.0 + 800 + + + + + + + 60.0 + 2 + + true + + + + + Bullet/Sword/Avenger + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Sword/Parts/Sword Bolt + + Creation + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + ivory + + + Damage + + + + 30.0 + 2 + + + 30.0 + 2 + + + + Destruction + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/gran_faust_chit.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/bullet/magnus/hit_charged.dat + + Spark Count + 6 + Variant + Hot + + + + + Knock-Back + + 3.0, 0.0 + 200 + 3 + + Model + + item/weapon/sword/avenger/parts/bullet_avenger.dat + + Variant + Avenger + + + Shape + + 1.8 + + Transform + + 0.95 + + + + + + + Bullet/Sword/Burst Bullet + + + Color + implementation.handlers[1].action.action.actions[1].actor["Color"] + + + Damage + implementation.handlers[1].action.action.actions[1].actor["Damage"] + + + Burst Count + implementation.handlers[2].action.value.value + + + Fuse + implementation.fuse + + + Burst Scale + implementation.handlers[1].action.action.actions[1].actor["Scale"] + + + Extra FX + implementation.handlers[1].action.action.actions[1].actor["Extra FX"] + + + Ground Scar + implementation.handlers[1].action.action.actions[1].actor["Ground Scar"] + + + + + true + + + 0.1 + + + + + + + + + + + + + Bullet/Sword/Parts/Burst Trail + + Color + 1.0, 1.0, 1.0, 1.0 + Damage + + + + + Monster/Damage/Attack Base +05 + + 2 + true + ELEMENTAL + + Monster/Split/Split - Full + + + + 2 + + Fire + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Extra FX + false + Ground Scar + true + + + + + + + + + + + 512 + 131 + 12.0 + true + 0.01 + 0.3, 0.0 + 2000 + + + + Bullet/Sword/Gran Faust + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Sword/Parts/Sword Bolt + + Creation + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + purple + + + Damage + + + + 35.0 + 2 + + + 35.0 + 2 + + + + Destruction + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/gran_faust_chit.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/bullet/magnus/hit_charged.dat + + Spark Count + 6 + Variant + Lost + + + + + Knock-Back + + 2.0, 0.0 + 150 + 3 + + Model + + item/weapon/sword/avenger/parts/bullet_avenger.dat + + Variant + Gran Faust + + + Shape + + 1.8 + + Transform + + + + + + + + Bullet/Sword/Gran Faust (Charged) + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Sword/Parts/Sword Bolt + + Creation + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Medium + color + purple + + + Damage + + + + 40.0 + 2 + + + 40.0 + 2 + + + + Destruction + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/gran_faust_chit.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/bullet/magnus/hit_charged.dat + + Spark Count + 6 + Variant + Lost + + + + + Knock-Back + + 4.0, 0.0 + 200 + 4 + + Model + + item/weapon/sword/avenger/parts/bullet_avenger.dat + + Variant + Gran Faust + + + Shape + + 2.7 + 1.5 + + Transform + + 1.5 + + + + + + + Bullet/Sword/Parts/Burst Trail + + + Color + implementation.sprite.destruction_transient["Transient"]["Color"], implementation.sprite.model["Color"] + + + Damage + implementation.detonation_action.damage + + + Extra FX + implementation.sprite.destruction_transient["Transient"]["Extra FX"] + + + Ground Scar + implementation.sprite.destruction_transient["Transient"]["Ground Scar"] + + + + + + character/npc/monster/mechazombie/parts/fx_charmark.dat + + Color + 1.0, 1.0, 1.0, 0.5 + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/weapon/bomb_01.ogg + Gain + 1.0 + Pitch adjust + Higher 2 + Range + Long + + + Transform + + 1.3 + + Transient + + particle/explosion/simple.dat + + Chunks + true + Color + 1.0, 1.0, 1.0, 1.0 + Extra FX + false + Ground Scar + true + + + + + + 0 + 0 + 1 + + + + + + Monster/Damage/Attack Base +05 + + 2 + true + ELEMENTAL + + Monster/Split/Split - Full + + + + 2 + + Fire + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + 2.0, 0.0 + 300 + 2 + + -10.0, 0.0 + + + + + Bullet/Sword/Parts/Sword Bolt + + + Damage + implementation.detonation_action.damage, implementation.handlers[0].action.damage + + + Knock-Back + implementation.detonation_action.impulse_dealt, implementation.handlers[0].action.impulse_dealt + + + Shape + implementation.detonation_action.region.shape.shapes[0].shape, implementation.handlers[0].action.region.shape.shapes[0].shape, implementation.shape.shapes[0].shape + + + Model + implementation.sprite.model["Models"][0].model + + + Transform + implementation.sprite.model["Models"][0].transform + + + Creation + implementation.sprite.creation_transient + + + Destruction + implementation.sprite.destruction_transient + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + item/weapon/sword/avenger/parts/bullet_avenger.dat + + Variant + Gran Faust + + + + + + + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + purple + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/gran_faust_chit.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/bullet/magnus/hit_charged.dat + + Spark Count + 6 + Variant + Lost + + + + + + + + + + 1.8 + + + 0.15, 0.0 + + + + + + + + + + + + + + + + + + + 30.0 + 2 + + + + + 1.0, 0.0 + 150 + 3 + + -10.0, 0.0 + + + + 512 + 129 + 10.0 + true + 0.75 + 1.0, 0.0 + 600 + + + + + + + + + + + + + 30.0 + 2 + + + + + 2.0, 0.0 + 150 + 3 + + + + + + Bullet/Sword/Parts/Sword Bolt (Marker) + + + Actor + implementation.detonation_action.actor + + + + Variant + + + Model + implementation.sprite.model["Models"][0].model + + + Transform + implementation.sprite.model["Models"][0].transform + + + Creation + implementation.sprite.creation_transient["Transient"] + + + + + + Avenger + + Creation + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + ivory + + + Model + + item/weapon/sword/avenger/parts/bullet_avenger.dat + + Variant + Avenger + + + Transform + + 0.0, -1.0, 0.75 + + + + + + Gran Faust + + Creation + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + purple + + + Model + + item/weapon/sword/avenger/parts/bullet_avenger.dat + + Variant + Gran Faust + + + Transform + + 0.0, -1.0, 0.75 + + + + + + Gran Faust (Charged) + + Creation + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Medium + color + purple + + + Model + + item/weapon/sword/avenger/parts/bullet_avenger.dat + + Variant + Gran Faust + + + Transform + + 1.5 + 0.0, -1.0, 0.75 + + + + + Avenger + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + item/weapon/sword/avenger/parts/bullet_avenger.dat + + Variant + Avenger + + + + 0.0, -1.0, 0.75 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + + Gain + 1.0 + Range + Medium + + + Transform + + 0.0, -1.0, 0.75 + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + ivory + + + + + + 0 + 0 + 750 + + + Bullet/Sword/Avenger + + Damage + + + + 30.0 + 2 + + + 30.0 + 2 + + + + + + + + + + Bullet/Sword/Spur (Charged) + + + Damage + implementation.handlers[0].action.damage, implementation.detonation_action.damage + + + + + + particle/bullet/bullet_spur_charged.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/spur_charge_bullet_fire.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/spur_charge_bullet_hit.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/bullet/hit_spur.dat + + Color + Lime + Scale + Large + + + + + + + 0.45 + + + + + + 50.0 + 2 + + + 1.0, 0.0 + 200 + 3 + + + + + 512 + 129 + 10.0 + true + 0.75 + 0.5, 0.0 + 500 + + + 50.0 + 2 + + + 2.0, 0.0 + 200 + 3 + + + + + + Bullet/Sword/Sword (HuntingWolver) + + + + Side + + + Offset + implementation.offset + + + Rotate + implementation.detonation_action.rotation + + + + + + Left + + Offset + -0.75, 1.0 + Rotate + 0.34906584 + + + + + Right + + Offset + -0.75, -1.0 + Rotate + -0.34906584 + + + + + + + + + 513 + 0.01 + -0.75, 1.0 + 1 + + + Character/Weapon/Hunting Wolver + + + + + + Bullet/Sword/Winmillion + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.15 + Bullet Shape + + 0.1 + + Collision Mask + 137 + Creation Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/spur_bullet_fire.ogg + Gain + 1.0 + Range + Short + + + Transform + + + Transient + + + + Damage + + 110.0 + 2 + + Destruction Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/spur_bullet_hit.ogg + Gain + 1.0 + Range + Short + + + Transform + + + Transient + + particle/bullet/hit_spur.dat + + Color + Blue + Scale + Small + + + + + Fuse + 270 + Height + 0.75 + Knock-Back + + Model + + particle/bullet/bullet_spur.dat + + Color + Blue + Size + Small + + + Offset + 0.5, 0.0 + Speed + 15.0 + + + + + + Bullet/Sword/Winmillion (Large) + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.35 + Bullet Shape + + 0.2 + + Collision Mask + 137 + Creation Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/spur_bullet_fire.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + + + Damage + + 110.0 + 2 + + Destruction Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/spur_bullet_hit.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/bullet/hit_spur.dat + + Color + Blue + Scale + Large + + + + + Fuse + 380 + Height + 0.75 + Knock-Back + + 0.5, 0.0 + 100 + 2 + + Model + + particle/bullet/bullet_spur.dat + + Color + Blue + Size + Large + + + Offset + 0.5, 0.0 + Speed + 10.9 + + + + + + Bullet/Sword/Winmillion (Med) + + + Damage + implementation.actor["Damage"] + + + + + Bullet/Base + + Blast Radius + 0.3 + Bullet Shape + + 0.15 + + Collision Mask + 137 + Creation Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/spur_bullet_fire.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + + + Damage + + 170.0 + 2 + + Destruction Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/weapon/spur_bullet_hit.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/bullet/hit_spur.dat + + Color + Blue + Scale + Medium + + + + + Fuse + 300 + Height + 0.75 + Knock-Back + + 1.5, 0.0 + 150 + 2 + + Model + + particle/bullet/bullet_spur.dat + + Color + Blue + Size + Medium + + + Offset + 0.5, 0.0 + Speed + 12.0 + + + + + + Bullet/Sword/Wrench Wand Bolt + + + Damage + implementation.detonation_action.damage + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/get_hit.png + Core Max + 0.6 + Core Min + 0.4 + Element + Simple + Flare + true + color + yellow + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + + Gain + 0.75 + Pitch + 1.3 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/tortodrone_missile1.ogg + Gain + 0.6 + Pitch + 1.8 + Range + Short + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Medium + color + yellow + + + + + + + 0.25 + + 512 + 169 + 10.0 + true + 0.8 + 1.5, -0.5 + 750 + + + 1.0 + 2 + + + 3.0, 0.0 + 500 + 3 + + 0.0, -10.0 + + + + + Character/Dev/Bad Dude + + + Tags + implementation.tags.derived + + + + + + character/npc/monster/gremlin/thwacker/model.dat + + Shield + + Weapon + + item/weapon/npc/wrench_hammer/model.dat + + variant + pink + + + 1.075 + + + + character/npc/monster/gremlin/animation/standing.dat + + + + + + 6.0 + + character/npc/monster/gremlin/animation/walking.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/monster_damage.ogg + Gain + 5.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/gremlin/animation/standing.dat + + + + + + 6.0 + + character/npc/monster/gremlin/animation/walking.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.333 + + + + + + Treasure/Monster/Gremlin/Thwacker/Thwacker Loot + + + + + 4 + 79 + 3.5 + 8.726646 + 250 + 7 + 0.3 + 2 + 1300 + 1100 + 5.0 + + + + Character/Dev/Bad Dude + + + + + + + + + 20 + + + + + + + Character/Dev/Dummy Knight + + + + character/pc/model.dat + + Armor + + item/gear/armor/doublebelt/model.dat + + Colorization + 257 + Variant + grey + + + Helmet + + item/gear/helm/pith/model.dat + + Colorization + 257 + Variant + grey + + + Label + + Material + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + defender + + + Shield Away + True + Weapon + + + + + particle/monster_death.dat + + Color + White + + + + + 0.333333 + + 4 + 43 + true + 9999 + 9999 + 1 + 13 + + + PC/Defense/Armor/Armor Base +10 + + + + + + Character/Dev/Jelly Cube + + + Tags + implementation.tags.derived + + + + + + character/npc/monster/jellycube/model.dat + + Trail + + variant + pink + + + + character/npc/monster/jellycube/fx_death.dat + + Color + pink + Core + true + Transform + + 0.8 + + + + 0.8 + 0.75 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/jellycube/walking.dat + + Sound - Pitch + Default + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/monster_damage.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/jellycube/walking.dat + + Sound - Pitch + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.4 + + 8 + 79 + 2.0 + 3.4906585 + 115 + 0.25 + 100 + 1100 + 2.5 + + + + Character/Dev/Jelly Cube Heal + + + + + Character/Dev/Jelly Cube Teleport + + + + + Character/Dev/Jelly Cube + + + + + + + 100 + + + 1 + 100 + + + 30 + -25 + + + + + + + Character/Dev/Nuke-Pave + + 0 + 0 + 10 + + + + + + + + + + Character/Dev/Punching Bag + + + Defense + implementation.defense + + + + + + character/npc/monster/jellycube/model.dat + + Trail + + variant + pink + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 1 + + + Transform + + 0.8 + + Transient + + character/npc/monster/jellycube/fx_death.dat + + Color + pink + Core + true + Transform + + + + + + + 0.8 + 0.75 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 2.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Default + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Higher 1 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 2.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.4 + + + + + 99999 + + + + 8 + 79 + 1.5 + 174.51547 + 99999 + + Monster/Health/Health Base +40 + + 0.25 + 10 + 100 + 1100 + 2.5 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + + + + Character/Dev/Royal Jelly (Cory sound test) + + + Wave Tag + implementation.tags.tags[3] + + + + + + character/npc/monster/royaljelly/model.dat + + Variant + Purple + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, large + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, boss + + Transform + + 2.0 + + Transient + + + + 3.0 + 2.8 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 0.5 + + + + + + + 1.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Lower 2 + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Lower 2 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 0.5 + + + + + + + 1.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + 3.0 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 1.5 + + + + + + Treasure/Monster/Slime/Royal Jelly Loot + + + + + 8 + 79 + 0.5 + 5.2359877 + 40 + 40 + 2 + 0.2 + true + 7 + 5500 + 1100 + 1.0 + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + true + + + 2 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Large + Impulse + Forward + Sound - Pitch adjust + Lower 3 + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Character/NPC/Monster/Boss/Royal Jelly/Parts/MiniProjectile + + Max Minions + 35 + Range + Long + + + Bullet 2 + + Color + 0.6, 0.0, 0.6, 1.0 + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 2 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Flare Color + Normal + Radius + 3.0 + Radius Graphic + + 2.0 + + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Character/NPC/Monster/Boss/Royal Jelly/Parts/MinionProjectile + + Range + Medium + + + Bullet 2 + + Color + 0.4, 0.0, 0.4, 1.0 + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 2 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Flare Color + Normal + Radius + 3.0 + Radius Graphic + + 2.0 + + + + + + + + + + Monster/Defense/Defense Base +05 + + + Monster/Defense/Defense Base +10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + + 1 + 100 + + + 2 + -15 + + + + + + + + + Character/Dev/Scardy Cube + + + Tags + implementation.tags.derived + + + + + + character/npc/monster/jellycube/model.dat + + Trail + + variant + pink + + + + character/npc/monster/jellycube/fx_death.dat + + Color + pink + Core + true + Transform + + 0.8 + + + + 0.8 + 0.75 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/jellycube/walking.dat + + Sound - Pitch + Default + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/monster_damage.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/jellycube/walking.dat + + Sound - Pitch + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.4 + + 8 + 79 + 2.0 + 3.4906585 + 115 + 0.25 + 100 + 1100 + 2.5 + + + + Character/Dev/Jelly Cube Heal + + + + + Character/Dev/Jelly Cube Teleport + + + + + Character/Dev/Jelly Cube + + + + + + + 100 + + + 1 + 100 + + + 30 + -25 + + + + + + + Character/Dev/Shooter + + + Bullet + implementation.handlers[0].action.actor + + + Interval + implementation.handlers[0].interval + + + Tags + implementation.tags.tags[0] + + + HP + implementation.health + + + + + + character/npc/monster/gunpuppy/model.dat + + variant + gold + + + + + 0.49 + + + + + + Bullet/Handgun/Blaster + + Damage + + + + 25.0 + 2 + + + + + + + + + 0 + 0 + 25 + + + + Character/Dev/Talkative Stranger (test) + + + Hat + implementation.sprite.model["Hat"] + + + Pack + implementation.sprite.model["Pack"] + + + + + + character/npc/stranger/model.dat + + Colors + Yellow-Purple + Hat + + character/npc/stranger/hat_mining/model.dat + + Variant + Brown + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Variant + Green + + + Robes + hexagons + Snipes + Both Shoulders (01) + + + + + + character/npc/stranger/standing_idle.dat + + + + 0.5 + + character/npc/stranger/standing_idle2.dat + + + + 0.1 + + character/npc/stranger/standing_idle3.dat + + + + + + 6.0 + + character/npc/stranger/walking.dat + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/Dev/TestDuke + + + Tags + implementation.tags.derived + + + + + + character/npc/monster/baron/model.dat + + Sheen + Stage1 + Variant + Masked + + + 2.75 + 1.4 + + + + character/npc/monster/baron/animations/animation_idle.dat + + + + + + 1.0 + + character/npc/monster/baron/animations/animation_walk.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Trojan + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/baron/animations/animation_idle.dat + + + + + + 1.0 + + character/npc/monster/baron/animations/animation_walk.dat + + + + + character/npc/monster/baron/animations/animation_spawn.dat + + + + 0.8 + + + + + + Treasure/Monster/Fiend/Vanaduke + + + + + 8 + 79 + 2.0 + 1.7453293 + + Monster/Slime/Cube (Basic Targeting) + + 600 + 2 + 0.15 + 7 + 433 + 3000 + 3767 + 2.0 + + + + Character/NPC/Monster/Fiend/Trojan/Trojan + + + + + + + + + 63 + + + + + + + Character/Dev/playermarker + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + editor/marker/pointers/pointer01.dat + + Color + 0.0, 0.6, 0.8, 1.0 + + + + 0.3 + 0.0, 0.0, -0.25 + + + + + + + 0 + 0 + 100 + 7 + + + + Character/NPC/Core Terminal/Technician + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Hood + Pack + None + Weapon Equip + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + + character/pc/emotes/animation_salute.dat + + + Core Terminal/Technician + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Core Terminal/Vaelyn + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Guardian + Gear + Aegis-Leviathon + Helmet + Pig Nose + Pack + None + Weapon Equip + + + + 1.15 + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + + character/pc/emotes/animation_salute.dat + + + Core Terminal/Vaelyn + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Emberlight/Greeter + + + + character/pc/model.dat + + Armor + + character/npc/monster/gremlin/null/model_static.dat + + Variant + Null + + + Helmet + + Label + + Material + + Shield + + Shield Away + + Weapon + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + + Emberlight/Greeter + + + + + Sound Effect + + Sound + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/monster/gremlin/gremlin_chat_extra_02b.ogg + Gain + 1.0 + Pitch adjust + Lower 1 + Range + Medium + + + + + + + + + + 8 + 15 + 0.66 + + + + Character/NPC/Emberlight/Gremlin (Wander) + + + Speed + implementation.speed + + + Variant + implementation.sprite.model["Armor"]["Variant"] + + + + + + character/pc/model.dat + + Armor + + character/npc/monster/gremlin/null/model_static.dat + + Variant + grey + + + Helmet + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Gremlin + + Pitch shift + Default + + + Transform + + + Transient + + + + Label + + Material + + Shield + + Shield Away + + Weapon + + + + + + + character/pc/idle.dat + + + + 0.1 + + character/pc/emotes/animation_shrug.dat + + + + 0.05 + + character/pc/emotes/animation_laugh.dat + + Sound + + + + + + 0.075 + + character/pc/emotes/animation_wave.dat + + + + 0.1 + + character/pc/emotes/animation_talk.dat + + + + + + 1.0 + + character/pc/walk_forward.dat + + + + 6.0 + + character/pc/run_forward.dat + + Variant + Default + + + + + + + 0.45 + + 4 + 15 + 1.5 + 17.453293 + + + + Character/NPC/Firestorm Citadel/Bridge End + + + Character/NPC/Firestorm Citadel/Lost Soul, Base + + Conversation + + Firestorm Citadel/Bridge End + + Name + + + + + + + Character/NPC/Firestorm Citadel/Greeter + + + Character/NPC/Firestorm Citadel/Lost Soul, Base + + Conversation + + Firestorm Citadel/Greeter + + Name + + + + + + + Character/NPC/Firestorm Citadel/Lost Soul, Base + + + Name + implementation.handlers[0].action.actions[0].name + + + Conversation + implementation.handlers[0].action.actions[0].conversation + + + + + + character/npc/monster/reaper/model.dat + + variant + grey + + + + + + character/npc/monster/spookat/standing.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking.dat + + + + + + 0.5 + + + + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Firestorm Citadel/Sprite 1 + + + Name + implementation.handlers[0].action.actions[0].name + + + Conversation + implementation.handlers[0].action.actions[0].conversation + + + Variation + implementation.sprite.model["Variant"] + + + + + + character/npc/sprite/model.dat + + Variant + Blue + + + 1.3 + + + + character/npc/monster/devilite/animation/v2/animation_idle1.dat + + + + + + 6.0 + + character/npc/monster/devilite/animation/v2/animation_walking.dat + + + + talkto_sprite_mem + true + + + 0.6 + + + + + + + + Firestorm Citadel/Sprite 1 + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Firestorm Citadel/Sprite, Base + + + Name + implementation.handlers[0].action.actions[0].name + + + Conversation + implementation.handlers[0].action.actions[0].conversation + + + Variation + implementation.sprite.model["Variant"] + + + + + + character/npc/sprite/model.dat + + Variant + Blue + + + + + + character/npc/monster/devilite/animation/v2/animation_idle1.dat + + + + + + 6.0 + + character/npc/monster/devilite/animation/v2/animation_walking.dat + + + + + + 0.5 + + + + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Haven/Knight/Arcade Info + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Hood + Pack + None + Weapon Equip + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + + character/pc/emotes/animation_salute.dat + + + Haven/Knight/Arcade Info + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Haven/Knight/Arcade Info 2 + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Hood + Pack + None + Weapon Equip + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + + character/pc/emotes/animation_salute.dat + + + Haven/Knight/Arcade Info 2 + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Haven/Knight/Arcade Leader + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Guardian + Gear + Defender-Calibur + Helmet + Pig Nose + Pack + None + Weapon Equip + + + + 1.15 + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + talkto_feron + true + + + 0.6 + + + + + + + + character/pc/emotes/animation_salute.dat + + + Haven/Knight/Arcade Leader + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Haven/Knight/Energy Info + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Pith + Pack + None + Weapon Equip + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + + character/pc/emotes/animation_salute.dat + + + Haven/Knight/Energy Info + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Haven/Knight/Fountain + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Pig Nose + Pack + None + Weapon Equip + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + + character/pc/emotes/animation_point.dat + + + Haven/Knight/Fountain + + + + + + + + + 8 + 15 + 0.66 + + + + Character/NPC/Haven/Knight/Guard + + + + character/npc/crew/model_gatekeeper.dat + + 1.15 + + + + character/pc/animation_overshoulder.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Haven/Knight/Mecha Knight + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Hood + Pack + None + Weapon Equip + + + + + + + character/pc/use_inventory_loop.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + + Haven/Knight/Mecha Knight + + + + + + + + + 8 + 15 + 0.66 + + + + Character/NPC/Haven/Knight/Mineral Info + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Hood + Pack + None + Weapon Equip + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + done_wegner + + + 0.6 + + + + + + + + character/pc/emotes/animation_salute.dat + + + Haven/Knight/Mineral Info + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Haven/Knight/Travel + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Pig Nose + Pack + None + Weapon Equip + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + + character/pc/emotes/animation_shrug.dat + + + Travel/Haven + + + + + + + + + 8 + 15 + 0.66 + + + + Character/NPC/Haven/Stranger/Clockworks + + + + character/npc/stranger/model.dat + + Colors + Blue-Brown + Hat + + character/npc/stranger/floppyhat/model.dat + + Variant + Tan + + + Pack + + Robes + hexagons + Snipes + Both Shoulders (01) + + + 1.2 + + + + character/npc/stranger/standing_idle.dat + + + + 0.5 + + character/npc/stranger/standing_idle2.dat + + + + 0.1 + + character/npc/stranger/standing_idle3.dat + + + + + + 6.0 + + character/npc/stranger/walking.dat + + + + + + + + + + + + + Haven/Strangers/Clockworks + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Haven/Stranger/Free Cash + + + + character/npc/stranger/model.dat + + Colors + Yellow-Purple + Hat + + character/npc/stranger/mask/model.dat + + Variant + Brown + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Variant + Green + + + Robes + hexagons + Snipes + Pack (02) + + + 1.2 + + + + character/npc/stranger/standing_idle.dat + + + + 0.5 + + character/npc/stranger/standing_idle2.dat + + + + 0.1 + + character/npc/stranger/standing_idle3.dat + + + + + + 6.0 + + character/npc/stranger/walking.dat + + + + + + + + + + + + + Haven/Strangers/Free Cash + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Haven/Stranger/Greeter + + + + character/npc/stranger/model.dat + + Colors + Green-Seafoam + Hat + + character/npc/stranger/floppyhat/model.dat + + Variant + Steel + + + Pack + + Robes + hexagons + Snipes + None + + + 1.2 + + + + character/npc/stranger/standing_idle.dat + + + + 0.5 + + character/npc/stranger/standing_idle2.dat + + + + 0.1 + + character/npc/stranger/standing_idle3.dat + + + + + + 6.0 + + character/npc/stranger/walking.dat + + + + + + + + + + + + + Haven/Strangers/Greeter + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Haven/Stranger/Gremlin Info + + + + character/npc/stranger/model.dat + + Colors + Drab-Steel + Hat + + character/npc/stranger/floppyhat/model.dat + + Variant + Brown + + + Pack + + Robes + Merchant Tabard + Snipes + Both Shoulders (02) + + + 1.2 + + + + character/npc/stranger/standing_idle.dat + + + + 0.5 + + character/npc/stranger/standing_idle2.dat + + + + 0.1 + + character/npc/stranger/standing_idle3.dat + + + + + + 6.0 + + character/npc/stranger/walking.dat + + + + + + + + + + + + + Haven/Strangers/Gremlin Info + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Haven/Stranger/Snipes + + + + character/npc/stranger/model.dat + + Colors + Drab-Rust + Hat + + character/npc/stranger/floppyhat/model.dat + + Variant + Steel + + + Pack + + Robes + hexagons + Snipes + Head & Shoulders (02) + + + 1.2 + + + + character/npc/stranger/standing_idle.dat + + + + 0.5 + + character/npc/stranger/standing_idle2.dat + + + + 0.1 + + character/npc/stranger/standing_idle3.dat + + + + + + 6.0 + + character/npc/stranger/walking.dat + + + + + + + + + + + + + Haven/Strangers/Snipes + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Ash Tail/Alpha Ash Tail 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 1 (Base) + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Fire + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Defense (Status) + + + + 4 + + + 257 + -25 + + + 8 + 50 + + + + Loot Table + + Treasure/Monster/Beast/Alpha Wolver/Alpha Wolver Loot + + Model + + character/npc/monster/wolver/model_fir.dat + + Aura + + particle/buff_auraup.dat + + Scale + 2.5 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 1 Alpha + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Ash Tail/Alpha Ash Tail 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 2 (Base) + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Fire 2 + + Chance + 0.5 + Power + 40 + + + + + + Defense (Status) + + + + 4 + + + 257 + -25 + + + 8 + 50 + + + + Model + + character/npc/monster/wolver/model_fir.dat + + Aura + + particle/buff_auraup.dat + + Scale + 2.5 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 2 Alpha + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Ash Tail/Alpha Ash Tail 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 3 (Base) + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Fire 3 + + Chance + 0.5 + Power + 50 + + + + + + Defense (Status) + + + + 4 + + + 257 + -25 + + + 8 + 50 + + + + Model + + character/npc/monster/wolver/model_fir.dat + + Aura + + particle/buff_auraup.dat + + Scale + 3.25 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 3 Alpha + + + Warp Style + Ash + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Frostifur/Alpha Frostifur 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 1 (Base) + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Freeze + + Chance + 0.5 + Power + 30 + + + + + + Defense (Status) + + + + 8 + + + 257 + -25 + + + + Model + + character/npc/monster/wolver/model_fre.dat + + Aura + + particle/buff_auraup.dat + + Scale + 2.5 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 1 Alpha + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Frostifur/Alpha Frostifur 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 2 (Base) + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Freeze 2 + + Chance + 0.5 + Power + 40 + + + + + + Defense (Status) + + + + 8 + + + 257 + -25 + + + + Model + + character/npc/monster/wolver/model_fre.dat + + Aura + + particle/buff_auraup.dat + + Scale + 2.5 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 2 Alpha + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Frostifur/Alpha Frostifur 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 3 (Base) + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Freeze 3 + + Chance + 0.5 + Power + 50 + + + + + + Defense (Status) + + + + 8 + + + 257 + -25 + + + + Model + + character/npc/monster/wolver/model_fre.dat + + Aura + + particle/buff_auraup.dat + + Scale + 3.25 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 3 Alpha + + + Warp Style + Ash + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Voltail/Alpha Voltail 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 1 (Base) + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Shock + + Chance + 0.5 + Power + 30 + + + + + + Defense (Status) + + + + 16 + + + 257 + -25 + + + 8 + 50 + + + + Model + + character/npc/monster/wolver/model_sho.dat + + Aura + + particle/buff_auraup.dat + + Scale + 2.5 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 1 Alpha + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Voltail/Alpha Voltail 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 2 (Base) + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Shock 2 + + Chance + 0.5 + Power + 40 + + + + + + Defense (Status) + + + + 16 + + + 257 + -25 + + + 8 + 50 + + + + Model + + character/npc/monster/wolver/model_sho.dat + + Aura + + particle/buff_auraup.dat + + Scale + 2.5 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 2 Alpha + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Voltail/Alpha Voltail 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 3 (Base) + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Shock 3 + + Chance + 0.5 + Power + 50 + + + + + + Defense (Status) + + + + 16 + + + 257 + -25 + + + 8 + 50 + + + + Model + + character/npc/monster/wolver/model_sho.dat + + Aura + + particle/buff_auraup.dat + + Scale + 3.25 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 3 Alpha + + + Warp Style + Dusk + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Wolver/Alpha Wolver 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 1 (Base) + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + + Defense (Status) + + + + 257 + -25 + + + 8 + 50 + + + + Loot Table + + Treasure/Monster/Beast/Alpha Wolver/Alpha Wolver Loot + + Model + + character/npc/monster/wolver/model_nrm.dat + + Aura + + particle/buff_auraup.dat + + Scale + 2.5 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 1 Alpha + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Wolver/Alpha Wolver 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 2 (Base) + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + + Defense (Status) + + + + 257 + -25 + + + 8 + 50 + + + + Model + + character/npc/monster/wolver/model_nrm.dat + + Aura + + particle/buff_auraup.dat + + Scale + 2.5 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 2 Alpha + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Wolver/Alpha Wolver 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 3 (Base) + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + + Defense (Status) + + + + 257 + -25 + + + 8 + 50 + + + + Model + + character/npc/monster/wolver/model_nrm.dat + + Aura + + particle/buff_auraup.dat + + Scale + 3.25 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 3 Alpha + + + Warp Style + Yellow + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 1 (Base) + + + Model + implementation.sprite.model + + + Damage + implementation.attacks[5].ref["Attack"]["Damage"], implementation.attacks[6].ref["Attack"]["Damage"], implementation.attacks[7].ref["Damage"] + + + Defense (Status) + implementation.defense.defenses[1] + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Wave Tag + implementation.tags.tags[4] + + + + + + character/npc/monster/wolver/model_nrm.dat + + Aura + + particle/buff_auraup.dat + + Scale + 2.5 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 1 Alpha + + + 1.5 + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + + 3.1415927 + + character/npc/monster/wolver/animation/turn_left.dat + + + character/npc/monster/wolver/animation/turn_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + character/npc/monster/wolver/animation/activate.dat + + Sound File + sound/effect/monster/wolver_spawn.ogg + Variant + Yellow + + + + + 0.44 + + + + + + Treasure/Monster/Beast/Alpha Wolver/Alpha Wolver Loot + + + + + + + Buff + + Damage Modifier + 0.3 + Defense Modifier + 0.0 + Duration + 5000 + Source + alpha_wolver + Variant + Attack Up + + + + + + 8 + 79 + 3.25 + 6.981317 + 80 + 340 + 1 + 9 + + Monster/Health/Health Base +05 + + 0.3 + 3 + 433 + 1481 + 1333 + 4.25 + + + + Character/NPC/Monster/Beast/Wolver/Bark + + Sound File + sound/effect/monster/wolver_alpha_bark.ogg + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (Y) + + Direction + Left + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (Y) + + Direction + Right + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Dodge (X) + + Direction + Left + + + Next Attack + 0 + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (X) + + Direction + Backward + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Bite, chain 1 + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + + + + Next Attack + 6 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Bite, chain 2 + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + + + + Next Attack + 7 + + + + + + Character/NPC/Monster/Beast/Wolver/Bite, chain 3 + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + + 8 + 50 + + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 2 (Base) + + + Model + implementation.sprite.model + + + Damage + implementation.attacks[5].ref["Attack"]["Damage"], implementation.attacks[6].ref["Attack"]["Damage"], implementation.attacks[7].ref["Damage"] + + + Defense (Status) + implementation.defense.defenses[1] + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Wave Tag + implementation.tags.tags[4] + + + + + + character/npc/monster/wolver/model_nrm.dat + + Aura + + particle/buff_auraup.dat + + Scale + 2.5 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 2 Alpha + + + 1.5 + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + + 3.1415927 + + character/npc/monster/wolver/animation/turn_left.dat + + + character/npc/monster/wolver/animation/turn_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + character/npc/monster/wolver/animation/activate.dat + + Sound File + sound/effect/monster/wolver_spawn.ogg + Variant + Yellow + + + + + 0.44 + + + + + + Treasure/Monster/Beast/Alpha Wolver/Alpha Wolver Loot + + + + + + + Buff + + Damage Modifier + 0.3 + Defense Modifier + 0.0 + Duration + 5000 + Source + alpha_wolver + Variant + Attack Up + + + + + + 8 + 79 + 3.75 + 6.981317 + 480 + 1080 + 9 + 19 + + Monster/Health/Health Base +05 + + 0.3 + 3 + 433 + 1481 + 1333 + 5.0 + + + + Character/NPC/Monster/Beast/Wolver/Bark + + Sound File + sound/effect/monster/wolver_alpha_bark.ogg + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (Y) + + Direction + Left + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (Y) + + Direction + Right + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Dodge (X) + + Direction + Left + + + Next Attack + 5 + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (X) + + Direction + Backward + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Bite, chain 1 + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + + + + Next Attack + 6 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Bite, chain 2 + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + + + + Next Attack + 7 + + + + + + Character/NPC/Monster/Beast/Wolver/Bite, chain 3 + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + + 8 + 50 + + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 3 (Base) + + + Model + implementation.sprite.model + + + Damage + implementation.attacks[7].ref["Damage"], implementation.attacks[6].ref["Attack"]["Damage"], implementation.attacks[5].ref["Attack"]["Damage"] + + + Defense (Status) + implementation.defense.defenses[1] + + + Wave Tag + implementation.tags.tags[4] + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Warp Style + implementation.attacks[4].ref["Attack"]["Variant"], implementation.attacks[3].ref["Attack"]["Variant"], implementation.attacks[2].ref["Variant"], implementation.attacks[1].ref["Variant"] + + + + + + character/npc/monster/wolver/model_nrm.dat + + Aura + + particle/buff_auraup.dat + + Scale + 3.25 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 3 Alpha + + + 1.5 + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + + 3.1415927 + + character/npc/monster/wolver/animation/turn_left.dat + + + character/npc/monster/wolver/animation/turn_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + character/npc/monster/wolver/animation/activate.dat + + Sound File + sound/effect/monster/wolver_spawn.ogg + Variant + Ash + + + + + 0.44 + + + + + + Treasure/Monster/Beast/Alpha Wolver/Alpha Wolver Loot + + + + + + + Buff + + Damage Modifier + 0.35 + Defense Modifier + 0.1 + Duration + 5000 + Source + alpha_wolver + Variant + Attack Up + + + + + + 8 + 79 + 3.75 + 6.981317 + 1440 + 2880 + 19 + 30 + + Monster/Health/Health Base +05 + + 0.3 + 3 + 433 + 1481 + 1333 + 5.0 + + + + Character/NPC/Monster/Beast/Wolver/Bark + + Sound File + sound/effect/monster/wolver_alpha_bark.ogg + + + + + + Character/NPC/Monster/Beast/Wolver/Warp (Instant) + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + 0.5, 2.0 + Teleport Spawn + + Variant + Ash + + + + + + Character/NPC/Monster/Beast/Wolver/Warp (Instant) + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + -0.5, -2.0 + Teleport Spawn + + Variant + Ash + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Warp + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + -1.5, 0.2 + Teleport Spawn + + Variant + Ash + + + Next Attack + 5 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Warp + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + 2.0, 1.0 + Teleport Spawn + + Variant + Ash + + + Next Attack + 5 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Bite, chain 1 + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + + + + Next Attack + 6 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Bite, chain 2 + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + + + + Next Attack + 7 + + + + + + Character/NPC/Monster/Beast/Wolver/Bite, chain 3 + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + + 8 + 50 + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/wolver_spawn.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 2.0 + + Transient + + character/npc/monster/wolver/parts/fx_activate.dat + + Variant + Ash + + + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/wolver_spawn.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 2.0 + + Transient + + character/npc/monster/wolver/parts/fx_activate.dat + + Variant + Ash + + + + + + + + + + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Rabid Alpha Wolver/Rabid Alpha Wolver 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 1 (Base) + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Poison + + Chance + 0.5 + Power + 30 + + + + + + Defense (Status) + + + + 2 + + + 257 + -25 + + + 8 + 50 + + + + Model + + character/npc/monster/wolver/model_poi.dat + + Aura + + particle/buff_auraup.dat + + Scale + 2.5 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 1 Alpha + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Rabid Alpha Wolver/Rabid Alpha Wolver 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 2 (Base) + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Poison 2 + + Chance + 0.5 + Power + 40 + + + + + + Defense (Status) + + + + 2 + + + 257 + -25 + + + 8 + 50 + + + + Model + + character/npc/monster/wolver/model_poi.dat + + Aura + + particle/buff_auraup.dat + + Scale + 2.5 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 2 Alpha + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Rabid Alpha Wolver/Rabid Alpha Wolver 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Parts/Tier 3 (Base) + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Poison 3 + + Chance + 0.5 + Power + 50 + + + + + + Defense (Status) + + + + 2 + + + 257 + -25 + + + 8 + 50 + + + + Model + + character/npc/monster/wolver/model_poi.dat + + Aura + + particle/buff_auraup.dat + + Scale + 3.25 + Variant + Attack Up + + + Reacting Type + Flinch + Variant + Tier 3 Alpha + + + Warp Style + Dusk + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Chromalisk Whelp/Chromalisk Whelp (Intro) + + + Wave Tag + implementation.actor["Tags"].tags[3] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisk Whelp + + + Behavior + + Monster/Beast/Chromalisk/Basic Targeting + + Defenses + + + Dodge Distance + 1 (default) + Head Model + + character/npc/monster/chromalisk/whelp/whelp_head.dat + + Texture + character/npc/monster/chromalisk/whelp/whelp.png + Tongue + On + + + Health Scale + + Monster/Health/Health Base -10 + + Loot Table + + Treasure/Monster/Tutorial/Chroma Whelp (TG) + + React % + 0.25 + Scale + 0.75 + Shape Radius + 0.3 + Speed + 1.5 + Speed (Targeted) + 2.6 + Tags + + (tag 1), (tag 2), (tag 3), (tag 4) + + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/whelp/whelp.png + + + + + Turn Rate + 5.2359877 + Weight + 1 + + + + + + Character/NPC/Monster/Beast/Chromalisk Whelp/Chromalisk Whelp (TG) + + + Wave Tag + implementation.actor["Tags"].tags[3] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisk Whelp + + + Defenses + + + 4 + 25 + + + 2 + 50 + + + 264 + -25 + + + Dodge Distance + 1 (default) + Head Model + + character/npc/monster/chromalisk/whelp/whelp_head.dat + + Texture + character/npc/monster/chromalisk/whelp/whelp.png + Tongue + On + + + Health Scale + + Monster/Health/Health Base -10 + + Loot Table + + Treasure/Monster/Tutorial/Chroma Whelp (TG) + + React % + 0.25 + Scale + 0.75 + Shape Radius + 0.3 + Speed + 1.5 + Speed (Targeted) + 2.6 + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/whelp/whelp.png + + + + + Turn Rate + 5.2359877 + Weight + 1 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Chromalisk/Chromalisk 1 + + + Wave Tag + implementation.actor["Tags"].tags[3] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisk Whelp + + + Defenses + + + 4 + 25 + + + 2 + 50 + + + 264 + -25 + + + Dodge Distance + 1 (default) + Head Model + + character/npc/monster/chromalisk/whelp/whelp_head.dat + + Texture + character/npc/monster/chromalisk/whelp/whelp.png + Tongue + On + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Chromalisk Loot + + React % + 0.25 + Scale + 0.75 + Shape Radius + 0.3 + Speed + 1.5 + Speed (Targeted) + 2.6 + Tags + + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/whelp/whelp.png + + + + + Turn Rate + 5.2359877 + Weight + 1 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Chromalisk/Chromalisk 2 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisk + + + Defenses + + + 4 + 25 + + + 2 + 50 + + + 264 + -25 + + + Dodge Distance + 1.5 units + Head Model + + character/npc/monster/chromalisk/chromalisk_head.dat + + Texture - File + character/npc/monster/chromalisk/skin_base.png + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Chromalisk Loot + + React % + 0.225 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 3.0 + Tags + + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/skin_base.png + + + + + Turn Rate + 6.2831855 + Weight + 3 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Chromalisk/Chromalisk 3 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Bull Chromalisk + + + Defenses + + + 4 + 25 + + + 2 + 50 + + + 264 + -25 + + + Dodge Distance + 2 units + Head Model + + character/npc/monster/chromalisk/bull/bull_head.dat + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Chromalisk Loot + + React % + 0.2 + Scale + 1.06 + Shape Radius + 0.44 + Speed + 1.5 + Speed (Targeted) + 3.4 + Tags + + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/bull/bull.png + + + + + Turn Rate + 6.2831855 + Weight + 5 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Electrolisk/Electrolisk 1 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisks/Globule Spew + + Globule Bullet + + Bullet/Monster/Chromalisk/Electrolisk Globule + + Status Damage + + Shock + + Chance + 1.0 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Mouth FX + + particle/fx_chroma_spew.dat + + Status Particles + + Variant + Shock + + + + + + Defenses + + + 16 + + + 4 + 25 + + + 2 + 50 + + + 264 + -25 + + + Dodge Distance + 1.5 units + Head Model + + character/npc/monster/chromalisk/whelp/whelp_head.dat + + Texture + character/npc/monster/chromalisk/electrolisk/skin.png + Tongue + No + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Electrolisk Loot + + React % + 0.225 + Scale + 0.8 + Shape Radius + 0.36 + Speed + 1.5 + Speed (Targeted) + 3.0 + Texture + + Model/Skinned/Sphere Mapped/Additive Mask + + Cull State + DISABLED + Mask + Opaque + Pass Mode + Normal + Receives Projections + false + Sphere Map + character/npc/monster/chromalisk/electrolisk/sheen.png + Sphere Mask + character/npc/monster/chromalisk/electrolisk/glossmap.png + Texture + + 2D/File/Default (Wrapping) + + File + character/npc/monster/chromalisk/electrolisk/skin.png + Wrap S + CLAMP_TO_EDGE + Wrap T + CLAMP_TO_EDGE + + + + + Turn Rate + 6.2831855 + Weight + 3 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Electrolisk/Electrolisk 2 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisks/Globule Spew + + Globule Bullet + + Bullet/Monster/Chromalisk/Electrolisk Globule + + Status Damage + + Shock 2 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Mouth FX + + particle/fx_chroma_spew.dat + + Status Particles + + Variant + Shock + + + + + + Defenses + + + 16 + + + 4 + 25 + + + 2 + 50 + + + 264 + -25 + + + Dodge Distance + 1.5 units + Head Model + + character/npc/monster/chromalisk/electrolisk/electro_head.dat + + Texture + character/npc/monster/chromalisk/electrolisk/skin_2.png + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Electrolisk Loot + + React % + 0.225 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 3.0 + Texture + + Model/Skinned/Sphere Mapped/Additive Mask + + Cull State + DISABLED + Mask + Opaque + Pass Mode + Normal + Receives Projections + false + Sphere Map + character/npc/monster/chromalisk/electrolisk/sheen.png + Sphere Mask + character/npc/monster/chromalisk/electrolisk/glossmap.png + Texture + + 2D/File/Default (Wrapping) + + File + character/npc/monster/chromalisk/electrolisk/skin_2.png + Wrap S + CLAMP_TO_EDGE + Wrap T + CLAMP_TO_EDGE + + + + + Turn Rate + 6.2831855 + Weight + 3 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Electrolisk/Electrolisk 3 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisks/Globule Spew + + Globule Bullet + + Bullet/Monster/Chromalisk/Electrolisk Globule + + Status Damage + + Shock 3 + + Chance + 1.0 + Power + 70 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Mouth FX + + particle/fx_chroma_spew.dat + + Status Particles + + Variant + Shock + + + + + + Defenses + + + 16 + + + 4 + 25 + + + 2 + 50 + + + 264 + -25 + + + Dodge Distance + 1.5 units + Head Model + + character/npc/monster/chromalisk/electrolisk/electro_head.dat + + Texture + character/npc/monster/chromalisk/electrolisk/skin_3.png + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Electrolisk Loot + + React % + 0.225 + Scale + 1.12 + Shape Radius + 0.44 + Speed + 1.5 + Speed (Targeted) + 3.0 + Texture + + Model/Skinned/Sphere Mapped/Additive Mask + + Cull State + DISABLED + Mask + Opaque + Pass Mode + Normal + Receives Projections + false + Sphere Map + character/npc/monster/chromalisk/electrolisk/sheen.png + Sphere Mask + character/npc/monster/chromalisk/electrolisk/glossmap.png + Texture + + 2D/File/Default (Wrapping) + + File + character/npc/monster/chromalisk/electrolisk/skin_3.png + Wrap S + CLAMP_TO_EDGE + Wrap T + CLAMP_TO_EDGE + + + + + Turn Rate + 6.2831855 + Weight + 3 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + + Tags + implementation.tags.derived + + + Head Model + implementation.sprite.model["Head"] + + + Texture + implementation.sprite.model["Texture"] + + + Scale + implementation.sprite.scale + + + Health Scale + implementation.health_scale + + + Shape Radius + implementation.shape.radius + + + React % + implementation.min_react_percent + + + Weight + implementation.impulse_level + + + Speed + implementation.speed + + + Speed (Targeted) + implementation.targeted_speed + + + Turn Rate + implementation.turn_rate, implementation.sprite.rotations[0].rate + + + Behavior + implementation.behavior + + + Attack (Tongue) + implementation.attacks[0] + + + + Dodge Distance + + + Dodge - Back + implementation.attacks[2].ref["Dodge Distance"] + + + Dodge - Front + implementation.attacks[3].ref["Dodge Distance"] + + + Dodge - Right + implementation.attacks[4].ref["Dodge Distance"] + + + Dodge - Left + implementation.attacks[5].ref["Dodge Distance"] + + + + + + 1 (default) + + Dodge - Back + -1.0, 0.0 + Dodge - Front + 1.0, 0.0 + Dodge - Left + 0.0, -1.0 + Dodge - Right + 0.0, 1.0 + + + + + 1.5 units + + Dodge - Back + -1.5, 0.0 + Dodge - Front + 1.5, 0.0 + Dodge - Left + 0.0, -1.5 + Dodge - Right + 0.0, 1.5 + + + + + 2 units + + Dodge - Back + -2.0, 0.0 + Dodge - Front + 2.0, 0.0 + Dodge - Left + 0.0, -2.0 + Dodge - Right + 0.0, 2.0 + + + + + 2.5 units + + Dodge - Back + -2.5, 0.0 + Dodge - Front + 2.5, 0.0 + Dodge - Left + 0.0, -2.5 + Dodge - Right + 0.0, 2.5 + + + + + 3 units + + Dodge - Back + -3.0, 0.0 + Dodge - Front + 3.0, 0.0 + Dodge - Left + 0.0, -3.0 + Dodge - Right + 0.0, 3.0 + + + + 1 (default) + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Defenses + implementation.defense.defenses[1].defenses + + + + + + character/npc/monster/chromalisk/chromalisk_body.dat + + Head + + character/npc/monster/chromalisk/chromalisk_head.dat + + Texture - File + character/npc/monster/chromalisk/skin_base.png + + + Shadow Size + 1.3 + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/skin_base.png + + + + + + + + + + character/npc/monster/chromalisk/animation/standing.dat + + + + + + 2.4 + + character/npc/monster/chromalisk/animation/moving_forward.dat + + Scuffle FX + + Visual Float + + + + + + + + 6.2831855 + + character/npc/monster/chromalisk/animation/turn_left.dat + + + character/npc/monster/chromalisk/animation/turn_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/chromalisk/animation/standing.dat + + + + + + 2.4 + + character/npc/monster/chromalisk/animation/moving_forward.dat + + Scuffle FX + + Visual Float + + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + CAMO + + character/npc/monster/chromalisk/model_cloaked.dat + + + + node_steal + + + 0.4 + + + + + + Treasure/Monster/Beast/Chromalisk/Chromalisk Loot + + + + + 8 + 79 + 1.5 + 6.2831855 + + Monster/Beast/Chromalisk/Basic Targeting + + 200 + + Monster/Health/Health Base + + 0.1 + 1167 + 1500 + 3.0 + + + + Character/NPC/Monster/Beast/Parts/Chromalisk + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk - Camoflage Activate + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Dodge back + + Dodge Distance + -1.0, 0.0 + + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Dodge forward + + Dodge Distance + 1.0, 0.0 + + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Dodge right + + Dodge Distance + 0.0, 1.0 + + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Dodge left + + Dodge Distance + 0.0, -1.0 + + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Panic emote + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Chromalisk (windup) + + Chain Condition + + + Next Attack + 0 + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + + + + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk - Four Directional + + + Tags + implementation.actor["Tags"].derived + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisk - No Intro + + + Defenses + + + 10 + + + 20 + + + 2 + 20 + + + 8 + -25 + + + Dodge Distance + 1.5 units + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Chromalisk Loot + + React % + 0.25 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 3.0 + Speed (Targeted) + 3.0 + Turn Rate + 18.849556 + Weight + 3 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Salamander/Salamander 1 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisks/Globule Spew + + Globule Bullet + + Bullet/Monster/Chromalisk/Salamander Globule + + Status Damage + + Fire + + Chance + 1.0 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Mouth FX + + particle/fx_chroma_spew.dat + + Status Particles + + particle/part_chroma_spew_fire.dat + + Variant + Fire + + + + + + Defenses + + + 4 + + + 2 + 50 + + + 264 + -25 + + + Dodge Distance + 1.5 units + Head Model + + character/npc/monster/chromalisk/whelp/whelp_head.dat + + Texture + character/npc/monster/chromalisk/salamander/salamander_base.png + Tongue + No + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Salamander Loot + + React % + 0.225 + Scale + 0.8 + Shape Radius + 0.36 + Speed + 1.5 + Speed (Targeted) + 3.0 + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/salamander/salamander_base.png + + + + + Turn Rate + 6.2831855 + Weight + 3 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Salamander/Salamander 2 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisks/Globule Spew + + Globule Bullet + + Bullet/Monster/Chromalisk/Salamander Globule + + Status Damage + + Fire 2 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Mouth FX + + particle/fx_chroma_spew.dat + + Status Particles + + particle/part_chroma_spew_fire.dat + + Variant + Fire + + + + + + Defenses + + + 4 + + + 2 + 50 + + + 264 + -25 + + + Dodge Distance + 1.5 units + Head Model + + character/npc/monster/chromalisk/salamander/salamander_head.dat + + Texture + character/npc/monster/chromalisk/salamander/salamander_2.png + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Salamander Loot + + React % + 0.225 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 3.0 + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/salamander/salamander_2.png + + + + + Turn Rate + 6.2831855 + Weight + 3 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Salamander/Salamander 3 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisks/Globule Spew + + Globule Bullet + + Bullet/Monster/Chromalisk/Salamander Globule + + Status Damage + + Fire 3 + + Chance + 1.0 + Power + 70 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Mouth FX + + particle/fx_chroma_spew.dat + + Status Particles + + particle/part_chroma_spew_fire.dat + + Variant + Fire + + + + + + Defenses + + + 4 + + + 2 + 50 + + + 264 + -25 + + + Dodge Distance + 1.5 units + Head Model + + character/npc/monster/chromalisk/salamander/salamander_head.dat + + Texture + character/npc/monster/chromalisk/salamander/salamander_3.png + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Salamander Loot + + React % + 0.225 + Scale + 1.12 + Shape Radius + 0.44 + Speed + 1.5 + Speed (Targeted) + 3.0 + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/salamander/salamander_3.png + + + + + Turn Rate + 6.2831855 + Weight + 3 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Tundralisk/Tundralisk 1 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisks/Globule Spew + + Globule Bullet + + Bullet/Monster/Chromalisk/Tundralisk Globule + + Status Damage + + Freeze + + Chance + 1.0 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Mouth FX + + particle/fx_chroma_spew.dat + + Status Particles + + particle/part_chroma_spew_freeze.dat + + Variant + Freeze + + + + + + Behavior + + Defenses + + + 8 + + + 4 + 25 + + + 2 + 50 + + + 256 + -25 + + + Dodge Distance + 1.5 units + Head Model + + character/npc/monster/chromalisk/whelp/whelp_head.dat + + Texture + character/npc/monster/chromalisk/tundralisk/tundralisk_base.png + Tongue + No + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Tundralisk Loot + + React % + 0.225 + Scale + 0.8 + Shape Radius + 0.36 + Speed + 1.5 + Speed (Targeted) + 3.0 + Tags + + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/tundralisk/tundralisk_base.png + + + + + Turn Rate + 6.2831855 + Weight + 3 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Tundralisk/Tundralisk 2 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisks/Globule Spew + + Globule Bullet + + Bullet/Monster/Chromalisk/Tundralisk Globule + + Status Damage + + Freeze 2 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Mouth FX + + particle/fx_chroma_spew.dat + + Status Particles + + particle/part_chroma_spew_freeze.dat + + Variant + Freeze + + + + + + Behavior + + Defenses + + + 8 + + + 4 + 25 + + + 2 + 50 + + + 256 + -25 + + + Dodge Distance + 1.5 units + Head Model + + character/npc/monster/chromalisk/tundralisk/tundralisk_head.dat + + Texture + character/npc/monster/chromalisk/tundralisk/tundralisk_2.png + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Tundralisk Loot + + React % + 0.225 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 3.0 + Tags + + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/tundralisk/tundralisk_2.png + + + + + Turn Rate + 6.2831855 + Weight + 3 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Tundralisk/Tundralisk 3 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisks/Globule Spew + + Globule Bullet + + Bullet/Monster/Chromalisk/Tundralisk Globule + + Status Damage + + Freeze 3 + + Chance + 1.0 + Power + 70 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Mouth FX + + particle/fx_chroma_spew.dat + + Status Particles + + particle/part_chroma_spew_freeze.dat + + Variant + Freeze + + + + + + Behavior + + Defenses + + + 8 + + + 4 + 25 + + + 2 + 50 + + + 256 + -25 + + + Dodge Distance + 1.5 units + Head Model + + character/npc/monster/chromalisk/tundralisk/tundralisk_head.dat + + Texture + character/npc/monster/chromalisk/tundralisk/tundralisk_3.png + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Tundralisk Loot + + React % + 0.225 + Scale + 1.12 + Shape Radius + 0.44 + Speed + 1.5 + Speed (Targeted) + 3.0 + Tags + + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/tundralisk/tundralisk_3.png + + + + + Turn Rate + 6.2831855 + Weight + 3 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Virulisk/Virulisk 1 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisks/Globule Spew + + Globule Bullet + + Bullet/Monster/Chromalisk/Virulisk Globule + + Status Damage + + Poison + + Chance + 1.0 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Mouth FX + + particle/fx_chroma_spew.dat + + Status Particles + + particle/part_chroma_spew_poison.dat + + Variant + Poison + + + + + + Defenses + + + 15 + 2 + + + 4 + 25 + + + 264 + -25 + + + Dodge Distance + 2 units + Head Model + + character/npc/monster/chromalisk/whelp/whelp_head.dat + + Texture + character/npc/monster/chromalisk/virulisk/viruwhelp.png + Tongue + No + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Virulisk Loot + + React % + 0.3 + Scale + 0.8 + Shape Radius + 0.36 + Speed + 1.7 + Speed (Targeted) + 2.6 + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/virulisk/virulisk.png + + + + + Turn Rate + 6.2831855 + Weight + 4 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Virulisk/Virulisk 2 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisks/Globule Spew + + Globule Bullet + + Bullet/Monster/Chromalisk/Virulisk Globule + + Status Damage + + Poison 2 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Mouth FX + + particle/fx_chroma_spew.dat + + Status Particles + + particle/part_chroma_spew_poison.dat + + Variant + Poison + + + + + + Defenses + + + 2 + + + 4 + 25 + + + 264 + -25 + + + Dodge Distance + 2.5 units + Head Model + + character/npc/monster/chromalisk/virulisk/virulisk_head.dat + + Texture + character/npc/monster/chromalisk/virulisk/virulisk.png + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Virulisk Loot + + React % + 0.3 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.7 + Speed (Targeted) + 3.0 + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/virulisk/virulisk.png + + + + + Turn Rate + 6.2831855 + Weight + 4 + + + + + + Character/NPC/Monster/Beast/Chromalisk/Virulisk/Virulisk 3 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Chromalisks/Globule Spew + + Globule Bullet + + Bullet/Monster/Chromalisk/Virulisk Globule + + Status Damage + + Poison 3 + + Chance + 1.0 + Power + 70 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Mouth FX + + particle/fx_chroma_spew.dat + + Status Particles + + particle/part_chroma_spew_poison.dat + + Variant + Poison + + + + + + Defenses + + + 2 + + + 4 + 25 + + + 264 + -25 + + + Dodge Distance + 3 units + Head Model + + character/npc/monster/chromalisk/virulisk/virulisk_head.dat + + Texture + character/npc/monster/chromalisk/virulisk/virulisk_deadly.png + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Virulisk Loot + + React % + 0.3 + Scale + 1.12 + Shape Radius + 0.44 + Speed + 1.7 + Speed (Targeted) + 3.4 + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/virulisk/virulisk_deadly.png + + + + + Turn Rate + 6.2831855 + Weight + 4 + + + + + + Character/NPC/Monster/Beast/Kleptolisk/Kleptolisk 1 + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Beast/Chromalisk/Parts/Chromalisk (base) + + Attack (Tongue) + + + Character/NPC/Monster/Beast/Kleptolisk + + + Defenses + + + 4 + 25 + + + 2 + 50 + + + 264 + -25 + + + Dodge Distance + 1.5 units + Head Model + + character/npc/monster/chromalisk/kleptolisk/klepto_head.dat + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Beast/Chromalisk/Chromalisk Loot + + React % + 0.2 + Scale + 0.9 + Shape Radius + 0.4 + Speed + 2.0 + Speed (Targeted) + 4.0 + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/kleptolisk/klepto.png + + + + + Turn Rate + 6.2831855 + Weight + 2 + + + + + + Character/NPC/Monster/Beast/Kleptolisk/Kleptolisk 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Kleptolisk/Kleptolisk 1 + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Kleptolisk/Kleptolisk 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Kleptolisk/Kleptolisk 1 + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/New Vog Cub/Vog Cub + + + Tag + implementation.tags.derived + + + + + + character/npc/monster/wolver/model.dat + + Aura + + Variant + Vog Cub + + + 2.0 + 1.75 + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + + 3.1415927 + + character/npc/monster/wolver/animation/turn_left.dat + + + character/npc/monster/wolver/animation/turn_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Lower 1 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + character/npc/monster/wolver/animation/activate.dat + + Sound File + sound/effect/monster/wolver_spawn.ogg + Variant + Vog + + + + + 0.65 + + + + + + Treasure/Monster/Beast/Wolver/Vog Cub Loot + + + + + 8 + 79 + 8.726646 + + Monster/Beast/Vog Cub/Basic Targeting + + 500 + + Monster/Health/Health Base +30 + + 0.2 + 2 + 433 + 1481 + 1333 + 7.25 + + + + Character/NPC/Monster/Beast/Wolver/Bark + + Sound File + + + + + + + Character/NPC/Monster/Beast/Wolver/Warp (Instant) + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + 0.5, 2.0 + Teleport Spawn + + Bomb/Monster/Vog Flames + + Variant + Vog + + + + + + Character/NPC/Monster/Beast/Wolver/Warp (Instant) + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + -0.5, -2.0 + Teleport Spawn + + Bomb/Monster/Vog Flames + + Variant + Vog + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Warp + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + -1.5, 0.2 + Teleport Spawn + + Bomb/Monster/Vog Flames + + Variant + Vog + + + Chain Condition + + + Next Attack + 5 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Warp + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + 2.0, 1.0 + Teleport Spawn + + Bomb/Monster/Vog Flames + + Variant + Vog + + + Chain Condition + + + Next Attack + 5 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Vog Cub - Bite, chain 1 + + Chain Condition + + + Next Attack + 6 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Vog Cub - Bite, chain 2 + + Chain Condition + + + Next Attack + 7 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Vog Cub - Bite, chain 3 + + Chain Condition + + + Next Attack + 3 + + + + + + + + 30 + + + 50 + + + 8 + -50 + + + 4 + 150 + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/wolver_spawn.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 1.5 + + Transient + + character/npc/monster/wolver/parts/fx_activate.dat + + Variant + Vog + + + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/wolver_spawn.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 1.5 + + Transient + + character/npc/monster/wolver/parts/fx_activate.dat + + Variant + Vog + + + + + + + + + + + + + + + Character/NPC/Monster/Beast/New Vog Cub/Vog Cub 5 + + + Tag + implementation.tags.derived + + + + + + character/npc/monster/wolver/model.dat + + Aura + + Variant + Vog Cub + + + 2.0 + 1.75 + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + + 3.1415927 + + character/npc/monster/wolver/animation/turn_left.dat + + + character/npc/monster/wolver/animation/turn_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Lower 1 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + character/npc/monster/wolver/animation/activate.dat + + Sound File + sound/effect/monster/wolver_spawn.ogg + Variant + Vog + + + + + 0.65 + + + + + + Treasure/Monster/Beast/Wolver/Vog Cub Loot + + + + + 8 + 79 + 8.726646 + + Monster/Beast/Vog Cub/Basic Targeting + + 700 + + Monster/Health/Health Base +30 + + 0.2 + 2 + 433 + 1481 + 1333 + 7.25 + + + + Character/NPC/Monster/Beast/Wolver/Bark + + Sound File + + + + + + + Character/NPC/Monster/Beast/Wolver/Warp (Instant) + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + 0.5, 2.0 + Teleport Spawn + + Bomb/Monster/Vog Flames + + Variant + Vog + + + + + + Character/NPC/Monster/Beast/Wolver/Warp (Instant) + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + -0.5, -2.0 + Teleport Spawn + + Bomb/Monster/Vog Flames + + Variant + Vog + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Warp + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + -1.5, 0.2 + Teleport Spawn + + Bomb/Monster/Vog Flames + + Variant + Vog + + + Chain Condition + + + Next Attack + 5 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Warp + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + 2.0, 1.0 + Teleport Spawn + + Bomb/Monster/Vog Flames + + Variant + Vog + + + Chain Condition + + + Next Attack + 5 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Vog Cub - Bite, chain 1 + + Chain Condition + + + Next Attack + 6 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Vog Cub - Bite, chain 2 + + Chain Condition + + + Next Attack + 7 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Vog Cub - Bite, chain 3 + + Chain Condition + + + Next Attack + 3 + + + + + + + + 30 + + + 50 + + + 8 + -50 + + + 4 + 150 + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/wolver_spawn.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 1.5 + + Transient + + character/npc/monster/wolver/parts/fx_activate.dat + + Variant + Vog + + + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/wolver_spawn.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 1.5 + + Transient + + character/npc/monster/wolver/parts/fx_activate.dat + + Variant + Vog + + + + + + + + + + + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk (base) + + + Tags + implementation.tags.derived + + + Scale + implementation.sprite.scale + + + Health Scale + implementation.health_scale + + + Shape Radius + implementation.shape.radius + + + React % + implementation.min_react_percent + + + Weight + implementation.impulse_level + + + Speed + implementation.speed + + + Speed (Targeted) + implementation.targeted_speed + + + Turn Rate + implementation.turn_rate, implementation.sprite.rotations[0].rate + + + Behavior + implementation.behavior + + + Attack (Tongue) + implementation.attacks[0] + + + + Dodge Distance + + + Dodge - Back + implementation.attacks[2].ref["Dodge Distance"] + + + Dodge - Front + implementation.attacks[3].ref["Dodge Distance"] + + + Dodge - Right + implementation.attacks[4].ref["Dodge Distance"] + + + Dodge - Left + implementation.attacks[5].ref["Dodge Distance"] + + + + + + 1 (default) + + Dodge - Back + -1.0, 0.0 + Dodge - Front + 1.0, 0.0 + Dodge - Left + 0.0, -1.0 + Dodge - Right + 0.0, 1.0 + + + + + 1.5 units + + Dodge - Back + -1.5, 0.0 + Dodge - Front + 1.5, 0.0 + Dodge - Left + 0.0, -1.5 + Dodge - Right + 0.0, 1.5 + + + + + 2 units + + Dodge - Back + -2.0, 0.0 + Dodge - Front + 2.0, 0.0 + Dodge - Left + 0.0, -2.0 + Dodge - Right + 0.0, 2.0 + + + + + 2.5 units + + Dodge - Back + -2.5, 0.0 + Dodge - Front + 2.5, 0.0 + Dodge - Left + 0.0, -2.5 + Dodge - Right + 0.0, 2.5 + + + + + 3 units + + Dodge - Back + -3.0, 0.0 + Dodge - Front + 3.0, 0.0 + Dodge - Left + 0.0, -3.0 + Dodge - Right + 0.0, 3.0 + + + + 1 (default) + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Defenses + implementation.defense.defenses + + + + + + character/npc/monster/chromalisk/chromalisk_body.dat + + Head + + character/npc/monster/chromalisk/chromalisk_head.dat + + Texture - File + character/npc/monster/chromalisk/skin_base.png + + + Shadow Size + 1.3 + Texture + + Model/Skinned/Opaque + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + character/npc/monster/chromalisk/skin_base.png + + + + + + + + + + character/npc/monster/chromalisk/animation/standing.dat + + + + + + 2.4 + + character/npc/monster/chromalisk/animation/moving_forward.dat + + Scuffle FX + + Visual Float + + + + + + + + 6.2831855 + + character/npc/monster/chromalisk/animation/turn_left.dat + + + character/npc/monster/chromalisk/animation/turn_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/chromalisk/animation/standing.dat + + + + + + 2.4 + + character/npc/monster/chromalisk/animation/moving_forward.dat + + Scuffle FX + + Visual Float + + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + CAMO + + character/npc/monster/chromalisk/model_cloaked.dat + + + + node_steal + + + 0.4 + + + + + + Treasure/Monster/Beast/Chromalisk/Chromalisk Loot + + + + + 8 + 79 + 1.5 + 6.2831855 + 200 + 0.1 + 1167 + 1500 + 3.0 + + + + Character/NPC/Monster/Beast/Parts/Chromalisk + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk - Camoflage Activate + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Dodge back + + Dodge Distance + -1.0, 0.0 + + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Dodge forward + + Dodge Distance + 1.0, 0.0 + + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Dodge right + + Dodge Distance + 0.0, 1.0 + + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Dodge left + + Dodge Distance + 0.0, -1.0 + + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Panic emote + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Chromalisk (windup) + + Next Attack + 0 + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base +10 + + + + 4 + 25 + + + 2 + 50 + + + 264 + -25 + + + + + + + Character/NPC/Monster/Beast/Vog Cub + + + Tag + implementation.tags.derived + + + + + + character/npc/monster/wolver/model.dat + + Aura + + Variant + Vog Cub + + + 2.0 + 1.75 + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + + 3.1415927 + + character/npc/monster/wolver/animation/turn_left.dat + + + character/npc/monster/wolver/animation/turn_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Lower 1 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + character/npc/monster/wolver/animation/activate.dat + + Sound File + sound/effect/monster/wolver_spawn.ogg + Variant + Vog + + + + + 0.65 + + + + + + Treasure/Monster/Beast/Wolver/Vog Cub Loot + + + + + 8 + 79 + 8.726646 + + Monster/Beast/Vog Cub/Basic Targeting + + 500 + 0.2 + 2 + 433 + 1481 + 1333 + 7.25 + + + + Character/NPC/Monster/Beast/Wolver/Bark + + Sound File + + + + + + + Character/NPC/Monster/Beast/Wolver/Warp (Instant) + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + 0.5, 2.0 + Teleport Spawn + + Bomb/Monster/Vog Flames + + Variant + Vog + + + + + + Character/NPC/Monster/Beast/Wolver/Warp (Instant) + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + -0.5, -2.0 + Teleport Spawn + + Bomb/Monster/Vog Flames + + Variant + Vog + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Warp + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + -1.5, 0.2 + Teleport Spawn + + Bomb/Monster/Vog Flames + + Variant + Vog + + + Chain Condition + + + Next Attack + 5 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Warp + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + 2.0, 1.0 + Teleport Spawn + + Bomb/Monster/Vog Flames + + Variant + Vog + + + Chain Condition + + + Next Attack + 5 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Vog Cub - Bite, chain 1 + + Chain Condition + + + Next Attack + 6 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Vog Cub - Bite, chain 2 + + Chain Condition + + + Next Attack + 7 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Vog Cub - Bite, chain 3 + + Chain Condition + + + Next Attack + 3 + + + + + + + + 30 + + + 50 + + + 8 + -50 + + + 4 + 150 + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/wolver_spawn.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 1.5 + + Transient + + character/npc/monster/wolver/parts/fx_activate.dat + + Variant + Vog + + + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/wolver_spawn.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 1.5 + + Transient + + character/npc/monster/wolver/parts/fx_activate.dat + + Variant + Vog + + + + + + + + + + + + + + + Character/NPC/Monster/Beast/Wolver/Ash Tail/Ash Tail 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 1 (Base) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Fire + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Defense (Status) + + + + 4 + + + 8 + 50 + + + 257 + -25 + + + + Loot Table + + Treasure/Monster/Beast/Wolver/Wolver Loot + + Model + + character/npc/monster/wolver/model_fir.dat + + Aura + + Reacting Type + Knockdown + Variant + Wolver + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Wolver/Ash Tail/Ash Tail 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 2 (Base) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Fire 2 + + Chance + 0.5 + Power + 40 + + + + + + Defense (Status) + + + + 4 + + + 8 + 50 + + + 257 + -25 + + + + Model + + character/npc/monster/wolver/model_fir.dat + + Aura + + Reacting Type + Knockdown + Variant + Tier 2 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Wolver/Ash Tail/Ash Tail 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 3 (Base) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Fire 3 + + Chance + 0.5 + Power + 50 + + + + + + Defense (Status) + + + + 4 + + + 8 + 50 + + + 257 + -25 + + + + Model + + character/npc/monster/wolver/model_fir.dat + + Aura + + Reacting Type + Knockdown + Variant + Tier 3 + + + Warp Style + Ash + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Wolver/Frostifur/Frostifur 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 1 (Base) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Freeze + + Chance + 0.5 + Power + 30 + + + + + + Defense (Status) + + + + 8 + + + 257 + -25 + + + + Model + + character/npc/monster/wolver/model_fre.dat + + Aura + + Reacting Type + Knockdown + Variant + Wolver + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Wolver/Frostifur/Frostifur 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 2 (Base) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Freeze 2 + + Chance + 0.5 + Power + 40 + + + + + + Defense (Status) + + + + 8 + + + 257 + -25 + + + + Model + + character/npc/monster/wolver/model_fre.dat + + Aura + + Reacting Type + Knockdown + Variant + Tier 2 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Wolver/Frostifur/Frostifur 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 3 (Base) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Freeze 3 + + Chance + 0.5 + Power + 50 + + + + + + Defense (Status) + + + + 8 + + + 257 + -25 + + + + Model + + character/npc/monster/wolver/model_fre.dat + + Aura + + Reacting Type + Knockdown + Variant + Tier 3 + + + Warp Style + Ash + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 1 (Base) + + + Model + implementation.sprite.model + + + Damage + implementation.attacks[5].ref["Damage"] + + + Defense (Status) + implementation.defense.defenses[1] + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Wave Tag + implementation.tags.tags[3] + + + + + + character/npc/monster/wolver/model_nrm.dat + + Aura + + Reacting Type + Knockdown + Variant + Wolver + + + 1.25 + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + + 3.1415927 + + character/npc/monster/wolver/animation/turn_left.dat + + + character/npc/monster/wolver/animation/turn_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + character/npc/monster/wolver/animation/activate.dat + + Sound File + sound/effect/monster/wolver_spawn.ogg + Variant + Yellow + + + + + 0.33 + + + (tag 1), (tag 2), (tag 3), (tag 4) + + + + + + Treasure/Monster/Beast/Wolver/Wolver Loot + + + + + 8 + 79 + 3.0 + 5.2359877 + 40 + 160 + 1 + 9 + + Monster/Health/Health Base + + 0.1 + 2000 + 1481 + 1333 + 4.0 + + + + Character/NPC/Monster/Beast/Wolver/Bark + + Sound File + sound/effect/monster/wolver_death.ogg + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (Y) + + Direction + Left + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (Y) + + Direction + Right + + + + + + Character/NPC/Monster/Beast/Wolver/Bark + + Sound File + sound/effect/monster/wolver_death.ogg + + + + + + Character/NPC/Monster/Beast/Wolver/Bark + + Sound File + sound/effect/monster/wolver_death.ogg + + + + + + Character/NPC/Monster/Beast/Wolver/Bite, chain 1 + + Damage + + + Monster/Damage/Attack Base + + 4 + + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + + + + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 2 (Base) + + + Model + implementation.sprite.model + + + Damage + implementation.attacks[5].ref["Damage"] + + + Defense (Status) + implementation.defense.defenses[1] + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Wave Tag + implementation.tags.tags[3] + + + + + + character/npc/monster/wolver/model_nrm.dat + + Aura + + Reacting Type + Knockdown + Variant + Tier 2 + + + 1.25 + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + + 3.1415927 + + character/npc/monster/wolver/animation/turn_left.dat + + + character/npc/monster/wolver/animation/turn_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + character/npc/monster/wolver/animation/activate.dat + + Sound File + sound/effect/monster/wolver_spawn.ogg + Variant + Yellow + + + + + 0.33 + + + (tag 1), (tag 2), (tag 3), (tag 4) + + + + + + Treasure/Monster/Beast/Wolver/Wolver Loot + + + + + 8 + 79 + 3.5 + 5.2359877 + 240 + 720 + 9 + 19 + + Monster/Health/Health Base + + 0.1 + 2000 + 1481 + 1333 + 4.5 + + + + Character/NPC/Monster/Beast/Wolver/Bark + + Sound File + sound/effect/monster/wolver_death.ogg + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (Y) + + Direction + Left + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (Y) + + Direction + Right + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Dodge (X) + + Direction + Left + + + Chain Condition + + + Next Attack + 5 + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (X) + + Direction + Backward + + + + + + Character/NPC/Monster/Beast/Wolver/Bite, chain 1 + + Damage + + + Monster/Damage/Attack Base + + 4 + + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + + + + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 3 (Base) + + + Model + implementation.sprite.model + + + Damage + implementation.attacks[5].ref["Damage"] + + + Warp Style + implementation.damage_action.action.actions[2].action.effect["Model"]["Transient"]["Variant"], implementation.damage_action.action.actions[0].effect["Model"]["Transient"]["Variant"], implementation.attacks[3].ref["Attack"]["Variant"], implementation.attacks[4].ref["Attack"]["Variant"], implementation.attacks[2].ref["Variant"], implementation.attacks[1].ref["Variant"] + + + Defense (Status) + implementation.defense.defenses[1] + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Wave Tag + implementation.tags.tags[3] + + + + + + character/npc/monster/wolver/model_nrm.dat + + Aura + + Reacting Type + Knockdown + Variant + Tier 3 + + + 1.25 + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + + 3.1415927 + + character/npc/monster/wolver/animation/turn_left.dat + + + character/npc/monster/wolver/animation/turn_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + character/npc/monster/wolver/animation/activate.dat + + Sound File + sound/effect/monster/wolver_spawn.ogg + Variant + Ash + + + + + 0.33 + + + (tag 1), (tag 2), (tag 3), (tag 4) + + + + + + Treasure/Monster/Beast/Wolver/Wolver Loot + + + + + 8 + 79 + 3.5 + 5.2359877 + 720 + 1440 + 19 + 30 + + Monster/Health/Health Base + + 0.3 + 2000 + 1481 + 1333 + 5.0 + + + + Character/NPC/Monster/Beast/Wolver/Bark + + Sound File + sound/effect/monster/wolver_death.ogg + + + + + + Character/NPC/Monster/Beast/Wolver/Warp (Instant) + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + 0.5, 2.0 + Teleport Spawn + + Variant + Ash + + + + + + Character/NPC/Monster/Beast/Wolver/Warp (Instant) + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + -0.5, -2.0 + Teleport Spawn + + Variant + Ash + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Warp + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + -1.5, -0.2 + Teleport Spawn + + Variant + Ash + + + Chain Condition + + + Next Attack + 5 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Warp + + Sound File + sound/effect/monster/wolver_spawn.ogg + Target Offset + 2.0, 1.0 + Teleport Spawn + + Variant + Ash + + + Chain Condition + + + Next Attack + 5 + + + + + + Character/NPC/Monster/Beast/Wolver/Bite, chain 1 + + Damage + + + Monster/Damage/Attack Base + + 4 + + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/wolver_spawn.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 2.0 + + Transient + + character/npc/monster/wolver/parts/fx_activate.dat + + Variant + Ash + + + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/wolver_spawn.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 2.0 + + Transient + + character/npc/monster/wolver/parts/fx_activate.dat + + Variant + Ash + + + + + + + + + + + + + + + Character/NPC/Monster/Beast/Wolver/Rabid Wolver/Rabid Wolver 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 1 (Base) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Poison + + Chance + 0.5 + Power + 30 + + + + + + Defense (Status) + + + + 2 + + + 8 + 50 + + + 257 + -25 + + + + Model + + character/npc/monster/wolver/model_poi.dat + + Aura + + Reacting Type + Knockdown + Variant + Wolver + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Wolver/Rabid Wolver/Rabid Wolver 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 2 (Base) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Poison 2 + + Chance + 0.5 + Power + 40 + + + + + + Defense (Status) + + + + 2 + + + 8 + 50 + + + 257 + -25 + + + + Model + + character/npc/monster/wolver/model_poi.dat + + Aura + + Reacting Type + Knockdown + Variant + Tier 2 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Wolver/Rabid Wolver/Rabid Wolver 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 3 (Base) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Poison 3 + + Chance + 0.5 + Power + 50 + + + + + + Defense (Status) + + + + 2 + + + 8 + 50 + + + 257 + -25 + + + + Model + + character/npc/monster/wolver/model_poi.dat + + Aura + + Reacting Type + Knockdown + Variant + Tier 3 + + + Warp Style + Dusk + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Wolver/Voltail/Voltail 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 1 (Base) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Shock + + Chance + 0.5 + Power + 30 + + + + + + Defense (Status) + + + + 16 + + + 8 + 50 + + + 257 + -25 + + + + Model + + character/npc/monster/wolver/model_sho.dat + + Aura + + Reacting Type + Knockdown + Variant + Wolver + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Wolver/Voltail/Voltail 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 2 (Base) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Shock 2 + + Chance + 0.5 + Power + 40 + + + + + + Defense (Status) + + + + 16 + + + 8 + 50 + + + 257 + -25 + + + + Model + + character/npc/monster/wolver/model_sho.dat + + Aura + + Reacting Type + Knockdown + Variant + Tier 2 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Wolver/Voltail/Voltail 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 3 (Base) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Shock 3 + + Chance + 0.5 + Power + 50 + + + + + + Defense (Status) + + + + 16 + + + 8 + 50 + + + 257 + -25 + + + + Model + + character/npc/monster/wolver/model_sho.dat + + Aura + + Reacting Type + Knockdown + Variant + Tier 3 + + + Warp Style + Dusk + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Wolver/Wolver (TG) + + + Wave Tag + implementation.tags.tags[3] + + + + + + character/npc/monster/wolver/model.dat + + Aura + + Variant + Wolver + + + 1.25 + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + + 3.1415927 + + character/npc/monster/wolver/animation/turn_left.dat + + + character/npc/monster/wolver/animation/turn_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + character/npc/monster/wolver/animation/activate.dat + + Sound File + sound/effect/monster/wolver_spawn.ogg + Variant + Yellow + + + + + 0.33 + + + + + + Treasure/Monster/Tutorial/Wolver (TG) + + + + + 8 + 79 + 2.5 + 5.2359877 + 20 + 80 + 1 + 9 + + Monster/Health/Health Base -10 + + 0.1 + 433 + 1481 + 1333 + 3.5 + + + + Character/NPC/Monster/Beast/Wolver/Bark + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (Y) + + Direction + Left + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (Y) + + Direction + Right + + + + + + Character/NPC/Monster/Beast/Wolver/Bark + + + + + Character/NPC/Monster/Beast/Wolver/Bark + + + + + Character/NPC/Monster/Beast/Wolver/Bite (Training Grounds) + + + + + + + 20 + 80 + 1 + 9 + + + 40 + 3 + 9 + + + 180 + 340 + 1 + 9 + + + 40 + 3 + 9 + + + 8 + 50 + + + + + + + Character/NPC/Monster/Beast/Wolver/Wolver/Wolver 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 1 (Base) + + Damage + + + Monster/Damage/Attack Base + + 4 + + Defense (Status) + + + + 8 + 50 + + + 257 + -25 + + + + Loot Table + + Treasure/Monster/Beast/Wolver/Wolver Loot + + Model + + character/npc/monster/wolver/model_nrm.dat + + Aura + + Reacting Type + Knockdown + Variant + Wolver + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Wolver/Wolver/Wolver 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 2 (Base) + + Damage + + + Monster/Damage/Attack Base + + 4 + + Defense (Status) + + + + 8 + 50 + + + 257 + -25 + + + + Loot Table + + Treasure/Monster/Beast/Wolver/Wolver Loot + + Model + + character/npc/monster/wolver/model_nrm.dat + + Aura + + Reacting Type + Knockdown + Variant + Tier 2 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Beast/Wolver/Wolver/Wolver 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Beast/Wolver/Parts/Tier 3 (Base) + + Damage + + + Monster/Damage/Attack Base + + 4 + + Defense (Status) + + + + 8 + 50 + + + 257 + -25 + + + + Loot Table + + Treasure/Monster/Beast/Wolver/Wolver Loot + + Model + + character/npc/monster/wolver/model_nrm.dat + + Aura + + Reacting Type + Knockdown + Variant + Tier 3 + + + Warp Style + Yellow + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/MiniProjectile + + + + Range + + + Speed + implementation.speed + + + Fuse + implementation.fuse + + + Sprite Speed + implementation.sprite.model["Speed"] + + + + + + Short + + Fuse + 500 + Speed + 4.0 + Sprite Speed + 6.0 + + + + + Medium + + Fuse + 750 + Speed + 6.0 + Sprite Speed + 3.0 + + + + + Long + + Fuse + 1000 + Speed + 8.0 + Sprite Speed + 2.0 + + + + Medium + + + Max Minions + implementation.detonation_action.condition.expression.second_operand.value + + + + + + particle/bullet/fx_jellyorb.dat + + Speed + 2.0 + Variant + Royal + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/jelly_death.ogg + Gain + 0.8 + Pitch + 1.1 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + 0.0, 0.0, -1.0 + + Transient + + particle/fx_jellydeath.dat + + Core + false + color + Royal + + + + + + + 0.15 + + 0 + 199 + 8.0 + true + 0.5 + 1.0, 0.0 + 1000 + + + + + + + + + + + Monster/Single Family/Slime/Scaled - Royal Mini + + Depth Offset + 0 + + + + + + Monster/Single Family/Slime/Scaled - Royal Mini + + Depth Offset + 0 + + + + + + Monster/Single Family/Slime/Scaled - Royal Mini + + Depth Offset + 0 + + + + + + Monster/Single Family/Slime/Scaled - Royal Mini + + Depth Offset + 0 + + + + + + + + + + + + Monster/Single Family/Slime/Scaled - Royal Mini + + Depth Offset + 0 + + + + + + Monster/Single Family/Slime/Scaled - Royal Mini + + Depth Offset + 0 + + + + + + Monster/Single Family/Slime/Scaled - Royal Mini + + Depth Offset + 0 + + + + + + + + + + + + Monster/Single Family/Slime/Scaled - Royal Mini + + Depth Offset + 0 + + + + + + Monster/Single Family/Slime/Scaled - Royal Mini + + Depth Offset + 0 + + + + + + + + + + Monster/Single Family/Slime/Scaled - Royal Mini + + Depth Offset + 0 + + + + + + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/MinionProjectile + + + + Range + + + Speed + implementation.speed + + + Fuse + implementation.fuse + + + Sprite Speed + implementation.sprite.model["Speed"] + + + + + + Short + + Fuse + 500 + Speed + 4.0 + Sprite Speed + 6.0 + + + + + Medium + + Fuse + 750 + Speed + 6.0 + Sprite Speed + 3.0 + + + + + Long + + Fuse + 1000 + Speed + 8.0 + Sprite Speed + 2.0 + + + + Medium + + + + + + particle/bullet/fx_jellyorb.dat + + Speed + 2.0 + Variant + Royal + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/jelly_death.ogg + Gain + 0.8 + Pitch + 1.1 + Range + Medium + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/monster/jelly/jelly_little_spawn_01.ogg + Gain + 1.0 + Pitch adjust + Higher 1 + Range + Medium + + + Transform + + 2.0 + 0.0, 0.0, -1.0 + + Transient + + particle/fx_jellydeath.dat + + Core + false + color + Royal + + + + + + + 0.15 + + 0 + 199 + 8.0 + true + 0.5 + 1.0, 0.0 + 1000 + + + + + + Monster/Single Family/Slime/Scaled - Jelly Cube + + Depth Offset + 0 + Wave Tag + loot_none + + + + + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Jelly (Base) + + + Hvy Minion Interval + implementation.behavior["Hvy Minion Interval"], implementation.handlers[3].action.action.actor["Hvy Minion Interval"] + + + Wave Tag + implementation.tags.tags[3], implementation.handlers[3].action.action.actor["Wave Tag"] + + + + + + character/npc/monster/royaljelly/model.dat + + Variant + Purple + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, large + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, boss + + Transform + + 2.0 + + Transient + + + + 3.0 + 2.8 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 0.5 + + + + + + + 1.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Lower 2 + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Lower 2 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 0.5 + + + + + + + 1.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + 3.0 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 1.5 + + + + + + 1.0 + false + + + + + + + 2 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 0.5, 0.0 + 200 + + + + + + + Monster/Heal/Heal Base -10 + + + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Jelly (Base) (Phase 2) + + Hvy Minion Interval + 15000 + Wave Tag + (Wave Tag) + + + + + + + 8 + 79 + 0.5 + 5.2359877 + 1200 + 1200 + 1 + 30 + + Monster/Health/Health Base +40 + + 0.2 + true + 7 + 0 + 1100 + 1.0 + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + true + + + 2 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Large + Impulse + Forward + Sound - Pitch adjust + Lower 3 + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Character/NPC/Monster/Boss/Royal Jelly/Parts/MiniProjectile + + Max Minions + 25 + Range + Long + + + Bullet 2 + + Color + 0.6, 0.0, 0.6, 1.0 + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 2 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Flare Color + Normal + Radius + 3.0 + Radius Graphic + + 2.0 + + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Character/NPC/Monster/Boss/Royal Jelly/Parts/MinionProjectile + + Range + Medium + + + Bullet 2 + + Color + 0.4, 0.0, 0.4, 1.0 + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 2 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Flare Color + Normal + Radius + 3.0 + Radius Graphic + + 2.0 + + + + + + + + + + Monster/Defense/Defense Base +05 + + + Monster/Defense/Defense Base +10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + + 1 + 100 + + + 2 + -15 + + + + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/MiniProjectile + + Max Minions + 25 + Range + Short + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/MiniProjectile + + Max Minions + 25 + Range + Short + + + + + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Jelly (Base) (Phase 2) + + + Hvy Minion Interval + implementation.behavior["Hvy Minion Interval"] + + + Wave Tag + implementation.tags.tags[3] + + + + + + character/npc/monster/royaljelly/model.dat + + Variant + Purple + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, large + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, boss + + Transform + + 2.0 + + Transient + + + + 3.0 + 2.8 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 0.5 + + + + + + + 1.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Lower 2 + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Lower 2 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 0.5 + + + + + + + 1.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + 3.0 + + Transient + + particle/fx_spawn_monster.dat + + + + + + CAMO + + character/npc/monster/royaljelly/model.dat + + Variant + Red + + + + + + + 1.5 + + + + + + Treasure/Monster/Slime/Royal Jelly Loot + + + + + + + 1.0 + false + + + + + + + 2 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 0.5, 0.0 + 200 + + + + + + + + + + Monster/Heal/Heal Base -05 + + + + + + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + + Gain + 1.0 + Range + Medium + + + Transform + + 0.5 + + Transient + + character/npc/monster/tortodrone/parts/fx_aggro.dat + + + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + + Gain + 1.0 + Range + Medium + + + Transform + + 0.5 + + Transient + + character/npc/monster/tortodrone/parts/fx_aggro.dat + + + + + + + + + + + + + 8 + 79 + 0.5 + 157.07964 + 1200 + 1200 + 1 + 30 + + Monster/Health/Health Base +30 + + 0.2 + true + 7 + 5500 + 1100 + 1.0 + true + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + true + + + 2 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Large + Impulse + Forward + Sound - Pitch adjust + Lower 3 + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Character/NPC/Monster/Boss/Royal Jelly/Parts/MiniProjectile + + Max Minions + 25 + Range + Long + + + Bullet 2 + + Color + 0.6, 0.0, 0.6, 1.0 + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 2 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Flare Color + Normal + Radius + 3.0 + Radius Graphic + + 2.0 + + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Character/NPC/Monster/Boss/Royal Jelly/Parts/MinionProjectile + + Range + Medium + + + Bullet 2 + + Color + 0.4, 0.0, 0.4, 1.0 + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 2 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Flare Color + Normal + Radius + 3.0 + Radius Graphic + + 2.0 + + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Tantrum Spin + + Bullet + + Character/NPC/Monster/Boss/Royal Jelly/Parts/MiniProjectile + + Max Minions + 25 + Range + Long + + + Bullet 2 + + Character/NPC/Monster/Boss/Royal Jelly/Parts/MiniProjectile + + Max Minions + 25 + Range + Short + + + Color + 0.6, 0.0, 0.6, 1.0 + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + true + + + 2 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Radius + 3.0 + Radius Graphic + + 2.0 + + + + + + + + + + + + + + + + + Monster/Defense/Defense Base +05 + + + Monster/Defense/Defense Base +10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + + 1 + 100 + + + 2 + -15 + + + + + + + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/MiniProjectile + + Max Minions + 25 + Range + Short + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/MiniProjectile + + Max Minions + 25 + Range + Short + + + + + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Mini/Parts/Jelly Cube + + + Model + implementation.sprite.model + + + Hit Sound + implementation.sprite.hit_transient["Sounder"]["Pitch shift"] + + + Sound - Movement pitch + implementation.sprite.movements[0].animation["Sound - Pitch adjust"] + + + Death Color + implementation.sprite.destruction_transient["Transient"]["Color"] + + + Death Size + implementation.sprite.destruction_transient["Transform"] + + + Death Sound + implementation.sprite.destruction_transient["Sounder"] + + + Creation Transient + implementation.sprite.creation_transient + + + Standing Jiggle + implementation.sprite.idles[0].animation["Speed"], implementation.sprite.targeted_idles[0].animation["Speed"] + + + Scale + implementation.sprite.scale + + + Attached Scale + implementation.sprite.attached_scale + + + Shape + implementation.shape + + + Idle Speed + implementation.speed + + + Target Speed + implementation.targeted_speed + + + Health + implementation.health + + + Health End + implementation.end_health + + + Defense + implementation.defense + + + Loot Table + implementation.handlers[0].action.action.spawn_table + + + Behavior + implementation.behavior + + + Attacks + implementation.attacks + + + Tags + implementation.tags.derived + + + Handler + implementation.handlers[1] + + + + Death Time + + + DT + implementation.death_time + + + + + + Instant + + DT + 100 + + + + + Blast Warning + + DT + 4000 + + + + Instant + + + + + + character/npc/monster/jellycube/model.dat + + Trail + + variant + pink + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 1 + + + Transform + + 0.8 + + Transient + + character/npc/monster/jellycube/fx_death.dat + + Color + pink + Core + true + Transform + + + + + + + 0.8 + 0.75 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 2.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Default + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Higher 1 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 2.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.4 + + + + + + + + + + + + 160 + 239 + 1.5 + 174.51547 + 115 + 1 + 30 + + Monster/Health/Health Base -10 + + 0.25 + 100 + 1100 + 2.5 + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + 1.0 + 4 + + Damage Region + Medium + Impulse + Backward + Sound - Pitch adjust + Default + + + + + + + + 100 + + + 25 + + + 1 + 100 + + + 14 + -65 + + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Mini/Parts/Royal Mini (Base) + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Mini/Parts/Jelly Cube + + Attached Scale + 0.45 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base -10 + + 4 + + Damage Region + Small + Impulse + Forward + Sound - Pitch adjust + Higher 3 + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Spawn, small + + Transform + + 0.75 + + Transient + + particle/fx_jellydeath.dat + + Core + false + color + Royal + + + + + Death Color + Royal + Death Size + + 0.5 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 4 + + + Death Time + Instant + Defense + + + + + Monster/Defense/Defense Base +05 + + + Monster/Defense/Defense Base +10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + + 1 + 50 + + + 14 + -50 + + + + Handler + + + Health + 20 + Health End + 720 + Hit Sound + Higher 2 + Idle Speed + 1.0 + Loot Table + + Model + + character/npc/monster/jellycube/minicube/model.dat + + Trail + + variant + royal + + + Scale + 0.5 + Shape + + 0.24 + + Sound - Movement pitch + Default + Standing Jiggle + 2.0 + Tags + + Target Speed + 2.5 + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Mini/Parts/Royal Mini (Base) No Despawn + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Mini/Parts/Jelly Cube + + Attached Scale + 0.45 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base -10 + + 4 + + Damage Region + Small + Impulse + Forward + Sound - Pitch adjust + Higher 3 + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Spawn, small + + Transform + + 0.75 + + Transient + + particle/fx_jellydeath.dat + + Core + false + color + Royal + + + + + Death Color + Royal + Death Size + + 0.5 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 4 + + + Death Time + Instant + Defense + + + + + Monster/Defense/Defense Base +05 + + + Monster/Defense/Defense Base +10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + + 1 + 50 + + + 14 + -50 + + + + Handler + + + Health + 20 + Health End + 720 + Hit Sound + Higher 2 + Idle Speed + 1.0 + Loot Table + + Model + + character/npc/monster/jellycube/minicube/model.dat + + Trail + + variant + royal + + + Scale + 0.5 + Shape + + 0.24 + + Sound - Movement pitch + Default + Standing Jiggle + 2.0 + Tags + + Target Speed + 2.5 + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Mini/Royal Mini 1 + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Mini/Parts/Royal Mini (Base) + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Mini/Royal Mini, No Despawn + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Mini/Parts/Royal Mini (Base) No Despawn + + + + + Character/NPC/Monster/Boss/Royal Jelly/Royal Jelly 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Jelly (Base) + + Hvy Minion Interval + 20000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Royal Jelly 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Jelly (Base) + + Hvy Minion Interval + 17500 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Royal Jelly 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Jelly (Base) + + Hvy Minion Interval + 15000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Bullet + + + + particle/bullet/bullet_simple.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.4 + Core Min + 0.3 + color + red + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Small + color + red + + + + + + + 0.1 + + 16 + 4 + 3.333 + true + 0.25 + 1.0, 0.0 + 2500 + + + + + + Monster/Damage/Attack Base -10 + + 4 + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Bullet (Invisible) + + + + + 0.1 + + 0 + 0 + true + 1.0 + 1750 + + + Character/NPC/Monster/Boss/Swarm/Part/Bullet + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Bullet (Orbit) + + + Starting Rotation + implementation.starting_rotation + + + Orbit Radius + implementation.orbit_radius + + + Speed + implementation.speed + + + Life + implementation.handlers[1].interval + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.7 + Core Min + 0.6 + Element + Simple + Flare + true + color + red + + + + 0.8 + 0.0, 0.0, 1.0 + + + + + world/environment/shadow/circle_glow.dat + + Blend + Translucent + Color + 0.0, 0.0, 0.0, 1.0 + Size + 2.0 + + + + + + model/viewer/sounder.dat + + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/gremlin_scorcher_fire.ogg + Gain + 1.0 + Pitch + 0.5 + Range + Short + + + Viewer Extents + 8 + + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/world/block_ghost.ogg + Gain + 0.25 + Pitch adjust + Higher 3 + Range + Long + + + Transform + + 0.0, 0.0, 1.0 + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Medium + color + red + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/weapon/avenger_chit.ogg + Gain + 0.25 + Pitch adjust + Higher 2 + Range + Long + + + Transform + + 0.0, 0.0, 1.0 + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Medium + color + red + + + + + + + 0.35 + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/tortodrone_missile1.ogg + Gain + 1.0 + Pitch + 1.3 + Range + Short + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Large + color + red + + + + + + + + + + + + 16 + 12 + 0.25 + 0.75 + + + + Character/NPC/Monster/Boss/Swarm/Part/Consumed Player Marker + + + + world/environment/shadow/decal.dat + + Color + 0.34117648, 0.0627451, 0.0627451, 1.0 + Size + 1.0 + Texture + particle/texture/get_hit.png + + + + particle/fx_spawn_monster.dat + + + 0 + 0 + + + + Character/NPC/Monster/Boss/Swarm/Part/Core + + + + character/npc/monster/swarm/model_core.dat + + 2.0 + + particle/fx_gethit_monster.dat + + + particle/fx_heal.dat + + + + 1.5 + + + + + + + + Monster/Boss/Swarm Eject + + + + + Character/NPC/Monster/Boss/Swarm/Part/Core + + + + + + + + + 0.0, 0.4 + 2000 + 20 + + 8 + + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Bullet (Orbit) + + Life + 1.0 + Orbit Radius + 5.0 + Speed + 0.125 + Starting Rotation + 1.5707964 + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Bullet (Orbit) + + Life + 1.0 + Orbit Radius + 6.0 + Speed + 0.125 + Starting Rotation + 1.5707964 + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Bullet (Orbit) + + Life + 1.0 + Orbit Radius + 7.0 + Speed + 0.125 + Starting Rotation + 1.5707964 + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Bullet (Orbit) + + Life + 1.0 + Orbit Radius + 8.0 + Speed + 0.125 + Starting Rotation + 1.5707964 + + + + + + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Bullet (Orbit) + + Life + 1.0 + Orbit Radius + 2.0 + Speed + -0.125 + Starting Rotation + 1.5707964 + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Bullet (Orbit) + + Life + 1.0 + Orbit Radius + 3.0 + Speed + -0.125 + Starting Rotation + 1.5707964 + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Bullet (Orbit) + + Life + 1.0 + Orbit Radius + 4.0 + Speed + -0.125 + Starting Rotation + 1.5707964 + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Bullet (Orbit) + + Life + 1.0 + Orbit Radius + 5.0 + Speed + -0.125 + Starting Rotation + 1.5707964 + + + + + + + + + + + + + + Character/NPC/Monster/Boss/Swarm/Pulse + + Direction + Out + + + + + + + + Character/NPC/Monster/Boss/Swarm/Pulse + + Direction + In + + + + + + + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Void Marker + + Wave Tag + swarm_minion2 + + + + + + + + + + + + + Monster/Heal/Heal Base -05 + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Bullet (Invisible) + + + + + 9 + 0.0 + 174.51547 + 3000 + 3000 + 30 + + Monster/Health/Health Base +20 + + 0.01 + true + 100 + 0 + 0 + 0.0 + true + true + + + + Character/NPC/Monster/Boss/Swarm/Pulse + + Direction + Out + + + + + + Character/NPC/Monster/Boss/Swarm/Pulse + + Direction + In + + + + + + Character/NPC/Monster/Boss/Swarm/Spawn Minion + + + + + Character/NPC/Monster/Boss/Swarm/Kill Minions + + + + + + Monster/Defense/Defense Base +05 + + + Monster/Defense/Defense Base +05 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +10 + + + + + + + + + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Shadow Monster/Void Gel + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Elemental + + Attached Scale + 1.0 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + + + Monster/Damage/Attack Base + + 4 + PIERCING + + Monster/Split/Split - Half + + + + 4 + + Poison 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Medium + Flare Color + None + Impulse + Forward + Sound - Pitch adjust + Default + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Bullet/Monster/Jelly Barb + + Damage + + + + + Monster/Damage/Attack Base -05 + + PIERCING + + Monster/Split/Split - Full + + + + 4 + + Poison 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Scale + Small + Style + Shadow + + + Bullet 2 + + Color + 0.4, 0.4, 0.4, 1.0 + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + + Flare Color + None + Radius + 1.0 + Radius Graphic + + 0.5 + + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + black + Death Size + + 1.2 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 2 + + + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +10 + + + Monster/Defense/Defense Base -05 + + + Monster/Defense/Defense Base -05 + + + + 1 + 50 + + + 2 + + + 12 + -50 + + + + End Depth + 30 + End Health + 1440 + Gas Interval + 1.0 + Gas Spawn + + Health + 720 + Health Scale + + Monster/Health/Health Base +05 + + Hit Sound + Lower 2 + Idle Speed + 1.0 + Loot Table + + Treasure/Health/Monster Health, small + + Model + + character/npc/monster/swarm/shadows/model_slime.dat + + Movement - Sound pitch + Lower 1 + Scale + 1.2 + Shape + + 0.45 + + Standing Jiggle + 0.9 + Start Depth + 19 + Target Speed + 2.5 + Walk Style + Scoot + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Shadow Monster/Void Gremlin + + + Wave Tag + implementation.actor["Wave Tag"] + + + Tags + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Gremlin/Parts/Gremlin Base + + Activate Type + Normal + Attacks + + + + Character/NPC/Monster/Gremlin/Generic/Dodge Back + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Gremlin/Generic/Close Ground + + Chain Condition + + + Next Attack + 4 + + + + + + Character/NPC/Monster/Gremlin/Generic/Use Potion + + Tier Power + 3 + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Swing + + Tier + 3 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Gremlin/Tank/Hammer Thwack + + Tier + 3 + + + Chain Condition + + + Next Attack + 3 + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Pushaway + + Tier + 3 + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Throw + + Tier + 3 + + + + + Behavior + + Body Type + Darkfang Thwacker + Damage Action + + Defense + + + + + + + + + + 5.0 + 5.0 + + + -2.75, 0.0 + + + + + + + 20 + 50 + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -05 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -05 + + + + + Drop Table + + Treasure/Health/Monster Health, small + + Health Scale + + Monster/Health/Health Base + + Job Tag + job_tank + Model + + character/npc/monster/swarm/shadows/model_gremlin.dat + + Rank Tag + rank_3 + Scale + 1.2 + Speed + 5.0 + Tags + + Wave Tag + swarm_minion + Weapon Style + One Handed + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Shadow Monster/Void Sentinel + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/swarm/shadows/model_lumber.dat + + + particle/model_fxscaler.dat + + Model + + particle/fx_spawn_monster.dat + + Transfrom + + 2.0 + + + + 1.45 + 1.8 + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.4 + Blend Out + 0.0 + Sound set + Null + Speed + 0.4 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Null + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Wood + + Pitch shift + Lower 2 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.05 + Blend Out + 0.0 + Sound set + Null + Speed + 0.4 + + + + + + + 3.2 + + character/npc/monster/darkknight/walking.dat + + Sound set + Null + + + + + + animation/common/spawn_scalein.dat + + Transform + + 1.2 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.72 + + + + + + Treasure/Health/Monster Health, small + + + + + 8 + 79 + 1.2 + 3.4906585 + 1440 + 2880 + 19 + 30 + + Monster/Health/Health Base +10 + + 2 + 0.4 + true + 5 + 433 + 2500 + 1100 + 1.6 + + + + Character/NPC/Monster/Construct/Ironwood Sentinel + + + + + + + + Monster/Defense/Defense Base +05 + + + Monster/Defense/Defense Base -05 + + + Monster/Defense/Defense Base -05 + + + Monster/Defense/Defense Base +05 + + + + 2 + + + 20 + -25 + 19 + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Shadow Monster/Void Wolver + + + Wave Tag + implementation.tags.tags[3] + + + + + + character/npc/monster/swarm/shadows/model_wolver.dat + + 1.25 + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + + 3.1415927 + + character/npc/monster/wolver/animation/turn_left.dat + + + character/npc/monster/wolver/animation/turn_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 5.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + character/npc/monster/wolver/animation/activate.dat + + Sound File + sound/effect/monster/wolver_spawn.ogg + Variant + Yellow + + + + + 0.33 + + + + + + Treasure/Health/Monster Health, small + + + + + 8 + 79 + 3.5 + 5.2359877 + 240 + 720 + 9 + 19 + + Monster/Health/Health Base + + 0.1 + 433 + 1481 + 1333 + 4.5 + + + + Character/NPC/Monster/Beast/Wolver/Bark + + Sound File + + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (Y) + + Direction + Left + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (Y) + + Direction + Right + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Beast/Wolver/Dodge (X) + + Direction + Left + + + Chain Condition + + + Next Attack + 5 + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (X) + + Direction + Backward + + + + + + Character/NPC/Monster/Beast/Wolver/Bite, chain 1 + + Damage + + + Monster/Damage/Attack Base + + 4 + + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -05 + + + Monster/Defense/Defense Base -05 + + + Monster/Defense/Defense Base + + + + 8 + 25 + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Shadow Monster/Void Zombie + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Parts/Zombie (Base) + + Attacks + + + + Character/NPC/Monster/Undead/Zombie/Zombie Swipe + + Status Condition + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Grapple + + Damage + + + + 4 + + + + Grab Duration + 3500 + Next Attack + 2 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 3 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 4 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 0 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Grapple + + Damage + + + + 4 + + + + Grab Duration + 2300 + Next Attack + 0 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Breath + + Breath Status Condition + + Stun 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Breath Variant + Dust + Chain Into + 7 + Warmup speed + 1.0 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Breath (loop) + + Breath Status Condition + + Stun 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Breath Variant + Dust + Chain Into (self) + 7 + + + + + Behavior + + Defense + + + + 11 + 130 + 170 + 19 + + + 4 + -25 + -25 + 19 + 29 + + + + Handlers + + + + + Treasure/Health/Monster Health, small + + + + + Health Scale + + Monster/Health/Health Base +05 + + Model + + character/npc/monster/swarm/shadows/model_zombie.dat + + React Time + 467 + Scale + 1.0 + Targeted Speed + 1.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Swarm Void + + + 2 + 1 + + world/skybox/consumed/model.dat + + + + + + + 22.5 + + + 8.25, 0.0 + + + + + 22.5 + + + -8.25, 0.0 + + + + + 22.5 + + + 0.0, 8.25 + + + + + 22.5 + + + 0.0, -8.25 + + + + + 22.5 + + + 6.0, 6.0 + 0.7853982 + + + + + 22.5 + + + -6.0, 6.0 + 2.3561945 + + + + + 22.5 + + + 6.0, -6.0 + -0.7853982 + + + + + 22.5 + + + -6.0, -6.0 + -2.3561945 + + + + + + + + + 0.0, 0.075 + 1000 + 20 + + 4 + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Core + + + + + 32 + 0 + + + + Character/NPC/Monster/Boss/Swarm/Part/Void Marker + + + Wave Tag + implementation.detonation_action.actions[0].action.actor["Wave Tag"], implementation.detonation_action.actions[1].action.actor["Wave Tag"], implementation.detonation_action.actions[2].action.actor["Wave Tag"], implementation.detonation_action.actions[3].action.actor["Wave Tag"], implementation.detonation_action.actions[4].action.actor["Wave Tag"] + + + + + + particle/fx_spawn_monster.dat + + + 0 + 0 + 1 + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Shadow Monster/Void Gremlin + + Tags + + Wave Tag + swarm_minion2 + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Shadow Monster/Void Zombie + + Wave Tag + swarm_minion2 + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Shadow Monster/Void Wolver + + Wave Tag + swarm_minion2 + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Shadow Monster/Void Gel + + Wave Tag + (Wave Tag) + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Shadow Monster/Void Sentinel + + Wave Tag + (Wave Tag) + + + + + + + + + + Character/NPC/Monster/Boss/Swarm/Swarm + + + + character/npc/monster/swarm/model.dat + + + + 5.0 + + + + + + + + + + + + -0.1, 0.05 + 100 + + + + + -0.1, 0.1 + 100 + 2 + + + + + + + + + + + Character/NPC/Monster/Boss/Swarm/Part/Consumed Player Marker + + + + + + + + + + Monster/Boss/Swarm Consume + + + + + + + + + + + + + + Monster/Boss/Swarm Corruption + + Density + Sparse + + + + + + Monster/Boss/Swarm Corruption + + Density + Light + + + + + + Monster/Boss/Swarm Corruption + + Density + Medium + + + + + + Monster/Boss/Swarm Corruption + + Density + Thick + + + + + + + + 0 + 0 + 10.0 + 174.51547 + + Dev Tests/Targeting Test 1 + + 99999 + 99999 + 1 + 1.0 + 20 + 0 + 0 + 2.5 + true + true + + + + Character/NPC/Monster/Boss/Swarm/Consume + + + + + + + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Mask Base + + + Tags + implementation.tags.derived + + + Behavior + implementation.behavior + + + Attacks + implementation.attacks + + + On Shutdown + implementation.handlers[2].action + + + + Stage + + + Tag + implementation.tags.tags[1] + + + + + + 1 + + Tag + boss_stage1 + + + + + 2 + + Tag + boss_stage2 + + + + + 3 + + Tag + boss_stage3 + + + + 3 + + + Speed + implementation.targeted_speed, implementation.speed + + + Health + implementation.health + + + + + + character/npc/monster/baron/parts/model_maskrig.dat + + Variant + Wet + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/vanaduke/vanduke_mask_shatter.ogg + Gain + 1.0 + Range + Long + + + Transform + + 1.5 + + Transient + + particle/fx_potshatter_fire.dat + + + + 1.75 + + + + character/npc/monster/baron/animations/animation_maskidle.dat + + + + + + 6.0 + + character/npc/monster/baron/animations/animation_maskidle.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Bones + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/baron/animations/animation_maskidle.dat + + + + + + 6.0 + + character/npc/monster/baron/animations/animation_maskidle.dat + + + + + character/npc/monster/baron/animations/animation_maskspawn.dat + + + + CAMO + + character/npc/monster/baron/parts/model_maskrig.dat + + Variant + Fire + + + + + + + 0.6 + + + (tag 1), (tag 2) + + + + + + + + + + + Monster Attacks/Boss/Vanaduke/Mask Count Down + + + + + + + + + + + + Monster/Damage/Attack Base -05 + + 4 + true + ELEMENTAL + + Monster/Split/Split - Full + + + + 4 + + Fire 3 + + Chance + 0.75 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Stun 3 + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + 5.0, 0.0 + 700 + 3 + + + + + + + + + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (douse, sml) + + Orbit Radius + 6.0 + Speed + 0.2 + Starting Rotation + 0.0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (douse, sml) + + Orbit Radius + 6.0 + Speed + 0.2 + Starting Rotation + 3.1415927 + + + + + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (douse, sml) + + Orbit Radius + 5.0 + Speed + -0.2 + Starting Rotation + 1.5707964 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (douse, sml) + + Orbit Radius + 5.0 + Speed + -0.2 + Starting Rotation + 4.712389 + + + + + + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (sml) + + Orbit Radius + 12.0 + Speed + -0.1 + Starting Rotation + 1.5707964 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (sml) + + Orbit Radius + 12.0 + Speed + -0.1 + Starting Rotation + 4.712389 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (sml) + + Orbit Radius + 12.0 + Speed + -0.1 + Starting Rotation + 0.0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (sml) + + Orbit Radius + 12.0 + Speed + -0.1 + Starting Rotation + 3.1415927 + + + + + + + + + + + + 8 + 79 + 2.0 + 174.53293 + 5000 + 5000 + 0.3 + 20 + 0 + 4000 + 2.0 + true + true + + + + + + + + 300 + + + 400 + + + 400 + + + 400 + + + 292 + + + 10 + 50 + + + 16 + 100 + + + 1 + 50 + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Mask Stage 1 + + + Character/NPC/Monster/Boss/Vanaduke/Mask Base + + Attacks + + + + Character/NPC/Monster/Boss/Vanaduke/Mask Bullet + + + + + + + + Behavior + + Health + 5000 + On Shutdown + + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Soul + + + Speed + 2.0 + Stage + 1 + Tags + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Mask Stage 2 + + + Character/NPC/Monster/Boss/Vanaduke/Mask Base + + Attacks + + + + Character/NPC/Monster/Boss/Vanaduke/Mask Bullet + + + + + Character/NPC/Monster/Boss/Vanaduke/Mask Bullet Diagonal + + + + + + Behavior + + Health + 5500 + On Shutdown + + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Soul + + + Speed + 2.0 + Stage + 2 + Tags + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Bullet + + + Color + implementation.sprite.model["color"], implementation.sprite.destruction_transient["Transient"]["color"] + + + + + + particle/bullet/bullet_simple.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.2 + color + yellow + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/weapon/gran_faust_chit.ogg + Gain + 0.6 + Pitch + 0.6 + Range + Medium + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Small + color + yellow + + + + + + + 0.1 + + + + + + 1040 + 133 + 3.333 + true + 1.0 + 0.4, 0.0 + 2500 + + + + + + Monster/Damage/Attack Base -10 + + ELEMENTAL + + Monster/Split/Split - Full + + + + 4 + + Fire 3 + + Chance + 0.5 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Falling Debri + + + Fire Tiles + implementation.detonation_action.actions[1].action.count + + + + + + character/npc/monster/baron/parts/fx_debrishadow.dat + + + character/npc/monster/baron/parts/fx_fallingdebri.dat + + Model + Fall + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/world/props/wooden_crash_05.ogg + Gain + 1.0 + Pitch adjust + Lower 3 + Range + Long + + + Transform + + + Transient + + character/npc/monster/baron/parts/fx_fallingdebri.dat + + Model + Hit + + + + + + 0 + 227 + 1675 + + + + + + + + 300.0 + 4 + + + 4 + + Stun 3 + + Chance + 0.5 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 4 + + Fire 3 + + Chance + 0.5 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + 1.0, 0.0 + 200 + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame Marker + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Falling Debri Marker + + + Fire Tiles + implementation.handlers[1].action.actor["Fire Tiles"] + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + + + + + 0.5 + + + + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Falling Debri + + Fire Tiles + 1 + + + + + + 0 + 227 + 500 + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame + + + Starting Rotation + implementation.starting_rotation + + + Orbit Radius + implementation.orbit_radius + + + Speed + implementation.speed + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + character/npc/monster/baron/parts/model_chainorbital.dat + + Chain + false + Eyes + true + + + + + + world/environment/shadow/circle_glow.dat + + Blend + Additive + Color + 0.53333336, 0.16078432, 0.0, 1.0 + Size + 2.0 + + + + + + model/viewer/sounder.dat + + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/gremlin_scorcher_fire.ogg + Gain + 1.0 + Pitch + 0.333 + Range + Short + + + Viewer Extents + 8 + + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/status/status_fire_pulse.ogg + Gain + 1.0 + Pitch + 0.8 + Range + Long + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Negative + Scale + Medium + color + yellow + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/weapon/cryotech_bolt_dissipate.ogg + Gain + 1.0 + Pitch + 0.7 + Range + Long + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Medium + color + yellow + + + + + + + 0.35 + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/tortodrone_missile1.ogg + Gain + 1.0 + Pitch + 1.3 + Range + Short + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Negative + Scale + Large + color + yellow + + + + + + + + + + 16 + 12 + 0.75 + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (douse) + + + Starting Rotation + implementation.actor["Starting Rotation"] + + + Orbit Radius + implementation.actor["Orbit Radius"] + + + Speed + implementation.actor["Speed"] + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (douse, base) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + true + ELEMENTAL + + Monster/Split/Split - Full + + + + 4 + + Fire 3 + + Chance + 1.0 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Knock-Back + + 2.0, 0.0 + 300 + 3 + + Model + + character/npc/monster/baron/parts/model_chainorbital.dat + + Chain + false + Eyes + true + + + Orbit Radius + 1.0 + Other Handler + + + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/gremlin_scorcher_fire.ogg + Gain + 1.0 + Pitch + 0.333 + Range + Short + + + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (douse, base) + + + Starting Rotation + implementation.starting_rotation + + + Orbit Radius + implementation.orbit_radius + + + Speed + implementation.speed + + + Other Handler + implementation.handlers[2] + + + Model + implementation.sprite.model["Models"][0].model + + + Sounder + implementation.sprite.model["Models"][2].model["Sounder"] + + + Damage + implementation.collision_action.actions[1].damage + + + Knock-Back + implementation.collision_action.actions[1].impulse_dealt + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + character/npc/monster/baron/parts/model_chainorbital.dat + + Chain + false + Eyes + true + + + + + + world/environment/shadow/circle_glow.dat + + Blend + Additive + Color + 0.53333336, 0.16078432, 0.0, 1.0 + Size + 2.0 + + + + + + model/viewer/sounder.dat + + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/gremlin_scorcher_fire.ogg + Gain + 1.0 + Pitch + 0.333 + Range + Short + + + Viewer Extents + 8 + + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/status/status_fire_pulse.ogg + Gain + 1.0 + Pitch + 0.8 + Range + Long + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Negative + Scale + Medium + color + yellow + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/weapon/cryotech_bolt_dissipate.ogg + Gain + 1.0 + Pitch + 0.7 + Range + Long + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Medium + color + yellow + + + + + + + INACTIVE + + particle/ambient_simpleglow_manual_nooffset.dat + + Alignment + BILLBOARD + Color + + + 0.0, 0.0, 0.0, 0.0 + 0.5411765, 0.6156863, 0.6901961, 0.1 + 0.0, 0.0, 0.0, 0.0 + 0.5 + 0.5 + + + Material + + Model/Translucent + + Fog + Disabled + Light Override + + + Pass Mode + Normal + Texture + + 2D/File/Default + + File + particle/texture/flare_nopoint.png + + + + + + + + + + + 0.35 + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/tortodrone_missile1.ogg + Gain + 1.0 + Pitch + 1.3 + Range + Short + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Negative + Scale + Large + color + yellow + + + + + + + + + + + + + + + + + + + + + + 144 + 12 + 0.75 + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (douse, sml) + + + Starting Rotation + implementation.actor["Starting Rotation"] + + + Orbit Radius + implementation.actor["Orbit Radius"] + + + Speed + implementation.actor["Speed"] + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (douse, base) + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Full + + + + 4 + + Fire 3 + + Chance + 0.33 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Knock-Back + + 1.0, 0.0 + 200 + 3 + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.7 + Core Min + 0.6 + Element + Fire + Flare + true + color + red + + + Orbit Radius + 1.0 + Other Handler + + + + + Character/NPC/Monster/Boss/Vanaduke/4 Bullet Spread (red) + + Delay + 0 + + + + + + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/gremlin_scorcher_fire.ogg + Gain + 1.0 + Pitch + 0.5 + Range + Short + + + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (sml) + + + Starting Rotation + implementation.starting_rotation + + + Orbit Radius + implementation.orbit_radius + + + Speed + implementation.speed + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.7 + Core Min + 0.6 + Element + Fire + Flare + true + color + red + + + + 0.8 + + + + + world/environment/shadow/circle_glow.dat + + Blend + Additive + Color + 0.3137255, 0.05882353, 0.0, 1.0 + Size + 2.0 + + + + + + model/viewer/sounder.dat + + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/gremlin_scorcher_fire.ogg + Gain + 1.0 + Pitch + 0.5 + Range + Short + + + Viewer Extents + 8 + + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/status/status_fire_pulse.ogg + Gain + 1.0 + Pitch + 0.8 + Range + Long + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Negative + Scale + Medium + color + yellow + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/weapon/cryotech_bolt_dissipate.ogg + Gain + 1.0 + Pitch + 0.7 + Range + Long + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Medium + color + yellow + + + + + + + 0.35 + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/tortodrone_missile1.ogg + Gain + 1.0 + Pitch + 1.3 + Range + Short + + + Transform + + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Negative + Scale + Large + color + yellow + + + + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/4 Bullet Spread (red) + + Delay + 0 + + + + + + 16 + 12 + 0.25 + 0.75 + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame Marker + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + + + + + 0.5 + + 0 + 227 + 500 + + + Dynamic/Traps and Hazards/Firestorm Fire Tile + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Marker + + + Actor + implementation.detonation_action.spawn_table["Actor"] + + + + + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Positive + Scale + Small + color + yellow + + + + 0 + 0 + 1 + + + default (Actor) + + Actor + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Soul + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + character/npc/monster/baron/parts/model_chainorbital.dat + + Chain + false + Eyes + true + + + + 0.0, 0.0, 1.0 + + + + + world/environment/shadow/circle_glow.dat + + Blend + Additive + Color + 0.5568628, 0.16862746, 0.0, 1.0 + Size + 2.0 + + + + + + + + particle/fx_fire_torch.dat + + Color + Hot Blue + Lifespan + 1 second + + + + particle/swing/vog_charged.dat + + + + 0.2 + + + + + + + + + + + + + + 0 + 79 + 9.0 + 174.51547 + 1 + 0 + 0 + 0 + 9.0 + true + true + + + + + + + + 5000 + + + 5000 + + + 5000 + + + 5000 + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Slag Walker Minion + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 3 (Base) + + Breath Color + Slag Walker + Breath Condition + + Fire 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 36 + + + 10 + 50 + + + 256 + 25 + + + + Head Drop + Slag + Loot Table + + Treasure/Health/Monster Health, small + + Model + + character/npc/monster/zombie/model_fir.dat + + Reaction + Flinch + + + Scale + 1.05 + Status Condition + + Fire 3 + + Chance + 0.2 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Boss/Vanaduke/Stage 1 + + + Character/NPC/Monster/Boss/Vanaduke/Vanaduke Base + + Activate + None + Attack While Camo + false + Attacks + + + + Character/NPC/Monster/Boss/Vanaduke/Club Slam (Stage 1) + + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + true + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Fire 3 + + Chance + 1.0 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 4 + + Stun 3 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Debri Count + 1 + Fire Tiles + 1 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Boss/Vanaduke/Shoulder Check + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + + + + Chain Condition + + + Next Attack + 0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Club Slam (Stage 1) + + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + true + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Fire 3 + + Chance + 1.0 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 4 + + Stun 3 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Debri Count + 1 + Fire Tiles + 1 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Call Minions + + Minions + Slag Walkers (4) + + + + + Behavior + + Monster/Boss/Vanaduke/Stage 1 + + Collision Mask + 79 + Death Time + 0 + Defense + + + + 360 + + + 300 + + + 400 + + + 400 + + + 3 + 50 + + + 24 + 50 + + + 292 + + + + Handlers + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Stage 1 Complete + + + + + + + + fire_barrier + + + + + Health + 15000 + No Mask + Stage1 + Sheen + Stage1 + Tags + + Variant + Masked + + + + + + Character/NPC/Monster/Boss/Vanaduke/Stage 1 Complete + + + Character/NPC/Monster/Boss/Vanaduke/Vanaduke Base + + Activate + None + Attack While Camo + true + Attacks + + + + + + Character/NPC/Monster/Boss/Vanaduke/Swap + + Swap Actor + + Character/NPC/Monster/Boss/Vanaduke/Stage 2 + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Mask + + Mask + + Character/NPC/Monster/Boss/Vanaduke/Mask Stage 1 + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Activate + + Mask + True + Minions + Nothing + + + + + + + Behavior + + Monster/Boss/Vanaduke/Stage 1 Complete + + Collision Mask + 0 + Death Time + 3000 + Defense + + + Handlers + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Flames + + Orbit Radius + 2.5 + Speed + 0.2 + + + + + + Health + 5000 + No Mask + Stage1 + Sheen + Stage1 + Tags + + Variant + Masked + + + + + + Character/NPC/Monster/Boss/Vanaduke/Stage 2 + + + Character/NPC/Monster/Boss/Vanaduke/Vanaduke Base + + Activate + None + Attack While Camo + false + Attacks + + + + Character/NPC/Monster/Boss/Vanaduke/Club Slam (Stage 1) + + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + true + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Fire 3 + + Chance + 1.0 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 4 + + Stun 3 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Debri Count + 1 + Fire Tiles + 1 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Boss/Vanaduke/Shoulder Check + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + + + + Chain Condition + + + Next Attack + 0 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Boss/Vanaduke/Shoulder Check + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + + + + Chain Condition + + + Next Attack + 0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Call Minions + + Minions + Slag Walkers (4) + + + + + Behavior + + Collision Mask + 79 + Death Time + 0 + Defense + + + + 360 + + + 300 + + + 400 + + + 400 + + + 3 + 50 + + + 24 + 50 + + + 292 + + + + Handlers + + + + + + Character/NPC/Monster/Boss/Vanaduke/Stage 2 Complete + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Flames + + Orbit Radius + 2.5 + Speed + 0.2 + + + + + + + Health + 15000 + No Mask + Stage2 + Sheen + Stage2 + Tags + + Variant + Masked + + + + + + Character/NPC/Monster/Boss/Vanaduke/Stage 2 Complete + + + Character/NPC/Monster/Boss/Vanaduke/Vanaduke Base + + Activate + None + Attack While Camo + true + Attacks + + + + + + Character/NPC/Monster/Boss/Vanaduke/Swap + + Swap Actor + + Character/NPC/Monster/Boss/Vanaduke/Stage 3 + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Mask + + Mask + + Character/NPC/Monster/Boss/Vanaduke/Mask Stage 2 + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Activate + + Mask + False + Minions + Nothing + + + + + Behavior + + Collision Mask + 0 + Death Time + 3000 + Defense + + + Handlers + + + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Flames + + Orbit Radius + 3.8 + Speed + -0.22 + + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Flames + + Orbit Radius + 2.5 + Speed + 0.2 + + + + + + Health + 5000 + No Mask + Stage4 + Sheen + Stage3 + Tags + + Variant + Masked + + + + + + Character/NPC/Monster/Boss/Vanaduke/Stage 3 + + + Character/NPC/Monster/Boss/Vanaduke/Vanaduke Base + + Activate + None + Attack While Camo + false + Attacks + + + + Character/NPC/Monster/Boss/Vanaduke/Club Slam (Stage 1) + + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + true + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Fire 3 + + Chance + 1.0 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 4 + + Stun 3 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Debri Count + 1 + Fire Tiles + 1 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Boss/Vanaduke/Shoulder Check + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + + + + Chain Condition + + + Next Attack + 0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Fire Snakes + + + + + Character/NPC/Monster/Boss/Vanaduke/Call Minions + + Minions + Slag Guards (2) + + + + + Behavior + + Collision Mask + 79 + Death Time + 20000 + Defense + + + + 360 + + + 300 + + + 400 + + + 400115 + + + 3 + 50 + + + 24 + 50 + + + 292 + + + + Handlers + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Flames + + Orbit Radius + 2.5 + Speed + 0.2 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Flames + + Orbit Radius + 3.6 + Speed + -0.22 + + + + + + + + + + + + + + + + + Treasure/Monster/Fiend/Vanaduke + + + + + Health + 15000 + No Mask + Stage4 + Sheen + Stage4 + Tags + + Variant + No Mask + + + + + + Character/NPC/Monster/Boss/Vanaduke/Vanaduke Base + + + Variant + implementation.sprite.model["Variant"] + + + Sheen + implementation.sprite.model["Sheen"] + + + No Mask + implementation.sprite.flag_models[0].model["Sheen"] + + + Behavior + implementation.behavior + + + Handlers + implementation.handlers + + + Death Time + implementation.death_time + + + Attacks + implementation.attacks + + + Defense + implementation.defense + + + Collision Mask + implementation.collision_mask + + + Attack While Camo + implementation.attack_while_camo + + + + Activate + + + Animation + implementation.sprite.activation + + + Time + implementation.activate_time + + + + + + None + + Animation + + Time + 0 + + + + + Animated + + Animation + + character/npc/monster/baron/animations/animation_spawn.dat + + Time + 3767 + + + + None + + + Tags + implementation.tags.derived + + + Health + implementation.health + + + + + + character/npc/monster/baron/model.dat + + Sheen + Stage1 + Variant + Masked + + + 3.0 + 3.0 + + + + character/npc/monster/baron/animations/animation_idle.dat + + + + + + 1.0 + + character/npc/monster/baron/animations/animation_walk.dat + + + + + + 2.0943952 + + character/npc/monster/baron/animations/animation_turn-left.dat + + + character/npc/monster/baron/animations/animation_turn-right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/world/props/mailbox_break.ogg + Gain + 1.0 + Pitch adjust + Lower 3 + Range + Long + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/baron/animations/animation_idle.dat + + + + + + 1.0 + + character/npc/monster/baron/animations/animation_walk.dat + + + + + + SECONDARY + + character/npc/monster/baron/model.dat + + Sheen + Stage1 + Variant + No Mask + + + + + + + 1.75 + + 136 + 79 + 3.0 + 1.5707964 + 15000 + 15000 + 2 + 1.0 + true + 10 + 0 + 30000 + 3.0 + + + + Character/NPC/Monster/Fiend/Dark Knight/Sword Slam + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Minions + + Minion + + + + + + + 50 + + + + + Character/NPC/Monster/Boss/Vanaduke/Vanaduke Start + + + Character/NPC/Monster/Boss/Vanaduke/Vanaduke Base + + Activate + None + Attack While Camo + true + Attacks + + + Behavior + + Collision Mask + 3 + Death Time + 3000 + Defense + + + Handlers + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Vanaduke Activated + + + vanaduke + + + + + vanaduke + + + + + activate + + + Health + 5000 + No Mask + Stage1 + Sheen + Stage1 + Tags + + vanaduke + + Variant + Masked + + + + + + Character/NPC/Monster/Boss/Vanaduke/Vanaduke Activated + + + Character/NPC/Monster/Boss/Vanaduke/Vanaduke Base + + Activate + None + Attack While Camo + true + Attacks + + + + Character/NPC/Monster/Fiend/Dark Knight/Sword Slam + + + + + Character/NPC/Monster/Boss/Vanaduke/Activate + + Mask + True + Minions + Slag Walkers (4) + + + + + + Character/NPC/Monster/Boss/Vanaduke/Monologue + + + + + Character/NPC/Monster/Boss/Vanaduke/Swap + + Swap Actor + + Character/NPC/Monster/Boss/Vanaduke/Stage 1 + + + + + + Behavior + + Monster/Boss/Vanaduke/Activated + + Collision Mask + 3 + Death Time + 3000 + Defense + + + Handlers + + + Health + 5000 + No Mask + Stage1 + Sheen + Stage1 + Tags + + + Variant + Masked + + + + + + Character/NPC/Monster/Boss/Vanaduke/_Mask Stage 3 + + + Character/NPC/Monster/Boss/Vanaduke/Mask Base + + Attacks + + + + Character/NPC/Monster/Boss/Vanaduke/Mask Bullet + + + + + Character/NPC/Monster/Boss/Vanaduke/Mask Bullet Diagonal + + + + + Character/NPC/Monster/Boss/Vanaduke/Mask Bullet Diagonal + + + + Behavior + + Health + 6000 + On Shutdown + + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Soul + + + Speed + 2.0 + Stage + 3 + Tags + + + + + + + Character/NPC/Monster/Boss/Vanaduke/_Stage 2 + + + Character/NPC/Monster/Boss/Vanaduke/Vanaduke Base + + Activate + None + Attack While Camo + false + Attacks + + + + Character/NPC/Monster/Boss/Vanaduke/Club Slam (Stage 1) + + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + true + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Fire 3 + + Chance + 1.0 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 4 + + Stun 3 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Debri Count + 1 + Fire Tiles + 1 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Boss/Vanaduke/Shoulder Check + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + + + + Chain Condition + + + Next Attack + 0 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Boss/Vanaduke/Shoulder Check + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + + + + Chain Condition + + + Next Attack + 0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Call Minions + + Minions + Slag Walkers (4) + + + + + Behavior + + Collision Mask + 79 + Death Time + 0 + Defense + + + + 360 + + + 300 + + + 400 + + + 400 + + + 3 + 50 + + + 24 + 50 + + + 292 + + + + Handlers + + + + + + Character/NPC/Monster/Boss/Vanaduke/Stage 2 Complete + + + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame + + Orbit Radius + 2.5 + Speed + 0.2 + Starting Rotation + 3.1415927 + + + + + + + + + Health + 15000 + No Mask + Stage2 + Sheen + Stage2 + Tags + + Variant + Masked + + + + + + Character/NPC/Monster/Boss/Vanaduke/_Stage 3 + + + Character/NPC/Monster/Boss/Vanaduke/Vanaduke Base + + Activate + None + Attack While Camo + false + Attacks + + + + Character/NPC/Monster/Boss/Vanaduke/Club Slam (Stage 1) + + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + true + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Fire 3 + + Chance + 1.0 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 4 + + Stun 3 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Debri Count + 1 + Fire Tiles + 1 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Boss/Vanaduke/Shoulder Check + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + + + + Chain Condition + + + Next Attack + 0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Fire Snakes + + + + + Character/NPC/Monster/Boss/Vanaduke/Call Minions + + Minions + Slag Walkers (6) + + + + + Behavior + + Collision Mask + 79 + Death Time + 0 + Defense + + + + 360 + + + 300 + + + 400 + + + 400 + + + 3 + 50 + + + 24 + 50 + + + 292 + + + + Handlers + + + + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame + + Orbit Radius + 2.5 + Speed + 0.2 + Starting Rotation + 0.0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame + + Orbit Radius + 4.5 + Speed + -0.15 + Starting Rotation + 2.0943952 + + + + + + + + + Health + 15000 + No Mask + Stage3 + Sheen + Stage3 + Tags + + Variant + Masked + + + + + + Character/NPC/Monster/Boss/Vanaduke/_Stage 3 Complete + + + Character/NPC/Monster/Boss/Vanaduke/Vanaduke Base + + Activate + None + Attack While Camo + true + Attacks + + + + + + Character/NPC/Monster/Boss/Vanaduke/Swap + + Swap Actor + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Mask + + Mask + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Activate + + Mask + False + Minions + Slag Guards (2) + + + + + Behavior + + Collision Mask + 0 + Death Time + 3000 + Defense + + + Handlers + + + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame + + Orbit Radius + 6.5 + Speed + 0.1 + Starting Rotation + 4.1887903 + + + + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame + + Orbit Radius + 2.5 + Speed + 0.2 + Starting Rotation + 0.0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame + + Orbit Radius + 4.5 + Speed + -0.15 + Starting Rotation + 2.0943952 + + + + + + + + Health + 5000 + No Mask + Stage3 + Sheen + Stage3 + Tags + + Variant + Masked + + + + + + Character/NPC/Monster/Construct/Gold Gun Puppy + + + Tags + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 3.0 + Element + None + Status + None + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 1.5 + + + Defense + Default + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Model + + character/npc/monster/gunpuppy/model.dat + + variant + gold + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Gun Puppy (No Loot) + + + Wave Tag + implementation.actor["Wave Tag"] + + + Behavior + implementation.actor["Behavior"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.0 + Element + None + Status + None + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 1.3 + + + Behavior + + Monster/Slime/Cube (Basic Targeting) + + Defense + Default + Handler + + + Health Scale + + Monster/Health/Health Base -10 + + Loot Table + + Model + + character/npc/monster/gunpuppy/model.dat + + variant + green + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Gun Puppy (TG) + + + Wave Tag + implementation.actor["Wave Tag"] + + + No Loot Tag + implementation.actor["No Loot Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 1.3 + + + Defense + Default + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Tutorial/Gun Puppy (TG) + + Model + + character/npc/monster/gunpuppy/model.dat + + variant + green + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Gun Puppy/Gun Puppy 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + No Loot Tag + implementation.actor["No Loot Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 1.3 + + + Defense + Default + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Gun Puppy Loot + + Model + + character/npc/monster/gunpuppy/model.dat + + variant + green + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Gun Puppy/Gun Puppy 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy (mkii) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 3.0 + Element + None + Status + None + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 1.25 + + + Defense + Default + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Gun Puppy Loot + + Model + + character/npc/monster/gunpuppy/model.dat + + variant + mkii + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Gun Puppy/Gun Puppy 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy (mkiii) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 3.5 + Element + None + Status + None + + + Sound + sound/effect/monster/gun_puppy_fire.ogg + Speed + 1.1 + + + Defense + Default + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Gun Puppy Loot + + Model + + character/npc/monster/gunpuppy/model.dat + + variant + mkiii + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Red Rover/Red Rover 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Red Rover + + Bullet + + Bullet/Monster/Flamethrower (Dynamic) + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + ELEMENTAL + + Monster/Split/Split - Full + + + + 4 + + Fire + + Chance + 0.5 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Mode + Straight + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 0.6 + + + Defense + Red Rover + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Red Rover Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + red + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Red Rover/Red Rover 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Red Rover + + Bullet + + Bullet/Monster/Flamethrower (Dynamic) + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + ELEMENTAL + + Monster/Split/Split - Full + + + + 4 + + Fire 2 + + Chance + 0.5 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Mode + Straight + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 0.6 + + + Defense + Red Rover + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Red Rover Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + red-mkii + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Red Rover/Red Rover 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Red Rover + + Bullet + + Bullet/Monster/Flamethrower (Dynamic) + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + ELEMENTAL + + Monster/Split/Split - Full + + + + 4 + + Fire 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Mode + Snake + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 0.6 + + + Defense + Red Rover + Handler + + + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Red Rover Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + red-mkiii + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Sick Puppy/Sick Puppy 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + No Loot Tag + implementation.actor["No Loot Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy (ele) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + Poison + Status + Poison + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 1.3 + + + Defense + Sick Puppy + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Sick Puppy Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + poi + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Sick Puppy/Sick Puppy 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy (mkii) (ele) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 3.0 + Element + Poison + Status + Poison 2 + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 1.25 + + + Defense + Sick Puppy + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Sick Puppy Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + poi-mkii + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Sick Puppy/Sick Puppy 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy (mkiii) (ele) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 3.5 + Element + Poison + Status + Poison 3 + + + Sound + sound/effect/monster/gun_puppy_fire.ogg + Speed + 1.1 + + + Defense + Sick Puppy + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Sick Puppy Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + poi-mkiii + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Slush Puppy/Slush Puppy 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + No Loot Tag + implementation.actor["No Loot Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy (ele) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + Freeze + Status + Freeze + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 1.3 + + + Defense + Slush Puppy + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Slush Puppy Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + fre + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Slush Puppy/Slush Puppy 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy (mkii) (ele) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 3.0 + Element + Freeze + Status + Freeze 3 + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 1.25 + + + Defense + Slush Puppy + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Slush Puppy Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + fre-mkiii + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Slush Puppy/Slush Puppy 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy (mkiii) (ele) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 3.5 + Element + Freeze + Status + Freeze 2 + + + Sound + sound/effect/monster/gun_puppy_fire.ogg + Speed + 1.1 + + + Defense + Slush Puppy + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Slush Puppy Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + fre-mkii + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Spark Puppy/Spark Puppy 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + No Loot Tag + implementation.actor["No Loot Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy (ele) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + Shock + Status + Shock + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 1.3 + + + Defense + Spark Puppy + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Spark Puppy Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + sho + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Spark Puppy/Spark Puppy 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy (mkii) (ele) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 3.0 + Element + Shock + Status + Shock 2 + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 1.25 + + + Defense + Spark Puppy + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Spark Puppy Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + sho-mkii + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Spark Puppy/Spark Puppy 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy (mkiii) (ele) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 3.5 + Element + Shock + Status + Shock 3 + + + Sound + sound/effect/monster/gun_puppy_fire.ogg + Speed + 1.1 + + + Behavior + + Gun Puppy + + Defense + Spark Puppy + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Spark Puppy Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + sho-mkiii + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Ironwood Sentinel/Ironwood Sentinel + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/lumber/lumber.dat + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + + + + Death FX + Lumber + Sound - Attack end + Lumber club + Sound - Attack fire + Lumber thud + Texture, body + + + + + particle/model_fxscaler.dat + + Model + + particle/fx_spawn_monster.dat + + Transfrom + + 2.0 + + + + 1.45 + 1.8 + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.4 + Blend Out + 0.0 + Sound set + Null + Speed + 0.4 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Null + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Custom/on_Hit/Wood + + Pitch shift + Lower 2 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.05 + Blend Out + 0.0 + Sound set + Null + Speed + 0.4 + + + + + + + 3.2 + + character/npc/monster/darkknight/walking.dat + + Sound set + Null + + + + + + animation/common/spawn_scalein.dat + + Transform + + 1.2 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.72 + + + + + + Treasure/Monster/Construct/Lumber/Ironwood Sentinel Loot + + + + + 8 + 79 + 1.2 + 3.4906585 + 1440 + 2880 + 19 + 30 + + Monster/Health/Health Base +10 + + 2 + 0.4 + true + 5 + 433 + 2500 + 1100 + 1.6 + + + + Character/NPC/Monster/Construct/Ironwood Sentinel + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + + 3 + 25 + + + 4 + -25 + + + 256 + + + + + + + Character/NPC/Monster/Construct/Love Puppy/Love Puppy + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Gun Puppy + + Bullet + + Bullet/Monster/Love Heart + + Sound + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Pitch + 1.6 + Range + Medium + + + Speed + 1.0 + + + Behavior + + Defense + Default + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Gun Puppy/Love Puppy Loot + + Model + + character/npc/monster/gunpuppy/model.dat + + variant + love + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Electreant/Electreant 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/electreant_1.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 1) + + Status Damage + + + + + Stun + + Chance + 0.333 + Power + 50 + + + + + 4 + + Shock + + Chance + 0.333 + Power + 50 + + + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/electreant_branches.png + + + Death FX + Redward + Defense + Electreant + Loot Table + + Treasure/Monster/Construct/Lumber/Electreant Loot + + Texture, body + character/npc/monster/lumber/electreant_1.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Electreant/Electreant 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/electreant_2.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 2) + + Status Damage + + + + + Stun 2 + + Chance + 0.667 + Power + 50 + + + + + 4 + + Shock 2 + + Chance + 0.667 + Power + 50 + + + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/electreant_branches.png + + + Death FX + Redward + Defense + Electreant + Loot Table + + Treasure/Monster/Construct/Lumber/Electreant Loot + + Texture, body + character/npc/monster/lumber/electreant_2.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Electreant/Electreant 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/electreant_3.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 3) + + Status Damage + + + + + Stun 3 + + Chance + 1.0 + Power + 50 + + + + + 4 + + Shock 3 + + Chance + 1.0 + Power + 50 + + + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/electreant_branches.png + + + Death FX + Redward + Defense + Electreant + Loot Table + + Treasure/Monster/Construct/Lumber/Electreant Loot + + Texture, body + character/npc/monster/lumber/electreant_3.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Lumber (TG) + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/lumber_1.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 1) + + Status Damage + + + Stun + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/lumber_branches.png + + + Death FX + Lumber + Defense + Default + Loot Table + + Treasure/Monster/Tutorial/Lumber (TG) + + Texture, body + character/npc/monster/lumber/lumber_1.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Lumber/Lumber 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/lumber_1.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 1) + + Status Damage + + + Stun + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/lumber_branches.png + + + Death FX + Lumber + Defense + Default + Loot Table + + Treasure/Monster/Construct/Lumber/Lumber Loot + + Texture, body + character/npc/monster/lumber/lumber_1.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Lumber/Lumber 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/lumber_2.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 2) + + Status Damage + + + Stun 2 + + Chance + 0.667 + Power + 50 + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/lumber_branches.png + + + Death FX + Lumber + Loot Table + + Treasure/Monster/Construct/Lumber/Lumber Loot + + Texture, body + character/npc/monster/lumber/lumber_2.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Lumber/Lumber 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/lumber_3.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 3) + + Status Damage + + + Stun 3 + + Chance + 1.0 + Power + 50 + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/lumber_branches.png + + + Death FX + Lumber + Loot Table + + Treasure/Monster/Construct/Lumber/Lumber Loot + + Texture, body + character/npc/monster/lumber/lumber_3.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + + Arm model + implementation.sprite.model["Arm model"] + + + Bits model + implementation.sprite.model["Bits model"] + + + Texture, body + implementation.sprite.model["Texture,, body"] + + + Death FX + implementation.sprite.model["Death FX"] + + + Attack - Slam + implementation.attacks[0].ref + + + Loot Table + implementation.handlers[0].action.spawn_table + + + + Defense + + + Thematic Immunity + implementation.defense.defenses[2].defenses + + + + + + Default + + Thematic Immunity + + + + + + + Electreant + + Thematic Immunity + + + 16 + + + + + + + Redward + + Thematic Immunity + + + 4 + + + + + + + Silversap + + Thematic Immunity + + + 8 + + + + + + + Vilewood + + Thematic Immunity + + + 2 + + + + + + Default + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/lumber/lumber.dat + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + + + + Death FX + Lumber + Sound - Attack end + Lumber club + Sound - Attack fire + Lumber thud + Texture, body + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Default + + Files + + + sound/effect/monster/lumber/lumber_spawn_01.ogg + + + Range + Long + + + Transform + + + Transient + + particle/model_fxscaler.dat + + Model + + particle/fx_spawn_monster.dat + + Transfrom + + 2.0 + + + + + + 1.16 + 1.4 + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.4 + Blend Out + 0.0 + Sound set + Null + Speed + 0.4 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Null + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Wood + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_lumber_hit.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.05 + Blend Out + 0.0 + Sound set + Null + Speed + 0.4 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Null + + + + + + animation/common/spawn_scalein.dat + + Transform + + 1.2 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.72 + + + + + + Treasure/Monster/Construct/Lumber/Lumber Loot + + + + + 8 + 79 + 1.2 + 2.7925267 + + Dev Tests/Targeting Test 1 + + 80 + 320 + 1 + 9 + + Monster/Health/Health Base +10 + + 2 + 0.4 + true + 5 + 433 + 2500 + 1100 + 1.6 + + + + Character/NPC/Monster/Construct/Lumber + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + + + + 3 + 25 + + + 4 + -25 + + + 256 + + + + + + + + + + + Character/NPC/Monster/Construct/Lumber/Redward/Redward 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/redward_1.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 1) + + Status Damage + + + + + Stun + + Chance + 0.333 + Power + 50 + + + + + 4 + + Fire + + Chance + 0.333 + Power + 50 + + + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/redward_branches.png + + + Death FX + Redward + Defense + Redward + Loot Table + + Treasure/Monster/Construct/Lumber/Redward Loot + + Texture, body + character/npc/monster/lumber/redward_1.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Redward/Redward 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/redward_2.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 2) + + Status Damage + + + Stun 2 + + Chance + 0.667 + Power + 50 + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/redward_branches.png + + + Death FX + Redward + Defense + Redward + Loot Table + + Treasure/Monster/Construct/Lumber/Redward Loot + + Texture, body + character/npc/monster/lumber/redward_2.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Redward/Redward 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/redward_3.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 3) + + Status Damage + + + Stun 3 + + Chance + 1.0 + Power + 50 + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/redward_branches.png + + + Death FX + Redward + Defense + Redward + Loot Table + + Treasure/Monster/Construct/Lumber/Redward Loot + + Texture, body + character/npc/monster/lumber/redward_3.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Silversap/Silversap 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/silversap_1.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 1) + + Status Damage + + + + + Stun + + Chance + 0.333 + Power + 50 + + + + + 4 + + Freeze + + Chance + 0.333 + Power + 50 + + + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/silversap_branches.png + + + Death FX + Redward + Defense + Silversap + Loot Table + + Treasure/Monster/Construct/Lumber/Silversap Loot + + Texture, body + character/npc/monster/lumber/silversap_1.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Silversap/Silversap 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/silversap_2.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 2) + + Status Damage + + + + + Stun 2 + + Chance + 0.667 + Power + 50 + + + + + 4 + + Freeze 2 + + Chance + 0.667 + Power + 50 + + + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/silversap_branches.png + + + Death FX + Redward + Defense + Silversap + Loot Table + + Treasure/Monster/Construct/Lumber/Silversap Loot + + Texture, body + character/npc/monster/lumber/silversap_2.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Silversap/Silversap 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/silversap_3.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 3) + + Status Damage + + + + + Stun 3 + + Chance + 1.0 + Power + 50 + + + + + 4 + + Freeze 3 + + Chance + 1.0 + Power + 50 + + + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/silversap_branches.png + + + Death FX + Redward + Defense + Silversap + Loot Table + + Treasure/Monster/Construct/Lumber/Silversap Loot + + Texture, body + character/npc/monster/lumber/silversap_3.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Vilewood/Vilewood 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/vilewood_1.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 1) + + Status Damage + + + + + Stun + + Chance + 0.333 + Power + 50 + + + + + 4 + + Poison + + Chance + 0.333 + Power + 50 + + + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/vilewood_branches.png + + + Death FX + Redward + Defense + Vilewood + Loot Table + + Treasure/Monster/Construct/Lumber/Vilewood Loot + + Texture, body + character/npc/monster/lumber/vilewood_1.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Vilewood/Vilewood 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/vilewood_2.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 2) + + Status Damage + + + + + Stun 2 + + Chance + 0.667 + Power + 50 + + + + + 4 + + Poison 2 + + Chance + 0.667 + Power + 50 + + + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/vilewood_branches.png + + + Death FX + Redward + Defense + Vilewood + Loot Table + + Treasure/Monster/Construct/Lumber/Vilewood Loot + + Texture, body + character/npc/monster/lumber/vilewood_2.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Lumber/Vilewood/Vilewood 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Lumber (base) + + Arm model + + character/npc/monster/lumber/lumber_arm.dat + + Texture file + character/npc/monster/lumber/vilewood_3.png + + + Attack - Slam + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 3) + + Status Damage + + + + + Stun 3 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 4 + + Poison 3 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Bits model + + character/npc/monster/lumber/lumber_bits.dat + + Texture file + character/npc/monster/lumber/vilewood_branches.png + + + Death FX + Redward + Defense + Vilewood + Loot Table + + Treasure/Monster/Construct/Lumber/Vilewood Loot + + Texture, body + character/npc/monster/lumber/vilewood_3.png + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight Bodyguard/Sword/Mecha Knight Bodyguard + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Mecha Knight Bodyguard/Sword/Parts/Sword (Base) + + Defense + Default + Depth End + 9 + Depth Start + 1 + Health + 200 + Health End + 566 + Health Scale + + Monster/Health/Health Base +05 + + Shock Chance + 0.3 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight Bodyguard/Sword/Mecha Knight Bodyguard 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Mecha Knight Bodyguard/Sword/Parts/Sword (Base) + + Defense + Default + Depth End + 19 + Depth Start + 9 + Health + 560 + Health End + 720 + Health Scale + + Monster/Health/Health Base +05 + + Shock Chance + 0.15 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight Bodyguard/Sword/Mecha Knight Bodyguard 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Mecha Knight Bodyguard/Sword/Parts/Sword (Base) + + Defense + Default + Depth End + 30 + Depth Start + 19 + Health + 720 + Health End + 800 + Health Scale + + Monster/Health/Health Base +05 + + Shock Chance + 0.075 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight Bodyguard/Sword/Parts/Sword (Base) + + + Health + implementation.actor["Health"] + + + Health End + implementation.actor["Health End"] + + + Health Scale + implementation.actor["Health Scale"] + + + Defense + implementation.actor["Defense"] + + + Depth Start + implementation.actor["Health Start Depth"] + + + Depth End + implementation.actor["Health End Depth"] + + + Shock Chance + implementation.actor["Shock Chance"] + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword 3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack 1 Chain Condition + + + Attack 2 Chain Condition + + + Attack Time Scale + 2.0 + Chain End Speed + 1.5 + Charge Attack + + Weapon/Sword/Calibur (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base (Charged) + + 2 + true + + + + + + Charge Time Scale + 1.0 + Damage + + + + + PC/Damage/Sword/Sword Base + + 2 + + + + Defense + Default + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flare Color (Charge Attack) + None + Handler1 + + + + + + + + Basic + + Lifespan + 2000 + Model + + particle/monster_death.dat + + Color + Energy Blue + + + + + + + + + + + + + Health + 500 + Health End + 400 + Health End Depth + 30 + Health Scale + + Monster/Health/Health Base + + Health Start Depth + 1 + Loot Table + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + defender(blue) + + + Weapon + + item/weapon/sword/calibur/model.dat + + variant + calibur(blue) + + + variant + energy + + + Scale + 1.2 + Shield + True + Shock Chance + 0.333 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 1.0, 1.0, 1.0 + Swing Color In/Out + 0.2, 1.0, 1.0, 0.0 + Swing Color Middle + 0.6, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + Target Mode + Friend + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Cryo Knight/Cryo Knight 1 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 1 (Base) + + Charge FX + + particle/swing/proto_charged.dat + + Color + Proto + + + Damage (Status) + + 4 + + Freeze + + Chance + 0.2 + Power + 25 + + + + Damage Charge (Status) + + 4 + + Freeze + + Chance + 0.5 + Power + 25 + + + + Defense (Status) + Cryo Knight + Flare Color + Elemental + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Cryo Knight Loot + + Model + + character/npc/monster/mechaknight/model_status.dat + + Color + Freeze + variant + mk1 + + + Secondary Damage + ELEMENTAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 0.4, 0.6, 1.0 + Swing Color In/Out + 0.0, 0.4, 0.6, 0.0 + Swing Color Middle + 0.6, 0.6, 0.6, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Cryo Knight/Cryo Knight 2 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 2 (Base) + + Charge FX + + particle/swing/icewave.dat + + Damage (Status) + Default + Damage Charge (Status) + + 4 + + Freeze 2 + + Chance + 0.55 + Power + 50 + + + + Defense (Status) + Cryo Knight + Flare Color + Elemental + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Cryo Knight Loot + + Model + + character/npc/monster/mechaknight/model_status.dat + + Color + Freeze + variant + mk2 + + + Secondary Damage + ELEMENTAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 0.4, 0.6, 1.0 + Swing Color In/Out + 0.0, 0.4, 0.6, 0.0 + Swing Color Middle + 0.6, 0.6, 0.6, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Cryo Knight/Cryo Knight 3 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 3 (Base) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.0 + Element + Freeze + Status + Freeze 3 + + + Charge FX + + particle/swing/icewave.dat + + Damage (Status) + + 4 + + Freeze 3 + + Chance + 0.2 + Power + 100 + + + + Damage Charge (Status) + + 4 + + Freeze 3 + + Chance + 0.6 + Power + 100 + + + + Defense (Status) + Cryo Knight + Flare Color + Elemental + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Cryo Knight Loot + + Model + + character/npc/monster/mechaknight/model_status.dat + + Color + Freeze + variant + mk3 + + + Secondary Damage + ELEMENTAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 0.4, 0.6, 1.0 + Swing Color In/Out + 0.0, 0.4, 0.6, 0.0 + Swing Color Middle + 0.6, 0.6, 0.6, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Firo Knight/Firo Knight 1 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 1 (Base) + + Charge FX + + particle/swing/proto_charged.dat + + Color + Cautery Sword + + + Damage (Status) + + 4 + + Fire + + Chance + 0.2 + Power + 25 + + + + Damage Charge (Status) + + 4 + + Fire + + Chance + 0.5 + Power + 25 + + + + Defense (Status) + Firo Knight + Flare Color + Elemental + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Firo Knight Loot + + Model + + character/npc/monster/mechaknight/model_status.dat + + Color + Fire + variant + mk1 + + + Secondary Damage + ELEMENTAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.6, 0.0, 0.0, 1.0 + Swing Color In/Out + 0.6, 0.0, 0.0, 0.0 + Swing Color Middle + 1.0, 0.4, 0.0, 1.0 + Texture + particle/texture/flame_lick_01.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Firo Knight/Firo Knight 2 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 2 (Base) + + Charge FX + + particle/swing/vog_charged.dat + + Damage (Status) + Default + Damage Charge (Status) + + 4 + + Fire 2 + + Chance + 0.55 + Power + 50 + + + + Defense (Status) + Firo Knight + Flare Color + Elemental + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Firo Knight Loot + + Model + + character/npc/monster/mechaknight/model_status.dat + + Color + Fire + variant + mk2 + + + Secondary Damage + ELEMENTAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.6, 0.0, 0.0, 1.0 + Swing Color In/Out + 0.6, 0.0, 0.0, 0.0 + Swing Color Middle + 1.0, 0.4, 0.0, 1.0 + Texture + particle/texture/flame_lick_01.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Firo Knight/Firo Knight 3 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 3 (Base) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.0 + Element + Fire + Status + Fire 3 + + + Charge FX + + particle/swing/vog_charged.dat + + Damage (Status) + + 4 + + Fire 3 + + Chance + 0.2 + Power + 100 + + + + Damage Charge (Status) + + 4 + + Fire 3 + + Chance + 0.6 + Power + 100 + + + + Defense (Status) + Firo Knight + Flare Color + Elemental + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Firo Knight Loot + + Model + + character/npc/monster/mechaknight/model_status.dat + + Color + Fire + variant + mk3 + + + Secondary Damage + ELEMENTAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.6, 0.2, 0.0, 1.0 + Swing Color In/Out + 0.6, 0.0, 0.0, 0.0 + Swing Color Middle + 1.0, 0.6, 0.0, 1.0 + Texture + particle/texture/flame_lick_01.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Mecha Knight/Mecha Knight 1 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 1 (Base) + + Charge FX + + particle/swing/proto_charged.dat + + Color + Cautery Sword + + + Damage (Status) + + 0 + + Damage Charge (Status) + + 0 + + Defense (Status) + Default + Flare Color + Normal + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + Weapon + + item/weapon/npc/mechaknight/model_sword.dat + + Color + Normal + variant + mechasword mk1 + + + variant + mk1 + + + Secondary Damage + NORMAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.7019608, 0.0, 0.0, 1.0 + Swing Color In/Out + 0.5686275, 0.0, 0.0, 0.0 + Swing Color Middle + 0.7058824, 0.0, 0.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Mecha Knight/Mecha Knight 2 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 2 (Base) + + Charge FX + + particle/swing/calibur_charged.dat + + Variant + Coldiron + + + Damage (Status) + Default + Damage Charge (Status) + + 0 + + Defense (Status) + Default + Flare Color + Normal + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + item/gear/shield/buckler/model.dat + + variant + mechashield mk2 + + + Weapon + + item/weapon/npc/mechaknight/model_sword.dat + + Color + Normal + variant + mechasword mk2 + + + variant + mk2 + + + Secondary Damage + NORMAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.5764706, 0.0, 0.0, 1.0 + Swing Color In/Out + 0.61960787, 0.0, 0.0, 0.0 + Swing Color Middle + 0.67058825, 0.0, 0.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Mecha Knight/Mecha Knight 3 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 3 (Base) + + Bullet + + Bomb/Monster/Demo Mine (Drop) + + Tier + 3 + + + Charge FX + + particle/swing/calibur_charged.dat + + Variant + Coldiron + + + Damage (Status) + + 0 + + Damage Charge (Status) + + 0 + + Defense (Status) + Default + Flare Color + Normal + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + mechashield + + + Weapon + + item/weapon/npc/mechaknight/model_sword.dat + + Color + Normal + variant + mechasword mk3 + + + variant + mk3 + + + Secondary Damage + NORMAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.5803922, 0.0, 0.0, 1.0 + Swing Color In/Out + 0.5254902, 0.0, 0.0, 0.0 + Swing Color Middle + 0.52156866, 0.0, 0.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 1 (Base) + + + Model + implementation.actor["Model"] + + + Damage (Status) + implementation.actor["Damage"].damages[1] + + + Damage Charge (Status) + implementation.actor["Charge Attack"]["Damage"].damages[1] + + + Swing FX + implementation.actor["Swing FX"] + + + Charge FX + implementation.actor["Charge Attack"]["Swing"] + + + Loot Table + implementation.actor["Loot Table"] + + + Flare Color + implementation.actor["Flare Color (Charge Attack)"] + + + Secondary Damage + implementation.actor["Charge Attack"]["Damage"].damages[0].type2, implementation.actor["Damage"].damages[0].type2 + + + Defense (Status) + implementation.actor["Defense"] + + + Tags + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword 3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Time Scale + 1.8 + Chain End Speed + 1.5 + Charge Attack + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + true + + + 4 + + + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 150 + 500 + + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Default + Start Speed + 1.9 + Swing + + particle/swing/proto_charged.dat + + Color + Proto + + + + + Charge Time Scale + 1.0 + Damage + + + + + Monster/Damage/Attack Base + + + Monster/Split/Split - Half + + + + 4 + + + + Defense + Default + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flare Color (Charge Attack) + Elemental + Handler1 + + + Health + 40 + Health End + 240 + Health End Depth + 9 + Health Scale + + Monster/Health/Health Base +05 + + Health Start Depth + 1 + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + Weapon + + item/weapon/sword/proto/model.dat + + variant + mechasword mk1 + + + variant + mk1 + + + Scale + 1.1 + Shield + False + Shock Chance + 0.333 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.59607846, 1.0, 0.4, 1.0 + Swing Color In/Out + 0.19607843, 0.8, 0.0, 0.0 + Swing Color Middle + 0.59607846, 1.0, 0.4, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + Target Mode + Foe + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 2 (Base) + + + Model + implementation.actor["Model"] + + + Damage (Status) + implementation.actor["Defense"] + + + Damage Charge (Status) + implementation.actor["Charge Attack"]["Damage"].damages[1] + + + Swing FX + implementation.actor["Swing FX"] + + + Charge FX + implementation.actor["Charge Attack"]["Swing"] + + + Loot Table + implementation.actor["Loot Table"] + + + Flare Color + implementation.actor["Flare Color (Charge Attack)"] + + + Secondary Damage + implementation.actor["Charge Attack"]["Damage"].damages[0].type2, implementation.actor["Damage"].damages[0].type2 + + + Defense (Status) + implementation.actor["Defense"] + + + Tags + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword 3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Time Scale + 2.0 + Chain End Speed + 1.5 + Charge Attack + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Round House) + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Shock 2 + + Chance + 0.55 + Power + 50 + + + + + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 200 + 300 + + Knock-Back + + 3.5, 0.0 + 300 + 3 + + Radius + 1.0 + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Default + Start Speed + 2.75 + Swing + + particle/swing/calibur_charged.dat + + Variant + Calibur + + + + + Charge Time Scale + 1.0 + Damage + + + + + Monster/Damage/Attack Base + + + Monster/Split/Split - Half + + + + 4 + + Shock 2 + + Chance + 0.2 + Power + 50 + + + + + + Defense + Default + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flare Color (Charge Attack) + Elemental + Handler1 + + + Health + 240 + Health End + 720 + Health End Depth + 19 + Health Scale + + Monster/Health/Health Base +05 + + Health Start Depth + 9 + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + item/gear/shield/buckler/model.dat + + variant + mechashield mk2 + + + Weapon + + item/weapon/sword/proto/model.dat + + variant + mechasword mk2 + + + variant + mk2 + + + Scale + 1.15 + Shield + True + Shock Chance + 0.222 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 1.0, 1.0, 1.0 + Swing Color In/Out + 0.0, 0.2, 1.0, 0.0 + Swing Color Middle + 0.0, 1.0, 0.6, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + Target Mode + Foe + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 3 (Base) + + + Model + implementation.actor["Model"] + + + Damage (Status) + implementation.actor["Damage"].damages[1] + + + Damage Charge (Status) + implementation.actor["Charge Attack"]["Damage"].damages[1] + + + Bullet + implementation.actor["Charge Attack"]["Extra Action"]["Action"].actions[0].actor, implementation.actor["Charge Attack"]["Extra Action"]["Action"].actions[1].actor, implementation.actor["Charge Attack"]["Extra Action"]["Action"].actions[2].actor, implementation.actor["Charge Attack"]["Extra Action"]["Action"].actions[3].actor + + + Swing FX + implementation.actor["Swing FX"] + + + Charge FX + implementation.actor["Charge Attack"]["Swing"] + + + Loot Table + implementation.actor["Loot Table"] + + + Flare Color + implementation.actor["Flare Color (Charge Attack)"] + + + Secondary Damage + implementation.actor["Damage"].damages[0].type2, implementation.actor["Charge Attack"]["Damage"].damages[0].type2 + + + Defense (Status) + implementation.actor["Defense"] + + + Tags + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword 3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Time Scale + 2.2 + Chain End Speed + 1.5 + Charge Attack + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Round House) + + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Shock 3 + + Chance + 0.6 + Power + 100 + + + + + + End Speed + 0.75 + Extra Action + + Base/Default + + Action + + + + + Bullet/Monster/Mechaknight + + Status Attack + + Shock 3 + + Chance + 0.55 + Power + 50 + + + + + + + + Bullet/Monster/Mechaknight + + Status Attack + + Shock 3 + + Chance + 0.55 + Power + 50 + + + + + + + + Bullet/Monster/Mechaknight + + Status Attack + + Shock 3 + + Chance + 0.55 + Power + 50 + + + + + + + + Bullet/Monster/Mechaknight + + Status Attack + + Shock 3 + + Chance + 0.55 + Power + 50 + + + + + + + + Delay + 90 + + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 200 + 300 + + Knock-Back + + 3.5, 0.0 + 300 + 3 + + Radius + 1.0 + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Default + Start Speed + 2.75 + Swing + + particle/swing/calibur_charged.dat + + Variant + Calibur + + + + + Charge Time Scale + 1.0 + Damage + + + + + Monster/Damage/Attack Base + + + Monster/Split/Split - Half + + + + 4 + + Shock 3 + + Chance + 0.2 + Power + 100 + + + + + + Defense + Default + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flare Color (Charge Attack) + Elemental + Handler1 + + + Health + 720 + Health End + 1440 + Health End Depth + 30 + Health Scale + + Monster/Health/Health Base +05 + + Health Start Depth + 19 + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + mechashield + + + Weapon + + item/weapon/sword/proto/model.dat + + variant + mechasword mk3 + + + variant + mk3 + + + Scale + 1.2 + Shield + True + Shock Chance + 0.111 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 0.99215686, 1.0, 1.0 + Swing Color In/Out + 0.0, 0.20784314, 1.0, 0.0 + Swing Color Middle + 0.0, 1.0, 0.60784316, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + Target Mode + Foe + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Poison Knight/Poison Knight 1 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 1 (Base) + + Charge FX + + particle/swing/proto_charged.dat + + Color + Proto + + + Damage (Status) + + 4 + + Poison + + Chance + 0.2 + Power + 25 + + + + Damage Charge (Status) + + 4 + + Poison + + Chance + 0.5 + Power + 25 + + + + Defense (Status) + Poison Knight + Flare Color + Elemental + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Blight Knight Loot + + Model + + character/npc/monster/mechaknight/model_status.dat + + Color + Poison + variant + mk1 + + + Secondary Damage + ELEMENTAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 0.4, 0.2, 1.0 + Swing Color In/Out + 0.0, 0.8, 0.2, 0.0 + Swing Color Middle + 0.0, 0.8, 0.2, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Poison Knight/Poison Knight 2 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 2 (Base) + + Charge FX + + particle/swing/calibur_charged.dat + + Variant + Poison + + + Damage (Status) + Default + Damage Charge (Status) + + 4 + + Poison 2 + + Chance + 0.55 + Power + 50 + + + + Defense (Status) + Poison Knight + Flare Color + Elemental + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Blight Knight Loot + + Model + + character/npc/monster/mechaknight/model_status.dat + + Color + Poison + variant + mk2 + + + Secondary Damage + ELEMENTAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 0.4, 0.2, 1.0 + Swing Color In/Out + 0.0, 0.8, 0.2, 0.0 + Swing Color Middle + 0.0, 0.8, 0.2, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Poison Knight/Poison Knight 3 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 3 (Base) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.0 + Element + Poison + Status + Poison 3 + + + Charge FX + + particle/swing/calibur_charged.dat + + Variant + Poison + + + Damage (Status) + + 4 + + Poison 3 + + Chance + 0.2 + Power + 100 + + + + Damage Charge (Status) + + 4 + + Poison 3 + + Chance + 0.6 + Power + 100 + + + + Defense (Status) + Poison Knight + Flare Color + Elemental + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Blight Knight Loot + + Model + + character/npc/monster/mechaknight/model_status.dat + + Color + Poison + variant + mk3 + + + Secondary Damage + ELEMENTAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 0.4, 0.2, 1.0 + Swing Color In/Out + 0.0, 0.6, 0.2, 0.0 + Swing Color Middle + 0.0, 0.8, 0.2, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Sword/Mecha Knight + + + Tags + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword 3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack 1 Chain Condition + + + Attack 2 Chain Condition + + + Attack Time Scale + 1.8 + Chain End Speed + 1.5 + Charge Attack + + Weapon/Sword/Proto Sword (Charge) + + Damage + + + Monster/Damage/Attack Base + + + Monster/Split/Split - Half + + + + + Charge Time Scale + 1.0 + Damage + + + + + Monster/Damage/Attack Base + + + Monster/Split/Split - Half + + + + + Defense + Default + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flare Color (Charge Attack) + Elemental + Handler1 + + + Health + 40 + Health End + 240 + Health End Depth + 9 + Health Scale + + Monster/Health/Health Base + + Health Start Depth + 1 + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + Weapon + + item/weapon/sword/proto/model.dat + + variant + mechasword mk1 + + + variant + mk1 + + + Scale + 1.1 + Shield + False + Shock Chance + 0.333 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.59607846, 1.0, 0.4, 1.0 + Swing Color In/Out + 0.19607843, 0.8, 0.0, 0.0 + Swing Color Middle + 0.59607846, 1.0, 0.4, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + Target Mode + Foe + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Sword/Mecha Knight Mk II + + + Tags + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword 3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack 1 Chain Condition + + + Attack 2 Chain Condition + + + Attack Time Scale + 2.0 + Chain End Speed + 1.5 + Charge Attack + + Weapon/Sword/Static Edge (Charge) + + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Shock 2 + + Chance + 0.55 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Charge Time Scale + 1.0 + Damage + + + + + Monster/Damage/Attack Base + + + Monster/Split/Split - Half + + + + 4 + + Shock 2 + + Chance + 0.2 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Defense + Default + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flare Color (Charge Attack) + Elemental + Handler1 + + + Health + 240 + Health End + 720 + Health End Depth + 19 + Health Scale + + Monster/Health/Health Base + + Health Start Depth + 9 + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + item/gear/shield/buckler/model.dat + + variant + mechashield mk2 + + + Weapon + + item/weapon/sword/proto/model.dat + + variant + mechasword mk2 + + + variant + mk2 + + + Scale + 1.15 + Shield + True + Shock Chance + 0.222 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 1.0, 1.0, 1.0 + Swing Color In/Out + 0.0, 0.2, 1.0, 0.0 + Swing Color Middle + 0.0, 1.0, 0.6, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/staticedge_swing_1.ogg + Swing Sound 2 + sound/effect/weapon/staticedge_swing_2.ogg + Swing Sound 3 + sound/effect/weapon/staticedge_swing_3.ogg + Target Mode + Foe + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Sword/Mecha Knight Mk III + + + Tags + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword 3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack 1 Chain Condition + + + Attack 2 Chain Condition + + + Attack Time Scale + 2.2 + Chain End Speed + 1.5 + Charge Attack + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Round House) + + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Shock 3 + + Chance + 0.6 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + End Speed + 0.75 + Extra Action + + Base/Default + + Action + + + + + Bullet/Monster/Mechaknight + + Status Attack + + Shock 3 + + Chance + 0.55 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Bullet/Monster/Mechaknight + + Status Attack + + Shock 3 + + Chance + 0.55 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Bullet/Monster/Mechaknight + + Status Attack + + Shock 3 + + Chance + 0.55 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Bullet/Monster/Mechaknight + + Status Attack + + Shock 3 + + Chance + 0.55 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Delay + 90 + + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 200 + 300 + + Knock-Back + + 3.5, 0.0 + 300 + 3 + + Radius + 1.0 + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Default + Start Speed + 2.75 + Swing + + particle/swing/calibur_charged.dat + + Variant + Calibur + + + + + Charge Time Scale + 1.0 + Damage + + + + + Monster/Damage/Attack Base + + + Monster/Split/Split - Half + + + + 4 + + Shock 3 + + Chance + 0.2 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Defense + Default + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flare Color (Charge Attack) + Elemental + Handler1 + + + Health + 720 + Health End + 1440 + Health End Depth + 30 + Health Scale + + Monster/Health/Health Base + + Health Start Depth + 19 + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + mechashield + + + Weapon + + item/weapon/sword/proto/model.dat + + variant + mechasword mk3 + + + variant + mk3 + + + Scale + 1.2 + Shield + True + Shock Chance + 0.111 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 0.99215686, 1.0, 1.0 + Swing Color In/Out + 0.0, 0.20784314, 1.0, 0.0 + Swing Color Middle + 0.0, 1.0, 0.60784316, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/staticedge_swing_1.ogg + Swing Sound 2 + sound/effect/weapon/staticedge_swing_2.ogg + Swing Sound 3 + sound/effect/weapon/staticedge_swing_3.ogg + Target Mode + Foe + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Volt Knight/Volt Knight 1 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 1 (Base) + + Charge FX + + particle/swing/proto_charged.dat + + Color + Static + + + Damage (Status) + + 4 + + Shock + + Chance + 0.2 + Power + 25 + + + + Damage Charge (Status) + + 4 + + Shock + + Chance + 0.5 + Power + 25 + + + + Defense (Status) + Volt Knight + Flare Color + Elemental + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Volt Knight Loot + + Model + + character/npc/monster/mechaknight/model_status.dat + + Color + Shock + variant + mk1 + + + Secondary Damage + ELEMENTAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 1.0, 0.8, 1.0 + Swing Color In/Out + 0.0, 0.0, 1.0, 0.0 + Swing Color Middle + 0.0, 1.0, 0.4, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Volt Knight/Volt Knight 2 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 2 (Base) + + Charge FX + + particle/swing/calibur_charged.dat + + Variant + Calibur + + + Damage (Status) + Default + Damage Charge (Status) + + 4 + + Shock 2 + + Chance + 0.55 + Power + 50 + + + + Defense (Status) + Volt Knight + Flare Color + Elemental + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Volt Knight Loot + + Model + + character/npc/monster/mechaknight/model_status.dat + + Color + Shock + variant + mk2 + + + Secondary Damage + ELEMENTAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 1.0, 1.0, 1.0 + Swing Color In/Out + 0.0, 0.2, 1.0, 0.0 + Swing Color Middle + 0.4, 1.0, 0.4, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Mecha Knight/Volt Knight/Volt Knight 3 + + + Wave Tag + implementation.actor["Tags"] + + + + + Character/NPC/Monster/Construct/Mecha Knight/Parts/Tier 3 (Base) + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.0 + Element + Shock + Status + Shock 3 + + + Charge FX + + particle/swing/calibur_charged.dat + + Variant + Calibur + + + Damage (Status) + + 4 + + Shock 3 + + Chance + 0.2 + Power + 100 + + + + Damage Charge (Status) + + 4 + + Shock 3 + + Chance + 0.6 + Power + 100 + + + + Defense (Status) + Volt Knight + Flare Color + Elemental + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Volt Knight Loot + + Model + + character/npc/monster/mechaknight/model_status.dat + + Color + Shock + variant + mk3 + + + Secondary Damage + ELEMENTAL + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 0.99215686, 1.0, 1.0 + Swing Color In/Out + 0.0, 0.20784314, 1.0, 0.0 + Swing Color Middle + 0.0, 1.0, 0.60784316, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Tags + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Old/Mecha Knight + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword 3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack 1 Chain Condition + + + Attack 2 Chain Condition + + + Attack Time Scale + 2.0 + Chain End Speed + 1.5 + Charge Attack + + Weapon/Sword/Proto Sword (Charge) + + Damage + + + + 55.0 + 4 + + + + + + Charge Time Scale + 1.0 + Damage + + + + 40.0 + 4 + + + + Defense + Default + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flare Color (Charge Attack) + None + Handler1 + + + Health + 200 + Health End + 400 + Health End Depth + 30 + Health Scale + + Health Start Depth + 1 + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + Weapon + + item/weapon/sword/proto/model.dat + + variant + mechasword mk1 + + + variant + mk1 + + + Scale + 1.1 + Shield + False + Shock Chance + 0.333 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.59607846, 1.0, 0.4, 1.0 + Swing Color In/Out + 0.19607843, 0.8, 0.0, 0.0 + Swing Color Middle + 0.59607846, 1.0, 0.4, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + Target Mode + Foe + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Old/Mecha Knight (Fang of Vog) + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword 3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 720 + Attack 1 Chain Condition + + + Attack 2 Chain Condition + + + Attack Time Scale + 2.0 + Chain End Speed + 1.2 + Charge Attack + + Weapon/Sword/Fang of Vog (Charge) + + Damage + + + + 60.0 + 4 + + + 4 + + Fire + + Chance + 0.72 + Power + 97 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Charge Time Scale + 1.0 + Damage + + + + 50.0 + 4 + + + 4 + + Fire + + Chance + 0.15 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Defense + Default + End Speed + 1.5 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 0.9 + Flare Color (Charge Attack) + None + Handler1 + + + Health + 400 + Health End + 400 + Health End Depth + 30 + Health Scale + + Health Start Depth + 1 + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + item/gear/shield/buckler/model.dat + + variant + mechashield + + + Weapon + + item/weapon/sword/proto/model.dat + + variant + mechasword + + + variant + mk2 + + + Scale + 1.2 + Shield + True + Shock Chance + 0.333 + Start Speed + 1.25 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 1.0, 0.4, 0.0, 1.0 + Swing Color In/Out + 1.0, 0.4, 0.0, 0.0 + Swing Color Middle + 1.0, 0.8, 0.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + Target Mode + Foe + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Old/Mecha Knight (Friendly) + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword 3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack 1 Chain Condition + + + Attack 2 Chain Condition + + + Attack Time Scale + 2.0 + Chain End Speed + 1.5 + Charge Attack + + Weapon/Sword/Calibur (Charge) + + Damage + + + + 80.0 + 2 + + + + + + Charge Time Scale + 1.0 + Damage + + + + 65.0 + 2 + + + + Defense + Default + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flare Color (Charge Attack) + None + Handler1 + + + Health + 500 + Health End + 400 + Health End Depth + 30 + Health Scale + + Health Start Depth + 1 + Loot Table + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + defender(blue) + + + Weapon + + item/weapon/sword/calibur/model.dat + + variant + calibur(blue) + + + variant + energy + + + Scale + 1.2 + Shield + True + Shock Chance + 0.333 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 1.0, 1.0, 1.0 + Swing Color In/Out + 0.2, 1.0, 1.0, 0.0 + Swing Color Middle + 0.6, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + Target Mode + Friend + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Old/Mecha Knight Mk II + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword 3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack 1 Chain Condition + + + Attack 2 Chain Condition + + + Attack Time Scale + 2.0 + Chain End Speed + 1.5 + Charge Attack + + Weapon/Sword/Static Edge (Charge) + + Damage + + + + 80.0 + 4 + + + 4 + + Shock + + Chance + 0.55 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Charge Time Scale + 1.0 + Damage + + + + 65.0 + 4 + + + 4 + + Shock + + Chance + 0.2 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Defense + Default + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flare Color (Charge Attack) + None + Handler1 + + + Health + 300 + Health End + 400 + Health End Depth + 30 + Health Scale + + Health Start Depth + 1 + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + item/gear/shield/buckler/model.dat + + variant + mechashield mk2 + + + Weapon + + item/weapon/sword/proto/model.dat + + variant + mechasword mk2 + + + variant + mk2 + + + Scale + 1.15 + Shield + True + Shock Chance + 0.333 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 1.0, 1.0, 1.0 + Swing Color In/Out + 0.0, 0.2, 1.0, 0.0 + Swing Color Middle + 0.0, 1.0, 0.6, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/staticedge_swing_1.ogg + Swing Sound 2 + sound/effect/weapon/staticedge_swing_2.ogg + Swing Sound 3 + sound/effect/weapon/staticedge_swing_3.ogg + Target Mode + Foe + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Old/Mecha Knight Mk III + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword 3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack 1 Chain Condition + + + Attack 2 Chain Condition + + + Attack Time Scale + 2.0 + Chain End Speed + 1.5 + Charge Attack + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Round House) + + Damage + + + + 100.0 + 4 + true + + + 4 + + Shock + + Chance + 0.6 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + End Speed + 0.75 + Extra Action + + Base/Default + + Action + + + + + Bullet/Monster/Mechaknight + + Status Attack + + Shock + + Chance + 0.55 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Bullet/Monster/Mechaknight + + Status Attack + + Shock + + Chance + 0.55 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Bullet/Monster/Mechaknight + + Status Attack + + Shock + + Chance + 0.55 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Bullet/Monster/Mechaknight + + Status Attack + + Shock + + Chance + 0.55 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Delay + 90 + + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 200 + 300 + + Knock-Back + + 3.5, 0.0 + 300 + 3 + + Radius + 1.0 + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Default + Start Speed + 2.75 + Swing + + particle/swing/calibur_charged.dat + + Variant + Calibur + + + + + Charge Time Scale + 1.0 + Damage + + + + 80.0 + 4 + + + 4 + + Shock + + Chance + 0.2 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Defense + Default + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flare Color (Charge Attack) + None + Handler1 + + + Health + 400 + Health End + 400 + Health End Depth + 30 + Health Scale + + Health Start Depth + 1 + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + mechashield + + + Weapon + + item/weapon/sword/proto/model.dat + + variant + mechasword mk3 + + + variant + mk3 + + + Scale + 1.2 + Shield + True + Shock Chance + 0.333 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 0.99215686, 1.0, 1.0 + Swing Color In/Out + 0.0, 0.20784314, 1.0, 0.0 + Swing Color Middle + 0.0, 1.0, 0.60784316, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/staticedge_swing_1.ogg + Swing Sound 2 + sound/effect/weapon/staticedge_swing_2.ogg + Swing Sound 3 + sound/effect/weapon/staticedge_swing_3.ogg + Target Mode + Foe + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + + Model + implementation.sprite.model + + + Health Scale + implementation.health_scale + + + Loot Table + implementation.handlers[0].action.action.spawn_table + + + Behavior + implementation.behavior + + + Attacks + implementation.attacks[0].ref + + + + Defense + + + Thematic Immunity + implementation.defense.defenses[2] + + + + + + Default + + Thematic Immunity + + + + + + + Red Rover + + Thematic Immunity + + 4 + + + + + + Sick Puppy + + Thematic Immunity + + 2 + + + + + + Slush Puppy + + Thematic Immunity + + 8 + + + + + + Spark Puppy + + Thematic Immunity + + 16 + + + + + Default + + + Handler + implementation.handlers[1] + + + Wave Tag + implementation.tags.tags[3] + + + No Loot Tag + implementation.tags.tags[4] + + + + + + character/npc/monster/gunpuppy/model.dat + + variant + green + + + + + + character/npc/monster/gunpuppy/standing_idle.dat + + + + + + 6.0 + + character/npc/monster/gunpuppy/walking_idle.dat + + + + + + 1.5707964 + + character/npc/monster/gunpuppy/walking_idle.dat + + + character/npc/monster/gunpuppy/walking_idle.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Stone + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/gunpuppy/standing_idle.dat + + + + + + 6.0 + + character/npc/monster/gunpuppy/walking_idle.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.45 + + + (tag 1), (tag 2), (tag 3), (tag 4), (tag 5) + + + + + + + Treasure/Monster/Construct/Gun Puppy/Gun Puppy Loot + + + + + + + + 8 + 79 + 0.0 + 1.5707964 + 100 + 0.15 + true + 10 + 333 + 160 + 1100 + 0.0 + + + + Character/NPC/Monster/Construct/Gun Puppy + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 1.25 + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + + + + 16 + -25 + + + 256 + + + + + + + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Base) + + + Tags + implementation.tags.derived + + + Wave Tag + implementation.tags.tags[2] + + + Model + implementation.sprite.model + + + Scale + implementation.sprite.scale + + + Behavior + implementation.behavior + + + Move While Attacking + implementation.move_while_attacking + + + Attacks + implementation.attacks + + + Loot Table + implementation.handlers[0].action.action.spawn_table + + + Health + implementation.health + + + Health End + implementation.end_health + + + Health Start Depth + implementation.start_depth + + + Health End Depth + implementation.end_depth + + + Health Scale + implementation.health_scale + + + + Defense + + + Thematic Immunity + implementation.defense.defenses[2].defenses + + + + + + Default + + + + + Status Resists + + + + + T + + + Th + + + The + + + Them + + + Thema + + + Themat + + + Themati + + + Thematic + + + Thematic I + + + Thematic Im + + + Thematic Imm + + + Thematic Immu + + + Thematic Immun + + + Thematic Immuni + + + Thematic Immunit + + + Thematic Immunity + + + V + + + Va + + + Var + + + Vari + + + Varia + + + Varian + + + Variant + + + + + + + Cryo Knight + + Status Resists + + + Thematic Immunity + + + 8 + + + + + + + Firo Knight + + Status Resists + + + Thematic Immunity + + + 4 + + + + + + + Poison Knight + + Status Resists + + + Thematic Immunity + + + 2 + + + + + + + Volt Knight + + Status Resists + + + Thematic Immunity + + + 16 + + + + + + Default + + + + Target Mode + + + Damage Mask + implementation.damage_mask + + + Col Flags + implementation.collision_flags + + + Col Mask + implementation.collision_mask + + + Idle Speed + implementation.speed + + + Hit Transient + implementation.sprite.hit_transient["Transient"] + + + Stasis + implementation.stasis_interval + + + Activation + implementation.sprite.activation + + + Taggers + implementation.tags.tags[1] + + + + + + Foe + + Activation + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + Col Flags + 8 + Col Mask + 79 + Damage Mask + 3 + Hit Transient + + particle/fx_gethit_monster.dat + + Idle Speed + 2.0 + Stasis + 5000 + Tag + fam_construct, faction_monster, (Wave Tag) + Tagged + fam_construct + Taggers + faction_monster + Tags + fam_construct, faction_monster + + + + + Friend + + Activation + + character/npc/monster/mechaknight/animations/activate.dat + + Col Flags + 4 + Col Mask + 79 + Damage Mask + 5 + Hit Transient + + particle/fx_gethit_player.dat + + Color + Red + + + Idle Speed + 4.5 + Stasis + 999000 + Tag + fam_construct, faction_monster, (Wave Tag) + Tagged + fam_construct + Taggers + faction_ally + Tags + fam_construct, faction_ally + + + + Foe + + + Handler1 + implementation.handlers[1] + + + + + + character/npc/monster/mechaknight/model.dat + + Shield + + item/gear/shield/buckler/model.dat + + variant + mechashield + + + Weapon + + item/weapon/sword/proto/model.dat + + variant + mechasword + + + variant + mk2 + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/monster_death_cloud.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/monster_death.dat + + Color + Purple + + + + + 1.2 + + + + character/pc/idle.dat + + + + + + 0.75 + + character/pc/walk_forward.dat + + + character/pc/walk_left.dat + + + character/pc/walk_backward.dat + + + character/pc/walk_right.dat + + + + 4.5 + + character/pc/run_forward.dat + + Variant + MechaKnight + + + + character/pc/run_left.dat + + + character/pc/run_backward.dat + + + character/pc/run_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Metal + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/pc/ready_sword.dat + + + + + + 0.75 + + character/pc/walk_forward.dat + + + character/pc/walk_left.dat + + + character/pc/walk_backward.dat + + + character/pc/walk_right.dat + + + + 4.5 + + character/pc/run_forward.dat + + Variant + MechaKnight + + + + character/pc/run_left.dat + + + character/pc/run_backward.dat + + + character/pc/run_right.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.45 + + + + + + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + + + + + + + 8 + 79 + 2.0 + 17.453293 + 400 + 400 + 1 + 30 + 0.3 + 1000 + 2033 + 1100 + 3.333 + true + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Construct/Mecha Knight Charge + + Damage Zone + Directional + Flare Color + None + Sound + sound/effect/monster/mechaknight/mechaknight_attackcue_05.ogg + Time Scale + 2.0 + + + Chain Condition + + + Next Attack + 1 + + + + + + Character/NPC/Monster/Chain + + Attack + + Weapon/Sword/Parts/Base (3 Hit)/Swing 0 (R-L) + + Damage + + + + 50.0 + 4 + + + + End Speed + 2.0 + Extra Action + + Fire Speed + 1.0 + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Default + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + Chain Condition + + + Next Attack + 2 + + + + + + Character/NPC/Monster/Chain + + Attack + + Weapon/Sword/Parts/Base (3 Hit)/Swing 1 (L-R) + + Damage + + + + 50.0 + 4 + + + + End Speed + 2.0 + Extra Action + + Fire Speed + 1.0 + Sound + sound/effect/weapon/sword_02.ogg + Sound - Pitch + Default + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + Chain Condition + + + Next Attack + 3 + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Swing 2 (Around CW) + + Damage + + + + 50.0 + 4 + + + + End Speed + 1.0 + Extra Action + + Fire Speed + 1.0 + Rearm + 900 + Sound + sound/effect/weapon/sword_03.ogg + Sound - Pitch + Default + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Construct/Mecha Knight Charge + + Damage Zone + Directional + Flare Color + None + Sound + sound/effect/monster/mechaknight/mechaknight_attackcue_05.ogg + Time Scale + 1.0 + + + Chain Condition + + + Next Attack + 5 + + + + + + Weapon/Sword/Proto Sword (Charge) + + Damage + + + + 40.0 + 4 + + + + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + + + + 14 + 25 + + + 16 + -25 + + + 256 + + + + + + + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword 3 Hit) + + + Model + implementation.actor["Model"] + + + Scale + implementation.actor["Scale"] + + + Charge Time Scale + implementation.actor["Attacks"][0].ref["Attack"]["Time Scale"] + + + Attack Time Scale + implementation.actor["Attacks"][1].ref["Attack"]["Time Scale"] + + + Charge Attack + implementation.actor["Attacks"][2].ref + + + Attack 1 Chain Condition + implementation.actor["Attacks"][3].ref["Chain Condition"] + + + Attack 2 Chain Condition + implementation.actor["Attacks"][4].ref["Chain Condition"] + + + Damage + implementation.actor["Attacks"][3].ref["Attack"]["Damage"], implementation.actor["Attacks"][4].ref["Attack"]["Damage"], implementation.actor["Attacks"][5].ref["Damage"] + + + Start Speed + implementation.actor["Attacks"][3].ref["Attack"]["Start Speed"], implementation.actor["Attacks"][4].ref["Attack"]["Start Speed"], implementation.actor["Attacks"][5].ref["Start Speed"] + + + Fire Speed + implementation.actor["Attacks"][3].ref["Attack"]["Fire Speed"], implementation.actor["Attacks"][4].ref["Attack"]["Fire Speed"], implementation.actor["Attacks"][5].ref["Fire Speed"] + + + End Speed + implementation.actor["Attacks"][3].ref["Attack"]["End Speed"], implementation.actor["Attacks"][4].ref["Attack"]["End Speed"] + + + Chain End Speed + implementation.actor["Attacks"][5].ref["End Speed"] + + + 233+((667/Chain End Speed)*Fire Speed) + implementation.actor["Attacks"][5].ref["Rearm"] + + + Swing Sound 1 + implementation.actor["Attacks"][3].ref["Attack"]["Sound"] + + + Swing Sound 2 + implementation.actor["Attacks"][4].ref["Attack"]["Sound"] + + + Swing Sound 3 + implementation.actor["Attacks"][5].ref["Sound"] + + + Swing FX + implementation.actor["Attacks"][3].ref["Attack"]["Swing"], implementation.actor["Attacks"][4].ref["Attack"]["Swing"], implementation.actor["Attacks"][5].ref["Swing"] + + + Extra Action 0 + implementation.actor["Attacks"][3].ref["Attack"]["Extra Action"] + + + Extra Action 1 + implementation.actor["Attacks"][4].ref["Attack"]["Extra Action"] + + + Extra Action 2 + implementation.actor["Attacks"][5].ref["Extra Action"] + + + Loot Table + implementation.actor["Loot Table"] + + + Health + implementation.actor["Health"] + + + Health End + implementation.actor["Health End"] + + + Health Start Depth + implementation.actor["Health Start Depth"] + + + Health End Depth + implementation.actor["Health End Depth"] + + + Health Scale + implementation.actor["Health Scale"] + + + Defense + implementation.actor["Defense"] + + + Shield + implementation.actor["Shield"] + + + Target Mode + implementation.actor["Target Mode"] + + + Wave Tag + implementation.actor["Wave Tag"] + + + Tags + implementation.actor["Tags"].derived + + + Handler1 + implementation.actor["Handler1"] + + + Shock Chance + implementation.actor["Shock Chance"] + + + Flare Color (Charge Attack) + implementation.actor["Attacks"][0].ref["Attack"]["Flare Color"] + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword Base) + + Attacks + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Construct/Mecha Knight Charge + + Damage Zone + Directional + Flare Color + None + Sound + sound/effect/monster/mechaknight/mechaknight_attackcue_05.ogg + Time Scale + 1.0 + + + Chain Condition + + + Next Attack + 2 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Construct/Mecha Knight Charge + + Damage Zone + Omni + Flare Color + Elemental + Sound + sound/effect/monster/mechaknight/mechaknight_attackcue_05.ogg + Time Scale + 2.0 + + + Chain Condition + + + Next Attack + 3 + + + + + + Weapon/Sword/Proto Sword (Charge) + + Damage + + + + 40.0 + 4 + + + + + + + + + Character/NPC/Monster/Chain + + Attack + + Weapon/Sword/Parts/Base (3 Hit)/Swing 0 (R-L) + + Damage + + + + 50.0 + 4 + + + + End Speed + 2.0 + Extra Action + + Fire Speed + 1.0 + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Default + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + Chain Condition + + + Next Attack + 4 + + + + + + Character/NPC/Monster/Chain + + Attack + + Weapon/Sword/Parts/Base (3 Hit)/Swing 1 (L-R) + + Damage + + + + 50.0 + 4 + + + + End Speed + 2.0 + Extra Action + + Fire Speed + 1.0 + Sound + sound/effect/weapon/sword_02.ogg + Sound - Pitch + Default + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + Chain Condition + + + Next Attack + 5 + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Swing 2 (Around CW) + + Damage + + + + 50.0 + 4 + + + + End Speed + 1.0 + Extra Action + + Fire Speed + 1.0 + Rearm + 900 + Sound + sound/effect/weapon/sword_03.ogg + Sound - Pitch + Default + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + + + Character/NPC/Monster/Construct/Mech Knight Defend + + + + + Character/NPC/Monster/Construct/Mecha Knight Spaz + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Construct/Mecha Knight Charge (small) + + Sound + sound/effect/monster/mechaknight/mechaknight_attackcue_05.ogg + Time Scale + 2.0 + + + Chain Condition + + + Next Attack + 3 + + + + + Defense + Default + Handler1 + + + Health + 400 + Health End + 400 + Health End Depth + 30 + Health Scale + + Health Start Depth + 1 + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + item/gear/shield/buckler/model.dat + + variant + mechashield + + + Weapon + + item/weapon/sword/proto/model.dat + + variant + mechasword + + + variant + mk2 + + + Scale + 1.2 + Shield + True + Shock Chance + 0.333 + Target Mode + Foe + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Sword Base) + + + Tags + implementation.actor["Tags"].derived + + + Wave Tag + implementation.actor["Wave Tag"] + + + Model + implementation.actor["Model"] + + + Scale + implementation.actor["Scale"] + + + Attacks + implementation.actor["Attacks"] + + + Loot Table + implementation.actor["Loot Table"] + + + Health + implementation.actor["Health"] + + + Health End + implementation.actor["Health End"] + + + Health Start Depth + implementation.actor["Health Start Depth"] + + + Health End Depth + implementation.actor["Health End Depth"] + + + Health Scale + implementation.actor["Health Scale"] + + + Defense + implementation.actor["Defense"] + + + Shield + implementation.actor["Behavior"]["Shield"] + + + Target Mode + implementation.actor["Target Mode"], implementation.actor["Behavior"]["Target Mode"] + + + Handler1 + implementation.actor["Handler1"] + + + Shock Chance + implementation.actor["Behavior"]["Shock Chance"] + + + + + Character/NPC/Monster/Construct/Parts/Mecha Knight (Base) + + Attacks + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Construct/Mecha Knight Charge + + Damage Zone + Directional + Flare Color + None + Sound + sound/effect/monster/mechaknight/mechaknight_attackcue_05.ogg + Time Scale + 1.0 + + + Chain Condition + + + Next Attack + 2 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Construct/Mecha Knight Charge + + Damage Zone + Directional + Flare Color + None + Sound + sound/effect/monster/mechaknight/mechaknight_attackcue_05.ogg + Time Scale + 2.0 + + + Chain Condition + + + Next Attack + 3 + + + + + + Weapon/Sword/Proto Sword (Charge) + + Damage + + + + 40.0 + 4 + + + + + + + + + Character/NPC/Monster/Chain + + Attack + + Weapon/Sword/Parts/Base (3 Hit)/Swing 0 (R-L) + + Damage + + + + 50.0 + 4 + + + + End Speed + 2.0 + Extra Action + + Fire Speed + 1.0 + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Default + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + Chain Condition + + + Next Attack + 4 + + + + + + Character/NPC/Monster/Chain + + Attack + + Weapon/Sword/Parts/Base (3 Hit)/Swing 1 (L-R) + + Damage + + + + 50.0 + 4 + + + + End Speed + 2.0 + Extra Action + + Fire Speed + 1.0 + Sound + sound/effect/weapon/sword_02.ogg + Sound - Pitch + Default + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + Chain Condition + + + Next Attack + 5 + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Swing 2 (Around CW) + + Damage + + + + 50.0 + 4 + + + + End Speed + 1.0 + Extra Action + + Fire Speed + 1.0 + Rearm + 900 + Sound + sound/effect/weapon/sword_03.ogg + Sound - Pitch + Default + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + + Behavior + + Defense + Default + Handler1 + + + Health + 400 + Health End + 400 + Health End Depth + 30 + Health Scale + + Health Start Depth + 1 + Loot Table + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + Model + + character/npc/monster/mechaknight/model.dat + + Shield + + item/gear/shield/buckler/model.dat + + variant + mechashield + + + Weapon + + item/weapon/sword/proto/model.dat + + variant + mechasword + + + variant + mk2 + + + Move While Attacking + false + Scale + 1.2 + Tags + + Target Mode + Foe + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Parts/MechaShield + + + + particle/shield/frontarc.dat + + Power + monster + Radius + 1.0 + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/weapon/charge_complete_01.ogg + Gain + 1.0 + Pitch + 2.0 + Range + Medium + + + Transform + + + Transient + + + + + + + + + 1.25 + + + 0.5, 0.0 + + + + + + + + + + + 160 + 0 + 0.0 + 1 + true + 20 + 0 + 0 + 0.0 + + + + + + + + + + + + Character/NPC/Monster/Construct/Plasma Dog + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/gunpuppy/model.dat + + variant + green + + + + + + character/npc/monster/gunpuppy/standing_idle.dat + + + + + + 6.0 + + character/npc/monster/gunpuppy/walking_idle.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Stone + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/gunpuppy/standing_idle.dat + + + + + + 6.0 + + character/npc/monster/gunpuppy/walking_idle.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.45 + + + + + + Treasure/Monster/Construct/Gun Puppy/Gun Puppy Loot + + + + + 8 + 79 + 0.0 + 8.726646 + 100 + 0.5 + 10 + 333 + 160 + 1100 + 0.0 + + + + Character/NPC/Monster/Construct/Gun Puppy + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + Speed + 1.25 + + + + + + + + 40 + + + 50 + + + 2 + 100 + + + 16 + -50 + + + + + + + Character/NPC/Monster/Construct/Retrode/Hotrode/Hotrode 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 0.8, 0.2, 0.0, 1.0 + Beam Interval + 6000 + Damage (Status) + + Defense (Status) + Hotrode + Eye Beam + False + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_sts.dat + + Color + Fire + Reaction + Knockdown + Variant + Tier 1 + + + Reaction Time + 2100 + Scale + 1.05 + Signal (Status) + Fire + Swing Interval + 4000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Hotrode/Hotrode 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 1.0, 0.4, 0.0, 1.0 + Beam Interval + 6000 + Damage (Status) + + Fire 2 + + Chance + 1.0 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + Hotrode + Eye Beam + True + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_sts.dat + + Color + Fire + Reaction + Knockdown + Variant + Tier 2 + + + Reaction Time + 2100 + Scale + 1.075 + Signal (Status) + Fire + Swing Interval + 3000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Hotrode/Hotrode 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 1.0, 0.4, 0.0, 1.0 + Beam Interval + 4000 + Damage (Status) + + Fire 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + Hotrode + Eye Beam + True + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_sts.dat + + Color + Fire + Reaction + Flinch + Variant + Tier 3 + + + Reaction Time + 300 + Scale + 1.1 + Signal (Status) + Fire + Swing Interval + 2000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Isotrode/Isotrode 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 0.4, 0.8, 0.0, 1.0 + Beam Interval + 6000 + Damage (Status) + + Defense (Status) + Isotrode + Eye Beam + False + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_sts.dat + + Color + Poison + Reaction + Knockdown + Variant + Tier 1 + + + Reaction Time + 2100 + Scale + 1.05 + Signal (Status) + Poison + Swing Interval + 4000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Isotrode/Isotrode 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 0.4, 0.8, 0.0, 1.0 + Beam Interval + 6000 + Damage (Status) + + Poison 2 + + Chance + 1.0 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + Isotrode + Eye Beam + True + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_sts.dat + + Color + Poison + Reaction + Knockdown + Variant + Tier 2 + + + Reaction Time + 2100 + Scale + 1.075 + Signal (Status) + Poison + Swing Interval + 3000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Isotrode/Isotrode 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 0.4, 0.8, 0.0, 1.0 + Beam Interval + 4000 + Damage (Status) + + Poison 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + Isotrode + Eye Beam + True + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_sts.dat + + Color + Poison + Reaction + Flinch + Variant + Tier 3 + + + Reaction Time + 300 + Scale + 1.1 + Signal (Status) + Poison + Swing Interval + 2000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + + Model + implementation.sprite.model + + + Scale + implementation.sprite.scale + + + Eye Beam + implementation.behavior["Eye Beam"] + + + Beam Color + implementation.attacks[1].ref["Color"], implementation.attacks[1].ref["Bullet"]["Color"] + + + Damage (Status) + implementation.attacks[0].ref["Status Condition"], implementation.attacks[1].ref["Bullet"]["Damage (Status)"] + + + Signal (Status) + implementation.attacks[1].ref["Bullet"]["Signal (Status)"] + + + Swing Interval + implementation.behavior["Swing Interval"] + + + Beam Interval + implementation.behavior["Beam Interval"] + + + Reaction Time + implementation.react_time + + + + Defense (Status) + + + Thematic Immunity + implementation.defense.defenses[2].defenses + + + + + + Default + + Thematic Immunity + + + + + + + Hotrode + + Thematic Immunity + + + 4 + + + + + + + Isotrode + + Thematic Immunity + + + 2 + + + + + + + Sleetrode + + Thematic Immunity + + + 8 + + + + + + + Voltrode + + Thematic Immunity + + + 16 + + + + + + Default + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/mechazombie/model_nrm.dat + + Reaction + Knockdown + Variant + Tier 2 + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/monster_spawn_01.ogg + Gain + 1.0 + Range + Medium + + + + + 1.1 + + + + character/npc/monster/mechazombie/animations/animation_idle.dat + + + + + + 1.0 + + character/npc/monster/mechazombie/animations/animation_moving.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Metal + + Pitch shift + Lower 2 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/mechazombie/animations/animation_idle.dat + + + + + + 1.0 + + character/npc/monster/mechazombie/animations/animation_moving.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.45 + + + (tag 1), (tag 2), (tag 3) + + + + + + Treasure/Monster/Construct/Retrode/Retrode Loot + + + + + 8 + 79 + 0.75 + 3.4906585 + 100 + + Monster/Health/Health Base +05 + + 0.3 + 2100 + 2050 + 100 + 2.0 + + + + Character/NPC/Monster/Construct/Mecha Zombie/Swipe Arm + + Status Condition + + + + + + + Character/NPC/Monster/Construct/Mecha Zombie/Eye Beam + + Bullet + + Bullet/Monster/Mecha Zombie Beam + + Color + 0.0, 1.0, 0.4, 1.0 + Damage (Status) + + Signal (Status) + Fire + + + Color + 0.0, 1.0, 0.2, 1.0 + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + + + + 257 + -25 + + + 256 + + + + + + + + + + + Character/NPC/Monster/Construct/Retrode/Retrode (TG) + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 0.0, 1.0, 0.2, 1.0 + Beam Interval + 6000 + Damage (Status) + + Defense (Status) + Default + Eye Beam + False + Loot Table + + Treasure/Monster/Tutorial/Retrode (TG) + + Model + + character/npc/monster/mechazombie/model_nrm.dat + + Reaction + Knockdown + Variant + Tier 1 + + + Reaction Time + 2100 + Scale + 1.05 + Signal (Status) + None + Swing Interval + 4000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Retrode/Retrode 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 0.0, 1.0, 0.2, 1.0 + Beam Interval + 6000 + Damage (Status) + + Defense (Status) + Default + Eye Beam + False + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_nrm.dat + + Reaction + Knockdown + Variant + Tier 1 + + + Reaction Time + 2100 + Scale + 1.05 + Signal (Status) + None + Swing Interval + 4000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Retrode/Retrode 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 0.0, 1.0, 0.2, 1.0 + Beam Interval + 6000 + Damage (Status) + + Defense (Status) + Default + Eye Beam + True + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_nrm.dat + + Reaction + Knockdown + Variant + Tier 2 + + + Reaction Time + 2100 + Scale + 1.075 + Signal (Status) + None + Swing Interval + 3000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Retrode/Retrode 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 0.0, 1.0, 0.2, 1.0 + Beam Interval + 4000 + Damage (Status) + + Defense (Status) + Default + Eye Beam + True + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_nrm.dat + + Reaction + Flinch + Variant + Tier 3 + + + Reaction Time + 300 + Scale + 1.1 + Signal (Status) + None + Swing Interval + 2000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Sleetrode/Sleetrode 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 0.6, 0.8, 1.0, 1.0 + Beam Interval + 6000 + Damage (Status) + + Defense (Status) + Sleetrode + Eye Beam + False + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_sts.dat + + Color + Freeze + Reaction + Knockdown + Variant + Tier 1 + + + Reaction Time + 2100 + Scale + 1.05 + Signal (Status) + Freeze + Swing Interval + 4000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Sleetrode/Sleetrode 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 0.6, 0.8, 1.0, 1.0 + Beam Interval + 6000 + Damage (Status) + + Freeze 2 + + Chance + 1.0 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + Sleetrode + Eye Beam + True + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_sts.dat + + Color + Freeze + Reaction + Knockdown + Variant + Tier 2 + + + Reaction Time + 2100 + Scale + 1.075 + Signal (Status) + Freeze + Swing Interval + 3000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Sleetrode/Sleetrode 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 0.6, 0.8, 1.0, 1.0 + Beam Interval + 4000 + Damage (Status) + + Freeze 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + Sleetrode + Eye Beam + True + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_sts.dat + + Color + Freeze + Reaction + Flinch + Variant + Tier 3 + + + Reaction Time + 300 + Scale + 1.1 + Signal (Status) + Freeze + Swing Interval + 2000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Voltrode/Voltrode 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 0.4, 1.0, 0.8, 1.0 + Beam Interval + 6000 + Damage (Status) + + Defense (Status) + Voltrode + Eye Beam + False + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_sts.dat + + Color + Shock + Reaction + Knockdown + Variant + Tier 1 + + + Reaction Time + 2100 + Scale + 1.05 + Signal (Status) + Shock + Swing Interval + 4000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Voltrode/Voltrode 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 0.4, 1.0, 0.8, 1.0 + Beam Interval + 6000 + Damage (Status) + + Shock 2 + + Chance + 1.0 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + Voltrode + Eye Beam + True + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_sts.dat + + Color + Shock + Reaction + Knockdown + Variant + Tier 2 + + + Reaction Time + 2100 + Scale + 1.075 + Signal (Status) + Shock + Swing Interval + 3000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Retrode/Voltrode/Voltrode 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Retrode/Parts/Zombie (Base) + + Beam Color + 0.2, 1.0, 0.8, 1.0 + Beam Interval + 4000 + Damage (Status) + + Shock 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + Voltrode + Eye Beam + True + Loot Table + + Treasure/Monster/Construct/Retrode/Retrode Loot + + Model + + character/npc/monster/mechazombie/model_sts.dat + + Color + Shock + Reaction + Flinch + Variant + Tier 3 + + + Reaction Time + 300 + Scale + 1.1 + Signal (Status) + Shock + Swing Interval + 2000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Rocket Puppy/Rocket Puppy/Rocket Puppy 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Rocket Puppy + + Bullet + + Bullet/Monster/Rocket Puppy Rocket + + Bullet Speed + 3.5 + + + Offset + 0.0, 0.0 + Sound + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Pitch + 0.8 + Range + Medium + + + Speed + 2.0 + + + Behavior + + Defense + Default + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Rocket Puppy/Rocket Puppy Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + green + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Rocket Puppy/Rocket Puppy/Rocket Puppy 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Rocket Puppy + + Bullet + + Bullet/Monster/Rocket Puppy Rocket (mkii) + + Impulse Speed + + 2.0, 0.0 + 2000 + + Status Attack + + Fire 2 + + Chance + 0.5 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Turn Rate + 1.3962634 + + + Offset + 0.0, 0.0 + Sound + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Pitch + 0.8 + Range + Medium + + + Speed + 0.75 + + + Behavior + + Defense + Default + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Rocket Puppy/Rocket Puppy Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + mkii + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Rocket Puppy/Rocket Puppy/Rocket Puppy 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Parts/Gun Puppy (Base) + + Attacks + + Character/NPC/Monster/Construct/Rocket Puppy + + Bullet + + Bullet/Monster/Rocket Puppy Rocket (mkii) + + Impulse Speed + + 3.0, 0.0 + 2000 + + Status Attack + + Fire 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Turn Rate + 6.2831855 + + + Offset + 0.0, 0.0 + Sound + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Pitch + 0.8 + Range + Medium + + + Speed + 0.75 + + + Behavior + + Defense + Default + Handler + + + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Rocket Puppy/Rocket Puppy Loot + + Model + + character/npc/monster/rocketpuppy/model.dat + + variant + mkiii + + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Brumabot/Brumabot Mk I + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Default + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + Freeze + Status + Freeze + + + Mouthspark + Frost + + + + Behavior + + Defenses + Brumabot + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Brumabot Loot + + React % + 0.1 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 2.8 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk1_rc.png + Theme Variant + Freeze + Turn Rate + 6.2831855 + Weight + 1 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Brumabot/Brumabot Mk II + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Tier 2 + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + Freeze + Status + Freeze 2 + + + Mouthspark + Frost + + + + Behavior + + Defenses + Brumabot + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Brumabot Loot + + React % + 0.15 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 3.0 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk2_rc.png + Theme Variant + Freeze + Turn Rate + 6.2831855 + Weight + 1 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Brumabot/Brumabot Mk III + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Tier 3 + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + Freeze + Status + Freeze 3 + + + Mouthspark + Frost + + + + Behavior + + Defenses + Brumabot + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Brumabot Loot + + React % + 0.2 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 3.2 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk3_rc.png + Theme Variant + Freeze + Turn Rate + 6.2831855 + Weight + 2 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Cinderbot/Cinderbot Mk I + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Default + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + Fire + Status + Fire + + + Mouthspark + Fire + + + + Behavior + + Defenses + Cinderbot + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Cinderbot Loot + + React % + 0.1 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 2.8 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk1_rc.png + Theme Variant + Fire + Turn Rate + 6.2831855 + Weight + 1 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Cinderbot/Cinderbot Mk II + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Tier 2 + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + Fire + Status + Fire 2 + + + Mouthspark + Fire + + + + Behavior + + Defenses + Cinderbot + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Cinderbot Loot + + React % + 0.15 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 3.0 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk2_rc.png + Theme Variant + Fire + Turn Rate + 6.2831855 + Weight + 1 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Cinderbot/Cinderbot Mk III + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Tier 3 + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + Fire + Status + Fire 3 + + + Mouthspark + Fire + + + + Behavior + + Defenses + Cinderbot + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Cinderbot Loot + + React % + 0.2 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 3.2 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk3_rc.png + Theme Variant + Fire + Turn Rate + 6.2831855 + Weight + 2 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Hazbot/Hazbot Mk I + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Default + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + Poison + Status + Poison + + + Mouthspark + Poison + + + + Behavior + + Defenses + Hazbot + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Hazbot Loot + + React % + 0.1 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 2.8 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk1_rc.png + Theme Variant + Poison + Turn Rate + 6.2831855 + Weight + 1 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Hazbot/Hazbot Mk II + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Tier 2 + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + Poison + Status + Poison 2 + + + Mouthspark + Poison + + + + Behavior + + Defenses + Hazbot + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Hazbot Loot + + React % + 0.15 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 3.0 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk2_rc.png + Theme Variant + Poison + Turn Rate + 6.2831855 + Weight + 1 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Hazbot/Hazbot Mk III + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Tier 3 + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + Poison + Status + Poison 3 + + + Mouthspark + Poison + + + + Behavior + + Defenses + Hazbot + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Hazbot Loot + + React % + 0.2 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 3.2 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk3_rc.png + Theme Variant + Poison + Turn Rate + 6.2831855 + Weight + 2 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + + Texture + implementation.sprite.model["Texture"] + + + Theme Variant + implementation.sprite.model["Theme Variant"] + + + Tags + implementation.tags.derived + + + Scale + implementation.sprite.scale + + + Health Scale + implementation.health_scale + + + Shape Radius + implementation.shape.radius + + + React % + implementation.min_react_percent + + + Weight + implementation.impulse_level + + + Speed + implementation.speed + + + Speed (Targeted) + implementation.targeted_speed + + + Turn Rate + implementation.turn_rate, implementation.sprite.rotations[0].rate + + + Behavior + implementation.behavior + + + Attack (Blast) + implementation.attacks[0] + + + Loot Table + implementation.handlers[0].action.spawn_table + + + + Defenses + + + Thematic Immunity + implementation.defense.defenses[2] + + + + + + Default + + Thematic Immunity + + + + + + + Brumabot + + Thematic Immunity + + 8 + + + + + + Cinderbot + + Thematic Immunity + + 4 + + + + + + Hazbot + + Thematic Immunity + + 2 + + + + + + Surgebot + + Thematic Immunity + + 16 + + + + + Default + + + + + + character/npc/monster/scuttlebot/scuttlebot_body.dat + + Texture + + Theme Variant + Fire + + + 0.86 + 0.86 + + + + character/npc/monster/chromalisk/animation/standing.dat + + + + + + 2.8 + + character/npc/monster/scuttlebot/animations/moving_forward.dat + + Scuffle FX + + particle/footstep/scuffle_construct.dat + + Visual Float + + + + + + + + 6.2831855 + + character/npc/monster/chromalisk/animation/turn_left.dat + + + character/npc/monster/chromalisk/animation/turn_right.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Metal + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/chromalisk/animation/standing.dat + + + + + + 2.8 + + character/npc/monster/chromalisk/animation/moving_forward.dat + + Scuffle FX + + particle/footstep/scuffle_construct.dat + + Visual Float + + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + node_steal + + + 0.4 + + + (tag 1), (tag 2), (tag 3) + + + + + + Treasure/Monster/Construct/Gun Puppy/Gun Puppy Loot + + + + + 8 + 79 + 2.0 + 6.2831855 + 200 + + Monster/Health/Health Base + + 0.1 + 167 + 1500 + 4.0 + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Default + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + None + Status + None + + + Mouthspark + Default (yellow) + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + + + + 16 + -25 + + + 256 + + + + + + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Scuttlebot (TG) + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Default + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + None + Status + None + + + Mouthspark + Default (yellow) + + + + Behavior + + Defenses + Default + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Tutorial/Scuttlebot (TG) + + React % + 0.1 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 2.8 + Tags + + (tag 1), (tag 2), (tag 3) + + Texture + character/npc/monster/scuttlebot/body_mk1.png + Theme Variant + Fire + Turn Rate + 6.2831855 + Weight + 1 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Scuttlebot/Scuttlebot Mk I + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Default + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + None + Status + None + + + Mouthspark + Default (yellow) + + + + Behavior + + Defenses + Default + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Scuttlebot Loot + + React % + 0.1 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 2.8 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk1.png + Theme Variant + Fire + Turn Rate + 6.2831855 + Weight + 1 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Scuttlebot/Scuttlebot Mk II + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Tier 2 + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + None + Status + None + + + Mouthspark + Default (yellow) + + + + Behavior + + Defenses + Default + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Scuttlebot Loot + + React % + 0.15 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 3.0 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk2.png + Theme Variant + Fire + Turn Rate + 6.2831855 + Weight + 1 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Scuttlebot/Scuttlebot Mk III + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Tier 3 + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + None + Status + None + + + Mouthspark + Default (yellow) + + + + Behavior + + Defenses + Default + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Scuttlebot Loot + + React % + 0.2 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 3.2 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk3.png + Theme Variant + Fire + Turn Rate + 6.2831855 + Weight + 2 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Surgebot/Surgebot Mk I + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Default + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + Shock + Status + Shock + + + Mouthspark + Shock + + + + Behavior + + Defenses + Surgebot + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Surgebot Loot + + React % + 0.1 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 2.8 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk1_rc.png + Theme Variant + Shock + Turn Rate + 6.2831855 + Weight + 1 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Surgebot/Surgebot Mk II + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Tier 2 + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + Shock + Status + Shock 2 + + + Mouthspark + Shock + + + + Behavior + + Defenses + Surgebot + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Surgebot Loot + + React % + 0.15 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 3.0 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk2_rc.png + Theme Variant + Shock + Turn Rate + 6.2831855 + Weight + 1 + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Surgebot/Surgebot Mk III + + + Wave Tag + implementation.actor["Tags"].tags[2] + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot (base) + + Attack (Blast) + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + Attack Speed + Tier 3 + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + Shock + Status + Shock 3 + + + Mouthspark + Shock + + + + Behavior + + Defenses + Surgebot + Health Scale + + Monster/Health/Health Base + + Loot Table + + Treasure/Monster/Construct/Scuttlebot/Surgebot Loot + + React % + 0.2 + Scale + 1.0 + Shape Radius + 0.4 + Speed + 1.5 + Speed (Targeted) + 3.2 + Tags + + Texture + character/npc/monster/scuttlebot/body_mk3_rc.png + Theme Variant + Shock + Turn Rate + 6.2831855 + Weight + 2 + + + + + + Character/NPC/Monster/Construct/Tortodrone/Parts/Tortodrone (base) + + + Wave Tag + implementation.tags.tags[4], implementation.handlers[1].action.actor["Wave Tag"] + + + + + + character/npc/monster/tortodrone/tortodrone.dat + + Variant + Idle + + + + particle/fx_chainmechadeath.dat + + 2.5 + + + + character/npc/monster/tortodrone/animation/standing_idle.dat + + + + + + 2.0 + + character/npc/monster/tortodrone/animation/moving.dat + + Animation Speed + 0.667 + + + + + + + 1.5707964 + + character/npc/monster/tortodrone/animation/moving.dat + + Animation Speed + 2.0 + + + + character/npc/monster/tortodrone/animation/moving.dat + + Animation Speed + 2.0 + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Stone + + Pitch shift + Lower 1 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + 0.98 + + character/npc/monster/tortodrone/animation/standing_aggro.dat + + Sound + + + + + + 0.02 + + character/npc/monster/tortodrone/animation/standing_aggro.dat + + Sound + sound/effect/monster/tortodrone_aggressive_groan3.ogg + + + + + + + 6.0 + + character/npc/monster/tortodrone/animation/moving.dat + + Animation Speed + 2.0 + + + + + + character/npc/monster/tortodrone/animation/activate.dat + + + + TARGETED + + character/npc/monster/tortodrone/tortodrone.dat + + Variant + Aggro + + + + + + + 1.3 + + + + + + Monster/Heal/Heal Base -10 + + + + + + + Character/NPC/Monster/Construct/Tortodrone/Parts/Tortodrone Corpse + + Wave Tag + (Wave Tag) + + + + + + 12 + 79 + 2.0 + 240 + 4320 + 1 + 30 + + Monster/Health/Health Base +40 + + 7 + 0.15 + true + 10 + 267 + 900 + 3.5 + + + + Character/NPC/Monster/Construct/Tortodrone Missle Attack + + Translation 0 + 0.0, 0.0 + Translation 1 + 0.0, 0.0 + Translation 2 + 0.0, 0.0 + Translation 3 + 0.0, 0.0 + + + + + + Character/NPC/Monster/Construct/Tortodrone Charge Loop + + Status Attack + + + + + + + Character/NPC/Monster/Construct/Tortodrone Fist Pound + + + + + Character/NPC/Monster/Construct/Tortodrone Missle Attack + + Translation 0 + 0.0, 0.0 + Translation 1 + 0.0, 0.0 + Translation 2 + 0.0, 0.0 + Translation 3 + 0.0, 0.0 + + + + + + Character/NPC/Monster/Construct/Tortodrone Missle Attack + + Translation 0 + 0.0, 0.0 + Translation 1 + 0.0, 0.0 + Translation 2 + 0.0, 0.0 + Translation 3 + 0.0, 0.0 + + + + + + Character/NPC/Monster/Construct/Tortodrone Flying Punch (far) + + + + + Character/NPC/Monster/Construct/Tortodrone Punch + + + + + Character/NPC/Monster/Construct/Tortodrone Punch (outro) + + Speed + 1.0 + + + + + + + + + Monster/Defense/Defense Base +05 + + + Monster/Defense/Defense Base +05 + + + Monster/Defense/Defense Base +05 + + + Monster/Defense/Defense Base +05 + + + + 29 + 75 + + + 2 + 100 + + + 288 + + + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base +25 + + + + + + + 2.6 + 2.6 + + + -1.3, 0.0 + + + + + + + + + + + Character/NPC/Monster/Construct/Tortodrone/Parts/Tortodrone Corpse + + + Wave Tag + implementation.tags.tags[4], implementation.handlers[2].action.spawn_table["Wave Tag"] + + + + + + character/npc/monster/tortodrone/tortodrone_defeated.dat + + + + + character/npc/monster/tortodrone/animation/corpse_idle.dat + + + + + character/npc/monster/tortodrone/animation/corpse_stirring.dat + + + + + + 0.8 + + + + + + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default + + File + sound/effect/monster/monster_damage.ogg + Range + Medium + + + Transform + + + Transient + + particle/fx_gethit_crap.dat + + Size + Medium + + + + + + + + + + + Treasure/Breakable Object/Generic A + + + + + + 2 + + + + + Monster/Single Family/Construct/Tortodrone + + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Basic + + Lifespan + 5000 + Model + + particle/fx_treasure_explode.dat + + Color + Green + + + + + + + + + + + 2.5, 0.0 + 240 + 20 + + 7 + + + + + + + + + + + + + + 243 + 3 + + + + + + + + + + Character/NPC/Monster/Construct/Tortodrone/Tortodrone + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Construct/Tortodrone/Parts/Tortodrone (base) + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Blarful/Blarful 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Blarful (Base) + + Aquire Range + 6.0 + Attack Interval + 5000 + Damage (Status) + + Poison + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 1500 + Targeted Speed + 3.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Blarful/Blarful 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Blarful (Base) + + Aquire Range + 9.0 + Attack Interval + 3500 + Damage (Status) + + Poison 2 + + Chance + 0.4 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 1000 + Targeted Speed + 4.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Blarful/Blarful 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Blarful (Base) + + Aquire Range + 12.0 + Attack Interval + 2000 + Damage (Status) + + Poison 3 + + Chance + 0.6 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 500 + Targeted Speed + 5.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Blarful/Blarful Overtimer 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Blarful Overtimer (Base) + + Aquire Range + 8.0 + Attack Interval + 5000 + Damage (Status) + + Poison + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 1200 + Targeted Speed + 3.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Blarful/Blarful Overtimer 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Blarful Overtimer (Base) + + Aquire Range + 10.0 + Attack Interval + 3500 + Damage (Status) + + Poison 2 + + Chance + 0.4 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 850 + Targeted Speed + 4.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Blarful/Blarful Overtimer 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Blarful Overtimer (Base) + + Aquire Range + 12.0 + Attack Interval + 2000 + Damage (Status) + + Poison 3 + + Chance + 0.6 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 500 + Targeted Speed + 6.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Devil-IT/Devil-IT 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devil-IT (Base) + + Aquire Range + 6.0 + Attack Interval + 5000 + Damage (Status) + + Shock + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 1500 + Targeted Speed + 3.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Devil-IT/Devil-IT 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devil-IT (Base) + + Aquire Range + 9.0 + Attack Interval + 3500 + Damage (Status) + + Shock 2 + + Chance + 0.4 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 1000 + Targeted Speed + 4.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Devil-IT/Devil-IT 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devil-IT (Base) + + Aquire Range + 12.0 + Attack Interval + 2000 + Damage (Status) + + Shock 3 + + Chance + 0.6 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 500 + Targeted Speed + 5.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Devil-IT/Devil-IT Overtimer 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devil-IT Overtimer (Base) + + Aquire Range + 8.0 + Attack Interval + 5000 + Damage (Status) + + Shock + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 1200 + Targeted Speed + 3.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Devil-IT/Devil-IT Overtimer 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devil-IT Overtimer (Base) + + Aquire Range + 10.0 + Attack Interval + 3500 + Damage (Status) + + Shock 2 + + Chance + 0.4 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 850 + Targeted Speed + 4.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Devil-IT/Devil-IT Overtimer 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devil-IT Overtimer (Base) + + Aquire Range + 12.0 + Attack Interval + 2000 + Damage (Status) + + Shock 3 + + Chance + 0.6 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 500 + Targeted Speed + 6.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Devilite/Devilite 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devilite (Base) + + Aquire Range + 6.0 + Attack Interval + 5000 + Dodge Interval + 1500 + Targeted Speed + 3.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Devilite/Devilite 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devilite (Base) + + Aquire Range + 9.0 + Attack Interval + 3500 + Dodge Interval + 1000 + Targeted Speed + 4.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Devilite/Devilite 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devilite (Base) + + Aquire Range + 12.0 + Attack Interval + 2000 + Dodge Interval + 500 + Targeted Speed + 5.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Devilite/Devilite Overtimer 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devilite Overtimer (Base) + + Aquire Range + 8.0 + Attack Interval + 5000 + Damage (Status) + + Stun + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 1200 + Targeted Speed + 3.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Devilite/Devilite Overtimer 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devilite Overtimer (Base) + + Aquire Range + 10.0 + Attack Interval + 3500 + Damage (Status) + + Stun + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 850 + Targeted Speed + 4.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Devilite/Devilite Overtimer 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devilite Overtimer (Base) + + Aquire Range + 12.0 + Attack Interval + 2000 + Damage (Status) + + Stun + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 500 + Targeted Speed + 6.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Firebrander/Firebrander 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Firebrander (Base) + + Aquire Range + 6.0 + Attack Interval + 5000 + Damage (Status) + + Fire + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 1500 + Targeted Speed + 3.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Firebrander/Firebrander 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Firebrander (Base) + + Aquire Range + 9.0 + Attack Interval + 3500 + Damage (Status) + + Fire 2 + + Chance + 0.4 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 1000 + Targeted Speed + 4.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Firebrander/Firebrander 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Firebrander (Base) + + Aquire Range + 12.0 + Attack Interval + 2000 + Damage (Status) + + Fire 3 + + Chance + 0.6 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 500 + Targeted Speed + 5.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Firebrander/Firebrander Overtimer 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Firebrander Overtimer (Base) + + Aquire Range + 8.0 + Attack Interval + 5000 + Damage (Status) + + Fire + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 1200 + Targeted Speed + 3.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Firebrander/Firebrander Overtimer 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Firebrander Overtimer (Base) + + Aquire Range + 10.0 + Attack Interval + 3500 + Damage (Status) + + Fire 2 + + Chance + 0.4 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 850 + Targeted Speed + 4.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Firebrander/Firebrander Overtimer 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Firebrander Overtimer (Base) + + Aquire Range + 12.0 + Attack Interval + 2000 + Damage (Status) + + Fire 3 + + Chance + 0.6 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 500 + Targeted Speed + 6.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Layoafer/Layoafer 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Layoafer (Base) + + Aquire Range + 6.0 + Attack Interval + 5000 + Damage (Status) + + Freeze + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 1500 + Targeted Speed + 3.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Layoafer/Layoafer 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Layoafer (Base) + + Aquire Range + 9.0 + Attack Interval + 3500 + Damage (Status) + + Freeze 2 + + Chance + 0.4 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 1000 + Targeted Speed + 4.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Layoafer/Layoafer 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Layoafer (Base) + + Aquire Range + 12.0 + Attack Interval + 2000 + Damage (Status) + + Freeze 3 + + Chance + 0.6 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 500 + Targeted Speed + 5.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Layoafer/Layoafer Overtimer 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Layoafer Overtimer (Base) + + Aquire Range + 8.0 + Attack Interval + 5000 + Damage (Status) + + Freeze + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 1200 + Targeted Speed + 3.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Layoafer/Layoafer Overtimer 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Layoafer Overtimer (Base) + + Aquire Range + 10.0 + Attack Interval + 3500 + Damage (Status) + + Freeze 2 + + Chance + 0.4 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 850 + Targeted Speed + 4.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Layoafer/Layoafer Overtimer 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Layoafer Overtimer (Base) + + Aquire Range + 12.0 + Attack Interval + 2000 + Damage (Status) + + Freeze 3 + + Chance + 0.6 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Dodge Interval + 500 + Targeted Speed + 6.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Blarful (Base) + + + Damage (Status) + implementation.actor["Attacks"][4].ref["Damage (Status)"], implementation.actor["Attacks"][5].ref["Damage (Status)"], implementation.actor["Attacks"][6].ref["Damage (Status)"], implementation.actor["Attacks"][7].ref["Damage (Status)"], implementation.actor["Attacks"][8].ref["Damage (Status)"] + + + Targeted Speed + implementation.actor["Targeted Speed"] + + + Aquire Range + implementation.actor["Behavior"]["Behavior"]["Aquire Range"] + + + Attack Interval + implementation.actor["Behavior"]["Behavior"]["Attack Interval"] + + + Dodge Interval + implementation.actor["Behavior"]["Behavior"]["Dodge Interval"], implementation.actor["Behavior"]["Dodge Interval"] + + + Wave Tag + implementation.actor["Wave Tag"], implementation.actor["Overtimer Table"]["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Worker (Base) + + Attacks + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Left + + + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Right + + + + + + Character/NPC/Monster/Fiend/Devilite/Dive Away + + + + + Character/NPC/Monster/Fiend/Devilite/Cower + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Junk/Can + + Damage (Status) + + Poison + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Junk/Cup + + Damage (Status) + + Poison + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Junk/Dohnut + + Damage (Status) + + Poison + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Junk/Napkin + + Damage (Status) + + Poison + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Junk/Can + + Damage (Status) + + Poison + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Behavior + + Defense + Blarful + Health Scale + + Monster/Health/Health Base -05 + + Idle Speed + 2.0 + Intersection Action + + + Loot Table + + Treasure/Monster/Fiend/Devilite/Blarful Loot + + Model + + character/npc/monster/devilite/model_poi.dat + + Variant + Worker + Weapon Left + + Weapon Right + + + + Overtimer Table + + Monster/Single Family/Fiend/Scaled - Blarful Overtimer + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + Scale + 0.85 + Spawn Style + Normal + Tags Label + devilworker + Targeted Speed + 5.0 + Turn Speed + 3.4906585 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Blarful Overtimer (Base) + + + Damage (Status) + implementation.actor["Attacks"][4].ref["Damage"].damages[1].status_condition, implementation.actor["Attacks"][5].ref["Damage (Status)"].status_condition, implementation.actor["Attacks"][6].ref["Damage (Status)"].status_condition + + + Targeted Speed + implementation.actor["Targeted Speed"] + + + Aquire Range + implementation.actor["Behavior"]["Behavior"]["Aquire Range"] + + + Attack Interval + implementation.actor["Behavior"]["Behavior"]["Attack Interval"] + + + Dodge Interval + implementation.actor["Behavior"]["Behavior"]["Dodge Interval"], implementation.actor["Behavior"]["Dodge Interval"] + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Worker (Base) + + Attacks + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Left + + + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Right + + + + + + Character/NPC/Monster/Fiend/Devilite/Dive Away + + + + + Character/NPC/Monster/Fiend/Devilite/Cower + + + + + Character/NPC/Monster/Fiend/Devilite/Swing Weapon + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 4 + + Fire + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Weapons/Pitchfork (Nrm) + + Damage (Status) + + 4 + + Fire + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Variant + Poison + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Weapons/Axe (Nrm) + + Damage (Status) + + 4 + + Fire + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Variant + Poison + + + + + Behavior + + Defense + Blarful + Health Scale + + Monster/Health/Health Base + + Idle Speed + 2.0 + Intersection Action + + + Loot Table + + Treasure/Monster/Fiend/Devilite/Blarful Loot + + Model + + character/npc/monster/devilite/model_poi.dat + + Variant + Overtimer + Weapon Left + + Weapon Right + + item/weapon/npc/devilite/model_axe.dat + + Variant + Poison + + + + + Overtimer Table + + Scale + 0.85 + Spawn Style + Demotion + Tags Label + devilovertimer + Targeted Speed + 5.0 + Turn Speed + 3.4906585 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devil-IT (Base) + + + Damage (Status) + implementation.actor["Attacks"][4].ref["Damage (Status)"], implementation.actor["Attacks"][5].ref["Damage (Status)"], implementation.actor["Attacks"][6].ref["Damage (Status)"], implementation.actor["Attacks"][7].ref["Damage (Status)"], implementation.actor["Attacks"][8].ref["Damage (Status)"] + + + Targeted Speed + implementation.actor["Targeted Speed"] + + + Aquire Range + implementation.actor["Behavior"]["Behavior"]["Aquire Range"] + + + Attack Interval + implementation.actor["Behavior"]["Behavior"]["Attack Interval"] + + + Dodge Interval + implementation.actor["Behavior"]["Behavior"]["Dodge Interval"], implementation.actor["Behavior"]["Dodge Interval"] + + + Wave Tag + implementation.actor["Wave Tag"], implementation.actor["Overtimer Table"]["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Worker (Base) + + Attacks + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Left + + + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Right + + + + + + Character/NPC/Monster/Fiend/Devilite/Dive Away + + + + + Character/NPC/Monster/Fiend/Devilite/Cower + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Electronics/Board 1 + + Damage (Status) + + Shock + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Electronics/Board 2 + + Damage (Status) + + Shock + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Electronics/Board 3 + + Damage (Status) + + Shock + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Electronics/Floppy + + Damage (Status) + + Shock + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Electronics/Board 2 + + Damage (Status) + + Shock + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Behavior + + Defense + Devil-IT + Health Scale + + Monster/Health/Health Base -05 + + Idle Speed + 2.0 + Intersection Action + + + Loot Table + + Treasure/Monster/Fiend/Devilite/Devil-IT Loot + + Model + + character/npc/monster/devilite/model_sho.dat + + Variant + Worker + Weapon Left + + Weapon Right + + + + Overtimer Table + + Monster/Single Family/Fiend/Scaled - Devil-IT Overtimer + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + Scale + 0.85 + Spawn Style + Normal + Tags Label + devilworker + Targeted Speed + 5.0 + Turn Speed + 3.4906585 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devil-IT Overtimer (Base) + + + Damage (Status) + implementation.actor["Attacks"][4].ref["Damage"].damages[1].status_condition, implementation.actor["Attacks"][5].ref["Damage (Status)"].status_condition, implementation.actor["Attacks"][6].ref["Damage (Status)"].status_condition + + + Targeted Speed + implementation.actor["Targeted Speed"] + + + Aquire Range + implementation.actor["Behavior"]["Behavior"]["Aquire Range"] + + + Attack Interval + implementation.actor["Behavior"]["Behavior"]["Attack Interval"] + + + Dodge Interval + implementation.actor["Behavior"]["Behavior"]["Dodge Interval"], implementation.actor["Behavior"]["Dodge Interval"] + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Worker (Base) + + Attacks + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Left + + + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Right + + + + + + Character/NPC/Monster/Fiend/Devilite/Dive Away + + + + + Character/NPC/Monster/Fiend/Devilite/Cower + + + + + Character/NPC/Monster/Fiend/Devilite/Swing Weapon + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 4 + + Shock + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Weapons/Pitchfork (Nrm) + + Damage (Status) + + 4 + + Fire + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Variant + Shock + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Weapons/Axe (Nrm) + + Damage (Status) + + 4 + + Fire + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Variant + Shock + + + + + Behavior + + Defense + Devil-IT + Health Scale + + Monster/Health/Health Base + + Idle Speed + 2.0 + Intersection Action + + + Loot Table + + Treasure/Monster/Fiend/Devilite/Devil-IT Loot + + Model + + character/npc/monster/devilite/model_sho.dat + + Variant + Overtimer + Weapon Left + + Weapon Right + + item/weapon/npc/devilite/model_axe.dat + + Variant + Shock + + + + + Overtimer Table + + Scale + 0.85 + Spawn Style + Demotion + Tags Label + devilovertimer + Targeted Speed + 5.0 + Turn Speed + 3.4906585 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devilite (Base) + + + Targeted Speed + implementation.actor["Targeted Speed"] + + + Aquire Range + implementation.actor["Behavior"]["Behavior"]["Aquire Range"] + + + Attack Interval + implementation.actor["Behavior"]["Behavior"]["Attack Interval"] + + + Dodge Interval + implementation.actor["Behavior"]["Behavior"]["Dodge Interval"], implementation.actor["Behavior"]["Dodge Interval"] + + + Wave Tag + implementation.actor["Wave Tag"], implementation.actor["Overtimer Table"]["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Worker (Base) + + Attacks + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Left + + + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Right + + + + + + Character/NPC/Monster/Fiend/Devilite/Dive Away + + + + + Character/NPC/Monster/Fiend/Devilite/Cower + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Book + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Stapler + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Suitcase + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Computer + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Chair + + + + Behavior + + Defense + Default + Health Scale + + Monster/Health/Health Base -05 + + Idle Speed + 2.0 + Intersection Action + + + Loot Table + + Treasure/Monster/Fiend/Devilite/Devilite Loot + + Model + + character/npc/monster/devilite/model_nrm.dat + + Variant + Worker + Weapon Left + + Weapon Right + + + + Overtimer Table + + Monster/Single Family/Fiend/Scaled - Devilite Overtimer + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + Scale + 0.85 + Spawn Style + Normal + Tags Label + devilworker + Targeted Speed + 5.0 + Turn Speed + 3.4906585 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Devilite Overtimer (Base) + + + Damage (Status) + implementation.actor["Attacks"][5].ref["Damage (Status)"].status_condition, implementation.actor["Attacks"][6].ref["Damage (Status)"].status_condition + + + Targeted Speed + implementation.actor["Targeted Speed"] + + + Aquire Range + implementation.actor["Behavior"]["Behavior"]["Aquire Range"] + + + Attack Interval + implementation.actor["Behavior"]["Behavior"]["Attack Interval"] + + + Dodge Interval + implementation.actor["Behavior"]["Behavior"]["Dodge Interval"], implementation.actor["Behavior"]["Dodge Interval"] + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Worker (Base) + + Attacks + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Left + + + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Right + + + + + + Character/NPC/Monster/Fiend/Devilite/Dive Away + + + + + Character/NPC/Monster/Fiend/Devilite/Cower + + + + + Character/NPC/Monster/Fiend/Devilite/Swing Weapon + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + true + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Weapons/Axe (Nrm) + + Damage (Status) + + 4 + + Stun + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Variant + Normal + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Weapons/Pitchfork (Nrm) + + Damage (Status) + + 4 + + Stun + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Variant + Normal + + + + + Behavior + + Defense + Default + Health Scale + + Monster/Health/Health Base + + Idle Speed + 2.0 + Intersection Action + + + Loot Table + + Treasure/Monster/Fiend/Devilite/Devilite Loot + + Model + + character/npc/monster/devilite/model_nrm.dat + + Variant + Overtimer + Weapon Left + + Weapon Right + + item/weapon/npc/devilite/model_axe.dat + + Variant + Normal + + + + + Overtimer Table + + Scale + 0.85 + Spawn Style + Demotion + Tags Label + devilovertimer + Targeted Speed + 5.0 + Turn Speed + 3.4906585 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Firebrander (Base) + + + Damage (Status) + implementation.actor["Attacks"][4].ref["Damage (Status)"], implementation.actor["Attacks"][5].ref["Damage (Status)"], implementation.actor["Attacks"][6].ref["Damage (Status)"], implementation.actor["Attacks"][7].ref["Damage (Status)"], implementation.actor["Attacks"][8].ref["Damage (Status)"] + + + Targeted Speed + implementation.actor["Targeted Speed"] + + + Aquire Range + implementation.actor["Behavior"]["Behavior"]["Aquire Range"] + + + Attack Interval + implementation.actor["Behavior"]["Behavior"]["Attack Interval"] + + + Dodge Interval + implementation.actor["Behavior"]["Behavior"]["Dodge Interval"], implementation.actor["Behavior"]["Dodge Interval"] + + + Wave Tag + implementation.actor["Wave Tag"], implementation.actor["Overtimer Table"]["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Worker (Base) + + Attacks + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Left + + + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Right + + + + + + Character/NPC/Monster/Fiend/Devilite/Dive Away + + + + + Character/NPC/Monster/Fiend/Devilite/Cower + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Fireball + + Damage (Status) + + Fire + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Fireball + + Damage (Status) + + Fire + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Fireball + + Damage (Status) + + Fire + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Fireball + + Damage (Status) + + Fire + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Fireball + + Damage (Status) + + Fire + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Behavior + + Defense + Firebrander + Health Scale + + Monster/Health/Health Base -05 + + Idle Speed + 2.0 + Intersection Action + + + Loot Table + + Treasure/Monster/Fiend/Devilite/Firebrander Loot + + Model + + character/npc/monster/devilite/model_fir.dat + + Variant + Worker + Weapon Left + + Weapon Right + + + + Overtimer Table + + Monster/Single Family/Fiend/Scaled - Firebrander Overtimer + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + Scale + 0.85 + Spawn Style + Normal + Tags Label + devilworker + Targeted Speed + 5.0 + Turn Speed + 3.4906585 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Firebrander Overtimer (Base) + + + Damage (Status) + implementation.actor["Attacks"][4].ref["Damage"].damages[1].status_condition, implementation.actor["Attacks"][5].ref["Damage (Status)"].status_condition, implementation.actor["Attacks"][6].ref["Damage (Status)"].status_condition + + + Targeted Speed + implementation.actor["Targeted Speed"] + + + Aquire Range + implementation.actor["Behavior"]["Behavior"]["Aquire Range"] + + + Attack Interval + implementation.actor["Behavior"]["Behavior"]["Attack Interval"] + + + Dodge Interval + implementation.actor["Behavior"]["Behavior"]["Dodge Interval"], implementation.actor["Behavior"]["Dodge Interval"] + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Worker (Base) + + Attacks + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Left + + + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Right + + + + + + Character/NPC/Monster/Fiend/Devilite/Dive Away + + + + + Character/NPC/Monster/Fiend/Devilite/Cower + + + + + Character/NPC/Monster/Fiend/Devilite/Swing Weapon + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 4 + + Fire + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Weapons/Pitchfork (Nrm) + + Damage (Status) + + 4 + + Fire + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Variant + Fire + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Weapons/Axe (Nrm) + + Damage (Status) + + 4 + + Fire + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Variant + Fire + + + + + Behavior + + Defense + Firebrander + Health Scale + + Monster/Health/Health Base + + Idle Speed + 2.0 + Intersection Action + + + Loot Table + + Treasure/Monster/Fiend/Devilite/Firebrander Loot + + Model + + character/npc/monster/devilite/model_fir.dat + + Variant + Overtimer + Weapon Left + + Weapon Right + + item/weapon/npc/devilite/model_axe.dat + + Variant + Fire + + + + + Overtimer Table + + Scale + 0.85 + Spawn Style + Demotion + Tags Label + devilovertimer + Targeted Speed + 5.0 + Turn Speed + 3.4906585 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Layoafer (Base) + + + Damage (Status) + implementation.actor["Attacks"][4].ref["Damage (Status)"] + + + Targeted Speed + implementation.actor["Targeted Speed"] + + + Aquire Range + implementation.actor["Behavior"]["Behavior"]["Aquire Range"] + + + Attack Interval + implementation.actor["Behavior"]["Behavior"]["Attack Interval"] + + + Dodge Interval + implementation.actor["Behavior"]["Behavior"]["Dodge Interval"], implementation.actor["Behavior"]["Dodge Interval"] + + + Wave Tag + implementation.actor["Wave Tag"], implementation.actor["Overtimer Table"]["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Worker (Base) + + Attacks + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Left + + + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Right + + + + + + Character/NPC/Monster/Fiend/Devilite/Dive Away + + + + + Character/NPC/Monster/Fiend/Devilite/Cower + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Snowball + + Damage (Status) + + Freeze + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Snowball + + Damage (Status) + + Freeze + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Snowball + + Damage (Status) + + Freeze + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Snowball + + Damage (Status) + + Freeze + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Snowball + + Damage (Status) + + Freeze + + Chance + 0.2 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Behavior + + Defense + Layoafer + Health Scale + + Monster/Health/Health Base -05 + + Idle Speed + 2.0 + Intersection Action + + + Loot Table + + Treasure/Monster/Fiend/Devilite/Layoafer Loot + + Model + + character/npc/monster/devilite/model_fre.dat + + Variant + Worker + Weapon Left + + Weapon Right + + + + Overtimer Table + + Monster/Single Family/Fiend/Scaled - Layoafer Overtimer + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + Scale + 0.85 + Spawn Style + Normal + Tags Label + devilworker + Targeted Speed + 5.0 + Turn Speed + 3.4906585 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Layoafer Overtimer (Base) + + + Damage (Status) + implementation.actor["Attacks"][4].ref["Damage"].damages[1].status_condition, implementation.actor["Attacks"][5].ref["Damage (Status)"].status_condition, implementation.actor["Attacks"][6].ref["Damage (Status)"].status_condition + + + Targeted Speed + implementation.actor["Targeted Speed"] + + + Aquire Range + implementation.actor["Behavior"]["Behavior"]["Aquire Range"] + + + Attack Interval + implementation.actor["Behavior"]["Behavior"]["Attack Interval"] + + + Dodge Interval + implementation.actor["Behavior"]["Behavior"]["Dodge Interval"], implementation.actor["Behavior"]["Dodge Interval"] + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Worker (Base) + + Attacks + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Left + + + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Right + + + + + + Character/NPC/Monster/Fiend/Devilite/Dive Away + + + + + Character/NPC/Monster/Fiend/Devilite/Cower + + + + + Character/NPC/Monster/Fiend/Devilite/Swing Weapon + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 4 + + Freeze + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Weapons/Pitchfork (Nrm) + + Damage (Status) + + 4 + + Fire + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Variant + Freeze + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Weapons/Axe (Nrm) + + Damage (Status) + + 4 + + Fire + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Variant + Freeze + + + + + Behavior + + Defense + Layoafer + Health Scale + + Monster/Health/Health Base + + Idle Speed + 2.0 + Intersection Action + + + Loot Table + + Treasure/Monster/Fiend/Devilite/Layoafer Loot + + Model + + character/npc/monster/devilite/model_fre.dat + + Variant + Overtimer + Weapon Left + + Weapon Right + + item/weapon/npc/devilite/model_axe.dat + + Variant + Freeze + + + + + Overtimer Table + + Scale + 0.85 + Spawn Style + Demotion + Tags Label + devilovertimer + Targeted Speed + 5.0 + Turn Speed + 3.4906585 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Marker + + + Table + implementation.detonation_action.spawn_table + + + + + + particle/fx_spawn_monster.dat + + + 0 + 0 + 1 + + + Monster/Single Family/Fiend/Scaled - Devilite + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Pit Boss (Base) + + + Targeted Speed + implementation.targeted_speed + + + Aquire Range + implementation.behavior["Aquire Range"] + + + Coffee Weight + implementation.behavior["Coffee Weight"] + + + Overtime Weight + implementation.behavior["Overtime Weight"] + + + Promote Weight + implementation.behavior["Yesman Weight"] + + + Wave Tag + implementation.tags.tags[3] + + + + + + character/npc/monster/devilite/model_manager.dat + + Weapon Left + + item/weapon/npc/devilite/model_clipboard.dat + + Weapon Right + + item/weapon/npc/devilite/model_coffee.dat + + + + 1.1 + 0.9 + + + 0.75 + + character/npc/monster/devilite/animation/v2/animation_idle1.dat + + + + 0.25 + + character/npc/monster/devilite/animation/v2/animation_idle3_sigh.dat + + + + + + 3.0 + + character/npc/monster/devilite/animation/v2/animation_walking.dat + + + + + + 3.1415927 + + character/npc/monster/devilite/animation/v2/animation_turnleft.dat + + + character/npc/monster/devilite/animation/v2/animation_turnright.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/monster_damage.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + 0.75 + + character/npc/monster/devilite/animation/v2/animation_idle1.dat + + + + 0.25 + + character/npc/monster/devilite/animation/v2/animation_idle3_sigh.dat + + + + + + 3.0 + + character/npc/monster/devilite/animation/v2/animation_walking.dat + + + + + character/npc/monster/devilite/animation/v2/animation_nooooo.dat + + Sound + sound/effect/monster/devilite/devilite_promotion.ogg + + + + + 0.47 + + + + + + + + + Treasure/Monster/Fiend/Devilite/Pit Boss Loot + + + + + + + + + + + + + + 8 + 79 + 2.0 + 3.4906585 + 160 + 5760 + 1 + 30 + + Monster/Health/Health Base +10 + + 0.08 + 500 + 1692 + 1100 + 3.0 + + + + Character/NPC/Monster/Fiend/Devilite/Manager/Overtime + + + + + Character/NPC/Monster/Fiend/Devilite/Manager/Sip Coffee + + + + + Character/NPC/Monster/Fiend/Devilite/Manager/Overtime + + + + + Character/NPC/Monster/Fiend/Devilite/Manager/Promote + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + + 36 + 50 + + + 264 + -25 + + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Worker (Base) + + + Model + implementation.sprite.model + + + Scale + implementation.sprite.scale + + + Health Scale + implementation.health_scale + + + Loot Table + implementation.handlers[0].action.action.spawn_table + + + Tags Label + implementation.tags.tags[0] + + + Targeted Speed + implementation.targeted_speed + + + Idle Speed + implementation.speed + + + Turn Speed + implementation.turn_rate + + + Behavior + implementation.behavior + + + Attacks + implementation.attacks + + + + Defense + + + Thematic Immunity + implementation.defense.defenses[2].defenses + + + + + + Default + + Thematic Immunity + + + + + + + Blarful + + Thematic Immunity + + + 2 + + + + + + + Devil-IT + + Thematic Immunity + + + 16 + + + + + + + Firebrander + + Thematic Immunity + + + 4 + + + + + + + Layoafer + + Thematic Immunity + + + 8 + + + + + + Default + + + Overtimer Table + implementation.handlers[1].action.action.actions[0].actor["Table"] + + + Intersection Action + implementation.handlers[4].action + + + + Spawn Style + + + Activation + implementation.sprite.activation + + + Activate Time + implementation.activate_time + + + + + + Normal + + Activate Time + 200 + Activation + + animation/common/spawn_scalein.dat + + Transform + + 0.75 + + Transient + + particle/fx_spawn_monster.dat + + + + + + + + Demotion + + Activate Time + 2500 + Activation + + character/npc/monster/devilite/animation/v2/animation_nooooo.dat + + Sound + sound/effect/monster/devilite/devilite_overtime.ogg + + + + + + Normal + + + Wave Tag + implementation.tags.tags[3], implementation.handlers[1].action.action.actions[0].actor["Table"]["Wave Tag"], implementation.handlers[2].action.action.actions[0].actor["Table"]["Wave Tag"], implementation.handlers[3].action.action.actions[0].actor["Table"]["Wave Tag"] + + + + + + character/npc/monster/devilite/model_nrm.dat + + Variant + Worker + Weapon Left + + Weapon Right + + + + 0.85 + 0.85 + + + 0.5 + + character/npc/monster/devilite/animation/v2/animation_idle1.dat + + + + 0.25 + + character/npc/monster/devilite/animation/v2/animation_idle2_lookaround.dat + + + + 0.25 + + character/npc/monster/devilite/animation/v2/animation_idle3_sigh.dat + + + + + + 3.0 + + character/npc/monster/devilite/animation/v2/animation_walking.dat + + + + + + 3.1415927 + + character/npc/monster/devilite/animation/v2/animation_turnleft.dat + + + character/npc/monster/devilite/animation/v2/animation_turnright.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/devilite/animation/v2/animation_standing.dat + + + + + + 6.0 + + character/npc/monster/devilite/animation/v2/animation_running.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.35 + + + + + + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Marker + + Table + + Monster/Single Family/Fiend/Scaled - Overtimer + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Marker + + Table + + Monster/Single Family/Fiend/Scaled - Pit Boss + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Marker + + Table + + Monster/Single Family/Fiend/Scaled - Yesman + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + + + + + + + 8 + 79 + 2.0 + 3.4906585 + 1 + 1 + + Monster/Health/Health Base + + 0.08 + 500 + 1692 + 1100 + 5.0 + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Left + + + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + Direction + Right + + + + + + Character/NPC/Monster/Fiend/Devilite/Dive Away + + + + + Character/NPC/Monster/Fiend/Devilite/Cower + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Book + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Stapler + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Suitcase + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Computer + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Chair + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + + + + 36 + 50 + + + 264 + -25 + + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Yesman (Base) + + + Defense Aura + implementation.handlers[1].action.actions[2].condition["Defense Modifier"] + + + Wave Tag + implementation.tags.tags[2], implementation.handlers[2].action.action.actions[0].actor["Table"]["Wave Tag"] + + + + + + character/npc/monster/devilite/model_spt.dat + + Weapon Left + + Weapon Right + + + + 0.85 + 0.85 + + + 0.7 + + character/npc/monster/devilite/animation/v2/animation_idle1.dat + + + + 0.15 + + character/npc/monster/devilite/animation/v2/animation_idle3_sigh.dat + + + + 0.15 + + character/npc/monster/devilite/animation/v2/animation_idle2_lookaround.dat + + + + + + 3.0 + + character/npc/monster/devilite/animation/v2/animation_walking.dat + + + + + + 3.1415927 + + character/npc/monster/devilite/animation/v2/animation_turnleft.dat + + + character/npc/monster/devilite/animation/v2/animation_turnright.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/monster_damage.ogg + Gain + 5.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + 0.7 + + character/npc/monster/devilite/animation/v2/animation_idle1.dat + + + + 0.15 + + character/npc/monster/devilite/animation/v2/animation_idle3_sigh.dat + + + + 0.15 + + character/npc/monster/devilite/animation/v2/animation_idle2_lookaround.dat + + + + + + 3.0 + + character/npc/monster/devilite/animation/v2/animation_walking.dat + + + + + character/npc/monster/devilite/animation/v2/animation_nooooo.dat + + Sound + sound/effect/monster/devilite/devilite_promotion.ogg + + + + + 0.35 + + + + + + + Treasure/Monster/Fiend/Devilite/Devilite Loot + + + + + + + + + + false + + + + + Bomb/Monster/YesmanAura + + Heal + 15 + + + + + + Buff + + Damage Modifier + 0.0 + Defense Modifier + 0.0 + Duration + 3000 + Source + + Variant + Null + + + + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Marker + + Table + + Monster/Single Family/Fiend/Scaled - Devilite Overtimer + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + + + 8 + 79 + 4.0 + 5.2359877 + 80 + 2880 + 1 + 30 + + Monster/Health/Health Base +10 + + 0.08 + 500 + 1692 + 1100 + 4.0 + + + + Character/NPC/Monster/Fiend/Devilite/Yesman Twitch + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + + 36 + 50 + + + 264 + -25 + + + + + + + Character/NPC/Monster/Fiend/Devilite/Pit Boss/Pit Boss 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Pit Boss (Base) + + Aquire Range + 12.0 + Coffee Weight + 10.0 + Overtime Weight + 6.0 + Promote Weight + 5.0 + Targeted Speed + 3.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Pit Boss/Pit Boss 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Pit Boss (Base) + + Aquire Range + 14.0 + Coffee Weight + 10.0 + Overtime Weight + 9.0 + Promote Weight + 5.0 + Targeted Speed + 4.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Pit Boss/Pit Boss 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Pit Boss (Base) + + Aquire Range + 18.0 + Coffee Weight + 5.0 + Overtime Weight + 20.0 + Promote Weight + 5.0 + Targeted Speed + 6.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Yesman/Yesman 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Yesman (Base) + + Defense Aura + 0.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Yesman/Yesman 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Yesman (Base) + + Defense Aura + 0.25 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Devilite/Yesman/Yesman 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Devilite/Parts/Yesman (Base) + + Defense Aura + 0.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Gold Trojan/Gold Trojan + + + Wave Tag + implementation.tags.tags[2] + + + Patrol Tag + implementation.behavior["Patrol Tag"] + + + + + + character/npc/monster/darkknight/model.dat + + variant + gold + + + + particle/model_fxscaler.dat + + Model + + particle/fx_spawn_monster.dat + + Transfrom + + 2.0 + + + + 1.25 + 1.4 + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.0 + Blend Out + 0.0 + Sound set + Trojan family + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Trojan family + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Trojan + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.0 + Blend Out + 0.0 + Sound set + Trojan family + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Trojan family + + + + + + animation/common/spawn_scalein.dat + + Transform + + 1.2 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.8 + + 8 + 79 + 3.0 + 6.981317 + 600 + 2 + 0.15 + true + 7 + 433 + 1500 + 2.0 + + + + Character/NPC/Monster/Fiend/Gold Trojan/Sword Slam + + + + + + + + + Character/NPC/Monster/Fiend/Greaver/Fire/Ruby Greaver 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 1 (Base) + + Bullet + + Defense (Status) + Fire + Model + + character/npc/monster/silkwing/model_sts.dat + + Color + Fire + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Fire/Ruby Greaver 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 2 (Base) + + Bomb Color + Fire Red + Bomb Status + + Fire 2 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Defense (Status) + Fire + Model + + character/npc/monster/silkwing/model_sts.dat + + Color + Fire + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Fire/Ruby Greaver 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 3 (Base) + + Bomb Color + Fire Red + Bomb Status + + Fire 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Bullet/Monster/Greaver Bullet + + Bullet Speed + 2.5 + Element + Fire + Status + Fire 3 + + + Defense (Status) + Fire + Model + + character/npc/monster/silkwing/model_sts.dat + + Color + Fire + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Freeze/Pearl Greaver 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 1 (Base) + + Bullet + + Defense (Status) + Freeze + Model + + character/npc/monster/silkwing/model_sts.dat + + Color + Freeze + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Freeze/Pearl Greaver 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 2 (Base) + + Bomb Color + Frost Blue + Bomb Status + + Freeze 2 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Defense (Status) + Freeze + Model + + character/npc/monster/silkwing/model_sts.dat + + Color + Freeze + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Freeze/Pearl Greaver 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 3 (Base) + + Bomb Color + Frost Blue + Bomb Status + + Freeze 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Bullet/Monster/Greaver Bullet + + Bullet Speed + 2.5 + Element + Freeze + Status + Freeze 3 + + + Defense (Status) + Freeze + Model + + character/npc/monster/silkwing/model_sts.dat + + Color + Freeze + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Greaver (Base) + + + Model + implementation.sprite.model + + + Bullet + implementation.attacks[0].ref["Bullet"] + + + Bomb + implementation.handlers[1].action.actor + + + Loot + implementation.handlers[0].action.actions[0].spawn_table + + + Targeted Speed + implementation.targeted_speed + + + Attack Interval + implementation.behavior["Target Action"].min_attack_interval + + + + Defense (Status) + + + Thematic Immunity + implementation.defense.defenses[2].defenses + + + + + + Default + + Thematic Immunity + + + + + + + Fire + + Thematic Immunity + + + 4 + + + + + + + Freeze + + Thematic Immunity + + + 8 + + + + + + + Poison + + Thematic Immunity + + + 2 + + + + + + + Shock + + Thematic Immunity + + + 16 + + + + + + Default + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/silkwing/model_nrm.dat + + Variant + Tier 2 + + + 1.25 + 0.9 + + + + character/npc/monster/silkwing/animation/flapwings.dat + + Speed + 0.75 + + + + + + + 4.0 + + character/npc/monster/silkwing/animation/animation_movebob.dat + + + + + particle/fx_gethit_monster.dat + + + particle/fx_heal.dat + + + + + character/npc/monster/silkwing/animation/flapwings.dat + + Speed + 2.0 + + + + + + + 4.0 + + character/npc/monster/silkwing/animation/animation_movebob.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.45 + + + (tag 1), (tag 2), (tag 3) + + + + + + + + Treasure/Monster/Fiend/Silkwing/Silkwing Loot + + + + + + + + + Bomb/Monster/Greaver Zone + + Color + Stun + Damage + + Stun + + Chance + 0.25 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Lifespan + 1.0 + Radius + 1.25 + + + + + + 8 + 79 + 2.5 + true + 6.2831855 + 240 + 540 + 9 + 19 + + Monster/Health/Health Base + + 0.1 + 667 + 1100 + 1100 + 4.0 + true + + + + Character/NPC/Monster/Fiend/Greaver (WingSwipe) + + Bomb + + Bullet + + Bullet/Monster/Greaver Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + + + + 36 + 50 + + + 1 + -25 + + + + + + + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 1 (Base) + + + Model + implementation.actor["Model"] + + + Bullet + implementation.actor["Bullet"] + + + Defense (Status) + implementation.actor["Defense (Status)"] + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Greaver (Base) + + Attack Interval + 6000 + Bomb + + Bullet + + Defense (Status) + Default + Loot + + Treasure/Monster/Fiend/Silkwing/Silkwing Loot + + Model + + character/npc/monster/silkwing/model_nrm.dat + + Variant + Tier 2 + + + Targeted Speed + 3.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 2 (Base) + + + Model + implementation.actor["Model"] + + + Bullet + implementation.actor["Bullet"] + + + Bomb Status + implementation.actor["Bomb"]["Damage"] + + + Bomb Color + implementation.actor["Bomb"]["Color"] + + + Defense (Status) + implementation.actor["Defense (Status)"] + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Greaver (Base) + + Attack Interval + 5000 + Bomb + + Bomb/Monster/Greaver Zone + + Color + Stun + Damage + + Stun 2 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Lifespan + 1.0 + Radius + 1.25 + + + Bullet + + Defense (Status) + Default + Loot + + Treasure/Monster/Fiend/Silkwing/Silkwing Loot + + Model + + character/npc/monster/silkwing/model_nrm.dat + + Variant + Tier 2 + + + Targeted Speed + 3.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 3 (Base) + + + Model + implementation.actor["Model"] + + + Bullet + implementation.actor["Bullet"] + + + Bomb Status + implementation.actor["Bomb"]["Damage"] + + + Bomb Color + implementation.actor["Bomb"]["Color"] + + + Defense (Status) + implementation.actor["Defense (Status)"] + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Greaver (Base) + + Attack Interval + 4000 + Bomb + + Bomb/Monster/Greaver Zone + + Color + Stun + Damage + + Stun 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Lifespan + 1.0 + Radius + 1.25 + + + Bullet + + Bullet/Monster/Greaver Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Defense (Status) + Default + Loot + + Treasure/Monster/Fiend/Silkwing/Silkwing Loot + + Model + + character/npc/monster/silkwing/model_nrm.dat + + Variant + Tier 2 + + + Targeted Speed + 4.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Poison/Jade Greaver 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 1 (Base) + + Bullet + + Defense (Status) + Poison + Model + + character/npc/monster/silkwing/model_sts.dat + + Color + Poison + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Poison/Jade Greaver 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 2 (Base) + + Bomb Color + Poison Green + Bomb Status + + Poison 2 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Defense (Status) + Poison + Model + + character/npc/monster/silkwing/model_sts.dat + + Color + Poison + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Poison/Jade Greaver 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 3 (Base) + + Bomb Color + Poison Green + Bomb Status + + Poison 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Bullet/Monster/Greaver Bullet + + Bullet Speed + 2.5 + Element + Poison + Status + Poison 3 + + + Defense (Status) + Poison + Model + + character/npc/monster/silkwing/model_sts.dat + + Color + Poison + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Shock/Beryl Greaver 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 1 (Base) + + Bullet + + Defense (Status) + Shock + Model + + character/npc/monster/silkwing/model_sts.dat + + Color + Shock + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Shock/Beryl Greaver 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 2 (Base) + + Bomb Color + Shock + Bomb Status + + Shock 2 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Defense (Status) + Shock + Model + + character/npc/monster/silkwing/model_sts.dat + + Color + Shock + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Shock/Beryl Greaver 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 3 (Base) + + Bomb Color + Shock + Bomb Status + + Shock 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Bullet/Monster/Greaver Bullet + + Bullet Speed + 2.5 + Element + Shock + Status + Shock 3 + + + Defense (Status) + Shock + Model + + character/npc/monster/silkwing/model_sts.dat + + Color + Shock + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Vanilla/Greaver 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 1 (Base) + + Bullet + + Defense (Status) + Default + Model + + character/npc/monster/silkwing/model_nrm.dat + + Variant + Tier 2 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Vanilla/Greaver 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 2 (Base) + + Bomb Color + Shadow + Bomb Status + + Stun 2 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Defense (Status) + Default + Model + + character/npc/monster/silkwing/model_nrm.dat + + Variant + Tier 2 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Greaver/Vanilla/Greaver 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Fiend/Greaver/Parts/Tier 3 (Base) + + Bomb Color + Shadow + Bomb Status + + Stun 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Bullet/Monster/Greaver Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Defense (Status) + Default + Model + + character/npc/monster/silkwing/model_nrm.dat + + Variant + Tier 2 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Fiend/Silkwing (TG) + + + Wave Tag + implementation.tags.tags[4] + + + + + + character/npc/monster/silkwing/model_spt.dat + + 0.7 + 0.9 + + + + character/npc/monster/silkwing/animation/animation_idle.dat + + Weight + 1.0 + + + + + + + 4.0 + + character/npc/monster/silkwing/animation/animation_movebob.dat + + + + + particle/fx_gethit_monster.dat + + + particle/fx_heal.dat + + + + + character/npc/monster/silkwing/animation/animation_idle.dat + + Weight + 1.0 + + + + + + + 4.0 + + character/npc/monster/silkwing/animation/animation_movebob.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.25 + + + + + + Bomb/Monster/Dark Sprite Heal (Single) + + + + + + + + + + + Treasure/Monster/Tutorial/Silkwing (TG) + + + + + + + 8 + 79 + 2.5 + true + 5.2359877 + 40 + 160 + 1 + 9 + + Monster/Health/Health Base + + 0.1 + 667 + 1100 + 1100 + 3.0 + + + + Character/NPC/Monster/Fiend/Silkwing 0 + + + + + Character/NPC/Monster/Fiend/Silkwing 1 + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + + 36 + 50 + + + 1 + -25 + + + + + + + Character/NPC/Monster/Fiend/Silkwing/Silkwing 1 + + + Wave Tag + implementation.tags.tags[4] + + + + + + character/npc/monster/silkwing/model_spt.dat + + 0.7 + 0.9 + + + + character/npc/monster/silkwing/animation/animation_idle.dat + + Weight + 1.0 + + + + + + + 4.0 + + character/npc/monster/silkwing/animation/animation_movebob.dat + + + + + particle/fx_gethit_monster.dat + + + particle/fx_heal.dat + + + + + character/npc/monster/silkwing/animation/animation_idle.dat + + Weight + 1.0 + + + + + + + 4.0 + + character/npc/monster/silkwing/animation/animation_movebob.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.25 + + + (tag 1), (tag 2), (tag 3), (tag 4), (tag 5) + + + + + + Bomb/Monster/Dark Sprite Heal (Single) + + + + + + + + + + + Treasure/Monster/Fiend/Silkwing/Silkwing Loot + + + + + + + 8 + 79 + 2.5 + true + 5.2359877 + 40 + 160 + 1 + 9 + + Monster/Health/Health Base + + 0.1 + 667 + 1100 + 1100 + 3.0 + + + + Character/NPC/Monster/Fiend/Silkwing 0 + + + + + Character/NPC/Monster/Fiend/Silkwing 1 + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + + 36 + 50 + + + 1 + -25 + + + + + + + Character/NPC/Monster/Fiend/Silkwing/Silkwing 2 + + + Wave Tag + implementation.tags.tags[4] + + + + + + character/npc/monster/silkwing/model_spt.dat + + 0.75 + 0.9 + + + + character/npc/monster/silkwing/animation/animation_idle.dat + + Weight + 1.0 + + + + + + + 4.0 + + character/npc/monster/silkwing/animation/animation_movebob.dat + + + + + particle/fx_gethit_monster.dat + + + particle/fx_heal.dat + + + + + character/npc/monster/silkwing/animation/animation_idle.dat + + Weight + 1.0 + + + + + + + 4.0 + + character/npc/monster/silkwing/animation/animation_movebob.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.25 + + + (tag 1), (tag 2), (tag 3), (tag 4), (tag 5) + + + + + + Bomb/Monster/Dark Sprite Heal (Single) + + + + + + + + + Bomb/Monster/Dark Sprite Heal (Area) + + + + + Treasure/Monster/Fiend/Silkwing/Silkwing Loot + + + + + + + 8 + 79 + 3.0 + true + 6.2831855 + 240 + 540 + 9 + 19 + + Monster/Health/Health Base + + 0.1 + 667 + 1100 + 1100 + 3.5 + + + + Character/NPC/Monster/Fiend/Silkwing 0 + + + + + Character/NPC/Monster/Fiend/Silkwing 1 + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + + 36 + 50 + + + 1 + -25 + + + + + + + Character/NPC/Monster/Fiend/Silkwing/Silkwing 3 + + + Wave Tag + implementation.tags.tags[4] + + + + + + character/npc/monster/silkwing/model_spt.dat + + 0.8 + 0.9 + + + + character/npc/monster/silkwing/animation/animation_idle.dat + + Weight + 1.0 + + + + + + + 4.0 + + character/npc/monster/silkwing/animation/animation_movebob.dat + + + + + particle/fx_gethit_monster.dat + + + particle/fx_heal.dat + + + + + character/npc/monster/silkwing/animation/animation_idle.dat + + Weight + 1.0 + + + + + + + 4.0 + + character/npc/monster/silkwing/animation/animation_movebob.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.25 + + + (tag 1), (tag 2), (tag 3), (tag 4), (tag 5) + + + + + + Bomb/Monster/Dark Sprite Heal (Single) + + + + + + + + + Bomb/Monster/Dark Sprite Heal (Area) + + + + + Treasure/Monster/Fiend/Silkwing/Silkwing Loot + + + + + + + 8 + 79 + 3.5 + true + 7.330383 + 720 + 1440 + 19 + 30 + + Monster/Health/Health Base + + 0.1 + 667 + 1100 + 1100 + 4.0 + + + + Character/NPC/Monster/Fiend/Silkwing 0 + + + + + Character/NPC/Monster/Fiend/Silkwing 1 + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + + 36 + 50 + + + 1 + -25 + + + + + + + Character/NPC/Monster/Fiend/Trojan/Trojan 1 + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/darkknight/model.dat + + variant + trojan + + + + particle/model_fxscaler.dat + + Model + + particle/fx_spawn_monster.dat + + Transfrom + + 2.0 + + + + 1.25 + 2.0 + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.0 + Blend Out + 0.0 + Sound set + Trojan family + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Trojan family + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Trojan + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.0 + Blend Out + 0.0 + Sound set + Trojan family + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Trojan family + + + + + + animation/common/spawn_scalein.dat + + Transform + + 1.2 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.8 + + + + + + Dynamic/Breakable Objects/Character/Trojan Corpse + + + + + 136 + 79 + 4.0 + 6.2831855 + 80 + 320 + 1 + 9 + + Monster/Health/Health Base +10 + + 2 + 0.15 + true + 7 + 433 + 3000 + 1100 + 2.0 + + + + Character/NPC/Monster/Fiend/Dark Knight/Shield Deflect + + + + + Character/NPC/Monster/Fiend/Dark Knight/Sword Slam + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Fiend/Dark Knight/Shoulder Check + + Chain Condition + + + Next Attack + 1 + + + + + + Character/NPC/Monster/Fiend/Dark Knight/Push Back + + Status Condition + + 4 + + Shock + + Chance + 0.3333 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + + + + + + 1.2 + 1.8 + + + 0.4, 0.0 + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + + 32 + + + 260 + 50 + + + 17 + 25 + + + + + + + Character/NPC/Monster/Fiend/Trojan/Trojan 2 + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/darkknight/model.dat + + variant + darkknight + + + + particle/model_fxscaler.dat + + Model + + particle/fx_spawn_monster.dat + + Transfrom + + 2.0 + + + + 1.25 + 2.0 + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.0 + Blend Out + 0.0 + Sound set + Trojan family + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Trojan family + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Trojan + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.0 + Blend Out + 0.0 + Sound set + Trojan family + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Trojan family + + + + + + animation/common/spawn_scalein.dat + + Transform + + 1.2 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.8 + + + + + + Dynamic/Breakable Objects/Character/Trojan Corpse + + + + + 136 + 79 + 4.0 + 7.8539815 + 480 + 1080 + 9 + 19 + + Monster/Health/Health Base +10 + + 2 + 0.15 + true + 7 + 433 + 3000 + 1100 + 2.0 + + + + Character/NPC/Monster/Fiend/Dark Knight/Shield Deflect + + + + + Character/NPC/Monster/Fiend/Darkhorse/Sword Slam + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Fiend/Dark Knight/Shoulder Check + + Chain Condition + + + Next Attack + 1 + + + + + + Character/NPC/Monster/Fiend/Dark Knight/Push Back + + Status Condition + + 4 + + Shock 2 + + Chance + 0.3333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + + + + + + 1.2 + 1.8 + + + 0.4, 0.0 + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + + 32 + + + 260 + 50 + + + 17 + 25 + + + + + + + Character/NPC/Monster/Fiend/Trojan/Trojan 3 + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/darkknight/model.dat + + variant + knightmare + + + + particle/model_fxscaler.dat + + Model + + particle/fx_spawn_monster.dat + + Transfrom + + 2.0 + + + + 1.25 + 2.0 + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.0 + Blend Out + 0.0 + Sound set + Trojan family + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Trojan family + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Trojan + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.0 + Blend Out + 0.0 + Sound set + Trojan family + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Trojan family + + + + + + animation/common/spawn_scalein.dat + + Transform + + 1.2 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.8 + + + + + + Dynamic/Breakable Objects/Character/Trojan Corpse + + + + + 136 + 79 + 4.0 + 9.424778 + 1440 + 2800 + 19 + 29 + + Monster/Health/Health Base +10 + + 2 + 0.15 + true + 7 + 433 + 3000 + 1100 + 2.0 + + + + Character/NPC/Monster/Fiend/Dark Knight/Shield Deflect + + + + + Character/NPC/Monster/Fiend/Knightmare/Sword Slam + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Fiend/Dark Knight/Shoulder Check + + Chain Condition + + + Next Attack + 1 + + + + + + Character/NPC/Monster/Fiend/Dark Knight/Push Back + + Status Condition + + 4 + + Shock 3 + + Chance + 0.3333 + Power + 75 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + + + + + + 1.2 + 1.8 + + + 0.4, 0.0 + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + + 32 + + + 260 + 50 + + + 17 + 25 + + + + + + + Character/NPC/Monster/Gremlin/Darkfang Demo + + + Wave Tag + implementation.actor["Wave Tag"] + + + Tags + implementation.actor["Tags"].derived + + + Activate Type + implementation.actor["Activate Type"] + + + + + Character/NPC/Monster/Gremlin/Parts/Gremlin Base + + Activate Type + Normal + Attacks + + + + Character/NPC/Monster/Gremlin/Generic/Dodge Back + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine (Oil) + + Momentum Translation + -4.0, 0.0 + + + + + + Character/NPC/Monster/Gremlin/Generic/Use Potion + + Tier Power + 3 + + + + + + Character/NPC/Monster/Gremlin/Demo/Throw Bomb + + Bomb + + Bullet/Monster/Demo Throw + + Fuse + 1000 + Tier + 3 + + + + + + + + Character/NPC/Monster/Gremlin/Demo/Throw Bomb + + Bomb + + Bullet/Monster/Demo Throw (Scatter) + + Fuse + 1000 + Tier + 3 + + + + + + + + Character/NPC/Monster/Gremlin/Demo/Combo Throw + + Speed + 1.0 + Tier + 3 + + + + + + Character/NPC/Monster/Gremlin/Demo/Throw Bomb + + Bomb + + Bullet/Monster/Demo Throw + + Fuse + 1000 + Tier + 3 + + + + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine + + Tier + 3 + + + Momentum Translation + -3.0, 1.0 + + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine + + Tier + 3 + + + Momentum Translation + 3.0, 1.0 + + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine + + Tier + 3 + + + Momentum Translation + 1.0, -3.0 + + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine + + Tier + 3 + + + Momentum Translation + -1.0, 3.0 + + + + + Behavior + + Body Type + Darkfang Demo + Damage Action + + + + + + + + Bomb/Monster/Demo Mine (Drop) + + Tier + 3 + + + + + + + + + + Bomb/Monster/Demo Mine (Drop) + + Tier + 3 + + + + + + Bomb/Monster/Demo Mine (Drop) + + Tier + 3 + + + + + + + + + Defense + + + + 276 + 50 + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + + 34 + -25 + + + + Drop Table + + Treasure/Monster/Gremlin/Demo/Demo Loot + + Health Scale + + Monster/Health/Health Base + + Job Tag + job_demo + Model + + character/npc/monster/gremlin/demo/model.dat + + Weapon + + item/weapon/npc/mine_windup/model.dat + + Variant + Purple + + + variant + purple + + + Rank Tag + rank_3 + Scale + 1.1 + Speed + 5.5 + Tags + + Wave Tag + (Wave Tag) + Weapon Style + One Handed + + + + + + Character/NPC/Monster/Gremlin/Darkfang Mender + + + Wave Tag + implementation.actor["Wave Tag"] + + + Tags + implementation.actor["Tags"] + + + Activate Type + implementation.actor["Activate Type"] + + + + + Character/NPC/Monster/Gremlin/Parts/Gremlin Base + + Activate Type + Normal + Attacks + + + + Character/NPC/Monster/Gremlin/Generic/Dodge Back + + + + + Character/NPC/Monster/Gremlin/Healer/Wand Bolt + + Tier + 3 + + + + + + Character/NPC/Monster/Gremlin/Healer/Wand Swing + + Tier + 3 + + + + + + Character/NPC/Monster/Gremlin/Healer/Heal (Target) + + Tier + 3 + + + + + + Character/NPC/Monster/Gremlin/Healer/Heal (Omni) + + Tier + 3 + + + + + + Character/NPC/Monster/Gremlin/Healer/Heal (Renew) + + Tier + 3 + + + + + + Character/NPC/Monster/Gremlin/Healer/Raise Dead + + Speed + 1.0 + + + + + + Character/NPC/Monster/Gremlin/Healer/Raise Construct + + Speed + 1.0 + + + + + Behavior + + Body Type + Darkfang Mender + Damage Action + + + + + + + + + + Monster Attacks/Shield Bubble + + + + + + + + Defense + + + + 276 + 50 + + + + Monster/Defense/Defense Base -05 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + + 34 + -25 + + + + Drop Table + + Treasure/Monster/Gremlin/Mender/Mender Loot + + Health Scale + + Monster/Health/Health Base + + Job Tag + job_healer + Model + + character/npc/monster/gremlin/mender/model.dat + + Weapon + + item/weapon/npc/wrench_wand/model.dat + + variant + purple + + + variant + purple + + + Rank Tag + rank_3 + Scale + 1.0 + Speed + 5.0 + Tags + + Wave Tag + (Wave Tag) + Weapon Style + Two Handed + + + + + + Character/NPC/Monster/Gremlin/Darkfang Scorcher + + + Wave Tag + implementation.actor["Wave Tag"] + + + Tags + implementation.actor["Tags"].derived + + + Activate Type + implementation.actor["Activate Type"] + + + + + Character/NPC/Monster/Gremlin/Parts/Gremlin Base + + Activate Type + Normal + Attacks + + + + Character/NPC/Monster/Gremlin/Generic/Use Potion + + Tier Power + 3 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Torch Straight + + Flame + + Bullet/Monster/Flamethrower (Dynamic) + + Damage + + 4 + + Fire 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Fuse + 1.0 + Mode + Straight + + + Offset + 0.0, 0.0 + Speed + 1.0 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Torch Straight + + Flame + + Bullet/Monster/Flamethrower (Dynamic) + + Damage + + 4 + + Fire 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Fuse + 1.0 + Mode + Snake + + + Offset + 0.0, 0.0 + Speed + 1.0 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Fire Bullet + + Tier + 3 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Fire Bullet (Triple) + + Tier + 3 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Self Destruct + + Damage + 240.0 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/FlameWall + + Tier + 3 + + + + + Behavior + + Body Type + Ironclaw Scorcher + Damage Action + + Defense + + + + 4 + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + + 272 + 50 + + + 34 + -25 + + + + Drop Table + + Treasure/Monster/Gremlin/Scorcher/Scorcher Loot + + Health Scale + + Monster/Health/Health Base + + Job Tag + job_scorcher + Model + + character/npc/monster/gremlin/scorcher/model.dat + + Weapon + + item/weapon/npc/torch/model.dat + + variant + purple + + + variant + purple + + + Rank Tag + rank_3 + Scale + 1.25 + Speed + 3.25 + Tags + + Wave Tag + (Wave Tag) + Weapon Style + Two Handed + + + + + + Character/NPC/Monster/Gremlin/Darkfang Thwacker + + + Wave Tag + implementation.actor["Wave Tag"] + + + Tags + implementation.actor["Tags"] + + + Activate Type + implementation.actor["Activate Type"] + + + + + Character/NPC/Monster/Gremlin/Parts/Gremlin Base + + Activate Type + Normal + Attacks + + + + Character/NPC/Monster/Gremlin/Generic/Dodge Back + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Gremlin/Generic/Close Ground + + Chain Condition + + + Next Attack + 4 + + + + + + Character/NPC/Monster/Gremlin/Generic/Use Potion + + Tier Power + 3 + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Swing + + Tier + 3 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Gremlin/Tank/Hammer Thwack + + Tier + 3 + + + Chain Condition + + + Next Attack + 3 + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Pushaway + + Tier + 3 + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Throw + + Tier + 3 + + + + + Behavior + + Body Type + Darkfang Thwacker + Damage Action + + Defense + + + + + + + + + + 5.0 + 5.0 + + + -2.75, 0.0 + + + + + + + 276 + 50 + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + + 34 + -25 + + + + Drop Table + + Treasure/Monster/Gremlin/Thwacker/Thwacker Loot + + Health Scale + + Monster/Health/Health Base + + Job Tag + job_tank + Model + + character/npc/monster/gremlin/thwacker/model.dat + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + gremlin + + + Weapon + + item/weapon/npc/wrench_hammer/model.dat + + variant + purple + + + Rank Tag + rank_3 + Scale + 1.2 + Speed + 5.0 + Tags + + Wave Tag + (Wave Tag) + Weapon Style + Two Handed + + + + + + Character/NPC/Monster/Gremlin/Ironclaw Demo + + + Wave Tag + implementation.actor["Wave Tag"] + + + Tags + implementation.actor["Tags"].derived + + + Activate Type + implementation.actor["Activate Type"] + + + + + Character/NPC/Monster/Gremlin/Parts/Gremlin Base + + Activate Type + Normal + Attacks + + + + Character/NPC/Monster/Gremlin/Generic/Dodge Back + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine + + Tier + 2 + + + Momentum Translation + -4.0, 0.0 + + + + + + Character/NPC/Monster/Gremlin/Generic/Use Potion + + Tier Power + 2 + + + + + + Character/NPC/Monster/Gremlin/Demo/Throw Bomb + + Bomb + + Bullet/Monster/Demo Throw + + Fuse + 750 + Tier + 2 + + + + + + + + Character/NPC/Monster/Gremlin/Demo/Throw Bomb + + Bomb + + Bullet/Monster/Demo Throw (Scatter) + + Fuse + 750 + Tier + 2 + + + + + + + + Character/NPC/Monster/Gremlin/Demo/Combo Throw + + Speed + 1.0 + Tier + 2 + + + + + + Character/NPC/Monster/Gremlin/Demo/Throw Bomb + + Bomb + + Bullet/Monster/Demo Throw + + Fuse + 750 + Tier + 2 + + + + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine + + Tier + 2 + + + Momentum Translation + -2.5, 0.75 + + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine + + Tier + 2 + + + Momentum Translation + 2.5, 0.75 + + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine + + Tier + 2 + + + Momentum Translation + 0.75, -2.5 + + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine + + Tier + 2 + + + Momentum Translation + -0.75, 2.5 + + + + + Behavior + + Body Type + Ironclaw Demo + Damage Action + + + + + + + + Bomb/Monster/Demo Mine (Drop) + + Tier + 2 + + + + + + + Defense + + + + 276 + 50 + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + + 34 + -25 + + + + Drop Table + + Treasure/Monster/Gremlin/Demo/Demo Loot + + Health Scale + + Monster/Health/Health Base + + Job Tag + job_demo + Model + + character/npc/monster/gremlin/demo/model.dat + + Weapon + + item/weapon/npc/mine_windup/model.dat + + Variant + Orange + + + variant + orange + + + Rank Tag + rank_2 + Scale + 1.05 + Speed + 5.0 + Tags + + Wave Tag + (Wave Tag) + Weapon Style + One Handed + + + + + + Character/NPC/Monster/Gremlin/Ironclaw Mender + + + Wave Tag + implementation.actor["Wave Tag"] + + + Tags + implementation.actor["Tags"] + + + Activate Type + implementation.actor["Activate Type"] + + + + + Character/NPC/Monster/Gremlin/Parts/Gremlin Base + + Activate Type + Normal + Attacks + + + + Character/NPC/Monster/Gremlin/Generic/Dodge Back + + + + + Character/NPC/Monster/Gremlin/Healer/Wand Bolt + + Tier + 2 + + + + + + Character/NPC/Monster/Gremlin/Healer/Wand Swing + + Tier + 2 + + + + + + Character/NPC/Monster/Gremlin/Healer/Heal (Target) + + Tier + 2 + + + + + + Character/NPC/Monster/Gremlin/Healer/Heal (Omni) + + Tier + 2 + + + + + + Character/NPC/Monster/Gremlin/Healer/Heal (Target) + + Tier + 2 + + + + + + Character/NPC/Monster/Gremlin/Healer/Heal (Omni) + + Tier + 2 + + + + + Behavior + + Body Type + Ironclaw Mender + Damage Action + + Defense + + + + 276 + 50 + + + + Monster/Defense/Defense Base -05 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + + 34 + -25 + + + + Drop Table + + Treasure/Monster/Gremlin/Mender/Mender Loot + + Health Scale + + Monster/Health/Health Base + + Job Tag + job_healer + Model + + character/npc/monster/gremlin/mender/model.dat + + Weapon + + item/weapon/npc/wrench_wand/model.dat + + variant + orange + + + variant + orange + + + Rank Tag + rank_2 + Scale + 0.95 + Speed + 4.0 + Tags + + Wave Tag + (Wave Tag) + Weapon Style + Two Handed + + + + + + Character/NPC/Monster/Gremlin/Ironclaw Scorcher + + + Wave Tag + implementation.actor["Wave Tag"] + + + Tags + implementation.actor["Tags"].derived + + + Activate Type + implementation.actor["Activate Type"] + + + + + Character/NPC/Monster/Gremlin/Parts/Gremlin Base + + Activate Type + Normal + Attacks + + + + Character/NPC/Monster/Gremlin/Generic/Use Potion + + Tier Power + 2 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Torch Straight + + Flame + + Bullet/Monster/Flamethrower (Dynamic) + + Damage + + 4 + + Fire 2 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Fuse + 1.0 + Mode + Straight + + + Offset + 0.0, 0.0 + Speed + 0.925 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Torch Straight + + Flame + + Bullet/Monster/Flamethrower (Dynamic) + + Damage + + 4 + + Fire 2 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Fuse + 1.0 + Mode + Straight + + + Offset + 0.0, 0.0 + Speed + 0.925 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Fire Bullet + + Tier + 2 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Fire Bullet (Triple) + + Tier + 2 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Self Destruct + + Damage + 180.0 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Torch Straight + + Flame + + Bullet/Monster/Flamethrower (Dynamic) + + Damage + + 4 + + Fire 2 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Fuse + 1.0 + Mode + Straight + + + Offset + 0.0, 0.0 + Speed + 0.925 + + + + + Behavior + + Body Type + Ironclaw Scorcher + Damage Action + + Defense + + + + 4 + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + + 48 + 50 + + + 34 + -25 + + + + Drop Table + + Treasure/Monster/Gremlin/Scorcher/Scorcher Loot + + Health Scale + + Monster/Health/Health Base + + Job Tag + job_scorcher + Model + + character/npc/monster/gremlin/scorcher/model.dat + + Weapon + + item/weapon/npc/torch/model.dat + + variant + orange + + + variant + orange + + + Rank Tag + rank_2 + Scale + 1.15 + Speed + 2.75 + Tags + + Wave Tag + (Wave Tag) + Weapon Style + Two Handed + + + + + + Character/NPC/Monster/Gremlin/Ironclaw Thwacker + + + Wave Tag + implementation.actor["Wave Tag"] + + + Tags + implementation.actor["Tags"] + + + Activate Type + implementation.actor["Activate Type"] + + + + + Character/NPC/Monster/Gremlin/Parts/Gremlin Base + + Activate Type + Normal + Attacks + + + + Character/NPC/Monster/Gremlin/Generic/Dodge Back + + + + + Character/NPC/Monster/Gremlin/Generic/Close Ground + + + + + Character/NPC/Monster/Gremlin/Generic/Use Potion + + Tier Power + 2 + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Swing + + Tier + 2 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Gremlin/Tank/Hammer Thwack + + Tier + 2 + + + Chain Condition + + + Next Attack + 3 + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Thwack + + Tier + 2 + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Throw + + Tier + 3 + + + + + Behavior + + Body Type + Ironclaw Thwacker + Damage Action + + Defense + + + + 276 + 50 + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + + 34 + -25 + + + + Drop Table + + Treasure/Monster/Gremlin/Thwacker/Thwacker Loot + + Health Scale + + Monster/Health/Health Base + + Job Tag + job_tank + Model + + character/npc/monster/gremlin/thwacker/model.dat + + Shield + + Weapon + + item/weapon/npc/wrench_hammer/model.dat + + variant + orange + + + Rank Tag + rank_2 + Scale + 1.1 + Speed + 4.0 + Tags + + Wave Tag + (Wave Tag) + Weapon Style + Two Handed + + + + + + Character/NPC/Monster/Gremlin/Parts/Bubble Shield + + + + particle/ambient_bubbleshield.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Compound + + Sounders + + + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/block_treasure.ogg + Gain + 1.0 + Pitch + 0.5 + Range + Medium + + + + + + Clip/Default (Gain) (Pitch) + + File + sound/effect/item/heart_acquire_02.ogg + Gain + 1.0 + Pitch + 0.75 + Range + Medium + + + + + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Compound + + Sounders + + + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/pot_smash.ogg + Gain + 0.5 + Pitch + 0.7 + Range + Medium + + + + + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/block_treasure.ogg + Gain + 1.0 + Pitch + 0.5 + Range + Medium + + + + + + + Transform + + + Transient + + particle/fx_bubbleshield-pop.dat + + + + 1.5 + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/bounce.ogg + Gain + 1.0 + Pitch + 1.5 + Range + Medium + + + Transform + + + Transient + + particle/fx_hitblocked.dat + + + + + + 1.8 + + + + + + + + + + + 5 + + + + + + 160 + 0 + 0.0 + 50 + 50 + 30 + + Monster/Health/Health Base + + true + 20 + 0 + 0 + 0.0 + + + + + Monster/Defense/Defense Base +10 + + + Monster/Defense/Defense Base +10 + + + Monster/Defense/Defense Base +10 + + + Monster/Defense/Defense Base -10 + + + + 7 + 16383 + + + + + + 1.0, 0.0 + 200 + 5 + + + + + + Character/NPC/Monster/Gremlin/Parts/Dead Gremlin + + + + Body Type + + + Weapon + implementation.sprite.model["Weapon"] + + + Type + implementation.handlers[2].action.actions[1].value.value + + + + + + Darkfang Thwacker + + Actor + + Character/NPC/Monster/Gremlin/Darkfang Thwacker + + Activate Type + Rez'd + Tags + + loot_none + + + + Table + + Monster/Single Family/Gremlin/Scaled - Thwacker + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + loot_none + + + Treasure + + Treasure/Monster/Gremlin/Thwacker/Thwacker Loot + + Type + Thwacker + Weapon + + item/weapon/npc/wrench_hammer/model.dat + + + + + + Darkfang Mender + + Actor + + Character/NPC/Monster/Gremlin/Darkfang Mender + + Activate Type + Rez'd + Tags + + loot_none + + + + Table + + Monster/Single Family/Gremlin/Scaled - Mender + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + loot_none + + + Treasure + + Treasure/Monster/Gremlin/Mender/Mender Loot + + Type + Mender + Weapon + + item/weapon/npc/wrench_wand/model.dat + + variant + purple + + + + + + + Darkfang Scorcher + + Actor + + Character/NPC/Monster/Gremlin/Darkfang Scorcher + + Activate Type + Rez'd + Tags + + loot_none + + + + Table + + Monster/Single Family/Gremlin/Scaled - Scorcher + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + loot_none + + + Treasure + + Treasure/Monster/Gremlin/Scorcher/Scorcher Loot + + Type + Scorcher + Weapon + + item/weapon/npc/torch/model.dat + + variant + purple + + + + + + + Darkfang Demo + + Actor + + Character/NPC/Monster/Gremlin/Darkfang Demo + + Activate Type + Rez'd + Tags + + loot_none + + + + Table + + Monster/Single Family/Gremlin/Scaled - Demo + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + loot_none + + + Treasure + + Treasure/Monster/Gremlin/Demo/Demo Loot + + Type + Demo + Weapon + + item/weapon/npc/mine_windup/model.dat + + Variant + Purple + + + + + + + Ironclaw Thwacker + + Actor + + Character/NPC/Monster/Gremlin/Ironclaw Thwacker + + Activate Type + Rez'd + Tags + + loot_none + + + + Table + + Monster/Single Family/Gremlin/Scaled - Thwacker + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + loot_none + + + Treasure + + Treasure/Monster/Gremlin/Thwacker/Thwacker Loot + + Type + Thwacker + Weapon + + item/weapon/npc/wrench_hammer/model.dat + + + + + + Ironclaw Mender + + Actor + + Character/NPC/Monster/Gremlin/Ironclaw Mender + + Activate Type + Rez'd + Tags + + loot_none + + + + Table + + Monster/Single Family/Gremlin/Scaled - Mender + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + loot_none + + + Treasure + + Treasure/Monster/Gremlin/Mender/Mender Loot + + Type + Mender + Weapon + + item/weapon/npc/wrench_wand/model.dat + + variant + orange + + + + + + + Ironclaw Scorcher + + Actor + + Character/NPC/Monster/Gremlin/Ironclaw Scorcher + + Activate Type + Rez'd + Tags + + loot_none + + + + Table + + Monster/Single Family/Gremlin/Scaled - Scorcher + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + loot_none + + + Treasure + + Treasure/Monster/Gremlin/Scorcher/Scorcher Loot + + Type + Scorcher + Weapon + + item/weapon/npc/torch/model.dat + + variant + orange + + + + + + + Ironclaw Demo + + Actor + + Character/NPC/Monster/Gremlin/Ironclaw Demo + + Activate Type + Rez'd + Tags + + loot_none + + + + Table + + Monster/Single Family/Gremlin/Scaled - Demo + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + loot_none + + + Treasure + + Treasure/Monster/Gremlin/Demo/Demo Loot + + Type + Demo + Weapon + + item/weapon/npc/mine_windup/model.dat + + Variant + Orange + + + + + + + Tenderfoot Thwacker + + Actor + + Character/NPC/Monster/Gremlin/Tenderfoot Thwacker + + Activate Type + Rez'd + Tags + + loot_none + + + + Table + + Monster/Single Family/Gremlin/Scaled - Thwacker + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + loot_none + + + Treasure + + Treasure/Monster/Gremlin/Thwacker/Thwacker Loot + + Type + Thwacker + Weapon + + item/weapon/npc/wrench_hammer/model.dat + + + + + + Tenderfoot Mender + + Actor + + Character/NPC/Monster/Gremlin/Tenderfoot Mender + + Activate Type + Rez'd + Tags + + loot_none + + + + Table + + Monster/Single Family/Gremlin/Scaled - Mender + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + loot_none + + + Treasure + + Treasure/Monster/Gremlin/Mender/Mender Loot + + Type + Mender + Weapon + + item/weapon/npc/wrench_wand/model.dat + + variant + green + + + + + + + Tenderfoot Scorcher + + Actor + + Character/NPC/Monster/Gremlin/Tenderfoot Scorcher + + Activate Type + Rez'd + Tags + + loot_none + + + + Table + + Monster/Single Family/Gremlin/Scaled - Scorcher + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + loot_none + + + Treasure + + Treasure/Monster/Gremlin/Scorcher/Scorcher Loot + + Type + Scorcher + Weapon + + item/weapon/npc/torch/model.dat + + variant + green + + + + + + + Tenderfoot Demo + + Actor + + Character/NPC/Monster/Gremlin/Tenderfoot Demo + + Activate Type + Rez'd + Tags + + loot_none + + + + Table + + Monster/Single Family/Gremlin/Scaled - Demo + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + loot_none + + + Treasure + + Treasure/Monster/Gremlin/Demo/Demo Loot + + Type + Demo + Weapon + + item/weapon/npc/mine_windup/model.dat + + Variant + Green + + + + + + + Ghostmane Stalker + + Actor + + Character/NPC/Monster/Gremlin/Ghostmane Stalker + + Activate Type + Rez'd + Tags + + loot_none + + + + Table + + Monster/Single Family/Gremlin/Scaled - Mender + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + loot_none + + + Treasure + + Treasure/Monster/Gremlin/Thwacker/Thwacker Loot + + Type + Mender + Weapon + + + + + Darkfang Thwacker + + + Wave Tag + implementation.tags.tags[1], implementation.handlers[1].action.action.actions[0].cases[0].action.spawn_table["Wave Tag"], implementation.handlers[1].action.action.actions[0].cases[1].action.spawn_table["Wave Tag"], implementation.handlers[1].action.action.actions[0].cases[2].action.spawn_table["Wave Tag"], implementation.handlers[1].action.action.actions[0].cases[3].action.spawn_table["Wave Tag"] + + + + + + character/npc/monster/gremlin/null/model_dead.dat + + Weapon + + + + + particle/fx_pcdeathsmoke.dat + + + + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/monster_death_cloud.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/monster_death.dat + + Color + Purple + + + + + + + + + + + + + + + + + + + + + + + Monster/Single Family/Gremlin/Scaled - Thwacker + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Gremlin/Scaled - Mender + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Gremlin/Scaled - Scorcher + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Gremlin/Scaled - Demo + + Activate Type + Rez'd + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + + + + + + + + 0 + 0 + 0.0 + 999999 + 1 + 0 + 0 + 0 + 0.0 + + + + + + Character/NPC/Monster/Gremlin/Parts/Dead Player Marker + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + + Transient + + particle/fx_pcdeathsmoke.dat + + + + + + + + + + + + + + + Monster/Single Family/Construct/Mecha Knight Mk III + + Tag + loot_none + + + + + + + + + + + + + + + + 0 + 0 + 0.0 + 1 + 200 + 0 + 0 + 0.0 + + + + + + Character/NPC/Monster/Gremlin/Parts/Gremlin Base + + + Model + implementation.sprite.model + + + + Weapon Style + + + Animation + implementation.sprite.movements[0].animation, implementation.sprite.targeted_movements[0].animation + + + + + + One Handed + + Animation + + character/npc/monster/gremlin/animation/walking_nowep.dat + + + + + + Two Handed + + Animation + + character/npc/monster/gremlin/animation/walking.dat + + + + + One Handed + + + Scale + implementation.sprite.scale, implementation.sprite.attached_scale + + + Health Scale + implementation.health_scale + + + Speed + implementation.targeted_speed, implementation.speed + + + Job Tag + implementation.tags.tags[0] + + + Rank Tag + implementation.tags.tags[1] + + + Wave Tag + implementation.tags.tags[4], implementation.handlers[2].action.action.actor["Wave Tag"] + + + Tags + implementation.tags.derived + + + Behavior + implementation.behavior + + + Attacks + implementation.attacks + + + Defense + implementation.defense + + + Drop Table + implementation.handlers[0].action.action.spawn_table + + + Damage Action + implementation.damage_action + + + Body Type + implementation.handlers[2].action.action.actor["Body Type"] + + + + Activate Type + + + Activate Time + implementation.activate_time + + + Activate Animation + implementation.sprite.activation + + + Loot Tag + implementation.tags.tags[5] + + + + + + Normal + + Activate Animation + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + Activate Time + 1100 + Loot Tag + + + + + + Rez'd + + Activate Animation + + character/npc/monster/gremlin/animation/reacting_recover.dat + + Activate Time + 600 + Loot Tag + loot_none + + + + + No Loot + + Activate Animation + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + Activate Time + 1100 + Loot Tag + loot_none + + + + Normal + + + + + + character/npc/monster/gremlin/null/model.dat + + Variant + Null + Weapon + + item/weapon/sword/cutter/model.dat + + variant + ghost + + + + + 1.075 + + + + character/npc/monster/gremlin/animation/standing.dat + + + + + + 6.0 + + character/npc/monster/gremlin/animation/walking_nowep.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Gremlin + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/gremlin/animation/standing.dat + + + + + + 6.0 + + character/npc/monster/gremlin/animation/walking.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.45 + + + (tag 1), (tag 2), (tag 3), (tag 4), (tag 5), (tag 6) + + + + + + + + + + + + + + + Character/NPC/Monster/Gremlin/Parts/Dead Gremlin + + Body Type + Darkfang Thwacker + Wave Tag + (Wave Tag) + + + + + + + + + + Buff + + Damage Modifier + 0.0 + Defense Modifier + 0.5 + Duration + 6000 + Source + job_tank + Variant + Defense Up + + + + + + + 8 + 79 + 17.453293 + 250 + 250 + 1 + 30 + + Monster/Health/Health Base + + 0.15 + true + 1725 + 1300 + 1100 + 7.5 + + + + + + + + + + + + + + + + + + + + + + 20 + 25 + + + + + + + Character/NPC/Monster/Gremlin/Tenderfoot Demo + + + Wave Tag + implementation.actor["Wave Tag"] + + + Tags + implementation.actor["Tags"].derived + + + Activate Type + implementation.actor["Activate Type"] + + + + + Character/NPC/Monster/Gremlin/Parts/Gremlin Base + + Activate Type + Normal + Attacks + + + + Character/NPC/Monster/Gremlin/Generic/Dodge Back + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine + + Tier + 1 + + + Momentum Translation + -4.0, 0.0 + + + + + + Character/NPC/Monster/Gremlin/Generic/Dodge Back + + + + + Character/NPC/Monster/Gremlin/Demo/Throw Bomb + + Bomb + + Bullet/Monster/Demo Throw + + Fuse + 600 + Tier + 1 + + + + + + + + Character/NPC/Monster/Gremlin/Demo/Throw Bomb + + Bomb + + Bullet/Monster/Demo Throw + + Fuse + 600 + Tier + 1 + + + + + + + + Character/NPC/Monster/Gremlin/Demo/Throw Bomb + + Bomb + + Bullet/Monster/Demo Throw + + Fuse + 600 + Tier + 1 + + + + + + + + Character/NPC/Monster/Gremlin/Demo/Throw Bomb + + Bomb + + Bullet/Monster/Demo Throw + + Fuse + 600 + Tier + 1 + + + + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine + + Tier + 1 + + + Momentum Translation + -2.0, 0.5 + + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine + + Tier + 1 + + + Momentum Translation + 2.0, 0.5 + + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine + + Tier + 1 + + + Momentum Translation + 0.5, -2.0 + + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + Bomb + + Bomb/Monster/Demo Mine + + Tier + 1 + + + Momentum Translation + -0.5, 2.0 + + + + + Behavior + + Body Type + Tenderfoot Demo + Damage Action + + Defense + + + + 276 + 50 + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + + 34 + -25 + + + + Drop Table + + Treasure/Monster/Gremlin/Demo/Demo Loot + + Health Scale + + Monster/Health/Health Base + + Job Tag + job_demo + Model + + character/npc/monster/gremlin/null/model.dat + + Variant + Demo + Weapon + + item/weapon/npc/mine_windup/model.dat + + Variant + Green + + + + + Rank Tag + rank_0 + Scale + 1.0 + Speed + 5.0 + Tags + + + Wave Tag + (Wave Tag) + Weapon Style + One Handed + + + + + + Character/NPC/Monster/Gremlin/Tenderfoot Mender + + + Wave Tag + implementation.actor["Wave Tag"] + + + Tags + implementation.actor["Tags"] + + + Activate Type + implementation.actor["Activate Type"] + + + + + Character/NPC/Monster/Gremlin/Parts/Gremlin Base + + Activate Type + Normal + Attacks + + + + Character/NPC/Monster/Gremlin/Generic/Dodge Back + + + + + Character/NPC/Monster/Gremlin/Healer/Wand Bolt + + Tier + 1 + + + + + + Character/NPC/Monster/Gremlin/Healer/Wand Swing + + Tier + 1 + + + + + + Character/NPC/Monster/Gremlin/Healer/Heal (Target) + + Tier + 1 + + + + + + Character/NPC/Monster/Gremlin/Healer/Heal (Target) + + Tier + 1 + + + + + + Character/NPC/Monster/Gremlin/Healer/Heal (Target) + + Tier + 1 + + + + + + Character/NPC/Monster/Gremlin/Healer/Heal (Omni) + + Tier + 1 + + + + + Behavior + + Body Type + Tenderfoot Mender + Damage Action + + Defense + + + + 276 + 50 + + + + Monster/Defense/Defense Base -05 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + + 34 + -25 + + + + Drop Table + + Treasure/Monster/Gremlin/Mender/Mender Loot + + Health Scale + + Monster/Health/Health Base + + Job Tag + job_healer + Model + + character/npc/monster/gremlin/null/model.dat + + Variant + Mender + Weapon + + item/weapon/npc/wrench_wand/model.dat + + variant + green + + + + + Rank Tag + rank_0 + Scale + 0.9 + Speed + 4.0 + Tags + + Wave Tag + (Wave Tag) + Weapon Style + Two Handed + + + + + + Character/NPC/Monster/Gremlin/Tenderfoot Scorcher + + + Wave Tag + implementation.actor["Wave Tag"] + + + Tags + implementation.actor["Tags"].derived + + + Activate Type + implementation.actor["Activate Type"] + + + + + Character/NPC/Monster/Gremlin/Parts/Gremlin Base + + Activate Type + Normal + Attacks + + + + Character/NPC/Monster/Gremlin/Scorcher/Fire Bullet + + Tier + 1 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Torch Straight + + Flame + + Bullet/Monster/Flamethrower (Dynamic) + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Fuse + 1.0 + Mode + Straight + + + Offset + 0.0, 0.0 + Speed + 0.75 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Torch Straight + + Flame + + Bullet/Monster/Flamethrower (Dynamic) + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Fuse + 1.0 + Mode + Straight + + + Offset + 0.0, 0.0 + Speed + 0.75 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Fire Bullet + + Tier + 1 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Fire Bullet + + Tier + 1 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Fire Bullet + + Tier + 1 + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Torch Straight + + Flame + + Bullet/Monster/Flamethrower (Dynamic) + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Fuse + 1.0 + Mode + Straight + + + Offset + 0.0, 0.0 + Speed + 0.75 + + + + + Behavior + + Body Type + Tenderfoot Scorcher + Damage Action + + Defense + + + + 4 + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + + 272 + 50 + + + 34 + -25 + + + + Drop Table + + Treasure/Monster/Gremlin/Scorcher/Scorcher Loot + + Health Scale + + Monster/Health/Health Base + + Job Tag + job_scorcher + Model + + character/npc/monster/gremlin/null/model.dat + + Variant + Scorcher + Weapon + + item/weapon/npc/torch/model.dat + + variant + green + + + + + Rank Tag + rank_0 + Scale + 1.1 + Speed + 2.75 + Tags + + Wave Tag + (Wave Tag) + Weapon Style + Two Handed + + + + + + Character/NPC/Monster/Gremlin/Tenderfoot Thwacker + + + Wave Tag + implementation.actor["Wave Tag"] + + + Tags + implementation.actor["Tags"] + + + Activate Type + implementation.actor["Activate Type"] + + + + + Character/NPC/Monster/Gremlin/Parts/Gremlin Base + + Activate Type + Normal + Attacks + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Throw + + Tier + 1 + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Throw + + Tier + 1 + + + + + + Character/NPC/Monster/Gremlin/Generic/Use Potion + + Tier Power + 1 + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Thwack + + Tier + 1 + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Thwack + + Tier + 1 + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Thwack + + Tier + 1 + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Throw + + Tier + 1 + + + + + Behavior + + Body Type + Tenderfoot Thwacker + Damage Action + + Defense + + + + 276 + 50 + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + + 34 + -25 + + + + Drop Table + + Treasure/Monster/Gremlin/Thwacker/Thwacker Loot + + Health Scale + + Monster/Health/Health Base + + Job Tag + job_tank + Model + + character/npc/monster/gremlin/null/model.dat + + Variant + Thwacker + Weapon + + item/weapon/npc/wrench_hammer/model.dat + + + + Rank Tag + rank_1 + Scale + 1.05 + Speed + 4.0 + Tags + + Wave Tag + (Wave Tag) + Weapon Style + Two Handed + + + + + + Character/NPC/Monster/Slime/Blast Cube/Blast Cube 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 0.9 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base + + 4 + + Damage Region + Medium + Impulse + Forward + Sound - Pitch adjust + Lower 1 + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + lichen + Death Size + + + Death Sound + + Clip/Default + + File + sound/effect/monster/blastjelly_explode.ogg + Range + Long + + + Death Time + Blast Warning + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 257 + 50 + + + 28 + -25 + + + + Handler + + + + + + + Monster/Damage/Attack Base +10 + + true + + + 4.0, 0.0 + 200 + 3 + + + + + Basic + + Lifespan + 3000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_explosive.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/explosive_block.dat + + Block + false + + + + + + + + + + + Health Scale + + Monster/Health/Health Base + + Hit Sound + Lower 2 + Idle Speed + 1.5 + Loot Table + + Treasure/Monster/Slime/Blast Cube/Blast Cube Loot + + Model + + character/npc/monster/blastcube/model.dat + + Variant + Blast Cube + + + Scale + 1.0 + Shape + + 0.45 + + Sound - Movement pitch + Default + Standing Jiggle + 0.85 + Target Speed + 2.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Blast Cube/Blast Cube 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 1.0 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base + + 4 + + Damage Region + Medium + Impulse + Forward + Sound - Pitch adjust + Lower 2 + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + tri-lichen + Death Size + + 1.1 + + Death Sound + + Clip/Default + + File + sound/effect/monster/blastjelly_explode.ogg + Range + Long + + + Death Time + Blast Warning + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 257 + 50 + + + 28 + -25 + + + + Handler + + + + + + Bullet/Monster/Superblast Shard + + Damage + + + Monster/Damage/Attack Base + + true + + + + + + + Bullet/Monster/Superblast Shard + + Damage + + + Monster/Damage/Attack Base + + true + + + + + + + Bullet/Monster/Superblast Shard + + Damage + + + Monster/Damage/Attack Base + + true + + + + + + + Bullet/Monster/Superblast Shard + + Damage + + + Monster/Damage/Attack Base + + true + + + + + + + Bullet/Monster/Superblast Shard + + Damage + + + Monster/Damage/Attack Base + + true + + + + + + + Bullet/Monster/Superblast Shard + + Damage + + + Monster/Damage/Attack Base + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/block_explosive.ogg + Gain + 1.0 + Pitch + 0.8 + Range + Medium + + + Transform + + 1.5 + + Transient + + particle/explosive_block.dat + + Block + false + + + + + + + + + + + Monster/Damage/Attack Base +05 + + true + + + 4.0, 0.0 + 200 + 3 + + + + + + Health Scale + + Monster/Health/Health Base + + Hit Sound + Lower 2 + Idle Speed + 1.5 + Loot Table + + Treasure/Monster/Slime/Blast Cube/Blast Cube Loot + + Model + + character/npc/monster/blastcube/model.dat + + Variant + Super Blast + + + Scale + 1.1 + Shape + + 0.45 + + Sound - Movement pitch + Default + Standing Jiggle + 0.75 + Target Speed + 2.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Blast Cube/Blast Cube 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 1.0 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base + + 4 + + Damage Region + Medium + Impulse + Forward + Sound - Pitch adjust + Lower 2 + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + tri-lichen + Death Size + + 1.1 + + Death Sound + + Clip/Default + + File + sound/effect/monster/blastjelly_explode.ogg + Range + Long + + + Death Time + Blast Warning + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 257 + 50 + + + 28 + -25 + + + + Handler + + + + + + Bullet/Monster/Superblast Shard + + Damage + + + Monster/Damage/Attack Base + + true + + + + + + + Bullet/Monster/Superblast Shard + + Damage + + + Monster/Damage/Attack Base + + true + + + + + + + Bullet/Monster/Superblast Shard + + Damage + + + Monster/Damage/Attack Base + + true + + + + + + + Bullet/Monster/Superblast Shard + + Damage + + + Monster/Damage/Attack Base + + true + + + + + + + Bullet/Monster/Superblast Shard + + Damage + + + Monster/Damage/Attack Base + + true + + + + + + + Bullet/Monster/Superblast Shard + + Damage + + + Monster/Damage/Attack Base + + true + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/block_explosive.ogg + Gain + 1.0 + Pitch + 0.8 + Range + Medium + + + Transform + + 1.5 + + Transient + + particle/explosive_block.dat + + Block + false + + + + + + + + + + + Monster/Damage/Attack Base +05 + + true + + + 4.0, 0.0 + 200 + 3 + + + + + + Health Scale + + Monster/Health/Health Base + + Hit Sound + Lower 2 + Idle Speed + 1.5 + Loot Table + + Treasure/Monster/Slime/Blast Cube/Blast Cube Loot + + Model + + character/npc/monster/blastcube/model.dat + + Variant + Ultra Blast Cube + + + Scale + 1.1 + Shape + + 0.45 + + Sound - Movement pitch + Default + Standing Jiggle + 0.75 + Target Speed + 2.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Companion Cube/Companion Cube 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Companion Cube/Parts/Companion Cube (Base) + + Idle Speed + 6.0 + Loot Table + + Treasure/Health/Monster Health, small + + Target Speed + 2.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Companion Cube/Companion Cube 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Companion Cube/Parts/Companion Cube (Base) + + Idle Speed + 6.0 + Loot Table + + Treasure/Health/Monster Health, small + + Target Speed + 2.75 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Companion Cube/Companion Cube 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Companion Cube/Parts/Companion Cube (Base) + + Idle Speed + 6.0 + Loot Table + + Treasure/Health/Monster Health, small + + Target Speed + 3.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Companion Cube/Parts/Companion Cube (Base) + + + Idle Speed + implementation.speed + + + Target Speed + implementation.targeted_speed + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/jellycube/model.dat + + Trail + + variant + blue + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 1 + + + Transform + + 0.8 + + Transient + + character/npc/monster/jellycube/fx_death.dat + + Color + blue + Core + true + Transform + + + + + + + 0.8 + 0.75 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 2.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Default + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Higher 1 + + + Transform + + + Transient + + particle/fx_gethit_player.dat + + Color + Red + + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 2.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.4 + + + (tag 1), (tag 2), (tag 3) + + + + + + Treasure/Health/Monster Health, small + + + + + + + Monster/Heal/Heal Base + + + + + + + + + + + + + Basic + + Lifespan + 2000 + Model + + particle/monster_death.dat + + Color + Energy Blue + + + + + + + + + + + + + + 4 + 79 + 174.51547 + 115 + + Monster/Health/Health Base +05 + + 5 + 0.25 + 100 + 1100 + 2.5 + true + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base + + 2 + + Damage Region + Medium + Impulse + Forward + Sound - Pitch adjust + Default + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + + + Character/NPC/Monster/Slime/Giant Lichen Colony + + + Wave Tag + implementation.tags.tags[3], implementation.handlers[2].action.action.actions[0].fire_action["Wave Tag"] + + + Tags + implementation.tags.derived + + + + Size + + + Model Scale + implementation.sprite.scale + + + Radius + implementation.shape.radius + + + Health Multiplier + implementation.health_scale["Multiplier"] + + + Max Attack Distance + implementation.behavior["Max Attack Distance"] + + + Damage Transform + implementation.attacks[0].ref["Damage Transform"] + + + Spin Radius + implementation.attacks[2].ref["Radius"] + + + Core Count + implementation.sprite.model["Core"]["Core Count"] + + + Size Variable + implementation.handlers[0].action.value.value + + + Loot Table + implementation.handlers[1].action.action.spawn_table + + + + + + 16 + + Core Count + 16 + Damage Amount + 65.0 + Damage End Amount + 395.0 + Damage Transform + + 2.05, 0.0 + + Health + 120 + Health End + 4320 + Health Multiplier + 3.75 + Health Scale + + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 15 Loot + + Max Attack Distance + 1.5 + Model Scale + 2.4 + Radius + 0.9 + Size Variable + 16 + Spin Radius + 1.8 + + + + + 17 + + Core Count + 17 + Damage Amount + 65.0 + Damage End Amount + 395.0 + Damage Transform + + 2.1, 0.0 + + Health + 130 + Health End + 4680 + Health Multiplier + 4.0 + Health Scale + + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 15 Loot + + Max Attack Distance + 1.6 + Model Scale + 2.4 + Radius + 0.95 + Size Variable + 17 + Spin Radius + 1.9 + + + + + 18 + + Core Count + 18 + Damage Amount + 65.0 + Damage End Amount + 395.0 + Damage Transform + + 2.15, 0.0 + + Health + 140 + Health End + 5040 + Health Multiplier + 4.25 + Health Scale + + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 15 Loot + + Max Attack Distance + 1.8 + Model Scale + 2.6 + Radius + 1.0 + Size Variable + 18 + Spin Radius + 2.0 + + + + + 19 + + Core Count + 19 + Damage Amount + 65.0 + Damage End Amount + 395.0 + Damage Transform + + 2.2, 0.0 + + Health + 150 + Health End + 5400 + Health Multiplier + 4.5 + Health Scale + + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 15 Loot + + Max Attack Distance + 1.9 + Model Scale + 2.8 + Radius + 1.05 + Size Variable + 19 + Spin Radius + 2.1 + + + + + 20 + + Core Count + 20 + Damage Amount + 65.0 + Damage End Amount + 395.0 + Damage Transform + + 2.25, 0.0 + + Health + 160 + Health End + 5760 + Health Multiplier + 4.75 + Health Scale + + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 15 Loot + + Max Attack Distance + 2.0 + Model Scale + 2.9 + Radius + 1.45 + Size Variable + 20 + Spin Radius + 2.3 + + + + + 21 + + Core Count + 21 + Damage Amount + 65.0 + Damage End Amount + 395.0 + Damage Transform + + 2.3, 0.0 + + Health + 170 + Health End + 6000 + Health Multiplier + 5.0 + Health Scale + + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 15 Loot + + Max Attack Distance + 2.0 + Model Scale + 3.0 + Radius + 1.45 + Size Variable + 21 + Spin Radius + 2.5 + + + + 16 + + + + + + character/npc/monster/lichen/model_highrez.dat + + Core + + character/npc/monster/lichen/ambient_cores.dat + + Core Count + 1 + Size + 0.06 + + + Variant + tri-lichen-deep + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, large + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, large + + Pitch adjust + Higher 2 + Range + Medium + + + Transform + + 1.4 + + Transient + + character/npc/monster/jellycube/fx_death.dat + + Color + tri-lichen + Core + true + Transform + + 1.5 + + + + + + 2.2 + 1.2 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 0.8 + + + + + + + 1.5 + + character/npc/monster/royaljelly/animations/animation_walk.dat + + Sound - Pitch + Lower 1 + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Lower 2 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 0.8 + + + + + + + 1.5 + + character/npc/monster/royaljelly/animations/animation_walk.dat + + Sound - Pitch + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.9 + + + (tag 1), (tag 2), (tag 3), (tag 4) + + + + + + + + + + + + + + + + + + + Character/NPC/Monster/Slime/Spawn Lichen Colony + + Wave Tag + (Wave Tag) + + + + + + + + + 8 + 79 + 2.5 + 2.6179938 + 120 + 4320 + 1 + 30 + + Base/Multiplier + + Depth Scale + + Monster/Health/Health Base + + Multiplier + 1.0 + + + 0.3 + 4 + 100 + 1100 + 2.5 + + + + Character/NPC/Monster/Slime/Lichen + + Damage Scale + + Monster/Damage/Attack Base + + Damage Transform + + 1.75, 0.0 + + + + + + + Character/NPC/Monster/Slime/Lichen Impale + + Spire + + Bomb/Monster/Lichen Spire + + Color + Tri Deep + Damage + + + Monster/Damage/Attack Base +05 + + 4 + true + PIERCING + + Monster/Split/Split - Full + + + + + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Bullet/Monster/Jelly Barb + + Damage + + + + + Monster/Damage/Attack Base + + PIERCING + + Monster/Split/Split - Full + + + + + Scale + Large + Style + Tri Deep + + + Bullet 2 + + Bullet/Monster/Jelly Barb + + Damage + + + + + Monster/Damage/Attack Base + + PIERCING + + Monster/Split/Split - Full + + + + + Scale + Large + Style + Tri Deep + + + Color + 0.8, 0.0, 0.2, 1.0 + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 4 + + Stun + + Chance + 0.3 + Power + 75 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Flare Color + Pierce + Radius + 1.0 + Radius Graphic + + 0.5 + + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Slime/Lichen Dash + + Chain Condition + + + Next Attack + 1 + + + + + + + + 1 + 50 + + + 256 + 100 + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + + + + + Character/NPC/Monster/Slime/Ideal Jelly Cube + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 0.75 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + 40.0 + 4 + 80.0 + 1 + 9 + + Damage Region + Medium + Impulse + Backward + Sound - Pitch adjust + Default + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + pink + Death Size + + 0.8 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 1 + + + Death Time + Instant + Defense + + + + 180 + 340 + 1 + 9 + + + + Dev/Monster/Normal Defense + + + + 40 + 1 + 9 + + + 40 + 1 + 9 + + + 1 + 50 + + + 14 + -50 + + + + Handler + + + Health Scale + + Dev/Monster/Normal Health + + Hit Sound + Higher 1 + Idle Speed + 1.5 + Loot Table + + Treasure/Monster/Slime/Jelly Cube/Jelly Cube Loot + + Model + + character/npc/monster/jellycube/model.dat + + Trail + + variant + pink + + + Scale + 0.8 + Shape + + 0.4 + + Sound - Movement pitch + Higher 1 + Standing Jiggle + 1.0 + Target Speed + 2.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly Cube (Intro) + + + Tags + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 0.75 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base -10 + + 4 + + Damage Region + Medium + Impulse + Backward + Sound - Pitch adjust + Default + + + + + Behavior + + Monster/Slime/Cube (Basic Targeting) + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + pink + Death Size + + 0.8 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 1 + + + Death Time + Instant + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 1 + 50 + + + 14 + -50 + + + + Handler + + + Health Scale + + Monster/Health/Health Base -10 + + Hit Sound + Higher 1 + Idle Speed + 1.5 + Loot Table + + Treasure/Monster/Tutorial/Jelly Cube (TG) + + Model + + character/npc/monster/jellycube/model.dat + + Trail + + variant + pink + + + Scale + 0.8 + Shape + + 0.4 + + Sound - Movement pitch + Higher 1 + Standing Jiggle + 1.0 + Target Speed + 2.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly Cube (No Loot) + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 0.75 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base + + 4 + + Damage Region + Medium + Impulse + Backward + Sound - Pitch adjust + Default + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + pink + Death Size + + 0.8 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 1 + + + Death Time + Instant + Defense + + + + 100 + + + 25 + + + 1 + 100 + + + 14 + -65 + + + + Handler + + + Health Scale + + Hit Sound + Higher 1 + Idle Speed + 1.5 + Loot Table + + Model + + character/npc/monster/jellycube/model.dat + + Trail + + variant + pink + + + Scale + 0.8 + Shape + + 0.4 + + Sound - Movement pitch + Higher 1 + Standing Jiggle + 1.0 + Target Speed + 2.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly Cube (TG) + + + Tags + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 0.75 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base -05 + + 4 + + Damage Region + Medium + Impulse + Backward + Sound - Pitch adjust + Default + + + + + Behavior + + Monster/Slime/Cube (Basic Targeting) + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + pink + Death Size + + 0.8 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 1 + + + Death Time + Instant + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 1 + 50 + + + 14 + -50 + + + + Handler + + + Health Scale + + Monster/Health/Health Base + + Hit Sound + Higher 1 + Idle Speed + 1.5 + Loot Table + + Treasure/Monster/Tutorial/Jelly Cube (TG) + + Model + + character/npc/monster/jellycube/model.dat + + Trail + + variant + pink + + + Scale + 0.8 + Shape + + 0.4 + + Sound - Movement pitch + Higher 1 + Standing Jiggle + 1.0 + Target Speed + 2.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly Green Giant + + + Tags + implementation.tags.derived + + + + + + character/npc/monster/jellycube/model_highres.dat + + Trail + + particle/ambient_jellytrail.dat + + variant + green + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, large + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, boss + + Transform + + 2.0 + + Transient + + character/npc/monster/jellycube/fx_death.dat + + Color + green + Core + true + Transform + + + + + + + 2.0 + 1.8 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 0.5 + + + + + + + 1.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Lower 2 + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Lower 2 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 0.5 + + + + + + + 1.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + 3.0 + + Transient + + particle/fx_spawn_monster.dat + + + + + + + + + + + Monster/Single Family/Slime/Parts/Jelly Green Giant Split + + + + + + + 1.0 + false + + + + + + + 2 + + Stun + + Chance + 0.0 + Power + 10 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 0.5, 0.0 + 200 + + + + + + 25 + + + + 8 + 79 + 0.5 + 5.2359877 + + Monster/Slime/Jelly Green Giant + + 600 + 0.2 + 7 + 100 + 1100 + 1.0 + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + + 150.0 + 4 + + + 4 + + Stun + + Chance + 0.3 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 2 + + Stun + + Chance + 0.0 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Large + Impulse + Forward + Sound - Pitch adjust + Lower 3 + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Bullet/Monster/MiniJelly Blob + + Max Minions + 30 + Range + Long + + + Bullet 2 + + Color + 0.31764707, 0.8, 0.0, 1.0 + Damage + + + + 60.0 + 4 + + + 4 + + Stun + + Chance + 0.01 + Power + 75 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 2 + + Stun + + Chance + 0.0 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Flare Color + None + Radius + 3.0 + Radius Graphic + + 2.5 + + + + + + + + + 130 + + + 50 + + + 1 + 50 + + + 256 + 100 + + + + + + + + + Bullet/Monster/MiniJelly Blob + + Max Minions + 30 + Range + Short + + + + + + Bullet/Monster/MiniJelly Blob + + Max Minions + 30 + Range + Short + + + + + + + + + + Character/NPC/Monster/Slime/Jelly Green Mini + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 0.45 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + 10.0 + 4 + + Damage Region + Small + Impulse + Forward + Sound - Pitch adjust + Higher 3 + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Spawn, small + + Transform + + 0.75 + + Transient + + particle/fx_jellydeath.dat + + Core + false + color + green + + + + + Death Color + green + Death Size + + 0.5 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 4 + + + Death Time + Instant + Defense + + + + 100 + + + 45 + + + 1 + 100 + + + 14 + -65 + + + + Handler + + + Health Scale + + Hit Sound + Higher 2 + Idle Speed + 1.0 + Loot Table + + Treasure/Monster/Slime/Jelly Cube/Jelly Green Mini Loot + + Model + + character/npc/monster/jellycube/minicube/model.dat + + Trail + + variant + pink + + + Scale + 0.5 + Shape + + 0.24 + + Sound - Movement pitch + Default + Standing Jiggle + 2.0 + Target Speed + 1.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly Green Mini (No Loot) + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 0.45 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + 10.0 + 4 + + Damage Region + Small + Impulse + Forward + Sound - Pitch adjust + Higher 3 + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Spawn, small + + Transform + + 0.75 + + Transient + + particle/fx_jellydeath.dat + + Core + false + color + green + + + + + Death Color + green + Death Size + + 0.5 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 4 + + + Death Time + Instant + Defense + + + + 100 + + + 45 + + + 1 + 100 + + + 14 + -65 + + + + Handler + + + Health Scale + + Hit Sound + Higher 2 + Idle Speed + 1.0 + Loot Table + + Model + + character/npc/monster/jellycube/minicube/model.dat + + Trail + + variant + pink + + + Scale + 0.5 + Shape + + 0.24 + + Sound - Movement pitch + Default + Standing Jiggle + 2.0 + Target Speed + 1.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Ice Cube/Ice Cube 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Jelly/Parts/Ice Cube (Base) + + Attack Status + + 4 + + Freeze + + Chance + 0.8 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Death Bomb + + Bomb/Monster/IceCube Zone + + Damage + + Freeze + + Chance + 0.25 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Lifespan + 1.0 + Radius + 1.0 + + + Scale + 0.8 + Standing Jiggle + 1.0 + Targeted Speed + 2.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Ice Cube/Ice Cube 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Jelly/Parts/Ice Cube (Base) + + Attack Status + + 4 + + Freeze 2 + + Chance + 0.85 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Death Bomb + + Bomb/Monster/IceCube Zone + + Damage + + Freeze 2 + + Chance + 0.25 + Power + 55 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Lifespan + 1.0 + Radius + 1.5 + + + Scale + 0.9 + Standing Jiggle + 0.9 + Targeted Speed + 2.33 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Ice Cube/Ice Cube 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Jelly/Parts/Ice Cube (Base) + + Attack Status + + 4 + + Freeze 3 + + Chance + 0.9 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Death Bomb + + Bomb/Monster/IceCube Zone + + Damage + + Freeze 3 + + Chance + 0.25 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Lifespan + 1.0 + Radius + 2.0 + + + Scale + 1.0 + Standing Jiggle + 0.8 + Targeted Speed + 2.67 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Impostocube + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 0.75 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base + + 4 + + Damage Region + Medium + Impulse + Backward + Sound - Pitch adjust + Default + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + pink + Death Size + + 0.8 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 1 + + + Death Time + Instant + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 257 + 50 + + + 28 + -25 + + + + Handler + + + Health Scale + + Monster/Health/Health Base + + Hit Sound + Higher 1 + Idle Speed + 1.5 + Loot Table + + Treasure/Monster/Slime/Jelly Cube/Impostocube Loot + + Model + + character/npc/monster/jellycube/model.dat + + Trail + + variant + imposto + + + Scale + 0.8 + Shape + + 0.4 + + Sound - Movement pitch + Default + Standing Jiggle + 1.0 + Target Speed + 2.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Jelly Cube/Jelly Cube 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 0.75 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base + + 4 + + Damage Region + Medium + Impulse + Backward + Sound - Pitch adjust + Default + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + pink + Death Size + + 0.8 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 1 + + + Death Time + Instant + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 257 + 50 + + + 28 + -25 + + + + Handler + + + Health Scale + + Monster/Health/Health Base + + Hit Sound + Higher 1 + Idle Speed + 1.5 + Loot Table + + Treasure/Monster/Slime/Jelly Cube/Jelly Cube Loot + + Model + + character/npc/monster/jellycube/model_nrm.dat + + Trail + + variant + pink + + + Scale + 0.8 + Shape + + 0.4 + + Sound - Movement pitch + Higher 1 + Standing Jiggle + 1.0 + Target Speed + 2.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Jelly Cube/Jelly Cube 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 0.9 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base + + 4 + + Damage Region + Medium + Impulse + Forward + Sound - Pitch adjust + Lower 1 + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + pink + Death Size + + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 2 + + + Death Time + Instant + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 257 + 50 + + + 28 + -25 + + + + Handler + + + Health Scale + + Monster/Health/Health Base + + Hit Sound + Lower 1 + Idle Speed + 1.5 + Loot Table + + Treasure/Monster/Slime/Jelly Cube/Jelly Cube Loot + + Model + + character/npc/monster/jellycube/model_nrm.dat + + Trail + + variant + Tier 2 + + + Scale + 0.9 + Shape + + 0.45 + + Sound - Movement pitch + Default + Standing Jiggle + 0.85 + Target Speed + 3.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Jelly Cube/Jelly Cube 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 0.9 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base + + 4 + + Damage Region + Medium + Impulse + Forward + Sound - Pitch adjust + Default + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + pink + Death Size + + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 1 + + + Death Time + Instant + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 257 + 50 + + + 28 + -25 + + + + Handler + + + Health Scale + + Monster/Health/Health Base + + Hit Sound + Lower 1 + Idle Speed + 1.5 + Loot Table + + Treasure/Monster/Slime/Jelly Cube/Jelly Cube Loot + + Model + + character/npc/monster/jellycube/model_nrm.dat + + Trail + + variant + Tier 3 + + + Scale + 1.0 + Shape + + 0.45 + + Sound - Movement pitch + Default + Standing Jiggle + 0.5 + Target Speed + 3.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Oiler/Oiler 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Jelly/Parts/Oiler (Base) + + Behavior + + Death Oil Count + 1 + Scale + 1.05 + Targeted Speed + 3.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Oiler/Oiler 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Jelly/Parts/Oiler (Base) + + Behavior + + Death Oil Count + 1 + Scale + 1.15 + Targeted Speed + 3.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Oiler/Oiler 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Jelly/Parts/Oiler (Base) + + Behavior + + Death Oil Count + 1 + Scale + 1.25 + Targeted Speed + 4.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Parts/Ice Cube (Base) + + + Standing Jiggle + implementation.sprite.idles[0].animation["Speed"], implementation.sprite.targeted_idles[0].animation["Speed"] + + + Scale + implementation.sprite.scale + + + Targeted Speed + implementation.targeted_speed + + + Attack Status + implementation.attacks[0].ref["Damage Frozen"].damages[1] + + + Death Bomb + implementation.handlers[3].action.action.actor + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/blastcube/model_ice.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 1 + + + Transform + + 0.8 + + Transient + + character/npc/monster/jellycube/fx_death.dat + + Color + blue + Core + true + Transform + + + + + + + 0.8 + 0.75 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 2.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Default + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Higher 1 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 2.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + SECONDARY + + character/npc/monster/jellycube/model_fre.dat + + variant + pink + + + + + + + 0.4 + + + (tag 1), (tag 2), (tag 3) + + + + + + + Treasure/Monster/Slime/Jelly Cube/Ice Cube Loot + + + + + + + + + + + + + Freeze 3 + + Chance + 1.0 + Power + 1 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 8 + + + + Monster/Heal/Heal Base + + + + + + + + + + + Bomb/Monster/IceCube Zone + + Damage + + Freeze + + Chance + 0.25 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Lifespan + 1.0 + Radius + 2.0 + + + + + + + + + + Freeze 3 + + Chance + 1.0 + Power + 1 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/world/block_crystal.ogg + Gain + 1.0 + Pitch adjust + Higher 2 + Range + Medium + + + Transform + + + Transient + + particle/fx_starlink_explode.dat + + color + blue + + + + + + + + + + + 8 + 79 + 1.5 + 174.51547 + 115 + + Monster/Health/Health Base + + 0.25 + 100 + 1100 + 2.5 + + + + Character/NPC/Monster/Slime/Jelly Roundhouse (Ice) + + Damage + + + Monster/Damage/Attack Base + + 4 + + Damage Frozen + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 4 + + Freeze + + Chance + 0.8 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Medium + Impulse + Forward + Sound - Pitch adjust + Default + + + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base -05 + + 4 + + Damage Region + Medium + Impulse + Forward + Sound - Pitch adjust + Higher 1 + + + + + + + + + 8 + + + + + 8 + -100 + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 1 + 100 + + + 6 + -65 + + + + + + + Character/NPC/Monster/Slime/Jelly/Parts/Oiler (Base) + + + Scale + implementation.sprite.scale + + + Targeted Speed + implementation.targeted_speed + + + Behavior + implementation.behavior + + + Death Oil Count + implementation.handlers[1].action.actions[0].count + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/lichen/model.dat + + Core + + Variant + oiler + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, large + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 3 + + + Transform + + 0.8 + + Transient + + character/npc/monster/jellycube/fx_death.dat + + Color + tri-lichen + Core + false + Transform + + + + + + + 1.25 + 0.8 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.4 + + + + + + + 1.5 + + character/npc/monster/royaljelly/animations/animation_walk.dat + + Sound - Pitch + Higher 1 + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.4 + + + + + + + 1.5 + + character/npc/monster/royaljelly/animations/animation_walk.dat + + Sound - Pitch + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + SECONDARY + + character/npc/monster/lichen/model.dat + + Core + + Variant + oiler-ignite + + + + + + + 0.4 + + + (tag 1), (tag 2), (tag 3) + + + + + + Treasure/Monster/Slime/Jelly Cube/Oiler Loot + + + + + + + + + Bomb/Monster/Oil Slick + + + + + + + + + + + + Monster/Heal/Heal Base + + + + 4 + + + true + + + + + + + + + + + + 4 + + Fire 3 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + + + + + + + 8 + 79 + 4.0 + 6.981317 + 40 + 1440 + 1 + 30 + + Monster/Health/Health Base + + 0.3 + 100 + 1100 + 4.0 + true + + + + Character/NPC/Monster/Slime/Oiler Place + + + + + Character/NPC/Monster/Slime/Oiler Dash + + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + Monster/Damage/Attack Base -05 + + 4 + + Damage Region + Medium + Flare Color + Normal + Impulse + Forward + Sound - Pitch adjust + Higher 2 + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 1 + 100 + + + 2 + -65 + + + + + + + Monster/Defense/Defense Base +10 + + ELEMENTAL + + + 7 + 4 + + + 8 + -50 + + + + + + + 4 + -100 + + + + 8 + 50 + + + + + + + Character/NPC/Monster/Slime/Jelly/Parts/Quicksilver (Base) + + + Scale + implementation.sprite.scale + + + Targeted Speed + implementation.targeted_speed + + + Shock Speed + implementation.speed + + + Charge-Up + implementation.behavior["Charge-Up"] + + + Damage (Status) + implementation.attacks[1].ref["Damage Status"].status_condition, implementation.handlers[4].action.action.actions[0].damage.damages[1].status_condition, implementation.handlers[1].action.action.actions[2].condition + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/lichen/model_sho.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, large + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 3 + + + Transform + + 0.8 + + Transient + + character/npc/monster/jellycube/fx_death.dat + + Color + + Core + true + Transform + + + + + + + 1.25 + 0.8 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.4 + + + + + + + 1.5 + + character/npc/monster/royaljelly/animations/animation_walk.dat + + Sound - Pitch + Higher 1 + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.4 + + + + + + + 1.5 + + character/npc/monster/royaljelly/animations/animation_walk.dat + + Sound - Pitch + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + SECONDARY + + character/npc/monster/lichen/model_sho-alt.dat + + + + + + 0.4 + + + + + + Treasure/Monster/Slime/Jelly Cube/Quicksilver Loot + + + + + + + + + + Monster/Heal/Heal Base + + + + + Shock 3 + + Chance + 1.0 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + true + + + + + + + + + + + 16 + + + + + + + + + + + + + + + Monster/Damage/Attack Base +05 + + ELEMENTAL + + Monster/Split/Split - Full + + + + + Shock 3 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + 8 + 79 + 20.0 + 17.453293 + 40 + 1440 + 1 + 30 + + Monster/Health/Health Base -05 + + 0.3 + 100 + 1100 + 4.0 + true + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + Monster/Damage/Attack Base + + 4 + + Damage Region + Medium + Flare Color + Normal + Impulse + Forward + Sound - Pitch adjust + Higher 2 + + + + + + Character/NPC/Monster/Slime/Quicksilver Charge + + Damage Status + + 4 + + Shock 3 + + Chance + 1.0 + Power + 30 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + + 1 + 100 + + + 26 + -65 + + + 8 + 50 + + + + + + + Character/NPC/Monster/Slime/Jelly/Quicksilver/Quicksilver 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Jelly/Parts/Quicksilver (Base) + + Charge-Up + False + Damage (Status) + + Shock + + Chance + 1.0 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Scale + 1.05 + Shock Speed + 15.0 + Targeted Speed + 3.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Quicksilver/Quicksilver 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Jelly/Parts/Quicksilver (Base) + + Charge-Up + False + Damage (Status) + + Shock 2 + + Chance + 1.0 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Scale + 1.15 + Shock Speed + 17.5 + Targeted Speed + 3.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Quicksilver/Quicksilver 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Jelly/Parts/Quicksilver (Base) + + Charge-Up + True + Damage (Status) + + Shock 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Scale + 1.25 + Shock Speed + 20.0 + Targeted Speed + 4.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Soul Jelly + + + Wave Tag + implementation.tags.tags[1] + + + + + + character/npc/monster/souljelly/model.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, large + + Pitch adjust + Higher 3 + Range + Medium + + + Transform + + + Transient + + particle/monster_death.dat + + Color + Purple + + + + + 0.8 + 0.7 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/jellycube/walking.dat + + Sound - Pitch + Default + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/jellycube/walking.dat + + Sound - Pitch + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.4 + + + (tag 1), (tag 2) + + + + + + Treasure/Monster/Slime/Jelly Cube/Jelly Cube Loot + + + + + 8 + 79 + 2.0 + 3.4906585 + 40 + 1440 + 30 + + Monster/Health/Health Base +05 + + 0.25 + 2667 + 1100 + 2.5 + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + Monster/Damage/Attack Base -05 + + 4 + + Damage Region + Medium + Flare Color + Normal + Impulse + Backward + Sound - Pitch adjust + Default + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 20 + 360 + + + 320 + + + 320 + + + 1 + 50 + + + 30 + -50 + + + + + + + Character/NPC/Monster/Slime/Jelly/Toxigel/Toxigel 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Elemental + + Attached Scale + 1.0 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Poison + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Medium + Flare Color + Normal + Impulse + Forward + Sound - Pitch adjust + Default + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + toxigel + Death Size + + 1.2 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 1 + + + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 257 + 50 + + + 28 + -25 + + + 2 + + + + End Depth + 9 + End Health + 240 + Gas Interval + 1.0 + Gas Spawn + + Health + 40 + Health Scale + + Monster/Health/Health Base + + Hit Sound + Default + Idle Speed + 1.0 + Loot Table + + Treasure/Monster/Slime/Toxigel/Toxigel Loot + + Model + + character/npc/monster/lichen/model.dat + + Core + + Variant + toxigel + + + Movement - Sound pitch + Default + Scale + 1.2 + Shape + + 0.45 + + Standing Jiggle + 1.0 + Start Depth + 1 + Target Speed + 2.5 + Walk Style + Stretch + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Toxigel/Toxigel 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Elemental + + Attached Scale + 1.0 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Poison 2 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Medium + Flare Color + Normal + Impulse + Forward + Sound - Pitch adjust + Default + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + toxigel + Death Size + + 1.2 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 1 + + + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 257 + 50 + + + 28 + -25 + + + 2 + + + + End Depth + 19 + End Health + 720 + Gas Interval + 1.0 + Gas Spawn + + Health + 240 + Health Scale + + Monster/Health/Health Base + + Hit Sound + Default + Idle Speed + 1.0 + Loot Table + + Treasure/Monster/Slime/Toxigel/Toxigel Loot + + Model + + character/npc/monster/lichen/model.dat + + Core + + Variant + toxigel-potent + + + Movement - Sound pitch + Default + Scale + 1.2 + Shape + + 0.45 + + Standing Jiggle + 1.0 + Start Depth + 9 + Target Speed + 2.5 + Walk Style + Stretch + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly/Toxigel/Toxigel 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Elemental + + Attached Scale + 1.0 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + + + Monster/Damage/Attack Base + + 4 + PIERCING + + Monster/Split/Split - Half + + + + 4 + + Poison 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Medium + Flare Color + Pierce + Impulse + Forward + Sound - Pitch adjust + Default + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Bullet/Monster/Jelly Barb + + Damage + + + + + Monster/Damage/Attack Base -05 + + PIERCING + + Monster/Split/Split - Full + + + + 4 + + Poison 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Scale + Small + Style + Tox + + + Bullet 2 + + Color + 0.0, 0.32941177, 0.078431375, 1.0 + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + + Flare Color + Pierce + Radius + 1.0 + Radius Graphic + + 0.5 + + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + toxigel + Death Size + + 1.2 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 1 + + + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 257 + 50 + + + 2 + + + 28 + -25 + + + + End Depth + 30 + End Health + 1440 + Gas Interval + 1.0 + Gas Spawn + + Health + 720 + Health Scale + + Monster/Health/Health Base + + Hit Sound + Default + Idle Speed + 1.0 + Loot Table + + Treasure/Monster/Slime/Toxigel/Toxigel Loot + + Model + + character/npc/monster/lichen/model.dat + + Core + + Variant + toxigel-deep + + + Movement - Sound pitch + Default + Scale + 1.2 + Shape + + 0.45 + + Standing Jiggle + 0.9 + Start Depth + 19 + Target Speed + 2.5 + Walk Style + Stretch + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Large Lichen Colony + + + Wave Tag + implementation.tags.tags[3], implementation.handlers[2].action.action.actions[0].fire_action["Wave Tag"] + + + Tags + implementation.tags.derived + + + + Size + + + Model Scale + implementation.sprite.scale + + + Radius + implementation.shape.radius + + + Health Multiplier + implementation.health_scale["Multiplier"] + + + Damage Scale + implementation.attacks[0].ref["Damage Scale"], implementation.attacks[1].ref["Damage"].damages[0].depth_scale + + + Damage Bullet Scale + implementation.attacks[1].ref["Bullet"]["Damage"].depth_scale + + + Max Attack Distance + implementation.behavior["Max Attack Distance"] + + + Damage Transform + implementation.attacks[0].ref["Damage Transform"] + + + Core Count + implementation.sprite.model["Core"]["Core Count"] + + + Size Variable + implementation.handlers[0].action.value.value + + + Loot Table + implementation.handlers[1].action.action.spawn_table + + + + + + 10 + + Core Count + 10 + Damage Amount + 40.0 + Damage Bullet Scale + + Monster/Damage/Attack Base -05 + + Damage End Amount + 360.0 + Damage Scale + + Monster/Damage/Attack Base + + Damage Transform + + 1.75, 0.0 + + Health + 80 + Health End + 2880 + Health Multiplier + 2.25 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 10 Loot + + Max Attack Distance + 1.3 + Model Scale + 1.8 + Radius + 0.9 + Size Variable + 10 + + + + + 11 + + Core Count + 11 + Damage Amount + 40.0 + Damage Bullet Scale + + Monster/Damage/Attack Base -05 + + Damage End Amount + 360.0 + Damage Scale + + Monster/Damage/Attack Base + + Damage Transform + + 1.8, 0.0 + + Health + 475 + Health End + 90 + Health Multiplier + 2.5 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 10 Loot + + Max Attack Distance + 1.35 + Model Scale + 1.9 + Radius + 0.95 + Size Variable + 11 + + + + + 12 + + Core Count + 12 + Damage Amount + 40.0 + Damage Bullet Scale + + Monster/Damage/Attack Base -05 + + Damage End Amount + 360.0 + Damage Scale + + Monster/Damage/Attack Base + + Damage Transform + + 1.85, 0.0 + + Health + 100 + Health End + 3600 + Health Multiplier + 2.75 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 10 Loot + + Max Attack Distance + 1.4 + Model Scale + 2.0 + Radius + 1.0 + Size Variable + 12 + + + + + 13 + + Core Count + 13 + Damage Amount + 40.0 + Damage Bullet Scale + + Monster/Damage/Attack Base + + Damage End Amount + 360.0 + Damage Scale + + Monster/Damage/Attack Base + + Damage Transform + + 1.9, 0.0 + + Health + 107 + Health End + 3840 + Health Multiplier + 3.0 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 10 Loot + + Max Attack Distance + 1.45 + Model Scale + 2.1 + Radius + 1.05 + Size Variable + 13 + + + + + 14 + + Core Count + 14 + Damage Amount + 40.0 + Damage Bullet Scale + + Monster/Damage/Attack Base + + Damage End Amount + 360.0 + Damage Scale + + Monster/Damage/Attack Base +05 + + Damage Transform + + 1.95, 0.0 + + Health + 114 + Health End + 4080 + Health Multiplier + 3.25 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 10 Loot + + Max Attack Distance + 1.5 + Model Scale + 2.2 + Radius + 1.1 + Size Variable + 14 + + + + + 15 + + Core Count + 15 + Damage Amount + 40.0 + Damage Bullet Scale + + Monster/Damage/Attack Base + + Damage End Amount + 360.0 + Damage Scale + + Monster/Damage/Attack Base +05 + + Damage Transform + + 2.0, 0.0 + + Health + 120 + Health End + 4320 + Health Multiplier + 3.5 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 15 Loot + + Max Attack Distance + 1.45 + Model Scale + 2.3 + Radius + 1.15 + Size Variable + 15 + + + + 10 + + + + + + character/npc/monster/lichen/model_highrez.dat + + Core + + character/npc/monster/lichen/ambient_cores.dat + + Core Count + 1 + Size + 0.1 + + + Variant + tri-lichen + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, large + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, large + + Pitch adjust + Higher 2 + Range + Medium + + + Transform + + 1.2 + + Transient + + character/npc/monster/jellycube/fx_death.dat + + Color + tri-lichen + Core + true + Transform + + + + + + + 1.8 + 0.6 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 1.5 + + character/npc/monster/royaljelly/animations/animation_walk.dat + + Sound - Pitch + Lower 1 + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 1.5 + + character/npc/monster/royaljelly/animations/animation_walk.dat + + Sound - Pitch + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.9 + + + (tag 1), (tag 2), (tag 3), (tag 4) + + + + + + + + + + + + + + + + + + + Character/NPC/Monster/Slime/Spawn Lichen Colony + + Wave Tag + (Wave Tag) + + + + + + + + + 8 + 79 + 2.5 + 3.4906585 + 80 + 2880 + 1 + 30 + + Base/Multiplier + + Depth Scale + + Monster/Health/Health Base + + Multiplier + 1.0 + + + 0.3 + 4 + 100 + 1100 + 2.5 + + + + Character/NPC/Monster/Slime/Lichen + + Damage Scale + + Monster/Damage/Attack Base + + Damage Transform + + 1.75, 0.0 + + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Bullet/Monster/Jelly Barb + + Damage + + + Monster/Damage/Attack Base -05 + + PIERCING + + Monster/Split/Split - Full + + + Scale + Medium + Style + Tri + + + Bullet 2 + + Color + 1.0, 0.4, 0.0, 1.0 + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + + Flare Color + Pierce + Radius + 1.0 + Radius Graphic + + 0.5 + + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 257 + 50 + + + 28 + -25 + + + + + + + Character/NPC/Monster/Slime/Lichen Colony + + + Wave Tag + implementation.tags.tags[3], implementation.handlers[2].action.action.actions[0].fire_action["Wave Tag"] + + + Tags + implementation.tags.derived + + + + Size + + + Model Scale + implementation.sprite.scale + + + Radius + implementation.shape.radius + + + Health Multiplier + implementation.health_scale["Multiplier"] + + + Damage Scale + implementation.attacks[0].ref["Damage Scale"] + + + Max Attack Distance + implementation.behavior["Max Attack Distance"] + + + Damage Transform + implementation.attacks[0].ref["Damage Transform"] + + + Core Count + implementation.sprite.model["Core"]["Core Count"] + + + Size Variable + implementation.handlers[0].action.value.value + + + Loot Table + implementation.handlers[1].action.action.spawn_table + + + + + + 1 + + Core Count + 1 + Damage Amount + 30.0 + Damage End Amount + 330.0 + Damage Scale + + Monster/Damage/Attack Base -10 + + Damage Transform + + 1.25, 0.0 + + Health + 40 + Health End + 1440 + Health Multiplier + 1.0 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 1 Loot + + Max Attack Distance + 0.8 + Model Scale + 0.8 + Radius + 0.4 + Size Variable + 1 + + + + + 2 + + Core Count + 2 + Damage Amount + 30.0 + Damage End Amount + 330.0 + Damage Scale + + Monster/Damage/Attack Base -10 + + Damage Transform + + 1.3, 0.0 + + Health + 50 + Health End + 1550 + Health Multiplier + 1.25 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 1 Loot + + Max Attack Distance + 0.85 + Model Scale + 0.9 + Radius + 0.45 + Size Variable + 2 + + + + + 3 + + Core Count + 3 + Damage Amount + 30.0 + Damage End Amount + 330.0 + Damage Scale + + Monster/Damage/Attack Base -10 + + Damage Transform + + 1.35, 0.0 + + Health + 60 + Health End + 1700 + Health Multiplier + 1.5 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 1 Loot + + Max Attack Distance + 0.9 + Model Scale + 1.0 + Radius + 0.5 + Size Variable + 3 + + + + + 4 + + Core Count + 4 + Damage Amount + 30.0 + Damage End Amount + 330.0 + Damage Scale + + Monster/Damage/Attack Base -10 + + Damage Transform + + 1.4, 0.0 + + Health + 70 + Health End + 1900 + Health Multiplier + 1.75 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 1 Loot + + Max Attack Distance + 0.95 + Model Scale + 1.1 + Radius + 0.55 + Size Variable + 4 + + + + + 5 + + Core Count + 5 + Damage Amount + 30.0 + Damage End Amount + 330.0 + Damage Scale + + Monster/Damage/Attack Base -10 + + Damage Transform + + 1.45, 0.0 + + Health + 70 + Health End + 2160 + Health Multiplier + 2.0 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 5 Loot + + Max Attack Distance + 1.0 + Model Scale + 1.2 + Radius + 0.6 + Size Variable + 5 + + + + + 6 + + Core Count + 6 + Damage Amount + 30.0 + Damage End Amount + 330.0 + Damage Scale + + Monster/Damage/Attack Base -05 + + Damage Transform + + 1.5, 0.0 + + Health + 75 + Health End + 2300 + Health Multiplier + 2.25 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 5 Loot + + Max Attack Distance + 1.05 + Model Scale + 1.3 + Radius + 0.65 + Size Variable + 6 + + + + + 7 + + Core Count + 7 + Damage Amount + 30.0 + Damage End Amount + 330.0 + Damage Scale + + Monster/Damage/Attack Base -05 + + Damage Transform + + 1.55, 0.0 + + Health + 75 + Health End + 2500 + Health Multiplier + 2.5 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 5 Loot + + Max Attack Distance + 1.1 + Model Scale + 1.4 + Radius + 0.7 + Size Variable + 7 + + + + + 8 + + Core Count + 8 + Damage Amount + 30.0 + Damage End Amount + 330.0 + Damage Scale + + Monster/Damage/Attack Base -05 + + Damage Transform + + 1.6, 0.0 + + Health + 80 + Health End + 2750 + Health Multiplier + 2.75 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 5 Loot + + Max Attack Distance + 1.15 + Model Scale + 1.5 + Radius + 0.75 + Size Variable + 8 + + + + + 9 + + Core Count + 9 + Damage Amount + 30.0 + Damage End Amount + 330.0 + Damage Scale + + Monster/Damage/Attack Base + + Damage Transform + + 1.65, 0.0 + + Health + 80 + Health End + 2880 + Health Multiplier + 3.0 + Loot Table + + Treasure/Monster/Slime/Lichen/Lichen 5 Loot + + Max Attack Distance + 1.2 + Model Scale + 1.6 + Radius + 0.8 + Size Variable + 9 + + + + 1 + + + + + + character/npc/monster/lichen/model.dat + + Core + + character/npc/monster/lichen/ambient_cores.dat + + Core Count + 1 + Size + 0.15 + + + Variant + lichen + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, large + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 3 + + + Transform + + 0.8 + + Transient + + character/npc/monster/jellycube/fx_death.dat + + Color + lichen + Core + false + Transform + + + + + + + 0.8 + 0.6 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.4 + + + + + + + 2.5 + + character/npc/monster/jellycube/walking.dat + + Sound - Pitch + Higher 2 + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.4 + + + + + + + 2.5 + + character/npc/monster/jellycube/walking.dat + + Sound - Pitch + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.4 + + + (tag 1), (tag 2), (tag 3), (tag 4) + + + + + + + + + + + + + + + + + + + Character/NPC/Monster/Slime/Spawn Lichen Colony + + Wave Tag + (Wave Tag) + + + + + + + + + 8 + 79 + 2.5 + 5.2359877 + 40 + 1440 + 1 + 30 + + Base/Multiplier + + Depth Scale + + Monster/Health/Health Base + + Multiplier + 1.0 + + + 0.3 + 100 + 1100 + 2.5 + + + + Character/NPC/Monster/Slime/Lichen + + Damage Scale + + Monster/Damage/Attack Base -10 + + Damage Transform + + 1.25, 0.0 + + + + + + + Character/NPC/Monster/Slime/Lichen Merge + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 257 + 50 + + + 28 + -50 + + + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + + Model + implementation.sprite.model + + + Hit Sound + implementation.sprite.hit_transient["Sounder"]["Pitch shift"] + + + Sound - Movement pitch + implementation.sprite.movements[0].animation["Sound - Pitch adjust"] + + + Death Color + implementation.sprite.destruction_transient["Transient"]["Color"] + + + Death Size + implementation.sprite.destruction_transient["Transform"] + + + Death Sound + implementation.sprite.destruction_transient["Sounder"] + + + Creation Transient + implementation.sprite.creation_transient + + + Standing Jiggle + implementation.sprite.idles[0].animation["Speed"], implementation.sprite.targeted_idles[0].animation["Speed"] + + + Scale + implementation.sprite.scale + + + Attached Scale + implementation.sprite.attached_scale + + + Shape + implementation.shape + + + Idle Speed + implementation.speed + + + Target Speed + implementation.targeted_speed + + + Health Scale + implementation.health_scale + + + Defense + implementation.defense + + + Loot Table + implementation.handlers[0].action.action.spawn_table + + + Behavior + implementation.behavior + + + Attacks + implementation.attacks + + + Wave Tag + implementation.tags.tags[2] + + + Handler + implementation.handlers[1] + + + + Death Time + + + DT + implementation.death_time + + + + + + Instant + + DT + 100 + + + + + Blast Warning + + DT + 4000 + + + + Instant + + + + + + character/npc/monster/jellycube/model.dat + + Trail + + variant + pink + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 1 + + + Transform + + 0.8 + + Transient + + character/npc/monster/jellycube/fx_death.dat + + Color + pink + Core + true + Transform + + + + + + + 0.8 + 0.75 + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 2.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Default + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Higher 1 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 2.0 + + character/npc/monster/jellycube/animations_omni/animation_moving.dat + + Sound - Pitch adjust + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.4 + + + (tag 1), (tag 2), (tag 3) + + + + + + + + + + + + 8 + 79 + 1.5 + 174.51547 + 115 + 0.25 + 100 + 1100 + 2.5 + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + 1.0 + 4 + + Damage Region + Medium + Impulse + Backward + Sound - Pitch adjust + Default + + + + + + + + 100 + + + 25 + + + 1 + 100 + + + 14 + -65 + + + + + + + Character/NPC/Monster/Slime/Parts/Jelly Elemental + + + Model + implementation.sprite.model + + + Hit Sound + implementation.sprite.hit_transient["Sounder"]["Pitch shift"] + + + Movement - Sound pitch + implementation.sprite.movements[0].animation["Sound - Pitch"] + + + Death Color + implementation.sprite.destruction_transient["Transient"]["Color"] + + + Death Size + implementation.sprite.destruction_transient["Transform"] + + + Death Sound + implementation.sprite.destruction_transient["Sounder"] + + + Creation Transient + implementation.sprite.creation_transient + + + Standing Jiggle + implementation.sprite.idles[0].animation["Speed"], implementation.sprite.targeted_idles[0].animation["Speed"] + + + Scale + implementation.sprite.scale + + + Attached Scale + implementation.sprite.attached_scale + + + Shape + implementation.shape + + + Idle Speed + implementation.speed + + + Target Speed + implementation.targeted_speed + + + Health + implementation.health + + + End Health + implementation.end_health + + + Start Depth + implementation.start_depth + + + End Depth + implementation.end_depth + + + Health Scale + implementation.health_scale + + + Defense + implementation.defense + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Behavior + implementation.behavior + + + Attacks + implementation.attacks + + + Gas Interval + implementation.handlers[1].interval + + + Gas Spawn + implementation.handlers[1].action.actor + + + Wave Tag + implementation.tags.tags[2] + + + + Walk Style + + + Animation + implementation.sprite.movements[0].animation, implementation.sprite.targeted_movements[0].animation + + + Speed + implementation.sprite.movements[0].speed, implementation.sprite.targeted_movements[0].speed + + + + + + Scoot + + Animation + + character/npc/monster/royaljelly/animations/animation_walk.dat + + Sound - Pitch + Default + + + Speed + 1.5 + + + + + Stretch + + Animation + + character/npc/monster/jellycube/walking.dat + + Sound - Pitch + Default + + + Speed + 2.5 + + + + Scoot + + + + + + character/npc/monster/lichen/model.dat + + Core + + Variant + toxigel + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 1 + + + Transform + + 0.9 + + Transient + + character/npc/monster/jellycube/fx_death.dat + + Color + toxigel + Core + true + Transform + + + + + + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.0 + + + + + + + 1.5 + + character/npc/monster/royaljelly/animations/animation_walk.dat + + Sound - Pitch + Default + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Slime + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/jellycube/standing.dat + + Speed + 1.4 + + + + + + + 1.5 + + character/npc/monster/royaljelly/animations/animation_walk.dat + + Sound - Pitch + Default + + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.45 + + + (tag 1), (tag 2), (tag 3) + + + + + + Treasure/Monster/Slime/Toxigel/Toxigel Loot + + + + + + + + + 8 + 79 + 2.5 + 3.4906585 + 225 + 0.3 + 100 + 1100 + 2.5 + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + + 40.0 + 4 + + + 4 + + Poison + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Medium + Flare Color + None + Impulse + Forward + Sound - Pitch adjust + Default + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Bullet/Monster/Jelly Barb + + Damage + + + + 40.0 + 4 + + + 4 + + Poison + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Scale + Small + Style + Tox + + + Bullet 2 + + Color + 0.0, 0.32941177, 0.078431375, 1.0 + Damage + + + + 20.0 + 4 + + + + Flare Color + None + Radius + 1.0 + Radius Graphic + + 2.0 + + + + + + + + + 115 + + + 35 + + + 1 + 100 + + + 2 + 200 + + + 12 + -45 + + + + + + + Character/NPC/Monster/Slime/Parts/Jelly Green Mini (No Treasure) + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 0.45 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + 10.0 + 4 + + Damage Region + Small + Impulse + Forward + Sound - Pitch adjust + Higher 3 + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/Monsters/Slimes/Spawn, small + + Transform + + 0.75 + + Transient + + particle/fx_jellydeath.dat + + Core + false + color + green + + + + + Death Color + green + Death Size + + 0.5 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Higher 4 + + + Death Time + Instant + Defense + + + + 100 + + + 45 + + + 1 + 100 + + + 14 + -65 + + + + Handler + + + Health Scale + + Hit Sound + Higher 2 + Idle Speed + 1.0 + Loot Table + + Model + + character/npc/monster/jellycube/minicube/model.dat + + Trail + + variant + pink + + + Scale + 0.5 + Shape + + 0.24 + + Sound - Movement pitch + Default + Standing Jiggle + 2.0 + Target Speed + 2.5 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Rock Jelly/Rock Jelly 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Cube + + Attached Scale + 0.9 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + Damage + + + Monster/Damage/Attack Base + + 4 + + Damage Region + Medium + Impulse + Forward + Sound - Pitch adjust + Default + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + blue + Death Size + + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 1 + + + Death Time + Instant + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 257 + 50 + + + 24 + -25 + + + 4 + 25 + + + + Handler + + + Health Scale + + Monster/Health/Health Base +10 + + Hit Sound + Lower 1 + Idle Speed + 1.5 + Loot Table + + Treasure/Monster/Slime/Jelly Cube/Jelly Cube Loot + + Model + + character/npc/monster/blastcube/model_rock.dat + + Scale + 1.0 + Shape + + 0.45 + + Sound - Movement pitch + Default + Standing Jiggle + 0.5 + Target Speed + 1.75 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Rock Jelly/Rock Jelly 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Rock Jelly/Rock Jelly 1 + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Rock Jelly/Rock Jelly 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Rock Jelly/Rock Jelly 1 + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Sloom/Sloom 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Elemental + + Attached Scale + 1.0 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Sleep + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Medium + Flare Color + Normal + Impulse + Forward + Sound - Pitch adjust + Default + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + sloom + Death Size + + 1.2 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 1 + + + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 1 + 50 + + + 256 + + + 28 + -25 + + + + End Depth + 9 + End Health + 240 + Gas Interval + 1.0 + Gas Spawn + + Health + 40 + Health Scale + + Monster/Health/Health Base + + Hit Sound + Default + Idle Speed + 1.0 + Loot Table + + Treasure/Monster/Slime/Sloom/Sloom Loot + + Model + + character/npc/monster/lichen/model.dat + + Core + + Variant + sloom + + + Movement - Sound pitch + Default + Scale + 1.2 + Shape + + 0.45 + + Standing Jiggle + 1.0 + Start Depth + 0 + Target Speed + 2.5 + Walk Style + Stretch + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Sloom/Sloom 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Elemental + + Attached Scale + 1.0 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Sleep 2 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Medium + Flare Color + Normal + Impulse + Forward + Sound - Pitch adjust + Default + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + sloom + Death Size + + 1.2 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 1 + + + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 1 + 50 + + + 256 + + + 28 + -25 + + + + End Depth + 19 + End Health + 720 + Gas Interval + 1.0 + Gas Spawn + + Health + 240 + Health Scale + + Monster/Health/Health Base + + Hit Sound + Default + Idle Speed + 1.0 + Loot Table + + Treasure/Monster/Slime/Sloom/Sloom Loot + + Model + + character/npc/monster/lichen/model.dat + + Core + + Variant + dozy sloom + + + Movement - Sound pitch + Default + Scale + 1.2 + Shape + + 0.45 + + Standing Jiggle + 1.0 + Start Depth + 9 + Target Speed + 2.5 + Walk Style + Stretch + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Sloom/Sloom 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Elemental + + Attached Scale + 1.0 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + + + Monster/Damage/Attack Base + + 4 + PIERCING + + Monster/Split/Split - Half + + + + 4 + + Sleep 3 + + Chance + 0.5 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Medium + Flare Color + Pierce + Impulse + Forward + Sound - Pitch adjust + Default + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Bullet/Monster/Jelly Barb + + Damage + + + + + Monster/Damage/Attack Base -05 + + PIERCING + + Monster/Split/Split - Full + + + + 4 + + Sleep 3 + + Chance + 0.5 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Scale + Small + Style + Slo + + + Bullet 2 + + Color + 0.0, 0.6, 0.6, 1.0 + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + + Flare Color + Pierce + Radius + 1.0 + Radius Graphic + + 0.5 + + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + sloom + Death Size + + 1.2 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 1 + + + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 1 + 50 + + + 28 + -25 + + + 256 + + + + End Depth + 30 + End Health + 1440 + Gas Interval + 1.0 + Gas Spawn + + Health + 720 + Health Scale + + Monster/Health/Health Base + + Hit Sound + Default + Idle Speed + 1.0 + Loot Table + + Treasure/Monster/Slime/Sloom/Sloom Loot + + Model + + character/npc/monster/lichen/model.dat + + Core + + Variant + deep sloom + + + Movement - Sound pitch + Default + Scale + 1.2 + Shape + + 0.45 + + Standing Jiggle + 0.9 + Start Depth + 19 + Target Speed + 2.5 + Walk Style + Stretch + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Sloombargo/Sloombargo 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Elemental + + Attached Scale + 1.9 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Sleep + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Large + Flare Color + Normal + Impulse + Forward + Sound - Pitch adjust + Lower 3 + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, large + + + + Death Color + sloom + Death Size + + 2.3 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 3 + + + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 1 + 50 + + + 256 + + + 28 + -25 + + + + End Depth + 9 + End Health + 720 + Gas Interval + 1.0 + Gas Spawn + + Bomb/Monster/GasField + + Damage + + 4 + + Sleep + + Chance + 0.3 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Graphic + Sleep + Radius + 1.75 + Time + 1.0 + + + Health + 120 + Health Scale + + Monster/Health/Health Base +20 + + Hit Sound + Default + Idle Speed + 1.0 + Loot Table + + Treasure/Monster/Slime/Sloom/Sloombargo Loot + + Model + + character/npc/monster/lichen/model_highrez.dat + + Core + + Variant + sloom + + + Movement - Sound pitch + Lower 1 + Scale + 2.3 + Shape + + 1.1 + + Standing Jiggle + 0.6 + Start Depth + 1 + Target Speed + 2.0 + Walk Style + Scoot + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Sloombargo/Sloombargo 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Elemental + + Attached Scale + 1.9 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Sleep 2 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Large + Flare Color + Normal + Impulse + Forward + Sound - Pitch adjust + Lower 3 + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, large + + + + Death Color + sloom + Death Size + + 2.3 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 3 + + + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 1 + 50 + + + 256 + + + 28 + -25 + + + + End Depth + 19 + End Health + 2160 + Gas Interval + 1.0 + Gas Spawn + + Bomb/Monster/GasField + + Damage + + 4 + + Sleep 2 + + Chance + 0.3 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Graphic + Sleep + Radius + 1.75 + Time + 1.0 + + + Health + 720 + Health Scale + + Monster/Health/Health Base +20 + + Hit Sound + Default + Idle Speed + 1.0 + Loot Table + + Treasure/Monster/Slime/Sloom/Sloombargo Loot + + Model + + character/npc/monster/lichen/model_highrez.dat + + Core + + Variant + dozy sloom + + + Movement - Sound pitch + Lower 1 + Scale + 2.3 + Shape + + 1.1 + + Standing Jiggle + 0.6 + Start Depth + 9 + Target Speed + 2.0 + Walk Style + Scoot + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Sloombargo/Sloombargo 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Elemental + + Attached Scale + 1.9 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + PIERCING + + Monster/Split/Split - Half + + + + 4 + + Sleep 3 + + Chance + 0.6 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Medium + Flare Color + Pierce + Impulse + Forward + Sound - Pitch adjust + Default + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Bullet/Monster/Jelly Barb + + Damage + + + + + Monster/Damage/Attack Base + + PIERCING + + Monster/Split/Split - Full + + + + 4 + + Sleep 3 + + Chance + 0.8 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Scale + Medium + Style + Slo + + + Bullet 2 + + Bullet/Monster/Jelly Barb + + Damage + + + + + Monster/Damage/Attack Base + + PIERCING + + Monster/Split/Split - Full + + + + 4 + + Sleep 3 + + Chance + 0.8 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Scale + Medium + Style + Slo + + + Color + 0.0, 0.6, 0.6, 1.0 + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + true + + + + Flare Color + Pierce + Radius + 1.0 + Radius Graphic + + 0.5 + + + + + + + Character/NPC/Monster/Slime/Lichen Impale (Lesser) + + Spire + + Bomb/Monster/Lichen Spire + + Color + Slo + Damage + + + + + Monster/Damage/Attack Base + + PIERCING + + Monster/Split/Split - Full + + + + 4 + + Sleep 3 + + Chance + 0.65 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + sloom + Death Size + + 1.8 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 1 + + + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 180 + 360 + 19 + + + 1 + 50 + + + 256 + + + 28 + -25 + + + + End Depth + 30 + End Health + 4320 + Gas Interval + 1.0 + Gas Spawn + + Bomb/Monster/GasField + + Damage + + 4 + + Sleep 3 + + Chance + 0.4 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Graphic + Sleep + Radius + 2.0 + Time + 1.0 + + + Health + 2160 + Health Scale + + Monster/Health/Health Base +20 + + Hit Sound + Default + Idle Speed + 1.0 + Loot Table + + Treasure/Monster/Slime/Sloom/Sloombargo Loot + + Model + + character/npc/monster/lichen/model_highrez.dat + + Core + + Variant + deep sloom + + + Movement - Sound pitch + Lower 1 + Scale + 2.3 + Shape + + 1.1 + + Standing Jiggle + 0.5 + Start Depth + 19 + Target Speed + 2.0 + Walk Style + Scoot + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Toxilargo/Toxilargo 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Elemental + + Attached Scale + 1.9 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Poison + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Large + Flare Color + Normal + Impulse + Forward + Sound - Pitch adjust + Lower 3 + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, large + + + + Death Color + toxigel + Death Size + + 2.3 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 3 + + + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 1 + 50 + + + 12 + -50 + + + 2 + + + + End Depth + 9 + End Health + 720 + Gas Interval + 1.0 + Gas Spawn + + Bomb/Monster/GasField + + Damage + + 4 + + Poison + + Chance + 0.3 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Graphic + Poison + Radius + 1.75 + Time + 1.0 + + + Health + 120 + Health Scale + + Monster/Health/Health Base +20 + + Hit Sound + Default + Idle Speed + 1.0 + Loot Table + + Treasure/Monster/Slime/Toxigel/Toxilargo Loot + + Model + + character/npc/monster/lichen/model_highrez.dat + + Core + + Variant + toxigel + + + Movement - Sound pitch + Lower 1 + Scale + 2.3 + Shape + + 1.1 + + Standing Jiggle + 0.6 + Start Depth + 0 + Target Speed + 2.0 + Walk Style + Scoot + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Toxilargo/Toxilargo 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Elemental + + Attached Scale + 1.9 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + Poison 2 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Damage Region + Large + Flare Color + Normal + Impulse + Forward + Sound - Pitch adjust + Lower 3 + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, large + + + + Death Color + toxigel + Death Size + + 2.3 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 3 + + + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 1 + 50 + + + 12 + -50 + + + 2 + + + + End Depth + 19 + End Health + 2160 + Gas Interval + 1.0 + Gas Spawn + + Bomb/Monster/GasField + + Damage + + 4 + + Poison 2 + + Chance + 0.3 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Graphic + Poison + Radius + 1.75 + Time + 1.0 + + + Health + 720 + Health Scale + + Monster/Health/Health Base +20 + + Hit Sound + Default + Idle Speed + 1.0 + Loot Table + + Treasure/Monster/Slime/Toxigel/Toxilargo Loot + + Model + + character/npc/monster/lichen/model_highrez.dat + + Core + + Variant + toxigel-potent + + + Movement - Sound pitch + Lower 1 + Scale + 2.3 + Shape + + 1.1 + + Standing Jiggle + 0.6 + Start Depth + 9 + Target Speed + 2.0 + Walk Style + Scoot + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Toxilargo/Toxilargo 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Slime/Parts/Jelly Elemental + + Attached Scale + 1.9 + Attacks + + + + Character/NPC/Monster/Slime/Jelly Punch + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + PIERCING + + Monster/Split/Split - Half + + + Damage Region + Medium + Flare Color + Pierce + Impulse + Forward + Sound - Pitch adjust + Default + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + Bullet + + Bullet/Monster/Jelly Barb + + Damage + + + + + Monster/Damage/Attack Base + + PIERCING + + Monster/Split/Split - Full + + + + 4 + + Poison 3 + + Chance + 0.8 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Scale + Medium + Style + Tox + + + Bullet 2 + + Bullet/Monster/Jelly Barb + + Damage + + + + + Monster/Damage/Attack Base + + PIERCING + + Monster/Split/Split - Full + + + + 4 + + Poison 3 + + Chance + 0.8 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Scale + Medium + Style + Tox + + + Color + 0.0, 0.32941177, 0.078431375, 1.0 + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + true + + + + Flare Color + Pierce + Radius + 1.0 + Radius Graphic + + 0.5 + + + + + + + Character/NPC/Monster/Slime/Lichen Impale (Lesser) + + Spire + + Bomb/Monster/Lichen Spire + + Color + Tox + Damage + + + + + Monster/Damage/Attack Base + + PIERCING + + Monster/Split/Split - Full + + + + 4 + + Poison 3 + + Chance + 0.65 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + Behavior + + Creation Transient + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/Monsters/Slimes/Spawn, small + + + + Death Color + toxigel + Death Size + + 1.8 + + Death Sound + + Custom/Monsters/Slimes/Death, small + + Pitch adjust + Lower 1 + + + Defense + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + + 1 + 50 + + + 2 + + + 12 + -50 + + + + End Depth + 30 + End Health + 4320 + Gas Interval + 1.0 + Gas Spawn + + Bomb/Monster/GasField + + Damage + + 4 + + Poison 3 + + Chance + 0.4 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Graphic + Poison + Radius + 2.0 + Time + 1.0 + + + Health + 2160 + Health Scale + + Monster/Health/Health Base +20 + + Hit Sound + Default + Idle Speed + 1.0 + Loot Table + + Treasure/Monster/Slime/Toxigel/Toxilargo Loot + + Model + + character/npc/monster/lichen/model_highrez.dat + + Core + + Variant + toxigel-deep + + + Movement - Sound pitch + Lower 1 + Scale + 2.3 + Shape + + 1.1 + + Standing Jiggle + 0.5 + Start Depth + 19 + Target Speed + 2.0 + Walk Style + Scoot + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Barlok + + + Tags + implementation.tags.derived + + + + + + character/npc/monster/reaper/model.dat + + variant + red + + + + + + character/npc/monster/spookat/standing_idle.dat + + Pitch adjust + Default + + + + + 0.5 + + character/npc/monster/spookat/standing_idle2.dat + + Pitch adjust + Default + + + + + 0.25 + + character/npc/monster/spookat/standing_idle3.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking_idle.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Bones + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/spookat/standing.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.2 + + + + + + Treasure/Monster/Undead/Spookat/Spookat Loot + + + + + 8 + 79 + 1.5 + 6.981317 + 125 + 0.3 + 1100 + 2.5 + + + + Character/NPC/Monster/Undead/Spookat + + Damage + + 50.0 + 4 + + + + + + + + + 50 + + + 100 + + + 50 + + + 11 + 50 + + + + + + + Character/NPC/Monster/Undead/Deadnaught/Deadnaught/Deadnought, Tier 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Deadnaught/Parts/Deadnought (Base) + + Actor Weight + 5 + Charge - Min Attack Interval + 7200 + Charge - Movement Speed + 6.0 + Charge Attack - Status Infliction + + Loot Table + + Skewer Attack - Status Infliction + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Deadnaught/Deadnaught/Deadnought, Tier 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Deadnaught/Parts/Deadnought (Base) + + Actor Weight + 6 + Charge - Min Attack Interval + 6400 + Charge - Movement Speed + 7.0 + Charge Attack - Status Infliction + + Loot Table + + Skewer Attack - Status Infliction + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Deadnaught/Deadnaught/Deadnought, Tier 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Deadnaught/Parts/Deadnought (Base) + + Actor Weight + 7 + Charge - Min Attack Interval + 6000 + Charge - Movement Speed + 8.0 + Charge Attack - Status Infliction + + Loot Table + + Skewer Attack - Status Infliction + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Deadnaught/Parts/Deadnought (Base) + + + Actor Weight + implementation.impulse_level + + + Charge - Min Attack Interval + implementation.behavior["Min Attack Interval"] + + + Charge - Movement Speed + implementation.behavior["Charge Speed"] + + + Charge Attack - Status Infliction + implementation.attacks[2].ref["Status Attack"] + + + Skewer Attack - Status Infliction + implementation.attacks[1].ref["Status Attack"] + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Wave Tag + implementation.tags.tags[3] + + + + + + character/npc/monster/zombieknight/model.dat + + + particle/model_fxscaler.dat + + Model + + particle/fx_spawn_monster.dat + + Transfrom + + 2.0 + + + + 1.6 + 2.0 + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.0 + Blend Out + 0.0 + Sound set + Null + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Null + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Bones + + Pitch shift + Lower 1 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.0 + Blend Out + 0.0 + Sound set + Null + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Null + + + + + + animation/common/spawn_scalein.dat + + Transform + + 1.2 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.8 + + + + + + + + 8 + 79 + 4.0 + 6.981317 + 450 + + Monster/Health/Health Base +10 + + 2 + 0.1 + true + 7 + 433 + 3000 + 1100 + 2.0 + true + + + + Character/NPC/Monster/Fiend/Dark Knight/Shield Deflect + + + + + Character/NPC/Monster/Undead/Deadnought/Parts/Charge - Finish + + Status Attack + + + + + + + Character/NPC/Monster/Undead/Deadnought/Parts/Charge - Start, Loop + + Status Attack + + + + + + + + + + + + + + + 1.2 + 1.8 + + + 0.4, 0.0 + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + + 266 + 50 + + + 32 + + + + + + + Character/NPC/Monster/Undead/Deadnaught/Parts/Tier 1 (Base) + + + Charge Attack - Status Infliction + implementation.actor["Charge Attack - Status Infliction"] + + + Skewer Attack - Status Infliction + implementation.actor["Skewer Attack - Status Infliction"] + + + Loot Table + implementation.actor["Loot Table"] + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Deadnaught/Parts/Deadnought (Base) + + Actor Weight + 5 + Charge - Min Attack Interval + 7200 + Charge - Movement Speed + 6.0 + Charge Attack - Status Infliction + + Loot Table + + Skewer Attack - Status Infliction + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Deadnaught/Parts/Tier 2 (Base) + + + Charge Attack - Status Infliction + implementation.actor["Charge Attack - Status Infliction"] + + + Skewer Attack - Status Infliction + implementation.actor["Skewer Attack - Status Infliction"] + + + Loot Table + implementation.actor["Loot Table"] + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Deadnaught/Parts/Deadnought (Base) + + Actor Weight + 6 + Charge - Min Attack Interval + 6400 + Charge - Movement Speed + 7.0 + Charge Attack - Status Infliction + + Loot Table + + Skewer Attack - Status Infliction + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Deadnaught/Parts/Tier 3 (Base) + + + Charge Attack - Status Infliction + implementation.actor["Charge Attack - Status Infliction"] + + + Skewer Attack - Status Infliction + implementation.actor["Skewer Attack - Status Infliction"] + + + Loot Table + implementation.actor["Loot Table"] + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Deadnaught/Parts/Deadnought (Base) + + Actor Weight + 7 + Charge - Min Attack Interval + 6000 + Charge - Movement Speed + 8.0 + Charge Attack - Status Infliction + + Loot Table + + Skewer Attack - Status Infliction + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Deadnaught/Slag Guard (2) + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Deadnaught/Parts/Deadnought (Base) + + Actor Weight + 7 + Charge - Min Attack Interval + 6400 + Charge - Movement Speed + 8.0 + Charge Attack - Status Infliction + + Fire 3 + + Chance + 0.333 + Power + 50 + Status Chance + MEDIUM + Status Power + MODERATE + + + Loot Table + + Treasure/Health/Monster Health, medium + + Skewer Attack - Status Infliction + + Fire 3 + + Chance + 0.667 + Power + 75 + Status Chance + MEDIUM + Status Power + MODERATE + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Deadnought + + + Wave Tag + implementation.tags.tags[3] + + + + + + character/npc/monster/zombieknight/model.dat + + + particle/model_fxscaler.dat + + Model + + particle/fx_spawn_monster.dat + + Transfrom + + 2.0 + + + + 1.6 + 2.0 + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.0 + Blend Out + 0.0 + Sound set + Null + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Null + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Bones + + Pitch shift + Lower 1 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.0 + Blend Out + 0.0 + Sound set + Null + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Null + + + + + + animation/common/spawn_scalein.dat + + Transform + + 1.2 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.8 + + + + + + Treasure/Health/Monster Health, large + + + + + 8 + 79 + 4.0 + 6.981317 + 450 + + Monster/Health/Health Base +10 + + 2 + 0.1 + true + 7 + 433 + 3000 + 1100 + 2.0 + true + + + + Character/NPC/Monster/Fiend/Dark Knight/Shield Deflect + + + + + Character/NPC/Monster/Undead/Deadnought/Parts/Charge - Finish + + Status Attack + + + + + + + Character/NPC/Monster/Undead/Deadnought/Parts/Charge - Start, Loop + + Status Attack + + + + + + + + + + + + + + + 1.2 + 1.8 + + + 0.4, 0.0 + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + + 266 + 50 + + + 32 + + + + + + + Character/NPC/Monster/Undead/Dybbuk + + + Tags + implementation.tags.derived + + + + + + character/npc/monster/reaper/model.dat + + variant + blue + + + + + + character/npc/monster/spookat/standing_idle.dat + + Pitch adjust + Default + + + + + 0.5 + + character/npc/monster/spookat/standing_idle2.dat + + Pitch adjust + Default + + + + + 0.25 + + character/npc/monster/spookat/standing_idle3.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking_idle.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/monster_damage.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/spookat/standing.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.2 + + + + + + Treasure/Monster/Undead/Spookat/Spookat Loot + + + + + 8 + 79 + 1.5 + 6.981317 + 125 + 0.3 + 1100 + 2.5 + + + + Character/NPC/Monster/Undead/Spookat + + Damage + + 50.0 + 4 + + + + + + + + + 50 + + + 100 + + + 50 + + + 11 + 50 + + + + + + + Character/NPC/Monster/Undead/NPC/Konjuring Kat + + + + character/npc/monster/spookat/model.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.2 + Range + Medium + + + variant + pink + + + + + + character/npc/monster/spookat/standing_idle.dat + + Pitch adjust + Default + + + + + + + 6.0 + + character/npc/monster/spookat/walking_idle.dat + + + + + + + + + + + + + character/npc/monster/spookat/standing_idle2.dat + + Pitch adjust + Higher 1 + + + + Moorcroft/Ritual + + + + + + + + + 8 + 15 + 0.66 + + + + Character/NPC/Monster/Undead/Parts/Zombie (Base) + + + Model + implementation.sprite.model + + + Scale + implementation.sprite.scale + + + Handlers + implementation.handlers + + + Health Scale + implementation.health_scale + + + Behavior + implementation.behavior + + + Attacks + implementation.attacks + + + Defense + implementation.defense.defenses[1] + + + Targeted Speed + implementation.targeted_speed + + + React Time + implementation.react_time + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/zombie/model.dat + + Variant + Dust + + + + + + character/npc/monster/zombie/animation/idle.dat + + + + + + 1.0 + + character/npc/monster/zombie/animation/moving.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Bones + + Pitch shift + Lower 2 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/zombie/animation/idle.dat + + + + 0.2 + + character/npc/monster/zombie/animation/idle.dat + + + + + + 1.0 + + character/npc/monster/zombie/animation/moving.dat + + + + + character/npc/monster/zombie/animation/spawn.dat + + + + 0.6 + + + (tag 1), (tag 2), (tag 3) + + + + + + + Character/NPC/Monster/Undead/Parts/Zombie Head + + Tag + (Wave Tag) + Variant + Dust + + + + + + Treasure/Monster/Undead/Dust Zombie/Dust Zombie Loot + + + + + + + + + + + + + + 8 + 79 + 0.75 + 3.4906585 + 115 + + Monster/Health/Health Base + + 0.3 + 467 + 100 + 1500 + 1.0 + + + + Character/NPC/Monster/Undead/Zombie/Zombie Swipe + + Status Condition + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Grapple + + Damage + + + + 4 + + + 4 + + + + Grab Duration + 3500 + Next Attack + 0 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 3 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 4 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 0 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Grapple + + Damage + + + + 4 + + + 4 + + + + Grab Duration + 2300 + Next Attack + 0 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Breath + + Breath Status Condition + + Breath Variant + Dust + Chain Into + 7 + Warmup speed + 1.0 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Breath (loop) + + Breath Status Condition + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Breath Variant + Dust + Chain Into (self) + 7 + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + + + + 10 + 50 + + + 256 + 25 + + + 4 + -50 + + + 32 + + + + + + + + + + + + 32768 + + + + + + Character/NPC/Monster/Undead/Parts/Zombie Head + + + Tag + implementation.tags.tags[1], implementation.handlers[0].action.action.actions[1].action.cases[1].action.spawn_table["Tag"], implementation.handlers[0].action.action.actions[1].action.cases[2].action.spawn_table["Tag"], implementation.handlers[0].action.action.actions[1].action.cases[3].action.spawn_table["Tag"] + + + + Variant + + + Model + implementation.sprite.model["Models"][0].model["Variant"] + + + Spawn + implementation.handlers[0].action.action.actions[1].action.value.value + + + + + + Dust + + Actor + + Monster/Single Family/Undead/Scaled - Dust Zombie + + Depth Offset + 0 + Tag + (Wave Tag) + + + Droul Condition + + + + + Frozen Condition + + + + + Model + Dust + Slag Condition + + + + + Spawn + Dust + + + + + Droul + + Actor + + Monster/Single Family/Undead/Scaled - Droul + + Depth Offset + 0 + Tag + (Wave Tag) + + + Droul Condition + + + Frozen Condition + + + + + Model + Poison + Slag Condition + + + + + Spawn + Droul + + + + + Slag + + Actor + + Monster/Single Family/Undead/Scaled - Slag Walker + + Depth Offset + 0 + Tag + (Wave Tag) + + + Droul Condition + + + + + Frozen Condition + + + + + Model + Fire + Slag Condition + + + Spawn + Slag + + + + + Frozen + + Actor + + Monster/Single Family/Undead/Scaled - Frozen Shambler + + Depth Offset + 0 + Tag + (Wave Tag) + + + Droul Condition + + + + + Frozen Condition + + + Model + Frost + Slag Condition + + + + + Spawn + Frozen + + + + + Frank + + Model + Frank + Spawn + Frank + + + + Dust + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + character/npc/monster/zombie/parts/model_head.dat + + Variant + Dust + + + + 1.1 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_stone_hit.ogg + Gain + 0.5 + Range + Short + + + Transform + + + Transient + + character/npc/monster/zombie/parts/fx_burst.dat + + Dust + true + + + + + + + 0.6 + + + + + + + + + 2.0, 0.0 + 100 + 10 + + + + + + + + + Monster/Single Family/Undead/Scaled - Droul + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Undead/Scaled - Frozen Shambler + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Undead/Scaled - Slag Walker + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Undead/Scaled - Dust Zombie + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Undead/Scaled - Dust Zombie + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/compound/metaparticle_2.dat + + Lifespan + 1.0 + Model 1 + + particle/debuff_name.dat + + Variant + Arise + + + Model 2 + + particle/fx_grimtotem_shockwave.dat + + Variant + Zombie Head Ping + + + + + + + + + + + + + + + + 0 + 4 + 30000 + + + + Character/NPC/Monster/Undead/Phantom/Parts/Dead Phantom + + + Fuse + implementation.fuse, implementation.detonation_action.actions[0].actor["Down Time"] + + + Damage (Status) + implementation.detonation_action.actions[0].actor["Damage (Status)"] + + + Charge Bullet (Primary) + implementation.detonation_action.actions[0].actor["Charge Bullet (Primary)"] + + + Charge Bullet (Secondary) + implementation.detonation_action.actions[0].actor["Charge Bullet (Secondary)"] + + + Wave Tag + implementation.tags.tags[0], implementation.detonation_action.actions[0].actor["Wave Tag"] + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/sphere.png + Core Max + 0.1 + Core Min + 0.01 + Element + Frost + Flare + false + color + red + + + + 0.0, 0.0, 1.0 + 0.70710665, 0.0, 0.0, 0.70710695 + + + + + + + 0 + 0 + 30000 + + + + + Character/NPC/Monster/Undead/Phantom/Parts/Phantom + + Charge Bullet (Primary) + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Gran Faust + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + SHADOW + + Monster/Split/Split - Full + + + + 4 + + + + + + Variant + Gran Faust + + + Charge Bullet (Secondary) + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Gran Faust + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + SHADOW + + Monster/Split/Split - Full + + + + 4 + + + + + + Variant + Gran Faust + + + Damage (Status) + + Down Time + 30000 + Wave Tag + (Wave Tag) + + + + + + Sound Effect + + Sound + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/monster/reaper_death.ogg + Gain + 1.0 + Pitch adjust + Lower 4 + Range + Unlimited + + + + + + + + + + + Character/NPC/Monster/Undead/Phantom/Parts/Phantom + + + Wave Tag + implementation.tags.tags[2], implementation.handlers[3].action.actor["Wave Tag"] + + + Down Time + implementation.handlers[3].action.actor["Fuse"], implementation.handlers[3].action.actor["Fuse"] + + + Damage (Status) + implementation.attacks[5].ref["Damage"].damages[1].status_condition, implementation.handlers[3].action.actor["Damage (Status)"] + + + Charge Bullet (Primary) + implementation.attacks[5].ref["Extra Action"]["Action"].actions[0].actor, implementation.handlers[3].action.actor["Charge Bullet (Primary)"] + + + Charge Bullet (Secondary) + implementation.attacks[5].ref["Extra Action"]["Action"].actions[1].actor, implementation.attacks[5].ref["Extra Action"]["Action"].actions[2].actor, implementation.handlers[3].action.actor["Charge Bullet (Secondary)"] + + + + + + character/pc/model.dat + + Armor + + item/gear/armor/doublebelt/model_recolor.dat + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.667 + 1.0 + -0.8 + + + Colorization + 260 + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.333 + 1.0 + -0.8 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.35 + 1.0 + + + 1.0 + -0.8 + + + + + Helmet + + model/compound/model.dat + + Influences + + false + false + false + + Models + + + + character/npc/monster/reaper/model.dat + + variant + red + + + + 0.75 + 0.0, 0.0, -0.55 + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/monster/reaper_death.ogg + Gain + 1.0 + Pitch adjust + Lower 2 + Range + Long + + + Transform + + 0.0, 0.0, -0.75 + + Transient + + particle/fx_spawn_monster.dat + + + + + + + + Label + + Material + + Shield + + Shield Away + + Weapon + + item/weapon/sword/cutter/model.dat + + variant + Shadow + + + + + + particle/monster_death.dat + + Color + Purple + + + + particle/monster_death.dat + + Color + Purple + + + + + + character/pc/idle.dat + + + + + + 1.0 + + character/pc/walk_forward.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Bones + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_player.dat + + Color + Black + + + + + + + + character/pc/ready_sword.dat + + + + + + 6.0 + + character/pc/run_forward.dat + + Variant + Default + + + + + + + CAMO + + character/pc/model.dat + + Armor + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/sphere.png + Core Max + 0.2 + Core Min + 0.1 + Element + Frost + Flare + true + color + red + + + + 0.0, 0.0, 0.75 + + + + + + Helmet + + Label + + Material + + Shield + + Shield Away + + Weapon + + + + + + + + 0.33 + + + + + + + Monster Attacks/Targetted + + Faction + Monster + + + + + + + + + + + + + + + + + + + Character/NPC/Monster/Undead/Phantom/Parts/Dead Phantom + + Charge Bullet (Primary) + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Gran Faust + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + SHADOW + + Monster/Split/Split - Full + + + + 4 + + + + + + Variant + Gran Faust + + + Charge Bullet (Secondary) + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Gran Faust + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + SHADOW + + Monster/Split/Split - Full + + + + 4 + + + + + + Variant + Gran Faust + + + Damage (Status) + + Fuse + 30000 + Wave Tag + (Wave Tag) + + + + + + + + 8 + 76 + 1.0 + 6.2831855 + 2000 + 2000 + 30 + + Monster/Health/Health Base +10 + + 1.0 + 0 + 0 + 4.0 + true + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Construct/Mecha Knight Charge (small) + + Sound + sound/effect/monster/reaper_laugh.ogg + Time Scale + 2.0 + + + Chain Condition + + + Next Attack + 1 + + + + + + Character/NPC/Monster/Chain + + Attack + + Weapon/Sword/Parts/Base (3 Hit)/Swing 0 (R-L) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + SHADOW + + Monster/Split/Split - Half + + + + + End Speed + 2.0 + Extra Action + + Fire Speed + 1.0 + Sound + sound/effect/weapon/gran_faust_swing1.ogg + Sound - Pitch + Lower 2 + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 1.0, 0.0, 0.2, 1.0 + Swing Color In/Out + 1.0, 0.0, 0.2, 0.0 + Swing Color Middle + 1.0, 0.0, 0.2, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + Chain Condition + + + Next Attack + 2 + + + + + + Character/NPC/Monster/Chain + + Attack + + Weapon/Sword/Parts/Base (3 Hit)/Swing 1 (L-R) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + SHADOW + + Monster/Split/Split - Half + + + + + End Speed + 2.0 + Extra Action + + Fire Speed + 1.0 + Sound + sound/effect/weapon/gran_faust_swing2.ogg + Sound - Pitch + Lower 2 + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 1.0, 0.0, 0.2, 1.0 + Swing Color In/Out + 1.0, 0.0, 0.2, 0.0 + Swing Color Middle + 1.0, 0.0, 0.2, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + Chain Condition + + + Next Attack + 3 + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Swing 2 (R-L) + + Damage + + + + + Monster/Damage/Attack Base + + 4 + SHADOW + + Monster/Split/Split - Half + + + + + End Speed + 1.0 + Extra Action + + Fire Speed + 1.0 + Rearm + 900 + Sound + sound/effect/weapon/gran_faust_swing3.ogg + Sound - Pitch + Lower 2 + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 1.0, 0.0, 0.2, 1.0 + Swing Color In/Out + 1.0, 0.0, 0.2, 0.0 + Swing Color Middle + 1.0, 0.0, 0.2, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Construct/Mecha Knight Charge + + Damage Zone + Directional + Flare Color + Shadow + Sound + sound/effect/monster/reaper_laugh.ogg + Time Scale + 0.5 + + + Chain Condition + + + Next Attack + 5 + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + End Speed + 1.0 + Extra Action + + Base/Default + + Action + + + + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Gran Faust + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + SHADOW + + Monster/Split/Split - Full + + + + 4 + + + + + + Variant + Gran Faust + + + + + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Gran Faust + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + SHADOW + + Monster/Split/Split - Full + + + + 4 + + + + + + Variant + Gran Faust + + + + + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Gran Faust + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + SHADOW + + Monster/Split/Split - Full + + + + 4 + + + + + + Variant + Gran Faust + + + + + + Delay + 0 + + + Fire Speed + 1.0 + Impulse + + -0.5, 0.0 + 200 + 933 + + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Sound + sound/effect/weapon/gran_faust_cswing.ogg + Sound - Pitch + Lower 2 + Start Speed + 1.0 + Swing + + particle/swing/proto_charged.dat + + Color + Gran Faust + + + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Gremlin/Generic/Dodge + + Translation + 3.0, 1.5 + + + Chain Condition + + + Next Attack + 0 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Gremlin/Generic/Dodge + + Translation + 3.0, -1.5 + + + Chain Condition + + + Next Attack + 0 + + + + + + + + 32 + + + + + + + + + + + + + + + + 54 + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + + + + + + + + + Character/NPC/Monster/Undead/Phantom/Parts/Phantom (Base) + + + Spawn Delay + implementation.fuse, implementation.detonation_action.actor["Down Time"] + + + Damage (Status) + implementation.detonation_action.actor["Damage (Status)"] + + + Charge Bullet (Primary) + implementation.detonation_action.actor["Charge Bullet (Primary)"] + + + Charge Bullet (Secondary) + implementation.detonation_action.actor["Charge Bullet (Secondary)"] + + + Wave Tag + implementation.detonation_action.actor["Wave Tag"], implementation.tags.tags[0] + + + + + + model/conditional/marker.dat + + Model + + character/npc/monster/reaper/model.dat + + variant + red + + + + + + 0 + 0 + 30000 + + + Character/NPC/Monster/Undead/Phantom/Parts/Phantom + + Charge Bullet (Primary) + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Gran Faust + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + SHADOW + + Monster/Split/Split - Full + + + + 4 + + + + + + Variant + Gran Faust + + + Charge Bullet (Secondary) + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Gran Faust + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + SHADOW + + Monster/Split/Split - Full + + + + 4 + + + + + + Variant + Gran Faust + + + Damage (Status) + + Down Time + 30000 + Wave Tag + (Wave Tag) + + + + + + + Character/NPC/Monster/Undead/Phantom/Phantom 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Phantom/Parts/Phantom (Base) + + Charge Bullet (Primary) + + Charge Bullet (Secondary) + + Damage (Status) + + Curse + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Spawn Delay + 90000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Phantom/Phantom 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Phantom/Parts/Phantom (Base) + + Charge Bullet (Primary) + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Gran Faust + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + SHADOW + + Monster/Split/Split - Full + + + + 4 + + Curse 2 + + Chance + 0.0 + Power + 0 + Status Chance + LOW + Status Power + MINOR + + + + + + + + Variant + Gran Faust + + + Charge Bullet (Secondary) + + Damage (Status) + + Curse 2 + + Chance + 0.25 + Power + 20 + Status Chance + MEDIUM + Status Power + MODERATE + + + Spawn Delay + 60000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Phantom/Phantom 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Phantom/Parts/Phantom (Base) + + Charge Bullet (Primary) + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Gran Faust + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + SHADOW + + Monster/Split/Split - Full + + + + 4 + + Curse 3 + + Chance + 0.0 + Power + 0 + Status Chance + MEDIUM + Status Power + MODERATE + + + + + + + + Variant + Gran Faust + + + Charge Bullet (Secondary) + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Gran Faust + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + SHADOW + + Monster/Split/Split - Full + + + + 4 + + Curse 3 + + Chance + 0.0 + Power + 0 + Status Chance + MEDIUM + Status Power + MODERATE + + + + + + + + Variant + Gran Faust + + + Damage (Status) + + Curse 3 + + Chance + 0.5 + Power + 30 + Status Chance + VERY_HIGH + Status Power + STRONG + + + Spawn Delay + 60000 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Slag Guard + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/zombieknight/model.dat + + + particle/model_fxscaler.dat + + Model + + particle/fx_spawn_monster.dat + + Transfrom + + 2.0 + + + + 1.6 + 2.0 + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.0 + Blend Out + 0.0 + Sound set + Null + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Null + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Bones + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/darkknight/standing.dat + + Blend In + 0.0 + Blend Out + 0.0 + Sound set + Null + Speed + 1.0 + + + + + + + 3.0 + + character/npc/monster/darkknight/walking.dat + + Sound set + Trojan family + + + + + + animation/common/spawn_scalein.dat + + Transform + + 1.2 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.8 + + + + + + Treasure/Health/Monster Health, medium + + + + + 136 + 79 + 4.0 + 9.424778 + 1440 + 2800 + 19 + 29 + + Monster/Health/Health Base +05 + + 2 + 0.15 + true + 7 + 433 + 3000 + 1100 + 2.0 + + + + Character/NPC/Monster/Fiend/Dark Knight/Shield Deflect + + + + + Character/NPC/Monster/Fiend/Knightmare/Sword Slam + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Fiend/Dark Knight/Shoulder Check + + Chain Condition + + + Next Attack + 1 + + + + + + Character/NPC/Monster/Fiend/Dark Knight/Push Back + + Status Condition + + 4 + + Fire 3 + + Chance + 0.3333 + Power + 75 + Status Chance + MEDIUM + Status Power + MODERATE + + + + + + + + + + + + + + + + + 1.2 + 1.8 + + + 0.4, 0.0 + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + + 4 + + + 10 + 50 + + + 256 + 25 + + + + + + + Character/NPC/Monster/Undead/Spookat/Black Kat + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/spookat/model.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.2 + Range + Long + + + variant + black + + + 1.1 + + + + character/npc/monster/spookat/standing_idle.dat + + Pitch adjust + Lower 3 + + + + + 0.5 + + character/npc/monster/spookat/standing_idle2.dat + + Pitch adjust + Lower 3 + + + + + 0.25 + + character/npc/monster/spookat/standing_idle3.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking_idle.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/spookat/standing.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + 1.25 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.3 + + + + + + Treasure/Monster/Undead/Black Kat Loot + + + + + + + 4 + + Curse + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + 8 + 79 + 1.8 + 6.981317 + 420 + + Monster/Health/Health Base +20 + + 0.15 + 4 + 1100 + 2.5 + + + + Character/NPC/Monster/Undead/Black Kat 0 + + Damage + + 100.0 + 4 + + Sound - Chomp Pitch + Lower 4 + Sound - Screech Pitch + Lower 4 + + + + + + Character/NPC/Monster/Undead/Black Kat 1 + + + + + + + + + 3 + + + 2080 + + + + + + + Character/NPC/Monster/Undead/Spookat/Bloogato/Bloogato 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 1 (Base) + + Bite (Status) + + Freeze + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 40 + + + 6 + 50 + + + 16 + -50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Bloogato Loot + + Model + + character/npc/monster/spookat/model_fre.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.2 + Range + Medium + + + variant + pink + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Spookat/Bloogato/Bloogato 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 2 (Base) + + Bite (Status) + + Freeze 2 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Bullet/Monster/Spookat/Freeze Hairball + + Bullet Speed + 2.5 + Status Condition + + Freeze 2 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Defense (Status) + + + + 40 + + + 6 + 50 + + + 16 + -50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Bloogato Loot + + Model + + character/npc/monster/spookat/model_fre.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.1 + Range + Medium + + + variant + Tier 2 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Spookat/Bloogato/Bloogato 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 3 (Base) + + Bite (Status) + + Freeze 3 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Bullet/Monster/Spookat/Freeze Hairball + + Bullet Speed + 2.5 + Status Condition + + Freeze 3 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Defense (Status) + + + + 40 + + + 6 + 50 + + + 16 + -50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Bloogato Loot + + Model + + character/npc/monster/spookat/model_fre.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.0 + Range + Medium + + + variant + Tier 3 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Spookat/Hurkat/Hurkat 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 1 (Base) + + Bite (Status) + + Poison + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 34 + + + 14 + 50 + + + 16 + -50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Hurkat Loot + + Model + + character/npc/monster/spookat/model_poi.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.2 + Range + Medium + + + variant + pink + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Spookat/Hurkat/Hurkat 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 2 (Base) + + Bite (Status) + + Poison 2 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Bullet/Monster/Spookat/Poison Hairball + + Bullet Speed + 2.5 + Status Condition + + Poison 2 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Defense (Status) + + + + 34 + + + 12 + 50 + + + 16 + -50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Hurkat Loot + + Model + + character/npc/monster/spookat/model_poi.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.1 + Range + Medium + + + variant + Tier 2 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Spookat/Hurkat/Hurkat 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 3 (Base) + + Bite (Status) + + Poison 3 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Bullet/Monster/Spookat/Poison Hairball + + Bullet Speed + 2.5 + Status Condition + + Poison 3 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Defense (Status) + + + + 34 + + + 12 + 50 + + + 16 + -50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Hurkat Loot + + Model + + character/npc/monster/spookat/model_poi.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.0 + Range + Medium + + + variant + Tier 3 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Spookat/Mewkat + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/spookat/model_nrm.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.4 + Range + Medium + + + variant + Mewkat + + + + particle/monster_death.dat + + Color + White + + + 0.6 + + + + character/npc/monster/spookat/standing_idle.dat + + Pitch adjust + Higher 3 + + + + + 0.5 + + character/npc/monster/spookat/standing_idle2.dat + + Pitch adjust + Higher 3 + + + + + 0.25 + + character/npc/monster/spookat/standing_idle3.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking_idle.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/spookat/standing.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + 0.5 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.2 + + + + + + + + Treasure/Monster/Undead/Spookat/Mewkat Loot + + + + + + + 8 + 79 + 1.5 + 6.981317 + 25 + + Monster/Health/Health Base + + 1100 + 2.5 + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +10 + + + Monster/Defense/Defense Base -05 + + + Monster/Defense/Defense Base +10 + + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 1 (Base) + + + Model + implementation.sprite.model + + + Bite (Status) + implementation.attacks[0].ref["Damage (Status)"].status_condition, implementation.attacks[2].ref["Damage (Status)"].status_condition + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Defense (Status) + implementation.defense.defenses[1] + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/spookat/model_nrm.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.2 + Range + Medium + + + variant + pink + + + 0.8 + 0.8 + + + + character/npc/monster/spookat/standing_idle.dat + + Pitch adjust + Higher 1 + + + + + 0.5 + + character/npc/monster/spookat/standing_idle2.dat + + Pitch adjust + Higher 1 + + + + + 0.25 + + character/npc/monster/spookat/standing_idle3.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking_idle.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/spookat/standing.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.2 + + + + + + Treasure/Monster/Undead/Spookat/Spookat Loot + + + + + 8 + 79 + 1.5 + 6.981317 + 1 + 1 + + Monster/Health/Health Base + + 0.3 + 1100 + 2.5 + + + + Character/NPC/Monster/Undead/Spookat Bite + + Damage (Status) + + 4 + + Dash Distance + 1.0 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Undead/Spookat Dash + + Distance + 6 + + + Chain Condition + + + Next Attack + 0 + + + + + + Character/NPC/Monster/Undead/Spookat Bite + + Damage (Status) + + 4 + + Dash Distance + 1.0 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Undead/Spookat Dash + + Distance + 6 + + + Chain Condition + + + Next Attack + 2 + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + + 11 + 50 + + + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 2 (Base) + + + Model + implementation.sprite.model + + + Bite (Status) + implementation.attacks[0].ref["Damage (Status)"].status_condition + + + Bullet + implementation.attacks[2].ref["Bullet (Primary)"] + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Defense (Status) + implementation.defense.defenses[1] + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/spookat/model_nrm.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.1 + Range + Medium + + + variant + Tier 2 + + + 0.85 + 0.85 + + + + character/npc/monster/spookat/standing_idle.dat + + Pitch adjust + Lower 1 + + + + + 0.5 + + character/npc/monster/spookat/standing_idle2.dat + + Pitch adjust + Lower 1 + + + + + 0.25 + + character/npc/monster/spookat/standing_idle3.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking_idle.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/spookat/standing.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.2 + + + + + + Treasure/Monster/Undead/Spookat/Hurkat Loot + + + + + 8 + 79 + 2.0 + 6.981317 + 1 + 1 + + Monster/Health/Health Base + + 0.3 + 1100 + 2.5 + + + + Character/NPC/Monster/Undead/Spookat Bite + + Damage (Status) + + 4 + + Dash Distance + 2.0 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Undead/Spookat Dash + + Distance + 6 + + + Chain Condition + + + Next Attack + 0 + + + + + + Character/NPC/Monster/Undead/Hurkat Spit (x3) + + Bullet (Primary) + + Bullet/Monster/Spookat/Hairball + + Bullet Speed + 2.5 + + + Bullet (Secondary) + + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Undead/Spookat Dash + + Distance + 8 + + + Chain Condition + + + Next Attack + 2 + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + + 11 + 50 + + + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 3 (Base) + + + Model + implementation.sprite.model + + + Bite (Status) + implementation.attacks[0].ref["Damage (Status)"].status_condition + + + Bullet + implementation.attacks[2].ref["Bullet (Primary)"], implementation.attacks[2].ref["Bullet (Secondary)"] + + + Loot Table + implementation.handlers[0].action.spawn_table + + + Defense (Status) + implementation.defense.defenses[1] + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/spookat/model_nrm.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.0 + Range + Medium + + + variant + Tier 3 + + + 0.9 + 0.9 + + + + character/npc/monster/spookat/standing_idle.dat + + Pitch adjust + Lower 3 + + + + + 0.5 + + character/npc/monster/spookat/standing_idle2.dat + + Pitch adjust + Lower 3 + + + + + 0.25 + + character/npc/monster/spookat/standing_idle3.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking_idle.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Soft Body + + Pitch shift + Default + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/spookat/standing.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + + Transient + + particle/fx_spawn_monster.dat + + + + + + 0.3 + + + + + + Treasure/Monster/Undead/Spookat/Bloogato Loot + + + + + 8 + 79 + 1.0 + 6.981317 + 1 + 1 + + Monster/Health/Health Base + + 0.3 + 4 + 1100 + 2.0 + + + + Character/NPC/Monster/Undead/Spookat Bite + + Damage (Status) + + 4 + + Dash Distance + 4.0 + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Undead/Spookat Dash + + Distance + 8 + + + Chain Condition + + + Next Attack + 0 + + + + + + Character/NPC/Monster/Undead/Hurkat Spit (x3) + + Bullet (Primary) + + Bullet/Monster/Spookat/Hairball + + Bullet Speed + 2.5 + + + Bullet (Secondary) + + Bullet/Monster/Spookat/Hairball + + Bullet Speed + 2.5 + + + + + + + + Character/NPC/Monster/Chain + + Attack + + Character/NPC/Monster/Undead/Spookat Dash + + Distance + 10 + + + Chain Condition + + + Next Attack + 2 + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + + 11 + 50 + + + + + + + Character/NPC/Monster/Undead/Spookat/Pepper Kat/Pepper Kat 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 1 (Base) + + Bite (Status) + + Fire + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 36 + + + 10 + 50 + + + 16 + -50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Pepper Kat Loot + + Model + + character/npc/monster/spookat/model_fir.dat + + Sound - Ambient + + Clip/Looping (Gain) + + File + sound/effect/world/flame_ambient.ogg + Gain + 0.2 + Pitch + 1.0 + Range + Medium + + + variant + pink + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Spookat/Pepper Kat/Pepper Kat 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 2 (Base) + + Bite (Status) + + Fire 2 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Bullet/Monster/Spookat/Fire Hairball + + Bullet Speed + 2.5 + Status Condition + + Fire 2 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Defense (Status) + + + + 36 + + + 10 + 50 + + + 16 + -50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Pepper Kat Loot + + Model + + character/npc/monster/spookat/model_fir.dat + + Sound - Ambient + + Clip/Looping (Gain) + + File + sound/effect/world/flame_ambient.ogg + Gain + 0.2 + Pitch + 1.0 + Range + Medium + + + variant + Tier 2 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Spookat/Pepper Kat/Pepper Kat 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 3 (Base) + + Bite (Status) + + Fire 3 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Bullet/Monster/Spookat/Fire Hairball + + Bullet Speed + 2.5 + Status Condition + + Fire 3 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Defense (Status) + + + + 36 + + + 10 + 50 + + + 16 + -50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Pepper Kat Loot + + Model + + character/npc/monster/spookat/model_fir.dat + + Sound - Ambient + + Clip/Looping (Gain) + + File + sound/effect/world/flame_ambient.ogg + Gain + 0.2 + Pitch + 1.0 + Range + Medium + + + variant + Tier 3 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Spookat/Spookat/Spookat 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 1 (Base) + + Bite (Status) + + Defense (Status) + + + + 32 + + + 14 + 50 + + + 16 + -50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Spookat Loot + + Model + + character/npc/monster/spookat/model_nrm.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.2 + Range + Medium + + + variant + pink + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Spookat/Spookat/Spookat 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 2 (Base) + + Bite (Status) + + Bullet + + Bullet/Monster/Spookat/Hairball + + Bullet Speed + 2.5 + + + Defense (Status) + + + + 32 + + + 14 + 50 + + + 16 + -50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Spookat Loot + + Model + + character/npc/monster/spookat/model_nrm.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.1 + Range + Medium + + + variant + Tier 2 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Spookat/Spookat/Spookat 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 3 (Base) + + Bite (Status) + + Bullet + + Bullet/Monster/Spookat/Hairball + + Bullet Speed + 2.5 + + + Defense (Status) + + + + 32 + + + 14 + 50 + + + 16 + -50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Spookat Loot + + Model + + character/npc/monster/spookat/model_nrm.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.0 + Range + Medium + + + variant + Tier 3 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Spookat/Statikat/Statikat 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 1 (Base) + + Bite (Status) + + Shock + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 48 + + + 14 + 50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Statikat Loot + + Model + + character/npc/monster/spookat/model_sho.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.2 + Range + Medium + + + variant + pink + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Spookat/Statikat/Statikat 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 2 (Base) + + Bite (Status) + + Shock 2 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Bullet/Monster/Spookat/Shock Hairball + + Bullet Speed + 2.5 + Status Condition + + Shock 2 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Defense (Status) + + + + 48 + + + 14 + 50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Statikat Loot + + Model + + character/npc/monster/spookat/model_sho.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.1 + Range + Medium + + + variant + Tier 2 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Spookat/Statikat/Statikat 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Spookat/Parts/Tier 3 (Base) + + Bite (Status) + + Shock 3 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Bullet + + Bullet/Monster/Spookat/Shock Hairball + + Bullet Speed + 2.5 + Status Condition + + Shock 3 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + Defense (Status) + + + + 48 + + + 14 + 50 + + + 256 + -25 + + + + Loot Table + + Treasure/Monster/Undead/Spookat/Statikat Loot + + Model + + character/npc/monster/spookat/model_sho.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.0 + Range + Medium + + + variant + Tier 3 + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Droul/Droul 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 1 (Base) + + Breath Color + Droul + Breath Condition + + Poison + + Chance + 1.0 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 34 + + + 8 + 50 + + + 256 + 25 + + + 4 + -50 + + + + Head Drop + Droul + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Droul Loot + + Model + + character/npc/monster/zombie/model_poi.dat + + Reaction + Knockdown + + + Scale + 0.9 + Status Condition + + Poison + + Chance + 0.1 + Power + 15 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Droul/Droul 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 2 (Base) + + Breath Color + Droul + Breath Condition + + Poison 2 + + Chance + 1.0 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 34 + + + 4 + -50 + + + 8 + 50 + + + 256 + 25 + + + + Head Drop + Droul + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Droul Loot + + Model + + character/npc/monster/zombie/model_poi.dat + + Reaction + Knockdown + + + Scale + 0.925 + Status Condition + + Poison 2 + + Chance + 0.15 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Droul/Droul 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 3 (Base) + + Breath Color + Droul + Breath Condition + + Poison 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 34 + + + 4 + -50 + + + 256 + 25 + + + 8 + 50 + + + + Head Drop + Droul + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Droul Loot + + Model + + character/npc/monster/zombie/model_poi.dat + + Reaction + Flinch + + + Scale + 0.95 + Status Condition + + Poison 3 + + Chance + 0.2 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Dust Zombie (TG) + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 1 (Base) + + Breath Color + Dust + Breath Condition + + Stun + + Chance + 1.0 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 32 + + + 4 + -50 + + + 10 + 50 + + + 256 + 25 + + + + Head Drop + Dust + Loot Table + + Treasure/Monster/Tutorial/Dust Zombie (TG) + + Model + + character/npc/monster/zombie/model_nrm.dat + + Reaction + Knockdown + + + Scale + 0.95 + Status Condition + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Dust Zombie/Dust Zombie 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 1 (Base) + + Breath Color + Dust + Breath Condition + + Stun + + Chance + 1.0 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 32 + + + 4 + -50 + + + 10 + 50 + + + 256 + 25 + + + + Head Drop + Dust + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Dust Zombie Loot + + Model + + character/npc/monster/zombie/model_nrm.dat + + Reaction + Knockdown + + + Scale + 0.95 + Status Condition + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Dust Zombie/Dust Zombie 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 2 (Base) + + Breath Color + Dust + Breath Condition + + Stun 2 + + Chance + 1.0 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 32 + + + 4 + -50 + + + 10 + 50 + + + 256 + 25 + + + + Head Drop + Dust + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Dust Zombie Loot + + Model + + character/npc/monster/zombie/model_nrm.dat + + Reaction + Knockdown + + + Scale + 1.0 + Status Condition + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Dust Zombie/Dust Zombie 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 3 (Base) + + Breath Color + Dust + Breath Condition + + Stun 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 32 + + + 4 + -50 + + + 10 + 50 + + + 256 + 25 + + + + Head Drop + Dust + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Dust Zombie Loot + + Model + + character/npc/monster/zombie/model_nrm.dat + + Reaction + Flinch + + + Scale + 1.05 + Status Condition + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Frankenzom/Frankenzom 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 1 (Base) + + Breath Color + Frank + Breath Condition + + Shock + + Chance + 1.0 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 48 + + + 4 + -50 + + + 10 + 50 + + + 256 + 25 + + + + Head Drop + Frank + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Frankenzom Loot + + Model + + character/npc/monster/zombie/model_sho.dat + + Reaction + Knockdown + + + Scale + 0.95 + Status Condition + + Shock + + Chance + 0.1 + Power + 15 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Frankenzom/Frankenzom 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 2 (Base) + + Breath Color + Frank + Breath Condition + + Shock 2 + + Chance + 1.0 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 48 + + + 4 + -50 + + + 10 + 50 + + + 256 + 25 + + + + Head Drop + Frank + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Frankenzom Loot + + Model + + character/npc/monster/zombie/model_sho.dat + + Reaction + Knockdown + + + Scale + 1.0 + Status Condition + + Shock 2 + + Chance + 0.15 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Frankenzom/Frankenzom 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 3 (Base) + + Breath Color + Frank + Breath Condition + + Shock 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 48 + + + 4 + -50 + + + 10 + 50 + + + 256 + 25 + + + + Head Drop + Frank + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Frankenzom Loot + + Model + + character/npc/monster/zombie/model_sho.dat + + Reaction + Flinch + + + Scale + 1.05 + Status Condition + + Shock 3 + + Chance + 0.2 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Frozen Shamber/Frozen Shamber 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 1 (Base) + + Breath Color + Frozen Shambler + Breath Condition + + Freeze + + Chance + 1.0 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 40 + + + 4 + -50 + + + 2 + 50 + + + 256 + 25 + + + + Head Drop + Frozen + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Frozen Shambler Loot + + Model + + character/npc/monster/zombie/model_fre.dat + + Reaction + Knockdown + + + Scale + 1.05 + Status Condition + + Freeze + + Chance + 0.1 + Power + 15 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Frozen Shamber/Frozen Shamber 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 2 (Base) + + Breath Color + Frozen Shambler + Breath Condition + + Freeze 2 + + Chance + 1.0 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 40 + + + 4 + -50 + + + 2 + 50 + + + 256 + 25 + + + + Head Drop + Frozen + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Frozen Shambler Loot + + Model + + character/npc/monster/zombie/model_fre.dat + + Reaction + Knockdown + + + Scale + 1.1 + Status Condition + + Freeze 2 + + Chance + 0.15 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Frozen Shamber/Frozen Shamber 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 3 (Base) + + Breath Color + Frozen Shambler + Breath Condition + + Freeze 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 40 + + + 4 + -50 + + + 2 + 50 + + + 256 + 25 + + + + Head Drop + Frozen + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Frozen Shambler Loot + + Model + + character/npc/monster/zombie/model_fre.dat + + Reaction + Flinch + + + Scale + 1.15 + Status Condition + + Freeze 3 + + Chance + 0.2 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 1 (Base) + + + Model + implementation.actor["Model"] + + + Scale + implementation.actor["Scale"] + + + Head Drop + implementation.actor["Handlers"][0].action.action.actor["Variant"] + + + Breath Color + implementation.actor["Attacks"][7].ref["Breath Variant"], implementation.actor["Attacks"][6].ref["Breath Variant"] + + + Breath Condition + implementation.actor["Attacks"][6].ref["Breath Status Condition"], implementation.actor["Attacks"][7].ref["Breath Status Condition"] + + + Status Condition + implementation.actor["Attacks"][0].ref["Status Condition"], implementation.actor["Attacks"][2].ref["Damage"].damages[1].status_condition, implementation.actor["Attacks"][3].ref["Damage"].damages[1].status_condition, implementation.actor["Attacks"][4].ref["Damage"].damages[1].status_condition + + + Loot Table + implementation.actor["Handlers"][0].action.else_action.spawn_table + + + Defense (Status) + implementation.actor["Defense"] + + + Wave Tag + implementation.actor["Wave Tag"], implementation.actor["Handlers"][0].action.action.actor["Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Zombie (Base) + + Attacks + + + + Character/NPC/Monster/Undead/Zombie/Zombie Swipe + + Status Condition + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Grapple + + Damage + + + + 4 + + + 4 + + + + Grab Duration + 3500 + Next Attack + 2 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 3 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 4 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 0 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Grapple + + Damage + + + + 4 + + + 4 + + + + Grab Duration + 2300 + Next Attack + 0 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Breath + + Breath Status Condition + + Stun + + Chance + 1.0 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Breath Variant + Dust + Chain Into + 7 + Warmup speed + 1.0 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Breath (loop) + + Breath Status Condition + + Stun + + Chance + 1.0 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Breath Variant + Dust + Chain Into (self) + 7 + + + + + Behavior + + Monster/Slime/Cube (Basic Targeting) + + Defense + + + + 11 + 25 + + + 4 + -100 + + + + Handlers + + + + + + Character/NPC/Monster/Undead/Parts/Zombie Head + + Tag + (Wave Tag) + Variant + Dust + + + + + + Treasure/Monster/Undead/Dust Zombie/Dust Zombie Loot + + + + + + + + + + + + + + Health Scale + + Monster/Health/Health Base + + Model + + character/npc/monster/zombie/model_nrm.dat + + Reaction + Knockdown + + + React Time + 2100 + Scale + 0.95 + Targeted Speed + 0.8 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 2 (Base) + + + Model + implementation.actor["Model"] + + + Scale + implementation.actor["Scale"] + + + Head Drop + implementation.actor["Handlers"][0].action.action.actor["Variant"] + + + Breath Color + implementation.actor["Attacks"][6].ref["Breath Variant"], implementation.actor["Attacks"][7].ref["Breath Variant"] + + + Breath Condition + implementation.actor["Attacks"][6].ref["Breath Status Condition"], implementation.actor["Attacks"][7].ref["Breath Status Condition"] + + + Status Condition + implementation.actor["Attacks"][0].ref["Status Condition"], implementation.actor["Attacks"][2].ref["Damage"].damages[1].status_condition, implementation.actor["Attacks"][3].ref["Damage"].damages[1].status_condition, implementation.actor["Attacks"][4].ref["Damage"].damages[1].status_condition + + + Loot Table + implementation.actor["Handlers"][0].action.else_action.spawn_table + + + Defense (Status) + implementation.actor["Defense"] + + + Wave Tag + implementation.actor["Wave Tag"], implementation.actor["Handlers"][0].action.action.actor["Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Zombie (Base) + + Attacks + + + + Character/NPC/Monster/Undead/Zombie/Zombie Swipe + + Status Condition + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Grapple + + Damage + + + + 4 + + + + Grab Duration + 3500 + Next Attack + 2 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 3 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 4 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 0 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Grapple + + Damage + + + + 4 + + + + Grab Duration + 2300 + Next Attack + 0 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Breath + + Breath Status Condition + + Stun 2 + + Chance + 1.0 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Breath Variant + Dust + Chain Into + 7 + Warmup speed + 1.0 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Breath (loop) + + Breath Status Condition + + Stun 2 + + Chance + 1.0 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Breath Variant + Dust + Chain Into (self) + 7 + + + + + Behavior + + Defense + + + + 11 + 50 + + + 4 + -50 + + + + Handlers + + + + + + Character/NPC/Monster/Undead/Parts/Zombie Head + + Tag + (Wave Tag) + Variant + Dust + + + + + + Treasure/Monster/Undead/Dust Zombie/Dust Zombie Loot + + + + + + + + + + + + + + Health Scale + + Monster/Health/Health Base + + Model + + character/npc/monster/zombie/model_nrm.dat + + Reaction + Knockdown + + + React Time + 2100 + Scale + 1.0 + Targeted Speed + 1.0 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 3 (Base) + + + Model + implementation.actor["Model"] + + + Scale + implementation.actor["Scale"] + + + Head Drop + implementation.actor["Handlers"][0].action.action.actor["Variant"] + + + Breath Color + implementation.actor["Attacks"][6].ref["Breath Variant"], implementation.actor["Attacks"][7].ref["Breath Variant"] + + + Breath Condition + implementation.actor["Attacks"][6].ref["Breath Status Condition"], implementation.actor["Attacks"][7].ref["Breath Status Condition"] + + + Status Condition + implementation.actor["Attacks"][0].ref["Status Condition"], implementation.actor["Attacks"][2].ref["Damage"].damages[1].status_condition, implementation.actor["Attacks"][3].ref["Damage"].damages[1].status_condition, implementation.actor["Attacks"][4].ref["Damage"].damages[1].status_condition + + + Loot Table + implementation.actor["Handlers"][0].action.else_action.spawn_table + + + Defense (Status) + implementation.actor["Defense"] + + + Wave Tag + implementation.actor["Wave Tag"], implementation.actor["Handlers"][0].action.action.actor["Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Zombie (Base) + + Attacks + + + + Character/NPC/Monster/Undead/Zombie/Zombie Swipe + + Status Condition + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Grapple + + Damage + + + + 4 + + + + Grab Duration + 3500 + Next Attack + 2 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 3 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 4 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 0 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Grapple + + Damage + + + + 4 + + + + Grab Duration + 2300 + Next Attack + 0 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Breath + + Breath Status Condition + + Stun 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Breath Variant + Dust + Chain Into + 7 + Warmup speed + 1.0 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Breath (loop) + + Breath Status Condition + + Stun 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Breath Variant + Dust + Chain Into (self) + 7 + + + + + Behavior + + Defense + + + + 11 + 130 + + + 4 + -25 + + + + Handlers + + + + + + Character/NPC/Monster/Undead/Parts/Zombie Head + + Tag + (Wave Tag) + Variant + Dust + + + + + + Treasure/Monster/Undead/Dust Zombie/Dust Zombie Loot + + + + + + + + + + + + + + Health Scale + + Monster/Health/Health Base +05 + + Model + + character/npc/monster/zombie/model_nrm.dat + + Reaction + Flinch + + + React Time + 467 + Scale + 1.05 + Targeted Speed + 1.2 + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Zombie (Base) + + + Model + implementation.sprite.model + + + Scale + implementation.sprite.scale + + + Handlers + implementation.handlers + + + Health Scale + implementation.health_scale + + + Behavior + implementation.behavior + + + Attacks + implementation.attacks + + + Defense + implementation.defense.defenses[1] + + + Targeted Speed + implementation.targeted_speed + + + React Time + implementation.react_time + + + Wave Tag + implementation.tags.tags[2] + + + + + + character/npc/monster/zombie/model.dat + + Variant + Dust + + + + + + character/npc/monster/zombie/animation/idle.dat + + + + + + 1.0 + + character/npc/monster/zombie/animation/moving.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Bones + + Pitch shift + Lower 2 + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/zombie/animation/idle.dat + + + + 0.2 + + character/npc/monster/zombie/animation/idle.dat + + + + + + 1.0 + + character/npc/monster/zombie/animation/moving.dat + + + + + character/npc/monster/zombie/animation/spawn.dat + + + + 0.6 + + + (tag 1), (tag 2), (tag 3) + + + + + + + Character/NPC/Monster/Undead/Parts/Zombie Head + + Tag + (Wave Tag) + Variant + Dust + + + + + + Treasure/Monster/Undead/Dust Zombie/Dust Zombie Loot + + + + + + + + + + + + + + 8 + 79 + 0.75 + 3.4906585 + 115 + + Monster/Health/Health Base + + 0.3 + 467 + 100 + 1500 + 1.0 + + + + Character/NPC/Monster/Undead/Zombie/Zombie Swipe + + Status Condition + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Grapple + + Damage + + + + 4 + + + 4 + + + + Grab Duration + 3500 + Next Attack + 0 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 3 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 4 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Next Attack + 0 + Next Attack Condition + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Grapple + + Damage + + + + 4 + + + 4 + + + + Grab Duration + 2300 + Next Attack + 0 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Breath + + Breath Status Condition + + Breath Variant + Dust + Chain Into + 7 + Warmup speed + 1.0 + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Breath (loop) + + Breath Status Condition + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Breath Variant + Dust + Chain Into (self) + 7 + + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base +25 + + + + + + 10 + 50 + + + 256 + 25 + + + 4 + -50 + + + 32 + + + + + + + + + + + + + + 32768 + + + + + + Character/NPC/Monster/Undead/Zombie/Slag Walker/Slag Walker 1 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 1 (Base) + + Breath Color + Slag Walker + Breath Condition + + Fire + + Chance + 1.0 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 36 + + + 10 + 50 + + + 256 + 25 + + + + Head Drop + Slag + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Slag Walker Loot + + Model + + character/npc/monster/zombie/model_fir.dat + + Reaction + Knockdown + + + Scale + 0.95 + Status Condition + + Fire + + Chance + 0.1 + Power + 15 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Slag Walker/Slag Walker 2 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 2 (Base) + + Breath Color + Slag Walker + Breath Condition + + Fire 2 + + Chance + 1.0 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 36 + + + 10 + 50 + + + 256 + 25 + + + + Head Drop + Slag + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Slag Walker Loot + + Model + + character/npc/monster/zombie/model_fir.dat + + Reaction + Knockdown + + + Scale + 1.0 + Status Condition + + Fire 2 + + Chance + 0.15 + Power + 20 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Undead/Zombie/Slag Walker/Slag Walker 3 + + + Wave Tag + implementation.actor["Wave Tag"] + + + + + Character/NPC/Monster/Undead/Zombie/Parts/Tier 3 (Base) + + Breath Color + Slag Walker + Breath Condition + + Fire 3 + + Chance + 1.0 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Defense (Status) + + + + 36 + + + 10 + 50 + + + 256 + 25 + + + + Head Drop + Slag + Loot Table + + Treasure/Monster/Undead/Dust Zombie/Slag Walker Loot + + Model + + character/npc/monster/zombie/model_fir.dat + + Reaction + Flinch + + + Scale + 1.05 + Status Condition + + Fire 3 + + Chance + 0.2 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Moorcroft/Bellhop + + + + character/npc/monster/zombie/bellhop/model.dat + + Equip + Nothing + + + 0.8 + + + + character/npc/monster/zombie/animation/idle.dat + + + + + + 1.0 + + character/npc/monster/zombie/animation/moving.dat + + + + + + 0.55 + + 4 + 15 + 0.75 + 13.08997 + + + + Character/NPC/Moorcroft/Desk Clerk + + + + character/npc/monster/spookat/clerk/model.dat + + + + + character/npc/monster/spookat/standing_idle.dat + + Pitch adjust + Default + + + + + + + 6.0 + + character/npc/monster/spookat/walking_idle.dat + + + + + + + + + + + + + character/npc/monster/spookat/standing_idle2.dat + + Pitch adjust + Higher 1 + + + + Moorcroft/Desk Clerk + + + + + + + + + 8 + 15 + 0.66 + + + + Character/NPC/Moorcroft/Konjuring Kat + + + + character/npc/monster/spookat/model.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.2 + Range + Medium + + + variant + pink + + + 0.65 + + + + character/npc/monster/spookat/standing_idle.dat + + Pitch adjust + Default + + + + + + + 6.0 + + character/npc/monster/spookat/walking_idle.dat + + + + + + 0.4 + + + + + + + + character/npc/monster/spookat/standing_idle2.dat + + Pitch adjust + Higher 1 + + + + Moorcroft/Ritual + + + + + + + + + 8 + 15 + 0.66 + + + + Character/NPC/Nature Sprite/Nature Sprite (Cursed) + + + Wave Tag + implementation.tags.tags[0] + + + + + + character/npc/sprite/model.dat + + Variant + Cursed + + + + particle/fx_spawn_monster.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/item/heart_acquire_02.ogg + Gain + 1.0 + Pitch + 1.5 + Range + Medium + + + Transform + + 1.5 + 0.0, 0.0, -0.5 + + Transient + + particle/fx_menderheal.dat + + + + + + 0.01 + + character/npc/monster/devilite/animation/v2/animation_idle1.dat + + + + + character/npc/monster/devilite/animation/v2/animation_cower.dat + + + + 0.2 + + character/npc/monster/devilite/animation/v2/animation_idle2_lookaround.dat + + + + 0.0010 + + character/npc/monster/devilite/animation/v2/animation_idle3_sigh.dat + + + + + + 3.0 + + character/npc/monster/devilite/animation/v2/animation_walking.dat + + + + + + 3.1415927 + + character/npc/monster/devilite/animation/v2/animation_turnleft.dat + + + character/npc/monster/devilite/animation/v2/animation_turnright.dat + + + + + + 0.3 + + + + + + + + + + + + Character/NPC/Nature Sprite/Nature Sprite (Wander) + + Wave Tag + (Wave Tag) + + + + + + + + 128 + 139 + 4.0 + 10.0 + 9999 + + + + Character/NPC/Nature Sprite/Nature Sprite (Wander) + + + Wave Tag + implementation.tags.tags[0] + + + + + + character/npc/sprite/model.dat + + Variant + Green + + + + + + character/npc/monster/devilite/animation/v2/animation_idle1.dat + + + + 0.5 + + character/npc/monster/devilite/animation/v2/animation_idle2_lookaround.dat + + + + 0.25 + + character/npc/monster/devilite/animation/v2/animation_idle3_sigh.dat + + + + + + 3.0 + + character/npc/monster/devilite/animation/v2/animation_walking.dat + + + + + + 3.1415927 + + character/npc/monster/devilite/animation/v2/animation_turnleft.dat + + + character/npc/monster/devilite/animation/v2/animation_turnright.dat + + + + + + 0.333 + + 4 + 15 + 1.5 + 8.726646 + + + + Character/NPC/Rescue Camp/Bombs + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Pith + Pack + None + Weapon Equip + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + n.rc_bomb + + character/pc/emotes/animation_salute.dat + + + Rescue Camp/Bomb + + + + Action + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Rescue Camp/Final Gate + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Pig Nose + Pack + None + Weapon Equip + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + n.rc_end + + character/pc/emotes/animation_salute.dat + + + Rescue Camp/Final Gate + + + + Action + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Rescue Camp/Greeter + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Pig Nose + Pack + None + Weapon Equip + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + n.rc_greet + + character/pc/emotes/animation_wave.dat + + + Rescue Camp/Greeter + + + + Action + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Rescue Camp/Instructor + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Hood + Pack + None + Weapon Equip + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + n.rc_instruct + + character/pc/emotes/animation_salute.dat + + + Rescue Camp/Instructor + + + + Action + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Rescue Camp/Nervous + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Pith + Pack + None + Weapon Equip + + + + + + + character/npc/monster/mechaknight/animations/jitters.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + n.rc_nervous + + Rescue Camp/Nervous + + + + Action + + + + + + + + 8 + 15 + 0.66 + + + + Character/NPC/Rescue Camp/Sleepy + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Pig Nose + Pack + None + Weapon Equip + + + + + + + character/pc/sleeping/loop.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + n.rc_sleepy + + Rescue Camp/Sleepy + + + + Action + + + + + + + + 8 + 15 + 0.66 + + + + Character/NPC/Rescue Camp/Soil + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Hood + Pack + None + Weapon Equip + + + + + + + character/pc/use_inventory_loop.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + n.rc_soil + + Rescue Camp/Soil + + + + Action + + + + + + + + 8 + 15 + 0.66 + + + + Character/NPC/Rescue Camp/Warning + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Hood + Pack + None + Weapon Equip + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + n.rc_warning + + character/pc/emotes/animation_salute.dat + + + Rescue Camp/Warning + + + + Action + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Snipe/Snipe, Fly + + + Color 1 + implementation.sprite.model["Color 1"] + + + Scale + implementation.sprite.scale + + + + + + character/npc/snipe/model.dat + + Color 1 + 1291 + + + + + + character/npc/snipe/animation/flying_idle.dat + + + + + character/npc/snipe/animation/flying_idle_03_lookaround.dat + + + + 0.1 + + character/npc/snipe/animation/flying_idle_02_spin.dat + + Pitch + 1.1 + + + + + 0.1 + + character/npc/snipe/animation/flying_idle_02_spin.dat + + Pitch + 0.95 + + + + + 0.1 + + character/npc/snipe/animation/flying_idle_02_spin.dat + + Pitch + 1.15 + + + + + 0.1 + + character/npc/snipe/animation/flying_idle_02_spin.dat + + Pitch + 1.0 + + + + + + + 2.3 + + character/npc/snipe/animation/flying_moving.dat + + + + + + 0.4 + + 4 + 15 + 2.3 + 10.471975 + + Wander/Snipe + + + + + Character/NPC/Snipe/Snipe, Walk + + + Color 1 + implementation.sprite.model["Color 1"] + + + Scale + implementation.sprite.scale + + + + + + character/npc/snipe/model.dat + + Color 1 + 1291 + + + + + + character/npc/snipe/animation/idle_00.dat + + + + + character/npc/snipe/animation/idle_01.dat + + + + 0.33 + + character/npc/snipe/animation/idle_03.dat + + Pitch + 1.1 + + + + + 0.33 + + character/npc/snipe/animation/idle_03.dat + + Pitch + 1.2 + + + + + 0.33 + + character/npc/snipe/animation/idle_03.dat + + Pitch + 1.0 + + + + + 0.33 + + character/npc/snipe/animation/idle_02.dat + + Pitch + 1.1 + + + + + 0.33 + + character/npc/snipe/animation/idle_02.dat + + Pitch + 1.2 + + + + + 0.33 + + character/npc/snipe/animation/idle_02.dat + + Pitch + 1.0 + + + + + + + 0.75 + + character/npc/snipe/animation/moving.dat + + + + + + 0.333 + + 4 + 15 + 1.5 + 8.726646 + + Wander/Snipe + + + + + Character/NPC/Tier Guard/Base + + + Conversation + implementation.handlers[0].action.actions[0].conversation + + + + + + character/npc/crew/model_gatekeeper.dat + + 1.15 + + + + character/pc/animation_overshoulder.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + + Tier Guard/Base + + Access + 1 + Message: Armor Req + m.tier_1_armor + Message: Helm Req + m.tier_1_helm + Message: Shield Req + m.tier_1_shield + Message: Tier Req + m.tier_1_requirements + Message: Token Req + m.tier_1_tokens + Message: Weapon Req + m.tier_1_weapon + Number of Tokens + 25 + Required Star Value + 2 + Token Type + 0 + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Character/NPC/Tier Guard/Tier 1 + + + Character/NPC/Tier Guard/Base + + Conversation + + Tier Guard/Tier 1 + + + + + + + Character/NPC/Tier Guard/Tier 2 + + + Character/NPC/Tier Guard/Base + + Conversation + + Tier Guard/Tier 2 + + + + + + + Character/NPC/Travel Agent/Base + + + Conversation + implementation.handlers[0].action.actions[0].conversation + + + + + + character/pc/model.dat + + Armor + + character/npc/monster/gremlin/null/model_static.dat + + Variant + grey + + + Helmet + + Label + + Material + + Shield + + Shield Away + + Weapon + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + + character/pc/emotes/animation_shrug.dat + + + + + + + + + 8 + 15 + 0.66 + + + + Character/NPC/Travel Agent/Emberlight + + + Character/NPC/Travel Agent/Base + + Conversation + + Travel/Emberlight + + + + + + + Character/NPC/Travel Agent/Haven + + + Character/NPC/Travel Agent/Base + + Conversation + + Travel/Haven + + + + + + + Character/NPC/Travel Agent/Moorcroft + + + Character/NPC/Travel Agent/Base + + Conversation + + Travel/Moorcroft + + + + + + + Character/PC/Arena + + + Model + implementation.sprite.model + + + + + + character/pc/model_level.dat + + Armor + + item/gear/armor/doublebelt/model.dat + + Colorization + 257 + Variant + grey + + + Helmet + + item/gear/helm/pith/model.dat + + Colorization + 257 + Variant + grey + + + Label + + Material + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + defender + + + Shield Away + + Weapon + + item/weapon/sword/calibur/model.dat + + variant + calibur + + + + + + particle/monster_death.dat + + Color + White + + + + + + character/pc/idle.dat + + + + + + 1.0 + + character/pc/walk_forward.dat + + + character/pc/walk_left.dat + + + character/pc/walk_backward.dat + + + character/pc/walk_right.dat + + + + 6.0 + + character/pc/run_forward.dat + + Variant + Default + + + + character/pc/run_left.dat + + + character/pc/run_backward.dat + + + character/pc/run_right.dat + + + + + particle/fx_gethit_player.dat + + Color + Red + + + + particle/fx_gethit_player.dat + + Color + Black + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/player_res.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_shareheart.dat + + + + + + 0.333333 + + 132 + 47 + 5.0 + + + + + 0.4 + + + 0.7, 0.0 + + + + + 15 + + + + Character/PC/Default + + + Model + implementation.sprite.model + + + + + + character/pc/model.dat + + Armor + + item/gear/armor/doublebelt/model.dat + + Colorization + 257 + Variant + grey + + + Helmet + + item/gear/helm/pith/model.dat + + Colorization + 257 + Variant + grey + + + Label + + Material + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + defender + + + Shield Away + + Weapon + + item/weapon/sword/calibur/model.dat + + variant + calibur + + + + + + particle/monster_death.dat + + Color + White + + + + + + character/pc/idle.dat + + + + + + 1.0 + + character/pc/walk_forward.dat + + + character/pc/walk_left.dat + + + character/pc/walk_backward.dat + + + character/pc/walk_right.dat + + + + 6.0 + + character/pc/run_forward.dat + + Variant + Default + + + + character/pc/run_left.dat + + + character/pc/run_backward.dat + + + character/pc/run_right.dat + + + + + + 0.333333 + + 4 + 43 + 5.0 + + + + + 0.4 + + + 0.7, 0.0 + + + + + + + + Character/PC/Editor + + + + character/pc/model.dat + + Armor + + item/gear/armor/rearpouch/model.dat + + Colorization + 274 + Variant + gold-hazel-navy + + + Helmet + + item/gear/helm/doubleploom/model.dat + + Colorization + 274 + Variant + gold-hazel-navy + + + Label + + Material + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + defender(blue) + + + Shield Away + + Weapon + + item/weapon/sword/calibur/model.dat + + variant + calibur(blue) + + + + + + + + character/pc/idle.dat + + + + + + 1.0 + + character/pc/walk_forward.dat + + + character/pc/walk_left.dat + + + character/pc/walk_backward.dat + + + character/pc/walk_right.dat + + + + 6.0 + + character/pc/run_forward.dat + + Variant + Default + + + + character/pc/run_left.dat + + + character/pc/run_backward.dat + + + character/pc/run_right.dat + + + + + + 0.333333 + + + + + + Character/Dev/playermarker + + + + + + + 4 + 43 + 10.0 + + + + Character/PC/Level + + + Model + implementation.sprite.model + + + + + + character/pc/model_level.dat + + Armor + + item/gear/armor/doublebelt/model.dat + + Colorization + 257 + Variant + grey + + + Helmet + + item/gear/helm/pith/model.dat + + Colorization + 257 + Variant + grey + + + Label + + Material + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + defender + + + Shield Away + + Weapon + + item/weapon/sword/calibur/model.dat + + variant + calibur + + + + + + particle/monster_death.dat + + Color + White + + + + + + character/pc/idle.dat + + + + + + 1.0 + + character/pc/walk_forward.dat + + + character/pc/walk_left.dat + + + character/pc/walk_backward.dat + + + character/pc/walk_right.dat + + + + 6.0 + + character/pc/run_forward.dat + + Variant + Default + + + + character/pc/run_left.dat + + + character/pc/run_backward.dat + + + character/pc/run_right.dat + + + + + particle/fx_gethit_player.dat + + Color + Red + + + + particle/fx_gethit_player.dat + + Color + Black + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/player_res.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_shareheart.dat + + + + + + 0.333333 + + 4 + 43 + 5.0 + + + + + 0.4 + + + 0.7, 0.0 + + + + + 13 + + + + Character/Weapon/Hunting Wolver + + + + character/npc/monster/wolver/model.dat + + Aura + + Variant + Ghost + + + + particle/bullet/magnus/hit_charged.dat + + Spark Count + 6 + Variant + Hot + + + 1.8 + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 6.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/monster_damage.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_gethit_monster.dat + + + + + particle/fx_heal.dat + + + + + character/npc/monster/wolver/animation/standing.dat + + + + + + 6.0 + + character/npc/monster/wolver/animation/moving.dat + + + + + + 0.45 + + + + + + + + 12 + 79 + 7.0 + 13.962634 + 1 + 0 + 0.1 + 433 + 1481 + 1333 + 14.0 + + + + Character/Weapon/Hunting Wolver + + + + + + + Door/Base + + + Model + implementation.sprite.model + + + Animation - Close + implementation.sprite.states[0].animation + + + Animation - Open + implementation.sprite.states[2].animation + + + Shape + implementation.shape + + + Tag + implementation.tags.tags[0] + + + Open + implementation.open + + + Actionable Signal + implementation.actionable_signal + + + Action Desc + implementation.action_desc + + + Actionable Condition + implementation.actionable_condition + + + Handlers + implementation.handlers + + + + + 2 + 1 + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Normal + + + + + + + + world/dynamic/door/irongate/animation/state_closed.dat + + + + + + + world/dynamic/door/irongate/animation/state_open.dat + + + + + + 5.0 + + + (Door Tag) + + 500 + + + + Door/Energy Base + + + + Size Variant + + + Model + implementation.sprite.model + + + State - Closing + implementation.sprite.states[0].animation + + + State - Closed + implementation.sprite.states[1].animation + + + State - Opening + implementation.sprite.states[2].animation + + + State - Opened + implementation.sprite.states[3].animation + + + Collision shape - length + implementation.shape.height + + + + + + 3 Wide + + + 5.0 + C + 5.0 + Co + 5.0 + Col + 5.0 + Coll + 5.0 + Colli + 5.0 + Collis + 5.0 + Collisi + 5.0 + Collisio + 5.0 + Collision + 5.0 + Collision s + 5.0 + Collision sh + 5.0 + Collision sha + 5.0 + Collision shap + 5.0 + Collision shape + 5.0 + Collision shape - + 5.0 + Collision shape - l + 5.0 + Collision shape - le + 5.0 + Collision shape - len + 5.0 + Collision shape - leng + 5.0 + Collision shape - lengt + 5.0 + Collision shape - length + 3.0 + Model + + world/dynamic/door/irongate/3wide/energy.dat + + State - Closed + + world/dynamic/door/irongate/animation/energy_state_closed_3w.dat + + State - Closing + + world/dynamic/door/irongate/animation/energy_close_3w.dat + + State - Opened + + world/dynamic/door/irongate/animation/energy_state_open_3w.dat + + State - Opening + + world/dynamic/door/irongate/animation/energy_open_3w.dat + + W + 5.0 + Wi + 5.0 + + + + + 5 Wide + + + 5.0 + C + 5.0 + Co + 5.0 + Col + 5.0 + Coll + 5.0 + Colli + 5.0 + Collis + 5.0 + Collisi + 5.0 + Collisio + 5.0 + Collision + 5.0 + Collision s + 5.0 + Collision sh + 5.0 + Collision sha + 5.0 + Collision shap + 5.0 + Collision shape + 5.0 + Collision shape - + 5.0 + Collision shape - l + 5.0 + Collision shape - le + 5.0 + Collision shape - len + 5.0 + Collision shape - leng + 5.0 + Collision shape - lengt + 5.0 + Collision shape - length + 5.0 + Model + + world/dynamic/door/irongate/5wide/energy.dat + + State - Closed + + world/dynamic/door/irongate/animation/energy_state_closed_5w.dat + + State - Closing + + world/dynamic/door/irongate/animation/energy_close_5w.dat + + State - Opened + + world/dynamic/door/irongate/animation/energy_state_open_5w.dat + + State - Opening + + world/dynamic/door/irongate/animation/energy_open_5w.dat + + W + 5.0 + Wi + 5.0 + + + + 5 Wide + + + Tag + implementation.tags.tags + + + Energy Cost + implementation.handlers[0].action.action.actions[1].amount, implementation.action_desc.amount, implementation.actionable_condition.conditions[1].energy + + + + + + world/dynamic/door/irongate/5wide/energy.dat + + + + + world/dynamic/door/irongate/animation/energy_close_5w.dat + + + + + world/dynamic/door/irongate/animation/energy_state_closed_5w.dat + + + + + world/dynamic/door/irongate/animation/energy_open_5w.dat + + + + + world/dynamic/door/irongate/animation/energy_state_open_5w.dat + + + + + + 5.0 + + + + + + OPEN + false + + + + + open + + + DOOR + + + + + energy_unlock + + + energy_unlock + + 5 + + + + + OPEN + false + + + + + + + + 500 + + + + Door/Energy Base (test) + + + + Size Variant + + + Model + implementation.sprite.model + + + State - Closing + implementation.sprite.states[0].animation + + + State - Closed + implementation.sprite.states[1].animation + + + State - Opening + implementation.sprite.states[2].animation + + + State - Opened + implementation.sprite.states[3].animation + + + Collision shape - length + implementation.shape.height + + + + + + 3 Wide + + + 5.0 + C + 5.0 + Co + 5.0 + Col + 5.0 + Coll + 5.0 + Colli + 5.0 + Collis + 5.0 + Collisi + 5.0 + Collisio + 5.0 + Collision + 5.0 + Collision s + 5.0 + Collision sh + 5.0 + Collision sha + 5.0 + Collision shap + 5.0 + Collision shape + 5.0 + Collision shape - + 5.0 + Collision shape - l + 5.0 + Collision shape - le + 5.0 + Collision shape - len + 5.0 + Collision shape - leng + 5.0 + Collision shape - lengt + 5.0 + Collision shape - length + 3.0 + Model + + world/dynamic/door/irongate/3wide/energy.dat + + State - Closed + + world/dynamic/door/irongate/animation/energy_state_closed_3w.dat + + State - Closing + + world/dynamic/door/irongate/animation/energy_close_3w.dat + + State - Opened + + world/dynamic/door/irongate/animation/energy_state_open_3w.dat + + State - Opening + + world/dynamic/door/irongate/animation/energy_open_3w.dat + + W + 5.0 + Wi + 5.0 + + + + + 5 Wide + + + 5.0 + C + 5.0 + Co + 5.0 + Col + 5.0 + Coll + 5.0 + Colli + 5.0 + Collis + 5.0 + Collisi + 5.0 + Collisio + 5.0 + Collision + 5.0 + Collision s + 5.0 + Collision sh + 5.0 + Collision sha + 5.0 + Collision shap + 5.0 + Collision shape + 5.0 + Collision shape - + 5.0 + Collision shape - l + 5.0 + Collision shape - le + 5.0 + Collision shape - len + 5.0 + Collision shape - leng + 5.0 + Collision shape - lengt + 5.0 + Collision shape - length + 5.0 + Model + + world/dynamic/door/irongate/5wide/energy.dat + + State - Closed + + world/dynamic/door/irongate/animation/energy_state_closed_5w.dat + + State - Closing + + world/dynamic/door/irongate/animation/energy_close_5w.dat + + State - Opened + + world/dynamic/door/irongate/animation/energy_state_open_5w.dat + + State - Opening + + world/dynamic/door/irongate/animation/energy_open_5w.dat + + W + 5.0 + Wi + 5.0 + + + + 5 Wide + + + Tag + implementation.tags.tags + + + Cost + implementation.handlers[0].action.action.amount, implementation.action_desc.amount + + + + + + world/dynamic/door/irongate/5wide/energy.dat + + + + + world/dynamic/door/irongate/animation/energy_close_5w.dat + + + + + world/dynamic/door/irongate/animation/energy_state_closed_5w.dat + + + + + world/dynamic/door/irongate/animation/energy_open_5w.dat + + + + + world/dynamic/door/irongate/animation/energy_state_open_5w.dat + + + + + + 5.0 + + + + + + + + + + energy_unlock + + + 500 + + + + Door/Gold Key Base + + + Model + implementation.actor["Model"] + + + Animation - Close + implementation.actor["Animation - Close"] + + + Animation - Open + implementation.actor["Animation - Open"] + + + Shape + implementation.actor["Shape"] + + + Tag + implementation.actor["Tag"] + + + + + Door/Base + + Action Desc + + + Actionable Condition + + + + OPEN + false + + + + + gold_unlock + + + + Actionable Signal + gold_unlock + Animation - Close + + Animation - Open + + Handlers + + + + + + + OPEN + false + + + + + + + + + open + + + + + + + + + gold_unlock + + + + ui/minimap/gold_door.png + + + + Model + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Normal + + + Open + false + Shape + + 5.0 + + Tag + Door + + + + + + Door/Iron Gate/Energy 3 + + + Tag + implementation.actor["Tag"] + + + Energy Cost + implementation.actor["Energy Cost"] + + + + + Door/Energy Base + + Energy Cost + 0 + Size Variant + 3 Wide + Tag + Door + + + + + + Door/Iron Gate/Energy 5 + + + Tag + implementation.actor["Tag"] + + + Energy Cost + implementation.actor["Energy Cost"] + + + + + Door/Energy Base + + Energy Cost + 0 + Size Variant + 5 Wide + Tag + Door + + + + + + Door/Iron Gate/Gold 3 + + + Tag + implementation.actor["Tag"] + + + + + Door/Gold Key Base + + Animation - Close + + world/dynamic/door/irongate/animation/close.dat + + Width + 2.75 + + + Animation - Open + + world/dynamic/door/irongate/animation/open.dat + + Width + 2.75 + + + Model + + world/dynamic/door/irongate/3wide/model.dat + + Variant + Locked (Gold) + + + Shape + + 3.0 + + Tag + Door + + + + + + Door/Iron Gate/Gold 5 + + + Tag + implementation.actor["Tag"] + + + + + Door/Gold Key Base + + Animation - Close + + world/dynamic/door/irongate/animation/close.dat + + Width + 4.75 + + + Animation - Open + + world/dynamic/door/irongate/animation/open.dat + + Width + 4.75 + + + Model + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Locked (Gold) + + + Shape + + 5.0 + + Tag + Door + + + + + + Door/Iron Gate/Monster 3 + + + Tag + implementation.actor["Tag"] + + + Open + implementation.actor["Open"] + + + Variant + implementation.actor["Model"]["Variant"] + + + + + Door/Base + + Action Desc + + + Actionable Condition + + Actionable Signal + action + Animation - Close + + world/dynamic/door/irongate/animation/close.dat + + Width + 2.75 + + + Animation - Open + + world/dynamic/door/irongate/animation/open.dat + + Width + 2.75 + + + Handlers + + + Model + + world/dynamic/door/irongate/3wide/model.dat + + Variant + Normal + + + Open + false + Shape + + 3.0 + + Tag + Door + + + + + + Door/Iron Gate/Monster 5 + + + Tag + implementation.actor["Tag"] + + + Open + implementation.actor["Open"] + + + Variant + implementation.actor["Model"]["Variant"] + + + + + Door/Base + + Action Desc + + + Actionable Condition + + Actionable Signal + action + Animation - Close + + world/dynamic/door/irongate/animation/close.dat + + Width + 4.75 + + + Animation - Open + + world/dynamic/door/irongate/animation/open.dat + + Width + 4.75 + + + Handlers + + + Model + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Normal + + + Open + false + Shape + + 5.0 + + Tag + Door + + + + + + Door/Iron Gate/Multi Trigger 3 + + + Tag + implementation.actor["Tag"] + + + Open + implementation.actor["Open"] + + + Variant + implementation.actor["Model"]["Variant"] + + + Triggers + implementation.actor["Triggers"] + + + + + Door/Multi Trigger Base + + Animation - Close + + world/dynamic/door/irongate/animation/close.dat + + Width + 2.75 + + + Animation - Open + + world/dynamic/door/irongate/animation/open.dat + + Width + 2.75 + + + Model + + world/dynamic/door/irongate/3wide/model.dat + + Variant + Normal + + + Open + false + Shape + + 3.0 + + Tag + Door + Triggers + 2 + Variant + Normal + + + + + + Door/Iron Gate/Multi Trigger 5 + + + Tag + implementation.actor["Tag"] + + + Open + implementation.actor["Open"] + + + Variant + implementation.actor["Model"]["Variant"] + + + Triggers + implementation.actor["Triggers"] + + + + + Door/Multi Trigger Base + + Animation - Close + + world/dynamic/door/irongate/animation/close.dat + + Width + 4.75 + + + Animation - Open + + world/dynamic/door/irongate/animation/open.dat + + Width + 4.75 + + + Model + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Normal + + + Open + false + Shape + + 5.0 + + Tag + Door + Triggers + 2 + Variant + Normal + + + + + + Door/Iron Gate/Silver 3 + + + Door/Key Base + + Animation - Close + + world/dynamic/door/irongate/animation/close.dat + + Width + 2.75 + + + Animation - Open + + world/dynamic/door/irongate/animation/open.dat + + Width + 2.75 + + + Model + + world/dynamic/door/irongate/3wide/model.dat + + Variant + Locked (Silver) + + + Shape + + 3.0 + + Tag + Locked Door + + + + + + Door/Iron Gate/Silver 5 + + + Door/Key Base + + Animation - Close + + world/dynamic/door/irongate/animation/close.dat + + Width + 4.75 + + + Animation - Open + + world/dynamic/door/irongate/animation/open.dat + + Width + 4.75 + + + Model + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Locked (Silver) + + + Shape + + 5.0 + + Tag + Locked Door + + + + + + Door/Iron Gate/Trigger 3 + + + Tag + implementation.actor["Tag"] + + + Open + implementation.actor["Open"] + + + Variant + implementation.actor["Model"]["Variant"] + + + + + Door/Base + + Action Desc + + + Actionable Condition + + Actionable Signal + action + Animation - Close + + world/dynamic/door/irongate/animation/close.dat + + Width + 2.75 + + + Animation - Open + + world/dynamic/door/irongate/animation/open.dat + + Width + 2.75 + + + Handlers + + + Model + + world/dynamic/door/irongate/3wide/model.dat + + Variant + Normal + + + Open + false + Shape + + 3.0 + + Tag + Door + + + + + + Door/Iron Gate/Trigger 5 + + + Tag + implementation.actor["Tag"] + + + Open + implementation.actor["Open"] + + + Variant + implementation.actor["Model"]["Variant"] + + + + + Door/Base + + Action Desc + + + Actionable Condition + + Actionable Signal + action + Animation - Close + + world/dynamic/door/irongate/animation/close.dat + + Width + 4.75 + + + Animation - Open + + world/dynamic/door/irongate/animation/open.dat + + Width + 4.75 + + + Handlers + + + Model + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Normal + + + Open + false + Shape + + 0.85 + 4.85 + + Tag + Door + + + + + + Door/Key Base + + + Model + implementation.actor["Model"] + + + Animation - Close + implementation.actor["Animation - Close"] + + + Animation - Open + implementation.actor["Animation - Open"] + + + Shape + implementation.actor["Shape"] + + + Tag + implementation.actor["Tag"] + + + + + Door/Base + + Action Desc + + + Actionable Condition + + Actionable Signal + silver_unlock + Animation - Close + + Animation - Open + + Handlers + + + + + + + Model + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Normal + + + Open + false + Shape + + 5.0 + + Tag + Door + + + + + + Door/Multi Trigger Base + + + Model + implementation.actor["Model"] + + + Animation - Close + implementation.actor["Animation - Close"] + + + Animation - Open + implementation.actor["Animation - Open"] + + + Shape + implementation.actor["Shape"] + + + Tag + implementation.actor["Tag"] + + + Open + implementation.actor["Open"] + + + Variant + implementation.actor["Model"]["Variant"] + + + Triggers + implementation.actor["Handlers"][0].action.actions[1].condition.expression.second_operand.value, implementation.actor["Handlers"][1].action.actions[1].condition.expression.second_operand.value + + + + + Door/Base + + Action Desc + + + Actionable Condition + + Actionable Signal + action + Animation - Close + + Animation - Open + + Handlers + + + + + + + + + + + + + + + + + + + Model + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Normal + + + Open + false + Shape + + 5.0 + + Tag + Door + + + + + + Door/WhiteSpace/Gold 3 + + + Tag + implementation.actor["Tag"] + + + + + Door/Gold Key Base + + Animation - Close + + world/dynamic/door/whitespace/animation/close.dat + + Width + 2.75 + + + Animation - Open + + world/dynamic/door/whitespace/animation/open.dat + + Width + 2.75 + + + Model + + world/dynamic/door/whitespace/model_x3.dat + + Variant + Locked (Gold) + + + Shape + + 3.0 + + Tag + Door + + + + + + Door/WhiteSpace/Monster 3 + + + Tag + implementation.actor["Tag"] + + + Open + implementation.actor["Open"] + + + Variant + implementation.actor["Model"]["Variant"] + + + + + Door/Base + + Action Desc + + + Actionable Condition + + Actionable Signal + action + Animation - Close + + world/dynamic/door/whitespace/animation/close.dat + + Width + 2.75 + + + Animation - Open + + world/dynamic/door/whitespace/animation/open.dat + + Width + 2.75 + + + Handlers + + + Model + + world/dynamic/door/whitespace/model_x3.dat + + Variant + Normal + + + Open + false + Shape + + 3.0 + + Tag + Door + + + + + + Door/WhiteSpace/Multi Trigger 3 + + + Tag + implementation.actor["Tag"] + + + Open + implementation.actor["Open"] + + + Variant + implementation.actor["Model"]["Variant"] + + + Triggers + implementation.actor["Triggers"] + + + + + Door/Multi Trigger Base + + Animation - Close + + world/dynamic/door/whitespace/animation/close.dat + + Width + 2.75 + + + Animation - Open + + world/dynamic/door/whitespace/animation/open.dat + + Width + 2.75 + + + Model + + world/dynamic/door/whitespace/model_x3.dat + + Variant + Normal + + + Open + false + Shape + + 3.0 + + Tag + Door + Triggers + 2 + Variant + Normal + + + + + + Door/WhiteSpace/Trigger 3 + + + Tag + implementation.actor["Tag"] + + + Open + implementation.actor["Open"] + + + Variant + implementation.actor["Model"]["Variant"] + + + + + Door/Base + + Action Desc + + + Actionable Condition + + Actionable Signal + action + Animation - Close + + world/dynamic/door/whitespace/animation/close.dat + + Width + 2.75 + + + Animation - Open + + world/dynamic/door/whitespace/animation/open.dat + + Width + 2.75 + + + Handlers + + + Model + + world/dynamic/door/whitespace/model_x3.dat + + Variant + Normal + + + Open + false + Shape + + 3.0 + + Tag + Door + + + + + + Dynamic/Barrier/One-Way Wall + + + + world/dynamic/forcefield/compound_x3.dat + + + + 0.1 + 3.0 + + + + + + + + 0 + 0 + + + + Dynamic/Barrier/Sub-town Force Field + + + + world/dynamic/forcefield/subtown/model.dat + + + + + world/dynamic/forcefield/subtown/animations/transition_closing.dat + + + + + world/dynamic/forcefield/subtown/animations/state_closed.dat + + + + + world/dynamic/forcefield/subtown/animations/transition_opening.dat + + + + + world/dynamic/forcefield/subtown/animations/state_open.dat + + + + + + 0.1 + 5.0 + + 2048 + 0 + + + + Dynamic/Breakable Objects/Castle, Firestorm/Barricade, wooden + + + Dynamic/Breakable Objects/Castle, Firestorm/Parts/Barricade, wooden (base) + + Handler - On Damage + + + + + + Dynamic/Breakable Objects/Castle, Firestorm/Parts/Barricade, wooden - weakened + + + + + 2 + + Model + barricade_x2 + + + + + + Dynamic/Breakable Objects/Castle, Firestorm/Brazier, ground + + + Dynamic/Breakable Objects/Castle/Parts/Base - Brazier, ground + + Texture + world/prop/structural/brazier_ground/skin_firestorm.png + + + + + + Dynamic/Breakable Objects/Castle, Firestorm/Brazier, tall + + + Dynamic/Breakable Objects/Castle/Parts/Base - Brazier, tall + + Texture + world/prop/structural/brazier_ground/skin_firestorm.png + + + + + + Dynamic/Breakable Objects/Castle, Firestorm/Parts/Barricade, wooden (base) + + + Model + implementation.sprite.model["Model"] + + + Handler - On Damage + implementation.handlers[1] + + + + + + world/prop/castle_fire/barricade.dat + + Model + barricade_x2 + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/props/wooden_crash_05.ogg + Gain + 0.6 + Range + Medium + + + Transform + + + Transient + + particle/fx_wood_explode.dat + + Color + Firestorm + Emitter + 1x2 Rectangle + + + + + + + + + + 2.4 + + + + + + + + + + Hazard/Hazard Base -10 + + 8 + + 131 + + -1.0, 0.0 + 100 + 5 + + + + + + + + + Dynamic/Breakable Objects/Castle, Firestorm/Parts/Barricade, wooden - weakened + + + + + 2 + + + 0 + + + + Dynamic/Breakable Objects/Castle, Firestorm/Parts/Barricade, wooden - weakened + + + Dynamic/Breakable Objects/Castle, Firestorm/Parts/Barricade, wooden (base) + + Handler - On Damage + + + + + + Treasure/Breakable Object/Generic A + + + + + 2 + + Model + barricade_x2_busted + + + + + + Dynamic/Breakable Objects/Castle/Brazier, ground + + + Dynamic/Breakable Objects/Castle/Parts/Base - Brazier, ground + + Texture + world/prop/structural/brazier_ground/skin_brass.png + + + + + + Dynamic/Breakable Objects/Castle/Brazier, tall + + + Dynamic/Breakable Objects/Castle/Parts/Base - Brazier, tall + + Texture + world/prop/structural/brazier_ground/skin_brass.png + + + + + + Dynamic/Breakable Objects/Castle/Parts/Base - Brazier, ground + + + Texture + implementation.sprite.model["Texture"], implementation.sprite.destruction_transient["Transient"]["Texture"] + + + + + + world/prop/structural/brazier_ground/model.dat + + Texture + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/brazier_break.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + world/prop/structural/brazier_ground/parts/brazier_destroy.dat + + Texture + + Type + Short + + + + + + + 0.4 + + + + + + + + Treasure/Breakable Object/Generic A + + + + + + + + Dynamic/Breakable Objects/Castle/Parts/Base - Brazier, tall + + + Texture + implementation.sprite.model["Texture"], implementation.sprite.destruction_transient["Transient"]["Texture"] + + + + + + world/prop/structural/brazier_tall/model.dat + + Texture + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/brazier_break.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + world/prop/structural/brazier_ground/parts/brazier_destroy.dat + + Texture + + Type + Tall + + + + + + + 0.4 + + + + + + + + Treasure/Breakable Object/Generic A + + + + + + + + Dynamic/Breakable Objects/Character/Trojan Corpse + + + + character/npc/monster/darkknight/parts/compound_dead.dat + + Transform + + 1.25 + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_stone_break.ogg + Gain + 0.85 + Range + Medium + + + Transform + + 1.25 + + Transient + + character/npc/monster/darkknight/parts/fx_dead_explode.dat + + + + + + 0.8 + + + + + + + + Treasure/Monster/Fiend/Trojan/Trojan Loot + + + + + + + + Dynamic/Breakable Objects/City, Base/Fire hydrant + + + + world/prop/city_base/firehydrant.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default + + File + sound/effect/world/props/hydrant_break.ogg + Range + Medium + + + Transform + + + Transient + + particle/props/fx_firehydrant_destruct.dat + + + + + + 0.44 + + + + + + + + Treasure/Breakable Object/Generic A + + + + + + + + Dynamic/Breakable Objects/City, Base/Mailbox + + + + world/prop/city_base/mailbox.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default + + File + sound/effect/world/props/mailbox_break.ogg + Range + Medium + + + Transform + + + Transient + + particle/props/fx_mailbox_destruct.dat + + + + + + 0.8 + 0.8 + + + + + + + + Treasure/Breakable Object/Generic A + + + + + + + + Dynamic/Breakable Objects/Clockworks/Bucket o bolts + + + + world/prop/gremlin/bucket_01.dat + + Attachment + + world/prop/gremlin/bucket_01_content.dat + + + + + particle/props/fx_bucketbolts_destruct.dat + + + + 0.2 + + + + + + + + Treasure/Breakable Object/Generic A + + + + + 3 + + + 224 + 0 + + + + Dynamic/Breakable Objects/Clockworks/Bucket, empty + + + + world/prop/gremlin/bucket_01.dat + + Attachment + + + + + particle/fx_generic_destruct.dat + + Model + + world/prop/gremlin/bucket_01.dat + + Attachment + + + + + + + + 0.2 + + + + + + + + Treasure/Breakable Object/Generic A + + + + + 3 + + + 224 + 0 + + + + Dynamic/Breakable Objects/Clockworks/Pipeworks/Valve, wheel 01 + + + Transform + implementation.sprite.model["Models"][0].transform + + + + + + model/compound/model.dat + + Influences + + false + false + + Models + + + + world/prop/clockworks/valve_wheel_01.dat + + + 0.0, -0.2, 0.75 + + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/on_hit/metal_02.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/props/fx_valve_01_destruct.dat + + + + + + 0.4 + 0.2 + + + + + + + + + + 2 + + + 0 + + + + Dynamic/Breakable Objects/Gravestones/Breakable, small block + + + Dynamic/Breakable Objects/Gravestones/Breakable, small planed + + Model + gravestone_02_breakable + + + + + + Dynamic/Breakable Objects/Gravestones/Breakable, small planed + + + Model + implementation.sprite.model["Model"], implementation.sprite.destruction_transient["Transient"]["Gravestone Model"] + + + + + + world/prop/graveyard/gravestone_set_statics.dat + + Model + gravestone_01_breakable + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/on_hit/hit_stone_05.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_gravestone_smash.dat + + Gravestone Model + gravestone_01_breakable + + + + + + + 0.6 + 0.6 + + + + + + + + Treasure/Crowns/Scaled Crown + + + + + + + + Dynamic/Breakable Objects/Gravestones/Breakable, small rounded + + + Dynamic/Breakable Objects/Gravestones/Breakable, small planed + + Model + gravestone_03_breakable + + + + + + Dynamic/Breakable Objects/Gremlins/Locker - 1 + + + + world/prop/gremlin/locker_1.dat + + + + + world/prop/gremlin/animations/lockers/locker_1_state_shut.dat + + + + + animation/sequential/simple.dat + + Animations + + + 0.5 + + world/prop/gremlin/animations/lockers/locker_1_open.dat + + + + + world/prop/gremlin/animations/lockers/locker_1_state_open.dat + + + + Priority + 0 + + + + + + + 0.9 + 2.0 + + + + + + + + 0 + + + + + + + + Treasure/Breakable Object/Generic A + + + + + Sound Effect + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/on_hit/hit_metal_01.ogg + Gain + 1.0 + Range + Medium + + + + + + + + + + + + Dynamic/Breakable Objects/Gremlins/Locker - 2 + + + + world/prop/gremlin/locker_2.dat + + + + + world/prop/gremlin/animations/lockers/locker_2_state_shut.dat + + + + + animation/sequential/simple.dat + + Animations + + + 0.5 + + world/prop/gremlin/animations/lockers/locker_2_open.dat + + + + + world/prop/gremlin/animations/lockers/locker_2_state_open.dat + + + + Priority + 0 + + + + + + + 0.9 + 2.0 + + + + + + + + 0 + + + + + + + + Treasure/Breakable Object/Generic A + + + + + Sound Effect + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/on_hit/hit_metal_01.ogg + Gain + 1.0 + Range + Medium + + + + + + + + + + + + Dynamic/Breakable Objects/Heat Objects/Ember Well, large + + + + world/prop/structural/ember_well/model.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/brazier_break.ogg + Gain + 1.0 + Range + Medium + + + Transform + + 2.0 + + Transient + + world/prop/structural/brazier_ground/parts/brazier_destroy.dat + + Texture + world/prop/structural/brazier_ground/skin_brass.png + Type + Short + + + + + + + 0.8 + + + + + + + + Treasure/Heat/Monster Heat, large + + + + + + + + Dynamic/Breakable Objects/Heat Objects/Ember Well, small + + + + world/prop/structural/ember_well/model.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/brazier_break.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + world/prop/structural/brazier_ground/parts/brazier_destroy.dat + + Texture + world/prop/structural/brazier_ground/skin_brass.png + Type + Short + + + + + + + 0.4 + + + + + + + + Treasure/Heat/Monster Heat, small + + + + + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 1 + + + Model + implementation.sprite.model["Model"] + + + Variant + implementation.sprite.model["Variant"] + + + + + + world/prop/sky_islands_day/shrub_new1.dat + + Model + shrub_01 + Variant + Blue + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/shrub_break.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_shrub_cut_2.dat + + Color variant + Blue + Model Variant + Shrub 1 + + + + + + + 0.4 + + + + + + + + + + Treasure/Breakable Object/Generic A + + + + + 512 + 512 + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 1, day variant + + + Model + implementation.sprite.model["Model"] + + + Variant + implementation.sprite.model["Variant"] + + + + + + world/prop/sky_islands_day/shrub_new1.dat + + Model + shrub_01 + Variant + Sky Islands Day - variant + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/shrub_break.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_shrub_cut_2.dat + + Color variant + Sky Islands Day - Variant + Model Variant + Shrub 1 + + + + + + + 0.4 + + + + + + + + + + Treasure/Breakable Object/Generic A + + + + + 512 + 512 + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 1, yellow-green + + + + world/prop/sky_islands_day/shrub_new1.dat + + Model + shrub_01 + Variant + Green + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/shrub_break.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_shrub_cut_2.dat + + Color variant + Yellow-green + Model Variant + Shrub 1 + + + + + + + 0.4 + + + + + + + + + + Treasure/Breakable Object/Generic A + + + + + 512 + 512 + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 2 + + + + world/prop/sky_islands_day/shrub_new1.dat + + Model + shrub_02 + Variant + Blue + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/shrub_break.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_shrub_cut_2.dat + + Color variant + Blue + Model Variant + Shrub 2 + + + + + + + 0.4 + + + + + + + + + + Treasure/Breakable Object/Generic A + + + + + 512 + 513 + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 2, day variant + + + + world/prop/sky_islands_day/shrub_new1.dat + + Model + shrub_02 + Variant + Sky Islands Day - variant + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/shrub_break.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_shrub_cut_2.dat + + Color variant + Sky Islands Day - Variant + Model Variant + Shrub 2 + + + + + + + 0.4 + + + + + + + + + + Treasure/Breakable Object/Generic A + + + + + 512 + 513 + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 2, yellow-green + + + + world/prop/sky_islands_day/shrub_new1.dat + + Model + shrub_02 + Variant + Green + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/shrub_break.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_shrub_cut_2.dat + + Color variant + Yellow-green + Model Variant + Shrub 2 + + + + + + + 0.4 + + + + + + + + + + Treasure/Breakable Object/Generic A + + + + + 512 + 513 + + + + Dynamic/Cannon/Base + + + + world/dynamic/cannon/model.dat + + + + + + + 0.5 + + + -0.25, 0.0 + + + + + 0.5 + + + 1.0, 0.0 + + + + + 1.25 + + + 0.375, 0.0 + + + + + + + + + + + + + + Bullet/Handgun/Callahan (Charged) + + Damage + + + + 80.0 + 2 + true + + + 2 + + Stun + + Chance + 0.75 + Power + 90 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + special_fodder + + Bullet/Handgun/Callahan (Charged) + + Damage + + + + 80.0 + 2 + true + + + 2 + + Stun + + Chance + 0.75 + Power + 90 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + + + + + + + + + cannon_fodder + + + + + + Dynamic/Dev - Cory Tests/Trap - Land mine + + + 0 + + item/weapon/npc/mine_windup/model.dat + + Variant + Orange + + + + particle/explosive_block.dat + + Block + false + + + + + + + + + + + + 100.0 + 2 + + + 100.0 + 4 + + + + + + + + + 0 + 0 + + + + Dynamic/Elevator/Base/Base + + + Dissolve Party + implementation.dissolve_party + + + + + + + + world/dynamic/elevator/next/animation/empty.dat + + + + + world/dynamic/elevator/next/animation/active.dat + + + + + world/dynamic/elevator/next/animation/railsup.dat + + + + + world/dynamic/elevator/next/animation/platdown.dat + + + + + + 1.75 + 1.75 + + 192 + 0 + + + + Dynamic/Elevator/Base/Universal + + + Dissolve Party + implementation.dissolve_party + + + Split Party + implementation.split_party + + + + + + + + world/dynamic/elevator/next/animation/empty.dat + + + + + world/dynamic/elevator/next/animation/empty.dat + + + + + world/dynamic/elevator/univeral/animations/animation_activate.dat + + + + + world/dynamic/elevator/univeral/animations/animation_goingdown.dat + + + + + + 1.75 + 1.75 + + 192 + 0 + + + + Dynamic/Elevator/Haven + + + Dynamic/Elevator/Base/Universal + + Dissolve Party + true + Split Party + false + + + + + + Dynamic/Elevator/Next Floor + + + Dynamic/Elevator/Base/Universal + + Dissolve Party + false + Split Party + false + + + + + + Dynamic/Elevator/Next Floor (Subtown) + + + Dynamic/Elevator/Base/Universal + + Dissolve Party + false + Split Party + true + + + + + + Dynamic/Energy-Consuming Objects/Bodyguard/Bodyguard - sword + + + Dynamic/Energy-Consuming Objects/Bodyguard/Parts/Bodyguard - Base + + Cost + 5 + Spawn Table + + Monster/Single Family/Construct/Scaled - Mecha Knight (Friendly) + + Depth Offset + 0 + + + Tags + bodyguard + + + + + + Dynamic/Energy-Consuming Objects/Bodyguard/Parts/Bodyguard - Base + + + Cost + implementation.handlers[0].action.amount, implementation.handlers[0].action_desc.amount + + + Spawn Table + implementation.handlers[0].action.action.actions[0].spawn_table + + + Tags + implementation.tags.tags + + + + + + character/npc/monster/mechaknight/parts/model_deadwhole.dat + + + + 0.4 + + + + + + + + + default (Actor) + + Actor + + + + + + + + + + + + 37 + 31 + + + + Dynamic/Energy-Consuming Objects/Crates/Crate - Auto Turret, default + + + Tags + implementation.actor["Tags"] + + + + + Dynamic/Energy-Consuming Objects/Crates/Parts/Crate - Base + + Cost + 0 + Spawn Table + + Monster/Player Allied/Scaled - Auto Turret, Railgun + + Tags + autoturret + + + + + + Dynamic/Energy-Consuming Objects/Crates/Parts/Crate - Base + + + Cost + implementation.handlers[0].action.amount, implementation.handlers[0].action_desc.amount + + + Spawn Table + implementation.handlers[0].action.action.actions[1].spawn_table + + + Tags + implementation.tags.tags + + + + + + world/dynamic/energy/crate_01.dat + + + + 0.96 + 0.96 + + + + + + + + + default (Actor) + + Actor + + + + + + + + + + + + + + 37 + 31 + + + + Dynamic/Energy-Consuming Objects/Crates/Parts/Turret, Auto (base) + + + Tags + implementation.tags.tags + + + + + + world/dynamic/energy/turret_01.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + 1.2 + 0.0, -0.8, 0.12 + + Transient + + particle/monster_death.dat + + Color + Energy Blue + + + + + 0.8 + + + + world/dynamic/energy/animations/auto-turret/idle_01.dat + + + + + + 1.0 + + world/dynamic/energy/animations/auto-turret/idle_01.dat + + + + + particle/fx_gethit_monster.dat + + + particle/fx_heal.dat + + + + + world/dynamic/energy/animations/auto-turret/idle_target_01.dat + + + + + + 1.0 + + world/dynamic/energy/animations/auto-turret/idle_target_01.dat + + + + + world/dynamic/energy/animations/auto-turret/activate.dat + + + + 0.96 + 0.96 + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/energy/energy_turret_acquire_voiced_02.ogg + Gain + 1.0 + Range + Long + + + Transform + + + Transient + + + + + + + + + + 36 + 79 + 0.0 + 1.5707964 + 100 + 0 + 0.5 + true + 10 + 333 + 160 + 1100 + 0.0 + + + + Dynamic/Energy-Consuming Objects/Railgun beam + + Damage Amount + 100.0 + + + + + + + + + + Dynamic/Energy-Consuming Objects/Crates/Parts/Turret, Auto - Vulcan + + + Tags + implementation.tags.tags + + + + + + world/dynamic/energy/turret_vulcan.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + 1.2 + 0.0, -0.8, 0.12 + + Transient + + particle/monster_death.dat + + Color + Energy Blue + + + + + + particle/monster_death.dat + + Color + Energy Blue + + + 0.8 + + + + world/dynamic/energy/animations/auto-turret/idle_01.dat + + + + + + 1.0 + + world/dynamic/energy/animations/auto-turret/idle_01.dat + + + + + particle/fx_gethit_monster.dat + + + particle/fx_heal.dat + + + + + world/dynamic/energy/animations/auto-turret/idle_target_01.dat + + + + + + 1.0 + + world/dynamic/energy/animations/auto-turret/idle_target_01.dat + + + + + world/dynamic/energy/animations/auto-turret/activate.dat + + + + 0.96 + 0.96 + + 4 + 47 + 0.0 + 1.5707964 + 800 + 4 + 0.5 + true + 20 + 1 + 1 + 1000 + 0.0 + + + + Dynamic/Energy-Consuming Objects/Vulcan Spray + + + + + Dynamic/Energy-Consuming Objects/Vulcan Spray (chain) + + + + + + + 2050 + 300 + + + 40 + + + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Parts/Turret, Auto - Railgun + + + Tags + implementation.tags.tags + + + Health + implementation.health + + + Defense + implementation.defense.defenses[1].amount, implementation.defense.defenses[2].amount, implementation.defense.defenses[3].amount, implementation.defense.defenses[4].amount + + + Damage Amount + implementation.attacks[0].ref["Damage Amount"] + + + + + + world/dynamic/energy/turret_railgun.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + 1.2 + 0.0, -0.8, 0.12 + + Transient + + particle/monster_death.dat + + Color + Energy Blue + + + + + + particle/monster_death.dat + + Color + Energy Blue + + + 0.8 + + + + world/dynamic/energy/animations/auto-turret/idle_01.dat + + + + + + 1.0 + + world/dynamic/energy/animations/auto-turret/idle_01.dat + + + + + particle/fx_gethit_monster.dat + + + particle/fx_heal.dat + + + + + world/dynamic/energy/animations/auto-turret/idle_target_01.dat + + + + + + 1.0 + + world/dynamic/energy/animations/auto-turret/idle_target_01.dat + + + + + world/dynamic/energy/animations/auto-turret/activate.dat + + + + 0.96 + 0.96 + + 4 + 47 + 0.0 + 1.5707964 + 800 + 4 + 0.5 + true + 20 + 1 + 1 + 1000 + 0.0 + + + + Dynamic/Energy-Consuming Objects/Railgun beam + + Damage Amount + 100.0 + + + + + + + + 2050 + 300 + + + 40 + + + 40 + + + 40 + + + 40 + + + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Parts/Turret, Auto - Railgun Damager + + + 0 + + + + + + + + + + + + + + + + 10.0 + 2 + + 0.0, -6.0 + + 2.0, 0.0 + 200 + 5 + + + + + + + 512 + 160 + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Parts/Turret, Auto - Railgun Damager (test) + + + Damage - per pulse + implementation.handlers[1].action.damage.amount + + + + + 0 + + + + + + 0.6 + 12.0 + + + -6.5, 0.0 + + + + + + + + + + + 4.0 + 2 + + 0.0, 6.5 + + + + 512 + 129 + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 01 + + + Tags + implementation.actor["Tags"] + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Parts/Turret, Auto - Railgun + + Damage Amount + 100.0 + Defense + 20 + Health + 800 + Tags + autoturret, faction_allied + + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 02 + + + Tags + implementation.actor["Tags"] + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Parts/Turret, Auto - Railgun + + Damage Amount + 120.0 + Defense + 25 + Health + 1000 + Tags + autoturret, faction_allied + + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 03 + + + Tags + implementation.actor["Tags"] + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Parts/Turret, Auto - Railgun + + Damage Amount + 140.0 + Defense + 30 + Health + 1200 + Tags + autoturret, faction_allied + + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 04 + + + Tags + implementation.actor["Tags"] + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Parts/Turret, Auto - Railgun + + Damage Amount + 160.0 + Defense + 35 + Health + 1400 + Tags + autoturret, faction_allied + + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 05 + + + Tags + implementation.actor["Tags"] + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Parts/Turret, Auto - Railgun + + Damage Amount + 180.0 + Defense + 40 + Health + 1600 + Tags + autoturret, faction_allied + + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 06 + + + Tags + implementation.actor["Tags"] + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Parts/Turret, Auto - Railgun + + Damage Amount + 200.0 + Defense + 45 + Health + 1800 + Tags + autoturret, faction_allied + + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 07 + + + Tags + implementation.actor["Tags"] + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Parts/Turret, Auto - Railgun + + Damage Amount + 220.0 + Defense + 50 + Health + 2000 + Tags + autoturret, faction_allied + + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 08 + + + Tags + implementation.actor["Tags"] + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Parts/Turret, Auto - Railgun + + Damage Amount + 240.0 + Defense + 55 + Health + 2200 + Tags + autoturret, faction_allied + + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 09 + + + Tags + implementation.actor["Tags"] + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Parts/Turret, Auto - Railgun + + Damage Amount + 260.0 + Defense + 60 + Health + 2400 + Tags + autoturret, faction_allied + + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 10 + + + Tags + implementation.actor["Tags"] + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Parts/Turret, Auto - Railgun + + Damage Amount + 280.0 + Defense + 65 + Health + 2600 + Tags + autoturret, faction_allied + + + + + + Dynamic/Energy-Consuming Objects/Vending Machine, base + + + Dynamic/Energy-Consuming Objects/Vending Machines/Vending Machine - Health Capsule + + + + + Dynamic/Energy-Consuming Objects/Vending Machines/Parts/Vending Machine, base - Grant Item + + + Cost + implementation.handlers[0].action.actions[0].amount, implementation.handlers[0].action_desc.amount, implementation.sprite.model["Cost"] + + + Item + implementation.handlers[0].action.actions[0].action.item + + + Variant + implementation.sprite.model["Variant"] + + + Colorization + implementation.sprite.model["Colorization"] + + + + + + world/dynamic/energy/vendingmachine_01.dat + + Colorization + Red (default) + Cost + 2 + Variant + Capsule + + + + + 1.48 + 1.24 + + + + + + + + false + false + + + + + Sound Effect + + Sound + + Clip/Default + + File + sound/effect/world/energy/energy_vending_use_01.ogg + Range + Medium + + + + + + + + + + + + 36 + 79 + + + + Dynamic/Energy-Consuming Objects/Vending Machines/Vending Machine - Fire Vial + + + Dynamic/Energy-Consuming Objects/Vending Machines/Parts/Vending Machine, base - Grant Item + + Colorization + Red (default) + Cost + 0 + Item + + Pickup/Vial/Fire Vial + + Variant + Vial + + + + + + Dynamic/Energy-Consuming Objects/Vending Machines/Vending Machine - Health Capsule + + + Dynamic/Energy-Consuming Objects/Vending Machines/Parts/Vending Machine, base - Grant Item + + Colorization + Red (default) + Cost + 0 + Item + + Pickup/Capsule/Health Capsule + + Variant + Capsule + + + + + + Dynamic/Gate/Gate Display + + + Gate Index + implementation.gate_index + + + + + + world/dynamic/gates/arcade_pillar/model.dat + + Blue + 0.0 + Dark + 0.0 + Green + 0.0 + Light + 0.0 + Red + 0.0 + Teir1 Ring1 + + Teir1 Ring2 + + Teir2 Ring1 + + Teir2 Ring2 + + Teir3 Ring1 + + Teir3 Ring2 + + Tray + + Tube + + + + + + + + + + Dynamic/Help Bubble/Help + + + Message + implementation.sprite.message + + + Title + implementation.sprite.title + + + Title Color + implementation.sprite.title_color + + + Width + implementation.sprite.width + + + Icon + implementation.sprite.icon + + + Visible Distance + implementation.sprite.visible_distance + + + Tags + implementation.tags.derived + + + + + m.test + + 0 + 0 + + + + + + + + + + Dynamic/Help Bubble/Recon + + + Message + implementation.sprite.message + + + Title + implementation.sprite.title + + + Title Color + implementation.sprite.title_color + + + Icon + implementation.sprite.icon + + + Visible Distance + implementation.sprite.visible_distance + + + Tags + implementation.tags.derived + + + + + m.test + true + + 0 + 0 + + + + + + + + + + Dynamic/Lift Objects/Clay Pot + + + Dynamic/Lift Objects/Parts/Pot (Base) + + Ailment + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Blast Radius + 0.5 + Destruction + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/pot_smash.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_potshatter.dat + + + + Extra Action + + + Model + + item/live/pot/model.dat + + Variant + Default + + + Tags + + Thrown Collision Mask + 137 + + + + + + Dynamic/Lift Objects/Clay Pot (WhiteSpace) + + + Dynamic/Lift Objects/Parts/Pot (Base) + + Ailment + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Blast Radius + 0.5 + Destruction + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/block_ghost.ogg + Gain + 1.0 + Pitch + 2.0 + Range + Medium + + + Transform + + + Transient + + world/dynamic/block/whitespace/fx_pixelbreak.dat + + + + Extra Action + + + Model + + item/live/whitekey/model.dat + + Variant + White + + + Tags + + Thrown Collision Mask + 137 + + + + + + Dynamic/Lift Objects/Fire Pot + + + Dynamic/Lift Objects/Parts/Pot (Base) + + Ailment + + Fire + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Blast Radius + 1.0 + Destruction + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/pot_fire_smash.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_potshatter_fire.dat + + + + Extra Action + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 2 + + Fire + + Chance + 1.0 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 4 Seconds + Nature + Neutral + + + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 2 + + Fire 2 + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 4 Seconds + Nature + Neutral + + + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 2 + + Fire 3 + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 4 Seconds + Nature + Neutral + + + + + + + + Bomb/Monster/ScorcherTorch + + Damage + + 2 + + Fire 3 + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Lifetime + 4 Seconds + Nature + Neutral + + + + + Model + + item/live/pot/model.dat + + Variant + Fire + + + Tags + + Thrown Collision Mask + 137 + + + + + + Dynamic/Lift Objects/Gold Key + + + + item/live/goldkey/model.dat + + + + 0.2 + + + + + ui/minimap/gold_key.png + + + + 3 + 500 + 3.0 + gold_unlock + false + + + + Dynamic/Lift Objects/Gold Key (WhiteSpace) + + + + item/live/whitekey/model.dat + + Variant + Gold + + + + + 0.2 + + + + + ui/minimap/gold_key.png + + + + 3 + 500 + 3.0 + gold_unlock + false + + + + Dynamic/Lift Objects/Heavy Statue + + + Dynamic/Lift Objects/Parts/Heavy Weight (Base) + + Model + + item/live/statue/model.dat + + + + + + + Dynamic/Lift Objects/Liftable Snipe + + + + character/npc/snipe/model.dat + + Color 1 + 1291 + + + + + 0.2 + + 500 + 3.0 + + + + Dynamic/Lift Objects/Oil Pot + + + Dynamic/Lift Objects/Parts/Pot (Base) + + Ailment + + Blast Radius + 1.0 + Destruction + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Compound + + Sounders + + + + Clip/Default + + File + sound/effect/world/pot_smash.ogg + Range + Medium + + + + + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/jelly_death.ogg + Gain + 0.8 + Pitch + 0.6 + Range + Medium + + + + + + + Transform + + + Transient + + particle/fx_potshatter.dat + + + + Extra Action + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Bomb/Monster/Oil Slick + + + + + Model + + item/live/pot/model.dat + + Variant + Oil + + + Tags + + Thrown Collision Mask + 137 + + + + + + Dynamic/Lift Objects/Parts/Heavy Weight (Base) + + + Model + implementation.sprite.model + + + + + + item/live/pot/model.dat + + Variant + Default + + + + + 0.45 + + + (Heavy) + + + + + + + + 137 + 12.0 + 1300 + 6.0 + false + 1500 + + + + Dynamic/Lift Objects/Parts/Pot (Base) + + + Model + implementation.sprite.model + + + Thrown Collision Mask + implementation.thrown_collision_mask + + + Destruction + implementation.sprite.destruction_transient + + + Ailment + implementation.handlers[0].action.actions[0].damage.damages[0].status_condition + + + Blast Radius + implementation.handlers[0].action.actions[0].region.expansion + + + Extra Action + implementation.handlers[0].action.actions[2] + + + Tags + implementation.tags.derived + + + + + + item/live/pot/model.dat + + Variant + Default + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/brazier_break.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_potshatter.dat + + + + + + 0.45 + + + + + + + + + + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + PC/Damage/Base/Default + + 2 + + + + + + + + + + + + + land + + + 514 + 137 + 11.69 + 650 + 3.5 + 137 + 1500 + + + + Dynamic/Lift Objects/Special Pot + + + Dynamic/Lift Objects/Parts/Pot (Base) + + Ailment + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Blast Radius + 0.5 + Destruction + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/pot_smash.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_potshatter.dat + + + + Extra Action + + + Model + + item/live/pot/model.dat + + Variant + Default + + + Tags + + Thrown Collision Mask + 137 + + + + + + Dynamic/Lift Objects/Throwing Vial + + + Colorizations + implementation.sprite.model["Texture"]["Colorizations"] + + + Item + implementation.item + + + Destruction Transient + implementation.sprite.destruction_transient + + + Icon File + implementation.sprite.model["Texture"]["File"] + + + + + 1 + + item/drop/model.dat + + Icon Halo + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 513 + + + 769 + + + 1025 + + + File + ui/icon/inventory/icon_vial.png + + + Variant + item + + + + + 0.35 + + 137 + 12.0 + 1300 + 6.0 + 1 + 137 + 1500 + + + + Dynamic/Lift Objects/Water Pot + + + Dynamic/Lift Objects/Parts/Pot (Base) + + Ailment + + Blast Radius + 0.5 + Destruction + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/jelly/jelly_lunge_03.ogg + Gain + 1.0 + Pitch + 2.0 + Range + Long + + + Transform + + + Transient + + + + Extra Action + + + + + Basic + + Lifespan + 10000 + Model + + particle/fx_watersplash.dat + + + + + + 36 + + + + + + + + Model + + item/live/waterball/model.dat + + Tags + + Thrown Collision Mask + 136 + + + + + + Dynamic/Misc/Damage Pad + + + Actor + implementation.actor["Actor"] + + + Delay + implementation.actor["Delay"] + + + Damage + implementation.actor["Damage"].amount + + + + + Dynamic/Misc/Respawn Pad + + Actor + + Damage + + + Delay + 3000 + Warning + 2000 + + + + + + Dynamic/Misc/Damage Pad (Table) + + + Spawn Table + implementation.actor["Spawn Table"] + + + Delay + implementation.actor["Delay"] + + + Damage + implementation.actor["Damage"].amount + + + + + Dynamic/Misc/Respawn Pad (Table) + + Damage + + + Delay + 3000 + Spawn Table + + Warning + 2000 + + + + + + Dynamic/Misc/Elevator (24.5 Tall) + + + Action + implementation.state_actions[1] + + + + + + + + world/dynamic/elevator/next/animation/empty.dat + + + + + world/dynamic/elevator/univeral/animations/sequential_activate-intralevel.dat + + + + + + 3.0 + 3.0 + + + + + + + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + + + Dynamic/Misc/Heal Pad + + + Interval + implementation.handlers[0].interval + + + + Heart + + + Health + implementation.handlers[0].action.condition.action.current + + + Heart Actor + implementation.sprite.model["Preview"]["Actor"] + + + + + + 1 + + Health + 40 + Heart Actor + + Item/Consumable/Hearts/Heart + + + + + + 2 + + Health + 80 + Heart Actor + + Item/Consumable/Hearts/Heart 2 + + + + + + 3 + + Health + 120 + Heart Actor + + Item/Consumable/Hearts/Heart 3 + + + + + 1 + + + + + + world/dynamic/respawnpad/model.dat + + Preview + + model/wrapper/actorwrapper.dat + + Actor + + + + + + + + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + particle/fx_heal.dat + + + + + + + + 4 + 0 + + + + Dynamic/Misc/Respawn Pad + + + Actor + implementation.actor + + + Delay + implementation.delay + + + Warning + implementation.warning + + + Damage + implementation.damage + + + + + + world/dynamic/respawnpad/model.dat + + Preview + + + + + world/dynamic/respawnpad/parts/fx_spawnin.dat + + + world/dynamic/respawnpad/parts/fx_countdown.dat + + + + + 0 + 0 + + + + Dynamic/Misc/Respawn Pad (Table) + + + Spawn Table + implementation.spawn_table + + + Delay + implementation.delay + + + Warning + implementation.warning + + + Damage + implementation.damage + + + + + + world/dynamic/respawnpad/model.dat + + Preview + + + + + world/dynamic/respawnpad/parts/fx_spawnin.dat + + + world/dynamic/respawnpad/parts/fx_countdown.dat + + + + + 0 + 0 + + + + Dynamic/Misc/Sprite Objects/Sprite Sanctuary + + + (On Signal) + implementation.state_actions[1].actions[0].name + + + (Off Signal) + implementation.state_actions[0].name + + + (Target Tag) + implementation.state_actions[0].target.tag, implementation.state_actions[1].actions[0].target.tag + + + Tag + implementation.tags.tags[0] + + + Activation Count + implementation.handlers[0].action.condition.expression.second_operand.value + + + + + + world/prop/castle_fire/model_sanctuary.dat + + + + + animation/procedural/defualt.dat + + implementation + + + + + + + + animation/procedural/defualt.dat + + implementation + + + + + + + + + 2.0 + + + + + + + + + 38 + + + + + + + + 0 + 0 + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/player_res.ogg + Gain + 1.0 + Pitch + 0.7 + Range + Medium + + + Transform + + 1.5 + + Transient + + particle/charging_release-shockwave.dat + + + + + + + + + + + + + Dynamic/Misc/Sprite Objects/Sprite Sanctuary (Charred Court) + + + (On Signal) + implementation.state_actions[1].actions[0].name + + + (Off Signal) + implementation.state_actions[0].name + + + (Target Tag) + implementation.state_actions[0].target.tag, implementation.state_actions[1].actions[0].target.tag + + + Tag + implementation.tags.tags[0] + + + Activation Count + implementation.handlers[0].action.condition.expression.second_operand.value + + + + + + world/prop/castle_fire/model_sanctuary.dat + + + + + animation/procedural/defualt.dat + + implementation + + + + + + + + animation/procedural/defualt.dat + + implementation + + + + + + + + + 2.0 + + + + + + + + + 38 + + + + + + + + 0 + 0 + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/player_res.ogg + Gain + 1.0 + Pitch + 0.7 + Range + Medium + + + Transform + + 1.5 + + Transient + + particle/charging_release-shockwave.dat + + + + + + + + + + find_sprites + + + clear_sprites + + m.clear_sprites + + + + + + + + + + + Dynamic/Misc/Sprite Objects/Sprite Well + + + Delay + implementation.delay + + + + + 2 + 1 + + world/prop/castle_fire/spritewell/model.dat + + Mode + Active + Preview + + + + + world/dynamic/respawnpad/parts/fx_spawnin.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/monster/jelly/jelly_little_death_02.ogg + Gain + 1.0 + Pitch adjust + Higher 2 + Range + Medium + + + Transform + + + Transient + + particle/fx_watersplash.dat + + + + + + 0.49 + + 32 + 0 + + Dynamic/Lift Objects/Water Pot + + + + + Dynamic/Misc/Sprite Objects/Sprite Well (Inactive) + + + Delay + implementation.handlers[0].action.actor["Delay"] + + + Activation Tag + implementation.handlers[1].name + + + Tag + implementation.tags.tags[0] + + + + + 2 + 1 + + world/prop/castle_fire/spritewell/model.dat + + Mode + Inactive + Preview + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/jelly/jelly_big_death_01.ogg + Gain + 1.0 + Pitch + 1.2 + Range + Medium + + + Transform + + 2.0 + 0.0, 0.0, 0.5 + + Transient + + particle/fx_pickupitem.dat + + + + + + 0.49 + + + + + + Dynamic/Misc/Sprite Objects/Sprite Well + + Delay + 0 + + + + + + + + 32 + 0 + + + + Dynamic/Misc/WhiteSpace/Damage Pad + + + Actor + implementation.actor["Actor"] + + + Delay + implementation.actor["Delay"] + + + Damage + implementation.actor["Damage"].amount + + + + + Dynamic/Misc/WhiteSpace/Respawn Pad + + Actor + + Damage + + + Delay + 3000 + Warning + 2000 + + + + + + Dynamic/Misc/WhiteSpace/Respawn Pad + + + Actor + implementation.actor + + + Delay + implementation.delay + + + Warning + implementation.warning + + + Damage + implementation.damage + + + + + + world/dynamic/respawnpad/model_whitespace.dat + + + world/dynamic/respawnpad/parts/fx_spawnin.dat + + + world/dynamic/respawnpad/parts/fx_countdown.dat + + + + + 0 + 0 + + + + Dynamic/Misc/WhiteSpace/Respawn Pad (Table) + + + Spawn Table + implementation.spawn_table + + + Delay + implementation.delay + + + Warning + implementation.warning + + + Damage + implementation.damage + + + + + + world/dynamic/respawnpad/model_whitespace.dat + + + world/dynamic/respawnpad/parts/fx_spawnin.dat + + + world/dynamic/respawnpad/parts/fx_countdown.dat + + + + + 0 + 0 + + + + Dynamic/Monster Objects/Grim Totem + + + + item/live/totem/grimtotem_01.dat + + + + 0.4 + + + + + + + + Objects/Monster Objects/Grim Totem/Zombie resurrection, pulse + + + + + + + 0.8 + 500 + 6.0 + false + 43 + + + + Dynamic/Switch/Button/One-Time + + + (On Signal) + implementation.state_actions[1].name + + + (On Tag) + implementation.state_actions[1].target.tag + + + Tag + implementation.tags.tags[0] + + + + + + world/dynamic/switch/button/model.dat + + + + + world/dynamic/switch/button/parts/animation_up.dat + + + + + world/dynamic/switch/button/parts/animation_down.dat + + FX Size + Small + + + + + + + 0.4 + + + (tag 1) + + + + + + + + next + + + 4 + + + 4 + 4 + + + + + + + + + + + + Dynamic/Switch/Button/One-Time (Multi) + + + On Signal + implementation.state_actions[1].actions[0].name + + + On Tag + implementation.state_actions[1].actions[0].target.tag + + + Actions + implementation.state_actions[1].actions[1].actions + + + Tag + implementation.tags.tags[0] + + + + + + world/dynamic/switch/button/model.dat + + + + + world/dynamic/switch/button/parts/animation_up.dat + + + + + world/dynamic/switch/button/parts/animation_down.dat + + FX Size + Small + + + + + + + 0.4 + + + (tag 1) + + + + + + + + next + + + 4 + + + 4 + 4 + + + + + + + + + + + + + + + + + + Dynamic/Switch/Button/Timed + + + (On Signal) + implementation.state_actions[1].name + + + (On Tag) + implementation.state_actions[1].target.tag + + + (Off Signal) + implementation.state_actions[0].name + + + (Off Tag) + implementation.state_actions[0].target.tag + + + Tag + implementation.tags.tags[0] + + + Delay + implementation.handlers[0].under_action.delay, implementation.handlers[0].condition.time + + + + + + world/dynamic/switch/button/model.dat + + + + + world/dynamic/switch/button/parts/animation_up.dat + + + + + world/dynamic/switch/button/parts/animation_down.dat + + FX Size + Small + + + + + + + 0.4 + + + (tag 1) + + + + + next + + 4 + + + 1 + + + prev + + + + + 0 + 0 + + + + + + + + + + + + + + Dynamic/Switch/Button/WhiteSpace/One-Time + + + (On Signal) + implementation.state_actions[1].name + + + (On Tag) + implementation.state_actions[1].target.tag + + + Tag + implementation.tags.tags[0] + + + + + + world/dynamic/switch/button/model_whitespace.dat + + + + + world/dynamic/switch/button/parts/animation_show.dat + + Transient + + + + + + + world/dynamic/switch/button/parts/animation_hide.dat + + Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/enemy_heal_cast_01.ogg + Gain + 1.0 + Pitch + 2.0 + Range + Medium + + + Transform + + + Transient + + world/dynamic/switch/button/fx_whitespace-hit.dat + + + + + + + + + + 0.4 + + + + + + + + 0 + 0 + + + + + + + + Dynamic/Switch/Button/WhiteSpace/One-Time (Multi) + + + On Signal + implementation.state_actions[1].actions[0].name + + + On Tag + implementation.state_actions[1].actions[0].target.tag + + + Actions + implementation.state_actions[1].actions[1].actions + + + + + + world/dynamic/switch/button/model_whitespace.dat + + + + + world/dynamic/switch/button/parts/animation_show.dat + + Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_explosive.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/explosive_block.dat + + Block + false + + + + + + + + + + world/dynamic/switch/button/parts/animation_down.dat + + FX Size + Small + + + + + + + 0.4 + + + + + + + + 0 + 0 + + + + + + + + + + + + + + Dynamic/Switch/Button/WhiteSpace/Timed + + + (On Signal) + implementation.state_actions[1].name + + + (On Tag) + implementation.state_actions[1].target.tag + + + Tag + implementation.tags.tags[0] + + + Delay + implementation.handlers[0].under_action.delay + + + + + + world/dynamic/switch/button/model_whitespace.dat + + + + + world/dynamic/switch/button/parts/animation_show.dat + + Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/block_explosive.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/explosive_block.dat + + Block + false + + + + + + + + + + world/dynamic/switch/button/parts/animation_down.dat + + FX Size + Small + + + + + + + 0.4 + + + + + + + + + + 0 + 0 + + + + + + + + Dynamic/Switch/Lever/3-Point Indicator + + + Activation Action + implementation.state_actions[3] + + + Tag + implementation.tags.derived + + + + + + world/dynamic/switch/multistate/model.dat + + Variant + Active + + + + + + world/dynamic/switch/multistate/parts/animation_disabled.dat + + + + + world/dynamic/switch/multistate/parts/animation_red.dat + + + + + world/dynamic/switch/multistate/parts/animation_yellow.dat + + + + + world/dynamic/switch/multistate/parts/animation_green.dat + + + + + + + + + + + + + + + + + + + + Dynamic/Switch/Lever/Damage Timed Toggle + + + Delay + implementation.actor["Handlers"][0].action.action.actions[1].delay, implementation.actor["Handlers"][0].action.condition.time + + + State 0 Signal + implementation.actor["State 0 Signal"] + + + State 0 Tag + implementation.actor["State 0 Tag"] + + + Start 1 Signal + implementation.actor["State 1 Signal"] + + + State 1 Tag + implementation.actor["State 1 Tag"] + + + + + Dynamic/Switch/Lever/Toggle + + Handlers + + + + + + + + + next + + + + prev + + + + + + 2 + + + State 0 Signal + (State 0 Signal) + State 0 Tag + (State 0 Tag) + State 1 Signal + (State 1 Signal) + State 1 Tag + (State 1 Tag) + Tags + + + + + + + Dynamic/Switch/Lever/Damage Toggle + + + (State 0 Signal) + implementation.actor["State 0 Signal"] + + + (State 0 Tag) + implementation.actor["State 0 Tag"] + + + (State 1 Signal) + implementation.actor["State 1 Signal"] + + + (State 1 Tag) + implementation.actor["State 1 Tag"] + + + + + Dynamic/Switch/Lever/Toggle + + Handlers + + + + + open + + + next + + + prev + + + 2 + + + State 0 Signal + (State 0 Signal) + State 0 Tag + (State 0 Tag) + State 1 Signal + (State 1 Signal) + State 1 Tag + (State 1 Tag) + Tags + + + + + + + Dynamic/Switch/Lever/Damage Toggle (Puzzle) + + + (State 0 Signal) + implementation.actor["State 0 Signal"] + + + (State 0 Tag) + implementation.actor["State 0 Tag"] + + + (State 1 Signal) + implementation.actor["State 1 Signal"] + + + (State 1 Tag) + implementation.actor["State 1 Tag"] + + + (Toggle Tag) + implementation.actor["Tags"].tags[0] + + + (Left Toggle Tag) + implementation.actor["Handlers"][0].action.action.target.targets[1].tag + + + (Right Toggle Tag) + implementation.actor["Handlers"][0].action.action.target.targets[2].tag + + + + + Dynamic/Switch/Lever/Toggle + + Handlers + + + + + 2 + + + State 0 Signal + (State 0 Signal) + State 0 Tag + (State 0 Tag) + State 1 Signal + (State 1 Signal) + State 1 Tag + (State 1 Tag) + Tags + + + + + + + Dynamic/Switch/Lever/One-Time + + + (Activate Signal) + implementation.state_actions[1].name + + + (Activate Tag) + implementation.state_actions[1].target.tag + + + Tag + implementation.tags.tags[0] + + + + + + world/dynamic/switch/multistate/model.dat + + Variant + Active + + + + + + world/dynamic/switch/multistate/parts/animation_red.dat + + + + + world/dynamic/switch/multistate/parts/animation_green.dat + + + + + + + + (tag 1) + + + + + + + + next + + + 2 + + + + + + + + + + + + + + Dynamic/Switch/Lever/Toggle + + + Handlers + implementation.handlers + + + State 0 Signal + implementation.state_actions[0].name + + + State 0 Tag + implementation.state_actions[0].target.tag + + + State 1 Signal + implementation.state_actions[1].name + + + State 1 Tag + implementation.state_actions[1].target.tag + + + Tags + implementation.tags.derived + + + + + + world/dynamic/switch/multistate/model.dat + + Variant + Active + + + + + + world/dynamic/switch/multistate/parts/animation_violet.dat + + + + + world/dynamic/switch/multistate/parts/animation_yellow.dat + + + + + + + + + + + + + + + + + + + + Dynamic/Switch/Lever/WhiteSpace/3-Point Indicator + + + Activation Action + implementation.state_actions[3] + + + Tag + implementation.tags.derived + + + + + + world/dynamic/switch/multistate/model.dat + + Variant + Active + + + + + + world/dynamic/switch/multistate/parts/animation_disabled.dat + + + + + world/dynamic/switch/multistate/parts/animation_red.dat + + + + + world/dynamic/switch/multistate/parts/animation_yellow.dat + + + + + world/dynamic/switch/multistate/parts/animation_green.dat + + + + + + + + + + + + + + + + + + + + Dynamic/Switch/Lever/WhiteSpace/Damage Timed Toggle + + + Delay + implementation.actor["Handlers"][0].action.action.actions[1].delay + + + State 0 Signal + implementation.actor["State 0 Signal"] + + + State 0 Tag + implementation.actor["State 0 Tag"] + + + Start 1 Signal + implementation.actor["State 1 Signal"] + + + State 1 Tag + implementation.actor["State 1 Tag"] + + + + + Dynamic/Switch/Lever/Toggle + + Handlers + + + + + + + + + + + 2 + + + State 0 Signal + (State 0 Signal) + State 0 Tag + (State 0 Tag) + State 1 Signal + (State 1 Signal) + State 1 Tag + (State 1 Tag) + Tags + + + + + + + Dynamic/Switch/Lever/WhiteSpace/Damage Toggle + + + (State 0 Signal) + implementation.actor["State 0 Signal"] + + + (State 0 Tag) + implementation.actor["State 0 Tag"] + + + (State 1 Signal) + implementation.actor["State 1 Signal"] + + + (State 1 Tag) + implementation.actor["State 1 Tag"] + + + + + Dynamic/Switch/Lever/Toggle + + Handlers + + + + + 2 + + + State 0 Signal + (State 0 Signal) + State 0 Tag + (State 0 Tag) + State 1 Signal + (State 1 Signal) + State 1 Tag + (State 1 Tag) + Tags + + + + + + + Dynamic/Switch/Lever/WhiteSpace/Damage Toggle (Puzzle) + + + (State 0 Signal) + implementation.actor["State 0 Signal"] + + + (State 0 Tag) + implementation.actor["State 0 Tag"] + + + (State 1 Signal) + implementation.actor["State 1 Signal"] + + + (State 1 Tag) + implementation.actor["State 1 Tag"] + + + (Toggle Tag) + implementation.actor["Tags"].tags[0] + + + (Left Toggle Tag) + implementation.actor["Handlers"][0].action.action.target.targets[1].tag + + + (Right Toggle Tag) + implementation.actor["Handlers"][0].action.action.target.targets[2].tag + + + + + Dynamic/Switch/Lever/Toggle + + Handlers + + + + + 2 + + + State 0 Signal + (State 0 Signal) + State 0 Tag + (State 0 Tag) + State 1 Signal + (State 1 Signal) + State 1 Tag + (State 1 Tag) + Tags + + + + + + + Dynamic/Switch/Lever/WhiteSpace/One-Time + + + (Activate Signal) + implementation.state_actions[1].name + + + (Activate Tag) + implementation.state_actions[1].target.tag + + + + + + world/dynamic/switch/multistate/model.dat + + Variant + Active + + + + + + world/dynamic/switch/multistate/parts/animation_red.dat + + + + + world/dynamic/switch/multistate/parts/animation_green.dat + + + + + + + + + 2 + + + + + + + + + + Dynamic/Switch/Lever/WhiteSpace/Toggle + + + Handlers + implementation.handlers + + + State 0 Signal + implementation.state_actions[0].name + + + State 0 Tag + implementation.state_actions[0].target.tag + + + State 1 Signal + implementation.state_actions[1].name + + + State 1 Tag + implementation.state_actions[1].target.tag + + + Tags + implementation.tags.derived + + + + + + world/dynamic/switch/multistate/model.dat + + Variant + Active + + + + + + world/dynamic/switch/multistate/parts/animation_violet.dat + + + + + world/dynamic/switch/multistate/parts/animation_yellow.dat + + + + + + + + + + Dynamic/Switch/Party Platform/Base + + + Action + implementation.state_actions[1] + + + + + 2 + 1 + + world/dynamic/switch/button_large/model.dat + + + + + world/dynamic/switch/button/parts/animation_up.dat + + + + + world/dynamic/switch/button/parts/animation_down.dat + + FX Size + Large + + + + + + + 3.0 + 3.0 + + + + 4 + + + + + + + + + 4 + + + + + + + + + next + + + + + 4 + + + + + 4 + 4 + + + + + + + + + + + + + + + + Dynamic/Switch/Party Platform/Party (WhiteSpace) + + + Action + implementation.state_actions[1] + + + + + 2 + 1 + + world/dynamic/switch/button_large/model_whitespace.dat + + + + + world/dynamic/switch/button/parts/animation_show.dat + + Transient + + + + + + + world/dynamic/switch/button/parts/animation_hide.dat + + Transient + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/enemy_heal_cast_01.ogg + Gain + 1.0 + Pitch + 1.5 + Range + Medium + + + Transform + + + Transient + + world/dynamic/switch/button_large/fx_whitespace-hit.dat + + + + + + + + + + 3.0 + 3.0 + + + + + + + + + + + + + + + + + + 0 + 0 + + + + + + + + + + Dynamic/Switch/Pressure Plate/Base + + + (On Signal) + implementation.state_actions[1].name + + + (Off Signal) + implementation.state_actions[0].name + + + (Target Tag) + implementation.state_actions[0].target.tag, implementation.state_actions[1].target.tag + + + Tag + implementation.tags.tags[0] + + + + + + world/dynamic/switch/button/model_pressure.dat + + + + + world/dynamic/switch/button/parts/animation_up.dat + + + + + world/dynamic/switch/button/parts/animation_down.dat + + FX Size + Small + + + + + + + 0.4 + + + (tag 1) + + + + + next + + 5 + + + + + + + + (Heavy) + + + + + + 1 + + prev + + + + 0 + 0 + + + + + + + + + + + + + + Dynamic/Traps and Hazards/Firestorm Fire Tile + + + Tags + implementation.tags.derived + + + + + + world/dynamic/traps_n_hazards/fire_evil/fire_1unit.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Transform + + + Transient + + particle/fx_fire_hazard_destroy.dat + + + + + + 0.8 + 0.8 + + + + + + + + + + + + Monster/Damage/Attack Base + + ELEMENTAL + + Monster/Split/Split - Full + + + + 8 + + Fire 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + 160 + + + + Dynamic/Traps and Hazards/Floor/Fire + + + UP Animation + implementation.sprite.states[2].animation + + + + Warning and Damage Size + + + Intersect Shape + implementation.handlers[0].shape.shape + + + Damage Size + implementation.handlers[0].action.action.fire_action["Damage Size"], implementation.sprite.states[1].animation["Warning Flash Size"] + + + + + + 2x2 + + Damage Size + 2x2 + Intersect Shape + + 1.5 + 1.5 + + Warning Flash Size + 2x2 + + + + + 3x2 + + Damage Size + 3x2 + Intersect Shape + + 1.5 + 2.5 + + Warning Flash Size + 3x2 + + + + + 3x3 + + Damage Size + 3x3 + Intersect Shape + + 2.5 + 2.5 + + Warning Flash Size + 3x3 + + + + + 4x2 + + Damage Size + 4x2 + Intersect Shape + + 1.5 + 3.5 + + Warning Flash Size + 4x2 + + + + + 4x4 + + Damage Size + 4x4 + Intersect Shape + + 3.5 + 3.5 + + Warning Flash Size + 4x4 + + + + + 5x2 + + Damage Size + 5x2 + Intersect Shape + + 1.5 + 4.5 + + Warning Flash Size + 5x2 + + + + + 5x5 + + Damage Size + 5x5 + Intersect Shape + + 4.5 + 4.5 + + Warning Flash Size + 5x5 + + + + + 6x2 + + Damage Size + 6x2 + Intersect Shape + + 1.5 + 5.5 + + Warning Flash Size + 6x2 + + + + + 6x4 + + Damage Size + 6x4 + Intersect Shape + + 3.5 + 5.5 + + Warning Flash Size + 6x4 + + + + 2x2 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + + world/dynamic/traps_n_hazards/floor/shared/actor_base.dat + + + + + world/dynamic/traps_n_hazards/floor/shared/animations/stop.dat + + + + + world/dynamic/traps_n_hazards/floor/shared/animations/warning.dat + + Variant + Fire + Warning Flash Size + 2x2 + + + + + + world/dynamic/traps_n_hazards/floor/fire/animations/start_2x2.dat + + + + + + + + + + + + UP + + + + Traps and Hazards/Trap, floor + + Damage Size + 2x2 + Split Damage Type + ELEMENTAL + Status Infliction + Fire + + + + + + + + + 0.5 + + + 0 + 0 + + + + Dynamic/Traps and Hazards/Floor/Freeze + + + UP Animation + implementation.sprite.states[2].animation + + + + Warning and Damage Size + + + Intersect Shape + implementation.handlers[0].shape.shape + + + Damage Size + implementation.handlers[0].action.action.fire_action["Damage Size"], implementation.sprite.states[1].animation["Warning Flash Size"] + + + + + + 2x2 + + Damage Size + 2x2 + Intersect Shape + + 1.5 + 1.5 + + + + + + 3x2 + + Damage Size + 3x2 + Intersect Shape + + 1.5 + 2.5 + + + + + + 3x3 + + Damage Size + 3x3 + Intersect Shape + + 2.5 + 2.5 + + + + + + 5x2 + + Damage Size + 5x2 + Intersect Shape + + 1.5 + 4.5 + + + + + + 5x5 + + Damage Size + 5x5 + Intersect Shape + + 4.5 + 4.5 + + + + + 2x2 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + + world/dynamic/traps_n_hazards/floor/shared/actor_base.dat + + + + + world/dynamic/traps_n_hazards/floor/shared/animations/stop.dat + + + + + world/dynamic/traps_n_hazards/floor/shared/animations/warning.dat + + Variant + Freeze + Warning Flash Size + 2x2 + + + + + + world/dynamic/traps_n_hazards/floor/freeze/animations/start_2x2.dat + + + + + + + + + + + + UP + + + + Traps and Hazards/Trap, floor + + Damage Size + 2x2 + Split Damage Type + ELEMENTAL + Status Infliction + Freeze + + + + + + + + + 0.5 + + + + + + Dynamic/Traps and Hazards/Floor/Poison + + + UP Animation + implementation.sprite.states[2].animation + + + + Warning and Damage Size + + + Intersect Shape + implementation.handlers[0].shape.shape + + + Damage Size + implementation.handlers[0].action.action.fire_action["Damage Size"], implementation.sprite.states[1].animation["Warning Flash Size"] + + + + + + 2x2 + + Damage Size + 2x2 + Intersect Shape + + 1.5 + 1.5 + + + + + + 3x2 + + Damage Size + 3x2 + Intersect Shape + + 1.5 + 2.5 + + + + + + 3x3 + + Damage Size + 3x3 + Intersect Shape + + 2.5 + 2.5 + + + + + + 5x2 + + Damage Size + 5x2 + Intersect Shape + + 1.5 + 4.5 + + + + + + 5x5 + + Damage Size + 5x5 + Intersect Shape + + 4.5 + 4.5 + + + + + 2x2 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + + world/dynamic/traps_n_hazards/floor/shared/actor_base.dat + + + + + world/dynamic/traps_n_hazards/floor/shared/animations/stop.dat + + + + + world/dynamic/traps_n_hazards/floor/shared/animations/warning.dat + + Variant + Poison + Warning Flash Size + 2x2 + + + + + + world/dynamic/traps_n_hazards/floor/poison/animations/start_2x2.dat + + + + + + + + + + + + UP + + + + Traps and Hazards/Trap, floor + + Damage Size + 2x2 + Split Damage Type + ELEMENTAL + Status Infliction + Poison + + + + + + + + + 0.5 + + + 0 + 0 + + + + Dynamic/Traps and Hazards/Floor/Shock + + + UP Animation + implementation.sprite.states[2].animation + + + + Warning and Damage Size + + + Intersect Shape + implementation.handlers[0].shape.shape + + + Damage Size + implementation.handlers[0].action.action.fire_action["Damage Size"], implementation.sprite.states[1].animation["Warning Flash Size"] + + + + + + 2x2 + + Damage Size + 2x2 + Intersect Shape + + 1.5 + 1.5 + + + + + + 3x2 + + Damage Size + 3x2 + Intersect Shape + + 1.5 + 2.5 + + + + + + 3x3 + + Damage Size + 3x3 + Intersect Shape + + 2.5 + 2.5 + + + + + + 5x2 + + Damage Size + 5x2 + Intersect Shape + + 1.5 + 4.5 + + + + + + 5x5 + + Damage Size + 5x5 + Intersect Shape + + 4.5 + 4.5 + + + + + 2x2 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + + world/dynamic/traps_n_hazards/floor/shared/actor_base.dat + + + + + world/dynamic/traps_n_hazards/floor/shared/animations/stop.dat + + + + + world/dynamic/traps_n_hazards/floor/shared/animations/warning.dat + + Variant + Shock + Warning Flash Size + 2x2 + + + + + + world/dynamic/traps_n_hazards/floor/shock/animations/start_2x2.dat + + + + + + + + + + + + UP + + + + Traps and Hazards/Trap, floor + + Damage Size + 2x2 + Split Damage Type + ELEMENTAL + Status Infliction + Shock + + + + + + + + + 0.5 + + + 0 + 0 + + + + Dynamic/Traps and Hazards/Floor/Spikes + + + Model + implementation.sprite.model["Attachment"] + + + + Warning and Damage Size + + + Intersect Shape + implementation.handlers[0].shape.shape + + + Damage Size + implementation.handlers[0].action.action.fire_action["Damage Size"], implementation.sprite.states[1].animation["Warning Flash Size"] + + + + + + 1x1 + + + 2x2 + D + 2x2 + Da + 2x2 + Dam + 2x2 + Dama + 2x2 + Damag + 2x2 + Damage + 2x2 + Damage S + 2x2 + Damage Si + 2x2 + Damage Siz + 2x2 + Damage Size + 1x1 + Intersect Shape + + 0.5 + 0.5 + + + + + + 2x1 + + Damage Size + 2x1 + Intersect Shape + + 0.5 + 1.5 + + + + + + 2x2 + + Damage Size + 2x2 + Intersect Shape + + 1.5 + 1.5 + + + + + + 3x2 + + Damage Size + 3x2 + Intersect Shape + + 1.5 + 2.5 + + + + + + 3x3 + + Damage Size + 3x3 + Intersect Shape + + 2.5 + 2.5 + + + + + + 5x2 + + Damage Size + 5x2 + Intersect Shape + + 1.5 + 4.5 + + + + + + 5x5 + + Damage Size + 5x5 + Intersect Shape + + 4.5 + 4.5 + + + + + 2x2 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + + world/dynamic/traps_n_hazards/floor/shared/actor_base_attach.dat + + Attachment + + + + + + + world/dynamic/traps_n_hazards/floor/spikes/animations/retract.dat + + + + + world/dynamic/traps_n_hazards/floor/spikes/animations/warning.dat + + Variant + Spike + Warning Flash Size + 2x2 + + + + + + world/dynamic/traps_n_hazards/floor/spikes/animations/extend.dat + + + + + + + + + + + + UP + + + + Traps and Hazards/Trap, floor + + Damage Size + 2x2 + Split Damage Type + PIERCING + Status Infliction + None + + + + + + + + + 0.5 + + + 0 + 0 + + + + Dynamic/Traps and Hazards/Siege Wheel/Parts/Wheel + + + Fuse + implementation.fuse + + + + + + world/dynamic/traps_n_hazards/siegewheel/model_wheel.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/world/props/wooden_crash_05.ogg + Gain + 1.0 + Pitch adjust + Lower 2 + Range + Medium + + + Transform + + + Transient + + world/dynamic/traps_n_hazards/siegewheel/fx_landingdebri.dat + + + + true + + + 3.0 + 3.0 + + + + + + + + + Monster/Damage/Attack Base + + 8 + true + + + + Monster/Damage/Attack Base -10 + + 2 + true + + + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + 2.0, 0.0 + 1000 + 10 + + + 0.5 + + + 3 + true + 0.01 + 10000 + + + + Dynamic/Traps and Hazards/Siege Wheel/Wheel Launcher + + + Interval + implementation.behavior["Interval"] + + + Wheel Fuse + implementation.attacks[0].ref["Fuse"] + + + Wave Tag + implementation.tags.tags[2] + + + + + + world/dynamic/traps_n_hazards/siegewheel/model_wheellauncher.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/world/props/wooden_crash_05.ogg + Gain + 1.0 + Pitch adjust + Lower 2 + Range + Medium + + + Transform + + + Transient + + world/dynamic/traps_n_hazards/siegewheel/fx_landingdebri.dat + + + + 2.0 + + + + world/dynamic/traps_n_hazards/siegewheel/animations/animation_idle.dat + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Custom/on_Hit/Wood + + Pitch shift + Lower 1 + + + Transform + + 1.25 + + Transient + + particle/fx_gethit_monster.dat + + + + + animation/common/spawn_scalein.dat + + Transform + + 1.7 + + Transient + + particle/fx_spawn_monster.dat + + + + + + 4.0 + 2.0 + + 160 + 0 + 0.0 + 0.0 + + Traps and Hazards/Wheel Launcher + + 120 + 800 + 1 + 30 + + Monster/Heal/Heal Base +05 + + 2 + 0.01 + true + 30 + 667 + 1 + 1000 + 0.0 + + + + Dynamic/Traps and Hazards/SiegeWheel + + Fire Speed + 1.0 + Fuse + 10000 + + + + + + + + + + + + + + 3.0 + 3.0 + + + 2.0, 0.0 + + + + + + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base +25 + + + Monster/Defense/Defense Base -10 + + + Monster/Defense/Defense Base + + + + + + + + + + Environment/Music + + + File + implementation.sprite.model["File"] + + + Stack + implementation.sprite.model["Stack"] + + + Override + implementation.sprite.model["Override"] + + + Fade In + implementation.sprite.model["Fade In"] + + + Fade Out + implementation.sprite.model["Fade Out"] + + + Tag + implementation.tags.tags[0] + + + Destruction Transient + implementation.sprite.destruction_transient + + + + + 0 + + world/environment/global_music_stack.dat + + Fade In + 0.0 + Fade Out + 0.0 + File + + Gain + 1.0 + Override + false + Stack + default + + + + model/scripted/play_sound_clip.dat + + File + + Gain + 1.0 + + + + + + + (tag 1) + + 0 + 0 + + + + Item/Consumable/Base + + + Model + implementation.sprite.model + + + Action + implementation.pickup_action + + + Party + implementation.party + + + Pickup Transient + implementation.sprite.pickupTransient + + + Sounder + implementation.sprite.destruction_transient["Sounder"] + + + Radius + implementation.shape.radius + + + Lifespan + implementation.lifespan + + + + + + item/drop/model.dat + + Icon Halo + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 519 + + + 774 + + + 1025 + + + File + particle/texture/icon/icon_heart_small.png + + + Variant + item + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/player_pickup.ogg + Gain + 1.0 + Range + Short + + + Transform + + + Transient + + particle/fx_pickupitem.dat + + + + + + 0.4 + + 16 + 10 + 16 + 3 + + 1 + + + + + Item/Consumable/Base (Vacuum) + + + Model + implementation.sprite.model + + + Action + implementation.pickup_action + + + Pickup Transient + implementation.sprite.pickupTransient + + + Sounder + implementation.sprite.destruction_transient["Sounder"] + + + + + + item/drop/model.dat + + Icon Halo + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 519 + + + 774 + + + 1025 + + + File + particle/texture/icon/icon_heart_small.png + + + Variant + item + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/player_pickup.ogg + Gain + 1.0 + Range + Short + + + Transform + + + Transient + + particle/fx_pickupitem.dat + + + + + + 0.4 + + 16 + 10 + 16 + 3 + 2.0 + 8.0 + + 1 + + + + + Item/Consumable/Crowns/Copper Crown + + + Item/Consumable/Base (Vacuum) + + Action + + 1 + + Model + + item/consumable/crown/model.dat + + color + copper + + + Pickup Transient + + particle/fx_getcoin.dat + + Coin type + Copper + + + Sounder + + Clip/Default (Gain) + + File + sound/effect/item/coin_acquire_01.ogg + Gain + 0.7 + Range + Medium + + + + + + + + Item/Consumable/Crowns/Copper-Silver Crown + + + Item/Consumable/Base (Vacuum) + + Action + + 5 + + Model + + item/consumable/crown/model.dat + + color + copper-silver + + + Pickup Transient + + particle/fx_getcoin.dat + + Coin type + Copper-Silver + + + Sounder + + Clip/Default (Gain) + + File + sound/effect/item/coin_acquire_01.ogg + Gain + 0.7 + Range + Medium + + + + + + + + Item/Consumable/Crowns/Gold Crown + + + Item/Consumable/Base (Vacuum) + + Action + + 50 + + Model + + item/consumable/crown/model.dat + + color + gold + + + Pickup Transient + + particle/fx_getcoin.dat + + Coin type + Gold + + + Sounder + + Clip/Default (Gain) + + File + sound/effect/item/coin_acquire_02.ogg + Gain + 0.7 + Range + Medium + + + + + + + + Item/Consumable/Crowns/Silver Crown + + + Item/Consumable/Base (Vacuum) + + Action + + 10 + + Model + + item/consumable/crown/model.dat + + color + silver + + + Pickup Transient + + particle/fx_getcoin.dat + + Coin type + Silver + + + Sounder + + Clip/Default (Gain) + + File + sound/effect/item/coin_acquire_02.ogg + Gain + 0.7 + Range + Medium + + + + + + + + Item/Consumable/Crowns/Silver-Gold Crown + + + Item/Consumable/Base (Vacuum) + + Action + + 25 + + Model + + item/consumable/crown/model.dat + + color + silver-gold + + + Pickup Transient + + particle/fx_getcoin.dat + + Coin type + Silver-Gold + + + Sounder + + Clip/Default (Gain) + + File + sound/effect/item/coin_acquire_02.ogg + Gain + 0.7 + Range + Medium + + + + + + + + Item/Consumable/Hearts/Dev/Omegapod + + + Item/Equip + + Dungeon Item + + Gear/Dungeon/Vitapod/Health +15 + + Model + + item/consumable/vitapod/model.dat + + Variant + sword + number + 15 + + + + + + + + Item/Consumable/Hearts/Dev/Super Vitapod + + + Item/Equip + + Dungeon Item + + Gear/Dungeon/Vitapod/Health +03 + + Model + + item/consumable/vitapod/model.dat + + Variant + sword + number + 3 + + + + + + + + Item/Consumable/Hearts/Dev/Vitapod + + + Item/Equip + + Dungeon Item + + Gear/Dungeon/Vitapod/Health +01 + + Model + + item/consumable/vitapod/model.dat + + Variant + sword + number + 1 + + + + + + + + Item/Consumable/Hearts/Heart + + + Item/Consumable/Base + + Action + + 40 + + Lifespan + 90000 + Model + + item/consumable/heart/model.dat + + Variant + small + + + Party + true + Pickup Transient + + Radius + 0.4 + Sounder + + Clip/Default (Gain) + + File + sound/effect/item/heart_acquire_01.ogg + Gain + 0.8 + Range + Medium + + + + + + + + Item/Consumable/Hearts/Heart 2 + + + Item/Consumable/Base + + Action + + 80 + + Lifespan + 90000 + Model + + item/consumable/heart/model.dat + + Variant + medium + + + Party + true + Pickup Transient + + Radius + 0.4 + Sounder + + Clip/Default (Gain) + + File + sound/effect/item/heart_acquire_01.ogg + Gain + 0.8 + Range + Medium + + + + + + + + Item/Consumable/Hearts/Heart 3 + + + Item/Consumable/Base + + Action + + 120 + + Lifespan + 90000 + Model + + item/consumable/heart/model.dat + + Variant + large + + + Party + true + Pickup Transient + + Radius + 0.4 + Sounder + + Clip/Default (Gain) + + File + sound/effect/item/heart_acquire_01.ogg + Gain + 0.8 + Range + Medium + + + + + + + + Item/Consumable/Heat/(Dev) Super Ember + + + Item/Consumable/Base (Vacuum) + + Action + + 1 + + Model + + item/consumable/heat/model.dat + + Size + Large + + + Pickup Transient + + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/heat_acquire.ogg + Gain + 1.0 + Range + Medium + + + + + + + + Item/Consumable/Heat/Ember 1 + + + Item/Consumable/Base (Vacuum) + + Action + + 1 + + Model + + item/consumable/heat/model.dat + + Size + Small + + + Pickup Transient + + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/heat_acquire.ogg + Gain + 1.0 + Range + Medium + + + + + + + + Item/Consumable/Heat/Ember 2 + + + Item/Consumable/Base (Vacuum) + + Action + + 5 + + Model + + item/consumable/heat/model.dat + + Size + Small + + + Pickup Transient + + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/heat_acquire.ogg + Gain + 1.0 + Range + Medium + + + + + + + + Item/Consumable/Heat/Ember 3 + + + Item/Consumable/Base (Vacuum) + + Action + + 10 + + Model + + item/consumable/heat/model.dat + + Size + Medium + + + Pickup Transient + + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/heat_acquire.ogg + Gain + 1.0 + Range + Medium + + + + + + + + Item/Consumable/Heat/Ember 4 + + + Item/Consumable/Base (Vacuum) + + Action + + 25 + + Model + + item/consumable/heat/model.dat + + Size + Large + + + Pickup Transient + + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/heat_acquire.ogg + Gain + 1.0 + Range + Medium + + + + + + + + Item/Consumable/Heat/Ember 5 + + + Item/Consumable/Base (Vacuum) + + Action + + 50 + + Model + + item/consumable/heat/model.dat + + Size + Large + + + Pickup Transient + + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/heat_acquire.ogg + Gain + 1.0 + Range + Medium + + + + + + + + Item/Consumable/Star/Fire + + + Item/Consumable/Base + + Action + + 1 + + Lifespan + 0 + Model + + item/consumable/star/model.dat + + color + fire + + + Party + false + Pickup Transient + + Radius + 0.4 + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/player_pickup.ogg + Gain + 1.0 + Range + Short + + + + + + + + Item/Consumable/Star/Frozen + + + Item/Consumable/Base + + Action + + 1 + + Lifespan + 0 + Model + + item/consumable/star/model.dat + + color + frozen + + + Party + false + Pickup Transient + + Radius + 0.4 + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/player_pickup.ogg + Gain + 1.0 + Range + Short + + + + + + + + Item/Consumable/Star/Impact + + + Item/Consumable/Base + + Action + + 1 + + Lifespan + 0 + Model + + item/consumable/star/model.dat + + color + impact + + + Party + false + Pickup Transient + + Radius + 0.4 + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/player_pickup.ogg + Gain + 1.0 + Range + Short + + + + + + + + Item/Consumable/Star/Lightning + + + Item/Consumable/Base + + Action + + 1 + + Lifespan + 0 + Model + + item/consumable/star/model.dat + + color + lightning + + + Party + false + Pickup Transient + + Radius + 0.4 + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/player_pickup.ogg + Gain + 1.0 + Range + Short + + + + + + + + Item/Consumable/Star/Rock + + + Item/Consumable/Base + + Action + + 1 + + Lifespan + 0 + Model + + item/consumable/star/model.dat + + color + rock + + + Party + false + Pickup Transient + + Radius + 0.4 + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/player_pickup.ogg + Gain + 1.0 + Range + Short + + + + + + + + Item/Consumable/Star/Slimey + + + Item/Consumable/Base + + Action + + 1 + + Lifespan + 0 + Model + + item/consumable/star/model.dat + + color + slimey + + + Party + false + Pickup Transient + + Radius + 0.4 + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/player_pickup.ogg + Gain + 1.0 + Range + Short + + + + + + + + Item/Consumable/Star/Venom + + + Item/Consumable/Base + + Action + + 1 + + Lifespan + 0 + Model + + item/consumable/star/model.dat + + color + venom + + + Party + false + Pickup Transient + + Radius + 0.4 + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/player_pickup.ogg + Gain + 1.0 + Range + Short + + + + + + + + Item/Drop + + + Variant + implementation.sprite.model["Variant"] + + + Texture + implementation.sprite.model["Texture"], implementation.sprite.pickup_transient["Texture"]["Texture"] + + + Item + implementation.pickup_action.actions[0].item, implementation.sprite.tooltip_item + + + Loot + implementation.pickup_action.actions[0].loot, implementation.predistribute + + + Distribute + implementation.pickup_action.actions[0].distribute + + + Target + implementation.pickup_action.actions[0].target + + + Dropped + implementation.pickup_action.actions[0].dropped, implementation.dropped + + + Extra Pickup Action + implementation.pickup_action.actions[1] + + + + + + item/drop/model.dat + + Icon Halo + + item/drop/ambient_rim.dat + + Fixed + + + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 513 + + + 769 + + + 1025 + + + File + ui/icon/inventory/icon_armor.png + + + Variant + sword + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/player_pickup.ogg + Gain + 2.5 + Range + Medium + + + Transform + + + Transient + + particle/fx_pickupitem.dat + + + + + particle/fx_getitem.dat + + Texture + + item/drop/icon.dat + + Halo + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 516 + + + 771 + + + 1026 + + + File + ui/icon/inventory/icon_armor.png + + + + + + + + + 0.4 + + 16 + 10 + 16 + 3 + + + + + + + + true + + + + + Item/Equip + + + Dungeon Item + implementation.pickup_action.item + + + Model + implementation.sprite.model + + + + + + item/consumable/vitapod/model.dat + + Variant + sword + number + + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/player/player_pickup.ogg + Gain + 2.5 + Range + Medium + + + + + + + 0.4 + + 16 + 10 + 16 + 3 + + + + + + + + Item/Key/Silver Key + + + Item/Drop + + Distribute + true + Dropped + false + Extra Pickup Action + + + Item + + Pickup/Key/Silver Key + + Loot + true + Target + + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 516 + + + 770 + + + 1048 + + + File + ui/icon/inventory/icon_key.png + + + Variant + item + + + + + + Item/Pickups/Capsule/Health Capsule + + + Item/Drop + + Distribute + false + Dropped + false + Extra Pickup Action + + + Item + + Pickup/Capsule/Health Capsule + + Loot + false + Target + + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 519 + + + 774 + + + 1025 + + + File + ui/icon/inventory/icon_capsule.png + + + Variant + item + + + + + + Item/Pickups/Vial/Curse Vial + + + Item/Drop + + Distribute + false + Dropped + false + Extra Pickup Action + + + Item + + Pickup/Vial/Curse Vial + + Loot + false + Target + + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 519 + + + 776 + + + 1030 + + + File + ui/icon/inventory/icon_vial.png + + + Variant + item + + + + + + Item/Pickups/Vial/Fire Vial + + + Item/Drop + + Distribute + false + Dropped + false + Extra Pickup Action + + + Item + + Pickup/Vial/Fire Vial + + Loot + false + Target + + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 523 + + + 778 + + + 1038 + + + File + ui/icon/inventory/icon_vial.png + + + Variant + item + + + + + + Item/Pickups/Vial/Freeze Vial + + + Item/Drop + + Distribute + false + Dropped + false + Extra Pickup Action + + + Item + + Pickup/Vial/Freeze Vial + + Loot + false + Target + + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 540 + + + 770 + + + 1025 + + + File + ui/icon/inventory/icon_vial.png + + + Variant + item + + + + + + Item/Pickups/Vial/Poison Vial + + + Item/Drop + + Distribute + false + Dropped + false + Extra Pickup Action + + + Item + + Pickup/Vial/Poison Vial + + Loot + false + Target + + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 531 + + + 788 + + + 1042 + + + File + ui/icon/inventory/icon_vial.png + + + Variant + item + + + + + + Item/Pickups/Vial/Shock Vial + + + Item/Drop + + Distribute + false + Dropped + false + Extra Pickup Action + + + Item + + Pickup/Vial/Shock Vial + + Loot + false + Target + + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 535 + + + 792 + + + 1046 + + + File + ui/icon/inventory/icon_vial.png + + + Variant + item + + + + + + Item/Pickups/Vial/Sleep Vial + + + Item/Drop + + Distribute + false + Dropped + false + Extra Pickup Action + + + Item + + Pickup/Vial/Sleep Vial + + Loot + false + Target + + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 539 + + + 792 + + + 1041 + + + File + ui/icon/inventory/icon_vial.png + + + Variant + item + + + + + + Item/Pickups/Vial/Stun Vial + + + Item/Drop + + Distribute + false + Dropped + false + Extra Pickup Action + + + Item + + Pickup/Vial/Stun Vial + + Loot + false + Target + + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 516 + + + 784 + + + 1038 + + + File + ui/icon/inventory/icon_vial.png + + + Variant + item + + + + + + Item/Pickups/Vial/Super Freeze Vial + + + Item/Drop + + Distribute + false + Dropped + false + Extra Pickup Action + + + Item + + Pickup/Vial/Super Freeze Vial + + Loot + false + Target + + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 540 + + + 770 + + + 1025 + + + File + ui/icon/inventory/icon_vial-super.png + + + Variant + item + + + + + + Item/Token + + + Variant + implementation.actor["Variant"] + + + Texture + implementation.actor["Texture"], implementation.actor["Extra Pickup Action"].effect["Texture"] + + + Item + implementation.actor["Item"] + + + + + Item/Drop + + Distribute + false + Dropped + false + Extra Pickup Action + + + Player/Pickup Item + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 516 + + + 771 + + + 1026 + + + File + ui/icon/inventory/icon_armor.png + + + + + + Item + + Loot + true + Target + + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 513 + + + 769 + + + 1025 + + + File + ui/icon/inventory/icon_armor.png + + + Variant + sword + + + + + + Mineral/Base + + + Meta Mineral + implementation.handlers[0].action.actions[0].item + + + Model + implementation.sprite.model + + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + world/dynamic/block/starlink/model.dat + + Color + mineral-Green + + + + 0.6 + + + + + + + + 0.3 + + + + + + + + + + + + action + + + + + + + + Orbital/Core + + + Starting Rotation + implementation.starting_rotation + + + Orbit Radius + implementation.orbit_radius + + + Speed + implementation.speed + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.3 + Element + Simple + Flare + true + color + swarm + + + + + 0.15 + + + + + + 25.0 + 4 + + + + + 0 + 4 + 0.75 + false + + + + Orbital/Fire + + + Starting Rotation + implementation.starting_rotation + + + Orbit Radius + implementation.orbit_radius + + + Speed + implementation.speed + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.3 + Core Min + 0.3 + Element + Simple + Flare + true + color + yellow + + + + + 0.15 + + + + + + 25.0 + 4 + + + + + 0 + 4 + 0.75 + false + + + + Orbital/Test + + + Starting Rotation + implementation.starting_rotation + + + + + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.2 + Core Min + 0.1 + Element + Simple + Flare + false + color + yellow + + + + + 0.15 + + + + + + + + 25.0 + 2 + + + + + 0 + 9 + 0.75 + + + + Shop/Emberlight/General Goods + + + + character/pc/model.dat + + Armor + + character/npc/monster/gremlin/mender/model_static.dat + + variant + Ember + + + Helmet + + Label + + Material + + Shield + + Shield Away + + Weapon + + + + 1.2 + + + + character/pc/idle.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking.dat + + + + + + + + + + + + n.em_general + t.em_general + 0 + + model/viewer/sounder.dat + + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/monster/gremlin/gremlin_chat_upset.ogg + Gain + 1.0 + Pitch adjust + Default + Range + Medium + + + Viewer Extents + 16 + + + + character/pc/emotes/animation_laugh.dat + + Sound + sound/effect/monster/gremlin/gremlin_chat_taunt.ogg + + + DAY + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Shop/Haven/Alchemy + + + Cost + implementation.sprite.model["Cost"] + projectx + + + + + + world/dynamic/energy/vendingmachine_01.dat + + Colorization + Yellow + Cost + Alchemy + Variant + Vial + + + + + + + + + + + + 8 + 15 + + + + Shop/Haven/Armor and Helms + + + Shop/Haven/Parts/Open Shop, Idle + + Catalog + + Catalog Cycle + DAY + Hat + + character/npc/stranger/mask/model.dat + + Variant + Shield + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Variant + Green + + + Robe - Colorization + Blue-Brown + Robe Variant + Merchant Tabard + Shop - Level + 0 + Shop - Name + m.haven_armor_1n + Shop - Title + m.haven_armor_1t + Shop - Type + CROWN + Snipes + Pack (01) + Unique Per Knight + true + + + + + + Shop/Haven/Exchange + + + + character/npc/stranger/model.dat + + Colors + Red-Grey + Hat + + character/npc/stranger/mask/model.dat + + Variant + Energy + + + Pack + + Robes + Merchant Tabard + Snipes + None + + + 1.2 + + + + character/npc/stranger/standing_idle.dat + + + + 0.5 + + character/npc/stranger/standing_idle2.dat + + + + 0.1 + + character/npc/stranger/standing_idle3.dat + + + + + + 6.0 + + character/npc/stranger/walking.dat + + + + + + + + + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Shop/Haven/Guild 1 + + + Shop/Haven/Parts/Open Shop, Idle + + Catalog + + Catalog Cycle + CONSTANT + Hat + + character/npc/stranger/mask/model.dat + + Variant + Simple + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Variant + Green + + + Robe - Colorization + Yellow-Purple + Robe Variant + Merchant Tabard + Shop - Level + 0 + Shop - Name + m.haven_guild + Shop - Title + t.haven_guild + Shop - Type + CROWN + Snipes + Both Shoulders (01) + Unique Per Knight + false + + + + + + Shop/Haven/Guns and Bombs + + + Shop/Haven/Parts/Open Shop, Idle + + Catalog + + Catalog Cycle + DAY + Hat + + character/npc/stranger/mask/model.dat + + Variant + Weapon + + + Pack + + Robe - Colorization + Drab-Rust + Robe Variant + Merchant Tabard + Shop - Level + 0 + Shop - Name + m.haven_weapon_2n + Shop - Title + m.haven_weapon_2t + Shop - Type + CROWN + Snipes + Left Shoulder (02) + Unique Per Knight + true + + + + + + Shop/Haven/Parts/Crafter, Idle + + + Robe Variant + implementation.sprite.model["Robes"] + + + Robe - Colorization + implementation.sprite.model["Colors"] + + + Hat + implementation.sprite.model["Hat"] + + + Pack + implementation.sprite.model["Pack"] + + + Snipes + implementation.sprite.model["Snipes"] + + + Shop - Name + implementation.handlers[0].action.actions[0].name + + + Shop - Title + implementation.handlers[0].action.actions[0].title + + + Shop - Type + implementation.handlers[0].action.actions[0].type + + + + + + character/npc/stranger/model.dat + + Colors + Yellow-Purple + Hat + + character/npc/stranger/hat_mining/model.dat + + Variant + Brown + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Variant + Green + + + Robes + hexagons + Snipes + Both Shoulders (01) + + + 1.2 + + + + character/npc/stranger/standing_idle.dat + + + + 0.5 + + character/npc/stranger/standing_idle2.dat + + + + 0.1 + + character/npc/stranger/standing_idle3.dat + + + + + + 6.0 + + character/npc/stranger/walking.dat + + + + + + + + + + + + m.haven_craft_2n + m.haven_craft_2t + + model/viewer/sounder.dat + + Sounder + + Custom/NPCs/Strangers/Speech/Default/Greeting + + Viewer Extents + 16 + + + + character/npc/stranger/emote_goodbye.dat + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Shop/Haven/Parts/Open Shop, Idle + + + Robe Variant + implementation.sprite.model["Robes"] + + + Robe - Colorization + implementation.sprite.model["Colors"] + + + Hat + implementation.sprite.model["Hat"] + + + Pack + implementation.sprite.model["Pack"] + + + Snipes + implementation.sprite.model["Snipes"] + + + Shop - Name + implementation.handlers[0].action.actions[0].name + + + Shop - Title + implementation.handlers[0].action.actions[0].title + + + Shop - Level + implementation.handlers[0].action.actions[0].level + + + Shop - Type + implementation.handlers[0].action.actions[0].type + + + Catalog + implementation.handlers[0].action.actions[0].catalog + + + Catalog Cycle + implementation.handlers[0].action.actions[0].catalog_cycle + + + Unique Per Knight + implementation.handlers[0].action.actions[0].adjust_cycle_per_knight + + + + + + character/npc/stranger/model.dat + + Colors + Yellow-Purple + Hat + + character/npc/stranger/hat_mining/model.dat + + Variant + Brown + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Variant + Green + + + Robes + hexagons + Snipes + Both Shoulders (01) + + + 1.2 + + + + character/npc/stranger/standing_idle.dat + + + + 0.5 + + character/npc/stranger/standing_idle2.dat + + + + 0.1 + + character/npc/stranger/standing_idle3.dat + + + + + + 6.0 + + character/npc/stranger/walking.dat + + + + + + + + + + + + m.haven_armor_1n + m.haven_armor_1t + 0 + + character/npc/stranger/shop_loop.dat + + + model/viewer/sounder.dat + + Sounder + + Custom/NPCs/Strangers/Speech/Default/Greeting + + Viewer Extents + 16 + + + + character/npc/stranger/emote_goodbye.dat + + + + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Shop/Haven/Recipes + + + Shop/Haven/Parts/Open Shop, Idle + + Catalog + + Catalog Cycle + DAY + Hat + + character/npc/stranger/mask/model.dat + + Variant + Potion + + + Pack + + Robe - Colorization + Green-Seafoam + Robe Variant + Merchant Tabard + Shop - Level + 0 + Shop - Name + m.haven_craft_2n + Shop - Title + m.haven_craft_2t + Shop - Type + CROWN + Snipes + Left Shoulder (02) + Unique Per Knight + true + + + + + + Shop/Haven/Shields and Trinkets + + + Shop/Haven/Parts/Open Shop, Idle + + Catalog + + Catalog Cycle + DAY + Hat + + character/npc/stranger/mask/model.dat + + Variant + Shield + + + Pack + + Robe - Colorization + Blue-Brown + Robe Variant + hexagons + Shop - Level + 0 + Shop - Name + m.haven_armor_2n + Shop - Title + m.haven_armor_2t + Shop - Type + CROWN + Snipes + Both Shoulders (02) + Unique Per Knight + true + + + + + + Shop/Haven/Spiral Quartermaster + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Defender-Calibur + Helmet + Double Ploom + Pack + Merchant Pack + Weapon Equip + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + m.spiral_qm + t.spiral_qm + 0 + + character/pc/emotes/animation_salute.dat + + + + + + + + + 8 + 15 + 0.66 + + + + Shop/Haven/Swords + + + Shop/Haven/Parts/Open Shop, Idle + + Catalog + + Catalog Cycle + DAY + Hat + + character/npc/stranger/mask/model.dat + + Variant + Weapon + + + Pack + + Robe - Colorization + Red-Brown + Robe Variant + Merchant Tabard + Shop - Level + 0 + Shop - Name + m.haven_weapon_1n + Shop - Title + m.haven_weapon_1t + Shop - Type + CROWN + Snipes + Both Shoulders (01) + Unique Per Knight + true + + + + + + Shop/Haven/Token Trader + + + + character/npc/crew/model_tokenmaster.dat + + Animation + + character/pc/idle.dat + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + m.token_trader + t.token_trader + 0 + TOKEN + + character/pc/emotes/animation_salute.dat + + + + + + + + + 8 + 15 + 0.66 + + + + Shop/Haven/Upgrades + + + Shop/Haven/Parts/Open Shop, Idle + + Catalog + + Catalog Cycle + CONSTANT + Hat + + character/npc/stranger/mask/model.dat + + Variant + Energy + + + Pack + + Robe - Colorization + Yellow-Purple + Robe Variant + Merchant Tabard + Shop - Level + 0 + Shop - Name + m.haven_upgrade + Shop - Title + t.haven_upgrade + Shop - Type + ENERGY + Snipes + Both Shoulders (03) + Unique Per Knight + false + + + + + + Shop/Moorcroft Manor/Armor 1 + + + + character/npc/monster/reaper/model.dat + + variant + grey + + + + + + character/npc/monster/spookat/standing.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking.dat + + + + + + + + + + + + m.moorcroft_armor_1n + m.moorcroft_armor_1t + 0 + DAY + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Shop/Moorcroft Manor/Armor 2 + + + + character/npc/monster/reaper/model.dat + + variant + grey + + + + + + character/npc/monster/spookat/standing.dat + + + + + + 6.0 + + character/npc/monster/spookat/walking.dat + + + + + + + + + + + + m.moorcroft_armor_2n + m.moorcroft_armor_2t + 0 + DAY + + + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Shop/Rescue Camp/General Goods + + + Shop/Haven/Parts/Open Shop, Idle + + Catalog + + Rescue Camp/General Goods + + Catalog Cycle + CONSTANT + Hat + + character/npc/stranger/hat_mining/model.dat + + Variant + Steel + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Variant + Green + + + Robe - Colorization + Drab-Steel + Robe Variant + Merchant Tabard + Shop - Level + 0 + Shop - Name + m.rc_general + Shop - Title + t.rc_general + Shop - Type + CROWN + Snipes + None + Unique Per Knight + false + + + + + + Shop/Rescue Camp/Upgrades + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Hood + Pack + None + Weapon Equip + + + + + + + character/pc/idle.dat + + + + + + 6.0 + + character/pc/walk_forward.dat + + + + + + 0.6 + + + + + + + n.rc_upgrade + t.rc_upgrade + 0 + ENERGY + + + + + + + + 8 + 15 + 0.66 + + + + Shop/Test/Free Items + + + + character/pc/model.dat + + Armor + + item/gear/armor/doublebelt/model.dat + + Colorization + 272 + Variant + tan-teal-navy + + + Helmet + + item/gear/helm/nose/model.dat + + Colorization + 272 + Variant + green-tan + + + Label + + Material + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + defender + + + Shield Away + True + Weapon + + + + 1.1 + + + + character/pc/idle.dat + + + + + + 6.0 + + + + + 0.5 + + + + + m.upgrader_1n + m.upgrader_1t + 0 + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Shop/Test/Free Loot + + + Shop/Haven/Parts/Open Shop, Idle + + Catalog + + Catalog Cycle + CONSTANT + Hat + + character/npc/stranger/mask/model.dat + + Variant + Simple + + + Pack + + Robe - Colorization + Drab-Tan + Robe Variant + Merchant Tabard + Shop - Level + 0 + Shop - Name + m.free_loot1 + Shop - Title + m.free_loot2 + Shop - Type + CROWN + Snipes + Both Shoulders (02) + Unique Per Knight + false + + + + + + Shop/Test/Limit + + + + character/pc/model.dat + + Armor + + item/gear/armor/doublebelt/model.dat + + Colorization + 272 + Variant + tan-teal-navy + + + Helmet + + item/gear/helm/nose/model.dat + + Colorization + 272 + Variant + green-tan + + + Label + + Material + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + defender + + + Shield Away + True + Weapon + + + + 1.1 + + + + character/pc/idle.dat + + + + + + 6.0 + + + + + 0.5 + + + + + m.upgrader_1n + m.upgrader_1t + 0 + DAY + true + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Shop/Test/Terminal + + + Shop/Haven/Parts/Open Shop, Idle + + Catalog + + Catalog Cycle + INSTANCE + Hat + + character/npc/stranger/mask/model.dat + + Variant + Shield + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Variant + Green + + + Robe - Colorization + Blue-Brown + Robe Variant + Merchant Tabard + Shop - Level + 0 + Shop - Name + m.haven_armor_1n + Shop - Title + m.haven_armor_1t + Shop - Type + CROWN + Snipes + Pack (01) + Unique Per Knight + false + + + + + + Shop/Test/Upgrader + + + + character/pc/model.dat + + Armor + + item/gear/armor/doublebelt/model.dat + + Colorization + 272 + Variant + tan-teal-navy + + + Helmet + + item/gear/helm/nose/model.dat + + Colorization + 272 + Variant + green-tan + + + Label + + Material + + Shield + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + defender + + + Shield Away + True + Weapon + + + + 1.1 + + + + character/pc/idle.dat + + + + + + 6.0 + + + + + 0.5 + + + + + m.upgrader_1n + m.upgrader_1t + 0 + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Shop/Traveler/Parts/Traveler (Base) + + + Robe Variant + implementation.sprite.model["Robes"] + + + Robe - Colorization + implementation.sprite.model["Colors"] + + + Hat + implementation.sprite.model["Hat"] + + + Pack + implementation.sprite.model["Pack"] + + + Snipes + implementation.sprite.model["Snipes"] + + + Shop - Name + implementation.handlers[0].action.name + + + Shop - Title + implementation.handlers[0].action.title + + + Shop - Level + implementation.handlers[0].action.level + + + Catalog + implementation.handlers[0].action.catalog + + + + + + character/npc/stranger/model.dat + + Colors + Drab-Tan + Hat + + character/npc/stranger/hat_mining/model.dat + + Variant + Brown + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Variant + Green + + + Robes + Merchant Tabard + Snipes + None + + + 1.2 + + + + character/npc/stranger/standing_idle.dat + + + + 0.5 + + character/npc/stranger/standing_idle2.dat + + + + 0.1 + + character/npc/stranger/standing_idle3.dat + + + + + + 6.0 + + character/npc/stranger/walking.dat + + + + + + + + + + m.traveler_1 + t.traveler_1 + 0 + + model/viewer/sounder.dat + + Sounder + + Custom/NPCs/Strangers/Speech/Default/Greeting + + Viewer Extents + 16 + + + INSTANCE + + + + 8 + 15 + 0.66 + 3.4906585 + + + + Shop/Traveler/Terminal Tier 1 + + + Shop/Traveler/Parts/Traveler (Base) + + Catalog + + Hat + + character/npc/stranger/hat_mining/model.dat + + Variant + Steel + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Variant + Green + + + Robe - Colorization + Drab-Tan + Robe Variant + Merchant Tabard + Shop - Level + 0 + Shop - Name + m.traveler_1 + Shop - Title + t.traveler_1 + Snipes + None + + + + + + Shop/Traveler/Terminal Tier 2 + + + Shop/Traveler/Parts/Traveler (Base) + + Catalog + + Hat + + character/npc/stranger/hat_mining/model.dat + + Variant + Steel + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Variant + Green + + + Robe - Colorization + Drab-Tan + Robe Variant + Merchant Tabard + Shop - Level + 0 + Shop - Name + m.traveler_1 + Shop - Title + t.traveler_1 + Snipes + None + + + + + + Shop/Traveler/Terminal Tier 3 + + + Shop/Traveler/Parts/Traveler (Base) + + Catalog + + Hat + + character/npc/stranger/hat_mining/model.dat + + Variant + Steel + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Variant + Green + + + Robe - Colorization + Drab-Tan + Robe Variant + Merchant Tabard + Shop - Level + 0 + Shop - Name + m.traveler_1 + Shop - Title + t.traveler_1 + Snipes + None + + + + + + Static/Gravestones/Grave mound, intersect Start + + + Static/Gravestones/Parts/Grave mound, intersect + + Handler + + + + + + + 2.0, 0.0 + 200 + 5 + + 4 + + + + Monster/Class {stc}/Family/Undead/Status - Zombie + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Static/Gravestones/Grave mound, intersect Stop + + + Static/Gravestones/Parts/Grave mound, intersect + + Handler + + + + + + + 2.0, 0.0 + 200 + 5 + + 4 + + + + Monster/Class {stc}/Family/Undead/Status - Zombie + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Static/Gravestones/Parts/Grave mound, intersect + + + Handler + implementation.handlers[0] + + + + + 2 + 1 + + world/prop/graveyard/gravepile.dat + + + + 0.6 + + + + + + + + + + 1.0 + 4 + + + 3.0, 0.0 + 200 + 5 + + + + + Monster/Single Family/Undead/Scaled - Dust Zombie + + Depth Offset + 3 + Tag + + + + + + + + + + + 0 + 0 + + + + Static/Gravestones/Static, small block + + + Static/Gravestones/Static, small planed + + Model + gravestone_02 + + + + + + Static/Gravestones/Static, small planed + + + Model + implementation.sprite.model["Model"] + + + + + + world/prop/graveyard/gravestone_set_statics.dat + + Model + gravestone_01 + + + + + 0.6 + 0.6 + + 3 + + + + Static/Gravestones/Static, small rounded + + + Static/Gravestones/Static, small planed + + Model + gravestone_03 + + + + + + \ No newline at end of file diff --git a/rsrc/rsrc/config/area.xml b/rsrc/rsrc/config/area.xml new file mode 100644 index 0000000..165fef3 --- /dev/null +++ b/rsrc/rsrc/config/area.xml @@ -0,0 +1,387 @@ + + + + + + + Player Enter/Base + + + Color + implementation.color + + + Trigger Condition + implementation.handlers[0].action.condition.conditions[1].conditions + + + Trigger Action + implementation.handlers[0].action.action + + + + + + + + + + + + + + + + + + + + 4 + + + + + + Player Enter/Chance Encounter + + + Trigger Action + implementation.area["Trigger Action"] + + + + + Player Enter/Base + + Color + 1.0, 1.0, 1.0, 1.0 + Trigger Action + + + Trigger Condition + + + + + + + + Player Enter/Spawn Activate + + + Trigger Action + implementation.area["Trigger Action"] + + + + + Player Enter/Base + + Color + 1.0, 1.0, 1.0, 1.0 + Trigger Action + + + + + Trigger Condition + + + + + + + + + + + + + + Portals/AB Portal + + + Destination + implementation.handlers[0].action.destination + + + + + + + + + + + + + Portals/Next Floor + + + + + + + + + + + + 4 + + + + + + Portals/Portal + + + Tag + implementation.tags.tags[0] + + + Scene ID + implementation.handlers[0].action.scene_id + + + Portal + implementation.handlers[0].action.portal + + + + + (tag 1) + + + + + + + + + + + + + Portals/To Town + + + Town Name + implementation.handlers[0].action.town_name + + + + + + + + + + + + + Portals/Town Portal + + + Destination Tag + implementation.tags.tags[0] + + + Town Name + implementation.handlers[0].action.town_name + + + Scene Id + implementation.handlers[0].action.scene_id + + + Portal + implementation.handlers[0].action.portal + + + + + (tag 1) + + + + + + + + + + + Triggers/Actor Removed Trigger + + + Actor Tag + implementation.handlers[0].target.tag + + + Action + implementation.handlers[0].action + + + + + + + + + + + Triggers/Doormat + + + Door Tag + implementation.area["Entered Action"].target.tag, implementation.area["Exited Action"].target.tag + + + + + Triggers/Player Standing + + + + + Triggers/Key Trigger + + + Door Tag + implementation.handlers[0].action.condition.conditions[1].target.tag, implementation.handlers[2].action.actions[0].action.target.tag, implementation.handlers[1].action.condition.conditions[1].target.tag + + + + + + + + + + + + + + + + + + + + + + + + + Triggers/Monster Detect + + + Monsters Gone + implementation.handlers[0].under_action + + + + + + + + + + + + + Triggers/Music Area + + + File + implementation.handlers[0].action.actor["File"] + + + Stack + implementation.handlers[0].action.actor["Stack"] + + + Fade In + implementation.handlers[0].action.actor["Fade In"] + + + Fade Out + implementation.handlers[0].action.actor["Fade Out"] + + + Tag + implementation.handlers[0].action.actor["Tag"], implementation.handlers[0].under_action.target.tag + + + + + + + + Environment/Music + + Fade In + 0.0 + Fade Out + 0.0 + File + + Override + true + Stack + default + Tag + Music + + + + + + + + + Triggers/Party Trigger + + + Door Tag + implementation.handlers[0].action.target.tag + + + Action + implementation.handlers[0].action + + + + + + + + + + + Triggers/Player Standing + + + Entered Action + implementation.handlers[0].action + + + Exited Action + implementation.handlers[0].under_action + + + + + + + + + + + \ No newline at end of file diff --git a/rsrc/rsrc/config/attack.xml b/rsrc/rsrc/config/attack.xml new file mode 100644 index 0000000..ee0c897 --- /dev/null +++ b/rsrc/rsrc/config/attack.xml @@ -0,0 +1,25514 @@ + + + + + + + Character/Dev/Bad Dude + + + character/npc/monster/gremlin/animation/attack_1_start.dat + + Balloon + + + + + character/npc/monster/gremlin/animation/attack_1_fire.dat + + FX + + particle/fx_gremlinswing.dat + + Sound + sound/effect/monster/gremlin_thwack.ogg + + + + character/npc/monster/gremlin/animation/attack_1_end.dat + + 1.5 + 1000 + 667 + 983 + + 1.0, 0.0 + 100 + 1000 + + + + + Character/Dev/Bad Dude + + + + + + + Character/Dev/Jelly Cube + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 1.0 + + + + character/npc/monster/jellycube/attack_1_fire.dat + + + character/npc/monster/jellycube/attack_1_end.dat + + 2.5 + 1000 + 88 + 702 + + -1.5, 0.0 + 450 + 500 + + + + + Character/Dev/Jelly Damage + + Damage + + + + 35.0 + + + 5.0 + + + 5.0 + + + 40.0 + + + + Delay + 0 + + + + + + + + Character/Dev/Jelly Cube Heal + + + + + Base/Heal Source + + Current + 50 + Delay + 0 + Maximum + 0 + + + + + + + + Character/Dev/Jelly Cube Teleport + + 800 + 644 + 0 + + + + Base/Default + + Delay + 0 + + + + + + + + Character/NPC/Monster/Beast/Basilisk + + + character/npc/monster/chromalisk/animation/attack_start.dat + + Attack Flare + 1.0 + Attack land effect Scale + + 0.8 + 0.0, 0.14, 0.0 + + Flare Color + None + + + + character/npc/monster/chromalisk/animation/attack_fire.dat + + Attack Sound + sound/effect/monster/chromalisk_tongue.ogg + Spew + + particle/fx_chroma_spew_spittle.dat + + + + + character/npc/monster/chromalisk/animation/attack_end.dat + + Attack Sound, Outro + sound/effect/monster/chromalisk_gulp.ogg + + + 1.28 + 1.28 + 1000 + 567 + 1267 + + -0.25, 0.0 + 800 + 200 + + + + + Base/Damage Region Transformed + + Damage + + 65.0 + 4 + + Delay + 0 + Shape + + + 3.0 + 0.75 + + + 1.6, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Bull Chromalisk + + + character/npc/monster/chromalisk/animation/attack_start.dat + + Attack Flare + 1.0 + Attack land effect Scale + + 0.8 + 0.0, 0.14, 0.0 + + Flare Color + Normal + + + + character/npc/monster/chromalisk/animation/attack_fire.dat + + Attack Sound + sound/effect/monster/chromalisk_tongue.ogg + Spew + + particle/fx_chroma_spew_spittle.dat + + + + + character/npc/monster/chromalisk/animation/attack_end.dat + + Attack Sound, Outro + sound/effect/monster/chromalisk_gulp.ogg + + + 1.48 + 1.48 + 1000 + 567 + 1267 + false + + -0.4, 0.0 + 800 + 200 + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base + + 4 + + Delay + 560 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 3.0 + 0.75 + + + 1.6, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Chromalisk + + + character/npc/monster/chromalisk/animation/attack_start.dat + + Attack Flare + 1.0 + Attack land effect Scale + + 0.8 + 0.0, 0.14, 0.0 + + Flare Color + Normal + + + + character/npc/monster/chromalisk/animation/attack_fire.dat + + Attack Sound + sound/effect/monster/chromalisk_tongue.ogg + Spew + + particle/fx_chroma_spew_spittle.dat + + + + + character/npc/monster/chromalisk/animation/attack_end.dat + + Attack Sound, Outro + sound/effect/monster/chromalisk_gulp.ogg + + + 1.24 + 1.24 + 1000 + 567 + 1267 + false + + -0.25, 0.0 + 800 + 200 + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base + + 4 + + Delay + 560 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 3.0 + 0.75 + + + 1.6, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Chromalisk (Tut) + + + character/npc/monster/chromalisk/animation/attack_start.dat + + Attack Flare + 1.0 + Attack land effect Scale + + 0.8 + 0.0, 0.14, 0.0 + + Flare Color + Normal + + + + character/npc/monster/chromalisk/animation/attack_fire.dat + + Attack Sound + sound/effect/monster/chromalisk_tongue.ogg + Spew + + particle/fx_chroma_spew_spittle.dat + + + + + character/npc/monster/chromalisk/animation/attack_end.dat + + Attack Sound, Outro + sound/effect/monster/chromalisk_gulp.ogg + + + 1.28 + 1.28 + 1000 + 567 + 1267 + false + + -0.25, 0.0 + 800 + 200 + + + + + Base/Damage Origin Transformed + + Damage + + 100.0 + 4 + + Delay + 560 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 3.0 + 0.75 + + + 1.6, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Chromalisk (windup) + + + character/npc/monster/chromalisk/animation/cloak_deactivate.dat + + 1 + 300 + 100 + false + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + + + Character/NPC/Monster/Beast/Chromalisk - No Intro + + + character/npc/monster/chromalisk/animation/attack_fire.dat + + Attack Sound + sound/effect/monster/chromalisk_tongue.ogg + Spew + + particle/fx_chroma_spew_spittle.dat + + + + + character/npc/monster/chromalisk/animation/attack_end.dat + + Attack Sound, Outro + sound/effect/monster/chromalisk_gulp.ogg + + + 1.28 + 1.28 + 1000 + 567 + 1267 + false + + -0.25, 0.0 + 800 + 200 + + + + + Base/Damage Origin Transformed + + Damage + + 80.0 + 4 + + Delay + 560 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 3.0 + 0.75 + + + 1.6, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Chromalisk Whelp + + + character/npc/monster/chromalisk/animation/attack_start.dat + + Attack Flare + 1.0 + Attack land effect Scale + + 0.8 + 0.0, 0.14, 0.0 + + Flare Color + Normal + + + + character/npc/monster/chromalisk/animation/attack_fire.dat + + Attack Sound + sound/effect/monster/chromalisk_tongue.ogg + Spew + + particle/fx_chroma_spew_spittle.dat + + + + + character/npc/monster/chromalisk/animation/attack_end.dat + + Attack Sound, Outro + sound/effect/monster/chromalisk_gulp.ogg + + + 1000 + 567 + 1267 + false + + -0.2, 0.0 + 1000 + 280 + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base + + 4 + + Delay + 540 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 2.0 + 0.6 + + + 1.2, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Chromalisk Whelp (Tut) + + + character/npc/monster/chromalisk/animation/attack_start.dat + + Attack Flare + 1.0 + Attack land effect Scale + + 0.8 + 0.0, 0.14, 0.0 + + Flare Color + Normal + + + + character/npc/monster/chromalisk/animation/attack_fire.dat + + Attack Sound + sound/effect/monster/chromalisk_tongue.ogg + Spew + + particle/fx_chroma_spew_spittle.dat + + + + + character/npc/monster/chromalisk/animation/attack_end.dat + + Attack Sound, Outro + sound/effect/monster/chromalisk_gulp.ogg + + + 1000 + 567 + 1267 + false + + -0.2, 0.0 + 1000 + 280 + + + + + Base/Damage Origin Transformed + + Damage + + 20.0 + 4 + + Delay + 540 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 2.0 + 0.6 + + + 1.2, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Chromalisks/Globule Spew + + + Mouth FX + implementation.fire["Spew"] + + + Globule Bullet + implementation.fire_refs[0].ref["Actor"] + + + + + character/npc/monster/chromalisk/animation/attack_start.dat + + Attack Flare + 1.0 + Attack land effect Scale + + 0.8 + 0.0, 0.14, 0.0 + + Flare Color + Normal + + + + character/npc/monster/chromalisk/animation/attack_fire.dat + + Attack Sound + sound/effect/monster/chromalisk_spit.ogg + Attack Sound - Gain + 1.0 + Spew + + + + + character/npc/monster/chromalisk/animation/attack_end.dat + + Attack Sound, Outro + sound/effect/monster/chromalisk_gulp.ogg + + + 1.24 + 1.24 + 1000 + 567 + 1267 + false + + -0.25, 0.0 + 800 + 200 + + + + + Base/Spawn Transformed-Rotated Actor + + Actor + + Bullet/Monster/Chromalisk/Salamander Globule + + Status Damage + + + + Delay + 520 + + + + + + + + Character/NPC/Monster/Beast/Kleptolisk + + + character/npc/monster/chromalisk/animation/attack_start.dat + + Attack Flare + 1.0 + Attack land effect Scale + + 0.0, 0.14, 0.0 + + Flare Color + Normal + + + + character/npc/monster/chromalisk/animation/attack_fire.dat + + Attack Sound + sound/effect/monster/chromalisk_tongue.ogg + Spew + + particle/fx_chroma_spew_spittle.dat + + + + + character/npc/monster/chromalisk/animation/attack_end.dat + + Attack Sound, Outro + sound/effect/monster/chromalisk_gulp.ogg + + + 1.28 + 1.28 + 1000 + 1000 + 1267 + false + + -0.25, 0.0 + 800 + 200 + + + + + Base/Damage Origin Transformed + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + + + + + + + + + + + + + + + + Delay + 560 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 3.0 + 0.75 + + + 1.6, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk + + false + + + + Character/NPC/Monster/Beast/Parts/Chromalisk - Camoflage Activate + + + character/npc/monster/chromalisk/animation/moving_forward.dat + + Scuffle FX + + Visual Float + + + + + character/npc/monster/chromalisk/animation/moving_forward.dat + + Scuffle FX + + Visual Float + + + + 200 + 200 + 1 + false + + + + Base/Default + + Delay + 0 + + + + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Dodge back + + + Dodge Distance + implementation.impulse_received.translation + + + + + character/npc/monster/chromalisk/animation/dodge_start.dat + + + character/npc/monster/chromalisk/animation/dodge_fire.dat + + + character/npc/monster/chromalisk/animation/dodge_end.dat + + 162 + 312 + 83 + false + + -1.0, 0.0 + 332 + 162 + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Dodge forward + + + Dodge Distance + implementation.impulse_received.translation + + + + + character/npc/monster/chromalisk/animation/dodge_start.dat + + + character/npc/monster/chromalisk/animation/dodge_fire.dat + + + character/npc/monster/chromalisk/animation/dodge_end.dat + + 162 + 312 + 83 + false + + 1.0, 0.0 + 332 + 162 + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Dodge left + + + Dodge Distance + implementation.impulse_received.translation + + + + + character/npc/monster/chromalisk/animation/dodge_start.dat + + + character/npc/monster/chromalisk/animation/dodge_fire.dat + + + character/npc/monster/chromalisk/animation/dodge_end.dat + + 162 + 312 + 83 + false + + 0.0, -1.0 + 332 + 162 + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Dodge right + + + Dodge Distance + implementation.impulse_received.translation + + + + + character/npc/monster/chromalisk/animation/dodge_start.dat + + + character/npc/monster/chromalisk/animation/dodge_fire.dat + + + character/npc/monster/chromalisk/animation/dodge_end.dat + + 162 + 312 + 83 + false + + 0.0, 1.0 + 332 + 162 + + + + + Character/NPC/Monster/Beast/Parts/Chromalisk, Panic emote + + + character/npc/monster/chromalisk/animation/moving_forward.dat + + Scuffle FX + + Visual Float + + character/npc/monster/devilite/parts/fx_panic.dat + + Count + 3 + Mode + Right + + + + + 0.0 + 0.0 + 5 + 5 + 5 + true + true + + + + Character/NPC/Monster/Beast/Vog Cub + + + character/npc/monster/wolver/animation/attack_bite_start(Charge).dat + + Attack Flare + 1.0 + + + + character/npc/monster/wolver/animation/attack_bite_fire.dat + + Pitch + 1.0 + Sound + sound/effect/monster/vog_cub/vogcub_bite_01b.ogg + + + + character/npc/monster/wolver/animation/attack_bite_end.dat + + 0.9 + 800 + 200 + 333 + + -2.0, 0.0 + 130 + 1400 + + + + + Base/Damage Origin Transformed + + Damage + + + + 70.0 + 4 + + + 70.0 + 4 + + + + Delay + 100 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 3.0, 0.0 + 300 + 4 + + Shape + + + 0.5 + + + + + + + + Base/Damage Origin Transformed + + Damage + + + + 70.0 + 4 + + + 70.0 + 4 + + + + Delay + 200 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 3.0, 0.0 + 300 + 4 + + Shape + + + 0.5 + + + 1.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Wolver/Bark + + + Sound File + implementation.fire["Sound File"] + + + + + character/npc/monster/wolver/animation/standing_bark.dat + + Sound File + + + + 0 + 1656 + 0 + false + true + + + + Character/NPC/Monster/Beast/Wolver/Bite (Training Grounds) + + + character/npc/monster/wolver/animation/attack_bite_start(Charge).dat + + Attack Flare + 0.75 + + + + character/npc/monster/wolver/animation/attack_bite_fire.dat + + Pitch + 1.0 + Sound + sound/effect/monster/wolver_bite.ogg + + + + character/npc/monster/wolver/animation/attack_bite_end.dat + + 0.75 + 1000 + 200 + 383 + + 1.2, 0.0 + 200 + 1333 + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base -10 + + 4 + + Delay + 180 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 0.25, 0.0 + 200 + + Shape + + + 0.5 + + + 1.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Wolver/Bite, chain 1 + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + + + character/npc/monster/wolver/animation/attack_bite_start(Charge).dat + + Attack Flare + 0.75 + + + + character/npc/monster/wolver/animation/attack_bite_fire.dat + + Pitch + 1.0 + Sound + sound/effect/monster/wolver_bite.ogg + + + + character/npc/monster/wolver/animation/attack_bite_end.dat + + 0.75 + 1000 + 200 + 383 + + 1.2, 0.0 + 200 + 1333 + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base + + 4 + + Delay + 180 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 0.25, 0.0 + 200 + + Shape + + + 0.5 + + + 1.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Wolver/Bite, chain 2 + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + + + character/npc/monster/wolver/animation/attack_bite2_start.dat + + + character/npc/monster/wolver/animation/attack_bite2_fire.dat + + Pitch + 1.0 + Sound + sound/effect/monster/wolver_bite.ogg + + + + character/npc/monster/wolver/animation/attack_bite3_end.dat + + 217 + 217 + 517 + + 1.6, 0.0 + 250 + 225 + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base + + 4 + + Delay + 180 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 0.5, 0.0 + 200 + + Shape + + + 0.5 + + + 1.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Wolver/Bite, chain 3 + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + + + character/npc/monster/wolver/animation/attack_bite3_start.dat + + + character/npc/monster/wolver/animation/attack_bite3_fire.dat + + Pitch + 1.0 + Sound + sound/effect/monster/wolver_bite.ogg + + + + character/npc/monster/wolver/animation/attack_bite3_end.dat + + 183 + 217 + 517 + + 2.2, 0.0 + 300 + 200 + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base +05 + + 4 + + Delay + 180 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 3.0, 0.0 + 500 + 2 + + Shape + + + 0.5 + + + 1.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (X) + + + + Direction + + + Impulse + implementation.impulse_received + + + Animation + implementation.start + + + + + + Forward + + Animation + + character/npc/monster/wolver/animation/turn_right.dat + + Impulse + + 6.0, 1.0 + 500 + + Translation + -2.0, 3.0 + + + + + Backward + + Animation + + character/npc/monster/wolver/animation/turn_left.dat + + Impulse + + -4.0, -1.0 + 500 + + Translation + -2.0, -3.0 + + + + Left + + + + + animation/sequential/simple.dat + + Animations + + + 4.0 + + character/npc/monster/wolver/animation/dash.dat + + + + 4.0 + + character/npc/monster/wolver/animation/moving.dat + + + + 4.0 + + character/npc/monster/wolver/animation/moving.dat + + + + 4.0 + + character/npc/monster/wolver/animation/moving.dat + + + + Priority + 0 + + + + character/npc/monster/wolver/animation/standing.dat + + 2.0 + 1 + 1000 + 100 + true + + 6.0, 1.0 + 500 + + + + + Character/NPC/Monster/Beast/Wolver/Dodge (Y) + + + + Direction + + + Impulse + implementation.impulse_received + + + Animation + implementation.start + + + + + + Left + + Animation + + character/npc/monster/wolver/animation/dash_right.dat + + Impulse + + -0.5, 2.25 + 400 + + Translation + -2.0, 3.0 + + + + + Right + + Animation + + character/npc/monster/wolver/animation/dash_left.dat + + Impulse + + -0.5, -2.25 + 400 + + Translation + -2.0, -3.0 + + + + Left + + + + + character/npc/monster/wolver/animation/turn_left.dat + + 1.25 + 100 + 300 + 1 + + -1.0, 3.0 + 600 + + + + + Character/NPC/Monster/Beast/Wolver/Vog Cub - Bite, chain 1 + + + character/npc/monster/wolver/animation/attack_bite_start(Charge).dat + + Attack Flare + 0.75 + + + + character/npc/monster/wolver/animation/attack_bite_fire.dat + + Pitch + 1.0 + Sound + sound/effect/monster/wolver_bite.ogg + + + + character/npc/monster/wolver/animation/attack_bite_end.dat + + 0.75 + 1000 + 200 + 383 + + 1.2, 0.0 + 200 + 1333 + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + Delay + 180 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 0.25, 0.0 + 200 + + Shape + + + 0.5 + + + 1.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Wolver/Vog Cub - Bite, chain 2 + + + character/npc/monster/wolver/animation/attack_bite2_start.dat + + + character/npc/monster/wolver/animation/attack_bite2_fire.dat + + Pitch + 1.0 + Sound + sound/effect/monster/wolver_bite.ogg + + + + character/npc/monster/wolver/animation/attack_bite3_end.dat + + 217 + 217 + 517 + + 1.6, 0.0 + 250 + 225 + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + Delay + 180 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 0.5, 0.0 + 200 + + Shape + + + 0.5 + + + 1.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Beast/Wolver/Vog Cub - Bite, chain 3 + + + character/npc/monster/wolver/animation/attack_bite3_start.dat + + + character/npc/monster/wolver/animation/attack_bite3_fire.dat + + Pitch + 1.0 + Sound + sound/effect/monster/wolver_bite.ogg + + + + character/npc/monster/wolver/animation/attack_bite3_end.dat + + 183 + 217 + 517 + + 2.2, 0.0 + 300 + 200 + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base +10 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + Delay + 180 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 3.0, 0.0 + 500 + 2 + + Shape + + + 0.5 + + + 1.0, 0.0 + + + + + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/Vog Fireball + + Damage + + + + 80.0 + 4 + + + 4 + + Fire + + Chance + 0.5 + Power + 80 + + + + + + + + Delay + 180 + + + + + + + + Character/NPC/Monster/Beast/Wolver/Warp + + + Variant + implementation.start["Variant"], implementation.end["Variant"] + + + Sound File + implementation.end["Sound File"] + + + Teleport Spawn + implementation.fire_refs[0].ref["Actor"] + + + Target Offset + implementation.fire_refs[2].ref["Translation"] + + + + + character/npc/monster/wolver/animation/attack_bite_start(warp).dat + + Variant + Ash + + + + character/npc/monster/wolver/animation/gounder.dat + + + character/npc/monster/wolver/animation/activate.dat + + Sound File + sound/effect/monster/wolver_spawn.ogg + Variant + Ash + + + 1.6 + 0.5 + 2.0 + 1000 + 400 + 0 + false + + -4.0, 1.0 + 300 + + + + + Base/Spawn Rotated Actor + + Actor + + Delay + 0 + + + + + + Base/Damage Origin Transformed + + Damage + + 4 + + Stun + + Chance + 0.0 + Power + 0 + + + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 0.25, 0.0 + 150 + + Shape + + + 2.0 + + + + + + + + Base/Warp Behind Target + + Delay + 150 + Translation + -1.0, 0.0 + + + + + + + + Character/NPC/Monster/Beast/Wolver/Warp (Instant) + + + Variant + implementation.start["Variant"], implementation.end["Variant"] + + + Sound File + implementation.end["Sound File"] + + + Teleport Spawn + implementation.fire_refs[0].ref["Actor"] + + + Target Offset + implementation.fire_refs[2].ref["Translation"] + + + + + character/npc/monster/wolver/animation/attack_bite_start(warp).dat + + Variant + Ash + + + + character/npc/monster/wolver/animation/gounder.dat + + + character/npc/monster/wolver/animation/activate.dat + + Sound File + sound/effect/monster/wolver_spawn.ogg + Variant + Ash + + + 100.0 + 0.5 + 2.0 + 1000 + 400 + 0 + false + + 0.0, 3.0 + 300 + + + + + Base/Spawn Rotated Actor + + Actor + + Delay + 0 + + + + + + Base/Damage Origin Transformed + + Damage + + 4 + + Stun + + Chance + 0.0 + Power + 0 + + + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 0.25, 0.0 + 150 + + Shape + + + 2.0 + + + + + + + + Base/Warp Behind Target + + Delay + 11 + Translation + -1.0, 0.0 + + + + + + + + Character/NPC/Monster/Boss/Royal Jelly/Tantrum Spin + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Radius + implementation.fire_refs[0].ref["Shape"].shape.radius + + + Radius Graphic + implementation.fire["Wave Radius"] + + + Bullet + implementation.fire_refs[2].ref["Actor"], implementation.fire_refs[4].ref["Actor"], implementation.fire_refs[6].ref["Actor"], implementation.fire_refs[8].ref["Actor"] + + + Bullet 2 + implementation.fire_refs[1].ref["Actor"], implementation.fire_refs[3].ref["Actor"], implementation.fire_refs[5].ref["Actor"], implementation.fire_refs[7].ref["Actor"] + + + Color + implementation.fire["Color"] + + + + + character/npc/monster/jellycube/attack_aoe_fire.dat + + Color + 0.6, 0.0, 0.6, 1.0 + Sound + + Clip/Default (Gain) + + File + sound/effect/weapon/bomb_c01.ogg + Gain + 1.0 + Range + Medium + + + Wave Radius + + 2.0 + + + + + character/npc/monster/jellycube/attack_aoe_end.dat + + 2.0 + 0 + 50 + 1050 + false + + 5.0, 0.0 + 2000 + + + + + Base/Damage Origin Transformed + + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + true + + + 2 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Delay + 50 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 4.0, 0.0 + 300 + 3 + + Shape + + + 3.0 + + + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 25 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 50 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 75 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 100 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 125 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 150 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 175 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 200 + + + + + + + + Character/NPC/Monster/Boss/Swarm/Consume + + + animation/common/blank.dat + + Action + + + + + 1 + 1 + 0 + true + + + + Base/Damage Region Transformed + + Damage + + 1.0 + 4 + false + + Delay + 0 + Shape + + + + + + + + + + Character/NPC/Monster/Boss/Swarm/Kill Minions + + + animation/common/blank.dat + + Action + + + + + 1 + 1 + 0 + true + + + + Base/Default + + Delay + 0 + + + + + + + + Character/NPC/Monster/Boss/Swarm/Pulse + + + + Direction + + + Translation + implementation.fire_refs[1].ref["Action"].impulse_dealt.translation + + + Direction + implementation.fire_refs[0].ref["Action"].effect["Model"]["Transient"]["Direction"] + + + + + + Out + + Direction + Out + Translation + 5.0, 0.0 + + + + + In + + Direction + In + Translation + -3.0, 0.0 + + + + Out + + + + + animation/common/blank.dat + + Action + + + + + 1 + 1 + 0 + true + + + + Base/Default + + Action + + + Basic + + Lifespan + 1500 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/world/block_ghost.ogg + Gain + 0.5 + Pitch adjust + Lower 3 + Range + Long + + + Transform + + + Transient + + character/npc/monster/swarm/parts/meta_wave.dat + + Direction + Out + + + + + + + + Delay + 0 + + + + + + Base/Default + + Action + + + 5.0, 0.0 + 1000 + 3 + + + Delay + 50 + + + + + + + + Character/NPC/Monster/Boss/Swarm/Spawn Minion + + + animation/common/blank.dat + + Action + + + + + 1 + 1 + 0 + true + + + + Base/Default + + Action + + + Character/NPC/Monster/Boss/Swarm/Part/Void Marker + + Wave Tag + swarm_minion2 + + + + Delay + 0 + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Activate + + + + Minions + + + Front + implementation.fire_refs[3].ref["Actor"]["Actor"], implementation.fire_refs[2].ref["Actor"]["Actor"] + + + Flank + implementation.fire_refs[5].ref["Actor"]["Actor"], implementation.fire_refs[4].ref["Actor"]["Actor"] + + + Rear + implementation.fire_refs[7].ref["Actor"]["Actor"], implementation.fire_refs[6].ref["Actor"]["Actor"] + + + + + + Slag Walkers (4) + + Flank + + Character/NPC/Monster/Boss/Vanaduke/Part/Slag Walker Minion + + Wave Tag + vanaduke_spawn + + + Front + + Character/NPC/Monster/Boss/Vanaduke/Part/Slag Walker Minion + + Wave Tag + vanaduke_spawn + + + Rear + + + + + + Slag Walkers (6) + + Flank + + Character/NPC/Monster/Boss/Vanaduke/Part/Slag Walker Minion + + Wave Tag + vanaduke_spawn + + + Front + + Character/NPC/Monster/Boss/Vanaduke/Part/Slag Walker Minion + + Wave Tag + vanaduke_spawn + + + Rear + + Character/NPC/Monster/Boss/Vanaduke/Part/Slag Walker Minion + + Wave Tag + vanaduke_spawn + + + + + + + Slag Guards (2) + + Flank + + Character/NPC/Monster/Undead/Deadnought + + Wave Tag + vanaduke_spawn + + + Front + + Rear + + + + + Slag Walkers (4) + + + + Mask + + + Action 1 + implementation.fire_refs[1].ref + + + + + + True + + Action 1 + + Base/Default + + Action + + SECONDARY + false + + Delay + 0 + + + + + + + False + + Action 1 + + + + + True + + + + + character/npc/monster/baron/animations/animation_spawn.dat + + 1 + 3767 + 0 + false + + + + Base/Damage Origin Transformed + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + true + ELEMENTAL + + Monster/Split/Split - Full + + + + 4 + + Fire 3 + + Chance + 1.0 + Power + 75 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Stun 3 + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 4.0, 0.0 + 500 + 4 + + Shape + + + 3.0 + + + + + + + + Base/Default + + Delay + 0 + + + + + + Base/Spawn Transformed Actor + + Actor + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Marker + + Actor + + + + Delay + 2600 + + + + + + Base/Spawn Transformed Actor + + Actor + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Marker + + Actor + + + + Delay + 2700 + + + + + + Base/Spawn Transformed Actor + + Actor + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Marker + + Actor + + + + Delay + 3000 + + + + + + Base/Spawn Transformed Actor + + Actor + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Marker + + Actor + + + + Delay + 3250 + + + + + + Base/Spawn Transformed Actor + + Actor + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Marker + + Actor + + + + Delay + 3500 + + + + + + Base/Spawn Transformed Actor + + Actor + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Marker + + Actor + + + + Delay + 3600 + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Call Minions + + + + Minions + + + Front + implementation.fire_refs[0].ref["Actor"]["Actor"], implementation.fire_refs[1].ref["Actor"]["Actor"] + + + Flank + implementation.fire_refs[3].ref["Actor"]["Actor"], implementation.fire_refs[2].ref["Actor"]["Actor"] + + + Rear + implementation.fire_refs[5].ref["Actor"]["Actor"], implementation.fire_refs[4].ref["Actor"]["Actor"] + + + + + + Slag Walkers (4) + + Flank + + Character/NPC/Monster/Boss/Vanaduke/Part/Slag Walker Minion + + Wave Tag + vanaduke_spawn + + + Front + + Character/NPC/Monster/Boss/Vanaduke/Part/Slag Walker Minion + + Wave Tag + vanaduke_spawn + + + Rear + + + + + + Slag Walkers (6) + + Flank + + Character/NPC/Monster/Boss/Vanaduke/Part/Slag Walker Minion + + Wave Tag + vanaduke_spawn + + + Front + + Character/NPC/Monster/Boss/Vanaduke/Part/Slag Walker Minion + + Wave Tag + vanaduke_spawn + + + Rear + + Character/NPC/Monster/Boss/Vanaduke/Part/Slag Walker Minion + + Wave Tag + vanaduke_spawn + + + + + + + Slag Guards (2) + + Flank + + Character/NPC/Monster/Undead/Deadnought + + Wave Tag + vanaduke_spawn + + + Front + + Rear + + + + + Slag Walkers (4) + + + + + character/npc/monster/baron/animations/animation_taunt.dat + + + character/npc/monster/baron/animations/animation_idle.dat + + 1933 + 1500 + 0 + false + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Actor at Marker + + Actor + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Marker + + Actor + + + + Delay + 0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Actor at Marker + + Actor + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Marker + + Actor + + + + Delay + 100 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Actor at Marker + + Actor + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Marker + + Actor + + + + Delay + 400 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Actor at Marker + + Actor + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Marker + + Actor + + + + Delay + 650 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Actor at Marker + + Actor + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Marker + + Actor + + + + Delay + 800 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Actor at Marker + + Actor + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Marker + + Actor + + + + Delay + 900 + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Club Slam (Stage 1) + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Debri Count + implementation.fire_refs[2].ref["Count"] + + + Fire Tiles + implementation.fire_refs[2].ref["Fire Tiles"] + + + + + character/npc/monster/baron/animations/animation_sword-start.dat + + + character/npc/monster/baron/animations/animation_sword-fire.dat + + + character/npc/monster/baron/animations/animation_sword-end.dat + + 0.5 + 633 + 95 + 1867 + false + + + + Base/Damage Origin Transformed + + Damage + + + + 160.0 + 5 + + + 4 + + Stun + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Delay + 160 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 6.0, 0.0 + 1000 + 4 + + Shape + + + + + + 1.9 + + + 7.5, 1.35 + + + + + 4.0 + 1.6 + + + 4.0, 1.0 + + + + + + + + + + + Base/Default + + Action + + + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + 7.5, 1.75 + + 4.0, 0.0 + 600 + 3 + + + Delay + 200 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Flame Wreckage + + Delay + 250 + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Fire Snakes + + + character/npc/monster/baron/animations/animation_cast-start.dat + + Flare Color + Normal + Flare Direction + Directional + + + + character/npc/monster/baron/animations/animation_cast-fire.dat + + + character/npc/monster/baron/animations/animation_cast-end.dat + + 1000 + 167 + 750 + false + + + + Base/Default + + Action + + + Bullet/Monster/Flamethrower (Dynamic) + + Damage + + 4 + + Fire 3 + + Chance + 0.65 + Power + 50 + + + + Mode + Snake + + + + Delay + 0 + + + + + + Base/Default + + Action + + + Bullet/Monster/Flamethrower (Dynamic) + + Damage + + 4 + + Fire 3 + + Chance + 0.65 + Power + 50 + + + + Mode + Snake + + + + Delay + 0 + + + + + + Base/Default + + Action + + + Bullet/Monster/Flamethrower (Dynamic) + + Damage + + 4 + + Fire 3 + + Chance + 0.65 + Power + 50 + + + + Mode + Snake + + + + Delay + 0 + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Mask Bullet + + + animation/common/blank.dat + + Action + + + + + 1.5 + 1 + 750 + 0 + true + + + + Character/NPC/Monster/Boss/Vanaduke/4 Bullet Spread (2) + + Delay + 0 + + + + + + Base/Default + + Action + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/weapon/gran_faust_chit.ogg + Gain + 1.0 + Pitch adjust + Lower 1 + Range + Long + + + Transform + + 0.0, 0.0, 1.0 + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Medium + color + yellow + + + + + + + + Delay + 0 + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Mask Bullet Diagonal + + + animation/common/blank.dat + + Action + + + + + 1.5 + 1 + 750 + 0 + true + + + + Character/NPC/Monster/Boss/Vanaduke/4 Bullet Spread (Diagonal) + + Delay + 0 + + + + + + Base/Default + + Action + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/weapon/gran_faust_chit.ogg + Gain + 1.0 + Pitch adjust + Higher 2 + Range + Long + + + Transform + + 0.0, 0.0, 1.0 + + Transient + + particle/bullet/hit_pellet.dat + + Element + Fire + Flare + Positive + Scale + Medium + color + yellow + + + + + + + + Delay + 0 + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Mask Bullet Spiral + + + animation/common/blank.dat + + Action + + + + + 1.5 + 1 + 1300 + 0 + true + + + + Character/NPC/Monster/Boss/Vanaduke/Oriented Bullet + + Delay + 0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Oriented Bullet + + Delay + 100 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Oriented Bullet + + Delay + 200 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Oriented Bullet + + Delay + 300 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Oriented Bullet + + Delay + 400 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Oriented Bullet + + Delay + 500 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Oriented Bullet + + Delay + 600 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Oriented Bullet + + Delay + 700 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Oriented Bullet + + Delay + 800 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Oriented Bullet + + Delay + 900 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Oriented Bullet + + Delay + 1000 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Oriented Bullet + + Delay + 1100 + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Monologue + + + character/npc/monster/baron/animations/animation_idle.dat + + + character/npc/monster/baron/animations/animation_idle.dat + + + character/npc/monster/baron/animations/animation_idle.dat + + 10000 + + + + Base/Default + + Action + + + character/npc/monster/baron/model.dat + + Sheen + Stage1 + Variant + Masked + + + + + + Boss/Vanaduke/Monologue + + + Delay + 0 + + + + + + Base/Default + + Action + + + + + Delay + 3300 + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Shoulder Check + + + Damage + implementation.fire_refs[0].ref["Damage"], implementation.fire_refs[1].ref["Damage"], implementation.fire_refs[2].ref["Damage"], implementation.fire_refs[3].ref["Damage"] + + + + + character/npc/monster/baron/animations/animation_rush-start.dat + + Attack Flare + 1.0 + + + + character/npc/monster/baron/animations/animation_rush-fire.dat + + + character/npc/monster/baron/animations/animation_rush-end.dat + + 0.9 + 0.8 + 1000 + 267 + 700 + false + + 12.0, 0.0 + 700 + 1000 + + + + + Character/NPC/Monster/Boss/Vanaduke/Shoulder Check + + Damage + + + + 1.0 + 5 + + + + Delay + 0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Shoulder Check + + Damage + + + + 1.0 + 5 + + + + Delay + 100 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Shoulder Check + + Damage + + + + 1.0 + 5 + + + + Delay + 200 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Shoulder Check + + Damage + + + + 1.0 + 5 + + + + Delay + 400 + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Flame 1 + + + character/npc/monster/baron/animations/animation_spawn.dat + + 1 + 3767 + 0 + + + + Base/Default + + Delay + 0 + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Mask + + + Mask + implementation.fire_refs[0].ref["Actor"]["Actor"] + + + + + character/npc/monster/baron/animations/animation_kneel-start.dat + + + character/npc/monster/baron/animations/animation_kneel-loop.dat + + 0.75 + 1 + 1500 + 99999999 + false + + + + Base/Spawn Transformed Actor + + Actor + + Character/NPC/Monster/Boss/Vanaduke/Part/Mask Marker + + Actor + + + + Delay + 200 + + + + + + Base/Default + + Delay + 200 + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Minions + + + Minion + implementation.fire_refs[0].ref["Actor"], implementation.fire_refs[1].ref["Actor"], implementation.fire_refs[2].ref["Actor"], implementation.fire_refs[3].ref["Actor"] + + + + + character/npc/monster/baron/animations/animation_cast-start.dat + + Flare Color + None + Flare Direction + Omni + + + + character/npc/monster/baron/animations/animation_cast-fire.dat + + + character/npc/monster/baron/animations/animation_cast-end.dat + + false + + + + Base/Spawn Transformed Actor + + Actor + + Delay + 0 + + + + + + Base/Spawn Transformed Actor + + Actor + + Delay + 0 + + + + + + Base/Spawn Transformed Actor + + Actor + + Delay + 0 + + + + + + Base/Spawn Transformed Actor + + Actor + + Delay + 0 + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Swap + + + Swap Actor + implementation.fire_refs[0].ref["Actor"] + + + + + character/npc/monster/baron/animations/animation_idle.dat + + + character/npc/monster/baron/animations/animation_idle.dat + + + character/npc/monster/baron/animations/animation_idle.dat + + 200 + 200 + 0 + + + + Base/Spawn Actor + + Actor + + Delay + 0 + + + + + + Base/Default + + Action + + + + + Delay + 0 + + + + + + + + Character/NPC/Monster/Chain + + + Attack + implementation.attack + + + Chain Condition + implementation.condition + + + Next Attack + implementation.next_attack + + + + + + + Character/NPC/Monster/Construct/Gold Gun Puppy + + + character/npc/monster/gunpuppy/activate.dat + + Attack Flare + 1.25 + + + + character/npc/monster/gunpuppy/attack_1_fire.dat + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + + + + character/npc/monster/gunpuppy/deactivate.dat + + 1.25 + 1000 + 1000 + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Delay + 0 + + + + + + + + Character/NPC/Monster/Construct/Gun Puppy + + + Bullet + implementation.fire_refs[0].ref["Actor"] + + + Speed + implementation.start_speed, implementation.start["Attack Flare"] + + + Sound + implementation.fire["Sound"] + + + + + character/npc/monster/gunpuppy/activate.dat + + Attack Flare + 1.25 + + + + character/npc/monster/gunpuppy/attack_1_fire.dat + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + + + + character/npc/monster/gunpuppy/deactivate.dat + + 1.25 + 1000 + 1000 + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Delay + 0 + + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + Base/Damage Region Transformed + + Damage + + 1.0 + false + + Delay + 0 + Shape + + + + + + 9999.0, 0.0 + + + + + + + + + + + + + Character/NPC/Monster/Construct/Gun Puppy (ele) + + + Bullet + implementation.fire_refs[0].ref["Actor"] + + + Speed + implementation.start_speed, implementation.start["Attack Flare"] + + + Sound + implementation.fire["Sound"] + + + + + character/npc/monster/rocketpuppy/animations/activate.dat + + Attack Flare + 1.25 + + + + character/npc/monster/rocketpuppy/animations/fire.dat + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + + + + character/npc/monster/rocketpuppy/animations/deactivate.dat + + 1.25 + 1000 + 1000 + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Delay + 0 + + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + Base/Damage Region Transformed + + Damage + + 1.0 + false + + Delay + 0 + Shape + + + + + + 9999.0, 0.0 + + + + + + + + + + + + + Character/NPC/Monster/Construct/Gun Puppy (mkii) + + + Bullet + implementation.fire_refs[0].ref["Actor"] + + + Speed + implementation.start_speed, implementation.start["Attack Flare"] + + + Sound + implementation.fire["Sound"] + + + + + character/npc/monster/gunpuppy/activate.dat + + Attack Flare + 1.25 + + + + character/npc/monster/gunpuppy/attack_1_fire.dat + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + + + + character/npc/monster/gunpuppy/deactivate.dat + + 1.25 + 1000 + 1000 + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Delay + 0 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Delay + 0 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Delay + 0 + + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + Base/Damage Region Transformed + + Damage + + 1.0 + false + + Delay + 0 + Shape + + + + + + 9999.0, 0.0 + + + + + + + + + + + + + Character/NPC/Monster/Construct/Gun Puppy (mkii) (ele) + + + Bullet + implementation.fire_refs[0].ref["Actor"], implementation.fire_refs[1].ref["Actor"], implementation.fire_refs[2].ref["Actor"] + + + Speed + implementation.start_speed, implementation.start["Attack Flare"] + + + Sound + implementation.fire["Sound"] + + + + + character/npc/monster/rocketpuppy/animations/activate.dat + + Attack Flare + 1.25 + + + + character/npc/monster/rocketpuppy/animations/fire.dat + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + + + + character/npc/monster/rocketpuppy/animations/deactivate.dat + + 1.25 + 1000 + 1000 + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + + + Delay + 0 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + + + Delay + 0 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + + + Delay + 0 + + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + Base/Damage Region Transformed + + Damage + + 1.0 + false + + Delay + 0 + Shape + + + + + + 9999.0, 0.0 + + + + + + + + + + + + + Character/NPC/Monster/Construct/Gun Puppy (mkiii) + + + Bullet + implementation.fire_refs[0].ref["Actor"], implementation.fire_refs[1].ref["Actor"], implementation.fire_refs[2].ref["Actor"], implementation.fire_refs[3].ref["Actor"], implementation.fire_refs[4].ref["Actor"] + + + Speed + implementation.start_speed, implementation.start["Attack Flare"] + + + Sound + implementation.fire["Animations"][0].animation["Sound"]["File"], implementation.fire["Animations"][1].animation["Sound"]["File"] + + + + + character/npc/monster/gunpuppy/activate.dat + + Attack Flare + 1.25 + + + + animation/sequential/simple.dat + + Animations + + + 2.0 + + character/npc/monster/gunpuppy/attack_1_fire.dat + + Sound + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 0.75 + Pitch + 0.75 + Range + Medium + + + + + + + 2.0 + + character/npc/monster/gunpuppy/attack_1_fire.dat + + Sound + + Clip/Default (Gain) (Pitch) + + File + + Gain + 0.75 + Pitch + 0.75 + Range + Medium + + + + + + + 2.0 + + character/npc/monster/gunpuppy/attack_1_fire.dat + + Sound + + Clip/Default (Gain) (Pitch) + + File + + Gain + 0.75 + Pitch + 0.75 + Range + Medium + + + + + + + Priority + 1 + + + + character/npc/monster/gunpuppy/deactivate.dat + + 1.25 + 1000 + 124 + 1000 + false + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Delay + 0 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Delay + 160 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Delay + 320 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Delay + 480 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Delay + 640 + + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + + + Character/NPC/Monster/Construct/Gun Puppy (mkiii) (ele) + + + Bullet + implementation.fire_refs[0].ref["Actor"], implementation.fire_refs[1].ref["Actor"], implementation.fire_refs[2].ref["Actor"], implementation.fire_refs[3].ref["Actor"], implementation.fire_refs[4].ref["Actor"] + + + Speed + implementation.start_speed, implementation.start["Attack Flare"] + + + Sound + implementation.fire["Animations"][0].animation["Sound"]["File"], implementation.fire["Animations"][1].animation["Sound"]["File"] + + + + + character/npc/monster/rocketpuppy/animations/activate.dat + + Attack Flare + 1.25 + + + + animation/sequential/simple.dat + + Animations + + + 2.0 + + character/npc/monster/rocketpuppy/animations/fire.dat + + Sound + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 0.75 + Pitch + 0.75 + Range + Medium + + + + + + + 2.0 + + character/npc/monster/rocketpuppy/animations/fire.dat + + Sound + + Clip/Default (Gain) (Pitch) + + File + + Gain + 0.75 + Pitch + 0.75 + Range + Medium + + + + + + + 2.0 + + character/npc/monster/rocketpuppy/animations/fire.dat + + Sound + + Clip/Default (Gain) (Pitch) + + File + + Gain + 0.75 + Pitch + 0.75 + Range + Medium + + + + + + + Priority + 1 + + + + character/npc/monster/rocketpuppy/animations/deactivate.dat + + 1.25 + 1000 + 124 + 1000 + false + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + + + Delay + 0 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + + + Delay + 160 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + + + Delay + 320 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + + + Delay + 480 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + + + Delay + 640 + + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + + + Character/NPC/Monster/Construct/Ironwood Sentinel + + + character/npc/monster/lumber/animations/attack_1_start.dat + + + character/npc/monster/lumber/animations/attack_1_fire.dat + + Variant + Ironwood axe + + + + character/npc/monster/lumber/animations/attack_1_end.dat + + Variant + Ironwood axe + + + 0.7 + 0.7 + 467 + 167 + 867 + false + + + + Character/NPC/Monster/Construct/Lumber/Slam, Ironwood Sentinel + + Attack Shape + + 0.92 + + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + true + + + + Monster/Damage/Attack Base -10 + + 2 + + + 4 + + Stun 3 + + Chance + 1.0 + Power + 50 + + + + + + Knock-Back + + 6.0, 0.0 + 600 + 5 + + + + + + + + + Character/NPC/Monster/Construct/Lumber + + + character/npc/monster/lumber/animations/attack_1_start.dat + + + character/npc/monster/lumber/animations/attack_1_fire.dat + + Variant + Lumber thud + + + + character/npc/monster/lumber/animations/attack_1_end.dat + + Variant + Lumber club + + + 0.5 + 0.5 + 467 + 167 + 867 + false + + + + Character/NPC/Monster/Construct/Lumber + + Attack Shape + + 0.8 + + Damage + + + + + Monster/Damage/Attack Base +10 + + 4 + true + + + + Monster/Damage/Attack Base -10 + + 2 + + + 4 + + Stun + + Chance + 0.5 + Power + 50 + + + + + + Knock-Back + + 4.0, 0.0 + 400 + 5 + + + + + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 1) + + + Status Damage + implementation.fire_refs[0].ref["Status Damage"] + + + + + character/npc/monster/lumber/animations/attack_1_start.dat + + + character/npc/monster/lumber/animations/attack_1_fire.dat + + Variant + Lumber thud + + + + character/npc/monster/lumber/animations/attack_1_end.dat + + Variant + Lumber club + + + 0.5 + 0.4 + 467 + 167 + 867 + false + + + + Character/NPC/Monster/Construct/Lumber/Slam, Lumber + + Attack Shape + + + 0.7 + + + 3.0, 0.312 + + + Knock-Back + + 4.0, 0.0 + 400 + 5 + + Status Damage + + + Stun + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 2) + + + Status Damage + implementation.fire_refs[0].ref["Status Damage"] + + + + + character/npc/monster/lumber/animations/attack_1_start.dat + + + character/npc/monster/lumber/animations/attack_1_fire.dat + + Variant + Lumber thud + + + + character/npc/monster/lumber/animations/attack_1_end.dat + + Variant + Lumber club + + + 0.65 + 0.6 + 467 + 167 + 867 + false + + + + Character/NPC/Monster/Construct/Lumber/Slam, Lumber + + Attack Shape + + + 0.75 + + + 3.0, 0.312 + + + Knock-Back + + 5.0, 0.0 + 450 + 5 + + Status Damage + + + + 4 + + Stun 2 + + Chance + 0.667 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 2 + + Shock 2 + + Chance + 0.333 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + + Character/NPC/Monster/Construct/Lumber/Parts/Base (tier 3) + + + Status Damage + implementation.fire_refs[0].ref["Status Damage"] + + + + + character/npc/monster/lumber/animations/attack_1_start.dat + + + character/npc/monster/lumber/animations/attack_1_fire.dat + + Variant + Lumber thud + + + + character/npc/monster/lumber/animations/attack_1_end.dat + + Variant + Lumber club + + + 0.8 + 0.8 + 467 + 167 + 867 + false + + + + Character/NPC/Monster/Construct/Lumber/Slam, Lumber + + Attack Shape + + + 0.8 + + + 3.0, 0.312 + + + Knock-Back + + 6.0, 0.0 + 500 + 5 + + Status Damage + + 4 + + Stun 3 + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + Character/NPC/Monster/Construct/Mech Knight Defend + + + character/pc/blend_shield.dat + + + character/pc/blend_shield.dat + + 2.0 + 1 + 997 + 997 + false + + + + Base/Default + + Action + + + Character/NPC/Monster/Construct/Parts/MechaShield + + + Delay + 0 + + + + + + + + Character/NPC/Monster/Construct/Mecha Knight + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 1.0 + Color + None + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/attack_1_end.dat + + 0.75 + 100 + 88 + 702 + + + + Base/Damage Region Transformed + + Damage + + 1.0 + 4 + + Delay + 330 + Shape + + + 0.5 + + + 1.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Construct/Mecha Knight Charge + + + Time Scale + implementation.fire["Actions"][0].action.model["Time Scale"], implementation.fire_speed + + + Sound + implementation.fire["Actions"][1].action.sounder["File"] + + + Damage Zone + implementation.fire["Actions"][0].action.model["Damage Zone"] + + + Flare Color + implementation.fire["Actions"][0].action.model["Color"] + + + + + character/pc/charge_sword_hold.dat + + Actions + + + + true + + particle/fx_attackflare.dat + + Color + None + Damage Zone + Directional + Time Scale + 1.0 + + + %ROOT% + + + + + + Clip/Default (Gain) + + File + sound/effect/monster/mechaknight/mechaknight_attackcue_05.ogg + + Gain + 1.0 + Range + Medium + + + %ROOT% + + + + + + 0 + 1000 + true + + + + Character/NPC/Monster/Construct/Mecha Knight Charge (small) + + + Time Scale + implementation.fire_speed + + + Sound + implementation.fire["Actions"][0].action.sounder["File"] + + + + + character/pc/sword-chargerelease/animation_nofx.dat + + Actions + + + + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/monster/mechaknight/mechaknight_attackcue_05.ogg + + Gain + 1.0 + Pitch adjust + Default + Range + Medium + + + %ROOT% + + + + 2.5 + + + particle/fx_pcfootstep.dat + + %ROOT% + + 2.0 + 0.0, 0.0, 0.5 + + + + + + + 2.0 + 0 + 1000 + false + + + + Character/NPC/Monster/Construct/Mecha Knight Spaz + + + character/npc/monster/mechaknight/animations/shocked.dat + + 5.0 + 1 + 967 + 1 + false + + + + Base/Damage Origin Transformed + + Damage + + 4 + + Shock + + Chance + 0.25 + Power + 30 + + + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 0.9 + + + + + + + + Base/Default + + Action + + + Shock + + Chance + 0.25 + Power + 30 + + + + Delay + 0 + + + + + + + + Character/NPC/Monster/Construct/Mecha Zombie/Eye Beam + + + Color + implementation.fire["Color"] + + + Bullet + implementation.fire_refs[0].ref["Action"].actor + + + + + character/npc/monster/mechazombie/animations/animation_breath-start.dat + + Attack Flare + 1.0 + + + + character/npc/monster/mechazombie/animations/animation_breath-fire.dat + + Color + 0.0, 1.0, 0.2, 1.0 + + + + character/npc/monster/zombie/animation/attack_breath_end.dat + + 1300 + 467 + 1533 + false + + + + Base/Default + + Action + + + Delay + 0 + + + + + + + + Character/NPC/Monster/Construct/Mecha Zombie/Swipe Arm + + + Status Condition + implementation.fire_refs[0].ref["Damage"].damages[1].status_condition + + + + + character/npc/monster/mechazombie/animations/animation_attack-start.dat + + Attack Flare + 1.364 + Flare Color + Normal + + + + character/npc/monster/zombie/animation/attack_fire.dat + + Swing Color + 1.0, 0.0, 0.0, 1.0 + + + + character/npc/monster/zombie/animation/attack_end.dat + + 0.75 + 1.2 + 0.7 + 550 + 333 + 1267 + + 0.8, 0.0 + 300 + 680 + + + + + Base/Damage Origin Transformed + + Damage + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + + + Delay + 165 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 0.65 + + + 1.2, 0.0 + + + + + + + + + + Character/NPC/Monster/Construct/Red Rover + + + Bullet + implementation.fire_refs[0].ref["Action"].actor + + + Speed + implementation.start_speed, implementation.start["Attack Flare"] + + + Sound + implementation.fire["Sound"] + + + Offset + implementation.fire_refs[0].ref["Action"].translation + + + + + character/npc/monster/rocketpuppy/animations/activate.dat + + Attack Flare + 1.25 + + + + character/npc/monster/rocketpuppy/animations/fire.dat + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + + + + character/npc/monster/rocketpuppy/animations/deactivate.dat + + 1.25 + 0.75 + 1000 + 1133 + 267 + false + + + + Base/Default + + Action + + + Bullet/Monster/Rocket Puppy Rocket + + Bullet Speed + 3.5 + + + + Delay + 0 + + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + Base/Damage Region Transformed + + Damage + + false + + Delay + 0 + Shape + + + -1000.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Construct/Rocket + + 0 + 0 + 0 + + + + Base/Default + + Delay + 0 + + + + + + Base/Damage Region Transformed + + Damage + + 0.0010 + false + + Delay + 0 + Shape + + + -1000.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Construct/Rocket Puppy + + + Bullet + implementation.fire_refs[0].ref["Action"].actor + + + Speed + implementation.start_speed, implementation.start["Attack Flare"] + + + Sound + implementation.fire["Sound"] + + + Offset + implementation.fire_refs[0].ref["Action"].translation + + + + + character/npc/monster/rocketpuppy/animations/activate.dat + + Attack Flare + 1.25 + + + + character/npc/monster/rocketpuppy/animations/fire.dat + + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gun_puppy_fire.ogg + Gain + 1.0 + Range + Medium + + + + + + character/npc/monster/rocketpuppy/animations/deactivate.dat + + 1.25 + 1000 + 833 + 667 + + + + Base/Default + + Action + + + Bullet/Monster/Rocket Puppy Rocket + + + Delay + 0 + + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + Base/Damage Region Transformed + + Damage + + false + + Delay + 0 + Shape + + + -1000.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Parts/Scuttlebot Blast (base) + + + Bullet + implementation.fire_refs[0].ref["Bullet"] + + + Mouthspark + implementation.fire["Spew"]["Color Variant"] + + + + Attack Speed + + + Attack - Intro Speed + implementation.start_speed + + + Bullet Delay + implementation.fire_refs[0].ref["Delay"] + + + Attack Flare - Time Scale + implementation.start["Attack Flare - Time Scale"] + + + + + + Tier 1 + + + 1.4 + A + 1.4 + At + 1.4 + Att + 1.4 + Atta + 1.4 + Attac + 1.4 + Attack + 1.4 + Attack - Intro Speed + 0.2 + Attack F + 1.4 + Attack Fl + 1.4 + Attack Fla + 1.4 + Attack Flar + 1.4 + Attack Flare + 1.4 + Attack Flare - + 1.4 + Attack Flare - T + 1.4 + Attack Flare - Ti + 1.4 + Attack Flare - Tim + 1.4 + Attack Flare - Time + 1.4 + Attack Flare - Time S + 1.4 + Attack Flare - Time Sc + 1.4 + Attack Flare - Time Sca + 1.4 + Attack Flare - Time Scal + 1.4 + Attack Flare - Time Scale + 1.0 + Bullet Delay + 80 + + + + + Tier 2 + + + 1.4 + A + 1.4 + At + 1.4 + Att + 1.4 + Atta + 1.4 + Attac + 1.4 + Attack + 1.4 + Attack - Intro Speed + 0.3 + Attack F + 1.4 + Attack Fl + 1.4 + Attack Fla + 1.4 + Attack Flar + 1.4 + Attack Flare + 1.4 + Attack Flare - + 1.4 + Attack Flare - T + 1.4 + Attack Flare - Ti + 1.4 + Attack Flare - Tim + 1.4 + Attack Flare - Time + 1.4 + Attack Flare - Time S + 1.4 + Attack Flare - Time Sc + 1.4 + Attack Flare - Time Sca + 1.4 + Attack Flare - Time Scal + 1.4 + Attack Flare - Time Scale + 1.6 + Bullet Delay + 100 + + + + + Tier 3 + + + 1.4 + A + 1.4 + At + 1.4 + Att + 1.4 + Atta + 1.4 + Attac + 1.4 + Attack + 1.4 + Attack - Intro Speed + 0.4 + Attack F + 1.4 + Attack Fl + 1.4 + Attack Fla + 1.4 + Attack Flar + 1.4 + Attack Flare + 1.4 + Attack Flare - + 1.4 + Attack Flare - T + 1.4 + Attack Flare - Ti + 1.4 + Attack Flare - Tim + 1.4 + Attack Flare - Time + 1.4 + Attack Flare - Time S + 1.4 + Attack Flare - Time Sc + 1.4 + Attack Flare - Time Sca + 1.4 + Attack Flare - Time Scal + 1.4 + Attack Flare - Time Scale + 1.8 + Bullet Delay + 110 + + + + Default + + + + + character/npc/monster/scuttlebot/animations/attack_start.dat + + Attack Flare - Size + + 0.68 + + Attack Flare - Time Scale + 1.4 + + + + character/npc/monster/chromalisk/animation/attack_fire.dat + + Attack Sound + sound/effect/weapon/magnus_charge_bullet_hit.ogg + Spew + + particle/fx_scuttlebot_mouthspark.dat + + Color Variant + Default (yellow) + + + + + + character/npc/monster/chromalisk/animation/attack_end.dat + + Attack Sound, Outro + + + + 0.2 + 1.4 + 0.8 + 233 + 567 + 1267 + false + true + + + + Character/NPC/Monster/Construct/Scuttlebot/Scuttlebot Blast (base) + + Bullet + + Bullet/Monster/Scuttlebot Bullet + + Element + None + Status + None + + + Delay + 120 + + + + + + + + Character/NPC/Monster/Construct/Tortodrone Charge Loop + + + Status Attack + implementation.fire_refs[0].ref["Status Attack"] + + + + + character/npc/monster/tortodrone/animation/attackCharge_loop.dat + + 1 + 6530 + 1 + false + true + true + + + + Character/NPC/Monster/Undead/Deadnought/Deadnought, Charge + + Status Attack + + + + + + + + + Character/NPC/Monster/Construct/Tortodrone Fist Pound + + + character/npc/monster/tortodrone/animation/attackAoE_start.dat + + + character/npc/monster/tortodrone/animation/attackAoE_fire.dat + + + character/npc/monster/tortodrone/animation/attackAoE_end.dat + + 0.6 + 1000 + 100 + 767 + false + + + + Character/NPC/Monster/Construct/Tortodrone Fist Pound + + + + + + + Character/NPC/Monster/Construct/Tortodrone Flying Punch + + + character/npc/monster/tortodrone/animation/attack01_start.dat + + + character/npc/monster/tortodrone/animation/attack01_fire.dat + + + character/npc/monster/tortodrone/animation/attack01_end.dat + + 0.75 + 667 + 300 + 1167 + + 6.0, 0.0 + 400 + 890 + + + + + Character/NPC/Monster/Construct/Tortodrone Damage + + Delay + 10 + Knock-Back + + 6.0, 0.0 + 300 + 8 + + + + + + + Character/NPC/Monster/Construct/Tortodrone Damage + + Delay + 110 + Knock-Back + + 6.0, 0.0 + 300 + 8 + + + + + + + Character/NPC/Monster/Construct/Tortodrone Damage + + Delay + 210 + Knock-Back + + 6.0, 0.0 + 300 + 8 + + + + + + 7 + + + + Character/NPC/Monster/Construct/Tortodrone Flying Punch (far) + + + character/npc/monster/tortodrone/animation/attack01_start.dat + + + character/npc/monster/tortodrone/animation/attack01_fire.dat + + + character/npc/monster/tortodrone/animation/attack01_end.dat + + 0.75 + 1.5 + 667 + 300 + 1167 + + 9.0, 0.0 + 600 + 890 + + + + + Character/NPC/Monster/Construct/Tortodrone Damage + + Delay + 10 + Knock-Back + + 6.0, 0.0 + 300 + 8 + + + + + + + Character/NPC/Monster/Construct/Tortodrone Damage + + Delay + 110 + Knock-Back + + 6.0, 0.0 + 300 + 8 + + + + + + + Character/NPC/Monster/Construct/Tortodrone Damage + + Delay + 210 + Knock-Back + + 6.0, 0.0 + 300 + 8 + + + + + + + Character/NPC/Monster/Construct/Tortodrone Damage + + Delay + 310 + Knock-Back + + 6.0, 0.0 + 300 + 8 + + + + + + + Character/NPC/Monster/Construct/Tortodrone Damage + + Delay + 410 + Knock-Back + + 6.0, 0.0 + 300 + 8 + + + + + + 7 + + + + Character/NPC/Monster/Construct/Tortodrone Missile Base + + + Target + implementation.fire_refs[0].ref["Target"], implementation.fire_refs[1].ref["Target"], implementation.fire_refs[2].ref["Target"], implementation.fire_refs[3].ref["Target"] + + + Translation 0 + implementation.fire_refs[0].ref["Translation"] + + + Translation 1 + implementation.fire_refs[1].ref["Translation"] + + + Translation 2 + implementation.fire_refs[2].ref["Translation"] + + + Translation 3 + implementation.fire_refs[0].ref["Translation"] + + + + + character/npc/monster/tortodrone/animation/attackNutso_start.dat + + + character/npc/monster/tortodrone/animation/attackNutso_fire.dat + + + character/npc/monster/tortodrone/animation/attackNutso_end.dat + + 1000 + 1067 + 900 + false + + + + Character/NPC/Monster/Construct/Tortodrone Missile + + Delay + 250 + + + + + + Character/NPC/Monster/Construct/Tortodrone Missile + + Delay + 500 + + + + + + Character/NPC/Monster/Construct/Tortodrone Missile + + Delay + 750 + + + + + + Character/NPC/Monster/Construct/Tortodrone Missile + + Delay + 1000 + + + + + + + + Character/NPC/Monster/Construct/Tortodrone Missle Attack + + + Translation 0 + implementation.attack["Translation 0"] + + + Translation 1 + implementation.attack["Translation 1"] + + + Translation 2 + implementation.attack["Translation 2"] + + + Translation 3 + implementation.attack["Translation 3"] + + + + + Character/NPC/Monster/Construct/Tortodrone Missile Base + + + + + Character/NPC/Monster/Construct/Tortodrone Punch + + + character/npc/monster/tortodrone/animation/attack01_start.dat + + + character/npc/monster/tortodrone/animation/attack01_fire.dat + + + character/npc/monster/tortodrone/animation/attack01_end.dat + + 1.4 + 667 + 300 + 1167 + + 3.0, 0.0 + 400 + 699 + + + + + Character/NPC/Monster/Construct/Tortodrone Punch Damage + + + + 7 + + + + Character/NPC/Monster/Construct/Tortodrone Punch (outro) + + + Speed + implementation.fire_speed + + + + + character/npc/monster/tortodrone/animation/attack01_end.dat + + 1 + 1167 + 1 + false + true + + + + + + + + Character/NPC/Monster/Fiend/Dark Knight/Push Back + + + Status Condition + implementation.fire_refs[0].ref["Damage"].damages[1] + + + + + animation/sequential/simple.dat + + Animations + + + + character/npc/monster/baron/animations/animation_cast-start.dat + + Flare Color + Normal + Flare Direction + Omni + + + + + + character/npc/monster/baron/animations/animation_cast-loopend.dat + + + + Priority + 1 + + + + character/npc/monster/baron/animations/animation_cast-fire.dat + + + character/npc/monster/baron/animations/animation_cast-end.dat + + 1667 + 167 + 750 + false + + + + Base/Damage Origin Transformed + + Damage + + + + + Monster/Damage/Attack Base + + 5 + + + 4 + + Shock + + Chance + 0.3333 + Power + 75 + + + + + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 8.0, 0.0 + 1000 + 3 + + Shape + + + 2.0 + + + + + + + + Base/Default + + Action + + + Buff + + Damage Modifier + 0.5 + Defense Modifier + 0.0 + Duration + 6000 + Source + + Variant + Attack Up + + + + Delay + 0 + + + + + + + + Character/NPC/Monster/Fiend/Dark Knight/Shield Deflect + + + character/npc/monster/darkknight/blocking.dat + + 1 + 533 + 1 + false + true + + -0.5, 0.0 + 200 + 1 + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + + + Character/NPC/Monster/Fiend/Dark Knight/Shoulder Check + + + character/npc/monster/darkknight/animation_rush-start.dat + + Attack Flare + 1.0 + + + + character/npc/monster/darkknight/animation_rush-fire.dat + + + character/npc/monster/baron/animations/animation_rush-end.dat + + 0.9 + 0.8 + 1000 + 267 + 700 + false + + 8.0, 0.0 + 600 + 1000 + + + + + Character/NPC/Monster/Fiend/Trojan ShoulderCheck + + Delay + 0 + + + + + + Character/NPC/Monster/Fiend/Trojan ShoulderCheck + + Delay + 100 + + + + + + Character/NPC/Monster/Fiend/Trojan ShoulderCheck + + Delay + 200 + + + + + + Character/NPC/Monster/Fiend/Trojan ShoulderCheck + + Delay + 400 + + + + + + + + Character/NPC/Monster/Fiend/Dark Knight/Sword Slam + + + character/npc/monster/darkknight/attack_1_start.dat + + + character/npc/monster/darkknight/attack_1_fire.dat + + + character/npc/monster/darkknight/attack_1_end.dat + + 0.5 + 0.8 + 0.5 + 500 + 167 + 933 + false + + + + Character/NPC/Monster/Fiend/Trojan - Slam + + + + + + + Character/NPC/Monster/Fiend/Darkhorse/Sword Slam + + + character/npc/monster/darkknight/attack_1_start.dat + + + character/npc/monster/darkknight/attack_1_fire.dat + + + character/npc/monster/darkknight/attack_1_end.dat + + 0.5 + 0.8 + 0.5 + 500 + 167 + 933 + false + + + + Character/NPC/Monster/Fiend/Darkhorse - Slam + + + + + + + Character/NPC/Monster/Fiend/Devilite/Cower + + + character/npc/monster/devilite/animation/v2/animation_cower.dat + + + character/npc/monster/devilite/animation/v2/animation_standing.dat + + 1.25 + 1.5 + 1 + 2133 + 1200 + + -1.0, 0.0 + 300 + + + + + Base/Damage Region Transformed + + Damage + + false + + Delay + 0 + Shape + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Dive Away + + + character/npc/monster/devilite/animation/v2/animation_dive-start.dat + + + character/npc/monster/devilite/animation/v2/animation_dive-fire.dat + + + character/npc/monster/devilite/animation/v2/animation_dive-end.dat + + 0.8 + 2.0 + 767 + 1000 + 2267 + + -6.0, 0.0 + 1250 + 1200 + + + + + Base/Damage Region Transformed + + Damage + + false + + Delay + 0 + Shape + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Dodge + + + + Direction + + + Translation + implementation.impulse_received.translation + + + + + + Left + + Translation + 1.0, 3.0 + + + + + Right + + Translation + 1.0, -3.0 + + + + Left + + + + + character/npc/monster/devilite/animation/v2/animation_running.dat + + 1.5 + 1 + 567 + 1 + + 1.0, 3.0 + 375 + + + + + Base/Damage Region Transformed + + Damage + + false + + Delay + 0 + Shape + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Manager/Overtime + + + character/npc/monster/devilite/animation/v2/animation_talk-start.dat + + + character/npc/monster/devilite/animation/v2/animation_talk-fire.dat + + Balloon + + + + + character/npc/monster/devilite/animation/v2/animation_talk-end.dat + + 767 + 2000 + 1333 + + + + Base/Table Spawn + + Delay + 350 + Spawn Table + + Monster/Attacks/ManagerTaunts (Overtime) + + + + + + + Base/Damage Region Transformed + + Damage + + false + + Delay + 0 + Shape + + + + + + + + Base/Default + + Delay + 1500 + + + + + + Base/Damage Region Transformed + + Damage + + false + + Delay + 1500 + Shape + + + 1.5 + + + 1.5, 0.0 + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Manager/Promote + + + character/npc/monster/devilite/animation/v2/animation_talk-start.dat + + + character/npc/monster/devilite/animation/v2/animation_talk-fire.dat + + Balloon + + + + + character/npc/monster/devilite/animation/v2/animation_talk-end.dat + + 767 + 2000 + 1333 + + + + Base/Table Spawn + + Delay + 350 + Spawn Table + + Monster/Attacks/ManagerTaunts (Promotion) + + + + + + + Base/Damage Region Transformed + + Damage + + false + + Delay + 0 + Shape + + + + + + + + Base/Default + + Delay + 1500 + + + + + + Base/Damage Region Transformed + + Damage + + false + + Delay + 1500 + Shape + + + 1.5 + + + 1.5, 0.0 + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Manager/Sip Coffee + + + character/npc/monster/devilite/animation/v2/animation_sip-start.dat + + + character/npc/monster/devilite/animation/v2/animation_sip-fire.dat + + + character/npc/monster/devilite/animation/v2/animation_sip-end.dat + + 767 + 2000 + 1333 + + + + Base/Damage Region Transformed + + Damage + + false + + Delay + 0 + Shape + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Swing Weapon + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + + + character/npc/monster/devilite/animation/v2/animation_swing-start.dat + + Attack Flare + 0.8 + + + + character/npc/monster/devilite/animation/v2/animation_swing-fire.dat + + + character/npc/monster/devilite/animation/v2/animation_swing-end.dat + + 0.8 + 2.0 + 1000 + 333 + 1167 + + 1.0, 0.0 + 200 + 1100 + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base + + 4 + + Delay + 50 + Impulse Origin Translation + -1.0, 0.0 + Knock-Back + + 1.0, 0.0 + 300 + 2 + + Shape + + + 0.6 + + + 1.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Electronics/Board 1 + + + Damage (Status) + implementation.attack["Bullet"]["Damage (Status)"] + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Electronics + + Damage (Status) + + Shock + + Chance + 0.2 + Power + 20 + + + Model + 2 + + + Model + + item/weapon/npc/devilite/bullet_electronics.dat + + Variant + 2 + + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Electronics/Board 2 + + + Damage (Status) + implementation.attack["Bullet"]["Damage (Status)"] + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Electronics + + Damage (Status) + + Shock + + Chance + 0.2 + Power + 20 + + + Model + 3 + + + Model + + item/weapon/npc/devilite/bullet_electronics.dat + + Variant + 3 + + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Electronics/Board 3 + + + Damage (Status) + implementation.attack["Bullet"]["Damage (Status)"] + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Electronics + + Damage (Status) + + Shock + + Chance + 0.2 + Power + 20 + + + Model + 4 + + + Model + + item/weapon/npc/devilite/bullet_electronics.dat + + Variant + 4 + + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Electronics/Floppy + + + Damage (Status) + implementation.attack["Bullet"]["Damage (Status)"] + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Electronics + + Damage (Status) + + Shock + + Chance + 0.2 + Power + 20 + + + Model + 1 + + + Model + + item/weapon/npc/devilite/bullet_electronics.dat + + Variant + 1 + + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Fireball + + + Damage (Status) + implementation.attack["Bullet"]["Damage (Status)"] + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Fireball + + Damage (Status) + + Fire + + Chance + 0.2 + Power + 20 + + + + + Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/enemybullet.png + Core Max + 0.2 + Core Min + 0.1 + Element + Fire + Flare + false + color + yellow + + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Junk/Can + + + Damage (Status) + implementation.attack["Bullet"]["Damage (Status)"] + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Junk + + Damage (Status) + + Poison + + Chance + 0.2 + Power + 20 + + + Model + 2 + + + Model + + item/weapon/npc/devilite/bullet_junk.dat + + Variant + 2 + + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Junk/Cup + + + Damage (Status) + implementation.attack["Bullet"]["Damage (Status)"] + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Junk + + Damage (Status) + + Poison + + Chance + 0.2 + Power + 20 + + + Model + 3 + + + Model + + item/weapon/npc/devilite/bullet_junk.dat + + Variant + 3 + + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Junk/Dohnut + + + Damage (Status) + implementation.attack["Bullet"]["Damage (Status)"] + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Junk + + Damage (Status) + + Poison + + Chance + 0.2 + Power + 20 + + + Model + Book + + + Model + + item/weapon/npc/devilite/bullet_junk.dat + + Variant + 1 + + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Junk/Napkin + + + Damage (Status) + implementation.attack["Bullet"]["Damage (Status)"] + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Junk + + Damage (Status) + + Poison + + Chance + 0.2 + Power + 20 + + + Model + 4 + + + Model + + item/weapon/npc/devilite/bullet_junk.dat + + Variant + 4 + + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Book + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Office Suppies + + Model + Book + + + Model + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Book + + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Chair + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Office Suppies + + Model + Chair + + + Model + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Chair + + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Computer + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Office Suppies + + Model + Computer + + + Model + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Computer + + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Stapler + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Office Suppies + + Model + Stapler + + + Model + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Stapler + + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Office Supplies/Suitcase + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Office Suppies + + Model + Suitcase + + + Model + + item/weapon/npc/devilite/ambient_officesupplies.dat + + Model + Suitcase + + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + + Model + implementation.start["Model"] + + + Model Transform + implementation.start["Transform"] + + + Bullet + implementation.fire_refs[0].ref["Actor"] + + + + + character/npc/monster/devilite/animation/v2/animation_throw-startv2.dat + + Flare Color + Normal + Model + + item/weapon/npc/devilite/model_axe.dat + + Variant + Fire + + + Transform + + -0.38268346, 0.0, 0.0, 0.9238795 + + + + + character/npc/monster/devilite/animation/v2/animation_throw-fire.dat + + + character/npc/monster/devilite/animation/v2/animation_throw-end.dat + + 625 + 167 + 1333 + true + true + + -0.25, 0.0 + 200 + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 0 + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Snowball + + + Damage (Status) + implementation.attack["Bullet"]["Damage (Status)"] + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weak/Snowball + + Damage (Status) + + Freeze + + Chance + 0.2 + Power + 20 + + + + + Model + + item/weapon/npc/devilite/bullet_snowball.dat + + Model Transform + + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Weapons/Axe (Nrm) + + + Damage (Status) + implementation.attack["Bullet"]["Damage (Status)"] + + + Variant + implementation.attack["Model"]["Variant"], implementation.attack["Bullet"]["Variant"] + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weapons/Axe + + Damage (Status) + + 4 + + Variant + Fire + + + Model + + item/weapon/npc/devilite/model_axe.dat + + Variant + Fire + + + Model Transform + + -0.38122723, -0.080521375, -0.03335305, 0.9203639 + + + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Weapons/Pitchfork (Nrm) + + + Damage (Status) + implementation.attack["Bullet"]["Damage (Status)"] + + + Variant + implementation.attack["Model"]["Variant"], implementation.attack["Bullet"]["Variant"] + + + + + Character/NPC/Monster/Fiend/Devilite/Throw/Parts/Throw (Base) + + Bullet + + Bullet/Monster/Devilite Thrown/Weapons/Pitchfork + + Damage (Status) + + 4 + + Variant + Fire + + + Model + + item/weapon/npc/devilite/model_pitchfork.dat + + Variant + Fire + + + Model Transform + + 0.4055797, -0.4545195, 0.5416752, 0.57922804 + + + + + + + Character/NPC/Monster/Fiend/Devilite/Yesman Twitch + + + character/npc/monster/devilite/animation/v2/animation_reacting.dat + + Cry + sound/effect/monster/devilite/devilite_yesman_hurt.ogg + + + 1.5 + 1 + 500 + 1 + + -1.0, 0.0 + 300 + + + + + Base/Damage Region Transformed + + Damage + + false + + Delay + 0 + Shape + + + + + + + + + + Character/NPC/Monster/Fiend/Gold Trojan/Sword Slam + + + character/npc/monster/darkknight/attack_1_start.dat + + + character/npc/monster/darkknight/attack_1_fire.dat + + + character/npc/monster/darkknight/attack_1_end.dat + + 0.5 + 0.8 + 0.5 + 500 + 167 + 933 + false + + + + Character/NPC/Monster/Fiend/Gold Trojan - Slam + + + + + + + Character/NPC/Monster/Fiend/Greaver (WingSwipe) + + + Bullet + implementation.fire_refs[5].ref["Actor"], implementation.fire_refs[4].ref["Actor"], implementation.fire_refs[3].ref["Actor"], implementation.fire_refs[2].ref["Actor"] + + + Bomb + implementation.fire_refs[1].ref["Action"].actor + + + + + character/npc/monster/silkwing/animation/animation_attack_start.dat + + Attack Flare + 0.8 + + + + character/npc/monster/silkwing/animation/animation_attack_fire.dat + + + character/npc/monster/silkwing/animation/animation_attack_end.dat + + 0.8 + 1000 + 333 + 667 + true + true + + 5.0, 0.0 + 1250 + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base + + 4 + true + SHADOW + + Monster/Split/Split - Full + + + Delay + 0 + Impulse Origin Translation + -1.0, 0.0 + Knock-Back + + 0.25, 0.0 + 150 + + Shape + + + 0.75 + + + 0.75, 0.0 + + + + + + + + Base/Default + + Action + + + Delay + 0 + + + + + + Base/Spawn Transformed-Rotated Actor + + Actor + + Delay + 0 + + + + + + Base/Spawn Transformed-Rotated Actor + + Actor + + Delay + 0 + + + + + + Base/Spawn Transformed-Rotated Actor + + Actor + + Delay + 0 + + + + + + Base/Spawn Transformed-Rotated Actor + + Actor + + Delay + 0 + + + + + + Base/Default + + Delay + 0 + + + + + + + + Character/NPC/Monster/Fiend/Knightmare/Sword Slam + + + character/npc/monster/darkknight/attack_1_start.dat + + + character/npc/monster/darkknight/attack_1_fire.dat + + + character/npc/monster/darkknight/attack_1_end.dat + + 0.5 + 0.8 + 0.5 + 500 + 167 + 933 + false + + + + Character/NPC/Monster/Fiend/Knightmare - Slam + + + + + + + Character/NPC/Monster/Fiend/Silkwing 0 + + 0 + 1 + 0 + + + + Base/Damage Region Transformed + + Damage + + false + + Delay + 0 + Shape + + + -1000.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Fiend/Silkwing 1 + + + character/npc/monster/silkwing/animation/animation_reacting.dat + + 667 + 0 + 0 + + -11.0, 0.0 + 900 + 210 + + + + + Base/Damage Region Transformed + + Damage + + false + + Delay + 0 + Shape + + + -1000.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Fiend/Trojan/Trojan + + + character/npc/monster/darkknight/attack_1_start.dat + + + character/npc/monster/darkknight/attack_1_fire.dat + + + character/npc/monster/darkknight/attack_1_end.dat + + 0.5 + 0.8 + 0.5 + 500 + 167 + 933 + false + + + + Character/NPC/Monster/Fiend/Trojan - Slam + + + + + + + Character/NPC/Monster/Gremlin/Demo/Combo Throw + + + Speed + implementation.start["Release Time"], implementation.start_speed + + + Tier + implementation.fire_refs[4].ref["Actor"]["Tier"], implementation.fire_refs[3].ref["Actor"]["Tier"], implementation.fire_refs[2].ref["Actor"]["Tier"], implementation.fire_refs[1].ref["Actor"]["Tier"], implementation.fire_refs[0].ref["Actor"]["Tier"] + + + + + character/pc/sword-chargerelease/animation.dat + + Release Time + 1.0 + Sound + + Clip/Default (Gain) + + File + sound/effect/monster/gremlin/gremlin_chat_charge.ogg + Gain + 1.0 + Range + Long + + + + + + character/pc/charge_combosword/fire.dat + + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch 1 + Default + Sound - Pitch 2 + Higher 1 + Sound - Pitch 3 + Higher 2 + Sound - Pitch 4 + Higher 3 + Sound - Pitch Final + Default + Sound2 + sound/effect/weapon/sword_01.ogg + Swing + + particle/swing/pc_cutter_simple.dat + + Blend + TRANSLUCENT + Flare + false + Shadow + false + Strider Arc + false + Strider Color + 0.4745098, 0.4627451, 0.40784314, 0.0 + Swing Color In/Out + 0.45490196, 0.36862746, 0.32941177, 0.0 + Swing Color Middle + 0.8392157, 0.7647059, 0.5764706, 0.5 + Texture + particle/texture/fx_pcswing.png + Thin Cut + true + Trail Swipe + false + + + + + + character/pc/attack_sword-upwardswipe/end.dat + + 0.75 + 1000 + 1617 + 667 + 3 + + 2.0, 0.0 + 100 + 2000 + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Demo Throw + + Fuse + 250 + Tier + 1 + + + Delay + 0 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Demo Throw + + Fuse + 500 + Tier + 1 + + + Delay + 250 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Demo Throw + + Fuse + 750 + Tier + 1 + + + Delay + 500 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Demo Throw + + Fuse + 1000 + Tier + 1 + + + Delay + 750 + + + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/Demo Throw + + Fuse + 2000 + Tier + 1 + + + Delay + 1633 + + + + + + + + Character/NPC/Monster/Gremlin/Demo/Place Bomb + + + Momentum Translation + implementation.impulse_received.translation + + + Bomb + implementation.fire_refs[0].ref["Actor"] + + + + + character/npc/monster/gremlin/animation/blend_bomb.dat + + + character/npc/monster/gremlin/animation/walking.dat + + 2.0 + 0 + 700 + 0 + + -3.0, 1.0 + 600 + 250 + + + + + Base/Spawn Actor + + Actor + + Bomb/Monster/Demo Mine + + Tier + 1 + + + Delay + 0 + + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + + + Character/NPC/Monster/Gremlin/Demo/Throw Bomb + + + Bomb + implementation.fire_refs[0].ref["Actor"] + + + + + character/npc/monster/gremlin/animation/attack_1_start.dat + + Attack Flare + 1.0 + Balloon + + model/compound/monsterchat/model.dat + + Name + + Text + m.catch + + + Sound + + Meta Clip/Default + + Files + + + sound/effect/monster/gremlin/gremlin_chat_taunt.ogg + + + Range + Long + + + + + + character/npc/monster/gremlin/animation/attack_1_fire.dat + + FX + + Sound + sound/effect/weapon/sword_03.ogg + + + + character/npc/monster/gremlin/animation/attack_1_end.dat + + 1.5 + 2.0 + 2.0 + 1000 + 667 + 450 + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Demo Throw + + Fuse + 1000 + Tier + 1 + + + Delay + 200 + + + + + + + + Character/NPC/Monster/Gremlin/Generic/Close Ground + + + character/npc/monster/gremlin/animation/skill_charging.dat + + Balloon + + Charge FX + + particle/fx_chargedash.dat + + Color + 1.0, 1.0, 0.99607843, 1.0 + Rings + false + + + Sound + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/monster_death_cloud.ogg + Gain + 0.8 + Pitch + 2.0 + Range + Medium + + + + + + character/pc/sword-chargerelease/animation_nofx.dat + + Actions + + + + + particle/fx_pcfootstep.dat + + + 3.0 + 0.0, 0.0, 0.5 + + + + + 1.0 + + + particle/fx_pcfootstep.dat + + + 2.5 + 0.0, 0.0, 0.5 + + + + + 2.5 + + + particle/fx_pcfootstep.dat + + + 2.0 + 0.0, 0.0, 0.5 + + + + + + + 5.0 + 0 + 1000 + 0 + + 6.5, 0.0 + 400 + 300 + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + + + Character/NPC/Monster/Gremlin/Generic/Dodge + + + Translation + implementation.impulse_received.translation + + + + + character/npc/monster/gremlin/animation/skill_charging.dat + + Balloon + + Charge FX + + particle/fx_chargedash.dat + + Color + 1.0, 1.0, 0.99607843, 1.0 + Rings + false + + + Sound + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/monster_death_cloud.ogg + Gain + 0.8 + Pitch + 2.0 + Range + Medium + + + + + + character/pc/sword-chargerelease/animation_nofx.dat + + Actions + + + + + particle/fx_pcfootstep.dat + + + 3.0 + 0.0, 0.0, 0.5 + + + + + 1.0 + + + particle/fx_pcfootstep.dat + + + 2.5 + 0.0, 0.0, 0.5 + + + + + 2.5 + + + particle/fx_pcfootstep.dat + + + 2.0 + 0.0, 0.0, 0.5 + + + + + + + + character/pc/hurt_soft.dat + + 5.0 + 2.0 + 0 + 1000 + 500 + true + + 400 + 300 + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + + + Character/NPC/Monster/Gremlin/Generic/Dodge Back + + + character/npc/monster/gremlin/animation/skill_charging.dat + + Balloon + + character/npc/monster/devilite/parts/fx_panic.dat + + Count + 2 + Mode + Right + + + Charge FX + + particle/fx_chargedash.dat + + Color + 1.0, 1.0, 0.99607843, 1.0 + Rings + true + + + Sound + + Compound + + Sounders + + + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/monster_death_cloud.ogg + Gain + 0.5 + Pitch + 1.75 + Range + Medium + + + + + + + + + + character/pc/sword-chargerelease/animation_nofx.dat + + Actions + + + + + particle/fx_pcfootstep.dat + + + 3.0 + 0.0, 0.0, 0.5 + + + + + 1.0 + + + particle/fx_pcfootstep.dat + + + 2.5 + 0.0, 0.0, 0.5 + + + + + 2.5 + + + particle/fx_pcfootstep.dat + + + 2.0 + 0.0, 0.0, 0.5 + + + + + + + 5.0 + 0 + 1000 + 0 + + -2.0, -1.0 + 200 + 100 + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + + + Character/NPC/Monster/Gremlin/Generic/Use Potion + + + + Tier Power + + + Icon + implementation.fire["Texture"]["File"] + + + + + + 1 + + Health + + 30 + + + 210 + 1 + 9 + + Icon + ui/icon/inventory/icon_capsule.png + + + + + 2 + + Health + + 210 + + + 450 + 9 + 19 + + Icon + ui/icon/inventory/icon_capsule-super.png + + + + + 3 + + Health + + 450 + + + 960 + 19 + 30 + + Icon + ui/icon/inventory/icon_capsule-ultra.png + + + + 1 + + + + + character/npc/monster/gremlin/animation/skill_charging.dat + + Balloon + + Charge FX + + particle/fx_attackflare.dat + + Time Scale + 0.75 + + + Sound + + Clip/Default + + File + sound/effect/monster/gremlin/gremlin_chat_extra_02b.ogg + Range + Long + + + + + + character/pc/use_item.dat + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 519 + + + 774 + + + 1025 + + + File + ui/icon/inventory/icon_capsule-super.png + + + + + 2.0 + 0.75 + 1067 + 1433 + 0 + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + Base/Default + + Action + + + Monster/Heal/Heal Base +10 + + + Delay + 1000 + + + + + + + + Character/NPC/Monster/Gremlin/Healer/Heal (Omni) + + + + Tier + + + Speed + implementation.start["Charge FX"]["Time Scale"], implementation.start_speed + + + + + + 1 + + Damage + 65 + Damage End + 125 + End Depth + 9 + Speed + 0.3 + Start Depth + 1 + + + + + 2 + + Damage + 125 + Damage End + 255 + End Depth + 19 + Speed + 0.6 + Start Depth + 9 + + + + + 3 + + Damage + 255 + Damage End + 395 + End Depth + 30 + Speed + 0.8 + Start Depth + 19 + + + + 1 + + + + + character/npc/monster/gremlin/animation/skill_charging.dat + + Balloon + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + model/compound/monsterchat/model.dat + + Name + + Text + m.stay_close + + + + + + model/viewer/sounder.dat + + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/gremlin/gremlin_chat_heal_04c.ogg + + Gain + 1.0 + Range + Long + + + Viewer Extents + 24 + + + + + + + Charge FX + + particle/fx_attackflare.dat + + Color + None + Damage Zone + Omni + Time Scale + 1.0 + + + Sound + + + + + character/npc/monster/gremlin/animation/skill_omni.dat + + FX + + particle/fx_menderaoe.dat + + Sound + sound/effect/weapon/avenger_cswing.ogg + + + 1067 + 1067 + 0 + + + + Base/Default + + Action + + + Bomb/Monster/Mender Heal (Single) + + Depth Scale + + Monster/Damage/Attack Base +05 + + + + + Delay + 0 + + + + + + Base/Default + + Action + + + 6.0, 0.0 + 300 + 4 + + 4 + + Delay + 0 + + + + + + + + Character/NPC/Monster/Gremlin/Healer/Heal (Renew) + + + + Tier + + + Speed + implementation.start["Charge FX"]["Time Scale"], implementation.start_speed + + + + + + 1 + + Damage + + Bomb/Monster/Mender Heal (Single) + + Depth Scale + + Monster/Damage/Attack Base -05 + + + + Speed + 0.3 + + + + + 2 + + Damage + + Bomb/Monster/Mender Heal (Single) + + Depth Scale + + Monster/Damage/Attack Base -05 + + + + Speed + 0.6 + + + + + 3 + + Damage + + Bomb/Monster/Mender Heal (Single) + + Depth Scale + + Monster/Damage/Attack Base -05 + + + + Speed + 0.8 + + + + 1 + + + + + character/npc/monster/gremlin/animation/skill_charging.dat + + Balloon + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + model/compound/monsterchat/model.dat + + Name + + Text + m.heal + + + + + + model/viewer/sounder.dat + + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/gremlin/gremlin_chat_heal_03.ogg + + Gain + 1.0 + Range + Long + + + Viewer Extents + 24 + + + + + + + Charge FX + + particle/fx_attackflare.dat + + Color + None + Damage Zone + Directional + Time Scale + 2.0 + + + Sound + + + + + character/npc/monster/gremlin/animation/skill_directional.dat + + 2.0 + 1067 + 900 + 200 + + + + Base/Default + + Action + + + Bomb/Monster/Mender RenewZone + + Damage + + Bomb/Monster/Mender Heal (Single) + + Depth Scale + + Monster/Damage/Attack Base -10 + + + + + + + Delay + 500 + + + + + + + + Character/NPC/Monster/Gremlin/Healer/Heal (Target) + + + + Tier + + + Speed + implementation.start["Charge FX"]["Time Scale"], implementation.start_speed + + + + + + 1 + + Damage + 30 + Damage End + 65 + End Depth + 9 + Speed + 0.7 + Start Depth + 1 + + + + + 2 + + Damage + 65 + Damage End + 190 + End Depth + 19 + Speed + 0.85 + Start Depth + 9 + + + + + 3 + + Damage + 190 + Damage End + 330 + End Depth + 30 + Speed + 1.0 + Start Depth + 19 + + + + 1 + + + + + character/npc/monster/gremlin/animation/skill_charging.dat + + Balloon + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + model/compound/monsterchat/model.dat + + Name + + Text + m.heal_target + + + + + + model/viewer/sounder.dat + + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/gremlin/gremlin_chat_heal_03.ogg + + Gain + 1.0 + Range + Long + + + Viewer Extents + 24 + + + + + + + Charge FX + + particle/fx_attackflare.dat + + Color + None + Damage Zone + Directional + Time Scale + 2.0 + + + Sound + + + + + character/npc/monster/gremlin/animation/skill_directional.dat + + 2.0 + 1067 + 900 + 200 + + + + Base/Default + + Action + + + Bomb/Monster/Mender Heal (Single) + + Depth Scale + + Monster/Damage/Attack Base + + + + + Delay + 500 + + + + + + + + Character/NPC/Monster/Gremlin/Healer/Raise Construct + + + Speed + implementation.start["Charge FX"]["Time Scale"], implementation.start_speed + + + + + character/npc/monster/gremlin/animation/skill_charging.dat + + Balloon + + model/compound/monsterchat/model.dat + + Name + + Text + m.raise_dead + + + Charge FX + + particle/fx_attackflare.dat + + Time Scale + 1.0 + + + Sound + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/gremlin/gremlin_chat_heal_04c.ogg + Gain + 1.0 + Pitch + 1.0 + Range + Long + + + + + + character/npc/monster/gremlin/animation/skill_directional.dat + + 1067 + 900 + 200 + + + + Base/Default + + Action + + + Bomb/Monster/Mender Raise (Player) + + + Delay + 500 + + + + + + Base/Damage Region Transformed + + Damage + + 1.0 + + Delay + 0 + Shape + + + -1000.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Gremlin/Healer/Raise Dead + + + Speed + implementation.start["Charge FX"]["Time Scale"], implementation.start_speed + + + + + character/npc/monster/gremlin/animation/skill_charging.dat + + Balloon + + model/compound/monsterchat/model.dat + + Name + + Text + m.raise_dead + + + Charge FX + + particle/fx_attackflare.dat + + Time Scale + 1.0 + + + Sound + + Clip/Default (Gain) (Pitch) + + File + sound/effect/monster/gremlin/gremlin_chat_heal_04c.ogg + Gain + 1.0 + Pitch + 1.0 + Range + Long + + + + + + character/npc/monster/gremlin/animation/skill_directional.dat + + 1067 + 900 + 200 + + + + Base/Default + + Action + + + Bomb/Monster/Mender Raise + + + Delay + 500 + + + + + + + + Character/NPC/Monster/Gremlin/Healer/Wand Bolt + + + + Tier + + + Speed + implementation.start["Charge FX"]["Time Scale"], implementation.start_speed + + + + + + 1 + + Damage + + 30.0 + 4 + 65.0 + 1 + 19 + + Speed + 2.5 + + + + + 2 + + Damage + + 65.0 + 4 + 190.0 + 9 + 19 + + Speed + 3.75 + + + + + 3 + + Damage + + 190.0 + 4 + 330.0 + 19 + + Speed + 5.0 + + + + 1 + + + + + character/npc/monster/gremlin/animation/skill_charging.dat + + Balloon + + model/compound/monsterchat/model.dat + + Name + + Text + m.magic_missle + + + Charge FX + + particle/fx_attackflare.dat + + Color + Elemental + Damage Zone + Directional + Time Scale + 1.5 + + + Sound + + Custom/Monsters/Gremlins/Light Growls + + + + + character/npc/monster/gremlin/animation/skill_directional.dat + + 1.5 + 1067 + 900 + 200 + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/Mender Bolt + + Damage + + + Monster/Damage/Attack Base -05 + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + + Delay + 300 + + + + + + + + Character/NPC/Monster/Gremlin/Healer/Wand Swing + + + + Tier + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + + + + 1 + + Damage + + + Monster/Damage/Attack Base -10 + + 4 + + + + + + 2 + + Damage + + + Monster/Damage/Attack Base -10 + + 4 + + + + + + 3 + + Damage + + + Monster/Damage/Attack Base -10 + + 4 + + + + + 1 + + + + + character/pc/attack_sword_1_start.dat + + + character/pc/attack_sword_1_fire2.dat + + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Default + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.0, 0.0, 0.0, 1.0 + Swing Color In/Out + 0.0, 0.0, 0.0, 0.0 + Swing Color Middle + 1.0, 0.0, 0.4, 1.0 + Texture + particle/texture/ring_halfmoon.png + + + + + + character/pc/attack_sword_1_end.dat + + 2.5 + 233 + 667 + + 1.0, 0.0 + 150 + 300 + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base -10 + + 4 + + Delay + 0 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 1.0, 0.0 + 200 + + Shape + + + 0.4 + + + 1.0, 0.0 + + + + + + + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Fire Bullet + + + + Tier + + + Speed + implementation.start_speed, implementation.start["Attack Flare"] + + + Bullet + implementation.fire_refs[0].ref["Actor"] + + + + + + 1 + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + Element + None + Status + None + + + Speed + 1.0 + + + + + 2 + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 3.0 + Element + None + Status + None + + + Speed + 1.25 + + + + + 3 + + Bullet + + Bullet/Monster/Vog Fireball + + Damage + + + + + Monster/Damage/Attack Base + + 4 + ELEMENTAL + + Monster/Split/Split - Half + + + + 4 + + Fire 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Speed + 1.5 + + + + 1 + + + + + character/npc/monster/gremlin/animation/range_1_start.dat + + Attack Flare + 1.0 + Sounder + + + + + character/npc/monster/gremlin/animation/range_1_loop.dat + + Sound + sound/effect/weapon/cryotech_fire.ogg + + + + character/npc/monster/gremlin/animation/range_1_end.dat + + 2.0 + 1000 + 500 + 750 + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Flamethrower + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Length + Medium + Offset + 1.0, 0.0 + + + Delay + 200 + + + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Fire Bullet (Triple) + + + + Tier + + + Speed + implementation.start["Attack Flare"], implementation.start_speed + + + Bullet + implementation.fire_refs[0].ref["Actor"], implementation.fire_refs[1].ref["Actor"], implementation.fire_refs[2].ref["Actor"] + + + + + + 1 + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 2.5 + + + Speed + 1.0 + + + + + 2 + + Bullet + + Bullet/Monster/Gun Puppy Bullet + + Bullet Speed + 3.0 + + + Speed + 1.0 + + + + + 3 + + Bullet + + Bullet/Monster/Vog Fireball + + Damage + + + + + Monster/Damage/Attack Base + + 4 + ELEMENTAL + + Monster/Split/Split - Full + + + + 4 + + Fire 3 + + Chance + 0.5 + Power + 50 + + + + + + + + Speed + 1.0 + + + + 1 + + + + + character/npc/monster/gremlin/animation/range_1_start.dat + + Attack Flare + 1.0 + Sounder + + + + + character/npc/monster/gremlin/animation/range_1_loop.dat + + Sound + sound/effect/weapon/cryotech_fire.ogg + + + + character/npc/monster/gremlin/animation/range_1_end.dat + + 2.0 + 1000 + 500 + 750 + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Flamethrower + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + + + + Length + Medium + Offset + 1.0, 0.0 + + + Delay + 200 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Vog Fireball + + Damage + + + + 80.0 + 4 + + + 4 + + Fire + + Chance + 0.5 + Power + 80 + + + + + + + + Delay + 200 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Vog Fireball + + Damage + + + + 80.0 + 4 + + + 4 + + Fire + + Chance + 0.5 + Power + 80 + + + + + + + + Delay + 0 + + + + + + + + Character/NPC/Monster/Gremlin/Scorcher/FlameWall + + + + Tier + + + Speed + implementation.start["Attack Flare"], implementation.start_speed + + + Damage + implementation.fire_refs[0].ref["Actor"]["Damage"], implementation.fire_refs[1].ref["Actor"]["Damage"], implementation.fire_refs[2].ref["Actor"]["Damage"], implementation.fire_refs[3].ref["Actor"]["Damage"], implementation.fire_refs[4].ref["Actor"]["Damage"], implementation.fire_refs[5].ref["Actor"]["Damage"], implementation.fire_refs[6].ref["Actor"]["Damage"] + + + + + + 1 + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Speed + 0.8 + + + + + 2 + + Damage + + 4 + + Fire 2 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Speed + 0.9 + + + + + 3 + + Damage + + 4 + + Fire 3 + + Chance + 0.5 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Speed + 1.0 + + + + 1 + + + + + character/npc/monster/gremlin/animation/range_1_start.dat + + Attack Flare + 1.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/gremlin/gremlin_chat_taunt.ogg + Gain + 1.0 + Range + Long + + + + + + animation/sequential/simple.dat + + Animations + + + + character/npc/monster/gremlin/animation/range_1_loop.dat + + Sound + sound/effect/monster/gremlin_scorcher_fire.ogg + + + + + + character/npc/monster/gremlin/animation/range_1_loop.dat + + Sound + + + + + + Priority + 1 + + + + character/npc/monster/gremlin/animation/range_1_end.dat + + 1000 + 1000 + 750 + false + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/FlameWall Chunk + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Offset + 1.0, 0.0 + + + Delay + 200 + + + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/FlameWall Chunk + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Offset + 1.33, 1.0 + + + Delay + 300 + + + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/FlameWall Chunk + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Offset + 1.33, -1.0 + + + Delay + 300 + + + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/FlameWall Chunk + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Offset + 1.66, 2.0 + + + Delay + 400 + + + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/FlameWall Chunk + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Offset + 1.66, -2.0 + + + Delay + 400 + + + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/FlameWall Chunk + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Offset + 2.0, 3.0 + + + Delay + 500 + + + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/FlameWall Chunk + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Offset + 2.0, -3.0 + + + Delay + 500 + + + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Self Destruct + + + Damage + implementation.fire_refs[0].ref["Action"].damage.amount + + + + + character/npc/monster/gremlin/animation/skill_charging.dat + + Balloon + + world/dynamic/block/explosive_timed/parts/fx_countdown.dat + + Charge FX + + particle/fx_attackflare.dat + + Time Scale + 0.333 + + + Sound + + + + + character/npc/monster/gremlin/animation/skill_omni.dat + + FX + + particle/swing/vog_charged.dat + + Sound + sound/effect/weapon/bomb_c02.ogg + + + 0.333 + 1067 + 1067 + 0 + + + + Base/Default + + Action + + + 240.0 + + + -4.0, 0.0 + 200 + 3 + + + Delay + 160 + + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + + + Character/NPC/Monster/Gremlin/Scorcher/Torch Straight + + + Speed + implementation.start["Attack Flare"], implementation.start_speed + + + Flame + implementation.fire_refs[0].ref["Actor"] + + + Offset + implementation.fire_refs[0].ref["Translation"] + + + + + character/npc/monster/gremlin/animation/range_1_start.dat + + Attack Flare + 1.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/gremlin/gremlin_chat_taunt.ogg + Gain + 1.0 + Range + Long + + + + + + animation/sequential/simple.dat + + Animations + + + + character/npc/monster/gremlin/animation/range_1_loop.dat + + Sound + sound/effect/monster/gremlin_scorcher_fire.ogg + + + + + + character/npc/monster/gremlin/animation/range_1_loop.dat + + Sound + + + + + + + character/npc/monster/gremlin/animation/range_1_loop.dat + + Sound + + + + + + + character/npc/monster/gremlin/animation/range_1_loop.dat + + Sound + + + + + + Priority + 1 + + + + character/npc/monster/gremlin/animation/range_1_end.dat + + 1000 + 2000 + 750 + false + + + + Base/Spawn Transformed-Rotated Actor + + Actor + + Bullet/Monster/Flamethrower + + Damage + + 4 + + Fire + + Chance + 0.5 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Length + Medium + Offset + 1.0, 0.0 + + + Delay + 200 + + + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Pushaway + + + + Tier + + + Speed + implementation.start["Release Time"], implementation.start_speed + + + Knock-Back + implementation.fire_refs[0].ref["Knock-Back"], implementation.fire_refs[1].ref["Knock-Back"], implementation.fire_refs[2].ref["Knock-Back"], implementation.fire_refs[3].ref["Knock-Back"] + + + Damage + implementation.fire_refs[3].ref["Damage"], implementation.fire_refs[2].ref["Damage"], implementation.fire_refs[1].ref["Damage"], implementation.fire_refs[0].ref["Damage"] + + + + + + 1 + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 4 + + Stun + + Chance + 0.5 + Power + 25 + + + + + + Knock-Back + + 3.0, 0.0 + 400 + + Speed + 1.5 + + + + + 2 + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 4 + + Stun 2 + + Chance + 0.5 + Power + 25 + + + + + + Knock-Back + + 4.5, 0.0 + 400 + 2 + + Speed + 1.5 + + + + + 3 + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 4 + + Stun 3 + + Chance + 0.5 + Power + 25 + + + + + + Knock-Back + + 6.0, 0.0 + 400 + 3 + + Speed + 1.5 + + + + 1 + + + + + character/pc/sword-chargerelease/animation.dat + + Release Time + 1.5 + Sound + + + + + character/pc/attack_sword_3_firewithwindup2.dat + + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Default + Swing + + particle/swing/calibur_charged.dat + + Variant + Coldiron + + + + + + character/pc/attack_sword_3_end.dat + + 1.5 + 0.75 + 1000 + 350 + 667 + false + 3 + + 1.0, 0.0 + 200 + 300 + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 4 + + + 4 + + Stun + + Chance + 0.5 + Power + 30 + + + + + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 6.0, 0.0 + 400 + 3 + + Shape + + + + + 0.0, -1.0 + + + + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 4 + + + 4 + + Stun + + Chance + 0.5 + Power + 30 + + + + + + Delay + 90 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 6.0, 0.0 + 400 + 3 + + Shape + + + + + -1.0, 0.0 + + + + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 4 + + + 4 + + Stun + + Chance + 0.5 + Power + 30 + + + + + + Delay + 130 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 6.0, 0.0 + 400 + 3 + + Shape + + + + + 0.0, 1.0 + + + + + + + + Base/Damage Origin Transformed + + Damage + + + + 60.0 + 4 + + + 4 + + Stun + + Chance + 0.5 + Power + 30 + + + + + + Delay + 180 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 6.0, 0.0 + 400 + 3 + + Shape + + + + + 1.0, 0.0 + + + + + + + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Swing + + + + Tier + + + Speed + implementation.start_speed + + + + + + 1 + + Damage + + 40.0 + 4 + 80.0 + 1 + 9 + + Speed + 0.95 + + + + + 2 + + Damage + + 80.0 + 4 + 210.0 + 9 + 19 + + Speed + 1.0 + + + + + 3 + + Damage + + 210.0 + 4 + 360.0 + 19 + + Speed + 1.1 + + + + 1 + + + + + character/pc/attack_sword_2_start.dat + + Sounder + + Custom/Monsters/Gremlins/Light Growls + + + + + character/pc/attack_sword_2_fire.dat + + Sound + + Clip/Default (Gain) + + File + sound/effect/weapon/sword_02.ogg + Gain + 1.0 + Range + Medium + + + Swing + + + particle/swing/pc_default.dat + + Blend + TRANSLUCENT + Color + + 0.79607844, 0.76862746, 0.73333335, 0.0 + 0.8784314, 0.8745098, 0.8745098, 1.0 + 0.7764706, 0.7372549, 0.7058824, 0.0 + 0.1 + 0.9 + + PC Swing# + 2 + Scale + + + 1.5 + + + 1.5 + 0.1 + + + 2.0 + + + Strider Color + + 0.7058824, 0.6745098, 0.6509804, 0.75 + 0.24313726, 0.21176471, 0.1882353, 0.0 + + + + Strider Toggle + false + Texture + particle/texture/fx_gremlinswing.png + + + %ROOT% + + + + + character/pc/attack_sword_2_end.dat + + 1.1 + 0.6 + 1.25 + 233 + 667 + + 3.0, 0.0 + 400 + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base -05 + + 4 + + Delay + 0 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 1.5, 0.0 + 150 + 2 + + Shape + + + 0.8 + + + 1.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Throw + + + + Tier + + + Damage + implementation.fire_refs[0].ref["Actor"]["Damage"] + + + Speed + implementation.start_speed, implementation.start["Attack Flare"] + + + + + + 1 + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + + + 4 + + Stun + + Chance + 0.3 + Power + 25 + + + + + + Speed + 0.75 + + + + + 2 + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + + + 4 + + Stun 2 + + Chance + 0.3 + Power + 25 + + + + + + Speed + 1.1 + + + + + 3 + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + + + 4 + + Stun 3 + + Chance + 0.3 + Power + 25 + + + + + + Speed + 1.5 + + + + 1 + + + + + character/npc/monster/gremlin/animation/attack_1_start.dat + + Attack Flare + 1.5 + Balloon + + Sound + + Meta Clip/Default + + Files + + + sound/effect/monster/gremlin/gremlin_chat_taunt.ogg + 0.85 + 1.2 + + + Range + Medium + + + + + + character/pc/attack_swordranged_leftright/fire.dat + + Sound + sound/effect/weapon/sword_03.ogg + Sound - Pitch + Default + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.4, 0.4, 0.4, 1.0 + Swing Color In/Out + 0.4, 0.4, 0.4, 0.0 + Swing Color Middle + 0.7294118, 0.7411765, 0.7019608, 0.5 + Texture + particle/texture/sphere.png + + + + + + character/npc/monster/gremlin/animation/attack_1_end.dat + + 1.5 + 3.0 + 2.0 + 1000 + 250 + 450 + true + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/Gremlin HammerThrow + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + + + 4 + + Stun + + Chance + 0.3 + Power + 25 + + + + + + + + Delay + 200 + + + + + + + + Character/NPC/Monster/Gremlin/Tank/Hammer Thwack + + + + Tier + + + Speed + implementation.start_speed, implementation.start["Attack Flare"] + + + + + + 1 + + Damage + + 40.0 + 4 + 80.0 + 1 + 9 + + Speed + 1.0 + + + + + 2 + + Damage + + 80.0 + 4 + 210.0 + 9 + 19 + + Speed + 1.25 + + + + + 3 + + Damage + + 210.0 + 4 + 360.0 + 19 + + Speed + 1.5 + + + + 1 + + + + + character/npc/monster/gremlin/animation/attack_1_start.dat + + Attack Flare + 1.5 + Balloon + + Sound + + Custom/Monsters/Gremlins/Medium Attack + + + + + character/npc/monster/gremlin/animation/attack_1_fire.dat + + FX + + particle/fx_gremlinswing.dat + + Sound + sound/effect/monster/gremlin_thwack.ogg + + + + character/npc/monster/gremlin/animation/attack_1_end.dat + + 1.5 + 1000 + 667 + 983 + false + + 1.0, 0.0 + 100 + 1000 + + + + + Base/Damage Region Transformed + + Damage + + + + + Monster/Damage/Attack Base + + 4 + true + + + 4 + + Stun + + Chance + 0.2 + Power + 75 + + + + + + Delay + 330 + Shape + + + 1.5 + 0.5 + + + 1.2, 0.0 + + + + + + + + + + Character/NPC/Monster/Slime/Blast Cube + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 3.0 + Sound - Pitch adjust + Lower 1 + + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Lower 1 + + + + character/npc/monster/jellycube/attack_1_end.dat + + 3.0 + 0.75 + 1000 + 88 + 702 + + 1.0, 0.0 + 300 + 333 + + + + + Character/NPC/Monster/Slime/Jelly Damage + + Damage Amount + 80.0 + Delay + 0 + + + + + + + + Character/NPC/Monster/Slime/Impostocube + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 3.0 + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/attack_1_end.dat + + 3.0 + 1000 + 88 + 702 + + + + Base/Damage Origin Transformed + + Damage + + 80.0 + 4 + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 0.5 + + + 1.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Slime/Jelly Cube + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 2.5 + Sound - Pitch adjust + Higher 1 + + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Higher 1 + + + + character/npc/monster/jellycube/attack_1_end.dat + + 2.5 + 1000 + 88 + 702 + + -1.5, 0.0 + 450 + 500 + + + + + Character/NPC/Monster/Slime/Jelly Damage + + Damage Amount + 40.0 + Delay + 0 + + + + + + + + Character/NPC/Monster/Slime/Jelly Green Giant 0 + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 2.0 + Sound - Pitch adjust + Lower 3 + + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Lower 3 + + + + character/npc/monster/jellycube/attack_1_end.dat + + 2.0 + 0.8 + 0.4 + 1000 + 88 + 702 + + 2.0, 0.0 + 200 + 450 + + + + + Base/Damage Origin Transformed + + Damage + + + + 150.0 + 4 + + + 4 + + Stun + + Chance + 0.0 + Power + 0 + + + + + + Delay + 100 + Knock-Back + + 6.0, 0.0 + 800 + 7 + + Shape + + + 1.25 + + + 1.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Slime/Jelly Green Giant 1 + + + character/npc/monster/jellycube/attack_aoe_start.dat + + Attack Flare + 1.0 + + + + character/npc/monster/jellycube/attack_aoe_fire.dat + + Wave Radius + + 2.0 + + + + + character/npc/monster/jellycube/attack_aoe_end.dat + + 1000 + 50 + 1050 + + + + Base/Damage Origin Transformed + + Damage + + + + 4 + + Stun + + Chance + 0.0 + Power + 0 + + + + + 60.0 + 4 + + + + Delay + 0 + Knock-Back + + 4.0, 0.0 + 300 + 3 + + Shape + + + 1.8 + + + + + + + + + + Character/NPC/Monster/Slime/Jelly Green Mini + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 1.5 + Sound - Pitch adjust + Higher 4 + + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Higher 4 + + + + character/npc/monster/jellycube/attack_1_end.dat + + 1.5 + 1000 + 88 + 702 + + -0.75, 0.0 + 200 + 850 + + + + + Character/NPC/Monster/Slime/Jelly Damage + + Damage Amount + 20.0 + Delay + 0 + + + + + + + + Character/NPC/Monster/Slime/Jelly Punch + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + + Damage Region + + + Region + implementation.fire_refs[0].ref["Shape"] + + + + + + Small + + Region + + + 0.2 + + + 0.6, 0.0 + + + + + + + Medium + + Region + + + 0.5 + + + 1.0, 0.0 + + + + + + + Large + + Region + + + + + 2.0, 0.0 + + + + + + Medium + + + + Impulse + + + Impulse + implementation.impulse_received + + + + + + Backward + + Impulse + + -1.5, 0.0 + 450 + 1000 + + + + + + Null + + Impulse + + + + + + Forward + + Impulse + + 2.0, 0.0 + 200 + 800 + + + + + Backward + + + Sound - Pitch adjust + implementation.start["Sound - Pitch adjust"], implementation.fire["Sound - Pitch adjust"] + + + Flare Color + implementation.start["Color"] + + + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 1.0 + Color + None + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/attack_1_end.dat + + 0.9 + 1000 + 88 + 702 + true + true + + -1.5, 0.0 + 450 + 1000 + + + + + Base/Damage Origin Transformed + + Damage + + 40.0 + 4 + + Delay + 0 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 1.0, 0.0 + 200 + + Shape + + + 0.5 + + + 1.0, 0.0 + + + + + + + + + + Character/NPC/Monster/Slime/Jelly Roundhouse + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + + Damage Region + + + Region + implementation.fire_refs[0].ref["Shape"] + + + Knock-Back + implementation.fire_refs[0].ref["Knock-Back"] + + + + + + Small + + + + + + + Knock-Back + + 1.0, 0.0 + 200 + + R + + + + + Ra + + + + + Re + + + + + Reg + + + + + Regi + + + + + Regio + + + + + Region + + + + + + + + + Medium + + + + + + + Knock-Back + + 1.5, 0.0 + 250 + + R + + + + + Ra + + + + + Re + + + + + Reg + + + + + Regi + + + + + Regio + + + + + Region + + + + + + + + + Large + + + + + + + Knock-Back + + 6.0, 0.0 + 800 + 7 + + R + + + + + Ra + + + + + Re + + + + + Reg + + + + + Regi + + + + + Regio + + + + + Region + + + + + + + + Medium + + + + Impulse + + + Impulse + implementation.impulse_received + + + + + + Backward + + Impulse + + -1.5, 0.0 + 450 + 1450 + + + + + + Null + + Impulse + + + + + + Forward + + Impulse + + 2.0, 0.0 + 200 + 914 + + + + + Backward + + + Sound - Pitch adjust + implementation.start["Sound - Pitch adjust"], implementation.fire["Sound - Pitch adjust"] + + + + + character/npc/monster/jellycube/animations_omni/animation_attack_start.dat + + Attack Flare + 0.7 + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/animations_omni/animation_attack_fire.dat + + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/animations_omni/animation_attack_end.dat + + 0.7 + 1.5 + 0.9 + 926 + 667 + 414 + + -1.5, 0.0 + 450 + 1000 + + + + + Base/Damage Origin Transformed + + Damage + + 40.0 + 4 + + Delay + 150 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 1.0, 0.0 + 200 + + Shape + + + + + + + + + + + + Character/NPC/Monster/Slime/Jelly Roundhouse (Ice) + + + Damage + implementation.fire_refs[0].ref["Action"].action.damage + + + Damage Frozen + implementation.fire_refs[0].ref["Action"].else_action.damage + + + + Damage Region + + + Region + implementation.fire_refs[0].ref["Action"].else_action.region.shape, implementation.fire_refs[0].ref["Action"].action.region.shape, implementation.fire_refs[1].ref["Action"].action.target.region.shape + + + Knock-Back + implementation.fire_refs[0].ref["Action"].else_action.impulse_dealt, implementation.fire_refs[0].ref["Action"].action.impulse_dealt + + + + + + Small + + + + + + + Knock-Back + + 1.0, 0.0 + 200 + + R + + + + + Ra + + + + + Re + + + + + Reg + + + + + Regi + + + + + Regio + + + + + Region + + + + + + + Medium + + + + + + + Knock-Back + + 1.5, 0.0 + 250 + + R + + + + + Ra + + + + + Re + + + + + Reg + + + + + Regi + + + + + Regio + + + + + Region + + 1.3 + + + + + + Large + + + + + + + Knock-Back + + 6.0, 0.0 + 800 + 7 + + R + + + + + Ra + + + + + Re + + + + + Reg + + + + + Regi + + + + + Regio + + + + + Region + + 1.6 + + + + + Medium + + + + Impulse + + + Impulse + implementation.impulse_received + + + + + + Backward + + Impulse + + -1.5, 0.0 + 450 + 1428 + + + + + + Null + + Impulse + + + + + + Forward + + Impulse + + 2.0, 0.0 + 200 + 914 + + + + + Backward + + + Sound - Pitch adjust + implementation.start["Sound - Pitch adjust"], implementation.fire["Sound - Pitch adjust"] + + + + + character/npc/monster/jellycube/animations_omni/animation_attack_start.dat + + Attack Flare + 0.7 + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/animations_omni/animation_attack_fire-ice.dat + + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/animations_omni/animation_attack_end.dat + + 0.7 + 1.5 + 0.9 + 926 + 667 + 414 + + -1.5, 0.0 + 450 + 1000 + + + + + Base/Default + + Action + + + + + Monster/Damage/Attack Base + + 4 + + + 1.0, 0.0 + 200 + + + + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + 4 + + Freeze + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + 2.0, 0.0 + 300 + + + + Delay + 150 + + + + + + Base/Default + + Action + + + Delay + 150 + + + + + + + + Character/NPC/Monster/Slime/Jelly Spin + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Radius + implementation.fire_refs[0].ref["Shape"].shape.radius + + + Radius Graphic + implementation.fire["Wave Radius"] + + + Bullet + implementation.fire_refs[2].ref["Actor"], implementation.fire_refs[4].ref["Actor"], implementation.fire_refs[6].ref["Actor"], implementation.fire_refs[8].ref["Actor"] + + + Bullet 2 + implementation.fire_refs[1].ref["Actor"], implementation.fire_refs[3].ref["Actor"], implementation.fire_refs[5].ref["Actor"], implementation.fire_refs[7].ref["Actor"] + + + Color + implementation.fire["Color"] + + + Flare Color + implementation.start["Color"] + + + + + character/npc/monster/jellycube/attack_aoe_start.dat + + Attack Flare + 0.75 + Color + None + + + + character/npc/monster/jellycube/attack_aoe_fire.dat + + Color + 0.31764707, 0.8, 0.0, 1.0 + Sound + + Clip/Default (Gain) + + File + sound/effect/weapon/bomb_c01.ogg + Gain + 1.0 + Range + Medium + + + Wave Radius + + 2.0 + + + + + character/npc/monster/jellycube/attack_aoe_end.dat + + 0.75 + 1000 + 50 + 1050 + false + + + + Base/Damage Origin Transformed + + Damage + + + + 60.0 + 4 + + + 4 + + Stun + + Chance + 0.3 + Power + 75 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Delay + 50 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 4.0, 0.0 + 300 + 3 + + Shape + + + 3.0 + + + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 25 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 50 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 75 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 100 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 125 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 150 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 175 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Delay + 200 + + + + + + + + Character/NPC/Monster/Slime/Lichen + + + Damage Scale + implementation.fire_refs[0].ref["Damage Scale"] + + + Damage Transform + implementation.fire_refs[0].ref["Damage Transform"] + + + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 1.0 + Color + Normal + Sound - Pitch adjust + Higher 2 + + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Higher 2 + + + + character/npc/monster/jellycube/attack_1_end.dat + + 0.75 + 1000 + 702 + + -1.0, 0.0 + 200 + 1000 + + + + + Character/NPC/Monster/Slime/Lichen Damage + + Damage Scale + + Monster/Damage/Attack Base + + Damage Transform + + 1.25, 0.0 + + Delay + 0 + + + + + + + + Character/NPC/Monster/Slime/Lichen Dash + + + character/npc/monster/lichen/animations/dash.dat + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Higher 2 + + + + character/npc/monster/jellycube/attack_1_end.dat + + 0.75 + 200 + 702 + + 6.0, 0.0 + 400 + + + + + Character/NPC/Monster/Slime/Lichen Impale + + + Spire + implementation.fire_refs[1].ref["Action"].actor, implementation.fire_refs[2].ref["Action"].actor, implementation.fire_refs[3].ref["Action"].actor, implementation.fire_refs[4].ref["Action"].actor, implementation.fire_refs[5].ref["Action"].actor + + + + + character/npc/monster/lichen/animations/attack_impale_start.dat + + Attack Flare + 0.75 + Flare Color + Pierce + Sound - Pitch adjust + Lower 2 + + + + character/npc/monster/lichen/animations/attack_impale_fire.dat + + Sound - Pitch adjust + Default + + + + character/npc/monster/lichen/animations/attack_impale_end.dat + + 0.75 + 0.5 + 1000 + 200 + 500 + false + + + + Base/Default + + Action + + + 4 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 2.0, 0.0 + 200 + 3 + + + Delay + 0 + + + + + + Base/Default + + Action + + + Bomb/Monster/Lichen Spire + + Color + Tri Deep + Damage + + + + 60.0 + 4 + + + 4 + + Poison + + Chance + 0.65 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + Delay + 50 + + + + + + Base/Default + + Action + + + Bomb/Monster/Lichen Spire + + Color + Tox + Damage + + + + 60.0 + 4 + + + 4 + + Poison + + Chance + 0.65 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + Delay + 100 + + + + + + Base/Default + + Action + + + Bomb/Monster/Lichen Spire + + Color + Tox + Damage + + + + 60.0 + 4 + + + 4 + + Poison + + Chance + 0.65 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + Delay + 150 + + + + + + Base/Default + + Action + + + Delay + 200 + + + + + + Base/Default + + Action + + + Delay + 250 + + + + + + + + Character/NPC/Monster/Slime/Lichen Impale (Lesser) + + + Spire + implementation.fire_refs[1].ref["Action"].actor, implementation.fire_refs[2].ref["Action"].actor, implementation.fire_refs[3].ref["Action"].actor + + + + + character/npc/monster/lichen/animations/attack_impale_start.dat + + Attack Flare + 1.0 + Flare Color + Pierce + Sound - Pitch adjust + Lower 1 + + + + character/npc/monster/lichen/animations/attack_impale_fire.dat + + Sound - Pitch adjust + Higher 1 + + + + character/npc/monster/lichen/animations/attack_impale_end.dat + + 0.9 + 1000 + 200 + 500 + false + true + + + + Base/Default + + Action + + + 4 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + 2.0, 0.0 + 200 + 3 + + + Delay + 0 + + + + + + Base/Default + + Action + + + Bomb/Monster/Lichen Spire + + Color + Tri Deep + Damage + + + + 60.0 + 4 + + + 4 + + Poison + + Chance + 0.65 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + Delay + 100 + + + + + + Base/Default + + Action + + + Bomb/Monster/Lichen Spire + + Color + Tox + Damage + + + + 60.0 + 4 + + + 4 + + Poison + + Chance + 0.65 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + Delay + 200 + + + + + + Base/Default + + Action + + + Bomb/Monster/Lichen Spire + + Color + Tox + Damage + + + + 60.0 + 4 + + + 4 + + Poison + + Chance + 0.65 + Power + 100 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + Delay + 300 + + + + + + + + Character/NPC/Monster/Slime/Lichen Merge + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 2.25 + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/attack_1_end.dat + + 2.25 + 0.75 + 1000 + 702 + + + + Character/NPC/Monster/Slime/Lichen Merge + + + + + + + Character/NPC/Monster/Slime/Oiler Dash + + + character/npc/monster/lichen/animations/dash.dat + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Higher 1 + + + + character/npc/monster/jellycube/attack_1_end.dat + + 10.0 + 0.75 + 200 + 702 + + 6.0, 0.0 + 400 + + + + + Base/Spawn Actor + + Actor + + Bomb/Monster/Oil Slick + + Delay + 0 + + + + + + Base/Spawn Actor + + Actor + + Bomb/Monster/Oil Slick + + Delay + 75 + + + + + + Base/Spawn Actor + + Actor + + Bomb/Monster/Oil Slick + + Delay + 150 + + + + + + Base/Spawn Actor + + Actor + + Bomb/Monster/Oil Slick + + Delay + 225 + + + + + + Base/Spawn Actor + + Actor + + Bomb/Monster/Oil Slick + + Delay + 300 + + + + + + + + Character/NPC/Monster/Slime/Oiler Place + + + character/npc/monster/lichen/animations/attack_impale_fire.dat + + Sound - Pitch adjust + Higher 3 + + + + character/npc/monster/lichen/animations/attack_impale_end.dat + + 1.5 + 1 + 200 + 500 + true + true + + 1.0, 0.0 + 150 + + + + + Base/Spawn Transformed Actor + + Actor + + Bomb/Monster/Oil Slick + + Delay + 75 + + + + + + + + Character/NPC/Monster/Slime/Quicksilver Charge + + + Damage Status + implementation.fire_refs[0].ref["Damage"].damages[1] + + + + + character/npc/monster/lichen/animations/attack_impale_start.dat + + Attack Flare + 0.75 + Flare Color + Elemental + Sound - Pitch adjust + Default + + + + character/npc/monster/lichen/animations/attack_impale_fire.dat + + Sound - Pitch adjust + Higher 3 + + + + character/npc/monster/lichen/animations/attack_impale_end.dat + + 0.75 + 1000 + 200 + 500 + true + + + + Base/Damage Origin Transformed + + Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + ELEMENTAL + + Monster/Split/Split - Full + + + + 4 + + Shock 3 + + Chance + 1.0 + Power + 30 + + + + + + Delay + 75 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 2.0, 0.0 + 300 + + Shape + + + + + + + + + + Base/Default + + Delay + 0 + + + + + + + + Character/NPC/Monster/Slime/Sloom + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 2.25 + Color + None + Sound - Pitch adjust + Lower 1 + + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Lower 1 + + + + character/npc/monster/jellycube/attack_1_end.dat + + 2.25 + 0.75 + 1000 + 702 + + -0.75, 0.0 + 200 + 600 + + + + + Character/NPC/Monster/Slime/Sloom Damage + + Damage Amount + 40.0 + Delay + 0 + Status Condition + + + + + + + + + Character/NPC/Monster/Slime/Sloombargo + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 2.25 + Sound - Pitch adjust + Lower 3 + + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Lower 3 + + + + character/npc/monster/jellycube/attack_1_end.dat + + 2.25 + 0.75 + 1000 + 702 + + -0.75, 0.0 + 200 + 600 + + + + + Character/NPC/Monster/Slime/Sloom Damage + + Damage Amount + 40.0 + Delay + 0 + Status Condition + + + + + + + + + Character/NPC/Monster/Slime/Soul Jelly + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 2.5 + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/attack_1_end.dat + + 2.5 + 1000 + 88 + 702 + + -1.5, 0.0 + 450 + 500 + + + + + Character/NPC/Monster/Slime/Jelly Damage + + Damage Amount + 40.0 + Delay + 0 + + + + + + + + Character/NPC/Monster/Slime/Toxigel + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 2.25 + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Default + + + + character/npc/monster/jellycube/attack_1_end.dat + + 2.25 + 0.75 + 1000 + 702 + + -0.75, 0.0 + 200 + 600 + + + + + Character/NPC/Monster/Slime/Sloom Damage + + Damage Amount + 40.0 + Delay + 0 + Status Condition + + Poison + + Chance + 0.0 + Power + 0 + + + + + + + + + + Character/NPC/Monster/Slime/Tri-Lichen + + + character/npc/monster/jellycube/attack_1_start.dat + + Attack Flare + 2.25 + Sound - Pitch adjust + Lower 1 + + + + character/npc/monster/jellycube/attack_1_fire.dat + + Sound - Pitch adjust + Lower 1 + + + + character/npc/monster/jellycube/attack_1_end.dat + + 2.25 + 0.75 + 1000 + 702 + + -0.75, 0.0 + 200 + 600 + + + + + Character/NPC/Monster/Slime/Lichen Damage + + Damage Transform + + 1.25, 0.0 + + Delay + 0 + + + + + + + + Character/NPC/Monster/Undead/Black Kat 0 + + + Sound - Screech Pitch + implementation.start["Sound - Pitch"] + + + Sound - Chomp Pitch + implementation.fire["Sound - Chomp Pitch"] + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + + + character/npc/monster/spookat/attack_1_start.dat + + Attack Flare + 0.8333333 + Sound - File + sound/effect/monster/spookat/spookat_attackcue_05.ogg + Sound - Pitch + Lower 1 + + + + character/npc/monster/spookat/attack_1_fire.dat + + Sound - Chomp Pitch + Lower 1 + + + + character/npc/monster/spookat/attack_1_end.dat + + 0.3 + 360 + 583 + + 3.0, 0.0 + 150 + 1100 + + + + + Base/Damage Origin Transformed + + Damage + + 100.0 + 4 + + Delay + 0 + Impulse Origin Translation + -5.0, 0.0 + Knock-Back + + 4.0, 0.0 + 400 + 4 + + Shape + + + + + 0.8, 0.0 + + + + + + + + + + Character/NPC/Monster/Undead/Black Kat 1 + + + character/npc/monster/spookat/ranged_1_start.dat + + Sound - Intro Pitch + Lower 3 + + + + character/npc/monster/spookat/ranged_1_fire.dat + + Sound - Spit Pitch + Lower 3 + + + + character/npc/monster/spookat/ranged_1_end.dat + + 0.5 + 433 + 75 + + 2.0, 0.0 + 300 + 300 + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Black Kat Bullet + + Delay + 100 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Black Kat Bullet + + Delay + 100 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Black Kat Bullet + + Delay + 100 + + + + + + + + Character/NPC/Monster/Undead/Bloogato Spit + + + Bullet (Primary) + implementation.fire_refs[0].ref["Actor"] + + + Bullet (Secondary) + implementation.fire_refs[1].ref["Actor"], implementation.fire_refs[2].ref["Actor"] + + + + + character/npc/monster/spookat/ranged_1_start.dat + + Sound - Intro Pitch + Lower 2 + + + + character/npc/monster/spookat/ranged_1_fire.dat + + Sound - Spit Pitch + Lower 2 + + + + character/npc/monster/spookat/ranged_1_end.dat + + 0.5 + 433 + 75 + + 2.0, 0.0 + 300 + 300 + + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/Bloogato Snowball + + Status Condition + + Freeze + + Chance + 0.333333 + Power + 50 + + + + + Delay + 0 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Bloogato Snowball + + Status Condition + + Freeze + + Chance + 0.333333 + Power + 50 + + + + + Delay + 0 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Bloogato Snowball + + Status Condition + + Freeze + + Chance + 0.333333 + Power + 50 + + + + + Delay + 0 + + + + + + + + Character/NPC/Monster/Undead/Deadnought/Parts/Charge - Finish + + + Status Attack + implementation.fire_refs[0].ref["Status Attack"] + + + + + character/npc/monster/zombieknight/animation/attack_charge_fire.dat + + + character/npc/monster/zombieknight/animation/attack_charge_end.dat + + 1 + 1530 + 4 + false + + 3.0, 0.0 + 600 + + + + + Character/NPC/Monster/Undead/Deadnought/Deadnought, Skewer + + Status Attack + + + + + + + + + Character/NPC/Monster/Undead/Deadnought/Parts/Charge - Start, Loop + + + Status Attack + implementation.fire_refs[0].ref["Status Attack"] + + + + + character/npc/monster/zombieknight/animation/attack_charge_begin.dat + + + character/npc/monster/zombieknight/animation/attack_charge_loop.dat + + Loop + true + + + 683 + 6530 + 1 + false + true + true + + + + Character/NPC/Monster/Undead/Deadnought/Deadnought, Charge + + Status Attack + + + + + + + + + Character/NPC/Monster/Undead/Deadnought/Parts/Mecha Knight Charge + + + character/pc/charge_sword_hold.dat + + Actions + + + + + 0 + 1000 + true + + + + Character/NPC/Monster/Undead/Hurkat Spit + + + character/npc/monster/spookat/ranged_1_start.dat + + Sound - Intro Pitch + Higher 1 + + + + character/npc/monster/spookat/ranged_1_fire.dat + + Sound - Spit Pitch + Higher 1 + + + + character/npc/monster/spookat/ranged_1_end.dat + + 0.5 + 433 + 0 + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/Hurkat Hairball + + Bullet Speed + 2.5 + Status Condition + + + + Delay + 0 + + + + + + + + Character/NPC/Monster/Undead/Hurkat Spit (x3) + + + Bullet (Primary) + implementation.fire_refs[0].ref["Actor"] + + + Bullet (Secondary) + implementation.fire_refs[1].ref["Actor"], implementation.fire_refs[2].ref["Actor"] + + + + + character/npc/monster/spookat/ranged_1_start.dat + + Sound - Intro Pitch + Higher 1 + + + + character/npc/monster/spookat/ranged_1_fire.dat + + Sound - Spit Pitch + Higher 1 + + + + character/npc/monster/spookat/ranged_1_end.dat + + 0.5 + 433 + 0 + + + + Base/Spawn Actor + + Actor + + Bullet/Monster/Hurkat Hairball + + Bullet Speed + 2.5 + Status Condition + + + + Delay + 0 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Hurkat Hairball + + Bullet Speed + 2.5 + Status Condition + + + + Delay + 0 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Monster/Hurkat Hairball + + Bullet Speed + 2.5 + Status Condition + + + + Delay + 0 + + + + + + + + Character/NPC/Monster/Undead/Spookat + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + + + character/npc/monster/spookat/attack_1_start.dat + + Attack Flare + 1.38 + Sound - File + sound/effect/monster/spookat/spookat_attackcue_05.ogg + Sound - Pitch + Higher 1 + + + + character/npc/monster/spookat/attack_1_fire.dat + + Sound - Chomp Pitch + Higher 1 + + + + character/npc/monster/spookat/attack_1_end.dat + + 0.5 + 360 + 583 + + 2.0, 0.0 + 150 + 600 + + + + + Base/Damage Region Transformed + + Damage + + 50.0 + 4 + + Delay + 0 + Shape + + + 0.4 + + + 0.75, 0.0 + + + + + + + + + + Character/NPC/Monster/Undead/Spookat AI 1 + + + character/npc/monster/spookat/attack_1_start.dat + + Attack Flare + 1.38 + Sound - File + sound/effect/monster/spookat/spookat_attackcue_01.ogg + Sound - Pitch + Default + + + + character/npc/monster/spookat/attack_1_fire.dat + + Sound - Chomp Pitch + Default + + + + character/npc/monster/spookat/attack_1_end.dat + + 0.5 + 0.75 + + 2.0, 0.0 + 100 + 300 + + + + + Base/Damage Origin Transformed + + Damage + + 50.0 + 4 + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 1.0, 0.0 + + Shape + + + 0.4 + + + 0.75, 0.0 + + + + + + + + + + Character/NPC/Monster/Undead/Spookat Bite + + + + Dash Distance + + + Translation + implementation.impulse_received.translation + + + Duration + implementation.impulse_received.duration + + + Delay + implementation.impulse_received.delay + + + + + + 0.0 + + Delay + 600 + Duration + 0 + Translation + 0.0, 0.0 + + + + + 1.0 + + Delay + 650 + Duration + 100 + Translation + 1.0, 0.0 + + + + + 2.0 + + Delay + 600 + Duration + 150 + Translation + 2.0, 0.0 + + + + + 3.0 + + Delay + 525 + Duration + 225 + Translation + 3.0, 0.0 + + + + + 4.0 + + Delay + 450 + Duration + 300 + Translation + 4.0, 0.0 + + + + + 5.0 + + Delay + 375 + Duration + 375 + Translation + 5.0, 0.0 + + + + 2.0 + + + Damage (Status) + implementation.fire_refs[0].ref["Damage"].damages[1] + + + + + character/npc/monster/spookat/attack_1_start.dat + + Attack Flare + 1.38 + Sound - File + sound/effect/monster/spookat/spookat_attackcue_05.ogg + Sound - Pitch + Higher 1 + + + + character/npc/monster/spookat/attack_1_fire.dat + + Sound - Chomp Pitch + Higher 1 + + + + character/npc/monster/spookat/attack_1_end.dat + + 0.5 + 360 + 583 + + 2.0, 0.0 + 150 + 600 + + + + + Base/Damage Origin Transformed + + Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 0 + + + + Delay + 200 + Impulse Origin Translation + -1.0, 0.0 + Knock-Back + + 1.0, 0.0 + 100 + + Shape + + + 0.4 + + + 0.75, 0.0 + + + + + + + + + + Character/NPC/Monster/Undead/Spookat Dash + + + + Distance + + + Translation + implementation.impulse_received.translation + + + + + + 10 + + Duration + 1250 + Translation + 10.0, 0.0 + + + + + 8 + + Duration + 1000 + Translation + 8.0, 0.0 + + + + + 6 + + Duration + 750 + Translation + 6.0, 0.0 + + + + + 4 + + Duration + 500 + Translation + 4.0, 0.0 + + + + 8 + + + + + character/npc/monster/spookat/reacting.dat + + + animation/sequential/simple.dat + + Animations + + + + character/npc/monster/spookat/walking.dat + + + + + character/npc/monster/spookat/walking.dat + + + + + character/npc/monster/spookat/walking.dat + + + + Priority + 1 + + + + character/npc/monster/spookat/reacting.dat + + 0.75 + 3.5 + 567 + 1500 + 567 + false + + 8.0, 0.0 + 1000 + 750 + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Bite + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Next Attack + implementation.attack + + + Next Attack Condition + implementation.condition + + + + + character/npc/monster/zombie/animation/bite.dat + + 0 + 1000 + 500 + false + true + + + + Base/Damage Origin Transformed + + Damage + + + + + Monster/Damage/Attack Base -10 + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Delay + 950 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 0.75, 0.0 + + + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Breath + + + Warmup speed + implementation.start_speed + + + Breath Variant + implementation.fire_refs[0].ref["Action"].effect["Variant"] + + + Chain Into + implementation.attack + + + Breath Status Condition + implementation.fire_refs[0].ref["Action"].effect["Status"] + + + + + character/npc/monster/zombie/animation/attack_breath_start.dat + + + character/npc/monster/zombie/animation/attack_breath_fire.dat + + + character/npc/monster/zombie/animation/attack_breath_end.dat + + 0.8 + 1900 + 467 + 1533 + false + true + + + + Base/Default + + Action + + + Monster/Undead/Zombie Breath + + Sounder + + Clip/Default (Gain) + + File + sound/effect/monster/zombie/zombie_breath_outro_02.ogg + Gain + 0.6 + Range + Medium + + + Status + + Variant + Dust + + + + Delay + 1 + + + + + 7 + + + + Character/NPC/Monster/Undead/Zombie/Zombie Breath (loop) + + + Chain Into (self) + implementation.attack + + + Breath Variant + implementation.fire_refs[0].ref["Action"].effect["Variant"] + + + Breath Status Condition + implementation.fire_refs[0].ref["Action"].effect["Status"] + + + + + character/npc/monster/zombie/animation/attack_breath_fire.dat + + + character/npc/monster/zombie/animation/attack_breath_end.dat + + 0.8 + 0 + 467 + 1533 + false + true + + + + Base/Default + + Action + + + Monster/Undead/Zombie Breath + + Sounder + + Status + + Variant + Dust + + + + Delay + 1 + + + + + 7 + + + + Character/NPC/Monster/Undead/Zombie/Zombie Grapple + + + Next Attack + implementation.attack + + + Damage + implementation.fire_refs[0].ref["Damage"], implementation.fire_refs[1].ref["Damage"], implementation.fire_refs[2].ref["Damage"] + + + Grab Duration + implementation.condition.conditions[1].action.damage.status_condition["Duration"] + + + + + character/npc/monster/zombie/animation/launch_start.dat + + Attack Flare + 0.9 + + + + character/npc/monster/zombie/animation/launch_fire.dat + + + character/npc/monster/zombie/animation/launch_end.dat + + 0.15 + 217 + 733 + 1133 + false + + 4.0, 0.0 + 400 + 1250 + + + + + Character/NPC/Monster/Undead/Dust Zombie + + Damage + + + + 4 + + + 4 + + + + Delay + 0 + Knock Back + + + + + + + Character/NPC/Monster/Undead/Dust Zombie + + Damage + + + + 4 + + + 4 + + + + Delay + 200 + Knock Back + + + + + + + Character/NPC/Monster/Undead/Dust Zombie + + Damage + + + + 4 + + + 4 + + + + Delay + 400 + Knock Back + + + + + + + + + Character/NPC/Monster/Undead/Zombie/Zombie Swipe + + + Status Condition + implementation.fire_refs[0].ref["Damage"].damages[1].status_condition + + + + + character/npc/monster/zombie/animation/attack_start.dat + + Attack Flare + 1.364 + Flare Color + Shadow + + + + character/npc/monster/zombie/animation/attack_fire.dat + + Swing Color + 0.6901961, 0.54509807, 0.38039216, 1.0 + + + + character/npc/monster/zombie/animation/attack_end.dat + + 0.75 + 1.2 + 0.7 + 550 + 333 + 1267 + + 0.8, 0.0 + 300 + 680 + + + + + Base/Damage Origin Transformed + + Damage + + + + + Monster/Damage/Attack Base + + 4 + SHADOW + + Monster/Split/Split - Half + + + + 4 + + + + Delay + 165 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 0.65 + + + 1.2, 0.0 + + + + + + + + + + Character/Weapon/Hunting Wolver + + + character/npc/monster/wolver/animation/attack_bite_start.dat + + 2.0 + 1 + 800 + 1 + + 0.8, 0.0 + 200 + 300 + + + + + Base/Default + + Delay + 400 + + + + + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (HuntingGhost) + + Wolf Transform + + 1.5 + 0.0, 0.2, 0.2 + + + + Delay + 400 + + + + + + Base/Damage Region Transformed + + Damage + + 40.0 + 2 + false + + Delay + 400 + Shape + + + 0.75 + + + 1.0, 0.0 + + + + + + + + + + Dynamic/Energy-Consuming Objects/Railgun beam + + + Damage Amount + implementation.fire_refs[1].ref["Damage Amount"] + + + + + world/dynamic/energy/animations/auto-turret/attack_warmup_railgun.dat + + + world/dynamic/energy/animations/auto-turret/attack_fire_railgun.dat + + + world/dynamic/energy/animations/auto-turret/attack_cooldown_railgun.dat + + 0.35 + 1567 + 67 + 1133 + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Dynamic Objects/Energy-Consuming Objects/Turret, Auto - Railgun Beam + + Delay + 0 + + + + + + Character/NPC/Player Faction/Turret, Auto/Railgun beam + + Damage Amount + 10.0 + + + + + + + + Dynamic/Energy-Consuming Objects/Turret, Auto + + + world/dynamic/energy/animations/auto-turret/attack_warmup.dat + + + world/dynamic/energy/animations/auto-turret/attack_fire.dat + + + world/dynamic/energy/animations/auto-turret/attack_cooldown.dat + + 567 + 200 + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Dynamic Objects/Energy-Consuming Objects/Turret, Auto (default) + + Delay + 0 + + + + + + Character/NPC/Monster/Fake Damage + + Delay + 0 + + + + + + + + Dynamic/Energy-Consuming Objects/Vulcan Spray + + + world/dynamic/energy/animations/auto-turret/attack_warmup_vulcan.dat + + + world/dynamic/energy/animations/auto-turret/attack_fire_vulcan_1.dat + + + world/dynamic/energy/animations/auto-turret/attack_cooldown_vulcan.dat + + 0.25 + 0.32 + 0.25 + 633 + 67 + 567 + + + + Character/NPC/Player Faction/Turret, Auto/Vulcan Spray + + Delay + 0 + + + + + 1 + + + + Dynamic/Energy-Consuming Objects/Vulcan Spray (chain) + + + world/dynamic/energy/animations/auto-turret/attack_fire_vulcan_loop.dat + + + world/dynamic/energy/animations/auto-turret/attack_cooldown_vulcan.dat + + 0.32 + 0.25 + 0 + 67 + 567 + + + + Character/NPC/Player Faction/Turret, Auto/Vulcan Spray + + Delay + 4 + + + + + 1 + + + + Dynamic/Traps and Hazards/SiegeWheel + + + Fire Speed + implementation.start["Attack Flare"], implementation.start_speed + + + Fuse + implementation.fire_refs[0].ref["Actor"]["Fuse"] + + + + + world/dynamic/traps_n_hazards/siegewheel/animations/arnimation_launch-start.dat + + Attack Flare + 1.0 + + + + world/dynamic/traps_n_hazards/siegewheel/animations/arnimation_launch-fire.dat + + + world/dynamic/traps_n_hazards/siegewheel/animations/arnimation_launch-end.dat + + 1000 + 2000 + 33 + false + + + + Base/Spawn Actor + + Actor + + Dynamic/Traps and Hazards/Siege Wheel/Parts/Wheel + + Fuse + 10000 + + + Delay + 0 + + + + + + + + Weapon/Bomb/Parts/Base Attack + + + Fire Speed + implementation.fire_speed + + + Bomb + implementation.fire_refs[0].ref["Actor"] + + + Fire Sound + implementation.fire["Sound"]["File"] + + + + + character/pc/attack_bomb_blend.dat + + Sound + + Clip/Default (Gain) + + File + + Gain + 2.5 + Range + Medium + + + + + 200 + 200 + 200 + true + + + + Base/Spawn Prespawned + + Actor + + Delay + 0 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + + + Weapon/Bomb/Parts/Base Blank + + + character/pc/lift.dat + + + character/pc/throw.dat + + 0 + 200 + 767 + true + + + + Weapon/Bomb/Parts/Base Charge + + + Fire Speed + implementation.fire_speed + + + Bomb + implementation.fire_refs[0].ref["Actor"] + + + + + character/pc/attack_bomb_blend.dat + + Sound + + + + 0.8 + 0 + 200 + 200 + + + + Base/Spawn Prespawned + + Actor + + Bomb/Proto (Charged) + + Damage + + 75.0 + 2 + true + + Radius + 1.5 + + + Delay + 0 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + + + Weapon/Bomb/Parts/Base Incomplete + + + Fire Speed + implementation.attack["Fire Speed"] + + + Bomb + implementation.attack["Bomb"] + + + + + Weapon/Bomb/Parts/Base Attack + + Bomb + + Fire Sound + sound/effect/weapon/bomb_drop_01.ogg + Fire Speed + 1.0 + + + + + + Weapon/Bomb/Parts/Base Interupt + + + character/pc/throw.dat + + 2.0 + 0 + 767 + 250 + true + + + + Base/Spawn Prespawned + + Actor + + Bomb/Parts/Dud + + Delay + 0 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + + + Weapon/Handgun/Autogun (Charge) + + + Weapon/Handgun/Parts/Auto Charge + + Bullet + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Random Variance + 0.08726646 + + + + + + Weapon/Handgun/Parts/Auto Charge + + + Bullet + implementation.fire_refs[0].ref["Actor"], implementation.fire_refs[1].ref["Actor"], implementation.fire_refs[2].ref["Actor"], implementation.fire_refs[3].ref["Actor"], implementation.fire_refs[4].ref["Actor"], implementation.fire_refs[5].ref["Actor"], implementation.fire_refs[6].ref["Actor"], implementation.fire_refs[7].ref["Actor"], implementation.fire_refs[8].ref["Actor"], implementation.fire_refs[9].ref["Actor"], implementation.fire_refs[10].ref["Actor"], implementation.fire_refs[11].ref["Actor"], implementation.fire_refs[12].ref["Actor"], implementation.fire_refs[13].ref["Actor"], implementation.fire_refs[14].ref["Actor"] + + + Muzzle Flash + implementation.fire["Animations"][0].animation["Muzzle Flare"], implementation.fire["Animations"][1].animation["Muzzle Flare"], implementation.fire["Animations"][2].animation["Muzzle Flare"], implementation.fire["Animations"][3].animation["Muzzle Flare"], implementation.fire["Animations"][4].animation["Muzzle Flare"], implementation.fire["Animations"][5].animation["Muzzle Flare"], implementation.fire["Animations"][6].animation["Muzzle Flare"], implementation.fire["Animations"][7].animation["Muzzle Flare"], implementation.fire["Animations"][8].animation["Muzzle Flare"], implementation.fire["Animations"][9].animation["Muzzle Flare"], implementation.fire["Animations"][10].animation["Muzzle Flare"], implementation.fire["Animations"][11].animation["Muzzle Flare"] + + + Random Variance + implementation.fire_refs[14].ref["Rotation Variance"], implementation.fire_refs[13].ref["Rotation Variance"], implementation.fire_refs[12].ref["Rotation Variance"], implementation.fire_refs[11].ref["Rotation Variance"], implementation.fire_refs[10].ref["Rotation Variance"], implementation.fire_refs[9].ref["Rotation Variance"], implementation.fire_refs[8].ref["Rotation Variance"], implementation.fire_refs[7].ref["Rotation Variance"], implementation.fire_refs[6].ref["Rotation Variance"], implementation.fire_refs[5].ref["Rotation Variance"], implementation.fire_refs[4].ref["Rotation Variance"], implementation.fire_refs[3].ref["Rotation Variance"], implementation.fire_refs[2].ref["Rotation Variance"], implementation.fire_refs[1].ref["Rotation Variance"], implementation.fire_refs[0].ref["Rotation Variance"] + + + + + character/pc/handgun-chargerelease/animation.dat + + Release Time + 2.0 + + + + animation/sequential/simple.dat + + Animations + + + 5.0 + + character/pc/attack_heavypistol/fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + 0.0, -1.2, 1.05 + + Sound + + + + + + 1.66 + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + 1.66 + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + 1.66 + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + 1.66 + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + 1.66 + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + 1.66 + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + 1.66 + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + 1.66 + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + 1.66 + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + 1.66 + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + 1.66 + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + Priority + 0 + + + + character/pc/handgun_reload/handgun_reload(noshells).dat + + 2.0 + 0.8 + 1000 + 1900 + 0 + false + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 0 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 50 + Rotation + 0.10471976 + Rotation Variance + 0.0 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 100 + Rotation + 0.20943952 + Rotation Variance + 0.0 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 150 + Rotation + 0.31415927 + Rotation Variance + 0.0 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 200 + Rotation + 0.2443461 + Rotation Variance + 0.0 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 250 + Rotation + 0.13962634 + Rotation Variance + 0.0 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 300 + Rotation + 0.034906585 + Rotation Variance + 0.0 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 350 + Rotation + -0.06981317 + Rotation Variance + 0.0 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 400 + Rotation + -0.17453292 + Rotation Variance + 0.0 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 450 + Rotation + -0.27925268 + Rotation Variance + 0.0 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 500 + Rotation + -0.20943952 + Rotation Variance + 0.0 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 550 + Rotation + -0.10471976 + Rotation Variance + 0.0 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 600 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 650 + Rotation + 0.10471976 + Rotation Variance + 0.0 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Delay + 700 + Rotation + 0.20943952 + Rotation Variance + 0.0 + + + + + + + + Weapon/Handgun/Parts/Auto Reload + + + speed + implementation.fire_speed + + + + + character/pc/handgun_reload/handgun_reload(noshells).dat + + 0.65 + 0 + 933 + 0 + false + + + + Weapon/Handgun/Parts/Auto Shot + + + Bullet + implementation.fire_refs[3].ref["Actor"], implementation.fire_refs[0].ref["Actor"], implementation.fire_refs[2].ref["Actor"], implementation.fire_refs[6].ref["Actor"], implementation.fire_refs[4].ref["Actor"], implementation.fire_refs[5].ref["Actor"] + + + Muzzle Flash + implementation.fire["Animations"][0].animation["Muzzle Flare"], implementation.fire["Animations"][1].animation["Muzzle Flare"], implementation.fire["Animations"][2].animation["Muzzle Flare"], implementation.fire["Animations"][3].animation["Muzzle Flare"], implementation.fire["Animations"][4].animation["Muzzle Flare"], implementation.fire["Animations"][5].animation["Muzzle Flare"] + + + + First Shot + + + Animation + implementation.start + + + Time + implementation.land + + + Speed + implementation.start_speed + + + + + + True + + Animation + + character/pc/attack_heavypistol/start.dat + + Speed + 0.7 + Time + 300 + + + + + False + + Animation + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + Speed + 3.0 + Time + 83 + + + + False + + + Rotation + implementation.fire_refs[3].ref["Rotation"], implementation.fire_refs[0].ref["Rotation"], implementation.fire_refs[2].ref["Rotation"], implementation.fire_refs[6].ref["Rotation"], implementation.fire_refs[4].ref["Rotation"], implementation.fire_refs[5].ref["Rotation"] + + + Rotation Variance + implementation.fire_refs[3].ref["Rotation Variance"], implementation.fire_refs[0].ref["Rotation Variance"], implementation.fire_refs[2].ref["Rotation Variance"], implementation.fire_refs[6].ref["Rotation Variance"], implementation.fire_refs[4].ref["Rotation Variance"], implementation.fire_refs[5].ref["Rotation Variance"] + + + + + character/pc/attack_heavypistol/start.dat + + + animation/sequential/simple.dat + + Animations + + + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + Priority + 2 + + + + animation/sequential/simple.dat + + Animations + + + + character/pc/attack_pistol_blend_end.dat + + + + Priority + 2 + + + 0.5 + 287 + 720 + 400 + false + true + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Handgun/Autogun + + Damage + + + + 6.0 + 2 + false + + + + + + Delay + 0 + Rotation + 0.0 + Rotation Variance + 0.3 + + + + + + Base/Fire Prefired + + Delay + 64 + Effect + + Basic + + Lifespan + 3000 + Model + + particle/fx_silversix-shellcasings.dat + + Mode + Land + Shell Count + 6 + + + + + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Handgun/Autogun + + Damage + + + + 6.0 + 2 + false + + + + + + Delay + 83 + Rotation + 0.0 + Rotation Variance + 0.3 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Handgun/Autogun + + Damage + + + + 6.0 + 2 + false + + + + + + Delay + 166 + Rotation + 0.0 + Rotation Variance + 0.3 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Handgun/Autogun + + Damage + + + + 6.0 + 2 + false + + + + + + Delay + 249 + Rotation + 0.0 + Rotation Variance + 0.3 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Handgun/Autogun + + Damage + + + + 6.0 + 2 + false + + + + + + Delay + 332 + Rotation + 0.0 + Rotation Variance + 0.3 + + + + + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Handgun/Autogun + + Damage + + + + 6.0 + 2 + false + + + + + + Delay + 415 + Rotation + 0.0 + Rotation Variance + 0.3 + + + + + + + + Weapon/Handgun/Parts/Base + + + Sound + implementation.fire["Sound"] + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Bullet + implementation.fire_refs[0].ref["Actor"] + + + Start + implementation.start + + + Land + implementation.land + + + + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + Clip/Default (Gain) + + File + sound/effect/weapon/handgun_01.ogg + Gain + 1.0 + Range + Medium + + + + + + character/pc/attack_pistol_blend_end.dat + + 0 + + + + Base/Spawn Actor + + Actor + + Bullet/Handgun/Proto + + Delay + 0 + + + + + + + + Weapon/Handgun/Parts/Base Charge + + + Bullet + implementation.fire_refs[0].ref["Actor"] + + + Muzzle Flash + implementation.fire["Animations"][0].animation["Muzzle Flare"] + + + + + character/pc/handgun-chargerelease/animation.dat + + Release Time + 2.0 + + + + animation/sequential/simple.dat + + Animations + + + + character/pc/attack_heavypistol/fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + + character/pc/attack_heavypistol/end.dat + + + + Priority + 0 + + + 2.0 + 1000 + 917 + 0 + false + + -1.0, 0.0 + 300 + 475 + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Blaster (Charged) + + Damage + + + + 75.0 + 2 + true + + + + + + Delay + 175 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + + + Weapon/Handgun/Parts/Base Reload + + + speed + implementation.fire_speed + + + + + character/pc/handgun_reload/handgun_reload-spin.dat + + 0 + 1417 + 0 + + + + Weapon/Handgun/Parts/Base Shot + + + Bullet + implementation.fire_refs[0].ref["Actor"] + + + Muzzle Flash + implementation.fire["Muzzle Flare"] + + + Rotation + implementation.fire_refs[0].ref["Rotation"] + + + Rotation Variance + implementation.fire_refs[0].ref["Rotation Variance"] + + + + First Shot + + + Animation + implementation.start + + + Time + implementation.land + + + Speed + implementation.start_speed + + + + + + True + + Animation + + character/pc/attack_pistol_blend_start.dat + + Speed + 1.75 + Time + 287 + + + + + False + + Animation + + Speed + 1.0 + Time + 0 + + + + True + + + + + character/pc/attack_pistol_blend_start.dat + + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + character/pc/attack_pistol_blend_end.dat + + 1.75 + 2.0 + 287 + 252 + 355 + true + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Blaster + + Damage + + + + 25.0 + 2 + + + + + + Delay + 0 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + + + Weapon/Handgun/Parts/Heavy Charge + + + Bullet + implementation.fire_refs[0].ref["Actor"] + + + Muzzle Flash + implementation.fire["Animations"][0].animation["Muzzle Flare"] + + + + + character/pc/handgun-chargerelease/animation.dat + + Release Time + 2.0 + + + + animation/sequential/simple.dat + + Animations + + + 3.0 + + character/pc/attack_pistol_blend_fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + + character/pc/hurt_hard.dat + + + + Priority + 0 + + + + character/pc/hurt_recover.dat + + 2.0 + 1000 + 1400 + 0 + false + + -3.0, 0.0 + 200 + 600 + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Magnus (Charged) + + Damage + + + + 65.0 + 2 + true + + + 2 + + Stun + + Chance + 0.65 + Power + 45 + + + + + + + + Delay + 0 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + + + Weapon/Handgun/Parts/Heavy Reload + + + speed + implementation.fire_speed + + + Shells + implementation.fire["Shells"] + + + + + character/pc/handgun_reload/handgun_reload.dat + + Shells + 3 + + + 0 + 933 + 0 + false + + + + Weapon/Handgun/Parts/Heavy Shot + + + Bullet + implementation.fire_refs[0].ref["Actor"] + + + Muzzle Flash + implementation.fire["Muzzle Flare"] + + + Rotation + implementation.fire_refs[0].ref["Rotation"] + + + Rotation Variance + implementation.fire_refs[0].ref["Rotation Variance"] + + + + + character/pc/attack_heavypistol/start.dat + + + character/pc/attack_heavypistol/fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + character/pc/attack_heavypistol/end.dat + + 1.6 + 383 + 367 + false + + -0.25, 0.0 + 200 + 300 + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Magnus + + Delay + 0 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + + + Weapon/Handgun/Parts/Sixshot Charge + + + Bullet + implementation.fire_refs[0].ref["Actor"], implementation.fire_refs[1].ref["Actor"], implementation.fire_refs[2].ref["Actor"], implementation.fire_refs[3].ref["Actor"], implementation.fire_refs[4].ref["Actor"] + + + Bullet Charged + implementation.fire_refs[5].ref["Actor"] + + + Muzzle Flash + implementation.fire["Animations"][0].animation["Muzzle Flare"], implementation.fire["Animations"][1].animation["Muzzle Flare"], implementation.fire["Animations"][2].animation["Muzzle Flare"], implementation.fire["Animations"][3].animation["Muzzle Flare"], implementation.fire["Animations"][4].animation["Muzzle Flare"], implementation.fire["Animations"][6].animation["Muzzle Flare"] + + + Random Variance + implementation.fire_refs[4].ref["Rotation Variance"], implementation.fire_refs[3].ref["Rotation Variance"], implementation.fire_refs[2].ref["Rotation Variance"], implementation.fire_refs[1].ref["Rotation Variance"], implementation.fire_refs[0].ref["Rotation Variance"] + + + + + character/pc/handgun-chargerelease/animation.dat + + Release Time + 2.0 + + + + animation/sequential/simple.dat + + Animations + + + 1.5 + + character/pc/attack_heavypistol/fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Muzzle Flash Transform + + 0.0, -1.2, 1.05 + + Sound + + + + + + 1.5 + + character/pc/attack_heavypistol/fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + 1.5 + + character/pc/attack_heavypistol/fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + 1.5 + + character/pc/attack_heavypistol/fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + 1.5 + + character/pc/attack_heavypistol/fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + 2.0 + + character/pc/handgun-chargerelease/animation.dat + + Release Time + 2.0 + + + + + 0.8 + + character/pc/attack_heavypistol/fire.dat + + Muzzle Flare + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Muzzle Flash Transform + + -0.1, -1.2, 1.05 + + Sound + + + + + + Priority + 2 + + + + animation/sequential/simple.dat + + Animations + + + 0.75 + + character/pc/handgun_reload/handgun_reload.dat + + Shells + 6 + + + + + Priority + 3 + + + 2.0 + 1000 + 2500 + 300 + false + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Silversix + + Damage + + + + 10.0 + 2 + + + 10.0 + 2 + + + + + + Delay + 0 + Rotation + 0.0 + Rotation Variance + 0.08726646 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Silversix + + Damage + + + + 10.0 + 2 + + + 10.0 + 2 + + + + + + Delay + 187 + Rotation + 0.0 + Rotation Variance + 0.17453292 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Silversix + + Damage + + + + 10.0 + 2 + + + 10.0 + 2 + + + + + + Delay + 375 + Rotation + 0.0 + Rotation Variance + 0.10471976 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Silversix + + Damage + + + + 10.0 + 2 + + + 10.0 + 2 + + + + + + Delay + 562 + Rotation + 0.0 + Rotation Variance + 0.12217305 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Silversix + + Damage + + + + 10.0 + 2 + + + 10.0 + 2 + + + + + + Delay + 750 + Rotation + 0.0 + Rotation Variance + 0.08726646 + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Handgun/Silversix (Charged) + + Damage + + + + 10.0 + 2 + + + 10.0 + 2 + + + + + + Delay + 1350 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + + + Weapon/Sword/Avenger (Charge) + + + Damage + implementation.attack["Damage"] + + + Damage (Bullet) + implementation.attack["Extra Action"]["Actor"]["Actor"]["Damage"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + + + 30.0 + 2 + true + + + 30.0 + 2 + true + + + + End Speed + 0.75 + Extra Action + + Base/Spawn Relative Rotated Actor + + Actor + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Avenger + + Damage + + + + 30.0 + 2 + + + 30.0 + 2 + + + + + + Variant + Avenger + + + Delay + 50 + Rotation + 0.0 + Rotation Variance + 0.0 + + + Fire Speed + 1.0 + Impulse + + -0.75, 0.0 + 100 + 50 + + Knock-Back + + 3.0, 0.0 + 300 + 3 + + Sound + sound/effect/weapon/avenger_cswing.ogg + Sound - Pitch + Lower 1 + Start Speed + 1.5 + Swing + + particle/swing/proto_charged.dat + + Color + Avenger + + + + + + + + Weapon/Sword/Beast Basher (Charge) + + + Damage + implementation.attack["Damage"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + + + 65.0 + 2 + true + + + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 150 + 500 + + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Lower 2 + Start Speed + 1.9 + Swing + + particle/swing/proto_charged.dat + + Color + Cautery Sword + + + + + + + + Weapon/Sword/Brandish (Charge) + + + Damage + implementation.attack["Damage"].damages[0] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + + + 80.0 + 2 + true + + + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + Impulse + + 1.25, 0.0 + 175 + 480 + + Knock-Back + + 3.5, 0.0 + 300 + 2 + + Sound + sound/effect/weapon/sword_c02.ogg + Sound - Pitch + Lower 1 + Start Speed + 2.0 + Swing + + particle/swing/proto_charged.dat + + Color + Sealed Sword + + + + + + + + Weapon/Sword/Burst Brandish (Charge) + + + Damage + implementation.attack["Damage"] + + + Style + implementation.attack["Swing"]["Color"] + + + Burst Color + implementation.attack["Extra Action"]["Actor"]["Color"] + + + Burst Damage + implementation.attack["Extra Action"]["Actor"]["Damage"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + 50.0 + 2 + true + + End Speed + 0.75 + Extra Action + + Base/Spawn Prespawned + + Actor + + Bullet/Sword/Burst Bullet + + Color + 1.0, 1.0, 1.0, 1.0 + Damage + + + + + Monster/Damage/Attack Base +05 + + 2 + true + ELEMENTAL + + Monster/Split/Split - Full + + + + 2 + + Fire + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Fuse + 300 + + + Delay + 0 + Rotation + 0.0 + Rotation Variance + 0.0 + + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 150 + 500 + + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Sound + sound/effect/weapon/sword_c02.ogg + Sound - Pitch + Lower 1 + Start Speed + 1.9 + Swing + + particle/swing/proto_charged.dat + + Color + Cautery Sword + + + + + + + + Weapon/Sword/Burst Flourish (Charge) + + + Damage + implementation.attack["Damage"] + + + Style + implementation.attack["Swing"]["Color"] + + + Burst Color + implementation.attack["Extra Action"]["Actor"]["Color"] + + + Burst Damage + implementation.attack["Extra Action"]["Actor"]["Damage"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + 50.0 + 2 + true + + End Speed + 0.75 + Extra Action + + Base/Spawn Prespawned + + Actor + + Bullet/Sword/Burst Bullet + + Color + 1.0, 1.0, 1.0, 1.0 + Damage + + + + + Monster/Damage/Attack Base +05 + + 2 + true + ELEMENTAL + + Monster/Split/Split - Full + + + + 2 + + Fire + + Chance + 1.0 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Fuse + 400 + + + Delay + 0 + Rotation + 0.0 + Rotation Variance + 0.0 + + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 150 + 500 + + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Sound + sound/effect/weapon/sword_c02.ogg + Sound - Pitch + Lower 1 + Start Speed + 1.9 + Swing + + particle/swing/proto_charged.dat + + Color + Cautery Sword + + + + + + + + Weapon/Sword/Calibur (Charge) + + + Damage + implementation.attack["Damage"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Round House) + + Damage + + + + 75.0 + 2 + true + + + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 200 + 300 + + Knock-Back + + 5.0, 0.0 + 400 + 5 + + Radius + 1.0 + Sound + sound/effect/weapon/sword_c02.ogg + Sound - Pitch + Lower 1 + Start Speed + 2.2 + Swing + + particle/swing/calibur_charged.dat + + Variant + Calibur + + + + + + + + Weapon/Sword/Cautery Sword (Charge) + + + Damage + implementation.attack["Damage"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + 50.0 + 2 + true + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 150 + 500 + + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Sound + sound/effect/weapon/sword_c02.ogg + Sound - Pitch + Lower 1 + Start Speed + 1.9 + Swing + + particle/swing/proto_charged.dat + + Color + Cautery Sword + + + + + + + + Weapon/Sword/Cold Iron Carver (Charge) + + + Damage + implementation.attack["Damage"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Round House) + + Damage + + 70.0 + 2 + true + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 200 + 300 + + Knock-Back + + 3.5, 0.0 + 250 + 3 + + Radius + 1.0 + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Lower 1 + Start Speed + 1.9 + Swing + + particle/swing/calibur_charged.dat + + Variant + Calibur + + + + + + + + Weapon/Sword/Cold Iron Vanquisher (Charge) + + + Damage + implementation.attack["Damage"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Round House) + + Damage + + 80.0 + 2 + true + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 200 + 300 + + Knock-Back + + 3.5, 0.0 + 250 + 3 + + Radius + 1.0 + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Lower 1 + Start Speed + 1.9 + Swing + + particle/swing/calibur_charged.dat + + Variant + Calibur + + + + + + + + Weapon/Sword/Cutter (Charge) + + + Damage + implementation.attack["Damage"] + + + Damage (Projectile) + implementation.attack["GhostSwing4"]["Damage"], implementation.attack["GhostSwing3"]["Damage"], implementation.attack["GhostSwing2"]["Damage"], implementation.attack["GhostSwing1"]["Damage"] + + + + + Weapon/Sword/Parts/Base (5 Hit)/Charge (Combo Strike) + + Damage + + + + 25.0 + 2 + true + + + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + GhostSwing1 + + Bomb/Parts/Sword (CutterGhost) + + Damage + + 40.0 + 2 + false + + Transform + + -0.08, -0.349, 0.783 + 0.0, 0.25881904, 0.0, 0.9659258 + + + + GhostSwing2 + + Bomb/Parts/Sword (CutterGhost) + + Damage + + 40.0 + 2 + false + + Transform + + -0.108, -0.445, 0.685 + 9.735319E-7, 0.99736917, 9.735319E-7, -0.0724897 + + + + GhostSwing3 + + Bomb/Parts/Sword (CutterGhost) + + Damage + + 40.0 + 2 + false + + Transform + + -0.08, -0.349, 0.783 + 0.0, 0.25881904, 0.0, 0.9659258 + + + + GhostSwing4 + + Bomb/Parts/Sword (CutterGhost) + + Damage + + 40.0 + 2 + false + + Transform + + -0.108, -0.445, 0.685 + 9.735319E-7, 0.99736917, 9.735319E-7, -0.0724897 + + + + Impulse + + 2.0, 0.0 + 100 + 2000 + + Knock-Back + + 4.0, 0.0 + 250 + 4 + + Sound + sound/effect/weapon/sword_02.ogg + Start Speed + 2.0 + Swing + + particle/swing/pc_cutter_simple.dat + + Blend + ADDITIVE + Flare + true + Shadow + false + Strider Arc + false + Strider Color + 0.24313726, 0.4392157, 0.7019608, 1.0 + Swing Color In/Out + 0.0, 0.16862746, 0.32941177, 0.0 + Swing Color Middle + 0.67058825, 0.7372549, 0.8117647, 1.0 + Texture + particle/texture/fx_pcswing.png + Thin Cut + true + Trail Swipe + true + + + + + + + + Weapon/Sword/Divine Avenger (Charge) + + + Damage + implementation.attack["Damage"] + + + Damage (Bolt) + implementation.attack["Extra Action"]["Action"].actions[0].actor["Actor"], implementation.attack["Extra Action"]["Action"].actions[1].actor["Actor"], implementation.attack["Extra Action"]["Action"].actions[2].actor["Actor"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + + + 35.0 + 2 + true + + + 35.0 + 2 + true + + + + End Speed + 0.75 + Extra Action + + Base/Default + + Action + + + + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Avenger + + Damage + + + + 30.0 + 2 + + + 30.0 + 2 + + + + + + Variant + Avenger + + + 0.2617994 + true + 1.0, 1.0 + + + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Avenger + + Damage + + + + 30.0 + 2 + + + 30.0 + 2 + + + + + + Variant + Avenger + + + true + 1.0, 0.0 + + + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Avenger + + Damage + + + + 30.0 + 2 + + + 30.0 + 2 + + + + + + Variant + Avenger + + + -0.2617994 + true + 1.0, -1.0 + + + + Delay + 50 + + + Fire Speed + 1.0 + Impulse + + -0.75, 0.0 + 150 + 50 + + Knock-Back + + 3.0, 0.0 + 300 + 3 + + Sound + sound/effect/weapon/avenger_cswing.ogg + Sound - Pitch + Lower 2 + Start Speed + 1.25 + Swing + + particle/swing/proto_charged.dat + + Color + Avenger + + + + + + + + Weapon/Sword/Dread Venom Striker (Charge) + + + Damage + implementation.attack["Damage"] + + + Damage (Projectile) + implementation.attack["GhostSwing4"]["Damage"], implementation.attack["GhostSwing3"]["Damage"], implementation.attack["GhostSwing2"]["Damage"], implementation.attack["GhostSwing1"]["Damage"] + + + + + Weapon/Sword/Parts/Base (5 Hit)/Charge (Combo Strike) + + Damage + + + + 35.0 + 2 + true + + + 2 + + Poison + + Chance + 0.35 + Power + 75 + + + + + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + GhostSwing1 + + Bomb/Parts/Sword (DreadvenomstrikerGhost) + + Damage + + + + 12.0 + 2 + + + 2 + + Poison + + Chance + 0.15 + Power + 30 + + + + + + Transform + + -0.08, -0.349, 0.783 + 0.0, 0.25881904, 0.0, 0.9659258 + + + + GhostSwing2 + + Bomb/Parts/Sword (DreadvenomstrikerGhost) + + Damage + + + + 12.0 + 2 + + + 2 + + Poison + + Chance + 0.15 + Power + 30 + + + + + + Transform + + -0.108, -0.445, 0.685 + 9.735319E-7, 0.99736917, 9.735319E-7, -0.0724897 + + + + GhostSwing3 + + Bomb/Parts/Sword (DreadvenomstrikerGhost) + + Damage + + + + 12.0 + 2 + + + 2 + + Poison + + Chance + 0.15 + Power + 30 + + + + + + Transform + + -0.08, -0.349, 0.783 + 0.0, 0.25881904, 0.0, 0.9659258 + + + + GhostSwing4 + + Bomb/Parts/Sword (DreadvenomstrikerGhost) + + Damage + + + + 12.0 + 2 + + + 2 + + Poison + + Chance + 0.15 + Power + 30 + + + + + + Transform + + -0.108, -0.445, 0.685 + 9.735319E-7, 0.99736917, 9.735319E-7, -0.0724897 + + + + Impulse + + 2.0, 0.0 + 100 + 2000 + + Knock-Back + + 4.0, 0.0 + 250 + 4 + + Sound + sound/effect/weapon/sword_02.ogg + Start Speed + 2.0 + Swing + + particle/swing/pc_cutter_simple.dat + + Blend + ADDITIVE + Flare + true + Shadow + true + Strider Arc + true + Strider Color + 0.0, 0.8, 0.0, 1.0 + Swing Color In/Out + 0.0, 0.2, 0.2, 0.0 + Swing Color Middle + 0.0, 0.4, 0.2, 1.0 + Texture + particle/texture/fx_pcswing.png + Thin Cut + true + Trail Swipe + true + + + + + + + + Weapon/Sword/Fang of Vog (Charge) + + + Damage + implementation.attack["Damage"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Round House) + + Damage + + + + 60.0 + 2 + true + + + 60.0 + 2 + true + + + 2 + + Fire + + Chance + 0.75 + Power + 60 + + + + + + End Speed + 0.75 + Extra Action + + Base/Default + + Action + + + Fire 3 + + Chance + 0.5 + Power + 75 + + + + Delay + 50 + + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 200 + 300 + + Knock-Back + + 3.0, 0.0 + 350 + 3 + + Radius + 1.5 + Sound + sound/effect/weapon/sword_c02.ogg + Sound - Pitch + Lower 2 + Start Speed + 1.75 + Swing + + particle/swing/vog_charged.dat + + + + + + + Weapon/Sword/Faust (Charge) + + + Damage + implementation.attack["Damage"] + + + Damage (Bolt) + implementation.attack["Extra Action"]["Action"].actions[0].actor["Actor"]["Damage"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + + + 25.0 + 2 + true + + + 25.0 + 2 + true + + + 2 + + Curse + + Chance + 0.15 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + End Speed + 0.75 + Extra Action + + Base/Default + + Action + + + + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Gran Faust + + Damage + + + + 35.0 + 2 + + + 35.0 + 2 + + + + + + Variant + Gran Faust + + + true + + + + Curse 3 + + Chance + 0.25 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Delay + 50 + + + Fire Speed + 1.0 + Impulse + + -0.75, 0.0 + 100 + 50 + + Knock-Back + + 5.0, 0.0 + 500 + 4 + + Sound + sound/effect/weapon/gran_faust_cswing.ogg + Sound - Pitch + Lower 1 + Start Speed + 1.5 + Swing + + particle/swing/proto_charged.dat + + Color + Gran Faust + + + + + + + + Weapon/Sword/Frost Sword (charge) + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Round House) + + Damage + + + + 60.0 + 2 + true + + + 2 + + Freeze + + Chance + 0.72 + Power + 97 + + + + + + End Speed + 0.75 + Extra Action + + Base/Damage Origin Transformed + + Damage + + 4 + + Freeze + + Chance + 0.6 + Power + 80 + + + + Delay + 50 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 200 + 300 + + Knock-Back + + 3.0, 0.0 + 350 + 3 + + Radius + 1.5 + Sound + sound/effect/weapon/sword_c02.ogg + Sound - Pitch + Default + Start Speed + 1.75 + Swing + + particle/swing/icewave.dat + + + + + + + Weapon/Sword/Gram (Charge) + + + Damage + implementation.attack["Damage"] + + + Damage (Spires) + implementation.attack["Extra Action"]["Action"].actions[0].actor["Damage"].damages[0], implementation.attack["Extra Action"]["Action"].actions[1].action.actor["Damage"].damages[0] + + + + + Weapon/Sword/Parts/Base (2 Hit Slow)/Charge (Heavy Slam) + + Damage + + + + 120.0 + 2 + true + + + 2 + + Stun + + Chance + 0.35 + Power + 55 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + End Speed + 1.0 + Extra Action + + Base/Default + + Action + + + + + Bomb/Parts/Rock Spire + + Damage + + + + 60.0 + 2 + + + + + + + + + + Bomb/Parts/Rock Spire + + Damage + + + + 60.0 + 2 + + + + + + + + + + Delay + 150 + + + Fire Speed + 1.0 + Impulse + + 3.0, 0.0 + 200 + 1160 + + Smash FX + + particle/swing/scripted-gram_charged-slam.dat + + Sound + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_02.ogg + Pitch + Lower 3 + + + Start Speed + 0.8 + Swing + + particle/swing/troika_charged-swing.dat + + + + + + + Weapon/Sword/Gran Faust (Charge) + + + Damage + implementation.attack["Damage"] + + + Damage (Bolt) + implementation.attack["Extra Action"]["Action"].actions[0].actor["Actor"]["Damage"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + + + 35.0 + 2 + true + + + 35.0 + 2 + true + + + 2 + + Curse + + Chance + 0.15 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + End Speed + 0.75 + Extra Action + + Base/Default + + Action + + + + + Bullet/Sword/Parts/Sword Bolt (Marker) + + Actor + + Bullet/Sword/Gran Faust (Charged) + + Damage + + + + 40.0 + 2 + + + 40.0 + 2 + + + + + + Variant + Gran Faust (Charged) + + + true + + + + Curse 3 + + Chance + 0.25 + Power + 60 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Delay + 50 + + + Fire Speed + 1.0 + Impulse + + -0.75, 0.0 + 100 + 50 + + Knock-Back + + 5.0, 0.0 + 500 + 4 + + Sound + sound/effect/weapon/gran_faust_cswing.ogg + Sound - Pitch + Lower 2 + Start Speed + 1.25 + Swing + + particle/swing/proto_charged.dat + + Color + Gran Faust + + + + + + + + Weapon/Sword/Hatchet (Charge) + + + Damage + implementation.attack["Damage"] + + + + + Weapon/Sword/Parts/Base (2 Hit Slow)/Charge (Heavy Slam) (No AOE) + + Damage + + 110.0 + 2 + + End Speed + 1.0 + Extra Action + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 200 + 933 + + Sound + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_02.ogg + Pitch + Lower 3 + + + Start Speed + 1.0 + Swing + + particle/swing/troika_charged-swing.dat + + + + + + + Weapon/Sword/Hunting Blade (Charge) + + + Damage + implementation.attack["Damage"] + + + Damage (Projectile) + implementation.attack["GhostSwing4"]["Damage"], implementation.attack["GhostSwing3"]["Damage"], implementation.attack["GhostSwing2"]["Damage"], implementation.attack["GhostSwing1"]["Damage"] + + + + + Weapon/Sword/Parts/Base (5 Hit)/Charge (Combo Strike) + + Damage + + 35.0 + 2 + true + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + GhostSwing1 + + Bomb/Parts/Sword (Huntingblade) + + Damage + + 1.0 + 2 + + Transform + + -0.08, -0.349, 0.783 + 0.0, 0.25881904, 0.0, 0.9659258 + + + + GhostSwing2 + + Bomb/Parts/Sword (Huntingblade) + + Damage + + 1.0 + 2 + + Transform + + -0.108, -0.445, 0.685 + 9.735319E-7, 0.99736917, 9.735319E-7, -0.0724897 + + + + GhostSwing3 + + Bomb/Parts/Sword (Huntingblade) + + Damage + + 1.0 + 2 + + Transform + + -0.08, -0.349, 0.783 + 0.0, 0.25881904, 0.0, 0.9659258 + + + + GhostSwing4 + + Bomb/Parts/Sword (CutterGhost) + + Damage + + 40.0 + 2 + + Transform + + -0.108, -0.445, 0.685 + 9.735319E-7, 0.99736917, 9.735319E-7, -0.0724897 + + + + Impulse + + 2.0, 0.0 + 100 + 2000 + + Knock-Back + + 4.0, 0.0 + 250 + 4 + + Sound + sound/effect/weapon/sword_02.ogg + Start Speed + 2.0 + Swing + + particle/swing/pc_cutter_simple.dat + + Blend + ADDITIVE + Flare + true + Shadow + false + Strider Arc + false + Strider Color + 0.6, 0.6, 0.0, 1.0 + Swing Color In/Out + 0.29411766, 0.22745098, 0.09411765, 0.0 + Swing Color Middle + 0.85882354, 0.8117647, 0.62352943, 1.0 + Texture + particle/texture/fx_pcswing.png + Thin Cut + true + Trail Swipe + true + + + + + + + + Weapon/Sword/Hunting Sword (Charge) + + + Damage + implementation.attack["Damage"] + + + Damage (Projectile) + implementation.attack["Extra Action"]["Actor"]["Damage"], implementation.attack["GhostSwing4"]["Damage"], implementation.attack["GhostSwing3"]["Damage"], implementation.attack["GhostSwing2"]["Damage"], implementation.attack["GhostSwing1"]["Damage"] + + + + + Weapon/Sword/Parts/Base (5 Hit)/Charge (Combo Strike) + + Damage + + 35.0 + 2 + true + + End Speed + 0.75 + Extra Action + + Base/Spawn Prespawned + + Actor + + Bomb/Parts/Sword (HuntingGhost) + + Damage + + 20.0 + 2 + + Wolf Transform + + 1.8 + 0.0, 1.0, 0.2 + + + + Delay + 1633 + Rotation + 0.0 + Rotation Variance + 0.0 + + + Fire Speed + 1.0 + GhostSwing1 + + Bomb/Parts/Sword (HuntingGhost) + + Damage + + 20.0 + 2 + + Wolf Transform + + 1.1 + -1.5, -1.0, 0.2 + 0.0, 0.0, 0.38268346, 0.9238795 + + + + GhostSwing2 + + Bomb/Parts/Sword (HuntingGhost) + + Damage + + 20.0 + 2 + + Wolf Transform + + 1.1 + 2.0, -2.0, 0.2 + 0.0, 0.0, -0.67559004, 0.7372775 + + + + GhostSwing3 + + Bomb/Parts/Sword (HuntingGhost) + + Damage + + 20.0 + 2 + + Wolf Transform + + 1.1 + -1.4, -1.6, 0.2 + 0.0, 0.0, 0.62932, 0.7771462 + + + + GhostSwing4 + + Bomb/Parts/Sword (HuntingGhost) + + Damage + + 20.0 + 2 + + Wolf Transform + + 1.1 + 1.0, -0.25, 0.2 + 0.0, 0.0, -0.25881904, 0.9659258 + + + + Impulse + + 2.0, 0.0 + 100 + 2000 + + Knock-Back + + 4.0, 0.0 + 250 + 4 + + Sound + sound/effect/weapon/sword_02.ogg + Start Speed + 2.0 + Swing + + particle/swing/pc_cutter_simple.dat + + Blend + ADDITIVE + Flare + true + Shadow + false + Strider Arc + false + Strider Color + 0.7019608, 0.6117647, 0.24313726, 1.0 + Swing Color In/Out + 0.32941177, 0.25490198, 0.0, 0.0 + Swing Color Middle + 0.8117647, 0.78039217, 0.67058825, 1.0 + Texture + particle/texture/fx_pcswing.png + Thin Cut + true + Trail Swipe + true + + + + + + + + Weapon/Sword/Khorovod (Charge) + + + Damage + implementation.attack["Damage"] + + + Damage (Spires) + implementation.attack["Extra Action"]["Action"].actor["Damage"].damages[0] + + + + + Weapon/Sword/Parts/Base (2 Hit Slow)/Charge (Heavy Slam) + + Damage + + + + 120.0 + 2 + true + + + 2 + + Stun + + Chance + 0.35 + Power + 55 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + End Speed + 1.0 + Extra Action + + Base/Default + + Action + + + Bomb/Parts/Rock Spire + + Damage + + + + 60.0 + 2 + + + + + + + Delay + 160 + + + Fire Speed + 1.0 + Impulse + + 3.0, 0.0 + 200 + 1160 + + Smash FX + + particle/swing/troika_charged-slam.dat + + Vertical wave + On + + + Sound + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_02.ogg + Pitch + Lower 3 + + + Start Speed + 0.8 + Swing + + particle/swing/troika_charged-swing.dat + + + + + + + Weapon/Sword/Parts/Base (2 Hit Slow)/Charge (Heavy Slam) + + + Start Speed + implementation.start_speed, implementation.start["Release Time"] + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Impulse + implementation.impulse_received + + + Extra Action + implementation.fire_refs[1].ref + + + Smash FX + implementation.fire["Slam"] + + + + + character/pc/attack_sword_heavyslam/heavyslam_start.dat + + Release Time + 1.0 + + + + character/pc/attack_sword_heavyslam/heavyslam_fire.dat + + Slam + + particle/swing/troika_charged-slam.dat + + Vertical wave + On + + + Sound + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_02.ogg + Pitch + Lower 1 + + + Swing + + particle/swing/troika_charged-swing.dat + + + + + character/pc/attack_sword_heavyslam/heavyslam_end.dat + + 933 + 1056 + 500 + + 2.0, 0.0 + 150 + 800 + + + + + Base/Damage Origin Transformed + + Damage + + 200.0 + 2 + + Delay + 167 + Impulse Origin Translation + -1.0, 0.0 + Knock-Back + + 7.0, 0.0 + 600 + 5 + + Shape + + + 1.6 + + + 2.0, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (2 Hit Slow)/Charge (Heavy Slam) (No AOE) + + + Start Speed + implementation.start_speed, implementation.start["Release Time"] + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Impulse + implementation.impulse_received + + + Extra Action + implementation.fire_refs[1].ref + + + + + character/pc/attack_sword_heavyslam/heavyslam_start.dat + + Release Time + 1.0 + + + + character/pc/attack_sword_heavyslam/heavyslam_fire.dat + + Slam + + particle/fx_stoneblock_explode.dat + + Chunks + Sparse + Style variant + default + + + Sound + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_02.ogg + Pitch + Default + + + Swing + + particle/swing/troika_charged-swing.dat + + + + + character/pc/attack_sword_heavyslam/heavyslam_end.dat + + 933 + 1056 + 500 + + 2.0, 0.0 + 150 + 800 + + + + + Base/Damage Origin Transformed + + Damage + + 200.0 + 2 + + Delay + 167 + Impulse Origin Translation + -1.0, 0.0 + Knock-Back + + 4.0, 0.0 + 500 + 3 + + Shape + + + 2.5 + 1.2 + + + 2.0, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (2 Hit Slow)/Incomplete (L-R) + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + + + character/pc/attack_sword_2_start.dat + + Sounder + + + + + character/pc/attack_sword_2_fire.dat + + Sound + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_02.ogg + Pitch + Lower 1 + + + Swing + + + particle/swing/pc_default.dat + + Blend + TRANSLUCENT + Color + + 0.53333336, 0.49019608, 0.44313726, 0.0 + 0.8901961, 0.87058824, 0.8352941, 1.0 + 0.5882353, 0.5647059, 0.52156866, 0.0 + 0.1 + 0.9 + + PC Swing# + 2 + Scale + + + 1.6 + + + 1.6 + 0.1 + + + 2.0 + + + Strider Color + + 0.8392157, 0.7921569, 0.75686276, 0.75 + 0.23137255, 0.21176471, 0.2, 0.0 + + + + Strider Toggle + true + Texture + particle/texture/fx_gremlinswing.png + + + %ROOT% + + + + + character/pc/attack_sword_2_end.dat + + 1.1 + 0.6 + 1.25 + 233 + 667 + true + + + + Base/Damage Origin Transformed + + Damage + + 90.0 + 2 + + Delay + 0 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 2.0, 0.0 + 150 + 3 + + Shape + + + 1.2 + + + 1.05, 0.0 + + + + + + + + + + Weapon/Sword/Parts/Base (2 Hit Slow)/Swing 0 (L-R) + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + + + character/pc/attack_sword_2_start.dat + + Sounder + + + + + character/pc/attack_sword_2_fire.dat + + Sound + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_02.ogg + Pitch + Lower 1 + + + Swing + + + particle/swing/pc_default.dat + + Blend + TRANSLUCENT + Color + + 0.79607844, 0.76862746, 0.73333335, 0.0 + 0.8784314, 0.8745098, 0.8745098, 1.0 + 0.7764706, 0.7372549, 0.7058824, 0.0 + 0.1 + 0.9 + + PC Swing# + 2 + Scale + + + 1.5 + + + 1.5 + 0.1 + + + 2.0 + + + Strider Color + + 0.7058824, 0.6745098, 0.6509804, 0.75 + 0.24313726, 0.21176471, 0.1882353, 0.0 + + + + Strider Toggle + true + Texture + particle/texture/fx_gremlinswing.png + + + %ROOT% + + + + + character/pc/attack_sword_2_end.dat + + 1.1 + 0.6 + 1.25 + 233 + 667 + true + + + + Base/Damage Origin Transformed + + Damage + + 90.0 + 2 + + Delay + 0 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 2.0, 0.0 + 150 + 3 + + Shape + + + 1.2 + + + 1.05, 0.0 + + + + + + + + + + Weapon/Sword/Parts/Base (2 Hit Slow)/Swing 1 (Around CW) + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Rearm + implementation.rearm + + + + + character/pc/attack_sword_3_start.dat + + + character/pc/attack_sword_3_fire.dat + + Sound + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_03.ogg + Pitch + Lower 1 + + + Swing + + + particle/swing/pc_default.dat + + Blend + TRANSLUCENT + Color + + 0.78431374, 0.75686276, 0.7176471, 0.0 + 0.8, 0.79607844, 0.79607844, 1.0 + 0.78039217, 0.7372549, 0.70980394, 0.0 + 0.1 + 0.9 + + PC Swing# + 3 + Scale + + + 1.5 + + + 1.5 + 0.1 + + + 2.0 + + + Strider Color + + 0.7254902, 0.7019608, 0.6784314, 0.75 + 0.23137255, 0.24313726, 0.22745098, 0.0 + + + + Strider Toggle + true + Texture + particle/texture/fx_gremlinswing.png + + + %ROOT% + + + + + character/pc/attack_sword_3_end.dat + + 0.6 + 633 + 1 + true + + 1.5, 0.0 + 350 + + + + + Base/Damage Origin Transformed + + Damage + + 90.0 + 2 + + Delay + 0 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 4.0, 0.0 + 300 + 4 + + Shape + + + 1.45 + + + 1.0, 0.0 + + + + + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Round House) + + + Start Speed + implementation.start_speed, implementation.start["Release Time"] + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Sound - Pitch + implementation.fire["Sound - Pitch"] + + + Impulse + implementation.impulse_received + + + Damage + implementation.fire_refs[0].ref["Damage"], implementation.fire_refs[1].ref["Damage"], implementation.fire_refs[2].ref["Damage"], implementation.fire_refs[3].ref["Damage"] + + + Knock-Back + implementation.fire_refs[0].ref["Knock-Back"], implementation.fire_refs[1].ref["Knock-Back"], implementation.fire_refs[2].ref["Knock-Back"], implementation.fire_refs[3].ref["Knock-Back"] + + + Radius + implementation.fire_refs[0].ref["Shape"].shape.radius, implementation.fire_refs[1].ref["Shape"].shape.radius, implementation.fire_refs[2].ref["Shape"].shape.radius, implementation.fire_refs[3].ref["Shape"].shape.radius + + + Extra Action + implementation.fire_refs[4].ref + + + + + character/pc/sword-chargerelease/animation.dat + + Release Time + 2.75 + Sound + + + + + character/pc/attack_sword_3_firewithwindup2.dat + + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Default + Swing + + particle/swing/calibur_charged.dat + + Variant + Calibur + + + + + + character/pc/attack_sword_3_end.dat + + 2.75 + 0.75 + 1000 + 350 + 667 + + 1.0, 0.0 + 200 + 300 + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 3.5, 0.0 + 300 + 3 + + Shape + + + + + 0.0, -1.0 + + + + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 90 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 3.5, 0.0 + 300 + 3 + + Shape + + + + + -1.0, 0.0 + + + + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 130 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 3.5, 0.0 + 300 + 3 + + Shape + + + + + 0.0, 1.0 + + + + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 180 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 3.5, 0.0 + 300 + 3 + + Shape + + + + + 1.0, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + + Start Speed + implementation.start["Release Time"], implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Swing + implementation.fire["Swing"].model + + + Sound + implementation.fire["Sound"]["File"] + + + Sound - Pitch + implementation.fire["Sound"]["Pitch"] + + + Impulse + implementation.impulse_received + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Knock-Back + implementation.fire_refs[0].ref["Knock-Back"] + + + Extra Action + implementation.fire_refs[1].ref + + + + + character/pc/sword-chargerelease/animation.dat + + Release Time + 1.9 + Sound + + + + + character/pc/attack_sword_2_fire.dat + + Sound + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_c01.ogg + Pitch + Default + + + Swing + + + particle/swing/proto_charged.dat + + Color + Proto + + + %ROOT% + + + + + character/pc/attack_sword_2_end.dat + + 1.9 + 0.75 + 1000 + 233 + 667 + + 1.0, 0.0 + 150 + 500 + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 0 + Impulse Origin Translation + -1.0, 0.0 + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Shape + + + 2.0 + 2.5 + + + 1.0, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Incomplete (R-L) + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Sound - Pitch + implementation.fire["Sound - Pitch"] + + + Extra Action + implementation.fire_refs[1].ref + + + + + character/pc/attack_sword_2_start.dat + + Sounder + + + + + character/pc/attack_sword_2_fire2.dat + + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Default + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + character/pc/attack_sword_2_end.dat + + 2.0 + 233 + 667 + true + + 1.0, 0.0 + 175 + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 20 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 2.0, 0.0 + 375 + 3 + + Shape + + + 1.6 + 1.2 + + + 1.1, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Swing 0 (R-L) + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Sound - Pitch + implementation.fire["Sound - Pitch"] + + + Extra Action + implementation.fire_refs[1].ref + + + + + character/pc/attack_sword_1_start.dat + + + character/pc/attack_sword_1_fire2.dat + + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Default + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + character/pc/attack_sword_1_end.dat + + 1.75 + 2.0 + 233 + 667 + true + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 0 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 0.6, 0.0 + 200 + 3 + + Shape + + + 1.6 + 0.75 + + + 1.1, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Swing 1 (L-R) + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Sound - Pitch + implementation.fire["Sound - Pitch"] + + + Extra Action + implementation.fire_refs[1].ref + + + + + character/pc/attack_sword_2_start.dat + + Sounder + + + + + character/pc/attack_sword_2_fire2.dat + + Sound + sound/effect/weapon/sword_02.ogg + Sound - Pitch + Default + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + character/pc/attack_sword_2_end.dat + + 1.75 + 2.0 + 233 + 667 + true + + 1.25, 0.0 + 150 + 100 + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 20 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 2.5, 0.0 + 300 + + Shape + + + 1.75 + 1.2 + + + 1.2, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Swing 2 (Around CW) + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Sound - Pitch + implementation.fire["Sound - Pitch"] + + + Rearm + implementation.rearm + + + Extra Action + implementation.fire_refs[1].ref + + + + + character/pc/attack_sword_3_start.dat + + + character/pc/attack_sword_3_fire2.dat + + Sound + sound/effect/weapon/sword_03.ogg + Sound - Pitch + Default + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + character/pc/attack_sword_3_end.dat + + 1.75 + 900 + 1 + true + + 2.5, 0.0 + 200 + 50 + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 20 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 2.5, 0.0 + 325 + 3 + + Shape + + + 1.7 + 1.8 + + + 1.45, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Swing 2 (R-L) + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Sound - Pitch + implementation.fire["Sound - Pitch"] + + + Rearm + implementation.rearm + + + Extra Action + implementation.fire_refs[1].ref + + + + + character/pc/attack_swordranged_rightleft/start_faster.dat + + + character/pc/attack_swordranged_rightleft/fire_faster.dat + + Sound + sound/effect/weapon/sword_03.ogg + Sound - Pitch + Default + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + character/pc/attack_swordranged_rightleft/end_faster.dat + + 1.75 + 900 + 1 + true + + 2.0, 0.0 + 150 + 100 + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 20 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 2.5, 0.0 + 325 + 3 + + Shape + + + 1.7 + 1.8 + + + 1.45, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (5 Hit)/Charge (Combo Strike) + + + Start Speed + implementation.start["Release Time"], implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"], implementation.fire["Sound2"] + + + Impulse + implementation.impulse_received + + + Damage + implementation.fire_refs[0].ref["Damage"], implementation.fire_refs[2].ref["Damage"], implementation.fire_refs[4].ref["Damage"], implementation.fire_refs[6].ref["Damage"], implementation.fire_refs[8].ref["Damage"] + + + Knock-Back + implementation.fire_refs[8].ref["Knock-Back"] + + + GhostSwing1 + implementation.fire_refs[1].ref["Actor"] + + + GhostSwing2 + implementation.fire_refs[3].ref["Actor"] + + + GhostSwing3 + implementation.fire_refs[5].ref["Actor"] + + + GhostSwing4 + implementation.fire_refs[7].ref["Actor"] + + + Extra Action + implementation.fire_refs[9].ref + + + + + character/pc/sword-chargerelease/animation.dat + + Release Time + 2.5 + Sound + + + + + character/pc/charge_combosword/fire.dat + + Sound + sound/effect/weapon/sword_02.ogg + Sound - Pitch 1 + Higher 2 + Sound - Pitch 2 + Default + Sound - Pitch 3 + Higher 1 + Sound - Pitch 4 + Higher 3 + Sound - Pitch Final + Default + Sound2 + sound/effect/weapon/sword_02.ogg + Swing + + particle/swing/pc_cutter_simple.dat + + Blend + ADDITIVE + Flare + true + Shadow + false + Strider Arc + false + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + Thin Cut + true + Trail Swipe + true + + + + + + character/pc/attack_sword-upwardswipe/end.dat + + 2.5 + 0.75 + 1000 + 1617 + 667 + + 2.0, 0.0 + 100 + 2000 + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 0.1, -0.5 + 250 + 2 + + Shape + + + 0.75 + + + 1.5, 0.0 + + + + + + + + Base/Spawn Prespawned + + Actor + + Delay + 125 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Base/Damage Origin Transformed + + Damage + + 50.0 + 2 + + Delay + 250 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 0.1, 0.5 + 250 + 2 + + Shape + + + 0.75 + + + 1.5, 0.0 + + + + + + + + Base/Spawn Prespawned + + Actor + + Delay + 375 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Base/Damage Origin Transformed + + Damage + + 50.0 + 2 + + Delay + 500 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 0.1, -0.5 + 250 + 2 + + Shape + + + 0.75 + + + 1.5, 0.0 + + + + + + + + Base/Spawn Prespawned + + Actor + + Delay + 625 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Base/Damage Origin Transformed + + Damage + + 50.0 + 2 + + Delay + 750 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 0.1, 0.5 + 350 + 2 + + Shape + + + 0.75 + + + 1.5, 0.0 + + + + + + + + Base/Spawn Prespawned + + Actor + + Delay + 875 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Base/Damage Origin Transformed + + Damage + + 40.0 + 2 + + Delay + 1633 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 2504.0, 0.0 + 4 + + Shape + + + 2.25 + 1.5 + + + 1.25, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (5 Hit)/Swing 2 (R-L Flare) + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Sound - Pitch + implementation.fire["Sound - Pitch"] + + + Extra Action + implementation.fire_refs[1].ref + + + + + character/pc/attack_swordranged_rightleft/start.dat + + + character/pc/attack_swordranged_rightleft/fire.dat + + Sound + sound/effect/weapon/sword_02.ogg + Sound - Pitch + Default + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + character/pc/attack_swordranged_rightleft/end.dat + + 1.75 + 2.0 + 233 + 667 + true + + 1.25, 0.0 + 200 + 50 + + + + + Base/Damage Origin Transformed + + Damage + + 50.0 + 2 + + Delay + 0 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Shape + + + 1.75 + 1.2 + + + 1.0, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (5 Hit)/Swing 3 (L-R Flare) + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Sound - Pitch + implementation.fire["Sound - Pitch"] + + + Extra Action + implementation.fire_refs[1].ref + + + + + character/pc/attack_swordranged_leftright/start.dat + + + character/pc/attack_swordranged_leftright/fire.dat + + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Default + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + character/pc/attack_swordranged_leftright/end.dat + + 1.75 + 2.0 + 233 + 667 + true + + 1.5, 0.0 + 200 + 50 + + + + + Base/Damage Origin Transformed + + Damage + + 50.0 + 2 + + Delay + 0 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Shape + + + 1.75 + 1.2 + + + 1.0, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (Saber)/Charge (Swipe) + + + character/pc/sword-chargerelease/animation.dat + + Release Time + 1.9 + Sound + + + + + animation/sequential/simple.dat + + Animations + + + 3.0 + + character/pc/attack_sword-forwardthrust/start.dat + + + + 4.0 + + character/pc/attack_sword-forwardthrust/fire.dat + + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Higher 2 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 2.0 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.0, 0.0, 0.0, 0.0 + Swing Color Middle + 0.0, 0.0, 0.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + + 4.0 + + character/pc/attack_sword-forwardthrust/start-2nd.dat + + + + 4.0 + + character/pc/attack_sword-forwardthrust/fire.dat + + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Higher 2 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 2.0 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.0, 0.0, 0.0, 0.0 + Swing Color Middle + 0.0, 0.0, 0.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + + 3.0 + + character/pc/attack_swordranged_rightleft/start_faster.dat + + + + + character/pc/attack_swordranged_rightleft/fire.dat + + Sound + sound/effect/weapon/sword_02.ogg + Sound - Pitch + Higher 2 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing_narrow.png + + + + + + + Priority + 2 + + + + character/pc/attack_swordranged_rightleft/end.dat + + 1.9 + 1.25 + 1000 + 1000 + 1167 + false + + 4.0, 0.0 + 750 + 500 + + + + + Base/Damage Origin Transformed + + Damage + + + + + PC/Damage/Sword/Sword Base (Charged) + + PIERCING + 2 + + + + Delay + 0 + Impulse Origin Translation + -1.0, 0.0 + Knock-Back + + 1.0, 0.0 + 200 + + Shape + + + 2.0 + + + 2.0, 0.0 + + + + + + + + Base/Damage Origin Transformed + + Damage + + + PC/Damage/Sword/Sword Base (Charged) + + PIERCING + 2 + + Delay + 250 + Impulse Origin Translation + -1.0, 0.0 + Knock-Back + + 1.0, 0.0 + 200 + 2 + + Shape + + + 2.0 + + + 2.0, 0.0 + + + + + + + + Base/Damage Origin Transformed + + Damage + + + PC/Damage/Sword/Sword Base +05 (Charged) + + PIERCING + 2 + true + + Delay + 600 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 3.0, 0.0 + 300 + 3 + + Shape + + + 1.25 + + + 1.25, 0.0 + + + + + + + + + + Weapon/Sword/Parts/Base (Saber)/Swing 0 (L-R) + + + character/pc/attack_sword_2_start.dat + + Sounder + + + + + character/pc/attack_sword_2_fire.dat + + Sound + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_02.ogg + Pitch + Higher 1 + + + Swing + + + particle/swing/pc_default.dat + + Blend + ADDITIVE + Color + + 0.8, 1.0, 1.0, 0.0 + 0.8862745, 0.9843137, 1.0, 1.0 + 0.8, 1.0, 1.0, 0.0 + 0.1 + 0.9 + + PC Swing# + 2 + Scale + + + 1.5 + + + 1.5 + 0.1 + + + 2.0 + + + Strider Color + + 0.0, 0.0, 0.0, 0.75 + 0.0, 0.0, 0.0, 0.0 + + + + Strider Toggle + false + Texture + particle/texture/fx_pcswing_narrow.png + + + %ROOT% + + + + + character/pc/attack_sword_2_end.dat + + 1.8 + 1.5 + 1.25 + 233 + 667 + true + + + + Base/Damage Origin Transformed + + Damage + + + PC/Damage/Sword/Sword Base + + PIERCING + 2 + true + + Delay + 0 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 2.0, 0.0 + 150 + 3 + + Shape + + + 1.2 + + + 1.05, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (Saber)/Swing 1 (Thrust) + + + character/pc/attack_sword-forwardthrust/start.dat + + + character/pc/attack_sword-forwardthrust/fire.dat + + Sound + sound/effect/weapon/sword_02.ogg + Sound - Pitch + Higher 2 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.0, 0.0, 0.0, 0.0 + Swing Color Middle + 0.0, 0.0, 0.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + character/pc/attack_sword-forwardthrust/end.dat + + 2.0 + 1.75 + 2.0 + 250 + 667 + true + + 1.0, 0.0 + 150 + 100 + + + + + Base/Damage Origin Transformed + + Damage + + + + + PC/Damage/Sword/Sword Base + + PIERCING + 2 + + + + Delay + 100 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 1.5, 0.0 + 300 + + Shape + + + 1.5 + 0.45 + + + 1.75, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (Saber)/Swing 2 (Thrust) + + + character/pc/attack_sword-forwardthrust/start-2nd.dat + + + character/pc/attack_sword-forwardthrust/fire.dat + + Sound + sound/effect/weapon/sword_03.ogg + Sound - Pitch + Higher 2 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.0, 0.0, 0.0, 0.0 + Swing Color Middle + 0.0, 0.0, 0.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + character/pc/attack_sword-forwardthrust/end.dat + + 1.75 + 1.5 + 800 + 1 + true + + 3.0, 0.0 + 250 + 100 + + + + + Base/Damage Origin Transformed + + Damage + + + + + PC/Damage/Sword/Sword Base (Last Chain) + + PIERCING + 2 + true + + + + Delay + 100 + Impulse Origin Translation + -2.0, 0.0 + Knock-Back + + 2.5, 0.0 + 325 + 3 + + Shape + + + 2.0 + 0.6 + + + 1.75, 0.0 + + + + + + + + + + + + Weapon/Sword/Parts/Base (Spur) 0 + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Sound - Pitch + implementation.fire["Sound - Pitch"] + + + + + character/pc/attack_swordranged_leftright/start.dat + + + character/pc/attack_swordranged_leftright/fire.dat + + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Default + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + character/pc/attack_swordranged_leftright/end.dat + + 1.75 + 2.0 + 233 + 667 + true + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 20 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 1.0, 0.0 + 250 + 2 + + Shape + + + 0.4 + + + 1.0, 0.0 + + + + + + + + + + Weapon/Sword/Parts/Base (Spur) 1 + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Sound - Pitch + implementation.fire["Sound - Pitch"] + + + + + character/pc/attack_swordranged_rightleft/start.dat + + + character/pc/attack_swordranged_rightleft/fire.dat + + Sound + sound/effect/weapon/sword_02.ogg + Sound - Pitch + Default + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + character/pc/attack_swordranged_rightleft/end.dat + + 1.75 + 2.0 + 233 + 667 + true + + 1.0, 0.0 + 250 + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 20 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Shape + + + 1.75 + 1.2 + + + 1.0, 0.0 + + + + + + + + + + Weapon/Sword/Parts/Base (Spur) 2 + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Sound - Pitch + implementation.fire["Sound - Pitch"] + + + Rearm + implementation.rearm + + + + + character/pc/attack_sword_2_start.dat + + Sounder + + + + + character/pc/attack_sword_2_fire2.dat + + Sound + sound/effect/weapon/sword_03.ogg + Sound - Pitch + Default + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + character/pc/attack_sword_2_end.dat + + 1.75 + 900 + 1 + true + + 1.5, 0.0 + 300 + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 20 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 3.5, 0.0 + 325 + 3 + + Shape + + + 17.0 + 1.8 + + + 1.3, 0.0 + + + + + + + + + + Weapon/Sword/Parts/Base (Spur) Charge + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + + + character/pc/attack_sword_3_firewithwindup2.dat + + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Default + Swing + + particle/swing/calibur_charged.dat + + Variant + Calibur + + + + + + character/pc/attack_sword_3_end.dat + + 0.75 + 0 + 350 + 667 + + + + Base/Damage Origin Transformed + + Damage + + 100.0 + 2 + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 5.0, 0.0 + 500 + 4 + + Shape + + + 1.75 + + + + + + + + + + Weapon/Sword/Parts/Base (Spur) Incomplete + + + Start Speed + implementation.start_speed + + + Fire Speed + implementation.fire_speed + + + End Speed + implementation.end_speed + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Swing + implementation.fire["Swing"] + + + Sound + implementation.fire["Sound"] + + + Sound - Pitch + implementation.fire["Sound - Pitch"] + + + + + character/pc/attack_swordranged_leftright/start.dat + + + character/pc/attack_swordranged_leftright/fire.dat + + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Default + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + character/pc/attack_swordranged_rightleft/end.dat + + 1.5 + 233 + 667 + true + 3 + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 20 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 2.0, 0.0 + 375 + + Shape + + + 0.5 + + + 1.0, 0.0 + + + + + + + + + + Weapon/Sword/Poison Sword (Charge) + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Round House) + + Damage + + + + 60.0 + 2 + true + + + 2 + + Poison + + Chance + 0.0 + Power + 0 + + + + + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 150 + 500 + + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Radius + 1.0 + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Default + Start Speed + 2.0 + Swing + + particle/swing/proto_charged.dat + + Color + Proto + + + + + + + + Weapon/Sword/Proto Sword (Charge) + + + Damage + implementation.attack["Damage"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + + + 65.0 + 2 + true + + + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 150 + 500 + + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Default + Start Speed + 1.9 + Swing + + particle/swing/proto_charged.dat + + Color + Proto + + + + + + + + Weapon/Sword/Sealed Sword (Charge) + + + Damage + implementation.attack["Damage"] + + + Power + implementation.attack["Extra Action"]["Action"].action.spawn_table["Power"] + + + Chance + implementation.attack["Extra Action"]["Action"].action.spawn_table["Chance"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + 70.0 + 2 + true + + End Speed + 0.75 + Extra Action + + Base/Default + + Action + + + 0.85 + + + + Monster/Attacks/Sword(BreakSeal) + + Chance + 1.0 + Power + 37 + + + + + Delay + 0 + + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 150 + 500 + + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Default + Start Speed + 1.9 + Swing + + particle/swing/proto_charged.dat + + Color + Sealed Sword + + + + + + + + Weapon/Sword/Slime Slasher (Charge) + + + Damage + implementation.attack["Damage"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + + + 65.0 + 2 + true + + + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 150 + 500 + + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Higher 1 + Start Speed + 1.9 + Swing + + particle/swing/proto_charged.dat + + Color + Cautery Sword + + + + + + + + Weapon/Sword/Spur (Charge) + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Damage (Projectile) + implementation.fire_refs[1].ref["Actor"]["Damage"] + + + + + character/pc/attack_sword-upwardswipe/start.dat + + Release Time + 1.5 + + + + character/pc/attack_sword-upwardswipe/fire.dat + + Sound + sound/effect/weapon/spur_swing3.ogg + Sound - Pitch + Higher 2 + Swing + + particle/swing/spur.dat + + Blend + ADDITIVE + Scale + 1.2 + Strider Color + 0.4, 1.0, 0.2, 1.0 + Swing Color In/Out + 0.2, 0.8, 0.0, 0.0 + Swing Color Middle + 0.8, 1.0, 0.0, 1.0 + + + + + + character/pc/attack_sword-upwardswipe/end.dat + + 1.5 + 0.65 + 1000 + 133 + 667 + + -1.0, 0.0 + 150 + 10 + + + + + Base/Damage Origin Transformed + + Damage + + 20.0 + 2 + true + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 3.0, 0.0 + 200 + 3 + + Shape + + + + + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Sword/Spur (Charged) + + Damage + + 50.0 + 2 + + + + Delay + 150 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + + + Weapon/Sword/Static Edge (Charge) + + + Damage + implementation.attack["Damage"] + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Swipe) + + Damage + + + + 40.0 + 2 + true + + + 2 + + Shock + + Chance + 0.25 + Power + 30 + + + + + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 150 + 500 + + Knock-Back + + 2.5, 0.0 + 300 + 2 + + Sound + sound/effect/weapon/staticedge_charged_02.ogg + Sound - Pitch + Lower 1 + Start Speed + 1.9 + Swing + + particle/swing/proto_charged.dat + + Color + Static + + + + + + + + Weapon/Sword/The Ban Stick (Charge) + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Round House) + + Damage + + + + 9999.0 + 2 + true + + + + End Speed + 0.75 + Extra Action + + Base/Damage Region Transformed + + Damage + + 9999.0 + 4 + + Delay + 0 + Shape + + + + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 200 + 300 + + Knock-Back + + 20.0, 0.0 + 500 + 10 + + Radius + 2.0 + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Default + Start Speed + 3.0 + Swing + + particle/swing/calibur_charged.dat + + Variant + Calibur + + + + + + + + Weapon/Sword/Troika (Charge) + + + Damage + implementation.attack["Damage"] + + + + + Weapon/Sword/Parts/Base (2 Hit Slow)/Charge (Heavy Slam) + + Damage + + + + 110.0 + 2 + true + + + 2 + + Stun + + Chance + 0.25 + Power + 35 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + End Speed + 1.0 + Extra Action + + Fire Speed + 1.0 + Impulse + + 2.0, 0.0 + 200 + 933 + + Smash FX + + particle/swing/troika_charged-slam.dat + + Vertical wave + On + + + Sound + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_02.ogg + Pitch + Lower 3 + + + Start Speed + 1.0 + Swing + + particle/swing/troika_charged-swing.dat + + + + + + + Weapon/Sword/Vile Striker (Charge) + + + Damage + implementation.attack["Damage"] + + + Damage (Projectile) + implementation.attack["GhostSwing4"]["Damage"], implementation.attack["GhostSwing3"]["Damage"], implementation.attack["GhostSwing2"]["Damage"], implementation.attack["GhostSwing1"]["Damage"] + + + + + Weapon/Sword/Parts/Base (5 Hit)/Charge (Combo Strike) + + Damage + + + + 25.0 + 2 + true + + + 2 + + Poison + + Chance + 0.25 + Power + 35 + + + + + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + GhostSwing1 + + Bomb/Parts/Sword (VilestrikerGhost) + + Damage + + + + 20.0 + 2 + + + 2 + + Poison + + Chance + 0.075 + Power + 30 + + + + + + Transform + + -0.08, -0.349, 0.783 + 0.0, 0.25881904, 0.0, 0.9659258 + + + + GhostSwing2 + + Bomb/Parts/Sword (VilestrikerGhost) + + Damage + + + + 20.0 + 2 + + + 2 + + Poison + + Chance + 0.075 + Power + 30 + + + + + + Transform + + -0.108, -0.445, 0.685 + 9.735319E-7, 0.99736917, 9.735319E-7, -0.0724897 + + + + GhostSwing3 + + Bomb/Parts/Sword (VilestrikerGhost) + + Damage + + + + 20.0 + 2 + + + 2 + + Poison + + Chance + 0.075 + Power + 30 + + + + + + Transform + + -0.08, -0.349, 0.783 + 0.0, 0.25881904, 0.0, 0.9659258 + + + + GhostSwing4 + + Bomb/Parts/Sword (VilestrikerGhost) + + Damage + + + + 20.0 + 2 + + + 2 + + Poison + + Chance + 0.075 + Power + 30 + + + + + + Transform + + -0.108, -0.445, 0.685 + 9.735319E-7, 0.99736917, 9.735319E-7, -0.0724897 + + + + Impulse + + 2.0, 0.0 + 100 + 2000 + + Knock-Back + + 4.0, 0.0 + 250 + 4 + + Sound + sound/effect/weapon/sword_02.ogg + Start Speed + 2.0 + Swing + + particle/swing/pc_cutter_simple.dat + + Blend + ADDITIVE + Flare + true + Shadow + false + Strider Arc + false + Strider Color + 0.0, 0.8, 0.0, 1.0 + Swing Color In/Out + 0.0, 0.2, 0.2, 0.0 + Swing Color Middle + 0.0, 0.4, 0.2, 1.0 + Texture + particle/texture/fx_pcswing.png + Thin Cut + true + Trail Swipe + true + + + + + + + + Weapon/Sword/Wild Hunting Blade (Charge) + + + Damage + implementation.attack["Damage"].damages[0] + + + Damage (Projectile) + implementation.attack["Extra Action"]["Actor"]["Damage"], implementation.attack["GhostSwing4"]["Damage"], implementation.attack["GhostSwing3"]["Damage"], implementation.attack["GhostSwing2"]["Damage"], implementation.attack["GhostSwing1"]["Damage"] + + + + + Weapon/Sword/Parts/Base (5 Hit)/Charge (Combo Strike) + + Damage + + + + 40.0 + 2 + true + + + + End Speed + 0.75 + Extra Action + + Base/Spawn Prespawned + + Actor + + Bomb/Parts/Sword (HuntingGhost) + + Damage + + 20.0 + 2 + + Wolf Transform + + 1.8 + 0.0, 1.0, 0.2 + + + + Delay + 1633 + Rotation + 0.0 + Rotation Variance + 0.0 + + + Fire Speed + 1.0 + GhostSwing1 + + Bomb/Parts/Sword (HuntingGhost) + + Damage + + 20.0 + 2 + + Wolf Transform + + 1.1 + -1.5, -1.0, 0.2 + 0.0, 0.0, 0.38268346, 0.9238795 + + + + GhostSwing2 + + Bomb/Parts/Sword (HuntingGhost) + + Damage + + 20.0 + 2 + + Wolf Transform + + 1.1 + 2.0, -2.0, 0.2 + 0.0, 0.0, -0.67559004, 0.7372775 + + + + GhostSwing3 + + Bomb/Parts/Sword (HuntingGhost) + + Damage + + 20.0 + 2 + + Wolf Transform + + 1.1 + -1.4, -1.6, 0.2 + 0.0, 0.0, 0.62932, 0.7771462 + + + + GhostSwing4 + + Bomb/Parts/Sword (HuntingGhost) + + Damage + + 20.0 + 2 + + Wolf Transform + + 1.1 + 1.0, -0.25, 0.2 + 0.0, 0.0, -0.25881904, 0.9659258 + + + + Impulse + + 2.0, 0.0 + 100 + 2000 + + Knock-Back + + 4.0, 0.0 + 250 + 4 + + Sound + sound/effect/weapon/sword_02.ogg + Start Speed + 2.0 + Swing + + particle/swing/pc_cutter_simple.dat + + Blend + ADDITIVE + Flare + true + Shadow + false + Strider Arc + false + Strider Color + 0.7019608, 0.6117647, 0.24313726, 1.0 + Swing Color In/Out + 0.32941177, 0.25490198, 0.0, 0.0 + Swing Color Middle + 0.8117647, 0.78039217, 0.67058825, 1.0 + Texture + particle/texture/fx_pcswing.png + Thin Cut + true + Trail Swipe + true + + + + + + + + Weapon/Sword/Winmillion (Charge) + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Damage (Projectile) + implementation.fire_refs[1].ref["Actor"]["Damage"] + + + + + character/pc/attack_sword-upwardswipe/start.dat + + Release Time + 1.25 + + + + character/pc/attack_sword-upwardswipe/fire.dat + + Sound + sound/effect/weapon/spur_swing3.ogg + Sound - Pitch + Higher 2 + Swing + + particle/swing/spur.dat + + Blend + ADDITIVE + Scale + 1.2 + Strider Color + 0.83137256, 0.87058824, 0.8901961, 1.0 + Swing Color In/Out + 0.0, 0.4, 0.6, 0.0 + Swing Color Middle + 0.2, 0.6, 1.0, 1.0 + + + + + + character/pc/attack_sword-upwardswipe/end.dat + + 1.25 + 0.65 + 1000 + 133 + 667 + + -1.0, 0.0 + 150 + 10 + + + + + Base/Damage Origin Transformed + + Damage + + 20.0 + 2 + true + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 3.0, 0.0 + 200 + 3 + + Shape + + + + + + + + + + Base/Spawn Prespawned + + Actor + + Bullet/Sword/Winmillion (Large) + + Damage + + 1.0 + 2 + + + + Delay + 150 + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + + + Weapon/Sword/Wrench Wand (Charge) + + + Damage + implementation.fire_refs[0].ref["Damage"] + + + Bullet + implementation.fire_refs[1].ref["Actor"] + + + + + character/pc/sword-chargerelease/animation.dat + + Release Time + 1.9 + Sound + + + + + character/npc/monster/gremlin/animation/skill_directional.dat + + 1.9 + 1.2 + 2.0 + 1000 + 1100 + 0 + false + + 1.0, 0.0 + 200 + 500 + + + + + Base/Damage Origin Transformed + + Damage + + + + 50.0 + 2 + + + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + 3.0, 0.0 + 400 + 2 + + Shape + + + 1.6 + 1.2 + + + 1.1, 0.0 + + + + + + + + Base/Spawn Actor + + Actor + + Bullet/Sword/Wrench Wand Bolt + + Damage + + + + 60.0 + 4 + + + + + + Delay + 200 + + + + + + + + \ No newline at end of file diff --git a/rsrc/rsrc/config/behavior.xml b/rsrc/rsrc/config/behavior.xml new file mode 100644 index 0000000..c9e8532 --- /dev/null +++ b/rsrc/rsrc/config/behavior.xml @@ -0,0 +1,304 @@ + + + + + + + Boss/Vanaduke/Start + + + + 2 + + + 1250 + + + + + 3 + + + + + + Gun Puppy + + + + + + + 10.0 + + + + + 10.0 + 0.0013962634 + 0.0013962634 + + + + + Mecha Knight + + + + + + + + + + + Dev Tests/Targeting Test (first) + + + Wander/Base + + + + 10.0 + + + + 0.08726646 + 0.08726646 + + + + + Dev Tests/Targeting Test 1 + + + Wander/Base + + 2 + + 0, 1, 2, 3 + 0.17453292 + 0.17453292 + + + + + Monster/Beast/Chromalisk/Base + + + + + false + 50.0 + + + Monster/Beast/Chromalisk/Dodge + + + + + false + 100.0 + + + Monster/Beast/Chromalisk/Targeted Attack + + + + + + + Monster/Beast/Chromalisk/Basic Targeting + + + Wander/Base + + 2 + + 7, 0 + 0.17453292 + 0.17453292 + + + + + Monster/Beast/Chromalisk/Dodge + + 2000 + + + 2 + + + 0.7853982 + 4 + + + 2.3561945 + 5 + + + + + + Monster/Beast/Chromalisk/Targeted Attack + + + Wander/Base + + 2 + + 7, 0 + 0.17453292 + 0.17453292 + + + + + Monster/Beast/Vog Cub/Basic Targeting + + + Wander/Base + + 2 + + 0, 1, 2, 3, 4, 5, 6, 7 + 2000 + 1.7453293 + 0.87266463 + + + + + Monster/Boss/Vanaduke/Activated + + + + 2 + + + + vanaduke_path_1 + + + + 0 + + + 1 + + + 3 + + + + + + Monster/Boss/Vanaduke/Stage 1 + + + + + + + + + Monster/Boss/Vanaduke/Stage 1 Complete + + + + + vanaduke_path_2 + + + + + + 4.7123890 + + + + + 2 + + + + + + Monster/Slime/Cube (Basic Targeting) + + + Wander/Base + + + + 2 + + 0.87266463 + 1.7453293 + + + + + Monster/Slime/Jelly Green Giant + + + Wander/Base + + + + 10.0 + + + 2 + + 0, 1 + 1500 + 1.85 + 1.7453293 + 1.7453293 + + + + + Traps and Hazards/Wheel Launcher + + + + + + 3500 + + + + + + + + Wander/Base + + 50.0 + + + + Wander/Snipe + + + 5.5 + + + 1.0 + 4.0 + + + 2.0 + + + + + \ No newline at end of file diff --git a/rsrc/rsrc/config/catalog.xml b/rsrc/rsrc/config/catalog.xml new file mode 100644 index 0000000..48e41cd --- /dev/null +++ b/rsrc/rsrc/config/catalog.xml @@ -0,0 +1,128 @@ + + + + + + + Catalog Test + + + + + + + + 10 + 5 + 1 + + Artifact/Preview Event Medal + + + + + + + Rescue Camp/General Goods + + + + 150 + 10 + + Weapon/Sword/Beast Basher + + + + 150 + 10 + + Weapon/Sword/Hatchet + + + + 150 + 10 + + Weapon/Sword/Proto Sword + + + + 150 + 10 + + Weapon/Sword/Slime Slasher + + + + 150 + 10 + + Weapon/Handgun/Proto Gun + + + + 150 + 10 + + Weapon/Handgun/Punch Gun + + + + 150 + 10 + + Weapon/Handgun/Stun Gun + + + + 150 + 10 + + Weapon/Bomb/Proto Bomb + + + + 150 + 10 + + Gear/Helm/Cyclops Cap + + + + 150 + 10 + + Gear/Helm/Mining Hat + + + + 150 + 10 + + Gear/Armor/Fencing Jacket + + + + 150 + 10 + + Gear/Armor/Vitasuit + + + + 150 + + Gear/Shield/Iron Buckler + + + + + + + \ No newline at end of file diff --git a/rsrc/rsrc/config/conversation.xml b/rsrc/rsrc/config/conversation.xml new file mode 100644 index 0000000..c9461f1 --- /dev/null +++ b/rsrc/rsrc/config/conversation.xml @@ -0,0 +1,3236 @@ + + + + + + + Boss/Vanaduke/Monologue + + monster + + monologue + + + + monologue + m.vanaduke_1 + + character/npc/monster/baron/animations/animation_idle.dat + + + + + + + Core Terminal/Technician + + + + part 1a + m.core_tech_1 + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.core_tech_1 + + + + + + + part 2a + m.core_tech_2 + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.core_tech_2 + + + + + part 3a + m.core_tech_3 + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.core_tech_3 + + + + + + + + Core Terminal/Vaelyn + + + + part 1a + m.core_lead_1 + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.core_lead_1 + + + + + + + part 2a + m.core_lead_2 + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.core_lead_2 + + + + + part 3a + m.core_lead_3 + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.core_lead_3 + + + + + part 4a + m.core_lead_4 + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.core_lead_4 + + + + + part 5a + m.core_lead_5 + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.core_lead_5 + + + + + + + + Emberlight/Greeter + + + + part 1a + m.em_greeter_1a + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.em_greeter_1a + + + + + + + + Firestorm Citadel/Bridge End + + + + part 1 + m.fc_bridge_1 + + + r.fc_bridge_1a + + + r.fc_bridge_1b + + + + + part 2 + m.fc_bridge_2 + + + r.fc_bridge_2 + + + + + part 3 + m.fc_bridge_3 + + + r.fc_bridge_3 + + + + + + + + Firestorm Citadel/Greeter + + + + part 1 + m.fc_greeter_1 + + + r.fc_greeter_1 + + + + + part 2 + m.fc_greeter_2 + + + r.fc_greeter_2 + + + + + + + + Firestorm Citadel/Sprite 1 + + + + part 1 + m.fc_court_1 + + + r.fc_court_1 + + + + + part 2 + m.fc_court_2 + + + r.fc_court_2 + + + + + part 3 + m.fc_court_3 + + + r.fc_court_3 + + + + + + + talkto_sprite + + + talkto_sprite_a + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/play_sound_clip.dat + + File + sound/feedback/objective_end.ogg + Gain + 1.0 + + + + + + + + + + + + + + + part 4 + m.fc_court_4 + + + r.fc_court_4_accept + + + + talkto_sprite_a + + + find_sprites + + m.find_sprites + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/play_sound_clip.dat + + File + sound/feedback/objective_start.ogg + Gain + 1.0 + + + + + + + talkto_sprite_mem + + + + + + r.fc_court_4 + + + + + part 5 + m.fc_court_5 + + + r.fc_court_5 + + + + + + + talkto_sprite_a + SESSION + + + find_sprites + + m.find_sprites + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/play_sound_clip.dat + + File + sound/feedback/objective_start.ogg + Gain + 1.0 + + + + + + + talkto_sprite_mem + + + + + + + + + + + + + + Firestorm Citadel/Sprite 2 + + + + part 1 + m.fc_court_reminder_1 + + + r.fc_reminder_1 + + + + + + + + Firestorm Citadel/Sprite 3 + + + + part 1 + m.fc_court_complete_1 + + + r.fc_court_complete_1 + + + + + + + + Haven/Knight/Arcade Info + + + + part 1a + m.hav_arcade_1a + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.hav_arcade_1a + + + r.hav_arcade_1b + + + + + part 2a + m.hav_arcade_2a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.hav_arcade_2a + + + + + part 3a + m.hav_arcade_3a + + ui/conversation/interface_centeredimage.dat + + image + ui/conversation/images/gate_construction/dormant-active.png + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.hav_arcade_3a + + + + + part 4a + m.hav_arcade_4a + + ui/conversation/interface_centeredimage.dat + + image + ui/conversation/images/gate_construction/minerals.png + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.hav_arcade_4a + + + + + part 5a + m.hav_arcade_5a + + ui/conversation/interface_centeredimage.dat + + image + ui/conversation/images/gate_construction/arcadeplatform.png + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.hav_arcade_5a + + + + + part 6a + m.hav_arcade_6a + + ui/conversation/interface_centeredimage.dat + + image + ui/conversation/images/gate_construction/deposit-meters.png + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.hav_arcade_6a + + + + + part 7a + m.hav_arcade_7a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.hav_arcade_7a + + + r.hav_arcade_7b + + + + + part 8a + m.hav_arcade_8a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.hav_arcade_8a + + + + + + + + Haven/Knight/Arcade Info 2 + + + + part 1a + m.hav_arcade2_1a + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.hav_arcade2_1a + + + r.hav_arcade2_1b + + + + + part 2a + m.hav_arcade2_2a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.hav_arcade2_2a + + + r.hav_arcade2_2b + + + r.hav_arcade2_2c + + + r.hav_arcade2_2d + + + + + part 3a + m.hav_arcade2_3a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.hav_arcade2_3a + + + r.hav_arcade2_3b + + + + + part 3b + m.hav_arcade2_3b + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.hav_arcade2_3a + + + r.hav_arcade2_3b + + + + + part 3c + m.hav_arcade2_3c + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.hav_arcade2_3a + + + r.hav_arcade2_3b + + + + + + + + Haven/Knight/Arcade Leader + + + + part 1a + m.arc_leader_1 + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.arc_leader_1 + + + + + + + part 2a + m.arc_leader_2 + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.arc_leader_2 + + + + + part 3a + m.arc_leader_3 + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.arc_leader_3 + + + + + part 4a + m.arc_leader_4 + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.arc_leader_4 + + + + + + + head_north_arcade + KNIGHT + + + head_north_arcade_a + KNIGHT + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/play_sound_clip.dat + + File + sound/feedback/objective_end.ogg + Gain + 1.0 + + + + + + + + + + + + + + + + + part 5a + m.arc_leader_5 + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.arc_leader_5 + + + + + + + head_north_arcade_a + KNIGHT + + + reach_terminal_1 + KNIGHT + + m.reach_terminal_1 + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/play_sound_clip.dat + + File + sound/feedback/objective_start.ogg + Gain + 1.0 + + + + + + + talkto_feron + + + + + + + + + + + + + + Haven/Knight/Energy Info + + + + part 1a + m.energy_info_1a + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.energy_info_1a + + + r.energy_info_1b + + + + + part 2a + m.energy_info_2a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.energy_info_2a + + + r.energy_info_2b + + + r.energy_info_2c + + + r.energy_info_2d + + + + + part 3a + m.energy_info_3a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.energy_info_3a + + + r.energy_info_3b + + + + + part 3b + m.energy_info_3b + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.energy_info_3a + + + r.energy_info_3b + + + + + part 3c + m.energy_info_3c + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.energy_info_3a + + + r.energy_info_3b + + + + + + + + Haven/Knight/Fountain + + + + part 1a + m.fountain_1 + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.fountain_1 + + + + + + + + Haven/Knight/Mecha Knight + + + + part 1a + m.hav_mecha_1a + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.hav_mecha_1a + + + + + + + + Haven/Knight/Mineral Info + + + + + + + + return_to_wegner + KNIGHT + + + done_wegner + KNIGHT + + + adv_wegner + KNIGHT + + + + + + + + + + + + + + + part 1a + m.arc_mintut_1 + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.arc_mintut_1 + + + + + part 2a + m.arc_mintut_2 + + ui/conversation/interface_centeredimage.dat + + image + ui/conversation/images/gate_construction/step1_minerals.png + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.arc_mintut_2 + + + + + part 3a + m.arc_mintut_3 + + ui/conversation/interface_centeredimage.dat + + image + ui/conversation/images/gate_construction/step2_gather.png + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.arc_mintut_3 + + + + + part 4a + m.arc_mintut_4 + + ui/conversation/interface_centeredimage.dat + + image + ui/conversation/images/gate_construction/step3_deposit.png + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.arc_mintut_4 + + + + + part 5a + m.arc_mintut_5 + + ui/conversation/interface_centeredimage.dat + + image + ui/conversation/images/gate_construction/step4_autosell.png + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.arc_mintut_5 + + + + + part 6a + m.arc_mintut_6 + + ui/conversation/interface_centeredimage.dat + + image + ui/conversation/images/gate_construction/step5_getpaid.png + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.arc_mintut_6 + + + + + + + deposit_minerals + KNIGHT + + m.deposit_minerals + + + + deposit_minerals + KNIGHT + + + return_to_wegner + KNIGHT + + m.return_to_wegner + + + + done_wegner + + + + + + + + done_wegner + KNIGHT + + + + + + + + + + + + + + part 1a adv + m.arc_mintut_adv_1 + + + r.arc_mintut_adv_1a + + + r.arc_mintut_adv_1b + + + r.arc_mintut_adv_1c + + + + + part 2a adv + m.arc_mintut_adv_2 + + ui/conversation/interface_centeredimage.dat + + image + ui/conversation/images/gate_construction/stratum_themes.png + + + + + r.arc_mintut_adv_2 + + + + + part 3a adv + m.arc_mintut_adv_3 + + ui/conversation/interface_centeredimage.dat + + image + ui/conversation/images/gate_construction/mineral_amounts.png + + + + + r.arc_mintut_adv_3 + + + + + part 4a adv + m.arc_mintut_adv_4 + + ui/conversation/interface_centeredimage.dat + + image + ui/conversation/images/gate_construction/mineral_recipes.png + + + + + r.arc_mintut_adv_4 + + + + + part 5a adv + m.arc_mintut_adv_5 + + ui/conversation/interface_centeredimage.dat + + image + ui/conversation/images/gate_construction/mineral_boosting.png + + + + + r.arc_mintut_adv_5 + + + + + + + part 1a adv alt1 + m.arc_mintut_adv_1_alt1 + + + r.arc_mintut_adv_1a + + + r.arc_mintut_adv_1b + + + r.arc_mintut_adv_1c + + + + + + + + Haven/Strangers/Clockworks + + + + part 1a + m.hav_clock_1a + + character/npc/stranger/shop_loop.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/NPCs/Strangers/Speech/Default/Conversation + + + + + + r.hav_clock_1a + + + r.hav_clock_1b + + + + + part 2a + m.hav_clock_2a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/NPCs/Strangers/Speech/Default/Conversation + + + + + + r.hav_clock_2a + + + r.hav_clock_2b + + + r.hav_clock_2c + + + r.hav_clock_2d + + + + + part 3a + m.hav_clock_3a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/NPCs/Strangers/Speech/Default/Conversation + + + + + + r.hav_clock_3a + + + r.hav_clock_3b + + + + + part 3b + m.hav_clock_3b + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/NPCs/Strangers/Speech/Default/Conversation + + + + + + r.hav_clock_3a + + + r.hav_clock_3b + + + + + part 3c + m.hav_clock_3c + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/NPCs/Strangers/Speech/Default/Conversation + + + + + + r.hav_clock_3a + + + r.hav_clock_3b + + + + + + + + Haven/Strangers/Free Cash + + + + part 1a + m.cash_01_1a + + character/npc/stranger/shop_loop.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/NPCs/Strangers/Speech/Default/Conversation + + + + + + r.cash_01_1a + + + + + r.cash_01_1b + + + + + + + + + + Haven/Strangers/Greeter + + + + part 1a + m.hav_greeter_1a + + character/npc/stranger/shop_loop.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/NPCs/Strangers/Speech/Default/Conversation + + + + + + r.hav_greeter_1a + + + + + + + + Haven/Strangers/Gremlin Info + + + + part 1a + m.hav_grem_1a + + character/npc/stranger/shop_loop.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/NPCs/Strangers/Speech/Default/Conversation + + + + + + r.hav_grem_1a + + + r.hav_grem_1b + + + + + part 2a + m.hav_grem_2a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/NPCs/Strangers/Speech/Default/Conversation + + + + + + r.hav_grem_2a + + + r.hav_grem_2b + + + r.hav_grem_2c + + + r.hav_grem_2d + + + + + part 3a + m.hav_grem_3a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/NPCs/Strangers/Speech/Default/Conversation + + + + + + r.hav_grem_3a + + + r.hav_grem_3b + + + + + part 3b + m.hav_grem_3b + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/NPCs/Strangers/Speech/Default/Conversation + + + + + + r.hav_grem_3a + + + r.hav_grem_3b + + + + + part 3c + m.hav_grem_3c + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/NPCs/Strangers/Speech/Default/Conversation + + + + + + r.hav_grem_3a + + + r.hav_grem_3b + + + + + + + + Haven/Strangers/Snipes + + + + part 1a + m.hav_snipes_1a + + character/npc/stranger/shop_loop.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + Custom/NPCs/Strangers/Speech/Default/Conversation + + + + + + r.hav_snipes_1a + + + + + part 2a + m.hav_snipes_2a + + + r.hav_snipes_2a + + + + + + + + Moorcroft/Desk Clerk + + + + part 1a + m.deskclerk_1a + + character/npc/monster/spookat/standing_idle.dat + + Pitch adjust + Default + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.deskclerk_1a + + + + + + + + Moorcroft/Ritual + + + + part 1a + m.ritual_1a + + character/npc/monster/spookat/standing_idle.dat + + Pitch adjust + Default + + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.ritual_1a + + + + + + + + Recon Module/Danger/Danger 1 + + false + + + part_1 + m.danger_module + + + r.end_module + + + + + + + + Recon Module/Info/Gold Keys + + false + + + part_1 + m.gold_keys + + + r.end_module + + + + + + + + Recon Module/Info/Gold Monsters + + false + + + part_1 + m.gold_monsters + + + r.end_module + + + + + + + + Recon Module/Info/Respawning Blocks + + false + + + part_1 + m.respawning_blocks + + + r.end_module + + + + + + + + Recon Module/Info/Running from Monsters + + false + + + part_1 + m.running_from_monsters + + + r.end_module + + + + + + + + Recon Module/Info/Silver Keys + + false + + + part_1 + m.silver_keys + + + r.end_module + + + + + + + + Recon Module/Info/The Jelly Farm OV + + false + + + part_1 + m.the_jelly_farm_ov + + + r.end_module + + + + + + + + Recon Module/Info/Trojan Tactics + + false + + + part_1 + m.trojan_tactics + + + r.end_module + + + + + + + + Recon Module/Info/Victory Garden (test) + + false + + + part_1 + m.victory_garden + + + r.end_module + + + + + + + + Recon Module/Story/Aurora Isles Sky + + false + + + part_1 + m.aurora_isles_sky + + + r.end_module + + + + + + + + Recon Module/Story/Jelly Farm Snack + + false + + + part_1 + m.jelly_farm_snack + + + r.end_module + + + + + + + + Rescue Camp/Bomb + + + part 1a + + + + part 1a + m.rc_bomb_1a + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_bomb_1a + + + + + + + + Rescue Camp/Final Gate + + + part 1a + + + + part 1a + m.rc_end_1a + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_end_1a + + part 2a + + + + r.rc_end_1b + + + + + part 2a + m.rc_end_2a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_end_2a + + part 3a + + + + r.rc_end_2b + + part 3b + + + + r.rc_end_2c + + part 3c + + + + r.rc_end_2d + + + + + part 3a + m.rc_end_3a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_end_3a + + part 2a + + + + r.rc_end_3b + + + + + part 3b + m.rc_end_3b + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_end_3a + + part 2a + + + + r.rc_end_3b + + + + + part 3c + m.rc_end_3c + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_end_3a + + part 2a + + + + r.rc_end_3b + + + + + + + + Rescue Camp/Greeter + + + part 1a + + + + part 1a + m.rc_greet_1a + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_greet_1a + + part 2a + + + + r.rc_greet_1b + + + + + part 2a + m.rc_greet_2a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_greet_2a + + part 3a + + + + r.rc_greet_2b + + part 3b + + + + r.rc_greet_2c + + part 3c + + + + r.rc_greet_2d + + + + + part 3a + m.rc_greet_3a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_greet_3a + + part 2a + + + + r.rc_greet_3b + + + + + part 3b + m.rc_greet_3b + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_greet_3a + + part 2a + + + + r.rc_greet_3b + + + + + part 3c + m.rc_greet_3c + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_greet_3a + + part 2a + + + + r.rc_greet_3b + + + + + + + + Rescue Camp/Instructor + + + part 1a + + + + part 1a + m.rc_instruct_1a + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_instruct_1a + + part 2a + + + + r.rc_instruct_1b + + + + + part 2a + m.rc_instruct_2a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_instruct_2a + + part 3a + + + + r.rc_instruct_2b + + part 3b + + + + r.rc_instruct_2c + + + + + part 3a + m.rc_instruct_3a + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_instruct_3a + + part 2a + + + + r.rc_instruct_3b + + + + + part 3b + m.rc_instruct_3b + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_instruct_3a + + part 2a + + + + r.rc_instruct_3b + + + + + + + + Rescue Camp/Nervous + + + part 1a + + + + part 1a + m.rc_nervous_1a + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_nervous_1a + + + + + + + + Rescue Camp/Sleepy + + + part 1a + + + + part 1a + m.rc_sleepy_1a + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_sleepy_1a + + + + + + + + Rescue Camp/Soil + + + part 1a + + + + part 1a + m.rc_soil_1a + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_soil_1a + + + + + + + + Rescue Camp/Warning + + + part 1a + + + + part 1a + m.rc_warning_1a + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.rc_warning_1a + + + + + + + + Test + + + + stick + m.stick + + + r.yes_please + + + + + r.no_thanks + + + + + grant_stick + m.grant_stick + + + r.bye + + + + + no_stick + m.no_stick + + + r.whatever + + + + + + + + Tier Guard/Base + + + Access + implementation.initial_action.condition.flags, + implementation.nodes[7].responses[0].action.actions[0].flags + + + + Required Star Value + implementation.initial_action.else_action.condition.conditions[0].rarity, + implementation.initial_action.else_action.condition.conditions[1].rarity, + implementation.initial_action.else_action.condition.conditions[2].rarity, + implementation.initial_action.else_action.condition.conditions[3].rarity, + implementation.nodes[1].condition.condition.rarity, implementation.nodes[2].condition.condition.rarity, + implementation.nodes[3].condition.condition.rarity, implementation.nodes[4].condition.condition.rarity + + + + Token Type + implementation.initial_action.else_action.condition.conditions[4].token_type, + implementation.nodes[5].condition.condition.token_type + + + + Number of Tokens + implementation.initial_action.else_action.condition.conditions[4].num_tokens, + implementation.nodes[5].condition.condition.num_tokens + + + + Message: Tier Req + implementation.nodes[0].message + + + Message: Armor Req + implementation.nodes[1].message + + + Message: Helm Req + implementation.nodes[2].message + + + Message: Shield Req + implementation.nodes[3].message + + + Message: Weapon Req + implementation.nodes[4].message + + + Message: Token Req + implementation.nodes[5].message + + + + + + + + + + have_requirements + m.tier_1_requirements + + + r.tier_equipment + + + + + armor_requirement + m.tier_1_armor + + + r.tier_what_else + + + r.tier_unequipped + + + helm_requirement + + + helm_requirement + m.tier_1_helm + + + r.tier_what_else + + + r.tier_unequipped + + + shield_requirement + + + shield_requirement + m.tier_1_shield + + + r.tier_what_else + + + r.tier_unequipped + + + weapon_requirement + + + weapon_requirement + m.tier_1_weapon + + + r.tier_what_else + + + r.tier_unequipped + + + token_requirement + + + token_requirement + m.tier_1_tokens + + + r.tier_what_else + + + r.tier_unequipped + + + all_requirement + + + all_requirement + m.tier_all_requirements + + + r.tier_again + + + r.tier_unequipped + + + + + meets_requirements + m.tier_meets_requirements + + + r.tier_accept + + + + + + + all_done + m.tier_done + + + r.tier_accept + + + + + + + + Tier Guard/Tier 1 + + + Tier Guard/Base + + Access + 1 + Message: Armor Req + m.tier_1_armor + Message: Helm Req + m.tier_1_helm + Message: Shield Req + m.tier_1_shield + Message: Tier Req + m.tier_1_requirements + Message: Token Req + m.tier_1_tokens + Message: Weapon Req + m.tier_1_weapon + Number of Tokens + 15 + Required Star Value + 2 + Token Type + 0 + + + + + + Tier Guard/Tier 2 + + + Tier Guard/Base + + Access + 2 + Message: Armor Req + m.tier_2_armor + Message: Helm Req + m.tier_2_helm + Message: Shield Req + m.tier_2_shield + Message: Tier Req + m.tier_2_requirements + Message: Token Req + m.tier_2_tokens + Message: Weapon Req + m.tier_2_weapon + Number of Tokens + 25 + Required Star Value + 4 + Token Type + 1 + + + + + + Travel/Base + + + Message + implementation.nodes[0].message + + + + Haven + + + Condition + implementation.nodes[0].responses[1].condition + + + + + + Enabled + + Condition + + + + + + + Disabled + + Condition + + + + + + + + Enabled + + + + + + desk + m.travel_destinations + + + r.travel_how_to + + + r.travel_to_haven + + + + + r.travel_to_moorcroft + + Town Pass/Moorcroft + + + + r.travel_to_emberlight + + Town Pass/Emberlight + + + + r.travel_close + + + + + travel_how_to + m.travel_how_to + + + r.travel_desk + + + + + + + + Travel/Emberlight + + + Travel/Base + + Haven + Enabled + Message + m.travel_destinations + + + + + + Travel/Haven + + + Travel/Base + + Haven + Disabled + Message + m.travel_destinations + + + + + + Travel/Moorcroft + + + Travel/Base + + Haven + Enabled + Message + m.travel_destinations + + + + + + Tutorial/AB Instructions + + false + + + part_1 + m.ab_instructions + + + r.end_module + + + + + + + + Tutorial/Charge Instructions + + false + + + part_1 + m.charge_instructions + + + r.end_module + + + + + + + + Tutorial/Clockworks + + false + + + part_1 + m.clockworks + + + r.end_module + + + + + + + + Tutorial/Friend Instructions + + false + + + part_1 + m.friend_instructions + + + r.end_module + + + + + + + + Tutorial/Party Pad + + false + + + part_1 + m.party_pad + + + r.end_module + + + + + + + + Tutorial/Rescue Agent Intro + + + part 1a + + + + part 1a + m.tut_intro_1a + + character/pc/idle.dat + + + model/scripted/transient_sound_only.dat + + Loop Duration + 0.0 + Sounder + + + + + + r.tut_intro_1a + + + + + + + + Tutorial/Shop Instructions + + false + + + part_1 + m.shop_instructions + + + r.end_module + + + + + + + + Tutorial/Test Lobby + + false + + + part_1 + m.test_lobby + + + r.end_module + + + + + + + + Tutorial/Upgrader (test) + + false + + + part_1 + m.upgrader + + + r.end_module + + + + + + + + Tutorial/Welcome + + false + + + part_1 + m.welcome_instructions + + + r.end_module + + + + + + + + \ No newline at end of file diff --git a/rsrc/rsrc/config/depth_scale.xml b/rsrc/rsrc/config/depth_scale.xml new file mode 100644 index 0000000..998a846 --- /dev/null +++ b/rsrc/rsrc/config/depth_scale.xml @@ -0,0 +1,3293 @@ + + + + + Base/Adder + + + Depth Scale + implementation.root.scale + + + Add + implementation.root.add + + + + + + + + + Base/Damage Multiplier + + + Scale + implementation.root.scale + + + Multiplier + implementation.root.multiplier + + + + + + + + + Base/Depth Cap + + + Scale + implementation.root.scale + + + Cap + implementation.root.cap + + + + + + + + + Base/Multiplier + + + Depth Scale + implementation.root.scale + + + Multiplier + implementation.root.multiplier + + + + + + + + + Base/Rarity Capper + + + Depth Scale 0 + implementation.root.depth_scales[0].depth_scale["Scale"] + + + Depth Scale 1 + implementation.root.depth_scales[1].depth_scale["Scale"] + + + Depth Scale 2 + implementation.root.depth_scales[2].depth_scale["Scale"] + + + Depth Scale 3 + implementation.root.depth_scales[3].depth_scale["Scale"] + + + Depth Scale 4 + implementation.root.depth_scales[4].depth_scale["Scale"] + + + Depth Scale 5 + implementation.root.depth_scales[5].depth_scale["Scale"] + + + + + + + + Base/Depth Cap + + Cap + 3 + Scale + + + + + + + Base/Depth Cap + + Cap + 7 + Scale + + + + + + + Base/Depth Cap + + Cap + 12 + Scale + + + + + + + Base/Depth Cap + + Cap + 17 + Scale + + + + + + + Base/Depth Cap + + Cap + 30 + Scale + + + + + + + Base/Depth Cap + + Cap + 30 + Scale + + + + + + + + + + Base/Tier Segmented + + + Tier 1 Start + implementation.root.segments[0].value, implementation.root.segments[1].value + + + Tier 1 End + implementation.root.segments[2].value + + + Tier 2 Start + implementation.root.segments[3].value, implementation.root.segments[4].value + + + Tier 2 End + implementation.root.segments[5].value + + + Tier 3 Start + implementation.root.segments[6].value, implementation.root.segments[7].value + + + Tier 3 Mid + implementation.root.segments[8].value + + + Tier 3 End + implementation.root.segments[9].value + + + + + + + 20.0 + + + 1 + 20.0 + + + 7 + 60.0 + + + 8 + 60.0 + + + 9 + 80.0 + + + 17 + 150.0 + + + 18 + 150.0 + + + 19 + 180.0 + + + 23 + 245.0 + + + 30 + 360.0 + + + + + + + Dev/Monster/Normal Defense + + + Base/Tier Segmented + + Tier 1 End + 60.0 + Tier 1 Start + 20.0 + Tier 2 End + 150.0 + Tier 2 Start + 80.0 + Tier 3 End + 360.0 + Tier 3 Mid + 245.0 + Tier 3 Start + 180.0 + + + + + + Dev/Monster/Normal Health + + + Base/Tier Segmented + + Tier 1 End + 150.0 + Tier 1 Start + 40.0 + Tier 2 End + 450.0 + Tier 2 Start + 200.0 + Tier 3 End + 1440.0 + Tier 3 Mid + 857.0 + Tier 3 Start + 540.0 + + + + + + Dev/PC/Sword + + + Base/Rarity Capper + + Depth Scale 0 + + Dev/PC/Sword 0 + + Depth Scale 1 + + Dev/PC/Sword 1 + + Depth Scale 2 + + Dev/PC/Sword 2 + + Depth Scale 3 + + Dev/PC/Sword 3 + + Depth Scale 4 + + Dev/PC/Sword 4 + + Depth Scale 5 + + Dev/PC/Sword 5 + + + + + + + Dev/PC/Sword 0 + + + Base/Tier Segmented + + Tier 1 End + 45.0 + Tier 1 Start + 20.0 + Tier 2 End + 120.0 + Tier 2 Start + 80.0 + Tier 3 End + 310.0 + Tier 3 Mid + 245.0 + Tier 3 Start + 180.0 + + + + + + Dev/PC/Sword 1 + + + Base/Tier Segmented + + Tier 1 End + 45.0 + Tier 1 Start + 25.0 + Tier 2 End + 120.0 + Tier 2 Start + 80.0 + Tier 3 End + 310.0 + Tier 3 Mid + 245.0 + Tier 3 Start + 180.0 + + + + + + Dev/PC/Sword 2 + + + Base/Tier Segmented + + Tier 1 End + 55.0 + Tier 1 Start + 30.0 + Tier 2 End + 120.0 + Tier 2 Start + 80.0 + Tier 3 End + 310.0 + Tier 3 Mid + 245.0 + Tier 3 Start + 180.0 + + + + + + Dev/PC/Sword 3 + + + Base/Tier Segmented + + Tier 1 End + 58.0 + Tier 1 Start + 33.0 + Tier 2 End + 120.0 + Tier 2 Start + 85.0 + Tier 3 End + 310.0 + Tier 3 Mid + 245.0 + Tier 3 Start + 180.0 + + + + + + Dev/PC/Sword 4 + + + Base/Tier Segmented + + Tier 1 End + 61.0 + Tier 1 Start + 36.0 + Tier 2 End + 140.0 + Tier 2 Start + 100.0 + Tier 3 End + 280.0 + Tier 3 Mid + 245.0 + Tier 3 Start + 180.0 + + + + + + Dev/PC/Sword 5 + + + Base/Tier Segmented + + Tier 1 End + 64.0 + Tier 1 Start + 39.0 + Tier 2 End + 150.0 + Tier 2 Start + 110.0 + Tier 3 End + 310.0 + Tier 3 Mid + 250.0 + Tier 3 Start + 190.0 + + + + + + Dev/PC/Sword Ideal + + + Base/Tier Segmented + + Tier 1 End + 45.0 + Tier 1 Start + 20.0 + Tier 2 End + 120.0 + Tier 2 Start + 80.0 + Tier 3 End + 310.0 + Tier 3 Mid + 245.0 + Tier 3 Start + 180.0 + + + + + + Dev/PC/Sword Ideal Good + + + + + 30.0 + + + 1 + 30.0 + + + 7 + 55.0 + + + 8 + 55.0 + + + 9 + 95.0 + + + 17 + 137.0 + + + 18 + 137.0 + + + 19 + 205.0 + + + 30 + 342.0 + + + + + + + Dev/PC/Sword Ideal High + + + + + 40.0 + + + 1 + 40.0 + + + 7 + 60.0 + + + 8 + 60.0 + + + 9 + 110.0 + + + 17 + 150.0 + + + 18 + 150.0 + + + 19 + 230.0 + + + 30 + 360.0 + + + + + + + Hazard/Hazard Base + + + Base/Tier Segmented + + Tier 1 End + 70.0 + Tier 1 Start + 20.0 + Tier 2 End + 170.0 + Tier 2 Start + 80.0 + Tier 3 End + 360.0 + Tier 3 Mid + 290.0 + Tier 3 Start + 210.0 + + + + + + Hazard/Hazard Base -10 + + + + Hazard/Hazard Base + + 0.5 + + + + + Hazard/Hazard Base -20 + + + + Hazard/Hazard Base + + 0.25 + + + + + Monster/Damage/Attack Base + + + Base/Tier Segmented + + Tier 1 End + 70.0 + Tier 1 Start + 20.0 + Tier 2 End + 170.0 + Tier 2 Start + 80.0 + Tier 3 End + 360.0 + Tier 3 Mid + 290.0 + Tier 3 Start + 210.0 + + + + + + Monster/Damage/Attack Base +05 + + + + Monster/Damage/Attack Base + + 1.5 + + + + + Monster/Damage/Attack Base +10 + + + + Monster/Damage/Attack Base + + + + + + Monster/Damage/Attack Base -05 + + + + Monster/Damage/Attack Base + + 0.8 + + + + + Monster/Damage/Attack Base -10 + + + + Monster/Damage/Attack Base + + 0.6 + + + + + Monster/Defense/Defense Base + + + Base/Tier Segmented + + Tier 1 End + 60.0 + Tier 1 Start + 20.0 + Tier 2 End + 150.0 + Tier 2 Start + 80.0 + Tier 3 End + 360.0 + Tier 3 Mid + 245.0 + Tier 3 Start + 180.0 + + + + + + Monster/Defense/Defense Base +05 + + + + Monster/Defense/Defense Base + + 50.0 + + + + + Monster/Defense/Defense Base +10 + + + + Monster/Defense/Defense Base + + 100.0 + + + + + Monster/Defense/Defense Base +25 + + + + Monster/Defense/Defense Base + + 1400.0 + + + + + Monster/Defense/Defense Base -05 + + + + Monster/Defense/Defense Base + + 0.7 + + + + + Monster/Defense/Defense Base -10 + + + + Monster/Defense/Defense Base + + 0.5 + + + + + Monster/Heal/Heal Base + + + + Monster/Defense/Defense Base + + 0.5 + + + + + Monster/Heal/Heal Base +05 + + + + Monster/Heal/Heal Base + + 1.5 + + + + + Monster/Heal/Heal Base +10 + + + + Monster/Heal/Heal Base + + 2.0 + + + + + Monster/Heal/Heal Base +20 + + + + Monster/Heal/Heal Base + + 3.0 + + + + + Monster/Heal/Heal Base -05 + + + + Monster/Heal/Heal Base + + 0.75 + + + + + Monster/Heal/Heal Base -10 + + + + Monster/Heal/Heal Base + + 0.5 + + + + + Monster/Heal/Heal Base -15 + + + + Monster/Heal/Heal Base + + 0.35 + + + + + Monster/Heal/Heal Base -30 + + + + Monster/Heal/Heal Base + + 0.05 + + + + + Monster/Health/Health Base + + + Base/Tier Segmented + + Tier 1 End + 150.0 + Tier 1 Start + 40.0 + Tier 2 End + 375.0 + Tier 2 Start + 160.0 + Tier 3 End + 1080.0 + Tier 3 Mid + 675.0 + Tier 3 Start + 450.0 + + + + + + Monster/Health/Health Base +05 + + + + Monster/Health/Health Base + + 1.5 + + + + + Monster/Health/Health Base +10 + + + + Monster/Health/Health Base + + 2.0 + + + + + Monster/Health/Health Base +20 + + + + Monster/Health/Health Base + + 3.0 + + + + + Monster/Health/Health Base +30 + + + + Monster/Health/Health Base + + 4.0 + + + + + Monster/Health/Health Base +40 + + + + Monster/Health/Health Base + + 5.0 + + + + + Monster/Health/Health Base -05 + + + + Monster/Health/Health Base + + 0.75 + + + + + Monster/Health/Health Base -10 + + + + Monster/Health/Health Base + + 0.5 + + + + + Monster/Health/Health Base -15 + + + + Monster/Health/Health Base + + 0.25 + + + + + Monster/Health/_Health Base (4, 6, 8) + + + Base/Tier Segmented + + Tier 1 End + 150.0 + Tier 1 Start + 40.0 + Tier 2 End + 450.0 + Tier 2 Start + 200.0 + Tier 3 End + 1440.0 + Tier 3 Mid + 857.0 + Tier 3 Start + 540.0 + + + + + + Monster/Split/Split - Full + + + Base/Tier Segmented + + Tier 1 End + 1.0 + Tier 1 Start + 1.0 + Tier 2 End + 0.5 + Tier 2 Start + 0.5 + Tier 3 End + 0.0 + Tier 3 Mid + 0.0 + Tier 3 Start + 0.0 + + + + + + Monster/Split/Split - Half + + + Base/Tier Segmented + + Tier 1 End + 1.0 + Tier 1 Start + 1.0 + Tier 2 End + 0.5 + Tier 2 Start + 0.5 + Tier 3 End + 0.5 + Tier 3 Mid + 0.5 + Tier 3 Start + 0.5 + + + + + + PC/Damage/Base/(pre 22-12-10)/Charged + + + Depth Scale + implementation.depth_scale["Scale"] + + + + + Base/Damage Multiplier + + Multiplier + 2.0 + Scale + + + + + + + PC/Damage/Base/(pre 22-12-10)/Default + + + Base/Rarity Capper + + Depth Scale 0 + + PC/Damage/Base/Star 0 + + Depth Scale 1 + + PC/Damage/Base/Star 1 + + Depth Scale 2 + + PC/Damage/Base/Star 2 + + Depth Scale 3 + + PC/Damage/Base/Star 3 + + Depth Scale 4 + + PC/Damage/Base/Star 4 + + Depth Scale 5 + + PC/Damage/Base/Star 5 + + + + + + + PC/Damage/Base/(pre 22-12-10)/Last Chain + + + Depth Scale + implementation.depth_scale["Scale"] + + + + + Base/Damage Multiplier + + Multiplier + 1.3 + Scale + + + + + + + PC/Damage/Base/(pre 22-12-10)/Star 0 + + + Base/Tier Segmented + + Tier 1 End + 45.0 + Tier 1 Start + 20.0 + Tier 2 End + 120.0 + Tier 2 Start + 80.0 + Tier 3 End + 310.0 + Tier 3 Mid + 245.0 + Tier 3 Start + 180.0 + + + + + + PC/Damage/Base/(pre 22-12-10)/Star 1 + + + Base/Tier Segmented + + Tier 1 End + 45.0 + Tier 1 Start + 25.0 + Tier 2 End + 120.0 + Tier 2 Start + 80.0 + Tier 3 End + 310.0 + Tier 3 Mid + 245.0 + Tier 3 Start + 180.0 + + + + + + PC/Damage/Base/(pre 22-12-10)/Star 2 + + + Base/Tier Segmented + + Tier 1 End + 55.0 + Tier 1 Start + 30.0 + Tier 2 End + 120.0 + Tier 2 Start + 80.0 + Tier 3 End + 310.0 + Tier 3 Mid + 245.0 + Tier 3 Start + 180.0 + + + + + + PC/Damage/Base/(pre 22-12-10)/Star 3 + + + Base/Tier Segmented + + Tier 1 End + 58.0 + Tier 1 Start + 33.0 + Tier 2 End + 120.0 + Tier 2 Start + 85.0 + Tier 3 End + 310.0 + Tier 3 Mid + 245.0 + Tier 3 Start + 180.0 + + + + + + PC/Damage/Base/(pre 22-12-10)/Star 4 + + + Base/Tier Segmented + + Tier 1 End + 61.0 + Tier 1 Start + 36.0 + Tier 2 End + 140.0 + Tier 2 Start + 100.0 + Tier 3 End + 280.0 + Tier 3 Mid + 245.0 + Tier 3 Start + 180.0 + + + + + + PC/Damage/Base/(pre 22-12-10)/Star 5 + + + Base/Tier Segmented + + Tier 1 End + 64.0 + Tier 1 Start + 39.0 + Tier 2 End + 150.0 + Tier 2 Start + 110.0 + Tier 3 End + 310.0 + Tier 3 Mid + 250.0 + Tier 3 Start + 190.0 + + + + + + PC/Damage/Base/Charged + + + Depth Scale + implementation.depth_scale["Scale"] + + + + + Base/Damage Multiplier + + Multiplier + 2.0 + Scale + + + + + + + PC/Damage/Base/Default + + + Base/Rarity Capper + + Depth Scale 0 + + PC/Damage/Base/Star 0 + + Depth Scale 1 + + PC/Damage/Base/Star 1 + + Depth Scale 2 + + PC/Damage/Base/Star 2 + + Depth Scale 3 + + PC/Damage/Base/Star 3 + + Depth Scale 4 + + PC/Damage/Base/Star 4 + + Depth Scale 5 + + PC/Damage/Base/Star 5 + + + + + + + PC/Damage/Base/Last Chain + + + Depth Scale + implementation.depth_scale["Scale"] + + + + + Base/Damage Multiplier + + Multiplier + 1.3 + Scale + + + + + + + PC/Damage/Base/Star 0 + + + Base/Tier Segmented + + Tier 1 End + 45.0 + Tier 1 Start + 20.0 + Tier 2 End + 120.0 + Tier 2 Start + 80.0 + Tier 3 End + 310.0 + Tier 3 Mid + 245.0 + Tier 3 Start + 180.0 + + + + + + PC/Damage/Base/Star 1 + + + Base/Tier Segmented + + Tier 1 End + 45.0 + Tier 1 Start + 22.0 + Tier 2 End + 120.0 + Tier 2 Start + 80.0 + Tier 3 End + 310.0 + Tier 3 Mid + 245.0 + Tier 3 Start + 180.0 + + + + + + PC/Damage/Base/Star 2 + + + Base/Tier Segmented + + Tier 1 End + 75.0 + Tier 1 Start + 40.0 + Tier 2 End + 120.0 + Tier 2 Start + 80.0 + Tier 3 End + 310.0 + Tier 3 Mid + 245.0 + Tier 3 Start + 180.0 + + + + + + PC/Damage/Base/Star 3 + + + Base/Tier Segmented + + Tier 1 End + 78.0 + Tier 1 Start + 43.0 + Tier 2 End + 120.0 + Tier 2 Start + 85.0 + Tier 3 End + 310.0 + Tier 3 Mid + 245.0 + Tier 3 Start + 180.0 + + + + + + PC/Damage/Base/Star 4 + + + Base/Tier Segmented + + Tier 1 End + 81.0 + Tier 1 Start + 46.0 + Tier 2 End + 165.0 + Tier 2 Start + 125.0 + Tier 3 End + 280.0 + Tier 3 Mid + 245.0 + Tier 3 Start + 180.0 + + + + + + PC/Damage/Base/Star 5 + + + Base/Tier Segmented + + Tier 1 End + 84.0 + Tier 1 Start + 49.0 + Tier 2 End + 170.0 + Tier 2 Start + 130.0 + Tier 3 End + 310.0 + Tier 3 Mid + 250.0 + Tier 3 Start + 190.0 + + + + + + PC/Damage/Bomb/Bomb Base + + + PC/Damage/Base/Default + + + + + PC/Damage/Bomb/Bomb Base +05 + + + Base/Damage Multiplier + + Multiplier + 1.15 + Scale + + PC/Damage/Bomb/Bomb Base + + + + + + + PC/Damage/Bomb/Bomb Base +10 + + + Base/Damage Multiplier + + Multiplier + 1.3 + Scale + + PC/Damage/Bomb/Bomb Base + + + + + + + PC/Damage/Bomb/Bomb Base -05 + + + Base/Damage Multiplier + + Multiplier + 0.85 + Scale + + PC/Damage/Bomb/Bomb Base + + + + + + + PC/Damage/Bomb/Bomb Base -10 + + + Base/Damage Multiplier + + Multiplier + 0.7 + Scale + + PC/Damage/Bomb/Bomb Base + + + + + + + PC/Damage/Handgun/Handgun Base + + + + PC/Damage/Base/Default + + 0.5 + + + + + PC/Damage/Handgun/Handgun Base (Charged) + + + PC/Damage/Base/Charged + + Depth Scale + + PC/Damage/Handgun/Handgun Base + + + + + + + PC/Damage/Handgun/Handgun Base +05 + + + Base/Damage Multiplier + + Multiplier + 1.15 + Scale + + PC/Damage/Handgun/Handgun Base + + + + + + + PC/Damage/Handgun/Handgun Base +05 (Charged) + + + PC/Damage/Base/Charged + + Depth Scale + + PC/Damage/Handgun/Handgun Base +05 + + + + + + + PC/Damage/Handgun/Handgun Base +10 + + + Base/Damage Multiplier + + Multiplier + 1.3 + Scale + + PC/Damage/Handgun/Handgun Base + + + + + + + PC/Damage/Handgun/Handgun Base +10 (Charged) + + + PC/Damage/Base/Charged + + Depth Scale + + PC/Damage/Handgun/Handgun Base +10 + + + + + + + PC/Damage/Handgun/Handgun Base +15 + + + Base/Damage Multiplier + + Multiplier + 1.45 + Scale + + PC/Damage/Handgun/Handgun Base + + + + + + + PC/Damage/Handgun/Handgun Base +15 (Charged) + + + PC/Damage/Base/Charged + + Depth Scale + + PC/Damage/Handgun/Handgun Base +15 + + + + + + + PC/Damage/Handgun/Handgun Base -05 + + + Base/Damage Multiplier + + Multiplier + 0.85 + Scale + + PC/Damage/Handgun/Handgun Base + + + + + + + PC/Damage/Handgun/Handgun Base -05 (Charged) + + + PC/Damage/Base/Charged + + Depth Scale + + PC/Damage/Handgun/Handgun Base -05 + + + + + + + PC/Damage/Handgun/Handgun Base -10 + + + Base/Damage Multiplier + + Multiplier + 0.7 + Scale + + PC/Damage/Handgun/Handgun Base + + + + + + + PC/Damage/Handgun/Handgun Base -10 (Charged) + + + PC/Damage/Base/Charged + + Depth Scale + + PC/Damage/Handgun/Handgun Base -10 + + + + + + + PC/Damage/Handgun/Handgun Base -15 + + + Base/Damage Multiplier + + Multiplier + 0.55 + Scale + + PC/Damage/Handgun/Handgun Base + + + + + + + PC/Damage/Handgun/Handgun Base -15 (Charged) + + + PC/Damage/Base/Charged + + Depth Scale + + PC/Damage/Handgun/Handgun Base -15 + + + + + + + PC/Damage/Handgun/Handgun Base -20 + + + Base/Damage Multiplier + + Multiplier + 0.4 + Scale + + PC/Damage/Handgun/Handgun Base + + + + + + + PC/Damage/Handgun/Handgun Base -20 (Charged) + + + PC/Damage/Base/Charged + + Depth Scale + + PC/Damage/Handgun/Handgun Base -20 + + + + + + + PC/Damage/Sword/Sword Base + + + PC/Damage/Base/Default + + + + + PC/Damage/Sword/Sword Base (Charged) + + + PC/Damage/Base/Charged + + Depth Scale + + PC/Damage/Sword/Sword Base + + + + + + + PC/Damage/Sword/Sword Base (Last Chain) + + + PC/Damage/Base/Last Chain + + Depth Scale + + PC/Damage/Sword/Sword Base + + + + + + + PC/Damage/Sword/Sword Base +05 + + + Base/Damage Multiplier + + Multiplier + 1.15 + Scale + + PC/Damage/Sword/Sword Base + + + + + + + PC/Damage/Sword/Sword Base +05 (Charged) + + + PC/Damage/Base/Charged + + Depth Scale + + PC/Damage/Sword/Sword Base +05 + + + + + + + PC/Damage/Sword/Sword Base +05 (Last Chain) + + + PC/Damage/Base/Last Chain + + Depth Scale + + PC/Damage/Sword/Sword Base +05 + + + + + + + PC/Damage/Sword/Sword Base +10 + + + Base/Damage Multiplier + + Multiplier + 1.3 + Scale + + PC/Damage/Sword/Sword Base + + + + + + + PC/Damage/Sword/Sword Base +10 (Charged) + + + PC/Damage/Base/Charged + + Depth Scale + + PC/Damage/Sword/Sword Base +10 + + + + + + + PC/Damage/Sword/Sword Base +10 (Last Chain) + + + PC/Damage/Base/Last Chain + + Depth Scale + + PC/Damage/Sword/Sword Base +10 + + + + + + + PC/Damage/Sword/Sword Base +15 + + + Base/Damage Multiplier + + Multiplier + 1.45 + Scale + + PC/Damage/Sword/Sword Base + + + + + + + PC/Damage/Sword/Sword Base +15 (Charged) + + + PC/Damage/Base/Charged + + Depth Scale + + PC/Damage/Sword/Sword Base +15 + + + + + + + PC/Damage/Sword/Sword Base +15 (Last Chain) + + + PC/Damage/Base/Last Chain + + Depth Scale + + PC/Damage/Sword/Sword Base +15 + + + + + + + PC/Damage/Sword/Sword Base -05 + + + Base/Damage Multiplier + + Multiplier + 0.85 + Scale + + PC/Damage/Sword/Sword Base + + + + + + + PC/Damage/Sword/Sword Base -05 (Charged) + + + PC/Damage/Base/Charged + + Depth Scale + + PC/Damage/Sword/Sword Base -05 + + + + + + + PC/Damage/Sword/Sword Base -05 (Last Chain) + + + PC/Damage/Base/Last Chain + + Depth Scale + + PC/Damage/Sword/Sword Base -05 + + + + + + + PC/Damage/Sword/Sword Base -10 + + + Base/Damage Multiplier + + Multiplier + 0.7 + Scale + + PC/Damage/Sword/Sword Base + + + + + + + PC/Damage/Sword/Sword Base -10 (Charged) + + + PC/Damage/Base/Charged + + Depth Scale + + PC/Damage/Sword/Sword Base -10 + + + + + + + PC/Damage/Sword/Sword Base -10 (Last Chain) + + + PC/Damage/Base/Last Chain + + Depth Scale + + PC/Damage/Sword/Sword Base -10 + + + + + + + PC/Damage/Sword/Sword Base -15 + + + Base/Damage Multiplier + + Multiplier + 0.55 + Scale + + PC/Damage/Sword/Sword Base + + + + + + + PC/Damage/Sword/Sword Base -15 (Charged) + + + PC/Damage/Base/Charged + + Depth Scale + + PC/Damage/Sword/Sword Base -15 + + + + + + + PC/Damage/Sword/Sword Base -15 (Last Chain) + + + PC/Damage/Base/Last Chain + + Depth Scale + + PC/Damage/Sword/Sword Base -15 + + + + + + + PC/Damage/Sword/Sword Base -20 + + + Base/Damage Multiplier + + Multiplier + 0.4 + Scale + + PC/Damage/Sword/Sword Base + + + + + + + PC/Damage/Sword/Sword Base -20 (Charged) + + + PC/Damage/Base/Charged + + Depth Scale + + PC/Damage/Sword/Sword Base -20 + + + + + + + PC/Damage/Sword/Sword Base -20 (Last Chain) + + + PC/Damage/Base/Last Chain + + Depth Scale + + PC/Damage/Sword/Sword Base -20 + + + + + + + PC/Defense/Armor/Armor (windowed)/Armor Base + + + PC/Defense/Base/Default + + + + + PC/Defense/Armor/Armor (windowed)/Armor Base +05 + + + + Base/Adder + + Add + 10.0 + Depth Scale + + PC/Defense/Armor/Armor Base + + + + 1.0 + + + + + PC/Defense/Armor/Armor (windowed)/Armor Base +10 + + + + Base/Adder + + Add + 20.0 + Depth Scale + + PC/Defense/Armor/Armor Base + + + + 1.0 + + + + + PC/Defense/Armor/Armor (windowed)/Armor Base -05 + + + + Base/Adder + + Add + -10.0 + Depth Scale + + PC/Defense/Armor/Armor Base + + + + 1.0 + + + + + PC/Defense/Armor/Armor (windowed)/Armor Base -10 + + + + Base/Adder + + Add + -20.0 + Depth Scale + + PC/Defense/Armor/Armor Base + + + + 1.0 + + + + + PC/Defense/Armor/Armor (windowed)/Armor Base -15 + + + + Base/Adder + + Add + -30.0 + Depth Scale + + PC/Defense/Armor/Armor Base + + + + 1.0 + + + + + PC/Defense/Armor/Armor (windowed)/Armor Base -20 + + + + Base/Adder + + Add + -40.0 + Depth Scale + + PC/Defense/Armor/Armor Base + + + + 1.0 + + + + + PC/Defense/Armor/Armor (windowed)/Armor Base -25 + + + + Base/Adder + + Add + -50.0 + Depth Scale + + PC/Defense/Armor/Armor Base + + + + 1.0 + + + + + PC/Defense/Armor/Armor Base + + + PC/Defense/Base/Default + + + + + PC/Defense/Armor/Armor Base +01 + + + + Base/Adder + + Add + 10.0 + Depth Scale + + PC/Defense/Armor/Armor Base + + + + 1.0 + + + + + PC/Defense/Armor/Armor Base +05 + + + + Base/Adder + + Add + 50.0 + Depth Scale + + PC/Defense/Armor/Armor Base + + + + 1.0 + + + + + PC/Defense/Armor/Armor Base +10 + + + + Base/Adder + + Add + 150.0 + Depth Scale + + PC/Defense/Armor/Armor Base + + + + 1.0 + + + + + PC/Defense/Armor/Armor Base +15 + + + + Base/Adder + + Add + 150.0 + Depth Scale + + PC/Defense/Armor/Armor Base + + + + 1.0 + + + + + PC/Defense/Armor/Armor Base -05 + + + + PC/Defense/Armor/Armor Base + + 0.93 + + + + + PC/Defense/Armor/Armor Base -10 + + + + PC/Defense/Armor/Armor Base + + 0.79 + + + + + PC/Defense/Armor/Armor Base -15 + + + + PC/Defense/Armor/Armor Base + + 0.79 + + + + + PC/Defense/Armor/Armor Base -20 + + + + PC/Defense/Armor/Armor Base + + 0.72 + + + + + PC/Defense/Armor/Armor Base -25 + + + + PC/Defense/Armor/Armor Base + + 0.65 + + + + + PC/Defense/Base/(pre 22-12-10)/Default + + + Base/Rarity Capper + + Depth Scale 0 + + PC/Defense/Base/Star 0 + + Depth Scale 1 + + PC/Defense/Base/Star 1 + + Depth Scale 2 + + PC/Defense/Base/Star 2 + + Depth Scale 3 + + PC/Defense/Base/Star 3 + + Depth Scale 4 + + PC/Defense/Base/Star 4 + + Depth Scale 5 + + PC/Defense/Base/Star 5 + + + + + + + PC/Defense/Base/(pre 22-12-10)/Star 0 + + + Base/Tier Segmented + + Tier 1 End + 15.0 + Tier 1 Start + 5.0 + Tier 2 End + 50.0 + Tier 2 Start + 40.0 + Tier 3 End + 180.0 + Tier 3 Mid + 122.0 + Tier 3 Start + 90.0 + + + + + + PC/Defense/Base/(pre 22-12-10)/Star 1 + + + Base/Tier Segmented + + Tier 1 End + 15.0 + Tier 1 Start + 10.0 + Tier 2 End + 50.0 + Tier 2 Start + 40.0 + Tier 3 End + 180.0 + Tier 3 Mid + 122.0 + Tier 3 Start + 90.0 + + + + + + PC/Defense/Base/(pre 22-12-10)/Star 2 + + + Base/Tier Segmented + + Tier 1 End + 18.0 + Tier 1 Start + 13.0 + Tier 2 End + 50.0 + Tier 2 Start + 40.0 + Tier 3 End + 180.0 + Tier 3 Mid + 122.0 + Tier 3 Start + 80.0 + + + + + + PC/Defense/Base/(pre 22-12-10)/Star 3 + + + Base/Tier Segmented + + Tier 1 End + 20.0 + Tier 1 Start + 15.0 + Tier 2 End + 50.0 + Tier 2 Start + 43.0 + Tier 3 End + 180.0 + Tier 3 Mid + 122.0 + Tier 3 Start + 80.0 + + + + + + PC/Defense/Base/(pre 22-12-10)/Star 4 + + + Base/Tier Segmented + + Tier 1 End + 23.0 + Tier 1 Start + 18.0 + Tier 2 End + 53.0 + Tier 2 Start + 45.0 + Tier 3 End + 125.0 + Tier 3 Mid + 114.0 + Tier 3 Start + 80.0 + + + + + + PC/Defense/Base/(pre 22-12-10)/Star 5 + + + Base/Tier Segmented + + Tier 1 End + 25.0 + Tier 1 Start + 20.0 + Tier 2 End + 55.0 + Tier 2 Start + 48.0 + Tier 3 End + 155.0 + Tier 3 Mid + 114.0 + Tier 3 Start + 90.0 + + + + + + PC/Defense/Base/Default + + + Base/Rarity Capper + + Depth Scale 0 + + PC/Defense/Base/Star 0 + + Depth Scale 1 + + PC/Defense/Base/Star 1 + + Depth Scale 2 + + PC/Defense/Base/Star 2 + + Depth Scale 3 + + PC/Defense/Base/Star 3 + + Depth Scale 4 + + PC/Defense/Base/Star 4 + + Depth Scale 5 + + PC/Defense/Base/Star 5 + + + + + + + PC/Defense/Base/Star 0 + + + Base/Tier Segmented + + Tier 1 End + 15.0 + Tier 1 Start + 5.0 + Tier 2 End + 50.0 + Tier 2 Start + 40.0 + Tier 3 End + 180.0 + Tier 3 Mid + 122.0 + Tier 3 Start + 90.0 + + + + + + PC/Defense/Base/Star 1 + + + Base/Tier Segmented + + Tier 1 End + 15.0 + Tier 1 Start + 10.0 + Tier 2 End + 50.0 + Tier 2 Start + 40.0 + Tier 3 End + 180.0 + Tier 3 Mid + 122.0 + Tier 3 Start + 90.0 + + + + + + PC/Defense/Base/Star 2 + + + Base/Tier Segmented + + Tier 1 End + 16.0 + Tier 1 Start + 11.0 + Tier 2 End + 50.0 + Tier 2 Start + 40.0 + Tier 3 End + 180.0 + Tier 3 Mid + 122.0 + Tier 3 Start + 80.0 + + + + + + PC/Defense/Base/Star 3 + + + Base/Tier Segmented + + Tier 1 End + 17.0 + Tier 1 Start + 12.0 + Tier 2 End + 50.0 + Tier 2 Start + 43.0 + Tier 3 End + 180.0 + Tier 3 Mid + 122.0 + Tier 3 Start + 80.0 + + + + + + PC/Defense/Base/Star 4 + + + Base/Tier Segmented + + Tier 1 End + 17.0 + Tier 1 Start + 12.0 + Tier 2 End + 53.0 + Tier 2 Start + 45.0 + Tier 3 End + 125.0 + Tier 3 Mid + 114.0 + Tier 3 Start + 80.0 + + + + + + PC/Defense/Base/Star 5 + + + Base/Tier Segmented + + Tier 1 End + 17.0 + Tier 1 Start + 12.0 + Tier 2 End + 55.0 + Tier 2 Start + 48.0 + Tier 3 End + 155.0 + Tier 3 Mid + 114.0 + Tier 3 Start + 90.0 + + + + + + PC/Defense/Helm/Helm Base + + + PC/Defense/Armor/Armor Base + + + + + PC/Defense/Helm/Helm Base +01 + + + PC/Defense/Armor/Armor Base +01 + + + + + PC/Defense/Helm/Helm Base +05 + + + PC/Defense/Armor/Armor Base +05 + + + + + PC/Defense/Helm/Helm Base +10 + + + PC/Defense/Armor/Armor Base +10 + + + + + PC/Defense/Helm/Helm Base +15 + + + PC/Defense/Armor/Armor Base +15 + + + + + PC/Defense/Helm/Helm Base -05 + + + PC/Defense/Armor/Armor Base -05 + + + + + PC/Defense/Helm/Helm Base -10 + + + PC/Defense/Armor/Armor Base -10 + + + + + PC/Defense/Helm/Helm Base -15 + + + PC/Defense/Armor/Armor Base -15 + + + + + PC/Defense/Helm/Helm Base -20 + + + PC/Defense/Armor/Armor Base -20 + + + + + PC/Defense/Helm/Helm Base -25 + + + PC/Defense/Armor/Armor Base -25 + + + + + PC/Defense/Shield/Health/Health Base + + + + Base/Rarity Capper + + Depth Scale 0 + + Monster/Damage/Attack Base + + Depth Scale 1 + + Monster/Damage/Attack Base + + Depth Scale 2 + + Monster/Damage/Attack Base + + Depth Scale 3 + + Monster/Damage/Attack Base + + Depth Scale 4 + + Monster/Damage/Attack Base + + Depth Scale 5 + + Monster/Damage/Attack Base + + + + 2.5 + + + + + PC/Defense/Shield/Health/Health Base +05 + + + + PC/Defense/Shield/Health/Health Base + + 1.25 + + + + + PC/Defense/Shield/Shield Base + + + Base/Multiplier + + Depth Scale + + PC/Defense/Armor/Armor Base + + Multiplier + 2.0 + + + + + + PC/Defense/Shield/Shield Base +01 + + + Base/Multiplier + + Depth Scale + + PC/Defense/Armor/Armor Base +01 + + Multiplier + 2.0 + + + + + + PC/Defense/Shield/Shield Base +05 + + + Base/Multiplier + + Depth Scale + + PC/Defense/Armor/Armor Base +05 + + Multiplier + 2.0 + + + + + + PC/Defense/Shield/Shield Base +10 + + + Base/Multiplier + + Depth Scale + + PC/Defense/Armor/Armor Base +10 + + Multiplier + 2.0 + + + + + + PC/Defense/Shield/Shield Base +15 + + + Base/Multiplier + + Depth Scale + + PC/Defense/Armor/Armor Base +15 + + Multiplier + 2.0 + + + + + + PC/Defense/Shield/Shield Base -05 + + + Base/Multiplier + + Depth Scale + + PC/Defense/Armor/Armor Base -05 + + Multiplier + 2.0 + + + + + + PC/Defense/Shield/Shield Base -10 + + + Base/Multiplier + + Depth Scale + + PC/Defense/Armor/Armor Base -10 + + Multiplier + 2.0 + + + + + + PC/Defense/Shield/Shield Base -15 + + + Base/Multiplier + + Depth Scale + + PC/Defense/Armor/Armor Base -15 + + Multiplier + 2.0 + + + + + + PC/Defense/Shield/Shield Base -20 + + + Base/Multiplier + + Depth Scale + + PC/Defense/Armor/Armor Base -20 + + Multiplier + 2.0 + + + + + + PC/Defense/Shield/Shield Base -25 + + + Base/Multiplier + + Depth Scale + + PC/Defense/Armor/Armor Base -25 + + Multiplier + 2.0 + + + + + + PC/Defense/Trinket/Trinket Base + + + Base/Multiplier + + Depth Scale + + PC/Defense/Armor/Armor Base + + Multiplier + 0.25 + + + + + + PC/Defense/Trinket/Trinket Base +05 + + + Base/Adder + + Add + 5.0 + Depth Scale + + PC/Defense/Trinket/Trinket Base + + + + + + + PC/Defense/Trinket/Trinket Base +10 + + + Base/Adder + + Add + 10.0 + Depth Scale + + PC/Defense/Trinket/Trinket Base + + + + + + + PC/Defense/Trinket/Trinket Base -05 + + + Base/Multiplier + + Depth Scale + + PC/Defense/Trinket/Trinket Base + + Multiplier + 0.9 + + + + + + PC/Defense/Trinket/Trinket Base -10 + + + Base/Multiplier + + Depth Scale + + PC/Defense/Trinket/Trinket Base + + Multiplier + 0.8 + + + + + + PC/Defense/Variant/Variant Base + + + + PC/Defense/Armor/Armor Base + + 0.1 + + + + + PC/Defense/Variant/Variant Base +05 + + + + PC/Defense/Armor/Armor Base + + 0.2 + + + + + PC/Defense/Variant/Variant Base +10 + + + + PC/Defense/Armor/Armor Base + + 0.3 + + + + + PC/Defense/Variant/Variant Base +15 + + + + PC/Defense/Armor/Armor Base + + 0.4 + + + + + Status Condition/Base/Damage + + + Base/Tier Segmented + + Tier 1 End + 35.0 + Tier 1 Start + 10.0 + Tier 2 End + 85.0 + Tier 2 Start + 40.0 + Tier 3 End + 180.0 + Tier 3 Mid + 145.0 + Tier 3 Start + 105.0 + + + + + + Status Condition/Base/Health + + + Base/Tier Segmented + + Tier 1 End + 180.0 + Tier 1 Start + 60.0 + Tier 2 End + 550.0 + Tier 2 Start + 240.0 + Tier 3 End + 1040.0 + Tier 3 Mid + 720.0 + Tier 3 Start + 540.0 + + + + + + Status Condition/Damage Cap Multiplier + + + Depth Cap + implementation.root.scale["Cap"] + + + Multiplier + implementation.root.multiplier + + + + + + Base/Depth Cap + + Cap + 30 + Scale + + Status Condition/Base/Damage + + + + + + + + Status Condition/Health Cap Multiplier + + + Depth Cap + implementation.root.scale["Cap"] + + + Multiplier + implementation.root.multiplier + + + + + + Base/Depth Cap + + Cap + 30 + Scale + + Status Condition/Base/Health + + + + + + + + \ No newline at end of file diff --git a/rsrc/rsrc/config/editor/mask.properties b/rsrc/rsrc/config/editor/mask.properties new file mode 100644 index 0000000..f2df28c --- /dev/null +++ b/rsrc/rsrc/config/editor/mask.properties @@ -0,0 +1,18 @@ +# +# $Id: mask.properties 11303 2010-12-14 23:47:47Z mjohnson $ +# +# Editor mask configuration + +collision = wall, edge, player, monster, item, player_barrier, monster_barrier, attack_barrier, \ + uncollidable, attack, monster_attack, tier + +damage = neutral, player, monster, hazard + +floor = default, switch + +status = stun, poison, fire, freeze, shock, curse, blind, muddle, sleep, petrify, jelly, doom, \ + charm, resist, buff, grab, alert + +cube_map_face = positive_x, negative_x, positive_y, negative_y, positive_z, negative_z + +progress = tier_2_access, tier_3_access diff --git a/rsrc/rsrc/config/editor/type.properties b/rsrc/rsrc/config/editor/type.properties new file mode 100644 index 0000000..148461c --- /dev/null +++ b/rsrc/rsrc/config/editor/type.properties @@ -0,0 +1,46 @@ +# +# $Id: type.properties 14023 2011-03-25 22:45:48Z ray $ +# +# Editor type configuration + +com.threerings.tudey.config.ActorConfig$Implementation = \ + com.threerings.projectx.config.ProjectXActorConfig + +com.threerings.tudey.config.ActorSpriteConfig = \ + com.threerings.projectx.config.ProjectXActorSpriteConfig + +com.threerings.tudey.config.ActionConfig = \ + com.threerings.projectx.config.ProjectXActionConfig + +com.threerings.tudey.config.BehaviorConfig$Implementation = \ + com.threerings.projectx.config.ProjectXBehaviorConfig + +com.threerings.tudey.config.ConditionConfig = \ + com.threerings.projectx.config.ProjectXConditionConfig + +com.threerings.tudey.config.ExpressionConfig = \ + com.threerings.projectx.dungeon.config.DungeonExpressionConfig + +com.threerings.tudey.config.HandlerConfig = \ + com.threerings.projectx.config.ProjectXHandlerConfig + +com.threerings.opengl.model.config.ModelConfig$Implementation = \ + com.threerings.projectx.config.ProjectXModelConfig + +com.threerings.opengl.model.config.GeneratedStaticConfig$Generator = \ + com.threerings.projectx.config.ProjectXGeneratorConfig + +com.threerings.tudey.config.PlaceableConfig$Implementation = \ + com.threerings.projectx.config.ProjectXPlaceableConfig + +com.threerings.tudey.config.TargetConfig = \ + com.threerings.projectx.config.ProjectXTargetConfig + +com.threerings.tudey.config.TileConfig$Implementation = \ + com.threerings.projectx.config.ProjectXTileConfig + +com.threerings.tudey.config.SceneGlobalConfig$Implementation = \ + com.threerings.projectx.config.ProjectXSceneGlobalConfig + +com.threerings.tudey.config.ScriptConfig = \ + com.threerings.projectx.dungeon.config.DungeonScriptConfig diff --git a/rsrc/rsrc/config/effect.xml b/rsrc/rsrc/config/effect.xml new file mode 100644 index 0000000..d9aaff7 --- /dev/null +++ b/rsrc/rsrc/config/effect.xml @@ -0,0 +1,773 @@ + + + + + Basic + + + Model + implementation.sprite.model + + + Lifespan + implementation.lifespan + + + + + + particle/fx_gethit_monster.dat + + + + + + Debug/Flash Shape + + + Shape + implementation.sprite.model["Shape"], implementation.shape + + + + + + model/debug/flash_shape.dat + + Shape + + + + + + 750 + + + + Energy Spent + + + true + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/world/energy/energy_use_02_mono.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/fx_energy_spend.dat + + + + + + + + Monster/Boss/Swarm Consume + + + true + + world/environment/global_particles.dat + + Model + + particle/fx_fade_out_in.dat + + Fade Percent + 0.375 + Total Duration + 2.5 + + + + + + + + Monster Attacks/Boss/Swarm/Consume + + + true + + + + Monster/Boss/Swarm Corruption + + + Density + implementation.sprite.model["Model"]["Density"] + + + + + true + + world/environment/global_particles.dat + + Model + + character/npc/monster/swarm/parts/frustrum_fx_pixelclouds.dat + + Density + Sparse + + + + + + 5000 + true + + + + Monster/Boss/Swarm Eject + + + true + + world/environment/global_particles.dat + + Model + + particle/fx_fade_out_in.dat + + Fade Percent + 0.375 + Total Duration + 2.5 + + + + + + + + Monster Attacks/Boss/Swarm/Eject + + + true + + + + Monster/Undead/Parts/Zombie Breath (damage) + + + Status + implementation.action.damage.damages[0].status_condition + + + + + 0 + true + + + + + + 4 + + Stun + + Chance + 0.0 + Power + 0 + + + + + + + 100 + + + + Monster/Undead/Zombie Breath + + + + Variant + + + Visual Variant + implementation.sprite.model["Models"][0].model["Transient"]["Variant"] + + + + + + Dust Zombie + + Visual Variant + Dust + + + + + Slag Walker + + + + 2.0 + 4 + + D + + 2.0 + 4 + + Da + + 2.0 + 4 + + Dam + + 2.0 + 4 + + Dama + + 2.0 + 4 + + Damag + + 2.0 + 4 + + Damage + + 4 + + Fire + + Chance + 0.8 + Power + 1 + + + + Damage Variant + Slag Walker + Visual Variant + Fire - Slag Walker + + + + + Frozen Shambler + + + + 2.0 + 4 + + D + + 2.0 + 4 + + Da + + 2.0 + 4 + + Dam + + 2.0 + 4 + + Dama + + 2.0 + 4 + + Damag + + 2.0 + 4 + + Damage + + 4 + + Freeze + + Chance + 0.8 + Power + 1 + + + + Damage Variant + Frozen Shambler + Visual Variant + Ice - Frozen Shambler + + + + + Droul + + + + 2.0 + 4 + + D + + 2.0 + 4 + + Da + + 2.0 + 4 + + Dam + + 2.0 + 4 + + Dama + + 2.0 + 4 + + Damag + + 2.0 + 4 + + Damage + + 4 + + Poison + + Chance + 0.8 + Power + 1 + + + + Damage Variant + Droul + Visual Variant + Poison - Droul + + + + + Frank + + Visual Variant + Shock - Frank + + + + Dust + + + Delay + implementation.action.delay + + + Status + implementation.action.action.effect["Status"] + + + Sounder + implementation.sprite.model["Models"][0].model["Sounder"] + + + + + 0 + true + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Transform + + + Transient + + particle/fx_zombie_breath.dat + + Variant + Dust + + + + + + 1.2 + 0.0, -1.34, 0.0 + 0.0, 0.0, -1.0, 9.099629E-7 + + + + + + + + + + Monster/Undead/Parts/Zombie Breath (damage) + + Status + + Stun + + Chance + 0.0 + Power + 0 + + + + + + + 100 + + + + Objects/Monster Objects/Grim Totem/Zombie resurrection, pulse + + + 0 + true + + particle/fx_grimtotem_shockwave.dat + + Variant + Totem + + + + + 6.0 + + + + + + + + + + 1500 + + + + Objects/Monster Objects/Grim Totem/Zombie resurrection, warning + + + 0 + true + + particle/fx_grimtotem_warning.dat + + + + 6.0 + + + + + + + Player Faction/Turret, Auto/Parts/Railgun beam (damage) + + + + model/debug/flash_shape.dat + + Shape + + + + + 0.6 + 12.0 + + + 0.0, -6.0 + + + + + + + + + + 10.0 + 2 + + + 2.0, 0.0 + 200 + 5 + + + 2000 + + + + Player Faction/Turret, Auto/Railgun beam + + + + + Player Faction/Turret, Auto/Parts/Railgun beam (damage) + + + + 2000 + + + + Player/Energy Rez + + + + particle/fx_shareheart-energy.dat + + + 2000 + + + + Player/Health Rez + + + + particle/fx_shareheart.dat + + + 2000 + + + + Player/Pickup Item + + + Texture + implementation.sprite.model["Texture"]["Texture"] + + + + + true + + particle/fx_getitem.dat + + Texture + + item/drop/icon.dat + + Halo + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 516 + + + 771 + + + 1026 + + + File + ui/icon/inventory/icon_armor.png + + + + + + + + + + + Player/Use Item + + + Texture + implementation.sprite.model["Transient"]["Texture"]["Texture"] + + + + + true + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Compound + + Sounders + + + + Clip/Default (Gain) (Pitch) + + File + sound/effect/player/player_pickup.ogg + Gain + 1.0 + Pitch + 1.1 + Range + Medium + + + + + + Clip/Default (Gain) (Pitch) + + File + sound/effect/item/heart_acquire_01.ogg + Gain + 0.4 + Pitch + 0.8 + Range + Medium + + + + + + + Transform + + + Transient + + particle/fx_useitem.dat + + Texture + + item/drop/icon.dat + + Halo + + item/drop/ambient_rim.dat + + Fixed + + + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 516 + + + 771 + + + 1026 + + + File + ui/icon/inventory/icon_armor.png + + + + + + + + + + 433 + + + + Sound Effect + + + Sound + implementation.sprite.model["Sounder"] + + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Transform + + + Transient + + + + + + + + \ No newline at end of file diff --git a/rsrc/rsrc/config/emote.xml b/rsrc/rsrc/config/emote.xml new file mode 100644 index 0000000..f18874f --- /dev/null +++ b/rsrc/rsrc/config/emote.xml @@ -0,0 +1,453 @@ + + + + + Amaze + true + + + Attack + true + 71 + 700 + + character/pc/emote_basic.dat + + Action + + true + + particle/emoticons/fx_command_burst.dat + + Bubble - Color + Attack + Variant + + particle/emoticons/fx_attack.dat + + + + %ROOT% + + + + + + Beg + true + + + Belch + + + Bored + true + + + Bow + true + + + Burp + + + Cheer + true + 1667 + + character/pc/emotes/animation_clap.dat + + + + Clap + true + 1667 + + character/pc/emotes/animation_clap.dat + + + + Come + true + 75 + + + Congratulate + true + + + Crazy + true + + + Cry + true + + + Dance + true + + + Derp + + + Epicfail + true + 2222 + + character/pc/emotes/animation_shrug.dat + + + + Fail + true + 2222 + + character/pc/emotes/animation_shrug.dat + + + + Fallback + true + 72 + 700 + + character/pc/emote_basic.dat + + Action + + true + + particle/emoticons/fx_command_burst.dat + + Bubble - Color + Fall Back + Variant + + particle/emoticons/fx_fallback.dat + + + + %ROOT% + + + + + + Flex + + + Flirt + true + + + Follow + true + 79 + 700 + + character/pc/emote_basic.dat + + Action + + true + + particle/emoticons/fx_command_follow.dat + + %ROOT% + + + + + + Frown + true + + + Gaze + + + Giggle + true + + + Goodbye + true + 1667 + + character/pc/emotes/animation_wave.dat + + + + Grin + true + + + Happy + true + + + Hello + true + 1667 + + character/pc/emotes/animation_wave.dat + + + + Helpme + true + 82 + 700 + + character/pc/emote_basic.dat + + Action + + true + + particle/emoticons/fx_command_burst.dat + + Bubble - Color + Help + Variant + + particle/emoticons/fx_help.dat + + + + %ROOT% + + + + + + Herp + + + Hug + true + + + Hungry + + + Impatient + true + + + Joy + true + + + Kidding + true + + + Kiss + true + + + Laugh + true + 1667 + + character/pc/emotes/animation_laugh.dat + + + + Lonely + + + Look + true + 1667 + + character/pc/emotes/animation_point.dat + + + + Love + true + + + No + true + + + Point + true + 1667 + + character/pc/emotes/animation_point.dat + + + + Poke + true + true + 1667 + + character/pc/emotes/animation_point.dat + + + + Ready + true + 80 + 2000 + + character/pc/emotes/animation_salute.dat + + + + Rude + true + + + Sad + true + + + Salute + true + true + 2000 + + character/pc/emotes/animation_salute.dat + + + + Shrug + true + 2222 + + character/pc/emotes/animation_shrug.dat + + + + Sigh + true + + + Sit + true + false + 1333 + + animation/sequential/simple.dat + + Animations + + + + character/pc/emotes/animation_sit-start.dat + + + + + character/pc/emotes/animation_sit-loop.dat + + + + Priority + 0 + + + + character/pc/emotes/animation_sit-end.dat + + + + Sleep + false + + animation/sequential/simple.dat + + Animations + + + + character/pc/sleeping/loop.dat + + + + Priority + 0 + + + + + Sleepy + true + + + Smell + true + + + Smile + true + + + Sniff + true + + + Sorry + true + + + Stare + true + + + Thank + true + + + Thirsty + + + Tickle + true + + + Tired + true + + + Wait + true + 81 + + + Wave + true + true + 1667 + + character/pc/emotes/animation_wave.dat + + + + Whine + true + + + Wince + true + + + Wink + true + + + Yawn + + + Yes + true + + + \ No newline at end of file diff --git a/rsrc/rsrc/config/fire_action.xml b/rsrc/rsrc/config/fire_action.xml new file mode 100644 index 0000000..bfb838b --- /dev/null +++ b/rsrc/rsrc/config/fire_action.xml @@ -0,0 +1,4396 @@ + + + + + + + Base/Damage Origin Transformed + + + Delay + implementation.delay + + + Shape + implementation.action.region.shape.shapes[0] + + + Damage + implementation.action.damage + + + Knock-Back + implementation.action.impulse_dealt + + + Impulse Origin Translation + implementation.action.impulse_translation + + + + + + + + + + + + + + + + + Base/Damage Region Transformed + + + Delay + implementation.delay + + + Shape + implementation.action.region.shape.shapes[0] + + + Damage + implementation.action.damage + + + + + + + + + + + + + + + + + Base/Default + + + Delay + implementation.delay + + + Action + implementation.action + + + + + Base/Fire Prefired + + + Delay + implementation.delay + + + Effect + implementation.action.effect + + + + false + + + Basic + + Lifespan + 1000 + Model + + particle/fx_gethit_monster.dat + + + + + + + + Base/Heal Source + + + Delay + implementation.delay + + + Current + implementation.action.current + + + Maximum + implementation.action.maximum + + + + + + + + + Base/Spawn Actor + + + Delay + implementation.delay + + + Actor + implementation.action.actor + + + + + Base/Spawn Actor (random 4-directional facing) + + + Actor + implementation.action.actions[0].action.actor, implementation.action.actions[1].action.actor, implementation.action.actions[2].action.actor, implementation.action.actions[3].action.actor + + + + + + + + + + + + + + + + + + + + + + + + + + + Base/Spawn Prespawned + + + Delay + implementation.delay + + + Actor + implementation.action.actor + + + Rotation + implementation.action.rotation + + + Rotation Variance + implementation.action.rotation_variance + + + + false + + + + + + Base/Spawn Relative Rotated Actor + + + Delay + implementation.delay + + + Actor + implementation.action.actor + + + Rotation + implementation.action.rotation + + + Rotation Variance + implementation.action.rotation_variance + + + + + true + + + + + Base/Spawn Rotated Actor + + + Delay + implementation.delay + + + Actor + implementation.action.actor + + + + + + + + + Base/Spawn Transformed Actor + + + Delay + implementation.delay + + + Actor + implementation.action.actor + + + Translation + implementation.action.translation + + + + + + + + + Base/Spawn Transformed-Rotated Actor + + + Delay + implementation.delay + + + Actor + implementation.action.actor + + + Translation + implementation.action.translation + + + Rotation + implementation.action.rotation + + + Rotation Variance + implementation.action.rotation_variance + + + Relative + implementation.action.relative + + + + + + + + + Base/Table Spawn + + + Delay + implementation.delay + + + Spawn Table + implementation.action.spawn_table + + + + + + + + + Base/Table Spawn (random 4-directional facing) + + + Spawn Table + implementation.action.actions[0].action.spawn_table, implementation.action.actions[1].action.spawn_table, implementation.action.actions[2].action.spawn_table, implementation.action.actions[3].action.spawn_table + + + + + + + + + + + + + + + + + + + + + + + + + + + Base/Warp + + + Delay + implementation.delay + + + Translation + implementation.action.translation + + + + + + + + + Base/Warp Behind Target + + + Delay + implementation.delay + + + Translation + implementation.action.translation + + + + + + + + + Block/Explosive Block - Explosion + + + + 1.0 + + + + + + Monster/Damage/Attack Base +05 + + 3 + true + ELEMENTAL + + Monster/Split/Split - Half + + + + + 133 + + + + + Character/Dev/Bad Dude + + 330 + + + + + 115.0 + 7 + + + 7 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + Character/Dev/Jelly Damage + + + Delay + implementation.fire["Delay"] + + + Damage + implementation.fire["Damage"] + + + + + Base/Damage Origin Transformed + + Damage + + 4 + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 0.5 + + + 1.0, 0.0 + + + + + + + + Character/NPC/Monster/Boss/Swarm/Pulse + + + + Direction + + + Translation + implementation.action.actions[1].action.impulse_dealt.translation + + + Direction + implementation.action.actions[0].effect["Model"]["Transient"]["Direction"] + + + + + + Out + + Direction + Out + Translation + 5.0, 0.0 + + + + + In + + Direction + In + Translation + -3.0, 0.0 + + + + Out + + + + + + + + Basic + + Lifespan + 1500 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/world/block_ghost.ogg + Gain + 0.5 + Pitch adjust + Lower 3 + Range + Long + + + Transform + + 0.0, 0.0, 2.0 + + Transient + + character/npc/monster/swarm/parts/meta_wave.dat + + Direction + Out + + + + + + + + + + + 5.0, 0.0 + 1000 + 3 + + 8 + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/4 Bullet Spread (2) + + + Delay + implementation.delay + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Bullet + + Color + yellow + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Bullet + + Color + yellow + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Bullet + + Color + yellow + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Bullet + + Color + yellow + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/4 Bullet Spread (Diagonal) + + + Delay + implementation.delay + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Bullet + + Color + yellow + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Bullet + + Color + yellow + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Bullet + + Color + yellow + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Bullet + + Color + yellow + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/4 Bullet Spread (red) + + + Delay + implementation.delay + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Bullet + + Color + red + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Bullet + + Color + red + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Bullet + + Color + red + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Bullet + + Color + red + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Flame Wreckage + + + Delay + implementation.delay + + + Count + implementation.action.count + + + Fire Tiles + implementation.action.actor["Fire Tiles"] + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Falling Debri Marker + + Fire Tiles + 1 + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Oriented Bullet + + + Delay + implementation.delay + + + Rotation + implementation.action.rotation + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Bullet + + Color + yellow + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Shoulder Check + + + Delay + implementation.delay + + + Damage + implementation.action.damage + + + + + + + + 1.0 + 5 + + + + + 10.0, 0.0 + 800 + 3 + + -10.0, 0.0 + + + + + Character/NPC/Monster/Boss/Vanaduke/Smash + + + Delay + implementation.delay + + + Damage + implementation.action.damage + + + + 160 + + + + + 160.0 + 5 + + + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + 5.0, 0.0 + 500 + 7 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Actor at Marker + + + Delay + implementation.delay + + + Actor + implementation.action.actor + + + Translation + implementation.action.translation + + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Spawn Flames + + + Orbit Radius + implementation.action.actions[0].actor["Orbit Radius"], implementation.action.actions[1].actor["Orbit Radius"], implementation.action.actions[2].actor["Orbit Radius"], implementation.action.actions[3].actor["Orbit Radius"] + + + Speed + implementation.action.actions[0].actor["Speed"], implementation.action.actions[1].actor["Speed"], implementation.action.actions[2].actor["Speed"], implementation.action.actions[3].actor["Speed"] + + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (douse) + + Orbit Radius + 2.5 + Speed + 0.2 + Starting Rotation + 0.0 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (douse) + + Orbit Radius + 2.5 + Speed + 0.2 + Starting Rotation + 1.5707964 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (douse) + + Orbit Radius + 2.5 + Speed + 0.2 + Starting Rotation + 3.1415927 + + + + + + Character/NPC/Monster/Boss/Vanaduke/Part/Flame (douse) + + Orbit Radius + 2.5 + Speed + 0.2 + Starting Rotation + 4.712389 + + + + + + + + + Character/NPC/Monster/Construct/Lumber + + + Attack Shape + implementation.action.region.shape.shapes[1].shape + + + Damage + implementation.action.damage + + + Knock-Back + implementation.action.impulse_dealt + + + + 160 + + + + + 80.0 + 4 + + + + Stun + + Chance + 0.0 + Power + 0 + + + + + + + 4.0, 0.0 + 400 + 5 + + + + + + Character/NPC/Monster/Construct/Lumber/Clearing Swipe, Lumber + + 160 + + + + + 10.0 + + + + 131 + + 6.0, 0.0 + 600 + 5 + + + + + + Character/NPC/Monster/Construct/Lumber/Slam, Ironwood Sentinel + + + Attack Shape + implementation.action.region.shape.shapes[1].shape + + + Damage + implementation.action.damage + + + Knock-Back + implementation.action.impulse_dealt + + + + 160 + + + + + + + + + + + + + + + 80.0 + 4 + + + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + 131 + + 4.0, 0.0 + 400 + 5 + + + + + + Character/NPC/Monster/Construct/Lumber/Slam, Lumber + + + Attack Shape + implementation.action.actions[0].region.shape.shapes[1], implementation.action.actions[1].region.shape.shapes[0] + + + Status Damage + implementation.action.actions[0].damage.damages[1] + + + Knock-Back + implementation.action.actions[1].impulse_dealt + + + + 160 + + + + + + + + + + + + + + + + + + Monster/Damage/Attack Base +10 + + 4 + true + + + + + + 131 + + + + 4.0, 0.0 + 400 + 5 + + + + + + + + + + + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Scuttlebot Blast (base) + + + Delay + implementation.delay + + + Bullet + implementation.action.actions[0].actor, implementation.action.actions[1].actor, implementation.action.actions[2].actor + + + + 120 + + + + + Bullet/Monster/Scuttlebot Bullet + + Element + None + Status + None + + + + + + Bullet/Monster/Scuttlebot Bullet + + Element + None + Status + None + + + + + + Bullet/Monster/Scuttlebot Bullet + + Element + None + Status + None + + + + + + 4 + + + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Scuttlebot Bullet Damage (base) + + + Hit Model + implementation.action.actions[1].effect["Model"]["Transient"] + + + Hit Sound + implementation.action.actions[1].effect["Model"]["Sounder"]["File"] + + + Status + implementation.action.actions[0].damage.damages[1].status_condition + + + + 1 + + + + + + + + Monster/Damage/Attack Base -05 + + 4 + + + 4 + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Meta Clip/Single Clip, pitch variation (slight) + + File + sound/effect/weapon/gran_faust_chit.ogg + Gain + 0.4 + Pitch adjust + Default + Range + Medium + + + Transform + + 0.0, 0.0, 0.6 + + Transient + + particle/bullet/hit_pellet.dat + + Element + Simple + Flare + Negative + Scale + Medium + color + yellow + + + + + + + + + + + + + Character/NPC/Monster/Construct/Tortodrone Damage + + + Delay + implementation.fire["Delay"] + + + Knock-Back + implementation.fire["Knock-Back"] + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base +05 + + 7 + true + + Delay + 0 + Impulse Origin Translation + -10.0, 0.0 + Knock-Back + + 6.0, 0.0 + 300 + 8 + + Shape + + + 1.25 + 2.2 + + + 2.2, 0.0 + + + + + + + + Character/NPC/Monster/Construct/Tortodrone Fist Pound + + + + + + + + + + + + Monster/Damage/Attack Base + + 7 + true + + + 7 + + Stun + + Chance + 0.75 + Power + 50 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + + 1.5, 0.0 + 100 + 3 + + + + + + + + + + + + + + Monster/Damage/Attack Base + + 7 + true + + + 7 + + Stun 2 + + Chance + 0.75 + Power + 50 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + + 1.5, 0.0 + 100 + 4 + + + + + + + + + + + + + + Monster/Damage/Attack Base + + 7 + true + + + 7 + + Stun 3 + + Chance + 0.75 + Power + 50 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + + 1.5, 0.0 + 100 + 5 + + + + + + + + + + + Character/NPC/Monster/Construct/Tortodrone Missile + + + Delay + implementation.delay + + + Translation + implementation.action.translation + + + Target + implementation.action.location + + + + + + Bomb/Monster/Tortodrone Missile + + + + + + Character/NPC/Monster/Construct/Tortodrone Punch Damage + + 10 + 100 + + + + + + Monster/Damage/Attack Base +05 + + 7 + true + + + 6.0, 0.0 + 300 + 8 + + -10.0, 0.0 + + + + + + + Character/NPC/Monster/Fake Damage + + + Delay + implementation.fire["Delay"] + + + + + Base/Damage Region Transformed + + Damage + + 0 + false + + Delay + 0 + Shape + + + -1000.0, 0.0 + + + + + + + + Character/NPC/Monster/Fiend/Darkhorse - Slam + + 160 + + + + + + Monster/Damage/Attack Base +10 + + 4 + true + + + + Monster/Damage/Attack Base -10 + + 2 + true + + + 4 + + Stun 2 + + Chance + 0.75 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + 5.0, 0.0 + 500 + 7 + + -1.0, 0.0 + + + + + Character/NPC/Monster/Fiend/Devilite (Manager) + + + Delay + implementation.delay + + + Actor + implementation.action.actions[0].actor + + + + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite Throw - Axe Damage + + + + + Monster/Damage/Attack Base +05 + + 4 + + + + + + Character/NPC/Monster/Fiend/Devilite Throw - Bomb Damage + + + + + + + + + 4 + + Stun + + Chance + 0.25 + Power + 25 + + + + + + + + + + + + + 4 + + Stun 2 + + Chance + 0.25 + Power + 25 + + + + + + + + + + + + + 4 + + Stun 3 + + Chance + 0.25 + Power + 25 + + + + + + + + + + Bomb/Monster/Devilite Bomb + + + + + + + + Character/NPC/Monster/Fiend/Devilite Throw - Office Chair Damage + + + + + + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Stun + + Chance + 0.25 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Stun 2 + + Chance + 0.25 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + + + Monster/Damage/Attack Base + + 4 + + + 4 + + Stun 3 + + Chance + 0.25 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + + Character/NPC/Monster/Fiend/Devilite Throw - Office Equipment Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + + + + + + Character/NPC/Monster/Fiend/Devilite Throw - Pitchfork Damage + + + + + Monster/Damage/Attack Base -05 + + 4 + PIERCING + + Monster/Split/Split - Full + + + + + + + Character/NPC/Monster/Fiend/Gold Trojan - Slam + + 160 + + + + + + Monster/Damage/Attack Base +10 + + 4 + true + + + + Monster/Damage/Attack Base -10 + + 2 + true + + + 4 + + Stun + + Chance + 0.75 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + 5.0, 0.0 + 500 + 7 + + -1.0, 0.0 + + + + + Character/NPC/Monster/Fiend/Knightmare - Slam + + 160 + + + + + + Monster/Damage/Attack Base +10 + + 4 + true + + + + Monster/Damage/Attack Base -10 + + 2 + true + + + 4 + + Stun 3 + + Chance + 0.75 + Power + 75 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + 5.0, 0.0 + 500 + 7 + + -1.0, 0.0 + + + + + Character/NPC/Monster/Fiend/Trojan - Slam + + 160 + + + + + + Monster/Damage/Attack Base +10 + + 4 + true + + + + Monster/Damage/Attack Base -10 + + 2 + true + + + 4 + + Stun + + Chance + 0.75 + Power + 25 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + 5.0, 0.0 + 500 + 7 + + -1.0, 0.0 + + + + + Character/NPC/Monster/Fiend/Trojan ShoulderCheck + + + Delay + implementation.delay + + + + + + + + + Monster/Damage/Attack Base +05 + + 4 + true + + + + + 10.0, 0.0 + 800 + 3 + + -10.0, 0.0 + + + + + Character/NPC/Monster/Slime/Jelly Damage + + + Delay + implementation.fire["Delay"] + + + Damage Amount + implementation.fire["Damage"].amount + + + + + Base/Damage Origin Transformed + + Damage + + 4 + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 0.5 + + + 1.0, 0.0 + + + + + + + + Character/NPC/Monster/Slime/Lichen Damage + + + Delay + implementation.fire["Delay"] + + + Damage Scale + implementation.fire["Damage"].depth_scale + + + Damage Transform + implementation.fire["Shape"].transform + + + + + Base/Damage Origin Transformed + + Damage + + + Monster/Damage/Attack Base + + 4 + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 0.5 + + + 1.25, 0.0 + + + + + + + + Character/NPC/Monster/Slime/Lichen Merge + + + Character/NPC/Monster/Slime/Sloom Damage + + + Delay + implementation.fire["Delay"] + + + Damage Amount + implementation.fire["Damage"].damages[1].amount + + + Status Condition + implementation.fire["Damage"].damages[0].status_condition + + + + + Base/Damage Origin Transformed + + Damage + + + + 4 + + + 40.0 + 4 + + + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + Shape + + + 0.5 + + + 1.25, 0.0 + + + + + + + + Character/NPC/Monster/Slime/Spawn Lichen Colony + + + Wave Tag + implementation.action.cases[0].action.actor["Wave Tag"], implementation.action.cases[1].action.actor["Wave Tag"], implementation.action.cases[2].action.actor["Wave Tag"], implementation.action.cases[3].action.actor["Wave Tag"], implementation.action.cases[4].action.actor["Wave Tag"], implementation.action.cases[5].action.actor["Wave Tag"], implementation.action.cases[6].action.actor["Wave Tag"], implementation.action.cases[7].action.actor["Wave Tag"], implementation.action.cases[8].action.actor["Wave Tag"], implementation.action.cases[9].action.actor["Wave Tag"], implementation.action.cases[10].action.actor["Wave Tag"], implementation.action.cases[11].action.actor["Wave Tag"], implementation.action.cases[12].action.actor["Wave Tag"], implementation.action.cases[13].action.actor["Wave Tag"], implementation.action.cases[14].action.actor["Wave Tag"], implementation.action.cases[15].action.actor["Wave Tag"], implementation.action.cases[16].action.actor["Wave Tag"], implementation.action.cases[17].action.actor["Wave Tag"], implementation.action.cases[18].action.actor["Wave Tag"], implementation.action.cases[19].action.actor["Wave Tag"], implementation.action.default_action.actor["Wave Tag"] + + + + + + + + + Bomb/Monster/Lichen Colony + + Size + 2 + Wave Tag + (Wave Tag) + + + + + + + + Bomb/Monster/Lichen Colony + + Size + 3 + Wave Tag + (Wave Tag) + + + + + + + + Bomb/Monster/Lichen Colony + + Size + 4 + Wave Tag + (Wave Tag) + + + + + + + + Bomb/Monster/Lichen Colony + + Size + 5 + Wave Tag + (Wave Tag) + + + + + + + + Bomb/Monster/Lichen Colony + + Size + 6 + Wave Tag + (Wave Tag) + + + + + + + + Bomb/Monster/Lichen Colony + + Size + 7 + Wave Tag + (Wave Tag) + + + + + + + + Bomb/Monster/Lichen Colony + + Size + 8 + Wave Tag + (Wave Tag) + + + + + + + + Bomb/Monster/Lichen Colony + + Size + 9 + Wave Tag + (Wave Tag) + + + + + + + + Bomb/Monster/Large Lichen Colony + + Size + 10 + Wave Tag + + + + + + + + + Bomb/Monster/Large Lichen Colony + + Size + 11 + Wave Tag + + + + + + + + + Bomb/Monster/Large Lichen Colony + + Size + 12 + Wave Tag + + + + + + + + + Bomb/Monster/Large Lichen Colony + + Size + 13 + Wave Tag + + + + + + + + + Bomb/Monster/Large Lichen Colony + + Size + 14 + Wave Tag + + + + + + + + + Bomb/Monster/Large Lichen Colony + + Size + 15 + Wave Tag + + + + + + + + + Bomb/Monster/Giant Lichen Colony + + Size + 16 + Wave Tag + + + + + + + + + Bomb/Monster/Giant Lichen Colony + + Size + 17 + Wave Tag + + + + + + + + + Bomb/Monster/Giant Lichen Colony + + Size + 18 + Wave Tag + + + + + + + + + Bomb/Monster/Giant Lichen Colony + + Size + 19 + Wave Tag + + + + + + + + + Bomb/Monster/Giant Lichen Colony + + Size + 20 + Wave Tag + + + + + + + + + Bomb/Monster/Giant Lichen Colony + + Size + 21 + Wave Tag + + + + + + + + + Bomb/Monster/Giant Lichen Colony + + Size + 21 + Wave Tag + + + + + + + + + Character/NPC/Monster/Undead/Deadnought/Deadnought, Charge + + + Status Attack + implementation.action.actions[0].damage.damages[1].status_condition + + + + 1 + 120 + + + + + + + + Monster/Damage/Attack Base +05 + + 4 + + + 4 + + + + 1.0, 0.0 + + + 0.6, 0.0 + + 2.0, 0.0 + 200 + + + + + + + + Character/NPC/Monster/Undead/Deadnought/Deadnought, Skewer + + + Status Attack + implementation.action.actions[0].damage.damages[1].status_condition + + + + 400 + false + + + + + + + + Monster/Damage/Attack Base +10 + + 4 + true + + + 4 + + + + 131 + 1.0, 0.0 + + + + 6.0, 0.0 + 400 + 5 + + + + + + + + Character/NPC/Monster/Undead/Dust Zombie + + + Delay + implementation.fire["Delay"] + + + Damage + implementation.fire["Damage"] + + + Knock Back + implementation.fire["Knock-Back"] + + + + + Base/Damage Origin Transformed + + Damage + + + + 4 + + + + Delay + 0 + Impulse Origin Translation + 0.0, 0.0 + Knock-Back + + -1.0, 0.0 + 140 + 2 + + Shape + + + 0.75 + + + 0.75, 0.0 + + + + + + + + Character/NPC/Player Faction/Turret, Auto/Railgun beam + + + Damage Amount + implementation.action.damage.amount + + + + + + 10.0 + 2 + true + + + 6.0, 0.0 + 400 + 5 + + + + + + Character/NPC/Player Faction/Turret, Auto/Vulcan Spray + + + Delay + implementation.delay + + + + false + + + + + Basic + + Lifespan + 1000 + Model + + particle/fx_gun_vulcan_shot.dat + + + + + + + Debug/Flash Shape + + Shape + + + + + 8.0 + 8.0 + + + 0.0, -5.5 + 0.013707784 + + + + + + + + + + + + + 2.0 + 2 + + + + + + + + + + + Character/NPC/Talk, word balloon/Random (1) + + + Character Name + implementation.action.actions[0].actions[0].action.effect["Model"]["Name"] + + + Text 1 + implementation.action.actions[0].actions[0].action.effect["Model"]["Text"] + + + Transform + implementation.action.actions[0].actions[0].action.effect["Model"]["Transform"] + + + Lifespan + implementation.action.actions[0].actions[0].action.effect["Lifespan"] + + + + + + + + + + + Basic + + Lifespan + 2000 + Model + + model/compound/npcchat/model.dat + + Name + Cherub + Text + Chef Knight LFG! Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam aliquam porta risus, eget venenatis sapien fermentum eu. + Transform + + 0.0, 0.0, 1.5 + + + + + + + + + + + + + + + Character/NPC/Talk, word balloon/Random (2) + + + Character Name + implementation.action.actions[0].actions[0].action.effect["Model"]["Name"], implementation.action.actions[0].actions[1].action.effect["Model"]["Name"] + + + Text 1 + implementation.action.actions[0].actions[0].action.effect["Model"]["Text"] + + + Text 2 + implementation.action.actions[0].actions[1].action.effect["Model"]["Text"] + + + Transform + implementation.action.actions[0].actions[0].action.effect["Model"]["Transform"], implementation.action.actions[0].actions[1].action.effect["Model"]["Transform"] + + + Lifespan + implementation.action.actions[0].actions[0].action.effect["Lifespan"], implementation.action.actions[0].actions[1].action.effect["Lifespan"] + + + + + + + + + + + Basic + + Lifespan + 2000 + Model + + model/compound/npcchat/model.dat + + Name + Cherub + Text + Chef Knight LFG! Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam aliquam porta risus, eget venenatis sapien fermentum eu. + Transform + + 0.0, 0.0, 1.5 + + + + + + + + + + + Basic + + Lifespan + 2000 + Model + + model/compound/npcchat/model.dat + + Name + Cherub + Text + Chef Knight LFG! Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam aliquam porta risus, eget venenatis sapien fermentum eu. + Transform + + 0.0, 0.0, 1.5 + + + + + + + + + + + + + + + Character/NPC/Talk, word balloon/Random (3) + + + Character Name + implementation.action.actions[0].actions[0].action.effect["Model"]["Name"], implementation.action.actions[0].actions[1].action.effect["Model"]["Name"], implementation.action.actions[0].actions[2].action.effect["Model"]["Name"] + + + Text 1 + implementation.action.actions[0].actions[0].action.effect["Model"]["Text"] + + + Text 2 + implementation.action.actions[0].actions[1].action.effect["Model"]["Text"] + + + Text 3 + implementation.action.actions[0].actions[2].action.effect["Model"]["Text"] + + + Transform + implementation.action.actions[0].actions[0].action.effect["Model"]["Transform"], implementation.action.actions[0].actions[1].action.effect["Model"]["Transform"], implementation.action.actions[0].actions[2].action.effect["Model"]["Transform"] + + + Lifespan + implementation.action.actions[0].actions[0].action.effect["Lifespan"], implementation.action.actions[0].actions[1].action.effect["Lifespan"], implementation.action.actions[0].actions[2].action.effect["Lifespan"] + + + + + + + + + + + Basic + + Lifespan + 2000 + Model + + model/compound/npcchat/model.dat + + Name + Cherub + Text + Chef Knight LFG! Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam aliquam porta risus, eget venenatis sapien fermentum eu. + Transform + + 0.0, 0.0, 1.5 + + + + + + + + + + + Basic + + Lifespan + 2000 + Model + + model/compound/npcchat/model.dat + + Name + Cherub + Text + Chef Knight LFG! Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam aliquam porta risus, eget venenatis sapien fermentum eu. + Transform + + 0.0, 0.0, 1.5 + + + + + + + + + + + Basic + + Lifespan + 2000 + Model + + model/compound/npcchat/model.dat + + Name + Cherub + Text + Chef Knight LFG! Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam aliquam porta risus, eget venenatis sapien fermentum eu. + Transform + + 0.0, 0.0, 1.5 + + + + + + + + + + + + + + + Item/Gear/Shield/PushBack (Base) + + + + Knock-Back Power + + + KB + implementation.action.action.action.actions[1].impulse_dealt + + + + + + 1 + + KB + + 3.0, 0.0 + 400 + + + + + + 2 + + KB + + 3.5, 0.0 + 500 + 2 + + + + + + 3 + + KB + + 4.0, 0.0 + 600 + 3 + + + + + + 4 + + KB + + 4.5, 0.0 + 700 + 4 + + + + + + 5 + + KB + + 5.0, 0.0 + 800 + 5 + + + + + 3 + + + + + + + + 2 + + + + + 1.1 + + + + + com.threerings.projectx.dungeon.server.logic.MonsterLogic + + + + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + particle/shield/fx_shieldpush.dat + + + + + + + + + + 6 + + + true + + + + + + + Item/Gear/Shield/PushBack (Base) (Old) + + + Cooldown + implementation.action.action.condition.time + + + Radius + implementation.action.action.action.actions[1].region.shape.radius, implementation.action.condition.first.shape.radius + + + Damage + implementation.action.action.action.actions[1].damage.damages[2] + + + + Knock-Back Power + + + KB + implementation.action.action.action.actions[1].impulse_dealt + + + + + + 1 + + KB + + 3.0, 0.0 + 400 + + + + + + 2 + + KB + + 3.5, 0.0 + 500 + 2 + + + + + + 3 + + KB + + 4.0, 0.0 + 600 + 3 + + + + + + 4 + + KB + + 4.5, 0.0 + 700 + 4 + + + + + + 5 + + KB + + 5.0, 0.0 + 800 + 5 + + + + + 3 + + + + + + + + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + particle/shield/fx_shieldpush.dat + + + + + + + + + + + + + 2 + true + + + 2 + + Stun + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + 4.0, 0.0 + 600 + 3 + + + + true + + + + + + + Traps and Hazards/Shadowfire + + + Traps and Hazards/Status Trap, floor + + + + Status Infliction + + + Tier 1 + implementation.action.actions[0].action.actions[0].damage.damages[1].status_condition + + + Tier 2 + implementation.action.actions[1].action.actions[0].damage.damages[1].status_condition + + + Tier 3 + implementation.action.actions[2].action.actions[0].damage.damages[1].status_condition + + + + + + Fire + + Tier 1 + + Fire + + Chance + 0.85 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 2 + + Fire 2 + + Chance + 0.85 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 3 + + Fire 3 + + Chance + 0.85 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Freeze + + Tier 1 + + Freeze + + Chance + 0.85 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 2 + + Freeze 2 + + Chance + 0.85 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 3 + + Freeze 3 + + Chance + 0.85 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Poison + + Tier 1 + + Poison + + Chance + 0.85 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 2 + + Poison 2 + + Chance + 0.85 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 3 + + Poison 3 + + Chance + 0.85 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Shock + + Tier 1 + + Shock + + Chance + 0.85 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 2 + + Shock 2 + + Chance + 0.85 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 3 + + Shock 3 + + Chance + 0.85 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Fire + + + + Damage Size + + + Damage Region + implementation.action.actions[0].action.actions[0].region.shape, implementation.action.actions[1].action.actions[0].region.shape, implementation.action.actions[2].action.actions[0].region.shape + + + + + + 1x1 + + Damage Region + + 0.5 + 0.5 + + + + + + 1x2 + + Damage Region + + 1.5 + 0.5 + + + + + + 2x1 + + Damage Region + + 0.5 + 1.5 + + + + + + 2x2 + + Damage Region + + 1.5 + 1.5 + + + + + + 2x3 + + Damage Region + + 2.5 + 1.5 + + + + + + 2x4 + + Damage Region + + 3.5 + 1.5 + + + + + + 2x5 + + Damage Region + + 4.5 + 1.5 + + + + + + 2x6 + + Damage Region + + 5.5 + 1.5 + + + + + + 3x2 + + Damage Region + + 1.5 + 2.5 + + + + + + 3x3 + + Damage Region + + 2.5 + 2.5 + + + + + + 3x4 + + Damage Region + + 3.5 + 2.5 + + + + + + 4x2 + + Damage Region + + 1.5 + 3.5 + + + + + + 4x3 + + Damage Region + + 2.5 + 3.5 + + + + + + 4x4 + + Damage Region + + 3.5 + 3.5 + + + + + + 4x6 + + Damage Region + + 5.5 + 3.5 + + + + + + 5x2 + + Damage Region + + 1.5 + 4.5 + + + + + + 5x3 + + Damage Region + + 2.5 + 4.5 + + + + + + 5x4 + + Damage Region + + 3.5 + 4.5 + + + + + + 5x5 + + Damage Region + + 4.5 + 4.5 + + + + + + 6x2 + + Damage Region + + 1.5 + 5.5 + + + + + + 6x3 + + Damage Region + + 2.5 + 5.5 + + + + + + 6x4 + + Damage Region + + 3.5 + 5.5 + + + + + + 6x6 + + Damage Region + + 5.5 + 5.5 + + + + + 2x2 + + + + + + + + UP + + + + + + + + + + + + + Monster/Damage/Attack Base -05 + + 8 + ELEMENTAL + + Monster/Split/Split - Full + + + + 8 + + + + + + + + + + UP + + + + + + + + + + + + + Monster/Damage/Attack Base -05 + + 8 + ELEMENTAL + + Monster/Split/Split - Full + + + + 8 + + + + + + + + + + UP + + + + + + + + + + + + + Monster/Damage/Attack Base -05 + + 8 + ELEMENTAL + + Monster/Split/Split - Full + + + + 8 + + + + + + + + + + + + + Traps and Hazards/Trap, floor + + + Split Damage Type + implementation.action.actions[0].action.actions[0].damage.damages[0].type2, implementation.action.actions[1].action.actions[0].damage.damages[0].type2, implementation.action.actions[2].action.actions[0].damage.damages[0].type2 + + + + Status Infliction + + + Tier 1 + implementation.action.actions[0].action.actions[0].damage.damages[1].status_condition + + + Tier 2 + implementation.action.actions[1].action.actions[0].damage.damages[1].status_condition + + + Tier 3 + implementation.action.actions[2].action.actions[0].damage.damages[1].status_condition + + + + + + Fire + + Tier 1 + + Fire + + Chance + 0.85 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 2 + + Fire 2 + + Chance + 0.85 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 3 + + Fire 3 + + Chance + 0.85 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Freeze + + Tier 1 + + Freeze + + Chance + 0.85 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 2 + + Freeze 2 + + Chance + 0.85 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 3 + + Freeze 3 + + Chance + 0.85 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Poison + + Tier 1 + + Poison + + Chance + 0.85 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 2 + + Poison 2 + + Chance + 0.85 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 3 + + Poison 3 + + Chance + 0.85 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + Shock + + Tier 1 + + Shock + + Chance + 0.85 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 2 + + Shock 2 + + Chance + 0.85 + Power + 65 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Tier 3 + + Shock 3 + + Chance + 0.85 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + None + + Tier 1 + + Tier 2 + + Tier 3 + + + + + Fire + + + + Damage Size + + + Damage Region + implementation.action.actions[0].action.actions[0].region.shape, implementation.action.actions[1].action.actions[0].region.shape, implementation.action.actions[2].action.actions[0].region.shape + + + + + + 1x1 + + Damage Region + + 0.5 + 0.5 + + + + + + 1x2 + + Damage Region + + 1.5 + 0.5 + + + + + + 2x1 + + Damage Region + + 0.5 + 1.5 + + + + + + 2x2 + + Damage Region + + 1.5 + 1.5 + + + + + + 2x3 + + Damage Region + + 2.5 + 1.5 + + + + + + 2x4 + + Damage Region + + 3.5 + 1.5 + + + + + + 2x5 + + Damage Region + + 4.5 + 1.5 + + + + + + 2x6 + + Damage Region + + 5.5 + 1.5 + + + + + + 3x2 + + Damage Region + + 1.5 + 2.5 + + + + + + 3x3 + + Damage Region + + 2.5 + 2.5 + + + + + + 3x4 + + Damage Region + + 3.5 + 2.5 + + + + + + 4x2 + + Damage Region + + 1.5 + 3.5 + + + + + + 4x3 + + Damage Region + + 2.5 + 3.5 + + + + + + 4x4 + + Damage Region + + 3.5 + 3.5 + + + + + + 4x6 + + Damage Region + + 5.5 + 3.5 + + + + + + 5x2 + + Damage Region + + 1.5 + 4.5 + + + + + + 5x3 + + Damage Region + + 2.5 + 4.5 + + + + + + 5x4 + + Damage Region + + 3.5 + 4.5 + + + + + + 5x5 + + Damage Region + + 4.5 + 4.5 + + + + + + 6x2 + + Damage Region + + 1.5 + 5.5 + + + + + + 6x3 + + Damage Region + + 2.5 + 5.5 + + + + + + 6x4 + + Damage Region + + 3.5 + 5.5 + + + + + + 6x6 + + Damage Region + + 5.5 + 5.5 + + + + + 2x2 + + + + + + + + UP + + + + + + + + + + + + + Monster/Damage/Attack Base -05 + + 8 + ELEMENTAL + + Monster/Split/Split - Full + + + + 8 + + + + + + + + + + UP + + + + + + + + + + + + + Monster/Damage/Attack Base -05 + + 8 + ELEMENTAL + + Monster/Split/Split - Full + + + + 8 + + + + + + + + + + UP + + + + + + + + + + + + + Monster/Damage/Attack Base -05 + + 8 + ELEMENTAL + + Monster/Split/Split - Full + + + + 8 + + + + + + + + + + + + + \ No newline at end of file diff --git a/rsrc/rsrc/config/ground.xml b/rsrc/rsrc/config/ground.xml new file mode 100644 index 0000000..ac3873c --- /dev/null +++ b/rsrc/rsrc/config/ground.xml @@ -0,0 +1,25 @@ + + + + + + + Ground Test + + + + + + + + + + + + + \ No newline at end of file diff --git a/rsrc/rsrc/config/item.xml b/rsrc/rsrc/config/item.xml new file mode 100644 index 0000000..661e43d --- /dev/null +++ b/rsrc/rsrc/config/item.xml @@ -0,0 +1,59394 @@ + + + + + Artifact/Preview Event Medal + + + ui/icon/inventory/icon_artifact-medal.png + + + 523 + + + 780 + + + 1040 + + + + m.preview_event + d.preview_event + f.preview_event + 5 + -8490579561747732768 + + + + Costume/Game Master/GM Armor, Basic + + + Costume/Game Master/Parts/Armor (Base) + + Model + + item/gear/armor/doublebelt/model_crew-prp.dat + + Colorization + 257 + Variant + Crew-Prp + + + Name + m.gm_armor_basic + + + + + + Costume/Game Master/GM Armor, Ceremonial + + + Costume/Game Master/Parts/Armor (Base) + + Model + + item/gear/armor/doublebelt/model_crew-prp.dat + + Colorization + 257 + Variant + Ceremonial + + + Name + m.gm_armor_ceremonial + + + + + + Costume/Game Master/GM Helmet, Bucket + + + Costume/Game Master/Parts/Helmet (Base) + + Model + + item/gear/helm/bucket/model.dat + + Colorization + 257 + Variant + Crew-Prp + + + Name + m.gm_helmet_bucket + + + + + + Costume/Game Master/GM Helmet, Nose + + + Costume/Game Master/Parts/Helmet (Base) + + Model + + item/gear/helm/nose/model.dat + + Colorization + 257 + Variant + crew-prp + + + Name + m.gm_helmet_nose + + + + + + Costume/Game Master/GM Helmet, Nose (Open) + + + Costume/Game Master/Parts/Helmet (Base) + + Model + + item/gear/helm/nose/model_alt.dat + + Colorization + 257 + Variant + crew-prp + + + Name + m.gm_helmet_open + + + + + + Costume/Game Master/GM Helmet, Pith + + + Costume/Game Master/Parts/Helmet (Base) + + Model + + item/gear/helm/pith/model.dat + + Colorization + 257 + Variant + crew-prp + + + Name + m.gm_helmet_pith + + + + + + Costume/Game Master/GM Helmet, Ploomed + + + Costume/Game Master/Parts/Helmet (Base) + + Model + + item/gear/helm/doubleploom/model.dat + + Colorization + 257 + Variant + crew-prp + + + Name + m.gm_helmet_plumed + + + + + + Costume/Game Master/GM Helmet, Winged + + + Costume/Game Master/Parts/Helmet (Base) + + Model + + item/gear/helm/valkyrie/model_v2.dat + + Colorization + 257 + Variant + Crew-Prp + + + Name + m.gm_helmet_winged + + + + + + Costume/Game Master/Parts/Armor (Base) + + + Name + implementation.name + + + Model + implementation.model + + + + + ui/icon/inventory/icon_armor_nocore.png + + + 516 + + + 769 + + + 1056 + + + + m.gm_armor + f.gm_armor + + Helm + + 1 + 1 + + item/gear/armor/doublebelt/model_crew-prp.dat + + Colorization + 257 + Variant + crew-prp + + + + + + + + Costume/Game Master/Parts/Helmet (Base) + + + Name + implementation.name + + + Model + implementation.model + + + + + ui/icon/inventory/icon_helmet_nocore.png + + + 516 + + + 769 + + + 1056 + + + + m.gm_helmet + f.gm_helmet + + Helm + + 1 + 1 + + item/gear/helm/pith/model.dat + + Colorization + 257 + Variant + crew-prp + + + + + + + + Costume/Helm/Holiday Pith Helm + + + ui/icon/inventory/icon_helmet_nocore.png + + + 2 + + 0.18 + -0.66 + + + + 3 + + 0.325 + -0.225 + + + + 4 + + 0.45 + -0.8 + + + + + m.holiday_pith_helm + f.holiday_helm + 850 + 7 + + Helm + + 200 + 7000 + + + + item/gear/helm/sleepingcap/model_pith.dat + + Colorization + 257 + + + + + + + + Costume/Helm/Holiday Sallet + + + ui/icon/inventory/icon_helmet_nocore.png + + + 2 + + 0.18 + -0.66 + + + + 3 + + 0.325 + -0.225 + + + + 4 + + 0.45 + -0.8 + + + + + m.holiday_sallet + f.holiday_helm + 850 + 7 + + Helm + + 200 + 7000 + + + + item/gear/helm/sleepingcap/model_samurai.dat + + Colorization + 257 + + + + + + + + Costume/Helm/Holiday Tailed Helm + + + ui/icon/inventory/icon_helmet_nocore.png + + + 2 + + 0.18 + -0.66 + + + + 3 + + 0.325 + -0.225 + + + + 4 + + 0.45 + -0.8 + + + + + m.holiday_tailed_helm + f.holiday_helm + 850 + 7 + + Helm + + 200 + 7000 + + + + item/gear/helm/sleepingcap/model_doubleploom.dat + + Colorization + 257 + + + + + + + + Costume/Helm/Super Brawl Crown + + + ui/icon/inventory/icon_helmet_nocore.png + + + 2 + + 0.117 + -0.595 + + + + 3 + + -0.024 + -0.015 + -0.12 + + + + 4 + + 0.413 + -0.383 + 0.499 + + + + + m.super_brawl_crown + f.super_brawl_crown + 850 + 7 + + Helm + + 200 + 7000 + + + + item/gear/helm/doubleploom/model_crown.dat + + Colorization + 257 + + + + + + + + Energy Tank/Mist Tank + + + ui/icon/energy_32.png + + m.mist_tank + f.mist_tank + 100 + + + + Gear/Armor/(Dev) ModelTester + + + Name + implementation.name + + + Model + implementation.model + + + + + ui/icon/inventory/icon_armor_nocore.png + + + 516 + + + 771 + + + 1026 + + + + ModelTester (Body) + 5 + + Armor + + 0 + 0 + + item/gear/armor/doublebelt/model.dat + + Colorization + 257 + Variant + grey + + + + + + + PC/Defense/Armor/Armor Base + + + + + PC/Defense/Armor/Armor Base + + PIERCING + + + + PC/Defense/Armor/Armor Base + + ELEMENTAL + + + + PC/Defense/Armor/Armor Base + + SHADOW + + + + + + + Gear/Armor/(Dev) Nobody + + + ui/icon/inventory/icon_armor_nocore.png + + + 516 + + + 771 + + + 1026 + + + + For losing unsightly pounds. + Nobody + + Armor + + + particle/fx_smokensparks.dat + + + + + Gear/Armor/Ancient Plate Mail + + + ui/icon/inventory/icon_armor.png + + + 523 + + + 788 + + + 1027 + + + + m.ancient_plate_mail + f.ancient_plate_mail + 2000 + 5 + + Armor + + 200 + 10000 + + + + -0.15 + LOW + false + + + LOW + false + + + 120 + HIGH + + + + + item/gear/armor/plate/model.dat + + Colorization + 257 + Variant + ancient + + + + + + + PC/Defense/Armor/Armor Base +10 + + + + 1 + 40 + + + 256 + -40 + + + + + + + Gear/Armor/Angelic Raiment + + + ui/icon/inventory/icon_cloak.png + + + 547 + + + 804 + + + 1057 + + + + m.angelic_raiment + f.angelic_raiment + 850 + 3 + + Armor + + 200 + 7000 + + + + 0.05 + LOW + fam_fiend + + + + + item/gear/armor/valkyrie/model.dat + + Colorization + 257 + Variant + Purple + + + + + + + PC/Defense/Armor/Armor Base -10 + + + + + PC/Defense/Armor/Armor Base -10 + + SHADOW + + + 34 + 20 + + + 4 + -20 + + + + + + + Gear/Armor/Armor of the Fallen + + + ui/icon/inventory/icon_armor.png + + + 547 + + + 772 + + + 1032 + + + + m.armor_fallen + f.armor_fallen + 2000 + 5 + + Armor + + 200 + 10000 + + + + LOW + + + -0.2 + MEDIUM + false + fam_fiend + + + + + item/gear/armor/valkyrie/model.dat + + Colorization + 257 + Variant + Dark + + + + + + + PC/Defense/Armor/Armor Base -10 + + + + + PC/Defense/Armor/Armor Base -10 + + SHADOW + + + 6 + 40 + + + 32 + -40 + + + + + + + Gear/Armor/Ash Tail Coat + + + ui/icon/inventory/icon_coat.png + + + 531 + + + 770 + + + 1027 + + + + m.ash_tail_coat + f.ash_tail_coat + 350 + 4 + + Armor + + 150 + 5000 + + + 0.15 + LOW + + + + item/gear/armor/coat/model_ash.dat + + Colorization + 257 + + + + + + + PC/Defense/Armor/Armor Base -05 + + + + + PC/Defense/Armor/Armor Base -10 + + PIERCING + + + 8 + 30 + + + + + + + Gear/Armor/Azure Guardian Armor + + + ui/icon/inventory/icon_armor.png + + + 535 + + + 792 + + + 1046 + + + + m.azure_guardian_armor + f.azure_guardian_armor + 350 + 5 + + Armor + + 150 + 5000 + + item/gear/armor/doublebelt/model_cobalt-r4.dat + + Colorization + 257 + + + + + + + PC/Defense/Armor/Armor Base + + + + + PC/Defense/Armor/Armor Base -10 + + PIERCING + + + + + + + Gear/Armor/Blazebreak Armor + + + ui/icon/inventory/icon_armor.png + + + 523 + + + 772 + + + 1032 + + + + m.blazebreak_armor + f.blazebreak_armor + 75 + 3 + + Armor + + 100 + + item/gear/armor/rearpouch/model_recolor.dat + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.55 + -0.7 + + + Colorization + 257 + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.333 + -0.65 + -0.55 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.333 + 1.0 + + + -0.0080 + -0.254 + -0.333 + + + + + + + + + PC/Defense/Armor/Armor Base + + + + + PC/Defense/Armor/Armor Base -10 + + ELEMENTAL + + + 4 + 30 + + + 24 + -10 + + + + + + + Gear/Armor/Blizzbreaker Armor + + + ui/icon/inventory/icon_armor.png + + + 535 + + + 771 + + + 1045 + + + + m.blizzbreaker_armor + f.blizzbreaker_armor + 350 + 3 + + Armor + + 150 + 5000 + + item/gear/armor/doublebelt/model_recolor.dat + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 1.0 + 1.0 + + + -0.08 + -0.35 + -0.4 + + + Colorization + 257 + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 1.0 + 1.0 + + + 0.23 + -0.45 + -0.675 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.345 + 1.0 + + + 0.545 + -0.7 + -0.227 + + + + + + + + + PC/Defense/Armor/Armor Base + + + + + PC/Defense/Armor/Armor Base -10 + + ELEMENTAL + + + 8 + 30 + + + 20 + -10 + + + + + + + Gear/Armor/Bombastic Demo Suit + + + ui/icon/inventory/icon_coat.png + + + 523 + + + 798 + + + 1027 + + + + m.bombastic_demo_suit + f.bombastic_demo_suit + 2000 + 5 + + Armor + + 200 + 10000 + + BOMB + + LOW + + + + item/gear/armor/demojelly/model_demo.dat + + Colorization + 257 + Variant + Bombastic Suit + + + + + + + PC/Defense/Armor/Armor Base -05 + + + + + PC/Defense/Armor/Armor Base -10 + + ELEMENTAL + + + + + + + Gear/Armor/Boosted Plate Mail + + + ui/icon/inventory/icon_armor.png + + + 516 + + + 770 + + + 1044 + + + + m.boosted_plate_mail + f.boosted_plate_mail + 350 + 3 + + Armor + + 150 + 5000 + + -0.1 + LOW + false + + + item/gear/armor/plate/model.dat + + Colorization + 257 + Variant + heavy + + + + + + + PC/Defense/Armor/Armor Base +05 + + + + 1 + 20 + + + 256 + -20 + + + + + + + Gear/Armor/Brute Jelly Mail + + + ui/icon/inventory/icon_armor.png + + + 547 + + + 802 + + + 1049 + + + + m.brute_jelly_mail + f.brute_jelly_mail + 350 + 3 + + Armor + + 150 + 5000 + + item/gear/armor/demojelly/model.dat + + Colorization + 257 + Variant + Blue + + + + + + + PC/Defense/Armor/Armor Base -10 + + + + + PC/Defense/Armor/Armor Base + + PIERCING + + + 17 + 20 + + + + + + + Gear/Armor/Chaos Cloak + + + ui/icon/inventory/icon_cloak.png + + + 543 + + + 3 + + 0.393 + -0.667 + -0.534 + + + + 4 + + -0.073 + -0.9 + -0.282 + + + + + m.chaos_cloak + f.chaos_cloak + 2000 + 5 + + Armor + + 200 + 10000 + + + + 0.1 + LOW + + + + + item/gear/armor/poncho/model.dat + + Colorization + 257 + Variant + Mage Dark + + + + + + + PC/Defense/Armor/Armor Base -10 + + + + + PC/Defense/Armor/Armor Base -10 + + ELEMENTAL + + + 319 + -20 + + + + + + + Gear/Armor/Chroma Suit + + + ui/icon/inventory/icon_coat.png + + + 531 + + + 782 + + + 1044 + + + + m.chroma_suit + f.chroma_suit + 850 + 3 + + Armor + + 200 + 7000 + + 0.1 + LOW + fam_slime + + + item/gear/armor/lizardsuit/model.dat + + Colorization + 257 + Variant + chromalisk + + + + + + + PC/Defense/Armor/Armor Base -05 + + + + + PC/Defense/Armor/Armor Base -10 + + PIERCING + + + 6 + 10 + + + + + + + Gear/Armor/Circuit Breaker Armor + + + ui/icon/inventory/icon_armor.png + + + 2 + + -0.35 + -0.5 + -0.75 + + + + 3 + + 0.455 + -0.637 + -0.351 + + + + 4 + + 0.252 + -0.178 + -0.386 + + + + + m.circuit_breaker_armor + f.circuit_breaker_armor + 75 + 1 + + Armor + + 100 + + item/gear/armor/rivet/model_recolor.dat + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.183 + -0.6 + -0.52 + + + Colorization + 257 + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + 0.11 + -0.75 + -0.75 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.345 + 1.0 + + + -0.04 + -0.35 + -0.45 + + + + + + + + + PC/Defense/Armor/Armor Base + + + + + PC/Defense/Armor/Armor Base -10 + + ELEMENTAL + + + 16 + 10 + + + + + + + Gear/Armor/Cobalt Armor + + + ui/icon/inventory/icon_armor.png + + + 535 + + + 792 + + + 1046 + + + + m.cobalt_armor + f.cobalt_armor + 350 + 2 + + Armor + + 150 + 5000 + + item/gear/armor/doublebelt/model_cobalt.dat + + Colorization + 257 + Variant + Cobalt + + + + + + + PC/Defense/Armor/Armor Base + + + + + PC/Defense/Armor/Armor Base -10 + + PIERCING + + + + + + + Gear/Armor/Deadly Virulisk Suit + + + ui/icon/inventory/icon_coat.png + + + 531 + + + 788 + + + 1056 + + + + m.deadly_virulisk_suit + f.deadly_virulisk_suit + 2000 + 5 + + Armor + + 200 + 10000 + + 0.2 + MEDIUM + fam_slime + + + item/gear/armor/lizardsuit/model_poi.dat + + Colorization + 257 + + + + + + + PC/Defense/Armor/Armor Base -05 + + + + + PC/Defense/Armor/Armor Base -10 + + PIERCING + + + 2 + 40 + + + + + + + Gear/Armor/Deadshot Mantle + + + ui/icon/inventory/icon_coat.png + + + 527 + + + 771 + + + 1026 + + + + m.deadshot_mantle + f.deadshot_mantle + 2000 + 5 + + Armor + + 200 + 10000 + + MEDIUM + fam_undead + + + item/gear/armor/poncho/model.dat + + Colorization + 257 + Variant + Cowboy Silver + + + + + + + PC/Defense/Armor/Armor Base -05 + + + + + PC/Defense/Armor/Armor Base -10 + + SHADOW + + + 32 + 40 + + + + + + + Gear/Armor/Deep Sea Cuirass + + + ui/icon/inventory/icon_armor.png + + + 539 + + + 793 + + + 1050 + + + + m.deep_sea_cuirass + f.deep_sea_cuirass + 850 + 5 + + Armor + + 200 + 7000 + + item/gear/armor/proto/model.dat + + Colorization + 257 + Variant + blue_fish + + + + + + + PC/Defense/Armor/Armor Base + + + + + PC/Defense/Armor/Armor Base -10 + + PIERCING + + + 12 + 40 + + + 16 + -40 + + + + + + + Gear/Armor/Divine Mantle + + + ui/icon/inventory/icon_cloak.png + + + 516 + + + 794 + + + 4 + + 0.439 + -0.62 + -0.09 + + + + + m.divine_mantle + f.divine_mantle + 2000 + 5 + + Armor + + 200 + 10000 + + item/gear/armor/poncho/model.dat + + Colorization + 257 + Variant + Mage Gold + + + + + + + PC/Defense/Armor/Armor Base -05 + + ELEMENTAL + + + + PC/Defense/Armor/Armor Base -05 + + SHADOW + + + 52 + 40 + + + + + + + Gear/Armor/Dragon Scale Mail + + + ui/icon/inventory/icon_armor.png + + + 2 + + -0.75 + -0.5 + -0.75 + + + + 3 + + -0.326 + -0.351 + + + + 4 + + 0.439 + -0.9 + -0.66 + + + + + m.dragon_scale_mail + f.dragon_scale_mail + 2000 + 5 + + Armor + + 200 + 10000 + + MEDIUM + fam_beast + + + item/gear/armor/hybrid/model.dat + + Colorization + 257 + Variant + drake-red + + + + + + + PC/Defense/Armor/Armor Base -05 + + PIERCING + + + + PC/Defense/Armor/Armor Base -05 + + ELEMENTAL + + + 4 + 40 + + + + + + + Gear/Armor/Drake Scale Mail + + + ui/icon/inventory/icon_armor.png + + + 2 + + -0.206 + -0.727 + -0.75 + + + + 3 + + -0.44 + -0.326 + -0.351 + + + + 4 + + -0.035 + -0.9 + -0.429 + + + + + m.drake_scale_mail + f.drake_scale_mail + 850 + 3 + + Armor + + 200 + 7000 + + LOW + fam_beast + + + item/gear/armor/hybrid/model.dat + + Colorization + 257 + Variant + scale-purple + + + + + + + PC/Defense/Armor/Armor Base -05 + + PIERCING + + + + PC/Defense/Armor/Armor Base -05 + + ELEMENTAL + + + 4 + 20 + + + + + + + Gear/Armor/Dread Skelly Suit + + + ui/icon/inventory/icon_coat.png + + + 543 + + + 771 + + + 1054 + + + + m.dread_skelly_suit + f.dread_skelly_suit + 2000 + 5 + + Armor + + 200 + 10000 + + item/gear/armor/skelly/model.dat + + Colorization + 257 + Variant + Dread Skelly + + + + + + + PC/Defense/Armor/Armor Base -10 + + + + + PC/Defense/Armor/Armor Base + + SHADOW + + + 10 + 40 + + + 4 + -40 + + + + + + + Gear/Armor/Dusker Coat + + + ui/icon/inventory/icon_coat.png + + + 531 + + + 774 + + + 1027 + + + + m.dusker_coat + f.dusker_coat + 350 + 3 + + Armor + + 150 + 5000 + + + 0.1 + LOW + + + + item/gear/armor/coat/model.dat + + Colorization + 257 + Variant + Dusker + + + + + + + PC/Defense/Armor/Armor Base -05 + + + + + PC/Defense/Armor/Armor Base -10 + + PIERCING + + + 8 + 20 + + + + + + + Gear/Armor/Elemental Cloak + + + ui/icon/inventory/icon_cloak.png + + + 2 + + -0.206 + -0.727 + -0.815 + + + + 789 + + + 1044 + + + + m.elemental_cloak + f.elemental_cloak + 350 + 3 + + Armor + + 150 + 5000 + + item/gear/armor/poncho/model.dat + + Colorization + 257 + Variant + Mage Moon + + + + + + + PC/Defense/Armor/Armor Base -10 + + + + + PC/Defense/Armor/Armor Base + + ELEMENTAL + + + 20 + 20 + + + 1 + -20 + + + + + + + Gear/Armor/Emberbreak Armor + + + ui/icon/inventory/icon_armor.png + + + 523 + + + 771 + + + 1032 + + + + m.emberbreak_armor + f.emberbreak_armor + 75 + 1 + + Armor + + 100 + + item/gear/armor/rearpouch/model_recolor.dat + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.55 + -0.7 + + + Colorization + 257 + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.333 + -0.65 + -0.55 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.333 + 1.0 + + + -0.0080 + -0.254 + -0.333 + + + + + + + + + PC/Defense/Armor/Armor Base + + + + + PC/Defense/Armor/Armor Base -10 + + ELEMENTAL + + + 4 + 10 + + + 24 + -10 + + + + + + + Gear/Armor/Fencing Jacket + + + ui/icon/inventory/icon_coat.png + + + 516 + + + 771 + + + 1036 + + + + m.fencing_jacket + f.fencing_jacket + 350 + + Armor + + 150 + 5000 + + + 0.1 + LOW + + + + item/gear/armor/doublebelt/model.dat + + Colorization + 257 + Variant + Fencing Jacket + + + + + + + PC/Defense/Armor/Armor Base + + + + + + + + Gear/Armor/Firebreak Armor + + + ui/icon/inventory/icon_armor.png + + + 523 + + + 772 + + + 1032 + + + + m.firebreak_armor + f.firebreak_armor + 350 + 2 + + Armor + + 150 + 5000 + + item/gear/armor/rearpouch/model_recolor.dat + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.55 + -0.7 + + + Colorization + 257 + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.273 + -0.325 + -0.682 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.333 + 1.0 + + + -0.0080 + -0.163 + -0.385 + + + + + + + + + PC/Defense/Armor/Armor Base + + + + + PC/Defense/Armor/Armor Base -10 + + ELEMENTAL + + + 4 + 20 + + + 24 + -10 + + + + + + + Gear/Armor/Frostbreaker Armor + + + ui/icon/inventory/icon_armor.png + + + 535 + + + 771 + + + 1048 + + + + m.frostbreaker_armor + f.frostbreaker_armor + 75 + 1 + + Armor + + 100 + + item/gear/armor/doublebelt/model_recolor.dat + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 1.0 + 1.0 + + + -0.08 + -0.45 + -0.3 + + + Colorization + 257 + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 1.0 + 1.0 + + + -0.23 + -0.65 + -0.685 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.345 + 1.0 + + + 0.545 + -0.6 + -0.2 + + + + + + + + + PC/Defense/Armor/Armor Base + + + + + PC/Defense/Armor/Armor Base -10 + + ELEMENTAL + + + 8 + 10 + + + 20 + -10 + + + + + + + Gear/Armor/Fused Demo Suit + + + ui/icon/inventory/icon_coat.png + + + 523 + + + 771 + + + 1048 + + + + m.fused_demo_suit + f.fused_demo_suit + 350 + 3 + + Armor + + 150 + 5000 + + BOMB + + 0.1 + LOW + + + + item/gear/armor/demojelly/model_demo.dat + + Colorization + 257 + Variant + Fused Suit + + + + + + + PC/Defense/Armor/Armor Base -05 + + + + + PC/Defense/Armor/Armor Base -10 + + ELEMENTAL + + + + + + + Gear/Armor/Grey Feather Mantle + + + ui/icon/inventory/icon_cloak.png + + + 516 + + + 771 + + + 1052 + + + + m.grey_feather_mantle + f.grey_feather_mantle + 2000 + 5 + + Armor + + 200 + 10000 + + item/gear/armor/poncho/model_fth.dat + + Colorization + 257 + + + + + + + PC/Defense/Armor/Armor Base -10 + + + + + PC/Defense/Armor/Armor Base + + ELEMENTAL + + + 20 + 40 + + + 1 + -40 + + + + + + + Gear/Armor/Groundbreaker Armor + + + ui/icon/inventory/icon_armor.png + + + 516 + + + 778 + + + 1036 + + + + m.groundbreaker_armor + f.groundbreaker_armor + 350 + + Armor + + 150 + 5000 + + item/gear/armor/rivet/model_cnst.dat + + Colorization + 257 + + + + + + + PC/Defense/Armor/Armor Base +01 + + + + + + + + Gear/Armor/Gunslinger Sash + + + ui/icon/inventory/icon_coat.png + + + 527 + + + 792 + + + 1026 + + + + m.gunslinger_sash + f.gunslinger_sash + 350 + 3 + + Armor + + 150 + 5000 + + HANDGUN + + LOW + + + + item/gear/armor/poncho/model.dat + + Colorization + 257 + Variant + Cowboy Gunslinger + + + + + + + PC/Defense/Armor/Armor Base -05 + + + + + PC/Defense/Armor/Armor Base -10 + + PIERCING + + + + + + + Gear/Armor/Heavy Demo Suit + + + ui/icon/inventory/icon_coat.png + + + 523 + + + 776 + + + 1026 + + + + m.heavy_demo_suit + f.heavy_demo_suit + 850 + 4 + + Armor + + 200 + 7000 + + BOMB + + 0.15 + LOW + + + + item/gear/armor/demojelly/model_demo.dat + + Colorization + 257 + Variant + Heavy Suit + + + + + + + PC/Defense/Armor/Armor Base -05 + + + + + PC/Defense/Armor/Armor Base -10 + + ELEMENTAL + + + + + + + Gear/Armor/Heavy Plate Mail + + + ui/icon/inventory/icon_armor.png + + + 516 + + + 770 + + + 1027 + + + + m.heavy_plate_mail + f.heavy_plate_mail + 850 + 4 + + Armor + + 200 + 7000 + + -0.1 + LOW + false + + + item/gear/armor/plate/model.dat + + Colorization + 257 + Variant + dark-powder + + + + + + + PC/Defense/Armor/Armor Base +05 + + + + 1 + 30 + + + 256 + -30 + + + + + + + Gear/Armor/Icebreaker Armor + + + ui/icon/inventory/icon_armor.png + + + 535 + + + 771 + + + 1045 + + + + m.icebreaker_armor + f.icebreaker_armor + 350 + 2 + + Armor + + 150 + 5000 + + item/gear/armor/doublebelt/model_recolor.dat + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 1.0 + 1.0 + + + -0.08 + -0.35 + -0.4 + + + Colorization + 257 + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 1.0 + 1.0 + + + 0.23 + -0.45 + -0.675 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.345 + 1.0 + + + 0.545 + -0.7 + -0.227 + + + + + + + + + PC/Defense/Armor/Armor Base + + + + + PC/Defense/Armor/Armor Base -10 + + ELEMENTAL + + + 8 + 20 + + + 20 + -10 + + + + + + + Gear/Armor/Ironmight Plate Mail + + + ui/icon/inventory/icon_armor.png + + + 516 + + + 770 + + + 1036 + + + + m.ironmight_plate_mail + f.ironmight_plate_mail + 350 + 5 + + Armor + + 150 + 5000 + + -0.1 + LOW + false + + + item/gear/armor/plate/model_red.dat + + Colorization + 257 + + + + + + + PC/Defense/Armor/Armor Base +05 + + + + + PC/Defense/Armor/Armor Base -10 + + PIERCING + + + 1 + 40 + + + 256 + -40 + + + + + + + Gear/Armor/Jelly Mail + + + ui/icon/inventory/icon_armor.png + + + 547 + + + 802 + + + 1060 + + + + m.jelly_mail + f.jelly_mail + 350 + 2 + + Armor + + 150 + 5000 + + item/gear/armor/demojelly/model.dat + + Colorization + 257 + Variant + Pink + + + + + + + PC/Defense/Armor/Armor Base -10 + + + + + PC/Defense/Armor/Armor Base + + PIERCING + + + 257 + 10 + + + + + + + Gear/Armor/Justifier Jacket + + + ui/icon/inventory/icon_coat.png + + + 527 + + + 800 + + + 1027 + + + + m.justifier_jacket + f.justifier_jacket + 2000 + 5 + + Armor + + 200 + 10000 + + HANDGUN + + MEDIUM + + + + item/gear/armor/poncho/model_glow.dat + + Colorization + 257 + Variant + Cowboy Justifer + + + + + + + PC/Defense/Helm/Helm Base -05 + + + + + PC/Defense/Armor/Armor Base -10 + + PIERCING + + + + + + + Gear/Armor/Mad Bomber Suit + + + ui/icon/inventory/icon_coat.png + + + 523 + + + 774 + + + 1027 + + + + m.mad_bomber_suit + f.mad_bomber_suit + 2000 + 5 + + Armor + + 200 + 10000 + + + + BOMB + + 0.2 + MEDIUM + + + + BOMB + + 0.2 + MEDIUM + + + + + + item/gear/armor/demojelly/model_demo.dat + + Colorization + 257 + Variant + Mad Suit + + + + + + + PC/Defense/Armor/Armor Base -10 + + + + + PC/Defense/Armor/Armor Base -10 + + ELEMENTAL + + + 30 + -20 + + + + + + + Gear/Armor/Magic Cloak + + + ui/icon/inventory/icon_cloak.png + + + 2 + + -0.206 + -0.727 + -0.815 + + + + 769 + + + 1028 + + + + m.magic_cloak + f.magic_cloak + 350 + 2 + + Armor + + 150 + 5000 + + item/gear/armor/poncho/model.dat + + Colorization + 257 + Variant + Mage Arrow + + + + + + + PC/Defense/Armor/Armor Base -10 + + + + + PC/Defense/Armor/Armor Base + + ELEMENTAL + + + 20 + 10 + + + 1 + -10 + + + + + + + Gear/Armor/Mercurial Mail + + + ui/icon/inventory/icon_armor.png + + + 547 + + + 771 + + + 1045 + + + + m.mercurial_mail + f.mercurial_mail + 2000 + 5 + + Armor + + 200 + 10000 + + MEDIUM + + + item/gear/armor/demojelly/model.dat + + Colorization + 257 + Variant + Silver-Alt + + + + + + + PC/Defense/Armor/Armor Base -10 + + + + + PC/Defense/Armor/Armor Base -10 + + PIERCING + + + 16 + 40 + + + + + + + Gear/Armor/Mighty Cobalt Armor + + + ui/icon/inventory/icon_armor.png + + + 535 + + + 792 + + + 1046 + + + + m.mighty_cobalt_armor + f.mighty_cobalt_armor + 350 + 4 + + Armor + + 150 + 5000 + + item/gear/armor/doublebelt/model_cobalt.dat + + Colorization + 257 + Variant + Cobalt Rank 3 + + + + + + + PC/Defense/Armor/Armor Base + + + + + PC/Defense/Armor/Armor Base -10 + + PIERCING + + + + + + + Gear/Armor/Miracle Cloak + + + ui/icon/inventory/icon_cloak.png + + + 2 + + -0.206 + -0.727 + -0.815 + + + + 782 + + + 1028 + + + + m.miracle_cloak + f.miracle_cloak + 850 + 4 + + Armor + + 200 + 7000 + + item/gear/armor/poncho/model.dat + + Colorization + 257 + Variant + salamander + + + + + + + PC/Defense/Armor/Armor Base -10 + + + + + PC/Defense/Armor/Armor Base + + ELEMENTAL + + + 20 + 30 + + + 1 + -30 + + + + + + + Gear/Armor/Nameless Poncho + + + ui/icon/inventory/icon_coat.png + + + 527 + + + 770 + + + 1050 + + + + m.nameless_poncho + f.nameless_poncho + 2000 + 5 + + Armor + + 200 + 10000 + + + + HANDGUN + + MEDIUM + + + + + + item/gear/armor/poncho/model_glow.dat + + Colorization + 257 + Variant + Cowboy EpicHero + + + + + + + PC/Defense/Armor/Armor Base -05 + + + + + PC/Defense/Armor/Armor Base -10 + + ELEMENTAL + + + + + + + Gear/Armor/Parts/Proto (Base) + + + Name + implementation.name + + + Flavor + implementation.flavor + + + Model + implementation.model + + + + Variant + + + Colorizations + implementation.icon.colorizations + + + Red + implementation.model["Red"] + + + Green + implementation.model["Green"] + + + Blue + implementation.model["Blue"] + + + + + + gold-hazel-navy + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.5 + -0.334 + -0.49 + + + Colorizations + + + 539 + + + 778 + + + 1038 + + + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + 0.286 + -0.404 + -0.633 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.345 + 1.0 + + + 0.111 + -0.23 + -0.227 + + + Variant + gold-hazel-navy + + + + + lblue-gray-dgray + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.06 + -0.735 + -0.413 + + + Colorizations + + + 516 + + + 771 + + + 1049 + + + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + 0.21 + -0.632 + -0.656 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.345 + 1.0 + + + 0.588 + -0.315 + -0.338 + + + Variant + lblue-gray-dgray + + + + + lpurple-magenta-navy + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + 0.0050 + -0.544 + -0.532 + + + Colorizations + + + 547 + + + 793 + + + 1053 + + + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + 0.311 + -0.458 + -0.682 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.345 + 1.0 + + + -0.299 + -0.575 + -0.281 + + + Variant + lpurple-magenta-navy + + + + + red-orange-navy + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + 0.389 + -0.429 + -0.513 + + + Colorizations + + + 516 + + + 780 + + + 1030 + + + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + 0.235 + -0.483 + -0.691 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.345 + 1.0 + + + -0.017 + -0.132 + -0.331 + + + Variant + red-orange-navy + + + + + silver-rose-dgray + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + 0.345 + -0.166 + -0.506 + + + Colorizations + + + 519 + + + 773 + + + 1027 + + + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.292 + -0.473 + -0.661 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.345 + 1.0 + + + 0.66 + -0.68 + -0.42 + + + Variant + silver-rose-dgray + + + + + tan-teal-navy + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.2 + -0.47 + -0.482 + + + Colorizations + + + 539 + + + 791 + + + 1036 + + + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + 0.241 + -0.375 + -0.715 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.345 + 1.0 + + + 0.046 + -0.618 + -0.312 + + + Variant + tan-teal-navy + + + + + purple-sea-grey + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.139 + -0.539 + -0.53 + + + Colorizations + + + 543 + + + 792 + + + 1027 + + + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + 0.338 + -0.366 + -0.57 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.345 + 1.0 + + + 0.641 + -0.665 + -0.438 + + + + + + gold-hazel-navy + + + Starter + implementation.starter + + + + + ui/icon/inventory/icon_armor.png + + + 513 + + + 770 + + + 1027 + + + + 25 + + Armor + + 50 + 1300 + + item/gear/armor/rearpouch/model_recolor.dat + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.5 + -0.334 + -0.49 + + + Colorization + 257 + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + 0.286 + -0.314 + -0.499 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.345 + 1.0 + + + 0.111 + -0.23 + -0.227 + + + + + + + + + PC/Defense/Armor/Armor Base + + + + + + + + Gear/Armor/Quicksilver Mail + + + ui/icon/inventory/icon_armor.png + + + 547 + + + 771 + + + 1045 + + + + m.quicksilver_mail + f.quicksilver_mail + 2000 + 4 + + Armor + + 200 + 10000 + + LOW + + + item/gear/armor/demojelly/model.dat + + Colorization + 257 + Variant + Silver + + + + + + + PC/Defense/Armor/Armor Base -10 + + + + + PC/Defense/Armor/Armor Base -10 + + PIERCING + + + 16 + 30 + + + + + + + Gear/Armor/Radiant Silvermail + + + ui/icon/inventory/icon_armor.png + + + 535 + + + 771 + + + 1037 + + + + m.radiant_silvermail + f.radiant_silvermail + 350 + 5 + + Armor + + 150 + 5000 + + MEDIUM + fam_undead + + + item/gear/armor/valkyrie/model.dat + + Colorization + 257 + Variant + Yellow + + + + + + + PC/Defense/Armor/Armor Base -05 + + PIERCING + + + + PC/Defense/Armor/Armor Base -05 + + SHADOW + + + 34 + 40 + + + + + + + Gear/Armor/Rock Jelly Mail + + + ui/icon/inventory/icon_armor.png + + + 547 + + + 802 + + + 1052 + + + + m.rock_jelly_mail + f.rock_jelly_mail + 850 + 4 + + Armor + + 200 + 7000 + + item/gear/armor/demojelly/model.dat + + Colorization + 257 + Variant + Rock + + + + + + + PC/Defense/Armor/Armor Base -10 + + + + + PC/Defense/Armor/Armor Base + + PIERCING + + + 257 + 30 + + + + + + + Gear/Armor/Royal Jelly Mail + + + ui/icon/inventory/icon_armor.png + + + 547 + + + 798 + + + 1048 + + + + m.royal_jelly_mail + f.royal_jelly_mail + 2000 + 5 + + Armor + + 200 + 10000 + + item/gear/armor/demojelly/model.dat + + Colorization + 257 + Variant + Royal + + + + + + + PC/Defense/Armor/Armor Base -10 + + + + + PC/Defense/Armor/Armor Base + + PIERCING + + + 257 + 40 + + + + + + + Gear/Armor/Salamander Suit + + + ui/icon/inventory/icon_coat.png + + + 519 + + + 772 + + + 1030 + + + + m.salamander_suit + f.salamander_suit + 2000 + 4 + + Armor + + 200 + 10000 + + LOW + fam_slime + + + item/gear/armor/lizardsuit/model.dat + + Colorization + 257 + Variant + salamander + + + + + + + PC/Defense/Armor/Armor Base -05 + + + + + PC/Defense/Armor/Armor Base -10 + + ELEMENTAL + + + 4 + 30 + + + + + + + Gear/Armor/Scary Skelly Suit + + + ui/icon/inventory/icon_coat.png + + + 543 + + + 782 + + + 1049 + + + + m.scary_skelly_suit + f.scary_skelly_suit + 350 + 3 + + Armor + + 150 + 5000 + + item/gear/armor/skelly/model.dat + + Colorization + 257 + Variant + Scary Skelly + + + + + + + PC/Defense/Armor/Armor Base -10 + + + + + PC/Defense/Armor/Armor Base + + SHADOW + + + 10 + 20 + + + 4 + -20 + + + + + + + Gear/Armor/Seraphic Mail + + + ui/icon/inventory/icon_armor.png + + + 547 + + + 804 + + + 1057 + + + + m.seraphic_mail + f.seraphic_mail + 850 + 4 + + Armor + + 200 + 7000 + + + + 0.1 + LOW + fam_fiend + + + + + item/gear/armor/valkyrie/model.dat + + Colorization + 257 + Variant + pink_angel + + + + + + + PC/Defense/Armor/Armor Base -10 + + + + + PC/Defense/Armor/Armor Base -10 + + SHADOW + + + 34 + 30 + + + 4 + -30 + + + + + + + Gear/Armor/Shadowsun Slicker + + + ui/icon/inventory/icon_coat.png + + + 527 + + + 774 + + + 1028 + + + + m.shadowsun_slicker + f.shadowsun_slicker + 2000 + 5 + + Armor + + 200 + 10000 + + HANDGUN + + 0.2 + LOW + + + + item/gear/armor/poncho/model_glow.dat + + Colorization + 257 + Variant + Cowboy Villain + + + + + + + PC/Defense/Helm/Helm Base -05 + + + + + PC/Defense/Armor/Armor Base -10 + + PIERCING + + + 34 + -40 + + + + + + + Gear/Armor/Silvermail + + + ui/icon/inventory/icon_armor.png + + + 535 + + + 771 + + + 1049 + + + + m.silvermail + f.silvermail + 350 + 4 + + Armor + + 150 + 5000 + + LOW + fam_undead + + + item/gear/armor/valkyrie/model.dat + + Colorization + 257 + Variant + Blue + + + + + + + PC/Defense/Armor/Armor Base -05 + + PIERCING + + + + PC/Defense/Armor/Armor Base -05 + + SHADOW + + + 34 + 30 + + + + + + + Gear/Armor/Sinister Skelly Suit + + + ui/icon/inventory/icon_coat.png + + + 543 + + + 771 + + + 1031 + + + + m.sinister_skelly_suit + f.sinister_skelly_suit + 850 + 4 + + Armor + + 200 + 7000 + + item/gear/armor/skelly/model.dat + + Colorization + 257 + Variant + Sinister Skelly + + + + + + + PC/Defense/Armor/Armor Base -10 + + + + + PC/Defense/Armor/Armor Base + + SHADOW + + + 10 + 30 + + + 4 + -30 + + + + + + + Gear/Armor/Skelly Suit + + + ui/icon/inventory/icon_coat.png + + + 543 + + + 790 + + + 1049 + + + + m.skelly_suit + f.skelly_suit + 350 + 2 + + Armor + + 150 + 5000 + + item/gear/armor/skelly/model.dat + + Colorization + 257 + Variant + Tan Green + + + + + + + PC/Defense/Armor/Armor Base -10 + + + + + PC/Defense/Armor/Armor Base + + SHADOW + + + 10 + 10 + + + 4 + -10 + + + + + + + Gear/Armor/Skolver Coat + + + ui/icon/inventory/icon_coat.png + + + 531 + + + 771 + + + 1025 + + + + m.skolver_coat + f.skolver_coat + 350 + 5 + + Armor + + 150 + 5000 + + + MEDIUM + + + + item/gear/armor/coat/model_light.dat + + Colorization + 257 + + + + + + + PC/Defense/Armor/Armor Base -05 + + + + + PC/Defense/Armor/Armor Base -10 + + PIERCING + + + 8 + 40 + + + + + + + Gear/Armor/Solid Cobalt Armor + + + ui/icon/inventory/icon_armor.png + + + 535 + + + 792 + + + 1046 + + + + m.solid_cobalt_armor + f.solid_cobalt_armor + 350 + 3 + + Armor + + 150 + 5000 + + item/gear/armor/doublebelt/model_cobalt.dat + + Colorization + 257 + Variant + Cobalt Rank 2 + + + + + + + PC/Defense/Armor/Armor Base + + + + + PC/Defense/Armor/Armor Base -10 + + PIERCING + + + + + + + Gear/Armor/Spiral Brigandine + + + Variant + implementation.item["Variant"] + + + + + Gear/Armor/Parts/Proto (Base) + + Flavor + f.spiral_brigandine + Model + + item/gear/armor/doublebelt/model_recolor.dat + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 1.0 + 1.0 + + + -0.5 + -0.334 + -0.49 + + + Colorization + 257 + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 1.0 + 1.0 + + + 0.286 + -0.314 + -0.499 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.345 + 1.0 + + + 0.111 + -0.23 + -0.227 + + + + + Name + m.spiral_brigandine + Starter + true + Variant + gold-hazel-navy + + + + + + Gear/Armor/Spiral Cuirass + + + Variant + implementation.item["Variant"] + + + + + Gear/Armor/Parts/Proto (Base) + + Flavor + f.spiral_cuirass + Model + + item/gear/armor/rivet/model_recolor.dat + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 1.0 + 1.0 + + + -0.5 + -0.334 + -0.49 + + + Colorization + 257 + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 1.0 + 1.0 + + + 0.286 + -0.314 + -0.499 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.345 + 1.0 + + + 0.111 + -0.23 + -0.227 + + + + + Name + m.spiral_cuirass + Starter + true + Variant + gold-hazel-navy + + + + + + Gear/Armor/Spiral Culet + + + Variant + implementation.item["Variant"] + + + + + Gear/Armor/Parts/Proto (Base) + + Flavor + f.spiral_culet + Model + + item/gear/armor/rearpouch/model_recolor.dat + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 1.0 + 1.0 + + + -0.5 + -0.334 + -0.49 + + + Colorization + 257 + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 1.0 + 1.0 + + + 0.286 + -0.314 + -0.499 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.345 + 1.0 + + + 0.111 + -0.23 + -0.227 + + + + + Name + m.spiral_culet + Starter + true + Variant + gold-hazel-navy + + + + + + Gear/Armor/Spiral Demo Suit + + + ui/icon/inventory/icon_coat.png + + + 523 + + + 784 + + + 1037 + + + + m.spiral_demo_suit + f.spiral_demo_suit + 350 + 2 + + Armor + + 150 + 5000 + + BOMB + + 0.1 + LOW + + + + item/gear/armor/demojelly/model_demo.dat + + Colorization + 257 + Variant + Spiral Suit + + + + + + + PC/Defense/Armor/Armor Base -05 + + + + + PC/Defense/Armor/Armor Base -10 + + ELEMENTAL + + + + + + + Gear/Armor/Spiral Plate Mail + + + ui/icon/inventory/icon_armor.png + + + 516 + + + 770 + + + 1049 + + + + m.spiral_plate_mail + f.spiral_plate_mail + 350 + 2 + + Armor + + 150 + 5000 + + -0.1 + LOW + false + + + item/gear/armor/plate/model.dat + + Colorization + 257 + Variant + spiral + + + + + + + PC/Defense/Armor/Armor Base +05 + + + + 1 + 10 + + + 256 + -10 + + + + + + + Gear/Armor/Spiral Scale Mail + + + ui/icon/inventory/icon_armor.png + + + 531 + + + 771 + + + 1053 + + + + m.spiral_scale_mail + f.spiral_scale_mail + 350 + 1 + + Armor + + 150 + 5000 + + item/gear/armor/hybrid/model.dat + + Colorization + 257 + Variant + chromalisk + + + + + + + PC/Defense/Armor/Armor Base + + + + + PC/Defense/Armor/Armor Base -10 + + PIERCING + + + + + + + Gear/Armor/Sunset Duster + + + ui/icon/inventory/icon_coat.png + + + 527 + + + 794 + + + 1036 + + + + m.sunset_duster + f.sunset_duster + 850 + 4 + + Armor + + 200 + 7000 + + HANDGUN + + LOW + + + + item/gear/armor/poncho/model.dat + + Colorization + 257 + Variant + Cowboy Yellow + + + + + + + PC/Defense/Armor/Armor Base -05 + + + + + PC/Defense/Armor/Armor Base -10 + + PIERCING + + + + + + + Gear/Armor/Surge Breaker Armor + + + ui/icon/inventory/icon_armor.png + + + 2 + + -0.35 + -0.5 + -0.75 + + + + 3 + + 0.455 + -0.637 + -0.351 + + + + 4 + + 0.252 + -0.178 + -0.386 + + + + + m.surge_breaker_armor + f.surge_breaker_armor + 75 + 3 + + Armor + + 100 + + item/gear/armor/rivet/model_recolor.dat + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.183 + -0.6 + -0.52 + + + Colorization + 257 + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + 0.11 + -0.75 + -0.75 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.345 + 1.0 + + + -0.04 + -0.35 + -0.45 + + + + + + + + + PC/Defense/Armor/Armor Base + + + + + PC/Defense/Armor/Armor Base -10 + + ELEMENTAL + + + 16 + 30 + + + 12 + -10 + + + + + + + Gear/Armor/Valkyrie Mail + + + ui/icon/inventory/icon_armor.png + + + 547 + + + 769 + + + 1026 + + + + m.valkyrie_mail + f.valkyrie_mail + 2000 + 5 + + Armor + + 200 + 10000 + + + + 0.15 + MEDIUM + fam_fiend + + + + + item/gear/armor/valkyrie/model.dat + + Colorization + 257 + Variant + Gold + + + + + + + PC/Defense/Armor/Armor Base -10 + + + + + PC/Defense/Armor/Armor Base -10 + + SHADOW + + + 34 + 40 + + + 4 + -40 + + + + + + + Gear/Armor/Virulisk Suit + + + ui/icon/inventory/icon_coat.png + + + 531 + + + 800 + + + 1036 + + + + m.virulisk_suit + f.virulisk_suit + 2000 + 4 + + Armor + + 200 + 10000 + + 0.15 + LOW + fam_slime + + + item/gear/armor/lizardsuit/model.dat + + Colorization + 257 + Variant + viral + + + + + + + PC/Defense/Armor/Armor Base -05 + + + + + PC/Defense/Armor/Armor Base -10 + + PIERCING + + + 2 + 30 + + + + + + + Gear/Armor/Vitasuit + + + ui/icon/inventory/icon_armor.png + + + 516 + + + 774 + + + 1026 + + + + m.vitasuit + f.vitasuit + 350 + + Armor + + 150 + 5000 + + LOW + + + item/gear/armor/rivet/model_vita.dat + + Colorization + 257 + Variant + vitasuit + + + + + + + PC/Defense/Armor/Armor Base + + + + + + + + Gear/Armor/Vitasuit Deluxe + + + ui/icon/inventory/icon_armor.png + + + 516 + + + 774 + + + 1025 + + + + m.vitasuit_deluxe + f.vitasuit_deluxe + 350 + 4 + + Armor + + 150 + 5000 + + 120 + HIGH + + + item/gear/armor/rivet/model_vita.dat + + Colorization + 257 + Variant + vitasuit deluxe + + + + + + + PC/Defense/Armor/Armor Base + + + + + + + + Gear/Armor/Vitasuit Plus + + + ui/icon/inventory/icon_armor.png + + + 516 + + + 774 + + + 1027 + + + + m.vitasuit_plus + f.vitasuit_plus + 350 + 2 + + Armor + + 150 + 5000 + + 80 + MEDIUM + + + item/gear/armor/rivet/model_vita.dat + + Colorization + 257 + Variant + vitasuit plus + + + + + + + PC/Defense/Armor/Armor Base + + + + + + + + Gear/Armor/Vog Cub Coat + + + ui/icon/inventory/icon_coat.png + + + 519 + + + 774 + + + 1028 + + + + m.vog_cub_coat + f.vog_cub_coat + 350 + 5 + + Armor + + 150 + 5000 + + + MEDIUM + + + + item/gear/armor/coat/model_fire.dat + + Colorization + 257 + + + + + + + PC/Defense/Armor/Armor Base -05 + + + + + PC/Defense/Armor/Armor Base -10 + + ELEMENTAL + + + 4 + 40 + + + + + + + Gear/Armor/Volcanic Demo Suit + + + ui/icon/inventory/icon_coat.png + + + 519 + + + 774 + + + 1027 + + + + m.volcanic_demo_suit + f.volcanic_demo_suit + 2000 + 5 + + Armor + + 200 + 10000 + + BOMB + + 0.2 + LOW + + + + item/gear/armor/demojelly/model_demo.dat + + Colorization + 257 + Variant + Volcanic Suit + + + + + + + PC/Defense/Armor/Armor Base -05 + + + + + PC/Defense/Armor/Armor Base -10 + + ELEMENTAL + + + 4 + 40 + + + + + + + Gear/Armor/Volcanic Plate Mail + + + ui/icon/inventory/icon_armor.png + + + 519 + + + 774 + + + 1027 + + + + m.volcanic_plate_mail + f.volcanic_plate_mail + 2000 + 5 + + Armor + + 200 + 10000 + + -0.1 + LOW + false + + + item/gear/armor/plate/model.dat + + Colorization + 257 + Variant + volcanic + + + + + + + PC/Defense/Armor/Armor Base +05 + + + + + PC/Defense/Armor/Armor Base -10 + + ELEMENTAL + + + 5 + 40 + + + 256 + -40 + + + + + + + Gear/Armor/Volcanic Salamander Suit + + + ui/icon/inventory/icon_coat.png + + + 519 + + + 772 + + + 1030 + + + + m.volcanic_salamander_suit + f.volcanic_salamander_suit + 2000 + 5 + + Armor + + 200 + 10000 + + 0.2 + MEDIUM + fam_slime + + + item/gear/armor/lizardsuit/model_fire.dat + + Colorization + 257 + + + + + + + PC/Defense/Armor/Armor Base -05 + + + + + PC/Defense/Armor/Armor Base -10 + + ELEMENTAL + + + 4 + 40 + + + + + + + Gear/Armor/Volt Breaker Armor + + + ui/icon/inventory/icon_armor.png + + + 2 + + -0.466 + -0.592 + -0.77 + + + + 771 + + + 4 + + 0.303 + -0.345 + -0.429 + + + + + m.volt_breaker_armor + f.volt_breaker_armor + 350 + 2 + + Armor + + 150 + 5000 + + item/gear/armor/rivet/model_recolor.dat + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.183 + -0.6 + -0.52 + + + Colorization + 257 + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + 0.11 + -0.5 + -0.65 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.385 + 1.0 + + + -0.02 + -0.24 + -0.45 + + + + + + + + + PC/Defense/Armor/Armor Base + + + + + PC/Defense/Armor/Armor Base -10 + + ELEMENTAL + + + 16 + 20 + + + 12 + -10 + + + + + + + Gear/Armor/Wolver Coat + + + ui/icon/inventory/icon_coat.png + + + 531 + + + 780 + + + 1037 + + + + m.wolver_coat + f.wolver_coat + 350 + 2 + + Armor + + 150 + 5000 + + + 0.1 + LOW + + + + item/gear/armor/coat/model.dat + + Colorization + 257 + Variant + Wolver + + + + + + + PC/Defense/Armor/Armor Base -05 + + + + + PC/Defense/Armor/Armor Base -10 + + PIERCING + + + 8 + 10 + + + + + + + Gear/Armor/Wyvern Scale Mail + + + ui/icon/inventory/icon_armor.png + + + 2 + + -0.206 + -0.727 + -0.75 + + + + 3 + + -0.44 + -0.326 + -0.351 + + + + 4 + + -0.035 + -0.9 + -0.429 + + + + + m.wyvern_scale_mail + f.wyvern_scale_mail + 850 + 4 + + Armor + + 200 + 7000 + + LOW + fam_beast + + + item/gear/armor/hybrid/model.dat + + Colorization + 257 + Variant + drake + + + + + + + PC/Defense/Armor/Armor Base -05 + + PIERCING + + + + PC/Defense/Armor/Armor Base -05 + + ELEMENTAL + + + 4 + 30 + + + + + + + Gear/Dungeon/Vitapod/Health +01 + + + Gear/Dungeon/Vitapod/Parts/Base + + Capsules + 1 + Flavor + f.vitapod|~1 + Health + 40 + Name + m.vitapod|~1 + Rarity + 0 + + + + + + Gear/Dungeon/Vitapod/Health +02 + + + Gear/Dungeon/Vitapod/Parts/Base + + Capsules + 2 + Flavor + f.vitapod|~2 + Health + 80 + Name + m.vitapod|~2 + Rarity + 0 + + + + + + Gear/Dungeon/Vitapod/Health +03 + + + Gear/Dungeon/Vitapod/Parts/Base + + Capsules + 3 + Flavor + f.vitapod|~4 + Health + 120 + Name + m.vitapod|~3 + Rarity + 1 + + + + + + Gear/Dungeon/Vitapod/Health +04 + + + Gear/Dungeon/Vitapod/Parts/Base + + Capsules + 4 + Flavor + f.vitapod|~4 + Health + 160 + Name + m.vitapod|~4 + Rarity + 2 + + + + + + Gear/Dungeon/Vitapod/Health +05 + + + Gear/Dungeon/Vitapod/Parts/Base + + Capsules + 5 + Flavor + f.vitapod|~5 + Health + 200 + Name + m.vitapod|~5 + Rarity + 2 + + + + + + Gear/Dungeon/Vitapod/Health +06 + + + Gear/Dungeon/Vitapod/Parts/Base + + Capsules + 6 + Flavor + f.vitapod|~6 + Health + 240 + Name + m.vitapod|~6 + Rarity + 3 + + + + + + Gear/Dungeon/Vitapod/Health +07 + + + Gear/Dungeon/Vitapod/Parts/Base + + Capsules + 7 + Flavor + f.vitapod|~7 + Health + 280 + Name + m.vitapod|~7 + Rarity + 3 + + + + + + Gear/Dungeon/Vitapod/Health +08 + + + Gear/Dungeon/Vitapod/Parts/Base + + Capsules + 8 + Flavor + f.vitapod|~8 + Health + 320 + Name + m.vitapod|~8 + Rarity + 3 + + + + + + Gear/Dungeon/Vitapod/Health +09 + + + Gear/Dungeon/Vitapod/Parts/Base + + Capsules + 9 + Flavor + f.vitapod|~9 + Health + 360 + Name + m.vitapod|~9 + Rarity + 4 + + + + + + Gear/Dungeon/Vitapod/Health +10 + + + Gear/Dungeon/Vitapod/Parts/Base + + Capsules + 10 + Flavor + f.vitapod|~10 + Health + 400 + Name + m.vitapod|~10 + Rarity + 4 + + + + + + Gear/Dungeon/Vitapod/Health +11 + + + Gear/Dungeon/Vitapod/Parts/Base + + Capsules + 11 + Flavor + f.vitapod|~11 + Health + 440 + Name + m.vitapod|~11 + Rarity + 4 + + + + + + Gear/Dungeon/Vitapod/Health +12 + + + Gear/Dungeon/Vitapod/Parts/Base + + Capsules + 12 + Flavor + f.vitapod|~12 + Health + 480 + Name + m.vitapod|~12 + Rarity + 5 + + + + + + Gear/Dungeon/Vitapod/Health +13 + + + Gear/Dungeon/Vitapod/Parts/Base + + Capsules + 13 + Flavor + f.vitapod|~13 + Health + 520 + Name + m.vitapod|~13 + Rarity + 5 + + + + + + Gear/Dungeon/Vitapod/Health +14 + + + Gear/Dungeon/Vitapod/Parts/Base + + Capsules + 14 + Flavor + f.vitapod|~14 + Health + 560 + Name + m.vitapod|~14 + Rarity + 5 + + + + + + Gear/Dungeon/Vitapod/Health +15 + + + Gear/Dungeon/Vitapod/Parts/Base + + Capsules + 15 + Flavor + f.vitapod|~15 + Health + 600 + Name + m.vitapod|~15 + Rarity + 5 + + + + + + Gear/Dungeon/Vitapod/Health +16 + + + Gear/Dungeon/Vitapod/Parts/Base + + Capsules + 16 + Flavor + f.vitapod|~16 + Health + 640 + Name + m.vitapod|~16 + Rarity + 5 + + + + + + Gear/Dungeon/Vitapod/Health +18 + + + Gear/Dungeon/Vitapod/Parts/Base + + Capsules + 18 + Flavor + f.vitapod|~18 + Health + 720 + Name + m.vitapod|~18 + Rarity + 5 + + + + + + Gear/Dungeon/Vitapod/Health +20 + + + Gear/Dungeon/Vitapod/Parts/Base + + Capsules + 20 + Flavor + f.vitapod|~20 + Health + 800 + Name + m.vitapod|~20 + Rarity + 5 + + + + + + Gear/Dungeon/Vitapod/Health +21 + + + Gear/Dungeon/Vitapod/Parts/Base + + Capsules + 21 + Flavor + f.vitapod|~21 + Health + 840 + Name + m.vitapod|~21 + Rarity + 5 + + + + + + Gear/Dungeon/Vitapod/Health +24 + + + Gear/Dungeon/Vitapod/Parts/Base + + Capsules + 24 + Flavor + f.vitapod|~24 + Health + 960 + Name + m.vitapod|~24 + Rarity + 5 + + + + + + Gear/Dungeon/Vitapod/Health +27 + + + Gear/Dungeon/Vitapod/Parts/Base + + Capsules + 27 + Flavor + f.vitapod|~27 + Health + 1080 + Name + m.vitapod|~27 + Rarity + 5 + + + + + + Gear/Dungeon/Vitapod/Health +28 + + + Gear/Dungeon/Vitapod/Parts/Base + + Capsules + 28 + Flavor + f.vitapod|~28 + Health + 1120 + Name + m.vitapod|~28 + Rarity + 5 + + + + + + Gear/Dungeon/Vitapod/Health +29 + + + Gear/Dungeon/Vitapod/Parts/Base + + Capsules + 29 + Flavor + f.vitapod|~29 + Health + 1160 + Name + m.vitapod|~29 + Rarity + 5 + + + + + + Gear/Dungeon/Vitapod/Health +30 + + + Gear/Dungeon/Vitapod/Parts/Base + + Capsules + 30 + Flavor + f.vitapod|~30 + Health + 1200 + Name + m.vitapod|~30 + Rarity + 5 + + + + + + Gear/Dungeon/Vitapod/Parts/Base + + + Capsules + implementation.model["number"], implementation.count + + + Health + implementation.global_modifier.health + + + Name + implementation.name + + + Flavor + implementation.flavor + + + Rarity + implementation.rarity + + + + + ui/icon/inventory/icon_vitapod.png + + m.vitapod|~0 + f.vitapod|~0 + + Vitapod + + false + + 80 + + + item/consumable/vitapod/model.dat + + Variant + Vitapod + number + 1 + + + 1 + + + + Gear/Helm/(Dev) ModelTester + + + Name + implementation.name + + + Model + implementation.model + + + + + ui/icon/inventory/icon_helmet_nocore.png + + + 516 + + + 771 + + + 1026 + + + + ModelTester (Head) + 5 + + Helm + + 0 + 0 + + item/gear/helm/pith/model.dat + + Colorization + 257 + Variant + grey + + + + + + + PC/Defense/Helm/Helm Base + + + + + PC/Defense/Helm/Helm Base + + PIERCING + + + + PC/Defense/Helm/Helm Base + + ELEMENTAL + + + + PC/Defense/Helm/Helm Base + + SHADOW + + + + + + + Gear/Helm/(Dev) Nobody + + + ui/icon/inventory/icon_helmet_nocore.png + + + 531 + + + 786 + + + 1041 + + + + For being silly. + Snipe Hat + + Helm + + + particle/fx_smokensparks.dat + + + + + + + 16383 + + + + + + + Gear/Helm/(Dev) Snipe + + + ui/icon/inventory/icon_helmet_nocore.png + + + 531 + + + 786 + + + 1041 + + + + For being silly. + Snipe Hat + + Helm + + + character/npc/snipe/parts/compound_snipe.dat + + Colorization + 257 + + + + + + + + 16383 + + + + + + + Gear/Helm/Ancient Plate Helm + + + ui/icon/inventory/icon_helmet.png + + + 523 + + + 788 + + + 1027 + + + + m.ancient_plate_helm + f.ancient_plate_helm + 2000 + 5 + + Helm + + 200 + 10000 + + + + -0.15 + LOW + false + + + -0.1 + LOW + false + + + 120 + HIGH + + + + + item/gear/helm/bucket/model.dat + + Colorization + 257 + Variant + ancient + + + + + + + PC/Defense/Helm/Helm Base +10 + + + + 1 + 40 + + + 256 + -40 + + + + + + + Gear/Helm/Angelic Helm + + + ui/icon/inventory/icon_helmet.png + + + 547 + + + 804 + + + 1057 + + + + m.angelic_helm + f.angelic_helm + 850 + 3 + + Helm + + 200 + 7000 + + + + 0.05 + LOW + fam_fiend + + + + + item/gear/helm/valkyrie/model_v2.dat + + Colorization + 257 + Variant + Purple + + + + + + + PC/Defense/Helm/Helm Base -10 + + + + + PC/Defense/Helm/Helm Base -10 + + SHADOW + + + 34 + 20 + + + 4 + -20 + + + + + + + Gear/Helm/Ash Tail Cap + + + ui/icon/inventory/icon_hat.png + + + 531 + + + 770 + + + 1027 + + + + m.ash_tail_cap + f.ash_tail_cap + 2000 + 4 + + Helm + + 350 + 10000 + + + 0.15 + LOW + + + + item/gear/helm/furmask/model.dat + + Colorization + 257 + Variant + Ashtail + + + + + + + PC/Defense/Helm/Helm Base -05 + + + + + PC/Defense/Helm/Helm Base -10 + + PIERCING + + + 8 + 30 + + + + + + + Gear/Helm/Azure Guardian Helm + + + ui/icon/inventory/icon_helmet.png + + + 535 + + + 792 + + + 1046 + + + + m.azure_guardian_helm + f.azure_guardian_helm + 850 + 5 + + Helm + + 200 + 7000 + + item/gear/helm/nose/model_cobalt-r4.dat + + Colorization + 257 + + + + + + + PC/Defense/Helm/Helm Base + + + + + PC/Defense/Helm/Helm Base -10 + + PIERCING + + + + + + + Gear/Helm/Black Kat Hat + + + ui/icon/inventory/icon_hat.png + + + 539 + + + 788 + + + 1056 + + + + m.black_kat_hat + f.black_kat_hat + 2000 + 5 + + Helm + + 350 + 10000 + + 0.2 + + + item/gear/helm/kathat/model.dat + + Colorization + 257 + Variant + hood_dark + + + + + + + PC/Defense/Helm/Helm Base + + + + + PC/Defense/Helm/Helm Base + + PIERCING + + + + PC/Defense/Helm/Helm Base + + ELEMENTAL + + + + PC/Defense/Helm/Helm Base + + SHADOW + + + 31 + -50 + + + 32 + -100 + + + + + + + Gear/Helm/Blazebreak Helm + + + ui/icon/inventory/icon_helmet.png + + + 2 + + -0.35 + -0.5 + -0.75 + + + + 3 + + 0.455 + -0.637 + -0.351 + + + + 4 + + 0.262 + -0.178 + -0.386 + + + + + m.blazebreak_helm + f.blazebreak_helm + 75 + 3 + + Helm + + 100 + + item/gear/helm/samurai/model_recolor.dat + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.183 + -0.6 + -0.52 + + + Colorization + 257 + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + 0.11 + -0.25 + -0.5 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.04 + -0.35 + -0.45 + + + Texture + Dire + + + + + + + PC/Defense/Helm/Helm Base + + + + + PC/Defense/Helm/Helm Base -10 + + ELEMENTAL + + + 4 + 30 + + + 24 + -10 + + + + + + + Gear/Helm/Blizzbreaker Helm + + + ui/icon/inventory/icon_helmet.png + + + 2 + + -0.35 + -0.5 + -0.75 + + + + 3 + + 0.455 + -0.637 + -0.351 + + + + 4 + + 0.262 + -0.178 + -0.386 + + + + + m.blizzbreaker_helm + f.blizzbreaker_helm + 75 + 3 + + Helm + + 100 + + item/gear/helm/samurai/model_recolor.dat + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.183 + -0.6 + -0.52 + + + Colorization + 257 + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + 0.11 + -0.25 + -0.5 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.04 + -0.35 + -0.45 + + + Texture + Dire + + + + + + + PC/Defense/Helm/Helm Base + + + + + PC/Defense/Helm/Helm Base -10 + + ELEMENTAL + + + 8 + 30 + + + 20 + -10 + + + + + + + Gear/Helm/Bombastic Demo Helm + + + ui/icon/inventory/icon_helmet.png + + + 523 + + + 798 + + + 1027 + + + + m.bombastic_demo_helm + f.bombastic_demo_helm + 350 + 5 + + Helm + + 150 + 5000 + + BOMB + + LOW + + + + item/gear/helm/samurai/model_demo.dat + + Colorization + 257 + Variant + Bombastic Helm + + + + + + + PC/Defense/Helm/Helm Base -05 + + + + + PC/Defense/Helm/Helm Base -10 + + ELEMENTAL + + + + + + + Gear/Helm/Boosted Plate Helm + + + ui/icon/inventory/icon_helmet.png + + + 516 + + + 788 + + + 1026 + + + + m.boosted_plate_helm + f.boosted_plate_helm + 350 + 3 + + Helm + + 150 + 5000 + + -0.1 + LOW + false + + + item/gear/helm/bucket/model.dat + + Colorization + 257 + Variant + heavy + + + + + + + PC/Defense/Helm/Helm Base +05 + + + + 1 + 20 + + + 256 + -20 + + + + + + + Gear/Helm/Brute Jelly Helm + + + ui/icon/inventory/icon_helmet.png + + + 547 + + + 804 + + + 1049 + + + + m.brute_jelly_helm + f.brute_jelly_helm + 350 + 3 + + Helm + + 150 + 5000 + + item/gear/helm/jelly/model.dat + + Colorization + 257 + Variant + Blue + + + + + + + PC/Defense/Armor/Armor Base -10 + + + + + PC/Defense/Helm/Helm Base + + PIERCING + + + 257 + 20 + + + + + + + Gear/Helm/Chaos Cowl + + + ui/icon/inventory/icon_mask.png + + + 543 + + + 3 + + 0.393 + -0.667 + -0.534 + + + + 4 + + -0.0073 + -0.9 + -0.282 + + + + + m.chaos_cowl + f.chaos_cowl + 2000 + 5 + + Helm + + 200 + 10000 + + + + 0.1 + LOW + + + + + item/gear/helm/hood/model.dat + + Colorization + 257 + Variant + Mage Dark + + + + + + + PC/Defense/Helm/Helm Base -10 + + + + + PC/Defense/Helm/Helm Base -10 + + ELEMENTAL + + + 319 + -20 + + + + + + + Gear/Helm/Chroma Mask + + + ui/icon/inventory/icon_mask.png + + + 531 + + + 782 + + + 1044 + + + + m.chroma_mask + f.chroma_mask + 850 + 3 + + Helm + + 200 + 7000 + + 0.1 + LOW + fam_slime + + + item/gear/helm/lizardhat/model_alt.dat + + Colorization + 257 + Variant + chromalisk + + + + + + + PC/Defense/Helm/Helm Base -05 + + + + + PC/Defense/Armor/Armor Base -10 + + PIERCING + + + 6 + 10 + + + + + + + Gear/Helm/Circuit Breaker Helm + + + ui/icon/inventory/icon_helmet.png + + + 2 + + -0.35 + -0.5 + -0.75 + + + + 3 + + 0.455 + -0.637 + -0.351 + + + + 4 + + 0.262 + -0.178 + -0.386 + + + + + m.circuit_breaker_helm + f.circuit_breaker_helm + 75 + 1 + + Helm + + 100 + + item/gear/helm/samurai/model_recolor.dat + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.183 + -0.6 + -0.52 + + + Colorization + 257 + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + 0.11 + -0.25 + -0.5 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.04 + -0.35 + -0.45 + + + Texture + Dire + + + + + + + PC/Defense/Helm/Helm Base + + + + + PC/Defense/Helm/Helm Base -10 + + ELEMENTAL + + + 16 + 10 + + + 12 + -10 + + + + + + + Gear/Helm/Cobalt Helm + + + ui/icon/inventory/icon_helmet.png + + + 535 + + + 792 + + + 1046 + + + + m.cobalt_helm + f.cobalt_helm + 850 + 2 + + Helm + + 200 + 7000 + + item/gear/helm/nose/model_cobalt.dat + + Colorization + 257 + Variant + Cobalt + + + + + + + PC/Defense/Helm/Helm Base + + + + + PC/Defense/Helm/Helm Base -10 + + PIERCING + + + + + + + Gear/Helm/Crown of the Fallen + + + ui/icon/inventory/icon_hat.png + + + 547 + + + 776 + + + 1027 + + + + m.crown_fallen + f.crown_fallen + 2000 + 5 + + Helm + + 200 + 10000 + + + + LOW + + + -0.2 + MEDIUM + false + fam_fiend + + + + + item/gear/helm/valkyrie/model_v2.dat + + Colorization + 257 + Variant + Dark + + + + + + + PC/Defense/Helm/Helm Base -10 + + + + + PC/Defense/Helm/Helm Base -10 + + SHADOW + + + 6 + 40 + + + 32 + -40 + + + + + + + Gear/Helm/Cyclops Cap + + + ui/icon/inventory/icon_hat.png + + + 516 + + + 771 + + + 1027 + + + + m.cyclops_cap + f.cyclops_cap + 350 + + Helm + + 150 + 5000 + + HANDGUN + + 0.1 + LOW + + + + item/gear/helm/pith/model_cyclopse.dat + + Colorization + 257 + + + + + + + PC/Defense/Helm/Helm Base + + + + + + + + Gear/Helm/Deadly Virulisk Mask + + + ui/icon/inventory/icon_mask.png + + + 531 + + + 800 + + + 1044 + + + + m.deadly_virulisk_mask + f.deadly_virulisk_mask + 850 + 5 + + Helm + + 200 + 7000 + + 0.2 + MEDIUM + fam_slime + + + item/gear/helm/lizardhat/model.dat + + Colorization + 257 + Variant + viral-deadly + + + + + + + PC/Defense/Helm/Helm Base -05 + + + + + PC/Defense/Helm/Helm Base -10 + + PIERCING + + + 2 + 40 + + + + + + + Gear/Helm/Deadshot Chapeau + + + ui/icon/inventory/icon_hat.png + + + 527 + + + 780 + + + 1026 + + + + m.deadshot_chapeau + f.deadshot_chapeau + 2000 + 5 + + Helm + + 200 + 10000 + + MEDIUM + fam_undead + + + item/gear/helm/widebrimhat/model.dat + + Colorization + 257 + Variant + Gunslinger + + + + + + + PC/Defense/Helm/Helm Base -05 + + + + + PC/Defense/Helm/Helm Base -10 + + SHADOW + + + 32 + 40 + + + + + + + Gear/Helm/Divine Veil + + + ui/icon/inventory/icon_mask.png + + + 516 + + + 794 + + + 4 + + 0.439 + -0.62 + -0.09 + + + + + m.divine_veil + f.divine_veil + 2000 + 5 + + Helm + + 200 + 10000 + + MEDIUM + fam_fiend + + + item/gear/helm/hood/model.dat + + Colorization + 257 + Variant + Mage Gold + + + + + + + PC/Defense/Helm/Helm Base -05 + + ELEMENTAL + + + + PC/Defense/Helm/Helm Base -05 + + SHADOW + + + 52 + 40 + + + + + + + Gear/Helm/Dragon Scale Helm + + + ui/icon/inventory/icon_helmet.png + + + 2 + + -0.75 + -0.5 + -0.75 + + + + 3 + + -0.326 + -0.351 + + + + 4 + + 0.439 + -0.9 + -0.66 + + + + + m.dragon_scale_helm + f.dragon_scale_helm + 2000 + 5 + + Helm + + 200 + 10000 + + MEDIUM + fam_beast + + + item/gear/helm/lizardhat/model_alt.dat + + Colorization + 257 + Variant + drake-red + + + + + + + PC/Defense/Helm/Helm Base -05 + + PIERCING + + + + PC/Defense/Helm/Helm Base -05 + + ELEMENTAL + + + 4 + 40 + + + + + + + Gear/Helm/Drake Scale Helm + + + ui/icon/inventory/icon_helmet.png + + + 2 + + -0.206 + -0.727 + -0.75 + + + + 3 + + -0.44 + -0.326 + -0.351 + + + + 4 + + -0.035 + -0.9 + -0.429 + + + + + m.drake_scale_helm + f.drake_scale_helm + 850 + 3 + + Helm + + 200 + 7000 + + LOW + fam_beast + + + item/gear/helm/lizardhat/model_alt.dat + + Colorization + 257 + Variant + scale-purple + + + + + + + PC/Defense/Helm/Helm Base -05 + + PIERCING + + + + PC/Defense/Helm/Helm Base -05 + + ELEMENTAL + + + 4 + 20 + + + + + + + Gear/Helm/Dread Skelly Mask + + + ui/icon/inventory/icon_mask.png + + + 543 + + + 772 + + + 1027 + + + + m.dread_skelly_mask + f.dread_skelly_mask + 2000 + 5 + + Helm + + 200 + 10000 + + item/gear/helm/skelly/model_dread.dat + + Colorization + 257 + + + + + + + PC/Defense/Helm/Helm Base -10 + + + + + PC/Defense/Helm/Helm Base + + SHADOW + + + 10 + 40 + + + 4 + -40 + + + + + + + Gear/Helm/Dusker Cap + + + ui/icon/inventory/icon_hat.png + + + 531 + + + 774 + + + 1027 + + + + m.dusker_cap + f.dusker_cap + 2000 + 3 + + Helm + + 350 + 10000 + + + 0.1 + LOW + + + + item/gear/helm/furmask/model.dat + + Colorization + 257 + Variant + Dusker + + + + + + + PC/Defense/Helm/Helm Base -05 + + + + + PC/Defense/Helm/Helm Base -10 + + PIERCING + + + 8 + 20 + + + + + + + Gear/Helm/Elemental Hood + + + ui/icon/inventory/icon_mask.png + + + 2 + + -0.206 + -0.727 + -0.815 + + + + 789 + + + 1044 + + + + m.elemental_hood + f.elemental_hood + 350 + 3 + + Helm + + 150 + 5000 + + item/gear/helm/hood/model.dat + + Colorization + 257 + Variant + Mage Moon + + + + + + + PC/Defense/Helm/Helm Base -10 + + + + + PC/Defense/Helm/Helm Base + + ELEMENTAL + + + 20 + 20 + + + 1 + -20 + + + + + + + Gear/Helm/Emberbreak Helm + + + ui/icon/inventory/icon_helmet.png + + + 523 + + + 776 + + + 1027 + + + + m.emberbreak_helm + f.emberbreak_helm + 75 + 1 + + Helm + + 100 + + item/gear/helm/doubleploom/model_recolor.dat + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + 0.333 + -0.254 + -0.333 + + + Colorization + 257 + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + 0.333 + -0.55 + -0.7 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.385 + 1.0 + + + -0.65 + -0.55 + + + Texture + Dire + + + + + + + PC/Defense/Helm/Helm Base + + + + + PC/Defense/Helm/Helm Base -10 + + ELEMENTAL + + + 4 + 10 + + + 24 + -10 + + + + + + + Gear/Helm/Feral Kat Hood + + + ui/icon/inventory/icon_mask.png + + + 531 + + + 779 + + + 1036 + + + + m.feral_kat_hood + f.feral_kat_hood + 350 + 3 + + Helm + + 150 + 5000 + + item/gear/helm/kathat/model.dat + + Colorization + 257 + Variant + hood_tan + + + + + + + PC/Defense/Helm/Helm Base + + + + + PC/Defense/Helm/Helm Base + + PIERCING + + + + PC/Defense/Helm/Helm Base + + ELEMENTAL + + + + PC/Defense/Helm/Helm Base + + SHADOW + + + 10 + 30 + + + 4 + -30 + + + + + + + Gear/Helm/Firebreak Helm + + + ui/icon/inventory/icon_helmet.png + + + 523 + + + 776 + + + 1028 + + + + m.firebreak_helm + f.firebreak_helm + 350 + 2 + + Helm + + 150 + 5000 + + item/gear/helm/doubleploom/model_recolor.dat + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + 0.341 + -0.163 + -0.385 + + + Colorization + 257 + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + 0.333 + -0.55 + -0.7 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.385 + 1.0 + + + 0.667 + -0.55 + -0.7 + + + Texture + Dire + + + + + + + PC/Defense/Helm/Helm Base + + + + + PC/Defense/Helm/Helm Base -10 + + ELEMENTAL + + + 4 + 20 + + + 24 + -10 + + + + + + + Gear/Helm/Firefighter Helmet + + + ui/icon/inventory/icon_hat.png + + + 516 + + + 771 + + + 4 + + 0.341 + -0.187 + -0.427 + + + + + m.firefighter_helmet + f.firefighter_helmet + 350 + 5 + + Helm + + 150 + 5000 + + item/gear/helm/hardhat/model.dat + + Colorization + 257 + Variant + Fire Fighter + + + + + + + PC/Defense/Helm/Helm Base -05 + + + + + PC/Defense/Helm/Helm Base -05 + + ELEMENTAL + + + 5 + 40 + + + + + + + Gear/Helm/Frostbreaker Helm + + + ui/icon/inventory/icon_helmet.png + + + 535 + + + 771 + + + 1048 + + + + m.frostbreaker_helm + f.frostbreaker_helm + 75 + 1 + + Helm + + 100 + + item/gear/helm/pith/model_recolor.dat + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 1.0 + 1.0 + + + -0.08 + -0.45 + -0.3 + + + Colorization + 257 + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 1.0 + 1.0 + + + 0.23 + -0.65 + -0.685 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + 0.545 + -0.6 + -0.2 + + + Texture + Dire + + + + + + + PC/Defense/Helm/Helm Base + + + + + PC/Defense/Helm/Helm Base -10 + + ELEMENTAL + + + 8 + 10 + + + 20 + -10 + + + + + + + Gear/Helm/Fused Demo Helm + + + ui/icon/inventory/icon_helmet.png + + + 523 + + + 771 + + + 1048 + + + + m.fused_demo_helm + f.fused_demo_helm + 350 + 3 + + Helm + + 150 + 5000 + + BOMB + + 0.1 + LOW + + + + item/gear/helm/samurai/model_demo.dat + + Colorization + 257 + Variant + Fused Helm + + + + + + + PC/Defense/Helm/Helm Base -05 + + + + + PC/Defense/Helm/Helm Base -10 + + ELEMENTAL + + + + + + + Gear/Helm/Grey Feather Cowl + + + ui/icon/inventory/icon_mask.png + + + 516 + + + 771 + + + 1052 + + + + m.grey_feather_cowl + f.grey_feather_cowl + 2000 + 5 + + Helm + + 200 + 10000 + + item/gear/helm/hood/model_fth.dat + + Colorization + 257 + + + + + + + PC/Defense/Helm/Helm Base -10 + + + + + PC/Defense/Helm/Helm Base + + ELEMENTAL + + + 20 + 40 + + + 1 + -40 + + + + + + + Gear/Helm/Groundbreaker Helm + + + ui/icon/inventory/icon_helmet.png + + + 516 + + + 771 + + + 1034 + + + + m.groundbreaker_helm + f.groundbreaker_helm + 350 + + Helm + + 150 + 5000 + + item/gear/helm/hardhat/model_cnst.dat + + Colorization + 257 + + + + + + + PC/Defense/Helm/Helm Base +01 + + + + + + + + Gear/Helm/Gunslinger Hat + + + ui/icon/inventory/icon_hat.png + + + 527 + + + 780 + + + 1026 + + + + m.gunslinger_hat + f.gunslinger_hat + 350 + 3 + + Helm + + 150 + 5000 + + HANDGUN + + LOW + + + + item/gear/helm/widebrimhat/model.dat + + Colorization + 257 + Variant + Gunslinger + + + + + + + PC/Defense/Helm/Helm Base -05 + + + + + PC/Defense/Helm/Helm Base -10 + + PIERCING + + + + + + + Gear/Helm/Heavy Demo Helm + + + ui/icon/inventory/icon_helmet.png + + + 523 + + + 776 + + + 1026 + + + + m.heavy_demo_helm + f.heavy_demo_helm + 850 + 4 + + Helm + + 200 + 7000 + + BOMB + + 0.15 + LOW + + + + item/gear/helm/samurai/model_demo.dat + + Colorization + 257 + Variant + Heavy Helm + + + + + + + PC/Defense/Helm/Helm Base -05 + + + + + PC/Defense/Helm/Helm Base -10 + + ELEMENTAL + + + + + + + Gear/Helm/Heavy Plate Helm + + + ui/icon/inventory/icon_helmet.png + + + 516 + + + 771 + + + 1026 + + + + m.heavy_plate_helm + f.heavy_plate_helm + 850 + 4 + + Helm + + 200 + 7000 + + -0.1 + LOW + false + + + item/gear/helm/bucket/model.dat + + Colorization + 257 + Variant + dark-powder + + + + + + + PC/Defense/Helm/Helm Base +05 + + + + 1 + 30 + + + 256 + -30 + + + + + + + Gear/Helm/Icebreaker Helm + + + ui/icon/inventory/icon_helmet.png + + + 535 + + + 771 + + + 1045 + + + + m.icebreaker_helm + f.icebreaker_helm + 350 + 2 + + Helm + + 150 + 5000 + + item/gear/helm/pith/model_ice.dat + + Colorization + 257 + + + + + + + PC/Defense/Helm/Helm Base + + + + + PC/Defense/Helm/Helm Base -10 + + ELEMENTAL + + + 8 + 20 + + + 20 + -10 + + + + + + + Gear/Helm/Ironmight Plate Helm + + + ui/icon/inventory/icon_helmet.png + + + 516 + + + 780 + + + 1026 + + + + m.ironmight_plate_helm + f.ironmight_plate_helm + 350 + 5 + + Helm + + 150 + 5000 + + -0.1 + LOW + false + + + item/gear/helm/bucket/model_red.dat + + Colorization + 257 + + + + + + + PC/Defense/Helm/Helm Base +05 + + + + + PC/Defense/Armor/Armor Base -10 + + PIERCING + + + 1 + 40 + + + 256 + -40 + + + + + + + Gear/Helm/Jaws of Megalodon + + + ui/icon/inventory/icon_helmet.png + + + 539 + + + 793 + + + 1050 + + + + m.jaws_megalodon + f.jaws_megalodon + 850 + 5 + + Helm + + 200 + 7000 + + item/gear/helm/valkyrie/model.dat + + Colorization + 257 + Variant + blue_fish + + + + + + + PC/Defense/Helm/Helm Base + + + + + PC/Defense/Helm/Helm Base -10 + + PIERCING + + + 12 + 40 + + + 16 + -40 + + + + + + + Gear/Helm/Jelly Helm + + + ui/icon/inventory/icon_helmet.png + + + 547 + + + 804 + + + 1057 + + + + m.jelly_helm + f.jelly_helm + 350 + 2 + + Helm + + 150 + 5000 + + item/gear/helm/jelly/model.dat + + Colorization + 257 + Variant + Pink + + + + + + + PC/Defense/Helm/Helm Base -10 + + + + + PC/Defense/Helm/Helm Base + + PIERCING + + + 257 + 10 + + + + + + + Gear/Helm/Justifier Hat + + + ui/icon/inventory/icon_hat.png + + + 527 + + + 780 + + + 1026 + + + + m.justifier_hat + f.justifier_hat + 2000 + 5 + + Helm + + 200 + 10000 + + HANDGUN + + MEDIUM + + + + item/gear/helm/widebrimhat/model.dat + + Colorization + 257 + Variant + Gunslinger + + + + + + + PC/Defense/Helm/Helm Base -05 + + + + + PC/Defense/Helm/Helm Base -10 + + PIERCING + + + + + + + Gear/Helm/Mad Bomber Mask + + + ui/icon/inventory/icon_mask.png + + + 523 + + + 774 + + + 1027 + + + + m.mad_bomber_mask + f.mad_bomber_mask + 2000 + 5 + + Helm + + 200 + 10000 + + + + BOMB + + 0.2 + MEDIUM + + + + BOMB + + 0.2 + MEDIUM + + + + + + item/gear/helm/samurai/model_demo.dat + + Colorization + 257 + Variant + Mad Suit + + + + + + + PC/Defense/Helm/Helm Base -10 + + + + + PC/Defense/Helm/Helm Base -10 + + ELEMENTAL + + + 30 + -20 + + + + + + + Gear/Helm/Magic Hood + + + ui/icon/inventory/icon_mask.png + + + 2 + + -0.206 + -0.727 + -0.815 + + + + 769 + + + 1028 + + + + m.magic_hood + f.magic_hood + 350 + 2 + + Helm + + 150 + 5000 + + item/gear/helm/hood/model.dat + + Colorization + 257 + Variant + Mage Simple + + + + + + + PC/Defense/Helm/Helm Base -10 + + + + + PC/Defense/Helm/Helm Base + + ELEMENTAL + + + 20 + 10 + + + 1 + -10 + + + + + + + Gear/Helm/Magikat Hat + + + ui/icon/inventory/icon_hat.png + + + 2 + + -1.0 + -0.85 + + + + 772 + + + 1028 + + + + m.magikat_hat + f.magikat_hat + 350 + 3 + + Helm + + 150 + 5000 + + item/gear/helm/kathat/model.dat + + Colorization + 257 + Variant + cap_dark + + + + + + + PC/Defense/Helm/Helm Base + + + + + PC/Defense/Helm/Helm Base + + PIERCING + + + + PC/Defense/Helm/Helm Base + + ELEMENTAL + + + + PC/Defense/Helm/Helm Base + + ELEMENTAL + + + 290 + 16 + + + 1 + -15 + + + + + + + Gear/Helm/Mercurial Helm + + + ui/icon/inventory/icon_helmet.png + + + 547 + + + 771 + + + 1045 + + + + m.mercurial_helm + f.mercurial_helm + 2000 + 5 + + Helm + + 200 + 10000 + + MEDIUM + + + item/gear/helm/jelly/model_silver-alt.dat + + Colorization + 257 + + + + + + + PC/Defense/Helm/Helm Base -10 + + + + + PC/Defense/Helm/Helm Base -10 + + PIERCING + + + 16 + 40 + + + + + + + Gear/Helm/Mighty Cobalt Helm + + + ui/icon/inventory/icon_helmet.png + + + 535 + + + 792 + + + 1046 + + + + m.mighty_cobalt_helm + f.mighty_cobalt_helm + 850 + 4 + + Helm + + 200 + 7000 + + item/gear/helm/nose/model_cobalt.dat + + Colorization + 257 + Variant + Cobalt Rank3 + + + + + + + PC/Defense/Helm/Helm Base + + + + + PC/Defense/Helm/Helm Base -10 + + PIERCING + + + + + + + Gear/Helm/Mining Hat + + + ui/icon/inventory/icon_hat.png + + + 516 + + + 771 + + + 1026 + + + + m.mining_hat + f.mining_hat + 350 + + Helm + + 150 + 5000 + + item/gear/helm/hardhat/model.dat + + Colorization + 257 + Variant + Mining Hat + + + + + + + PC/Defense/Helm/Helm Base +01 + + + + + + + + Gear/Helm/Miracle Hood + + + ui/icon/inventory/icon_mask.png + + + 2 + + -0.206 + -0.727 + -0.845 + + + + 782 + + + 1028 + + + + m.miracle_hood + f.miracle_hood + 850 + 4 + + Helm + + 2000 + 7000 + + item/gear/helm/hood/model.dat + + Colorization + 257 + Variant + salamander + + + + + + + PC/Defense/Helm/Helm Base -10 + + + + + PC/Defense/Helm/Helm Base + + ELEMENTAL + + + 20 + 30 + + + 1 + -30 + + + + + + + Gear/Helm/Mirakat Hat + + + ui/icon/inventory/icon_hat.png + + + 516 + + + 775 + + + 1053 + + + + m.mirakat_hat + f.mirakat_hat + 850 + 4 + + Helm + + 200 + 7000 + + item/gear/helm/kathat/model.dat + + Colorization + 257 + Variant + cap_pink + + + + + + + PC/Defense/Helm/Helm Base + + + + 290 + 20 + + + 1 + -15 + + + + + + + Gear/Helm/Nameless Hat + + + ui/icon/inventory/icon_hat.png + + + 527 + + + 780 + + + 1027 + + + + m.nameless_hat + f.nameless_hat + 2000 + 5 + + Helm + + 200 + 10000 + + + + HANDGUN + + MEDIUM + + + + + + item/gear/helm/widebrimhat/model.dat + + Colorization + 257 + Variant + Nameless + + + + + + + PC/Defense/Helm/Helm Base -05 + + + + + PC/Defense/Helm/Helm Base -10 + + ELEMENTAL + + + + + + + Gear/Helm/Parts/Proto (Base) + + + Name + implementation.name + + + Flavor + implementation.flavor + + + Model + implementation.model + + + + Variant + + + Colorizations + implementation.icon.colorizations + + + Red + implementation.model["Red"] + + + Green + implementation.model["Green"] + + + Blue + implementation.model["Blue"] + + + + + + gold-hazel-navy + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.83 + 0.9 + + + -0.5 + -0.334 + -0.49 + + + Colorizations + + + 539 + + + 778 + + + 1038 + + + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.9 + 0.9 + + + 0.286 + -0.404 + -0.633 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.345 + 0.9 + + + 0.111 + -0.23 + -0.227 + + + Variant + gold-hazel-navy + + + + + lblue-gray-dgray + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.83 + 0.9 + + + -0.06 + -0.735 + -0.413 + + + Colorizations + + + 516 + + + 771 + + + 1049 + + + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.9 + 0.9 + + + 0.21 + -0.632 + -0.656 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.345 + 0.9 + + + 0.588 + -0.315 + -0.338 + + + Variant + lblue-gray-dgray + + + + + lpurple-magenta-navy + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.83 + 0.9 + + + 0.0050 + -0.544 + -0.532 + + + Colorizations + + + 547 + + + 793 + + + 1053 + + + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.9 + 0.9 + + + 0.311 + -0.458 + -0.682 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.345 + 0.9 + + + -0.299 + -0.575 + -0.281 + + + Variant + lpurple-magenta-navy + + + + + red-orange-navy + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.83 + 0.9 + + + 0.389 + -0.429 + -0.513 + + + Colorizations + + + 516 + + + 780 + + + 1030 + + + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.9 + 0.9 + + + 0.235 + -0.483 + -0.691 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.345 + 0.9 + + + -0.017 + -0.132 + -0.331 + + + Variant + red-orange-navy + + + + + silver-rose-dgray + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.83 + 0.9 + + + 0.345 + -0.166 + -0.506 + + + Colorizations + + + 519 + + + 773 + + + 1027 + + + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.9 + 0.9 + + + -0.292 + -0.473 + -0.684 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.345 + 0.9 + + + 0.66 + -0.68 + -0.42 + + + Variant + silver-rose-dgray + + + + + tan-teal-navy + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.83 + 0.9 + + + -0.2 + -0.47 + -0.482 + + + Colorizations + + + 539 + + + 791 + + + 1036 + + + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.9 + 0.9 + + + 0.241 + -0.375 + -0.715 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.345 + 0.9 + + + 0.046 + -0.618 + -0.312 + + + Variant + tan-teal-navy + + + + + purple-sea-grey + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.83 + 0.9 + + + -0.026 + -0.665 + -0.438 + + + Colorizations + + + 543 + + + 771 + + + 1048 + + + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.9 + 0.9 + + + 0.338 + -0.366 + -0.57 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.345 + 0.9 + + + -0.472 + -0.539 + -0.53 + + + + + + gold-hazel-navy + + + Starter + implementation.starter + + + + + ui/icon/inventory/icon_helmet.png + + + 513 + + + 770 + + + 1027 + + + + 25 + + Helm + + 50 + 1300 + + item/gear/helm/doubleploom/model_recolor.dat + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 1.0 + 1.0 + + + -0.5 + -0.334 + -0.49 + + + Colorization + 257 + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 1.0 + 1.0 + + + 0.286 + -0.314 + -0.499 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.345 + 1.0 + + + 0.111 + -0.23 + -0.227 + + + Texture + Proto + + + + + + 10 + + + + + + + Gear/Helm/Purring Cap + + + ui/icon/inventory/icon_hat.png + + + 548 + + + 773 + + + 1025 + + + + m.purring_cap + f.purring_cap + 2000 + 5 + + Helm + + 350 + 10000 + + item/gear/helm/kathat/model.dat + + Colorization + 257 + Variant + cap_white + + + + + + + PC/Defense/Helm/Helm Base + + + + 63 + 20 + + + + + + + Gear/Helm/Quicksilver Helm + + + ui/icon/inventory/icon_helmet.png + + + 547 + + + 771 + + + 1045 + + + + m.quicksilver_helm + f.quicksilver_helm + 2000 + 4 + + Helm + + 200 + 10000 + + LOW + + + item/gear/helm/jelly/model_silver.dat + + Colorization + 257 + + + + + + + PC/Defense/Helm/Helm Base -10 + + + + + PC/Defense/Helm/Helm Base -10 + + PIERCING + + + 16 + 30 + + + + + + + Gear/Helm/Rock Jelly Helm + + + ui/icon/inventory/icon_helmet.png + + + 547 + + + 802 + + + 1052 + + + + m.rock_jelly_helm + f.rock_jelly_helm + 850 + 4 + + Helm + + 200 + 7000 + + item/gear/helm/jelly/model.dat + + Colorization + 257 + Variant + Rock + + + + + + + PC/Defense/Helm/Helm Base -10 + + + + + PC/Defense/Helm/Helm Base + + PIERCING + + + 257 + 30 + + + + + + + Gear/Helm/Ronin Gasa + + + ui/icon/inventory/icon_hat.png + + + 523 + + + 782 + + + 1038 + + + + m.ronin_gasa + f.ronin_gasa + 850 + 4 + + Helm + + 200 + 7000 + + item/gear/helm/shroomcap/model.dat + + Colorization + 257 + Variant + Ronin Gasa + + + + + + + PC/Defense/Helm/Helm Base + + + + 3 + + + + + + + Gear/Helm/Rooster Helm + + + ui/icon/inventory/icon_helmet.png + + + 516 + + + 782 + + + 1030 + + + + m.rooster_helm + f.rooster_helm + 850 + 4 + + Helm + + 200 + 7000 + + item/gear/helm/samurai/model_recolor.dat + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 1.0 + 1.0 + + + 0.444 + -0.23 + -0.227 + + + Colorization + 257 + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 1.0 + 1.0 + + + -0.38 + -0.132 + -0.331 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.017 + -0.132 + -0.331 + + + Texture + Dire + + + + + + + PC/Defense/Helm/Helm Base + + + + 256 + 60 + + + + + + + Gear/Helm/Rooster King Helm + + + ui/icon/inventory/icon_helmet.png + + + 516 + + + 769 + + + 1030 + + + + m.rooster_king_helm + f.rooster_king_helm + 2000 + 5 + + Helm + + 200 + 10000 + + item/gear/helm/samurai/model_recolor.dat + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 1.0 + 1.0 + + + 0.502 + -0.839 + -0.033 + + + Colorization + 257 + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 1.0 + 1.0 + + + -0.38 + -0.132 + -0.331 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.017 + -0.132 + -0.331 + + + Texture + Dire + + + + + + + PC/Defense/Helm/Helm Base + + + + 256 + 90 + + + + + + + Gear/Helm/Royal Jelly Crown + + + ui/icon/inventory/icon_hat.png + + + 547 + + + 792 + + + 1054 + + + + m.royal_jelly_crown + f.royal_jelly_crown + 2000 + 5 + + Helm + + 200 + 10000 + + item/gear/helm/jelly/model_royal.dat + + Colorization + 257 + + + + + + + PC/Defense/Helm/Helm Base -10 + + + + + PC/Defense/Helm/Helm Base + + PIERCING + + + 257 + 40 + + + + + + + Gear/Helm/Salamander Mask + + + ui/icon/inventory/icon_mask.png + + + 519 + + + 772 + + + 1030 + + + + m.salamander_mask + f.salamander_mask + 2000 + 4 + + Helm + + 200 + 10000 + + LOW + fam_slime + + + item/gear/helm/lizardhat/model_alt.dat + + Colorization + 257 + Variant + salamander + + + + + + + PC/Defense/Helm/Helm Base -05 + + + + + PC/Defense/Helm/Helm Base -10 + + ELEMENTAL + + + 4 + 30 + + + + + + + Gear/Helm/Scary Skelly Mask + + + ui/icon/inventory/icon_mask.png + + + 543 + + + 782 + + + 1037 + + + + m.scary_skelly_mask + f.scary_skelly_mask + 850 + 3 + + Helm + + 200 + 7000 + + item/gear/helm/skelly/model.dat + + Colorization + 257 + Variant + Scary Skelly + + + + + + + PC/Defense/Helm/Helm Base -10 + + + + + PC/Defense/Helm/Helm Base + + SHADOW + + + 10 + 20 + + + 4 + -20 + + + + + + + Gear/Helm/Seraphic Helm + + + ui/icon/inventory/icon_helmet.png + + + 547 + + + 804 + + + 1057 + + + + m.seraphic_helm + f.seraphic_helm + 2000 + 4 + + Helm + + 200 + 10000 + + + + 0.1 + LOW + fam_fiend + + + + + item/gear/helm/valkyrie/model_v2.dat + + Colorization + 257 + Variant + pink_angel + + + + + + + PC/Defense/Helm/Helm Base -10 + + + + + PC/Defense/Helm/Helm Base -10 + + SHADOW + + + 34 + 30 + + + 4 + -30 + + + + + + + Gear/Helm/Shadowsun Stetson + + + ui/icon/inventory/icon_hat.png + + + 527 + + + 780 + + + 1027 + + + + m.shadowsun_stetson + f.shadowsun_stetson + 2000 + 5 + + Helm + + 200 + 10000 + + HANDGUN + + 0.2 + LOW + + + + item/gear/helm/widebrimhat/model.dat + + Colorization + 257 + Variant + Nameless + + + + + + + PC/Defense/Helm/Helm Base -05 + + + + + PC/Defense/Helm/Helm Base -10 + + PIERCING + + + 34 + -40 + + + + + + + Gear/Helm/Shining Armet + + + + Variant + + + Variant + implementation.model["Variant"] + + + Colorizations + implementation.icon.colorizations + + + + + + dark-powder + + Colorizations + + + 516 + + + 796 + + + 1027 + + + Variant + gold-hazel-navy + + + + + green-tan + + Colorizations + + + 535 + + + 780 + + + 1044 + + + Variant + green-tan + + + + + silver-blue + + Colorizations + + + 516 + + + 770 + + + 1052 + + + Variant + silver-blue + + + + dark-powder + + + + + ui/icon/inventory/icon_helmet.png + + + 516 + + + 796 + + + 1027 + + + + m.shining_armet + f.shining_armet + 400 + + Helm + + + item/gear/helm/nose/model.dat + + Colorization + 257 + Variant + silver-blue + + + + + + + PC/Defense/Helm/Helm Base + + + + 32 + + + + + + + Gear/Helm/Shroom Cap + + + ui/icon/inventory/icon_hat.png + + + 519 + + + 777 + + + 1036 + + + + m.shroom_cap + f.shroom_cap + 850 + 5 + + Helm + + 200 + 7000 + + item/gear/helm/shroomcap/model.dat + + Colorization + 257 + Variant + salamander + + + + + + + PC/Defense/Helm/Helm Base -05 + + + + + PC/Defense/Helm/Helm Base -05 + + SHADOW + + + 2 + 40 + + + + + + + Gear/Helm/Sinister Skelly Mask + + + ui/icon/inventory/icon_mask.png + + + 543 + + + 772 + + + 1052 + + + + m.sinister_skelly_mask + f.sinister_skelly_mask + 850 + 4 + + Helm + + 200 + 7000 + + item/gear/helm/skelly/model.dat + + Colorization + 257 + Variant + Sinister Skelly + + + + + + + PC/Defense/Helm/Helm Base -10 + + + + + PC/Defense/Helm/Helm Base + + SHADOW + + + 10 + 30 + + + 4 + -30 + + + + + + + Gear/Helm/Skelly Mask + + + ui/icon/inventory/icon_mask.png + + + 543 + + + 790 + + + 1027 + + + + m.skelly_mask + f.skelly_mask + 350 + 2 + + Helm + + 150 + 5000 + + item/gear/helm/skelly/model.dat + + Colorization + 257 + Variant + Tan Green + + + + + + + PC/Defense/Helm/Helm Base -10 + + + + + PC/Defense/Helm/Helm Base + + SHADOW + + + 10 + 10 + + + 4 + -10 + + + + + + + Gear/Helm/Skolver Cap + + + ui/icon/inventory/icon_hat.png + + + 531 + + + 771 + + + 1025 + + + + m.skolver_cap + f.skolver_cap + 2000 + 5 + + Helm + + 350 + 10000 + + + MEDIUM + + + + item/gear/helm/furmask/model.dat + + Colorization + 257 + Variant + Skolver + + + + + + + PC/Defense/Helm/Helm Base -05 + + + + + PC/Defense/Helm/Helm Base -10 + + PIERCING + + + 8 + 40 + + + + + + + Gear/Helm/Solid Cobalt Helm + + + ui/icon/inventory/icon_helmet.png + + + 535 + + + 792 + + + 1046 + + + + m.solid_cobalt_helm + f.solid_cobalt_helm + 850 + 3 + + Helm + + 200 + 7000 + + item/gear/helm/nose/model_cobalt.dat + + Colorization + 257 + Variant + Cobalt Rank2 + + + + + + + PC/Defense/Helm/Helm Base + + + + + PC/Defense/Helm/Helm Base -10 + + PIERCING + + + + + + + Gear/Helm/Spiral Demo Helm + + + ui/icon/inventory/icon_helmet.png + + + 523 + + + 784 + + + 1037 + + + + m.spiral_demo_helm + f.spiral_demo_helm + 350 + 2 + + Helm + + 150 + 5000 + + BOMB + + 0.1 + LOW + + + + item/gear/helm/samurai/model_demo.dat + + Colorization + 257 + Variant + Spiral Helm + + + + + + + PC/Defense/Helm/Helm Base -05 + + + + + PC/Defense/Helm/Helm Base -10 + + ELEMENTAL + + + + + + + Gear/Helm/Spiral Pith Helm + + + Variant + implementation.item["Variant"] + + + + + Gear/Helm/Parts/Proto (Base) + + Flavor + f.spiral_pith_helm + Model + + item/gear/helm/pith/model_recolor.dat + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 1.0 + 1.0 + + + -0.5 + -0.334 + -0.49 + + + Colorization + 257 + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 1.0 + 1.0 + + + 0.286 + -0.314 + -0.499 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.345 + 1.0 + + + 0.111 + -0.23 + -0.227 + + + Texture + Proto + + + Name + m.spiral_pith_helm + Starter + true + Variant + gold-hazel-navy + + + + + + Gear/Helm/Spiral Plate Helm + + + ui/icon/inventory/icon_helmet.png + + + 516 + + + 793 + + + 1026 + + + + m.spiral_plate_helm + f.spiral_plate_helm + 350 + 2 + + Helm + + 150 + 5000 + + -0.1 + LOW + false + + + item/gear/helm/bucket/model.dat + + Colorization + 257 + Variant + spiral + + + + + + + PC/Defense/Helm/Helm Base +05 + + + + 1 + 10 + + + 256 + -10 + + + + + + + Gear/Helm/Spiral Sallet + + + Variant + implementation.item["Variant"] + + + + + Gear/Helm/Parts/Proto (Base) + + Flavor + f.spiral_sallet + Model + + item/gear/helm/samurai/model_recolor.dat + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 1.0 + 1.0 + + + -0.5 + -0.334 + -0.49 + + + Colorization + 257 + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 1.0 + 1.0 + + + 0.286 + -0.314 + -0.499 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.345 + 1.0 + + + 0.111 + -0.23 + -0.227 + + + Texture + Proto + + + Name + m.spiral_sallet + Starter + true + Variant + gold-hazel-navy + + + + + + Gear/Helm/Spiral Scale Helm + + + ui/icon/inventory/icon_helmet.png + + + 531 + + + 771 + + + 1053 + + + + m.spiral_scale_helm + f.spiral_scale_helm + 350 + 1 + + Helm + + 150 + 5000 + + item/gear/helm/lizardhat/model_alt.dat + + Colorization + 257 + Variant + scale + + + + + + + PC/Defense/Helm/Helm Base + + + + + PC/Defense/Helm/Helm Base -10 + + PIERCING + + + + + + + Gear/Helm/Spiral Tailed Helm + + + Variant + implementation.item["Variant"] + + + + + Gear/Helm/Parts/Proto (Base) + + Flavor + f.spiral_tailed_helm + Model + + item/gear/helm/doubleploom/model_recolor.dat + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 1.0 + 1.0 + + + -0.5 + -0.334 + -0.49 + + + Colorization + 257 + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 1.0 + 1.0 + + + 0.286 + -0.314 + -0.499 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.345 + 1.0 + + + 0.111 + -0.23 + -0.227 + + + Texture + Proto + + + Name + m.spiral_tailed_helm + Starter + true + Variant + gold-hazel-navy + + + + + + Gear/Helm/Sunset Stetson + + + ui/icon/inventory/icon_hat.png + + + 527 + + + 780 + + + 1026 + + + + m.sunset_stetson + f.sunset_stetson + 850 + 4 + + Helm + + 200 + 7000 + + HANDGUN + + LOW + + + + item/gear/helm/widebrimhat/model.dat + + Colorization + 257 + Variant + Gunslinger + + + + + + + PC/Defense/Helm/Helm Base -05 + + + + + PC/Defense/Helm/Helm Base -10 + + PIERCING + + + + + + + Gear/Helm/Surge Breaker Helm + + + ui/icon/inventory/icon_helmet.png + + + 2 + + -0.35 + -0.5 + -0.75 + + + + 3 + + 0.455 + -0.637 + -0.351 + + + + 4 + + 0.262 + -0.178 + -0.386 + + + + + m.surge_breaker_helm + f.surge_breaker_helm + 75 + 3 + + Helm + + 100 + + item/gear/helm/samurai/model_recolor.dat + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.183 + -0.6 + -0.52 + + + Colorization + 257 + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + 0.11 + -0.25 + -0.5 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.04 + -0.35 + -0.45 + + + Texture + Dire + + + + + + + PC/Defense/Helm/Helm Base + + + + + PC/Defense/Helm/Helm Base -10 + + ELEMENTAL + + + 16 + 30 + + + 12 + -10 + + + + + + + Gear/Helm/Test/Base + + + Defense + implementation.defense.defenses[0].amount + + + + + ui/icon/inventory/icon_helmet_nocore.png + + + 531 + + + 786 + + + 1041 + + + + For being silly. + Snipe Hat + + Helm + + + character/npc/snipe/parts/compound_snipe.dat + + Colorization + 257 + + + + + + + + 16383 + + + + + + + Gear/Helm/Test/Def 100 + + + Gear/Helm/Test/Base + + Defense + 100 + + + + + + Gear/Helm/Test/Def 150 + + + Gear/Helm/Test/Base + + Defense + 150 + + + + + + Gear/Helm/Test/Def 50 + + + Gear/Helm/Test/Base + + Defense + 50 + + + + + + Gear/Helm/Test/Sword Plus + + sword plus + + Helm + + + + + Gear/Helm/Valkyrie Helm + + + ui/icon/inventory/icon_helmet.png + + + 547 + + + 770 + + + 1025 + + + + m.valkyrie_helm + f.valkyrie_helm + 2000 + 5 + + Helm + + 200 + 10000 + + + + 0.15 + MEDIUM + fam_fiend + + + + + item/gear/helm/valkyrie/model_v2.dat + + Colorization + 257 + Variant + Gold + + + + + + + PC/Defense/Helm/Helm Base -10 + + + + + PC/Defense/Helm/Helm Base -10 + + SHADOW + + + 34 + 40 + + + 4 + -40 + + + + + + + Gear/Helm/Virulisk Mask + + + ui/icon/inventory/icon_mask.png + + + 531 + + + 800 + + + 1036 + + + + m.virulisk_mask + f.virulisk_mask + 2000 + 4 + + Helm + + 200 + 10000 + + 0.15 + LOW + fam_slime + + + item/gear/helm/lizardhat/model_alt.dat + + Colorization + 257 + Variant + viral + + + + + + + PC/Defense/Armor/Armor Base -05 + + + + + PC/Defense/Helm/Helm Base -10 + + PIERCING + + + 2 + 30 + + + + + + + Gear/Helm/Vog Cub Cap + + + ui/icon/inventory/icon_hat.png + + + 519 + + + 774 + + + 1028 + + + + m.vog_cub_cap + f.vog_cub_cap + 2000 + 5 + + Helm + + 350 + 10000 + + + MEDIUM + + + + item/gear/helm/furmask/model_fire.dat + + Colorization + 257 + + + + + + + PC/Defense/Armor/Armor Base -05 + + + + + PC/Defense/Armor/Armor Base -10 + + ELEMENTAL + + + 4 + 40 + + + + + + + Gear/Helm/Volcanic Demo Helm + + + ui/icon/inventory/icon_helmet.png + + + 519 + + + 774 + + + 1027 + + + + m.volcanic_demo_helm + f.volcanic_demo_helm + 2000 + 5 + + Helm + + 200 + 10000 + + BOMB + + 0.2 + MEDIUM + + + + item/gear/helm/samurai/model_demo.dat + + Colorization + 257 + Variant + Volcanic Helm + + + + + + + PC/Defense/Helm/Helm Base -05 + + + + + PC/Defense/Helm/Helm Base -10 + + ELEMENTAL + + + 4 + 40 + + + + + + + Gear/Helm/Volcanic Plate Helm + + + ui/icon/inventory/icon_helmet.png + + + 519 + + + 774 + + + 1027 + + + + m.volcanic_plate_helm + f.volcanic_plate_helm + 2000 + 5 + + Helm + + 200 + 10000 + + -0.1 + LOW + false + + + item/gear/helm/bucket/model_fire.dat + + Colorization + 257 + + + + + + + PC/Defense/Helm/Helm Base +05 + + + + + PC/Defense/Helm/Helm Base -10 + + ELEMENTAL + + + 5 + 40 + + + 256 + -40 + + + + + + + Gear/Helm/Volcanic Salamander Mask + + + ui/icon/inventory/icon_mask.png + + + 519 + + + 772 + + + 1030 + + + + m.volcanic_salamander_mask + f.volcanic_salamander_mask + 2000 + 5 + + Helm + + 200 + 10000 + + 0.2 + MEDIUM + fam_slime + + + item/gear/helm/lizardhat/model_fire.dat + + Colorization + 257 + + + + + + + PC/Defense/Helm/Helm Base -05 + + + + + PC/Defense/Helm/Helm Base -10 + + ELEMENTAL + + + 4 + 40 + + + + + + + Gear/Helm/Volt Breaker Helm + + + ui/icon/inventory/icon_helmet.png + + + 2 + + -0.466 + -0.592 + -0.77 + + + + 771 + + + 4 + + 0.303 + -0.345 + -0.429 + + + + + m.volt_breaker_helm + f.volt_breaker_helm + 350 + 2 + + Helm + + 150 + 5000 + + item/gear/helm/samurai/model_recolor.dat + + Blue + + 0.0, 0.0, 1.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.183 + -0.6 + -0.52 + + + Colorization + 257 + Green + + 0.0, 1.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + 0.12 + 1.0 + + + Red + + 1.0, 0.0, 0.0, 1.0 + + 0.1 + 0.4 + 1.0 + + + -0.02 + -0.24 + -0.45 + + + Texture + Dire + + + + + + + PC/Defense/Helm/Helm Base + + + + + PC/Defense/Helm/Helm Base -10 + + ELEMENTAL + + + 16 + 20 + + + 12 + -10 + + + + + + + Gear/Helm/Wolver Cap + + + ui/icon/inventory/icon_hat.png + + + 531 + + + 780 + + + 1037 + + + + m.wolver_cap + f.wolver_cap + 2000 + 2 + + Helm + + 350 + 10000 + + + 0.1 + LOW + + + + item/gear/helm/furmask/model.dat + + Colorization + 257 + Variant + cap_white + + + + + + + PC/Defense/Helm/Helm Base -05 + + + + + PC/Defense/Helm/Helm Base -10 + + PIERCING + + + 8 + 10 + + + + + + + Gear/Helm/Wyvern Scale Helm + + + ui/icon/inventory/icon_helmet.png + + + 2 + + -0.206 + -0.727 + -0.75 + + + + 3 + + -0.035 + -0.9 + -0.429 + + + + 4 + + -0.44 + -0.326 + -0.351 + + + + + m.wyvern_scale_helm + f.wyvern_scale_helm + 2000 + 4 + + Helm + + 200 + 10000 + + LOW + fam_beast + + + item/gear/helm/lizardhat/model_alt.dat + + Colorization + 257 + Variant + drake + + + + + + + PC/Defense/Helm/Helm Base -05 + + PIERCING + + + + PC/Defense/Helm/Helm Base -05 + + ELEMENTAL + + + 4 + 30 + + + + + + + Gear/Shield/(Dev) Nuke-Pave + + + ui/icon/inventory/icon_misc.png + + + 527 + + + 786 + + + 1040 + + + + DEV NUKE + f.proto_shield + 50 + 1 + + Shield + + 50 + 1300 + + item/gear/shield/buckler/model.dat + + variant + mechashield mk2 + + + + + + 20 + + + 20 + + + 20 + + + 20 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 200 + 6000 + 3000 + 8000 + -0.5 + 10 + + + + + Character/Dev/Nuke-Pave + + + + + + particle/fx_energy_spend.dat + + + + + Gear/Shield/Aegis + + + ui/icon/inventory/icon_shield.png + + + 535 + + + 792 + + + 1046 + + + + m.aegis + f.aegis + 850 + 5 + + Shield + + 200 + 7000 + + item/gear/shield/scabard/model.dat + + Variant + Aegis + + + + + + + PC/Defense/Shield/Shield Base + + + + + PC/Defense/Shield/Shield Base -05 + + PIERCING + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 850 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 4 + + + + + + + Gear/Shield/Ancient Plate Shield + + + ui/icon/inventory/icon_shield.png + + + 523 + + + 788 + + + 1027 + + + + m.ancient_plate_shield + f.ancient_plate_shield + 350 + 5 + + Shield + + 150 + 5000 + + item/gear/shield/plate/model_rank4.dat + + Variant + Ancient + + + + + + + PC/Defense/Shield/Shield Base +10 + + + + 1 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 850 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 5 + + + + + + + Gear/Shield/Blackened Crest + + + ui/icon/inventory/icon_shield.png + + + 516 + + + 799 + + + 1030 + + + + m.blackened_crest + f.blackened_crest + 850 + 4 + + Shield + + 200 + 7000 + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis-lrg + variant + Blackened Crest + + + + + + + PC/Defense/Shield/Shield Base -10 + + + + + PC/Defense/Shield/Shield Base -10 + + SHADOW + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 675 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 4 + + + + + + + Gear/Shield/Blazebreak Shield + + + ui/icon/inventory/icon_shield.png + + + 519 + + + 774 + + + 1032 + + + + m.blazebreak_shield + f.blazebreak_shield + 350 + 3 + + Shield + + 150 + 5000 + + item/gear/shield/breaker/model.dat + + Model + Rank3 + Variant + Fire + + + + + + + PC/Defense/Shield/Shield Base -05 + + + + + PC/Defense/Shield/Shield Base -10 + + ELEMENTAL + + + 4 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 500 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 3 + + + + + + + Gear/Shield/Blizzbreaker Shield + + + ui/icon/inventory/icon_shield.png + + + 535 + + + 790 + + + 1026 + + + + m.blizzbreaker_shield + f.blizzbreaker_shield + 350 + 3 + + Shield + + 150 + 5000 + + item/gear/shield/breaker/model.dat + + Model + Rank3 + Variant + Freeze + + + + + + + PC/Defense/Shield/Shield Base -05 + + + + + PC/Defense/Shield/Shield Base -10 + + ELEMENTAL + + + 8 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 500 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 3 + + + + + + + Gear/Shield/Boosted Plate Shield + + + ui/icon/inventory/icon_shield.png + + + 516 + + + 793 + + + 1027 + + + + m.boosted_plate_shield + f.boosted_plate_shield + 350 + 3 + + Shield + + 150 + 5000 + + item/gear/shield/plate/model_rank2.dat + + + + + + PC/Defense/Shield/Shield Base +05 + + + + 1 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 500 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 3 + + + + + + + Gear/Shield/Brute Jelly Shield + + + ui/icon/inventory/icon_shield.png + + + 547 + + + 802 + + + 1060 + + + + m.brute_jelly_shield + f.brute_jelly_shield + 350 + 3 + + Shield + + 150 + 5000 + + item/gear/shield/jelly/model_set.dat + + Color + Blue + Model + Rank2 + + + + + + + PC/Defense/Shield/Shield Base -10 + + + + + PC/Defense/Shield/Shield Base + + PIERCING + + + 257 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 500 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 3 + + + + + + + Gear/Shield/Circuit Breaker Shield + + + ui/icon/inventory/icon_shield.png + + + 531 + + + 775 + + + 1041 + + + + m.circuit_breaker_shield + f.circuit_breaker_shield + 75 + 1 + + Shield + + 100 + 3000 + + item/gear/shield/breaker/model.dat + + Model + Rank1 + Variant + Shock + + + + + + + PC/Defense/Shield/Shield Base + + + + + PC/Defense/Shield/Shield Base -10 + + ELEMENTAL + + + 16 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 200 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 1 + + + + + + + Gear/Shield/Crest of Almire + + + ui/icon/inventory/icon_shield.png + + + 523 + + + 778 + + + 1036 + + + + m.crest_almire + f.crest_almire + 2000 + 5 + + Shield + + 200 + 10000 + + item/gear/shield/scabard/model_simple.dat + + Variant + Crest of Almire + + + + + + + PC/Defense/Shield/Shield Base -05 + + + + + PC/Defense/Shield/Shield Base -05 + + SHADOW + + + 20 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 850 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 5 + + + + + + + Gear/Shield/Defender + + + ui/icon/inventory/icon_shield.png + + + 523 + + + 790 + + + 1036 + + + + m.defender + f.defender + 850 + 2 + + Shield + + 200 + 7000 + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + Defender - DownGrade + + + + + + + PC/Defense/Shield/Shield Base + + + + + PC/Defense/Shield/Shield Base -05 + + PIERCING + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 850 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 4 + + + + + + + Gear/Shield/Dragon Scale Shield + + + ui/icon/inventory/icon_shield.png + + + 519 + + + 776 + + + 1027 + + + + m.dragon_scale_shield + f.dragon_scale_shield + 2000 + 5 + + Shield + + 200 + 10000 + + item/gear/shield/scale/model_rank2-drg.dat + + + + + + PC/Defense/Shield/Shield Base -05 + + PIERCING + + + + PC/Defense/Shield/Shield Base -05 + + ELEMENTAL + + + 4 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 850 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 5 + + + + + + + Gear/Shield/Drake Scale Shield + + + ui/icon/inventory/icon_shield.png + + + 519 + + + 797 + + + 1027 + + + + m.drake_scale_shield + f.drake_scale_shield + 850 + 3 + + Shield + + 200 + 7000 + + item/gear/shield/scale/model_rank1.dat + + Variant + Drake + + + + + + + PC/Defense/Shield/Shield Base -05 + + PIERCING + + + + PC/Defense/Shield/Shield Base -05 + + ELEMENTAL + + + 4 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 500 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 3 + + + + + + + Gear/Shield/Dread Skelly Shield + + + ui/icon/inventory/icon_shield.png + + + 543 + + + 771 + + + 1053 + + + + m.dread_skelly_shield + f.dread_skelly_shield + 2000 + 5 + + Shield + + 200 + 10000 + + item/gear/shield/skelly/model_r5.dat + + + + + + PC/Defense/Shield/Shield Base -10 + + + + + PC/Defense/Shield/Shield Base + + SHADOW + + + 10 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 850 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 5 + + + + + + + Gear/Shield/Emberbreak Shield + + + ui/icon/inventory/icon_shield.png + + + 519 + + + 772 + + + 1027 + + + + m.emberbreak_shield + f.emberbreak_shield + 75 + 1 + + Shield + + 100 + 3000 + + item/gear/shield/breaker/model.dat + + Model + Rank1 + Variant + Fire + + + + + + + PC/Defense/Shield/Shield Base + + + + + PC/Defense/Shield/Shield Base -10 + + ELEMENTAL + + + 4 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 200 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 1 + + + + + + + Gear/Shield/Firebreak Shield + + + ui/icon/inventory/icon_shield.png + + + 519 + + + 774 + + + 1027 + + + + m.firebreak_shield + f.firebreak_shield + 350 + 2 + + Shield + + 150 + 5000 + + item/gear/shield/breaker/model.dat + + Model + Rank2 + Variant + Fire + + + + + + + PC/Defense/Shield/Shield Base -05 + + + + + PC/Defense/Shield/Shield Base -10 + + ELEMENTAL + + + 4 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 350 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 2 + + + + + + + Gear/Shield/Force Buckler + + + ui/icon/inventory/icon_shield.png + + + 527 + + + 782 + + + 1026 + + + + m.force_buckler + f.force_buckler + 100 + 1 + + Shield + + 100 + + item/gear/shield/buckler/model.dat + + variant + force buckler + + + + + + + PC/Defense/Shield/Shield Base +01 + + + + 1 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 200 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 1 + + + + + + + Gear/Shield/Frostbreaker Shield + + + ui/icon/inventory/icon_shield.png + + + 535 + + + 771 + + + 1026 + + + + m.frostbreaker_shield + f.frostbreaker_shield + 75 + 1 + + Shield + + 100 + 3000 + + item/gear/shield/breaker/model.dat + + Model + Rank1 + Variant + Freeze + + + + + + + PC/Defense/Shield/Shield Base + + + + + PC/Defense/Shield/Shield Base -10 + + ELEMENTAL + + + 8 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 200 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 1 + + + + + + + Gear/Shield/Great Defender + + + ui/icon/inventory/icon_shield.png + + + 523 + + + 790 + + + 1036 + + + + m.great_defender + f.great_defender + 850 + 3 + + Shield + + 200 + 7000 + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + defender(blue) + + + + + + + PC/Defense/Shield/Shield Base + + + + + PC/Defense/Shield/Shield Base -05 + + PIERCING + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 500 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 3 + + + + + + + Gear/Shield/Grey Owlite Shield + + + ui/icon/inventory/icon_shield.png + + + 523 + + + 782 + + + 1033 + + + + m.grey_owlite_shield + f.grey_owlite_shield + 2000 + 5 + + Shield + + 200 + 10000 + + item/gear/shield/owilite/model_r5.dat + + + + + + PC/Defense/Shield/Shield Base -10 + + + + + PC/Defense/Shield/Shield Base + + ELEMENTAL + + + 20 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 850 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 5 + + + + + + + Gear/Shield/Heater Shield + + + ui/icon/inventory/icon_shield.png + + + 523 + + + 778 + + + 1036 + + + + m.heater_shield + f.heater_shield + 350 + 5 + + Shield + + 150 + 5000 + + item/gear/shield/aegis/model_recolor.dat + + Back + + 0.33 + -0.368 + -0.438 + + Face + + -0.332 + -0.207 + + Rim + + 0.562 + -0.605 + -0.361 + + + + + + + + PC/Defense/Shield/Shield Base -05 + + + + + PC/Defense/Shield/Shield Base -10 + + ELEMENTAL + + + 8 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 675 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 5 + + + + + + + Gear/Shield/Heavy Plate Shield + + + ui/icon/inventory/icon_shield.png + + + 516 + + + 790 + + + 1027 + + + + m.heavy_plate_shield + f.heavy_plate_shield + 850 + 4 + + Shield + + 200 + 7000 + + item/gear/shield/plate/model_rank3.dat + + + + + + PC/Defense/Shield/Shield Base +05 + + + + 1 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 675 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 4 + + + + + + + Gear/Shield/Horned Owlite Shield + + + ui/icon/inventory/icon_shield.png + + + 523 + + + 782 + + + 1033 + + + + m.horned_owlite_shield + f.horned_owlite_shield + 850 + 3 + + Shield + + 200 + 7000 + + item/gear/shield/owilite/model_r3.dat + + + + + + PC/Defense/Shield/Shield Base -10 + + + + + PC/Defense/Shield/Shield Base + + ELEMENTAL + + + 20 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 500 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 3 + + + + + + + Gear/Shield/Icebreaker Shield + + + ui/icon/inventory/icon_shield.png + + + 535 + + + 790 + + + 1027 + + + + m.icebreaker_shield + f.icebreaker_shield + 350 + 2 + + Shield + + 150 + 5000 + + item/gear/shield/breaker/model.dat + + Model + Rank2 + Variant + Freeze + + + + + + + PC/Defense/Shield/Shield Base -05 + + + + + PC/Defense/Shield/Shield Base -10 + + ELEMENTAL + + + 8 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 350 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 2 + + + + + + + Gear/Shield/Iron Buckler + + + ui/icon/inventory/icon_shield.png + + + 516 + + + 771 + + + 1026 + + + + m.iron_buckler + f.iron_buckler + 50 + + Shield + + 50 + 1300 + + item/gear/shield/buckler/model.dat + + variant + iron + + + + + + + PC/Defense/Shield/Shield Base +01 + + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 100 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 1 + + + + + + + Gear/Shield/Ironmight Plate Shield + + + ui/icon/inventory/icon_shield.png + + + 516 + + + 790 + + + 1031 + + + + m.ironmight_plate_shield + f.ironmight_plate_shield + 350 + 5 + + Shield + + 150 + 5000 + + item/gear/shield/plate/model_rank4.dat + + Variant + IronMight + + + + + + + PC/Defense/Shield/Shield Base +05 + + + + + PC/Defense/Shield/Shield Base -10 + + PIERCING + + + 1 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 850 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 5 + + + + + + + Gear/Shield/Jelly Shield + + + ui/icon/inventory/icon_shield.png + + + 547 + + + 802 + + + 1060 + + + + m.jelly_shield + f.jelly_shield + 350 + 2 + + Shield + + 150 + 5000 + + item/gear/shield/jelly/model_set.dat + + Color + Pink + Model + Rank1 + + + + + + + PC/Defense/Shield/Shield Base -10 + + + + + PC/Defense/Shield/Shield Base + + PIERCING + + + 257 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 350 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 2 + + + + + + + Gear/Shield/Mighty Defender + + + ui/icon/inventory/icon_shield.png + + + 523 + + + 790 + + + 1036 + + + + m.mighty_defender + f.mighty_defender + 850 + 4 + + Shield + + 200 + 7000 + + item/gear/shield/scabard/model_simple.dat + + Variant + Mighty Defender + + + + + + + PC/Defense/Shield/Shield Base + + + + + PC/Defense/Shield/Shield Base -05 + + PIERCING + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 675 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 4 + + + + + + + Gear/Shield/Omega Shell + + + ui/icon/inventory/icon_shield.png + + + 516 + + + 800 + + + 1060 + + + + m.omega_shell + f.omega_shell + 2000 + 5 + + Shield + + 200 + 10000 + + item/gear/shield/shell/model_recolor.dat + + Rim + + -0.25 + -0.1 + -0.5 + + + + + + + + PC/Defense/Shield/Shield Base + + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 1000 + + PC/Defense/Shield/Health/Health Base +05 + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 5 + + + + + + + Gear/Shield/Owlite Shield + + + ui/icon/inventory/icon_shield.png + + + 523 + + + 782 + + + 1033 + + + + m.owlite_shield + f.owlite_shield + 350 + 2 + + Shield + + 150 + 5000 + + item/gear/shield/owilite/model_r2.dat + + + + + + PC/Defense/Shield/Shield Base -10 + + + + + PC/Defense/Shield/Shield Base + + ELEMENTAL + + + 20 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 350 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 2 + + + + + + + Gear/Shield/Plate Shield + + + ui/icon/inventory/icon_shield.png + + + 516 + + + 771 + + + 1026 + + + + m.plate_shield + f.plate_shield + 350 + 2 + + Shield + + 150 + 5000 + + item/gear/shield/plate/model_rank1.dat + + + + + + PC/Defense/Shield/Shield Base +05 + + + + 1 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 350 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 2 + + + + + + + Gear/Shield/Proto Shield + + + ui/icon/inventory/icon_shield.png + + + 527 + + + 786 + + + 1040 + + + + m.proto_shield + f.proto_shield + 50 + + Shield + + 50 + 1300 + + item/gear/shield/buckler/model.dat + + variant + proto(green) + + + + + + + PC/Defense/Shield/Shield Base + + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 100 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 1 + + + + + + + Gear/Shield/Rock Jelly Shield + + + ui/icon/inventory/icon_shield.png + + + 547 + + + 802 + + + 1060 + + + + m.rock_jelly_shield + f.rock_jelly_shield + 850 + 4 + + Shield + + 200 + 7000 + + item/gear/shield/jelly/model_set.dat + + Color + Rock + Model + Rank3 + + + + + + + PC/Defense/Shield/Shield Base -10 + + + + + PC/Defense/Shield/Shield Base + + PIERCING + + + 257 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 675 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 4 + + + + + + + Gear/Shield/Royal Jelly Shield + + + ui/icon/inventory/icon_shield.png + + + 547 + + + 802 + + + 1060 + + + + m.royal_jelly_shield + f.royal_jelly_shield + 2000 + 5 + + Shield + + 200 + 10000 + + item/gear/shield/jelly/model_set.dat + + Color + Royal + Model + Rank4 + + + + + + + PC/Defense/Shield/Shield Base -10 + + + + + PC/Defense/Shield/Shield Base + + PIERCING + + + 257 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 850 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 5 + + + + + + + Gear/Shield/Scale Shield + + + ui/icon/inventory/icon_shield.png + + + 531 + + + 786 + + + 1044 + + + + m.scale_shield + f.scale_shield + 350 + 1 + + Shield + + 150 + 5000 + + item/gear/shield/scale/model_rank1.dat + + Variant + Scale + + + + + + + PC/Defense/Shield/Shield Base + + + + + PC/Defense/Shield/Shield Base -10 + + PIERCING + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 200 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 1 + + + + + + + Gear/Shield/Scarlet Shield + + + ui/icon/inventory/icon_shield.png + + + 523 + + + 778 + + + 1036 + + + + m.scarlet_shield + f.scarlet_shield + 350 + 3 + + Shield + + 150 + 5000 + + 80 + MEDIUM + + + item/gear/shield/aegis/model_recolor.dat + + Back + + 0.35 + 1.0 + -0.35 + + Face + + -0.35 + 0.125 + -0.125 + + Rim + + 0.065 + -0.22 + 0.201 + + + + + + + + PC/Defense/Shield/Shield Base -05 + + + + + PC/Defense/Shield/Shield Base -10 + + ELEMENTAL + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 500 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 3 + + + + + + + Gear/Shield/Scary Skelly Shield + + + ui/icon/inventory/icon_shield.png + + + 543 + + + 771 + + + 1040 + + + + m.scary_skelly_shield + f.scary_skelly_shield + 350 + 3 + + Shield + + 150 + 5000 + + item/gear/shield/skelly/model_r3.dat + + + + + + PC/Defense/Shield/Shield Base -10 + + + + + PC/Defense/Shield/Shield Base + + SHADOW + + + 10 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 500 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 3 + + + + + + + Gear/Shield/Shining Ward + + + ui/icon/inventory/icon_shield.png + + + 527 + + + 770 + + + 1025 + + + + m.shining_ward + f.shining_ward + 850 + 4 + + Shield + + 200 + 7000 + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + shiningward + + + + + + + PC/Defense/Shield/Shield Base -05 + + PIERCING + + + + PC/Defense/Shield/Shield Base -05 + + SHADOW + + + 34 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 675 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 4 + + + + + + + Gear/Shield/Sinister Skelly Shield + + + ui/icon/inventory/icon_shield.png + + + 543 + + + 771 + + + 1032 + + + + m.sinister_skelly_shield + f.sinister_skelly_shield + 850 + 4 + + Shield + + 200 + 7000 + + item/gear/shield/skelly/model_r4.dat + + + + + + PC/Defense/Shield/Shield Base -10 + + + + + PC/Defense/Shield/Shield Base + + SHADOW + + + 10 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 675 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 4 + + + + + + + Gear/Shield/Skelly Shield + + + ui/icon/inventory/icon_shield.png + + + 543 + + + 771 + + + 1044 + + + + m.skelly_shield + f.skelly_shield + 350 + 2 + + Shield + + 150 + 5000 + + item/gear/shield/skelly/model_r2.dat + + + + + + PC/Defense/Shield/Shield Base -10 + + + + + PC/Defense/Shield/Shield Base + + SHADOW + + + 10 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 350 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 2 + + + + + + + Gear/Shield/Stone Tortoise + + + ui/icon/inventory/icon_shield.png + + + 516 + + + 788 + + + 1048 + + + + m.stone_tortoise + f.stone_tortoise + 850 + 4 + + Shield + + 200 + 7000 + + item/gear/shield/shell/model.dat + + variant + defender(blue) + + + + + + + PC/Defense/Shield/Shield Base + + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 800 + + PC/Defense/Shield/Health/Health Base +05 + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 4 + + + + + + + Gear/Shield/Stop Sign + + + ui/icon/inventory/icon_shield.png + + + 519 + + + 774 + + + 1026 + + + + m.stop_sign + f.stop_sign + 850 + 4 + + Shield + + 200 + 7000 + + item/gear/shield/aegis/model_recolor.dat + + Back + + 0.872 + -0.72 + -0.5 + + Face + + -0.369 + -0.276 + + Rim + + -0.465 + -0.638 + -0.405 + + + + + + + 30 + + + 30 + + + 35 + + + 30 + + + 31 + 25 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 200 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 10000 + -1.0 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 4 + + + + + + + Gear/Shield/Surge Breaker Shield + + + ui/icon/inventory/icon_shield.png + + + 531 + + + 785 + + + 1046 + + + + m.surge_breaker_shield + f.surge_breaker_shield + 350 + 3 + + Shield + + 150 + 5000 + + item/gear/shield/breaker/model.dat + + Model + Rank3 + Variant + Shock + + + + + + + PC/Defense/Shield/Shield Base -05 + + + + + PC/Defense/Shield/Shield Base -10 + + ELEMENTAL + + + 16 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 500 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 3 + + + + + + + Gear/Shield/Swiftstrike Buckler + + + ui/icon/inventory/icon_shield.png + + + 516 + + + 781 + + + 1040 + + + + m.swiftstrike_buckler + f.swiftstrike_buckler + 350 + 3 + + Shield + + 150 + 5000 + + 0.15 + HIGH + + + item/gear/shield/buckler/model.dat + + variant + swiftstrike + + + + + + + PC/Defense/Shield/Shield Base -10 + + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 675 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 4 + + + + + + + Gear/Shield/Thwacker Shield + + + ui/icon/inventory/icon_shield.png + + + 523 + + + 778 + + + 1036 + + + + m.thwacker_shield + f.thwacker_shield + 850 + 4 + + Shield + + 200 + 7000 + + item/gear/shield/aegis/model.dat + + Model + mesh_aegis + variant + gremlin + + + + + + + PC/Defense/Shield/Shield Base -05 + + + + + PC/Defense/Shield/Shield Base -10 + + ELEMENTAL + + + 16 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 250 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 4 + + + + + + + Gear/Shield/Volcanic Plate Shield + + + ui/icon/inventory/icon_shield.png + + + 519 + + + 774 + + + 1027 + + + + m.volcanic_plate_shield + f.volcanic_plate_shield + 2000 + 5 + + Shield + + 200 + 10000 + + item/gear/shield/plate/model_rank4.dat + + Variant + Volcanic + + + + + + + PC/Defense/Shield/Shield Base +05 + + + + + PC/Defense/Shield/Shield Base -10 + + + + 5 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 850 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 5 + + + + + + + Gear/Shield/Volt Breaker Shield + + + ui/icon/inventory/icon_shield.png + + + 531 + + + 790 + + + 1041 + + + + m.volt_breaker_shield + f.volt_breaker_shield + 350 + 2 + + Shield + + 150 + 5000 + + item/gear/shield/breaker/model.dat + + Model + Rank2 + Variant + Shock + + + + + + + PC/Defense/Shield/Shield Base -05 + + + + + PC/Defense/Shield/Shield Base -10 + + ELEMENTAL + + + 16 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 350 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 2 + + + + + + + Gear/Shield/Wise Owlite Shield + + + ui/icon/inventory/icon_shield.png + + + 523 + + + 782 + + + 1033 + + + + m.wise_owlite_shield + f.wise_owlite_shield + 850 + 4 + + Shield + + 200 + 7000 + + item/gear/shield/owilite/model_r4.dat + + + + + + PC/Defense/Shield/Shield Base -10 + + + + + PC/Defense/Shield/Shield Base + + ELEMENTAL + + + 20 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 675 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 4 + + + + + + + Gear/Shield/Wyvern Scale Shield + + + ui/icon/inventory/icon_shield.png + + + 519 + + + 796 + + + 1027 + + + + m.wyvern_scale_shield + f.wyvern_scale_shield + 350 + 4 + + Shield + + 150 + 5000 + + item/gear/shield/scale/model_rank2-wyv.dat + + + + + + PC/Defense/Shield/Shield Base -05 + + PIERCING + + + + PC/Defense/Shield/Shield Base -05 + + ELEMENTAL + + + 4 + 200 + + + + + particle/shield/omni_w_sound.dat + + Power + 100 + Radius + 1.0 + + + + particle/shield/break.dat + + Radius + 1.0 + + + 675 + + PC/Defense/Shield/Health/Health Base + + 6000 + 3000 + 8000 + -0.5 + + + Item/Gear/Shield/PushBack (Base) + + Knock-Back Power + 4 + + + + + + + Gear/Trinket/(Dev) EasyMode + + + ui/icon/inventory/icon_mat_shoe.png + + + 516 + + + 771 + + + 1026 + + + + Easy Mode + 5 + + Trinket + + + + + 600 + + + + + + + 4000 + + + 4000 + + + 4000 + + + 4000 + + + + + + + Gear/Trinket/Ancient Armor Ward + + + ui/icon/inventory/icon_gauntlet.png + + + 516 + + + 771 + + + 1026 + + + + m.ancient_armor_ward + f.ancient_armor_ward + 2000 + 5 + + Trinket + + + + + -0.1 + LOW + false + + + LOW + false + + + + + + PC/Defense/Trinket/Trinket Base +10 + + + + + + Gear/Trinket/Arena King's Medal + + + ui/icon/inventory/icon_amulet.png + + + 527 + + + 782 + + + 1033 + + + + m.arena_kings_medal + f.arena_kings_medal + 2000 + 5 + + Trinket + + + + + MEDIUM + + + LOW + false + + + + + + + Gear/Trinket/Armor Ward + + + ui/icon/inventory/icon_gauntlet.png + + + 516 + + + 771 + + + 1049 + + + + m.armor_ward + f.armor_ward + 350 + 2 + + Trinket + + + + PC/Defense/Trinket/Trinket Base + + + + + + Gear/Trinket/Blessed Silver Amulet + + + ui/icon/inventory/icon_amulet.png + + + 516 + + + 769 + + + 1026 + + + + m.blessed_silver_amulet + f.blessed_silver_amulet + 350 + 4 + + Trinket + + 0 + 0 + + 32 + 10 + + + + + Gear/Trinket/Blitz Band + + + ui/icon/inventory/icon_ring.png + + + 516 + + + 790 + + + 1025 + + + + m.blitz_band + f.blitz_band + 2000 + 5 + + Trinket + + 0 + 0 + + + + 0.08 + + + + + + + Gear/Trinket/Bomb Focus Module + + + ui/icon/inventory/icon_gauntlet.png + + + 527 + + + 774 + + + 1026 + + + + m.bomb_focus_module + f.bomb_focus_module + 350 + 3 + + Trinket + + + + + BOMB + + 0.1 + LOW + + + + + + + + Gear/Trinket/Bomb Focus Module Mk II + + + ui/icon/inventory/icon_gauntlet.png + + + 527 + + + 774 + + + 1026 + + + + m.bomb_focus_module_mkii + f.bomb_focus_module_mkii + 850 + 4 + + Trinket + + + + + BOMB + + 0.15 + MEDIUM + + + + + + + + Gear/Trinket/Boom Module + + + ui/icon/inventory/icon_gauntlet.png + + + 519 + + + 774 + + + 1026 + + + + m.boom_module + f.boom_module + 350 + 3 + + Trinket + + + + + BOMB + + 0.1 + LOW + + + + + + + + Gear/Trinket/Boom Module Mk II + + + ui/icon/inventory/icon_gauntlet.png + + + 519 + + + 774 + + + 1026 + + + + m.boom_module_mkii + f.boom_module_mkii + 850 + 4 + + Trinket + + + + + BOMB + + 0.15 + MEDIUM + + + + + + + + Gear/Trinket/Boosted Armor Ward + + + ui/icon/inventory/icon_gauntlet.png + + + 516 + + + 771 + + + 1049 + + + + m.boosted_armor_ward + f.boosted_armor_ward + 350 + 3 + + Trinket + + + + PC/Defense/Trinket/Trinket Base + + + + + + Gear/Trinket/Bright White Laurel + + + ui/icon/inventory/icon_herb.png + + + 531 + + + 769 + + + 1025 + + + + m.bright_white_laurel + f.bright_white_laurel + 350 + 3 + + Trinket + + 0 + 0 + + 2 + 10 + + + + + Gear/Trinket/Brute Jelly Band + + + ui/icon/inventory/icon_ring.png + + + 547 + + + 802 + + + 1057 + + + + m.brute_jelly_band + f.brute_jelly_band + 350 + 3 + + Trinket + + + + PC/Defense/Trinket/Trinket Base + + PIERCING + + + + + Gear/Trinket/Choice Katnip Pouch + + + ui/icon/inventory/icon_herb.png + + + 531 + + + 786 + + + 1042 + + + + m.choice_katnip_pouch + f.choice_katnip_pouch + 850 + 3 + + Trinket + + 0 + 0 + + + + + + + + 256 + 10 + + + + + Gear/Trinket/Chroma Tear Earring + + + ui/icon/inventory/icon_amulet.png + + + 535 + + + 790 + + + 1048 + + + + m.chroma_tear_earring + f.chroma_tear_earring + 850 + 4 + + Trinket + + 0 + 0 + + + + 6 + 10 + + + + + + + Gear/Trinket/Crystal Pin + + + ui/icon/inventory/icon_amulet.png + + + 516 + + + 771 + + + 1045 + + + + m.crystal_pin + f.crystal_pin + 350 + 2 + + Trinket + + + + PC/Defense/Trinket/Trinket Base + + ELEMENTAL + + + + + Gear/Trinket/Dark Thorn Choker + + + ui/icon/inventory/icon_amulet.png + + + 516 + + + 785 + + + 1053 + + + + m.dark_thorn_choker + f.dark_thorn_choker + 850 + 4 + + Trinket + + + -160 + VERY_HIGH + false + + + + + + PC/Defense/Trinket/Trinket Base -10 + + SHADOW + + + 2 + 15 + + + + + + + Gear/Trinket/Dewy Wetstone Pendant + + + ui/icon/inventory/icon_amulet.png + + + 519 + + + 771 + + + 1049 + + + + m.dewy_wetstone_pendant + f.dewy_wetstone_pendant + 350 + 3 + + Trinket + + 0 + 0 + + 4 + 10 + + + + + Gear/Trinket/Dragon Scale Pendant + + + ui/icon/inventory/icon_amulet.png + + + 516 + + + 773 + + + 1041 + + + + m.dragon_scale_pendant + f.dragon_scale_pendant + 2000 + 5 + + Trinket + + + + + + PC/Defense/Trinket/Trinket Base -10 + + PIERCING + + + + PC/Defense/Trinket/Trinket Base -10 + + ELEMENTAL + + + + + + + Gear/Trinket/Drake Scale Pendant + + + ui/icon/inventory/icon_amulet.png + + + 516 + + + 773 + + + 1041 + + + + m.drake_scale_pendant + f.drake_scale_pendant + 850 + 4 + + Trinket + + + + + + PC/Defense/Trinket/Trinket Base -10 + + PIERCING + + + + PC/Defense/Trinket/Trinket Base -10 + + ELEMENTAL + + + + + + + Gear/Trinket/Dread Skelly Charm + + + ui/icon/inventory/icon_amulet.png + + + 516 + + + 769 + + + 1053 + + + + m.dread_skelly_charm + f.dread_skelly_charm + 2000 + 5 + + Trinket + + + + + + PC/Defense/Trinket/Trinket Base + + SHADOW + + + + + + + Gear/Trinket/Driftwood Bracelet + + + ui/icon/inventory/icon_ring.png + + + 523 + + + 780 + + + 1033 + + + + m.driftwood_bracelet + f.driftwood_bracelet + 850 + 2 + + Trinket + + + + + 16 + 10 + + + + + + + Gear/Trinket/Dual Heart Pendant + + + ui/icon/inventory/icon_amulet.png + + + 547 + + + 774 + + + 1057 + + + + m.dual_heart_pendant + f.dual_heart_pendant + 350 + 2 + + Trinket + + 0 + 0 + + + + 120 + HIGH + + + + + + + Gear/Trinket/Elite Bomb Focus Module + + + ui/icon/inventory/icon_gauntlet.png + + + 527 + + + 774 + + + 1026 + + + + m.elite_bomb_focus_module + f.elite_bomb_focus_module + 2000 + 5 + + Trinket + + + + + BOMB + + 0.2 + HIGH + + + + + + + + Gear/Trinket/Elite Boom Module + + + ui/icon/inventory/icon_gauntlet.png + + + 519 + + + 774 + + + 1026 + + + + m.elite_boom_module + f.elite_boom_module + 2000 + 5 + + Trinket + + + + + BOMB + + 0.2 + HIGH + + + + + + + + Gear/Trinket/Elite Handgun Focus Module + + + ui/icon/inventory/icon_gauntlet.png + + + 527 + + + 794 + + + 1026 + + + + m.elite_handgun_focus_module + f.elite_handgun_focus_module + 2000 + 5 + + Trinket + + + + + HANDGUN + + 0.15 + HIGH + + + + + + + + Gear/Trinket/Elite Quickdraw Module + + + ui/icon/inventory/icon_gauntlet.png + + + 531 + + + 794 + + + 1026 + + + + m.elite_quickdraw_module + f.elite_quickdraw_module + 2000 + 5 + + Trinket + + + + + HANDGUN + + 0.05 + HIGH + + + + + + + + Gear/Trinket/Elite Quickstrike Module + + + ui/icon/inventory/icon_gauntlet.png + + + 531 + + + 782 + + + 1026 + + + + m.elite_quickstrike_module + f.elite_quickstrike_module + 2000 + 5 + + Trinket + + + + + + 0.05 + HIGH + + + + + + + + Gear/Trinket/Elite Slash Module + + + ui/icon/inventory/icon_gauntlet.png + + + 519 + + + 782 + + + 1026 + + + + m.elite_slash_module + f.elite_slash_module + 2000 + 5 + + Trinket + + + + + + 0.2 + HIGH + + + + + + + + Gear/Trinket/Elite Sword Focus Module + + + ui/icon/inventory/icon_gauntlet.png + + + 527 + + + 782 + + + 1026 + + + + m.elite_sword_focus_module + f.elite_sword_focus_module + 2000 + 5 + + Trinket + + + + + + HIGH + + + + + + + + Gear/Trinket/Firefly Bottle + + + ui/icon/inventory/icon_amulet.png + + + 523 + + + 782 + + + 1037 + + + + m.firefly_bottle + f.firefly_bottle + 350 + 1 + + Trinket + + + + + + PC/Defense/Trinket/Trinket Base -10 + + ELEMENTAL + + + + PC/Defense/Trinket/Trinket Base -10 + + SHADOW + + + + + + + Gear/Trinket/Glimmering Crystal Pin + + + ui/icon/inventory/icon_amulet.png + + + 516 + + + 771 + + + 1045 + + + + m.glimmering_crystal_pin + f.glimmering_crystal_pin + 850 + 4 + + Trinket + + + + PC/Defense/Trinket/Trinket Base + + ELEMENTAL + + + + + Gear/Trinket/Glowing Crystal Pin + + + ui/icon/inventory/icon_amulet.png + + + 516 + + + 771 + + + 1045 + + + + m.glowing_crystal_pin + f.glowing_crystal_pin + 850 + 3 + + Trinket + + + + PC/Defense/Trinket/Trinket Base + + ELEMENTAL + + + + + Gear/Trinket/Glowing Firefly Bottle + + + ui/icon/inventory/icon_amulet.png + + + 523 + + + 782 + + + 1037 + + + + m.glowing_firefly_bottle + f.glowing_firefly_bottle + 850 + 3 + + Trinket + + false + + + + + PC/Defense/Trinket/Trinket Base -10 + + ELEMENTAL + + + + PC/Defense/Trinket/Trinket Base -10 + + SHADOW + + + + + + + Gear/Trinket/Handgun Focus Module + + + ui/icon/inventory/icon_gauntlet.png + + + 527 + + + 794 + + + 1026 + + + + m.handgun_focus_module + f.handgun_focus_module + 350 + 3 + + Trinket + + + + + HANDGUN + + 0.5 + LOW + + + + + + + + Gear/Trinket/Handgun Focus Module Mk II + + + ui/icon/inventory/icon_gauntlet.png + + + 527 + + + 794 + + + 1026 + + + + m.handgun_focus_module_mkii + f.handgun_focus_module_mkii + 850 + 4 + + Trinket + + + + + HANDGUN + + 0.1 + MEDIUM + + + + + + + + Gear/Trinket/Heart Pendant + + + ui/icon/inventory/icon_amulet.png + + + 547 + + + 774 + + + 1057 + + + + m.heart_pendant + f.heart_pendant + 350 + 1 + + Trinket + + 0 + 0 + + + + 80 + MEDIUM + + + + + + + Gear/Trinket/Hearthstone Pendant + + + ui/icon/inventory/icon_amulet.png + + + 539 + + + 771 + + + 1029 + + + + m.hearthstone_pendant + f.hearthstone_pendant + 350 + 3 + + Trinket + + + 8 + 5 + + + + + Gear/Trinket/Heavy Armor Ward + + + ui/icon/inventory/icon_gauntlet.png + + + 516 + + + 771 + + + 1049 + + + + m.heavy_armor_ward + f.heavy_armor_ward + 850 + 4 + + Trinket + + + + PC/Defense/Trinket/Trinket Base + + + + + + Gear/Trinket/Heavy Impact Band + + + ui/icon/inventory/icon_ring.png + + + 527 + + + 782 + + + 1033 + + + + m.heavy_impact_band + f.heavy_impact_band + 350 + 4 + + Trinket + + 0 + 0 + + 1 + 15 + + + + + Gear/Trinket/Hi-Grade Katnip Pouch + + + ui/icon/inventory/icon_herb.png + + + 531 + + + 786 + + + 1042 + + + + m.hi-grade_katnip_pouch + f.hi-grade_katnip_pouch + 2000 + 4 + + Trinket + + 0 + 0 + + 256 + 15 + + + + + Gear/Trinket/Impact Band + + + ui/icon/inventory/icon_ring.png + + + 527 + + + 782 + + + 1033 + + + + m.impact_band + f.impact_band + 350 + 2 + + Trinket + + 0 + 0 + + 1 + 5 + + + + + Gear/Trinket/Ironmight Armor Ward + + + ui/icon/inventory/icon_gauntlet.png + + + 516 + + + 771 + + + 1049 + + + + m.ironmight_armor_ward + f.ironmight_armor_ward + 2000 + 5 + + Trinket + + + + PC/Defense/Trinket/Trinket Base + + + + + + Gear/Trinket/Ironwood Bracelet + + + ui/icon/inventory/icon_ring.png + + + 516 + + + 771 + + + 1026 + + + + m.ironwood_bracelet + f.ironwood_bracelet + 2000 + 4 + + Trinket + + + + + 16 + 15 + + + + + + + Gear/Trinket/Jelly Band + + + ui/icon/inventory/icon_ring.png + + + 547 + + + 802 + + + 1057 + + + + m.jelly_band + f.jelly_band + 350 + 2 + + Trinket + + + + PC/Defense/Trinket/Trinket Base + + PIERCING + + + + + Gear/Trinket/Katnip Pouch + + + ui/icon/inventory/icon_amulet.png + + + 531 + + + 786 + + + 1042 + + + + m.katnip_pouch + f.katnip_pouch + 350 + 2 + + Trinket + + 0 + 0 + + 256 + 5 + + + + + Gear/Trinket/Massive Impact Band + + + ui/icon/inventory/icon_ring.png + + + 527 + + + 782 + + + 1033 + + + + m.massive_impact_band + f.massive_impact_band + 350 + 5 + + Trinket + + 0 + 0 + + 1 + 20 + + + + + Gear/Trinket/Pure White Laurel + + + ui/icon/inventory/icon_herb.png + + + 531 + + + 769 + + + 1025 + + + + m.pure_white_laurel + f.pure_white_laurel + 350 + 5 + + Trinket + + 0 + 0 + + 2 + 20 + + + + + Gear/Trinket/Purrfect Katnip Pouch + + + ui/icon/inventory/icon_amulet.png + + + 531 + + + 786 + + + 1042 + + + + m.purrfect_katnip_pouch + f.purrfect_katnip_pouch + 2000 + 5 + + Trinket + + 0 + 0 + + 256 + 20 + + + + + Gear/Trinket/Quick Draw Module + + + ui/icon/inventory/icon_gauntlet.png + + + 531 + + + 794 + + + 1026 + + + + m.quick_draw_module + f.quick_draw_module + 350 + 3 + + Trinket + + + + + HANDGUN + + 0.02 + + + + + + + + Gear/Trinket/Quick Draw Module Mk II + + + ui/icon/inventory/icon_gauntlet.png + + + 531 + + + 794 + + + 1026 + + + + m.quick_draw_module_mkii + f.quick_draw_module_mkii + 850 + 4 + + Trinket + + + + + HANDGUN + + 0.03 + + + + + + + + Gear/Trinket/Quick Strike Module + + + ui/icon/inventory/icon_gauntlet.png + + + 531 + + + 782 + + + 1026 + + + + m.quick_strike_module + f.quick_strike_module + 350 + 3 + + Trinket + + + + + + 0.02 + + + + + + + + Gear/Trinket/Quick Strike Module Mk II + + + ui/icon/inventory/icon_gauntlet.png + + + 531 + + + 782 + + + 1026 + + + + m.quick_strike_module_mkii + f.quick_strike_module_mkii + 850 + 4 + + Trinket + + + + + + 0.03 + + + + + + + + Gear/Trinket/Radiant Crystal Pin + + + ui/icon/inventory/icon_amulet.png + + + 516 + + + 771 + + + 1045 + + + + m.radiant_crystal_pin + f.radiant_crystal_pin + 2000 + 5 + + Trinket + + + + PC/Defense/Trinket/Trinket Base + + ELEMENTAL + + + + + Gear/Trinket/Radiant Firefly Bottle + + + ui/icon/inventory/icon_amulet.png + + + 523 + + + 782 + + + 1037 + + + + m.radiant_firefly_bottle + f.radiant_firefly_bottle + 2000 + 5 + + Trinket + + false + + + + + PC/Defense/Trinket/Trinket Base -10 + + ELEMENTAL + + + + PC/Defense/Trinket/Trinket Base -10 + + SHADOW + + + + + + + Gear/Trinket/Redwood Bracelet + + + ui/icon/inventory/icon_ring.png + + + 519 + + + 774 + + + 1029 + + + + m.redwood_bracelet + f.redwood_bracelet + 850 + 3 + + Trinket + + + + + 16 + 10 + + + + + + + Gear/Trinket/Rock Jelly Band + + + ui/icon/inventory/icon_ring.png + + + 547 + + + 802 + + + 1057 + + + + m.rock_jelly_band + f.rock_jelly_band + 850 + 4 + + Trinket + + + + PC/Defense/Trinket/Trinket Base + + PIERCING + + + + + Gear/Trinket/Royal Jelly Band + + + ui/icon/inventory/icon_ring.png + + + 547 + + + 802 + + + 1057 + + + + m.royal_jelly_band + f.royal_jelly_band + 2000 + 5 + + Trinket + + + + PC/Defense/Trinket/Trinket Base + + PIERCING + + + + + Gear/Trinket/Sacred Silver Amulet + + + ui/icon/inventory/icon_amulet.png + + + 516 + + + 769 + + + 1026 + + + + m.sacred_silver_amulet + f.sacred_silver_amulet + 350 + 2 + + Trinket + + 0 + 0 + + 32 + 5 + + + + + Gear/Trinket/Saintly Silver Amulet + + + ui/icon/inventory/icon_amulet.png + + + 516 + + + 769 + + + 1026 + + + + m.saintly_silver_amulet + f.saintly_silver_amulet + 350 + 5 + + Trinket + + 0 + 0 + + 32 + 20 + + + + + Gear/Trinket/Scale Pendant + + + ui/icon/inventory/icon_amulet.png + + + 516 + + + 773 + + + 1041 + + + + m.scale_pendant + f.scale_pendant + 350 + 3 + + Trinket + + + + + + PC/Defense/Trinket/Trinket Base -10 + + PIERCING + + + + PC/Defense/Trinket/Trinket Base -10 + + ELEMENTAL + + + + + + + Gear/Trinket/Scary Skelly Charm + + + ui/icon/inventory/icon_amulet.png + + + 516 + + + 769 + + + 1053 + + + + m.scary_skelly_charm + f.scary_skelly_charm + 850 + 3 + + Trinket + + + + + + PC/Defense/Trinket/Trinket Base + + SHADOW + + + + + + + Gear/Trinket/Shadow Thorn Choker + + + ui/icon/inventory/icon_amulet.png + + + 516 + + + 785 + + + 1053 + + + + m.shadow_thorn_choker + f.shadow_thorn_choker + 850 + 5 + + Trinket + + + -200 + ULTRA + false + + + + + + PC/Defense/Trinket/Trinket Base -10 + + SHADOW + + + 2 + 20 + + + + + + + Gear/Trinket/Silver Amulet + + + ui/icon/inventory/icon_amulet.png + + + 516 + + + 769 + + + 1026 + + + + m.silver_amulet + f.silver_amulet + 350 + 2 + + Trinket + + 0 + 0 + + 32 + 5 + + + + + Gear/Trinket/Silver Wing Pendant + + + ui/icon/inventory/icon_amulet.png + + + 535 + + + 769 + + + 1026 + + + + m.silver_wing_pendant + f.silver_wing_pendant + 850 + 4 + + Trinket + + + + + + PC/Defense/Trinket/Trinket Base -10 + + SHADOW + + + 32 + 15 + + + 20 + -15 + + + + + + + Gear/Trinket/Sinister Skelly Charm + + + ui/icon/inventory/icon_amulet.png + + + 516 + + + 769 + + + 1053 + + + + m.sinister_skelly_charm + f.sinister_skelly_charm + 850 + 4 + + Trinket + + + + + + PC/Defense/Trinket/Trinket Base + + SHADOW + + + + + + + Gear/Trinket/Sizzling Hearthstone Pendant + + + ui/icon/inventory/icon_amulet.png + + + 539 + + + 771 + + + 1029 + + + + m.sizzling_hearthstone_pendant + f.sizzling_hearthstone_pendant + 2000 + 5 + + Trinket + + + 8 + 20 + + + + + Gear/Trinket/Skelly Charm + + + ui/icon/inventory/icon_amulet.png + + + 516 + + + 769 + + + 1053 + + + + m.skelly_charm + f.skelly_charm + 350 + 2 + + Trinket + + + + + + PC/Defense/Trinket/Trinket Base + + SHADOW + + + + + + + Gear/Trinket/Slash Module + + + ui/icon/inventory/icon_gauntlet.png + + + 519 + + + 782 + + + 1026 + + + + m.slash_module + f.slash_module + 350 + 3 + + Trinket + + + + + + 0.1 + LOW + + + + + + + + Gear/Trinket/Slash Module Mk II + + + ui/icon/inventory/icon_gauntlet.png + + + 519 + + + 782 + + + 1026 + + + + m.slash_module_mkii + f.slash_module_mkii + 850 + 4 + + Trinket + + + + + + 0.15 + MEDIUM + + + + + + + + Gear/Trinket/Slippery Wetstone Pendant + + + ui/icon/inventory/icon_amulet.png + + + 519 + + + 771 + + + 1049 + + + + m.slippery_wetstone_pendant + f.slippery_wetstone_pendant + 850 + 4 + + Trinket + + 0 + 0 + + 4 + 15 + + + + + Gear/Trinket/Snowy White Laurel + + + ui/icon/inventory/icon_herb.png + + + 531 + + + 769 + + + 1041 + + + + m.snowy_white_laurel + f.snowy_white_laurel + 350 + 4 + + Trinket + + 0 + 0 + + 2 + 15 + + + + + Gear/Trinket/Soaking Wetstone Pendant + + + ui/icon/inventory/icon_amulet.png + + + 519 + + + 771 + + + 1049 + + + + m.soaking_wetstone_pendant + f.soaking_wetstone_pendant + 2000 + 5 + + Trinket + + 0 + 0 + + 4 + 20 + + + + + Gear/Trinket/Soldier's Charm + + + ui/icon/inventory/icon_amulet.png + + + 516 + + + 770 + + + 1030 + + + + m.soldiers_charm + f.soldiers_charm + 350 + 1 + + Trinket + + + + + + + + + + PC/Defense/Trinket/Trinket Base + + + + + + Gear/Trinket/Solid Impact Band + + + ui/icon/inventory/icon_ring.png + + + 527 + + + 782 + + + 1033 + + + + m.solid_impact_band + f.solid_impact_band + 350 + 3 + + Trinket + + 0 + 0 + + 1 + 10 + + + + + Gear/Trinket/Sterling Wing Pendant + + + ui/icon/inventory/icon_amulet.png + + + 535 + + + 769 + + + 1026 + + + + m.sterling_wing_pendant + f.sterling_wing_pendant + 850 + 5 + + Trinket + + + + + + PC/Defense/Trinket/Trinket Base -10 + + SHADOW + + + 32 + 20 + + + 20 + -20 + + + + + + + Gear/Trinket/Sword Focus Module + + + ui/icon/inventory/icon_gauntlet.png + + + 527 + + + 782 + + + 1026 + + + + m.sword_focus_module + f.sword_focus_module + 350 + 3 + + Trinket + + + + + + 0.05 + LOW + + + + + + + + Gear/Trinket/Sword Focus Module Mk II + + + ui/icon/inventory/icon_gauntlet.png + + + 527 + + + 782 + + + 1026 + + + + m.sword_focus_module_mkii + f.sword_focus_module_mkii + 850 + 4 + + Trinket + + + + + + 0.1 + MEDIUM + + + + + + + + Gear/Trinket/Tetra-Heart Pendant + + + ui/icon/inventory/icon_amulet.png + + + 547 + + + 774 + + + 1057 + + + + m.tetra_heart_pendant + f.tetra_heart_pendant + 2000 + 4 + + Trinket + + 0 + 0 + + + + 200 + ULTRA + + + + + + + Gear/Trinket/Thorn Choker + + + ui/icon/inventory/icon_amulet.png + + + 516 + + + 785 + + + 1053 + + + + m.thorn_choker + f.thorn_choker + 850 + 3 + + Trinket + + + -120 + HIGH + false + + + + + + PC/Defense/Trinket/Trinket Base -10 + + SHADOW + + + 2 + 10 + + + + + + + Gear/Trinket/Toasty Hearthstone Pendant + + + ui/icon/inventory/icon_amulet.png + + + 539 + + + 771 + + + 1029 + + + + m.toasty_hearthstone_pendant + f.toasty_hearthstone_pendant + 850 + 4 + + Trinket + + + 8 + 15 + + + + + Gear/Trinket/Tri-Heart Pendant + + + ui/icon/inventory/icon_amulet.png + + + 547 + + + 774 + + + 1057 + + + + m.tri_heart_pendant + f.tri_heart_pendant + 2000 + 3 + + Trinket + + 0 + 0 + + + + 160 + VERY_HIGH + + + + + + + Gear/Trinket/True Love Locket + + + ui/icon/inventory/icon_amulet.png + + + 547 + + + 774 + + + 1057 + + + + m.true_love_locket + f.true_love_locket + 2000 + 5 + + Trinket + + 0 + 0 + + + + 240 + MAXIMUM + + + + + + + Gear/Trinket/Volcanic Armor Ward + + + ui/icon/inventory/icon_gauntlet.png + + + 516 + + + 776 + + + 1027 + + + + m.volcanic_armor_ward + f.volcanic_armor_ward + 2000 + 5 + + Trinket + + + LOW + false + + + + + + PC/Defense/Trinket/Trinket Base -10 + + + + + PC/Defense/Trinket/Trinket Base -10 + + ELEMENTAL + + + 4 + 10 + + + + + + + Gear/Trinket/Warm Hearthstone Pendant + + + ui/icon/inventory/icon_amulet.png + + + 539 + + + 771 + + + 1029 + + + + m.warm_hearthstone_pendant + f.warm_hearthstone_pendant + 2000 + 3 + + Trinket + + + 8 + 10 + + + + + Gear/Trinket/Wetstone Pendant + + + ui/icon/inventory/icon_amulet.png + + + 519 + + + 771 + + + 1049 + + + + m.wetstone_pendant + f.wetstone_pendant + 350 + 2 + + Trinket + + 0 + 0 + + 4 + 5 + + + + + Gear/Trinket/White Laurel + + + ui/icon/inventory/icon_herb.png + + + 531 + + + 769 + + + 1025 + + + + m.white_laurel + f.white_laurel + 350 + 2 + + Trinket + + 0 + 0 + + 2 + 5 + + + + + Gear/Trinket/Wing Pendant + + + ui/icon/inventory/icon_amulet.png + + + 535 + + + 769 + + + 1026 + + + + m.wing_pendant + f.wing_pendant + 850 + 3 + + Trinket + + + + + + PC/Defense/Trinket/Trinket Base -10 + + SHADOW + + + 32 + 10 + + + 20 + -10 + + + + + + + Gear/Trinket/Wyrmwood Bracelet + + + ui/icon/inventory/icon_ring.png + + + 531 + + + 786 + + + 1041 + + + + m.wyrmwood_bracelet + f.wyrmwood_bracelet + 2000 + 5 + + Trinket + + + + + 16 + 20 + + + + + + + Material/Beast Scale + + + ui/icon/inventory/icon_mat_fang.png + + + 531 + + + 788 + + + 1041 + + + + m.beast_scale + f.beast_scale + 99 + 1 + 1 + + Material + + + + + Material/Blast Powder + + + ui/icon/inventory/icon_mat_dust.png + + + 523 + + + 771 + + + 1026 + + + + m.blast_powder + f.blast_powder + 99 + 5 + 2 + + Material + + + + + Material/Blaze Pepper + + + ui/icon/inventory/icon_mat_herb.png + + + 519 + + + 778 + + + 1029 + + + + m.blaze_pepper + f.blaze_pepper + 99 + 25 + 4 + + Material + + + + + Material/Blighted Bone + + + ui/icon/inventory/icon_mat_bone.png + + + 531 + + + 792 + + + 1044 + + + + m.blighted_bone + f.blighted_bone + 99 + 25 + 4 + + Material + + + + + Material/Blue Shard + + + ui/icon/inventory/icon_mat_gem.png + + + 535 + + + 790 + + + 1048 + + + + m.blue_shard + f.blue_shard + 99 + 1 + + Material + + + + + Material/Brimstone + + + ui/icon/inventory/icon_mat_dust.png + + + 527 + + + 781 + + + 1040 + + + + m.brimstone + f.brimstone + 99 + 25 + 1 + + Material + + + + + Material/Bronze Bolt + + + ui/icon/inventory/icon_mat_bolt.png + + + 523 + + + 780 + + + 1033 + + + + m.bronze_bolt + f.bronze_bolt + 99 + 1 + 1 + + Material + + + + + Material/Brute Core + + + ui/icon/inventory/icon_mat_core.png + + + 539 + + + 794 + + + 1049 + + + + m.brute_core + f.brute_core + 99 + 10 + 3 + + Material + + + + + Material/Bushy Tail + + + ui/icon/inventory/icon_mat_fang.png + + + 523 + + + 777 + + + 1036 + + + + m.bushy_tail + f.bushy_tail + 99 + 10 + 3 + + Material + + + + + Material/Chroma Tear + + + ui/icon/inventory/icon_mat_drop.png + + + 535 + + + 790 + + + 1045 + + + + m.chroma_tear + f.chroma_tear + 99 + 25 + 4 + + Material + + + + + Material/Cooling Cell + + + ui/icon/inventory/icon_mat_battery.png + + + 535 + + + 789 + + + 1048 + + + + m.cooling_cell + f.cooling_cell + 99 + 5 + 2 + + Material + + + + + Material/Corrosive Acid + + + ui/icon/inventory/icon_mat_drop.png + + + 531 + + + 786 + + + 1041 + + + + m.corrosive_acid + f.corrosive_acid + 99 + 25 + 4 + + Material + + + + + Material/Critter Carapace + + + ui/icon/inventory/icon_mat_fang.png + + + 531 + + + 786 + + + 1041 + + + + m.critter_carapace + f.critter_carapace + 99 + 10 + 2 + + Material + + + + + Material/Cursed Idol + + + ui/icon/inventory/icon_mat_bell.png + + + 543 + + + 797 + + + 1056 + + + + m.cursed_idol + f.cursed_idol + 99 + 25 + 4 + + Material + + + + + Material/Dark Shard + + + ui/icon/inventory/icon_mat_gem.png + + + 543 + + + 798 + + + 1056 + + + + m.dark_shard + f.dark_shard + 99 + 1 + + Material + + + + + Material/Dragon Scale + + + ui/icon/inventory/icon_mat_fang.png + + + 543 + + + 800 + + + 1053 + + + + m.dragon_scale + f.dragon_scale + 99 + 50 + 5 + + Material + + + + + Material/Drake Scale + + + ui/icon/inventory/icon_mat_fang.png + + + 535 + + + 792 + + + 1045 + + + + m.drake_scale + f.drake_scale + 99 + 10 + 3 + + Material + + + + + Material/Driftwood + + + ui/icon/inventory/icon_mat_log.png + + + 523 + + + 777 + + + 1036 + + + + m.driftwood + f.driftwood + 99 + 5 + 2 + + Material + + + + + Material/Ecto Drop + + + ui/icon/inventory/icon_mat_drop.png + + + 535 + + + 786 + + + 1041 + + + + m.ecto_drop + f.ecto_drop + 99 + 1 + 1 + + Material + + + + + Material/Everfrost + + + ui/icon/inventory/icon_mat_soul.png + + + 535 + + + 789 + + + 1048 + + + + m.everfrost + f.everfrost + 99 + 50 + 5 + + Material + + + + + Material/Fine Fabric + + + ui/icon/inventory/icon_mat_fabric.png + + + 527 + + + 782 + + + 1037 + + + + m.fine_fabric + f.fine_fabric + 99 + 10 + 3 + + Material + + + + + Material/Flame Soul + + + ui/icon/inventory/icon_mat_soul.png + + + 523 + + + 778 + + + 1036 + + + + m.flame_soul + f.flame_soul + 99 + 50 + 5 + + Material + + + + + Material/Forbidden Fruit + + + ui/icon/inventory/icon_mat_herb.png + + + 531 + + + 800 + + + 1053 + + + + m.forbidden_fruit + f.forbidden_fruit + 99 + 5 + 2 + + Material + + + + + Material/Force Dynamo + + + ui/icon/inventory/icon_mat_spring.png + + + 527 + + + 781 + + + 1040 + + + + m.force_dynamo + f.force_dynamo + 99 + 10 + 3 + + Material + + + + + Material/Frayed Fabric + + + ui/icon/inventory/icon_mat_fabric.png + + + 523 + + + 781 + + + 1036 + + + + m.frayed_fabric + f.frayed_fabric + 99 + 5 + 2 + + Material + + + + + Material/Frost Gel + + + ui/icon/inventory/icon_mat_drop.png + + + 535 + + + 790 + + + 1045 + + + + m.frost_gel + f.frost_gel + 99 + 5 + 2 + + Material + + + + + Material/Fuel Canister + + + ui/icon/inventory/icon_mat_battery.png + + + 523 + + + 778 + + + 1036 + + + + m.fuel_canister + f.fuel_canister + 99 + 10 + 2 + + Material + + + + + Material/Gel Core + + + ui/icon/inventory/icon_mat_core.png + + + 547 + + + 802 + + + 1060 + + + + m.gel_core + f.gel_core + 99 + 5 + 2 + + Material + + + + + Material/Gel Drop + + + ui/icon/inventory/icon_mat_drop.png + + + 547 + + + 802 + + + 1057 + + + + m.gel_drop + f.gel_drop + 99 + 1 + 1 + + Material + + + + + Material/Ghost Bell + + + ui/icon/inventory/icon_mat_bell.png + + + 535 + + + 792 + + + 1026 + + + + m.ghost_bell + f.ghost_bell + 99 + 25 + 4 + + Material + + + + + Material/Grave Soil + + + ui/icon/inventory/icon_mat_dust.png + + + 524 + + + 779 + + + 1041 + + + + m.grave_soil + f.grave_soil + 99 + 5 + 2 + + Material + + + + + Material/Green Shard + + + ui/icon/inventory/icon_mat_gem.png + + + 531 + + + 785 + + + 1042 + + + + m.green_shard + f.green_shard + 99 + 1 + + Material + + + + + Material/Gremlin Gizmo + + + ui/icon/inventory/icon_mat_spring.png + + + 523 + + + 777 + + + 1036 + + + + m.gremlin_gizmo + f.gremlin_gizmo + 99 + 5 + 2 + + Material + + + + + Material/Hailstone + + + ui/icon/inventory/icon_mat_jewel.png + + + 535 + + + 769 + + + 1045 + + + + m.hailstone + f.hailstone + 99 + 10 + 3 + + Material + + + + + Material/Heavy Gear + + + ui/icon/inventory/icon_mat_gear.png + + + 523 + + + 777 + + + 1036 + + + + m.heavy_gear + f.heavy_gear + 99 + 25 + 4 + + Material + + + + + Material/Iron Gear + + + ui/icon/inventory/icon_mat_gear.png + + + 516 + + + 770 + + + 1027 + + + + m.iron_gear + f.iron_gear + 99 + 5 + 2 + + Material + + + + + Material/Ironwood + + + ui/icon/inventory/icon_mat_log.png + + + 516 + + + 770 + + + 1027 + + + + m.ironwood + f.ironwood + 99 + 25 + 4 + + Material + + + + + Material/Light Shard + + + ui/icon/inventory/icon_mat_gem.png + + + 527 + + + 782 + + + 1040 + + + + m.light_shard + f.light_shard + 99 + 1 + + Material + + + + + Material/Lucky Horseshoe + + + ui/icon/inventory/icon_mat_shoe.png + + + 531 + + + 785 + + + 1044 + + + + m.lucky_horseshoe + f.lucky_horseshoe + 99 + 50 + 5 + + Material + + + + + Material/Meteor Mote + + + ui/icon/inventory/icon_mat_dust.png + + + 519 + + + 777 + + + 1036 + + + + m.meteor_mote + f.meteor_mote + 99 + 25 + 4 + + Material + + + + + Material/Miracloth + + + ui/icon/inventory/icon_mat_fabric.png + + + 535 + + + 790 + + + 1053 + + + + m.miracloth + f.miracloth + 99 + 25 + 4 + + Material + + + + + Material/Monster Bone + + + ui/icon/inventory/icon_mat_bone.png + + + 523 + + + 770 + + + 1036 + + + + m.monster_bone + f.monster_bone + 99 + 5 + 2 + + Material + + + + + Material/Mug of Misery + + + ui/icon/inventory/icon_mat_mug.png + + + 543 + + + 769 + + + 1053 + + + + m.mug_misery + f.mug_misery + 99 + 25 + 4 + + Material + + + + + Material/Nightshade + + + ui/icon/inventory/icon_mat_herb.png + + + 531 + + + 785 + + + 1044 + + + + m.nightshade + f.nightshade + 99 + 5 + 2 + + Material + + + + + Material/Owlite Feather + + + ui/icon/inventory/icon_mat_feather.png + + + 535 + + + 771 + + + 1045 + + + + m.owlite_feather + f.owlite_feather + 99 + 5 + 2 + + Material + + + + + Material/Perfect Snowball + + + ui/icon/inventory/icon_mat_core.png + + + 535 + + + 770 + + + 1025 + + + + m.perfect_snowball + f.perfect_snowball + 99 + 25 + 4 + + Material + + + + + Material/Phial of Phear + + + ui/icon/inventory/icon_mat_mug.png + + + 543 + + + 798 + + + 1053 + + + + m.phial_phear + f.phial_phear + 99 + 10 + 3 + + Material + + + + + Material/Philoso Feather + + + ui/icon/inventory/icon_mat_feather.png + + + 516 + + + 771 + + + 1026 + + + + m.philoso_feather + f.philoso_feather + 99 + 50 + 5 + + Material + + + + + Material/Plague Essence + + + ui/icon/inventory/icon_mat_soul.png + + + 531 + + + 786 + + + 1044 + + + + m.plague_essence + f.plague_essence + 99 + 50 + 5 + + Material + + + + + Material/Plasma Cell + + + ui/icon/inventory/icon_mat_battery.png + + + 547 + + + 801 + + + 1060 + + + + m.plasma_cell + f.plasma_cell + 99 + 50 + 5 + + Material + + + + + Material/Power Cell + + + ui/icon/inventory/icon_mat_battery.png + + + 527 + + + 781 + + + 1040 + + + + m.power_cell + f.power_cell + 99 + 5 + 2 + + Material + + + + + Material/Primal Ore + + + ui/icon/inventory/icon_mat_metal.png + + + 531 + + + 785 + + + 1044 + + + + m.primal_ore + f.primal_ore + 99 + 50 + 5 + + Material + + + + + Material/Reaper Rib + + + ui/icon/inventory/icon_mat_bone.png + + + 543 + + + 800 + + + 1048 + + + + m.reaper_rib + f.reaper_rib + 99 + 50 + 5 + + Material + + + + + Material/Red Shard + + + ui/icon/inventory/icon_mat_gem.png + + + 519 + + + 774 + + + 1032 + + + + m.red_shard + f.red_shard + 99 + 1 + + Material + + + + + Material/Redwood + + + ui/icon/inventory/icon_mat_log.png + + + 519 + + + 773 + + + 1032 + + + + m.redwood + f.redwood + 99 + 10 + 3 + + Material + + + + + Material/Rock Salt + + + ui/icon/inventory/icon_mat_dust.png + + + 535 + + + 769 + + + 1048 + + + + m.rock_salt + f.rock_salt + 99 + 5 + 2 + + Material + + + + + Material/Rocket Sprocket + + + ui/icon/inventory/icon_mat_gear.png + + + 519 + + + 770 + + + 1032 + + + + m.rocket_sprocket + f.rocket_sprocket + 99 + 10 + 3 + + Material + + + + + Material/Rocky Core + + + ui/icon/inventory/icon_mat_core.png + + + 535 + + + 771 + + + 1048 + + + + m.rocky_core + f.rocky_core + 99 + 25 + 4 + + Material + + + + + Material/Royal Core + + + ui/icon/inventory/icon_mat_core.png + + + 543 + + + 798 + + + 1056 + + + + m.royal_core + f.royal_core + 99 + 50 + 5 + + Material + + + + + Material/Scrap Metal + + + ui/icon/inventory/icon_mat_bolt.png + + + 516 + + + 771 + + + 1026 + + + + m.scrap_metal + f.scrap_metal + 99 + 1 + 1 + + Material + + + + + Material/Shadow Steel + + + ui/icon/inventory/icon_mat_metal.png + + + 543 + + + 797 + + + 1056 + + + + m.shadow_steel + f.shadow_steel + 99 + 50 + 5 + + Material + + + + + Material/Sharp Fang + + + ui/icon/inventory/icon_mat_fang.png + + + 527 + + + 781 + + + 1040 + + + + m.sharp_fang + f.sharp_fang + 99 + 1 + 1 + + Material + + + + + Material/Shell Casing + + + ui/icon/inventory/icon_mat_bolt.png + + + 519 + + + 771 + + + 1026 + + + + m.shell_casing + f.shell_casing + 99 + 1 + 1 + + Material + + + + + Material/Silver Coil + + + ui/icon/inventory/icon_mat_spring.png + + + 535 + + + 770 + + + 1048 + + + + m.silver_coil + f.silver_coil + 99 + 25 + 4 + + Material + + + + + Material/Silverweave + + + ui/icon/inventory/icon_mat_fabric.png + + + 516 + + + 770 + + + 1048 + + + + m.silverweave + f.silverweave + 99 + 50 + 5 + + Material + + + + + Material/Soul Dust + + + ui/icon/inventory/icon_mat_dust.png + + + 531 + + + 785 + + + 1044 + + + + m.soul_dust + f.soul_dust + 99 + 10 + 3 + + Material + + + + + Material/Spark of Life + + + ui/icon/inventory/icon_mat_soul.png + + + 527 + + + 782 + + + 1040 + + + + m.spark_life + f.spark_life + 99 + 50 + 5 + + Material + + + + + Material/Static Clinger + + + ui/icon/inventory/icon_mat_herb.png + + + 527 + + + 781 + + + 1040 + + + + m.static_clinger + f.static_clinger + 99 + 5 + 2 + + Material + + + + + Material/Sun Silver + + + ui/icon/inventory/icon_mat_metal.png + + + 527 + + + 781 + + + 1040 + + + + m.sun_silver + f.sun_silver + 99 + 50 + 5 + + Material + + + + + Material/Swordstone + + + ui/icon/inventory/icon_mat_dust.png + + + 519 + + + 771 + + + 1026 + + + + m.swordstone + f.swordstone + 99 + 5 + 2 + + Material + + + + + Material/Thunderball + + + ui/icon/inventory/icon_mat_jewel.png + + + 535 + + + 781 + + + 1046 + + + + m.thunderball + f.thunderball + 99 + 25 + 4 + + Material + + + + + Material/Torchstone + + + ui/icon/inventory/icon_mat_jewel.png + + + 519 + + + 774 + + + 1029 + + + + m.torchstone + f.torchstone + 99 + 10 + 3 + + Material + + + + + Material/Toxic Core + + + ui/icon/inventory/icon_mat_core.png + + + 531 + + + 786 + + + 1044 + + + + m.toxic_core + f.toxic_core + 99 + 10 + 3 + + Material + + + + + Material/Trojan Horseshoe + + + ui/icon/inventory/icon_mat_shoe.png + + + 539 + + + 798 + + + 1053 + + + + m.trojan_horseshoe + f.trojan_horseshoe + 99 + 25 + 4 + + Material + + + + + Material/Unstable Core + + + ui/icon/inventory/icon_mat_core.png + + + 523 + + + 782 + + + 1036 + + + + m.unstable_core + f.unstable_core + 99 + 10 + 3 + + Material + + + + + Material/Volcanic Iron + + + ui/icon/inventory/icon_mat_metal.png + + + 519 + + + 777 + + + 1036 + + + + m.volcanic_iron + f.volcanic_iron + 99 + 50 + 5 + + Material + + + + + Material/Volt Oil + + + ui/icon/inventory/icon_mat_drop.png + + + 527 + + + 782 + + + 1037 + + + + m.volt_oil + f.volt_oil + 99 + 10 + 3 + + Material + + + + + Material/Warp Dust + + + ui/icon/inventory/icon_mat_dust.png + + + 535 + + + 789 + + + 1048 + + + + m.warp_dust + f.warp_dust + 99 + 25 + 4 + + Material + + + + + Material/Waste Module + + + ui/icon/inventory/icon_mat_battery.png + + + 531 + + + 785 + + + 1044 + + + + m.waste_module + f.waste_module + 99 + 5 + 2 + + Material + + + + + Material/Wishbone + + + ui/icon/inventory/icon_mat_bone.png + + + 527 + + + 781 + + + 1040 + + + + m.wishbone + f.wishbone + 99 + 50 + 5 + + Material + + + + + Material/Zee Core + + + ui/icon/inventory/icon_mat_core.png + + + 535 + + + 790 + + + 1048 + + + + m.zee_core + f.zee_core + 99 + 10 + 3 + + Material + + + + + Mineral/Dungeon/Base/Crimsonite Deposit + + + Name + implementation.name + + + Flavor + implementation.flavor + + + Rarity + implementation.rarity + + + Mineral Count + implementation.mineral_count + + + Mesh + implementation.model["Model"], implementation.actor_model["Mesh"] + + + + m.crimsonite_deposit_1 + f.crimsonite_deposit_1 + 1 + false + + item/live/mineral/model_equiped.dat + + Color + mineral-Red + Model + mesh1 + + + + Mineral/Inventory/Crimsonite + + + item/live/mineral/model.dat + + Color + mineral-Red + Mesh + mesh1 + + + + + + Mineral/Dungeon/Base/Dark Matter Deposit + + + Name + implementation.name + + + Flavor + implementation.flavor + + + Rarity + implementation.rarity + + + Mineral Count + implementation.mineral_count + + + Mesh + implementation.model["Model"], implementation.actor_model["Mesh"] + + + + m.dark_matter_deposit_1 + f.dark_matter_deposit_1 + 1 + false + + item/live/mineral/model_equiped.dat + + Color + mineral-Dark + Model + mesh1 + + + + Mineral/Inventory/Dark Matter + + + item/live/mineral/model.dat + + Color + mineral-Dark + Mesh + mesh1 + + + + + + Mineral/Dungeon/Base/Luminite Deposit + + + Name + implementation.name + + + Flavor + implementation.flavor + + + Rarity + implementation.rarity + + + Mineral Count + implementation.mineral_count + + + Mesh + implementation.model["Model"], implementation.actor_model["Mesh"] + + + + m.luminite_deposit_1 + f.luminite_deposit_1 + 1 + false + + item/live/mineral/model_equiped.dat + + Color + mineral-Light + Model + mesh1 + + + + Mineral/Inventory/Luminite + + + item/live/mineral/model.dat + + Color + mineral-Light + Mesh + mesh1 + + + + + + Mineral/Dungeon/Base/Moonstone Deposit + + + Name + implementation.name + + + Flavor + implementation.flavor + + + Rarity + implementation.rarity + + + Mineral Count + implementation.mineral_count + + + Mesh + implementation.model["Model"], implementation.actor_model["Mesh"] + + + + m.moonstone_deposit_1 + f.moonstone_deposit_1 + 1 + false + + item/live/mineral/model_equiped.dat + + Color + mineral-Blue + Model + mesh1 + + + + Mineral/Inventory/Moonstone + + + item/live/mineral/model.dat + + Color + mineral-Blue + Mesh + mesh1 + + + + + + Mineral/Dungeon/Base/Valestone Deposit + + + Name + implementation.name + + + Flavor + implementation.flavor + + + Rarity + implementation.rarity + + + Mineral Count + implementation.mineral_count + + + Mesh + implementation.model["Model"], implementation.actor_model["Mesh"] + + + + m.valestone_deposit_1 + f.valestone_deposit_1 + 1 + false + + item/live/mineral/model_equiped.dat + + Color + mineral-Green + Model + mesh1 + + + + Mineral/Inventory/Valestone + + + item/live/mineral/model.dat + + Color + mineral-Green + Mesh + mesh1 + + + + + + Mineral/Dungeon/Crimsonite Deposit 1 + + + Mineral/Dungeon/Base/Crimsonite Deposit + + Flavor + f.crimsonite_deposit_1 + Mesh + mesh1 + Mineral Count + 1 + Name + m.crimsonite_deposit_1 + Rarity + 1 + + + + + + Mineral/Dungeon/Crimsonite Deposit 2 + + + Mineral/Dungeon/Base/Crimsonite Deposit + + Flavor + f.crimsonite_deposit_2 + Mesh + mesh2 + Mineral Count + 2 + Name + m.crimsonite_deposit_2 + Rarity + 2 + + + + + + Mineral/Dungeon/Crimsonite Deposit 3 + + + Mineral/Dungeon/Base/Crimsonite Deposit + + Flavor + f.crimsonite_deposit_3 + Mesh + mesh3 + Mineral Count + 4 + Name + m.crimsonite_deposit_3 + Rarity + 3 + + + + + + Mineral/Dungeon/Crimsonite Deposit 4 + + + Mineral/Dungeon/Base/Crimsonite Deposit + + Flavor + f.crimsonite_deposit_4 + Mesh + mesh4 + Mineral Count + 6 + Name + m.crimsonite_deposit_4 + Rarity + 4 + + + + + + Mineral/Dungeon/Dark Matter Deposit 1 + + + Mineral/Dungeon/Base/Dark Matter Deposit + + Flavor + f.dark_matter_deposit_1 + Mesh + mesh1 + Mineral Count + 1 + Name + m.dark_matter_deposit_1 + Rarity + 1 + + + + + + Mineral/Dungeon/Dark Matter Deposit 2 + + + Mineral/Dungeon/Base/Dark Matter Deposit + + Flavor + f.dark_matter_deposit_2 + Mesh + mesh2 + Mineral Count + 2 + Name + m.dark_matter_deposit_2 + Rarity + 2 + + + + + + Mineral/Dungeon/Dark Matter Deposit 3 + + + Mineral/Dungeon/Base/Dark Matter Deposit + + Flavor + f.dark_matter_deposit_3 + Mesh + mesh3 + Mineral Count + 4 + Name + m.dark_matter_deposit_3 + Rarity + 3 + + + + + + Mineral/Dungeon/Dark Matter Deposit 4 + + + Mineral/Dungeon/Base/Dark Matter Deposit + + Flavor + f.dark_matter_deposit_4 + Mesh + mesh4 + Mineral Count + 6 + Name + m.dark_matter_deposit_4 + Rarity + 4 + + + + + + Mineral/Dungeon/Luminite Deposit 1 + + + Mineral/Dungeon/Base/Luminite Deposit + + Flavor + f.luminite_deposit_1 + Mesh + mesh1 + Mineral Count + 1 + Name + m.luminite_deposit_1 + Rarity + 1 + + + + + + Mineral/Dungeon/Luminite Deposit 2 + + + Mineral/Dungeon/Base/Luminite Deposit + + Flavor + f.luminite_deposit_2 + Mesh + mesh2 + Mineral Count + 2 + Name + m.luminite_deposit_2 + Rarity + 2 + + + + + + Mineral/Dungeon/Luminite Deposit 3 + + + Mineral/Dungeon/Base/Luminite Deposit + + Flavor + f.luminite_deposit_3 + Mesh + mesh3 + Mineral Count + 4 + Name + m.luminite_deposit_3 + Rarity + 3 + + + + + + Mineral/Dungeon/Luminite Deposit 4 + + + Mineral/Dungeon/Base/Luminite Deposit + + Flavor + f.luminite_deposit_4 + Mesh + mesh4 + Mineral Count + 6 + Name + m.luminite_deposit_4 + Rarity + 4 + + + + + + Mineral/Dungeon/Moonstone Deposit 1 + + + Mineral/Dungeon/Base/Moonstone Deposit + + Flavor + f.moonstone_deposit_1 + Mesh + mesh1 + Mineral Count + 1 + Name + m.moonstone_deposit_1 + Rarity + 1 + + + + + + Mineral/Dungeon/Moonstone Deposit 2 + + + Mineral/Dungeon/Base/Moonstone Deposit + + Flavor + f.moonstone_deposit_2 + Mesh + mesh2 + Mineral Count + 2 + Name + m.moonstone_deposit_2 + Rarity + 2 + + + + + + Mineral/Dungeon/Moonstone Deposit 3 + + + Mineral/Dungeon/Base/Moonstone Deposit + + Flavor + f.moonstone_deposit_3 + Mesh + mesh3 + Mineral Count + 4 + Name + m.moonstone_deposit_3 + Rarity + 3 + + + + + + Mineral/Dungeon/Moonstone Deposit 4 + + + Mineral/Dungeon/Base/Moonstone Deposit + + Flavor + f.moonstone_deposit_4 + Mesh + mesh4 + Mineral Count + 6 + Name + m.moonstone_deposit_4 + Rarity + 4 + + + + + + Mineral/Dungeon/Valestone Deposit 1 + + + Mineral/Dungeon/Base/Valestone Deposit + + Flavor + f.valestone_deposit_1 + Mesh + mesh1 + Mineral Count + 1 + Name + m.valestone_deposit_1 + Rarity + 1 + + + + + + Mineral/Dungeon/Valestone Deposit 2 + + + Mineral/Dungeon/Base/Valestone Deposit + + Flavor + f.valestone_deposit_2 + Mesh + mesh2 + Mineral Count + 2 + Name + m.valestone_deposit_2 + Rarity + 2 + + + + + + Mineral/Dungeon/Valestone Deposit 3 + + + Mineral/Dungeon/Base/Valestone Deposit + + Flavor + f.valestone_deposit_3 + Mesh + mesh3 + Mineral Count + 4 + Name + m.valestone_deposit_3 + Rarity + 3 + + + + + + Mineral/Dungeon/Valestone Deposit 4 + + + Mineral/Dungeon/Base/Valestone Deposit + + Flavor + f.valestone_deposit_4 + Mesh + mesh4 + Mineral Count + 6 + Name + m.valestone_deposit_4 + Rarity + 4 + + + + + + Mineral/Inventory/Alloy/Dev/Beast Override + + + ui/icon/inventory/icon_mineral.png + + + 2 + + -0.25 + -0.655 + -0.8 + + + + 3 + + -0.37 + -0.8 + -0.3 + + + + 4 + + 0.37 + -0.75 + -0.7 + + + + + m.beast_override + f.alloy_override + 999999 + 1 + BE_BEAST + + + + Mineral/Inventory/Alloy/Dev/Construct Override + + + ui/icon/inventory/icon_mineral.png + + + 2 + + -0.25 + -0.655 + -0.8 + + + + 3 + + -0.37 + -0.8 + -0.3 + + + + 4 + + 0.37 + -0.75 + -0.7 + + + + + m.construct_override + f.alloy_override + 999999 + 1 + BE_CONSTRUCT + + + + Mineral/Inventory/Alloy/Dev/Fiend Override + + + ui/icon/inventory/icon_mineral.png + + + 2 + + -0.25 + -0.655 + -0.8 + + + + 3 + + -0.37 + -0.8 + -0.3 + + + + 4 + + 0.37 + -0.75 + -0.7 + + + + + m.fiend_override + f.alloy_override + 999999 + 1 + BE_FIEND + + + + Mineral/Inventory/Alloy/Dev/Fire Override + + + ui/icon/inventory/icon_mineral.png + + + 2 + + -0.25 + -0.655 + -0.8 + + + + 3 + + -0.37 + -0.8 + -0.3 + + + + 4 + + 0.37 + -0.75 + -0.7 + + + + + m.fire_override + f.alloy_override + 999999 + 1 + BE_FIRE + + + + Mineral/Inventory/Alloy/Dev/Freeze Override + + + ui/icon/inventory/icon_mineral.png + + + 2 + + -0.25 + -0.655 + -0.8 + + + + 3 + + -0.37 + -0.8 + -0.3 + + + + 4 + + 0.37 + -0.75 + -0.7 + + + + + m.freeze_override + f.alloy_override + 999999 + 1 + BE_FREEZE + + + + Mineral/Inventory/Alloy/Dev/Gremlin Override + + + ui/icon/inventory/icon_mineral.png + + + 2 + + -0.25 + -0.655 + -0.8 + + + + 3 + + -0.37 + -0.8 + -0.3 + + + + 4 + + 0.37 + -0.75 + -0.7 + + + + + m.gremlin_override + f.alloy_override + 999999 + 1 + BE_GREMLIN + + + + Mineral/Inventory/Alloy/Dev/Poison Override + + + ui/icon/inventory/icon_mineral.png + + + 2 + + -0.25 + -0.655 + -0.8 + + + + 3 + + -0.37 + -0.8 + -0.3 + + + + 4 + + 0.37 + -0.75 + -0.7 + + + + + m.poison_override + f.alloy_override + 999999 + 1 + BE_POISON + + + + Mineral/Inventory/Alloy/Dev/Shock Override + + + ui/icon/inventory/icon_mineral.png + + + 2 + + -0.25 + -0.655 + -0.8 + + + + 3 + + -0.37 + -0.8 + -0.3 + + + + 4 + + 0.37 + -0.75 + -0.7 + + + + + m.shock_override + f.alloy_override + 999999 + 1 + BE_SHOCK + + + + Mineral/Inventory/Alloy/Dev/Slime Override + + + ui/icon/inventory/icon_mineral.png + + + 2 + + -0.25 + -0.655 + -0.8 + + + + 3 + + -0.37 + -0.8 + -0.3 + + + + 4 + + 0.37 + -0.75 + -0.7 + + + + + m.slime_override + f.alloy_override + 999999 + 1 + BE_SLIME + + + + Mineral/Inventory/Alloy/Dev/Undead Override + + + ui/icon/inventory/icon_mineral.png + + + 2 + + -0.25 + -0.655 + -0.8 + + + + 3 + + -0.37 + -0.8 + -0.3 + + + + 4 + + 0.37 + -0.75 + -0.7 + + + + + m.undead_override + f.alloy_override + 999999 + 1 + BE_UNDEAD + + + + Mineral/Inventory/Crimsonite + + + ui/icon/inventory/icon_mineral.png + + + 2 + + 0.125 + -0.5 + + + + 3 + + -0.025 + + + + 4 + + 0.275 + -0.25 + + + + + m.crimsonite + f.crimsonite + 999999 + 1 + CRIMSONITE + + + + Mineral/Inventory/Dark Matter + + + ui/icon/inventory/icon_mineral.png + + + 2 + + -0.086 + -0.5 + + + + 3 + + -0.22 + + + + 4 + + 0.15 + -0.25 + + + + + m.dark_matter + f.dark_matter + 999999 + 1 + DARK_MATTER + + + + Mineral/Inventory/Luminite + + + ui/icon/inventory/icon_mineral.png + + + 2 + + 0.25 + -0.5 + + + + 3 + + 0.15 + + + + 4 + + 0.458 + -0.25 + + + + + m.luminite + f.luminite + 999999 + 1 + LUMINITE + + + + Mineral/Inventory/Moonstone + + + ui/icon/inventory/icon_mineral.png + + + 2 + + -0.214 + -0.5 + + + + 3 + + -0.425 + + + + 4 + + -0.068 + -0.25 + + + + + m.moonstone + f.moonstone + 999999 + 1 + MOONSTONE + + + + Mineral/Inventory/Valestone + + + ui/icon/inventory/icon_mineral.png + + + 2 + + -0.358 + -0.5 + + + + 3 + + 0.4 + + + + 4 + + 0.759 + -0.25 + + + + + m.valestone + f.valestone + 999999 + 1 + VALESTONE + + + + Pickup/Capsule/Base + + + Icon + implementation.icon.file + + + Colorizations + implementation.icon.colorizations + + + Action Delay + implementation.action_delay + + + Action + implementation.action + + + Max Stack + implementation.max_stack + + + Name + implementation.name + + + Flavor + implementation.flavor + + + Rarity + implementation.rarity + + + + + ui/icon/inventory/icon_capsule.png + + + 514 + + + 771 + + + 1028 + + + + + Pickup + + + + + Pickup/Capsule/Happy Box + + + Pickup/Capsule/Base + + Action + + + + + Treasure/Item Loot/Pickups/Happy Box + + + + + Action Delay + 1000 + Colorizations + + + 527 + + + 782 + + + 257 + + + Flavor + f.mecha_knight_kit + Icon + ui/icon/inventory/icon_misc.png + Max Stack + 3 + Name + m.mecha_knight_kit + Rarity + 0 + + + + + + Pickup/Capsule/Health Base + + + Icon + implementation.item["Icon"] + + + Health + implementation.item["Action"].actions[0].current + + + Name + implementation.item["Name"] + + + Flavor + implementation.item["Flavor"] + + + Rarity + implementation.item["Rarity"] + + + + + Pickup/Capsule/Base + + Action + + + + 120 + + + + Basic + + Lifespan + 3000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/item/heart_acquire_01.ogg + Gain + 1.0 + Range + Short + + + Transform + + + Transient + + particle/fx_menderheal.dat + + + + + + + + true + + Action Delay + 1000 + Colorizations + + + 519 + + + 774 + + + 1025 + + + Flavor + f.capsule_health + Icon + ui/icon/inventory/icon_capsule.png + Max Stack + 3 + Name + m.capsule_health + Rarity + 0 + + + + + + Pickup/Capsule/Health Capsule + + + Pickup/Capsule/Health Base + + Flavor + f.capsule_health + Health + 120 + Icon + ui/icon/inventory/icon_capsule.png + Name + m.capsule_health + Rarity + 1 + + + + + + Pickup/Capsule/Mecha Knight Kit + + + Pickup/Capsule/Base + + Action + + + + + Monster/Single Family/Construct/Scaled - Mecha Knight (Friendly) + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Action Delay + 1000 + Colorizations + + + 2 + + 0.256 + -0.873 + -0.831 + + + + 3 + + -0.447 + -0.565 + -0.644 + + + + 4 + + 0.332 + -0.322 + -0.134 + + + + Flavor + f.mecha_knight_kit + Icon + ui/icon/inventory/icon_mechaknight.png + Max Stack + 3 + Name + m.mecha_knight_kit + Rarity + 0 + + + + + + Pickup/Capsule/Ocarina of Slime + + + Pickup/Capsule/Base + + Action + + + + + Monster/Single Family/Slime/Scaled - Companion Cube (Friendly) + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Action Delay + 1000 + Colorizations + + + 547 + + + 802 + + + 1057 + + + Flavor + f.mecha_knight_kit + Icon + ui/icon/inventory/icon_mat_bell.png + Max Stack + 3 + Name + m.mecha_knight_kit + Rarity + 0 + + + + + + Pickup/Capsule/Orbital + + + Pickup/Capsule/Base + + Action + + + + + Orbital/Test + + Starting Rotation + 0.0 + + + + + + Orbital/Test + + Starting Rotation + 2.0943952 + + + + + + Orbital/Test + + Starting Rotation + 4.1887903 + + + + + + Action Delay + 1000 + Colorizations + + + 514 + + + 771 + + + 1028 + + + Flavor + + Icon + ui/icon/inventory/icon_capsule.png + Max Stack + 3 + Name + + Rarity + 0 + + + + + + Pickup/Capsule/Orbital Line + + + Pickup/Capsule/Base + + Action + + + + + Orbital/Test + + Starting Rotation + 0.0 + + + + + + Orbital/Test + + Starting Rotation + 0.0 + + + + + + Orbital/Test + + Starting Rotation + 0.0 + + + + + + Orbital/Test + + Starting Rotation + 0.0 + + + + + + Action Delay + 1000 + Colorizations + + + 514 + + + 771 + + + 1028 + + + Flavor + + Icon + ui/icon/inventory/icon_capsule.png + Max Stack + 3 + Name + + Rarity + 0 + + + + + + Pickup/Capsule/Portable Turret + + + Pickup/Capsule/Base + + Action + + + + + Monster/Player Allied/Scaled - Auto Turret, Railgun + + + + + Action Delay + 1000 + Colorizations + + + 2 + + 0.256 + -0.873 + -0.831 + + + + 3 + + -0.447 + -0.565 + -0.644 + + + + 4 + + 0.332 + -0.322 + -0.134 + + + + Flavor + f.mecha_knight_kit + Icon + ui/icon/inventory/icon_mechaknight.png + Max Stack + 3 + Name + m.mecha_knight_kit + Rarity + 0 + + + + + + Pickup/Capsule/Remedy Capsule + + + Pickup/Capsule/Base + + Action + + + + 32767 + + + + Basic + + Lifespan + 3000 + Model + + particle/fx_menderheal.dat + + + + + + true + + Action Delay + 50 + Colorizations + + + 535 + + + 790 + + + 1025 + + + Flavor + f.capsule_remedy + Icon + ui/icon/inventory/icon_capsule.png + Max Stack + 3 + Name + m.capsule_remedy + Rarity + 1 + + + + + + Pickup/Capsule/Shadow Espresso + + + Pickup/Capsule/Base + + Action + + + + + Berserk 1 + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Basic + + Lifespan + 3000 + Model + + particle/fx_menderheal.dat + + + + + + true + + Action Delay + 1000 + Colorizations + + + 519 + + + 769 + + + 1056 + + + Flavor + f.shadow_espresso + Icon + ui/icon/inventory/icon_mat_mug.png + Max Stack + 3 + Name + m.shadow_espresso + Rarity + 1 + + + + + + Pickup/Capsule/Super Health Capsule + + + Pickup/Capsule/Health Base + + Flavor + f.capsule_health_super + Health + 240 + Icon + ui/icon/inventory/icon_capsule-super.png + Name + m.capsule_health_super + Rarity + 3 + + + + + + Pickup/Capsule/Test/Curse + + + Pickup/Capsule/Base + + Action + + + Curse + + Chance + 1.0 + Power + 1000 + + + + Colorizations + + + 534 + + + 803 + + + 1049 + + + Flavor + + Icon + ui/icon/inventory/icon_capsule.png + Max Stack + 3 + Name + + + + + + + Pickup/Capsule/Test/Fire + + + Pickup/Capsule/Base + + Action + + + Fire + + Chance + 1.0 + Power + 1000 + + + + Colorizations + + + 534 + + + 803 + + + 1049 + + + Flavor + + Icon + ui/icon/inventory/icon_capsule.png + Max Stack + 3 + Name + + + + + + + Pickup/Capsule/Test/Freeze + + + Pickup/Capsule/Base + + Action + + + Freeze + + Chance + 1.0 + Power + 1000 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Action Delay + 1000 + Colorizations + + + 534 + + + 803 + + + 1049 + + + Flavor + + Icon + ui/icon/inventory/icon_capsule.png + Max Stack + 3 + Name + + + + + + + Pickup/Capsule/Test/Poison + + + Pickup/Capsule/Base + + Action + + + Poison + + Chance + 1.0 + Power + 1000 + + + + Colorizations + + + 534 + + + 803 + + + 1049 + + + Flavor + + Icon + ui/icon/inventory/icon_capsule.png + Max Stack + 3 + Name + + + + + + + Pickup/Capsule/Test/Sleep + + + Pickup/Capsule/Base + + Action + + + Sleep + + Chance + 0.0 + Power + 100 + + + + Colorizations + + + 519 + + + 783 + + + 1042 + + + Flavor + + Icon + ui/icon/inventory/icon_capsule.png + Max Stack + 3 + Name + + + + + + + Pickup/Capsule/Test/Stun + + + Pickup/Capsule/Base + + Action + + + Stun + + Chance + 1.0 + Power + 1000 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + Action Delay + 1000 + Colorizations + + + 534 + + + 803 + + + 1049 + + + Flavor + + Icon + ui/icon/inventory/icon_capsule.png + Max Stack + 3 + Name + + Rarity + 0 + + + + + + Pickup/Capsule/Ultra Health Capsule + + + Pickup/Capsule/Health Base + + Flavor + f.capsule_health_ultra + Health + 480 + Icon + ui/icon/inventory/icon_capsule-ultra.png + Name + m.capsule_health_ultra + Rarity + 5 + + + + + + Pickup/Key/Silver Key + + + ui/icon/inventory/icon_key.png + + + 516 + + + 770 + + + 1048 + + + + m.silver_key + f.silver_key + 99 + + + + Pickup/Vial/Base + + + Icon + implementation.icon.file + + + Colorizations + implementation.icon.colorizations + + + Action + implementation.action + + + Max Stack + implementation.max_stack + + + Destruction FX + implementation.destruction_transient + + + Name + implementation.name + + + Flavor + implementation.flavor + + + Rarity + implementation.rarity + + + + + ui/icon/inventory/icon_vial.png + + + 514 + + + 771 + + + 1028 + + + + + Pickup + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/pot_smash.ogg + Gain + 1.0 + Pitch + 1.4 + Range + Long + + + Transform + + + Transient + + particle/fx_vialshatter.dat + + Variant + Fire + + + + + + + + Pickup/Vial/Curse Vial + + + Pickup/Vial/Parts/Curse Base + + Depth Cap + 7 + Flavor + f.vial_curse + Icon + ui/icon/inventory/icon_vial.png + Name + m.vial_curse + Rarity + 0 + Status Condition + + Curse + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Pickup/Vial/Fire Vial + + + Pickup/Vial/Parts/Fire Base + + Depth Cap + 7 + Flavor + f.vial_fire + Icon + ui/icon/inventory/icon_vial.png + Name + m.vial_fire + Rarity + 0 + Status Condition + + Fire + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Pickup/Vial/Freeze Vial + + + Pickup/Vial/Parts/Freeze Base + + Depth Cap + 7 + Flavor + f.vial_freeze + Icon + ui/icon/inventory/icon_vial.png + Name + m.vial_freeze + Rarity + 0 + Status Condition + + Freeze + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Pickup/Vial/Parts/Curse Base + + + Icon + implementation.item["Icon"] + + + Name + implementation.item["Name"] + + + Flavor + implementation.item["Flavor"] + + + Depth Cap + implementation.item["Action"].actions[0].damage.damages[0].depth_scale["Depth Cap"] + + + Status Condition + implementation.item["Action"].actions[0].damage.damages[1].status_condition + + + Rarity + implementation.item["Rarity"] + + + + + Pickup/Vial/Base + + Action + + + + + + + + Status Condition/Damage Cap Multiplier + + Depth Cap + 7 + Multiplier + 0.5 + + + SHADOW + 2 + + + 2 + + Curse + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + Colorizations + + + 519 + + + 776 + + + 1030 + + + Destruction FX + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/pot_smash.ogg + Gain + 1.0 + Pitch + 1.4 + Range + Long + + + Transform + + 0.0, 0.0, 1.25 + + Transient + + particle/fx_vialshatter.dat + + Variant + Curse + + + + + Flavor + f.vial_curse + Icon + ui/icon/inventory/icon_vial.png + Max Stack + 3 + Name + m.vial_curse + Rarity + 0 + + + + + + Pickup/Vial/Parts/Fire Base + + + Icon + implementation.item["Icon"] + + + Name + implementation.item["Name"] + + + Flavor + implementation.item["Flavor"] + + + Depth Cap + implementation.item["Action"].actions[0].damage.damages[0].depth_scale["Depth Cap"] + + + Status Condition + implementation.item["Action"].actions[0].damage.damages[1].status_condition + + + Rarity + implementation.item["Rarity"] + + + + + Pickup/Vial/Base + + Action + + + + + + + + Status Condition/Damage Cap Multiplier + + Depth Cap + 7 + Multiplier + 0.5 + + + ELEMENTAL + 2 + + + 2 + + Fire + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + Colorizations + + + 523 + + + 778 + + + 1038 + + + Destruction FX + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/pot_smash.ogg + Gain + 1.0 + Pitch + 1.4 + Range + Long + + + Transform + + 0.0, 0.0, 1.25 + + Transient + + particle/fx_vialshatter.dat + + Variant + Fire + + + + + Flavor + f.vial_fire + Icon + ui/icon/inventory/icon_vial.png + Max Stack + 3 + Name + m.vial_fire + Rarity + 0 + + + + + + Pickup/Vial/Parts/Freeze Base + + + Icon + implementation.item["Icon"] + + + Name + implementation.item["Name"] + + + Flavor + implementation.item["Flavor"] + + + Depth Cap + implementation.item["Action"].actions[0].damage.damages[0].depth_scale["Depth Cap"] + + + Status Condition + implementation.item["Action"].actions[0].damage.damages[1].status_condition + + + Rarity + implementation.item["Rarity"] + + + + + Pickup/Vial/Base + + Action + + + + + + + + Status Condition/Damage Cap Multiplier + + Depth Cap + 7 + Multiplier + 0.5 + + + ELEMENTAL + 2 + + + 2 + + Freeze + + Chance + 0.4 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + Colorizations + + + 540 + + + 770 + + + 1025 + + + Destruction FX + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/pot_smash.ogg + Gain + 1.0 + Pitch + 1.4 + Range + Long + + + Transform + + 0.0, 0.0, 1.25 + + Transient + + particle/fx_vialshatter.dat + + Variant + Freeze + + + + + Flavor + f.vial_freeze + Icon + ui/icon/inventory/icon_vial.png + Max Stack + 3 + Name + m.vial_freeze + Rarity + 0 + + + + + + Pickup/Vial/Parts/Poison Base + + + Icon + implementation.item["Icon"] + + + Name + implementation.item["Name"] + + + Flavor + implementation.item["Flavor"] + + + Depth Cap + implementation.item["Action"].actions[0].damage.damages[0].depth_scale["Depth Cap"] + + + Status Condition + implementation.item["Action"].actions[0].damage.damages[1].status_condition + + + Rarity + implementation.item["Rarity"] + + + + + Pickup/Vial/Base + + Action + + + + + + + + Status Condition/Damage Cap Multiplier + + Depth Cap + 7 + Multiplier + 0.5 + + + ELEMENTAL + 2 + + + 2 + + Poison + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + Colorizations + + + 531 + + + 788 + + + 1042 + + + Destruction FX + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/pot_smash.ogg + Gain + 1.0 + Pitch + 1.4 + Range + Long + + + Transform + + 0.0, 0.0, 1.25 + + Transient + + particle/fx_vialshatter.dat + + Variant + Poison + + + + + Flavor + f.vial_poison + Icon + ui/icon/inventory/icon_vial.png + Max Stack + 3 + Name + m.vial_poison + Rarity + 0 + + + + + + Pickup/Vial/Parts/Shock Base + + + Icon + implementation.item["Icon"] + + + Name + implementation.item["Name"] + + + Flavor + implementation.item["Flavor"] + + + Depth Cap + implementation.item["Action"].actions[0].damage.damages[0].depth_scale["Depth Cap"] + + + Status Condition + implementation.item["Action"].actions[0].damage.damages[1].status_condition + + + Rarity + implementation.item["Rarity"] + + + + + Pickup/Vial/Base + + Action + + + + + + + + Status Condition/Damage Cap Multiplier + + Depth Cap + 7 + Multiplier + 0.5 + + + ELEMENTAL + 2 + + + 2 + + Shock + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + Colorizations + + + 535 + + + 792 + + + 1046 + + + Destruction FX + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/pot_smash.ogg + Gain + 1.0 + Pitch + 1.4 + Range + Long + + + Transform + + 0.0, 0.0, 1.25 + + Transient + + particle/fx_vialshatter.dat + + Variant + Shock + + + + + Flavor + f.vial_shock + Icon + ui/icon/inventory/icon_vial.png + Max Stack + 3 + Name + m.vial_shock + Rarity + 0 + + + + + + Pickup/Vial/Parts/Sleep Base + + + Icon + implementation.item["Icon"] + + + Name + implementation.item["Name"] + + + Flavor + implementation.item["Flavor"] + + + Depth Cap + implementation.item["Action"].actions[0].damage.damages[0].depth_scale["Depth Cap"] + + + Status Condition + implementation.item["Action"].actions[0].damage.damages[1].status_condition + + + Rarity + implementation.item["Rarity"] + + + + + Pickup/Vial/Base + + Action + + + + + + + + Status Condition/Damage Cap Multiplier + + Depth Cap + 7 + Multiplier + 0.5 + + + ELEMENTAL + 2 + + + 2 + + Sleep + + Chance + 0.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + Colorizations + + + 539 + + + 792 + + + 1041 + + + Destruction FX + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/pot_smash.ogg + Gain + 1.0 + Pitch + 1.4 + Range + Long + + + Transform + + 0.0, 0.0, 1.25 + + Transient + + particle/fx_vialshatter.dat + + Variant + Sleep + + + + + Flavor + f.vial_sleep + Icon + ui/icon/inventory/icon_vial.png + Max Stack + 3 + Name + m.vial_sleep + Rarity + 0 + + + + + + Pickup/Vial/Parts/Stun Base + + + Icon + implementation.item["Icon"] + + + Name + implementation.item["Name"] + + + Flavor + implementation.item["Flavor"] + + + Depth Cap + implementation.item["Action"].actions[0].damage.damages[0].depth_scale["Depth Cap"] + + + Status Condition + implementation.item["Action"].actions[0].damage.damages[1].status_condition + + + Rarity + implementation.item["Rarity"] + + + + + Pickup/Vial/Base + + Action + + + + + + + + Status Condition/Damage Cap Multiplier + + Depth Cap + 7 + Multiplier + 0.5 + + + 2 + + + 2 + + Stun + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + 5.0, 0.0 + 400 + 4 + + + + + Colorizations + + + 516 + + + 784 + + + 1038 + + + Destruction FX + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/pot_smash.ogg + Gain + 1.0 + Pitch + 1.4 + Range + Long + + + Transform + + 0.0, 0.0, 1.25 + + Transient + + particle/fx_vialshatter.dat + + Variant + Stun + + + + + Flavor + f.vial_stun + Icon + ui/icon/inventory/icon_vial.png + Max Stack + 3 + Name + m.vial_stun + Rarity + 0 + + + + + + Pickup/Vial/Poison Vial + + + Pickup/Vial/Parts/Poison Base + + Depth Cap + 7 + Flavor + f.vial_poison + Icon + ui/icon/inventory/icon_vial.png + Name + m.vial_poison + Rarity + 0 + Status Condition + + Poison + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Pickup/Vial/Shock Vial + + + Pickup/Vial/Parts/Shock Base + + Depth Cap + 7 + Flavor + f.vial_shock + Icon + ui/icon/inventory/icon_vial.png + Name + m.vial_shock + Rarity + 0 + Status Condition + + Shock + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Pickup/Vial/Sleep Vial + + + Pickup/Vial/Parts/Sleep Base + + Depth Cap + 7 + Flavor + f.vial_sleep + Icon + ui/icon/inventory/icon_vial.png + Name + m.vial_sleep + Rarity + 0 + Status Condition + + Sleep + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Pickup/Vial/Stun Vial + + + Pickup/Vial/Parts/Stun Base + + Depth Cap + 7 + Flavor + f.vial_stun + Icon + ui/icon/inventory/icon_vial.png + Name + m.vial_stun + Rarity + 0 + Status Condition + + Stun + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Pickup/Vial/Super Curse Vial + + + Pickup/Vial/Parts/Curse Base + + Depth Cap + 17 + Flavor + f.vial_curse_super + Icon + ui/icon/inventory/icon_vial-super.png + Name + m.vial_curse_super + Rarity + 2 + Status Condition + + Curse 2 + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Pickup/Vial/Super Fire Vial + + + Pickup/Vial/Parts/Fire Base + + Depth Cap + 17 + Flavor + f.vial_fire_super + Icon + ui/icon/inventory/icon_vial-super.png + Name + m.vial_fire_super + Rarity + 2 + Status Condition + + Fire 2 + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Pickup/Vial/Super Freeze Vial + + + Pickup/Vial/Parts/Freeze Base + + Depth Cap + 17 + Flavor + f.vial_freeze_super + Icon + ui/icon/inventory/icon_vial-super.png + Name + m.vial_freeze_super + Rarity + 2 + Status Condition + + Freeze 2 + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Pickup/Vial/Super Poison Vial + + + Pickup/Vial/Parts/Poison Base + + Depth Cap + 17 + Flavor + f.vial_poison_super + Icon + ui/icon/inventory/icon_vial-super.png + Name + m.vial_poison_super + Rarity + 2 + Status Condition + + Poison 2 + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Pickup/Vial/Super Shock Vial + + + Pickup/Vial/Parts/Shock Base + + Depth Cap + 17 + Flavor + f.vial_shock_super + Icon + ui/icon/inventory/icon_vial-super.png + Name + m.vial_shock_super + Rarity + 2 + Status Condition + + Shock 2 + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Pickup/Vial/Super Sleep Vial + + + Pickup/Vial/Parts/Sleep Base + + Depth Cap + 17 + Flavor + f.vial_sleep_super + Icon + ui/icon/inventory/icon_vial-super.png + Name + m.vial_sleep_super + Rarity + 2 + Status Condition + + Sleep 2 + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Pickup/Vial/Super Stun Vial + + + Pickup/Vial/Parts/Stun Base + + Depth Cap + 17 + Flavor + f.vial_stun_super + Icon + ui/icon/inventory/icon_vial-super.png + Name + m.vial_stun_super + Rarity + 2 + Status Condition + + Stun 2 + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Pickup/Vial/Ultra Curse Vial + + + Pickup/Vial/Parts/Curse Base + + Depth Cap + 30 + Flavor + f.vial_curse_super + Icon + ui/icon/inventory/icon_vial-ultra.png + Name + m.vial_curse_super + Rarity + 4 + Status Condition + + Curse 3 + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Pickup/Vial/Ultra Fire Vial + + + Pickup/Vial/Parts/Fire Base + + Depth Cap + 30 + Flavor + f.vial_fire_super + Icon + ui/icon/inventory/icon_vial-ultra.png + Name + m.vial_fire_super + Rarity + 4 + Status Condition + + Fire 3 + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Pickup/Vial/Ultra Freeze Vial + + + Pickup/Vial/Parts/Freeze Base + + Depth Cap + 30 + Flavor + f.vial_freeze_super + Icon + ui/icon/inventory/icon_vial-ultra.png + Name + m.vial_freeze_super + Rarity + 4 + Status Condition + + Freeze 3 + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Pickup/Vial/Ultra Poison Vial + + + Pickup/Vial/Parts/Poison Base + + Depth Cap + 30 + Flavor + f.vial_poison_super + Icon + ui/icon/inventory/icon_vial-ultra.png + Name + m.vial_poison_super + Rarity + 4 + Status Condition + + Poison 3 + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Pickup/Vial/Ultra Shock Vial + + + Pickup/Vial/Parts/Shock Base + + Depth Cap + 30 + Flavor + f.vial_shock_super + Icon + ui/icon/inventory/icon_vial-ultra.png + Name + m.vial_shock_super + Rarity + 4 + Status Condition + + Shock 3 + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Pickup/Vial/Ultra Sleep Vial + + + Pickup/Vial/Parts/Sleep Base + + Depth Cap + 30 + Flavor + f.vial_sleep_super + Icon + ui/icon/inventory/icon_vial-ultra.png + Name + m.vial_sleep_super + Rarity + 4 + Status Condition + + Sleep 3 + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Pickup/Vial/Ultra Stun Vial + + + Pickup/Vial/Parts/Stun Base + + Depth Cap + 30 + Flavor + f.vial_stun_super + Icon + ui/icon/inventory/icon_vial-ultra.png + Name + m.vial_stun_super + Rarity + 4 + Status Condition + + Stun 3 + + Chance + 1.0 + Power + 80 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Recipe/Alloy/Dusk Drop Recipe + + + Recipe/Base/Alloy + + Recipe + + Alloy/Dusk Drop + + + + + + + Recipe/Armor/Ancient Plate Mail Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Ancient Plate Mail + + + + + + + Recipe/Armor/Angelic Raiment Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Angelic Raiment + + + + + + + Recipe/Armor/Armor of the Fallen Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Armor of the Fallen + + + + + + + Recipe/Armor/Ash Tail Coat Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Ash Tail Coat + + + + + + + Recipe/Armor/Azure Guardian Armor Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Azure Guardian Armor + + + + + + + Recipe/Armor/Blazebreak Armor Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Blazebreak Armor + + + + + + + Recipe/Armor/Blizzbreaker Armor Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Blizzbreaker Armor + + + + + + + Recipe/Armor/Bombastic Demo Suit Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Bombastic Demo Suit + + + + + + + Recipe/Armor/Boosted Plate Mail Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Boosted Plate Mail + + + + + + + Recipe/Armor/Brute Jelly Mail Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Brute Jelly Mail + + + + + + + Recipe/Armor/Chaos Cloak Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Chaos Cloak + + + + + + + Recipe/Armor/Chroma Suit Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Chroma Suit + + + + + + + Recipe/Armor/Circuit Breaker Armor Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Circuit Breaker Armor + + + + + + + Recipe/Armor/Cobalt Armor Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Cobalt Armor + + + + + + + Recipe/Armor/Deadly Virulisk Suit Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Deadly Virulisk Suit + + + + + + + Recipe/Armor/Deadshot Mantle Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Deadshot Mantle + + + + + + + Recipe/Armor/Divine Mantle Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Divine Mantle + + + + + + + Recipe/Armor/Dragon Scale Mail Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Dragon Scale Mail + + + + + + + Recipe/Armor/Drake Scale Mail Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Drake Scale Mail + + + + + + + Recipe/Armor/Dread Skelly Suit Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Dread Skelly Suit + + + + + + + Recipe/Armor/Dusker Coat Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Dusker Coat + + + + + + + Recipe/Armor/Elemental Cloak Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Elemental Cloak + + + + + + + Recipe/Armor/Emberbreak Armor Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Emberbreak Armor + + + + + + + Recipe/Armor/Firebreak Armor Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Firebreak Armor + + + + + + + Recipe/Armor/Frostbreaker Armor Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Frostbreaker Armor + + + + + + + Recipe/Armor/Fused Demo Suit Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Fused Demo Suit + + + + + + + Recipe/Armor/Grey Feather Mantle Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Grey Feather Mantle + + + + + + + Recipe/Armor/Gunslinger Sash Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Gunslinger Sash + + + + + + + Recipe/Armor/Heavy Demo Suit Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Heavy Demo Suit + + + + + + + Recipe/Armor/Heavy Plate Mail Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Heavy Plate Mail + + + + + + + Recipe/Armor/Icebreaker Armor Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Icebreaker Armor + + + + + + + Recipe/Armor/Ironmight Plate Mail Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Ironmight Plate Mail + + + + + + + Recipe/Armor/Jelly Mail Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Jelly Mail + + + + + + + Recipe/Armor/Justifier Jacket Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Justifier Jacket + + + + + + + Recipe/Armor/Mad Bomber Suit Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Mad Bomber Suit + + + + + + + Recipe/Armor/Magic Cloak Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Magic Cloak + + + + + + + Recipe/Armor/Mighty Cobalt Armor Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Mighty Cobalt Armor + + + + + + + Recipe/Armor/Miracle Cloak Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Miracle Cloak + + + + + + + Recipe/Armor/Nameless Poncho Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Nameless Poncho + + + + + + + Recipe/Armor/Radiant Silvermail Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Radiant Silvermail + + + + + + + Recipe/Armor/Rock Jelly Mail Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Rock Jelly Mail + + + + + + + Recipe/Armor/Royal Jelly Mail Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Royal Jelly Mail + + + + + + + Recipe/Armor/Salamander Suit Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Salamander Suit + + + + + + + Recipe/Armor/Scary Skelly Suit Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Scary Skelly Suit + + + + + + + Recipe/Armor/Seraphic Mail Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Seraphic Mail + + + + + + + Recipe/Armor/Shadowsun Slicker Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Shadowsun Slicker + + + + + + + Recipe/Armor/Silvermail Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Silvermail + + + + + + + Recipe/Armor/Sinister Skelly Suit Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Sinister Skelly Suit + + + + + + + Recipe/Armor/Skelly Suit Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Skelly Suit + + + + + + + Recipe/Armor/Skolver Coat Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Skolver Coat + + + + + + + Recipe/Armor/Solid Cobalt Armor Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Solid Cobalt Armor + + + + + + + Recipe/Armor/Spiral Demo Suit Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Spiral Demo Suit + + + + + + + Recipe/Armor/Spiral Plate Mail Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Spiral Plate Mail + + + + + + + Recipe/Armor/Spiral Scale Mail Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Spiral Scale Mail + + + + + + + Recipe/Armor/Sunset Duster Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Sunset Duster + + + + + + + Recipe/Armor/Surge Breaker Armor Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Surge Breaker Armor + + + + + + + Recipe/Armor/Valkyrie Mail Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Valkyrie Mail + + + + + + + Recipe/Armor/Virulisk Suit Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Virulisk Suit + + + + + + + Recipe/Armor/Vitasuit Deluxe Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Vitasuit Deluxe + + + + + + + Recipe/Armor/Vitasuit Plus Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Vitasuit Plus + + + + + + + Recipe/Armor/Vog Cub Coat Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Vog Cub Coat + + + + + + + Recipe/Armor/Volcanic Demo Suit Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Volcanic Demo Suit + + + + + + + Recipe/Armor/Volcanic Plate Mail Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Volcanic Plate Mail + + + + + + + Recipe/Armor/Volcanic Salamander Suit Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Volcanic Salamander Suit + + + + + + + Recipe/Armor/Volt Breaker Armor Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Volt Breaker Armor + + + + + + + Recipe/Armor/Wolver Coat Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Wolver Coat + + + + + + + Recipe/Armor/Wyvern Scale Mail Recipe + + + Recipe/Base/Armor + + Recipe + + Armor/Wyvern Scale Mail + + + + + + + Recipe/Base/Alloy + + + Recipe + implementation.recipe + + + + + ui/icon/inventory/icon_recipe.png + + + 516 + + + 771 + + + 1053 + + + + + Recipe/Alloy + + + + + Recipe/Base/Armor + + + Recipe + implementation.recipe + + + + + ui/icon/inventory/icon_recipe.png + + + 516 + + + 771 + + + 1049 + + + + + Recipe/Armor + + + + + Recipe/Base/Bomb + + + Recipe + implementation.recipe + + + + + ui/icon/inventory/icon_recipe.png + + + 516 + + + 771 + + + 1029 + + + + + Recipe/Bomb + + + + + Recipe/Base/Handgun + + + Recipe + implementation.recipe + + + + + ui/icon/inventory/icon_recipe.png + + + 516 + + + 771 + + + 1026 + + + + + Recipe/Handgun + + + + + Recipe/Base/Helm + + + Recipe + implementation.recipe + + + + + ui/icon/inventory/icon_recipe.png + + + 516 + + + 771 + + + 1045 + + + + + Recipe/Helm + + + + + Recipe/Base/Material + + + Recipe + implementation.recipe + + + + + ui/icon/inventory/icon_recipe.png + + + 516 + + + 771 + + + 1026 + + + + + Recipe/Material + + + + + Recipe/Base/Shield + + + Recipe + implementation.recipe + + + + + ui/icon/inventory/icon_recipe.png + + + 516 + + + 771 + + + 1041 + + + + + Recipe/Shield + + + + + Recipe/Base/Sword + + + Recipe + implementation.recipe + + + + + ui/icon/inventory/icon_recipe.png + + + 516 + + + 771 + + + 1029 + + + + + Recipe/Sword + + + + + Recipe/Bomb/Ash of Agni Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Ash of Agni + + + + + + + Recipe/Bomb/Big Angry Bomb Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Big Angry Bomb + + + + + + + Recipe/Bomb/Blast Bomb Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Blast Bomb + + + + + + + Recipe/Bomb/Cold Snap Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Cold Snap + + + + + + + Recipe/Bomb/Crystal Bomb Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Crystal Bomb + + + + + + + Recipe/Bomb/Deconstructor Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Deconstructor + + + + + + + Recipe/Bomb/Fiery Atomizer Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Fiery Atomizer + + + + + + + Recipe/Bomb/Fiery Vaporizer Mk II Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Fiery Vaporizor Mk II + + + + + + + Recipe/Bomb/Fiery Vaporizer Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Fiery Vaporizor + + + + + + + Recipe/Bomb/Firecracker Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Firecracker + + + + + + + Recipe/Bomb/Freezing Atomizer Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Freezing Atomizer + + + + + + + Recipe/Bomb/Freezing Vaporizer Mk II Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Freezing Vaporizor Mk II + + + + + + + Recipe/Bomb/Freezing Vaporizer Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Freezing Vaporizor + + + + + + + Recipe/Bomb/Graviton Bomb Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Graviton Bomb + + + + + + + Recipe/Bomb/Graviton Vortex Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Graviton Vortex + + + + + + + Recipe/Bomb/Haze Bomb Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Haze Bomb + + + + + + + Recipe/Bomb/Heavy Deconstructor Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Heavy Deconstructor + + + + + + + Recipe/Bomb/Ionized Salt Bomb Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Ionized Salt Bomb + + + + + + + Recipe/Bomb/Irontech Bomb Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Irontech Bomb + + + + + + + Recipe/Bomb/Irontech Destroyer Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Irontech Destroyer + + + + + + + Recipe/Bomb/Master Blast Bomb Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Master Blast Bomb + + + + + + + Recipe/Bomb/Nitronome Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Nitronome + + + + + + + Recipe/Bomb/Radiant Sun Shards Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Radiant Sun Shards + + + + + + + Recipe/Bomb/Rock Salt Bomb Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Rock Salt Bomb + + + + + + + Recipe/Bomb/Shivermist Buster Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Shivermist Buster + + + + + + + Recipe/Bomb/Sun Shards Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Sun Shards + + + + + + + Recipe/Bomb/Super Blast Bomb Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Super Blast Bomb + + + + + + + Recipe/Bomb/Toxic Atomizer Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Toxic Atomizer + + + + + + + Recipe/Bomb/Toxic Vaporizer Mk II Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Toxic Vaporizor Mk II + + + + + + + Recipe/Bomb/Toxic Vaporizer Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Toxic Vaporizor + + + + + + + Recipe/Bomb/Venom Veiler Recipe + + + Recipe/Base/Bomb + + Recipe + + Bomb/Venom Veiler + + + + + + + Recipe/Handgun/Argent Peacemaker Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Argent Peacemaker + + + + + + + Recipe/Handgun/Autogun Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Autogun + + + + + + + Recipe/Handgun/Blackhawk Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Blackhawk + + + + + + + Recipe/Handgun/Blaster Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Blaster + + + + + + + Recipe/Handgun/Blitz Needle Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Blitz Needle + + + + + + + Recipe/Handgun/Callahan Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Callahan + + + + + + + Recipe/Handgun/Cryo Driver Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Cryo Driver + + + + + + + Recipe/Handgun/Cryotech Alchemer Mk II Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Cryotech Alchemer Mk II + + + + + + + Recipe/Handgun/Cryotech Alchemer Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Cryotech Alchemer + + + + + + + Recipe/Handgun/Fiery Pepperbox Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Fiery Pepperbox + + + + + + + Recipe/Handgun/Firo Driver Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Firo Driver + + + + + + + Recipe/Handgun/Firotech Alchemer Mk II Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Firotech Alchemer Mk II + + + + + + + Recipe/Handgun/Firotech Alchemer Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Firotech Alchemer + + + + + + + Recipe/Handgun/Frost Gun Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Frost Gun + + + + + + + Recipe/Handgun/Hail Driver Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Hail Driver + + + + + + + Recipe/Handgun/Iron Slug Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Iron Slug + + + + + + + Recipe/Handgun/Magma Driver Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Magma Driver + + + + + + + Recipe/Handgun/Magnus Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Magnus + + + + + + + Recipe/Handgun/Master Blaster Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Master Blaster + + + + + + + Recipe/Handgun/Mega Magnus Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Mega Magnus + + + + + + + Recipe/Handgun/Needle Shot Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Needle Shot + + + + + + + Recipe/Handgun/Nova Driver Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Nova Driver + + + + + + + Recipe/Handgun/Pepperbox Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Pepperbox + + + + + + + Recipe/Handgun/Prisma Driver Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Prisma Driver + + + + + + + Recipe/Handgun/Prismatech Alchemer Mk II Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Prismatech Alchemer Mk II + + + + + + + Recipe/Handgun/Prismatech Alchemer Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Prismatech Alchemer + + + + + + + Recipe/Handgun/Pummel Gun Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Pummel Gun + + + + + + + Recipe/Handgun/Sentenza Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Sentenza + + + + + + + Recipe/Handgun/Shadow Driver Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Shadow Driver + + + + + + + Recipe/Handgun/Shadowtech Alchemer Mk II Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Shadowtech Alchemer Mk II + + + + + + + Recipe/Handgun/Shadowtech Alchemer Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Shadowtech Alchemer + + + + + + + Recipe/Handgun/Silversix Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Silversix + + + + + + + Recipe/Handgun/Storm Driver Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Storm Driver + + + + + + + Recipe/Handgun/Strike Needle Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Strike Needle + + + + + + + Recipe/Handgun/Super Blaster Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Super Blaster + + + + + + + Recipe/Handgun/Super Stun Gun Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Super Stun Gun + + + + + + + Recipe/Handgun/Umbra Driver Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Umbra Driver + + + + + + + Recipe/Handgun/Valiance Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Valiance + + + + + + + Recipe/Handgun/Volcanic Pepperbox Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Volcanic Pepperbox + + + + + + + Recipe/Handgun/Volt Driver Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Volt Driver + + + + + + + Recipe/Handgun/Voltech Alchemer Mk II Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Voltech Alchemer Mk II + + + + + + + Recipe/Handgun/Voltech Alchemer Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Voltech Alchemer + + + + + + + Recipe/Handgun/Zapper Recipe + + + Recipe/Base/Handgun + + Recipe + + Handgun/Zapper + + + + + + + Recipe/Helm/Ancient Plate Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Ancient Plate Helm + + + + + + + Recipe/Helm/Angelic Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Angelic Helm + + + + + + + Recipe/Helm/Ash Tail Cap Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Ash Tail Cap + + + + + + + Recipe/Helm/Azure Guardian Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Azure Guardian Helm + + + + + + + Recipe/Helm/Blazebreak Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Blazebreak Helm + + + + + + + Recipe/Helm/Blizzbreaker Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Blizzbreaker Helm + + + + + + + Recipe/Helm/Bombastic Demo Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Bombastic Demo Helm + + + + + + + Recipe/Helm/Boosted Plate Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Boosted Plate Helm + + + + + + + Recipe/Helm/Brute Jelly Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Brute Jelly Helm + + + + + + + Recipe/Helm/Chaos Cowl Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Chaos Cowl + + + + + + + Recipe/Helm/Chroma Mask Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Chroma Mask + + + + + + + Recipe/Helm/Circuit Breaker Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Circuit Breaker Helm + + + + + + + Recipe/Helm/Cobalt Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Cobalt Helm + + + + + + + Recipe/Helm/Crown of the Fallen Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Crown of the Fallen + + + + + + + Recipe/Helm/Deadly Virulisk Mask Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Deadly Virulisk Mask + + + + + + + Recipe/Helm/Deadshot Chapeau Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Deadshot Chapeau + + + + + + + Recipe/Helm/Divine Veil Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Divine Veil + + + + + + + Recipe/Helm/Dragon Scale Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Dragon Scale Helm + + + + + + + Recipe/Helm/Drake Scale Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Drake Scale Helm + + + + + + + Recipe/Helm/Dread Skelly Mask Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Dread Skelly Mask + + + + + + + Recipe/Helm/Dusker Cap Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Dusker Cap + + + + + + + Recipe/Helm/Elemental Hood Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Elemental Hood + + + + + + + Recipe/Helm/Emberbreak Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Emberbreak Helm + + + + + + + Recipe/Helm/Firebreak Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Firebreak Helm + + + + + + + Recipe/Helm/Frostbreaker Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Frostbreaker Helm + + + + + + + Recipe/Helm/Fused Demo Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Fused Demo Helm + + + + + + + Recipe/Helm/Grey Feather Cowl Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Grey Feather Cowl + + + + + + + Recipe/Helm/Gunslinger Hat Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Gunslinger Hat + + + + + + + Recipe/Helm/Heavy Demo Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Heavy Demo Helm + + + + + + + Recipe/Helm/Heavy Plate Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Heavy Plate Helm + + + + + + + Recipe/Helm/Icebreaker Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Icebreaker Helm + + + + + + + Recipe/Helm/Ironmight Plate Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Ironmight Plate Helm + + + + + + + Recipe/Helm/Jelly Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Jelly Helm + + + + + + + Recipe/Helm/Justifier Hat Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Justifier Hat + + + + + + + Recipe/Helm/Mad Bomber Mask Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Mad Bomber Mask + + + + + + + Recipe/Helm/Magic Hood Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Magic Hood + + + + + + + Recipe/Helm/Mighty Cobalt Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Mighty Cobalt Helm + + + + + + + Recipe/Helm/Miracle Hood Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Miracle Hood + + + + + + + Recipe/Helm/Nameless Hat Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Nameless Hat + + + + + + + Recipe/Helm/Rock Jelly Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Rock Jelly Helm + + + + + + + Recipe/Helm/Royal Jelly Crown Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Royal Jelly Crown + + + + + + + Recipe/Helm/Salamander Mask Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Salamander Mask + + + + + + + Recipe/Helm/Scary Skelly Mask Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Scary Skelly Mask + + + + + + + Recipe/Helm/Seraphic Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Seraphic Helm + + + + + + + Recipe/Helm/Shadowsun Stetson Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Shadowsun Stetson + + + + + + + Recipe/Helm/Sinister Skelly Mask Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Sinister Skelly Mask + + + + + + + Recipe/Helm/Skelly Mask Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Skelly Mask + + + + + + + Recipe/Helm/Skolver Cap Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Skolver Cap + + + + + + + Recipe/Helm/Solid Cobalt Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Solid Cobalt Helm + + + + + + + Recipe/Helm/Spiral Demo Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Spiral Demo Helm + + + + + + + Recipe/Helm/Spiral Plate Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Spiral Plate Helm + + + + + + + Recipe/Helm/Spiral Scale Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Spiral Scale Helm + + + + + + + Recipe/Helm/Sunset Stetson Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Sunset Stetson + + + + + + + Recipe/Helm/Surge Breaker Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Surge Breaker Helm + + + + + + + Recipe/Helm/Valkyrie Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Valkyrie Helm + + + + + + + Recipe/Helm/Virulisk Mask Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Virulisk Mask + + + + + + + Recipe/Helm/Vog Cub Cap Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Vog Cub Cap + + + + + + + Recipe/Helm/Volcanic Demo Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Volcanic Demo Helm + + + + + + + Recipe/Helm/Volcanic Plate Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Volcanic Plate Helm + + + + + + + Recipe/Helm/Volcanic Salamander Mask Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Volcanic Salamander Mask + + + + + + + Recipe/Helm/Volt Breaker Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Volt Breaker Helm + + + + + + + Recipe/Helm/Wolver Cap Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Wolver Cap + + + + + + + Recipe/Helm/Wyvern Scale Helm Recipe + + + Recipe/Base/Helm + + Recipe + + Helm/Wyvern Scale Helm + + + + + + + Recipe/Material/Shadow Steel Recipe + + + Recipe/Base/Material + + Recipe + + Material/Shadow Steel + + + + + + + Recipe/Material/Sun Silver Recipe + + + Recipe/Base/Material + + Recipe + + Material/Sun Silver + + + + + + + Recipe/Material/Volcanic Iron Recipe + + + Recipe/Base/Material + + Recipe + + Material/Volcanic Iron + + + + + + + Recipe/Shield/Aegis Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Aegis + + + + + + + Recipe/Shield/Ancient Plate Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Ancient Plate Shield + + + + + + + Recipe/Shield/Blazebreak Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Blazebreak Shield + + + + + + + Recipe/Shield/Blizzbreaker Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Blizzbreaker Shield + + + + + + + Recipe/Shield/Boosted Plate Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Boosted Plate Shield + + + + + + + Recipe/Shield/Brute Jelly Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Brute Jelly Shield + + + + + + + Recipe/Shield/Circuit Breaker Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Circuit Breaker Shield + + + + + + + Recipe/Shield/Crest of Almire Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Crest of Almire + + + + + + + Recipe/Shield/Defender Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Defender + + + + + + + Recipe/Shield/Dragon Scale Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Dragon Scale Shield + + + + + + + Recipe/Shield/Drake Scale Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Drake Scale Shield + + + + + + + Recipe/Shield/Dread Skelly Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Dread Skelly Shield + + + + + + + Recipe/Shield/Emberbreak Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Emberbreak Shield + + + + + + + Recipe/Shield/Firebreak Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Firebreak Shield + + + + + + + Recipe/Shield/Force Buckler Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Force Buckler + + + + + + + Recipe/Shield/Frostbreaker Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Frostbreaker Shield + + + + + + + Recipe/Shield/Great Defender Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Great Defender + + + + + + + Recipe/Shield/Grey Owlite Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Grey Owlite Shield + + + + + + + Recipe/Shield/Grey Owlite Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Grey Owlite Shield + + + + + + + Recipe/Shield/Heater Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Heater Shield + + + + + + + Recipe/Shield/Heavy Plate Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Heavy Plate Shield + + + + + + + Recipe/Shield/Horned Owlite Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Horned Owlite Shield + + + + + + + Recipe/Shield/Icebreaker Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Icebreaker Shield + + + + + + + Recipe/Shield/Ironmight Plate Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Ironmight Plate Shield + + + + + + + Recipe/Shield/Jelly Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Jelly Shield + + + + + + + Recipe/Shield/Mighty Defender Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Mighty Defender + + + + + + + Recipe/Shield/Omega Shell Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Omega Shell + + + + + + + Recipe/Shield/Owlite Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Owlite Shield + + + + + + + Recipe/Shield/Plate Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Plate Shield + + + + + + + Recipe/Shield/Rock Jelly Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Rock Jelly Shield + + + + + + + Recipe/Shield/Royal Jelly Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Royal Jelly Shield + + + + + + + Recipe/Shield/Scale Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Scale Shield + + + + + + + Recipe/Shield/Scarlet Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Scarlet Shield + + + + + + + Recipe/Shield/Scary Skelly Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Scary Skelly Shield + + + + + + + Recipe/Shield/Sinister Skelly Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Sinister Skelly Shield + + + + + + + Recipe/Shield/Skelly Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Skelly Shield + + + + + + + Recipe/Shield/Stone Tortoise Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Stone Tortoise + + + + + + + Recipe/Shield/Surge Breaker Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Surge Breaker Shield + + + + + + + Recipe/Shield/Swiftstrike Buckler Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Swiftstrike Buckler + + + + + + + Recipe/Shield/Volcanic Plate Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Volcanic Plate Shield + + + + + + + Recipe/Shield/Volt Breaker Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Volt Breaker Shield + + + + + + + Recipe/Shield/Wise Owlite Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Wise Owlite Shield + + + + + + + Recipe/Shield/Wyvern Scale Shield Recipe + + + Recipe/Base/Shield + + Recipe + + Shield/Wyvern Scale Shield + + + + + + + Recipe/Sword/Arc Razor Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Arc Razor + + + + + + + Recipe/Sword/Ascended Calibur Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Ascended Calibur + + + + + + + Recipe/Sword/Avenger Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Avenger + + + + + + + Recipe/Sword/Big Beast Basher Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Big Beast Basher + + + + + + + Recipe/Sword/Bolted Blade Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Bolted Blade + + + + + + + Recipe/Sword/Brandish Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Brandish + + + + + + + Recipe/Sword/Calibur Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Calibur + + + + + + + Recipe/Sword/Cautery Sword Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Cautery Sword + + + + + + + Recipe/Sword/Cold Iron Carver Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Cold Iron Carver + + + + + + + Recipe/Sword/Cold Iron Vanquisher Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Cold Iron Vanquisher + + + + + + + Recipe/Sword/Cutter Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Cutter + + + + + + + Recipe/Sword/Divine Avenger Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Divine Avenger + + + + + + + Recipe/Sword/Dread Venom Striker Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Dread Venom Striker + + + + + + + Recipe/Sword/Faust Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Faust + + + + + + + Recipe/Sword/Fireburst Brandish Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Fireburst Brandish + + + + + + + Recipe/Sword/Gran Faust Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Gran Faust + + + + + + + Recipe/Sword/Heavy Hatchet Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Heavy Hatchet + + + + + + + Recipe/Sword/Hot Edge Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Hot Edge + + + + + + + Recipe/Sword/Hunting Blade Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Hunting Blade + + + + + + + Recipe/Sword/Iceburst Brandish Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Iceburst Brandish + + + + + + + Recipe/Sword/Kamarin Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Kamarin + + + + + + + Recipe/Sword/Khorovod Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Khorovod + + + + + + + Recipe/Sword/Leviathan Blade Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Leviathan Blade + + + + + + + Recipe/Sword/Nightblade Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Nightblade + + + + + + + Recipe/Sword/Searing Edge Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Searing Edge + + + + + + + Recipe/Sword/Shocking Edge Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Shocking Edge + + + + + + + Recipe/Sword/Spur Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Spur + + + + + + + Recipe/Sword/Static Edge Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Static Edge + + + + + + + Recipe/Sword/Striker Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Striker + + + + + + + Recipe/Sword/Super Slime Slasher Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Super Slime Slasher + + + + + + + Recipe/Sword/Tempered Calibur Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Tempered Calibur + + + + + + + Recipe/Sword/Thwack Hammer Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Thwack Hammer + + + + + + + Recipe/Sword/Troika Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Troika + + + + + + + Recipe/Sword/Vile Striker Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Vile Striker + + + + + + + Recipe/Sword/Wild Hunting Blade Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Wild Hunting Blade + + + + + + + Recipe/Sword/Winmillion Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Winmillion + + + + + + + Recipe/Sword/Wrench Wand Recipe + + + Recipe/Base/Sword + + Recipe + + Sword/Wrench Wand + + + + + + + Story/Test + + + ui/icon/inventory/icon_helmet.png + + m.test + d.test + f.test + 120968120 + + + + Story/Test 2 + + + ui/icon/inventory/icon_helmet.png + + m.test_2 + d.test_2 + f.test_2 + -1247665834368231770 + + + + Token/Core Token + + + ui/icon/inventory/icon_token-core.png + + + 516 + + + 771 + + + 1026 + + + + m.token_core + f.token_core + 100000 + + + + Token/Forge Token + + + ui/icon/inventory/icon_token-spark.png + + + 519 + + + 776 + + + 1029 + + + + m.token_forge + f.token_forge + 100000 + + + + Token/Grim Token + + + ui/icon/inventory/icon_token-spark.png + + + 539 + + + 771 + + + 1049 + + + + m.token_grim + f.token_grim + 100000 + + + + Token/Jelly Token + + + ui/icon/inventory/icon_token-boss.png + + + 543 + + + 800 + + + 1053 + + + + m.token_jelly + f.token_jelly + 100000 + + + + Token/Primal Token + + + ui/icon/inventory/icon_token-spark.png + + + 531 + + + 788 + + + 1041 + + + + m.token_primal + f.token_primal + 100000 + + + + Token/Vanaduke Token + + + ui/icon/inventory/icon_token-boss.png + + + 519 + + + 776 + + + 1029 + + + + m.token_vanaduke + f.token_vanaduke + 100000 + + + + Town Pass/Emberlight + + + ui/icon/inventory/icon_townpass.png + + + 523 + + + 780 + + + 1033 + + + + m.emberlight_town_pass + f.emberlight_town_pass + emberlight + 200 + + + + Town Pass/Moorcroft + + + ui/icon/inventory/icon_townpass.png + + + 543 + + + 804 + + + 1057 + + + + m.moorcroft_town_pass + f.moorcroft_town_pass + moorcroft + 100 + + + + Upgrade/Trinket Slot + + + ui/icon/inventory/icon_core.png + + + 531 + + + 786 + + + 1041 + + + + m.trinket_slot_upgrade_30 + f.trinket_slot_upgrade_30 + 1 + + + + Upgrade/Weapon Slot + + + ui/icon/inventory/icon_core.png + + + 519 + + + 774 + + + 1029 + + + + m.weapon_slot_upgrade_30 + f.weapon_slot_upgrade_30 + 1 + + + + Weapon/Bomb/Ash of Agni + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + ELEMENTAL + 170 + + PC/Damage/Bomb/Bomb Base -10 + + + + Bomb + + Bomb/Chemical (Charged) + + Bomb Model + + item/weapon/bomb/chemical/model.dat + + Variant + Fire Red + + + Cloud Color + Fire Red + Damage + + Fire 3 + + Chance + 0.5 + Power + 50 + Status Chance + VERY_HIGH + Status Power + MINOR + + + Damage (Blast) + + + PC/Damage/Bomb/Bomb Base -10 + + ELEMENTAL + 2 + true + + Explode Sound + + Custom/Weapons/Bomb Detonation, Chemical + + Pitch + Default + + + Lifespan + 6,000 + Radius + 4.5 + Radius (Blast) + 1.5 + + + Charge Time + 3000 + Description + + Display Speed + 5 + Flavor + f.ash_agni + Global Modifier + + + Icon Colorizations + + + 523 + + + 774 + + + 1038 + + + Model + + item/weapon/bomb/chemical/model.dat + + Variant + Fire Red + + + Move Speed + Slow + Name + m.ash_agni + Rarity + 5 + Status Values + + + 4 + VERY_HIGH + + + + + + + + Weapon/Bomb/Big Angry Bomb + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + 260 + + PC/Damage/Bomb/Bomb Base +10 + + + + Bomb + + Bomb/Big Angry (charged) + + Damage + + + PC/Damage/Bomb/Bomb Base +10 + + 2 + true + + Radius + 3.0 + + + Charge Time + 3000 + Description + + Display Speed + 1 + Flavor + f.big_angry_bomb + Global Modifier + + + Icon Colorizations + + + 523 + + + 790 + + + 1036 + + + Model + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + item/weapon/bomb/blast/model.dat + + variant + angry + + + + 1.4 + + + + + + Move Speed + Walk + Name + m.big_angry_bomb + Rarity + 5 + Status Values + + + + + + + + Weapon/Bomb/Blast Bomb + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + 80 + + PC/Damage/Bomb/Bomb Base + + + + Bomb + + Bomb/Blast (Charged) + + Damage + + + PC/Damage/Bomb/Bomb Base + + 2 + true + + Model + + item/weapon/bomb/blast/model.dat + + variant + blast(grey) + + + Radius + 2.5 + + + Charge Time + 2000 + Description + + Display Speed + 5 + Flavor + f.blast_bomb + Global Modifier + + + Icon Colorizations + + + 2 + + 0.106 + -0.72 + + + + 3 + + 0.055 + -0.795 + -0.064 + + + + 4 + + 0.966 + -0.514 + 0.342 + + + + Model + + item/weapon/bomb/blast/model.dat + + variant + blast(grey) + + + Move Speed + Slow + Name + m.blast_bomb + Rarity + 2 + Status Values + + + + + + + + Weapon/Bomb/Cold Snap + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + 40 + + PC/Damage/Bomb/Bomb Base + + + + Bomb + + Bomb/ColdSnap (Charged) + + Damage + + + + + PC/Damage/Bomb/Bomb Base + + 2 + true + + + 2 + + Freeze + + Chance + 0.4 + Power + 40 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + Radius + 2.0 + + + Charge Time + 2000 + Description + + Display Speed + 5 + Flavor + f.cold_snap + Global Modifier + + + Icon Colorizations + + + 2 + + 0.106 + -0.72 + + + + 3 + + 0.055 + -0.795 + -0.064 + + + + 4 + + 0.966 + -0.514 + 0.342 + + + + Model + + item/weapon/bomb/proto/model.dat + + Variant + coldsnap + + + Move Speed + Slow + Name + m.cold_snap + Rarity + 1 + Status Values + + + 8 + MODERATE + VERY_HIGH + + + + + + + + Weapon/Bomb/Crystal Bomb + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + PIERCING + 80 + + PC/Damage/Bomb/Bomb Base + + + + PIERCING + + PC/Damage/Bomb/Bomb Base + + + + Bomb + + Bomb/Shard (Charged) + + Bomb Color + Emerald + Bullet Model + + particle/bullet/bullet_shard.dat + + Color + Base (aqua) + Dust + False + + + Damage + + + PC/Damage/Bomb/Bomb Base + + 2 + true + PIERCING + + Destruction Model + + particle/bullet/hit_shard.dat + + Color + Base (aqua) + + + + + Charge Time + 2000 + Description + + Display Speed + 5 + Flavor + f.crystal_bomb + Global Modifier + + + Icon Colorizations + + + 531 + + + 786 + + + 1048 + + + Model + + item/weapon/bomb/shard/model.dat + + Variant + Emerald + + + Move Speed + Slow + Name + m.crystal_bomb + Rarity + 2 + Status Values + + + + + + + + Weapon/Bomb/Deconstructor + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + 100 + + PC/Damage/Bomb/Bomb Base -05 + + + + Bomb + + Bomb/Deconstructor (Charged) + + Damage + + + PC/Damage/Bomb/Bomb Base -05 + + 2 + true + + Radius + 3.0 + + + Charge Time + 2000 + Description + + Display Speed + 5 + Flavor + f.deconstructor + Global Modifier + + 0.3 + HIGH + fam_construct + + Icon Colorizations + + + 523 + + + 790 + + + 1036 + + + Model + + item/weapon/npc/mine_windup/model.dat + + Variant + Deconstructor + + + Move Speed + Slow + Name + m.deconstructor + Rarity + 3 + Status Values + + + + + + + + Weapon/Bomb/Fiery Atomizer + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + ELEMENTAL + 120 + + PC/Damage/Bomb/Bomb Base -10 + + + + Bomb + + Bomb/Chemical (Charged) + + Bomb Model + + item/weapon/bomb/chemical/model_lesser.dat + + Variant + Fire Red + + + Cloud Color + Fire Red + Damage + + Fire 3 + + Chance + 0.5 + Power + 50 + Status Chance + VERY_HIGH + Status Power + MINOR + + + Damage (Blast) + + + PC/Damage/Bomb/Bomb Base -10 + + ELEMENTAL + 2 + true + + Explode Sound + + Custom/Weapons/Bomb Detonation, Chemical + + Pitch + Default + + + Lifespan + 5,000 + Radius + 2.5 + Radius (Blast) + 1.5 + + + Charge Time + 3000 + Description + + Display Speed + 5 + Flavor + f.fiery_atomizer + Global Modifier + + + Icon Colorizations + + + 523 + + + 774 + + + 1038 + + + Model + + item/weapon/bomb/chemical/model_lesser.dat + + Variant + Fire Red + + + Move Speed + Slow + Name + m.fiery_atomizer + Rarity + 4 + Status Values + + + 4 + VERY_HIGH + + + + + + + + Weapon/Bomb/Fiery Vaporizer + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + ELEMENTAL + 50 + + PC/Damage/Bomb/Bomb Base -10 + + + + Bomb + + Bomb/Chemical (Charged) + + Bomb Model + + item/weapon/bomb/chemical/model_lesser.dat + + Variant + Fire Red + + + Cloud Color + Fire Red + Damage + + Fire 2 + + Chance + 0.5 + Power + 40 + Status Chance + VERY_HIGH + Status Power + MINOR + + + Damage (Blast) + + + PC/Damage/Bomb/Bomb Base -10 + + ELEMENTAL + 2 + true + + Explode Sound + + Custom/Weapons/Bomb Detonation, Chemical + + Pitch + Default + + + Lifespan + 3,000 + Radius + 1.5 + Radius (Blast) + 1.25 + + + Charge Time + 3000 + Description + + Display Speed + 5 + Flavor + f.fiery_vaporizer + Global Modifier + + + Icon Colorizations + + + 523 + + + 774 + + + 1038 + + + Model + + item/weapon/bomb/chemical/model_lesser.dat + + Variant + Fire Red + + + Move Speed + Slow + Name + m.fiery_vaporizer + Rarity + 2 + Status Values + + + 4 + VERY_HIGH + + + + + + + + Weapon/Bomb/Fiery Vaporizer Mk II + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + ELEMENTAL + 80 + + PC/Damage/Bomb/Bomb Base -10 + + + + Bomb + + Bomb/Chemical (Charged) + + Bomb Model + + item/weapon/bomb/chemical/model_lesser.dat + + Variant + Fire Red + + + Cloud Color + Fire Red + Damage + + Fire 2 + + Chance + 0.5 + Power + 50 + Status Chance + VERY_HIGH + Status Power + MINOR + + + Damage (Blast) + + + PC/Damage/Bomb/Bomb Base -10 + + ELEMENTAL + 2 + true + + Explode Sound + + Custom/Weapons/Bomb Detonation, Chemical + + Pitch + Default + + + Lifespan + 4,000 + Radius + 2.0 + Radius (Blast) + 1.5 + + + Charge Time + 3000 + Description + + Display Speed + 5 + Flavor + f.fiery_vaporizer_mkii + Global Modifier + + + Icon Colorizations + + + 523 + + + 774 + + + 1038 + + + Model + + item/weapon/bomb/chemical/model_lesser.dat + + Variant + Fire Red + + + Move Speed + Slow + Name + m.fiery_vaporizer_mkii + Rarity + 3 + Status Values + + + 4 + VERY_HIGH + + + + + + + + Weapon/Bomb/Firecracker + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + 40 + + PC/Damage/Bomb/Bomb Base + + + + Bomb + + Bomb/Firecracker (Charged) + + Damage + + + + + PC/Damage/Bomb/Bomb Base + + 2 + true + + + 2 + + Fire + + Chance + 0.4 + Power + 40 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + Radius + 2.0 + + + Charge Time + 2000 + Description + + Display Speed + 5 + Flavor + f.firecracker + Global Modifier + + + Icon Colorizations + + + 2 + + 0.106 + -0.72 + + + + 3 + + 0.055 + -0.795 + -0.064 + + + + 4 + + 0.966 + -0.514 + 0.342 + + + + Model + + item/weapon/bomb/proto/model.dat + + Variant + firecracker + + + Move Speed + Slow + Name + m.firecracker + Rarity + 1 + Status Values + + + 4 + MODERATE + VERY_HIGH + + + + + + + + Weapon/Bomb/Freezing Atomizer + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + ELEMENTAL + 120 + + PC/Damage/Bomb/Bomb Base -10 + + + + Bomb + + Bomb/Chemical (Charged) + + Bomb Model + + item/weapon/bomb/chemical/model_lesser.dat + + Variant + Frost Blue + + + Cloud Color + Frost Blue + Damage + + Freeze 2 + + Chance + 0.5 + Power + 50 + Status Chance + VERY_HIGH + Status Power + MINOR + + + Damage (Blast) + + + PC/Damage/Bomb/Bomb Base -10 + + ELEMENTAL + 2 + true + + Explode Sound + + Custom/Weapons/Bomb Detonation, Chemical + + Pitch + Default + + + Lifespan + 5,000 + Radius + 2.5 + Radius (Blast) + 1.5 + + + Charge Time + 3000 + Description + + Display Speed + 5 + Flavor + f.freezing_atomizer + Global Modifier + + + Icon Colorizations + + + 535 + + + 790 + + + 1026 + + + Model + + item/weapon/bomb/chemical/model_lesser.dat + + Variant + Frost Blue + + + Move Speed + Slow + Name + m.freezing_atomizer + Rarity + 4 + Status Values + + + 8 + VERY_HIGH + + + + + + + + Weapon/Bomb/Freezing Vaporizer + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + ELEMENTAL + 50 + + PC/Damage/Bomb/Bomb Base -10 + + + + Bomb + + Bomb/Chemical (Charged) + + Bomb Model + + item/weapon/bomb/chemical/model_lesser.dat + + Variant + Frost Blue + + + Cloud Color + Frost Blue + Damage + + Freeze 2 + + Chance + 0.5 + Power + 40 + Status Chance + VERY_HIGH + Status Power + MINOR + + + Damage (Blast) + + + PC/Damage/Bomb/Bomb Base -10 + + ELEMENTAL + 2 + true + + Explode Sound + + Custom/Weapons/Bomb Detonation, Chemical + + Pitch + Default + + + Lifespan + 3,000 + Radius + 1.5 + Radius (Blast) + 1.25 + + + Charge Time + 3000 + Description + + Display Speed + 5 + Flavor + f.freezing_vaporizer + Global Modifier + + + Icon Colorizations + + + 535 + + + 790 + + + 1026 + + + Model + + item/weapon/bomb/chemical/model_lesser.dat + + Variant + Frost Blue + + + Move Speed + Slow + Name + m.freezing_vaporizer + Rarity + 2 + Status Values + + + 8 + VERY_HIGH + + + + + + + + Weapon/Bomb/Freezing Vaporizer Mk II + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + ELEMENTAL + 80 + + PC/Damage/Bomb/Bomb Base -10 + + + + Bomb + + Bomb/Chemical (Charged) + + Bomb Model + + item/weapon/bomb/chemical/model_lesser.dat + + Variant + Frost Blue + + + Cloud Color + Frost Blue + Damage + + Freeze 2 + + Chance + 0.5 + Power + 50 + Status Chance + VERY_HIGH + Status Power + MINOR + + + Damage (Blast) + + + PC/Damage/Bomb/Bomb Base -10 + + ELEMENTAL + 2 + true + + Explode Sound + + Custom/Weapons/Bomb Detonation, Chemical + + Pitch + Default + + + Lifespan + 4,000 + Radius + 2.0 + Radius (Blast) + 1.5 + + + Charge Time + 3000 + Description + + Display Speed + 5 + Flavor + f.freezing_vaporizer_mkii + Global Modifier + + + Icon Colorizations + + + 535 + + + 790 + + + 1026 + + + Model + + item/weapon/bomb/chemical/model_lesser.dat + + Variant + Frost Blue + + + Move Speed + Slow + Name + m.freezing_vaporizer_mkii + Rarity + 3 + Status Values + + + 8 + VERY_HIGH + + + + + + + + Weapon/Bomb/Graviton Bomb + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + SHADOW + 120 + + PC/Damage/Bomb/Bomb Base -10 + + + + Bomb + + Bomb/Gravidos (Charged) + + Damage + + + PC/Damage/Bomb/Bomb Base -10 + + SHADOW + 2 + true + + Radius + 2.0 + Radius (Blast) + 1.0 + + + Charge Time + 3000 + Description + + Display Speed + 3 + Flavor + f.graviton_bomb + Global Modifier + + + Icon Colorizations + + + 543 + + + 774 + + + 1060 + + + Model + + item/weapon/bomb/artifact/model.dat + + Variant + Gravity + + + Move Speed + Walk + Name + m.graviton_bomb + Rarity + 4 + Status Values + + + + + + + + Weapon/Bomb/Graviton Vortex + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + SHADOW + 170 + + PC/Damage/Bomb/Bomb Base -10 + + + + Bomb + + Bomb/Gravidos2 (Charged) + + Damage + + + PC/Damage/Bomb/Bomb Base -10 + + SHADOW + 2 + true + + Radius + 3.0 + Radius (Blast) + 1.5 + + + Charge Time + 3000 + Description + + Display Speed + 3 + Flavor + f.graviton_vortex + Global Modifier + + + Icon Colorizations + + + 543 + + + 774 + + + 1060 + + + Model + + item/weapon/bomb/artifact/model.dat + + Variant + Elec + + + Move Speed + Walk + Name + m.graviton_vortex + Rarity + 5 + Status Values + + + + + + + + Weapon/Bomb/Haze Bomb + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + ELEMENTAL + 25 + + PC/Damage/Bomb/Bomb Base -10 + + + + Bomb + + Bomb/Chemical (Charged) + + Bomb Model + + item/weapon/bomb/chemical/model_lesser.dat + + Variant + Stun + + + Cloud Color + Stun + Damage + + Stun + + Chance + 0.5 + Power + 40 + Status Chance + VERY_HIGH + Status Power + MINOR + + + Damage (Blast) + + + PC/Damage/Bomb/Bomb Base -10 + + ELEMENTAL + 2 + true + + Explode Sound + + Custom/Weapons/Bomb Detonation, Chemical + + Pitch + Default + + + Lifespan + 3,000 + Radius + 3.0 + Radius (Blast) + 1.25 + + + Charge Time + 3000 + Description + + Display Speed + 5 + Flavor + f.haze_bomb + Global Modifier + + + Icon Colorizations + + + 523 + + + 774 + + + 1038 + + + Model + + item/weapon/bomb/chemical/model_lesser.dat + + Variant + Stun + + + Move Speed + Slow + Name + m.haze_bomb + Rarity + 1 + Status Values + + + 1 + VERY_HIGH + + + + + + + + Weapon/Bomb/Heavy Deconstructor + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + 180 + + PC/Damage/Bomb/Bomb Base -05 + + + + Bomb + + Bomb/Deconstructor (Charged) + + Damage + + + PC/Damage/Bomb/Bomb Base -05 + + 2 + true + + Radius + 3.5 + + + Charge Time + 2000 + Description + + Display Speed + 5 + Flavor + f.heavy_deconstructor + Global Modifier + + 0.3 + HIGH + fam_construct + + Icon Colorizations + + + 523 + + + 790 + + + 1036 + + + Model + + item/weapon/npc/mine_windup/model.dat + + Variant + Deconstructor + + + Move Speed + Slow + Name + m.heavy_deconstructor + Rarity + 4 + Status Values + + + + + + + + Weapon/Bomb/Ionized Salt Bomb + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + PIERCING + 180 + + PC/Damage/Bomb/Bomb Base -05 + + + + + PC/Damage/Bomb/Bomb Base -05 + + + + Bomb + + Bomb/Shard (Charged) + + Bomb Color + Ion + Bullet Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.3 + Core Min + 0.2 + Element + Electric + Flare + true + color + cyan + + + Damage + + + + + + + PC/Damage/Bomb/Bomb Base -05 + + PIERCING + 2 + true + + + 2 + + Shock 3 + + Chance + 0.5 + Power + 120 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + + + Destruction Model + + particle/bullet/hit_pellet.dat + + Element + Electric + Flare + Positive + Scale + Medium + color + cyan + + + + + Charge Time + 4000 + Description + + Display Speed + 5 + Flavor + f.ionized_salt_bomb + Global Modifier + + 0.3 + HIGH + fam_slime + + Icon Colorizations + + + 531 + + + 786 + + + 1048 + + + Model + + item/weapon/bomb/shard/model.dat + + Variant + Ion + + + Move Speed + Slow + Name + m.ionized_salt_bomb + Rarity + 4 + Status Values + + + 16 + MODERATE + VERY_HIGH + + + + + + + + Weapon/Bomb/Irontech Bomb + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + 180 + + PC/Damage/Bomb/Bomb Base + + + + Bomb + + Bomb/Irontech (Charged) + + Damage + + + PC/Damage/Bomb/Bomb Base + + 2 + true + + + + Charge Time + 2500 + Description + + Display Speed + 3 + Flavor + f.irontech_bomb + Global Modifier + + + Icon Colorizations + + + 523 + + + 790 + + + 1036 + + + Model + + item/weapon/bomb/blast/model.dat + + variant + Irontech + + + Move Speed + Walk + Name + m.irontech_bomb + Rarity + 4 + Status Values + + + + + + + + Weapon/Bomb/Irontech Destroyer + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + 240 + + PC/Damage/Bomb/Bomb Base +05 + + + + Bomb + + Bomb/IronDestroy (Charged) + + Damage + + + PC/Damage/Bomb/Bomb Base +05 + + 2 + true + + + + Charge Time + 2500 + Description + + Display Speed + 3 + Flavor + f.irontech_destroyer + Global Modifier + + + Icon Colorizations + + + 523 + + + 790 + + + 1036 + + + Model + + item/weapon/bomb/blast/model.dat + + variant + IronDestroy + + + Move Speed + Walk + Name + m.irontech_destroyer + Rarity + 5 + Status Values + + + + + + + + Weapon/Bomb/Master Blast Bomb + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + 180 + + PC/Damage/Bomb/Bomb Base + + + + Bomb + + Bomb/Blast (Charged) + + Damage + + + PC/Damage/Bomb/Bomb Base + + 2 + true + + Model + + item/weapon/bomb/blast/model.dat + + variant + blast(blue) + + + Radius + 3.5 + + + Charge Time + 2000 + Description + + Display Speed + 5 + Flavor + f.master_blast_bomb + Global Modifier + + + Icon Colorizations + + + 2 + + 0.106 + -0.72 + + + + 3 + + 0.055 + -0.795 + -0.064 + + + + 4 + + 0.966 + -0.514 + 0.342 + + + + Model + + item/weapon/bomb/blast/model.dat + + variant + blast(blue) + + + Move Speed + Slow + Name + m.master_blast_bomb + Rarity + 4 + Status Values + + + + + + + + Weapon/Bomb/Nitronome + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + 240 + + PC/Damage/Bomb/Bomb Base + + + + Bomb + + Bomb/Blast (Charged) + + Damage + + + PC/Damage/Bomb/Bomb Base + + 2 + true + + Model + + item/weapon/bomb/blast/model_blast-r4.dat + + Radius + 4.0 + + + Charge Time + 2000 + Description + + Display Speed + 5 + Flavor + f.nitronome + Global Modifier + + + Icon Colorizations + + + 2 + + 0.106 + -0.72 + + + + 3 + + 0.055 + -0.795 + -0.064 + + + + 4 + + 0.966 + -0.514 + 0.342 + + + + Model + + item/weapon/bomb/blast/model_blast-r4.dat + + Move Speed + Slow + Name + m.nitronome + Rarity + 5 + Status Values + + + + + + + + Weapon/Bomb/Parts/Base + + + Name + implementation.name + + + Description + implementation.description + + + Flavor + implementation.flavor + + + Rarity + implementation.rarity + + + Sell Price + implementation.sell_price + + + Icon Colorizations + implementation.icon.colorizations + + + Model + implementation.model + + + Speed + implementation.attacks[0].ref["Fire Speed"], implementation.incomplete_charged_attack["Fire Speed"] + + + Charged Speed + implementation.charged_attack["Fire Speed"] + + + Bomb + implementation.attacks[0].ref["Bomb"], implementation.incomplete_charged_attack["Bomb"] + + + Charged Bomb + implementation.charged_attack["Bomb"] + + + Charge Time + implementation.charge_time + + + Max Attack Chain + implementation.max_chain + + + Chain Cooldown + implementation.chain_cooldown + + + + + ui/icon/inventory/icon_bomb.png + + + 527 + + + 786 + + + 1040 + + + + + Bomb + + + item/weapon/bomb/proto/model.dat + + Variant + proto + + + + + + Weapon/Bomb/Parts/Base Attack + + Bomb + + Fire Sound + + Fire Speed + 1.0 + + + + + + Weapon/Bomb/Parts/Base Incomplete + + Bomb + + Fire Speed + 1.0 + + + + Weapon/Bomb/Parts/Base Charge + + Bomb + + Bomb/Proto (Charged) + + Damage + + 75.0 + 2 + true + + Radius + 1.5 + + + Fire Speed + 1.0 + + + 0.0 + 0.0 + 3 + 2500 + + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + + Name + implementation.name + + + Description + implementation.description + + + Flavor + implementation.flavor + + + Icon Colorizations + implementation.icon.colorizations + + + Model + implementation.model + + + Rarity + implementation.rarity + + + Attack Values + implementation.attack_values + + + Display Speed + implementation.display_speed + + + Status Values + implementation.status_values + + + Bomb + implementation.charged_attack["Bomb"] + + + Charge Time + implementation.charge_time + + + + Move Speed + + + Attacking + implementation.attacking_speed + + + Charging + implementation.charging_speed + + + + + + Stop + + + 0.6 + Attacking + 0.05 + C + 0.6 + Ch + 0.6 + Cha + 0.6 + Char + 0.6 + Charg + 0.6 + Chargi + 0.6 + Chargin + 0.6 + Charging + 0.3 + + + + + Walk + + + 0.6 + Attacking + 0.1 + C + 0.6 + Ch + 0.6 + Cha + 0.6 + Char + 0.6 + Charg + 0.6 + Chargi + 0.6 + Chargin + 0.6 + Charging + 0.6 + + + + + Slow + + + 0.6 + Attacking + 0.1 + C + 0.6 + Ch + 0.6 + Cha + 0.6 + Char + 0.6 + Charg + 0.6 + Chargi + 0.6 + Chargin + 0.6 + Charging + 0.9 + + + + + Normal + + + 0.6 + Attacking + 0.1 + C + 0.6 + Ch + 0.6 + Cha + 0.6 + Char + 0.6 + Charg + 0.6 + Chargi + 0.6 + Chargin + 0.6 + Charging + 1.0 + + + + Slow + + + Global Modifier + implementation.global_modifier + + + + + ui/icon/inventory/icon_bomb.png + + + 2 + + -1.0 + -0.5 + + + + 3 + + -1.0 + + + + 4 + + -1.0 + 0.5 + + + + + Base Bomb + DON NOT USE + 3 + + Bomb + + 150 + 5000 + + item/weapon/bomb/blast/model.dat + + variant + blast(blue) + + + + + + Weapon/Bomb/Parts/Base Blank + + + + + Weapon/Bomb/Parts/Base Interupt + + + Weapon/Bomb/Parts/Base Charge + + Bomb + + Bomb/Blast (Charged) + + Damage + + 125.0 + 2 + true + + Radius + 2.5 + + + Fire Speed + 1.0 + + + 1000 + 0.6 + 0.0 + 0.0 + 0.75 + + + + Weapon/Bomb/Proto Bomb + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + 20 + + PC/Damage/Bomb/Bomb Base + + + + Bomb + + Bomb/Proto (Charged) + + Damage + + + PC/Damage/Bomb/Bomb Base + + 2 + true + + Radius + 1.5 + + + Charge Time + 2000 + Description + + Display Speed + 5 + Flavor + f.proto_bomb + Global Modifier + + + Icon Colorizations + + + 527 + + + 786 + + + 1040 + + + Model + + item/weapon/bomb/proto/model.dat + + Variant + proto(green) + + + Move Speed + Slow + Name + m.proto_bomb + Rarity + 0 + Status Values + + + + + + + + Weapon/Bomb/Radiant Sun Shards + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + PIERCING + 180 + + PC/Damage/Bomb/Bomb Base -05 + + + + ELEMENTAL + + PC/Damage/Bomb/Bomb Base -05 + + + + Bomb + + Bomb/Shard (Charged) + + Bomb Color + Sun + Bullet Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.3 + Core Min + 0.2 + Element + Simple + Flare + true + color + rainbow + + + Damage + + + PC/Damage/Bomb/Bomb Base -05 + + PIERCING + 2 + true + ELEMENTAL + + Destruction Model + + particle/bullet/hit_shard.dat + + Color + Sun + + + + + Charge Time + 2000 + Description + + Display Speed + 5 + Flavor + f.radiant_sun_shards + Global Modifier + + 0.3 + HIGH + fam_fiend + + Icon Colorizations + + + 531 + + + 786 + + + 1048 + + + Model + + item/weapon/bomb/shard/model.dat + + Variant + Sun + + + Move Speed + Slow + Name + m.radiant_sun_shards + Rarity + 4 + Status Values + + + + + + + + Weapon/Bomb/Rock Salt Bomb + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + + PC/Damage/Bomb/Bomb Base -05 + + + + PIERCING + 120 + + PC/Damage/Bomb/Bomb Base -05 + + + + Bomb + + Bomb/Shard (Charged) + + Bomb Color + Salt + Bullet Model + + particle/bullet/bullet_shard.dat + + Color + Salt + Dust + False + + + Damage + + + PC/Damage/Bomb/Bomb Base -05 + + 2 + true + PIERCING + + Destruction Model + + particle/bullet/hit_shard.dat + + Color + Salt + + + + + Charge Time + 2000 + Description + + Display Speed + 5 + Flavor + f.rock_salt_bomb + Global Modifier + + 0.5 + HIGH + fam_slime + + Icon Colorizations + + + 531 + + + 786 + + + 1048 + + + Model + + item/weapon/bomb/shard/model.dat + + Variant + Salt + + + Move Speed + Slow + Name + m.rock_salt_bomb + Rarity + 3 + Status Values + + + + + + + + Weapon/Bomb/Shivermist Buster + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + ELEMENTAL + 170 + + PC/Damage/Bomb/Bomb Base -10 + + + + Bomb + + Bomb/Chemical (Charged) + + Bomb Model + + item/weapon/bomb/chemical/model.dat + + Variant + Frost Blue + + + Cloud Color + Frost Blue + Damage + + Freeze 3 + + Chance + 0.5 + Power + 50 + Status Chance + VERY_HIGH + Status Power + MINOR + + + Damage (Blast) + + + PC/Damage/Bomb/Bomb Base -10 + + ELEMENTAL + 2 + true + + Explode Sound + + Custom/Weapons/Bomb Detonation, Chemical + + Pitch + Default + + + Lifespan + 6,000 + Radius + 4.5 + Radius (Blast) + 1.25 + + + Charge Time + 3000 + Description + + Display Speed + 5 + Flavor + f.shivermist_buster + Global Modifier + + + Icon Colorizations + + + 535 + + + 790 + + + 1026 + + + Model + + item/weapon/bomb/chemical/model.dat + + Variant + Frost Blue + + + Move Speed + Slow + Name + m.shivermist_buster + Rarity + 5 + Status Values + + + 8 + VERY_HIGH + + + + + + + + Weapon/Bomb/Sun Shards + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + PIERCING + 120 + + PC/Damage/Bomb/Bomb Base -05 + + + + ELEMENTAL + + PC/Damage/Bomb/Bomb Base -05 + + + + Bomb + + Bomb/Shard (Charged) + + Bomb Color + Sun + Bullet Model + + particle/bullet/bullet_pellet.dat + + Core + particle/texture/circle.png + Core Max + 0.3 + Core Min + 0.2 + Element + Simple + Flare + true + color + rainbow + + + Damage + + + PC/Damage/Bomb/Bomb Base -05 + + PIERCING + 2 + true + ELEMENTAL + + Destruction Model + + particle/bullet/hit_shard.dat + + Color + Sun + + + + + Charge Time + 2000 + Description + + Display Speed + 5 + Flavor + f.sun_shards + Global Modifier + + 0.3 + HIGH + fam_fiend + + Icon Colorizations + + + 531 + + + 786 + + + 1048 + + + Model + + item/weapon/bomb/shard/model.dat + + Variant + Sun + + + Move Speed + Slow + Name + m.sun_shards + Rarity + 3 + Status Values + + + + + + + + Weapon/Bomb/Super Blast Bomb + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + 120 + + PC/Damage/Bomb/Bomb Base + + + + Bomb + + Bomb/Blast (Charged) + + Damage + + + PC/Damage/Bomb/Bomb Base + + 2 + true + + Model + + item/weapon/bomb/blast/model.dat + + variant + blast(blue) + + + Radius + 3.0 + + + Charge Time + 2000 + Description + + Display Speed + 5 + Flavor + f.super_blast_bomb + Global Modifier + + + Icon Colorizations + + + 2 + + 0.106 + -0.72 + + + + 3 + + 0.055 + -0.795 + -0.064 + + + + 4 + + 0.966 + -0.514 + 0.342 + + + + Model + + item/weapon/bomb/blast/model.dat + + variant + blast(blue) + + + Move Speed + Slow + Name + m.super_blast_bomb + Rarity + 3 + Status Values + + + + + + + + Weapon/Bomb/Toxic Atomizer + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + ELEMENTAL + 120 + + PC/Damage/Bomb/Bomb Base -10 + + + + Bomb + + Bomb/Chemical (Charged) + + Bomb Model + + item/weapon/bomb/chemical/model_lesser.dat + + Variant + Poison Green + + + Cloud Color + Poison Green + Damage + + Poison 3 + + Chance + 0.5 + Power + 50 + Status Chance + VERY_HIGH + Status Power + MINOR + + + Damage (Blast) + + + PC/Damage/Bomb/Bomb Base -10 + + ELEMENTAL + 2 + true + + Explode Sound + + Custom/Weapons/Bomb Detonation, Chemical + + Pitch + Default + + + Lifespan + 5,000 + Radius + 2.5 + Radius (Blast) + 1.5 + + + Charge Time + 3000 + Description + + Display Speed + 5 + Flavor + f.toxic_atomizer + Global Modifier + + + Icon Colorizations + + + 531 + + + 794 + + + 1042 + + + Model + + item/weapon/bomb/chemical/model_lesser.dat + + Variant + Poison Green + + + Move Speed + Slow + Name + m.toxic_atomizer + Rarity + 4 + Status Values + + + 2 + VERY_HIGH + + + + + + + + Weapon/Bomb/Toxic Vaporizer + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + ELEMENTAL + 50 + + PC/Damage/Bomb/Bomb Base -10 + + + + Bomb + + Bomb/Chemical (Charged) + + Bomb Model + + item/weapon/bomb/chemical/model_lesser.dat + + Variant + Poison Green + + + Cloud Color + Poison Green + Damage + + Poison 2 + + Chance + 0.5 + Power + 40 + Status Chance + VERY_HIGH + Status Power + MINOR + + + Damage (Blast) + + + PC/Damage/Bomb/Bomb Base -10 + + ELEMENTAL + 2 + true + + Explode Sound + + Custom/Weapons/Bomb Detonation, Chemical + + Pitch + Default + + + Lifespan + 3,000 + Radius + 1.5 + Radius (Blast) + 1.25 + + + Charge Time + 3000 + Description + + Display Speed + 5 + Flavor + f.toxic_vaporizer + Global Modifier + + + Icon Colorizations + + + 531 + + + 794 + + + 1042 + + + Model + + item/weapon/bomb/chemical/model_lesser.dat + + Variant + Poison Green + + + Move Speed + Slow + Name + m.toxic_vaporizer + Rarity + 2 + Status Values + + + 2 + VERY_HIGH + + + + + + + + Weapon/Bomb/Toxic Vaporizer Mk II + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + ELEMENTAL + 80 + + PC/Damage/Bomb/Bomb Base -10 + + + + Bomb + + Bomb/Chemical (Charged) + + Bomb Model + + item/weapon/bomb/chemical/model_lesser.dat + + Variant + Poison Green + + + Cloud Color + Poison Green + Damage + + Poison 2 + + Chance + 0.5 + Power + 50 + Status Chance + VERY_HIGH + Status Power + MINOR + + + Damage (Blast) + + + PC/Damage/Bomb/Bomb Base -10 + + ELEMENTAL + 2 + true + + Explode Sound + + Custom/Weapons/Bomb Detonation, Chemical + + Pitch + Default + + + Lifespan + 4,000 + Radius + 2.0 + Radius (Blast) + 1.5 + + + Charge Time + 3000 + Description + + Display Speed + 5 + Flavor + f.toxic_vaporizer_mkii + Global Modifier + + + Icon Colorizations + + + 531 + + + 794 + + + 1042 + + + Model + + item/weapon/bomb/chemical/model_lesser.dat + + Variant + Poison Green + + + Move Speed + Slow + Name + m.toxic_vaporizer_mkii + Rarity + 3 + Status Values + + + 2 + VERY_HIGH + + + + + + + + Weapon/Bomb/Venom Veiler + + + Weapon/Bomb/Parts/Base (ChargeOnly) + + Attack Values + + + ELEMENTAL + 170 + + PC/Damage/Bomb/Bomb Base -10 + + + + Bomb + + Bomb/Chemical (Charged) + + Bomb Model + + item/weapon/bomb/chemical/model.dat + + Variant + Poison Green + + + Cloud Color + Poison Green + Damage + + Poison 3 + + Chance + 0.5 + Power + 50 + Status Chance + VERY_HIGH + Status Power + MINOR + + + Damage (Blast) + + + PC/Damage/Bomb/Bomb Base -10 + + ELEMENTAL + 2 + true + + Explode Sound + + Custom/Weapons/Bomb Detonation, Chemical + + Pitch + Default + + + Lifespan + 6,000 + Radius + 4.5 + Radius (Blast) + 1.25 + + + Charge Time + 3000 + Description + + Display Speed + 5 + Flavor + f.venom_veiler + Global Modifier + + + Icon Colorizations + + + 531 + + + 794 + + + 1042 + + + Model + + item/weapon/bomb/chemical/model.dat + + Variant + Poison Green + + + Move Speed + Slow + Name + m.venom_veiler + Rarity + 5 + Status Values + + + 2 + VERY_HIGH + + + + + + + + Weapon/Handgun/(Dev) Actor Despawner + + + Weapon/Handgun/Parts/Base (Revolver Shell) + + Attack Values + + + Bullet + + Bullet/Handgun/Sentenza + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + UNBLOCKABLE + 2 + UNBLOCKABLE + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.0 + Charge Time + 3000 + Charged Bullet + + Description + ~A handgun used in select situations to remove actors of any kinds. + Display Speed + 8 + Flavor + + Global Modifier + + + Icon Colorizations + + + 2 + + -1.0 + + + + 3 + + 0.597 + -0.545 + -0.647 + + + + 4 + + 0.261 + -0.384 + -0.723 + + + + Model + + item/weapon/handgun/silversix/model.dat + + Model + large + Variant + Sentenza + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/magnus_fire.ogg + Sound - Gain + 1.0 + Sound - Pitch + Default + Sound - Range + Default + Visual - Color + red + Visual - Eject Shell Casing + true + Visual - Slag + true + Visual - Smoke + true + + + Name + ~(Dev) Actor Despawner + Rarity + 0 + Status Values + + + Targeting Angle + 30.0 + Targeting Distance + 8.0 + + + + + + Weapon/Handgun/Antigua + + + Weapon/Handgun/Parts/Base (Revolver Shell) + + Attack Values + + + PIERCING + 65 + + PC/Damage/Handgun/Handgun Base -15 + + + + Bullet + + Bullet/Handgun/Antigua + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + PIERCING + 2 + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.0 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Antigua + + Damage + + + PC/Damage/Handgun/Handgun Base -15 (Charged) + + PIERCING + 2 + true + + + + Description + + Display Speed + 8 + Flavor + f.antigua + Global Modifier + + + Icon Colorizations + + + 2 + + 0.175 + -0.254 + -0.605 + + + + 3 + + 0.493 + -0.886 + -0.212 + + + + 4 + + 0.48 + -0.959 + -0.685 + + + + Model + + item/weapon/handgun/silversix/model.dat + + Model + middle + Variant + Antigua + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/magnus_fire.ogg + Sound - Gain + 1.0 + Sound - Pitch + Higher 2 + Sound - Range + Default + Visual - Color + yellow + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + true + + + Name + m.antigua + Rarity + 3 + Status Values + + + Targeting Angle + 30.0 + Targeting Distance + 8.0 + + + + + + Weapon/Handgun/Argent Peacemaker + + + Weapon/Handgun/Parts/Base (Revolver Shell) + + Attack Values + + + PIERCING + 72 + + PC/Damage/Handgun/Handgun Base -15 + + + + ELEMENTAL + 72 + + PC/Damage/Handgun/Handgun Base -15 + + + + Bullet + + Bullet/Handgun/Argent Peacemaker + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + PIERCING + 2 + ELEMENTAL + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.0 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Argent Peacemaker (Charged) + + Damage + + + PC/Damage/Handgun/Handgun Base -15 (Charged) + + PIERCING + 2 + true + ELEMENTAL + + + + Description + + Display Speed + 8 + Flavor + f.argent_peacemaker + Global Modifier + + + Icon Colorizations + + + 2 + + 0.228 + -0.328 + -0.69 + + + + 3 + + 0.129 + -0.431 + -0.022 + + + + 4 + + 0.48 + -1.0 + -0.324 + + + + Model + + item/weapon/handgun/silversix/model.dat + + Model + large + Variant + Argent Peacemaker + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/magnus_fire.ogg + Sound - Gain + 1.0 + Sound - Pitch + Default + Sound - Range + Default + Visual - Color + ivory + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + true + + + Name + m.argent_peacemaker + Rarity + 5 + Status Values + + + Targeting Angle + 30.0 + Targeting Distance + 8.0 + + + + + + Weapon/Handgun/Autogun + + + Weapon/Handgun/Parts/Base (Auto Shell) + + Attack Values + + + 20 + + PC/Damage/Handgun/Handgun Base -15 + + + + Bullet + + Bullet/Handgun/Autogun + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + + + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Autogun (Charged) + + Damage + + + PC/Damage/Handgun/Handgun Base -20 (Charged) + + 2 + true + + + + Description + + Display Speed + 6 + Flavor + f.autogun + Global Modifier + + + Icon Colorizations + + + 2 + + 0.228 + -0.768 + -0.69 + + + + 3 + + 0.176 + -0.396 + -0.022 + + + + 4 + + 0.556 + -0.858 + -0.445 + + + + Model + + item/weapon/handgun/autogun/model.dat + + Variant + Autogun + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/handgun_autogun.ogg + Sound - Gain + 0.85 + Sound - Pitch + Higher 1 + Sound - Range + Default + Visual - Color + yellow + Visual - Eject Shell Casing + true + Visual - Slag + true + Visual - Smoke + true + + + Name + m.autogun + Rarity + 2 + Status Values + + + Targeting Angle + 30.0 + Targeting Distance + 6.0 + + + + + + Weapon/Handgun/Blackhawk + + + Weapon/Handgun/Parts/Base (Revolver Shell) + + Attack Values + + + PIERCING + 58 + + PC/Damage/Handgun/Handgun Base -15 + + + + SHADOW + 58 + + PC/Damage/Handgun/Handgun Base -15 + + + + Bullet + + Bullet/Handgun/Blackhawk + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + PIERCING + 2 + SHADOW + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.0 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Blackhawk (Charged) + + Damage + + + PC/Damage/Handgun/Handgun Base -15 (Charged) + + PIERCING + 2 + true + SHADOW + + + + Description + + Display Speed + 8 + Flavor + f.blackhawk + Global Modifier + + + Icon Colorizations + + + 2 + + 0.121 + -0.436 + -0.715 + + + + 3 + + 0.63 + -0.578 + -0.331 + + + + 4 + + 0.42 + -0.858 + -0.611 + + + + Model + + item/weapon/handgun/silversix/model.dat + + Model + small + Variant + Blackhawk + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/magnus_fire.ogg + Sound - Gain + 1.0 + Sound - Pitch + Higher 1 + Sound - Range + Default + Visual - Color + purple + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + true + + + Name + m.blackhawk + Rarity + 4 + Status Values + + + Targeting Angle + 30.0 + Targeting Distance + 8.0 + + + + + + Weapon/Handgun/Blaster + + + Weapon/Handgun/Parts/Base (Simple) + + Attack Values + + + 45 + + PC/Damage/Handgun/Handgun Base + + + + Bullet + + Bullet/Handgun/Blaster + + Damage + + + PC/Damage/Handgun/Handgun Base + + 2 + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.08726646 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Blaster (Charged) + + Damage + + + PC/Damage/Handgun/Handgun Base (Charged) + + 2 + true + + + + Description + + Display Speed + 5 + Flavor + f.blaster + Global Modifier + + + Icon Colorizations + + + 2 + + 0.106 + -0.72 + + + + 3 + + 0.644 + -0.514 + 0.342 + + + + 4 + + 0.468 + -0.795 + -0.064 + + + + Model + + item/weapon/handgun/proto/model.dat + + variant + Blaster (Grey) + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/bomb_02.ogg + Sound - Gain + 1.0 + Sound - Pitch + Higher 5 + Sound - Range + Default + Visual - Color + cyan + Visual - Eject Shell Casing + false + Visual - Slag + false + Visual - Smoke + true + + + Name + m.blaster + Rarity + 2 + Status Values + + + Targeting Angle + 30.0 + Targeting Distance + 6.0 + + + + + + Weapon/Handgun/Blitz Needle + + + Weapon/Handgun/Parts/Base (Auto Shell) + + Attack Values + + + PIERCING + 72 + + PC/Damage/Handgun/Handgun Base -15 + + + + Bullet + + Bullet/Handgun/Blitz Needle + + Damage + + + + + PC/Damage/Handgun/Handgun Base -15 + + PIERCING + 2 + + + + + + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Blitz Needle + + Damage + + + PC/Damage/Handgun/Handgun Base -20 (Charged) + + PIERCING + 2 + true + + + + Description + + Display Speed + 6 + Flavor + f.blitz_needle + Global Modifier + + + Icon Colorizations + + + 2 + + -0.203 + -0.892 + -0.782 + + + + 3 + + -0.365 + -0.265 + -0.301 + + + + 4 + + 0.887 + -0.28 + -0.355 + + + + Model + + item/weapon/handgun/needler/model.dat + + Variant + Blitz Needle + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/handgun_needler.ogg + Sound - Gain + 0.6 + Sound - Pitch + Default + Sound - Range + Default + Visual - Color + ivory + Visual - Eject Shell Casing + true + Visual - Slag + true + Visual - Smoke + true + + + Name + m.blitz_needle + Rarity + 5 + Status Values + + + Targeting Angle + 35.0 + Targeting Distance + 7.0 + + + + + + Weapon/Handgun/Callahan + + + Weapon/Handgun/Parts/Base (Heavy Shell) + + Attack Values + + + PIERCING + 185 + + PC/Damage/Handgun/Handgun Base +10 + + + + Bullet + + Bullet/Handgun/Callahan + + Damage + + + + + PC/Damage/Handgun/Handgun Base +10 + + PIERCING + 2 + true + + + 2 + + Stun 3 + + Chance + 0.1 + Power + 240 + Status Chance + MEDIUM + Status Power + MODERATE + + + + + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.017453292 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Callahan (Charged) + + Damage + + + + + PC/Damage/Handgun/Handgun Base +10 (Charged) + + PIERCING + 2 + true + + + 2 + + Stun 3 + + Chance + 0.5 + Power + 240 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + + + Description + + Display Speed + 3 + Flavor + f.callahan + Global Modifier + + + Icon Colorizations + + + 2 + + -0.13 + -0.75 + -0.9 + + + + 3 + + -0.03 + -0.3 + -0.33 + + + + 4 + + 0.305 + -0.745 + -0.7 + + + + Model + + item/weapon/handgun/magnus/model_callahan.dat + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/magnus_fire.ogg + Sound - Gain + 1.0 + Sound - Pitch + Lower 5 + Sound - Range + Longer 1 + Visual - Color + frost + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + true + + + Name + m.callahan + Rarity + 5 + Status Values + + + 1 + MODERATE + VERY_HIGH + + + Targeting Angle + 45.0 + Targeting Distance + 6.0 + + + + + + Weapon/Handgun/Cryo Driver + + + Weapon/Handgun/Parts/Base (Alchemer) + + Attack Values + + + ELEMENTAL + 90 + + PC/Damage/Handgun/Handgun Base -05 + + + + Bullet + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Primary + + Damage + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Freeze 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 1) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Freeze 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 2) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Freeze 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.0 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Charged MKIII + + Damage + + + + + PC/Damage/Handgun/Handgun Base -05 (Charged) + + ELEMENTAL + 2 + true + + + 2 + + Freeze 3 + + Chance + 0.5 + Power + 50 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + Damage (Split 1) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Freeze 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 2) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Freeze 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 3) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Freeze 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + CUSTOM + + + + + + + + Description + + Display Speed + 4 + Flavor + f.cryo_driver + Global Modifier + + + Icon Colorizations + + + 2 + + 0.267 + -0.26 + -0.619 + + + + 3 + + -0.417 + -0.701 + -0.545 + + + + 4 + + -0.079 + 0.077 + + + + Model + + item/weapon/handgun/firotech/model_rank3.dat + + Variant + Freeze + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/cryotech_fire.ogg + Sound - Gain + 1.0 + Sound - Pitch + Lower 1 + Sound - Range + Default + Visual - Color + frost + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + false + + + Name + m.cryo_driver + Rarity + 4 + Status Values + + + 8 + MODERATE + VERY_HIGH + + + Targeting Angle + 30.0 + Targeting Distance + 4.0 + + + + + + Weapon/Handgun/Cryotech Alchemer + + + Weapon/Handgun/Parts/Base (Alchemer) + + Attack Values + + + ELEMENTAL + 35 + + PC/Damage/Handgun/Handgun Base -05 + + + + Bullet + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Tirtiary + + Damage + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Freeze 2 + + Chance + 0.2 + Power + 40 + Status Chance + HIGH + Status Power + MODERATE + + + + + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.0 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Charged MKI + + Damage + + + + + PC/Damage/Handgun/Handgun Base -05 (Charged) + + ELEMENTAL + 2 + true + + + 2 + + Freeze 2 + + Chance + 0.5 + Power + 40 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + Damage (Split 1) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Freeze 2 + + Chance + 0.0 + Power + 40 + Status Chance + HIGH + Status Power + MODERATE + + + + + + + + Description + + Display Speed + 4 + Flavor + f.cryotech_alchemer + Global Modifier + + + Icon Colorizations + + + 2 + + 0.267 + -0.26 + -0.619 + + + + 3 + + -0.417 + -0.701 + -0.545 + + + + 4 + + -0.079 + 0.077 + + + + Model + + item/weapon/handgun/firotech/model_rank1.dat + + Variant + Freeze + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/cryotech_fire.ogg + Sound - Gain + 1.0 + Sound - Pitch + Higher 1 + Sound - Range + Default + Visual - Color + frost + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + false + + + Name + m.cryotech_alchemer + Rarity + 2 + Status Values + + + 8 + MODERATE + VERY_HIGH + + + Targeting Angle + 30.0 + Targeting Distance + 4.0 + + + + + + Weapon/Handgun/Cryotech Alchemer Mk II + + + Weapon/Handgun/Parts/Base (Alchemer) + + Attack Values + + + ELEMENTAL + 60 + + PC/Damage/Handgun/Handgun Base -05 + + + + Bullet + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Secondary + + Damage + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Freeze 2 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 1) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Freeze 2 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.0 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Charged MKII + + Damage + + + + + PC/Damage/Handgun/Handgun Base -05 (Charged) + + ELEMENTAL + 2 + true + + + 2 + + Freeze 2 + + Chance + 0.5 + Power + 50 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + Damage (Split 1) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Freeze 2 + + Chance + 0.0 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 2) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Freeze 2 + + Chance + 0.0 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + + + Description + + Display Speed + 4 + Flavor + f.cryotech_alchemer_mkii + Global Modifier + + + Icon Colorizations + + + 2 + + 0.267 + -0.26 + -0.619 + + + + 3 + + -0.417 + -0.701 + -0.545 + + + + 4 + + -0.079 + 0.077 + + + + Model + + item/weapon/handgun/firotech/model_rank2.dat + + Variant + Freeze + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/cryotech_fire.ogg + Sound - Gain + 1.0 + Sound - Pitch + Lower 1 + Sound - Range + Default + Visual - Color + frost + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + false + + + Name + m.cryotech_alchemer_mkii + Rarity + 3 + Status Values + + + 8 + MODERATE + VERY_HIGH + + + Targeting Angle + 30.0 + Targeting Distance + 4.0 + + + + + + Weapon/Handgun/Fiery Pepperbox + + + Weapon/Handgun/Parts/Base (Auto Shell) + + Attack Values + + + 8 + + PC/Damage/Handgun/Handgun Base -20 + + + + Bullet + + Bullet/Handgun/Fiery Pepperbox + + Damage + + + + + PC/Damage/Handgun/Handgun Base -20 + + 2 + + + 2 + + Fire 3 + + Chance + 0.1 + Power + 40 + Status Chance + MEDIUM + Status Power + MODERATE + + + + + + + + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Fiery Pepperbox (Charged) + + Damage + + + + + PC/Damage/Handgun/Handgun Base -10 + + 2 + true + + + 2 + + Fire 3 + + Chance + 0.1 + Power + 40 + Status Chance + MEDIUM + Status Power + MODERATE + + + + + + + + Description + + Display Speed + 6 + Flavor + f.fiery_pepperbox + Global Modifier + + + Icon Colorizations + + + 2 + + -0.203 + -0.892 + -0.782 + + + + 3 + + -0.365 + -0.265 + -0.301 + + + + 4 + + 0.887 + -0.28 + -0.355 + + + + Model + + item/weapon/handgun/autogun/model.dat + + Variant + Firey Pepperbox + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/handgun_autogun.ogg + Sound - Gain + 1.0 + Sound - Pitch + Default + Sound - Range + Default + Visual - Color + red + Visual - Eject Shell Casing + true + Visual - Slag + true + Visual - Smoke + true + + + Name + m.fiery_pepperbox + Rarity + 4 + Status Values + + + 4 + MODERATE + MEDIUM + + + Targeting Angle + 35.0 + Targeting Distance + 7.0 + + + + + + Weapon/Handgun/Firo Driver + + + Weapon/Handgun/Parts/Base (Alchemer) + + Attack Values + + + ELEMENTAL + 90 + + PC/Damage/Handgun/Handgun Base -05 + + + + Bullet + + Bullet/Handgun/Parts/Alchemical/Firotech/Primary + + Damage + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Fire + + Chance + 0.2 + Power + 180 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 1) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Fire + + Chance + 0.2 + Power + 180 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 2) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Fire + + Chance + 0.2 + Power + 180 + Status Chance + HIGH + Status Power + MODERATE + + + + + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.0 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Parts/Alchemical/Firotech/Charged MKIII + + Damage + + + + + PC/Damage/Handgun/Handgun Base -05 (Charged) + + ELEMENTAL + 2 + true + + + 2 + + Fire + + Chance + 0.5 + Power + 180 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + Damage (Split 1) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Fire 3 + + Chance + 0.2 + Power + 180 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 2) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Fire + + Chance + 0.2 + Power + 180 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 3) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Fire + + Chance + 0.2 + Power + 180 + Status Chance + HIGH + Status Power + MODERATE + + + + + + + + Description + + Display Speed + 4 + Flavor + f.firo_driver + Global Modifier + + + Icon Colorizations + + + 2 + + 0.092 + -0.134 + -0.5 + + + + 3 + + 0.063 + -0.668 + -0.595 + + + + 4 + + 0.388 + -0.233 + 1.0 + + + + Model + + item/weapon/handgun/firotech/model_rank3.dat + + Variant + Firotech + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/handgun_04.ogg + Sound - Gain + 1.0 + Sound - Pitch + Lower 1 + Sound - Range + Default + Visual - Color + yellow + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + false + + + Name + m.firo_driver + Rarity + 4 + Status Values + + + MODERATE + VERY_HIGH + + + Targeting Angle + 30.0 + Targeting Distance + 4.0 + + + + + + Weapon/Handgun/Firotech Alchemer + + + Weapon/Handgun/Parts/Base (Alchemer) + + Attack Values + + + ELEMENTAL + 35 + + PC/Damage/Handgun/Handgun Base -05 + + + + Bullet + + Bullet/Handgun/Parts/Alchemical/Firotech/Tirtiary + + Damage + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Fire 2 + + Chance + 0.2 + Power + 40 + Status Chance + HIGH + Status Power + MODERATE + + + + + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.0 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Parts/Alchemical/Firotech/Charged MKI + + Damage + + + + + PC/Damage/Handgun/Handgun Base -05 (Charged) + + ELEMENTAL + 2 + true + + + 2 + + Fire 2 + + Chance + 0.4 + Power + 40 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + Damage (Split 1) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Fire 2 + + Chance + 0.2 + Power + 40 + Status Chance + HIGH + Status Power + MODERATE + + + + + + + + Description + + Display Speed + 4 + Flavor + f.firotech_alchemer + Global Modifier + + + Icon Colorizations + + + 2 + + 0.092 + -0.134 + -0.5 + + + + 3 + + 0.063 + -0.668 + -0.595 + + + + 4 + + 0.388 + -0.233 + 1.0 + + + + Model + + item/weapon/handgun/firotech/model_rank1.dat + + Variant + Firotech + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/handgun_04.ogg + Sound - Gain + 1.0 + Sound - Pitch + Higher 1 + Sound - Range + Default + Visual - Color + yellow + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + false + + + Name + m.firotech_alchemer + Rarity + 2 + Status Values + + + 4 + MODERATE + VERY_HIGH + + + Targeting Angle + 30.0 + Targeting Distance + 4.0 + + + + + + Weapon/Handgun/Firotech Alchemer Mk II + + + Weapon/Handgun/Parts/Base (Alchemer) + + Attack Values + + + ELEMENTAL + 60 + + PC/Damage/Handgun/Handgun Base -05 + + + + Bullet + + Bullet/Handgun/Parts/Alchemical/Firotech/Secondary + + Damage + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Fire 2 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 1) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Fire 2 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.0 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Parts/Alchemical/Firotech/Charged MKII + + Damage + + + + + PC/Damage/Handgun/Handgun Base -05 (Charged) + + ELEMENTAL + 2 + true + + + 2 + + Fire 2 + + Chance + 0.5 + Power + 50 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + Damage (Split 1) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Fire 2 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 2) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Fire 2 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + + + Description + + Display Speed + 4 + Flavor + f.firotech_alchemer_mkii + Global Modifier + + + Icon Colorizations + + + 2 + + 0.092 + -0.134 + -0.5 + + + + 3 + + 0.063 + -0.668 + -0.595 + + + + 4 + + 0.388 + -0.233 + 1.0 + + + + Model + + item/weapon/handgun/firotech/model_rank2.dat + + Variant + Firotech + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/handgun_04.ogg + Sound - Gain + 1.0 + Sound - Pitch + Lower 1 + Sound - Range + Default + Visual - Color + yellow + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + false + + + Name + m.firotech_alchemer_mkii + Rarity + 3 + Status Values + + + MODERATE + VERY_HIGH + + + Targeting Angle + 30.0 + Targeting Distance + 4.0 + + + + + + Weapon/Handgun/Frost Gun + + + Weapon/Handgun/Parts/Base (Simple) + + Attack Values + + + 20 + + PC/Damage/Handgun/Handgun Base + + + + Bullet + + Bullet/Handgun/FrostGun + + Damage + + + PC/Damage/Handgun/Handgun Base + + 2 + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.10471976 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/FrostGun (Charged) + + Damage + + + + + PC/Damage/Handgun/Handgun Base (Charged) + + 2 + true + + + 2 + + Freeze + + Chance + 0.5 + Power + 40 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + + + Description + + Display Speed + 5 + Flavor + f.frost_gun + Global Modifier + + + Icon Colorizations + + + 2 + + 0.04 + -0.666 + -0.782 + + + + 3 + + 0.525 + -0.693 + -0.123 + + + + 4 + + 0.224 + -0.237 + -0.43 + + + + Model + + item/weapon/handgun/proto/model.dat + + variant + frost + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/handgun_01.ogg + Sound - Gain + 1.0 + Sound - Pitch + Lower 2 + Sound - Range + Default + Visual - Color + frost + Visual - Eject Shell Casing + false + Visual - Slag + false + Visual - Smoke + false + + + Name + m.frost_gun + Rarity + 1 + Status Values + + + 8 + MODERATE + VERY_HIGH + + + Targeting Angle + 30.0 + Targeting Distance + 6.0 + + + + + + Weapon/Handgun/Hail Driver + + + Weapon/Handgun/Parts/Base (Alchemer) + + Attack Values + + + ELEMENTAL + 125 + + PC/Damage/Handgun/Handgun Base -05 + + + + Bullet + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Primary + + Damage + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Freeze 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 1) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Freeze 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 2) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Freeze 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.0 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Parts/Alchemical/Cryotech Alchemer/Charged MKIV + + Damage + + + + + PC/Damage/Handgun/Handgun Base -05 (Charged) + + ELEMENTAL + 2 + true + + + 2 + + Freeze 3 + + Chance + 0.5 + Power + 50 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + Damage (Split 1) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Freeze 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 2) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Freeze 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 3) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Freeze 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + + + Description + + Display Speed + 4 + Flavor + f.hail_driver + Global Modifier + + + Icon Colorizations + + + 2 + + 0.267 + -0.26 + -0.619 + + + + 3 + + -0.417 + -0.701 + -0.545 + + + + 4 + + -0.079 + 0.077 + + + + Model + + item/weapon/handgun/firotech/model_rank4.dat + + Variant + Freeze + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/cryotech_fire.ogg + Sound - Gain + 1.0 + Sound - Pitch + Lower 1 + Sound - Range + Default + Visual - Color + frost + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + false + + + Name + m.hail_driver + Rarity + 5 + Status Values + + + 8 + MODERATE + VERY_HIGH + + + Targeting Angle + 30.0 + Targeting Distance + 4.0 + + + + + + Weapon/Handgun/Iron Slug + + + Weapon/Handgun/Parts/Base (Heavy Shell) + + Attack Values + + + 185 + + PC/Damage/Handgun/Handgun Base +10 + + + + Bullet + + Bullet/Handgun/Iron Slug + + Damage + + + PC/Damage/Handgun/Handgun Base +10 + + 2 + true + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.017453292 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Iron Slug (Charged) + + Damage + + + + + PC/Damage/Handgun/Handgun Base +10 (Charged) + + 2 + true + + + 2 + + Freeze + + Chance + 0.0 + Power + 40 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + Description + + Display Speed + 3 + Flavor + f.iron_slug + Global Modifier + + + Icon Colorizations + + + 2 + + -0.13 + -0.75 + -0.9 + + + + 3 + + -0.03 + -0.3 + -0.33 + + + + 4 + + 0.305 + -0.745 + -0.7 + + + + Model + + item/weapon/handgun/magnus/model_ironslug.dat + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/magnus_fire.ogg + Sound - Gain + 1.0 + Sound - Pitch + Lower 5 + Sound - Range + Longer 1 + Visual - Color + yellow + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + true + + + Name + m.iron_slug + Rarity + 5 + Status Values + + + Targeting Angle + 45.0 + Targeting Distance + 6.0 + + + + + + Weapon/Handgun/Magma Driver + + + Weapon/Handgun/Parts/Base (Alchemer) + + Attack Values + + + ELEMENTAL + 125 + + PC/Damage/Handgun/Handgun Base -05 + + + + Bullet + + Bullet/Handgun/Parts/Alchemical/Firotech/Primary + + Damage + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Fire 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 1) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Fire 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 2) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Fire 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.0 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Parts/Alchemical/Firotech/Charged MKIV + + Damage + + + + + PC/Damage/Handgun/Handgun Base -05 (Charged) + + ELEMENTAL + 2 + true + + + 2 + + Fire 3 + + Chance + 0.5 + Power + 50 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + Damage (Split 1) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Fire 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 2) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Fire 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 3) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Fire 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + + + Description + + Display Speed + 4 + Flavor + f.magma_driver + Global Modifier + + + Icon Colorizations + + + 2 + + 0.092 + -0.134 + -0.5 + + + + 3 + + 0.063 + -0.668 + -0.595 + + + + 4 + + 0.388 + -0.233 + 1.0 + + + + Model + + item/weapon/handgun/firotech/model_rank4.dat + + Variant + Firotech + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/handgun_04.ogg + Sound - Gain + 1.0 + Sound - Pitch + Lower 1 + Sound - Range + Default + Visual - Color + yellow + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + false + + + Name + m.magma_driver + Rarity + 5 + Status Values + + + 4 + MODERATE + VERY_HIGH + + + Targeting Angle + 30.0 + Targeting Distance + 4.0 + + + + + + Weapon/Handgun/Magnus + + + Weapon/Handgun/Parts/Base (Heavy Shell) + + Attack Values + + + PIERCING + 90 + + PC/Damage/Handgun/Handgun Base +10 + + + + Bullet + + Bullet/Handgun/Magnus + + Damage + + + + + PC/Damage/Handgun/Handgun Base +10 + + PIERCING + 2 + true + + + 2 + + Stun 2 + + Chance + 0.1 + Power + 50 + Status Chance + MEDIUM + Status Power + MODERATE + + + + + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.017453292 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Magnus (Charged) + + Damage + + + + + PC/Damage/Handgun/Handgun Base +10 (Charged) + + PIERCING + 2 + true + + + 2 + + Stun 2 + + Chance + 0.5 + Power + 50 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + + + Description + + Display Speed + 3 + Flavor + f.magnus + Global Modifier + + + Icon Colorizations + + + 2 + + -0.181 + -0.825 + -0.782 + + + + 3 + + 0.137 + -0.449 + -0.409 + + + + 4 + + 0.823 + -0.23 + -0.645 + + + + Model + + item/weapon/handgun/magnus/model.dat + + Model + medium + Variant + Magnus + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/magnus_fire.ogg + Sound - Gain + 1.0 + Sound - Pitch + Lower 3 + Sound - Range + Longer 1 + Visual - Color + yellow + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + true + + + Name + m.magnus + Rarity + 3 + Status Values + + + 1 + MODERATE + VERY_HIGH + + + Targeting Angle + 45.0 + Targeting Distance + 6.0 + + + + + + Weapon/Handgun/Master Blaster + + + Weapon/Handgun/Parts/Base (Simple) + + Attack Values + + + 115 + + PC/Damage/Handgun/Handgun Base + + + + Bullet + + Bullet/Handgun/Blaster + + Damage + + + PC/Damage/Handgun/Handgun Base + + 2 + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.08726646 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Blaster (Charged) + + Damage + + + PC/Damage/Handgun/Handgun Base (Charged) + + 2 + true + + + + Description + + Display Speed + 5 + Flavor + f.master_blaster + Global Modifier + + + Icon Colorizations + + + 2 + + 0.106 + -0.72 + + + + 3 + + 0.644 + -0.514 + 0.342 + + + + 4 + + 0.468 + -0.795 + -0.064 + + + + Model + + item/weapon/handgun/proto/model.dat + + variant + Blaster (Master) + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/bomb_02.ogg + Sound - Gain + 1.0 + Sound - Pitch + Higher 5 + Sound - Range + Default + Visual - Color + cyan + Visual - Eject Shell Casing + false + Visual - Slag + false + Visual - Smoke + true + + + Name + m.master_blaster + Rarity + 4 + Status Values + + + Targeting Angle + 30.0 + Targeting Distance + 6.0 + + + + + + Weapon/Handgun/Mega Magnus + + + Weapon/Handgun/Parts/Base (Heavy Shell) + + Attack Values + + + PIERCING + 35 + + PC/Damage/Handgun/Handgun Base +10 + + + + Bullet + + Bullet/Handgun/Mega Magnus + + Damage + + + + + PC/Damage/Handgun/Handgun Base +10 + + PIERCING + 2 + true + + + 2 + + Stun 3 + + Chance + 0.1 + Power + 180 + Status Chance + MEDIUM + Status Power + MODERATE + + + + + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.017453292 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Mega Magnus (Charged) + + Damage + + + + + PC/Damage/Handgun/Handgun Base +10 (Charged) + + PIERCING + 2 + true + + + 2 + + Stun 3 + + Chance + 0.5 + Power + 180 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + + + Description + + Display Speed + 3 + Flavor + f.mega_magnus + Global Modifier + + + Icon Colorizations + + + 2 + + -0.181 + -0.825 + -0.782 + + + + 3 + + 0.137 + -0.449 + -0.409 + + + + 4 + + 0.823 + -0.23 + -0.645 + + + + Model + + item/weapon/handgun/magnus/model.dat + + Model + medium + Variant + Mega Magnus + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/magnus_fire.ogg + Sound - Gain + 1.0 + Sound - Pitch + Lower 3 + Sound - Range + Longer 1 + Visual - Color + ivory + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + true + + + Name + m.mega_magnus + Rarity + 4 + Status Values + + + 1 + MODERATE + VERY_HIGH + + + Targeting Angle + 45.0 + Targeting Distance + 6.0 + + + + + + Weapon/Handgun/Needle Shot + + + Weapon/Handgun/Parts/Base (Auto Shell) + + Attack Values + + + PIERCING + 32 + + PC/Damage/Handgun/Handgun Base -15 + + + + Bullet + + Bullet/Handgun/Needle Shot + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + PIERCING + 2 + + + + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Needle Shot + + Damage + + + PC/Damage/Handgun/Handgun Base -20 (Charged) + + PIERCING + 2 + true + + + + Description + + Display Speed + 6 + Flavor + f.needle_shot + Global Modifier + + + Icon Colorizations + + + 2 + + -0.203 + -0.892 + -0.782 + + + + 3 + + -0.365 + -0.265 + -0.301 + + + + 4 + + 0.887 + -0.28 + -0.355 + + + + Model + + item/weapon/handgun/needler/model.dat + + Variant + Pepperbox + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/handgun_needler.ogg + Sound - Gain + 0.6 + Sound - Pitch + Default + Sound - Range + Default + Visual - Color + green + Visual - Eject Shell Casing + true + Visual - Slag + true + Visual - Smoke + true + + + Name + m.needle_shot + Rarity + 3 + Status Values + + + Targeting Angle + 35.0 + Targeting Distance + 7.0 + + + + + + Weapon/Handgun/Nova Driver + + + Weapon/Handgun/Parts/Base (Alchemer) + + Attack Values + + + ELEMENTAL + 145 + + PC/Damage/Handgun/Handgun Base -05 + + + + Bullet + + Bullet/Handgun/Parts/Alchemical/Prismatech/Primary + + Damage + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + Damage (Split 1) + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + Damage (Split 2) + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.0 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Parts/Alchemical/Prismatech/Charged MKIV + + Damage + + + PC/Damage/Handgun/Handgun Base -05 (Charged) + + ELEMENTAL + 2 + true + + Damage (Split 1) + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + Damage (Split 2) + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + Damage (Split 3) + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + + Description + + Display Speed + 4 + Flavor + f.nova_driver + Global Modifier + + + Icon Colorizations + + + 2 + + 0.207 + -0.364 + -0.782 + + + + 3 + + -0.453 + -0.535 + -0.509 + + + + 4 + + 0.719 + -0.336 + + + + Model + + item/weapon/handgun/firotech/model_rank4.dat + + Variant + Prism + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/handgun_04.ogg + Sound - Gain + 1.0 + Sound - Pitch + Default + Sound - Range + Default + Visual - Color + silver + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + false + + + Name + m.nova_driver + Rarity + 5 + Status Values + + + Targeting Angle + 30.0 + Targeting Distance + 4.0 + + + + + + Weapon/Handgun/Parts/Base + + + Name + implementation.name + + + Description + implementation.description + + + Flavor + implementation.flavor + + + Rarity + implementation.rarity + + + Sell Price + implementation.sell_price + + + Icon Colorizations + implementation.icon.colorizations + + + Model + implementation.model + + + Bullet + implementation.attacks[0].ref["Bullet"], implementation.attacks[1].ref["Bullet"], implementation.attacks[2].ref["Bullet"], implementation.incomplete_charged_attack["Bullet"] + + + Charged Bullet + implementation.charged_attack["Bullet"] + + + Muzzle Flare + implementation.attacks[0].ref["Muzzle Flash"], implementation.attacks[1].ref["Muzzle Flash"], implementation.attacks[2].ref["Muzzle Flash"], implementation.incomplete_charged_attack["Muzzle Flash"], implementation.charged_attack["Muzzle Flash"] + + + Charge Time + implementation.charge_time + + + Targeting Distance + implementation.targeting_dist + + + Targeting Angle + implementation.targeting_angle + + + + + ui/icon/inventory/icon_handgun-heavy.png + + + 527 + + + 786 + + + 1040 + + + + + Handgun + + 25 + 1000 + + item/weapon/handgun/proto/model.dat + + variant + proto + + + + + + Weapon/Handgun/Parts/Base Shot + + Bullet + + Bullet/Handgun/Proto + + Damage + + + + 12.0 + 2 + + + + + + First Shot + True + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Weapon/Handgun/Parts/Base Shot + + Bullet + + Bullet/Handgun/Proto + + Damage + + + + 12.0 + 2 + + + + + + First Shot + False + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Weapon/Handgun/Parts/Base Shot + + Bullet + + Bullet/Handgun/Blaster + + Damage + + + + 25.0 + 2 + + + + + + First Shot + False + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Weapon/Handgun/Parts/Base Shot + + Bullet + + Bullet/Handgun/Proto (Charged) + + Damage + + + + 35.0 + 2 + true + + + + + + First Shot + False + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Rotation + 0.0 + Rotation Variance + 0.0 + + + + Weapon/Handgun/Parts/Base Charge + + Bullet + + Bullet/Handgun/Proto + + Damage + + + + 12.0 + 2 + + + + + + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + + + + Weapon/Handgun/Parts/Base Reload + + speed + 1.5 + + + 0.75 + 6.0 + 30.0 + false + 0.55 + 3 + 500 + + + + Weapon/Handgun/Parts/Base (Alchemer) + + + Name + implementation.name + + + Description + implementation.description + + + Flavor + implementation.flavor + + + Icon Colorizations + implementation.icon.colorizations + + + Model + implementation.model + + + Rarity + implementation.rarity + + + Attack Values + implementation.attack_values + + + Display Speed + implementation.display_speed + + + Status Values + implementation.status_values + + + Bullet + implementation.attacks[0].ref["Bullet"], implementation.attacks[1].ref["Bullet"], implementation.incomplete_charged_attack["Bullet"] + + + Charged Bullet + implementation.charged_attack["Bullet"] + + + Muzzle Flare + implementation.attacks[0].ref["Muzzle Flash"], implementation.attacks[1].ref["Muzzle Flash"], implementation.incomplete_charged_attack["Muzzle Flash"], implementation.charged_attack["Muzzle Flash"] + + + Charge Time + implementation.charge_time + + + Targeting Distance + implementation.targeting_dist + + + Targeting Angle + implementation.targeting_angle + + + Bullet Rotation + implementation.attacks[0].ref["Rotation"], implementation.attacks[1].ref["Rotation"], implementation.incomplete_charged_attack["Rotation"] + + + Bullet Rotation Variance + implementation.attacks[0].ref["Rotation Variance"], implementation.attacks[1].ref["Rotation Variance"], implementation.incomplete_charged_attack["Rotation Variance"] + + + Global Modifier + implementation.global_modifier + + + + + ui/icon/inventory/icon_handgun-ele.png + + + 516 + + + 770 + + + 1027 + + + + + Handgun + + 25 + 1000 + + item/weapon/handgun/proto/model.dat + + variant + proto + + + + + + Weapon/Handgun/Parts/Base Shot + + Bullet + + Bullet/Handgun/Blaster + + Damage + + + + 25.0 + 2 + + + + + + First Shot + True + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Weapon/Handgun/Parts/Base Shot + + Bullet + + Bullet/Handgun/Blaster + + Damage + + + + 25.0 + 2 + + + + + + First Shot + False + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Weapon/Handgun/Parts/Base Shot + + Bullet + + Bullet/Handgun/Blaster + + Damage + + + + 25.0 + 2 + + + + + + First Shot + False + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Rotation + 0.0 + Rotation Variance + 0.0 + + + + Weapon/Handgun/Parts/Base Charge + + Bullet + + Bullet/Handgun/Blaster (Charged) + + Damage + + + + 75.0 + 2 + true + + + + + + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + + + + Weapon/Handgun/Parts/Base Reload + + speed + 1.25 + + + 3000 + 0.75 + 4.0 + 30.0 + false + 0.65 + 2 + 600 + + + + Weapon/Handgun/Parts/Base (Auto Shell) + + + Name + implementation.name + + + Description + implementation.description + + + Flavor + implementation.flavor + + + Icon Colorizations + implementation.icon.colorizations + + + Model + implementation.model + + + Rarity + implementation.rarity + + + Attack Values + implementation.attack_values + + + Display Speed + implementation.display_speed + + + Status Values + implementation.status_values + + + Bullet + implementation.attacks[0].ref["Bullet"], implementation.attacks[1].ref["Bullet"], implementation.attacks[2].ref["Bullet"], implementation.incomplete_charged_attack["Bullet"] + + + Charged Bullet + implementation.charged_attack["Bullet"] + + + Muzzle Flare + implementation.attacks[0].ref["Muzzle Flash"], implementation.attacks[1].ref["Muzzle Flash"], implementation.attacks[2].ref["Muzzle Flash"], implementation.incomplete_charged_attack["Muzzle Flash"], implementation.charged_attack["Muzzle Flash"] + + + Charge Time + implementation.charge_time + + + Targeting Distance + implementation.targeting_dist + + + Targeting Angle + implementation.targeting_angle + + + Global Modifier + implementation.global_modifier + + + + + ui/icon/inventory/icon_handgun-auto.png + + + 516 + + + 770 + + + 1027 + + + + + Handgun + + 25 + 1000 + + item/weapon/handgun/proto/model.dat + + variant + proto + + + + + + Weapon/Handgun/Parts/Auto Shot + + Bullet + + Bullet/Handgun/Autogun + + Damage + + + + 6.0 + 2 + false + + + + + + First Shot + True + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + + + + + + Weapon/Handgun/Parts/Auto Shot + + Bullet + + Bullet/Handgun/Autogun + + Damage + + + + 6.0 + 2 + false + + + + + + First Shot + False + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + + + + + + Weapon/Handgun/Parts/Auto Shot + + Bullet + + Bullet/Handgun/Autogun + + Damage + + + + 6.0 + 2 + false + + + + + + First Shot + False + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + + + + + + Weapon/Handgun/Parts/Base Shot + + Bullet + + Bullet/Handgun/Autogun + + Damage + + + + 6.0 + 2 + false + + + + + + First Shot + False + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Rotation + 0.0 + Rotation Variance + 0.5235988 + + + + Weapon/Handgun/Parts/Auto Charge + + Bullet + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Random Variance + 0.0 + + + + Weapon/Handgun/Parts/Auto Reload + + speed + 1.0 + + + 3000 + 0.75 + 6.0 + 30.0 + 0.55 + 2 + 1200 + + + + Weapon/Handgun/Parts/Base (Auto Shell) (1 Shot) + + + Name + implementation.name + + + Description + implementation.description + + + Flavor + implementation.flavor + + + Icon Colorizations + implementation.icon.colorizations + + + Model + implementation.model + + + Rarity + implementation.rarity + + + Attack Values + implementation.attack_values + + + Display Speed + implementation.display_speed + + + Status Values + implementation.status_values + + + Bullet + implementation.attacks[0].ref["Bullet"], implementation.attacks[1].ref["Bullet"], implementation.attacks[2].ref["Bullet"], implementation.incomplete_charged_attack["Bullet"] + + + Charged Bullet + implementation.charged_attack["Bullet"] + + + Muzzle Flare + implementation.attacks[0].ref["Muzzle Flash"], implementation.attacks[1].ref["Muzzle Flash"], implementation.attacks[2].ref["Muzzle Flash"], implementation.incomplete_charged_attack["Muzzle Flash"], implementation.charged_attack["Muzzle Flash"] + + + Charge Time + implementation.charge_time + + + Targeting Distance + implementation.targeting_dist + + + Targeting Angle + implementation.targeting_angle + + + Global Modifier + implementation.global_modifier + + + + + ui/icon/inventory/icon_handgun-auto.png + + + 516 + + + 770 + + + 1027 + + + + + Handgun + + 25 + 1000 + + item/weapon/handgun/proto/model.dat + + variant + proto + + + + + + Weapon/Handgun/Parts/Auto Shot + + Bullet + + Bullet/Handgun/Autogun + + Damage + + + + 6.0 + 2 + false + + + + + + First Shot + True + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + + + + + + Weapon/Handgun/Parts/Auto Shot + + Bullet + + Bullet/Handgun/Autogun + + Damage + + + + 6.0 + 2 + false + + + + + + First Shot + False + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + + + + + + Weapon/Handgun/Parts/Auto Shot + + Bullet + + Bullet/Handgun/Autogun + + Damage + + + + 6.0 + 2 + false + + + + + + First Shot + False + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + + + + + + Weapon/Handgun/Parts/Base Shot + + Bullet + + Bullet/Handgun/Autogun + + Damage + + + + 6.0 + 2 + false + + + + + + First Shot + False + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Rotation + 0.0 + Rotation Variance + 0.5235988 + + + + Weapon/Handgun/Parts/Auto Charge + + Bullet + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + 8.0 + 2 + false + + + + + + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + true + Slag + true + Smoke + true + + + Random Variance + 0.0 + + + + Weapon/Handgun/Parts/Auto Reload + + speed + 1.0 + + + 3000 + 0.75 + 6.0 + 30.0 + 0.55 + 1 + 1200 + + + + Weapon/Handgun/Parts/Base (Heavy Shell) + + + Name + implementation.name + + + Description + implementation.description + + + Flavor + implementation.flavor + + + Icon Colorizations + implementation.icon.colorizations + + + Model + implementation.model + + + Rarity + implementation.rarity + + + Attack Values + implementation.attack_values + + + Display Speed + implementation.display_speed + + + Status Values + implementation.status_values + + + Bullet + implementation.attacks[0].ref["Bullet"], implementation.attacks[1].ref["Bullet"], implementation.incomplete_charged_attack["Bullet"] + + + Charged Bullet + implementation.charged_attack["Bullet"] + + + Muzzle Flare + implementation.attacks[0].ref["Muzzle Flash"], implementation.attacks[1].ref["Muzzle Flash"], implementation.incomplete_charged_attack["Muzzle Flash"], implementation.charged_attack["Muzzle Flash"] + + + Charge Time + implementation.charge_time + + + Targeting Distance + implementation.targeting_dist + + + Targeting Angle + implementation.targeting_angle + + + Bullet Rotation + implementation.attacks[0].ref["Rotation"], implementation.attacks[1].ref["Rotation"], implementation.incomplete_charged_attack["Rotation"] + + + Bullet Rotation Variance + implementation.attacks[0].ref["Rotation Variance"], implementation.attacks[1].ref["Rotation Variance"], implementation.incomplete_charged_attack["Rotation Variance"] + + + Global Modifier + implementation.global_modifier + + + + + ui/icon/inventory/icon_handgun-heavy.png + + + 516 + + + 770 + + + 1027 + + + + + Handgun + + 25 + 1000 + + item/weapon/handgun/magnus/model.dat + + Model + medium + Variant + Magnus + + + + + + Weapon/Handgun/Parts/Heavy Shot + + Bullet + + Bullet/Handgun/Magnus + + Damage + + + + 30.0 + 2 + + + 2 + + Stun + + Chance + 0.1 + Power + 30 + + + + + + + + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Weapon/Handgun/Parts/Heavy Shot + + Bullet + + Bullet/Handgun/Magnus + + Damage + + + + 30.0 + 2 + + + 2 + + Stun + + Chance + 0.1 + Power + 30 + + + + + + + + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Weapon/Handgun/Parts/Heavy Shot + + Bullet + + Bullet/Handgun/Magnus + + Damage + + + + 30.0 + 2 + + + 2 + + Stun + + Chance + 0.1 + Power + 30 + + + + + + + + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Rotation + 0.0 + Rotation Variance + 0.0 + + + + Weapon/Handgun/Parts/Heavy Charge + + Bullet + + Bullet/Handgun/Magnus (Charged) + + Damage + + + + 65.0 + 2 + true + + + 2 + + Stun + + Chance + 0.65 + Power + 45 + + + + + + + + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + + + + Weapon/Handgun/Parts/Heavy Reload + + Shells + 2 + speed + 1.0 + + + 3000 + 0.5 + 6.5 + 45.0 + 2 + 800 + + + + Weapon/Handgun/Parts/Base (Heavy Shell) (1 Shot) + + + Name + implementation.name + + + Description + implementation.description + + + Flavor + implementation.flavor + + + Icon Colorizations + implementation.icon.colorizations + + + Model + implementation.model + + + Rarity + implementation.rarity + + + Attack Values + implementation.attack_values + + + Display Speed + implementation.display_speed + + + Status Values + implementation.status_values + + + Bullet + implementation.attacks[0].ref["Bullet"], implementation.incomplete_charged_attack["Bullet"] + + + Charged Bullet + implementation.charged_attack["Bullet"] + + + Muzzle Flare + implementation.attacks[0].ref["Muzzle Flash"], implementation.incomplete_charged_attack["Muzzle Flash"], implementation.charged_attack["Muzzle Flash"] + + + Charge Time + implementation.charge_time + + + Targeting Distance + implementation.targeting_dist + + + Targeting Angle + implementation.targeting_angle + + + Bullet Rotation + implementation.attacks[0].ref["Rotation"], implementation.incomplete_charged_attack["Rotation"] + + + Bullet Rotation Variance + implementation.attacks[0].ref["Rotation Variance"], implementation.incomplete_charged_attack["Rotation Variance"] + + + Global Modifier + implementation.global_modifier + + + + + ui/icon/inventory/icon_handgun-heavy.png + + + 516 + + + 770 + + + 1027 + + + + + Handgun + + 25 + 1000 + + item/weapon/handgun/magnus/model.dat + + Model + medium + Variant + Magnus + + + + + + Weapon/Handgun/Parts/Heavy Shot + + Bullet + + Bullet/Handgun/Magnus + + Damage + + + + 30.0 + 2 + + + 2 + + Stun + + Chance + 0.1 + Power + 30 + + + + + + + + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Weapon/Handgun/Parts/Heavy Shot + + Bullet + + Bullet/Handgun/Magnus + + Damage + + + + 30.0 + 2 + + + 2 + + Stun + + Chance + 0.1 + Power + 30 + + + + + + + + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Rotation + 0.0 + Rotation Variance + 0.0 + + + + Weapon/Handgun/Parts/Heavy Charge + + Bullet + + Bullet/Handgun/Magnus (Charged) + + Damage + + + + 65.0 + 2 + true + + + 2 + + Stun + + Chance + 0.65 + Power + 45 + + + + + + + + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + + + + Weapon/Handgun/Parts/Heavy Reload + + Shells + 1 + speed + 1.0 + + + 3000 + 0.55 + 8.0 + 45.0 + 0.9 + 1 + 800 + + + + Weapon/Handgun/Parts/Base (Revolver Shell) + + + Name + implementation.name + + + Description + implementation.description + + + Flavor + implementation.flavor + + + Icon Colorizations + implementation.icon.colorizations + + + Model + implementation.model + + + Rarity + implementation.rarity + + + Attack Values + implementation.attack_values + + + Display Speed + implementation.display_speed + + + Status Values + implementation.status_values + + + Bullet + implementation.attacks[0].ref["Bullet"], implementation.attacks[1].ref["Bullet"], implementation.attacks[2].ref["Bullet"], implementation.attacks[3].ref["Bullet"], implementation.attacks[4].ref["Bullet"], implementation.attacks[5].ref["Bullet"], implementation.incomplete_charged_attack["Bullet"], implementation.charged_attack["Bullet"] + + + Charged Bullet + implementation.charged_attack["Bullet Charged"] + + + Muzzle Flare + implementation.attacks[0].ref["Muzzle Flash"], implementation.attacks[1].ref["Muzzle Flash"], implementation.attacks[2].ref["Muzzle Flash"], implementation.attacks[3].ref["Muzzle Flash"], implementation.attacks[4].ref["Muzzle Flash"], implementation.attacks[5].ref["Muzzle Flash"], implementation.incomplete_charged_attack["Muzzle Flash"], implementation.charged_attack["Muzzle Flash"] + + + Charge Time + implementation.charge_time + + + Targeting Distance + implementation.targeting_dist + + + Targeting Angle + implementation.targeting_angle + + + Bullet Rotation + implementation.attacks[0].ref["Rotation"], implementation.attacks[1].ref["Rotation"], implementation.attacks[2].ref["Rotation"], implementation.attacks[3].ref["Rotation"], implementation.attacks[4].ref["Rotation"], implementation.attacks[5].ref["Rotation"], implementation.incomplete_charged_attack["Rotation"] + + + Bullet Rotation Variance + implementation.attacks[0].ref["Rotation Variance"], implementation.attacks[1].ref["Rotation Variance"], implementation.attacks[2].ref["Rotation Variance"], implementation.attacks[3].ref["Rotation Variance"], implementation.attacks[4].ref["Rotation Variance"], implementation.attacks[5].ref["Rotation Variance"], implementation.incomplete_charged_attack["Rotation Variance"] + + + Global Modifier + implementation.global_modifier + + + + + ui/icon/inventory/icon_handgun-revolver.png + + + 516 + + + 770 + + + 1027 + + + + + Handgun + + 25 + 1000 + + item/weapon/handgun/proto/model.dat + + variant + proto + + + + + + Weapon/Handgun/Parts/Base Shot + + Bullet + + Bullet/Handgun/Proto + + Damage + + + + 12.0 + 2 + + + + + + First Shot + True + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Weapon/Handgun/Parts/Base Shot + + Bullet + + Bullet/Handgun/Proto + + Damage + + + + 12.0 + 2 + + + + + + First Shot + False + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Weapon/Handgun/Parts/Base Shot + + Bullet + + Bullet/Handgun/Blaster + + Damage + + + + 25.0 + 2 + + + + + + First Shot + False + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Weapon/Handgun/Parts/Base Shot + + Bullet + + Bullet/Handgun/Blaster + + Damage + + + + 25.0 + 2 + + + + + + First Shot + False + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Weapon/Handgun/Parts/Base Shot + + Bullet + + Bullet/Handgun/Blaster + + Damage + + + + 25.0 + 2 + + + + + + First Shot + False + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Weapon/Handgun/Parts/Base Shot + + Bullet + + Bullet/Handgun/Blaster + + Damage + + + + 25.0 + 2 + + + + + + First Shot + False + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Weapon/Handgun/Parts/Base Shot + + Bullet + + Bullet/Handgun/Blaster + + Damage + + + + 25.0 + 2 + + + + + + First Shot + False + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Rotation + 0.0 + Rotation Variance + 0.0 + + + + Weapon/Handgun/Parts/Sixshot Charge + + Bullet + + Bullet/Handgun/Blaster (Charged) + + Damage + + + + 75.0 + 2 + true + + + + + + Bullet Charged + + Bullet/Handgun/Blaster (Charged) + + Damage + + + + 75.0 + 2 + true + + + + + + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Random Variance + 0.0 + + + + Weapon/Handgun/Parts/Heavy Reload + + Shells + 6 + speed + 1.5 + + + 3000 + 0.75 + 8.0 + 30.0 + false + 0.5 + 6 + 600 + + + + Weapon/Handgun/Parts/Base (Simple) + + + Name + implementation.name + + + Description + implementation.description + + + Flavor + implementation.flavor + + + Icon Colorizations + implementation.icon.colorizations + + + Model + implementation.model + + + Rarity + implementation.rarity + + + Attack Values + implementation.attack_values + + + Display Speed + implementation.display_speed + + + Status Values + implementation.status_values + + + Bullet + implementation.attacks[0].ref["Bullet"], implementation.attacks[1].ref["Bullet"], implementation.attacks[2].ref["Bullet"], implementation.incomplete_charged_attack["Bullet"] + + + Charged Bullet + implementation.charged_attack["Bullet"] + + + Muzzle Flare + implementation.attacks[0].ref["Muzzle Flash"], implementation.attacks[1].ref["Muzzle Flash"], implementation.attacks[2].ref["Muzzle Flash"], implementation.incomplete_charged_attack["Muzzle Flash"], implementation.charged_attack["Muzzle Flash"] + + + Charge Time + implementation.charge_time + + + Targeting Distance + implementation.targeting_dist + + + Targeting Angle + implementation.targeting_angle + + + Bullet Rotation + implementation.attacks[0].ref["Rotation"], implementation.attacks[1].ref["Rotation"], implementation.attacks[2].ref["Rotation"], implementation.incomplete_charged_attack["Rotation"] + + + Bullet Rotation Variance + implementation.attacks[0].ref["Rotation Variance"], implementation.attacks[1].ref["Rotation Variance"], implementation.attacks[2].ref["Rotation Variance"], implementation.incomplete_charged_attack["Rotation Variance"] + + + Global Modifier + implementation.global_modifier + + + + + ui/icon/inventory/icon_handgun.png + + + 516 + + + 770 + + + 1027 + + + + + Handgun + + 25 + 1000 + + item/weapon/handgun/proto/model.dat + + variant + proto + + + + + + Weapon/Handgun/Parts/Base Shot + + Bullet + + Bullet/Handgun/Proto + + Damage + + + + 12.0 + 2 + + + + + + First Shot + True + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Weapon/Handgun/Parts/Base Shot + + Bullet + + Bullet/Handgun/Proto + + Damage + + + + 12.0 + 2 + + + + + + First Shot + False + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Weapon/Handgun/Parts/Base Shot + + Bullet + + Bullet/Handgun/Blaster + + Damage + + + + 25.0 + 2 + + + + + + First Shot + False + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Weapon/Handgun/Parts/Base Shot + + Bullet + + Bullet/Handgun/Blaster + + Damage + + + + 25.0 + 2 + + + + + + First Shot + False + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Rotation + 0.0 + Rotation Variance + 0.0 + + + + Weapon/Handgun/Parts/Base Charge + + Bullet + + Bullet/Handgun/Blaster (Charged) + + Damage + + + + 75.0 + 2 + true + + + + + + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + + + + Weapon/Handgun/Parts/Base Reload + + speed + 1.5 + + + 3000 + 0.75 + 6.0 + 30.0 + false + 0.55 + 3 + 500 + + + + Weapon/Handgun/Parts/Base (Simple) (Bladed) + + + Name + implementation.name + + + Description + implementation.description + + + Flavor + implementation.flavor + + + Icon Colorizations + implementation.icon.colorizations + + + Model + implementation.model + + + Rarity + implementation.rarity + + + Attack Values + implementation.attack_values + + + Display Speed + implementation.display_speed + + + Status Values + implementation.status_values + + + Bullet + implementation.attacks[0].ref["Bullet"], implementation.attacks[1].ref["Bullet"], implementation.attacks[2].ref["Bullet"] + + + Charged Bullet + implementation.charged_attack["Bullet"] + + + Muzzle Flare + implementation.attacks[0].ref["Muzzle Flash"], implementation.attacks[1].ref["Muzzle Flash"], implementation.attacks[2].ref["Muzzle Flash"], implementation.charged_attack["Muzzle Flash"] + + + Charge Time + implementation.charge_time + + + Targeting Distance + implementation.targeting_dist + + + Targeting Angle + implementation.targeting_angle + + + Bullet Rotation + implementation.attacks[0].ref["Rotation"], implementation.attacks[1].ref["Rotation"], implementation.attacks[2].ref["Rotation"] + + + Bullet Rotation Variance + implementation.attacks[0].ref["Rotation Variance"], implementation.attacks[1].ref["Rotation Variance"], implementation.attacks[2].ref["Rotation Variance"] + + + Global Modifier + implementation.global_modifier + + + Swing Damage + implementation.incomplete_charged_attack["Damage"] + + + Damage Sound + implementation.damage_effect["Sound"] + + + Swing FX + implementation.incomplete_charged_attack["Swing"] + + + Swing Sound + implementation.incomplete_charged_attack["Sound"] + + + + + ui/icon/inventory/icon_handgun.png + + + 516 + + + 770 + + + 1027 + + + + + Handgun + + 25 + 1000 + + item/weapon/handgun/proto/model.dat + + variant + proto + + + + + + Weapon/Handgun/Parts/Base Shot + + Bullet + + Bullet/Handgun/Proto + + Damage + + + + 12.0 + 2 + + + + + + First Shot + True + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Weapon/Handgun/Parts/Base Shot + + Bullet + + Bullet/Handgun/Proto + + Damage + + + + 12.0 + 2 + + + + + + First Shot + False + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Weapon/Handgun/Parts/Base Shot + + Bullet + + Bullet/Handgun/Blaster + + Damage + + + + 25.0 + 2 + + + + + + First Shot + False + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + Rotation + 0.0 + Rotation Variance + 0.0 + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Swing 2 (R-L) + + Damage + + + PC/Damage/Sword/Sword Base -05 + + 2 + + End Speed + 1.0 + Extra Action + + Fire Speed + 1.0 + Rearm + 900 + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Higher 1 + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + Weapon/Handgun/Parts/Base Charge + + Bullet + + Bullet/Handgun/Blaster (Charged) + + Damage + + + + 75.0 + 2 + true + + + + + + Muzzle Flash + + particle/fx_muzzleflare.dat + + Color + yellow + Eject Shell Casing + false + Slag + true + Smoke + true + + + + + + Weapon/Handgun/Parts/Base Reload + + speed + 1.5 + + + + Sound Effect + + Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Higher 1 + + + + + 3000 + 0.75 + 6.0 + 30.0 + false + 0.55 + 3 + 500 + + + + Weapon/Handgun/Pepperbox + + + Weapon/Handgun/Parts/Base (Auto Shell) + + Attack Values + + + 32 + + PC/Damage/Handgun/Handgun Base -20 + + + + Bullet + + Bullet/Handgun/Autogun + + Damage + + + + + PC/Damage/Handgun/Handgun Base -20 + + 2 + + + 2 + + Fire 2 + + Chance + 0.1 + Power + 50 + Status Chance + MEDIUM + Status Power + MODERATE + + + + + + + + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Autogun (Charged) + + Damage + + + + + PC/Damage/Handgun/Handgun Base -10 + + 2 + true + + + 2 + + Fire 2 + + Chance + 0.1 + Power + 50 + Status Chance + MEDIUM + Status Power + MODERATE + + + + + + + + Description + + Display Speed + 6 + Flavor + f.pepperbox + Global Modifier + + + Icon Colorizations + + + 2 + + -0.203 + -0.892 + -0.782 + + + + 3 + + -0.365 + -0.265 + -0.301 + + + + 4 + + 0.887 + -0.28 + -0.355 + + + + Model + + item/weapon/handgun/autogun/model.dat + + Variant + Pepperbox + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/handgun_autogun.ogg + Sound - Gain + 1.0 + Sound - Pitch + Default + Sound - Range + Default + Visual - Color + green + Visual - Eject Shell Casing + true + Visual - Slag + true + Visual - Smoke + true + + + Name + m.pepperbox + Rarity + 3 + Status Values + + + 4 + MODERATE + MEDIUM + + + Targeting Angle + 35.0 + Targeting Distance + 7.0 + + + + + + Weapon/Handgun/Prisma Driver + + + Weapon/Handgun/Parts/Base (Alchemer) + + Attack Values + + + ELEMENTAL + 100 + + PC/Damage/Handgun/Handgun Base + + + + Bullet + + Bullet/Handgun/Parts/Alchemical/Prismatech/Primary + + Damage + + + PC/Damage/Handgun/Handgun Base + + ELEMENTAL + 2 + + Damage (Split 1) + + + PC/Damage/Handgun/Handgun Base + + ELEMENTAL + 2 + + Damage (Split 2) + + + PC/Damage/Handgun/Handgun Base + + ELEMENTAL + 2 + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.0 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Parts/Alchemical/Prismatech/Charged MKIII + + Damage + + + PC/Damage/Handgun/Handgun Base (Charged) + + ELEMENTAL + 2 + true + + Damage (Split 1) + + + PC/Damage/Handgun/Handgun Base + + ELEMENTAL + 2 + + Damage (Split 2) + + + PC/Damage/Handgun/Handgun Base + + ELEMENTAL + 2 + + Damage (Split 3) + + + PC/Damage/Handgun/Handgun Base + + ELEMENTAL + 2 + + + + Description + + Display Speed + 4 + Flavor + f.prisma_driver + Global Modifier + + + Icon Colorizations + + + 2 + + 0.207 + -0.364 + -0.782 + + + + 3 + + -0.453 + -0.535 + -0.509 + + + + 4 + + 0.719 + -0.336 + + + + Model + + item/weapon/handgun/firotech/model_rank3.dat + + Variant + Prism + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/handgun_04.ogg + Sound - Gain + 1.0 + Sound - Pitch + Default + Sound - Range + Default + Visual - Color + silver + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + false + + + Name + m.prisma_driver + Rarity + 4 + Status Values + + + Targeting Angle + 30.0 + Targeting Distance + 4.0 + + + + + + Weapon/Handgun/Prismatech Alchemer + + + Weapon/Handgun/Parts/Base (Alchemer) + + Attack Values + + + ELEMENTAL + 40 + + PC/Damage/Handgun/Handgun Base + + + + Bullet + + Bullet/Handgun/Parts/Alchemical/Prismatech/Tirtiary + + Damage + + + PC/Damage/Handgun/Handgun Base + + ELEMENTAL + 2 + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.0 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Parts/Alchemical/Prismatech/Charged MKI + + Damage + + + PC/Damage/Handgun/Handgun Base (Charged) + + ELEMENTAL + 2 + true + + Damage (Split 1) + + + PC/Damage/Handgun/Handgun Base + + ELEMENTAL + 2 + + + + Description + + Display Speed + 4 + Flavor + f.prismatech_alchemer + Global Modifier + + + Icon Colorizations + + + 2 + + 0.207 + -0.364 + -0.782 + + + + 3 + + -0.453 + -0.535 + -0.509 + + + + 4 + + 0.719 + -0.336 + + + + Model + + item/weapon/handgun/firotech/model_rank1.dat + + Variant + Prism + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/handgun_04.ogg + Sound - Gain + 1.0 + Sound - Pitch + Default + Sound - Range + Default + Visual - Color + silver + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + false + + + Name + m.prismatech_alchemer + Rarity + 2 + Status Values + + + Targeting Angle + 30.0 + Targeting Distance + 4.0 + + + + + + Weapon/Handgun/Prismatech Alchemer Mk II + + + Weapon/Handgun/Parts/Base (Alchemer) + + Attack Values + + + ELEMENTAL + 65 + + PC/Damage/Handgun/Handgun Base + + + + Bullet + + Bullet/Handgun/Parts/Alchemical/Prismatech/Secondary + + Damage + + + PC/Damage/Handgun/Handgun Base + + ELEMENTAL + 2 + + Damage (Split 1) + + + PC/Damage/Handgun/Handgun Base + + ELEMENTAL + 2 + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.0 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Parts/Alchemical/Prismatech/Charged MKII + + Damage + + + PC/Damage/Handgun/Handgun Base (Charged) + + ELEMENTAL + 2 + true + + Damage (Split 1) + + + PC/Damage/Handgun/Handgun Base + + ELEMENTAL + 2 + + Damage (Split 2) + + + PC/Damage/Handgun/Handgun Base + + ELEMENTAL + 2 + + + + Description + + Display Speed + 4 + Flavor + f.prismatech_alchemer_mkii + Global Modifier + + + Icon Colorizations + + + 2 + + 0.207 + -0.364 + -0.782 + + + + 3 + + -0.453 + -0.535 + -0.509 + + + + 4 + + 0.719 + -0.336 + + + + Model + + item/weapon/handgun/firotech/model_rank2.dat + + Variant + Prism + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/handgun_04.ogg + Sound - Gain + 1.0 + Sound - Pitch + Default + Sound - Range + Default + Visual - Color + silver + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + false + + + Name + m.prismatech_alchemer_mkii + Rarity + 3 + Status Values + + + Targeting Angle + 30.0 + Targeting Distance + 4.0 + + + + + + Weapon/Handgun/Proto Gun + + + Weapon/Handgun/Parts/Base (Simple) + + Attack Values + + + 10 + + PC/Damage/Handgun/Handgun Base + + + + Bullet + + Bullet/Handgun/Proto + + Damage + + + PC/Damage/Handgun/Handgun Base + + 2 + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.10471976 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Proto (Charged) + + Damage + + + PC/Damage/Handgun/Handgun Base (Charged) + + 2 + true + + + + Description + + Display Speed + 5 + Flavor + f.proto_gun + Global Modifier + + + Icon Colorizations + + + 2 + + 0.224 + -0.368 + -0.72 + + + + 3 + + 0.273 + -0.244 + -0.354 + + + + 4 + + 0.404 + -0.686 + -0.138 + + + + Model + + item/weapon/handgun/proto/model.dat + + variant + proto(green) + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/handgun_01.ogg + Sound - Gain + 1.0 + Sound - Pitch + Higher 1 + Sound - Range + Shorter 1 + Visual - Color + green + Visual - Eject Shell Casing + false + Visual - Slag + false + Visual - Smoke + false + + + Name + m.proto_gun + Rarity + 0 + Status Values + + + Targeting Angle + 30.0 + Targeting Distance + 6.0 + + + + + + Weapon/Handgun/Pummel Gun + + + Weapon/Handgun/Parts/Base (Heavy Shell) (1 Shot) + + Attack Values + + + 45 + + PC/Damage/Handgun/Handgun Base +10 + + + + Bullet + + Bullet/Handgun/Punch Gun + + Damage + + + PC/Damage/Handgun/Handgun Base +10 + + 2 + true + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.017453292 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Punch Gun (Charged) + + Damage + + + PC/Damage/Handgun/Handgun Base +10 (Charged) + + 2 + true + + + + Description + + Display Speed + 3 + Flavor + f.pummel_gun + Global Modifier + + + Icon Colorizations + + + 516 + + + 771 + + + 1034 + + + Model + + item/weapon/handgun/magnus/model.dat + + Model + medium + Variant + Pummel Gun + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/magnus_fire.ogg + Sound - Gain + 1.0 + Sound - Pitch + Lower 1 + Sound - Range + Longer 1 + Visual - Color + yellow + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + true + + + Name + m.pummel_gun + Rarity + 1 + Targeting Angle + 45.0 + Targeting Distance + 6.0 + + + + + + Weapon/Handgun/Punch Gun + + + Weapon/Handgun/Parts/Base (Heavy Shell) (1 Shot) + + Attack Values + + + 20 + + PC/Damage/Handgun/Handgun Base +10 + + + + Bullet + + Bullet/Handgun/Punch Gun + + Damage + + + PC/Damage/Handgun/Handgun Base +10 + + 2 + true + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.017453292 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Punch Gun (Charged) + + Damage + + + PC/Damage/Handgun/Handgun Base +10 (Charged) + + 2 + true + + + + Description + + Display Speed + 3 + Flavor + f.punch_gun + Global Modifier + + + Icon Colorizations + + + 516 + + + 771 + + + 1034 + + + Model + + item/weapon/handgun/magnus/model.dat + + Model + medium + Variant + Punchgun + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/magnus_fire.ogg + Sound - Gain + 1.0 + Sound - Pitch + Lower 1 + Sound - Range + Longer 1 + Visual - Color + yellow + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + true + + + Name + m.punch_gun + Rarity + 0 + Status Values + + + Targeting Angle + 45.0 + Targeting Distance + 6.0 + + + + + + Weapon/Handgun/Sentenza + + + Weapon/Handgun/Parts/Base (Revolver Shell) + + Attack Values + + + PIERCING + 80 + + PC/Damage/Handgun/Handgun Base -15 + + + + SHADOW + 80 + + PC/Damage/Handgun/Handgun Base -15 + + + + Bullet + + Bullet/Handgun/Sentenza + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + PIERCING + 2 + SHADOW + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.0 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Sentenza (Charged) + + Damage + + + PC/Damage/Handgun/Handgun Base -15 (Charged) + + PIERCING + 2 + true + SHADOW + + + + Description + + Display Speed + 8 + Flavor + f.sentenza + Global Modifier + + + Icon Colorizations + + + 2 + + 0.101 + -0.296 + -0.771 + + + + 3 + + 0.689 + -0.307 + -0.354 + + + + 4 + + 0.905 + -0.853 + -0.723 + + + + Model + + item/weapon/handgun/silversix/model.dat + + Model + large + Variant + Sentenza + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/magnus_fire.ogg + Sound - Gain + 1.0 + Sound - Pitch + Default + Sound - Range + Default + Visual - Color + purple + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + true + + + Name + m.sentenza + Rarity + 5 + Status Values + + + Targeting Angle + 30.0 + Targeting Distance + 8.0 + + + + + + Weapon/Handgun/Shadow Driver + + + Weapon/Handgun/Parts/Base (Alchemer) + + Attack Values + + + SHADOW + 115 + + PC/Damage/Handgun/Handgun Base + + + + Bullet + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Primary + + Damage + + + PC/Damage/Handgun/Handgun Base + + SHADOW + 2 + + Damage (Split 1) + + + PC/Damage/Handgun/Handgun Base + + SHADOW + 2 + + Damage (Split 2) + + + PC/Damage/Handgun/Handgun Base + + SHADOW + 2 + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.0 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Charged MKIII + + Damage + + + PC/Damage/Handgun/Handgun Base (Charged) + + SHADOW + 2 + true + + Damage (Split 1) + + + PC/Damage/Handgun/Handgun Base + + SHADOW + 2 + + Damage (Split 2) + + + PC/Damage/Handgun/Handgun Base + + SHADOW + 2 + + Damage (Split 3) + + + PC/Damage/Handgun/Handgun Base + + SHADOW + 2 + + + + Description + + Display Speed + 4 + Flavor + f.shadow_driver + Global Modifier + + + Icon Colorizations + + + 2 + + -0.135 + -0.736 + -0.846 + + + + 3 + + 0.949 + -0.17 + -0.354 + + + + 4 + + 0.182 + + + + Model + + item/weapon/handgun/firotech/model_rank3.dat + + Variant + Shadow + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/handgun_04.ogg + Sound - Gain + 1.0 + Sound - Pitch + Default + Sound - Range + Default + Visual - Color + purple + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + false + + + Name + m.shadow_driver + Rarity + 4 + Status Values + + + Targeting Angle + 30.0 + Targeting Distance + 4.0 + + + + + + Weapon/Handgun/Shadowtech Alchemer + + + Weapon/Handgun/Parts/Base (Alchemer) + + Attack Values + + + SHADOW + 45 + + PC/Damage/Handgun/Handgun Base + + + + Bullet + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Tirtiary + + Damage + + + PC/Damage/Handgun/Handgun Base + + SHADOW + 2 + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.0 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Charged MKI + + Damage + + + PC/Damage/Handgun/Handgun Base (Charged) + + SHADOW + 2 + true + + Damage (Split 1) + + + PC/Damage/Handgun/Handgun Base + + SHADOW + 2 + + + + Description + + Display Speed + 4 + Flavor + f.shadowtech_alchemer + Global Modifier + + + Icon Colorizations + + + 2 + + -0.135 + -0.736 + -0.846 + + + + 3 + + 0.949 + -0.17 + -0.354 + + + + 4 + + 0.182 + + + + Model + + item/weapon/handgun/firotech/model_rank1.dat + + Variant + Shadow + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/handgun_04.ogg + Sound - Gain + 1.0 + Sound - Pitch + Default + Sound - Range + Default + Visual - Color + purple + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + false + + + Name + m.shadowtech_alchemer + Rarity + 2 + Status Values + + + Targeting Angle + 30.0 + Targeting Distance + 4.0 + + + + + + Weapon/Handgun/Shadowtech Alchemer Mk II + + + Weapon/Handgun/Parts/Base (Alchemer) + + Attack Values + + + SHADOW + 75 + + PC/Damage/Handgun/Handgun Base + + + + Bullet + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Secondary + + Damage + + + PC/Damage/Handgun/Handgun Base + + SHADOW + 2 + + Damage (Split 1) + + + PC/Damage/Handgun/Handgun Base + + SHADOW + 2 + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.0 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Charged MKII + + Damage + + + PC/Damage/Handgun/Handgun Base (Charged) + + SHADOW + 2 + true + + Damage (Split 1) + + + PC/Damage/Handgun/Handgun Base + + SHADOW + 2 + + Damage (Split 2) + + + PC/Damage/Handgun/Handgun Base + + SHADOW + 2 + + + + Description + + Display Speed + 4 + Flavor + f.shadowtech_alchemer_mkii + Global Modifier + + + Icon Colorizations + + + 2 + + -0.135 + -0.736 + -0.846 + + + + 3 + + 0.949 + -0.17 + -0.354 + + + + 4 + + 0.182 + + + + Model + + item/weapon/handgun/firotech/model_rank2.dat + + Variant + Shadow + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/handgun_04.ogg + Sound - Gain + 1.0 + Sound - Pitch + Default + Sound - Range + Default + Visual - Color + purple + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + false + + + Name + m.shadowtech_alchemer_mkii + Rarity + 3 + Status Values + + + Targeting Angle + 30.0 + Targeting Distance + 4.0 + + + + + + Weapon/Handgun/Silversix + + + Weapon/Handgun/Parts/Base (Revolver Shell) + + Attack Values + + + PIERCING + 50 + + PC/Damage/Handgun/Handgun Base -15 + + + + ELEMENTAL + 50 + + PC/Damage/Handgun/Handgun Base -15 + + + + Bullet + + Bullet/Handgun/Silversix + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + PIERCING + 2 + ELEMENTAL + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.0 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Silversix (Charged) + + Damage + + + PC/Damage/Handgun/Handgun Base -15 (Charged) + + PIERCING + 2 + true + ELEMENTAL + + + + Description + + Display Speed + 8 + Flavor + f.silversix + Global Modifier + + + Icon Colorizations + + + 2 + + 0.203 + -0.442 + -0.802 + + + + 3 + + 0.264 + -0.939 + + + + 4 + + -0.083 + -0.802 + -0.447 + + + + Model + + item/weapon/handgun/silversix/model.dat + + Model + small + Variant + Silversix + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/magnus_fire.ogg + Sound - Gain + 1.0 + Sound - Pitch + Higher 1 + Sound - Range + Default + Visual - Color + silver + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + true + + + Name + m.silversix + Rarity + 4 + Status Values + + + Targeting Angle + 30.0 + Targeting Distance + 8.0 + + + + + + Weapon/Handgun/Storm Driver + + + Weapon/Handgun/Parts/Base (Alchemer) + + Attack Values + + + ELEMENTAL + 125 + + PC/Damage/Handgun/Handgun Base -05 + + + + Bullet + + Bullet/Handgun/Parts/Alchemical/Voltech/Primary + + Damage + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Shock 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 1) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Shock 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 2) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Shock 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.0 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Parts/Alchemical/Voltech/Charged MKIV + + Damage + + + + + PC/Damage/Handgun/Handgun Base -05 (Charged) + + ELEMENTAL + 2 + true + + + 2 + + Shock 3 + + Chance + 0.5 + Power + 50 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + Damage (Split 1) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Shock 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 2) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Shock 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 3) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Shock 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + + + Description + + Display Speed + 4 + Flavor + f.storm_driver + Global Modifier + + + Icon Colorizations + + + 2 + + 0.688 + -0.7 + -0.858 + + + + 3 + + -0.037 + -0.126 + -0.483 + + + + 4 + + -0.166 + + + + Model + + item/weapon/handgun/firotech/model_rank4.dat + + Variant + Shock + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/voltech_fire.ogg + Sound - Gain + 1.0 + Sound - Pitch + Lower 1 + Sound - Range + Default + Visual - Color + cyan + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + false + + + Name + m.storm_driver + Rarity + 5 + Status Values + + + 16 + MODERATE + VERY_HIGH + + + Targeting Angle + 30.0 + Targeting Distance + 4.0 + + + + + + Weapon/Handgun/Strike Needle + + + Weapon/Handgun/Parts/Base (Auto Shell) + + Attack Values + + + PIERCING + 50 + + PC/Damage/Handgun/Handgun Base -15 + + + + Bullet + + Bullet/Handgun/Strike Needle + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + PIERCING + 2 + + + + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Strike Needle + + Damage + + + PC/Damage/Handgun/Handgun Base -20 (Charged) + + PIERCING + 2 + true + + + + Description + + Display Speed + 6 + Flavor + f.strike_needle + Global Modifier + + + Icon Colorizations + + + 2 + + -0.203 + -0.892 + -0.782 + + + + 3 + + -0.365 + -0.265 + -0.301 + + + + 4 + + 0.887 + -0.28 + -0.355 + + + + Model + + item/weapon/handgun/needler/model.dat + + Variant + Strike Needle + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/handgun_needler.ogg + Sound - Gain + 0.6 + Sound - Pitch + Default + Sound - Range + Default + Visual - Color + green + Visual - Eject Shell Casing + true + Visual - Slag + true + Visual - Smoke + true + + + Name + m.strike_needle + Rarity + 4 + Status Values + + + Targeting Angle + 35.0 + Targeting Distance + 7.0 + + + + + + Weapon/Handgun/Stun Gun + + + Weapon/Handgun/Parts/Base (Simple) + + Attack Values + + + 10 + + PC/Damage/Handgun/Handgun Base + + + + Bullet + + Bullet/Handgun/Stun Gun + + Damage + + + PC/Damage/Handgun/Handgun Base + + 2 + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.10471976 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Stun Gun (Charged) + + Damage + + + + + PC/Damage/Handgun/Handgun Base (Charged) + + 2 + true + + + 2 + + Stun + + Chance + 0.5 + Power + 40 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + + + Description + + Display Speed + 5 + Flavor + f.stun_gun + Global Modifier + + + Icon Colorizations + + + 516 + + + 778 + + + 1027 + + + Model + + item/weapon/handgun/proto/model.dat + + variant + stungun + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/handgun_01.ogg + Sound - Gain + 1.0 + Sound - Pitch + Higher 1 + Sound - Range + Shorter 1 + Visual - Color + yellow + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + false + + + Name + m.stun_gun + Rarity + 0 + Status Values + + + 1 + MODERATE + VERY_HIGH + + + Targeting Angle + 30.0 + Targeting Distance + 6.0 + + + + + + Weapon/Handgun/Super Blaster + + + Weapon/Handgun/Parts/Base (Simple) + + Attack Values + + + 75 + + PC/Damage/Handgun/Handgun Base + + + + Bullet + + Bullet/Handgun/Blaster + + Damage + + + PC/Damage/Handgun/Handgun Base + + 2 + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.08726646 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Blaster (Charged) + + Damage + + + PC/Damage/Handgun/Handgun Base (Charged) + + 2 + true + + + + Description + + Display Speed + 5 + Flavor + f.super_blaster + Global Modifier + + + Icon Colorizations + + + 2 + + 0.106 + -0.72 + + + + 3 + + 0.644 + -0.514 + 0.342 + + + + 4 + + 0.468 + -0.795 + -0.064 + + + + Model + + item/weapon/handgun/proto/model.dat + + variant + blaster(blue) + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/bomb_02.ogg + Sound - Gain + 1.0 + Sound - Pitch + Higher 5 + Sound - Range + Default + Visual - Color + cyan + Visual - Eject Shell Casing + false + Visual - Slag + false + Visual - Smoke + true + + + Name + m.super_blaster + Rarity + 3 + Status Values + + + Targeting Angle + 30.0 + Targeting Distance + 6.0 + + + + + + Weapon/Handgun/Super Stun Gun + + + Weapon/Handgun/Parts/Base (Simple) + + Attack Values + + + 20 + + PC/Damage/Handgun/Handgun Base + + + + Bullet + + Bullet/Handgun/Stun Gun + + Damage + + + PC/Damage/Handgun/Handgun Base + + 2 + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.10471976 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Stun Gun (Charged) + + Damage + + + + + PC/Damage/Handgun/Handgun Base (Charged) + + 2 + true + + + 2 + + Stun + + Chance + 0.5 + Power + 40 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + + + Description + + Display Speed + 5 + Flavor + f.super_stun_gun + Global Modifier + + + Icon Colorizations + + + 516 + + + 778 + + + 1027 + + + Model + + item/weapon/handgun/proto/model.dat + + variant + Super Stungun + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/handgun_01.ogg + Sound - Gain + 1.0 + Sound - Pitch + Higher 1 + Sound - Range + Shorter 1 + Visual - Color + yellow + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + false + + + Name + m.super_stun_gun + Rarity + 1 + Status Values + + + 1 + MODERATE + VERY_HIGH + + + Targeting Angle + 30.0 + Targeting Distance + 6.0 + + + + + + Weapon/Handgun/Umbra Driver + + + Weapon/Handgun/Parts/Base (Alchemer) + + Attack Values + + + SHADOW + 160 + + PC/Damage/Handgun/Handgun Base + + + + Bullet + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Primary + + Damage + + + PC/Damage/Handgun/Handgun Base + + SHADOW + 2 + + Damage (Split 1) + + + PC/Damage/Handgun/Handgun Base + + SHADOW + 2 + + Damage (Split 2) + + + PC/Damage/Handgun/Handgun Base + + SHADOW + 2 + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.0 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Parts/Alchemical/Shadowtech/Charged MKIV + + Damage + + + PC/Damage/Handgun/Handgun Base (Charged) + + SHADOW + 2 + true + + Damage (Split 1) + + + PC/Damage/Handgun/Handgun Base + + SHADOW + 2 + + Damage (Split 2) + + + PC/Damage/Handgun/Handgun Base + + SHADOW + 2 + + Damage (Split 3) + + + PC/Damage/Handgun/Handgun Base + + SHADOW + 2 + + + + Description + + Display Speed + 4 + Flavor + f.umbra_driver + Global Modifier + + + Icon Colorizations + + + 2 + + -0.135 + -0.736 + -0.846 + + + + 3 + + 0.949 + -0.17 + -0.354 + + + + 4 + + 0.182 + + + + Model + + item/weapon/handgun/firotech/model_rank4.dat + + Variant + Shadow + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/handgun_04.ogg + Sound - Gain + 1.0 + Sound - Pitch + Default + Sound - Range + Default + Visual - Color + purple + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + false + + + Name + m.umbra_driver + Rarity + 5 + Status Values + + + Targeting Angle + 30.0 + Targeting Distance + 4.0 + + + + + + Weapon/Handgun/Valiance + + + Weapon/Handgun/Parts/Base (Simple) + + Attack Values + + + 160 + + PC/Damage/Handgun/Handgun Base + + + + Bullet + + Bullet/Handgun/Valiance + + Damage + + + PC/Damage/Handgun/Handgun Base + + 2 + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.08726646 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Valiance (Charged) + + Damage + + + PC/Damage/Handgun/Handgun Base (Charged) + + 2 + true + + + + Description + + Display Speed + 5 + Flavor + f.valiance + Global Modifier + + + Icon Colorizations + + + 2 + + 0.106 + -0.72 + + + + 3 + + 0.644 + -0.514 + 0.342 + + + + 4 + + 0.468 + -0.795 + -0.064 + + + + Model + + item/weapon/handgun/blade/model.dat + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/bomb_02.ogg + Sound - Gain + 1.0 + Sound - Pitch + Higher 5 + Sound - Range + Default + Visual - Color + cyan + Visual - Eject Shell Casing + false + Visual - Slag + false + Visual - Smoke + true + + + Name + m.valiance + Rarity + 5 + Status Values + + + Targeting Angle + 30.0 + Targeting Distance + 6.0 + + + + + + Weapon/Handgun/Valiance (Bladed) + + + Weapon/Handgun/Parts/Base (Simple) (Bladed) + + Attack Values + + + 160 + + PC/Damage/Handgun/Handgun Base + + + + Bullet + + Bullet/Handgun/Blaster + + Damage + + + PC/Damage/Handgun/Handgun Base + + 2 + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.08726646 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Blaster (Charged) + + Damage + + + PC/Damage/Handgun/Handgun Base (Charged) + + 2 + true + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Higher 1 + + + Description + + Display Speed + 5 + Flavor + f.valiance + Global Modifier + + + Icon Colorizations + + + 2 + + 0.106 + -0.72 + + + + 3 + + 0.644 + -0.514 + 0.342 + + + + 4 + + 0.468 + -0.795 + -0.064 + + + + Model + + item/weapon/handgun/blade/model.dat + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/bomb_02.ogg + Sound - Gain + 1.0 + Sound - Pitch + Higher 5 + Sound - Range + Default + Visual - Color + cyan + Visual - Eject Shell Casing + false + Visual - Slag + false + Visual - Smoke + true + + + Name + m.valiance + Rarity + 5 + Swing Damage + + + PC/Damage/Sword/Sword Base -05 + + 2 + + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.3 + Strider Color + 0.2, 1.0, 1.0, 1.0 + Swing Color In/Out + 0.0, 0.8, 0.8, 0.0 + Swing Color Middle + 0.6, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing_narrow.png + + + Swing Sound + sound/effect/weapon/sword_01.ogg + Targeting Angle + 30.0 + Targeting Distance + 6.0 + + + + + + Weapon/Handgun/Volcanic Pepperbox + + + Weapon/Handgun/Parts/Base (Auto Shell) + + Attack Values + + + 72 + + PC/Damage/Handgun/Handgun Base -20 + + + + Bullet + + Bullet/Handgun/Volcanic Pepperbox + + Damage + + + + + PC/Damage/Handgun/Handgun Base -20 + + 2 + + + 2 + + Fire 3 + + Chance + 0.1 + Power + 40 + Status Chance + MEDIUM + Status Power + MODERATE + + + + + + + + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Volcanic Pepperbox (Charged) + + Damage + + + + + PC/Damage/Handgun/Handgun Base -10 + + 2 + true + + + 2 + + Fire 3 + + Chance + 0.1 + Power + 40 + Status Chance + MEDIUM + Status Power + MODERATE + + + + + + + + Description + + Display Speed + 6 + Flavor + f.volcanic_pepperbox + Global Modifier + + + Icon Colorizations + + + 2 + + -0.203 + -0.892 + -0.782 + + + + 3 + + -0.365 + -0.265 + -0.301 + + + + 4 + + 0.887 + -0.28 + -0.355 + + + + Model + + item/weapon/handgun/autogun/model.dat + + Variant + Volcanic Pepperbox + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/handgun_autogun.ogg + Sound - Gain + 1.0 + Sound - Pitch + Default + Sound - Range + Default + Visual - Color + red + Visual - Eject Shell Casing + true + Visual - Slag + true + Visual - Smoke + true + + + Name + m.volcanic_pepperbox + Rarity + 5 + Status Values + + + 4 + MODERATE + MEDIUM + + + Targeting Angle + 35.0 + Targeting Distance + 7.0 + + + + + + Weapon/Handgun/Volt Driver + + + Weapon/Handgun/Parts/Base (Alchemer) + + Attack Values + + + ELEMENTAL + 90 + + PC/Damage/Handgun/Handgun Base -05 + + + + Bullet + + Bullet/Handgun/Parts/Alchemical/Voltech/Primary + + Damage + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Shock 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 1) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Shock 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 2) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Shock 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.0 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Parts/Alchemical/Voltech/Charged MKIII + + Damage + + + + + PC/Damage/Handgun/Handgun Base -05 (Charged) + + ELEMENTAL + 2 + true + + + 2 + + Shock 3 + + Chance + 0.5 + Power + 50 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + Damage (Split 1) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Shock 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 2) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Shock 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 3) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Shock 3 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + + + Description + + Display Speed + 4 + Flavor + f.volt_driver + Global Modifier + + + Icon Colorizations + + + 2 + + 0.688 + -0.7 + -0.858 + + + + 3 + + -0.037 + -0.126 + -0.483 + + + + 4 + + -0.166 + + + + Model + + item/weapon/handgun/firotech/model_rank3.dat + + Variant + Shock + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/voltech_fire.ogg + Sound - Gain + 1.0 + Sound - Pitch + Lower 1 + Sound - Range + Default + Visual - Color + cyan + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + false + + + Name + m.volt_driver + Rarity + 4 + Status Values + + + 16 + MODERATE + VERY_HIGH + + + Targeting Angle + 30.0 + Targeting Distance + 4.0 + + + + + + Weapon/Handgun/Voltech Alchemer + + + Weapon/Handgun/Parts/Base (Alchemer) + + Attack Values + + + ELEMENTAL + 35 + + PC/Damage/Handgun/Handgun Base -05 + + + + Bullet + + Bullet/Handgun/Parts/Alchemical/Voltech/Tirtiary + + Damage + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Shock 2 + + Chance + 0.2 + Power + 40 + Status Chance + HIGH + Status Power + MODERATE + + + + + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.0 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Parts/Alchemical/Voltech/Charged MKI + + Damage + + + + + PC/Damage/Handgun/Handgun Base -05 (Charged) + + ELEMENTAL + 2 + true + + + 2 + + Shock 2 + + Chance + 0.5 + Power + 40 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + Damage (Split 1) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Shock 2 + + Chance + 0.2 + Power + 40 + Status Chance + HIGH + Status Power + MODERATE + + + + + + + + Description + + Display Speed + 4 + Flavor + f.voltech_alchemer + Global Modifier + + + Icon Colorizations + + + 2 + + 0.688 + -0.7 + -0.858 + + + + 3 + + -0.037 + -0.126 + -0.483 + + + + 4 + + -0.166 + + + + Model + + item/weapon/handgun/firotech/model_rank1.dat + + Variant + Shock + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/voltech_fire.ogg + Sound - Gain + 1.0 + Sound - Pitch + Higher 1 + Sound - Range + Default + Visual - Color + cyan + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + false + + + Name + m.voltech_alchemer + Rarity + 2 + Status Values + + + 16 + MODERATE + VERY_HIGH + + + Targeting Angle + 30.0 + Targeting Distance + 4.0 + + + + + + Weapon/Handgun/Voltech Alchemer Mk II + + + Weapon/Handgun/Parts/Base (Alchemer) + + Attack Values + + + ELEMENTAL + 60 + + PC/Damage/Handgun/Handgun Base -05 + + + + Bullet + + Bullet/Handgun/Parts/Alchemical/Voltech/Secondary + + Damage + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Shock 2 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 1) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Shock 2 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.0 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/Parts/Alchemical/Voltech/Charged MKII + + Damage + + + + + PC/Damage/Handgun/Handgun Base -05 (Charged) + + ELEMENTAL + 2 + true + + + 2 + + Shock 2 + + Chance + 0.5 + Power + 50 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + Damage (Split 1) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Shock 2 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Split 2) + + + + + PC/Damage/Handgun/Handgun Base -05 + + ELEMENTAL + 2 + + + 2 + + Shock 2 + + Chance + 0.2 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + + + Description + + Display Speed + 4 + Flavor + f.voltech_alchemer_mkii + Global Modifier + + + Icon Colorizations + + + 2 + + 0.688 + -0.7 + -0.858 + + + + 3 + + -0.037 + -0.126 + -0.483 + + + + 4 + + -0.166 + + + + Model + + item/weapon/handgun/firotech/model_rank2.dat + + Variant + Shock + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/voltech_fire.ogg + Sound - Gain + 1.0 + Sound - Pitch + Lower 1 + Sound - Range + Default + Visual - Color + cyan + Visual - Eject Shell Casing + false + Visual - Slag + true + Visual - Smoke + false + + + Name + m.voltech_alchemer_mkii + Rarity + 3 + Status Values + + + 16 + MODERATE + VERY_HIGH + + + Targeting Angle + 30.0 + Targeting Distance + 4.0 + + + + + + Weapon/Handgun/Zapper + + + Weapon/Handgun/Parts/Base (Simple) + + Attack Values + + + 20 + + PC/Damage/Handgun/Handgun Base + + + + Bullet + + Bullet/Handgun/FrostGun + + Damage + + + PC/Damage/Handgun/Handgun Base + + 2 + + + + Bullet Rotation + 0.0 + Bullet Rotation Variance + 0.10471976 + Charge Time + 3000 + Charged Bullet + + Bullet/Handgun/FrostGun (Charged) + + Damage + + + + + PC/Damage/Handgun/Handgun Base (Charged) + + 2 + true + + + 2 + + Shock + + Chance + 0.5 + Power + 40 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + + + Description + + Display Speed + 5 + Flavor + f.zapper + Global Modifier + + + Icon Colorizations + + + 2 + + 0.04 + -0.666 + -0.782 + + + + 3 + + 0.525 + -0.693 + -0.123 + + + + 4 + + 0.224 + -0.237 + -0.43 + + + + Model + + item/weapon/handgun/proto/model.dat + + variant + shockgun + + + Muzzle Flare + + particle/fx_muzzleflare_sound.dat + + Sound - File + sound/effect/weapon/handgun_01.ogg + Sound - Gain + 1.0 + Sound - Pitch + Lower 2 + Sound - Range + Default + Visual - Color + frost + Visual - Eject Shell Casing + false + Visual - Slag + false + Visual - Smoke + false + + + Name + m.zapper + Rarity + 1 + Status Values + + + 16 + MODERATE + VERY_HIGH + + + Targeting Angle + 30.0 + Targeting Distance + 6.0 + + + + + + Weapon/Sword/Arc Razor + + + Weapon/Sword/Parts/Base (Spur) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 105 + + PC/Damage/Sword/Sword Base -05 + + + + Chain End Speed + 1.5 + Charge Time + 2500 + Charged Attack + + Weapon/Sword/Spur (Charge) + + Damage + + + PC/Damage/Sword/Sword Base -05 (Charged) + + 2 + true + + Damage (Projectile) + + + PC/Damage/Handgun/Handgun Base -05 + + 2 + + + + Damage + + + + + PC/Damage/Sword/Sword Base -05 + + 2 + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Wind + + Pitch + Higher 1 + + + Description + + Display Speed + 6 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base -05 (Last Chain) + + 2 + true + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.arc_razor + Global Modifier + + + Icon Colorizations + + + 2 + + 0.312 + -0.769 + -0.836 + + + + 3 + + 0.226 + -0.781 + -0.49 + + + + 4 + + 0.501 + -0.318 + -0.282 + + + + Model + + item/weapon/sword/spur/model.dat + + variant + arcrazor + + + Name + m.arc_razor + Rarity + 3 + Sell Price + 350 + Sound - Pitch + Higher 2 + Start Speed + 1.75 + Status Values + + + Swing FX + + particle/swing/spur.dat + + Blend + ADDITIVE + Scale + 1.2 + Strider Color + 0.0, 1.0, 0.0, 1.0 + Swing Color In/Out + 0.36078432, 0.75686276, 0.0, 0.0 + Swing Color Middle + 0.8117647, 1.0, 0.25490198, 1.0 + + + Swing Sound 1 + sound/effect/weapon/spur_swing1.ogg + Swing Sound 2 + sound/effect/weapon/spur_swing2.ogg + Swing Sound 3 + sound/effect/weapon/spur_swing3.ogg + + + + + + Weapon/Sword/Ascended Calibur + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 240 + + PC/Damage/Sword/Sword Base + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Calibur (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base (Charged) + + 2 + true + + + + + + Damage + + + PC/Damage/Sword/Sword Base + + 2 + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Default + + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base (Last Chain) + + 2 + true + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.ascended_calibur + Global Modifier + + + Icon Colorizations + + + 2 + + 0.106 + -0.72 + + + + 3 + + 0.055 + -0.795 + -0.064 + + + + 4 + + 0.966 + -0.514 + 0.342 + + + + Model + + item/weapon/sword/calibur/model.dat + + variant + calibur(blue) + + + Name + m.ascended_calibur + Rarity + 4 + Sell Price + 850 + Sound - Pitch + Default + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.4, 0.99607843, 1.0, 1.0 + Swing Color In/Out + 0.0, 0.7921569, 0.8, 0.0 + Swing Color Middle + 0.6, 0.99607843, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Avenger + + + Weapon/Sword/Parts/Base (2 Hit Slow) + + 233+((667/Chain End Speed)*Fire Speed) + 645 + Attack Values + + + 60 + + PC/Damage/Sword/Sword Base +05 + + + + ELEMENTAL + 60 + + PC/Damage/Sword/Sword Base +05 + + + + Chain End Speed + 1.05 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Avenger (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base +05 (Charged) + + 2 + true + ELEMENTAL + + + + Damage (Bullet) + + + + + PC/Damage/Handgun/Handgun Base +05 + + 2 + ELEMENTAL + + + + + + Damage + + + + + PC/Damage/Sword/Sword Base +05 + + 2 + ELEMENTAL + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Heavy + + Pitch + Higher 3 + + + Description + + Display Speed + 2 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base +05 (Last Chain) + + 2 + true + ELEMENTAL + + + + End Speed + 1.3 + Fire Speed + 0.65 + Flavor + f.avenger + Global Modifier + + + Icon Colorizations + + + 2 + + 0.261 + -0.137 + -0.669 + + + + 3 + + -0.441 + -0.759 + -0.287 + + + + 4 + + -0.502 + -0.438 + -0.225 + + + + Model + + item/weapon/sword/avenger/model.dat + + Variant + Avenger + + + Name + m.avenger + Rarity + 4 + Sell Price + 850 + Start Speed + 1.2 + Status Values + + + Swing FX + + + particle/swing/pc_default.dat + + Blend + ADDITIVE + Color + + 1.0, 0.6, 0.0, 0.0 + 1.0, 1.0, 0.6, 1.0 + 1.0, 0.6, 0.0, 0.0 + 0.1 + 0.9 + + PC Swing# + 2 + Scale + + + 1.35 + + + 1.35 + 0.1 + + + 1.6 + + + Strider Color + + 1.0, 0.8, 0.2, 0.75 + 1.0, 0.6, 0.0, 0.0 + + + + Strider Toggle + true + Texture + particle/texture/ring_halfmoon.png + + + %ROOT% + + Swing Sound 1 + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/avenger_swing1.ogg + Pitch + Higher 2 + + + Swing Sound 2 + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/avenger_swing3.ogg + Pitch + Higher 2 + + + + + + + + Weapon/Sword/Beast Basher + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 20 + + PC/Damage/Sword/Sword Base -05 + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Beast Basher (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base -05 (Charged) + + 2 + true + + + + + + Damage + + + + + PC/Damage/Sword/Sword Base -05 + + 2 + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Higher 3 + + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base -05 (Last Chain) + + 2 + true + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.beast_basher + Global Modifier + + 0.35 + HIGH + fam_beast + + Icon Colorizations + + + 516 + + + 771 + + + 1034 + + + Model + + item/weapon/sword/pick/model.dat + + Variant + Orange + + + Name + m.beast_basher + Rarity + 0 + Sell Price + 25 + Sound - Pitch + Higher 2 + Start Speed + 1.75 + Status Values + + + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + TRANSLUCENT + Scale + 1.4 + Strider Color + 0.0, 0.0, 0.0, 0.0 + Swing Color In/Out + 0.4, 0.4, 0.4, 0.0 + Swing Color Middle + 0.78039217, 0.77254903, 0.7411765, 1.0 + Texture + particle/texture/fx_pcswing_narrow.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Big Beast Basher + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 40 + + PC/Damage/Sword/Sword Base -05 + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Beast Basher (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base -05 (Charged) + + 2 + true + + + + + + Damage + + + + + PC/Damage/Sword/Sword Base -05 + + 2 + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Higher 3 + + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base -05 (Last Chain) + + 2 + true + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.big_beast_basher + Global Modifier + + 0.35 + HIGH + fam_beast + + Icon Colorizations + + + 516 + + + 771 + + + 1034 + + + Model + + item/weapon/sword/pick/model.dat + + Variant + Red + + + Name + m.big_beast_basher + Rarity + 1 + Sell Price + 25 + Sound - Pitch + Higher 2 + Start Speed + 1.75 + Status Values + + + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + TRANSLUCENT + Scale + 1.4 + Strider Color + 0.0, 0.0, 0.0, 0.0 + Swing Color In/Out + 0.4, 0.4, 0.4, 0.0 + Swing Color Middle + 0.78039217, 0.77254903, 0.7411765, 1.0 + Texture + particle/texture/fx_pcswing_narrow.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Bolted Blade + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 40 + + PC/Damage/Sword/Sword Base + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Proto Sword (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base (Charged) + + 2 + true + + + + + + Damage + + + + + PC/Damage/Sword/Sword Base + + 2 + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Higher 3 + + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base (Last Chain) + + 2 + true + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.bolted_blade + Global Modifier + + + Icon Colorizations + + + 2 + + 0.224 + -0.368 + -0.72 + + + + 3 + + 0.129 + -0.686 + -0.138 + + + + 4 + + 0.662 + -0.244 + -0.354 + + + + Model + + item/weapon/sword/proto/model.dat + + variant + mechasword mk1 + + + Name + m.bolted_blade + Rarity + 1 + Sell Price + 25 + Sound - Pitch + Higher 2 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.59607846, 1.0, 0.4, 1.0 + Swing Color In/Out + 0.19607843, 0.8, 0.0, 0.0 + Swing Color Middle + 0.59607846, 1.0, 0.4, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Brandish + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 80 + + PC/Damage/Sword/Sword Base + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Brandish (Charge) + + Damage + + + PC/Damage/Sword/Sword Base (Charged) + + 2 + true + + + + Damage + + + + + PC/Damage/Sword/Sword Base + + 2 + + + + Damage Sound + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base (Last Chain) + + 2 + true + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.brandish + Global Modifier + + + Icon Colorizations + + + 2 + + -0.274 + -0.289 + -0.835 + + + + 3 + + 0.562 + -0.871 + -0.352 + + + + 4 + + -0.664 + -0.4 + -0.387 + + + + Model + + item/weapon/sword/calibur/model.dat + + variant + brandish + + + Name + m.brandish + Rarity + 2 + Sell Price + 350 + Sound - Pitch + Default + Start Speed + 1.75 + Status Values + + + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.6862745, 0.80784315, 0.8117647, 1.0 + Swing Color In/Out + 0.5254902, 0.42745098, 0.44705883, 0.0 + Swing Color Middle + 0.57254905, 0.7764706, 0.78039217, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Calibur + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 120 + + PC/Damage/Sword/Sword Base + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Calibur (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base (Charged) + + 2 + true + + + + + + Damage + + + PC/Damage/Sword/Sword Base + + 2 + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Default + + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base (Last Chain) + + 2 + true + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.calibur + Global Modifier + + + Icon Colorizations + + + 2 + + 0.106 + -0.72 + + + + 3 + + 0.055 + -0.795 + -0.064 + + + + 4 + + 0.966 + -0.514 + 0.342 + + + + Model + + item/weapon/sword/calibur/model.dat + + variant + calibur(grey) + + + Name + m.calibur + Rarity + 2 + Sell Price + 850 + Sound - Pitch + Default + Start Speed + 1.75 + Status Values + + + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.5764706, 0.8117647, 0.8156863, 0.75 + Swing Color In/Out + 0.5372549, 0.7176471, 0.72156864, 0.0 + Swing Color Middle + 0.7294118, 0.8117647, 0.8156863, 0.75 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Cautery Sword + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 90 + + PC/Damage/Sword/Sword Base -05 + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Cautery Sword (Charge) + + Damage + + + PC/Damage/Sword/Sword Base -05 (Charged) + + 2 + true + + + + Damage + + + + + PC/Damage/Sword/Sword Base -05 + + 2 + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Higher 2 + + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base -05 (Last Chain) + + 2 + true + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.cautery_sword + Global Modifier + + 0.75 + HIGH + fam_slime + + Icon Colorizations + + + 2 + + -0.242 + -0.344 + -0.831 + + + + 3 + + 0.0040 + -0.355 + -0.407 + + + + 4 + + 0.447 + -0.666 + -0.179 + + + + Model + + item/weapon/sword/calibur/model.dat + + variant + medicalsword + + + Name + m.cautery_sword + Rarity + 3 + Sell Price + 850 + Sound - Pitch + Default + Start Speed + 1.75 + Status Values + + + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 1.0, 0.8862745, 0.54901963, 1.0 + Swing Color In/Out + 0.4509804, 0.21568628, 0.30588236, 0.0 + Swing Color Middle + 1.0, 0.7490196, 0.49411765, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Cold Iron Carver + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 180 + + PC/Damage/Sword/Sword Base -05 + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Cold Iron Carver (Charge) + + Damage + + + PC/Damage/Sword/Sword Base -05 (Charged) + + 2 + true + + + + Damage + + + + + PC/Damage/Sword/Sword Base -05 + + 2 + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Lower 1 + + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base -05 (Last Chain) + + 2 + true + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.cold_iron_carver + Global Modifier + + 0.35 + HIGH + fam_undead + + Icon Colorizations + + + 2 + + -0.197 + -0.741 + + + + 3 + + 0.226 + -0.886 + -0.559 + + + + 4 + + 0.592 + -0.894 + -0.293 + + + + Model + + item/weapon/sword/calibur/model.dat + + variant + coldiron + + + Name + m.cold_iron_carver + Rarity + 4 + Sell Price + 850 + Sound - Pitch + Default + Start Speed + 1.75 + Status Values + + + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + TRANSLUCENT + Scale + 1.5 + Strider Color + 0.7058824, 0.84313726, 0.99607843, 1.0 + Swing Color In/Out + 0.5882353, 0.78431374, 0.90588236, 0.0 + Swing Color Middle + 0.9019608, 0.9607843, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Cold Iron Vanquisher + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 240 + + PC/Damage/Sword/Sword Base -05 + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Cold Iron Vanquisher (Charge) + + Damage + + + PC/Damage/Sword/Sword Base -05 (Charged) + + 2 + true + + + + Damage + + + + + PC/Damage/Sword/Sword Base -05 + + 2 + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Lower 2 + + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base -05 (Last Chain) + + 2 + true + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.cold_iron_vanquisher + Global Modifier + + 0.35 + HIGH + fam_undead + + Icon Colorizations + + + 2 + + -0.197 + -0.741 + + + + 3 + + 0.226 + -0.886 + -0.559 + + + + 4 + + 0.592 + -0.894 + -0.293 + + + + Model + + item/weapon/sword/calibur/model_adv.dat + + Variant + Coldiron + + + Name + m.cold_iron_vanquisher + Rarity + 5 + Sell Price + 2000 + Sound - Pitch + Lower 1 + Start Speed + 1.75 + Status Values + + + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + TRANSLUCENT + Scale + 1.5 + Strider Color + 0.7058824, 0.84313726, 0.99607843, 1.0 + Swing Color In/Out + 0.5882353, 0.78431374, 0.90588236, 0.0 + Swing Color Middle + 0.9019608, 0.9607843, 1.0, 1.0 + Texture + particle/texture/fx_pcswing_wide.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Cutter + + + Weapon/Sword/Parts/Base (5 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 828 + Attack Values + + + 60 + + PC/Damage/Sword/Sword Base -15 + + + + Chain End Speed + 1.4 + Charge Time + 2000 + Charged Attack + + Weapon/Sword/Cutter (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base -15 (Last Chain) + + 2 + + + + Damage (Projectile) + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + + + Damage + + + PC/Damage/Sword/Sword Base -15 + + 2 + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Higher 2 + + + Description + + Display Speed + 9 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base -15 (Last Chain) + + 2 + true + + + + End Speed + 2.25 + Extra Action 0 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (CutterGhost) + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + Transform + + -0.08, -0.349, 0.783 + 0.0, 0.25881904, 0.0, 0.9659258 + + + + Delay + 125 + + + Extra Action 1 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (CutterGhost) + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + Transform + + -0.108, -0.445, 0.685 + -9.735319E-7, 0.99736917, -9.735319E-7, -0.0724897 + + + + Delay + 125 + + + Extra Action 3 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (CutterGhost) + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + Transform + + 0.08, -0.348, 0.9 + -1.1144724E-6, 0.9659258, -1.1144724E-6, -0.25881904 + + + + Delay + 125 + + + Extra Action 4 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (CutterGhost) + + Damage + + + PC/Damage/Handgun/Handgun Base -15 (Charged) + + 2 + + Transform + + -0.108, -0.345, 0.81 + -0.0053793928, -0.98259366, 0.07997969, 0.16758278 + + + + Delay + 125 + + + Extra Action2 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (CutterGhost) + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + Transform + + -0.08, -0.348, 0.8 + 0.0, -0.21643959, 0.0, 0.976296 + + + + Delay + 125 + + + Fire Speed + 1.25 + Flavor + f.cutter + Global Modifier + + + Icon Colorizations + + + 2 + + -0.32 + -0.827 + + + + 3 + + 0.597 + -0.359 + -0.273 + + + + 4 + + 0.924 + -0.703 + -0.632 + + + + Model + + item/weapon/sword/cutter/model.dat + + variant + cutter + + + Name + m.cutter + Rarity + 2 + Sell Price + 350 + Sound - Pitch, Swings + Default + Start Speed + 2.0 + Status Values + + + Swing FX + + particle/swing/pc_cutter_simple.dat + + Blend + ADDITIVE + Flare + false + Shadow + false + Strider Arc + false + Strider Color + 0.22745098, 0.4627451, 0.8117647, 1.0 + Swing Color In/Out + 0.0, 0.16862746, 0.32941177, 0.0 + Swing Color Middle + 0.16078432, 0.30588236, 0.47058824, 1.0 + Texture + particle/texture/fx_pcswing.png + Thin Cut + true + Trail Swipe + true + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Divine Avenger + + + Weapon/Sword/Parts/Base (2 Hit Slow) + + 233+((667/Chain End Speed)*Fire Speed) + 645 + Attack Values + + + 120 + + PC/Damage/Sword/Sword Base +05 + + + + ELEMENTAL + 120 + + PC/Damage/Sword/Sword Base +05 + + + + Chain End Speed + 1.05 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Divine Avenger (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base +05 (Charged) + + 2 + true + ELEMENTAL + + + + Damage (Bolt) + + Bullet/Sword/Avenger + + Damage + + + + + PC/Damage/Handgun/Handgun Base +05 + + 2 + true + ELEMENTAL + + + + + + + + Damage + + + + + PC/Damage/Sword/Sword Base +05 + + 2 + ELEMENTAL + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Heavy + + Pitch + Higher 2 + + + Description + + Display Speed + 2 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base +05 (Last Chain) + + 2 + true + ELEMENTAL + + + + End Speed + 1.3 + Fire Speed + 0.65 + Flavor + f.divine_avenger + Global Modifier + + + Icon Colorizations + + + 2 + + -0.196 + -0.137 + -0.669 + + + + 3 + + -0.441 + -0.759 + + + + 4 + + -0.502 + -0.438 + + + + Model + + item/weapon/sword/avenger/model.dat + + Variant + Divine Avenger + + + Name + m.divine_avenger + Rarity + 5 + Sell Price + 2000 + Start Speed + 1.2 + Status Values + + + Swing FX + + + particle/swing/pc_default.dat + + Blend + ADDITIVE + Color + + 1.0, 0.6, 0.0, 0.0 + 1.0, 1.0, 0.6, 1.0 + 1.0, 0.6, 0.0, 0.0 + 0.1 + 0.9 + + PC Swing# + 2 + Scale + + + 1.35 + + + 1.35 + 0.1 + + + 1.6 + + + Strider Color + + 1.0, 0.8, 0.2, 0.75 + 1.0, 0.6, 0.0, 0.0 + + + + Strider Toggle + true + Texture + particle/texture/ring_halfmoon.png + + + %ROOT% + + Swing Sound 1 + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/avenger_swing1.ogg + Pitch + Default + + + Swing Sound 2 + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/avenger_swing3.ogg + Pitch + Default + + + + + + + + Weapon/Sword/Dread Venom Striker + + + Weapon/Sword/Parts/Base (5 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 828 + Attack Values + + + 200 + + PC/Damage/Sword/Sword Base -15 + + + + Chain End Speed + 1.4 + Charge Time + 2000 + Charged Attack + + Weapon/Sword/Dread Venom Striker (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base -15 (Last Chain) + + 2 + + + 2 + + Poison 3 + + Chance + 0.2 + Power + 70 + Status Chance + LOW + Status Power + STRONG + + + + + + Damage (Projectile) + + + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + + 2 + + Poison 3 + + Chance + 0.2 + Power + 70 + Status Chance + LOW + Status Power + STRONG + + + + + + + + Damage + + + + + PC/Damage/Sword/Sword Base -15 + + 2 + + + 2 + + Poison 3 + + Chance + 0.05 + Power + 70 + Status Chance + LOW + Status Power + STRONG + + + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Lower 1 + + + Description + + Display Speed + 9 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base -15 (Last Chain) + + 2 + true + + + 2 + + Poison 3 + + Chance + 0.1 + Power + 70 + Status Chance + LOW + Status Power + STRONG + + + + + + End Speed + 2.25 + Extra Action 0 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (DreadvenomstrikerGhost) + + Damage + + + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + + 2 + + Poison 3 + + Chance + 0.05 + Power + 70 + Status Chance + LOW + Status Power + STRONG + + + + + + Transform + + -0.08, -0.349, 0.783 + 0.0, 0.25881904, 0.0, 0.9659258 + + + + Delay + 125 + + + Extra Action 1 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (DreadvenomstrikerGhost) + + Damage + + + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + + 2 + + Poison 3 + + Chance + 0.05 + Power + 70 + Status Chance + LOW + Status Power + STRONG + + + + + + Transform + + -0.108, -0.445, 0.685 + -9.735319E-7, 0.99736917, -9.735319E-7, -0.0724897 + + + + Delay + 125 + + + Extra Action 3 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (DreadvenomstrikerGhost) + + Damage + + + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + + 2 + + Poison 3 + + Chance + 0.05 + Power + 70 + Status Chance + LOW + Status Power + STRONG + + + + + + Transform + + 0.08, -0.348, 0.9 + -1.1144724E-6, 0.9659258, -1.1144724E-6, -0.25881904 + + + + Delay + 125 + + + Extra Action 4 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (DreadvenomstrikerGhost) + + Damage + + + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + + 2 + + Poison 3 + + Chance + 0.1 + Power + 70 + Status Chance + LOW + Status Power + STRONG + + + + + + Transform + + -0.108, -0.345, 0.81 + -0.0053793928, -0.98259366, 0.07997969, 0.16758278 + + + + Delay + 125 + + + Extra Action2 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (DreadvenomstrikerGhost) + + Damage + + + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + + 2 + + Poison 3 + + Chance + 0.05 + Power + 70 + Status Chance + LOW + Status Power + STRONG + + + + + + Transform + + -0.08, -0.348, 0.8 + 0.0, -0.21643959, 0.0, 0.976296 + + + + Delay + 125 + + + Fire Speed + 1.25 + Flavor + f.dread_venom_striker + Global Modifier + + + Icon Colorizations + + + 2 + + -0.352 + -0.801 + + + + 3 + + 0.346 + -0.312 + -0.325 + + + + 4 + + 0.873 + -0.361 + -0.653 + + + + Model + + item/weapon/sword/cutter/model.dat + + variant + poison + + + Name + m.dread_venom_striker + Rarity + 5 + Sell Price + 2000 + Sound - Pitch, Swings + Default + Start Speed + 2.0 + Status Values + + + 2 + STRONG + + + Swing FX + + particle/swing/pc_cutter_simple.dat + + Blend + ADDITIVE + Flare + false + Shadow + false + Strider Arc + false + Strider Color + 0.0, 0.6, 0.0, 1.0 + Swing Color In/Out + 0.0, 0.2, 0.2, 0.0 + Swing Color Middle + 0.0, 0.4, 0.2, 1.0 + Texture + particle/texture/fx_pcswing.png + Thin Cut + true + Trail Swipe + true + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Fang of Vog + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 720 + Attack Values + + + 120 + + PC/Damage/Sword/Sword Base -05 + + + + ELEMENTAL + 120 + + PC/Damage/Sword/Sword Base -05 + + + + Chain End Speed + 1.2 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Fang of Vog (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base -05 (Charged) + + 2 + true + ELEMENTAL + + + 2 + + Fire 3 + + Chance + 0.5 + Power + 75 + Status Chance + VERY_HIGH + Status Power + STRONG + + + + + + + + Damage + + + + + PC/Damage/Sword/Sword Base -05 + + 2 + ELEMENTAL + + + 2 + + Fire 3 + + Chance + 0.2 + Power + 40 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Heavy + + Pitch + Higher 2 + + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base -05 (Last Chain) + + 2 + true + ELEMENTAL + + + 2 + + Fire 3 + + Chance + 0.25 + Power + 32 + Status Chance + HIGH + Status Power + MODERATE + + + + + + End Speed + 1.5 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 0.9 + Flavor + f.fang_of_vog + Global Modifier + + + Icon Colorizations + + + 2 + + 0.0070 + -0.801 + + + + 3 + + 0.096 + + + + 4 + + 0.351 + -0.814 + -0.653 + + + + Model + + item/weapon/sword/cutter/model.dat + + variant + fangofvog + + + Name + m.fang_of_vog + Rarity + 5 + Sell Price + 2000 + Sound - Pitch + Lower 1 + Start Speed + 1.25 + Status Values + + + 4 + STRONG + VERY_HIGH + + + 4 + false + STRONG + VERY_HIGH + + + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 1.0, 0.4, 0.0, 1.0 + Swing Color In/Out + 1.0, 0.4, 0.0, 0.0 + Swing Color Middle + 1.0, 0.8, 0.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Faust + + + Weapon/Sword/Parts/Base (2 Hit Slow) + + 233+((667/Chain End Speed)*Fire Speed) + 645 + Attack Values + + + 70 + + PC/Damage/Sword/Sword Base +10 + + + + SHADOW + 70 + + PC/Damage/Sword/Sword Base +10 + + + + Chain End Speed + 1.05 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Faust (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base +05 (Charged) + + 2 + true + SHADOW + + + 2 + + Curse 3 + + Chance + 0.3 + Power + 50 + Status Chance + HIGH + Status Power + STRONG + + + + + + Damage (Bolt) + + + + + PC/Damage/Handgun/Handgun Base +05 + + 2 + SHADOW + + + 2 + + Curse 3 + + Chance + 0.3 + Power + 50 + Status Chance + HIGH + Status Power + STRONG + + + + + + + + Damage + + + + + PC/Damage/Sword/Sword Base +05 + + 2 + SHADOW + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Heavy + + Pitch + Higher 3 + + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base +05 (Last Chain) + + 2 + true + SHADOW + + + 2 + + Curse 3 + + Chance + 0.15 + Power + 50 + Status Chance + MEDIUM + Status Power + STRONG + + + + + + End Speed + 1.3 + Fire Speed + 0.65 + Flavor + f.faust + Global Modifier + + + Icon Colorizations + + + 2 + + 0.105 + -0.137 + -0.751 + + + + 3 + + -0.07 + -0.596 + -0.319 + + + + 4 + + -0.927 + -0.573 + -0.679 + + + + Model + + item/weapon/sword/avenger/model.dat + + Variant + Faust + + + Name + m.faust + Rarity + 4 + Sell Price + 850 + Start Speed + 1.2 + Status Values + + + 32 + STRONG + HIGH + + + 32 + false + STRONG + HIGH + + + Swing FX + + + particle/swing/pc_default.dat + + Blend + ADDITIVE + Color + + 0.4117647, 0.0, 1.0, 0.0 + 1.0, 0.0, 0.0, 1.0 + 0.4117647, 0.0, 1.0, 0.0 + 0.1 + 0.9 + + PC Swing# + 2 + Scale + + + 1.35 + + + 1.35 + 0.1 + + + 1.6 + + + Strider Color + + 1.0, 0.2, 0.72156864, 0.75 + 0.4117647, 0.0, 1.0, 0.0 + + + + Strider Toggle + true + Texture + particle/texture/ring_halfmoon.png + + + %ROOT% + + Swing Sound 1 + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/gran_faust_swing1.ogg + Pitch + Higher 1 + + + Swing Sound 2 + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/gran_faust_swing3.ogg + Pitch + Higher 1 + + + + + + + + Weapon/Sword/Fireburst Brandish + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 120 + + PC/Damage/Sword/Sword Base + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Burst Brandish (Charge) + + Burst Color + 1.0, 0.4, 0.0, 1.0 + Burst Damage + + + + + PC/Damage/Sword/Sword Base -10 (Charged) + + 2 + + + 2 + + Fire 2 + + Chance + 0.5 + Power + 60 + Status Chance + VERY_HIGH + Status Power + STRONG + + + + + + Damage + + + + + PC/Damage/Sword/Sword Base (Charged) + + 2 + true + + + 2 + + Fire 2 + + Chance + 0.5 + Power + 60 + Status Chance + VERY_HIGH + Status Power + STRONG + + + + + + Style + Cautery Sword + + + Damage + + + + + PC/Damage/Sword/Sword Base + + 2 + + + + Damage Sound + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base (Last Chain) + + 2 + true + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.fireburst_brandish + Global Modifier + + + Icon Colorizations + + + 2 + + -0.274 + -0.289 + -0.835 + + + + 3 + + 0.562 + -0.871 + -0.352 + + + + 4 + + -0.664 + -0.4 + -0.387 + + + + Model + + item/weapon/sword/longedge/model.dat + + Variant + FireBurst + + + Name + m.fireburst_brandish + Rarity + 3 + Sell Price + 350 + Sound - Pitch + Higher 2 + Start Speed + 1.75 + Status Values + + + 4 + STRONG + VERY_HIGH + + + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 1.0, 0.2, 0.0, 1.0 + Swing Color In/Out + 1.0, 0.2, 0.0, 0.0 + Swing Color Middle + 1.0, 0.6, 0.0, 1.0 + Texture + particle/texture/flare_fourpoint.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Frozen Flourish + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 120 + + PC/Damage/Sword/Sword Base + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Burst Flourish (Charge) + + Burst Color + 0.6, 0.8, 1.0, 1.0 + Burst Damage + + + + + PC/Damage/Sword/Sword Base -10 (Charged) + + 2 + + + 2 + + Freeze 3 + + Chance + 0.5 + Power + 60 + Status Chance + VERY_HIGH + Status Power + STRONG + + + + + + Damage + + + + + PC/Damage/Sword/Sword Base (Charged) + + 2 + true + + + 2 + + Freeze 3 + + Chance + 0.5 + Power + 60 + Status Chance + VERY_HIGH + Status Power + STRONG + + + + + + Style + Frost + + + Damage + + + + + PC/Damage/Sword/Sword Base + + 2 + + + + Damage Sound + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base (Last Chain) + + 2 + true + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.iceburst_brandish + Global Modifier + + + Icon Colorizations + + + 2 + + -0.274 + -0.289 + -0.835 + + + + 3 + + 0.562 + -0.871 + -0.352 + + + + 4 + + -0.664 + -0.4 + -0.387 + + + + Model + + item/weapon/sword/longedge/model.dat + + Variant + IceBurst + + + Name + m.iceburst_brandish + Rarity + 4 + Sell Price + 350 + Sound - Pitch + Higher 2 + Start Speed + 1.75 + Status Values + + + 8 + STRONG + VERY_HIGH + + + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.6862745, 0.80784315, 0.8117647, 1.0 + Swing Color In/Out + 0.2, 0.8, 1.0, 0.0 + Swing Color Middle + 0.57254905, 0.7764706, 0.78039217, 1.0 + Texture + particle/texture/flare_fourpoint.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Gram + + + Weapon/Sword/Parts/Base (2 Hit Slow) + + 233+((667/Chain End Speed)*Fire Speed) + 599 + Attack Values + + + 280 + + PC/Damage/Sword/Sword Base +15 + + + + Chain End Speed + 1.0 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Gram (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base +15 (Charged) + + 2 + true + + + 2 + + Stun 3 + + Chance + 0.3 + Power + 60 + Status Chance + HIGH + Status Power + STRONG + + + + + 2 + + Shock 3 + + Chance + 0.3 + Power + 60 + Status Chance + HIGH + Status Power + STRONG + + + + + + Damage (Spires) + + + PC/Damage/Sword/Sword Base +05 (Charged) + + 2 + true + + + + Damage + + + PC/Damage/Sword/Sword Base +15 + + 2 + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Heavy + + Pitch + Lower 1 + + + Description + + Display Speed + 2 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base +15 (Last Chain) + + 2 + true + + + + End Speed + 1.2 + Fire Speed + 0.55 + Flavor + f.gram + Global Modifier + + -0.2 + HIGH + false + + Icon Colorizations + + + 2 + + 0.09 + 0.502 + -0.735 + + + + 3 + + 0.526 + -0.958 + -0.696 + + + + 4 + + 0.392 + -0.602 + -0.485 + + + + Model + + item/weapon/sword/troika/model_broken.dat + + Name + m.gram + Rarity + 5 + Sell Price + 850 + Start Speed + 1.0 + Status Values + + + 1 + STRONG + HIGH + + + 16 + STRONG + HIGH + + + Swing FX + + + particle/swing/pc_default.dat + + Blend + ADDITIVE + Color + + 0.7137255, 1.0, 0.9647059, 0.0 + 0.84313726, 0.95686275, 1.0, 1.0 + 0.0, 0.74509805, 0.7372549, 0.0 + 0.1 + 0.9 + + PC Swing# + 2 + Scale + + + 1.5 + + + 2.2 + 0.1 + + + 2.5 + + + Strider Color + + 0.0, 0.8, 0.6, 0.75 + 0.0, 0.4, 0.4, 0.0 + + + + Strider Toggle + true + Texture + particle/texture/lightningstrike.png + + + %ROOT% + + Swing Sound 1 + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/staticedge_swing_1.ogg + Pitch + Lower 3 + + + Swing Sound 2 + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/staticedge_swing_3.ogg + Pitch + Lower 3 + + + + + + + + Weapon/Sword/Gran Faust + + + Weapon/Sword/Parts/Base (2 Hit Slow) + + 233+((667/Chain End Speed)*Fire Speed) + 645 + Attack Values + + + 135 + + PC/Damage/Sword/Sword Base +05 + + + + SHADOW + 135 + + PC/Damage/Sword/Sword Base +05 + + + + Chain End Speed + 1.05 + Charge Time + 5000 + Charged Attack + + Weapon/Sword/Gran Faust (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base +05 (Charged) + + 2 + true + SHADOW + + + 2 + + Curse 3 + + Chance + 0.3 + Power + 60 + Status Chance + HIGH + Status Power + STRONG + + + + + + Damage (Bolt) + + + + + PC/Damage/Handgun/Handgun Base +05 + + 2 + true + SHADOW + + + 2 + + Curse 3 + + Chance + 0.3 + Power + 60 + Status Chance + HIGH + Status Power + STRONG + + + + + + + + Damage + + + + + PC/Damage/Sword/Sword Base +05 + + 2 + SHADOW + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Heavy + + Pitch + Higher 1 + + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base +05 (Last Chain) + + 2 + true + SHADOW + + + 2 + + Curse 3 + + Chance + 0.15 + Power + 60 + Status Chance + MEDIUM + Status Power + STRONG + + + + + + End Speed + 1.3 + Fire Speed + 0.65 + Flavor + f.gran_faust + Global Modifier + + + Icon Colorizations + + + 2 + + -0.07 + -0.357 + -0.835 + + + + 3 + + -0.127 + + + + 4 + + -0.779 + -0.683 + -0.637 + + + + Model + + item/weapon/sword/avenger/model.dat + + Variant + Gran Faust + + + Name + m.gran_faust + Rarity + 5 + Sell Price + 2000 + Start Speed + 1.2 + Status Values + + + 32 + STRONG + HIGH + + + 32 + false + STRONG + HIGH + + + Swing FX + + + particle/swing/pc_default.dat + + Blend + ADDITIVE + Color + + 0.4117647, 0.0, 1.0, 0.0 + 1.0, 0.0, 0.0, 1.0 + 0.4117647, 0.0, 1.0, 0.0 + 0.1 + 0.9 + + PC Swing# + 2 + Scale + + + 1.35 + + + 1.35 + 0.1 + + + 1.6 + + + Strider Color + + 1.0, 0.2, 0.72156864, 0.75 + 0.4117647, 0.0, 1.0, 0.0 + + + + Strider Toggle + true + Texture + particle/texture/ring_halfmoon.png + + + %ROOT% + + Swing Sound 1 + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/gran_faust_swing1.ogg + Pitch + Lower 1 + + + Swing Sound 2 + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/gran_faust_swing3.ogg + Pitch + Lower 1 + + + + + + + + Weapon/Sword/Hatchet + + + Weapon/Sword/Parts/Base (2 Hit Slow) + + 233+((667/Chain End Speed)*Fire Speed) + 633 + Attack Values + + + 30 + + PC/Damage/Sword/Sword Base +10 + + + + Chain End Speed + 1.0 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Hatchet (Charge) + + Damage + + + PC/Damage/Sword/Sword Base +10 (Charged) + + 2 + true + + + + Damage + + + PC/Damage/Sword/Sword Base +10 + + 2 + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Heavy + + Pitch + Default + + + Description + + Display Speed + 2 + End Combo Damage + + + PC/Damage/Sword/Sword Base +10 (Last Chain) + + 2 + true + + End Speed + 1.25 + Fire Speed + 0.6 + Flavor + f.hatchet + Global Modifier + + + Icon Colorizations + + + 516 + + + 771 + + + 1034 + + + Model + + item/weapon/sword/hatchet/model.dat + + Variant + Orange + + + Name + m.hatchet + Rarity + 0 + Sell Price + 350 + Start Speed + 1.1 + Status Values + + + Swing FX + + + particle/swing/pc_default.dat + + Blend + TRANSLUCENT + Color + + 0.79607844, 0.76862746, 0.73333335, 0.0 + 0.8784314, 0.8745098, 0.8745098, 1.0 + 0.7764706, 0.7372549, 0.7058824, 0.0 + 0.1 + 0.9 + + PC Swing# + 2 + Scale + + + 1.5 + + + 1.5 + 0.1 + + + 2.0 + + + Strider Color + + 0.7058824, 0.6745098, 0.6509804, 0.75 + 0.24313726, 0.21176471, 0.1882353, 0.0 + + + + Strider Toggle + true + Texture + particle/texture/fx_gremlinswing.png + + + %ROOT% + + Swing Sound 1 + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_02.ogg + Pitch + Lower 2 + + + Swing Sound 2 + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_03.ogg + Pitch + Lower 3 + + + + + + + + Weapon/Sword/Heavy Hatchet + + + Weapon/Sword/Parts/Base (2 Hit Slow) + + 233+((667/Chain End Speed)*Fire Speed) + 633 + Attack Values + + + 60 + + PC/Damage/Sword/Sword Base +10 + + + + Chain End Speed + 1.0 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Hatchet (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base +10 (Charged) + + 2 + true + + + 2 + + Stun + + Chance + 0.3 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + + + Damage + + + PC/Damage/Sword/Sword Base +10 + + 2 + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Heavy + + Pitch + Default + + + Description + + Display Speed + 2 + End Combo Damage + + + PC/Damage/Sword/Sword Base +10 (Last Chain) + + 2 + true + + End Speed + 1.25 + Fire Speed + 0.6 + Flavor + f.heavy_hatchet + Global Modifier + + + Icon Colorizations + + + 516 + + + 771 + + + 1034 + + + Model + + item/weapon/sword/hatchet/model.dat + + Variant + Red + + + Name + m.heavy_hatchet + Rarity + 1 + Sell Price + 350 + Start Speed + 1.1 + Status Values + + + 1 + MODERATE + HIGH + + + Swing FX + + + particle/swing/pc_default.dat + + Blend + TRANSLUCENT + Color + + 0.79607844, 0.76862746, 0.73333335, 0.0 + 0.8784314, 0.8745098, 0.8745098, 1.0 + 0.7764706, 0.7372549, 0.7058824, 0.0 + 0.1 + 0.9 + + PC Swing# + 2 + Scale + + + 1.5 + + + 1.5 + 0.1 + + + 2.0 + + + Strider Color + + 0.7058824, 0.6745098, 0.6509804, 0.75 + 0.24313726, 0.21176471, 0.1882353, 0.0 + + + + Strider Toggle + true + Texture + particle/texture/fx_gremlinswing.png + + + %ROOT% + + Swing Sound 1 + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_02.ogg + Pitch + Lower 2 + + + Swing Sound 2 + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_03.ogg + Pitch + Lower 3 + + + + + + + + Weapon/Sword/Hot Edge + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 20 + + PC/Damage/Sword/Sword Base -05 + + + + ELEMENTAL + 20 + + PC/Damage/Sword/Sword Base -05 + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Cautery Sword (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base -05 (Charged) + + 2 + true + ELEMENTAL + + + 2 + + Fire + + Chance + 0.4 + Power + 50 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + + + Damage + + + + + PC/Damage/Sword/Sword Base -05 + + 2 + ELEMENTAL + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Higher 2 + + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base -05 (Last Chain) + + 2 + true + ELEMENTAL + + + 2 + + Fire + + Chance + 0.2 + Power + 25 + Status Chance + HIGH + Status Power + MINOR + + + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.hot_edge + Global Modifier + + + Icon Colorizations + + + 2 + + 0.688 + -0.7 + -0.858 + + + + 3 + + 0.515 + + + + 4 + + 0.293 + 0.126 + 0.483 + + + + Model + + item/weapon/npc/mechaknight/model_sword.dat + + Color + Fire + variant + mechasword mk2 + + + Name + m.hot_edge + Rarity + 1 + Sell Price + 75 + Sound - Pitch + Lower 3 + Start Speed + 1.75 + Status Values + + + 4 + VERY_HIGH + + + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 1.0, 0.2, 0.0, 1.0 + Swing Color In/Out + 1.0, 0.2, 0.0, 0.0 + Swing Color Middle + 1.0, 0.6, 0.0, 1.0 + Texture + particle/texture/fire_curl.png + + + Swing Sound 1 + sound/effect/weapon/staticedge_swing_1.ogg + Swing Sound 2 + sound/effect/weapon/staticedge_swing_2.ogg + Swing Sound 3 + sound/effect/weapon/staticedge_swing_3.ogg + + + + + + Weapon/Sword/Hunting Blade + + + Weapon/Sword/Parts/Base (5 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 797 + Attack Values + + + 120 + + PC/Damage/Sword/Sword Base -15 + + + + Chain End Speed + 1.3 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Hunting Blade (Charge) + + Damage + + + PC/Damage/Sword/Sword Base -15 (Last Chain) + + 2 + + Damage (Projectile) + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + + + Damage + + + PC/Damage/Sword/Sword Base -15 + + 2 + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Higher 1 + + + Description + + Display Speed + 9 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base -15 (Last Chain) + + 2 + true + + + + End Speed + 2.15 + Extra Action 0 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (Huntingblade) + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + Transform + + -0.08, 0.349, 0.783 + + + + Delay + 125 + + + Extra Action 1 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (Huntingblade) + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + Transform + + -0.108, -0.445, 0.685 + + + + Delay + 125 + + + Extra Action 3 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (Huntingblade) + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + Transform + + 0.08, -0.348, 0.9 + + + + Delay + 125 + + + Extra Action 4 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (Huntingblade) + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + Transform + + -0.108, -0.345, 0.81 + -0.0053793928, -0.98259366, 0.07997969, 0.16758278 + + + + Delay + 125 + + + Extra Action2 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (Huntingblade) + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + Transform + + -0.08, -0.348, 0.8 + 0.0, -0.21643959, 0.0, 0.976296 + + + + Delay + 125 + + + Fire Speed + 1.1 + Flavor + f.hunting_blade + Global Modifier + + 0.35 + HIGH + fam_beast + + Icon Colorizations + + + 2 + + 0.0070 + -0.641 + -0.801 + + + + 3 + + 0.134 + -0.278 + -0.154 + + + + 4 + + 0.351 + -0.814 + -0.458 + + + + Model + + item/weapon/sword/cutter/model.dat + + variant + huntercutter + + + Name + m.hunting_blade + Rarity + 4 + Sell Price + 850 + Sound - Pitch, Swings + Default + Start Speed + 1.85 + Status Values + + + Swing FX + + particle/swing/pc_cutter_simple.dat + + Blend + ADDITIVE + Flare + false + Shadow + false + Strider Arc + false + Strider Color + 0.8117647, 0.60784316, 0.22745098, 1.0 + Swing Color In/Out + 0.32941177, 0.3019608, 0.0, 0.0 + Swing Color Middle + 0.47058824, 0.46666667, 0.16078432, 1.0 + Texture + particle/texture/fx_pcswing.png + Thin Cut + true + Trail Swipe + true + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Iceburst Brandish + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 120 + + PC/Damage/Sword/Sword Base + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Burst Brandish (Charge) + + Burst Color + 0.6, 0.8, 1.0, 1.0 + Burst Damage + + + + + PC/Damage/Sword/Sword Base -10 (Charged) + + 2 + + + 2 + + Freeze 2 + + Chance + 0.5 + Power + 60 + Status Chance + VERY_HIGH + Status Power + STRONG + + + + + + Damage + + + + + PC/Damage/Sword/Sword Base (Charged) + + 2 + true + + + 2 + + Freeze 2 + + Chance + 0.5 + Power + 60 + Status Chance + VERY_HIGH + Status Power + STRONG + + + + + + Style + Frost + + + Damage + + + + + PC/Damage/Sword/Sword Base + + 2 + + + + Damage Sound + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base (Last Chain) + + 2 + true + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.iceburst_brandish + Global Modifier + + + Icon Colorizations + + + 2 + + -0.274 + -0.289 + -0.835 + + + + 3 + + 0.562 + -0.871 + -0.352 + + + + 4 + + -0.664 + -0.4 + -0.387 + + + + Model + + item/weapon/sword/longedge/model.dat + + Variant + IceBurst + + + Name + m.iceburst_brandish + Rarity + 3 + Sell Price + 350 + Sound - Pitch + Higher 2 + Start Speed + 1.75 + Status Values + + + 8 + STRONG + VERY_HIGH + + + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.6862745, 0.80784315, 0.8117647, 1.0 + Swing Color In/Out + 0.2, 0.8, 1.0, 0.0 + Swing Color Middle + 0.57254905, 0.7764706, 0.78039217, 1.0 + Texture + particle/texture/flare_fourpoint.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Ideal Sword 0 + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 25 + + PC/Damage/Sword/Sword Base + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Proto Sword (Charge) + + Damage + + + PC/Damage/Sword/Sword Base (Charged) + + + + + Damage + + + PC/Damage/Sword/Sword Base + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Higher 3 + + + Description + + Display Speed + 5 + End Combo Damage + + + PC/Damage/Sword/Sword Base (Last Chain) + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.ideal_sword + Global Modifier + + + Icon Colorizations + + + 2 + + 0.34 + -0.368 + -0.12 + + + + 3 + + 0.129 + -0.686 + -0.138 + + + + 4 + + 0.662 + -0.244 + -0.354 + + + + Model + + item/weapon/sword/proto/model.dat + + variant + proto(green) + + + Name + m.ideal_sword + Rarity + 0 + Sell Price + 25 + Sound - Pitch + Higher 2 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.59607846, 1.0, 0.4, 1.0 + Swing Color In/Out + 0.19607843, 0.8, 0.0, 0.0 + Swing Color Middle + 0.59607846, 1.0, 0.4, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Ideal Sword 0 (SHD) + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 25 + + PC/Damage/Sword/Sword Base + + + + SHADOW + 25 + + PC/Damage/Sword/Sword Base + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Proto Sword (Charge) + + Damage + + + PC/Damage/Sword/Sword Base (Charged) + + SHADOW + + + + Damage + + + PC/Damage/Sword/Sword Base + + SHADOW + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Higher 3 + + + Description + + Display Speed + 5 + End Combo Damage + + + PC/Damage/Sword/Sword Base (Last Chain) + + SHADOW + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.ideal_sword + Global Modifier + + + Icon Colorizations + + + 2 + + 0.34 + -0.368 + -0.12 + + + + 3 + + 0.129 + -0.686 + -0.138 + + + + 4 + + 0.662 + -0.244 + -0.354 + + + + Model + + item/weapon/sword/proto/model.dat + + variant + proto(green) + + + Name + m.ideal_sword + Rarity + 0 + Sell Price + 25 + Sound - Pitch + Higher 2 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.59607846, 1.0, 0.4, 1.0 + Swing Color In/Out + 0.19607843, 0.8, 0.0, 0.0 + Swing Color Middle + 0.59607846, 1.0, 0.4, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Ideal Sword 1 + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 25 + + PC/Damage/Sword/Sword Base + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Proto Sword (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base (Charged) + + 2 + true + + + + + + Damage + + + + + PC/Damage/Sword/Sword Base + + 2 + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Higher 3 + + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base (Last Chain) + + 2 + true + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.ideal_sword + Global Modifier + + + Icon Colorizations + + + 2 + + 0.44 + -0.368 + -0.22 + + + + 3 + + 0.129 + -0.686 + -0.138 + + + + 4 + + 0.662 + -0.244 + -0.354 + + + + Model + + item/weapon/sword/proto/model.dat + + variant + proto(green) + + + Name + m.ideal_sword + Rarity + 1 + Sell Price + 25 + Sound - Pitch + Higher 2 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.59607846, 1.0, 0.4, 1.0 + Swing Color In/Out + 0.19607843, 0.8, 0.0, 0.0 + Swing Color Middle + 0.59607846, 1.0, 0.4, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Ideal Sword 2 + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 25 + + PC/Damage/Sword/Sword Base + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Proto Sword (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base (Charged) + + 2 + true + + + + + + Damage + + + + + PC/Damage/Sword/Sword Base + + 2 + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Higher 3 + + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base (Last Chain) + + 2 + true + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.ideal_sword + Global Modifier + + + Icon Colorizations + + + 2 + + 0.54 + -0.368 + -0.32 + + + + 3 + + 0.129 + -0.686 + -0.138 + + + + 4 + + 0.662 + -0.244 + -0.354 + + + + Model + + item/weapon/sword/proto/model.dat + + variant + proto(green) + + + Name + m.ideal_sword + Rarity + 2 + Sell Price + 25 + Sound - Pitch + Higher 2 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.59607846, 1.0, 0.4, 1.0 + Swing Color In/Out + 0.19607843, 0.8, 0.0, 0.0 + Swing Color Middle + 0.59607846, 1.0, 0.4, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Ideal Sword 3 + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 25 + + PC/Damage/Sword/Sword Base + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Proto Sword (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base (Charged) + + 2 + true + + + + + + Damage + + + + + PC/Damage/Sword/Sword Base + + 2 + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Higher 3 + + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base (Last Chain) + + 2 + true + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.ideal_sword + Global Modifier + + + Icon Colorizations + + + 2 + + 0.64 + -0.368 + -0.42 + + + + 3 + + 0.129 + -0.686 + -0.138 + + + + 4 + + 0.662 + -0.244 + -0.354 + + + + Model + + item/weapon/sword/proto/model.dat + + variant + proto(green) + + + Name + m.ideal_sword + Rarity + 3 + Sell Price + 25 + Sound - Pitch + Higher 2 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.59607846, 1.0, 0.4, 1.0 + Swing Color In/Out + 0.19607843, 0.8, 0.0, 0.0 + Swing Color Middle + 0.59607846, 1.0, 0.4, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Ideal Sword 4 + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 25 + + PC/Damage/Sword/Sword Base + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Proto Sword (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base (Charged) + + 2 + true + + + + + + Damage + + + + + PC/Damage/Sword/Sword Base + + 2 + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Higher 3 + + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base (Last Chain) + + 2 + true + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.ideal_sword + Global Modifier + + + Icon Colorizations + + + 2 + + 0.74 + -0.368 + -0.52 + + + + 3 + + 0.129 + -0.686 + -0.138 + + + + 4 + + 0.662 + -0.244 + -0.354 + + + + Model + + item/weapon/sword/proto/model.dat + + variant + proto(green) + + + Name + m.ideal_sword + Rarity + 4 + Sell Price + 25 + Sound - Pitch + Higher 2 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.59607846, 1.0, 0.4, 1.0 + Swing Color In/Out + 0.19607843, 0.8, 0.0, 0.0 + Swing Color Middle + 0.59607846, 1.0, 0.4, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Ideal Sword 5 + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 25 + + PC/Damage/Sword/Sword Base + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Proto Sword (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base (Charged) + + 2 + true + + + + + + Damage + + + + + PC/Damage/Sword/Sword Base + + 2 + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Higher 3 + + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base (Last Chain) + + 2 + true + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.ideal_sword + Global Modifier + + + Icon Colorizations + + + 2 + + 0.84 + -0.368 + -0.62 + + + + 3 + + 0.129 + -0.686 + -0.138 + + + + 4 + + 0.662 + -0.244 + -0.354 + + + + Model + + item/weapon/sword/proto/model.dat + + variant + proto(green) + + + Name + m.ideal_sword + Rarity + 5 + Sell Price + 25 + Sound - Pitch + Higher 2 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.59607846, 1.0, 0.4, 1.0 + Swing Color In/Out + 0.19607843, 0.8, 0.0, 0.0 + Swing Color Middle + 0.59607846, 1.0, 0.4, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Kamarin + + + Weapon/Sword/Parts/Base (2 Hit Slow) + + 233+((667/Chain End Speed)*Fire Speed) + 633 + Attack Values + + + 150 + + PC/Damage/Sword/Sword Base +10 + + + + Chain End Speed + 1.0 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Troika (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base +10 (Charged) + + 2 + true + + + 2 + + Stun 2 + + Chance + 0.4 + Power + 60 + Status Chance + HIGH + Status Power + MODERATE + + + + + + + + Damage + + + PC/Damage/Sword/Sword Base +10 + + 2 + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Heavy + + Pitch + Default + + + Description + + Display Speed + 2 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base +10 (Last Chain) + + 2 + true + + + + End Speed + 1.25 + Fire Speed + 0.6 + Flavor + f.kamarin + Global Modifier + + + Icon Colorizations + + + 2 + + -0.041 + -0.532 + -0.832 + + + + 3 + + 0.526 + -0.958 + -0.696 + + + + 4 + + 0.582 + -0.312 + -0.549 + + + + Model + + item/weapon/sword/troika/model.dat + + variant + Broken + + + Name + m.kamarin + Rarity + 3 + Sell Price + 350 + Start Speed + 1.1 + Status Values + + + 1 + MODERATE + HIGH + + + Swing FX + + + particle/swing/pc_default.dat + + Blend + TRANSLUCENT + Color + + 0.79607844, 0.76862746, 0.73333335, 0.0 + 0.8784314, 0.8745098, 0.8745098, 1.0 + 0.7764706, 0.7372549, 0.7058824, 0.0 + 0.1 + 0.9 + + PC Swing# + 2 + Scale + + + 1.5 + + + 1.5 + 0.1 + + + 2.0 + + + Strider Color + + 0.7058824, 0.6745098, 0.6509804, 0.75 + 0.24313726, 0.21176471, 0.1882353, 0.0 + + + + Strider Toggle + true + Texture + particle/texture/fx_gremlinswing.png + + + %ROOT% + + Swing Sound 1 + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_02.ogg + Pitch + Lower 2 + + + Swing Sound 2 + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_03.ogg + Pitch + Lower 3 + + + + + + + + Weapon/Sword/Khorovod + + + Weapon/Sword/Parts/Base (2 Hit Slow) + + 233+((667/Chain End Speed)*Fire Speed) + 599 + Attack Values + + + 210 + + PC/Damage/Sword/Sword Base +10 + + + + Chain End Speed + 1.0 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Khorovod (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base +10 (Charged) + + 2 + true + + + 2 + + Stun 3 + + Chance + 0.3 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + Damage (Spires) + + + PC/Damage/Sword/Sword Base (Charged) + + 2 + true + + + + Damage + + + PC/Damage/Sword/Sword Base +10 + + 2 + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Heavy + + Pitch + Lower 1 + + + Description + + Display Speed + 2 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base +10 (Last Chain) + + 2 + true + + + + End Speed + 1.2 + Fire Speed + 0.55 + Flavor + f.khorovod + Global Modifier + + + Icon Colorizations + + + 2 + + 0.09 + 0.502 + -0.735 + + + + 3 + + 0.526 + -0.958 + -0.696 + + + + 4 + + 0.392 + -0.602 + -0.485 + + + + Model + + item/weapon/sword/troika/model.dat + + variant + khorovod + + + Name + m.khorovod + Rarity + 4 + Sell Price + 850 + Start Speed + 1.0 + Status Values + + + Swing FX + + + particle/swing/pc_default.dat + + Blend + TRANSLUCENT + Color + + 0.73333335, 0.79607844, 0.7882353, 0.0 + 0.8745098, 0.8784314, 0.8745098, 1.0 + 0.7058824, 0.75686276, 0.7764706, 0.0 + 0.1 + 0.9 + + PC Swing# + 2 + Scale + + + 1.5 + + + 1.5 + 0.1 + + + 2.0 + + + Strider Color + + 0.6509804, 0.7058824, 0.6901961, 0.75 + 0.1882353, 0.19607843, 0.24313726, 0.0 + + + + Strider Toggle + true + Texture + particle/texture/fx_gremlinswing.png + + + %ROOT% + + Swing Sound 1 + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_02.ogg + Pitch + Lower 2 + + + Swing Sound 2 + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_03.ogg + Pitch + Lower 3 + + + + + + + + Weapon/Sword/Leviathan Blade + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 240 + + PC/Damage/Sword/Sword Base + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Calibur (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base (Charged) + + 2 + true + + + + + + Damage + + + PC/Damage/Sword/Sword Base + + 2 + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Lower 1 + + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base (Last Chain) + + 2 + true + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.leviathan_blade + Global Modifier + + + Icon Colorizations + + + 2 + + 0.106 + -0.72 + + + + 3 + + 0.055 + -0.795 + -0.064 + + + + 4 + + 0.966 + -0.514 + 0.342 + + + + Model + + item/weapon/sword/calibur/model_adv.dat + + Variant + Calibur + + + Name + m.leviathan_blade + Rarity + 5 + Sell Price + 850 + Sound - Pitch + Lower 2 + Start Speed + 1.75 + Status Values + + + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 2.1 + Strider Color + 0.4, 0.99607843, 1.0, 1.0 + Swing Color In/Out + 0.73333335, 0.6745098, 0.59607846, 0.0 + Swing Color Middle + 0.7764706, 0.91764706, 1.0, 1.0 + Texture + particle/texture/fx_pcswing_wide.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Nightblade + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 60 + + PC/Damage/Sword/Sword Base + + + + ELEMENTAL + 60 + + PC/Damage/Sword/Sword Base + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Burst Brandish (Charge) + + Burst Color + 0.6, 0.0, 0.8, 1.0 + Burst Damage + + + + + PC/Damage/Sword/Sword Base -10 (Charged) + + 2 + SHADOW + + + + Damage + + + + + PC/Damage/Sword/Sword Base (Charged) + + 2 + true + SHADOW + + + + Style + Dark + + + Damage + + + + + PC/Damage/Sword/Sword Base + + 2 + SHADOW + + + + Damage Sound + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base (Last Chain) + + 2 + true + SHADOW + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.nightblade + Global Modifier + + + Icon Colorizations + + + 2 + + -0.274 + -0.289 + -0.835 + + + + 3 + + 0.562 + -0.871 + -0.352 + + + + 4 + + -0.664 + -0.4 + -0.387 + + + + Model + + item/weapon/sword/longedge/model.dat + + Variant + NightBlade + + + Name + m.nightblade + Rarity + 3 + Sell Price + 350 + Sound - Pitch + Higher 2 + Start Speed + 1.75 + Status Values + + + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.4, 0.0, 0.4, 1.0 + Swing Color In/Out + 0.49411765, 0.14901961, 0.45882353, 0.0 + Swing Color Middle + 0.8, 0.0, 0.4, 1.0 + Texture + particle/texture/flare_fourpoint.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Parts/Base (2 Hit Slow) + + + Name + implementation.name + + + Description + implementation.description + + + Flavor + implementation.flavor + + + Sell Price + implementation.sell_price + + + Rarity + implementation.rarity + + + Icon Colorizations + implementation.icon.colorizations + + + Model + implementation.model + + + Attack Values + implementation.attack_values + + + Display Speed + implementation.display_speed + + + Status Values + implementation.status_values + + + Damage + implementation.attacks[0].ref["Damage"], implementation.incomplete_charged_attack["Damage"] + + + End Combo Damage + implementation.attacks[1].ref["Damage"] + + + Charge Time + implementation.charge_time + + + Start Speed + implementation.attacks[0].ref["Start Speed"], implementation.attacks[1].ref["Start Speed"] + + + Fire Speed + implementation.incomplete_charged_attack["Fire Speed"], implementation.attacks[0].ref["Fire Speed"], implementation.attacks[1].ref["Fire Speed"] + + + End Speed + implementation.incomplete_charged_attack["End Speed"], implementation.attacks[0].ref["End Speed"] + + + Chain End Speed + implementation.attacks[1].ref["End Speed"] + + + 233+((667/Chain End Speed)*Fire Speed) + implementation.attacks[1].ref["Rearm"] + + + Swing Sound 1 + implementation.attacks[0].ref["Sound"], implementation.incomplete_charged_attack["Sound"] + + + Swing Sound 2 + implementation.attacks[1].ref["Sound"] + + + Damage Sound + implementation.damage_effect["Sound"] + + + Swing FX + implementation.attacks[0].ref["Swing"], implementation.attacks[1].ref["Swing"], implementation.incomplete_charged_attack["Swing"] + + + Charged Attack + implementation.charged_attack + + + Global Modifier + implementation.global_modifier + + + + + ui/icon/inventory/icon_sword-2hit.png + + + 519 + + + 780 + + + 1028 + + + + f.troika + 250 + + Sword + + 25 + 1000 + + item/weapon/sword/troika/model.dat + + variant + troika + + + + + + Weapon/Sword/Parts/Base (2 Hit Slow)/Swing 0 (L-R) + + Damage + + 90.0 + 2 + + End Speed + 1.25 + Fire Speed + 0.6 + Sound + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_02.ogg + Pitch + Lower 1 + + + Start Speed + 1.1 + Swing + + + particle/swing/pc_default.dat + + Blend + TRANSLUCENT + Color + + 0.79607844, 0.76862746, 0.73333335, 0.0 + 0.8784314, 0.8745098, 0.8745098, 1.0 + 0.7764706, 0.7372549, 0.7058824, 0.0 + 0.1 + 0.9 + + PC Swing# + 2 + Scale + + + 1.5 + + + 1.5 + 0.1 + + + 2.0 + + + Strider Color + + 0.7058824, 0.6745098, 0.6509804, 0.75 + 0.24313726, 0.21176471, 0.1882353, 0.0 + + + + Strider Toggle + true + Texture + particle/texture/fx_gremlinswing.png + + + %ROOT% + + + + + + + Weapon/Sword/Parts/Base (2 Hit Slow)/Swing 1 (Around CW) + + Damage + + 90.0 + 2 + + End Speed + 1.0 + Fire Speed + 0.6 + Rearm + 633 + Sound + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_03.ogg + Pitch + Lower 1 + + + Start Speed + 1.0 + Swing + + + particle/swing/pc_default.dat + + Blend + TRANSLUCENT + Color + + 0.78431374, 0.75686276, 0.7176471, 0.0 + 0.8, 0.79607844, 0.79607844, 1.0 + 0.78039217, 0.7372549, 0.70980394, 0.0 + 0.1 + 0.9 + + PC Swing# + 3 + Scale + + + 1.5 + + + 1.5 + 0.1 + + + 2.0 + + + Strider Color + + 0.7254902, 0.7019608, 0.6784314, 0.75 + 0.23137255, 0.24313726, 0.22745098, 0.0 + + + + Strider Toggle + true + Texture + particle/texture/fx_gremlinswing.png + + + %ROOT% + + + + + + + Weapon/Sword/Parts/Base (2 Hit Slow)/Incomplete (L-R) + + Damage + + 90.0 + 2 + + End Speed + 1.25 + Fire Speed + 0.6 + Sound + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_02.ogg + Pitch + Lower 1 + + + Start Speed + 1.1 + Swing + + + particle/swing/pc_default.dat + + Blend + TRANSLUCENT + Color + + 0.53333336, 0.49019608, 0.44313726, 0.0 + 0.8901961, 0.87058824, 0.8352941, 1.0 + 0.5882353, 0.5647059, 0.52156866, 0.0 + 0.1 + 0.9 + + PC Swing# + 2 + Scale + + + 1.6 + + + 1.6 + 0.1 + + + 2.0 + + + Strider Color + + 0.8392157, 0.7921569, 0.75686276, 0.75 + 0.23137255, 0.21176471, 0.2, 0.0 + + + + Strider Toggle + true + Texture + particle/texture/fx_gremlinswing.png + + + %ROOT% + + + + + Weapon/Sword/Parts/Base (2 Hit Slow)/Charge (Heavy Slam) + + Damage + + 200.0 + 2 + + End Speed + 1.0 + Extra Action + + Fire Speed + 1.0 + Impulse + + 2.0, 0.0 + 200 + 933 + + Sound + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_02.ogg + Pitch + Lower 1 + + + Start Speed + 1.0 + Swing + + particle/swing/troika_charged-swing.dat + + + + + Sound Effect + + Sound + + + + 750 + 0.83 + 2 + + + + Weapon/Sword/Parts/Base (3 Hit) + + + Name + implementation.name + + + Description + implementation.description + + + Flavor + implementation.flavor + + + Sell Price + implementation.sell_price + + + Rarity + implementation.rarity + + + Icon Colorizations + implementation.icon.colorizations + + + Model + implementation.model + + + Attack Values + implementation.attack_values + + + Display Speed + implementation.display_speed + + + Status Values + implementation.status_values + + + Damage + implementation.attacks[0].ref["Damage"], implementation.attacks[1].ref["Damage"], implementation.incomplete_charged_attack["Damage"] + + + End Combo Damage + implementation.attacks[2].ref["Damage"] + + + Charge Time + implementation.charge_time + + + Start Speed + implementation.attacks[0].ref["Start Speed"], implementation.attacks[1].ref["Start Speed"], implementation.attacks[2].ref["Start Speed"] + + + Fire Speed + implementation.incomplete_charged_attack["Fire Speed"], implementation.attacks[0].ref["Fire Speed"], implementation.attacks[1].ref["Fire Speed"], implementation.attacks[2].ref["Fire Speed"] + + + End Speed + implementation.incomplete_charged_attack["End Speed"], implementation.attacks[0].ref["End Speed"], implementation.attacks[1].ref["End Speed"] + + + Chain End Speed + implementation.attacks[2].ref["End Speed"] + + + 233+((667/Chain End Speed)*Fire Speed) + implementation.attacks[2].ref["Rearm"] + + + Swing Sound 1 + implementation.attacks[0].ref["Sound"], implementation.incomplete_charged_attack["Sound"] + + + Swing Sound 2 + implementation.attacks[1].ref["Sound"] + + + Swing Sound 3 + implementation.attacks[2].ref["Sound"] + + + Sound - Pitch + implementation.attacks[0].ref["Sound - Pitch"], implementation.attacks[1].ref["Sound - Pitch"], implementation.attacks[2].ref["Sound - Pitch"], implementation.incomplete_charged_attack["Sound - Pitch"], implementation.charged_attack["Sound - Pitch"] + + + Damage Sound + implementation.damage_effect["Sound"] + + + Swing FX + implementation.attacks[0].ref["Swing"], implementation.attacks[1].ref["Swing"], implementation.attacks[2].ref["Swing"], implementation.incomplete_charged_attack["Swing"] + + + Extra Action 0 + implementation.attacks[0].ref["Extra Action"], implementation.incomplete_charged_attack["Extra Action"] + + + Extra Action 1 + implementation.attacks[1].ref["Extra Action"] + + + Extra Action 2 + implementation.attacks[2].ref["Extra Action"] + + + Charged Attack + implementation.charged_attack + + + Global Modifier + implementation.global_modifier + + + + + ui/icon/inventory/icon_sword.png + + + 516 + + + 770 + + + 1025 + + + + Base (3 Hit) + Template Sword + NOT FOR USE + + Sword + + 25 + 1000 + + item/weapon/sword/banstick/model.dat + + + + + Weapon/Sword/Parts/Base (3 Hit)/Swing 0 (R-L) + + Damage + + + + 50.0 + 2 + + + + End Speed + 2.0 + Extra Action + + Fire Speed + 1.0 + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Default + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Swing 1 (L-R) + + Damage + + + + 50.0 + 2 + + + + End Speed + 2.0 + Extra Action + + Fire Speed + 1.0 + Sound + sound/effect/weapon/sword_02.ogg + Sound - Pitch + Default + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Swing 2 (R-L) + + Damage + + + + 50.0 + 2 + + + + End Speed + 1.0 + Extra Action + + Fire Speed + 1.0 + Rearm + 900 + Sound + sound/effect/weapon/sword_03.ogg + Sound - Pitch + Default + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Incomplete (R-L) + + Damage + + + + 50.0 + 2 + + + + End Speed + 1.0 + Extra Action + + Fire Speed + 1.0 + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Default + Start Speed + 2.0 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Round House) + + Damage + + + + 50.0 + 2 + + + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 200 + 300 + + Knock-Back + + 3.5, 0.0 + 300 + 3 + + Radius + 2.0 + Sound + sound/effect/weapon/sword_c01.ogg + Sound - Pitch + Default + Start Speed + 2.2 + Swing + + particle/swing/calibur_charged.dat + + Variant + Calibur + + + + + + Sound Effect + + Sound + + + + 3000 + 3 + + + + Weapon/Sword/Parts/Base (5 Hit) + + + Name + implementation.name + + + Description + implementation.description + + + Flavor + implementation.flavor + + + Sell Price + implementation.sell_price + + + Rarity + implementation.rarity + + + Icon Colorizations + implementation.icon.colorizations + + + Model + implementation.model + + + Attack Values + implementation.attack_values + + + Display Speed + implementation.display_speed + + + Status Values + implementation.status_values + + + Damage + implementation.attacks[0].ref["Damage"], implementation.attacks[1].ref["Damage"], implementation.attacks[2].ref["Damage"], implementation.attacks[3].ref["Damage"], implementation.incomplete_charged_attack["Damage"] + + + End Combo Damage + implementation.attacks[4].ref["Damage"] + + + Charge Time + implementation.charge_time + + + Start Speed + implementation.attacks[0].ref["Start Speed"], implementation.attacks[1].ref["Start Speed"], implementation.attacks[2].ref["Start Speed"], implementation.attacks[3].ref["Start Speed"], implementation.attacks[4].ref["Start Speed"] + + + Fire Speed + implementation.incomplete_charged_attack["Fire Speed"], implementation.attacks[0].ref["Fire Speed"], implementation.attacks[1].ref["Fire Speed"], implementation.attacks[2].ref["Fire Speed"], implementation.attacks[3].ref["Fire Speed"], implementation.attacks[4].ref["Fire Speed"] + + + End Speed + implementation.incomplete_charged_attack["End Speed"], implementation.attacks[0].ref["End Speed"], implementation.attacks[1].ref["End Speed"], implementation.attacks[2].ref["End Speed"], implementation.attacks[3].ref["End Speed"] + + + Chain End Speed + implementation.attacks[4].ref["End Speed"] + + + 233+((667/Chain End Speed)*Fire Speed) + implementation.attacks[4].ref["Rearm"] + + + Swing Sound 1 + implementation.attacks[0].ref["Sound"], implementation.attacks[2].ref["Sound"], implementation.incomplete_charged_attack["Sound"] + + + Swing Sound 2 + implementation.attacks[1].ref["Sound"], implementation.attacks[3].ref["Sound"] + + + Swing Sound 3 + implementation.attacks[4].ref["Sound"] + + + Sound - Pitch, Swings + implementation.attacks[0].ref["Sound - Pitch"], implementation.attacks[1].ref["Sound - Pitch"], implementation.attacks[2].ref["Sound - Pitch"], implementation.attacks[3].ref["Sound - Pitch"], implementation.attacks[4].ref["Sound - Pitch"], implementation.incomplete_charged_attack["Sound - Pitch"] + + + Damage Sound + implementation.damage_effect["Sound"] + + + Swing FX + implementation.attacks[0].ref["Swing"], implementation.attacks[1].ref["Swing"], implementation.attacks[2].ref["Swing"], implementation.attacks[3].ref["Swing"], implementation.attacks[4].ref["Swing"], implementation.incomplete_charged_attack["Swing"] + + + Charged Attack + implementation.charged_attack + + + Global Modifier + implementation.global_modifier + + + Extra Action 0 + implementation.attacks[0].ref["Extra Action"] + + + Extra Action 1 + implementation.attacks[1].ref["Extra Action"] + + + Extra Action2 + implementation.attacks[2].ref["Extra Action"] + + + Extra Action 3 + implementation.attacks[3].ref["Extra Action"] + + + Extra Action 4 + implementation.attacks[4].ref["Extra Action"] + + + + + ui/icon/inventory/icon_sword-5hit.png + + + 516 + + + 770 + + + 1025 + + + + Base (5 Hit) + Template Sword + NOT FOR USE + 5 + + Sword + + 25 + 1000 + + item/weapon/sword/banstick/model.dat + + + + + Weapon/Sword/Parts/Base (3 Hit)/Swing 0 (R-L) + + Damage + + + + 50.0 + 2 + + + + End Speed + 2.0 + Extra Action + + Fire Speed + 1.0 + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Default + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Swing 1 (L-R) + + Damage + + + + 50.0 + 2 + + + + End Speed + 2.0 + Extra Action + + Fire Speed + 1.0 + Sound + sound/effect/weapon/sword_02.ogg + Sound - Pitch + Default + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + + + Weapon/Sword/Parts/Base (5 Hit)/Swing 2 (R-L Flare) + + Damage + + 50.0 + 2 + + End Speed + 2.0 + Extra Action + + Fire Speed + 1.0 + Sound + sound/effect/weapon/sword_02.ogg + Sound - Pitch + Default + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + + + Weapon/Sword/Parts/Base (5 Hit)/Swing 3 (L-R Flare) + + Damage + + 50.0 + 2 + + End Speed + 2.0 + Extra Action + + Fire Speed + 1.0 + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Default + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Swing 2 (Around CW) + + Damage + + + + 50.0 + 2 + + + + End Speed + 1.0 + Extra Action + + Fire Speed + 1.0 + Rearm + 900 + Sound + sound/effect/weapon/sword_03.ogg + Sound - Pitch + Default + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Incomplete (R-L) + + Damage + + + + 50.0 + 2 + + + + End Speed + 1.0 + Extra Action + + Fire Speed + 1.0 + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Default + Start Speed + 2.0 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + Weapon/Sword/Parts/Base (5 Hit)/Charge (Combo Strike) + + Damage + + + + 50.0 + 2 + + + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + GhostSwing1 + + GhostSwing2 + + GhostSwing3 + + GhostSwing4 + + Impulse + + 2.0, 0.0 + 100 + 2000 + + Knock-Back + + 2504.0, 0.0 + 4 + + Sound + sound/effect/weapon/sword_c01.ogg + Start Speed + 2.2 + Swing + + particle/swing/calibur_charged.dat + + Variant + Calibur + + + + + + Sound Effect + + Sound + + + + 3000 + 5 + + + + Weapon/Sword/Parts/Base (Saber) + + + ui/icon/inventory/icon_sword-thrust.png + + + 516 + + + 770 + + + 1025 + + + + Base (Saber) + Template Sword + NOT FOR USE + + Sword + + 25 + 1000 + + item/weapon/sword/saber/model.dat + + variant + brandish + + + + + + Weapon/Sword/Parts/Base (Saber)/Swing 0 (L-R) + + + + + Weapon/Sword/Parts/Base (Saber)/Swing 1 (Thrust) + + + + + Weapon/Sword/Parts/Base (Saber)/Swing 2 (Thrust) + + + + + Weapon/Sword/Parts/Base (3 Hit)/Incomplete (R-L) + + Damage + + + + 50.0 + 2 + + + + End Speed + 1.0 + Extra Action + + Fire Speed + 1.0 + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Default + Start Speed + 2.0 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + Weapon/Sword/Parts/Base (Saber)/Charge (Swipe) + + + Sound Effect + + Sound + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_01.ogg + Pitch + Higher 2 + + + + + 500 + 0.9 + 6.0 + 3 + + + + Weapon/Sword/Parts/Base (Spur) + + + Name + implementation.name + + + Description + implementation.description + + + Flavor + implementation.flavor + + + Sell Price + implementation.sell_price + + + Rarity + implementation.rarity + + + Icon Colorizations + implementation.icon.colorizations + + + Model + implementation.model + + + Attack Values + implementation.attack_values + + + Display Speed + implementation.display_speed + + + Status Values + implementation.status_values + + + Damage + implementation.attacks[0].ref["Damage"], implementation.attacks[1].ref["Damage"], implementation.incomplete_charged_attack["Damage"] + + + End Combo Damage + implementation.attacks[2].ref["Damage"] + + + Charge Time + implementation.charge_time + + + Start Speed + implementation.attacks[0].ref["Start Speed"], implementation.attacks[1].ref["Start Speed"], implementation.attacks[2].ref["Start Speed"] + + + Fire Speed + implementation.incomplete_charged_attack["Fire Speed"], implementation.attacks[0].ref["Fire Speed"], implementation.attacks[1].ref["Fire Speed"], implementation.attacks[2].ref["Fire Speed"] + + + End Speed + implementation.incomplete_charged_attack["End Speed"], implementation.attacks[0].ref["End Speed"], implementation.attacks[1].ref["End Speed"] + + + Chain End Speed + implementation.attacks[2].ref["End Speed"] + + + 233+((667/Chain End Speed)*Fire Speed) + implementation.attacks[2].ref["Rearm"] + + + Swing Sound 1 + implementation.attacks[0].ref["Sound"], implementation.incomplete_charged_attack["Sound"] + + + Swing Sound 2 + implementation.attacks[1].ref["Sound"] + + + Swing Sound 3 + implementation.attacks[2].ref["Sound"] + + + Sound - Pitch + implementation.attacks[0].ref["Sound - Pitch"], implementation.attacks[1].ref["Sound - Pitch"], implementation.attacks[2].ref["Sound - Pitch"], implementation.incomplete_charged_attack["Sound - Pitch"] + + + Damage Sound + implementation.damage_effect["Sound"] + + + Swing FX + implementation.attacks[0].ref["Swing"], implementation.attacks[1].ref["Swing"], implementation.attacks[2].ref["Swing"], implementation.incomplete_charged_attack["Swing"] + + + Extra Action 0 + implementation.attacks[0].ref["Extra Action"], implementation.incomplete_charged_attack["Extra Action"] + + + Extra Action 1 + implementation.attacks[1].ref["Extra Action"] + + + Extra Action 2 + implementation.attacks[2].ref["Extra Action"] + + + Charged Attack + implementation.charged_attack + + + Global Modifier + implementation.global_modifier + + + + + ui/icon/inventory/icon_sword-ranged.png + + + 516 + + + 770 + + + 1025 + + + + Base (Spur) + Template Sword + NOT FOR USE + + Sword + + 25 + 1000 + + item/weapon/sword/banstick/model.dat + + + + + Weapon/Sword/Parts/Base (5 Hit)/Swing 3 (L-R Flare) + + Damage + + + + 50.0 + 2 + + + + End Speed + 2.0 + Extra Action + + Fire Speed + 1.0 + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Higher 2 + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + + + Weapon/Sword/Parts/Base (5 Hit)/Swing 2 (R-L Flare) + + Damage + + + + 50.0 + 2 + + + + End Speed + 2.0 + Extra Action + + Fire Speed + 1.0 + Sound + sound/effect/weapon/sword_02.ogg + Sound - Pitch + Higher 2 + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Swing 2 (Around CW) + + Damage + + + + 50.0 + 2 + + + + End Speed + 1.0 + Extra Action + + Fire Speed + 1.0 + Rearm + 900 + Sound + sound/effect/weapon/sword_03.ogg + Sound - Pitch + Higher 2 + Start Speed + 1.75 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + + + Weapon/Sword/Parts/Base (3 Hit)/Incomplete (R-L) + + Damage + + + + 50.0 + 2 + + + + End Speed + 1.0 + Extra Action + + Fire Speed + 1.0 + Sound + sound/effect/weapon/sword_01.ogg + Sound - Pitch + Higher 2 + Start Speed + 2.0 + Swing + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.8, 0.8, 1.0, 1.0 + Swing Color In/Out + 0.8, 0.8, 1.0, 0.0 + Swing Color Middle + 1.0, 1.0, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + + + + Weapon/Sword/Proto Sword (Charge) + + Damage + + + + 40.0 + 2 + + + + + + + Sound Effect + + Sound + + + + 3000 + 3 + + + + Weapon/Sword/Proto Sword + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 25 + + PC/Damage/Sword/Sword Base + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Proto Sword (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base (Charged) + + 2 + true + + + + + + Damage + + + + + PC/Damage/Sword/Sword Base + + 2 + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Higher 3 + + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base (Last Chain) + + 2 + true + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.proto_sword + Global Modifier + + + Icon Colorizations + + + 2 + + 0.224 + -0.368 + -0.72 + + + + 3 + + 0.129 + -0.686 + -0.138 + + + + 4 + + 0.662 + -0.244 + -0.354 + + + + Model + + item/weapon/sword/proto/model.dat + + variant + proto(green) + + + Name + m.proto_sword + Rarity + 0 + Sell Price + 25 + Sound - Pitch + Higher 2 + Start Speed + 1.75 + Status Values + + + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.59607846, 1.0, 0.4, 1.0 + Swing Color In/Out + 0.19607843, 0.8, 0.0, 0.0 + Swing Color Middle + 0.59607846, 1.0, 0.4, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Sealed Sword + + + Weapon/Sword/Parts/Base (2 Hit Slow) + + 233+((667/Chain End Speed)*Fire Speed) + 645 + Attack Values + + + 120 + + PC/Damage/Sword/Sword Base +10 + + + + Chain End Speed + 1.05 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Sealed Sword (Charge) + + Chance + 0.25 + Damage + + + PC/Damage/Sword/Sword Base +10 (Charged) + + 2 + true + + Power + 60 + + + Damage + + + + + PC/Damage/Sword/Sword Base +10 + + 2 + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Heavy + + Pitch + Default + + + Description + + Display Speed + 2 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base +10 (Last Chain) + + 2 + true + + + + End Speed + 1.3 + Fire Speed + 0.65 + Flavor + f.sealed_sword + Global Modifier + + + Icon Colorizations + + + 2 + + -0.462 + -0.289 + -0.835 + + + + 3 + + 0.374 + -0.828 + -0.516 + + + + 4 + + -0.584 + -0.727 + -0.247 + + + + Model + + item/weapon/sword/avenger/model.dat + + Variant + Sealed + + + Name + m.sealed_sword + Rarity + 3 + Sell Price + 350 + Start Speed + 1.2 + Status Values + + + STRONG + HIGH + + + Swing FX + + + particle/swing/pc_default.dat + + Blend + TRANSLUCENT + Color + + 0.7058824, 0.78039217, 0.654902, 0.0 + 0.8235294, 0.85882354, 0.7490196, 1.0 + 0.8, 0.8509804, 0.6901961, 0.0 + 0.1 + 0.9 + + PC Swing# + 2 + Scale + + + 1.5 + + + 1.5 + 0.1 + + + 2.0 + + + Strider Color + + 0.7058824, 0.6745098, 0.6509804, 0.75 + 0.24313726, 0.21176471, 0.1882353, 0.0 + + + + Strider Toggle + true + Texture + particle/texture/fx_pcswing.png + + + %ROOT% + + Swing Sound 1 + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_02.ogg + Pitch + Lower 1 + + + Swing Sound 2 + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_03.ogg + Pitch + Lower 1 + + + + + + + + Weapon/Sword/Searing Edge + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 40 + + PC/Damage/Sword/Sword Base -05 + + + + ELEMENTAL + 40 + + PC/Damage/Sword/Sword Base -05 + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Cautery Sword (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base (Charged) + + 2 + true + ELEMENTAL + + + 2 + + Fire 2 + + Chance + 0.5 + Power + 50 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + + + Damage + + + + + PC/Damage/Sword/Sword Base -05 + + 2 + ELEMENTAL + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Higher 2 + + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base -05 (Last Chain) + + 2 + true + ELEMENTAL + + + 2 + + Fire 2 + + Chance + 0.25 + Power + 25 + Status Chance + HIGH + Status Power + MINOR + + + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.searing_edge + Global Modifier + + + Icon Colorizations + + + 2 + + 0.688 + -0.7 + -0.858 + + + + 3 + + 0.515 + + + + 4 + + 0.293 + 0.126 + 0.483 + + + + Model + + item/weapon/npc/mechaknight/model_sword.dat + + Color + Fire + variant + mechasword mk3 + + + Name + m.searing_edge + Rarity + 2 + Sell Price + 75 + Sound - Pitch + Lower 3 + Start Speed + 1.75 + Status Values + + + 4 + VERY_HIGH + + + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 1.0, 0.2, 0.0, 1.0 + Swing Color In/Out + 1.0, 0.2, 0.0, 0.0 + Swing Color Middle + 1.0, 0.6, 0.0, 1.0 + Texture + particle/texture/fire_curl.png + + + Swing Sound 1 + sound/effect/weapon/staticedge_swing_1.ogg + Swing Sound 2 + sound/effect/weapon/staticedge_swing_2.ogg + Swing Sound 3 + sound/effect/weapon/staticedge_swing_3.ogg + + + + + + Weapon/Sword/Shocking Edge + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 40 + + PC/Damage/Sword/Sword Base -05 + + + + ELEMENTAL + 40 + + PC/Damage/Sword/Sword Base -05 + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Static Edge (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base -05 (Charged) + + 2 + true + ELEMENTAL + + + 2 + + Shock 2 + + Chance + 0.5 + Power + 50 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + + + Damage + + + + + PC/Damage/Sword/Sword Base -05 + + 2 + ELEMENTAL + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Higher 2 + + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base -05 (Last Chain) + + 2 + true + ELEMENTAL + + + 2 + + Shock 2 + + Chance + 0.25 + Power + 25 + Status Chance + HIGH + Status Power + MINOR + + + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.shocking_edge + Global Modifier + + + Icon Colorizations + + + 2 + + 0.688 + -0.7 + -0.858 + + + + 3 + + 0.515 + + + + 4 + + 0.293 + 0.126 + 0.483 + + + + Model + + item/weapon/npc/mechaknight/model_sword.dat + + Color + Shock + variant + mechasword mk3 + + + Name + m.shocking_edge + Rarity + 2 + Sell Price + 75 + Sound - Pitch + Default + Start Speed + 1.75 + Status Values + + + 16 + VERY_HIGH + + + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 1.0, 1.0, 1.0 + Swing Color In/Out + 0.0, 0.2, 1.0, 0.0 + Swing Color Middle + 0.0, 1.0, 0.6, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/staticedge_swing_1.ogg + Swing Sound 2 + sound/effect/weapon/staticedge_swing_2.ogg + Swing Sound 3 + sound/effect/weapon/staticedge_swing_3.ogg + + + + + + Weapon/Sword/Slime Slasher + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 20 + + PC/Damage/Sword/Sword Base -05 + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Slime Slasher (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base -05 (Charged) + + 2 + true + + + + + + Damage + + + + + PC/Damage/Sword/Sword Base -05 + + 2 + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Higher 3 + + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base -05 (Last Chain) + + 2 + true + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.slime_slasher + Global Modifier + + 0.35 + HIGH + fam_slime + + Icon Colorizations + + + 516 + + + 778 + + + 1027 + + + Model + + item/weapon/sword/shovel/model.dat + + Variant + Orange + + + Name + m.slime_slasher + Rarity + 0 + Sell Price + 25 + Sound - Pitch + Higher 2 + Start Speed + 1.75 + Status Values + + + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + TRANSLUCENT + Scale + 1.4 + Strider Color + 0.0, 0.0, 0.0, 0.0 + Swing Color In/Out + 0.4, 0.4, 0.4, 0.0 + Swing Color Middle + 0.7882353, 0.77254903, 0.72156864, 1.0 + Texture + particle/texture/fx_pcswing_narrow.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Spur + + + Weapon/Sword/Parts/Base (Spur) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 70 + + PC/Damage/Sword/Sword Base -05 + + + + Chain End Speed + 1.5 + Charge Time + 2500 + Charged Attack + + Weapon/Sword/Spur (Charge) + + Damage + + + PC/Damage/Sword/Sword Base -05 (Charged) + + 2 + true + + Damage (Projectile) + + + PC/Damage/Handgun/Handgun Base -05 (Charged) + + 2 + true + + + + Damage + + + + + PC/Damage/Sword/Sword Base -05 + + 2 + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Wind + + Pitch + Higher 1 + + + Description + + Display Speed + 6 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base (Last Chain) + + 2 + true + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.spur + Global Modifier + + + Icon Colorizations + + + 2 + + 0.312 + -0.769 + -0.836 + + + + 3 + + 0.226 + -0.781 + -0.49 + + + + 4 + + 0.501 + -0.318 + -0.282 + + + + Model + + item/weapon/sword/spur/model.dat + + variant + spur + + + Name + m.spur + Rarity + 2 + Sell Price + 350 + Sound - Pitch + Higher 2 + Start Speed + 1.75 + Status Values + + + Swing FX + + particle/swing/spur.dat + + Blend + ADDITIVE + Scale + 1.2 + Strider Color + 0.0, 1.0, 0.0, 1.0 + Swing Color In/Out + 0.36078432, 0.75686276, 0.0, 0.0 + Swing Color Middle + 0.8117647, 1.0, 0.25490198, 1.0 + + + Swing Sound 1 + sound/effect/weapon/spur_swing1.ogg + Swing Sound 2 + sound/effect/weapon/spur_swing2.ogg + Swing Sound 3 + sound/effect/weapon/spur_swing3.ogg + + + + + + Weapon/Sword/Static Edge + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 20 + + PC/Damage/Sword/Sword Base -05 + + + + ELEMENTAL + 20 + + PC/Damage/Sword/Sword Base -05 + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Static Edge (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base -05 (Charged) + + 2 + true + ELEMENTAL + + + 2 + + Shock + + Chance + 0.4 + Power + 50 + Status Chance + VERY_HIGH + Status Power + MODERATE + + + + + + + + Damage + + + + + PC/Damage/Sword/Sword Base -05 + + 2 + ELEMENTAL + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Higher 2 + + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base -05 (Last Chain) + + 2 + true + ELEMENTAL + + + 2 + + Shock + + Chance + 0.2 + Power + 25 + Status Chance + HIGH + Status Power + MINOR + + + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.static_edge + Global Modifier + + + Icon Colorizations + + + 2 + + 0.688 + -0.7 + -0.858 + + + + 3 + + 0.515 + + + + 4 + + 0.293 + 0.126 + 0.483 + + + + Model + + item/weapon/sword/proto/model.dat + + variant + staticedge + + + Name + m.static_edge + Rarity + 1 + Sell Price + 75 + Sound - Pitch + Default + Start Speed + 1.75 + Status Values + + + 16 + VERY_HIGH + + + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.4 + Strider Color + 0.0, 1.0, 1.0, 1.0 + Swing Color In/Out + 0.0, 0.2, 1.0, 0.0 + Swing Color Middle + 0.0, 1.0, 0.6, 1.0 + Texture + particle/texture/fx_pcswing_narrow.png + + + Swing Sound 1 + sound/effect/weapon/staticedge_swing_1.ogg + Swing Sound 2 + sound/effect/weapon/staticedge_swing_2.ogg + Swing Sound 3 + sound/effect/weapon/staticedge_swing_3.ogg + + + + + + Weapon/Sword/Striker + + + Weapon/Sword/Parts/Base (5 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 828 + Attack Values + + + 90 + + PC/Damage/Sword/Sword Base -15 + + + + Chain End Speed + 1.4 + Charge Time + 2000 + Charged Attack + + Weapon/Sword/Cutter (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base -15 (Last Chain) + + 2 + + + + Damage (Projectile) + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + + + Damage + + + PC/Damage/Sword/Sword Base -15 + + 2 + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Higher 2 + + + Description + + Display Speed + 9 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base -15 (Last Chain) + + 2 + true + + + + End Speed + 2.25 + Extra Action 0 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (CutterGhost) + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + Transform + + -0.08, -0.349, 0.783 + 0.0, 0.25881904, 0.0, 0.9659258 + + + + Delay + 125 + + + Extra Action 1 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (CutterGhost) + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + Transform + + -0.108, -0.445, 0.685 + -9.735319E-7, 0.99736917, -9.735319E-7, -0.0724897 + + + + Delay + 125 + + + Extra Action 3 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (CutterGhost) + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + Transform + + 0.08, -0.348, 0.9 + -1.1144724E-6, 0.9659258, -1.1144724E-6, -0.25881904 + + + + Delay + 125 + + + Extra Action 4 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (CutterGhost) + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + Transform + + -0.108, -0.345, 0.81 + -0.0053793928, -0.98259366, 0.07997969, 0.16758278 + + + + Delay + 125 + + + Extra Action2 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (CutterGhost) + + Damage + + + PC/Damage/Handgun/Handgun Base -10 + + 2 + + Transform + + -0.08, -0.348, 0.8 + 0.0, -0.21643959, 0.0, 0.976296 + + + + Delay + 125 + + + Fire Speed + 1.25 + Flavor + f.striker + Global Modifier + + + Icon Colorizations + + + 2 + + -0.32 + -0.827 + + + + 3 + + 0.597 + -0.359 + -0.273 + + + + 4 + + 0.924 + -0.703 + -0.632 + + + + Model + + item/weapon/sword/cutter/model.dat + + variant + cutter + + + Name + m.striker + Rarity + 3 + Sell Price + 350 + Sound - Pitch, Swings + Default + Start Speed + 2.0 + Swing FX + + particle/swing/pc_cutter_simple.dat + + Blend + ADDITIVE + Flare + false + Shadow + false + Strider Arc + false + Strider Color + 0.22745098, 0.4627451, 0.8117647, 1.0 + Swing Color In/Out + 0.0, 0.16862746, 0.32941177, 0.0 + Swing Color Middle + 0.16078432, 0.30588236, 0.47058824, 1.0 + Texture + particle/texture/fx_pcswing.png + Thin Cut + true + Trail Swipe + true + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Super Slime Slasher + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 40 + + PC/Damage/Sword/Sword Base -05 + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Slime Slasher (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base -05 (Charged) + + 2 + true + + + + + + Damage + + + + + PC/Damage/Sword/Sword Base -05 + + 2 + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Higher 3 + + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base -05 (Last Chain) + + 2 + true + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.super_slime_slasher + Global Modifier + + 0.35 + HIGH + fam_slime + + Icon Colorizations + + + 516 + + + 778 + + + 1027 + + + Model + + item/weapon/sword/shovel/model.dat + + Variant + Red + + + Name + m.super_slime_slasher + Rarity + 1 + Sell Price + 25 + Sound - Pitch + Higher 2 + Start Speed + 1.75 + Status Values + + + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + TRANSLUCENT + Scale + 1.4 + Strider Color + 0.0, 0.0, 0.0, 0.0 + Swing Color In/Out + 0.4, 0.4, 0.4, 0.0 + Swing Color Middle + 0.7882353, 0.77254903, 0.72156864, 1.0 + Texture + particle/texture/fx_pcswing_narrow.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Tempered Calibur + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 180 + + PC/Damage/Sword/Sword Base + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Calibur (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base (Charged) + + 2 + true + + + + + + Damage + + + PC/Damage/Sword/Sword Base + + 2 + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Default + + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base (Last Chain) + + 2 + true + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.tempered_calibur + Global Modifier + + + Icon Colorizations + + + 2 + + 0.106 + -0.72 + + + + 3 + + 0.055 + -0.795 + -0.064 + + + + 4 + + 0.966 + -0.514 + 0.342 + + + + Model + + item/weapon/sword/calibur/model.dat + + variant + calibur(blue) + + + Name + m.tempered_calibur + Rarity + 3 + Sell Price + 850 + Sound - Pitch + Default + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 0.4, 0.99607843, 1.0, 1.0 + Swing Color In/Out + 0.0, 0.7921569, 0.8, 0.0 + Swing Color Middle + 0.6, 0.99607843, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/The Ban Stick + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 900 + Attack Values + + + 150 + + + Chain End Speed + 1.0 + Charge Time + 1500 + Charged Attack + + Weapon/Sword/Parts/Base (3 Hit)/Charge (Round House) + + Damage + + + + 9999.0 + 3 + + + + End Speed + 0.75 + Extra Action + + Fire Speed + 1.0 + Impulse + + 1.0, 0.0 + 200 + 300 + + Knock-Back + + 10.0, 0.0 + 300 + 10 + + Radius + 1.0 + Sound + sound/effect/world/pot_fire_smash.ogg + Sound - Pitch + Default + Start Speed + 2.2 + Swing + + particle/swing/calibur_charged.dat + + Variant + Coldiron + + + + + Damage + + + + 9999.0 + 2 + + + + Damage Sound + + Meta Clip/Single Clip, pitch variation + + File + sound/effect/monster/on_hit/hit_bonk_10.ogg + Gain + 1.0 + Pitch adjust + Default + Range + Medium + + + Description + + Display Speed + 5 + End Combo Damage + + + + 9999.0 + 2 + true + + + + End Speed + 1.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.the_ban_stick + Global Modifier + + + Icon Colorizations + + + 2 + + -1.0 + + + + 3 + + 0.597 + -0.545 + -0.647 + + + + 4 + + 0.261 + -0.384 + -0.581 + + + + Model + + item/weapon/sword/banstick/model.dat + + Name + m.the_ban_stick + Rarity + 5 + Sell Price + 2000 + Sound - Pitch + Lower 3 + Start Speed + 1.75 + Status Values + + + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 1.0, 0.0, 0.2, 1.0 + Swing Color In/Out + 1.0, 0.0, 0.2, 0.0 + Swing Color Middle + 1.0, 0.0, 0.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Thwack Hammer + + + Weapon/Sword/Parts/Base (2 Hit Slow) + + 233+((667/Chain End Speed)*Fire Speed) + 633 + Attack Values + + + 90 + + PC/Damage/Sword/Sword Base +05 + + + + Chain End Speed + 1.0 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Troika (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base +05 (Charged) + + 2 + true + + + 2 + + Stun 2 + + Chance + 0.3 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + + + Damage + + + + + PC/Damage/Sword/Sword Base +05 + + 2 + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Heavy + + Pitch + Default + + + Description + + Display Speed + 2 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base +05 (Last Chain) + + 2 + true + + + 2 + + Stun 2 + + Chance + 0.15 + Power + 25 + Status Chance + MEDIUM + Status Power + MINOR + + + + + + End Speed + 1.25 + Fire Speed + 0.6 + Flavor + f.thwack_hammer + Global Modifier + + 0.35 + HIGH + fam_construct + + Icon Colorizations + + + 2 + + -0.041 + -0.532 + -0.832 + + + + 3 + + 0.526 + -0.958 + -0.696 + + + + 4 + + 0.582 + -0.312 + -0.549 + + + + Model + + item/weapon/npc/wrench_hammer/model.dat + + Name + m.thwack_hammer + Rarity + 1 + Sell Price + 350 + Start Speed + 1.1 + Status Values + + + 1 + HIGH + + + Swing FX + + + particle/swing/pc_default.dat + + Blend + TRANSLUCENT + Color + + 0.79607844, 0.76862746, 0.73333335, 0.0 + 0.8784314, 0.8745098, 0.8745098, 1.0 + 0.7764706, 0.7372549, 0.7058824, 0.0 + 0.1 + 0.9 + + PC Swing# + 2 + Scale + + + 1.5 + + + 1.5 + 0.1 + + + 2.0 + + + Strider Color + + 0.7058824, 0.6745098, 0.6509804, 0.75 + 0.24313726, 0.21176471, 0.1882353, 0.0 + + + + Strider Toggle + true + Texture + particle/texture/fx_gremlinswing.png + + + %ROOT% + + Swing Sound 1 + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_02.ogg + Pitch + Lower 2 + + + Swing Sound 2 + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_03.ogg + Pitch + Lower 3 + + + + + + + + Weapon/Sword/Troika + + + Weapon/Sword/Parts/Base (2 Hit Slow) + + 233+((667/Chain End Speed)*Fire Speed) + 633 + Attack Values + + + 100 + + PC/Damage/Sword/Sword Base +10 + + + + Chain End Speed + 1.0 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Troika (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base +10 (Charged) + + 2 + true + + + 2 + + Stun 2 + + Chance + 0.3 + Power + 50 + Status Chance + HIGH + Status Power + MODERATE + + + + + + + + Damage + + + PC/Damage/Sword/Sword Base +10 + + 2 + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Heavy + + Pitch + Default + + + Description + + Display Speed + 2 + End Combo Damage + + + PC/Damage/Sword/Sword Base +10 (Last Chain) + + 2 + true + + End Speed + 1.25 + Fire Speed + 0.6 + Flavor + f.troika + Global Modifier + + + Icon Colorizations + + + 2 + + -0.041 + -0.532 + -0.832 + + + + 3 + + 0.526 + -0.958 + -0.696 + + + + 4 + + 0.582 + -0.312 + -0.549 + + + + Model + + item/weapon/sword/troika/model.dat + + variant + troika + + + Name + m.troika + Rarity + 2 + Sell Price + 350 + Start Speed + 1.1 + Status Values + + + 1 + MODERATE + HIGH + + + Swing FX + + + particle/swing/pc_default.dat + + Blend + TRANSLUCENT + Color + + 0.79607844, 0.76862746, 0.73333335, 0.0 + 0.8784314, 0.8745098, 0.8745098, 1.0 + 0.7764706, 0.7372549, 0.7058824, 0.0 + 0.1 + 0.9 + + PC Swing# + 2 + Scale + + + 1.5 + + + 1.5 + 0.1 + + + 2.0 + + + Strider Color + + 0.7058824, 0.6745098, 0.6509804, 0.75 + 0.24313726, 0.21176471, 0.1882353, 0.0 + + + + Strider Toggle + true + Texture + particle/texture/fx_gremlinswing.png + + + %ROOT% + + Swing Sound 1 + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_02.ogg + Pitch + Lower 2 + + + Swing Sound 2 + + Custom/Weapons/Sword Swipe + + File + sound/effect/weapon/sword_03.ogg + Pitch + Lower 3 + + + + + + + + Weapon/Sword/Vile Striker + + + Weapon/Sword/Parts/Base (5 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 828 + Attack Values + + + 140 + + PC/Damage/Sword/Sword Base -15 + + + + Chain End Speed + 1.4 + Charge Time + 2000 + Charged Attack + + Weapon/Sword/Vile Striker (Charge) + + Damage + + + + + PC/Damage/Sword/Sword Base -15 (Last Chain) + + 2 + + + 2 + + Poison 3 + + Chance + 0.2 + Power + 60 + Status Chance + LOW + Status Power + CUSTOM + + + + + + Damage (Projectile) + + + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + + 2 + + Poison 3 + + Chance + 0.2 + Power + 60 + Status Chance + MEDIUM + Status Power + STRONG + + + + + + + + Damage + + + + + PC/Damage/Sword/Sword Base -15 + + 2 + + + 2 + + Poison 3 + + Chance + 0.05 + Power + 60 + Status Chance + LOW + Status Power + STRONG + + + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Higher 1 + + + Description + + Display Speed + 9 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base -15 (Last Chain) + + 2 + true + + + 2 + + Poison 3 + + Chance + 0.05 + Power + 60 + Status Chance + LOW + Status Power + STRONG + + + + + + End Speed + 2.25 + Extra Action 0 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (VilestrikerGhost) + + Damage + + + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + + 2 + + Poison 3 + + Chance + 0.05 + Power + 60 + Status Chance + LOW + Status Power + STRONG + + + + + + Transform + + -0.08, -0.349, 0.783 + 0.0, 0.25881904, 0.0, 0.9659258 + + + + Delay + 125 + + + Extra Action 1 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (VilestrikerGhost) + + Damage + + + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + + 2 + + Poison 3 + + Chance + 0.05 + Power + 60 + Status Chance + LOW + Status Power + STRONG + + + + + + Transform + + -0.108, -0.445, 0.685 + -9.735319E-7, 0.99736917, -9.735319E-7, -0.0724897 + + + + Delay + 125 + + + Extra Action 3 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (VilestrikerGhost) + + Damage + + + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + + 2 + + Poison 3 + + Chance + 0.05 + Power + 60 + Status Chance + LOW + Status Power + STRONG + + + + + + Transform + + 0.08, -0.348, 0.9 + -1.1144724E-6, 0.9659258, -1.1144724E-6, -0.25881904 + + + + Delay + 125 + + + Extra Action 4 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (VilestrikerGhost) + + Damage + + + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + + 2 + + Poison 3 + + Chance + 0.05 + Power + 60 + Status Chance + LOW + Status Power + STRONG + + + + + + Transform + + -0.108, -0.345, 0.81 + -0.0053793928, -0.98259366, 0.07997969, 0.16758278 + + + + Delay + 125 + + + Extra Action2 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (VilestrikerGhost) + + Damage + + + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + + 2 + + Poison 3 + + Chance + 0.05 + Power + 60 + Status Chance + LOW + Status Power + STRONG + + + + + + Transform + + -0.08, -0.348, 0.8 + 0.0, -0.21643959, 0.0, 0.976296 + + + + Delay + 125 + + + Fire Speed + 1.25 + Flavor + f.vile_striker + Global Modifier + + + Icon Colorizations + + + 2 + + -0.281 + 0.412 + -0.82 + + + + 3 + + 0.345 + -0.777 + -0.522 + + + + 4 + + 0.789 + -0.378 + -0.542 + + + + Model + + item/weapon/sword/cutter/model.dat + + variant + poisoncutter + + + Name + m.vile_striker + Rarity + 4 + Sell Price + 850 + Sound - Pitch, Swings + Default + Start Speed + 2.0 + Status Values + + + 2 + STRONG + + + Swing FX + + particle/swing/pc_cutter_simple.dat + + Blend + ADDITIVE + Flare + false + Shadow + false + Strider Arc + false + Strider Color + 0.0, 0.6, 0.0, 1.0 + Swing Color In/Out + 0.0, 0.2, 0.2, 0.0 + Swing Color Middle + 0.0, 0.4, 0.2, 1.0 + Texture + particle/texture/fx_pcswing.png + Thin Cut + true + Trail Swipe + true + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Wild Hunting Blade + + + Weapon/Sword/Parts/Base (5 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 797 + Attack Values + + + 200 + + PC/Damage/Sword/Sword Base -15 + + + + Chain End Speed + 1.3 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Wild Hunting Blade (Charge) + + Damage + + + PC/Damage/Sword/Sword Base -15 (Last Chain) + + 2 + true + + Damage (Projectile) + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + + + Damage + + + PC/Damage/Sword/Sword Base -15 + + 2 + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Lower 1 + + + Description + + Display Speed + 9 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base -15 (Last Chain) + + 2 + true + + + + End Speed + 2.15 + Extra Action 0 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (HuntingGhost) + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + Wolf Transform + + 0.85 + 0.82, -0.4, 0.2 + 0.0, 0.0, -0.19080897, 0.98162717 + + + + Delay + 90 + + + Extra Action 1 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (HuntingGhost) + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + Wolf Transform + + 0.875 + -0.7, -0.45, 0.2 + 0.0, 0.0, 0.17364812, 0.9848078 + + + + Delay + 90 + + + Extra Action 3 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (HuntingGhost) + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + Wolf Transform + + 0.95 + -0.75, -0.6, 0.2 + 0.0, 0.0, 0.17364812, 0.9848078 + + + + Delay + 90 + + + Extra Action 4 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (HuntingGhost) + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + Wolf Transform + + 1.0, -0.5, 0.2 + 0.0, 0.0, -0.25881904, 0.9659258 + + + + Delay + 90 + + + Extra Action2 + + Base/Spawn Actor + + Actor + + Bomb/Parts/Sword (HuntingGhost) + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + Wolf Transform + + 0.9 + 0.8, -0.5, 0.2 + 0.0, 0.0, -0.21643962, 0.976296 + + + + Delay + 90 + + + Fire Speed + 1.1 + Flavor + f.wild_hunting_blade + Global Modifier + + 0.35 + HIGH + fam_beast + + Icon Colorizations + + + 2 + + 0.047 + -0.118 + -0.803 + + + + 3 + + 0.134 + + + + 4 + + 0.404 + -0.557 + -0.167 + + + + Model + + item/weapon/sword/cutter/model.dat + + variant + hunter + + + Name + m.wild_hunting_blade + Rarity + 5 + Sell Price + 2000 + Sound - Pitch, Swings + Default + Start Speed + 1.85 + Status Values + + + Swing FX + + particle/swing/pc_cutter_simple.dat + + Blend + ADDITIVE + Flare + false + Shadow + false + Strider Arc + false + Strider Color + 0.8117647, 0.60784316, 0.22745098, 1.0 + Swing Color In/Out + 0.32941177, 0.3019608, 0.0, 0.0 + Swing Color Middle + 0.47058824, 0.46666667, 0.16078432, 1.0 + Texture + particle/texture/fx_pcswing.png + Thin Cut + true + Trail Swipe + true + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/Winmillion + + + Weapon/Sword/Parts/Base (Spur) + + 233+((667/Chain End Speed)*Fire Speed) + 900 + Attack Values + + + 160 + + PC/Damage/Sword/Sword Base -15 + + + + Chain End Speed + 1.0 + Charge Time + 2500 + Charged Attack + + Weapon/Sword/Winmillion (Charge) + + Damage + + + PC/Damage/Sword/Sword Base -15 (Charged) + + 2 + true + + Damage (Projectile) + + + PC/Damage/Handgun/Handgun Base -15 (Charged) + + 2 + + + + Damage + + + + + PC/Damage/Sword/Sword Base -15 + + 2 + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Wind + + Pitch + Default + + + Description + + Display Speed + 6 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base -15 (Last Chain) + + 2 + true + + + + End Speed + 1.0 + Extra Action 0 + + Base/Spawn Actor + + Actor + + Bullet/Sword/Winmillion + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + + + Delay + 50 + + + Extra Action 1 + + Base/Spawn Actor + + Actor + + Bullet/Sword/Winmillion + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + + + Delay + 50 + + + Extra Action 2 + + Base/Spawn Actor + + Actor + + Bullet/Sword/Winmillion (Med) + + Damage + + + PC/Damage/Handgun/Handgun Base -15 + + 2 + + + + Delay + 50 + + + Fire Speed + 1.0 + Flavor + f.winmillion + Global Modifier + + + Icon Colorizations + + + 2 + + 0.624 + -0.948 + -0.836 + + + + 3 + + 0.588 + -0.247 + + + + 4 + + 0.825 + -0.768 + -0.225 + + + + Model + + item/weapon/sword/spur/model.dat + + variant + windmillion + + + Name + m.winmillion + Rarity + 4 + Sell Price + 850 + Sound - Pitch + Higher 2 + Start Speed + 1.75 + Status Values + + + Swing FX + + particle/swing/spur.dat + + Blend + ADDITIVE + Scale + 1.2 + Strider Color + 0.7254902, 0.8039216, 0.83137256, 1.0 + Swing Color In/Out + 0.0, 0.6, 0.6, 0.0 + Swing Color Middle + 0.4, 0.6, 1.0, 1.0 + + + Swing Sound 1 + sound/effect/weapon/spur_swing1.ogg + Swing Sound 2 + sound/effect/weapon/spur_swing2.ogg + Swing Sound 3 + sound/effect/weapon/spur_swing3.ogg + + + + + + Weapon/Sword/Wrench Wand + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + 70 + + PC/Damage/Sword/Sword Base -05 + + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Wrench Wand (Charge) + + Bullet + + Bullet/Sword/Wrench Wand Bolt + + Damage + + + PC/Damage/Handgun/Handgun Base -05 (Charged) + + 2 + + + + Damage + + + + + PC/Damage/Sword/Sword Base -05 (Charged) + + 2 + true + + + + + + Damage + + + + + PC/Damage/Sword/Sword Base -05 + + 2 + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Heavy + + Pitch + Default + + + Description + + Display Speed + 5 + End Combo Damage + + + + + PC/Damage/Sword/Sword Base -05 (Last Chain) + + 2 + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Base/Default + + Action + + + + + + Sound Effect + + Sound + + Custom/Monsters/Gremlins/Medium Attack + + + + + + + + + Sound Effect + + Sound + + Custom/Monsters/Gremlins/Light Growls + + + + + + + + + + Delay + 0 + + + Fire Speed + 1.0 + Flavor + f.wrench_wand + Global Modifier + + 0.35 + HIGH + fam_construct + + Icon Colorizations + + + 2 + + -0.242 + -0.344 + -0.831 + + + + 3 + + 0.0040 + -0.355 + -0.407 + + + + 4 + + 0.447 + -0.666 + -0.179 + + + + Model + + item/weapon/npc/wrench_wand/model.dat + + variant + medicalsword + + + Name + m.wrench_wand + Rarity + 2 + Sell Price + 350 + Sound - Pitch + Lower 2 + Start Speed + 1.75 + Status Values + + + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + ADDITIVE + Scale + 1.5 + Strider Color + 1.0, 0.63529414, 0.0, 1.0 + Swing Color In/Out + 1.0, 0.3019608, 0.0, 0.0 + Swing Color Middle + 1.0, 0.5019608, 0.0, 1.0 + Texture + particle/texture/ring_halfmoon.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + Weapon/Sword/_Frost Sword + + + Weapon/Sword/Parts/Base (3 Hit) + + 233+((667/Chain End Speed)*Fire Speed) + 677 + Attack Values + + + Chain End Speed + 1.5 + Charge Time + 3000 + Charged Attack + + Weapon/Sword/Frost Sword (charge) + + Damage + + + + 40.0 + 2 + + + 2 + + Freeze + + Chance + 0.0 + Power + 30 + + + + + + Damage Sound + + Custom/Weapons/Melee Impacts/Sword Slash, Base + + Pitch + Higher 1 + + + Description + + Display Speed + 0 + End Combo Damage + + + + 50.0 + 2 + true + + + + End Speed + 2.0 + Extra Action 0 + + Extra Action 1 + + Extra Action 2 + + Fire Speed + 1.0 + Flavor + f.frost_sword + Global Modifier + + + Icon Colorizations + + + 2 + + -0.249 + -0.726 + + + + 3 + + 0.6 + -0.675 + -0.116 + + + + 4 + + 0.815 + -0.996 + -0.694 + + + + Model + + item/weapon/sword/calibur/model.dat + + variant + frozensword + + + Name + m.frost_sword + Rarity + 3 + Sell Price + 350 + Sound - Pitch + Lower 1 + Start Speed + 1.75 + Swing FX + + particle/swing/pc_default_simple.dat + + Blend + TRANSLUCENT + Scale + 1.5 + Strider Color + 0.7058824, 0.84313726, 0.99607843, 1.0 + Swing Color In/Out + 0.5882353, 0.78431374, 0.90588236, 0.0 + Swing Color Middle + 0.9019608, 0.9607843, 1.0, 1.0 + Texture + particle/texture/fx_pcswing.png + + + Swing Sound 1 + sound/effect/weapon/sword_01.ogg + Swing Sound 2 + sound/effect/weapon/sword_02.ogg + Swing Sound 3 + sound/effect/weapon/sword_03.ogg + + + + + + \ No newline at end of file diff --git a/rsrc/rsrc/config/item_depth_weight.xml b/rsrc/rsrc/config/item_depth_weight.xml new file mode 100644 index 0000000..009b924 --- /dev/null +++ b/rsrc/rsrc/config/item_depth_weight.xml @@ -0,0 +1,130 @@ + + + + + Gear + + + + 200 + + + 200 + + + 3 + 5 + 150 + + + 9 + 12 + 100 + + + 12 + 14 + 50 + + + 19 + 24 + 5 + + + + + + Materials + + + + 200 + + + 200 + + + 3 + 5 + 150 + + + 9 + 12 + 100 + + + 12 + 14 + 50 + + + 19 + 24 + 25 + + + + + + Materials, Recipe Loot + + + + + + 200 + + + 3 + 5 + 175 + + + 9 + 12 + 150 + + + 12 + 14 + 100 + + + 19 + 24 + 50 + + + + + + Mineral Deposit + + + + + + 200 + + + 100 + + + 5 + 50 + + + 9 + 10 + + + 12 + 2 + + + + + + \ No newline at end of file diff --git a/rsrc/rsrc/config/item_property.xml b/rsrc/rsrc/config/item_property.xml new file mode 100644 index 0000000..c90343f --- /dev/null +++ b/rsrc/rsrc/config/item_property.xml @@ -0,0 +1,576 @@ + + + + + Armor + + + + 150 + 1 + 10 + 1000 + + Gear/Gear (+Health) 0 + + + + 3000 + 300 + 75 + + Gear/Gear (+Health) 1 + + + + 7500 + 750 + 100 + 5000 + + Gear/Gear (+Health) 2 + + + + 35000 + 3500 + 125 + 10000 + + Gear/Gear (+Health) 3 + + + + 100000 + 10000 + 150 + 20000 + + Gear/Gear (+Health) 4 + + + + 300000 + 30000 + 200 + 30000 + + Gear/Gear (+Health) 5 + + + + + + + Bomb + + + + 150 + 1 + 10 + 1000 + + Weapon/Weapon 0 + + + + 3000 + 300 + 75 + + Weapon/Weapon 1 + + + + 7500 + 750 + 100 + 5000 + + Weapon/Weapon 2 + + + + 35000 + 3500 + 125 + 10000 + + Weapon/Weapon 3 + + + + 100000 + 10000 + 150 + 20000 + + Weapon/Weapon 4 + + + + 300000 + 30000 + 200 + 30000 + + Weapon/Weapon 5 + + + + + + + Handgun + + + + 150 + 1 + 10 + 1000 + + Weapon/Weapon 0 + + + + 3000 + 300 + 75 + + Weapon/Weapon 1 + + + + 7500 + 750 + 100 + 5000 + + Weapon/Weapon 2 + + + + 35000 + 3500 + 125 + 10000 + + Weapon/Weapon 3 + + + + 100000 + 10000 + 150 + 20000 + + Weapon/Weapon 4 + + + + 300000 + 30000 + 200 + 30000 + + Weapon/Weapon 5 + + + + + + + Helm + + + + 150 + 1 + 10 + 1000 + + Gear/Helm 0 + + + + 3000 + 300 + 75 + + Gear/Helm 1 + + + + 7500 + 750 + 100 + 5000 + + Gear/Helm 2 + + + + 35000 + 3500 + 125 + 10000 + + Gear/Helm 3 + + + + 100000 + 10000 + 150 + 20000 + + Gear/Helm 4 + + + + 300000 + 30000 + 200 + 30000 + + Gear/Helm 5 + + + + + + + Material + + + + 10 + 1 + + + 50 + 1 + + + 250 + 5 + + + 1250 + 10 + + + 6250 + 25 + + + 31250 + 50 + + + + + + Pickup + + + + 50 + 1 + + + 100 + 1 + + + 150 + 5 + + + 200 + 10 + + + 250 + 25 + + + 500 + 50 + + + + + + Recipe/Alloy + + + + 10 + 1 + + + 250 + 1 + + + 1000 + 5 + + + 5500 + 10 + + + 15000 + 25 + + + 45000 + 50 + + + + + + Recipe/Armor + + + Recipe/Alloy + + + + + Recipe/Bomb + + + Recipe/Alloy + + + + + Recipe/Handgun + + + Recipe/Alloy + + + + + Recipe/Helm + + + Recipe/Alloy + + + + + Recipe/Material + + + Recipe/Alloy + + + + + Recipe/Shield + + + Recipe/Alloy + + + + + Recipe/Sword + + + Recipe/Alloy + + + + + Shield + + + + 150 + 1 + 10 + 1000 + + Gear/Gear 0 + + + + 3000 + 300 + 75 + + Gear/Gear 1 + + + + 7500 + 750 + 100 + 5000 + + Gear/Gear 2 + + + + 35000 + 3500 + 125 + 10000 + + Gear/Gear 3 + + + + 100000 + 10000 + 150 + 20000 + + Gear/Gear 4 + + + + 300000 + 30000 + 200 + 30000 + + Gear/Gear 5 + + + + + + + Sword + + + + 150 + 1 + 10 + 1000 + + Weapon/Weapon 0 + + + + 3000 + 300 + 75 + + Weapon/Weapon 1 + + + + 7500 + 750 + 100 + 5000 + + Weapon/Weapon 2 + + + + 35000 + 3500 + 125 + 10000 + + Weapon/Weapon 3 + + + + 100000 + 10000 + 150 + 20000 + + Weapon/Weapon 4 + + + + 300000 + 30000 + 200 + 30000 + + Weapon/Weapon 5 + + + + + + + Trinket + + + + 150 + 1 + + + 3000 + 100 + + + 7500 + 250 + + + 35000 + 1200 + + + 100000 + 3500 + + + 300000 + 10000 + + + + + + Vitapod + + + + 400 + 1 + + + 600 + 60 + + + 800 + 80 + + + 1200 + 120 + + + 1800 + 180 + + + 3000 + 300 + + + + + + \ No newline at end of file diff --git a/rsrc/rsrc/config/level_table.xml b/rsrc/rsrc/config/level_table.xml new file mode 100644 index 0000000..85dc4de --- /dev/null +++ b/rsrc/rsrc/config/level_table.xml @@ -0,0 +1,849 @@ + + + + + Base/Attack/Attack Bonus (0, 1) + + + + + + 0.05 + false + + + 0.1 + false + + + 0.15 + false + + + 0.25 + false + + + 0.4 + false + + + 0.55 + false + + + 0.7 + false + + + 0.85 + false + + + 1.0 + false + + + + + + Base/Attack/Attack Bonus (2, 3) + + + + + + 0.03 + 8 + false + + + 0.06 + 8 + false + + + 0.1 + 8 + false + + + 0.17 + 8 + false + + + 0.28 + 8 + false + + + 0.39 + 8 + false + + + 0.51 + 8 + false + + + 0.63 + 8 + false + + + 0.75 + 8 + false + + + + + + Base/Attack/Attack Bonus (4, 5) + + + + + + 0.02 + 18 + false + + + 0.05 + 18 + false + + + 0.08 + 18 + false + + + 0.13 + 18 + false + + + 0.2 + 18 + false + + + 0.27 + 18 + false + + + 0.34 + 18 + false + + + 0.42 + 18 + false + + + 0.5 + 18 + false + + + + + + Base/Charge/Base + + + 1-4 Charge Reduction + implementation.levels[0].bonus, implementation.levels[1].bonus, implementation.levels[2].bonus, implementation.levels[3].bonus + + + 5-9 Charge Reduction + implementation.levels[4].bonus, implementation.levels[5].bonus, implementation.levels[6].bonus, implementation.levels[7].bonus, implementation.levels[8].bonus + + + 10 Charge Reduction + implementation.levels[9].bonus + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Base/Charge/Charge Reduction + + + Base/Charge/Base + + 1-4 Charge Reduction + CUSTOM + 10 Charge Reduction + MEDIUM + 5-9 Charge Reduction + LOW + +
+
+
+ + Base/Defense/Defense Bonus + + + + + + 2.0 + + + 4.0 + + + 6.0 + + + 8.0 + + + 12.0 + + + 15.0 + + + 18.0 + + + 21.0 + + + 25.0 + + + + + + Base/Defense/Defense Bonus (0, 1) + + + Base/Defense/Defense Bonus +
+
+
+ + Base/Defense/Defense Bonus (2, 3) + + + Base/Defense/Defense Bonus +
+
+
+ + Base/Defense/Defense Bonus (4, 5) + + + Base/Defense/Defense Bonus +
+
+
+ + Base/Health/Health Base + + + 1-4 Health + implementation.levels[0].levels[0].health, implementation.levels[1].levels[0].health, implementation.levels[2].levels[0].health, implementation.levels[3].levels[0].health + + + 5-10 Health + implementation.levels[4].levels[0].health, implementation.levels[5].levels[0].health, implementation.levels[6].levels[0].health, implementation.levels[7].levels[0].health, implementation.levels[8].levels[0].health, implementation.levels[9].levels[0].health + + + 1-4 Health (Tier 2+) + implementation.levels[0].levels[1].health, implementation.levels[1].levels[1].health, implementation.levels[2].levels[1].health, implementation.levels[3].levels[1].health + + + 5-10 Health (Tier 2+) + implementation.levels[4].levels[1].health, implementation.levels[5].levels[1].health, implementation.levels[6].levels[1].health, implementation.levels[7].levels[1].health, implementation.levels[8].levels[1].health, implementation.levels[9].levels[1].health + + + 1-4 Health (Tier 3+) + implementation.levels[0].levels[2].health, implementation.levels[1].levels[2].health, implementation.levels[2].levels[2].health, implementation.levels[3].levels[2].health + + + 5-10 Health (Tier 3+) + implementation.levels[4].levels[2].health, implementation.levels[5].levels[2].health, implementation.levels[6].levels[2].health, implementation.levels[7].levels[2].health, implementation.levels[8].levels[2].health, implementation.levels[9].levels[2].health + + + + + + + + + + 0 + 8 + + + 0 + 18 + + + + + + + + + 0 + 8 + + + 0 + 18 + + + + + + + + + 0 + 8 + + + 0 + 18 + + + + + + + + + 0 + 8 + + + 0 + 18 + + + + + + + + + 0 + 8 + + + 0 + 18 + + + + + + + + + 0 + 8 + + + 0 + 18 + + + + + + + + + 0 + 8 + + + 0 + 18 + + + + + + + + + 0 + 8 + + + 0 + 18 + + + + + + + + + 0 + 8 + + + 0 + 18 + + + + + + + + + 0 + 8 + + + 0 + 18 + + + + + + + + Base/Health/Health Bonus 1 + + + Base/Health/Health Base + + 1-4 Health + 0 + 1-4 Health (Tier 2+) + 0 + 1-4 Health (Tier 3+) + 0 + 5-10 Health + 40 + 5-10 Health (Tier 2+) + 0 + 5-10 Health (Tier 3+) + 0 + +
+
+
+ + Base/Health/Health Bonus 2 + + + Base/Health/Health Base + + 1-4 Health + 0 + 1-4 Health (Tier 2+) + 40 + 1-4 Health (Tier 3+) + 0 + 5-10 Health + 40 + 5-10 Health (Tier 2+) + 40 + 5-10 Health (Tier 3+) + 0 + +
+
+
+ + Base/Health/Health Bonus 3 + + + Base/Health/Health Base + + 1-4 Health + 40 + 1-4 Health (Tier 2+) + 40 + 1-4 Health (Tier 3+) + 0 + 5-10 Health + 40 + 5-10 Health (Tier 2+) + 80 + 5-10 Health (Tier 3+) + 0 + +
+
+
+ + Base/Health/Health Bonus 4 + + + Base/Health/Health Base + + 1-4 Health + 40 + 1-4 Health (Tier 2+) + 40 + 1-4 Health (Tier 3+) + 40 + 5-10 Health + 40 + 5-10 Health (Tier 2+) + 80 + 5-10 Health (Tier 3+) + 40 + +
+
+
+ + Base/Health/Health Bonus 5 + + + Base/Health/Health Base + + 1-4 Health + 40 + 1-4 Health (Tier 2+) + 80 + 1-4 Health (Tier 3+) + 40 + 5-10 Health + 40 + 5-10 Health (Tier 2+) + 80 + 5-10 Health (Tier 3+) + 80 + +
+
+
+ + Gear/Gear (+Health) 0 + + + Base/Defense/Defense Bonus (0, 1) +
+
+
+ + Gear/Gear (+Health) 1 + + + + + Base/Defense/Defense Bonus (0, 1) +
+
+ + + Base/Health/Health Bonus 1 +
+
+
+
+
+ + Gear/Gear (+Health) 2 + + + + + Base/Defense/Defense Bonus (2, 3) +
+
+ + + Base/Health/Health Bonus 2 +
+
+
+
+
+ + Gear/Gear (+Health) 3 + + + + + Base/Defense/Defense Bonus (2, 3) +
+
+ + + Base/Health/Health Bonus 3 +
+
+
+
+
+ + Gear/Gear (+Health) 4 + + + + + Base/Defense/Defense Bonus (4, 5) +
+
+ + + Base/Health/Health Bonus 4 +
+
+
+
+
+ + Gear/Gear (+Health) 5 + + + + + Base/Defense/Defense Bonus (4, 5) +
+
+ + + Base/Health/Health Bonus 5 +
+
+
+
+
+ + Gear/Gear 0 + + + Base/Defense/Defense Bonus (0, 1) +
+
+
+ + Gear/Gear 1 + + + Base/Defense/Defense Bonus (0, 1) +
+
+
+ + Gear/Gear 2 + + + Base/Defense/Defense Bonus (0, 1) +
+
+
+ + Gear/Gear 3 + + + Base/Defense/Defense Bonus (0, 1) +
+
+
+ + Gear/Gear 4 + + + Base/Defense/Defense Bonus (0, 1) +
+
+
+ + Gear/Gear 5 + + + Base/Defense/Defense Bonus (0, 1) +
+
+
+ + Gear/Helm 0 + + + Gear/Gear (+Health) 0 +
+
+
+ + Gear/Helm 1 + + + Gear/Gear (+Health) 1 +
+
+
+ + Gear/Helm 2 + + + Gear/Gear (+Health) 2 +
+
+
+ + Gear/Helm 3 + + + Gear/Gear (+Health) 3 +
+
+
+ + Gear/Helm 4 + + + Gear/Gear (+Health) 4 +
+
+
+ + Gear/Helm 5 + + + Gear/Gear (+Health) 5 +
+
+
+ + Weapon/Weapon 0 + + + + + Base/Attack/Attack Bonus (0, 1) +
+
+ + + Base/Charge/Charge Reduction +
+
+
+
+
+ + Weapon/Weapon 1 + + + + + Base/Attack/Attack Bonus (0, 1) +
+
+ + + Base/Charge/Charge Reduction +
+
+
+
+
+ + Weapon/Weapon 2 + + + + + Base/Attack/Attack Bonus (2, 3) +
+
+ + + Base/Charge/Charge Reduction +
+
+
+
+
+ + Weapon/Weapon 3 + + + + + Base/Attack/Attack Bonus (2, 3) +
+
+ + + Base/Charge/Charge Reduction +
+
+
+
+
+ + Weapon/Weapon 4 + + + + + Base/Attack/Attack Bonus (4, 5) +
+
+ + + Base/Charge/Charge Reduction +
+
+
+
+
+ + Weapon/Weapon 5 + + + + + Base/Attack/Attack Bonus (4, 5) +
+
+ + + Base/Charge/Charge Reduction +
+
+
+
+
+
+
\ No newline at end of file diff --git a/rsrc/rsrc/config/manager.properties b/rsrc/rsrc/config/manager.properties new file mode 100644 index 0000000..2c03a50 --- /dev/null +++ b/rsrc/rsrc/config/manager.properties @@ -0,0 +1,71 @@ +# +# $Id: manager.properties 10971 2010-11-30 02:11:50Z mjohnson $ +# +# Configuration manager configuration + +types = global, model, user_interface, scene + +global.classes = com.threerings.tudey.config.ActorConfig, \ + com.threerings.tudey.config.AreaConfig, \ + com.threerings.projectx.dungeon.config.AttackConfig, \ + com.threerings.tudey.config.BehaviorConfig, \ + com.threerings.projectx.shop.config.CatalogConfig, \ + com.threerings.projectx.config.ConversationConfig, \ + com.threerings.opengl.gui.config.CursorConfig, \ + com.threerings.projectx.dungeon.config.DepthScaleConfig, \ + com.threerings.tudey.config.EffectConfig, \ + com.threerings.projectx.config.EmoteConfig, \ + com.threerings.projectx.dungeon.config.FireActionConfig, \ + com.threerings.opengl.gui.config.FontConfig, \ + com.threerings.tudey.config.GroundConfig, \ + com.threerings.projectx.item.config.ItemConfig, \ + com.threerings.projectx.dungeon.config.ItemDepthWeightConfig, \ + com.threerings.projectx.item.config.ItemPropertyConfig, \ + com.threerings.projectx.item.config.LevelTableConfig, \ + com.threerings.opengl.material.config.MaterialConfig, \ + com.threerings.tudey.config.PathConfig, \ + com.threerings.tudey.config.PlaceableConfig, \ + com.threerings.projectx.craft.config.RecipeConfig, \ + com.threerings.projectx.craft.config.RecipePropertyConfig, \ + com.threerings.opengl.compositor.config.RenderEffectConfig, \ + com.threerings.opengl.compositor.config.RenderQueueConfig, \ + com.threerings.opengl.compositor.config.RenderSchemeConfig, \ + com.threerings.tudey.config.SceneGlobalConfig, \ + com.threerings.opengl.renderer.config.ShaderConfig, \ + com.threerings.openal.config.SounderConfig, \ + com.threerings.projectx.dungeon.config.SpawnTableConfig, \ + com.threerings.projectx.dungeon.config.StatusConditionConfig, \ + com.threerings.opengl.gui.config.StyleConfig, \ + com.threerings.opengl.renderer.config.TextureConfig, \ + com.threerings.tudey.config.TileConfig, \ + com.threerings.projectx.item.config.VariantConfig, \ + com.threerings.projectx.item.config.VariantTableConfig, \ + com.threerings.tudey.config.WallConfig + +model.classes = com.threerings.opengl.gui.config.CursorConfig, \ + com.threerings.opengl.gui.config.FontConfig, \ + com.threerings.opengl.material.config.MaterialConfig, \ + com.threerings.opengl.renderer.config.ShaderConfig, \ + com.threerings.opengl.gui.config.StyleConfig, \ + com.threerings.opengl.renderer.config.TextureConfig + +user_interface.classes = com.threerings.opengl.gui.config.CursorConfig, \ + com.threerings.opengl.gui.config.FontConfig, \ + com.threerings.opengl.gui.config.StyleConfig + +scene.classes = com.threerings.tudey.config.ActorConfig, \ + com.threerings.tudey.config.AreaConfig, \ + com.threerings.projectx.shop.config.CatalogConfig, \ + com.threerings.projectx.config.ConversationConfig, \ + com.threerings.tudey.config.EffectConfig, \ + com.threerings.tudey.config.GroundConfig, \ + com.threerings.tudey.config.PathConfig, \ + com.threerings.tudey.config.PlaceableConfig, \ + com.threerings.projectx.dungeon.config.SpawnTableConfig, \ + com.threerings.tudey.config.TileConfig, \ + com.threerings.tudey.config.WallConfig + +resource.classes = com.threerings.opengl.model.config.ModelConfig, \ + com.threerings.opengl.model.config.AnimationConfig, \ + com.threerings.opengl.gui.config.UserInterfaceConfig + diff --git a/rsrc/rsrc/config/material.xml b/rsrc/rsrc/config/material.xml new file mode 100644 index 0000000..d978f10 --- /dev/null +++ b/rsrc/rsrc/config/material.xml @@ -0,0 +1,12352 @@ + + + + + Model/Additive + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + + Fog + + + Fog State Override + implementation.techniques[0].enqueuer.passes[0].fog_state_override + + + + + + Enabled + + Fog State Override + + + + + + Disabled + + Fog State Override + + + + + + Disabled + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Normal + + + Light State Override + implementation.techniques[0].enqueuer.passes[0].light_state_override + + + + + + + Transparent + + + + ONE + true + + + false + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Animated/Additive + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Receives Projections + implementation.techniques[0].receives_projections + + + Divisions S + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.divisions_s + + + Divisions T + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.divisions_t + + + Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.frame.second_operand.value + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + Light State Override + implementation.techniques[0].enqueuer.passes[0].light_state_override + + + + + + + Transparent + + + + ONE + + + false + + + true + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + states[14]._units[0].transform + states[14]._units[0].dirty, states[14]._dirty + + + + + + + + + + + + + + + + + Model/Animated/Masked (Hard) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Receives Projections + implementation.techniques[0].receives_projections + + + Divisions S + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.divisions_s + + + Divisions T + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.divisions_t + + + Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.frame.second_operand.value + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + + + + EQUAL + 1.0 + + + true + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + states[14]._units[0].transform + states[14]._units[0].dirty, states[14]._dirty + + + + + + + + + + + + + + + + + Model/Animated/Opaque + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Receives Projections + implementation.techniques[0].receives_projections + + + Divisions S + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.divisions_s + + + Divisions T + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.divisions_t + + + Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.frame.second_operand.value + + + Light Override + implementation.techniques[0].enqueuer.passes[0].light_state_override + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + + + + true + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + states[14]._units[0].transform + states[14]._units[0].dirty, states[14]._dirty + + + + + + + + + + + + + + + + + Model/Animated/Translucent + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Receives Projections + implementation.techniques[0].receives_projections + + + Divisions S + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.divisions_s + + + Divisions T + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.divisions_t + + + Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.frame.second_operand.value + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + Transparent + + + + ONE_MINUS_SRC_ALPHA + + + false + + + true + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + states[14]._units[0].transform + states[14]._units[0].dirty, states[14]._dirty + + + + + + + + + + + + + + + + + Model/Cube Render/Fresnel + + + Source Index + implementation.techniques[0].enqueuer.passes[0].shader_state.vertex["Source Index"] + + + Dest Index + implementation.techniques[0].enqueuer.passes[0].shader_state.vertex["Dest Index"] + + + + + + + + + + + + + Vertex/Fresnel + + Dest Index + 1.5 + Source Index + 1.0 + + + + Fragment/Fresnel + + + + + + + Cube Render/Default + + Size + 512 + + + + + + + + + + + + + + Model/Cube Render/Reflect + + + Receives Projections + implementation.techniques[0].receives_projections + + + + + + + + + + + + + Cube Render/Default + + Size + 512 + + + + + + + + + + + + + + + + + + + + Model/Cube Render/Refract + + + Source Index + implementation.techniques[0].enqueuer.passes[0].shader_state.vertex["Source Index"] + + + Dest Index + implementation.techniques[0].enqueuer.passes[0].shader_state.vertex["Dest Index"] + + + + + + + + + + + + + Vertex/Refract + + Dest Index + 1.5 + Source Index + 1.0 + + + + Fragment/Refract + + + + + + + Cube Render/Default + + Size + 512 + + + + + + + + + + + + + + Model/Custom/Window Glass/Overlay + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + Light State Override + implementation.techniques[0].enqueuer.passes[0].light_state_override + + + + + + + Transparent + + + + DST_ALPHA + ONE_MINUS_SRC_ALPHA + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + + + + + Model/Custom/Window Glass/Window, city base + + + Texture - Diffuse map + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture["File"] + + + + Mask + + + alpha test + implementation.techniques[0].enqueuer.passes[0].alpha_state + + + + + + Opaque + + alpha test + + + + + + + Masked Hard + + alpha test + + EQUAL + 1.0 + + + + + + Masked Soft + + alpha test + + GEQUAL + 0.75 + ONE_MINUS_SRC_ALPHA + + + + + Opaque + + + Texture - Sphere map + implementation.techniques[0].enqueuer.passes[1].texture_state.units[0].texture["File"] + + + Texture - Sphere mask + implementation.techniques[0].enqueuer.passes[1].texture_state.units[1].texture["File"] + + + Receives Projections + implementation.techniques[0].receives_projections, implementation.techniques[1].receives_projections + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment, implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Normal + + + + + + + + + + + + + 2D/File/Default + + File + + + + + + + + + + ONE + + + 5.0 + 20.0 + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + Medium Detail + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + + + + + Model/DDS/Masked (Soft) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Alpha Threshold + implementation.techniques[0].enqueuer.passes[0].alpha_state.test_ref + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + 1 + + + + GEQUAL + 0.5 + SRC_ALPHA + ONE_MINUS_SRC_ALPHA + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/DDS/Translucent + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + + Fog + + + Fog State Override + implementation.techniques[0].enqueuer.passes[0].fog_state_override + + + + + + Enabled + + Fog State Override + + + + + + Disabled + + Fog State Override + + + + + + On + + + Light Override + implementation.techniques[0].enqueuer.passes[0].light_state_override + + + + + + + Transparent + + + + 1.0 + SRC_ALPHA + ONE_MINUS_SRC_ALPHA + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Decal/Emissive/Additive + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Fog State Override + implementation.techniques[0].enqueuer.passes[0].fog_state_override + + + + + + + Transparent + 1 + + + + ONE + + + false + + + + + + + + + + 2D/File/Default + + File + + + + + + + true + + + + + + + + + Model/Decal/Emissive/Additive (Priority) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + + + + + Transparent + 1 + + + + ONE + + + ALWAYS + false + + + + + + + + + + 2D/File/Default + + File + + + + + + + true + + + + + + + + + Model/Decal/Emissive/Additive (Soft) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Priority + implementation.techniques[0].enqueuer.priority + + + Fog State Override + implementation.techniques[0].enqueuer.passes[0].fog_state_override + + + Priority + implementation.techniques[0].enqueuer.priority + + + + + + + Transparent + 1 + + + + DST_COLOR + ONE + + + false + + + + + + + + + + 2D/File/Default + + File + + + + + + + true + + + + + + + + + Model/Decal/Emissive/Translucent + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + + + + + 1 + + + + ONE_MINUS_SRC_ALPHA + + + false + + + + + + + + + + 2D/File/Default + + File + + + + + + + true + + + + + + + + + Model/Dev/Null + + + Model/Emissive Mapped/Masked (Hard) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[1].texture + + + Emissive + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Cull State + implementation.techniques[0].enqueuer.passes[0].cull_state.face + + + + + + + + + + EQUAL + 1.0 + + + + + + 2D/File/Default + + File + + + + + 1.0, 1.0, 1.0, 0.0 + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + Model/Emissive Mapped/Masked (Soft) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[1].texture + + + Emissive + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Alpha Threshold + implementation.techniques[0].enqueuer.passes[0].alpha_state.test_ref + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[1].environment + + + + + + Normal + + Type + + 1.0, 1.0, 1.0, 0.0 + + + + + + Multiply x2 + + Type + + 1.0, 1.0, 1.0, 0.0 + TWO + + + + + Normal + + + + + + + Transparent + + + + GEQUAL + 0.5 + ONE_MINUS_SRC_ALPHA + + + + + + 2D/File/Default + + File + + + + + 1.0, 1.0, 1.0, 0.0 + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + Model/Emissive Mapped/Opaque + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[1].texture + + + Emissive + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + + + + + + + + + + + 2D/File/Default + + File + + + + + 1.0, 1.0, 1.0, 0.0 + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + Model/Emissive Mapped/Translucent + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Emissive + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Fog Override + implementation.techniques[0].enqueuer.passes[0].fog_state_override + + + + + + + Transparent + + + + ONE_MINUS_SRC_ALPHA + + + false + + + + + + 2D/File/Default + + File + + + + + 1.0, 1.0, 1.0, 0.0 + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + Model/Emissive/Masked (Soft) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Alpha Threshold + implementation.techniques[0].enqueuer.passes[0].alpha_state.test_ref + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + Transparent + + + + GEQUAL + 0.5 + ONE_MINUS_SRC_ALPHA + + + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + Model/Emissive/Opaque + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + + + + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + Model/Emissive/Translucent + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + + Fog + + + Fog State Override + implementation.techniques[0].enqueuer.passes[0].fog_state_override + + + + + + Enabled + + Fog State Override + + + + + + Disabled + + Fog State Override + + + + + + On + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + Transparent + + + + ONE_MINUS_SRC_ALPHA + + + false + + + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + Model/Fragment-Lit/Opaque + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Receives Projections + implementation.techniques[0].receives_projections + + + Coord Set + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].coord_set + + + + Pass Mode + + + Multiply x2 + implementation.techniques[0].enqueuer.passes[0].shader_state.fragment["Multiply x2"] + + + + + + Normal + + Multiply x2 + false + Type + + + + + + + Multiply x2 + + Multiply x2 + true + Type + + TWO + + + + + Multiply x2 + + + + + + + + + + + Vertex/Fragment-Lit/Default + + + Fragment/Fragment-Lit/Diffuse + + Multiply x2 + true + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Gloss Mapped/Opaque + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Receives Projections + implementation.techniques[0].receives_projections + + + Specular Map + implementation.techniques[0].enqueuer.passes[1].texture_state.units[0].texture + + + Specular Color + implementation.techniques[0].enqueuer.passes[1].material_state.specular + + + Shininess + implementation.techniques[0].enqueuer.passes[1].material_state.shininess + + + + + + + + + + 0.0, 0.0, 0.0, 0.0 + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + GEQUAL + 1.0 + DST_COLOR + ONE + + + true + true + 0.0, 0.0, 0.0, 1.0 + 1.0, 1.0, 1.0, 1.0 + 0.0, 0.0, 0.0, 1.0 + 100.0 + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Light State Override/Opaque + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Receives Projections + implementation.techniques[0].receives_projections + + + Coord Set + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].coord_set + + + Light State Override + implementation.techniques[0].enqueuer.passes[0].light_state_override + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + Model/Masked (Hard) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Receives Projections + implementation.techniques[0].receives_projections + + + Light Override + implementation.techniques[0].enqueuer.passes[0].light_state_override + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + + + + EQUAL + 1.0 + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + Model/Masked (Hard, Separate Mask) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Coord Set 1 + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].coord_set + + + Texture - Mask + implementation.techniques[0].enqueuer.passes[0].texture_state.units[1].texture + + + Coord Set 2 + implementation.techniques[0].enqueuer.passes[0].texture_state.units[1].coord_set + + + Receives Projections + implementation.techniques[0].receives_projections + + + Light Override + implementation.techniques[0].enqueuer.passes[0].light_state_override + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + + + + EQUAL + 1.0 + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Masked (Hard, Tinted) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Receives Projections + implementation.techniques[0].receives_projections + + + Color State Override + implementation.techniques[0].enqueuer.passes[0].color_state_override.color + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + + + + EQUAL + 1.0 + + + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + Model/Masked (Soft) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Alpha Threshold + implementation.techniques[0].enqueuer.passes[0].alpha_state.test_ref + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + 1 + + + + GEQUAL + 0.5 + ONE_MINUS_SRC_ALPHA + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + Model/Multiply + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Receives Projections + implementation.techniques[0].receives_projections + + + + + + + Transparent + 1 + + + + DST_COLOR + SRC_COLOR + + + false + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Object Normal Mapped/Opaque + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Normal Map + implementation.techniques[0].enqueuer.passes[0].texture_state.units[1].texture["File"] + + + Receives Projections + implementation.techniques[0].receives_projections + + + Coord Set + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].coord_set + + + + Pass Mode + + + Multiply x2 + implementation.techniques[0].enqueuer.passes[0].shader_state.fragment["Multiply x2"] + + + + + + Normal + + Multiply x2 + false + Type + + + + + + + Multiply x2 + + Multiply x2 + true + Type + + TWO + + + + + Multiply x2 + + + + + + + + + + + Vertex/Object Normal Map/Default + + + Fragment/Object Normal Map/Diffuse + + Multiply x2 + true + + + + + + + + 2D/File/Default + + File + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Opaque + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Receives Projections + implementation.techniques[0].receives_projections + + + Coord Set + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].coord_set + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + Light State Override + implementation.techniques[0].enqueuer.passes[0].light_state_override + + + + + + + + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + Model/Opaque (Specular) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Receives Projections + implementation.techniques[0].receives_projections + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + Specular Color + implementation.techniques[0].enqueuer.passes[0].material_state.specular + + + Shininess + implementation.techniques[0].enqueuer.passes[0].material_state.shininess + + + + + + + + + + true + 1.0, 1.0, 1.0, 1.0 + 48.0 + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + Model/Scrolling/Additive + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Receives Projections + implementation.techniques[0].receives_projections + + + Color State Override + implementation.techniques[0].enqueuer.passes[0].color_state_override + + + S Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.x.second_operand.value + + + T Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.y.second_operand.value + + + Coord Set 1 + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].coord_set + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + 1.0, 1.0, 1.0, 0.0 + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + Transparent + + + + ONE + + + false + + + + + + + true + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + states[14]._units[0].transform + states[14]._units[0].dirty, states[14]._dirty + + + + + + + + + + + + + + + + + + + + + + + Model/Scrolling/Additive (parsed scroll value) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Receives Projections + implementation.techniques[0].receives_projections + + + Scroll Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + 1.0, 1.0, 1.0, 0.0 + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + Light State Override + implementation.techniques[0].enqueuer.passes[0].light_state_override + + + + + + + Transparent + + + + ONE + + + false + + + 20.0 + 40.0 + + + + + true + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + states[14]._units[0].transform + states[14]._units[0].dirty, states[14]._dirty + + + + + + + + + + + + + + + + + + + + + + + Model/Scrolling/Additive Mask + + + Texture Diffuse + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Coord Set - Diffuse + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].coord_set + + + Texture Mask + implementation.techniques[0].enqueuer.passes[0].texture_state.units[1].texture + + + Coord Set - Mask + implementation.techniques[0].enqueuer.passes[0].texture_state.units[1].coord_set + + + Receives Projections + implementation.techniques[0].receives_projections + + + S Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.x.second_operand.value + + + T Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.y.second_operand.value + + + Light State Override + implementation.techniques[0].enqueuer.passes[0].light_state_override + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + Transparent + + + + ONE + + + false + + + + + + + true + + + + 2D/File/Default + + File + + + + + + + + + 2D/File/Default + + File + + + + + + + + + states[14]._units[0].transform + states[14]._units[0].dirty, states[14]._dirty + + + + + + + + + + + + + + + + + + + + + + + Model/Scrolling/Additive Mask (parsed scroll value) + + + Texture Diffuse + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Coord Set - Diffuse + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].coord_set + + + Texture Mask + implementation.techniques[0].enqueuer.passes[0].texture_state.units[1].texture + + + Coord Set - Mask + implementation.techniques[0].enqueuer.passes[0].texture_state.units[1].coord_set + + + Scroll - X axis + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.x.expression + + + Scroll - Y axis + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.y.expression + + + Light State Override + implementation.techniques[0].enqueuer.passes[0].light_state_override + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + Transparent + + + + ONE + + + false + + + + + + + true + + + + 2D/File/Default + + File + + + + + + + + + 2D/File/Default + + File + + + + + + + + + states[14]._units[0].transform + states[14]._units[0].dirty, states[14]._dirty + + + + + + + + + + + + + + + + + + + Model/Scrolling/Additive Mask (with Base) + + + Texture Diffuse + implementation.techniques[0].enqueuer.passes[1].texture_state.units[0].texture + + + Texture Mask + implementation.techniques[0].enqueuer.passes[1].texture_state.units[1].texture + + + S Speed + implementation.techniques[0].enqueuer.passes[1].dynamic_bindings[0].expression.translation.x.second_operand.value + + + T Speed + implementation.techniques[0].enqueuer.passes[1].dynamic_bindings[0].expression.translation.y.second_operand.value + + + Light State Override + implementation.techniques[0].enqueuer.passes[1].light_state_override + + + Texture Base + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + Coord Set (Mask) + implementation.techniques[0].enqueuer.passes[1].texture_state.units[0].coord_set + + + + + + + + + + GEQUAL + 1.0 + + + DISABLED + + + + + + 2D/File/Default + + File + + + + + + + + + + ONE + + + false + + + + + + + true + + + + 2D/File/Default + + File + + + + + + + + + 2D/File/Default + + File + + + + + + + + + states[14]._units[0].transform + states[14]._units[0].dirty, states[14]._dirty + + + + + + + + + + + + + + + + + + + + + + + Model/Scrolling/Additive Mask (with static diffuse) + + + Texture - Base Diffuse (non-scrolling) + implementation.techniques[0].enqueuer.passes[1].texture_state.units[0].texture + + + Texture - Diffuse + implementation.techniques[0].enqueuer.passes[1].texture_state.units[0].texture + + + Texture - Mask + implementation.techniques[0].enqueuer.passes[1].texture_state.units[1].texture + + + Receives Projections + implementation.techniques[0].receives_projections + + + S Speed + implementation.techniques[0].enqueuer.passes[1].dynamic_bindings[0].expression.translation.x.second_operand.value + + + T Speed + implementation.techniques[0].enqueuer.passes[1].dynamic_bindings[0].expression.translation.y.second_operand.value + + + Light State Override + implementation.techniques[0].enqueuer.passes[0].light_state_override, implementation.techniques[0].enqueuer.passes[1].light_state_override + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment, implementation.techniques[0].enqueuer.passes[1].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + Transparent + + + + SRC_ALPHA + ONE_MINUS_SRC_ALPHA + + + + + + 2D/File/Default + + File + + + + + + + + + + ONE + + + false + + + + + + + true + + + + 2D/File/Default + + File + + + + + + + + + 2D/File/Default + + File + + + + + + + + + states[14]._units[0].transform + states[14]._units[0].dirty, states[14]._dirty + + + + + + + + + + + + + + + + + + + + + + + Model/Scrolling/Additive Mask (x2) + + + Texture Diffuse + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Texture Mask + implementation.techniques[0].enqueuer.passes[0].texture_state.units[1].texture + + + Receives Projections + implementation.techniques[0].receives_projections + + + S Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.x.second_operand.value + + + T Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.y.second_operand.value + + + S Speed (Mask) + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[1].expression.translation.x.second_operand.value + + + T Speed (Mask) + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[1].expression.translation.y.second_operand.value + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + Transparent + + + + ONE + + + false + + + + + + + true + + + + + + + + 2D/File/Default + + File + + + + + + + + + states[14]._units[0].transform + states[14]._units[0].dirty, states[14]._dirty + + + + + + + + + + + + + + + states[14]._units[1].transform + states[14]._units[1].dirty, states[14]._dirty + + + + + + + + + + + + + + + + + + + + + + + Model/Scrolling/Opaque + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Receives Projections + implementation.techniques[0].receives_projections + + + S Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.x.second_operand.value + + + T Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.y.second_operand.value + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + + + + true + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + states[14]._units[0].transform + states[14]._units[0].dirty, states[14]._dirty + + + + + + + + + + + + + + + + + + + + + + + Model/Scrolling/Translucent + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Receives Projections + implementation.techniques[0].receives_projections + + + S Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.x.second_operand.value + + + T Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.y.second_operand.value + + + Light State Override + implementation.techniques[0].enqueuer.passes[0].light_state_override + + + Fog State Override + implementation.techniques[0].enqueuer.passes[0].fog_state_override + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + Transparent + + + + ONE_MINUS_SRC_ALPHA + + + false + + + true + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + states[14]._units[0].transform + states[14]._units[0].dirty, states[14]._dirty + + + + + + + + + + + + + + + + + + + + + + + Model/Scrolling/Translucent (parsed scroll value) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Receives Projections + implementation.techniques[0].receives_projections + + + Scroll Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression + + + Light State Override + implementation.techniques[0].enqueuer.passes[0].light_state_override + + + Fog State Override + implementation.techniques[0].enqueuer.passes[0].fog_state_override + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + Transparent + + + + ONE_MINUS_SRC_ALPHA + + + false + + + true + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + states[14]._units[0].transform + states[14]._units[0].dirty, states[14]._dirty + + + + + + + + + + + + + + + + + + + + + + + Model/Scrolling/Translucent Mask + + + Texture Diffuse + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Texture Mask + implementation.techniques[0].enqueuer.passes[0].texture_state.units[1].texture + + + Receives Projections + implementation.techniques[0].receives_projections + + + S Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.x.second_operand.value + + + T Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.y.second_operand.value + + + Light State Override + implementation.techniques[0].enqueuer.passes[0].light_state_override + + + Fog State Override + implementation.techniques[0].enqueuer.passes[0].fog_state_override + + + + + + + Transparent + + + + ONE_MINUS_SRC_ALPHA + + + false + + + true + + + + 2D/File/Default + + File + + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + states[14]._units[0].transform + states[14]._units[0].dirty, states[14]._dirty + + + + + + + + + + + + + + + + + + + + + + + Model/Scrolling/Two-Sided/Additive + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Receives Projections + implementation.techniques[0].receives_projections + + + S Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.x.second_operand.value + + + T Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.y.second_operand.value + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + Transparent + + + + ONE + + + DISABLED + + + false + + + + + + + + + true + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + states[14]._units[0].transform + states[14]._units[0].dirty, states[14]._dirty + + + + + + + + + + + + + + + + + + + + + + + Model/Scrolling/Two-Sided/Masked (Hard) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Receives Projections + implementation.techniques[0].receives_projections + + + S Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.x.second_operand.value + + + T Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.y.second_operand.value + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + + + + EQUAL + 1.0 + + + DISABLED + + + + + true + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + states[14]._units[0].transform + states[14]._units[0].dirty, states[14]._dirty + + + + + + + + + + + + + + + + + + + + + + + Model/Scrolling/Two-Sided/Opaque + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Receives Projections + implementation.techniques[0].receives_projections + + + S Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.x.second_operand.value + + + T Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.y.second_operand.value + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + + + + DISABLED + + + + + true + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + states[14]._units[0].transform + states[14]._units[0].dirty, states[14]._dirty + + + + + + + + + + + + + + + + + + + + + + + Model/Scrolling/Two-Sided/Translucent + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Receives Projections + implementation.techniques[0].receives_projections + + + S Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.x.second_operand.value + + + T Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.y.second_operand.value + + + Light State Override + implementation.techniques[0].enqueuer.passes[0].light_state_override + + + Fog State Override + implementation.techniques[0].enqueuer.passes[0].fog_state_override + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + Transparent + + + + ONE_MINUS_SRC_ALPHA + + + DISABLED + + + false + + + + + true + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + states[14]._units[0].transform + states[14]._units[0].dirty, states[14]._dirty + + + + + + + + + + + + + + + + + + + + + + + Model/Scrolling/Two-Sided/Translucent (parsed scroll value) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Receives Projections + implementation.techniques[0].receives_projections + + + Scroll Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression + + + Light State Override + implementation.techniques[0].enqueuer.passes[0].light_state_override + + + Fog State Override + implementation.techniques[0].enqueuer.passes[0].fog_state_override + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + Transparent + + + + ONE_MINUS_SRC_ALPHA + + + DISABLED + + + false + + + true + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + states[14]._units[0].transform + states[14]._units[0].dirty, states[14]._dirty + + + + + + + + + + + + + + + + + + + + + + + Model/Skinned/Blend + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture, implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].texture + + + Color State Override + implementation.techniques[0].enqueuer.passes[0].color_state_override + + + + + + + Transparent + + + + GEQUAL + SRC_ALPHA + + + + + + + + Vertex/Skin + + + Fragment/Diffuse + + Multiply x2 + false + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Skinned/Masked (Hard) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture, implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].texture + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].shader_state.fragment["Multiply x2"] + + + Environment + implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Environment + + + Type + false + + + + + Multiply x2 + + Environment + + TWO + + Type + true + + + + Normal + + + + + + + + + + EQUAL + 1.0 + + + + Vertex/Skin + + + Fragment/Diffuse + + Multiply x2 + false + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + + + + EQUAL + 1.0 + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Skinned/Masked (Soft) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture, implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].texture + + + Alpha Threshold + implementation.techniques[0].enqueuer.passes[0].alpha_state.test_ref, implementation.techniques[1].enqueuer.passes[0].alpha_state.test_ref + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].shader_state.fragment["Multiply x2"] + + + Environment + implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Environment + + + Type + false + + + + + Multiply x2 + + Environment + + TWO + + Type + true + + + + Normal + + + + + + + Transparent + + + + GEQUAL + 0.5 + + + + Vertex/Skin + + + Fragment/Diffuse + + Multiply x2 + false + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Transparent + + + + GEQUAL + 0.5 + ONE_MINUS_SRC_ALPHA + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Skinned/Opaque + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture, implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].texture + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].shader_state.fragment["Multiply x2"] + + + Environment + implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Environment + + + Type + false + + + + + Multiply x2 + + Environment + + TWO + + Type + true + + + + Normal + + + + + + + + + + 0.0, 0.0, 0.0, 0.0 + + + + Vertex/Skin + + + Fragment/Diffuse + + Multiply x2 + false + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Skinned/Opaque (Specular) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture, implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].texture + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].shader_state.fragment["Multiply x2"] + + + Environment + implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Environment + + + Type + false + + + + + Multiply x2 + + Environment + + TWO + + Type + true + + + + Normal + + + Shininess + implementation.techniques[0].enqueuer.passes[0].material_state.shininess + + + + + + + + + + 1.0, 1.0, 1.0, 1.0 + 48.0 + + + + Vertex/Skin + + + Fragment/Diffuse + + Multiply x2 + false + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + + + + 1.0, 1.0, 1.0, 1.0 + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Skinned/Scrolling/Additive + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture, implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].texture + + + S Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.x.second_operand.value + + + T Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.y.second_operand.value + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].shader_state.fragment["Multiply x2"] + + + Environment + implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Environment + + + Type + false + + + + + Multiply x2 + + Environment + + TWO + + Type + false + + + + Normal + + + + + + + Transparent + + + + ONE + + + DISABLED + + + false + + + + + + + + + + Vertex/Skin + + + Fragment/Diffuse + + Multiply x2 + false + + + + + true + + + + 2D/File/Default + + File + + + + + + + + + + + states[14]._units[0].transform + states[14]._units[0].dirty, states[14]._dirty + + + + + + + + + + + + + + + + + + + + + + + + + + EQUAL + 1.0 + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Skinned/Scrolling/Masked (Hard) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture, implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].texture + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].shader_state.fragment["Multiply x2"] + + + Environment + implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Environment + + + Type + false + + + + + Multiply x2 + + Environment + + TWO + + Type + false + + + + Normal + + + S Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.x.second_operand.value + + + T Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.y.second_operand.value + + + + + + + + + + EQUAL + 1.0 + + + + Vertex/Skin + + + Fragment/Diffuse + + Multiply x2 + false + + + + + + + + 2D/File/Default + + File + + + + + + + + + states[14]._units[0].transform + states[14]._units[0].dirty, states[14]._dirty + + + + + + + + + + + + + + + + + + + + + + + + + + EQUAL + 1.0 + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Skinned/Scrolling/Masked (Hard) (Noise) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture, implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].texture + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].shader_state.fragment["Multiply x2"] + + + Environment + implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Environment + + + Type + false + + + + + Multiply x2 + + Environment + + TWO + + Type + true + + + + Normal + + + S Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.x.second_operand.operand.value + + + T Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.y.second_operand.operand.value + + + + + + + + + + EQUAL + 1.0 + + + + Vertex/Skin + + + Fragment/Diffuse + + Multiply x2 + false + + + + + + + + 2D/File/Default + + File + + + + + + + + + states[14]._units[0].transform + states[14]._units[0].dirty, states[14]._dirty + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + EQUAL + 1.0 + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Skinned/Sphere Mapped/Additive + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture, implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].texture + + + + + + + Transparent + + + + ONE + + + false + + + 15.0 + 30.0 + + + + + + Vertex/Skin + + + Fragment/Diffuse + + Multiply x2 + false + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + + + + + Transparent + + + + GEQUAL + 0.5 + ONE_MINUS_SRC_ALPHA + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + + + + + Model/Skinned/Sphere Mapped/Additive Mask + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture, implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].texture + + + + Mask + + + alpha test + implementation.techniques[0].enqueuer.passes[0].alpha_state, implementation.techniques[1].enqueuer.passes[0].alpha_state + + + + + + Opaque + + alpha test + + + + + + + Masked Hard + + alpha test + + EQUAL + 1.0 + + + + + + Masked Soft + + alpha test + + GEQUAL + 0.75 + ONE_MINUS_SRC_ALPHA + + + + + Opaque + + + Sphere Map + implementation.techniques[0].enqueuer.passes[1].texture_state.units[1].texture["File"], implementation.techniques[1].enqueuer.passes[1].texture_state.units[1].texture["File"] + + + Sphere Mask + implementation.techniques[0].enqueuer.passes[1].texture_state.units[0].texture["File"], implementation.techniques[1].enqueuer.passes[1].texture_state.units[0].texture["File"] + + + Receives Projections + implementation.techniques[0].receives_projections, implementation.techniques[1].receives_projections + + + + Pass Mode + + + Multiply x2 + implementation.techniques[0].enqueuer.passes[0].shader_state.fragment["Multiply x2"] + + + Type + implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Multiply x2 + false + Type + + + + + + + Multiply x2 + + Multiply x2 + true + Type + + TWO + + + + + Normal + + + Cull State + implementation.techniques[0].enqueuer.passes[0].cull_state.face + + + + + + + + + + EQUAL + 1.0 + + + DISABLED + + + + Vertex/Skin + + + Fragment/Diffuse + + Multiply x2 + false + + + + + + + + 2D/File/Default + + File + + + + + + + + + + ONE + + + false + + + + + + Vertex/Skin + + + + + + + 2D/File/Default + + File + + + + + + + + + 2D/File/Default + + File + particle/texture/sheen.png + + + + + + + + + + + + + + + + + + + + + EQUAL + 1.0 + + + DISABLED + + + + + + + + + + + ONE + + + false + + + + + + + + 2D/File/Default + + File + + + + + + + + + 2D/File/Default + + File + particle/texture/sheen.png + + + + + + + + + + + + + + + + + + Model/Skinned/Sphere Mapped/Masked (Soft) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture, implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].texture + + + Alpha Threshold + implementation.techniques[0].enqueuer.passes[0].alpha_state.test_ref, implementation.techniques[1].enqueuer.passes[0].alpha_state.test_ref + + + + + + + Transparent + + + + GEQUAL + 0.5 + ONE_MINUS_SRC_ALPHA + + + + + + Vertex/Skin + + + Fragment/Diffuse + + Multiply x2 + false + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + + + + + Transparent + + + + GEQUAL + 0.5 + ONE_MINUS_SRC_ALPHA + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + + + + + Model/Skinned/Sphere Mapped/Opaque + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture, implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].texture + + + + + + + + + + + + + Vertex/Skin + + + Fragment/Diffuse + + Multiply x2 + false + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + + + + + + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + + + + + Model/Skinned/Sphere Mapped/Translucent + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture, implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].texture + + + + + + + Transparent + + + + ONE_MINUS_SRC_ALPHA + + + false + + + + + + Vertex/Skin + + + Fragment/Diffuse + + Multiply x2 + false + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + + + + + Transparent + + + + GEQUAL + 0.5 + ONE_MINUS_SRC_ALPHA + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + + + + + Model/Skinned/Two-Sided/Emissive Mapped/Masked (Hard) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture, implementation.techniques[1].enqueuer.passes[0].texture_state.units[1].texture + + + Emissive + implementation.techniques[0].enqueuer.passes[0].texture_state.units[1].texture, implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].texture + + + + + + + + + + EQUAL + 1.0 + + + DISABLED + + + + + + Vertex/Skin + + + Fragment/Emissive + + + + + + + 2D/File/Default + + File + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + + + + EQUAL + 1.0 + + + DISABLED + + + + + + + + 2D/File/Default + + File + + + + + 1.0, 1.0, 1.0, 0.0 + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Skinned/Two-Sided/Emissive Mapped/Opaque + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture, implementation.techniques[1].enqueuer.passes[0].texture_state.units[1].texture + + + Emissive + implementation.techniques[0].enqueuer.passes[0].texture_state.units[1].texture, implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].texture + + + + + + + + + + DISABLED + + + + + + Vertex/Skin + + + Fragment/Emissive + + + + + + + 2D/File/Default + + File + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + + + + DISABLED + + + + + + + + 2D/File/Default + + File + + + + + 1.0, 1.0, 1.0, 0.0 + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Skinned/Two-Sided/Masked (Hard) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture, implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].texture + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].shader_state.fragment["Multiply x2"] + + + Environment + implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Environment + + + Type + false + + + + + Multiply x2 + + Environment + + TWO + + Type + true + + + + Normal + + + + + + + + + + EQUAL + 1.0 + + + DISABLED + + + + + + Vertex/Skin + + + Fragment/Diffuse + + Multiply x2 + false + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + + + + EQUAL + 1.0 + + + DISABLED + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Skinned/Two-Sided/Masked (Soft) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture, implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].texture + + + Alpha Threshold + implementation.techniques[0].enqueuer.passes[0].alpha_state.test_ref, implementation.techniques[1].enqueuer.passes[0].alpha_state.test_ref + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].shader_state.fragment["Multiply x2"] + + + Environment + implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Environment + + + Type + false + + + + + Multiply x2 + + Environment + + TWO + + Type + true + + + + Normal + + + + + + + Transparent + + + + GEQUAL + 0.5 + ONE_MINUS_SRC_ALPHA + + + DISABLED + + + + + + Vertex/Skin + + + Fragment/Diffuse + + Multiply x2 + false + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Transparent + + + + GEQUAL + 0.5 + ONE_MINUS_SRC_ALPHA + + + DISABLED + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Skinned/Two-Sided/Opaque + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture, implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].texture + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].shader_state.fragment["Multiply x2"] + + + Environment + implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Environment + + + Type + false + + + + + Multiply x2 + + Environment + + TWO + + Type + true + + + + Normal + + + + + + + + + + DISABLED + + + + + + Vertex/Skin + + + Fragment/Diffuse + + Multiply x2 + false + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + + + + DISABLED + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Skybox/Color Adjust/Animated + + + Texture + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].texture + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Normal + + + Color Override + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].color_state_override + + + Fog Override + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].fog_state_override + + + Light Override + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].light_state_override + + + Divisions S + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].dynamic_bindings[0].expression.divisions_s + + + Divisions T + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].dynamic_bindings[0].expression.divisions_t + + + Speed + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].dynamic_bindings[0].expression.frame.second_operand.value + + + + + + + + + + + + + + + + + + + + + + + 2D/File/Default + + File + + + + + + + + + states[14]._units[0].transform + states[14]._units[0].dirty, states[14]._dirty + + + + + + + + + + + + + Skybox + + + + + + + Model/Skybox/Color Adjust/Masked (Hard) + + + Texture + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].texture + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + + + + + Normal + + + Color Override + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].color_state_override + + + Fog Override + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].fog_state_override + + + Light Override + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].light_state_override + + + + + + + + + + + + + Transparent + + + + EQUAL + 1.0 + + + DISABLED + + + false + + + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + Skybox + + + + + + + Model/Skybox/Color Adjust/Opaque + + + Texture + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].texture + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Normal + + + Color Override + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].color_state_override + + + Fog Override + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].fog_state_override + + + Light Override + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].light_state_override + + + + + + + + + + + + + + + + DISABLED + + + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + Skybox + + + + + + + Model/Skybox/Color Adjust/Translucent + + + Texture + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].texture + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + + + + + Normal + + + Color Override + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].color_state_override + + + Fog Override + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].fog_state_override + + + Light Override + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].light_state_override + + + + + + + + + + + + + Transparent + + + + ONE_MINUS_SRC_ALPHA + + + DISABLED + + + false + + + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + Skybox + + + + + + + Model/Skybox/Color Adjust/Translucent (Scrolling) + + + Texture + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].texture + + + S Speed + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].dynamic_bindings[0].expression.translation.x.second_operand.value + + + T Speed + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].dynamic_bindings[0].expression.translation.y.second_operand.value + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Normal + + + Color Override + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].color_state_override + + + Fog Override + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].fog_state_override + + + Light Override + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].light_state_override + + + + Blend + + + as + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].alpha_state.dest_blend_factor + + + + + + Transparent + + as + ONE_MINUS_SRC_ALPHA + + + + + Additive + + as + ONE + + + + Transparent + + + + + + + + + + + + + Transparent + + + + ONE_MINUS_SRC_ALPHA + + + DISABLED + + + false + + + + + + + true + + + + 2D/File/Default + + File + + + + + + + + + states[14]._units[0].transform + states[14]._units[0].dirty, states[14]._dirty + + + + + + + + + + + + + + + + + + + Skybox + + + + + + + Model/Skybox/Masked (Hard) + + + Texture + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].texture + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Normal + + + Fog State Override + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].fog_state_override + + + Light State Override + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].light_state_override + + + + + + + + + + + + EQUAL + 1.0 + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + Skybox + + + + + + + Model/Skybox/Masked (Hard) (Emmisive) + + + Texture + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[1].texture + + + Emissive + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].texture + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[1].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Normal + + + + + + + + + + + + EQUAL + 1.0 + + + + + + + + 2D/File/Default + + File + + + + + 1.0, 1.0, 1.0, 0.0 + + + + + 2D/File/Default + + File + + + + + + + + + + + Skybox + + + + + + + Model/Skybox/Masked (Soft) + + + Texture + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].texture + + + Alpha Threshold + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].alpha_state.test_ref + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + + + Transparent + + + + GEQUAL + 0.5 + ONE_MINUS_SRC_ALPHA + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + Skybox + + + + + + + Model/Skybox/Multiply + + + Texture + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].texture + + + + + + + + + Transparent + + + + SRC_ALPHA + ONE_MINUS_SRC_ALPHA + + + DISABLED + + + false + + + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + Skybox + + + + + + + Model/Skybox/Opaque + + + Texture + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].texture + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Normal + + + + + + + + + + + + + + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + Skybox + + + + + + + Model/Skybox/Opaque (Emissive) + + + Texture + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].texture + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Normal + + + + + + + + + + + + + + + + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + Skybox + + + + + + + Model/Skybox/Scrolling/Opaque + + + Texture + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].texture + + + Texture Scroll + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].dynamic_bindings[0].expression + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Normal + + + + + + + + + + + + + + + + + + + + + 2D/File/Default + + File + + + + + + + + + states[14]._units[0].transform + states[14]._units[0].dirty, states[14]._dirty + + + + + + + Skybox + + + + + + + Model/Skybox/Scrolling/Translucent + + + Texture + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].texture + + + Enqueuer Priority + implementation.techniques[0].enqueuer.enqueuers[0].priority + + + Texture Scroll + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].dynamic_bindings[0].expression + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + + + + + Normal + + + + + + + + + Transparent + + + + ONE_MINUS_SRC_ALPHA + + + false + + + + + + + + + + 2D/File/Default + + File + + + + + + + + + states[14]._units[0].transform + states[14]._units[0].dirty, states[14]._dirty + + + + + + + Skybox + + + + + + + Model/Skybox/Scrolling/Translucent (Additive) + + + Texture + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].texture + + + Enqueuer Priority + implementation.techniques[0].enqueuer.enqueuers[0].priority + + + Texture Scroll + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].dynamic_bindings[0].expression + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + + + + + Normal + + + + + + + + + Transparent + + + + ONE + + + DISABLED + + + false + + + + + + + + + + 2D/File/Default + + File + + + + + + + + + states[14]._units[0].transform + states[14]._units[0].dirty, states[14]._dirty + + + + + + + Skybox + + + + + + + Model/Skybox/Skinned/Magma - Firestorm + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Normal + + + + + + + + + + + + + + + Transparent + + + + ONE_MINUS_SRC_ALPHA + + + false + + + + + + + + + + 2D/File/Default + + File + world/skybox/castle_firestorm/parts/base_magma.png + + + 1 + + + + 2D/File/Default + + File + world/skybox/castle_firestorm/parts/hotspots.png + + + + 1.0, 0.68235296, 0.2, 1.0 + + 2 + + 0.0 + + + + + + + states[14]._units[0].transform, states[14]._units[1].transform + states[14]._units[0].dirty, states[14]._units[1].dirty, states[14]._dirty + + + + (sin((clock()))*0.05)+(noise1(clock())*0.02) + + + (clock()*0.12)+(noise1(clock())*0.02) + + + + 0.9+(sin(noise1(clock()*0.075))) + + + + + + + + GEQUAL + ONE_MINUS_SRC_ALPHA + + + false + + + + + + + + + + 2D/File/Default (Wrapping) + + File + + Wrap S + CLAMP_TO_EDGE + Wrap T + CLAMP_TO_EDGE + + + 1 + + + + 2D/File/Default (Wrapping) + + File + world/skybox/castle_firestorm/parts/magma_rock.png + Wrap S + REPEAT + Wrap T + CLAMP_TO_EDGE + + + 3 + + + + + + + + Skybox + + + + + + + Model/Skybox/Skinned/Opaque + + + Texture + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].texture, implementation.techniques[1].enqueuer.enqueuers[0].passes[0].texture_state.units[0].texture + + + + Pass Mode + + + Type + implementation.techniques[1].enqueuer.enqueuers[0].passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Normal + + + Pass Mode - Fragment Shader + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].shader_state.fragment["Multiply x2"] + + + + + + + + + + + + + + + + + + + Vertex/Skin + + + Fragment/Diffuse + + Multiply x2 + false + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + Skybox + + + + + + + + + + + + + + + + + + + + + + + + + + + Skybox + + + + + + + Model/Skybox/Skinned/Translucent Mask + + + Texture + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].texture, implementation.techniques[1].enqueuer.enqueuers[0].passes[0].texture_state.units[0].texture + + + Texture - Mask + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[1].texture, implementation.techniques[1].enqueuer.enqueuers[0].passes[0].texture_state.units[1].texture + + + + + + + + + Transparent + + + + ONE_MINUS_SRC_ALPHA + + + + + + + + Vertex/Skin + + + Fragment/Masked + + + + + + + 2D/File/Default + + File + + + + + + + 2D/File/Default + + File + + + + + + + + + + + Skybox + + + + + + + + + Transparent + + + + GEQUAL + SRC_ALPHA + ONE_MINUS_SRC_ALPHA + + + + + + + + + + 2D/File/Default + + File + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + Skybox + + + + + + + Model/Skybox/Translucent + + + Texture + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].texture + + + Enqueuer Priority + implementation.techniques[0].enqueuer.enqueuers[0].priority + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + + + + + Normal + + + + + + + + + Transparent + + + + ONE_MINUS_SRC_ALPHA + + + false + + + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + Skybox + + + + + + + Model/Skybox/Translucent (Additive) + + + Texture + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].texture + + + Enqueuer Priority + implementation.techniques[0].enqueuer.enqueuers[0].priority + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + + + + + Normal + + + + + + + + + Transparent + + + + ONE + + + false + + + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + Skybox + + + + + + + Model/Skybox/Translucent (Blend) + + + Texture + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].texture + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.enqueuers[0].passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Normal + + + + + + + + + Transparent + + + + SRC_ALPHA + ONE_MINUS_SRC_ALPHA + + + false + + + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + Skybox + + + + + + + Model/Specular/Masked (Hard) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Receives Projections + implementation.techniques[0].receives_projections + + + Light Override + implementation.techniques[0].enqueuer.passes[0].light_state_override + + + Specular Color + implementation.techniques[0].enqueuer.passes[0].material_state.specular + + + Shininess + implementation.techniques[0].enqueuer.passes[0].material_state.shininess + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + + + + EQUAL + 1.0 + + + true + 1.0, 1.0, 1.0, 1.0 + 48.0 + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + Model/Specular/Masked (Soft) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Alpha Threshold + implementation.techniques[0].enqueuer.passes[0].alpha_state.test_ref + + + Source Blend + implementation.techniques[0].enqueuer.passes[0].alpha_state.src_blend_factor + + + Specular Color + implementation.techniques[0].enqueuer.passes[0].material_state.specular + + + Shininess + implementation.techniques[0].enqueuer.passes[0].material_state.shininess + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + 1 + + + + GEQUAL + 0.5 + ONE_MINUS_SRC_ALPHA + + + true + 1.0, 1.0, 1.0, 1.0 + 48.0 + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + Model/Specular/Opaque + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Receives Projections + implementation.techniques[0].receives_projections + + + Specular Color + implementation.techniques[0].enqueuer.passes[0].material_state.specular + + + Shininess + implementation.techniques[0].enqueuer.passes[0].material_state.shininess + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + + + + true + 1.0, 1.0, 1.0, 1.0 + 48.0 + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + Model/Specular/Translucent + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + + Fog + + + Fog State Override + implementation.techniques[0].enqueuer.passes[0].fog_state_override + + + + + + Enabled + + Fog State Override + + + + + + Disabled + + Fog State Override + + + + + + Disabled + + + Light Override + implementation.techniques[0].enqueuer.passes[0].light_state_override + + + Specular Color + implementation.techniques[0].enqueuer.passes[0].material_state.specular + + + Shininess + implementation.techniques[0].enqueuer.passes[0].material_state.shininess + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Normal + + + + + + + Transparent + + + + ONE_MINUS_SRC_ALPHA + + + false + + + true + 1.0, 1.0, 1.0, 1.0 + 48.0 + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Sphere Mapped/Additive + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + Transparent + + + + ONE + true + + + false + + + 20.0 + 40.0 + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + + + + + Model/Sphere Mapped/Masked (Soft) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Alpha Threshold + implementation.techniques[0].enqueuer.passes[0].alpha_state.test_ref + + + + + + + Transparent + + + + GEQUAL + 0.5 + ONE_MINUS_SRC_ALPHA + + + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + + + + + Model/Sphere Mapped/Opaque + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + + + + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + + + + + Model/Sphere Mapped/Overlay + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + Light State Override + implementation.techniques[0].enqueuer.passes[0].light_state_override + + + + + + + Transparent + + + + DST_ALPHA + ONE_MINUS_SRC_ALPHA + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + + + + + Model/Sphere Overlay/Additive Mask + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture, implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].texture + + + + Mask + + + alpha test + implementation.techniques[0].enqueuer.passes[0].alpha_state + + + + + + Opaque + + alpha test + + + + + + + Masked Hard + + alpha test + + EQUAL + 1.0 + + + + + + Masked Soft + + alpha test + + GEQUAL + 0.75 + ONE_MINUS_SRC_ALPHA + + + + + Opaque + + + Sphere Map + implementation.techniques[0].enqueuer.passes[1].texture_state.units[0].texture["File"] + + + Sphere Mask + implementation.techniques[0].enqueuer.passes[1].texture_state.units[1].texture + + + Receives Projections + implementation.techniques[0].receives_projections, implementation.techniques[1].receives_projections + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment, implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Normal + + + Cull State + implementation.techniques[0].enqueuer.passes[0].cull_state.face, implementation.techniques[0].enqueuer.passes[1].cull_state.face, implementation.techniques[1].enqueuer.passes[0].cull_state.face + + + + + + + + + + + + + 2D/File/Default + + File + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + + ONE + + + 5.0 + 20.0 + + + + + + 2D/File/Default + + File + particle/texture/sheen.png + + + + + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + Medium Detail + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Sphere Overlay/Additive Mask (Alt) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture, implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].texture + + + + Mask + + + alpha test + implementation.techniques[0].enqueuer.passes[0].alpha_state, implementation.techniques[1].enqueuer.passes[0].alpha_state + + + + + + Opaque + + alpha test + + + + + + + Masked Hard + + alpha test + + EQUAL + 1.0 + + + + + + Masked Soft + + alpha test + + GEQUAL + 0.75 + ONE_MINUS_SRC_ALPHA + + + + + Opaque + + + Sphere Map + implementation.techniques[0].enqueuer.passes[1].texture_state.units[1].texture["File"], implementation.techniques[1].enqueuer.passes[1].texture_state.units[1].texture["File"] + + + Sphere Mask + implementation.techniques[0].enqueuer.passes[1].texture_state.units[0].texture["File"], implementation.techniques[1].enqueuer.passes[1].texture_state.units[0].texture["File"] + + + Receives Projections + implementation.techniques[0].receives_projections, implementation.techniques[1].receives_projections + + + + Pass Mode + + + Type + implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Multiply x2 + false + Type + + + + + + + Multiply x2 + + Multiply x2 + true + Type + + TWO + + + + + Normal + + + Cull State + implementation.techniques[0].enqueuer.passes[0].cull_state.face + + + + + + + + + + EQUAL + 1.0 + + + DISABLED + + + + + + 2D/File/Default + + File + + + + + + + + + + ONE + + + false + + + + + + + + 2D/File/Default + + File + + + + + + + + + 2D/File/Default + + File + particle/texture/sheen.png + + + + + + + + + + + + + + + + + + + EQUAL + 1.0 + + + DISABLED + + + + + + + + + + + ONE + + + false + + + + + + + + 2D/File/Default + + File + + + + + + + + + 2D/File/Default + + File + particle/texture/sheen.png + + + + + + + + + + + + + + + + + + Model/Sphere Overlay/Masked (Soft) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Sphere Map + implementation.techniques[0].enqueuer.passes[0].texture_state.units[1].texture + + + Alpha Threshold + implementation.techniques[0].enqueuer.passes[0].alpha_state.test_ref + + + + + + + Transparent + + + + GEQUAL + 0.5 + ONE_MINUS_SRC_ALPHA + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + 2D/File/Default + + File + + + + + + + + + + + 0.0020, 1.6, 1.0 + 0.70710665, 0.0, 0.0, 0.70710695 + + + + + + + + + + + + + Model/Sphere Overlay/Opaque + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Sphere Map + implementation.techniques[0].enqueuer.passes[0].texture_state.units[1].texture + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Normal + + + + + + + + + + + + + 2D/File/Default + + File + + + + + + + 2D/File/Default + + File + + + + + + + + + + + 0.0, 1.0, 0.0 + + + + + + + + + + + + + Model/Tangent Normal Mapped/Opaque + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Normal Map + implementation.techniques[0].enqueuer.passes[0].texture_state.units[1].texture["File"] + + + Receives Projections + implementation.techniques[0].receives_projections + + + Coord Set + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].coord_set + + + + Pass Mode + + + Multiply x2 + implementation.techniques[0].enqueuer.passes[0].shader_state.fragment["Multiply x2"] + + + + + + Normal + + Multiply x2 + false + Type + + + + + + + Multiply x2 + + Multiply x2 + true + Type + + TWO + + + + + Multiply x2 + + + + + + + + + + + Vertex/Tangent Normal Map/Default + + + Fragment/Tangent Normal Map/Diffuse + + Multiply x2 + true + + + + + + + + 2D/File/Default + + File + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Tinted/Additive + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + + Fog + + + Fog State Override + implementation.techniques[0].enqueuer.passes[0].fog_state_override + + + + + + Enabled + + Fog State Override + + + + + + Disabled + + Fog State Override + + + + + + Disabled + + + Color State Override + implementation.techniques[0].enqueuer.passes[0].color_state_override + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Normal + + + + + + + Transparent + + + + ONE + true + + + + + false + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Tinted/Additive Mask (Scrolling) + + + Texture Diffuse + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Texture Mask + implementation.techniques[0].enqueuer.passes[0].texture_state.units[1].texture + + + Receives Projections + implementation.techniques[0].receives_projections + + + S Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.x.second_operand.value + + + T Speed + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[0].expression.translation.y.second_operand.value + + + S Speed (Mask) + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[1].expression.translation.x.second_operand.value + + + T Speed (Mask) + implementation.techniques[0].enqueuer.passes[0].dynamic_bindings[1].expression.translation.y.second_operand.value + + + Color State Override + implementation.techniques[0].enqueuer.passes[0].color_state_override + + + Light State Override + implementation.techniques[0].enqueuer.passes[0].light_state_override + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + Transparent + + + + ONE + + + false + + + + + + + true + + + + + + + + 2D/File/Default + + File + + + + + + + + + states[14]._units[0].transform + states[14]._units[0].dirty, states[14]._dirty + + + + + + + + + + + + + + + states[14]._units[1].transform + states[14]._units[1].dirty, states[14]._dirty + + + + + + + + + + + + + + + + + + + + + + + Model/Tinted/Masked (Hard) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Color State Override + implementation.techniques[0].enqueuer.passes[0].color_state_override.color + + + Receives Projections + implementation.techniques[0].receives_projections + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + + + + EQUAL + 1.0 + + + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + Model/Tinted/Masked (Soft) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Alpha Threshold + implementation.techniques[0].enqueuer.passes[0].alpha_state.test_ref + + + Color State Override + implementation.techniques[0].enqueuer.passes[0].color_state_override.color + + + Source Blend + implementation.techniques[0].enqueuer.passes[0].alpha_state.src_blend_factor + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + 1 + + + + GEQUAL + 0.5 + ONE_MINUS_SRC_ALPHA + + + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + Model/Tinted/Opaque + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Receives Projections + implementation.techniques[0].receives_projections + + + Color State Override + implementation.techniques[0].enqueuer.passes[0].color_state_override.color + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + + + + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + Model/Tinted/Opaque (Emissive) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Color State Override + implementation.techniques[0].enqueuer.passes[0].color_state_override + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + + + + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + Model/Tinted/Translucent + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + + Fog + + + Fog State Override + implementation.techniques[0].enqueuer.passes[0].fog_state_override + + + + + + Enabled + + Fog State Override + + + + + + Disabled + + Fog State Override + + + + + + On + + + Light Override + implementation.techniques[0].enqueuer.passes[0].light_state_override + + + Color State Override + implementation.techniques[0].enqueuer.passes[0].color_state_override.color + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Normal + + + + + + + Transparent + + + + ONE_MINUS_SRC_ALPHA + + + + + false + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Tinted/Translucent (Solid diffuse, Alpha mask) + + + Texture - Mask + implementation.techniques[0].enqueuer.passes[0].texture_state.units[1].texture + + + Fog State Override + implementation.techniques[0].enqueuer.passes[0].fog_state_override + + + Light Override + implementation.techniques[0].enqueuer.passes[0].light_state_override + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + Transparent + + + + ONE_MINUS_SRC_ALPHA + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Translucent + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + + Fog + + + Fog State Override + implementation.techniques[0].enqueuer.passes[0].fog_state_override + + + + + + Enabled + + Fog State Override + + + + + + Disabled + + Fog State Override + + + + + + + Black + + Fog State Override + + 12.0 + 24.0 + + + + + Disabled + + + Light Override + implementation.techniques[0].enqueuer.passes[0].light_state_override + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Normal + + + + + + + Transparent + + + + ONE_MINUS_SRC_ALPHA + + + false + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Translucent (Priority) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + + Fog + + + Fog State Override + implementation.techniques[0].enqueuer.passes[0].fog_state_override + + + + + + Enabled + + Fog State Override + + + + + + Disabled + + Fog State Override + + + + + + Disabled + + + Light Override + implementation.techniques[0].enqueuer.passes[0].light_state_override + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Normal + + + + + + + Transparent + 1 + + + + ONE_MINUS_SRC_ALPHA + + + ALWAYS + false + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Translucent (Tinted) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + + Fog + + + Fog State Override + implementation.techniques[0].enqueuer.passes[0].fog_state_override + + + + + + Enabled + + Fog State Override + + + + + + Disabled + + Fog State Override + + + + + + On + + + Light Override + implementation.techniques[0].enqueuer.passes[0].light_state_override + + + Color State Override + implementation.techniques[0].enqueuer.passes[0].color_state_override.color + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Normal + + + + Blend + + + Blend Factor + implementation.techniques[0].enqueuer.passes[0].alpha_state.dest_blend_factor + + + + + + Translucent + + Blend Factor + ONE_MINUS_SRC_ALPHA + + + + + Additive + + Blend Factor + ONE + + + + Translucent + + + + + + + Transparent + + + + ONE_MINUS_SRC_ALPHA + + + + + false + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Two-Sided/Additive + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + + Fog + + + Fog State Override + implementation.techniques[0].enqueuer.passes[0].fog_state_override + + + + + + Enabled + + Fog State Override + + + + + + Disabled + + Fog State Override + + + + + + Disabled + + + Light State Override + implementation.techniques[0].enqueuer.passes[0].light_state_override + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Normal + + + + + + + Transparent + + + + ONE + true + + + DISABLED + + + false + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + Model/Two-Sided/Masked (Hard) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + + + + EQUAL + 1.0 + + + DISABLED + + + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + Model/Two-Sided/Masked (Soft) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Alpha Threshold + implementation.techniques[0].enqueuer.passes[0].alpha_state.test_ref + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + Transparent + + + + GEQUAL + 0.5 + ONE_MINUS_SRC_ALPHA + + + DISABLED + + + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + Model/Two-Sided/Opaque + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + Receives Projections + implementation.techniques[0].receives_projections + + + + + + + + + + DISABLED + + + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + Model/Two-Sided/Opaque (Tinted) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + Color State Override + implementation.techniques[0].enqueuer.passes[0].color_state_override.color + + + + + + + + + + + + DISABLED + + + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + Model/Two-Sided/Translucent + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + + Fog + + + Fog State Override + implementation.techniques[0].enqueuer.passes[0].fog_state_override + + + + + + Enabled + + Fog State Override + + + + + + Disabled + + Fog State Override + + + + + + + Black + + Fog State Override + + 12.0 + 24.0 + + + + + On + + + Light Override + implementation.techniques[0].enqueuer.passes[0].light_state_override + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + Transparent + + + + ONE_MINUS_SRC_ALPHA + + + DISABLED + + + false + + + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + Model/Two-Sided/Translucent (Line) + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + + Fog + + + Fog State Override + implementation.techniques[0].enqueuer.passes[0].fog_state_override + + + + + + Enabled + + Fog State Override + + + + + + Disabled + + Fog State Override + + + + + + On + + + Light Override + implementation.techniques[0].enqueuer.passes[0].light_state_override + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].environment + + + + + + Normal + + Type + + + + + + + Multiply x2 + + Type + + TWO + + + + + Multiply x2 + + + + + + + Transparent + + + + ONE_MINUS_SRC_ALPHA + + + DISABLED + + + false + + + + + LINE + LINE + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + Model/Wave/Opaque + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture, implementation.techniques[1].enqueuer.passes[0].texture_state.units[0].texture + + + + Pass Mode + + + Type + implementation.techniques[0].enqueuer.passes[0].shader_state.fragment["Multiply x2"] + + + + + + Normal + + Type + false + + + + + Multiply x2 + + Type + true + + + + Normal + + + Vector 1 + implementation.techniques[0].enqueuer.passes[0].shader_state.vertex["Vector 1"] + + + Frequency 1 + implementation.techniques[0].enqueuer.passes[0].shader_state.vertex["Frequency 1"] + + + Amplitude 1 + implementation.techniques[0].enqueuer.passes[0].shader_state.vertex["Amplitude 1"] + + + Phase 1 + implementation.techniques[0].enqueuer.passes[0].shader_state.vertex["Phase 1"] + + + Vector 2 + implementation.techniques[0].enqueuer.passes[0].shader_state.vertex["Vector 2"] + + + Frequency 2 + implementation.techniques[0].enqueuer.passes[0].shader_state.vertex["Frequency 2"] + + + Amplitude 2 + implementation.techniques[0].enqueuer.passes[0].shader_state.vertex["Amplitude 2"] + + + Phase 2 + implementation.techniques[0].enqueuer.passes[0].shader_state.vertex["Phase 2"] + + + Choppiness + implementation.techniques[0].enqueuer.passes[0].shader_state.vertex["Choppiness"] + + + + + + + + + + 0.0, 0.0, 0.0, 0.0 + + + + Vertex/Wave + + Amplitude 1 + 0.5 + Amplitude 2 + 0.5 + Choppiness + 0.5 + Frequency 1 + 1.0 + Frequency 2 + 1.0 + Phase 1 + 0.0 + Phase 2 + 0.0 + Vector 1 + 6.0, 0.0 + Vector 2 + -2.6226832E-7, 6.0 + + + + Fragment/Diffuse + + Multiply x2 + false + + + + + + + + 2D/File/Default + + File + + + + + + + + + + + + + + + + + + + 2D/File/Default + + File + + + + + TWO + + + + + + + + + + + + + Render Effect/Blend + + + Color + implementation.techniques[0].enqueuer.passes[0].color_state_override.color + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + + + + + + + + SRC_ALPHA + ONE_MINUS_SRC_ALPHA + + + 1.0, 1.0, 1.0, 0.99 + + + ALWAYS + false + + + + + + 2D (Target)/RGBA + + Identity + + + + + + + + + + + + + + + Render Effect/Fragment/Opaque + + + Texture + implementation.techniques[0].enqueuer.passes[0].texture_state.units[0].texture + + + Fragment + implementation.techniques[0].enqueuer.passes[0].shader_state.fragment + + + + + + + + + + ALWAYS + false + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/rsrc/rsrc/config/media/colordefs.dat b/rsrc/rsrc/config/media/colordefs.dat new file mode 100644 index 0000000..6a783bc Binary files /dev/null and b/rsrc/rsrc/config/media/colordefs.dat differ diff --git a/rsrc/rsrc/config/placeable.xml b/rsrc/rsrc/config/placeable.xml new file mode 100644 index 0000000..9a9433f --- /dev/null +++ b/rsrc/rsrc/config/placeable.xml @@ -0,0 +1,28028 @@ + + + + + + + Actor 1x1 + + + Actor + implementation.handlers[0].action.actor, implementation.model["Preview"]["Actor"] + + + + + editor/marker/monster_wave/model.dat + + Colorization + 257 + Preview + + model/wrapper/actorwrapper.dat + + Actor + + + + Wave Number + + + + + + + + + + + + + Camera/Default + + + Transition + implementation.model["Model"]["Transition"] + + + Easing + implementation.model["Model"]["Easing"] + + + Camera + implementation.model["Model"]["Camera"] + + + Extent - X axis + implementation.model["Model"]["Extent"].size_x, implementation.shape.width + + + Extent - Y axis + implementation.model["Model"]["Extent"].size_y, implementation.shape.height + + + Extent - Z axis + implementation.model["Model"]["Extent"].size_z + + + + + model/compound/marked.dat + + Marker Model + + editor/marker/vertex/model.dat + + Model + + world/environment/bounded_camera.dat + + Camera + + + Easing + + + Extent + + 5.0 + + Transition + 0.0 + + + + + + + 0 + 0 + + + + Camera/Fog Influencer + + + Fog + implementation.model["Model"]["State"] + + + Shape Extent + implementation.shape + + + + + model/compound/marked.dat + + Marker Model + + editor/marker/vertex/model.dat + + Model + + world/environment/global_fog.dat + + State + + 12.0 + 24.0 + + + + + + + + 0 + 0 + + + + Character/Dev/Dummy Knight + + + Actor + implementation.handlers[0].action.actor + + + + + editor/billboardknight/model.dat + + + 0.333 + + + + + + Character/Dev/Dummy Knight + + + + + + + + Character/Dev/Shooter + + + Bullet + implementation.handlers[0].action.actor["Bullet"] + + + Interval + implementation.handlers[0].action.actor["Interval"] + + + Tags + implementation.handlers[0].action.actor["Tags"] + + + HP + implementation.handlers[0].action.actor["HP"] + + + + + character/npc/monster/gunpuppy/model.dat + + variant + gold + + + + 0.49 + + + + + + Character/Dev/Shooter + + Bullet + + Bullet/Handgun/Blaster + + HP + 25 + Interval + 1.0 + Tags + Tag! + + + + + + + + + Character/Dev/Talkative Stranger + + + character/npc/stranger/model.dat + + Hat + + character/npc/stranger/hat_mining/model.dat + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + + + + + + + Character/Dev/Talkative Stranger (test) + + Hat + + character/npc/stranger/hat_mining/model.dat + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + + + + + + + + + Character/Knight/Crew, general + + + Actor + implementation.handlers[0].action.actor + + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Gear + Empty + Helmet + Pig Nose + Pack + None + + + + + + + + + + Character/Knight/Crew, table + + + Table + implementation.handlers[0].action.spawn_table + + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Gear + Empty + Helmet + Hood + Pack + None + + + + + + + + + + + + Character/Monster/Beast/Alpha Wolver + + + character/npc/monster/wolver/model.dat + + Aura + + Variant + Wolver Alpha + + + + + + + Monster/Single Family/Beast/Alpha Wolver + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Beast/Ash Tail + + + character/npc/monster/wolver/model.dat + + Aura + + Variant + Ash + + + + + + + Monster/Single Family/Beast/Ash Tail + + Wave Tag + (Wave Tag) + + + + + + + + + Character/Monster/Beast/Chromalisk + + + character/npc/monster/chromalisk/chromalisk_body.dat + + + + + + Monster/Single Family/Beast/Chromalisk + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Beast/Chromalisk Whelp + + + character/npc/monster/chromalisk/chromalisk_body.dat + + + + + + Monster/Single Family/Beast/Chromalisk Whelp + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Beast/Chromalisk Whelp (Tut) + + + character/npc/monster/chromalisk/chromalisk_body.dat + + + + + + Monster/Tutorial/Intro/Chromalisk Whelp + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Beast/Kleptolisk + + + character/npc/monster/chromalisk/chromalisk_body.dat + + + + + + Monster/Single Family/Beast/Kleptolisk + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Beast/Skollver + + + character/npc/monster/wolver/model.dat + + Aura + + Variant + Wolver Alpha + + + + + + + Monster/Single Family/Beast/Scaled - Skolver + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Character/Monster/Beast/Virulisk + + + character/npc/monster/chromalisk/chromalisk_body.dat + + + + + + Monster/Single Family/Beast/Virulisk + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Beast/Wolver + + + character/npc/monster/wolver/model.dat + + Aura + + Variant + Wolver + + + + + + + Monster/Single Family/Beast/Wolver + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Boss/Swarm + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + editor/marker/vertex/model.dat + + + 3.0 + 0.0, 0.0, 0.1 + + + + + character/npc/monster/swarm/parts/ambient_core.dat + + + 0.5 + + + + + + + + + + + Character/NPC/Monster/Boss/Swarm/Swarm + + + + + + + + + Character/Monster/Boss/Vanaduke + + + character/npc/monster/baron/model.dat + + Sheen + Stage1 + Variant + Masked + + + + + + + Character/NPC/Monster/Boss/Vanaduke/Vanaduke Start + + + + + + + + Character/Monster/Construct/Gold Gun Puppy + + + character/npc/monster/gunpuppy/model.dat + + variant + gold + + + + 0.425 + + + + + + Monster/Single Family/Construct/Gold Gun Puppy + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Construct/Gun Puppy + + + character/npc/monster/gunpuppy/model.dat + + variant + green + + + + 0.425 + + + + + + Monster/Single Family/Construct/Gun Puppy + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Construct/Lumber + + + character/npc/monster/lumber/lumber.dat + + + 0.64 + + + + + + Monster/Single Family/Construct/Scaled - Lumber + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Construct/NPC/Energy Knight + + + Actor + implementation.handlers[0].action.actor + + + + + character/npc/monster/mechaknight/model.dat + + Shield + + Weapon + + variant + energy + + + + + + + + + + Character/Monster/Construct/Rocket Puppy + + + character/npc/monster/rocketpuppy/model.dat + + variant + green + + + + 0.425 + + + + + + Monster/Single Family/Construct/Rocket Puppy + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Construct/Tortodrone + + + Wave Tag + implementation.handlers[0].action.spawn_table["Wave Tag"] + + + + + character/npc/monster/tortodrone/tortodrone.dat + + Variant + Idle + + + + + + + Monster/Single Family/Construct/Tortodrone + + Wave Tag + (Wave Tag) + + + + + + + + + Character/Monster/Fiend/Devilite + + + character/npc/monster/devilite/worker_model.dat + + Variant + Worker + Weapon Left + + Weapon Right + + + + + + + + Monster/Single Family/Fiend/Devilite + + Wave Tag + (Wave Tag) + + + + + + + + + Character/Monster/Fiend/Devilite (Manager) + + + character/npc/monster/devilite/model_manager.dat + + Weapon Left + + item/weapon/npc/devilite/model_clipboard.dat + + Weapon Right + + item/weapon/npc/devilite/model_coffee.dat + + + + + + + + Monster/Single Family/Fiend/Scaled - Pit Boss + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Character/Monster/Fiend/Gold Trojan + + + Actor + implementation.handlers[0].action.actor + + + + + character/npc/monster/darkknight/model.dat + + variant + gold + + + + + + + Character/NPC/Monster/Fiend/Gold Trojan/Gold Trojan + + Patrol Tag + (Patrol Tag) + Wave Tag + (Wave Tag) + + + + + + + + + Character/Monster/Fiend/Silkwing + + + character/npc/monster/silkwing/model.dat + + Variant + Dark + + + + 0.4 + + + + + + Monster/Single Family/Fiend/Silkwing + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Fiend/Trojan + + + character/npc/monster/darkknight/model.dat + + variant + trojan + + + + + + + Monster/Single Family/Fiend/Trojan + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Generic/Chance Spawn + + + Spawn Tag + implementation.placeable["Tag"] + + + Spawn Table + implementation.placeable["Action"].spawn_table, implementation.placeable["Model"]["Preview"]["Spawn + Table"] + + + Wave Number + implementation.placeable["Model"]["Wave Number"] + + + + + Trigger/One Time Action + + Action + + + Model + + editor/marker/monster_wave/model.dat + + Colorization + 263 + Preview + + model/wrapper/spawntablewrapper.dat + + Spawn Table + + + + Wave Number + + + + Tag + (Monster Spawn) + + + + + + Character/Monster/Generic/Class Spawn + + + Spawn Tag + implementation.placeable["Tag"] + + + Spawn Table + implementation.placeable["Action"].spawn_table, implementation.placeable["Model"]["Preview"]["Spawn + Table"] + + + Wave Number + implementation.placeable["Model"]["Wave Number"] + + + + + Trigger/One Time Action + + Action + + + Model + + editor/marker/monster_wave/model.dat + + Colorization + 263 + Preview + + model/wrapper/spawntablewrapper.dat + + Spawn Table + + + + Wave Number + + + + Tag + (Monster Spawn) + + + + + + Character/Monster/Generic/Rare Spawn + + + Spawn Tag + implementation.placeable["Tag"] + + + Spawn Table + implementation.placeable["Action"].spawn_table, implementation.placeable["Model"]["Preview"]["Spawn + Table"] + + + Wave Number + implementation.placeable["Model"]["Wave Number"] + + + + + Trigger/One Time Action + + Action + + + Model + + editor/marker/monster_wave/model.dat + + Colorization + 268 + Preview + + model/wrapper/spawntablewrapper.dat + + Spawn Table + + + + Wave Number + + + + Tag + (Monster Spawn) + + + + + + Character/Monster/Generic/Single Spawn + + + Spawn Tag + implementation.placeable["Tag"] + + + Spawn Table + implementation.placeable["Action"].spawn_table, implementation.placeable["Model"]["Preview"]["Spawn Table"] + + + Wave Number + implementation.placeable["Model"]["Wave Number"] + + + + + Trigger/One Time Action + + Action + + + Model + + editor/marker/monster_wave/model.dat + + Colorization + 259 + Preview + + model/wrapper/spawntablewrapper.dat + + Spawn Table + + + + Wave Number + + + + Tag + (Monster Spawn) + + + + + + Character/Monster/Generic/Subset Spawn + + + Tag + implementation.tags.tags[0] + + + Wave Number + implementation.model["Wave Number"] + + + + + editor/marker/monster_wave/model.dat + + Colorization + 274 + Preview + + Wave Number + + + + + (tag 1) + + + + + Character/Monster/Generic/Wave Spawn + + + Spawn Tag + implementation.placeable["Tag"] + + + Spawn Table + implementation.placeable["Action"].spawn_table, implementation.placeable["Model"]["Preview"]["Spawn Table"] + + + Wave Number + implementation.placeable["Model"]["Wave Number"] + + + + + Trigger/One Time Action + + Action + + + Model + + editor/marker/monster_wave/model.dat + + Colorization + 261 + Preview + + model/wrapper/spawntablewrapper.dat + + Spawn Table + + + + Wave Number + + + + Tag + (Spawn Tag) + + + + + + Character/Monster/Gremlin/Ironclaw Demo + + + character/npc/monster/gremlin/demo/model.dat + + Weapon + + item/weapon/npc/mine_windup/model.dat + + Variant + Orange + + + variant + pink + + + + + + + Monster/Single Family/Gremlin/Ironclaw Demo + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Gremlin/Ironclaw Mender + + + character/npc/monster/gremlin/mender/model.dat + + variant + pink + + + + + + + Monster/Single Family/Gremlin/Ironclaw Mender + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Gremlin/Ironclaw Thwacker + + + character/npc/monster/gremlin/thwacker/model.dat + + variant + pink + + + + + + + Monster/Single Family/Gremlin/Ironclaw Thwacker + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Slime/Blast Cube + + + character/npc/monster/blastcube/model.dat + + Variant + Blast Cube + + + + + + + Monster/Single Family/Slime/Blast Cube + + + + + + + + Character/Monster/Slime/Brute Cube + + + character/npc/monster/jellycube/model.dat + + Trail + + variant + blue + + + + + + + Monster/Single Family/Slime/Brute Cube + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Slime/Jelly Cube + + + character/npc/monster/jellycube/model.dat + + Trail + + variant + pink + + + + + + + Monster/Single Family/Slime/Jelly Cube + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Slime/Jelly Cube (Tut) + + + character/npc/monster/jellycube/model.dat + + Trail + + variant + pink + + + + + + + Monster/Tutorial/Intro/Jelly Cube + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Slime/Jelly Green Giant + + + character/npc/monster/jellycube/model.dat + + Trail + + variant + green + + + + + + + Monster/Single Family/Slime/Jelly Green Giant + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Slime/Soul Jelly + + + character/npc/monster/souljelly/model.dat + + + + + + Monster/Single Family/Slime/Soul Jelly + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Slime/Toxigel + + + character/npc/monster/lichen/model.dat + + Core + + character/npc/monster/lichen/ambient_cores.dat + + Core Count + 1 + Size + 0.12 + + + Variant + toxigel + + + + 0.4 + + + + + + Monster/Single Family/Slime/Toxigel + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Undead/Black Kat + + + character/npc/monster/spookat/model.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.2 + Range + Short + + + variant + black + + + + + + + Monster/Single Family/Undead/Black Kat + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Undead/Bloogato + + + character/npc/monster/spookat/model.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.2 + Range + Short + + + variant + blue + + + + + + + Monster/Single Family/Undead/Scaled - Bloogato + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Undead/Dust Zombie + + + character/npc/monster/zombie/model.dat + + Variant + Dust + + + + 0.6 + + + + + + Monster/Single Family/Undead/Dust Zombie + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Undead/Hurkat + + + character/npc/monster/spookat/model.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.2 + Range + Short + + + variant + green + + + + + + + Monster/Single Family/Undead/Scaled - Hurkat + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Undead/Mewkat + + + character/npc/monster/spookat/model.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.6 + Range + Short + + + variant + white + + + + + + + Monster/Single Family/Undead/Mewkat + + Tag + (Wave Tag) + + + + + + + + + Character/Monster/Undead/NPC/Spookat + + + Actor + implementation.handlers[0].action.actor + + + + + character/npc/monster/spookat/model.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 1.2 + Range + Medium + + + variant + pink + + + + + + + + + + Character/Monster/Undead/Spookat + + + character/npc/monster/spookat/model.dat + + Sound - Ambient + + Custom/Monsters/Spookats/Aura, ghostly + + Pitch + 4.0 + Range + Short + + + variant + pink + + + + + + + Monster/Single Family/Undead/Spookat + + Tag + (Wave Tag) + + + + + + + + + Character/Snipe/Snipe, Fly + + + Color 1 + implementation.handlers[0].action.actor["Color 1"], implementation.model["Color 1"] + + + Scale + implementation.handlers[0].action.actor["Scale"] + + + + + character/npc/snipe/parts/model_lowres.dat + + Color 1 + 1289 + + + + 0.4 + + + + + + Character/NPC/Snipe/Snipe, Fly + + Color 1 + 1289 + Scale + 1.0 + + + + + + + + + Character/Snipe/Snipe, Walk + + + Color 1 + implementation.handlers[0].action.actor["Color 1"], implementation.model["Color 1"] + + + Scale + implementation.handlers[0].action.actor["Scale"] + + + + + character/npc/snipe/parts/model_lowres.dat + + Color 1 + 1291 + + + + 0.33 + + + + + + Character/NPC/Snipe/Snipe, Walk + + Color 1 + 1291 + Scale + 1.0 + + + + + + + + + Character/Sprite/Nature Sprite (Cursed) + + + character/npc/sprite/model.dat + + Variant + Cursed + + + + + + + Character/NPC/Nature Sprite/Nature Sprite (Cursed) + + Wave Tag + (Wave Tag) + + + + + + + + + Character/Sprite/Nature Sprite (Wander) + + + character/npc/sprite/model.dat + + Variant + Wolver + + + + + + + Character/NPC/Nature Sprite/Nature Sprite (Wander) + + Wave Tag + (Wave Tag) + + + + + + + + + Character/Stranger/Stranger, general + + + Actor + implementation.handlers[0].action.actor + + + + + character/npc/stranger/model.dat + + Colors + Drab-Steel + Hat + + Pack + + Robes + hexagons + Snipes + None + + + + + + + + + + Character/Stranger/Stranger, merchant + + + Actor + implementation.handlers[0].action.actor + + + + + character/npc/stranger/model.dat + + Colors + Red-Grey + Hat + + character/npc/stranger/mask/model.dat + + Variant + Weapon + + + Pack + + Robes + Merchant Tabard + Snipes + None + + + + + + + + + + Dev/Floor Label + + + Model + implementation.model + + + Text + implementation.model["Text"] + + + + + model/compound/label_floor/label_floor.dat + + Text + room_battle_EW_3w_01 + + + + + + + 0.5 + + + + + + + + + 0 + 0 + + + + Dev/Label - Prefab + + + Text + implementation.model["Models"][0].model["Text"] + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + model/debug/label_prefab_indicator.dat + + Text + room_battle_EW_3w_01 + + + + + + model/conditional/marker.dat + + Model + + editor/marker/generic_selectors/box_2x1.dat + + Color State Override + + 0.24313726, 0.23921569, 0.4, 0.5 + + + + + + + + + + + 2.0 + + + + + Dev/Viewer Affector + + + Model + implementation.model + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + model/conditional/marker.dat + + Model + + editor/marker/vertex/model.dat + + + + + + + model/viewer/bgcolor.dat + + Color + 0.80784315, 0.8509804, 0.9490196, 1.0 + Extent + + 20.0 + 20.0 + 40.0 + + + + + + + + + + + + 0.5 + + + 2.8725E-41 + + + + + + + -2.8725E-41 + + + + + 0 + 0 + + + + Dynamic/Barrier/Force Field + + + world/dynamic/forcefield/model.dat + + Model + middle(blue) + + + + + 192 + 0 + + + + Dynamic/Barrier/Force Field (cap) + + + world/dynamic/forcefield/model.dat + + Model + cap + + + 192 + 0 + + + + Dynamic/Barrier/Force Field (end) + + + world/dynamic/forcefield/model.dat + + Model + end(blue) + + + + + + + 0.5 + + + 0.25, 0.0 + + + + + 192 + 0 + + + + Dynamic/Barrier/Force Field (endfull) + + + world/dynamic/forcefield/model.dat + + Model + endfull(blue) + + + + + 192 + 0 + + + + Dynamic/Barrier/Force Field x3 + + + world/dynamic/forcefield/compound_x3.dat + + + 2.95 + + 192 + 0 + + + + Dynamic/Barrier/Force Field x5 + + + world/dynamic/forcefield/compound_x5.dat + + + 4.95 + + 192 + 0 + + + + Dynamic/Barrier/One-Way Wall + + + world/dynamic/forcefield/compound_x3.dat + + + 3.0 + + + + + + Dynamic/Barrier/One-Way Wall + + + + + + + + Dynamic/Barrier/Sub-town Force Field + + + world/dynamic/forcefield/subtown/model.dat + + + 5.0 + + + + + + Dynamic/Barrier/Sub-town Force Field + + + + + + + + Dynamic/Block/Base + + + Model + implementation.model + + + Actor + implementation.handlers[0].action.actor + + + + + world/dynamic/block/explosive/model.dat + + + 0.98 + 0.98 + + + + + + Block/Explosive + + + + + + + + Dynamic/Block/Base, Table + + + Model + implementation.model + + + Action + implementation.handlers[0].action + + + + + 0.98 + 0.98 + + + + + + + + + + + Dynamic/Block/Base, Table, random facing + + + Model + implementation.model + + + Spawn Table + implementation.handlers[0].action.fire_action["Spawn Table"] + + + + + world/dynamic/block/explosive/model.dat + + + 0.98 + 0.98 + + + + + + Base/Table Spawn (random 4-directional facing) + + Spawn Table + + + + + + + + + + Dynamic/Block/Base, random facing + + + Model + implementation.model + + + Actor + implementation.handlers[0].action.fire_action["Actor"] + + + + + world/dynamic/block/explosive/model.dat + + + 0.98 + 0.98 + + + + + + Base/Spawn Actor (random 4-directional facing) + + Actor + + + + + + + + + + Dynamic/Block/Breakable/Castle + + + Dynamic/Block/Base + + Actor + + Block/Breakable/Castle + + Model + + world/dynamic/block/breakable/castle_base/model.dat + + Texture + world/dynamic/block/breakable/castle_base/breakable.png + + + + + + + + Dynamic/Block/Breakable/Castle, Fire + + + Dynamic/Block/Base, random facing + + Actor + + Block/Breakable/Castle, Firestorm + + Model + + world/dynamic/block/breakable/castle_fire/breakable.dat + + + + + + + Dynamic/Block/Breakable/Catacombs + + + Dynamic/Block/Base + + Actor + + Block/Breakable/Catacombs + + Model + + world/dynamic/block/breakable/castle_base/model.dat + + Texture + world/dynamic/block/breakable/castle_catacomb/breakable.png + + + + + + + + Dynamic/Block/Breakable/City, Base + + + Dynamic/Block/Base + + Actor + + Block/Breakable/City, Base + + Model + + world/dynamic/block/breakable/city_base/breakable.dat + + + + + + + Dynamic/Block/Breakable/Clockworks, base + + + Dynamic/Block/Base, Table, random facing + + Model + + world/dynamic/block/breakable/clockworks/model_breakable.dat + + Texture + world/dynamic/block/breakable/clockworks/base.png + + + Spawn Table + + Block/Theme Variants {stc}/Breakable/Clockworks + + + + + + + Dynamic/Block/Breakable/Graveyard + + + Dynamic/Block/Base + + Actor + + Block/Breakable/Graveyard + + Model + + world/dynamic/block/breakable/castle_base/model.dat + + Texture + world/dynamic/block/breakable/graveyard/breakable.png + + + + + + + + Dynamic/Block/Breakable/Haven + + + Dynamic/Block/Base + + Actor + + Block/Breakable/Haven + + Model + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Normal + + + + + + + + Dynamic/Block/Breakable/Random/Castle, base + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Block/Breakable, Random/Castle, base + + + Model + + world/dynamic/block/breakable/sky_islands_day/breakable.dat + + Variant + Breakable - Sky Islands, Night + + + + + + + + Dynamic/Block/Breakable/Random/City, base + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Block/Breakable, Random/City, base + + + Model + + world/dynamic/block/breakable/sky_islands_day/breakable.dat + + Variant + Breakable - Sky Islands, Night + + + + + + + + Dynamic/Block/Breakable/Random/Clockworks, base + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Base/Table Spawn (random 4-directional facing) + + Spawn Table + + Block/Breakable, Random/Clockworks, base + + + + + Model + + world/dynamic/block/breakable/sky_islands_day/breakable.dat + + Variant + Breakable - Sky Islands, Day + + + + + + + + Dynamic/Block/Breakable/Random/Clockworks, base (Respawn) + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Base/Table Spawn (random 4-directional facing) + + Spawn Table + + Block/Breakable, Random/Clockworks, base (Respawn) + + + + + Model + + world/dynamic/block/breakable/sky_islands_day/breakable.dat + + Variant + Breakable - Sky Islands, Night + + + + + + + + Dynamic/Block/Breakable/Random/Shrub + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Block/Breakable, Random/Shrub + + + Model + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Normal + + + + + + + + Dynamic/Block/Breakable/Random/Sky Islands, Night + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Block/Breakable, Random/Sky Islands, Night + + + Model + + world/dynamic/block/breakable/sky_islands_day/breakable.dat + + Variant + Breakable - Sky Islands, Day + + + + + + + + Dynamic/Block/Breakable/Random/WhiteSpace, base + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Block/Breakable, Random/WhiteSpace, base + + + Model + + world/dynamic/block/breakable/sky_islands_day/breakable.dat + + Variant + Breakable - Sky Islands, Day + + + + + + + + Dynamic/Block/Breakable/Shrub + + + Dynamic/Block/Base + + Actor + + Block/Breakable/Shrub + + Model + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Graveyard + + + + + + + + Dynamic/Block/Breakable/Sky Islands, Day + + + Dynamic/Block/Base + + Actor + + Block/Breakable/Sky Islands, Day + + Destruction fx variant + Sky Islands Day (default) + Variant + Sky Islands, Day + + + Model + + world/dynamic/block/breakable/sky_islands_day/breakable_2.dat + + Variant + Sky Islands, Day + + + + + + + + Dynamic/Block/Breakable/Sky Islands, Night + + + Dynamic/Block/Base + + Actor + + Block/Breakable/Sky Islands, Night + + Model + + world/dynamic/block/breakable/sky_islands_day/breakable_2.dat + + Variant + Breakable - Sky Islands, Night + + + + + + + + Dynamic/Block/Breakable/WhiteSpace + + + Dynamic/Block/Base + + Actor + + Block/Breakable/WhiteSpace + + Model + + world/dynamic/block/whitespace/model_breakable.dat + + Variant + Breakable + + + + + + + + Dynamic/Block/Breakable/WhiteSpace (Switch) + + + Actor + implementation.placeable["Actor"]["Actor"] + + + + + Dynamic/Block/Base + + Actor + + Block/Breakable/WhiteSpace (Switch) + + Actor + + Dynamic/Switch/Button/WhiteSpace/One-Time + + (On Signal) + (On Signal) + (On Tag) + (On Tag) + Tag + (Button Tag) + + + + + Model + + model/compound/marked.dat + + Marker Model + + editor/marker/vertex/model.dat + + Model + + + + + + + + + Dynamic/Block/Crystal/Blue + + + Dynamic/Block/Base + + Actor + + Block/Crystal/Blue + + Model + + world/dynamic/block/starlink/model.dat + + Color + blue + + + + + + + + Dynamic/Block/Crystal/Gold + + + Dynamic/Block/Base + + Actor + + Block/Crystal/Gold + + Model + + world/dynamic/block/starlink/model.dat + + Color + gold + + + + + + + + Dynamic/Block/Crystal/Gray + + + Dynamic/Block/Base + + Actor + + Block/Crystal/Gray + + Model + + world/dynamic/block/starlink/model.dat + + Color + gray + + + + + + + + Dynamic/Block/Crystal/Green + + + Dynamic/Block/Base + + Actor + + Block/Crystal/Green + + Model + + world/dynamic/block/starlink/model.dat + + Color + green + + + + + + + + Dynamic/Block/Crystal/Pink + + + Dynamic/Block/Base + + Actor + + Block/Crystal/Pink + + Model + + world/dynamic/block/starlink/model.dat + + Color + pink + + + + + + + + Dynamic/Block/Crystal/Purple + + + Dynamic/Block/Base + + Actor + + Block/Crystal/Purple + + Model + + world/dynamic/block/starlink/model.dat + + Color + purple + + + + + + + + Dynamic/Block/Crystal/Random/Any Color + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Block/Crystal, Random/Any Color + + + Model + + world/dynamic/block/starlink/model.dat + + Color + Red + + + + + + + + Dynamic/Block/Crystal/Random/Blue + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Block/Crystal, Random/Blue + + + Model + + world/dynamic/block/starlink/model.dat + + Color + blue + + + + + + + + Dynamic/Block/Crystal/Random/Gold + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Block/Crystal, Random/Gold + + + Model + + world/dynamic/block/starlink/model.dat + + Color + gold + + + + + + + + Dynamic/Block/Crystal/Random/Gray + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Block/Crystal, Random/Gray + + + Model + + world/dynamic/block/starlink/model.dat + + Color + gray + + + + + + + + Dynamic/Block/Crystal/Random/Green + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Block/Crystal, Random/Green + + + Model + + world/dynamic/block/starlink/model.dat + + Color + green + + + + + + + + Dynamic/Block/Crystal/Random/Pink + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Block/Crystal, Random/Pink + + + Model + + world/dynamic/block/starlink/model.dat + + Color + pink + + + + + + + + Dynamic/Block/Crystal/Random/Purple + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Block/Crystal, Random/Purple + + + Model + + world/dynamic/block/starlink/model.dat + + Color + purple + + + + + + + + Dynamic/Block/Explosive + + + Dynamic/Block/Base + + Actor + + Block/Explosive + + Model + + world/dynamic/block/explosive/model.dat + + + + + + + Dynamic/Block/Explosive (WhiteSpace) + + + Dynamic/Block/Base + + Actor + + Block/Explosive (WhiteSpace) + + Model + + world/dynamic/block/whitespace/model_breakable.dat + + Variant + Explosive + + + + + + + + Dynamic/Block/Explosive Timed + + + Dynamic/Block/Base + + Actor + + Block/Explosive Timed + + Model + + world/dynamic/block/explosive_timed/model.dat + + + + + + + Dynamic/Block/Gathering/Chance Shrub 1 + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Treasure/Gathering/Actor Spawn/Shrub Chance 1 + + + Model + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Normal + + + + + + + + Dynamic/Block/Gathering/Chance Shrub 2 + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Treasure/Gathering/Actor Spawn/Shrub Chance 2 + + + Model + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Normal + + + + + + + + Dynamic/Block/Gathering/Chance Shrub 3 + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Treasure/Gathering/Actor Spawn/Shrub Chance 3 + + + Model + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Normal + + + + + + + + Dynamic/Block/Gathering/Junk 1 + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Treasure/Gathering/Actor Spawn/Shrub Spawn 1 + + + Model + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Normal + + + + + + + + Dynamic/Block/Gathering/Mineral 1 + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Treasure/Gathering/Actor Spawn/Mineral Spawn 1 + + + Model + + world/dynamic/block/gather/rock/model.dat + + Variant + Normal + + + + + + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + + Model + implementation.model + + + Action + implementation.handlers[0].action + + + + + 0.98 + 0.98 + + + + + + + + + + + Dynamic/Block/Gathering/Relic 1 + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Treasure/Gathering/Actor Spawn/Shrub Spawn 1 + + + Model + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Normal + + + + + + + + Dynamic/Block/Gathering/Shrub 1 + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Treasure/Gathering/Actor Spawn/Shrub Spawn 1 + + + Model + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Normal + + + + + + + + Dynamic/Block/Gathering/Shrub 2 + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Treasure/Gathering/Actor Spawn/Shrub Spawn 2 + + + Model + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Normal + + + + + + + + Dynamic/Block/Gathering/Shrub 3 + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Treasure/Gathering/Actor Spawn/Shrub Spawn 3 + + + Model + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Normal + + + + + + + + Dynamic/Block/Ghost + + + Dynamic/Block/Base + + Actor + + Block/Ghost + + Model + + world/dynamic/block/ghostlink/model.dat + + + + + + + Dynamic/Block/Ghost (WhiteSpace) + + + Dynamic/Block/Base + + Actor + + Block/Ghost (WhiteSpace) + + Model + + world/dynamic/block/whitespace/model_breakable.dat + + Variant + Ghost + + + + + + + + Dynamic/Block/Mineral/Class {tb}/Generic Mineral + + + Group + implementation.placeable["Action"].spawn_table["Group"] + + + Loot Table + implementation.placeable["Action"].spawn_table + + + + + Dynamic/Block/Mineral/Parts/Mineral Base + + Action + + + Block/Mineral/Generic {stc} + + Group + + + + + Model + + world/dynamic/block/mineral node/model_placeable.dat + + Color + mineral-Random + + + + + + + + Dynamic/Block/Mineral/Crimsonite + + + Dynamic/Block/Mineral/Parts/Mineral Base + + Action + + + Block/Mineral/Crimsonite Node + + + Model + + world/dynamic/block/mineral node/model_placeable.dat + + Color + Red + + + + + + + + Dynamic/Block/Mineral/Dark Matter + + + Dynamic/Block/Mineral/Parts/Mineral Base + + Action + + + Block/Mineral/Dark Matter Node + + + Model + + world/dynamic/block/mineral node/model_placeable.dat + + Color + mineral-Dark + + + + + + + + Dynamic/Block/Mineral/Luminite + + + Dynamic/Block/Mineral/Parts/Mineral Base + + Action + + + Block/Mineral/Luminite Node + + + Model + + world/dynamic/block/mineral node/model_placeable.dat + + Color + mineral-Light + + + + + + + + Dynamic/Block/Mineral/Moonstone + + + Dynamic/Block/Mineral/Parts/Mineral Base + + Action + + + Block/Mineral/Moonstone Node + + + Model + + world/dynamic/block/mineral node/model_placeable.dat + + Color + mineral-Blue + + + + + + + + Dynamic/Block/Mineral/Parts/Mineral Base + + + Model + implementation.model + + + Action + implementation.handlers[0].action + + + + + world/dynamic/block/mineral node/model_placeable.dat + + Color + Red + + + + 0.98 + 0.98 + + + + + + + + + + + Dynamic/Block/Mineral/Random Mineral + + + Dynamic/Block/Mineral/Parts/Mineral Base + + Action + + + Block/Mineral/Random Mineral Node + + + Model + + world/dynamic/block/mineral node/model_placeable.dat + + Color + mineral-Random + + + + + + + + Dynamic/Block/Mineral/Valestone + + + Dynamic/Block/Mineral/Parts/Mineral Base + + Action + + + Block/Mineral/Valestone Node + + + Model + + world/dynamic/block/mineral node/model_placeable.dat + + Color + mineral-Green + + + + + + + + Dynamic/Block/Monster/Monster (WhiteSpace) + + + Dynamic/Block/Base + + Actor + + Block/Monster (WhiteSpace) + + Model + + world/dynamic/block/whitespace/model_breakable.dat + + Variant + Monster + + + + + + + + Dynamic/Block/Monster/Monster 1 + + + Dynamic/Block/Base + + Actor + + Block/Monster + + Spawn Table + + Block/Monster Block/Monster 1 + + + + Model + + world/dynamic/block/monster/model.dat + + + + + + + Dynamic/Block/Stone + + + Dynamic/Block/Base + + Actor + + Block/Stone + + Model + + world/dynamic/block/stone/parts/model_set.dat + + Model + mesh_block00 + + + + + + + + Dynamic/Block/Treasure/Aurora Isles + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Aurora Isles/Aurora Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Aurora Isles, Rare + + + Dynamic/Block/Base + + Actor + + Block/Treasure, Rare + + Color + Red + Spawn Table + + Treasure/Block/Aurora Isles/Aurora, Rare + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Treasure/Battle Arena + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Battle Arena/Battle Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Battle Arena, Rare + + + Dynamic/Block/Base + + Actor + + Block/Treasure, Rare + + Color + Red + Spawn Table + + Treasure/Block/Battle Arena/Battle, Rare + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Treasure/Class {tb}/Treasure + + + Loot Table + implementation.placeable["Action"].spawn_table["Normal Treasure"]["Loot"], implementation.placeable["Action"].spawn_table["Rare Treasure"]["Loot"] + + + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Treasure Block Base + + Normal Treasure + + Treasure/Block/Treasure, Normal + + Loot + + Treasure/Block/Class {stc}/Class Loot + + + + Rare Treasure + + Treasure/Block/Treasure, Rare + + Loot + + Treasure/Block/Class {stc}/Class Loot + + + + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Class {tb}/Treasure, Rare + + + Loot Table + implementation.placeable["Actor"]["Spawn Table"]["Loot"] + + + + + Dynamic/Block/Base + + Actor + + Block/Treasure + + Color + Red + Spawn Table + + Treasure/Block/Treasure, Rare + + Loot + + Treasure/Block/Class {stc}/Class Loot + + + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Treasure/Clockwork Tunnels + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Clockwork Tunnels/Clockwork Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Clockwork Tunnels, Rare + + + Dynamic/Block/Base + + Actor + + Block/Treasure + + Color + Red + Spawn Table + + Treasure/Block/Clockwork Tunnels/Clockwork, Rare + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Treasure/Concrete Jungle + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Concrete Jungle/Concrete Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Concrete Jungle, Rare + + + Dynamic/Block/Base + + Actor + + Block/Treasure, Rare + + Color + Red + Spawn Table + + Treasure/Block/Concrete Jungle/Concrete, Rare + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Treasure/Deconstruction Zone + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Deconstruction Zone/Deconstruction Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Deconstruction Zone, Rare + + + Dynamic/Block/Base + + Actor + + Block/Treasure + + Color + Red + Spawn Table + + Treasure/Block/Deconstruction Zone/Deconstruction, Rare + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Treasure/Devilish Drudgery + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Devilish Drudgery/Devilish Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Devilish Drudgery, Rare + + + Dynamic/Block/Base + + Actor + + Block/Treasure + + Color + Red + Spawn Table + + Treasure/Block/Devilish Drudgery/Devilish, Rare + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Treasure/Energy + + + Dynamic/Block/Base + + Actor + + Block/Energy Block + + Spawn Table + + Treasure/Block/Treasure Vault/Treasure, Normal + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Firestorm Citadel + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Firestorm Citadel/Firestorm Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Firestorm Citadel, Rare + + + Dynamic/Block/Base + + Actor + + Block/Treasure + + Color + Red + Spawn Table + + Treasure/Block/Firestorm Citadel/Firestorm, Rare + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Treasure/Graveyard + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Graveyard/Graveyard Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Graveyard, Rare + + + Dynamic/Block/Base + + Actor + + Block/Treasure, Rare + + Color + Red + Spawn Table + + Treasure/Block/Graveyard/Graveyard, Rare + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Treasure/Hearts + + + Dynamic/Block/Base, Table + + Action + + + Block/Treasure, Health + + Color + Pink + Spawn Table + + Treasure/Health/Treasure Health, Hearts + + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Pink + + + + + + + + Dynamic/Block/Treasure/Jigsaw Valley + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Aurora Isles/Aurora Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Jigsaw Valley, Rare + + + Dynamic/Block/Base + + Actor + + Block/Treasure, Rare + + Color + Red + Spawn Table + + Treasure/Block/Aurora Isles/Aurora, Rare + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Treasure/Lichenous Lair + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Lichenous Lair/Lichenous Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Lichenous Lair, Rare + + + Dynamic/Block/Base + + Actor + + Block/Treasure + + Color + Red + Spawn Table + + Treasure/Block/Lichenous Lair/Lichenous, Rare + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Treasure/Lost Castle + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Scarlet Fortress/Scarlet Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Scarlet Fortress + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Scarlet Fortress/Scarlet Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Scarlet Fortress, Rare + + + Dynamic/Block/Base + + Actor + + Block/Treasure + + Color + Red + Spawn Table + + Treasure/Block/Scarlet Fortress/Scarlet, Rare + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Treasure/Silent Metropolis + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Devilish Drudgery/Devilish Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Starlight Cradle + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Starlight Cradle/Starlight Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Starlight Cradle, Rare + + + Dynamic/Block/Base + + Actor + + Block/Treasure + + Color + Red + Spawn Table + + Treasure/Block/Starlight Cradle/Starlight, Rare + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Treasure/Training Grounds + + + Dynamic/Block/Base + + Actor + + Block/Treasure + + Color + Green + Spawn Table + + Treasure/Block/Training Grounds/Training Block + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Treasure Vault + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Treasure Vault/Treasure, Normal + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Treasure Vault, Rare + + + Dynamic/Block/Base + + Actor + + Block/Treasure + + Color + Red + Spawn Table + + Treasure/Block/Treasure Vault/Treasure, Rare + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Treasure/Tutorial + + + Dynamic/Block/Base + + Actor + + Block/Treasure + + Color + Green + Spawn Table + + Treasure/Block/Tutorial + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/WhiteSpace + + + Dynamic/Block/Base + + Actor + + Block/Treasure + + Color + Green + Spawn Table + + Treasure/Block/WhiteSpace/WhiteSpace Block + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Wolver Den + + + Dynamic/Block/Base, Table + + Action + + + Treasure/Block/Wolver Den/Wolver Block + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Green + + + + + + + + Dynamic/Block/Treasure/Wolver Den, Rare + + + Dynamic/Block/Base + + Actor + + Block/Treasure + + Color + Red + Spawn Table + + Treasure/Block/Wolver Den/Wolver, Rare + + + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + + + Dynamic/Block/Unbreakable/Castle + + + Dynamic/Block/Base + + Actor + + Block/Unbreakable/Castle + + Model + + world/dynamic/block/unbreakable/castle_base/model.dat + + + + + + + Dynamic/Block/Unbreakable/Castle, Fire + + + Dynamic/Block/Base, random facing + + Actor + + Block/Unbreakable/Castle, Firestorm + + Model + + world/dynamic/block/unbreakable/castle_firestorm/unbreakable.dat + + + + + + + Dynamic/Block/Unbreakable/Catacombs + + + Dynamic/Block/Base + + Actor + + Block/Unbreakable/Catacombs + + Model + + world/dynamic/block/unbreakable/castle_catacomb/model.dat + + + + + + + Dynamic/Block/Unbreakable/City, Base + + + Dynamic/Block/Base + + Actor + + Block/Unbreakable/City, Base + + Model + + world/dynamic/block/unbreakable/city_base/unbreakable.dat + + Texture + world/dynamic/block/unbreakable/city_base/unbreakable.png + + + + + + + + Dynamic/Block/Unbreakable/Clockworks, base + + + Dynamic/Block/Base + + Actor + + Block/Unbreakable/Clockworks, base + + Model + + world/dynamic/block/unbreakable/city_base/unbreakable.dat + + Texture + world/dynamic/block/unbreakable/clockworks/base.png + + + + + + + + Dynamic/Block/Unbreakable/Graveyard + + + Dynamic/Block/Base + + Actor + + Block/Unbreakable/Graveyard + + Model + + world/dynamic/block/unbreakable/graveyard/model.dat + + + + + + + Dynamic/Block/Unbreakable/Haven + + + Dynamic/Block/Base + + Actor + + Block/Unbreakable/Outershell + + Model + + world/dynamic/block/unbreakable/outershell/outershell_unbreak.dat + + + + + + + Dynamic/Block/Unbreakable/Sky Islands, Day + + + Dynamic/Block/Base + + Actor + + Block/Unbreakable/Sky Islands, Day + + Variant + Unbreakable - Sky Islands, Day + + + Model + + world/dynamic/block/breakable/sky_islands_day/breakable_2.dat + + Variant + Unbreakable - Sky Islands, Day + + + + + + + + Dynamic/Block/Unbreakable/Sky Islands, Night + + + Dynamic/Block/Base + + Actor + + Block/Unbreakable/Sky Islands, Night + + Model + + world/dynamic/block/breakable/sky_islands_day/breakable_2.dat + + Variant + Unbreakable - Sky Islands, Night + + + + + + + + Dynamic/Block/Unbreakable/WhiteSpace + + + Dynamic/Block/Base + + Actor + + Block/Unbreakable/WhiteSpace + + Model + + world/dynamic/block/whitespace/model_unbreakable.dat + + + + + + + Dynamic/Breakable Objects/Castle, Fire/Barricade, 2-tile + + + world/prop/castle_fire/barricade.dat + + Model + barricade_x2 + + + + 0.5 + 1.4 + + + + + + Dynamic/Breakable Objects/Castle, Firestorm/Barricade, wooden + + + + + + + + Dynamic/Breakable Objects/Castle, Fire/Brazier, ground + + + world/prop/structural/brazier_ground/model.dat + + Texture + world/prop/structural/brazier_ground/skin_firestorm.png + + + + 0.4 + + + + + + Dynamic/Breakable Objects/Castle, Firestorm/Brazier, ground + + + + + + + + Dynamic/Breakable Objects/Castle, Fire/Brazier, tall + + + world/prop/structural/brazier_tall/model.dat + + Texture + world/prop/structural/brazier_ground/skin_firestorm.png + + + + 0.4 + + + + + + Dynamic/Breakable Objects/Castle, Firestorm/Brazier, tall + + + + + + + + Dynamic/Breakable Objects/Castle/Brazier, ground + + + world/prop/structural/brazier_ground/model.dat + + Texture + world/prop/structural/brazier_ground/skin_brass.png + + + + 0.4 + + + + + + Dynamic/Breakable Objects/Castle/Brazier, ground + + + + + + + + Dynamic/Breakable Objects/Castle/Brazier, tall + + + world/prop/structural/brazier_tall/model.dat + + Texture + world/prop/structural/brazier_ground/skin_brass.png + + + + 0.4 + + + + + + Dynamic/Breakable Objects/Castle/Brazier, tall + + + + + + + + Dynamic/Breakable Objects/City/Fire Hydrant + + + world/prop/city_base/firehydrant.dat + + + 0.44 + + + + + + Dynamic/Breakable Objects/City, Base/Fire hydrant + + + + + + + + Dynamic/Breakable Objects/City/Mailbox + + + world/prop/city_base/mailbox.dat + + + + + + + + Dynamic/Breakable Objects/City, Base/Mailbox + + + + + + + + Dynamic/Breakable Objects/Clockworks/Bucket o bolts + + + Dynamic/Block/Gathering/Parts/Base(Gather) + + Action + + + Treasure/Gathering/Shrub A1 + + + Model + + world/prop/gremlin/bucket_01_content.dat + + + + + + + Dynamic/Breakable Objects/Clockworks/Bucket, empty + + + world/prop/gremlin/bucket_01.dat + + Attachment + + + + + + + + Dynamic/Breakable Objects/Clockworks/Bucket o bolts + + + + + + + + Dynamic/Breakable Objects/Graveyard/Brazier, ground + + + world/prop/structural/brazier_ground/model.dat + + + 0.4 + + + + + + Dynamic/Breakable Objects/Castle/Brazier, ground + + + + + + + + Dynamic/Breakable Objects/Graveyard/Brazier, tall + + + world/prop/structural/brazier_tall/model.dat + + + 0.4 + + + + + + Dynamic/Breakable Objects/Castle/Brazier, tall + + + + + + + + Dynamic/Breakable Objects/Gremlin/Lockers - tall, 01 + + + world/prop/gremlin/locker_1.dat + + + 2.0 + 0.9 + + + + + + Dynamic/Breakable Objects/Gremlins/Locker - 1 + + + + + + + + Dynamic/Breakable Objects/Gremlin/Lockers - tall, 02 + + + world/prop/gremlin/locker_2.dat + + + 2.0 + 0.9 + + + + + + Dynamic/Breakable Objects/Gremlins/Locker - 2 + + + + + + + + Dynamic/Breakable Objects/Heat Objects/Ember Well, large + + + world/prop/structural/ember_well/model.dat + + + 0.8 + + + + + + Dynamic/Breakable Objects/Heat Objects/Ember Well, large + + + + + + + + Dynamic/Breakable Objects/Heat Objects/Ember Well, small + + + world/prop/structural/ember_well/model.dat + + + 0.4 + + + + + + Dynamic/Breakable Objects/Heat Objects/Ember Well, small + + + + + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 1, blue + + + world/prop/sky_islands_day/shrub_new1.dat + + Model + shrub_01 + Variant + Blue + + + + 0.3 + + + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 1 + + Model + shrub_01 + Variant + Blue + + + + + + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 1, green + + + world/prop/sky_islands_day/shrub_new1.dat + + Model + shrub_01 + Variant + Sky Islands Day - variant + + + + 0.3 + + + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 1, day variant + + Model + shrub_01 + Variant + Sky Islands Day - variant + + + + + + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 1, yellow-green + + + world/prop/sky_islands_day/shrub_new1.dat + + Model + shrub_01 + Variant + Green + + + + 0.3 + + + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 1, yellow-green + + + + + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 2, blue + + + world/prop/sky_islands_day/shrub_new1.dat + + Model + shrub_02 + Variant + Sky Islands Day - Blue + + + + 0.3 + + + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 2 + + + + + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 2, green + + + world/prop/sky_islands_day/shrub_new1.dat + + Model + shrub_02 + Variant + Sky Islands Day - variant + + + + 0.3 + + + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 2, day variant + + + + + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 2, yellow-green + + + world/prop/sky_islands_day/shrub_new1.dat + + Model + shrub_02 + Variant + Green + + + + 0.3 + + + + + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 2, yellow-green + + + + + + + + Dynamic/Dev - Cory Tests/Bumper + + + world/dynamic/signmodule/model.dat + + Variant + General + + + + 0.4 + + + + + + 6.0 + 7 + false + + 0 + + 8.0, 0.0 + 800 + 5 + + + + + 0 + + + + Dynamic/Dev - Cory Tests/Hazard Tile + + + world/dynamic/signmodule/model.dat + + Variant + Shop + + + + + + + 4.0 + 7 + + + + + 0 + 0 + + + + Dynamic/Dev - Cory Tests/Shape Tester + + + Model + implementation.model + + + + + model/conditional/marker.dat + + Model + + editor/marker/vertex/model.dat + + + + + + + + 1.75 + + + 2.25, 0.0 + + + + + 2.25 + + + 0.0, 2.5 + + + + + 2.25 + + + 0.0, -2.5 + + + + + 4.0 + 10.0 + + + 0.0, 7.0 + + + + + 4.0 + 10.0 + + + 0.0, -7.0 + + + + + 4.0 + + + + + 12.0 + + + + + + + + + 8.0 + 8.0 + + + 12.0 + + + -8.0 + 8.0 + + + + + + + 10.0 + 10.0 + + + 0.0, -7.5 + 4.17563E-6 + + + + + 0 + 0 + + + + Dynamic/Dev - Cory Tests/Trap - Land mine + + + item/weapon/npc/mine_windup/model.dat + + Variant + Orange + + + + + + + Dynamic/Dev - Cory Tests/Trap - Land mine + + + + + + + + Dynamic/Door/Iron Gate/Base + + + Model + implementation.model + + + Shape + implementation.shape + + + Actor + implementation.handlers[0].action.actor + + + + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Normal + + + + 5.0 + + + (Door Tag) + + + + + + Door/Iron Gate/Trigger 5 + + Open + false + Tag + Door + Variant + Normal + + + + + + + + + Dynamic/Door/Iron Gate/Energy 3 + + + Tag + implementation.placeable["Actor"]["Tag"] + + + Energy Cost + implementation.placeable["Actor"]["Energy Cost"] + + + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/Iron Gate/Energy 3 + + Energy Cost + 0 + Tag + Door + + + Model + + world/dynamic/door/irongate/3wide/energy.dat + + Shape + + 3.0 + + + + + + + Dynamic/Door/Iron Gate/Energy 5 + + + Tag + implementation.placeable["Actor"]["Tag"] + + + Energy Cost + implementation.placeable["Actor"]["Energy Cost"] + + + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/Iron Gate/Energy 5 + + Energy Cost + 0 + Tag + Door + + + Model + + world/dynamic/door/irongate/5wide/energy.dat + + Shape + + 5.0 + + + + + + + Dynamic/Door/Iron Gate/Gold 3 + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/Iron Gate/Gold 3 + + Tag + (Gold Door) + + + Model + + world/dynamic/door/irongate/3wide/model.dat + + Variant + Locked (Gold) + + + Shape + + 3.0 + + + + + + + Dynamic/Door/Iron Gate/Gold 5 + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/Iron Gate/Gold 5 + + Tag + (Gold Door) + + + Model + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Locked (Gold) + + + Shape + + 5.0 + + + + + + + Dynamic/Door/Iron Gate/Monster 3 + + + Tag + implementation.placeable["Actor"]["Tag"] + + + Open + implementation.placeable["Actor"]["Open"] + + + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/Iron Gate/Monster 3 + + Open + false + Tag + (Door Tag) + Variant + Monster + + + Model + + world/dynamic/door/irongate/3wide/model.dat + + Variant + Monster + + + Shape + + 3.0 + + + + + + + Dynamic/Door/Iron Gate/Monster 5 + + + Tag + implementation.placeable["Actor"]["Tag"] + + + Open + implementation.placeable["Actor"]["Open"] + + + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/Iron Gate/Monster 5 + + Open + false + Tag + (Door Tag) + Variant + Monster + + + Model + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Monster + + + Shape + + 5.0 + + + + + + + Dynamic/Door/Iron Gate/Multi Trigger 3 + + + Tag + implementation.placeable["Actor"]["Tag"] + + + Open + implementation.placeable["Actor"]["Open"] + + + Triggers + implementation.placeable["Actor"]["Triggers"] + + + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/Iron Gate/Multi Trigger 3 + + Open + false + Tag + (Door Tag) + Triggers + 2 + Variant + Normal + + + Model + + world/dynamic/door/irongate/3wide/model.dat + + Variant + Normal + + + Shape + + 3.0 + + + + + + + Dynamic/Door/Iron Gate/Multi Trigger 5 + + + Tag + implementation.placeable["Actor"]["Tag"] + + + Open + implementation.placeable["Actor"]["Open"] + + + Triggers + implementation.placeable["Actor"]["Triggers"] + + + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/Iron Gate/Multi Trigger 5 + + Open + false + Tag + (Door Tag) + Triggers + 2 + Variant + Normal + + + Model + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Normal + + + Shape + + 5.0 + + + + + + + Dynamic/Door/Iron Gate/Silver 3 + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/Iron Gate/Energy 3 + + Tag + Door + + + Model + + world/dynamic/door/irongate/3wide/model.dat + + Variant + Locked (Silver) + + + Shape + + 3.0 + + + + + + + Dynamic/Door/Iron Gate/Silver 5 + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/Iron Gate/Energy 5 + + Tag + Door + + + Model + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Locked (Silver) + + + Shape + + 5.0 + + + + + + + Dynamic/Door/Iron Gate/Trigger 3 + + + Tag + implementation.placeable["Actor"]["Tag"] + + + Open + implementation.placeable["Actor"]["Open"] + + + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/Iron Gate/Trigger 3 + + Open + false + Tag + (Door Tag) + Variant + Normal + + + Model + + world/dynamic/door/irongate/3wide/model.dat + + Variant + Normal + + + Shape + + 3.0 + + + + + + + Dynamic/Door/Iron Gate/Trigger 5 + + + Tag + implementation.placeable["Actor"]["Tag"] + + + Open + implementation.placeable["Actor"]["Open"] + + + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/Iron Gate/Trigger 5 + + Open + false + Tag + (Door Tag) + Variant + Normal + + + Model + + world/dynamic/door/irongate/5wide/model.dat + + Variant + Normal + + + Shape + + 5.0 + + + + + + + Dynamic/Door/WhiteSpace/Gold 3 + + + Tag + implementation.placeable["Actor"]["Tag"] + + + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/WhiteSpace/Gold 3 + + Tag + (Door Tag) + + + Model + + world/dynamic/door/whitespace/model_x3.dat + + Variant + Locked (Gold) + + + Shape + + 3.0 + + + + + + + Dynamic/Door/WhiteSpace/Monster 3 + + + Tag + implementation.placeable["Actor"]["Tag"] + + + Open + implementation.placeable["Actor"]["Open"] + + + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/WhiteSpace/Monster 3 + + Open + false + Tag + (Door Tag) + Variant + Monster + + + Model + + world/dynamic/door/whitespace/model_x3.dat + + Variant + Monster + + + Shape + + 3.0 + + + + + + + Dynamic/Door/WhiteSpace/Multi Trigger 3 + + + Tag + implementation.placeable["Actor"]["Tag"] + + + Open + implementation.placeable["Actor"]["Open"] + + + Triggers + implementation.placeable["Actor"]["Triggers"] + + + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/WhiteSpace/Multi Trigger 3 + + Open + false + Tag + (Door Tag) + Triggers + 2 + Variant + Normal + + + Model + + world/dynamic/door/whitespace/model_x3.dat + + Variant + Normal + + + Shape + + 3.0 + + + + + + + Dynamic/Door/WhiteSpace/Trigger 3 + + + Tag + implementation.placeable["Actor"]["Tag"] + + + Open + implementation.placeable["Actor"]["Open"] + + + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/WhiteSpace/Trigger 3 + + Open + false + Tag + (Door Tag) + Variant + Normal + + + Model + + world/dynamic/door/whitespace/model_x3.dat + + Variant + Normal + + + Shape + + 3.0 + + + + + + + Dynamic/Elevator/AB Access + + + world/dynamic/elevator/next/model.dat + + Variant + Down + + + + + + + 4.25 + + + 0.0, 2.0 + + + + + 0.75 + + + 1.75, 1.0 + + + + + 0.75 + + + -1.75, 1.0 + + + + + + + + + + + 0 + + + + Dynamic/Elevator/Base/Elevator + + + Actor + implementation.actor + + + + + world/dynamic/elevator/univeral/model.dat + + Colorizations + + + 2 + + -0.207 + -0.165 + + + + 3 + + -0.383 + 0.338 + -0.692 + + + + Cost + 10 + Icon + ui/icon/gate/arrow_down.png + + + + + + + 4.55 + 1.15 + + + 0.0, 2.0 + + + + + 0.75 + 0.95 + + + 1.9, 1.0 + + + + + 0.75 + 0.95 + + + -1.9, 1.0 + + + + + + Dynamic/Elevator/Next Floor + + + + + Dynamic/Elevator/Haven + + + Dynamic/Elevator/Base/Elevator + + Actor + + Dynamic/Elevator/Haven + + + + + + + Dynamic/Elevator/Next Floor + + + Dynamic/Elevator/Base/Elevator + + Actor + + Dynamic/Elevator/Next Floor + + + + + + + Dynamic/Elevator/Next Floor (Subtown) + + + Dynamic/Elevator/Base/Elevator + + Actor + + Dynamic/Elevator/Next Floor (Subtown) + + + + + + + Dynamic/Elevator/Start Platform + + + Tag + implementation.tags.tags[0] + + + Default Entrance + implementation.default_entrance + + + + true + + world/dynamic/elevator/univeral/model_start.dat + + 0 + + + + Dynamic/Energy Objects/Auto Turret, default + + + Tags + implementation.tags.tags, implementation.handlers[0].action.actor["Tags"] + + + + + world/dynamic/energy/crate_01.dat + + + 0.96 + 0.96 + + + + + + Dynamic/Energy-Consuming Objects/Crates/Crate - Auto Turret, default + + Tags + autoturret + + + + + + + + + Dynamic/Energy Objects/Bodyguard, sword + + + character/npc/monster/mechaknight/parts/model_deadwhole.dat + + + 0.45 + + + + + + Dynamic/Energy-Consuming Objects/Bodyguard/Bodyguard - sword + + + + + + + + Dynamic/Energy Objects/Energy Door 3 + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/Iron Gate/Silver 3 + + Model + + world/dynamic/door/clockwork/3wide/model.dat + + Shape + + 3.0 + + + + + + + Dynamic/Energy Objects/Energy Door 5 + + + Dynamic/Door/Iron Gate/Base + + Actor + + Door/Iron Gate/Silver 5 + + Model + + world/dynamic/door/clockwork/5wide/model.dat + + Shape + + 5.0 + + + + + + + Dynamic/Energy Objects/Manual Turret + + + editor/marker/monster_wave/model.dat + + Colorization + 276 + Preview + + Wave Number + Manual Turret + + + + + + Dynamic/Energy Objects/Vending Machine + + + Variant + implementation.model["Variant"] + + + + + world/dynamic/energy/vendingmachine_01.dat + + Colorization + Red (default) + Cost + 5 + Variant + Capsule + + + + 1.48 + 1.24 + + + + + + + + + Dynamic/Energy Objects/Vending Machine Clickable + + + + + + Dynamic/Energy-Consuming Objects/Vending Machine, base + + + + + + + + Dynamic/Gate/Gate Display + + + Gate Index + implementation.handlers[0].action.actor["Gate Index"] + + + + + world/dynamic/gates/arcade_pillar/model.dat + + Blue + 0.0 + Dark + 0.0 + Green + 0.0 + Light + 0.0 + Red + 0.0 + Teir1 Ring1 + + Teir1 Ring2 + + Teir2 Ring1 + + Teir2 Ring2 + + Teir3 Ring1 + + Teir3 Ring2 + + Tray + + + + + + + + + + Dynamic/Gate/Gate Display + + Gate Index + 0 + + + + + + + + + Dynamic/Gates/Arcade Dropbox + + + Gate Index + implementation.handlers[0].action.gate_index, implementation.gate_index + + + + + world/dynamic/gates/dropbox/model.dat + + + + + + 3.0 + 2.0 + + + 0.0, 1.0 + + + + + + + + + + + 0 + + world/dynamic/gates/dropbox/model.dat + + + world/dynamic/gates/dropbox/model.dat + + + + + Dynamic/Gates/Arcade Monitor + + + Gate Index + implementation.gate_index + + + + + world/dynamic/gates/monitordropbox/model.dat + + Texture + + 2D/File/Colorized (Multiple)/Default (NoMipmap) + + Colorizations + + + 2 + + -0.207 + -0.165 + -0.021 + + + + 3 + + -0.383 + 0.338 + -0.692 + + + + File + ui/icon/map/knight.png + + + Variant + Tv + + + + + + + 2.0 + 2.0 + + + 0.0, 1.0 + + + + + 0 + Texture + + world/dynamic/gates/monitordropbox/model.dat + + Texture + + 2D/File/Colorized (Multiple)/Default (NoMipmap) + + Colorizations + + + 2 + + -0.207 + -0.165 + -0.021 + + + + 3 + + -0.383 + 0.338 + -0.692 + + + + File + ui/icon/map/knight.png + + + Variant + Tv + + + + world/dynamic/gates/monitordropbox/model.dat + + Texture + + 2D/File/Colorized (Multiple)/Default (NoMipmap) + + Colorizations + + + 2 + + -0.207 + -0.165 + -0.021 + + + + 3 + + -0.383 + 0.338 + -0.692 + + + + File + ui/icon/map/knight.png + + + Variant + Tv + + + + + + Dynamic/Gates/Console + + + Gate Index + implementation.handlers[0].action.gate_index, implementation.gate_index + + + + + world/dynamic/gates/monitordropbox/model.dat + + Texture + + 2D/File/Colorized (Multiple)/Default (NoMipmap) + + Colorizations + + + 2 + + -0.207 + -0.165 + -0.021 + + + + 3 + + -0.383 + 0.338 + -0.692 + + + + File + ui/icon/map/knight.png + + + Variant + Shoot Open + + + + + + + 2.0 + 3.0 + + + 0.0, 0.5 + + + + + + + + + + + 0 + Texture + + world/dynamic/gates/monitordropbox/model.dat + + Texture + + 2D/File/Colorized (Multiple)/Default (NoMipmap) + + Colorizations + + + 2 + + -0.207 + -0.165 + -0.021 + + + + 3 + + -0.383 + 0.338 + -0.692 + + + + File + ui/icon/map/knight.png + + + Variant + Shoot Closed + + + + world/dynamic/gates/monitordropbox/model.dat + + Texture + + 2D/File/Colorized (Multiple)/Default (NoMipmap) + + Colorizations + + + 2 + + -0.207 + -0.165 + -0.021 + + + + 3 + + -0.383 + 0.338 + -0.692 + + + + File + ui/icon/map/knight.png + + + Variant + Shoot Closed + + + + + + Dynamic/Gates/Control Panel + + + Gate Index + implementation.handlers[0].action.destination.index, implementation.gate_index + + + + + world/dynamic/gates/console/model.dat + + Variant + Off + countdown + 0 + + + + + + + 3.0 + 2.0 + + + 0.0, 1.0 + + + + + + + + + + + + + 0 + countdown + + world/dynamic/gates/console/model.dat + + Variant + On + countdown + 0 + + + + world/dynamic/gates/console/model.dat + + Variant + Off + countdown + 0 + + + + + + Dynamic/Gates/Control Panel (Fixed) + + + Name + implementation.handlers[0].action.destination.internal_id + + + + + world/dynamic/gates/console/model.dat + + Variant + On + countdown + 0 + + + + + + + 3.0 + 2.0 + + + 0.0, 1.0 + + + + + + + + + + + + + 0 + + + + Dynamic/Gates/Gate Display + + + Gate Index + implementation.handlers[0].action.actor["Gate Index"] + + + + + world/dynamic/gates/arcade_pillar/model_v2.dat + + Arrow + 1 + Icon1 + ui/icon/theme/unk.png + Icon2 + ui/icon/theme/unk.png + Icon3 + ui/icon/theme/unk.png + Icon4 + ui/icon/theme/unk.png + Icon5 + ui/icon/theme/unk.png + Icon6 + ui/icon/theme/unk.png + State + Launched + + + + + + + + + Dynamic/Gate/Gate Display + + Gate Index + 0 + + + + + + + + + Dynamic/Gates/Lobby Console + + + world/dynamic/gates/monitordropbox/model.dat + + Texture + + 2D/File/Colorized (Multiple)/Default (NoMipmap) + + Colorizations + + + 2 + + -0.207 + -0.165 + -0.021 + + + + 3 + + -0.383 + 0.338 + -0.692 + + + + File + ui/icon/map/knight.png + + + Variant + Tv + + + + + + + 2.0 + 2.0 + + + 0.0, 1.0 + + + + + 0 + Texture + + world/dynamic/gates/monitordropbox/model.dat + + Texture + + 2D/File/Colorized (Multiple)/Default (NoMipmap) + + Colorizations + + + 2 + + -0.207 + -0.165 + -0.021 + + + + 3 + + -0.383 + 0.338 + -0.692 + + + + File + ui/icon/map/knight.png + + + Variant + Tv + + + + + + Dynamic/Hazards/Bramble thicket/Bramble 1x1, 01 + + + Model + implementation.model + + + Trigger Shape + implementation.handlers[0].shape.shape, implementation.handlers[0].action.region.shape + + + Visualization Shape + implementation.shape + + + + + world/dynamic/traps_n_hazards/thicket/vine_x1_01.dat + + Texture File + world/dynamic/traps_n_hazards/thicket/wrapping_brambles.png + + + + + + + + + + + + + + Hazard/Hazard Base -20 + + 8 + + + + + + + 0.5 + + + 0 + 0 + + + + Dynamic/Hazards/Bramble thicket/Bramble 1x1, 02 + + + Dynamic/Hazards/Bramble thicket/Bramble 1x1, 01 + + Model + + world/dynamic/traps_n_hazards/thicket/vine_x1_02.dat + + Texture File + world/dynamic/traps_n_hazards/thicket/wrapping_brambles.png + + + Trigger Shape + + 0.55 + 0.55 + + Visualization Shape + + + + + + + + Dynamic/Hazards/Bramble thicket/Bramble 3x3, 01 + + + Dynamic/Hazards/Bramble thicket/Bramble 1x1, 01 + + Model + + world/dynamic/traps_n_hazards/thicket/vine_x3_01.dat + + Texture File + world/dynamic/traps_n_hazards/thicket/wrapping_brambles.png + + + Trigger Shape + + 2.55 + 2.55 + + Visualization Shape + + 3.0 + 3.0 + + + + + + + Dynamic/Hazards/Bramble thicket/Bramble 3x3, 02 + + + Dynamic/Hazards/Bramble thicket/Bramble 1x1, 01 + + Model + + world/dynamic/traps_n_hazards/thicket/vine_x3_02.dat + + Texture File + world/dynamic/traps_n_hazards/thicket/wrapping_brambles.png + + + Trigger Shape + + 2.55 + 2.55 + + Visualization Shape + + 3.0 + 3.0 + + + + + + + Dynamic/Hazards/Bramble thicket/Poison 1x1, 01 + + + Model + implementation.model + + + Trigger Shape + implementation.handlers[0].shape.shape, implementation.handlers[0].action.actions[0].action.region.shape, implementation.handlers[0].action.actions[1].action.region.shape, implementation.handlers[0].action.actions[2].action.region.shape, implementation.handlers[0].action.actions[3].region.shape + + + Visualization Shape + implementation.shape + + + + + world/dynamic/traps_n_hazards/thicket/vine_x1_01.dat + + Texture File + world/dynamic/traps_n_hazards/thicket/wrapping_brambles_poison.png + + + + + + + + + + + + + + + + + + + Hazard/Hazard Base -20 + + 8 + + + 8 + + Poison + + Chance + 0.75 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + + + + + + + Hazard/Hazard Base -20 + + 8 + + + 8 + + Poison 2 + + Chance + 0.75 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + + + + + + + Hazard/Hazard Base -20 + + 8 + + + 8 + + Poison 3 + + Chance + 0.75 + Power + 50 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + + + + + + + + + + Hazard/Hazard Base -20 + + 8 + false + + + + + + + + + 0.5 + + + 0 + 0 + + + + Dynamic/Hazards/Bramble thicket/Poison 1x1, 02 + + + Dynamic/Hazards/Bramble thicket/Poison 1x1, 01 + + Model + + world/dynamic/traps_n_hazards/thicket/vine_x1_02.dat + + Texture File + world/dynamic/traps_n_hazards/thicket/wrapping_brambles_poison.png + + + Trigger Shape + + 0.55 + 0.55 + + Visualization Shape + + + + + + + + Dynamic/Hazards/Bramble thicket/Poison 3x3, 01 + + + Dynamic/Hazards/Bramble thicket/Poison 1x1, 01 + + Model + + world/dynamic/traps_n_hazards/thicket/vine_x3_01.dat + + Texture File + world/dynamic/traps_n_hazards/thicket/wrapping_brambles_poison.png + + + Trigger Shape + + 2.55 + 2.55 + + Visualization Shape + + 3.0 + 3.0 + + + + + + + Dynamic/Hazards/Bramble thicket/Poison 3x3, 02 + + + Dynamic/Hazards/Bramble thicket/Poison 1x1, 01 + + Model + + world/dynamic/traps_n_hazards/thicket/vine_x3_02.dat + + Texture File + world/dynamic/traps_n_hazards/thicket/wrapping_brambles_poison.png + + + Trigger Shape + + 2.55 + 2.55 + + Visualization Shape + + 3.0 + 3.0 + + + + + + + Dynamic/Hazards/Firestorm Fire Tiles/Fire Tile - 1 unit + + + Tag + implementation.handlers[0].action.actions[0].action.actor["Tags"].tags[0], implementation.handlers[0].action.actions[1].action.actor["Tags"].tags[0], implementation.handlers[0].action.actions[2].action.actor["Tags"].tags[0], implementation.handlers[0].action.actions[3].action.actor["Tags"].tags[0] + + + + + world/dynamic/traps_n_hazards/fire_evil/fire_1unit.dat + + + + + name + + + + + + + + + Dynamic/Traps and Hazards/Firestorm Fire Tile + + Tags + + name + + + + + + + + + Dynamic/Traps and Hazards/Firestorm Fire Tile + + Tags + + name + + + + + + + + + Dynamic/Traps and Hazards/Firestorm Fire Tile + + Tags + + name + + + + + + + + + Dynamic/Traps and Hazards/Firestorm Fire Tile + + Tags + + name + + + + + + + + + + + + + Dynamic/Help Bubble/Help Bubble + + + Title + implementation.actor["Title"] + + + Message + implementation.actor["Message"] + + + Width + implementation.actor["Width"] + + + Icon + implementation.actor["Icon"] + + + Visible Distance + implementation.actor["Visible Distance"] + + + Tags + implementation.actor["Tags"].derived + + + + + editor/marker/helptip/default_marker.dat + + 0 + + Dynamic/Help Bubble/Help + + Icon + + Message + m.(message) + Tags + + + Title + t.(title) + Title Color + 0.6, 0.0, 0.4, 1.0 + Visible Distance + 10.0 + Width + 200 + + + + + + Dynamic/Lift Objects/Clay Pot + + + item/live/pot/model.dat + + Variant + Default + + + + 0.45 + + + + + + Dynamic/Lift Objects/Clay Pot + + + + + + + + Dynamic/Lift Objects/Clay Pot (WhiteSpace) + + + item/live/whitekey/model.dat + + Variant + White + + + + 0.45 + + + + + + Dynamic/Lift Objects/Clay Pot (WhiteSpace) + + + + + + + + Dynamic/Lift Objects/Fire Pot + + + item/live/pot/model.dat + + Variant + Fire + + + + 0.45 + + + + + + Dynamic/Lift Objects/Fire Pot + + + + + + + + Dynamic/Lift Objects/Gold Key + + + item/live/goldkey/model.dat + + + 0.4 + + + + + + Dynamic/Lift Objects/Gold Key + + + + + + + + Dynamic/Lift Objects/Gold Key (WhiteSpace) + + + item/live/whitekey/model.dat + + + 0.4 + + + + + + Dynamic/Lift Objects/Gold Key (WhiteSpace) + + + + + + + + Dynamic/Lift Objects/Heavy Statue + + + item/live/statue/model.dat + + + 0.45 + + + + + + Dynamic/Lift Objects/Heavy Statue + + + + + + + + Dynamic/Lift Objects/Liftable Snipe + + + character/npc/snipe/model.dat + + Color 1 + 1291 + + + + + + + Dynamic/Lift Objects/Liftable Snipe + + + + + + + + Dynamic/Lift Objects/Oil Pot + + + item/live/pot/model.dat + + Variant + Oil + + + + 0.45 + + + + + + Dynamic/Lift Objects/Oil Pot + + + + + + + + Dynamic/Misc/Altar/Gold Key + + + world/prop/generic/altar_x3.dat + + + 3.0 + 3.0 + + 0 + + + + Dynamic/Misc/Arsenal/Arsenal Box + + + world/dynamic/arsenal/arsenal_box.dat + + + + + + 0.7 + + + -0.65, 0.0 + + + + + 0.7 + + + 0.65, 0.0 + + + + + 1.3 + 1.4 + + + + + + + + + + + 0 + + + + Dynamic/Misc/Border/Border (End) + + + world/dynamic/border/model.dat + + Model + end + + + + 0.9 + 0.25 + + 0 + 0 + + + + Dynamic/Misc/Border/Border (Label) + + + Label + implementation.model["Label"] + town + + + Off Center + implementation.model["Off Center"] + + + + + world/dynamic/border/model_label.dat + + Label + Zone Border + Off Center + False + + + + 0.9 + 0.25 + + 0 + 0 + + + + Dynamic/Misc/Border/Border (Middle) + + + world/dynamic/border/model.dat + + Model + middle + + + + 0.9 + 0.25 + + 0 + 0 + + + + Dynamic/Misc/Border/Border (Start) + + + world/dynamic/border/model.dat + + Model + start + + + + 0.9 + 0.25 + + 0 + 0 + + + + Dynamic/Misc/Elevator (24.5 Tall) + + + Action + implementation.actor["Action"] + + + + + world/dynamic/elevator/univeral/model_intralevel.dat + + + + + + 1.9 + 2.9 + + + 2.5, 0.0 + + + + + 1.9 + 2.9 + + + -2.5, 0.0 + + + + + + Dynamic/Misc/Elevator (24.5 Tall) + + Action + + + + + + + + + + + + Dynamic/Misc/Heal Pad + + + Interval + implementation.handlers[0].action.actor["Interval"] + + + Heart + implementation.handlers[0].action.actor["Heart"], implementation.model["Preview"]["Actor"]["Heart"] + + + + + world/dynamic/respawnpad/model.dat + + Preview + + model/wrapper/actorwrapper.dat + + Actor + + Dynamic/Misc/Heal Pad + + Heart + 1 + + + + + + + + 0.9 + 0.9 + + + + + + Dynamic/Misc/Heal Pad + + Heart + 1 + Interval + 1.0 + + + + + + + + + Dynamic/Misc/PvP Console + + + world/dynamic/gates/monitordropbox/model.dat + + Texture + + 2D/File/Colorized (Multiple)/Default (NoMipmap) + + Colorizations + + + 2 + + 0.155 + -0.165 + -0.021 + + + + 3 + + -1.0 + 0.338 + -0.692 + + + + File + ui/icon/gate/pvp.png + + + Variant + Tv + + + + + + + + + 0 + + + + Dynamic/Misc/Respawn Pad + + + Actor + implementation.handlers[0].action.actor["Actor"], implementation.model["Preview"]["Actor"] + + + Delay + implementation.handlers[0].action.actor["Delay"] + + + + + world/dynamic/respawnpad/model.dat + + Preview + + model/wrapper/actorwrapper.dat + + Actor + + + + + + + 0.9 + 0.9 + + + + + + Dynamic/Misc/Respawn Pad + + Actor + + Damage + + Delay + 5000 + Warning + 0 + + + + + + + + + Dynamic/Misc/Respawn Pad (Damage) + + + Actor + implementation.handlers[0].action.actor["Actor"], implementation.model["Preview"]["Actor"] + + + Delay + implementation.handlers[0].action.actor["Delay"] + + + Damage + implementation.handlers[0].action.actor["Damage"] + + + + + world/dynamic/respawnpad/model.dat + + Preview + + model/wrapper/actorwrapper.dat + + Actor + + + + + + + 0.9 + 0.9 + + + + + + Dynamic/Misc/Damage Pad + + Actor + + Damage + 50.0 + Delay + 3000 + + + + + + + + + Dynamic/Misc/Respawn Pad (Table) + + + Spawn Table + implementation.handlers[0].action.actor["Spawn Table"], implementation.model["Preview"]["Spawn Table"] + + + Delay + implementation.handlers[0].action.actor["Delay"] + + + + + world/dynamic/respawnpad/model.dat + + Preview + + model/wrapper/spawntablewrapper.dat + + Spawn Table + + + + + + + 0.9 + 0.9 + + + + + + Dynamic/Misc/Respawn Pad (Table) + + Damage + + Delay + 5000 + Spawn Table + + Warning + 0 + + + + + + + + + Dynamic/Misc/Respawn Pad (Table, Damage) + + + Spawn Table + implementation.handlers[0].action.actor["Spawn Table"], implementation.model["Preview"]["Spawn Table"] + + + Delay + implementation.handlers[0].action.actor["Delay"] + + + Damage + implementation.handlers[0].action.actor["Damage"] + + + + + world/dynamic/respawnpad/model.dat + + Preview + + model/wrapper/spawntablewrapper.dat + + Spawn Table + + + + + + + 0.9 + 0.9 + + + + + + Dynamic/Misc/Damage Pad (Table) + + Damage + 50.0 + Delay + 3000 + Spawn Table + + + + + + + + + + Dynamic/Misc/Sprite Objects/Sprite Sanctuary + + + Actor + implementation.handlers[0].action.actor + + + + + world/prop/castle_fire/model_sanctuary.dat + + + 2.0 + + + + + + Dynamic/Misc/Sprite Objects/Sprite Sanctuary + + (Off Signal) + (Off Signal) + (On Signal) + (On Signal) + (Target Tag) + (Target Tag) + Activation Count + 1 + Tag + (Button Tag) + + + + + + + + + Dynamic/Misc/Sprite Objects/Sprite Sanctuary (Charred Court) + + + Actor + implementation.handlers[0].action.actor + + + + + world/prop/castle_fire/model_sanctuary.dat + + + 2.0 + + + + + + Dynamic/Misc/Sprite Objects/Sprite Sanctuary (Charred Court) + + (Off Signal) + (Off Signal) + (On Signal) + (On Signal) + (Target Tag) + (Target Tag) + Activation Count + 1 + Tag + (Button Tag) + + + + + + + + + Dynamic/Misc/Sprite Objects/Sprite Well + + + Delay + implementation.handlers[0].action.actor["Delay"] + + + + + world/prop/castle_fire/spritewell/model.dat + + Mode + Active + Preview + + particle/ambient_waterball.dat + + + + + 0.49 + + + + + + Dynamic/Misc/Sprite Objects/Sprite Well + + Delay + 1000 + + + + + + + + + Dynamic/Misc/Sprite Objects/Sprite Well (Inactive) + + + Delay + implementation.handlers[0].action.actor["Delay"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + Activation Tag + implementation.handlers[0].action.actor["Activation Tag"] + + + + + world/prop/castle_fire/spritewell/model.dat + + Mode + Inactive + Preview + + + + + 0.49 + + + + + + Dynamic/Misc/Sprite Objects/Sprite Well (Inactive) + + Delay + 1000 + Tag + (Tag) + + + + + + + + + Dynamic/Misc/Suggestion Box + + + world/prop/generic/misc/suggestionbox.dat + + + + + + + + + + + Dynamic/Misc/WhiteSpace/Respawn Pad + + + Actor + implementation.handlers[0].action.actor["Actor"], implementation.model["Model"]["Preview"]["Actor"] + + + Delay + implementation.handlers[0].action.actor["Delay"] + + + + + model/compound/marked.dat + + Marker Model + + editor/marker/vertex/model.dat + + Model + + world/dynamic/respawnpad/compound_whitespace.dat + + Preview + + model/wrapper/actorwrapper.dat + + Actor + + + + + + + + + 0.9 + 0.9 + + + + + + Dynamic/Misc/WhiteSpace/Respawn Pad + + Actor + + Damage + + Delay + 5000 + Warning + 0 + + + + + + + + + Dynamic/Misc/WhiteSpace/Respawn Pad (Damage) + + + Actor + implementation.handlers[0].action.actor["Actor"], implementation.model["Model"]["Preview"]["Actor"] + + + Delay + implementation.handlers[0].action.actor["Delay"] + + + Damage + implementation.handlers[0].action.actor["Damage"] + + + + + model/compound/marked.dat + + Marker Model + + editor/marker/vertex/model.dat + + Model + + world/dynamic/respawnpad/compound_whitespace.dat + + Preview + + model/wrapper/actorwrapper.dat + + Actor + + + + + + + + + 0.9 + 0.9 + + + + + + Dynamic/Misc/WhiteSpace/Damage Pad + + Actor + + Damage + 50.0 + Delay + 3000 + + + + + + + + + Dynamic/Misc/WhiteSpace/Respawn Pad (Table) + + + Spawn Table + implementation.handlers[0].action.actor["Spawn Table"], implementation.model["Model"]["Preview"]["Spawn + Table"] + + + Delay + implementation.handlers[0].action.actor["Delay"] + + + + + model/compound/marked.dat + + Marker Model + + editor/marker/vertex/model.dat + + Model + + world/dynamic/respawnpad/compound_whitespace.dat + + Preview + + model/wrapper/spawntablewrapper.dat + + Spawn Table + + + + + + + + + 0.9 + 0.9 + + + + + + Dynamic/Misc/WhiteSpace/Respawn Pad (Table) + + Damage + + Delay + 5000 + Spawn Table + + Warning + 0 + + + + + + + + + Dynamic/Monster Objects/Grim Totem + + + model/compound/marked.dat + + Marker Model + + editor/marker/pointlight/parts/particle_ring.dat + + Color + 1.0, 0.0, 0.8352941, 1.0 + Scale + 12.0 + + + Model + + item/live/totem/grimtotem_01.dat + + + + + 0.5 + + + + + + Dynamic/Monster Objects/Grim Totem + + + + + + + + Dynamic/Portal/Destination + + + Tag + implementation.tags.tags[0] + + + Default Entrance + implementation.default_entrance + + + + + editor/billboardknight/model_compound.dat + + Attachment + + editor/marker/pointers/pointer01.dat + + Color + 0.0, 1.0, 1.0, 1.0 + + + + + + (tag 1) + + + + + Dynamic/Portal/Level Start + + + Default Entrance + implementation.default_entrance + + + + true + + editor/billboardknight/model_compound.dat + + Attachment + + editor/marker/pointers/pointer01.dat + + Color + 0.0, 0.8, 0.2, 1.0 + + + + + + + + Dynamic/Portal/Test + + + Tag + implementation.tags.tags[0] + + + Scene ID + implementation.handlers[0].action.scene_id + + + Portal + implementation.handlers[0].action.portal + + + + + world/dynamic/signmodule/model.dat + + Variant + General + + + + + + + + + 0 + + + + Dynamic/Recon Module/Danger + + + Conversation + implementation.placeable["Conversation"] + + + + + Dynamic/Recon Module/Info + + Conversation + + Variant + Danger + + + + + + Dynamic/Recon Module/Danger Bubble + + + Message + implementation.placeable["Message"] + + + Title + implementation.placeable["Title"] + + + Title Color + implementation.placeable["Title Color"] + + + Visible Distance + implementation.placeable["Visible Distance"] + + + + + Dynamic/Recon Module/Info Bubble + + Message + m.test + Title + + Title Color + 1.0, 1.0, 1.0, 1.0 + Variant + Danger + Visible Distance + 7.0 + + + + + + Dynamic/Recon Module/Info + + + Variant + implementation.model["Variant"] + + + Conversation + implementation.handlers[0].action.conversation + + + + + world/dynamic/signmodule/model.dat + + Variant + General + + + + 0.49 + + + + + + + + 0 + 0 + + + + Dynamic/Recon Module/Info Bubble + + + Variant + implementation.model["Variant"] + + + Message + implementation.actor["Message"] + + + Title + implementation.actor["Title"] + + + Title Color + implementation.actor["Title Color"] + + + Visible Distance + implementation.actor["Visible Distance"] + + + + + world/dynamic/signmodule/model.dat + + Variant + General + + + + 0.49 + + + + + Action + + + + + + 0 + 0 + + Dynamic/Help Bubble/Recon + + Icon + + Message + m.test + Tags + + Title + + Title Color + 1.0, 1.0, 1.0, 1.0 + Visible Distance + 7.0 + + + + + + Dynamic/Recon Module/Shop + + + Conversation + implementation.placeable["Conversation"] + + + + + Dynamic/Recon Module/Info + + Conversation + + Variant + Shop + + + + + + Dynamic/Recon Module/Shop Bubble + + + Message + implementation.placeable["Message"] + + + Title + implementation.placeable["Title"] + + + Title Color + implementation.placeable["Title Color"] + + + Visible Distance + implementation.placeable["Visible Distance"] + + + + + Dynamic/Recon Module/Info Bubble + + Message + m.test + Title + + Title Color + 1.0, 1.0, 1.0, 1.0 + Variant + Shop + Visible Distance + 7.0 + + + + + + Dynamic/Recon Module/Story + + + Conversation + implementation.placeable["Conversation"] + + + + + Dynamic/Recon Module/Info + + Conversation + + Variant + Story + + + + + + Dynamic/Recon Module/Story Bubble + + + Message + implementation.placeable["Message"] + + + Title + implementation.placeable["Title"] + + + Title Color + implementation.placeable["Title Color"] + + + Visible Distance + implementation.placeable["Visible Distance"] + + + + + Dynamic/Recon Module/Info Bubble + + Message + m.test + Title + + Title Color + 1.0, 1.0, 1.0, 1.0 + Variant + Story + Visible Distance + 7.0 + + + + + + Dynamic/Switch/Button/One-Time + + + Actor + implementation.handlers[0].action.actor + + + + + world/dynamic/switch/button/model.dat + + + 0.4 + + + + + + Dynamic/Switch/Button/One-Time + + (On Signal) + (On Signal) + (On Tag) + (On Tag) + Tag + (Button Tag) + + + + + + + + + Dynamic/Switch/Button/One-Time (Multi) + + + On Signal + implementation.handlers[0].action.actor["On Signal"] + + + On Tag + implementation.handlers[0].action.actor["On Tag"] + + + Action + implementation.handlers[0].action.actor["Actions"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + + world/dynamic/switch/button/model.dat + + + 0.4 + + + + + + Dynamic/Switch/Button/One-Time (Multi) + + Actions + + + On Signal + (On Signal) + On Tag + (On Tag) + Tag + (Button Tag) + + + + + + + + + Dynamic/Switch/Button/Pressure Plate + + + Actor + implementation.handlers[0].action.actor + + + + + world/dynamic/switch/button/model_pressure.dat + + + 0.4 + + + + + + Dynamic/Switch/Pressure Plate/Base + + (Off Signal) + (Off Signal) + (On Signal) + (On Signal) + (Target Tag) + (Target Tag) + Tag + (Button Tag) + + + + + + + + + Dynamic/Switch/Button/Timer + + + Actor + implementation.handlers[0].action.actor + + + + + world/dynamic/switch/button/model.dat + + + 0.4 + + + + + + Dynamic/Switch/Button/Timed + + (Off Signal) + (Off Signal) + (Off Tag) + (Off Tag) + (On Signal) + (On Signal) + (On Tag) + (On Tag) + Delay + 0 + Tag + (Button Tag) + + + + + + + + + Dynamic/Switch/Button/WhiteSpace/One-Time + + + Actor + implementation.handlers[0].action.actor + + + + + model/compound/marked.dat + + Marker Model + + editor/marker/vertex/model.dat + + Model + + world/dynamic/switch/button/model_whitespace.dat + + + + + 0.4 + + + + + + Dynamic/Switch/Button/WhiteSpace/One-Time + + (On Signal) + (On Signal) + (On Tag) + (On Tag) + Tag + (Button Tag) + + + + + + + + + Dynamic/Switch/Lever/3-Point Indicator + + + Activation Action + implementation.placeable["Actor"]["Activation Action"] + + + Tags + implementation.placeable["Actor"]["Tag"].derived + + + + + Actor 1x1 + + Actor + + Dynamic/Switch/Lever/3-Point Indicator + + Activation Action + + + Tag + + + + + + + + + Dynamic/Switch/Lever/One-Time + + + (Activate Signal) + implementation.placeable["Actor"]["(Activate Signal)"] + + + (Activate Tag) + implementation.placeable["Actor"]["(Activate Tag)"] + + + Tag + implementation.placeable["Actor"]["Tag"] + + + + + Dynamic/Switch/Lever/Toggle + + Actor + + Dynamic/Switch/Lever/One-Time + + (Activate Signal) + (Activate Signal) + (Activate Tag) + (Activate Tag) + Tag + (tag 1) + + + + + + + + Dynamic/Switch/Lever/Timed Toggle + + + Actor + implementation.placeable["Actor"] + + + + + Actor 1x1 + + Actor + + Dynamic/Switch/Lever/Damage Timed Toggle + + Start 1 Signal + (State 1 Signal) + State 0 Signal + (State 0 Signal) + State 0 Tag + (State 0 Tag) + State 1 Tag + (State 1 Tag) + + + + + + + + Dynamic/Switch/Lever/Toggle + + + Actor + implementation.handlers[0].action.actor + + + + + world/dynamic/switch/multistate/model.dat + + Variant + Active + + + + 0.9 + 0.9 + + + + + + Dynamic/Switch/Lever/Damage Toggle + + (State 0 Signal) + (State 0 Signal) + (State 0 Tag) + (State 0 Tag) + (State 1 Signal) + (State 1 Signal) + (State 1 Tag) + (State 1 Tag) + + + + + + + + + Dynamic/Switch/Lever/WhiteSpace/3-Point Indicator + + + Activation Action + implementation.placeable["Actor"]["Activation Action"] + + + Tags + implementation.placeable["Actor"]["Tag"].derived + + + + + Actor 1x1 + + Actor + + Dynamic/Switch/Lever/3-Point Indicator + + Activation Action + + + + + + + + + + Dynamic/Switch/Lever/WhiteSpace/One-Time + + + (Activate Signal) + implementation.placeable["Actor"]["(Activate Signal)"] + + + (Activate Tag) + implementation.placeable["Actor"]["(Activate Tag)"] + + + + + Dynamic/Switch/Lever/Toggle + + Actor + + Dynamic/Switch/Lever/One-Time + + (Activate Signal) + (Activate Signal) + (Activate Tag) + (Activate Tag) + + + + + + + + Dynamic/Switch/Lever/WhiteSpace/Timed Toggle + + + Actor + implementation.placeable["Actor"] + + + + + Actor 1x1 + + Actor + + Dynamic/Switch/Lever/Damage Timed Toggle + + Start 1 Signal + (State 1 Signal) + State 0 Signal + (State 0 Signal) + State 0 Tag + (State 0 Tag) + State 1 Tag + (State 1 Tag) + + + + + + + + Dynamic/Switch/Lever/WhiteSpace/Toggle + + + Actor + implementation.handlers[0].action.actor + + + + + world/dynamic/switch/multistate/model.dat + + Variant + Active + + + + 0.9 + 0.9 + + + + + + Dynamic/Switch/Lever/Damage Toggle + + (State 0 Signal) + (State 0 Signal) + (State 0 Tag) + (State 0 Tag) + (State 1 Signal) + (State 1 Signal) + (State 1 Tag) + (State 1 Tag) + + + + + + + + + Dynamic/Switch/Party Platform/Base + + + Action + implementation.handlers[0].action.actor["Action"] + + + + + world/dynamic/switch/button_large/model.dat + + + + + + Dynamic/Switch/Party Platform/Base + + Action + + + + + + + + + + + Dynamic/Switch/Party Platform/Close Door, Open Door + + + Action + implementation.placeable["Action"] + + + + + Dynamic/Switch/Party Platform/Base + + Action + + + + + + + + Dynamic/Switch/Party Platform/Close Door, Spawn + + + Action + implementation.placeable["Action"] + + + + + Dynamic/Switch/Party Platform/Base + + Action + + + + + + + + Dynamic/Switch/Party Platform/Spawn + + + Action + implementation.placeable["Action"] + + + + + Dynamic/Switch/Party Platform/Base + + Action + + + + + + + + Dynamic/Switch/Party Platform/WhiteSpace/Base + + + Action + implementation.handlers[0].action.actor["Action"] + + + + + model/compound/marked.dat + + Marker Model + + editor/marker/vertex/model.dat + + Model + + world/dynamic/switch/button_large/model_whitespace.dat + + + + + + + + Dynamic/Switch/Party Platform/Party (WhiteSpace) + + Action + + + + + + + + + + + Dynamic/Switch/Party Platform/WhiteSpace/Close Door, Open Door + + + Action + implementation.placeable["Action"] + + + + + Dynamic/Switch/Party Platform/WhiteSpace/Base + + Action + + + + + + + + Dynamic/Switch/Party Platform/WhiteSpace/Close Door, Spawn + + + Action + implementation.placeable["Action"] + + + + + Dynamic/Switch/Party Platform/WhiteSpace/Base + + Action + + + + + + + + Dynamic/Switch/Party Platform/WhiteSpace/Spawn + + + Action + implementation.placeable["Action"] + + + + + Dynamic/Switch/Party Platform/WhiteSpace/Base + + + + + Encounter/Parts/Formation Lead + + + Spawn Table + implementation.placeable["Action"].spawn_table, implementation.placeable["Model"]["Preview"]["Spawn + Table"] + + + + + Trigger/One Time Action + + Action + + + Model + + editor/marker/monster_wave/model.dat + + Colorization + 268 + Preview + + model/wrapper/spawntablewrapper.dat + + Spawn Table + + + + Wave Number + + + + Tag + (Spawn Tag) + + + + + + Encounter/Parts/Formation Sub + + + Spawn Table + implementation.placeable["Action"].spawn_table, implementation.placeable["Model"]["Preview"]["Spawn + Table"] + + + + + Trigger/One Time Action + + Action + + + Model + + editor/marker/monster_wave/model.dat + + Colorization + 266 + Preview + + model/wrapper/spawntablewrapper.dat + + Spawn Table + + + + Wave Number + + + + Tag + (Spawn Tag) + + + + + + Generic Marker + + + Tag + implementation.tags.tags[0] + + + + + editor/marker/flag/model.dat + + Variant + Pawn + + + + name + + + + + Item/Capsule/Health Capsule + + + Item/Point Drop + + Actor + + Item/Pickups/Capsule/Health Capsule + + + + + + + Item/Consumable/Heart + + + Item/Point Drop + + Actor + + Item/Consumable/Hearts/Heart + + + + + + + Item/Consumable/Omegapod + + + Item/Item Drop (Table) + + Icon + ui/icon/inventory/icon_vitapod.png + Table Spawn + + Treasure/Health/Parts/Vitapod Tier 3 + + + + + + + Item/Consumable/Super Vitapod + + + Item/Item Drop (Table) + + Icon + ui/icon/inventory/icon_vitapod.png + Table Spawn + + Treasure/Health/Vitapod + + Depth Offset + 0 + + + + + + + + Item/Consumable/Vitapod + + + Item/Item Drop (Table) + + Icon + ui/icon/inventory/icon_vitapod.png + Table Spawn + + Treasure/Health/Vitapod + + Depth Offset + 0 + + + + + + + + Item/Crowns/Copper Crown + + + Item/Point Drop + + Actor + + Item/Consumable/Crowns/Copper Crown + + + + + + + Item/Crowns/Gold Crown + + + Item/Point Drop + + Actor + + Item/Consumable/Crowns/Gold Crown + + + + + + + Item/Crowns/Scaled Crown + + + Item/Point Drop (Table) + + Actor + + Item/Consumable/Crowns/Copper Crown + + Spawn Table + + Treasure/Crowns/Scaled Crown + + + + + + + Item/Crowns/Silver Crown + + + Item/Point Drop + + Actor + + Item/Consumable/Crowns/Silver Crown + + + + + + + Item/Heat/Ember 1 + + + Item/Point Drop + + Actor + + Item/Consumable/Heat/Ember 1 + + + + + + + Item/Heat/Ember 2 + + + Item/Point Drop + + Actor + + Item/Consumable/Heat/Ember 2 + + + + + + + Item/Heat/Ember 3 + + + Item/Point Drop + + Actor + + Item/Consumable/Heat/Ember 3 + + + + + + + Item/Heat/Scaled Ember + + + Item/Point Drop (Table) + + Actor + + Item/Consumable/Heat/Ember 1 + + Spawn Table + + Treasure/Heat/Scaled Ember + + + + + + + Item/Item Drop + + + Texture + implementation.model["Texture"] + + + Actor + implementation.handlers[0].action.actor + + + + + item/drop/model.dat + + Icon Halo + + item/drop/ambient_rim.dat + + Fixed + + + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 513 + + + 769 + + + 1025 + + + File + ui/icon/inventory/icon_armor.png + + + Variant + item + + + + + + + + + + Item/Item Drop (Table) + + + Table Spawn + implementation.handlers[0].action.spawn_table + + + Icon + implementation.model["Texture"]["File"] + + + + + item/drop/model.dat + + Icon Halo + + item/drop/ambient_rim.dat + + Fixed + + + + Texture + + 2D/File/Colorized (Multiple)/Default + + Colorizations + + + 516 + + + 771 + + + 1026 + + + File + ui/icon/inventory/icon_misc.png + + + Variant + item + + + + + + + + + + + + Item/Key/Silver Key + + + Item/Point Drop + + Actor + + Item/Key/Silver Key + + + + + + + Item/Point Drop + + + Actor + implementation.handlers[0].action.actor, implementation.model["Actor"] + + + + + model/wrapper/actorwrapper.dat + + Actor + + + + + + + + + + + Item/Point Drop (Table) + + + Actor + implementation.model["Actor"] + + + Spawn Table + implementation.handlers[0].action.spawn_table + + + + + model/wrapper/actorwrapper.dat + + Actor + + + + + + + + + + + + + Item/Vial/Curse Vial + + + Item/Point Drop + + Actor + + Item/Pickups/Vial/Curse Vial + + + + + + + Item/Vial/Fire Vial + + + Item/Point Drop + + Actor + + Item/Pickups/Vial/Fire Vial + + + + + + + Item/Vial/Freeze Vial + + + Item/Point Drop + + Actor + + Item/Pickups/Vial/Freeze Vial + + + + + + + Item/Vial/Poison Vial + + + Item/Point Drop + + Actor + + Item/Pickups/Vial/Poison Vial + + + + + + + Item/Vial/Shock Vial + + + Item/Point Drop + + Actor + + Item/Pickups/Vial/Shock Vial + + + + + + + Item/Vial/Sleep Vial + + + Item/Point Drop + + Actor + + Item/Pickups/Vial/Sleep Vial + + + + + + + Item/Vial/Stun Vial + + + Item/Point Drop + + Actor + + Item/Pickups/Vial/Stun Vial + + + + + + + Lights/Border Decal/Arcade + + + Texture + implementation.model["Texture"] + + + Width + implementation.model["Width"], implementation.shape.width + + + Height + implementation.model["height"], implementation.shape.height + + + + + world/prop/outershell/arcade/lighttransition/marker_model.dat + + Color + 0.7294118, 0.4392157, 0.0, 1.0 + Fog State Override + + 15.0 + 40.0 + + Texture + 1x1 + Width + 1.0 + height + 1.0 + + + + + 0 + 0 + + + + Lights/Directional Light + + + Diffuse + implementation.model["Diffuse"] + + + Width + implementation.shape.width, implementation.model["Extent"].size_x + + + Height + implementation.shape.height, implementation.model["Extent"].size_y + + + Direction + implementation.model["Direction"] + + + + + editor/marker/directionallight/model.dat + + Diffuse + 1.0, 1.0, 1.0, 1.0 + Direction + 0.0, -4.371139E-8, 1.0 + Extent + + 10.0 + 10.0 + 20.0 + + + + + 10.0 + 10.0 + + 0 + 0 + + + + Lights/Point Light + + + Diffuse + implementation.model["Diffuse"] + + + Attenuation + implementation.model["Attenuation"] + + + Extent + implementation.model["Extent"] + + + + + editor/marker/pointlight/model.dat + + Attenuation + + 0.7 + 0.7 + + Diffuse + 1.0, 1.0, 1.0, 1.0 + Extent + 10.0 + + + + + + + 0.35 + + + + + 0 + 0 + + + + Lights/Point/Default + + + Colors + implementation.model["Colors"] + + + Attenuation + implementation.model["Attenuation"] + + + Extent + implementation.model["Extent"] + + + + + lights/point/default_marker.dat + + Attenuation + + 0.6 + 0.6 + + Colors + + + Extent + + 20.0 + 20.0 + 20.0 + + + + + + 0 + 0 + + + + Lights/Prop/Sunbeam, short + + + world/prop/outershell/sunbeam/compound_model.dat + + Model + beam_small + + + + 1.5 + + 0 + 0 + + + + Lights/Prop/Sunbeam, tall + + + world/prop/outershell/sunbeam/compound_model.dat + + Model + beam_tall + + + + 1.5 + + 0 + 0 + + + + Lights/Spot/Default + + + Color + implementation.model["Color"] + + + Attenuation + implementation.model["Attenuation"] + + + Direction + implementation.model["Direction"] + + + Falloff + implementation.model["Falloff"] + + + Extent + implementation.model["Extent"] + + + Shape + implementation.shape + + + + + lights/spot/default_marker.dat + + Attenuation + + 0.6 + 0.06 + 0.0060 + + Color + 1.0, 1.0, 1.0, 1.0 + Direction + 0.0, -4.371139E-8, -1.0 + Extent + + 12.0 + 12.0 + 24.0 + + Falloff + + 10.0 + 40.0 + + + + + 12.0 + 12.0 + + 0 + 0 + + + + Model Tester + + + Model + implementation.model + + + + + model/conditional/marker.dat + + Model + + editor/marker/vertex/model.dat + + + + + + + + 0.5 + + + 2.8725E-41 + + + + + + + -2.8725E-41 + + + + + 0 + 0 + + + + Null barrier, no-walk + + + editor/marker/tiles/null_nowalk.dat + + Transform + + -0.5, -0.5, 0.0 + + + + + 1.02 + 1.02 + + 98 + 0 + + + + Null barrier, no-walk no-shoot + + + editor/marker/tiles/null_noshoot.dat + + Transform + + -0.5, -0.5, 0.0 + + + + + 1.02 + 1.02 + + 225 + 0 + + + + Orbit Trap/3 Trap Holes + + + Speed + implementation.handlers[0].action.actor["Speed"], implementation.handlers[1].action.actor["Speed"], implementation.handlers[2].action.actor["Speed"] + + + Starting Rotation + implementation.handlers[0].action.actor["Starting Rotation"], implementation.handlers[1].action.actor["Starting Rotation"], implementation.handlers[2].action.actor["Starting Rotation"] + + + + + editor/marker/flag/model.dat + + Variant + Queen + + + + + + + Orbital/Fire + + Orbit Radius + 1.5 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + Orbital/Fire + + Orbit Radius + 4.5 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + Orbital/Fire + + Orbit Radius + 7.5 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + + Orbit Trap/4 Trap + + + Speed + implementation.handlers[0].action.actor["Speed"], implementation.handlers[1].action.actor["Speed"], implementation.handlers[2].action.actor["Speed"] + + + Starting Rotation + implementation.handlers[0].action.actor["Starting Rotation"], implementation.handlers[1].action.actor["Starting Rotation"], implementation.handlers[2].action.actor["Starting Rotation"] + + + + + editor/marker/flag/model.dat + + Variant + Queen + + + + + + + Orbital/Fire + + Orbit Radius + 1.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + Orbital/Fire + + Orbit Radius + 2.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + Orbital/Fire + + Orbit Radius + 3.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + + Orbit Trap/4 Trap Core + + + Speed + implementation.handlers[0].action.actor["Speed"], implementation.handlers[1].action.actor["Speed"], implementation.handlers[2].action.actor["Speed"] + + + Starting Rotation + implementation.handlers[0].action.actor["Starting Rotation"], implementation.handlers[1].action.actor["Starting Rotation"], implementation.handlers[2].action.actor["Starting Rotation"] + + + + + editor/marker/flag/model.dat + + Variant + Queen + + + + + + + Orbital/Core + + Orbit Radius + 1.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + Orbital/Core + + Orbit Radius + 2.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + Orbital/Core + + Orbit Radius + 3.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + + Orbit Trap/8 Trap + + + Speed + implementation.handlers[0].action.actor["Speed"], implementation.handlers[1].action.actor["Speed"], implementation.handlers[2].action.actor["Speed"], implementation.handlers[3].action.actor["Speed"], implementation.handlers[4].action.actor["Speed"], implementation.handlers[5].action.actor["Speed"], implementation.handlers[6].action.actor["Speed"], implementation.handlers[7].action.actor["Speed"] + + + Starting Rotation + implementation.handlers[0].action.actor["Starting Rotation"], implementation.handlers[1].action.actor["Starting Rotation"], implementation.handlers[2].action.actor["Starting Rotation"], implementation.handlers[3].action.actor["Starting Rotation"], implementation.handlers[4].action.actor["Starting Rotation"], implementation.handlers[5].action.actor["Starting Rotation"], implementation.handlers[6].action.actor["Starting Rotation"], implementation.handlers[7].action.actor["Starting Rotation"] + + + + + editor/marker/flag/model.dat + + Variant + Queen + + + + + + + Orbital/Fire + + Orbit Radius + 1.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + Orbital/Fire + + Orbit Radius + 2.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + Orbital/Fire + + Orbit Radius + 3.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + Orbital/Fire + + Orbit Radius + 4.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + Orbital/Fire + + Orbit Radius + 5.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + Orbital/Fire + + Orbit Radius + 6.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + Orbital/Fire + + Orbit Radius + 7.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + Orbital/Fire + + Orbit Radius + 8.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + + Orbit Trap/8 Trap Arc + + + Speed + implementation.handlers[0].action.actor["Speed"], implementation.handlers[1].action.actor["Speed"], implementation.handlers[2].action.actor["Speed"], implementation.handlers[3].action.actor["Speed"], implementation.handlers[4].action.actor["Speed"], implementation.handlers[5].action.actor["Speed"], implementation.handlers[6].action.actor["Speed"], implementation.handlers[7].action.actor["Speed"] + + + + + editor/marker/flag/model.dat + + Variant + Queen + + + + + + + Orbital/Fire + + Orbit Radius + 1.0 + Speed + 0.33 + Starting Rotation + 0.0 + + + + + + + + Orbital/Fire + + Orbit Radius + 2.0 + Speed + 0.33 + Starting Rotation + 0.08726646 + + + + + + + + Orbital/Fire + + Orbit Radius + 3.0 + Speed + 0.33 + Starting Rotation + 0.17453292 + + + + + + + + Orbital/Fire + + Orbit Radius + 4.0 + Speed + 0.33 + Starting Rotation + 0.2617994 + + + + + + + + Orbital/Fire + + Orbit Radius + 5.0 + Speed + 0.33 + Starting Rotation + 0.34906584 + + + + + + + + Orbital/Fire + + Orbit Radius + 6.0 + Speed + 0.33 + Starting Rotation + 0.43633232 + + + + + + + + Orbital/Fire + + Orbit Radius + 7.0 + Speed + 0.33 + Starting Rotation + 0.5235988 + + + + + + + + Orbital/Fire + + Orbit Radius + 8.0 + Speed + 0.33 + Starting Rotation + 0.61086524 + + + + + + + + + Prop/Castle, Firestorm/Brazier, float + + + world/prop/structural/brazier_float/model.dat + + Texture + world/prop/structural/brazier_ground/skin_firestorm.png + + + + 0.5 + + 0 + + + + Prop/Castle, Firestorm/Burnt Structures/Watchtower - 5x5 + + + world/prop/castle_fire/burnt_structures/watchtower.dat + + 0 + 0 + + + + Prop/Castle, Firestorm/Chains/Chain - rail 01 + + + world/prop/castle_fire/chain_rail_01.dat + + + + + Prop/Castle, Firestorm/Crenellation x1 + + + world/prop/castle_fire/crenel_set.dat + + 0 + 0 + + + + Prop/Castle, Firestorm/Furniture/Table, 1-tile 01 + + + world/prop/generic/interior/table_01.dat + + Texture + world/prop/castle_fire/table_01_firestorm.png + + + + + + + + Prop/Castle, Firestorm/Furniture/Tapestry, high + + + world/prop/structural/tapestry/model.dat + + Texture + world/prop/structural/tapestry/skin_firestorm.png + + + + + 0 + + + + Prop/Castle, Firestorm/Furniture/Tapestry, low + + + model/compound/model.dat + + Influences + + false + false + + Models + + + + world/prop/structural/tapestry/model_low.dat + + Texture + world/prop/structural/tapestry/skin_firestorm.png + + + + 0.0, -0.14, -0.12 + + + + + + + + 0 + + + + Prop/Castle, Firestorm/Nature/Boulder 01 + + + world/prop/catacomb/stone_01.dat + + Receives Projections + false + Texture + world/prop/castle_fire/nature/boulder_01.png + + + + 0.5 + + 0 + + + + Prop/Castle, Firestorm/Nature/Tree, scorched + + + world/prop/castle_fire/nature/tree_01.dat + + + 0.45 + + 0 + + + + Prop/Castle/Brazier/Brazier, float + + + world/prop/structural/brazier_float/model.dat + + Texture + world/prop/structural/brazier_ground/skin_brass.png + + + + 0.5 + + 0 + + + + Prop/Castle/Tapestry/Red, high + + + world/prop/structural/tapestry/model.dat + + Texture + world/prop/structural/tapestry/skin_castlered.png + + + + + 0 + + + + Prop/Castle/Tapestry/Red, low + + + world/prop/structural/tapestry/model_low.dat + + Texture + world/prop/structural/tapestry/skin_castlered.png + + + + + 0 + + + + Prop/Catacombs/Fungibulb/Fungibulb, small 1 + + + world/prop/catacomb/Fungus bulbs/fungus_small01.dat + + + + + + 0.85 + 0.85 + + + + + 0 + 0 + + + + Prop/Catacombs/Fungibulb/Fungibulb, small 2 + + + world/prop/catacomb/Fungus bulbs/small_half.dat + + + + + + 0.6 + + + 0.0, 0.25 + + + + + 0 + 0 + + + + Prop/Catacombs/Fungibulb/Fungibulb, small 3 + + + world/prop/catacomb/Fungus bulbs/small_corner-out.dat + + + + + + 0.5 + 0.5 + + + -0.25, 0.25 + + + + + 0 + 0 + + + + Prop/Catacombs/Natural/Stone, medium 01 + + + world/prop/catacomb/stone_01.dat + + + 0.5 + + 0 + + + + Prop/Catacombs/Pipeworks/Edge pipe, down + + + world/prop/catacomb/pipeworks/edge_vert_down.dat + + 0 + + + + Prop/Catacombs/Pipeworks/Edge pipe, up + + + world/prop/catacomb/pipeworks/edge_vert_up.dat + + 0 + + + + Prop/Catacombs/Pipeworks/Flat pipe + + + world/prop/catacomb/pipeworks/pipe_billboard01.dat + + 0 + + + + Prop/Catacombs/Pipeworks/Giant pipe 1 + + + world/prop/catacomb/pipeworks/pipe_L_horiz_down.dat + + 0 + + + + Prop/Catacombs/Pipeworks/Giant pipe 2 + + + world/prop/catacomb/pipeworks/pipe_L_horiz_up.dat + + 0 + + + + Prop/Catacombs/Pipeworks/Giant pipe 3 + + + world/prop/catacomb/pipeworks/pipe_S_vert.dat + + 0 + + + + Prop/Catacombs/Rubble/Brick loose 01, catacombs + + + world/prop/catacomb/rubble/brick_loose01.dat + + Variant + Catacomb + + + 0 + 0 + + + + Prop/Catacombs/Rubble/Brick loose 02, catacombs + + + world/prop/catacomb/rubble/brick_loose02.dat + + Variant + Catacomb + + + 0 + 0 + + + + Prop/Catacombs/Rubble/Brick pile 01, catacombs + + + world/prop/catacomb/rubble/brick_pile01.dat + + Variant + Catacomb + + + + + 0 + + + + Prop/Catacombs/Rubble/Brick pile 02, catacombs + + + world/prop/catacomb/rubble/brick_pile02.dat + + Variant + Catacomb + + + + + 0 + + + + Prop/City Base/Awning/Awning, 1-unit piece, capped + + + Variant + implementation.model["Variant"] + + + + + world/prop/city_base/awning.dat + + Model + awning_x1_cap + Variant + Red + + + + + 0 + 0 + + + + Prop/City Base/Awning/Awning, 1-unit, no caps + + + Variant + implementation.model["Variant"] + + + + + world/prop/city_base/awning.dat + + Model + awning_x1 + Variant + Red + + + + + 0 + 0 + + + + Prop/City Base/Awning/Awning, 2-unit, no caps + + + Variant + implementation.model["Variant"] + + + + + world/prop/city_base/awning.dat + + Model + awning_x2 + Variant + Red + + + + + + + 2.0 + + + 0.5, 0.0 + + + + + 0 + 0 + + + + Prop/City Base/Awning/Awning, 3-unit, no caps + + + Variant + implementation.model["Variant"] + + + + + world/prop/city_base/awning.dat + + Model + awning_x3 + Variant + Red + + + + 3.0 + + 0 + 0 + + + + Prop/City Base/Awning/Awning, 4-unit, no caps + + + Variant + implementation.model["Variant"] + + + + + world/prop/city_base/awning.dat + + Model + awning_x4 + Variant + Red + + + + 4.0 + + 0 + 0 + + + + Prop/City Base/Awning/Awning, cap Left + + + Variant + implementation.model["Variant"] + + + + + world/prop/city_base/awning.dat + + Model + awning_cap_L + Variant + Red + + + 0 + 0 + + + + Prop/City Base/Awning/Awning, cap Right + + + Variant + implementation.model["Variant"] + + + + + world/prop/city_base/awning.dat + + Model + awning_cap_R + Variant + Red + + + 0 + 0 + + + + Prop/City Base/Brazier, tall (2) + + + world/prop/structural/brazier_tall/model.dat + + + 0.4 + + + + + + Dynamic/Breakable Objects/Castle/Brazier, tall + + + + + + + + Prop/City Base/Fire Hydrant + + + world/prop/city_base/firehydrant.dat + + + 0.44 + + + + + + Dynamic/Breakable Objects/City, Base/Fire hydrant + + + + + + + + Prop/City Base/Girder props/Girder, no-walk, x4 + + + world/prop/city_base/girders.dat + + Model + gird_prop_x4 + Receives Projections + true + Texture + world/tileset/city_base/girder/girder.png + + + + + + + 4.0 + + + 0.0, 1.5 + + + + + + + + Prop/City Base/Girder props/Girder, no-walk, x6 + + + world/prop/city_base/girders.dat + + Model + gird_prop_x6 + + + + + + + 6.0 + + + 0.0, 2.5 + + + + + + + + Prop/City Base/Girder props/Girder, no-walk, x8 + + + world/prop/city_base/girders.dat + + Model + gird_prop_x8 + + + + + + + 8.0 + + + 0.0, 3.5 + + + + + + + + Prop/City Base/Girder props/Girder, walkable, x4 + + + world/prop/city_base/girders.dat + + Model + gird_prop_x4 + + + 0 + + + + Prop/City Base/Girder props/Girder, walkable, x6 + + + world/prop/city_base/girders.dat + + Model + gird_prop_x6 + + + 0 + + + + Prop/City Base/Girder props/Girder, walkable, x8 + + + world/prop/city_base/girders.dat + + Model + gird_prop_x8 + + + 0 + + + + Prop/City Base/Litter, blowing paper + + + Marker Color + implementation.model["Marker Color"] + + + + + world/prop/city_base/litter_paperblow.dat + + Marker Color + 0.0, 0.72156864, 0.003921569, 0.75 + + + + 8.0 + 8.0 + + 0 + 0 + + + + Prop/City Base/Mailbox + + + world/prop/city_base/mailbox.dat + + + + + + + + Dynamic/Breakable Objects/City, Base/Mailbox + + + + + + + + Prop/City Base/Scaffolding/Beam, back, horiz x2 + + + world/prop/city_base/scaffold_beams.dat + + Model + back_horiz_beam_x2 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Beam, back, horiz x3 + + + world/prop/city_base/scaffold_beams.dat + + Model + back_horiz_beam_x3 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Beam, back, horiz x4 + + + world/prop/city_base/scaffold_beams.dat + + Model + back_horiz_beam_x4 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Beam, back, horiz x6 + + + world/prop/city_base/scaffold_beams.dat + + Model + back_horiz_beam_x6 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Beam, front, horiz x2 + + + world/prop/city_base/scaffold_beams.dat + + Model + front_horiz_beam_x2 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Beam, front, horiz x3 + + + world/prop/city_base/scaffold_beams.dat + + Model + front_horiz_beam_x3 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Beam, front, horiz x4 + + + world/prop/city_base/scaffold_beams.dat + + Model + front_horiz_beam_x4 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Girder, vert 01 + + + world/prop/city_base/scaffold_beams.dat + + Model + gird_vert_01 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Post, back, vert 01 + + + world/prop/city_base/scaffold_beams.dat + + Model + backpost_01 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Post, back, vert 02 + + + world/prop/city_base/scaffold_beams.dat + + Model + backpost_02 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Post, back, vert 03 + + + world/prop/city_base/scaffold_beams.dat + + Model + backpost_03 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Post, back, vert 04 + + + world/prop/city_base/scaffold_beams.dat + + Model + backpost_04 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Post, front, vert 01 + + + world/prop/city_base/scaffold_beams.dat + + Model + frontpost_01 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Post, front, vert 02 + + + world/prop/city_base/scaffold_beams.dat + + Model + frontpost_02 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Post, front, vert 03 + + + world/prop/city_base/scaffold_beams.dat + + Model + frontpost_03 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Post, front, vert 04 + + + world/prop/city_base/scaffold_beams.dat + + Model + frontpost_04 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Post, side, vert 01 + + + world/prop/city_base/scaffold_beams.dat + + Model + sidepost_01 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Post, side, vert 02 + + + world/prop/city_base/scaffold_beams.dat + + Model + sidepost_02 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Post, side, vert 03 + + + world/prop/city_base/scaffold_beams.dat + + Model + sidepost_03 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Post, side, vert 04 + + + world/prop/city_base/scaffold_beams.dat + + Model + sidepost_04 + + + 0 + 0 + + + + Prop/City Base/Scaffolding/Sheet, corrugated 01 + + + Color + implementation.model["Color"] + + + + + world/prop/city_base/scaffold_tiles.dat + + Color + + Model + sheet_x1_01 + + + 0 + + + + Prop/City Base/Scaffolding/Sheet, corrugated 02 + + + Color + implementation.model["Color"] + + + + + world/prop/city_base/scaffold_tiles.dat + + Color + + Model + sheet_x1_02 + + + 0 + + + + Prop/City Base/Scaffolding/Sheet, corrugated x2 + + + Color + implementation.model["Color"] + + + + + world/prop/city_base/scaffold_tiles.dat + + Color + + Model + sheet_x2 + + + 0 + + + + Prop/City Base/Scaffolding/Tile-sized pieces/Plate 01 + + + Color + implementation.model["Color"] + + + + + world/prop/city_base/scaffold_tiles.dat + + Color + + Model + scaffold_back_plate + + + + + + + + Prop/City Base/Scaffolding/Tile-sized pieces/Platform 01 + + + Color + implementation.model["Color"] + + + + + world/prop/city_base/scaffold_tiles.dat + + Color + + Model + scaffold_platform01 + + + + + + + + Prop/City Base/Scaffolding/Tile-sized pieces/Platform 02 + + + Color + implementation.model["Color"] + + + + + world/prop/city_base/scaffold_tiles.dat + + Color + + Model + scaffold_platform02 + + + + + + + + Prop/City Base/Scaffolding/Tile-sized pieces/Platform 03 + + + Color + implementation.model["Color"] + + + + + world/prop/city_base/scaffold_tiles.dat + + Color + + Model + scaffold_platform03 + + + + + + + + Prop/City Base/Scaffolding/Tile-sized pieces/Platform 04 + + + Color + implementation.model["Color"] + + + + + world/prop/city_base/scaffold_tiles.dat + + Color + + Model + scaffold_platform04 + + + + + + + + Prop/City Base/Scaffolding/Tile-sized pieces/Tile piece 01 + + + Color + implementation.model["Color"] + + + + + world/prop/city_base/scaffold_tiles.dat + + Color + + Model + scaffold_box_01 + + + + + + + + Prop/City Base/Scaffolding/Tile-sized pieces/Tile piece x2 + + + Color + implementation.model["Color"] + + + + + world/prop/city_base/scaffold_tiles.dat + + Color + Red + Model + scaffold_box_x2 + + + + + + + 2.0 + + + 0.5, 0.0 + + + + + + + + Prop/City Base/Stairs (fire escape)/Platform 1 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + platform_01 + + + 0 + + + + Prop/City Base/Stairs (fire escape)/Platform 2 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + platform_02 + + + 0 + + + + Prop/City Base/Stairs (fire escape)/Platform 3 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + platform_03 + + + 0 + + + + Prop/City Base/Stairs (fire escape)/Platform 4 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + platform_04 + + + 0 + + + + Prop/City Base/Stairs (fire escape)/Platform x2 01 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + platform_x2_01 + + + 0 + + + + Prop/City Base/Stairs (fire escape)/Platform x2 02 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + platform_x2_02 + + + 0 + + + + Prop/City Base/Stairs (fire escape)/Platform x2 03 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + platform_x2_03 + + + 0 + + + + Prop/City Base/Stairs (fire escape)/Platform x2 04 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + platform_x2_04 + + + 0 + + + + Prop/City Base/Stairs (fire escape)/Rail L1 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + rail_L01 + + + + + + + 0.5 + 1.04 + + + 0.25, 0.0 + + + + + + + + Prop/City Base/Stairs (fire escape)/Rail L2 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + rail_L02 + + + + + + + 0.5 + 1.04 + + + 0.25, 0.0 + + + + + + + + Prop/City Base/Stairs (fire escape)/Rail R1 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + rail_R01 + + + + + + + 0.5 + 1.04 + + + -0.25, 0.0 + + + + + + + + Prop/City Base/Stairs (fire escape)/Rail R2 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + rail_R02 + + + + + + + 0.5 + 1.04 + + + -0.25, 0.0 + + + + + + + + Prop/City Base/Stairs (fire escape)/Rail straight x2, 01 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + rail_x2_01 + + + + + + + 0.54 + 2.04 + + + -0.25, 0.5 + + + + + + + + Prop/City Base/Stairs (fire escape)/Rail straight x3, 01 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + rail_x3_01 + + + + + + + 0.54 + 3.04 + + + -0.25, 1.0 + + + + + + + + Prop/City Base/Stairs (fire escape)/Rail straight, 01 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + rail_01 + + + + + + + 0.54 + 1.04 + + + -0.25, 0.0 + + + + + + + + Prop/City Base/Stairs (fire escape)/Rail straight, 02 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + rail_02 + + + + + + + 0.54 + 1.04 + + + -0.25, 0.0 + + + + + + + + Prop/City Base/Stairs (fire escape)/Rail straight, 03 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + rail_03 + + + + + + + 0.54 + 1.04 + + + -0.25, 0.0 + + + + + + + + Prop/City Base/Stairs (fire escape)/Rail straight, ladder + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + rail_ladder + + + + + + + 0.54 + 1.04 + + + -0.25, 0.0 + + + + + + + + Prop/City Base/Stairs (fire escape)/Rail, corner post + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + corner_post + + + + + + + 0.45 + + + -0.2, 0.2 + + + + + + + + Prop/City Base/Stairs (fire escape)/Stair beam x1 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + stair_beam_x1 + + + 0 + 0 + + + + Prop/City Base/Stairs (fire escape)/Stair beam x2 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + stair_beam_x2 + + + 0 + 0 + + + + Prop/City Base/Stairs (fire escape)/Stair beam x3 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + stair_beam_x3 + + + 0 + 0 + + + + Prop/City Base/Stairs (fire escape)/Stair beam x4 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + stair_beam_x4 + + + 0 + 0 + + + + Prop/City Base/Stairs (fire escape)/Stair beam x6 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + stair_beam_x6 + + + 0 + 0 + + + + Prop/City Base/Stairs (fire escape)/Stairs 3 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + stairs_03 + + + 0 + + + + Prop/City Base/Stairs (fire escape)/Stairs 4 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + stairs_04 + + + 0 + + + + Prop/City Base/Stairs (fire escape)/Stairs x2 01 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + stairs_01 + + + 0 + + + + Prop/City Base/Stairs (fire escape)/Stairs x2 02 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + stairs_02 + + + 0 + + + + Prop/City Base/Stairs (fire escape)/Stairs x2 03 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + stairs_03 + + + 0 + + + + Prop/City Base/Stairs (fire escape)/Stairs x2 04 + + + world/prop/city_base/fire_escape/fire_escape.dat + + Model + stairs_04 + + + 0 + + + + Prop/City Base/Street light 01 + + + world/prop/city_base/streetlamp_01.dat + + + + 0 + + + + Prop/City Base/Street markings/White fade + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + line_x1_fade + + + + + + + 0.4 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White x1 01 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + line_x1_01 + + + + + + + 0.4 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White x1 02 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + line_x1_02 + + + + + + + 0.4 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White x1 03 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + line_x1_03 + + + + + + + 0.4 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White x1 04 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + line_x1_04 + + + + + + + 0.4 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White x2 01 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + line_x2_01 + + + + + + + 2.0 + 0.4 + + + 0.5, 0.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White x2 02 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + line_x2_02 + + + + + + + 2.0 + 0.4 + + + 0.5, 0.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White x3 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + line_x3_01 + + + + + + + 3.0 + 0.4 + + + 1.0, 0.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White x4 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + line_x4_01 + + + + + + + 4.0 + 0.4 + + + 1.5, 0.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White, X box x2 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + x_box_x2 + + + + + + + 2.2 + 2.2 + + + 0.5, 0.5 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White, corner curve x2 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + line_curve_2x2_01 + + + + + + + 2.0 + 2.0 + + + -0.5, -0.5 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White, corner curve x3 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + line_curve_3x3_01 + + + + + + + 3.0 + 3.0 + + + -1.0, -1.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White, corner dashed x5 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + dash_curve_5x5_01 + + + + + + + 5.0 + 5.0 + + + -2.0, -2.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White, corner sharp x1 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + line_corner_x1 + + + + + + + 0.75 + 0.75 + + + -0.125, -0.125 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White, hatchbox cap + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + hash_box_cap + + + + + + + 0.6 + 1.8 + + + -0.2, 0.5 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White, hatchbox x1 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + hash_box_x1 + + + + + + + 1.8 + + + 0.0, 0.5 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White, hatchbox x2 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + hash_box_x2 + + + + + + + 2.0 + 1.8 + + + 0.5, 0.5 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White, hatchbox x4 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + hash_box_x4 + + + + + + + 4.0 + 1.8 + + + 1.5, 0.5 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White, thick x2 01 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + line_fat_x2_01 + + + + + + + 2.0 + 0.68 + + + 0.5, 0.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/White, thick x2 02 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + White + Model + line_fat_x2_02 + + + + + + + 2.0 + 0.68 + + + 0.5, 0.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow fade + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + line_x1_fade + + + + + + + 0.4 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow x1 01 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + line_x1_01 + + + + + + + 0.4 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow x1 02 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + line_x1_02 + + + + + + + 0.4 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow x1 03 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + line_x1_03 + + + + + + + 0.4 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow x1 04 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + line_x1_04 + + + + + + + 0.4 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow x2 01 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + line_x2_01 + + + + + + + 2.0 + 0.4 + + + 0.5, 0.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow x2 02 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + line_x2_02 + + + + + + + 2.0 + 0.4 + + + 0.5, 0.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow x3 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + line_x3_01 + + + + + + + 3.0 + 0.4 + + + 1.0, 0.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow x4 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + line_x4_01 + + + + + + + 4.0 + 0.4 + + + 1.5, 0.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow, X box x2 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + x_box_x2 + + + + + + + 2.2 + 2.2 + + + 0.5, 0.5 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow, corner curve x2 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + line_curve_2x2_01 + + + + + + + 2.0 + 2.0 + + + -0.5, -0.5 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow, corner curve x3 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + line_curve_3x3_01 + + + + + + + 3.0 + 3.0 + + + -1.0, -1.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow, corner dashed x5 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + dash_curve_5x5_01 + + + + + + + 5.0 + 5.0 + + + -2.0, -2.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow, corner sharp x1 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + line_corner_x1 + + + + + + + 0.4 + 0.4 + + + -0.5, -0.5 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow, hatchbox cap + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + hash_box_cap + + + + + + + 0.6 + 1.8 + + + -0.2, 0.5 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow, hatchbox x1 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + hash_box_x1 + + + + + + + 1.8 + + + 0.0, 0.5 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow, hatchbox x2 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + hash_box_x2 + + + + + + + 2.0 + 1.8 + + + 0.5, 0.5 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow, hatchbox x4 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + hash_box_x4 + + + + + + + 4.0 + 1.8 + + + 1.5, 0.5 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow, thick x2 01 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + line_fat_x2_01 + + + + + + + 2.0 + 0.68 + + + 0.5, 0.0 + + + + + 0 + 0 + + + + Prop/City Base/Street markings/Yellow, thick x2 02 + + + world/prop/city_base/street_markings/street_lines_01.dat + + Color + Yellow + Model + line_fat_x2_02 + + + + + + + 2.0 + 0.68 + + + 0.5, 0.0 + + + + + 0 + 0 + + + + Prop/Clockworks/Fan, x2 01 + + + Variant + implementation.model["Variant"] + + + + + world/prop/clockworks/fan_x2_01.dat + + Variant + Iron (default) + + + 0 + + + + Prop/Clockworks/Girder props/Girder, Blue - no-walk, x4 + + + world/prop/structural/girder/girder_set.dat + + Model + gird_prop_x4 + Receives Projections + false + Texture + world/prop/structural/girder/clockwork_blue.png + + + + + + + 4.0 + + + 0.0, 1.5 + + + + + 0 + + + + Prop/Clockworks/Girder props/Girder, Blue - no-walk, x6 + + + world/prop/structural/girder/girder_set.dat + + Model + gird_prop_x6 + Receives Projections + false + Texture + world/prop/structural/girder/clockwork_blue.png + + + + + + + 6.0 + + + 0.0, 2.5 + + + + + 0 + + + + Prop/Clockworks/Girder props/Girder, Blue - no-walk, x8 + + + world/prop/structural/girder/girder_set.dat + + Model + gird_prop_x8 + Receives Projections + false + Texture + world/prop/structural/girder/clockwork_blue.png + + + + + + + 8.0 + + + 0.0, 3.5 + + + + + 0 + + + + Prop/Clockworks/Girder props/Girder, Blue - walkable, x4 + + + world/prop/structural/girder/girder_set.dat + + Model + gird_prop_x4 + Receives Projections + true + Texture + world/prop/structural/girder/clockwork_blue.png + + + 0 + + + + Prop/Clockworks/Girder props/Girder, Blue - walkable, x6 + + + world/prop/structural/girder/girder_set.dat + + Model + gird_prop_x6 + Receives Projections + true + Texture + world/prop/structural/girder/clockwork_blue.png + + + 0 + + + + Prop/Clockworks/Girder props/Girder, Blue - walkable, x8 + + + world/prop/structural/girder/girder_set.dat + + Model + gird_prop_x8 + Receives Projections + true + Texture + world/prop/structural/girder/clockwork_blue.png + + + 0 + + + + Prop/Clockworks/Girder props/Girder, Brass - no-walk, x4 + + + world/prop/structural/girder/girder_set.dat + + Model + gird_prop_x4 + Receives Projections + false + Texture + world/prop/structural/girder/clockwork_brass.png + + + + + + + 4.0 + + + 0.0, 1.5 + + + + + 0 + + + + Prop/Clockworks/Girder props/Girder, Brass - no-walk, x6 + + + world/prop/structural/girder/girder_set.dat + + Model + gird_prop_x6 + Receives Projections + false + Texture + world/prop/structural/girder/clockwork_brass.png + + + + + + + 6.0 + + + 0.0, 2.5 + + + + + 0 + + + + Prop/Clockworks/Girder props/Girder, Brass - no-walk, x8 + + + world/prop/structural/girder/girder_set.dat + + Model + gird_prop_x8 + Receives Projections + false + Texture + world/prop/structural/girder/clockwork_brass.png + + + + + + + 8.0 + + + 0.0, 3.5 + + + + + 0 + + + + Prop/Clockworks/Girder props/Girder, Brass - walkable, x4 + + + world/prop/structural/girder/girder_set.dat + + Model + gird_prop_x4 + Receives Projections + true + Texture + world/prop/structural/girder/clockwork_brass.png + + + 0 + + + + Prop/Clockworks/Girder props/Girder, Brass - walkable, x6 + + + world/prop/structural/girder/girder_set.dat + + Model + gird_prop_x6 + Receives Projections + true + Texture + world/prop/structural/girder/clockwork_brass.png + + + 0 + + + + Prop/Clockworks/Girder props/Girder, Brass - walkable, x8 + + + world/prop/structural/girder/girder_set.dat + + Model + gird_prop_x8 + Receives Projections + true + Texture + world/prop/structural/girder/clockwork_brass.png + + + 0 + + + + Prop/Clockworks/Lamp, short rail-mounted + + + Light Color + implementation.model["Light Color"] + + + + + world/prop/clockworks/lamp_rail02.dat + + Light Color + Default (incandescent) + + + + + 0 + 0 + + + + Prop/Clockworks/Lamp, tall rail-mounted + + + Light Color + implementation.model["Light Color"] + + + + + world/prop/clockworks/lamp_rail01.dat + + Light Color + Default (incandescent) + + + + + 0 + + + + Prop/Clockworks/Pipes, floor small/Blue, T joint + + + world/prop/clockworks/pipes_small.dat + + Model + pipe_floor_t + Texture + world/prop/clockworks/pipe_small_blue.png + Texture - Brace + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, floor small/Blue, Terminate + + + world/prop/clockworks/pipes_small.dat + + Model + pipe_floor_terminate + Texture + world/prop/clockworks/pipe_small_blue.png + Texture - Brace + world/prop/clockworks/pipe_small_blue_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, floor small/Blue, elbow L + + + world/prop/clockworks/pipes_small.dat + + Model + pipe_floor_l + Texture + world/prop/clockworks/pipe_small_blue.png + Texture - Brace + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, floor small/Blue, standing - Valve, 1.5unit + + + + Spawn with Valve? + + + Handler + implementation.handlers[0] + + + + + + Yes + + Handler + + + + Props/Clockworks/Valves - red wheel, 1.5unit + + true + + + + + + + No + + Handler + + + + + + Yes + + + + + world/prop/clockworks/pipes_small_standing_set.dat + + Model + pipe_standing_1halfunit + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_blue.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_blue_fitting.png + + + + + + + 0.34 + + + 0.0, 0.08 + + + + + + + + + Props/Clockworks/Valves - red wheel, 1.5unit + + true + + + + 96 + 0 + + + + Prop/Clockworks/Pipes, floor small/Blue, standing - Valve, 1unit + + + + Spawn with Valve? + + + Handler + implementation.handlers[0] + + + + + + Yes + + Handler + + + + Props/Clockworks/Valves - red wheel, 1unit + + true + + + + + + + No + + Handler + + + + + + Yes + + + + + world/prop/clockworks/pipes_small_standing_set.dat + + Model + pipe_standing_1unit + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_blue.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_blue_fitting.png + + + + + + + 0.34 + + + 0.0, 0.08 + + + + + + + + + Props/Clockworks/Valves - red wheel, 1unit + + true + + + + 96 + 0 + + + + Prop/Clockworks/Pipes, floor small/Blue, standing - Valve, 2.5unit + + + + Spawn with Valve? + + + Handler + implementation.handlers[0] + + + + + + Yes + + Handler + + + + Props/Clockworks/Valves - red wheel, 2.5unit + + true + + + + + + + No + + Handler + + + + + + Yes + + + + + world/prop/clockworks/pipes_small_standing_set.dat + + Model + pipe_standing_2halfunit + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_blue.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_blue_fitting.png + + + + + + + 0.34 + + + 0.0, 0.08 + + + + + + + + + Props/Clockworks/Valves - red wheel, 2.5unit + + true + + + + 96 + 0 + + + + Prop/Clockworks/Pipes, floor small/Blue, standing - Valve, 2unit + + + + Spawn with Valve? + + + Handler + implementation.handlers[0] + + + + + + Yes + + Handler + + + + Props/Clockworks/Valves - red wheel, 2unit + + true + + + + + + + No + + Handler + + + + + + Yes + + + + + world/prop/clockworks/pipes_small_standing_set.dat + + Model + pipe_standing_2unit + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_blue.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_blue_fitting.png + + + + + + + 0.34 + + + 0.0, 0.08 + + + + + + + + + Props/Clockworks/Valves - red wheel, 2unit + + true + + + + 96 + 0 + + + + Prop/Clockworks/Pipes, floor small/Blue, straight half + + + world/prop/clockworks/pipes_small.dat + + Model + pipe_floor_half + Texture + world/prop/clockworks/pipe_small_blue.png + Texture - Brace + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, floor small/Blue, straight x1 + + + world/prop/clockworks/pipes_small.dat + + Model + pipe_floor_x1 + Texture + world/prop/clockworks/pipe_small_blue.png + Texture - Brace + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, floor small/Blue, straight x2 + + + world/prop/clockworks/pipes_small.dat + + Model + pipe_floor_x2 + Texture + world/prop/clockworks/pipe_small_blue.png + Texture - Brace + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, floor small/Iron, T joint + + + world/prop/clockworks/pipes_small.dat + + Model + pipe_floor_t + Texture + world/prop/clockworks/pipe_small_iron.png + Texture - Brace + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, floor small/Iron, Terminate + + + world/prop/clockworks/pipes_small.dat + + Model + pipe_floor_terminate + Texture + world/prop/clockworks/pipe_small_iron.png + Texture - Brace + world/prop/clockworks/pipe_small_iron_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, floor small/Iron, elbow L + + + world/prop/clockworks/pipes_small.dat + + Model + pipe_floor_l + Texture + world/prop/clockworks/pipe_small_iron.png + Texture - Brace + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, floor small/Iron, standing - Valve, 1.5unit + + + + Spawn with Valve? + + + Handler + implementation.handlers[0] + + + + + + Yes + + Handler + + + + Props/Clockworks/Valves - red wheel, 1.5unit + + true + + + + + + + No + + Handler + + + + + + Yes + + + + + world/prop/clockworks/pipes_small_standing_set.dat + + Model + pipe_standing_1halfunit + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_iron.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_iron_fitting.png + + + + + + + 0.34 + + + 0.0, 0.08 + + + + + + + + + Props/Clockworks/Valves - red wheel, 1.5unit + + true + + + + 96 + 0 + + + + Prop/Clockworks/Pipes, floor small/Iron, standing - Valve, 1unit + + + + Spawn with Valve? + + + Handler + implementation.handlers[0] + + + + + + Yes + + Handler + + + + Props/Clockworks/Valves - red wheel, 1unit + + true + + + + + + + No + + Handler + + + + + + Yes + + + + + world/prop/clockworks/pipes_small_standing_set.dat + + Model + pipe_standing_1unit + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_iron.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_iron_fitting.png + + + + + + + 0.34 + + + 0.0, 0.08 + + + + + + + + + Props/Clockworks/Valves - red wheel, 1unit + + true + + + + 96 + 0 + + + + Prop/Clockworks/Pipes, floor small/Iron, standing - Valve, 2.5unit + + + + Spawn with Valve? + + + Handler + implementation.handlers[0] + + + + + + Yes + + Handler + + + + Props/Clockworks/Valves - red wheel, 2.5unit + + true + + + + + + + No + + Handler + + + + + + Yes + + + + + world/prop/clockworks/pipes_small_standing_set.dat + + Model + pipe_standing_2halfunit + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_iron.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_iron_fitting.png + + + + + + + 0.34 + + + 0.0, 0.08 + + + + + + + + + Props/Clockworks/Valves - red wheel, 2.5unit + + true + + + + 96 + 0 + + + + Prop/Clockworks/Pipes, floor small/Iron, standing - Valve, 2unit + + + + Spawn with Valve? + + + Handler + implementation.handlers[0] + + + + + + Yes + + Handler + + + + Props/Clockworks/Valves - red wheel, 2unit + + true + + + + + + + No + + Handler + + + + + + Yes + + + + + world/prop/clockworks/pipes_small_standing_set.dat + + Model + pipe_standing_2unit + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_iron.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_iron_fitting.png + + + + + + + 0.34 + + + 0.0, 0.08 + + + + + + + + + Props/Clockworks/Valves - red wheel, 2unit + + true + + + + 96 + 0 + + + + Prop/Clockworks/Pipes, floor small/Iron, straight half + + + world/prop/clockworks/pipes_small.dat + + Model + pipe_floor_half + Texture + world/prop/clockworks/pipe_small_iron.png + Texture - Brace + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, floor small/Iron, straight x1 + + + world/prop/clockworks/pipes_small.dat + + Model + pipe_floor_x1 + Texture + world/prop/clockworks/pipe_small_iron.png + Texture - Brace + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, floor small/Iron, straight x2 + + + world/prop/clockworks/pipes_small.dat + + Model + pipe_floor_x2 + Texture + world/prop/clockworks/pipe_small_iron.png + Texture - Brace + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Blue/Blue, Horizontal 2unit 01 + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_horiz_2x_01 + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_blue.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_blue_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Blue/Blue, Horizontal 2unit 02 + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_horiz_2x_02 + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_blue.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_blue_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Blue/Blue, Horizontal 4unit 01 + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_horiz_4x_01 + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_blue.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_blue_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Blue/Blue, L joint down + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_elbow_l_down + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_blue.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_blue_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Blue/Blue, L joint up + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_elbow_l_up + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_blue.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_blue_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Blue/Blue, T joint + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_elbow_t + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_blue.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_blue_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Blue/Blue, Vertical 2unit 01 + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_vert_2x_01 + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_blue.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_blue_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Blue/Blue, Vertical 2unit 02 + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_vert_2x_02 + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_blue.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_blue_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Blue/Blue, Vertical 4unit 01 + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_vert_4x_01 + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_blue.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_blue_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Iron/Iron, Horizontal 2unit 01 + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_horiz_2x_01 + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_iron.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_iron_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Iron/Iron, Horizontal 2unit 02 + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_horiz_2x_02 + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_iron.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_iron_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Iron/Iron, Horizontal 4unit 01 + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_horiz_4x_01 + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_iron.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_iron_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Iron/Iron, L joint down + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_elbow_l_down + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_iron.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_iron_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Iron/Iron, L joint up + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_elbow_l_up + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_iron.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_iron_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Iron/Iron, T joint + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_elbow_t + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_iron.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_iron_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Iron/Iron, Vertical 2unit 01 + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_vert_2x_01 + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_iron.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_iron_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Iron/Iron, Vertical 2unit 02 + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_vert_2x_02 + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_iron.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_iron_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, free small/Iron/Iron, Vertical 4unit 01 + + + world/prop/clockworks/pipes_small_free.dat + + Model + pipe_free_vert_4x_01 + Texture - Pipe Tiling + world/prop/clockworks/pipe_small_iron.png + Texture - Riveted Fittings + world/prop/clockworks/pipe_small_iron_fitting.png + + + 0 + 0 + + + + Prop/Clockworks/Pipes, ground - Blue Large/Abyss pipe, vertical + + + Prop/Haven/Ground pipes, brass/Abyss pipe, vertical + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Bracket + + + Prop/Haven/Ground pipes, brass/Bracket + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Cliff pipe, vertical + + + Prop/Haven/Ground pipes, brass/Cliff pipe, vertical + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Diagonal 1unit + + + Prop/Haven/Ground pipes, brass/Diagonal 1unit + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Diagonal 2unit + + + Prop/Haven/Ground pipes, brass/Diagonal 2unit + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Diagonal 3unit + + + Prop/Haven/Ground pipes, brass/Diagonal 3unit + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Diagonal 4unit + + + Prop/Haven/Ground pipes, brass/Diagonal 4unit + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Diagonal 5unit + + + Prop/Haven/Ground pipes, brass/Diagonal 5unit + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Elbow 45, left + + + Prop/Haven/Ground pipes, brass/Elbow 45, left + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Elbow 45, right + + + Prop/Haven/Ground pipes, brass/Elbow 45, right + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Elbow 90 + + + Prop/Haven/Ground pipes, brass/Elbow 90 + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Straight 1unit + + + Prop/Haven/Ground pipes, brass/Straight 1unit + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Straight 2 unit + + + Prop/Haven/Ground pipes, brass/Straight 2 unit + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Straight 3 unit + + + Prop/Haven/Ground pipes, brass/Straight 3 unit + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Straight 5 unit + + + Prop/Haven/Ground pipes, brass/Straight 5 unit + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Blue Large/Y Connector + + + Prop/Haven/Ground pipes, brass/Y Connector + + Color variant + Clockwork Blue + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Abyss pipe, vertical + + + Prop/Haven/Ground pipes, brass/Abyss pipe, vertical + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Bracket + + + Prop/Haven/Ground pipes, brass/Bracket + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Cliff pipe, vertical + + + Prop/Haven/Ground pipes, brass/Cliff pipe, vertical + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Diagonal 1unit + + + Prop/Haven/Ground pipes, brass/Diagonal 1unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Diagonal 2unit + + + Prop/Haven/Ground pipes, brass/Diagonal 2unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Diagonal 3unit + + + Prop/Haven/Ground pipes, brass/Diagonal 3unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Diagonal 4unit + + + Prop/Haven/Ground pipes, brass/Diagonal 4unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Diagonal 5unit + + + Prop/Haven/Ground pipes, brass/Diagonal 5unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Elbow 45, left + + + Prop/Haven/Ground pipes, brass/Elbow 45, left + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Elbow 45, right + + + Prop/Haven/Ground pipes, brass/Elbow 45, right + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Elbow 90 + + + Prop/Haven/Ground pipes, brass/Elbow 90 + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Abyss pipe, vertical + + + Prop/Haven/Ground pipes, brass/Abyss pipe, vertical + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Bracket + + + Prop/Haven/Ground pipes, brass/Bracket + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Cliff pipe, vertical + + + Prop/Haven/Ground pipes, brass/Cliff pipe, vertical + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Diagonal 1unit + + + Prop/Haven/Ground pipes, brass/Diagonal 1unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Diagonal 2unit + + + Prop/Haven/Ground pipes, brass/Diagonal 2unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Diagonal 3unit + + + Prop/Haven/Ground pipes, brass/Diagonal 3unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Diagonal 4unit + + + Prop/Haven/Ground pipes, brass/Diagonal 4unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Diagonal 5unit + + + Prop/Haven/Ground pipes, brass/Diagonal 5unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Elbow 45, left + + + Prop/Haven/Ground pipes, brass/Elbow 45, left + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Elbow 45, right + + + Prop/Haven/Ground pipes, brass/Elbow 45, right + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Elbow 90 + + + Prop/Haven/Ground pipes, brass/Elbow 90 + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Straight 1unit + + + Prop/Haven/Ground pipes, brass/Straight 1unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Straight 2 unit + + + Prop/Haven/Ground pipes, brass/Straight 2 unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Straight 3 unit + + + Prop/Haven/Ground pipes, brass/Straight 3 unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Straight 5 unit + + + Prop/Haven/Ground pipes, brass/Straight 5 unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Ground pipes, Iron Large/Y Connector + + + Prop/Haven/Ground pipes, brass/Y Connector + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Straight 1unit + + + Prop/Haven/Ground pipes, brass/Straight 1unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Straight 2 unit + + + Prop/Haven/Ground pipes, brass/Straight 2 unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Straight 3 unit + + + Prop/Haven/Ground pipes, brass/Straight 3 unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Straight 5 unit + + + Prop/Haven/Ground pipes, brass/Straight 5 unit + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, ground - Iron Large/Y Connector + + + Prop/Haven/Ground pipes, brass/Y Connector + + Color variant + Clockwork Iron + + + + + + Prop/Clockworks/Pipes, wall small/Height 1 - Iron, T-down + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_t-down + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 1 - Iron, T-up + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_t-up + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 1 - Iron, elbow-down L + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_floor_l + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 1 - Iron, elbow-down R + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_elbowdown_R + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 1 - Iron, straight half + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_half + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 1 - Iron, straight x1 + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_x1 + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 1 - Iron, straight x2 + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_x2 + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 2 - Iron, S Left + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall2_s_L + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 2 - Iron, S Right + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall2_s_R + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 2 - Iron, T-down + + + Color variant + implementation.model["Models"][0].model["Color variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_t-down + + + + 0.0, 0.34, 0.96 + + + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 2 - Iron, elbow-down L + + + Color variant + implementation.model["Models"][0].model["Color variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_elbowdown_L + + + + 0.0, 0.34, 0.96 + + + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 2 - Iron, elbow-down R + + + Color variant + implementation.model["Models"][0].model["Color variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_elbowdown_R + + + + 0.0, 0.34, 0.96 + + + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 2 - Iron, straight half-unit + + + Color variant + implementation.model["Models"][0].model["Color variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_half + + + + 0.0, 0.34, 0.96 + + + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 2 - Iron, straight x1 + + + Color variant + implementation.model["Models"][0].model["Color variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_x1 + + + + 0.0, 0.34, 0.96 + + + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 2 - Iron, straight x2 + + + Color variant + implementation.model["Models"][0].model["Color variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_x2 + + + + 0.0, 0.34, 0.96 + + + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 3 - Iron, T-down + + + Color variant + implementation.model["Models"][0].model["Color variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_t-down + + + + 0.0, 0.34, 1.56 + + + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 3 - Iron, elbow-down L + + + Color variant + implementation.model["Models"][0].model["Color variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_elbowdown_L + + + + 0.0, 0.34, 1.56 + + + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 3 - Iron, elbow-down R + + + Color variant + implementation.model["Models"][0].model["Color variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_elbowdown_R + + + + 0.0, 0.34, 1.56 + + + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 3 - Iron, elbow-up L + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall3_elbow-up_L + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 3 - Iron, elbow-up R + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall3_elbow-up_R + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 3 - Iron, straight half-unit + + + Color variant + implementation.model["Models"][0].model["Color variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_half + + + + 0.0, 0.34, 1.56 + + + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 3 - Iron, straight x1 + + + Color variant + implementation.model["Models"][0].model["Color variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_x1 + + + + 0.0, 0.34, 1.56 + + + + + + 0 + 0 + + + + Prop/Clockworks/Pipes, wall small/Height 3 - Iron, straight x2 + + + Color variant + implementation.model["Models"][0].model["Color variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + world/prop/clockworks/pipes_small_wall.dat + + Color variant + Clockwork iron + Model + pipe_wall1_x2 + + + + 0.0, 0.34, 1.56 + + + + + + 0 + 0 + + + + Prop/Clockworks/Platform Lift + + + world/dynamic/elevator/univeral/model_start-static.dat + + 0 + + + + Prop/Clockworks/Platform Rail + + + world/prop/clockworks/model_platformrail.dat + + + + + + 0.5 + 4.0 + + + 2.75, 1.5 + + + + + 0.5 + 4.0 + + + -2.75, 1.5 + + + + + 5.0 + 0.5 + + + 0.0, 3.25 + + + + + + + -1.0 + 3.0 + + + -2.5 + 1.0 + + + + + + + + + 1.0 + 3.0 + + + 2.5 + 1.0 + + + + + + + + + + Prop/Clockworks/Tech/Screw - giant 01 + + + world/prop/clockworks/screw_giant_01.dat + + 0 + + + + Prop/Clockworks/Understructure/Understructure 7x3 + + + world/prop/clockworks/understructure_7x3.dat + + + + + + 7.0 + 3.0 + + + 0.5, 0.5 + + + + + 0 + 0 + + + + Prop/Clockworks/Understructure/Understructure x3 + + + world/prop/clockworks/understructure_x3.dat + + + + + + 3.0 + 3.0 + + + 0.5, 0.5 + + + + + 0 + 0 + + + + Prop/Clockworks/Understructure/Understructure x5 + + + world/prop/clockworks/understructure_x5.dat + + + + + + 5.0 + 5.0 + + + 0.5, 1.5 + + + + + 0 + 0 + + + + Prop/Clockworks/Understructure/Understructure x7 + + + world/prop/clockworks/understructure_x7.dat + + + + + + 7.0 + 7.0 + + + 0.5, 2.5 + + + + + 0 + 0 + + + + Prop/Clockworks/Understructure/Understructure x9 + + + world/prop/clockworks/understructure_x9.dat + + + + + + 9.0 + 9.0 + + + 0.5, 3.5 + + + + + 0 + 0 + + + + Prop/General/Altar, x3 + + + world/prop/generic/altar_x3.dat + + + 3.0 + 3.0 + + 0 + + + + Prop/General/Fiend/Sigil - Circle, large quarter + + + Model variant + implementation.model["Model variant"] + + + Sigil Color + implementation.model["Color"] + + + Shape + implementation.shape + + + + + world/prop/generic/fiend/sigil_circles_handles.dat + + Color + 1.0, 0.0, 1.0, 1.0 + Flag color + 1.0, 0.52156866, 0.2, 1.0 + Model variant + Large, quarter + + + + 2.2 + + 0 + 0 + + + + Prop/General/Fiend/Sigil - Circle, large sixth + + + Sigil Color + implementation.placeable["Sigil Color"] + + + + + Prop/General/Fiend/Sigil - Circle, large quarter + + Model variant + Large, sixth + Shape + + 2.2 + + Sigil Color + 1.0, 0.0, 1.0, 1.0 + + + + + + Prop/General/Fiend/Sigil - Circle, medium full + + + Sigil Color + implementation.placeable["Sigil Color"] + + + + + Prop/General/Fiend/Sigil - Circle, large quarter + + Model variant + Medium, full + Shape + + 1.2 + + Sigil Color + 1.0, 0.0, 1.0, 1.0 + + + + + + Prop/General/Fiend/Sigil - Circle, medium half + + + Sigil Color + implementation.placeable["Sigil Color"] + + + + + Prop/General/Fiend/Sigil - Circle, large quarter + + Model variant + Medium, half + Shape + + 1.2 + + Sigil Color + 1.0, 0.0, 1.0, 1.0 + + + + + + Prop/General/Fiend/Sigil - Circle, medium sixth + + + Sigil Color + implementation.placeable["Sigil Color"] + + + + + Prop/General/Fiend/Sigil - Circle, large quarter + + Model variant + Medium, sixth + Shape + + 1.2 + + Sigil Color + 1.0, 0.0, 1.0, 1.0 + + + + + + Prop/General/Fiend/Sigil - Circle, small full + + + Sigil Color + implementation.placeable["Sigil Color"] + + + + + Prop/General/Fiend/Sigil - Circle, large quarter + + Model variant + Small, full + Shape + + 0.4 + + Sigil Color + 1.0, 0.0, 1.0, 1.0 + + + + + + Prop/General/Fiend/Sigil - Circle, small half + + + Sigil Color + implementation.placeable["Sigil Color"] + + + + + Prop/General/Fiend/Sigil - Circle, large quarter + + Model variant + Small, half + Shape + + 0.4 + + Sigil Color + 1.0, 0.0, 1.0, 1.0 + + + + + + Prop/General/Fiend/Sigil - Line, curled + + + Sigil Color + implementation.model["Color"] + + + + + world/prop/generic/fiend/sigil_circles_handles.dat + + Color + 1.0, 0.0, 1.0, 1.0 + Flag color + 1.0, 0.88235295, 0.4, 1.0 + Model variant + Line, curled + + + + + + + 2.4 + 0.4 + + + + + 0 + 0 + + + + Prop/General/Fiend/Sigil - Line, straight + + + Sigil Color + implementation.model["Color"] + + + + + world/prop/generic/fiend/sigil_circles_handles.dat + + Color + 1.0, 0.0, 1.0, 1.0 + Flag color + 1.0, 0.88235295, 0.4, 1.0 + Model variant + Line, straight + + + + + + + 2.0 + 0.25 + + + + + 0 + 0 + + + + Prop/General/Fiend/Sigil - Rune 01 + + + Model + implementation.model["Model"] + + + Sigil Color + implementation.model["Color"] + + + Marker color + implementation.model["Flag color"] + + + + + world/prop/generic/fiend/sigil_runes_handles.dat + + Color + 1.0, 0.0, 1.0, 1.0 + Flag color + 1.0, 1.0, 0.6, 1.0 + Marker + flag_40tall + Model + sigil_rune_01 + + + + 0.6 + 0.6 + + 0 + 0 + + + + Prop/General/Fiend/Sigil - Rune 02 + + + Color + implementation.placeable["Sigil Color"] + + + + + Prop/General/Fiend/Sigil - Rune 01 + + Marker color + 1.0, 1.0, 0.6, 1.0 + Model + sigil_rune_02 + Sigil Color + 1.0, 0.0, 1.0, 1.0 + + + + + + Prop/General/Fiend/Sigil - Rune 03 + + + Color + implementation.placeable["Sigil Color"] + + + + + Prop/General/Fiend/Sigil - Rune 01 + + Marker color + 1.0, 1.0, 0.6, 1.0 + Model + sigil_rune_03 + Sigil Color + 1.0, 0.0, 1.0, 1.0 + + + + + + Prop/General/Fiend/Sigil - Rune 04 + + + Color + implementation.placeable["Sigil Color"] + + + + + Prop/General/Fiend/Sigil - Rune 01 + + Marker color + 1.0, 1.0, 0.6, 1.0 + Model + sigil_rune_04 + Sigil Color + 1.0, 0.0, 1.0, 1.0 + + + + + + Prop/General/Fiend/Sigil - Rune 05 + + + Prop/General/Fiend/Sigil - Rune 01 + + Marker color + 1.0, 1.0, 0.6, 1.0 + Model + sigil_rune_05 + Sigil Color + 1.0, 0.0, 1.0, 1.0 + + + + + + Prop/General/Fiend/Sigil - Rune 06 + + + Prop/General/Fiend/Sigil - Rune 01 + + Marker color + 1.0, 1.0, 0.6, 1.0 + Model + sigil_rune_06 + Sigil Color + 1.0, 0.0, 1.0, 1.0 + + + + + + Prop/General/Fiend/Sigil - Rune 07 + + + Color + implementation.placeable["Sigil Color"] + + + + + Prop/General/Fiend/Sigil - Rune 01 + + Marker color + 1.0, 1.0, 0.6, 1.0 + Model + sigil_rune_07 + Sigil Color + 1.0, 0.0, 1.0, 1.0 + + + + + + Prop/General/Fiend/Sigil - Rune 08 + + + Prop/General/Fiend/Sigil - Rune 01 + + Marker color + 1.0, 1.0, 0.6, 1.0 + Model + sigil_rune_08 + Sigil Color + 1.0, 0.0, 1.0, 1.0 + + + + + + Prop/General/Fiend/Sigil - Square + + + Sigil Color + implementation.placeable["Sigil Color"] + + + + + Prop/General/Fiend/Sigil - Circle, large quarter + + Model variant + Square + Shape + + 2.25 + 2.25 + + Sigil Color + 1.0, 0.0, 1.0, 1.0 + + + + + + Prop/General/Interior/Books/Large, violet + + + world/prop/generic/interior/book_set_01.dat + + Color 1, offset + + -0.25 + 0.1 + 0.16 + + Color 2, offset + + -0.025 + -0.5 + 0.05 + + Model + book_large_01 + Texture + world/prop/generic/interior/book_border_01.png + + + 0 + 0 + + + + Prop/General/Interior/Books/Medium, blue + + + world/prop/generic/interior/book_set_01.dat + + Color 1, offset + + 0.532 + -0.175 + -0.06 + + Color 2, offset + + -0.387 + -0.365 + 0.0060 + + Model + book_med_01 + Texture + world/prop/generic/interior/book_leather_01.png + + + 0 + 0 + + + + Prop/General/Interior/Books/Medium, red + + + world/prop/generic/interior/book_set_01.dat + + Color 1, offset + + + Color 2, offset + + + Model + book_med_01 + Texture + world/prop/generic/interior/book_border_01.png + + + 0 + 0 + + + + Prop/General/Interior/Books/Medium, worn + + + world/prop/generic/interior/book_set_01.dat + + Color 1, offset + + 0.114 + -0.261 + 0.071 + + Color 2, offset + + -0.471 + + Model + book_med_01 + Texture + world/prop/generic/interior/book_worn_01.png + + + 0 + 0 + + + + Prop/General/Interior/Books/Small, gold + + + world/prop/generic/interior/book_set_01.dat + + Color 1, offset + + 0.108 + 0.5 + 0.06 + + Color 2, offset + + -0.426 + -0.365 + 0.0060 + + Model + book_small_01 + Texture + world/prop/generic/interior/book_border_01.png + + + 0 + 0 + + + + Prop/General/Interior/Books/Small, green + + + world/prop/generic/interior/book_set_01.dat + + Color 1, offset + + 0.277 + 0.23200001 + -0.133 + + Color 2, offset + + -0.426 + -0.365 + 0.0060 + + Model + book_small_01 + Texture + world/prop/generic/interior/book_leather_01.png + + + 0 + 0 + + + + Prop/General/Interior/Books/Small, worn + + + world/prop/generic/interior/book_set_01.dat + + Color 1, offset + + 0.149 + -0.20099999 + -0.146 + + Color 2, offset + + -0.426 + -0.365 + -0.094 + + Model + book_small_01 + Texture + world/prop/generic/interior/book_worn_01.png + + + 0 + 0 + + + + Prop/General/Interior/Table, 1-tile 01 + + + world/prop/generic/interior/table_01.dat + + Texture + world/prop/generic/interior/table_cafe01.png + + + + + + + + Prop/General/Jelly/Jelly glob, large + + + Color + implementation.model["Color"] + + + + + world/prop/generic/jelly/chunks_mesh_set.dat + + Color + Jelly Cube Pink + Model + mesh_chunk_lrg + + + + 1.5 + + 0 + 0 + + + + Prop/General/Jelly/Jelly glob, medium + + + Color + implementation.model["Color"] + + + + + world/prop/generic/jelly/chunks_mesh_set.dat + + Color + Jelly Cube Pink + Model + mesh_chunk_med + + + + + 0 + 0 + + + + Prop/General/Jelly/Jelly glob, small + + + Color + implementation.model["Color"] + + + + + world/prop/generic/jelly/chunks_mesh_set.dat + + Color + Jelly Cube Pink + Model + mesh_chunk_sml + + + + 0.5 + + 0 + 0 + + + + Prop/General/Mechaknight/Mecha, Arm + + + Variant + implementation.model["Models"][0].model["variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + character/npc/monster/mechaknight/parts/modelset_dead.dat + + Model + mesh_arm + variant + mk1 + + + + 1.25 + + + + + + + 0.5 + + 0 + 0 + + + + Prop/General/Mechaknight/Mecha, Armless + + + Variant + implementation.model["Models"][0].model["variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + character/npc/monster/mechaknight/parts/modelset_dead.dat + + Model + mesh_body-armless + variant + mk1 + + + + 1.25 + + + + + world/environment/shadow/circle.dat + + Size + 1.25 + + + + + + + + 0.5 + + 0 + + + + Prop/General/Mechaknight/Mecha, Head + + + Variant + implementation.model["Models"][0].model["variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + character/npc/monster/mechaknight/parts/modelset_dead.dat + + Model + mesh_head + variant + mk1 + + + + 1.25 + + + + + world/environment/shadow/circle.dat + + Size + 0.8 + + + + + + + + 0.3 + + 0 + 0 + + + + Prop/General/Mechaknight/Mecha, Headless + + + Variant + implementation.model["Models"][0].model["variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + character/npc/monster/mechaknight/parts/modelset_dead.dat + + Model + mesh_body-headless + variant + mk1 + + + + 1.25 + + + + + world/environment/shadow/circle.dat + + Size + 1.25 + + + + + + + + 0.5 + + 0 + 0 + + + + Prop/General/Mechaknight/Mecha, Leg + + + Variant + implementation.model["Models"][0].model["variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + character/npc/monster/mechaknight/parts/modelset_dead.dat + + Model + mesh_leg + variant + mk1 + + + + 1.25 + + + + + + + 0.5 + + 0 + 0 + + + + Prop/General/Mechaknight/Mecha, Legs + + + Variant + implementation.model["Models"][0].model["variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + character/npc/monster/mechaknight/parts/modelset_dead.dat + + Model + mesh_legs + variant + mk1 + + + + 1.25 + + + + + world/environment/shadow/circle.dat + + Size + 1.0 + + + + + + + + 0.5 + + 0 + + + + Prop/General/Mechaknight/Mecha, Whole + + + Variant + implementation.model["Models"][0].model["variant"] + + + + + model/compound/model.dat + + Influences + + false + + Models + + + + character/npc/monster/mechaknight/parts/modelset_dead.dat + + Model + mesh_body-whole + variant + mk1 + + + + 1.25 + + + + + world/environment/shadow/circle.dat + + Size + 1.25 + + + + + + + + 0.5 + + 0 + + + + Prop/General/Nature/FireFlies + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + model/conditional/marker.dat + + Model + + editor/marker/vertex/model.dat + + + + + + + particle/ambient_fireflies.dat + + + + + + + 0.5 + + 0 + + + + Prop/General/Nature/Foliage/Grass variants/City, desaturated/Grass billboard, large 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 1 + + Colorization + 1800 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/City, desaturated/Grass billboard, large 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 2 + + Colorization + 1800 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/City, desaturated/Grass billboard, single 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 1 + + Colorization + 1800 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/City, desaturated/Grass billboard, single 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 2 + + Colorization + 1800 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/City, desaturated/Grass billboard, small 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 1 + + Colorization + 1800 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/City, desaturated/Grass billboard, small 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 2 + + Colorization + 1800 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/City, desaturated/Grass tuft 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor tuft 1 + + Colorization + 1800 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Clockworks Base billboard, large 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 1 + + Colorization + 1797 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Clockworks Base billboard, large 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 2 + + Colorization + 1797 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Clockworks Base billboard, single 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 1 + + Colorization + 1797 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Clockworks Base billboard, single 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 2 + + Colorization + 1797 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Clockworks Base billboard, small 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 1 + + Colorization + 1797 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Clockworks Base billboard, small 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 2 + + Colorization + 1797 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Clockworks Base tuft 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor tuft 1 + + Colorization + 1797 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Dry billboard, large 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 1 + + Colorization + 1798 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Dry billboard, large 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 2 + + Colorization + 1798 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Dry billboard, single 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 1 + + Colorization + 1798 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Dry billboard, single 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 2 + + Colorization + 1798 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Dry billboard, small 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 1 + + Colorization + 1798 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Dry billboard, small 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 2 + + Colorization + 1798 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Dry tuft 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor tuft 1 + + Colorization + 1798 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, large 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 1 + + Colorization + 1793 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, large 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 2 + + Colorization + 1793 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, single 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 1 + + Colorization + 1793 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, single 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 2 + + Colorization + 1793 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, small 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 1 + + Colorization + 1793 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, small 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 2 + + Colorization + 1793 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Grass tuft 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor tuft 1 + + Colorization + 1793 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Graveyard billboard, large 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 1 + + Colorization + 1796 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Graveyard billboard, large 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 2 + + Colorization + 1796 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Graveyard billboard, single 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 1 + + Colorization + 1796 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Graveyard billboard, single 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 2 + + Colorization + 1796 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Graveyard billboard, small 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 1 + + Colorization + 1796 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Graveyard billboard, small 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 2 + + Colorization + 1796 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Graveyard tuft 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor tuft 1 + + Colorization + 1796 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 1 + + + Colorization + implementation.model["Colorization"] + + + Tint + implementation.model["Tint"] + + + + + -0.13962634, -0.10471976, -0.10471976 + 0.0, 0.10471976, 0.10471976 + + + world/prop/generic/plants/grass_billboard_large1.dat + + Colorization + 1793 + Tint + Default + + + + 2.0 + 0.4 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 2 + + + Colorization + implementation.model["Colorization"] + + + Tint + implementation.model["Tint"] + + + + + -0.13962634, -0.10471976, -0.10471976 + 0.0, 0.10471976, 0.10471976 + + + world/prop/generic/plants/grass_billboard_large2.dat + + Colorization + 1793 + Tint + Default + + + + 2.0 + 0.4 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 1 + + + Colorization + implementation.model["Colorization"] + + + Tint + implementation.model["Tint"] + + + + + -0.13962634, -0.41887903, -0.41887903 + 0.0, 0.41887903, 0.41887903 + + + world/prop/generic/plants/grass_billboard_single1.dat + + Colorization + 1793 + Tint + Default + + + + 0.4 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 2 + + + Colorization + implementation.model["Colorization"] + + + Tint + implementation.model["Tint"] + + + + + -0.13962634, -0.41887903, -0.41887903 + 0.0, 0.41887903, 0.41887903 + + + world/prop/generic/plants/grass_billboard_single2.dat + + Colorization + 1793 + Tint + Default + + + + 0.4 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 1 + + + Colorization + implementation.model["Colorization"] + + + Tint + implementation.model["Tint"] + + + + + -0.13962634, -0.20943952, -0.10471976 + 0.0, 0.20943952, 0.10471976 + + + world/prop/generic/plants/grass_billboard_small1.dat + + Colorization + 1793 + Tint + Default + + + + 0.4 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 2 + + + Colorization + implementation.model["Colorization"] + + + Tint + implementation.model["Tint"] + + + + + -0.13962634, -0.20943952, -0.10471976 + 0.0, 0.20943952, 0.10471976 + + + world/prop/generic/plants/grass_billboard_small2.dat + + Colorization + 1793 + Tint + Default + + + + 0.4 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor tuft 1 + + + Colorization + implementation.model["Colorization"] + + + Tint + implementation.model["Tint"] + + + + + world/prop/generic/plants/grass_tuft_1.dat + + Colorization + 1793 + Tint + Default + + + + 0.4 + 0.4 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Grass variants/Parts/Test Recolor billboard, large 1 + + + Colorization + implementation.model["Colorization"].offsets + + + Tint + implementation.model["Tint"] + + + + + -0.13962634, -0.10471976, -0.10471976 + 0.0, 0.10471976, 0.10471976 + + + world/prop/generic/plants/grass_billboard_large1_test.dat + + Colorization + + 7 + + Tint + Default + + + + 2.0 + 0.4 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Grass variants/Parts/Test diffuse billboard, large 1 + + + Tint + implementation.model["Tint"] + + + + + -0.13962634, -0.10471976, -0.10471976 + 0.0, 0.10471976, 0.10471976 + + + world/prop/generic/plants/grass_billboard_large1_diffuse.dat + + Tint + Default + + + + 2.0 + 0.4 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Day billboard, large 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 1 + + Colorization + 1794 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Day billboard, large 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 2 + + Colorization + 1794 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Day billboard, single 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 1 + + Colorization + 1794 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Day billboard, single 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 2 + + Colorization + 1794 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Day billboard, small 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 1 + + Colorization + 1794 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Day billboard, small 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 2 + + Colorization + 1794 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Day tuft 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor tuft 1 + + Colorization + 1794 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Night billboard, large 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 1 + + Colorization + 1795 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Night billboard, large 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, large 2 + + Colorization + 1795 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Night billboard, single 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 1 + + Colorization + 1795 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Night billboard, single 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, single 2 + + Colorization + 1795 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Night billboard, small 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 1 + + Colorization + 1795 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Night billboard, small 2 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor billboard, small 2 + + Colorization + 1795 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Night tuft 1 + + + Prop/General/Nature/Foliage/Grass variants/Parts/Recolor tuft 1 + + Colorization + 1795 + Tint + Default + + + + + + Prop/General/Nature/Foliage/Ivy & Vines/Ivy, wall x3 01 + + + world/prop/generic/plants/ivy_wall_x3_01.dat + + Color + 1793 + Color - Vine + 1793 + Vine - Color adjust + Darker 5 + + + + 3.0 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Ivy & Vines/Vine, hanging 01 + + + Darkness adjust + implementation.model["Models"][0].model["Darkness adjust"] + + + + + model/compound/model.dat + + Influences + + false + false + + Models + + + + world/prop/generic/plants/vines_hanging.dat + + Color + 1795 + Darkness adjust + Default + Model + Loft01 + + + + 0.0, 0.4, 2.7 + + + + + + + 3.0 + 0.2 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Ivy & Vines/Vine, hanging 02 + + + model/compound/model.dat + + Influences + + false + false + + Models + + + + world/prop/generic/plants/vines_hanging.dat + + Color + 1793 + Darkness adjust + Default + Model + Loft02 + + + + 0.0, 0.4, 2.7 + + + + + + + 3.0 + 0.2 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Ivy & Vines/Vine, hanging 03 + + + model/compound/model.dat + + Influences + + false + false + + Models + + + + world/prop/generic/plants/vines_hanging.dat + + Color + 1793 + Darkness adjust + Default + Model + Loft03 + + + + 0.0, 0.4, 2.7 + + + + + + + 3.0 + 0.2 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Ivy & Vines/Vine, hanging 04 + + + model/compound/model.dat + + Influences + + false + false + + Models + + + + world/prop/generic/plants/vines_hanging.dat + + Color + 1793 + Darkness adjust + Default + Model + Loft04 + + + + 0.0, 0.4, 2.7 + + + + + + + 3.0 + 0.2 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Leaf, plane 01 + + + Model + implementation.model["Model"] + + + Color variant + implementation.model["Color"] + + + + + 0.0, 0.0, -3.1415927 + 0.0, 0.0, 3.1415927 + + + world/prop/generic/plants/leaf_plane.dat + + Color + 1793 + Model + grass_blades_01 + + + + + 0 + 0 + + + + Prop/General/Nature/Foliage/Leaf, plane 02 + + + Color variant + implementation.placeable["Color variant"] + + + + + Prop/General/Nature/Foliage/Leaf, plane 01 + + Color variant + 1793 + Model + leaf_plane_02 + + + + + + Prop/General/Nature/Foliage/Leaf, plane 03 + + + Color variant + implementation.placeable["Color variant"] + + + + + Prop/General/Nature/Foliage/Leaf, plane 01 + + Color variant + 1793 + Model + leaf_plane_03 + + + + + + Prop/General/Nature/Foliage/Leaf, plane 04 + + + Color variant + implementation.placeable["Color variant"] + + + + + Prop/General/Nature/Foliage/Leaf, plane 01 + + Color variant + 1793 + Model + leaf_plane_04 + + + + + + Prop/General/Nature/Foliage/Seam + + + world/prop/generic/plants/grass_seam.dat + + + + + + 0.16 + 2.0 + + + 0.5, 0.5 + + + + + 0 + 0 + + + + Prop/General/Nature/Foliage/Variants - City desaturated/Ivy Wall, x1 - 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x1 base + + Color - Foliage + 1800 + Color - Vine + 1799 + Color adjust - Vine + Darker 2 + + + + + + Prop/General/Nature/Foliage/Variants - City desaturated/Ivy Wall, x3 - 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x3 base + + Color - Foliage + 1800 + Color - Vine + 1799 + Color adjust - Vine + Darker 2 + + + + + + Prop/General/Nature/Foliage/Variants - City desaturated/Ivy vine 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1800 + Model + ivy_vine_01 + Shape + Ivy vine + + + + + + Prop/General/Nature/Foliage/Variants - City desaturated/Ivy vine 02 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1800 + Model + ivy_vine_02 + Shape + Ivy vine + + + + + + Prop/General/Nature/Foliage/Variants - City desaturated/Leaves 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1800 + Model + leaf_plane_01 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - City desaturated/Leaves 02 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1800 + Model + leaf_plane_02 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - City desaturated/Leaves 03 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1800 + Model + leaf_plane_03 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - City desaturated/Leaves 04 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1800 + Model + leaf_plane_04 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - City desaturated/Vine, hanging 01 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1800 + Darkness adjust + Default + Model + Loft01 + + + + + + Prop/General/Nature/Foliage/Variants - City desaturated/Vine, hanging 02 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1800 + Darkness adjust + Default + Model + Loft02 + + + + + + Prop/General/Nature/Foliage/Variants - City desaturated/Vine, hanging 03 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1800 + Darkness adjust + Default + Model + Loft03 + + + + + + Prop/General/Nature/Foliage/Variants - City desaturated/Vine, hanging 04 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1800 + Darkness adjust + Default + Model + Loft04 + + + + + + Prop/General/Nature/Foliage/Variants - Clockworks Base/Ivy Wall, x1 - 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x1 base + + Color - Foliage + 1797 + Color - Vine + 1800 + Color adjust - Vine + Darker 4 + + + + + + Prop/General/Nature/Foliage/Variants - Clockworks Base/Ivy Wall, x3 - 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x3 base + + Color - Foliage + 1797 + Color - Vine + 1800 + Color adjust - Vine + Darker 4 + + + + + + Prop/General/Nature/Foliage/Variants - Clockworks Base/Ivy vine, Clockworks 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1797 + Model + ivy_vine_01 + Shape + Ivy vine + + + + + + Prop/General/Nature/Foliage/Variants - Clockworks Base/Ivy vine, Clockworks 02 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1797 + Model + ivy_vine_02 + Shape + Ivy vine + + + + + + Prop/General/Nature/Foliage/Variants - Clockworks Base/Leaves, Clockworks 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1797 + Model + leaf_plane_01 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Clockworks Base/Leaves, Clockworks 02 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1797 + Model + leaf_plane_02 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Clockworks Base/Leaves, Clockworks 03 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1797 + Model + leaf_plane_03 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Clockworks Base/Leaves, Clockworks 04 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1797 + Model + leaf_plane_04 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Clockworks Base/Vine, hanging 01 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1797 + Darkness adjust + Default + Model + Loft01 + + + + + + Prop/General/Nature/Foliage/Variants - Clockworks Base/Vine, hanging 02 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1797 + Darkness adjust + Default + Model + Loft02 + + + + + + Prop/General/Nature/Foliage/Variants - Clockworks Base/Vine, hanging 03 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1797 + Darkness adjust + Default + Model + Loft03 + + + + + + Prop/General/Nature/Foliage/Variants - Clockworks Base/Vine, hanging 04 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1797 + Darkness adjust + Default + Model + Loft04 + + + + + + Prop/General/Nature/Foliage/Variants - Dry/Ivy Wall, x1 - 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x1 base + + Color - Foliage + 1798 + Color - Vine + 1799 + Color adjust - Vine + Darker 3 + + + + + + Prop/General/Nature/Foliage/Variants - Dry/Ivy Wall, x3 - 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x3 base + + Color - Foliage + 1798 + Color - Vine + 1799 + Color adjust - Vine + Darker 3 + + + + + + Prop/General/Nature/Foliage/Variants - Dry/Ivy vine, Dry 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1798 + Model + ivy_vine_01 + Shape + Ivy vine + + + + + + Prop/General/Nature/Foliage/Variants - Dry/Ivy vine, Dry 02 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1798 + Model + ivy_vine_02 + Shape + Ivy vine + + + + + + Prop/General/Nature/Foliage/Variants - Dry/Leaves, Dry 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1798 + Model + leaf_plane_01 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Dry/Leaves, Dry 02 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1798 + Model + leaf_plane_02 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Dry/Leaves, Dry 03 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1798 + Model + leaf_plane_03 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Dry/Leaves, Dry 04 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1798 + Model + leaf_plane_04 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Dry/Vine, hanging 01 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1798 + Darkness adjust + Default + Model + Loft01 + + + + + + Prop/General/Nature/Foliage/Variants - Dry/Vine, hanging 02 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1798 + Darkness adjust + Default + Model + Loft02 + + + + + + Prop/General/Nature/Foliage/Variants - Dry/Vine, hanging 03 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1798 + Darkness adjust + Default + Model + Loft03 + + + + + + Prop/General/Nature/Foliage/Variants - Dry/Vine, hanging 04 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1798 + Darkness adjust + Default + Model + Loft04 + + + + + + Prop/General/Nature/Foliage/Variants - Graveyard/Ivy Wall, x1 - 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x1 base + + Color - Foliage + 1796 + Color - Vine + 1798 + Color adjust - Vine + Darker 5 + + + + + + Prop/General/Nature/Foliage/Variants - Graveyard/Ivy Wall, x3 - 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x3 base + + Color - Foliage + 1796 + Color - Vine + 1798 + Color adjust - Vine + Darker 5 + + + + + + Prop/General/Nature/Foliage/Variants - Graveyard/Ivy vine, Graveyard 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1796 + Model + ivy_vine_01 + Shape + Ivy vine + + + + + + Prop/General/Nature/Foliage/Variants - Graveyard/Ivy vine, Graveyard 02 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1796 + Model + ivy_vine_02 + Shape + Ivy vine + + + + + + Prop/General/Nature/Foliage/Variants - Graveyard/Leaves, Graveyard 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1796 + Model + leaf_plane_01 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Graveyard/Leaves, Graveyard 02 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1796 + Model + leaf_plane_02 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Graveyard/Leaves, Graveyard 03 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1796 + Model + leaf_plane_03 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Graveyard/Leaves, Graveyard 04 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1796 + Model + leaf_plane_04 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Graveyard/Vine, hanging 01 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1796 + Darkness adjust + Default + Model + Loft01 + + + + + + Prop/General/Nature/Foliage/Variants - Graveyard/Vine, hanging 02 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1796 + Darkness adjust + Default + Model + Loft02 + + + + + + Prop/General/Nature/Foliage/Variants - Graveyard/Vine, hanging 03 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1796 + Darkness adjust + Default + Model + Loft03 + + + + + + Prop/General/Nature/Foliage/Variants - Graveyard/Vine, hanging 04 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1796 + Darkness adjust + Default + Model + Loft04 + + + + + + Prop/General/Nature/Foliage/Variants - Haven/Ivy Wall, x1 - 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x1 base + + Color - Foliage + 1793 + Color - Vine + 1799 + Color adjust - Vine + Darker 1 + + + + + + Prop/General/Nature/Foliage/Variants - Haven/Ivy Wall, x3 - 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x3 base + + Color - Foliage + 1793 + Color - Vine + 1799 + Color adjust - Vine + Darker 1 + + + + + + Prop/General/Nature/Foliage/Variants - Haven/Ivy vine, Haven 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1793 + Model + ivy_vine_01 + Shape + Ivy vine + + + + + + Prop/General/Nature/Foliage/Variants - Haven/Ivy vine, Haven 02 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1793 + Model + ivy_vine_02 + Shape + Ivy vine + + + + + + Prop/General/Nature/Foliage/Variants - Haven/Leaves, Haven 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1793 + Model + leaf_plane_01 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Haven/Leaves, Haven 02 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1793 + Model + leaf_plane_02 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Haven/Leaves, Haven 03 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1793 + Model + leaf_plane_03 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Haven/Leaves, Haven 04 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1793 + Model + leaf_plane_04 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x1 base + + + Color - Foliage + implementation.model["Color"] + + + Color - Vine + implementation.model["Color - Vine"] + + + Color adjust - Vine + implementation.model["Vine - Color adjust"] + + + + + world/prop/generic/plants/ivy_wall_x1_01.dat + + Color + 1793 + Color - Vine + 1793 + Vine - Color adjust + Darker 5 + + + + + + + 1.4 + 0.4 + + + + + 0 + 0 + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x3 base + + + Color - Foliage + implementation.model["Color"] + + + Color - Vine + implementation.model["Color - Vine"] + + + Color adjust - Vine + implementation.model["Vine - Color adjust"] + + + + + world/prop/generic/plants/ivy_wall_x3_01.dat + + Color + 1793 + Color - Vine + 1793 + Vine - Color adjust + Darker 5 + + + + + + + 3.0 + 0.4 + + + + + 0 + 0 + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + + Model + implementation.model["Model"] + + + Color + implementation.model["Color"] + + + + Shape + + + Shape + implementation.shape + + + + + + Leaf plane + + Shape + + + + + + + Ivy vine + + Shape + + 0.3 + + + + + Leaf plane + + + + + 0.0, 0.0, -3.1415927 + 0.0, 0.0, 3.1415927 + + + world/prop/generic/plants/leaf_plane.dat + + Color + 1793 + Model + leaf_plane_01 + + + + + 0 + 0 + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + + Model + implementation.model["Models"][0].model["Model"] + + + Color + implementation.model["Models"][0].model["Color"] + + + Darkness adjust + implementation.model["Models"][0].model["Darkness adjust"] + + + + + model/compound/model.dat + + Influences + + false + false + + Models + + + + world/prop/generic/plants/vines_hanging.dat + + Color + 1793 + Darkness adjust + Default + Model + Loft01 + + + + 0.0, 0.4, 2.7 + + + + + + + 3.0 + 0.2 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - diffuse test + + + Model + implementation.model["Models"][0].model["Model"] + + + + + model/compound/model.dat + + Influences + + false + false + + Models + + + + world/prop/generic/plants/vines_hanging_diffusetest.dat + + Model + Loft01 + + + + 0.0, 0.4, 2.7 + + + + + + + 3.0 + 0.2 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - recolor test + + + Model + implementation.model["Models"][0].model["Model"] + + + Colorization + implementation.model["Models"][0].model["Colorization"] + + + Darkness adjust + implementation.model["Models"][0].model["Darkness adjust"] + + + + + model/compound/model.dat + + Influences + + false + false + + Models + + + + world/prop/generic/plants/vines_hanging_recolortest.dat + + Colorization + + 7 + + Darkness adjust + Default + Model + Loft01 + + + + 0.0, 0.4, 2.7 + + + + + + + 3.0 + 0.2 + + 0 + 0 + + + + Prop/General/Nature/Foliage/Variants - Haven/Vine, hanging 01 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1793 + Darkness adjust + Default + Model + Loft01 + + + + + + Prop/General/Nature/Foliage/Variants - Haven/Vine, hanging 02 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1793 + Darkness adjust + Default + Model + Loft02 + + + + + + Prop/General/Nature/Foliage/Variants - Haven/Vine, hanging 03 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1793 + Darkness adjust + Default + Model + Loft03 + + + + + + Prop/General/Nature/Foliage/Variants - Haven/Vine, hanging 04 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1793 + Darkness adjust + Default + Model + Loft04 + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Day/Ivy Wall, x1 - 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x1 base + + Color - Foliage + 1794 + Color - Vine + 1799 + Color adjust - Vine + Default + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Day/Ivy Wall, x3 - 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x3 base + + Color - Foliage + 1794 + Color - Vine + 1799 + Color adjust - Vine + Default + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Day/Ivy vine, Sky Islands Day 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1794 + Model + ivy_vine_01 + Shape + Ivy vine + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Day/Ivy vine, Sky Islands Day 02 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1794 + Model + ivy_vine_02 + Shape + Ivy vine + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Day/Leaves, Sky Islands Day 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1794 + Model + leaf_plane_01 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Day/Leaves, Sky Islands Day 02 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1794 + Model + leaf_plane_02 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Day/Leaves, Sky Islands Day 03 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1794 + Model + leaf_plane_03 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Day/Leaves, Sky Islands Day 04 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1794 + Model + leaf_plane_04 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Day/Vine, hanging 01 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1794 + Darkness adjust + Default + Model + Loft01 + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Day/Vine, hanging 02 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1794 + Darkness adjust + Default + Model + Loft02 + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Day/Vine, hanging 03 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1794 + Darkness adjust + Default + Model + Loft03 + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Day/Vine, hanging 04 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1794 + Darkness adjust + Default + Model + Loft04 + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Night/Ivy Wall, x1 - 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x1 base + + Color - Foliage + 1795 + Color - Vine + 1797 + Color adjust - Vine + Darker 1 + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Night/Ivy Wall, x3 - 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Ivy, Wall x3 base + + Color - Foliage + 1795 + Color - Vine + 1797 + Color adjust - Vine + Darker 1 + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Night/Ivy vine, Sky Islands Night 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1795 + Model + ivy_vine_01 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Night/Ivy vine, Sky Islands Night 02 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1795 + Model + ivy_vine_02 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Night/Leaves, Sky Islands Night 01 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1795 + Model + leaf_plane_01 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Night/Leaves, Sky Islands Night 02 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1795 + Model + leaf_plane_02 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Night/Leaves, Sky Islands Night 03 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1795 + Model + leaf_plane_03 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Night/Leaves, Sky Islands Night 04 + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Leaves - base + + Color + 1795 + Model + leaf_plane_04 + Shape + Leaf plane + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Night/Vine, hanging 01 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1795 + Darkness adjust + Default + Model + Loft01 + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Night/Vine, hanging 02 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1795 + Darkness adjust + Default + Model + Loft02 + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Night/Vine, hanging 03 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1795 + Darkness adjust + Default + Model + Loft03 + + + + + + Prop/General/Nature/Foliage/Variants - Sky Islands Night/Vine, hanging 04 + + + Darkness adjust + implementation.placeable["Darkness adjust"] + + + + + Prop/General/Nature/Foliage/Variants - Haven/Parts/Vine, hanging - base + + Color + 1795 + Darkness adjust + Default + Model + Loft04 + + + + + + Prop/General/Spiderweb, corner + + + world/prop/generic/spiderweb_adjust.dat + + + + 0 + 0 + + + + Prop/General/Tech/Energy-pulsing Cables/Cable, 01 unit + + + world/prop/outershell/metal parts/hanging_cables_pulse.dat + + Model + rope_1unit + + + + + + + 0.1 + + + 0.5, 0.0 + + + + + 0 + 0 + + + + Prop/General/Tech/Energy-pulsing Cables/Cable, 02 unit + + + world/prop/outershell/metal parts/hanging_cables_pulse.dat + + Model + 2 units + + + + + + + 2.0 + 0.1 + + + 1.0, 0.0 + + + + + 0 + 0 + + + + Prop/General/Tech/Energy-pulsing Cables/Cable, 03 unit + + + world/prop/outershell/metal parts/hanging_cables_pulse.dat + + Model + 3 units + + + + + + + 3.0 + 0.1 + + + 1.5, 0.0 + + + + + 0 + 0 + + + + Prop/General/Tech/Energy-pulsing Cables/Cable, 04 unit + + + world/prop/outershell/metal parts/hanging_cables_pulse.dat + + Model + 4 units + + + + + + + 4.0 + 0.1 + + + 2.0, 0.0 + + + + + 0 + 0 + + + + Prop/General/Tech/Energy-pulsing Cables/Cable, 05 unit + + + world/prop/outershell/metal parts/hanging_cables_pulse.dat + + Model + 5 units + + + + + + + 5.0 + 0.1 + + + 2.5, 0.0 + + + + + 0 + 0 + + + + Prop/General/Tech/Energy-pulsing Cables/Cable, 06 unit + + + world/prop/outershell/metal parts/hanging_cables_pulse.dat + + Model + 6 units + + + + + + + 6.0 + 0.1 + + + 3.0, 0.0 + + + + + 0 + 0 + + + + Prop/General/Tech/Energy-pulsing Cables/Cable, 08 unit + + + world/prop/outershell/metal parts/hanging_cables_pulse.dat + + Model + 8 units + + + + + + + 8.0 + 0.1 + + + 4.0, 0.0 + + + + + 0 + 0 + + + + Prop/General/Tech/Energy-pulsing Cables/Cable, 12 unit + + + world/prop/outershell/metal parts/hanging_cables_pulse.dat + + Model + 12 units + + + + + + + 12.0 + 0.1 + + + 6.0, 0.0 + + + + + 0 + 0 + + + + Prop/General/Undead/Bone plane, chips + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/generic/bones.dat + + Color variant + Default + Model + chips_plane_04 + + + + 0.6 + 0.6 + + 0 + 0 + + + + Prop/General/Undead/Bone plane, jaw + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/generic/bones.dat + + Color variant + Default + Model + chips_plane_03 + + + + + + + 0.2 + 0.8 + + + -7.2878485E-8 + + + + + 0 + 0 + + + + Prop/General/Undead/Bone plane, pieces + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/generic/bones.dat + + Color variant + Default + Model + chips_plane_01 + + + + 1.48 + 1.48 + + 0 + 0 + + + + Prop/General/Undead/Bone plane, ribs + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/generic/bones.dat + + Color variant + Default + Model + chips_plane_02 + + + + 0.46 + + 0 + 0 + + + + Prop/General/Undead/Bones, bone 01 + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/generic/bones.dat + + Color variant + Default + Model + bone_bone01 + + + 0 + 0 + + + + Prop/General/Undead/Bones, bone 02 + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/generic/bones.dat + + Color variant + Default + Model + bone_bone02 + + + 0 + 0 + + + + Prop/General/Undead/Bones, ribcage + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/generic/bones.dat + + Color variant + Default + Model + bone_ribcage + + + 0 + 0 + + + + Prop/General/Undead/Bones, skull + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/generic/bones.dat + + Color variant + Default + Model + bone_skull + + + 0 + 0 + + + + Prop/General/Undead/Ground Fog + + + Color + implementation.model["Color"] + + + Radius + implementation.model["Radius"] + + + Density + implementation.model["Density"] + + + + + world/prop/generic/model_groundfog.dat + + Color + 1.0, 1.0, 1.0, 1.0 + Density + 200 + Radius + 1.0 + + + + 0.49 + + 0 + 0 + + + + Prop/Graveyard/Burial Mound Prop + + + world/prop/graveyard/gravepile.dat + + + 0.5 + + 0 + 0 + + + + Prop/Graveyard/Rubble/Brick loose 01, graveyard + + + world/prop/catacomb/rubble/brick_loose01.dat + + Variant + Graveyard + + + 0 + 0 + + + + Prop/Graveyard/Rubble/Brick loose 02, graveyard + + + world/prop/catacomb/rubble/brick_loose02.dat + + Variant + Graveyard + + + 0 + 0 + + + + Prop/Graveyard/Rubble/Brick pile 01, graveyard + + + world/prop/catacomb/rubble/brick_pile01.dat + + Variant + Graveyard + + + + + 0 + + + + Prop/Graveyard/Rubble/Brick pile 02, graveyard + + + world/prop/catacomb/rubble/brick_pile02.dat + + Variant + Graveyard + + + + + 0 + + + + Prop/Graveyard/Sarcophagus + + + Lid + implementation.model["Lid"] + + + + + world/prop/graveyard/sarcophagus.dat + + Lid + Sealed + + + + 1.8 + 3.6 + + 0 + + + + Prop/Graveyard/Sarcophagus, opened lid + + + world/prop/graveyard/sarcophagus.dat + + Lid + Opened + + + + + + + 1.8 + 3.6 + + + + + 1.4 + 3.2 + + + 0.9, -0.25 + -0.08726646 + + + + + 0 + + + + Prop/Graveyard/Stone, medium 01 + + + world/prop/catacomb/stone_01.dat + + Receives Projections + false + Texture + world/prop/graveyard/stone_01.png + + + + 0.5 + + 0 + + + + Prop/Graveyard/Tombstones/Burial mound Spawn Marker + + + editor/marker/prop_spawn/model.dat + + Colorization + 257 + Preview + + world/prop/graveyard/gravepile.dat + + Wave Number + + + + + + + + Props/Burial mound + + + + + + + + Prop/Graveyard/Tombstones/Tombstone Spawn Marker + + + editor/marker/prop_spawn/model.dat + + Colorization + 257 + Preview + + world/prop/graveyard/gravestone_set_statics.dat + + Model + gravestone_01 + + + Wave Number + + + + + + + + Props/Gravestones + + + + + + + + Prop/Graveyard/Tombstones/Tombstone, busted + + + world/prop/graveyard/gravestone_06.dat + + + + 0 + + + + Prop/Graveyard/Tombstones/Tombstone, creature head + + + world/prop/graveyard/gravestone_07.dat + + + + 0 + + + + Prop/Graveyard/Tombstones/Tombstone, obelisk + + + world/prop/graveyard/gravestone_04.dat + + + + 0 + + + + Prop/Graveyard/Tombstones/Tombstone, small block; Breakable + + + world/prop/graveyard/gravestone_set_statics.dat + + Model + gravestone_02_breakable + + + + + + + + + Dynamic/Breakable Objects/Gravestones/Breakable, small block + + + + + + + + Prop/Graveyard/Tombstones/Tombstone, small block; Static + + + world/prop/graveyard/gravestone_set_statics.dat + + Model + gravestone_02 + + + + 0.8 + 0.8 + + 0 + + + + Prop/Graveyard/Tombstones/Tombstone, small planed; Breakable + + + world/prop/graveyard/gravestone_set_statics.dat + + Model + gravestone_01_breakable + + + + + + + + + Dynamic/Breakable Objects/Gravestones/Breakable, small planed + + Model + gravestone_01_breakable + + + + + + + + + Prop/Graveyard/Tombstones/Tombstone, small planed; Static + + + world/prop/graveyard/gravestone_set_statics.dat + + Model + gravestone_01 + + + + + 0 + + + + Prop/Graveyard/Tombstones/Tombstone, small rounded; Breakable + + + world/prop/graveyard/gravestone_set_statics.dat + + Model + gravestone_03_breakable + + + + + + + + + Dynamic/Breakable Objects/Gravestones/Breakable, small rounded + + + + + + + + Prop/Graveyard/Tombstones/Tombstone, small rounded; Static + + + world/prop/graveyard/gravestone_set_statics.dat + + Model + gravestone_03 + + + + + 0 + + + + Prop/Graveyard/Tombstones/Tombstone, two-unit + + + world/prop/graveyard/gravestone_two01.dat + + + 2.0 + + 0 + + + + Prop/Graveyard/Tombstones/Tombstone, ziggurat + + + world/prop/graveyard/gravestone_05.dat + + + 1.5 + 1.5 + + 0 + + + + Prop/Graveyard/Underbase/Underbase x10 + + + world/prop/graveyard/underbase/x10.dat + + + 10.0 + 10.0 + + 0 + 0 + + + + Prop/Gremlin/Counter Props/Counter 4x4 - Curved Elbow + + + Model + implementation.model["Model"] + + + + + world/prop/generic/interior/counter_set_01.dat + + Model + bar_x4_curved_elbow + Texture + world/prop/gremlin/countertop_01.png + + + + + + + 0.8 + + + -1.0, 2.0 + + + + + 0.8 + 1.1 + + + -0.905, 1.022 + 0.19634955 + + + + + 0.8 + 1.1 + + + -0.539, 0.138 + 0.5890486 + + + + + 0.8 + 1.1 + + + 0.138, -0.539 + 0.98174715 + + + + + 0.8 + 1.1 + + + 1.022, -0.905 + 1.3744463 + + + + + 0.8 + + + 2.0, -1.0 + + + + + 2 + 0 + + + + Prop/Gremlin/Counter Props/Counter x1 - Elbow Out 01 + + + Model + implementation.model["Model"] + + + + + world/prop/generic/interior/counter_set_01.dat + + Model + bar_x1_out_01 + Texture + world/prop/gremlin/countertop_01.png + + + + + + + 0.8 + + + -0.1, 0.0 + + + + + 0.8 + + + 0.0, 0.1 + + + + + 2 + 0 + + + + Prop/Gremlin/Counter Props/Counter x1 - End cap Left + + + Prop/Gremlin/Counter Props/Counter x1 01 + + Model + bar_x1_cap_L + + + + + + Prop/Gremlin/Counter Props/Counter x1 - End cap Right + + + Prop/Gremlin/Counter Props/Counter x1 01 + + Model + bar_x1_cap_R + + + + + + Prop/Gremlin/Counter Props/Counter x1 01 + + + Model + implementation.model["Model"] + + + + + world/prop/generic/interior/counter_set_01.dat + + Model + bar_x1_01 + Texture + world/prop/gremlin/countertop_01.png + + + + 0.8 + + 2 + 0 + + + + Prop/Gremlin/Counter Props/Counter x1 02 + + + Prop/Gremlin/Counter Props/Counter x1 01 + + Model + bar_x1_02 + + + + + + Prop/Gremlin/Counter Props/Counter x1 03 + + + Prop/Gremlin/Counter Props/Counter x1 01 + + Model + bar_x1_03 + + + + + + Prop/Gremlin/Counter Props/Counter x1 04 + + + Prop/Gremlin/Counter Props/Counter x1 01 + + Model + bar_x1_04 + + + + + + Prop/Gremlin/Lockers - tall, 01 + + + world/prop/gremlin/locker_1.dat + + + 2.0 + 0.9 + + 0 + + + + Prop/Gremlin/Lockers - tall, 02 + + + world/prop/gremlin/locker_2.dat + + + 2.0 + 0.9 + + 0 + + + + Prop/Gremlin/Roadblock 01 + + + world/prop/gremlin/roadblock_01.dat + + + 1.1 + 0.9 + + 0 + + + + Prop/Gremlin/Roadblock 02 + + + world/prop/gremlin/roadblock_02.dat + + + + + + 1.92 + 0.6 + + + 0.5, -0.2 + + + + + 0 + + + + Prop/Gremlin/Sign, Gremlin emblem + + + Variant + implementation.model["Variant"] + + + + + world/prop/gremlin/sign_emblem.dat + + Variant + Gremlin + + + 0 + 0 + + + + Prop/Gremlin/Stool + + + world/prop/generic/interior/stool.dat + + Texture + world/prop/gremlin/stool.png + + + + 0.4 + + 2 + 0 + + + + Prop/Gremlin/Tool, drillgun + + + world/prop/gremlin/tools_floor.dat + + Model + tools_ground_drillgun + + + 0 + 0 + + + + Prop/Gremlin/Tool, shovel + + + + Preset position + + + Transform + implementation.model["Models"][0].transform + + + + + + Floor (default) + + Transform + + + + + + + Upright 1 + + Transform + + 0.0, 0.0, 0.82 + 0.43045896, -0.4304591, 0.5609856, 0.5609859 + + + + + + Upright 2 + + Transform + + 0.0, 0.0, 0.85 + 0.43045896, 0.4304591, -0.5609856, 0.5609859 + + + + + Floor (default) + + + + + model/compound/model.dat + + Influences + + + Models + + + + world/prop/gremlin/tools_floor.dat + + Model + tools_ground_shovel + + + + + + + 0 + 0 + + + + Prop/Gremlin/Tool, wrench + + + world/prop/gremlin/tools_floor.dat + + Model + tools_ground_wrench + + + 0 + 0 + + + + Prop/Gremlin/Toolbox + + + world/prop/gremlin/toolbox_01.dat + + + 0.6 + + 2 + 0 + + + + Prop/Haven/Arcade/Ceiling - Curve, East + + + world/prop/outershell/arcade/ceiling_curve_east.dat + + 0 + 0 + + + + Prop/Haven/Arcade/Ceiling - Curve, West + + + world/prop/outershell/arcade/ceiling_curve_west.dat + + 0 + 0 + + + + Prop/Haven/Arcade/Ceiling - Ridge + + + world/prop/outershell/arcade/ceiling_ridge.dat + + 0 + 0 + + + + Prop/Haven/Arcade/Entranceway, north wall + + + world/prop/outershell/arcade/entrance_fromtown.dat + + + + + + 1.25 + 6.0 + + + 3.25, 0.0 + + + + + 1.25 + 6.0 + + + -3.25, 0.0 + + + + + 0 + + + + Prop/Haven/Arcade/Entranceway, south wall + + + world/prop/outershell/arcade/entranceway_southwall.dat + + Color - Light Override + 0.11372549, 0.11372549, 0.14117648, 1.0 + + + + + + + 4.0 + + + 3.0, 0.5 + + + + + 4.0 + + + -3.0, 0.5 + + + + + 0 + + + + Prop/Haven/Arcade/Faux Rail - East side + + + world/prop/outershell/arcade/rail_faux_eastside.dat + + 0 + 0 + + + + Prop/Haven/Arcade/Static Gate Monitor + + + Icon + implementation.model["Texture"]["File"] + + + Colorizations + implementation.model["Texture"]["Colorizations"] + + + + + world/dynamic/gates/monitordropbox/model.dat + + Texture + + 2D/File/Colorized (Multiple)/Default (NoMipmap) + + Colorizations + + + 2 + + -0.238 + -0.165 + + + + 3 + + -0.383 + 0.338 + -0.55 + + + + File + ui/icon/map/knight.png + + + Variant + Tv + + + + + + + 2.0 + 2.0 + + + 0.0, 1.0 + + + + + + + + Prop/Haven/Architecture/Fountain, side piece + + + world/tileset/outershell/bathtiles_decoration.dat + + + + + 1.0 + -0.6 + + + 1.0 + 3.6 + + + -0.5 + 3.6 + + + -1.4 + 2.5 + + + -1.4 + 0.5 + + + -0.5 + -0.6 + + + + 2 + 0 + + + + Prop/Haven/Cables & Wires/Cable, 01 unit + + + world/prop/outershell/metal parts/hanging_cables.dat + + Color State Override + 1.0, 1.0, 1.0, 1.0 + Model + rope_1unit + + + + + + + 0.1 + + + 0.5, 0.0 + + + + + 0 + 0 + + + + Prop/Haven/Cables & Wires/Cable, 02 unit + + + world/prop/outershell/metal parts/hanging_cables.dat + + Model + rope_2unit + + + + + + + 2.0 + 0.1 + + + 1.0, 0.0 + + + + + 0 + 0 + + + + Prop/Haven/Cables & Wires/Cable, 03 unit + + + world/prop/outershell/metal parts/hanging_cables.dat + + Color State Override + 1.0, 1.0, 1.0, 1.0 + Model + rope_3unit + + + + + + + 3.0 + 0.1 + + + 1.5, 0.0 + + + + + 0 + 0 + + + + Prop/Haven/Cables & Wires/Cable, 04 unit + + + world/prop/outershell/metal parts/hanging_cables.dat + + Color State Override + 1.0, 1.0, 1.0, 1.0 + Model + rope_4unit + + + + + + + 4.0 + 0.1 + + + 2.0, 0.0 + + + + + 0 + 0 + + + + Prop/Haven/Cables & Wires/Cable, 05 unit + + + world/prop/outershell/metal parts/hanging_cables.dat + + Color State Override + 1.0, 1.0, 1.0, 1.0 + Model + rope_5unit + + + + + + + 5.0 + 0.1 + + + 2.5, 0.0 + + + + + 0 + 0 + + + + Prop/Haven/Cables & Wires/Cable, 06 unit + + + Color State Override + implementation.model["Color State Override"] + + + + + world/prop/outershell/metal parts/hanging_cables.dat + + Color State Override + 1.0, 1.0, 1.0, 1.0 + Model + rope_6unit + + + + + + + 6.0 + 0.1 + + + 3.0, 0.0 + + + + + 0 + 0 + + + + Prop/Haven/Cables & Wires/Cable, 08 unit + + + world/prop/outershell/metal parts/hanging_cables.dat + + Model + rope_8unit + + + + + + + 8.0 + 0.1 + + + 4.0, 0.0 + + + + + 0 + 0 + + + + Prop/Haven/Cables & Wires/Cable, 12 unit + + + Color State Override + implementation.model["Color State Override"] + + + + + world/prop/outershell/metal parts/hanging_cables.dat + + Color State Override + 1.0, 1.0, 1.0, 1.0 + Model + rope_12unit + + + + + + + 12.0 + 0.1 + + + 6.0, 0.0 + + + + + 0 + 0 + + + + Prop/Haven/Fake Tiles/Divider - Balcony + + + world/prop/outershell/arcade/platform_divider.dat + + Model + floor_divider_balcony + + + 0 + 0 + + + + Prop/Haven/Fake Tiles/Divider - Dual Entrance-to-Balcony + + + world/prop/outershell/arcade/platform_divider.dat + + Model + floor_divider_both + + + 0 + 0 + + + + Prop/Haven/Fake Tiles/Divider - Entranceway + + + world/prop/outershell/arcade/platform_divider.dat + + Model + floor_divider_entrance + + + 0 + 0 + + + + Prop/Haven/Fake Tiles/Floor, dirt 4wide + + + world/prop/outershell/arcade/arcade_dirtfloor.dat + + 0 + + + + Prop/Haven/Foliage Top/Top 1x1 01 + + + world/tileset/outershell/nature.dat + + Model + floor_foliage_01 + Recieves Projections + false + + + + + 0 + 0 + + + + Prop/Haven/Foliage Top/Top 2x2 01 + + + world/tileset/outershell/nature.dat + + Model + floor_foliage_x2_01 + Recieves Projections + false + + + + 2.0 + 2.0 + + 0 + 0 + + + + Prop/Haven/Foliage Top/Top 4x4 01 + + + world/tileset/outershell/nature.dat + + Model + floor_foliage_x4_01 + Recieves Projections + false + + + + 4.0 + 4.0 + + 0 + 0 + + + + Prop/Haven/Ground pipes, brass/Abyss pipe, vertical + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + abyss_pipe + + + 0 + + + + Prop/Haven/Ground pipes, brass/Bracket + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + bracket + + + 0 + + + + Prop/Haven/Ground pipes, brass/Cliff pipe, vertical + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + cliff_pipe + + + + + + + 0.5 + + + 0.0, 0.25 + + + + + 0 + + + + Prop/Haven/Ground pipes, brass/Diagonal 1unit + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + diag_1 + + + 0 + + + + Prop/Haven/Ground pipes, brass/Diagonal 2unit + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + diag_2 + + + 0 + + + + Prop/Haven/Ground pipes, brass/Diagonal 3unit + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + diag_3 + + + 0 + + + + Prop/Haven/Ground pipes, brass/Diagonal 4unit + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + diag_4 + + + 0 + + + + Prop/Haven/Ground pipes, brass/Diagonal 5unit + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + diag_5 + + + 0 + + + + Prop/Haven/Ground pipes, brass/Elbow 45, left + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + elbow_45_L + + + 0 + + + + Prop/Haven/Ground pipes, brass/Elbow 45, right + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + elbow_45_R + + + 0 + + + + Prop/Haven/Ground pipes, brass/Elbow 90 + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + elbow_90 + + + 0 + + + + Prop/Haven/Ground pipes, brass/Straight 1unit + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + straight_1unit + + + 0 + + + + Prop/Haven/Ground pipes, brass/Straight 2 unit + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + straight_2unit + + + 0 + + + + Prop/Haven/Ground pipes, brass/Straight 3 unit + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + straight_3unit + + + 0 + + + + Prop/Haven/Ground pipes, brass/Straight 5 unit + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + straight_5unit + + + 0 + + + + Prop/Haven/Ground pipes, brass/Y Connector + + + Color variant + implementation.model["Color variant"] + + + + + world/prop/outershell/brass/groundpipes.dat + + Color variant + Haven Brass (default) + Model + y_connector + + + 0 + + + + Prop/Haven/Metal objects/Antennae/Antenna, T + + + Attachment 1 + implementation.model["Attachment 1"] + + + Attachment 2 + implementation.model["Attachment 2"] + + + Attachment 3 + implementation.model["Attachment 3"] + + + Attachment 4 + implementation.model["Attachment 4"] + + + Attachment 5 + implementation.model["Attachment 5"] + + + Attachment 6 + implementation.model["Attachment 6"] + + + + + world/prop/outershell/metal parts/antenna01.dat + + Attachment 1 + + Attachment 2 + + Attachment 3 + + Attachment 4 + + Attachment 5 + + Attachment 6 + + + + 0 + 0 + + + + Prop/Haven/Metal objects/Antennae/Antenna, grid + + + Attachment 1 + implementation.model["Attachment 1"] + + + Attachment 2 + implementation.model["Attachment 2"] + + + Attachment 3 + implementation.model["Attachment 3"] + + + Attachment 4 + implementation.model["Attachment 4"] + + + Attachment 5 + implementation.model["Attachment 5"] + + + Attachment 6 + implementation.model["Attachment 6"] + + + Attachment 7 + implementation.model["Attachment 7"] + + + Attachment 8 + implementation.model["Attachment 8"] + + + Attachment 9 + implementation.model["Attachment 9"] + + + + + world/prop/outershell/metal parts/antenna02.dat + + Attachment 1 + + Attachment 2 + + Attachment 3 + + Attachment 4 + + Attachment 5 + + Attachment 6 + + Attachment 7 + + Attachment 8 + + Attachment 9 + + + + 0 + 0 + + + + Prop/Haven/Metal objects/Antennae/Antenna, rectangle + + + world/prop/outershell/metal parts/antenna03.dat + + Attachment 1 + + Attachment 2 + + Attachment 3 + + Attachment 4 + + Attachment 5 + + Attachment 6 + + Attachment 7 + + + + 0 + 0 + + + + Prop/Haven/Metal objects/Chimney pipe, pointed + + + world/prop/outershell/metal parts/chimney_pipe_01.dat + + 0 + + + + Prop/Haven/Metal objects/Chimney pipe, spout + + + world/prop/outershell/metal parts/chimney_pipe_02.dat + + 0 + + + + Prop/Haven/Metal objects/Floor pipes/Elbow L + + + world/prop/outershell/metal parts/floor_pipes.dat + + Model + pipe_floor_L01 + + + 0 + 0 + + + + Prop/Haven/Metal objects/Floor pipes/Straight half + + + world/prop/outershell/metal parts/floor_pipes.dat + + Model + pipe_floor_half + + + 0 + 0 + + + + Prop/Haven/Metal objects/Floor pipes/Straight x1 + + + world/prop/outershell/metal parts/floor_pipes.dat + + Model + pipe_floor_x1 + + + 0 + 0 + + + + Prop/Haven/Metal objects/Floor pipes/Straight x2 + + + world/prop/outershell/metal parts/floor_pipes.dat + + Model + pipe_floor_x2 + + + 0 + 0 + + + + Prop/Haven/Metal objects/Floor pipes/T joint + + + world/prop/outershell/metal parts/floor_pipes.dat + + Model + pipe_floor_T + + + 0 + 0 + + + + Prop/Haven/Metal objects/Roof fan, x2 01 + + + world/prop/outershell/metal parts/roof_fan_01.dat + + 0 + + + + Prop/Haven/Metal objects/Strut + + + world/prop/outershell/arcade/strut.dat + + + + + + 0.4 + + + 0.0, 0.1 + + + + + 0.5 + + + -0.2, 0.1 + + + + + 0.5 + + + 0.2, 0.1 + + + + + 0 + + + + Prop/Haven/Metal objects/Strut, South Wall + + + world/prop/outershell/arcade/strut_south.dat + + + + + + 0.5 + + + 0.2, -0.06 + + + + + 0.5 + + + -0.2, -0.06 + + + + + 0.4 + + + 0.0, -0.06 + + + + + 0 + + + + Prop/Haven/Metal objects/Track, Turntable + + + world/prop/outershell/arcade/track_turntable.dat + + Model + turntable + + + + + + + + Prop/Haven/Metal objects/Track, Turntable connector + + + world/prop/outershell/arcade/track_turntable.dat + + Model + turntable_connector + + + + + + + + Prop/Haven/Metal objects/Water drum, cylindrical + + + world/prop/outershell/metal parts/waterdrum_01.dat + + + 0.88 + + 0 + + + + Prop/Haven/Metal objects/Water drum, round + + + world/prop/outershell/metal parts/waterdrum_02.dat + + + 1.92 + 1.6 + + 0 + + + + Prop/Haven/Nature/Boulder (Arcade) + + + world/prop/catacomb/stone_01.dat + + Receives Projections + true + Texture + world/prop/outershell/nature/bounder_haven.png + + + + 0.5 + + 0 + + + + Prop/Haven/Nature/Boulder 01 + + + world/prop/catacomb/stone_01.dat + + Receives Projections + false + Texture + world/prop/outershell/nature/bounder_haven.png + + + + 0.5 + + 0 + + + + Prop/Haven/Nature/Litter, blowing leaves + + + Marker Color + implementation.model["Marker Color"] + + + + + world/prop/outershell/nature/litter_leavesblow.dat + + Marker Color + 0.0, 0.72156864, 0.003921569, 0.75 + + + + 8.0 + 8.0 + + 0 + 0 + + + + Prop/Haven/Snipe, Static/Snipe, Low Res + + + Color 1 + implementation.model["Color 1"] + + + + + character/npc/snipe/parts/model_lowres.dat + + Color 1 + 1281 + + + + 0.33 + + 0 + 0 + + + + Prop/Haven/Store Banners/Armor Banner + + + Prop/Haven/Store Banners/Banner Base + + Variant + Armor + + + + + + Prop/Haven/Store Banners/Banner Base + + + Variant + implementation.model["Color"] + + + + + world/prop/outershell/storebanners/model.dat + + Color + Weapon + + + + 2.0 + + 0 + + + + Prop/Haven/Store Banners/Item Banner + + + Prop/Haven/Store Banners/Banner Base + + Variant + Item + + + + + + Prop/Haven/Store Banners/Weapon Banner + + + Prop/Haven/Store Banners/Banner Base + + Variant + Weapon + + + + + + Prop/Haven/Tarp/Posts/Post, 2.5 units + + + world/prop/outershell/hangingcloth/post.dat + + Model + post_01 + + + 0 + 0 + + + + Prop/Haven/Tarp/Posts/Post, 3 units + + + world/prop/outershell/hangingcloth/post.dat + + Model + post_02 + + + 0 + 0 + + + + Prop/Haven/Tarp/Posts/Post, 3.5 units + + + world/prop/outershell/hangingcloth/post.dat + + Model + post_03 + + + 0 + 0 + + + + Prop/Haven/Tarp/Rope/Rope Length 1 + + + world/prop/outershell/hangingcloth/model.dat + + Color 1 + 1283 + Color 2 + 1537 + Model + rope_length1 + + + + + + -0.125 + + + 1.125 + + + + 0 + 0 + + + + Prop/Haven/Tarp/Rope/Rope Length 2 + + + world/prop/outershell/hangingcloth/model_animated.dat + + Color 1 + 1283 + Color 2 + 1537 + Model + rope_length2 + Shadow + + Shadow Transform + + + + + + + + -0.125 + + + 2.125 + + + + 0 + 0 + + + + Prop/Haven/Tarp/Rope/Rope Length 3 + + + world/prop/outershell/hangingcloth/model_animated.dat + + Color 1 + 1283 + Color 2 + 1537 + Model + rope_length3 + Shadow + + Shadow Transform + + + + + + + + -0.125 + + + 3.125 + + + + 0 + 0 + + + + Prop/Haven/Tarp/Rope/Rope Length 4 + + + world/prop/outershell/hangingcloth/model_animated.dat + + Color 1 + 1283 + Color 2 + 1537 + Model + rope_length4 + Shadow + + Shadow Transform + + + + + + + + -0.125 + + + 4.125 + + + + 0 + 0 + + + + Prop/Haven/Tarp/Rope/Rope Stitch + + + world/prop/outershell/hangingcloth/model.dat + + Color 1 + 1283 + Color 2 + 1537 + Model + rope_stitch + + + + + + -0.125 + + + 0.125 + + + + 0 + 0 + + + + Prop/Haven/Tarp/Shadow Verticle/Shadow 2x2 + + + world/prop/outershell/hangingcloth/model_vershadow.dat + + Color State Override + 0.039215688, 0.07450981, 0.10980392, 0.333 + Model + shadowplanex2 + + + + + + + 2.0 + + + 0.5, 0.45 + + + + + 0 + 0 + + + + Prop/Haven/Tarp/Shadow Verticle/Shadow 3x3 + + + world/prop/outershell/hangingcloth/model_vershadow.dat + + Color State Override + 0.039215688, 0.07450981, 0.10980392, 0.333 + Model + shadowplanex3 + + + + + + + 3.0 + + + 0.0, 0.45 + + + + + 0 + 0 + + + + Prop/Haven/Tarp/Tarp 2x2 01 + + + Color 1 + implementation.model["Color 1"] + + + Color 2 + implementation.model["Color 2"] + + + + + world/prop/outershell/hangingcloth/model_animated.dat + + Color 1 + 1285 + Color 2 + 1543 + Model + tarp_2x2_01 + Shadow + + world/environment/shadow/square.dat + + Size Height + 2.17 + Size Width + 2.17 + + + Shadow Transform + + 0.5, 0.5, 0.0 + + + + + + + -0.5 + -0.5 + + + 1.5 + -0.5 + + + 1.5 + 1.5 + + + -0.5 + 1.5 + + + + 0 + 0 + + + + Prop/Haven/Tarp/Tarp 2x2 02 + + + Color 1 + implementation.model["Color 1"] + + + Color 2 + implementation.model["Color 2"] + + + + + world/prop/outershell/hangingcloth/model_animated.dat + + Color 1 + 1283 + Color 2 + 1537 + Model + tarp_2x2_02 + Shadow + + world/environment/shadow/square.dat + + Size Height + 2.17 + Size Width + 2.17 + + + Shadow Transform + + 0.5, 0.5, 0.0 + + + + + + + -0.5 + -0.5 + + + 1.5 + -0.5 + + + 1.5 + 1.5 + + + -0.5 + 1.5 + + + + 0 + 0 + + + + Prop/Haven/Tarp/Tarp 2x2 03 + + + Color 1 + implementation.model["Color 1"] + + + Color 2 + implementation.model["Color 2"] + + + + + world/prop/outershell/hangingcloth/model_animated.dat + + Color 1 + 1287 + Color 2 + 1545 + Model + tarp_2x2_03 + Shadow + + world/environment/shadow/square.dat + + Size Height + 2.17 + Size Width + 2.17 + + + Shadow Transform + + 0.5, 0.5, 0.0 + + + + + + + -0.5 + -0.5 + + + 1.5 + -0.5 + + + 1.5 + 1.5 + + + -0.5 + 1.5 + + + + 0 + 0 + + + + Prop/Haven/Tarp/Tarp 2x3 01 + + + Color 1 + implementation.model["Color 1"] + + + Color 2 + implementation.model["Color 2"] + + + + + world/prop/outershell/hangingcloth/model_animated.dat + + Color 1 + 1284 + Color 2 + 1539 + Model + tarp_2x3_01 + Shadow + + world/environment/shadow/square.dat + + Size Height + 3.17 + Size Width + 2.17 + + + Shadow Transform + + 0.5, 0.0, 0.0 + + + + + + + -0.5 + -1.5 + + + 1.5 + -1.5 + + + 1.5 + 1.5 + + + -0.5 + 1.5 + + + + 0 + 0 + + + + Prop/Haven/Tarp/Tarp 2x3 02 + + + Color 1 + implementation.model["Color 1"] + + + Color 2 + implementation.model["Color 2"] + + + + + world/prop/outershell/hangingcloth/model_animated.dat + + Color 1 + 1281 + Color 2 + 1547 + Model + tarp_2x3_02 + Shadow + + world/environment/shadow/square.dat + + Size Height + 3.17 + Size Width + 2.17 + + + Shadow Transform + + 0.5, 0.0, 0.0 + + + + + + + -0.5 + -1.5 + + + 1.5 + -1.5 + + + 1.5 + 1.5 + + + -0.5 + 1.5 + + + + 0 + 0 + + + + Prop/Haven/Tarp/Tarp 2x4 01 + + + Color 1 + implementation.model["Color 1"] + + + Color 2 + implementation.model["Color 2"] + + + + + world/prop/outershell/hangingcloth/model_animated.dat + + Color 1 + 1285 + Color 2 + 1542 + Model + tarp_2x4_01 + Shadow + + world/environment/shadow/square.dat + + Size Height + 4.17 + Size Width + 2.17 + + + Shadow Transform + + 0.5, 0.5, 0.0 + + + + + + + -0.5 + -1.5 + + + 1.5 + -1.5 + + + 1.5 + 2.5 + + + -0.5 + 2.5 + + + + 0 + 0 + + + + Prop/Haven/Tarp/Tarp 2x4 02 + + + Color 1 + implementation.model["Color 1"] + + + Color 2 + implementation.model["Color 2"] + + + + + world/prop/outershell/hangingcloth/model_animated.dat + + Color 1 + 1290 + Color 2 + 1545 + Model + tarp_2x4_02 + Shadow + + world/environment/shadow/square.dat + + Size Height + 4.17 + Size Width + 2.17 + + + Shadow Transform + + 0.5, 0.5, 0.0 + + + + + + + -0.5 + -1.5 + + + 1.5 + -1.5 + + + 1.5 + 2.5 + + + -0.5 + 2.5 + + + + 0 + 0 + + + + Prop/Haven/Tarp/Tarp 2x4 03 + + + Color 1 + implementation.model["Color 1"] + + + Color 2 + implementation.model["Color 2"] + + + + + world/prop/outershell/hangingcloth/model_animated.dat + + Color 1 + 1291 + Color 2 + 1548 + Model + tarp_2x4_03 + Shadow + + world/environment/shadow/square.dat + + Size Height + 4.17 + Size Width + 2.17 + + + Shadow Transform + + 0.5, 0.5, 0.0 + + + + + + + -0.5 + -1.5 + + + 1.5 + -1.5 + + + 1.5 + 2.5 + + + -0.5 + 2.5 + + + + 0 + 0 + + + + Prop/Haven/Tarp/Tarp 3x3 01 + + + Color 1 + implementation.model["Color 1"] + + + Color 2 + implementation.model["Color 2"] + + + + + world/prop/outershell/hangingcloth/model_animated.dat + + Color 1 + 1292 + Color 2 + 1538 + Model + tarp_3x3_01 + Shadow + + world/environment/shadow/square.dat + + Size Height + 3.17 + Size Width + 3.17 + + + Shadow Transform + + + + + + 3.0 + 3.0 + + 0 + 0 + + + + Prop/Haven/Tarp/Tarp 3x3 02 + + + Color 1 + implementation.model["Color 1"] + + + Color 2 + implementation.model["Color 2"] + + + + + world/prop/outershell/hangingcloth/model_animated.dat + + Color 1 + 1283 + Color 2 + 1537 + Model + tarp_3x3_02 + Shadow + + world/environment/shadow/square.dat + + Size Height + 3.17 + Size Width + 3.17 + + + Shadow Transform + + + + + + 3.0 + 3.0 + + 0 + 0 + + + + Prop/Haven/Tarp/Tarp 3x5 01 + + + Color 1 + implementation.model["Color 1"] + + + Color 2 + implementation.model["Color 2"] + + + + + world/prop/outershell/hangingcloth/model_animated.dat + + Color 1 + 1293 + Color 2 + 1550 + Model + tarp_3x5_01 + Shadow + + world/environment/shadow/square.dat + + Size Height + 5.17 + Size Width + 3.17 + + + Shadow Transform + + + + + + + + -1.5 + -2.5 + + + 1.5 + -2.5 + + + 1.5 + 2.5 + + + -1.5 + 2.5 + + + + 0 + 0 + + + + Prop/Knights/Block - Toughbox + + + world/prop/knights/toughbox_shut.dat + + + 0.88 + 0.88 + + 0 + + + + Prop/Knights/Block - Toughbox, Empty + + + world/prop/knights/toughbox_empty.dat + + + 0.88 + 0.88 + + 0 + + + + Prop/Knights/Camp Bonfire + + + model/compound/model.dat + + Influences + + false + false + + Models + + + + character/npc/monster/baron/parts/modelset_wooddebri-fx.dat + + Model + mesh_ladder + + + + 0.8800001 + 0.0, -0.14999999, 0.21000004 + 0.0, 0.0, -0.25881904, 0.9659258 + + + + + character/npc/monster/baron/parts/modelset_wooddebri-fx.dat + + Model + mesh_tripod + + + + 0.0, 0.10999997, 0.4299999 + 0.0, 0.08715563, 0.0, 0.9961947 + + + + + character/npc/monster/baron/parts/modelset_wooddebri.dat + + Model + mesh_shard1_s + + + + 1.2499998 + 0.49999982, -0.4199999, 0.24000005 + 0.0, 0.0, -0.93969256, 0.34202027 + + + + + character/npc/monster/baron/parts/modelset_wooddebri.dat + + Model + mesh_shard2_m + + + + 1.4999995 + 0.12999997, 0.31, 0.49999982 + -0.25653282, -0.010330677, -0.83480287, 0.48702002 + + + + + character/npc/monster/baron/parts/modelset_wooddebri.dat + + Model + mesh_shard3_l + + + + 1.2499998 + 0.4099999, -0.3, 0.27000004 + -0.15227348, -0.73442566, 0.16427332, 0.64066064 + + + + + character/npc/monster/baron/parts/modelset_wooddebri.dat + + Model + mesh_shard3_l + + + + 1.1999998 + 0.0, -0.5799998, 0.5899998 + -0.9282731, -0.08857797, -0.18975574, 0.30733663 + + + + + character/npc/monster/baron/parts/modelset_wooddebri.dat + + Model + mesh_shard1_s + + + + 1.4899995 + 0.6499997, 0.16999999, 0.36 + 0.0, 0.0, 0.46174848, 0.88701093 + + + + + particle/debuff_immolate.dat + + + 1.5 + -0.03476668, 0.08710254, 0.003041687, 0.9955879 + + + + + world/environment/shadow/circle.dat + + Size + 3.0 + + + + + + world/environment/shadow/circle.dat + + Size + 3.0 + + + + + + + + 1.4 + + + + + Prop/Knights/Computer 1, toughbox + + + world/prop/knights/toughbox_computer.dat + + + 0.88 + 0.88 + + 0 + + + + Prop/Knights/Crash site + + + world/prop/knights/crashsite.dat + + + + + + 1.6 + + + 0.25, 0.75 + + + + + 1.6 + 2.0 + + + 1.25, -0.75 + 1.1802831E-16 + + + + + + + + + Basic + + Lifespan + 1000 + Model + + particle/fx_gethit_block.dat + + + + + 0 + + + + + + Prop/Knights/Escape Pod - Static, Closed + + + world/prop/knights/escapepod_static_closed.dat + + + + + + 1.4 + + + + + 0 + + + + Prop/Knights/Escape Pod - Static, No Door-hatch + + + world/prop/knights/escapepod_static_nodoor.dat + + + + + + 1.4 + + + + + 0 + + + + Prop/Knights/Flare + + + world/prop/knights/flare/model.dat + + + 0.25 + + 0 + + + + Prop/Knights/Floor Mats/Floor Mat - 2x1 + + + world/prop/knights/floormats/floormat_2x1.dat + + 0 + + + + Prop/Knights/Floor Mats/Floor Mat - 6x4 + + + world/prop/knights/floormats/floormat_6x4.dat + + 0 + + + + Prop/Knights/Static NPC + + + Model + implementation.model + + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Gear + Empty + Helmet + Pig Nose + Pack + None + + + + 0.333 + + 0 + + + + Prop/Knights/Test Core Pod + + + world/prop/knights/escapepod_static_closed.dat + + + + + + 1.4 + + + + + 0 + 0 + + + + Prop/Knights/Text Float NPC + + + Model + implementation.model + + + Fire Action + implementation.handlers[0].action.fire_action + + + + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Gear + Empty + Helmet + Pig Nose + Pack + None + + + + 0.333 + + + + + + Character/NPC/Talk, word balloon/Random (3) + + Character Name + + Lifespan + 2000 + Text 1 + + Text 2 + + Text 3 + + Transform + + + + + + + + 0 + + + + Prop/Sky Islands, Day/Natural/Boulder 01 + + + world/prop/catacomb/stone_01.dat + + Receives Projections + false + Texture + world/prop/sky_islands_day/rock01.png + + + + 0.5 + + 0 + + + + Prop/Sky Islands, Day/Natural/Boulder 01, non-walk + + + world/prop/catacomb/stone_01.dat + + Receives Projections + false + Texture + world/prop/sky_islands_day/rock_blue.png + + + + 0.5 + + 0 + + + + Prop/Sky Islands, Day/Natural/Log (Lrg) + + + model/compound/model.dat + + Influences + + false + false + + Models + + + + world/prop/sky_islands_day/tree_chopped.dat + + Model + mesh_log1 + + + + 0.0, 0.0, 0.70710665, 0.70710695 + + + + + + + 1.2 + 0.45 + + 0 + + + + Prop/Sky Islands, Day/Natural/Log (med) + + + model/compound/model.dat + + Influences + + false + false + + Models + + + + world/prop/sky_islands_day/tree_chopped.dat + + Model + mesh_log2 + + + + 0.0, 0.0, 0.70710665, 0.70710695 + + + + + + + 0.25 + + 0 + + + + Prop/Sky Islands, Day/Natural/Log (sml) + + + model/compound/model.dat + + Influences + + false + false + + Models + + + + world/prop/sky_islands_day/tree_chopped.dat + + Model + mesh_log3 + + + + 0.0, 0.0, 0.70710665, 0.70710695 + + + + + + + 0.2 + + 0 + + + + Prop/Sky Islands, Day/Natural/Spiral Tree + + + world/prop/sky_islands_day/tree.dat + + + 0.45 + + 0 + + + + Prop/Sky Islands, Day/Natural/Stump + + + world/prop/sky_islands_day/tree_chopped.dat + + Model + mesh_stump + + + + 0.45 + + 0 + + + + Prop/Sky Islands, Day/Natural/Stump (Axe) + + + world/prop/sky_islands_day/tree_chopped.dat + + Model + mesh_stump_axe + + + + 0.45 + + 0 + + + + Prop/Sky Islands, Day/Puppy Statue + + + world/prop/sky_islands_day/gunpuppy.dat + + Variant + Sky Islands, Day + + + + + 0 + + + + Prop/Sky Islands, Night/Boulder 01 + + + world/prop/catacomb/stone_01.dat + + Receives Projections + false + Texture + world/prop/sky_islands_night/stone_01.png + + + + 0.5 + + 0 + + + + Prop/Sky Islands, Night/Lantern, blue + + + world/prop/sky_islands_night/stone_lantern_01.dat + + Glow color + Blue-green + + + + 0.49 + + 0 + + + + Prop/Sky Islands, Night/Lantern, orange + + + world/prop/sky_islands_night/stone_lantern_01.dat + + Glow color + Orange + + + + 0.49 + + 0 + + + + Prop/Sky Islands, Night/Lantern, violet + + + world/prop/sky_islands_night/stone_lantern_01.dat + + Glow color + Violet + + + + 0.49 + + 0 + + + + Prop/Sky Islands, Night/Puppy Statue + + + world/prop/sky_islands_day/gunpuppy.dat + + Variant + Sky Islands, Night + + + + + 0 + + + + Prop/Town/Commerce/Market stall - Fruit 01 + + + 1.8 + 1.8 + + 0 + + + + Prop/Town/Furniture/Counter, Haven 4x4 - Curved Elbow + + + Model + implementation.model["Model"] + + + + + world/prop/generic/interior/counter_set_01.dat + + Model + bar_x4_curved_elbow + Texture + world/prop/generic/interior/counter_haven01.png + + + + + + + 0.8 + + + -1.0, 2.0 + + + + + 0.8 + 1.1 + + + -0.905, 1.022 + 0.19634955 + + + + + 0.8 + 1.1 + + + -0.539, 0.138 + 0.5890486 + + + + + 0.8 + 1.1 + + + 0.138, -0.539 + 0.98174715 + + + + + 0.8 + 1.1 + + + 1.022, -0.905 + 1.3744463 + + + + + 0.8 + + + 2.0, -1.0 + + + + + 2 + 0 + + + + Prop/Town/Furniture/Counter, Haven x1 - Elbow Out 01 + + + Model + implementation.model["Model"] + + + + + world/prop/generic/interior/counter_set_01.dat + + Model + bar_x1_out_01 + Texture + world/prop/generic/interior/counter_haven01.png + + + + + + + 0.8 + + + -0.1, 0.0 + + + + + 0.8 + + + 0.0, 0.1 + + + + + 2 + 0 + + + + Prop/Town/Furniture/Counter, Haven x1 - End cap Left + + + Prop/Town/Furniture/Counter, Haven x1 01 + + Model + bar_x1_cap_L + + + + + + Prop/Town/Furniture/Counter, Haven x1 - End cap Right + + + Prop/Town/Furniture/Counter, Haven x1 01 + + Model + bar_x1_cap_R + + + + + + Prop/Town/Furniture/Counter, Haven x1 01 + + + Model + implementation.model["Model"] + + + + + world/prop/generic/interior/counter_set_01.dat + + Model + bar_x1_01 + Texture + world/prop/generic/interior/counter_haven01.png + + + + 0.8 + + 2 + 0 + + + + Prop/Town/Furniture/Counter, Haven x1 02 + + + Prop/Town/Furniture/Counter, Haven x1 01 + + Model + bar_x1_02 + + + + + + Prop/Town/Furniture/Counter, Haven x1 03 + + + Prop/Town/Furniture/Counter, Haven x1 01 + + Model + bar_x1_03 + + + + + + Prop/Town/Furniture/Counter, Haven x1 04 + + + Prop/Town/Furniture/Counter, Haven x1 01 + + Model + bar_x1_04 + + + + + + Prop/Town/Furniture/Table, small + + + world/prop/generic/interior/table_01.dat + + Texture + world/prop/generic/interior/table_cafe01.png + + + + 0.8 + + 2 + 0 + + + + Prop/Town/Moorcroft/Bench, antique 1 + + + world/prop/manor/bench_01.dat + + + 1.8 + 0.8 + + 2 + 0 + + + + Prop/Town/Moorcroft/Bookcase 01 + + + world/prop/manor/bookcase_01.dat + + + 3.0 + + 2 + 0 + + + + Prop/Town/Moorcroft/Brazier, ground + + + world/prop/manor/brazier_ground.dat + + + 0.4 + + + + + Prop/Town/Moorcroft/Brazier, tall + + + world/prop/manor/brazier_tall.dat + + + 0.4 + + + + + Prop/Town/Moorcroft/Chair, antique 1 + + + world/prop/manor/chair_01.dat + + + 0.4 + + 2 + 0 + + + + Prop/Town/Moorcroft/Counter Props/Counter 4x4 - Curved Elbow + + + Model + implementation.model["Model"] + + + + + world/prop/generic/interior/counter_set_01.dat + + Model + bar_x4_curved_elbow + Texture + world/prop/manor/countertop_01.png + + + + + + + 0.8 + + + -1.0, 2.0 + + + + + 0.8 + 1.1 + + + -0.905, 1.022 + 0.19634955 + + + + + 0.8 + 1.1 + + + -0.539, 0.138 + 0.5890486 + + + + + 0.8 + 1.1 + + + 0.138, -0.539 + 0.9817468 + + + + + 0.8 + 1.1 + + + 1.022, -0.905 + 1.3744463 + + + + + 0.8 + + + 2.0, -1.0 + + + + + 2 + 0 + + + + Prop/Town/Moorcroft/Counter Props/Counter x1 - Elbow Out 01 + + + Model + implementation.model["Model"] + + + + + world/prop/generic/interior/counter_set_01.dat + + Model + bar_x1_out_01 + Texture + world/prop/manor/countertop_01.png + + + + + + + 0.8 + + + -0.1, 0.0 + + + + + 0.8 + + + 0.0, 0.1 + + + + + 2 + 0 + + + + Prop/Town/Moorcroft/Counter Props/Counter x1 - End cap Left + + + Prop/Town/Moorcroft/Counter Props/Counter x1 01 + + Model + bar_x1_cap_L + + + + + + Prop/Town/Moorcroft/Counter Props/Counter x1 - End cap Right + + + Prop/Town/Moorcroft/Counter Props/Counter x1 01 + + Model + bar_x1_cap_R + + + + + + Prop/Town/Moorcroft/Counter Props/Counter x1 01 + + + Model + implementation.model["Model"] + + + + + world/prop/generic/interior/counter_set_01.dat + + Model + bar_x1_01 + Texture + world/prop/manor/countertop_01.png + + + + 0.8 + + 2 + 0 + + + + Prop/Town/Moorcroft/Counter Props/Counter x1 02 + + + Prop/Town/Moorcroft/Counter Props/Counter x1 01 + + Model + bar_x1_01 + + + + + + Prop/Town/Moorcroft/Counter Props/Counter x1 03 + + + Prop/Town/Moorcroft/Counter Props/Counter x1 01 + + Model + bar_x1_01 + + + + + + Prop/Town/Moorcroft/Counter Props/Counter x1 04 + + + Prop/Town/Moorcroft/Counter Props/Counter x1 01 + + Model + bar_x1_01 + + + + + + Prop/Town/Moorcroft/Luggage/Briefcase, black + + + world/prop/manor/luggage_briefcase_01.dat + + Color 1, offset + + -0.15 + -0.3 + -0.52 + + Color 2, offset + + 0.2 + -0.476 + -0.3 + + Color 3, offset + + -0.55 + 0.25 + -0.2 + + + + + 0.9 + 0.28 + + 2 + 0 + + + + Prop/Town/Moorcroft/Luggage/Briefcase, deep brown + + + world/prop/manor/luggage_briefcase_01.dat + + Color 1, offset + + 0.06 + 0.24 + -0.26 + + Color 2, offset + + -0.2 + 0.2 + -0.05 + + Color 3, offset + + -0.12 + -0.25 + -0.24 + + + + + 0.9 + 0.28 + + 2 + 0 + + + + Prop/Town/Moorcroft/Luggage/Hatbox, gray + + + world/prop/manor/luggage_hatbox_01.dat + + Color - Base, offsets + + 0.06 + -0.34 + -0.14 + + Color - Handle, offsets + + 0.88 + -0.28 + -0.12 + + Color - Stripes, offsets + + -0.283 + -0.2 + -0.14 + + + + + 0.26 + + 2 + 0 + + + + Prop/Town/Moorcroft/Luggage/Hatbox, greenstripe + + + world/prop/manor/luggage_hatbox_01.dat + + Color - Base, offsets + + -0.55 + + Color - Handle, offsets + + 0.4 + -0.12 + -0.08 + + Color - Stripes, offsets + + 0.1 + + + + + 0.26 + + 2 + 0 + + + + Prop/Town/Moorcroft/Luggage/Suitcase, brown + + + world/prop/manor/luggage_suitcase_01.dat + + Color 1, offset + + 0.051 + + Color 2, offset + + -0.285 + + Color 3, offset + + -0.032 + -0.287 + -0.227 + + + + + 0.95 + 0.45 + + 2 + 0 + + + + Prop/Town/Moorcroft/Luggage/Suitcase, gray + + + world/prop/manor/luggage_suitcase_01.dat + + Color 1, offset + + 0.36 + -0.45 + -0.2 + + Color 2, offset + + -0.24 + -0.05 + 0.05 + + Color 3, offset + + 0.38 + 0.18 + -0.12 + + + + + 0.95 + 0.45 + + 2 + 0 + + + + Prop/Town/Moorcroft/Train tracks, huge + + + world/prop/manor/train_tracks.dat + + 0 + + + + Prop/Town/Storage/Bags and Sacks/Sack, open + + + 0.4 + + + + + Prop/Whitespace/Blocks & Cubes/Cube, 2 units + + + + Collision + + + Collision Flags + implementation.collision_flags + + + + + + Block movement and projectiles + + Collision Flags + 1 + + + + + Block movement only + + Collision Flags + 2 + + + + + No collision + + Collision Flags + 0 + + + + Block movement and projectiles + + + + + world/prop/whitespace/blocks_floating_set.dat + + Model + block_x2 + + + + 2.0 + 2.0 + + + + + Prop/Whitespace/Blocks & Cubes/Cube, 4 units + + + + Collision + + + Collision Flags + implementation.collision_flags + + + + + + Block movement and projectiles + + Collision Flag + 1 + Collision Flags + 1 + + + + + Block movement only + + Collision Flag + 2 + Collision Flags + 2 + + + + + No collision + + Collision Flag + 0 + Collision Flags + 0 + + + + Block everything + + + + + world/prop/whitespace/blocks_floating_set.dat + + Model + block_x4 + + + + 4.0 + 4.0 + + + + + Prop/Whitespace/Blocks & Cubes/Cube, single unit + + + + Collision + + + Collision Flags + implementation.collision_flags + + + + + + Block movement and projectiles + + Collision Flags + 1 + + + + + Block movement only + + Collision Flags + 2 + + + + + No collision + + Collision Flags + 0 + + + + Block movement and projectiles + + + + + world/prop/whitespace/blocks_floating_set.dat + + Model + block_x1 + + + + + + + + Prop/Whitespace/Swarm Void + + + world/skybox/consumed/model.dat + + + + + + 22.5 + + + 8.25, 0.0 + + + + + 22.5 + + + -8.25, 0.0 + + + + + 22.5 + + + 0.0, 8.25 + + + + + 22.5 + + + 0.0, -8.25 + + + + + 22.5 + + + 6.0, 6.0 + 0.7853982 + + + + + 22.5 + + + -6.0, 6.0 + 2.3561945 + + + + + 22.5 + + + 6.0, -6.0 + -0.7853982 + + + + + 22.5 + + + -6.0, -6.0 + -2.3561945 + + + + + 32 + + + + Shop/Haven/Alchemy + + + world/dynamic/energy/vendingmachine_01.dat + + Colorization + Yellow + Cost + Alchemy + Variant + Vial + + + + + + + Shop/Haven/Alchemy + + Cost + m.alchemy + + + + + + + + + Shop/Haven/Exchange + + + Actor + implementation.handlers[0].action.actor + + + + + character/npc/stranger/model.dat + + Colors + Yellow-Purple + Hat + + character/npc/stranger/hat_mining/model.dat + + Variant + Brown + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Variant + Green + + + Robes + hexagons + Snipes + Both Shoulders (01) + + + + + + + Shop/Haven/Exchange + + + + + + + + Shop/Haven/Guild 1 + + + Actor + implementation.handlers[0].action.actor + + + + + character/npc/stranger/model.dat + + Colors + Yellow-Purple + Hat + + character/npc/stranger/hat_mining/model.dat + + Variant + Brown + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Variant + Green + + + Robes + hexagons + Snipes + Both Shoulders (01) + + + + + + + Shop/Haven/Guild 1 + + + + + + + + Shop/Haven/Upgrades + + + Actor + implementation.handlers[0].action.actor + + + + + character/npc/stranger/model.dat + + Colors + Yellow-Purple + Hat + + character/npc/stranger/mask/model.dat + + Variant + Simple + + + Pack + + Robes + Merchant Tabard + Snipes + Both Shoulders (03) + + + + + + + Shop/Haven/Upgrades + + + + + + + + Shop/Moorcroft Manor/Armor 1 + + + Actor + implementation.handlers[0].action.actor + + + + + character/npc/monster/reaper/model.dat + + variant + grey + + + + + + + Shop/Moorcroft Manor/Armor 1 + + + + + + + + Shop/Moorcroft Manor/Armor 2 + + + Actor + implementation.handlers[0].action.actor + + + + + character/npc/monster/reaper/model.dat + + variant + grey + + + + + + + Shop/Moorcroft Manor/Armor 2 + + + + + + + + Shop/Rescue Camp/General Goods + + + Actor + implementation.handlers[0].action.actor + + + + + character/npc/stranger/model.dat + + Colors + Blue-Brown + Hat + + character/npc/stranger/hat_mining/model.dat + + Variant + Brown + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Robes + Merchant Tabard + Snipes + Both Shoulders (01) + + + + + + + Shop/Rescue Camp/General Goods + + + + + + + + Shop/Test/Free Items + + + character/pc/model.dat + + Armor + + item/gear/armor/doublebelt/model.dat + + Colorization + 272 + Variant + tan-teal-navy + + + Helmet + + item/gear/helm/nose/model.dat + + Colorization + 272 + Variant + green-tan + + + Label + + Material + + Shield + + item/gear/shield/aegis/model.dat + + variant + defender + + + Shield Away + True + Weapon + + + + + + + + Shop/Test/Free Items + + + + + + + + Shop/Test/Free Items (2) + + + Actor 1x1 + + Actor + + Shop/Test/Terminal + + + + + + + Shop/Test/Terminal + + + Actor 1x1 + + Actor + + Shop/Test/Terminal + + + + + + + Shop/Test/Upgrader + + + character/pc/model.dat + + Armor + + item/gear/armor/doublebelt/model.dat + + Colorization + 272 + Variant + tan-teal-navy + + + Helmet + + item/gear/helm/nose/model.dat + + Colorization + 272 + Variant + green-tan + + + Label + + Material + + Shield + + item/gear/shield/aegis/model.dat + + variant + defender + + + Shield Away + True + Weapon + + + + + + + + Shop/Test/Upgrader + + + + + + + + Sounds/Positional/Constant Looping + + + Sound + implementation.model["Sound"] + + + Gain + implementation.model["Gain"] + + + Pitch + implementation.model["Pitch"] + + + Range + implementation.model["Range"] + + + Label + implementation.model["Label"] + + + + + editor/marker/sound/model.dat + + Gain + 1.0 + Label + + Pitch + 1.0 + Range + Medium + Sound + sound/effect/world/environmental_rumble_01.ogg + + + + + + + 0.35 + + + + + 0 + 0 + + + + Sounds/Positional/Haven/Fountain, Town Square + + + Label + implementation.model["Label"] + + + + + editor/marker/sound/custom_sounder.dat + + Label + Fountain, Town Square + Range + Long + Sounder + + Custom/Environment/Haven/Fountain, Town Square + + Gain + 0.2 + + + Viewer Extents + 40 + + + + + + + 6.0 + + + + + 0 + 0 + + + + Sounds/Positional/Nature/Fire crackle, heavy + + + + Size + + + Gain + implementation.model["Sounder"]["Gain"] + + + Size + implementation.model["Sounder"]["Size"] + + + Viewer Extents + implementation.model["Viewer Extents"] + + + + + + Small + + + 0.2 + G + 0.2 + Ga + 0.2 + Gai + 0.2 + Gain + 0.2 + Size + Small + Viewer Extents + 16 + + + + + Medium + + + 0.2 + G + 0.2 + Ga + 0.2 + Gai + 0.2 + Gain + 0.25 + Size + Medium + Viewer Extents + 24 + + + + + Large + + + 0.2 + G + 0.2 + Ga + 0.2 + Gai + 0.2 + Gain + 0.3 + Size + Large + Viewer Extents + 32 + + + + Medium + + + Range + implementation.model["Range"] + + + Label + implementation.model["Label"] + + + + + editor/marker/sound/custom_sounder.dat + + Label + Fire crackle, heavy + Range + Medium + Sounder + + Custom/Environment/Nature/Fire crackle, heavy + + Gain + 0.4 + Size + Medium + + + Viewer Extents + 32 + + + + + + + 0.35 + + + + + 0 + 0 + + + + Sounds/Positional/Sounder + + + Sound File + implementation.model["Sounder"]["File"] + + + + Size + + + Gain + implementation.model["Sounder"]["Gain"] + + + Size + implementation.model["Range"] + + + Viewer Extents + implementation.model["Viewer Extents"] + + + Range + implementation.model["Sounder"]["Range"] + + + + + + Small + + + 0.2 + G + 0.2 + Ga + 0.2 + Gai + 0.2 + Gain + 0.2 + Range + Short + Size + Small + Viewer Extents + 16 + + + + + Medium + + + 0.2 + G + 0.2 + Ga + 0.2 + Gai + 0.2 + Gain + 0.25 + Range + Medium + Size + Medium + Viewer Extents + 24 + + + + + Large + + + 0.2 + G + 0.2 + Ga + 0.2 + Gai + 0.2 + Gain + 0.3 + Range + Long + Size + Long + Viewer Extents + 32 + + + + Medium + + + Label + implementation.model["Label"] + + + Gain + implementation.model["Sounder"]["Gain"] + + + Pitch + implementation.model["Sounder"]["Pitch"] + + + + + editor/marker/sound/custom_sounder.dat + + Label + Sounder + Range + Medium + Sounder + + Clip/Looping (Gain) + + File + sound/effect/world/block_explosive.ogg + Gain + 1.0 + Pitch + 1.0 + Range + Medium + + + Viewer Extents + 32 + + + + + + + 0.35 + + + + + 0 + 0 + + + + Sounds/Positional/Test + + + Label + implementation.model["Label"] + + + Sounder + implementation.model["Sounder"] + + + + + editor/marker/sound/custom_sounder.dat + + Label + Test Sounder + Range + Long + Sounder + + Custom/Test + + Viewer Extents + 32 + + + + + + + 16.0 + + + + + 0 + 0 + + + + Sounds/Positional/Tutorial/Clockworks Reveal + + + Label + implementation.model["Label"] + + + + + editor/marker/sound/custom_sounder.dat + + Label + Clockworks Reveal + Range + Long + Sounder + + Custom/Clockworks/Clockwork Machinery + + File + sound/effect/world/environmental_clockworks_01.ogg + Gain + 1.0 + Pitch + 1.0 + Range + Long + + + Viewer Extents + 40 + + + + + + + 6.0 + + + + + 0 + 0 + + + + Sounds/Positional/Tutorial/Crash site, electric zaps + + + Label + implementation.model["Label"] + + + + + editor/marker/sound/custom_sounder.dat + + Label + Electrical Zaps + Range + Medium + Sounder + + Viewer Extents + 24 + + + + + + + 0.35 + + + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Custom/Environment/Technology/Crash site, electric zaps + + Transform + + + Transient + + + + + + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Custom/Environment/Technology/Crash site, electric zaps + + Transform + + + Transient + + + + + + + + + + + + + 0 + 0 + + + + Special Encounter/Device 1 + + + world/prop/structural/temp_stairs/model.dat + + + + + + Special Encounter/Terminal Traveler + + + + + + + + Special Encounter/Terminal Traveler + + + character/npc/stranger/model.dat + + Colors + Drab-Tan + Hat + + character/npc/stranger/hat_mining/model.dat + + Variant + Brown + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Robes + Merchant Tabard + Snipes + None + + + + + + + Special Encounter/Terminal Traveler + + + + + + + + Special Encounter/Traveler 1 + + + character/npc/stranger/model.dat + + Colors + Drab-Tan + Hat + + character/npc/stranger/hat_mining/model.dat + + Variant + Brown + + + Pack + + character/npc/stranger/pack_boxroll/model.dat + + Robes + Merchant Tabard + Snipes + None + + + + + + + Special Encounter/Terminal Traveler + + + + + + + + Trigger/Actor Removed + + + Actor Tag + implementation.handlers[0].target.tag + + + Action + implementation.handlers[0].action + + + + + editor/marker/flag/model.dat + + Variant + Actor Removed + + + + + + + + + + Trigger/Actor Removed (2 Tags) + + + Actor Tag + implementation.handlers[0].target.tag + + + Actor Tag 2 + implementation.handlers[1].target.tag + + + Action + implementation.handlers[2].action.action + + + + + editor/marker/flag/model.dat + + Variant + Actor Removed + + + + + + + + + + + + + + + + + + + + Trigger/Actor Removed (3 Tags) + + + Actor Tag + implementation.handlers[0].target.tag + + + Actor Tag 2 + implementation.handlers[1].target.tag + + + Actor Tag 3 + implementation.handlers[3].target.tag + + + Action + implementation.handlers[2].action.action + + + + + editor/marker/flag/model.dat + + Variant + Actor Removed + + + + + + + + + + + + + + + + + + + + + + + + Trigger/Actor Removed (Multi) + + + Actor Tag + implementation.handlers[0].target.targets + + + Action + implementation.handlers[0].action + + + + + editor/marker/flag/model.dat + + Variant + Actor Removed + + + + + + + + + + Trigger/Master Signal Trigger + + + Spawn Tag + implementation.tags.tags[0] + + + Spawn Table + implementation.handlers[0].action.action.spawn_table + + + Number + implementation.handlers[0].action.action.location.size + + + Tag + implementation.handlers[0].action.action.location.target.tag + + + Wave Number + implementation.model["Models"][1].model["Text"] + + + + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + editor/marker/flag/model.dat + + Variant + King + + + + + + editor/marker/monster_wave/text.dat + + Text + + + + + 0.0, -0.23000005, 0.44000006 + + + + + + + (tag 1) + + + + + + + + true + + + + + + + activate + + + + + + Trigger/One Time Action + + + Tag + implementation.tags.tags[0] + + + Action + implementation.handlers[0].action.action + + + Model + implementation.model + + + + + editor/marker/flag/model.dat + + Variant + One Time Action + + + + (Tag) + + + + + + + + activate + + + + + + Trigger/Repeat Action + + + Tag + implementation.tags.tags[0] + + + Action + implementation.handlers[0].action + + + + + editor/marker/flag/model.dat + + Variant + Repeat Action + + + + + + + + + + Trigger/Start Up Trigger + + + Actor + implementation.placeable["Action"].actor + + + Number + implementation.placeable["Action"].location.size + + + Marker Tag + implementation.placeable["Action"].location.target.tag + + + + + Trigger/Start Up Trigger (Generic) + + Action + + + + + + 0 + + + + + + + Trigger/Start Up Trigger (Generic) + + + Action + implementation.handlers[0].action + + + + + editor/marker/flag/model.dat + + Variant + Queen + + + + + + + + + + Trigger/Start Up Trigger (Table) + + + Spawn Table + implementation.placeable["Action"].spawn_table + + + Number + implementation.placeable["Action"].location.size + + + Marker Tag + implementation.placeable["Action"].location.target.tag + + + + + Trigger/Start Up Trigger (Generic) + + Action + + + + + + + + \ No newline at end of file diff --git a/rsrc/rsrc/config/recipe.xml b/rsrc/rsrc/config/recipe.xml new file mode 100644 index 0000000..4da319a --- /dev/null +++ b/rsrc/rsrc/config/recipe.xml @@ -0,0 +1,14218 @@ + + + + + Alloy/Dusk Drop + + + + + Material/Red Shard + + + + 20 + 5 + + Alloy + + + Material/Red Shard + + + + + Armor/Ancient Plate Mail + + + + 20 + + Material/Dark Shard + + + + 5 + + Material/Scrap Metal + + + + 4 + + Material/Driftwood + + + + 3 + + Material/Redwood + + + + 2 + + Material/Ironwood + + + + + Material/Shadow Steel + + + + + Gear/Armor/Heavy Plate Mail + + 10 + + + 225 + 25 + + Armor + + + Gear/Armor/Ancient Plate Mail + + + Item/Armor, general + + + + + Armor/Angelic Raiment + + + + 10 + + Material/Light Shard + + + + 3 + + Material/Brimstone + + + + 2 + + Material/Owlite Feather + + + + + Material/Fine Fabric + + + + 225 + 25 + + Armor + + + Gear/Armor/Angelic Raiment + + + Item/Armor, general + + + + + Armor/Armor of the Fallen + + + + 20 + + Material/Dark Shard + + + + 5 + + Material/Brimstone + + + + 4 + + Material/Forbidden Fruit + + + + 3 + + Material/Fine Fabric + + + + 2 + + Material/Trojan Horseshoe + + + + + Material/Shadow Steel + + + + + Gear/Armor/Seraphic Mail + + 10 + + + 225 + 25 + + Armor + + + Gear/Armor/Armor of the Fallen + + + Item/Armor, general + + + + + Armor/Ash Tail Coat + + + + 15 + + Material/Green Shard + + + + 4 + + Material/Sharp Fang + + + + 3 + + Material/Monster Bone + + + + 2 + + Material/Bushy Tail + + + + + Material/Warp Dust + + + + + Gear/Armor/Dusker Coat + + 5 + + + 225 + 25 + + Armor + + + Gear/Armor/Ash Tail Coat + + + Item/Armor, general + + + + + Armor/Azure Guardian Armor + + + + 20 + + Material/Blue Shard + + + + 5 + + Material/Scrap Metal + + + + 4 + + Material/Iron Gear + + + + 3 + + Material/Fine Fabric + + + + 2 + + Material/Heavy Gear + + + + + Material/Sun Silver + + + + + Gear/Armor/Mighty Cobalt Armor + + 10 + + + 225 + 25 + + Armor + + + Gear/Armor/Azure Guardian Armor + + + Item/Armor, general + + + + + Armor/Blazebreak Armor + + + + 10 + + Material/Red Shard + + + + 3 + + Material/Beast Scale + + + + + Material/Frayed Fabric + + + + + Material/Blast Powder + + + + + Material/Torchstone + + + + + Gear/Armor/Firebreak Armor + + + + 225 + 25 + + Armor + + + Gear/Armor/Blazebreak Armor + + + Item/Armor, general + + + + + Armor/Blizzbreaker Armor + + + + 10 + + Material/Green Shard + + + + 3 + + Material/Beast Scale + + + + + Material/Frayed Fabric + + + + + Material/Frost Gel + + + + + Material/Hailstone + + + + + Gear/Armor/Icebreaker Armor + + + + 225 + 25 + + Armor + + + Gear/Armor/Blizzbreaker Armor + + + Item/Armor, general + + + + + Armor/Bombastic Demo Suit + + + + 20 + + Material/Red Shard + + + + 5 + + Material/Brimstone + + + + 4 + + Material/Gel Core + + + + 3 + + Material/Unstable Core + + + + + Material/Meteor Mote + + + + + Material/Blaze Pepper + + + + + Material/Flame Soul + + + + + Gear/Armor/Heavy Demo Suit + + 10 + + + 225 + 25 + + Armor + + + Gear/Armor/Bombastic Demo Suit + + + Item/Armor, general + + + + + Armor/Boosted Plate Mail + + + + 10 + + Material/Blue Shard + + + + 3 + + Material/Scrap Metal + + + + 2 + + Material/Driftwood + + + + + Material/Redwood + + + + + Gear/Armor/Spiral Plate Mail + + + + 225 + 25 + + Armor + + + Gear/Armor/Boosted Plate Mail + + + Item/Armor, general + + + + + Armor/Brute Jelly Mail + + + + 10 + + Material/Green Shard + + + + 3 + + Material/Gel Drop + + + + 2 + + Material/Gel Core + + + + + Material/Brute Core + + + + + Gear/Armor/Jelly Mail + + + + 225 + 25 + + Armor + + + Gear/Armor/Brute Jelly Mail + + + Item/Armor, general + + + + + Armor/Chaos Cloak + + + + 20 + + Material/Dark Shard + + + + 5 + + Material/Brimstone + + + + 4 + + Material/Frayed Fabric + + + + 3 + + Material/Fine Fabric + + + + 2 + + Material/Trojan Horseshoe + + + + + Material/Shadow Steel + + + + + Gear/Armor/Miracle Cloak + + 10 + + + 225 + 25 + + Armor + + + Gear/Armor/Chaos Cloak + + + Item/Armor, general + + + + + Armor/Chroma Suit + + + + 10 + + Material/Green Shard + + + + 3 + + Material/Beast Scale + + + + 2 + + Material/Critter Carapace + + + + + Material/Drake Scale + + + + 225 + 25 + + Armor + + + Gear/Armor/Chroma Suit + + + Item/Armor, general + + + + + Armor/Circuit Breaker Armor + + + + 3 + + Material/Blue Shard + + + + 2 + + Material/Beast Scale + + + + 225 + 25 + + Armor + + + Gear/Armor/Circuit Breaker Armor + + + Item/Armor, general + + + + + Armor/Cobalt Armor + + + + 5 + + Material/Blue Shard + + + + 2 + + Material/Scrap Metal + + + + 2 + + Material/Iron Gear + + + + 225 + 25 + + Armor + + + Gear/Armor/Cobalt Armor + + + Item/Armor, general + + + + + Armor/Deadly Virulisk Suit + + + + 20 + + Material/Green Shard + + + + 5 + + Material/Beast Scale + + + + 4 + + Material/Critter Carapace + + + + 3 + + Material/Drake Scale + + + + + Material/Chroma Tear + + + + + Material/Corrosive Acid + + + + + Material/Plague Essence + + + + + Gear/Armor/Virulisk Suit + + 10 + + + 225 + 25 + + Armor + + + Gear/Armor/Deadly Virulisk Suit + + + Item/Armor, general + + + + + Armor/Deadshot Mantle + + + + 20 + + Material/Light Shard + + + + 5 + + Material/Bronze Bolt + + + + 4 + + Material/Frayed Fabric + + + + 3 + + Material/Fine Fabric + + + + 2 + + Material/Blighted Bone + + + + + Material/Reaper Rib + + + + + Gear/Armor/Sunset Duster + + 10 + + + 225 + 25 + + Armor + + + Gear/Armor/Deadshot Mantle + + + Item/Armor, general + + + + + Armor/Divine Mantle + + + + 20 + + Material/Light Shard + + + + 5 + + Material/Brimstone + + + + 4 + + Material/Frayed Fabric + + + + 3 + + Material/Fine Fabric + + + + 2 + + Material/Miracloth + + + + + Material/Silverweave + + + + + Gear/Armor/Miracle Cloak + + 10 + + + 225 + 25 + + Armor + + + Gear/Armor/Divine Mantle + + + Item/Armor, general + + + + + Armor/Dragon Scale Mail + + + + 20 + + Material/Red Shard + + + + 5 + + Material/Beast Scale + + + + 4 + + Material/Critter Carapace + + + + 3 + + Material/Drake Scale + + + + 2 + + Material/Chroma Tear + + + + + Material/Dragon Scale + + + + + Gear/Armor/Wyvern Scale Mail + + 10 + + + 225 + 25 + + Armor + + + Gear/Armor/Dragon Scale Mail + + + Item/Armor, general + + + + + Armor/Drake Scale Mail + + + + 10 + + Material/Red Shard + + + + 3 + + Material/Beast Scale + + + + 2 + + Material/Critter Carapace + + + + + Material/Drake Scale + + + + 225 + 25 + + Armor + + + Gear/Armor/Drake Scale Mail + + + Item/Armor, general + + + + + Armor/Dread Skelly Suit + + + + 20 + + Material/Dark Shard + + + + 5 + + Material/Ecto Drop + + + + 4 + + Material/Grave Soil + + + + 3 + + Material/Soul Dust + + + + 2 + + Material/Blighted Bone + + + + + Material/Reaper Rib + + + + + Gear/Armor/Sinister Skelly Suit + + 10 + + + 225 + 25 + + Armor + + + Gear/Armor/Dread Skelly Suit + + + Item/Armor, general + + + + + Armor/Dusker Coat + + + + 10 + + Material/Green Shard + + + + 3 + + Material/Sharp Fang + + + + 2 + + Material/Monster Bone + + + + + Material/Bushy Tail + + + + + Gear/Armor/Wolver Coat + + + + 225 + 25 + + Armor + + + Gear/Armor/Dusker Coat + + + Item/Armor, general + + + + + Armor/Elemental Cloak + + + + 10 + + Material/Light Shard + + + + 3 + + Material/Brimstone + + + + 2 + + Material/Frayed Fabric + + + + + Material/Fine Fabric + + + + + Gear/Armor/Magic Cloak + + + + 225 + 25 + + Armor + + + Gear/Armor/Elemental Cloak + + + Item/Armor, general + + + + + Armor/Emberbreak Armor + + + + 3 + + Material/Red Shard + + + + 2 + + Material/Beast Scale + + + + 225 + 25 + + Armor + + + Gear/Armor/Emberbreak Armor + + + Item/Armor, general + + + + + Armor/Firebreak Armor + + + + 5 + + Material/Red Shard + + + + 2 + + Material/Beast Scale + + + + + Material/Frayed Fabric + + + + + Material/Blast Powder + + + + + Gear/Armor/Emberbreak Armor + + + + 225 + 25 + + Armor + + + Gear/Armor/Firebreak Armor + + + Item/Armor, general + + + + + Armor/Frostbreaker Armor + + + + 3 + + Material/Green Shard + + + + 2 + + Material/Beast Scale + + + + 225 + 25 + + Armor + + + Gear/Armor/Frostbreaker Armor + + + Item/Armor, general + + + + + Armor/Fused Demo Suit + + + + 10 + + Material/Red Shard + + + + 3 + + Material/Brimstone + + + + 2 + + Material/Gel Core + + + + + Material/Unstable Core + + + + + Gear/Armor/Spiral Demo Suit + + + + 225 + 25 + + Armor + + + Gear/Armor/Fused Demo Suit + + + Item/Armor, general + + + + + Armor/Grey Feather Mantle + + + + 20 + + Material/Light Shard + + + + 5 + + Material/Brimstone + + + + 4 + + Material/Owlite Feather + + + + 3 + + Material/Fine Fabric + + + + 2 + + Material/Miracloth + + + + + Material/Philoso Feather + + + + + Gear/Armor/Miracle Cloak + + 10 + + + 225 + 25 + + Armor + + + Gear/Armor/Grey Feather Mantle + + + Item/Armor, general + + + + + Armor/Gunslinger Sash + + + + 10 + + Material/Light Shard + + + + 3 + + Material/Bronze Bolt + + + + 2 + + Material/Frayed Fabric + + + + + Material/Fine Fabric + + + + 225 + 25 + + Armor + + + Gear/Armor/Gunslinger Sash + + + Item/Armor, general + + + + + Armor/Heavy Demo Suit + + + + 15 + + Material/Red Shard + + + + 4 + + Material/Brimstone + + + + 3 + + Material/Gel Core + + + + 2 + + Material/Unstable Core + + + + + Material/Meteor Mote + + + + + Gear/Armor/Fused Demo Suit + + 5 + + + 225 + 25 + + Armor + + + Gear/Armor/Heavy Demo Suit + + + Item/Armor, general + + + + + Armor/Heavy Plate Mail + + + + 15 + + Material/Blue Shard + + + + 4 + + Material/Scrap Metal + + + + 3 + + Material/Driftwood + + + + 2 + + Material/Redwood + + + + + Material/Ironwood + + + + + Gear/Armor/Boosted Plate Mail + + 5 + + + 225 + 25 + + Armor + + + Gear/Armor/Heavy Plate Mail + + + Item/Armor, general + + + + + Armor/Icebreaker Armor + + + + 5 + + Material/Green Shard + + + + 2 + + Material/Beast Scale + + + + + Material/Frayed Fabric + + + + + Material/Frost Gel + + + + + Gear/Armor/Frostbreaker Armor + + + + 225 + 25 + + Armor + + + Gear/Armor/Icebreaker Armor + + + Item/Armor, general + + + + + Armor/Ironmight Plate Mail + + + + 20 + + Material/Blue Shard + + + + 5 + + Material/Scrap Metal + + + + 4 + + Material/Driftwood + + + + 3 + + Material/Redwood + + + + 2 + + Material/Ironwood + + + + + Material/Sun Silver + + + + + Gear/Armor/Heavy Plate Mail + + 10 + + + 225 + 25 + + Armor + + + Gear/Armor/Ironmight Plate Mail + + + Item/Armor, general + + + + + Armor/Jelly Mail + + + + 5 + + Material/Green Shard + + + + 2 + + Material/Gel Drop + + + + 2 + + Material/Gel Core + + + + 225 + 25 + + Armor + + + Gear/Armor/Jelly Mail + + + Item/Armor, general + + + + + Armor/Justifier Jacket + + + + 20 + + Material/Light Shard + + + + 5 + + Material/Bronze Bolt + + + + 4 + + Material/Frayed Fabric + + + + 3 + + Material/Fine Fabric + + + + 2 + + Material/Heavy Gear + + + + + Material/Silverweave + + + + + Gear/Armor/Sunset Duster + + 10 + + + 225 + 25 + + Armor + + + Gear/Armor/Justifier Jacket + + + Item/Armor, general + + + + + Armor/Mad Bomber Suit + + + + 20 + + Material/Dark Shard + + + + 5 + + Material/Brimstone + + + + 4 + + Material/Gel Core + + + + 3 + + Material/Unstable Core + + + + 2 + + Material/Trojan Horseshoe + + + + + Material/Reaper Rib + + + + + Gear/Armor/Heavy Demo Suit + + 10 + + + 225 + 25 + + Armor + + + Gear/Armor/Mad Bomber Suit + + + Item/Armor, general + + + + + Armor/Magic Cloak + + + + 5 + + Material/Light Shard + + + + 2 + + Material/Brimstone + + + + 2 + + Material/Frayed Fabric + + + + 225 + 25 + + Armor + + + Gear/Armor/Magic Cloak + + + Item/Armor, general + + + + + Armor/Mighty Cobalt Armor + + + + 15 + + Material/Blue Shard + + + + 4 + + Material/Scrap Metal + + + + 3 + + Material/Iron Gear + + + + 2 + + Material/Fine Fabric + + + + + Material/Heavy Gear + + + + + Gear/Armor/Solid Cobalt Armor + + 5 + + + 225 + 25 + + Armor + + + Gear/Armor/Mighty Cobalt Armor + + + Item/Armor, general + + + + + Armor/Miracle Cloak + + + + 5 + + Material/Light Shard + + + + 4 + + Material/Brimstone + + + + 3 + + Material/Frayed Fabric + + + + 2 + + Material/Fine Fabric + + + + + Material/Miracloth + + + + + Gear/Armor/Elemental Cloak + + 5 + + + 225 + 25 + + Armor + + + Gear/Armor/Miracle Cloak + + + Item/Armor, general + + + + + Armor/Nameless Poncho + + + + 20 + + Material/Red Shard + + + + 5 + + Material/Bronze Bolt + + + + 4 + + Material/Frayed Fabric + + + + 3 + + Material/Fine Fabric + + + + 2 + + Material/Heavy Gear + + + + + Material/Plasma Cell + + + + + Gear/Armor/Sunset Duster + + 10 + + + 225 + 25 + + Armor + + + Gear/Armor/Nameless Poncho + + + Item/Armor, general + + + + + Armor/Radiant Silvermail + + + + 20 + + Material/Light Shard + + + + 5 + + Material/Ecto Drop + + + + 4 + + Material/Owlite Feather + + + + 3 + + Material/Fine Fabric + + + + 2 + + Material/Silver Coil + + + + + Material/Philoso Feather + + + + + Gear/Armor/Silvermail + + 10 + + + 225 + 25 + + Armor + + + Gear/Armor/Radiant Silvermail + + + Item/Armor, general + + + + + Armor/Rock Jelly Mail + + + + 15 + + Material/Green Shard + + + + 4 + + Material/Gel Drop + + + + 3 + + Material/Gel Core + + + + 2 + + Material/Brute Core + + + + + Material/Rocky Core + + + + + Gear/Armor/Brute Jelly Mail + + 5 + + + 225 + 25 + + Armor + + + Gear/Armor/Rock Jelly Mail + + + Item/Armor, general + + + + + Armor/Royal Jelly Mail + + + + 20 + + Material/Green Shard + + + + 5 + + Material/Gel Drop + + + + 4 + + Material/Gel Core + + + + 3 + + Material/Brute Core + + + + 2 + + Material/Rocky Core + + + + + Material/Royal Core + + + + + Gear/Armor/Rock Jelly Mail + + 10 + + + 225 + 25 + + Armor + + + Gear/Armor/Royal Jelly Mail + + + Item/Armor, general + + + + + Armor/Salamander Suit + + + + 15 + + Material/Red Shard + + + + 4 + + Material/Beast Scale + + + + 3 + + Material/Critter Carapace + + + + + Material/Drake Scale + + + + + Material/Torchstone + + + + + Material/Blaze Pepper + + + + + Gear/Armor/Chroma Suit + + 5 + + + 225 + 25 + + Armor + + + Gear/Armor/Salamander Suit + + + Item/Armor, general + + + + + Armor/Scary Skelly Suit + + + + 10 + + Material/Dark Shard + + + + 3 + + Material/Ecto Drop + + + + 2 + + Material/Grave Soil + + + + + Material/Soul Dust + + + + + Gear/Armor/Skelly Suit + + + + 225 + 25 + + Armor + + + Gear/Armor/Scary Skelly Suit + + + Item/Armor, general + + + + + Armor/Seraphic Mail + + + + 15 + + Material/Light Shard + + + + 4 + + Material/Brimstone + + + + 3 + + Material/Owlite Feather + + + + 2 + + Material/Fine Fabric + + + + + Material/Trojan Horseshoe + + + + + Gear/Armor/Angelic Raiment + + 5 + + + 225 + 25 + + Armor + + + Gear/Armor/Seraphic Mail + + + Item/Armor, general + + + + + Armor/Shadowsun Slicker + + + + 20 + + Material/Dark Shard + + + + 5 + + Material/Bronze Bolt + + + + 4 + + Material/Frayed Fabric + + + + 3 + + Material/Fine Fabric + + + + 2 + + Material/Mug of Misery + + + + + Material/Shadow Steel + + + + + Gear/Armor/Sunset Duster + + 10 + + + 225 + 25 + + Armor + + + Gear/Armor/Shadowsun Slicker + + + Item/Armor, general + + + + + Armor/Silvermail + + + + 15 + + Material/Light Shard + + + + 4 + + Material/Ecto Drop + + + + 3 + + Material/Owlite Feather + + + + 2 + + Material/Fine Fabric + + + + + Material/Silver Coil + + + + 225 + 25 + + Armor + + + Gear/Armor/Silvermail + + + Item/Armor, general + + + + + Armor/Sinister Skelly Suit + + + + 15 + + Material/Dark Shard + + + + 4 + + Material/Ecto Drop + + + + 3 + + Material/Grave Soil + + + + 2 + + Material/Soul Dust + + + + + Material/Blighted Bone + + + + + Gear/Armor/Scary Skelly Suit + + 5 + + + 225 + 25 + + Armor + + + Gear/Armor/Sinister Skelly Suit + + + Item/Armor, general + + + + + Armor/Skelly Suit + + + + 5 + + Material/Dark Shard + + + + 2 + + Material/Ecto Drop + + + + 2 + + Material/Grave Soil + + + + 225 + 25 + + Armor + + + Gear/Armor/Skelly Suit + + + Item/Armor, general + + + + + Armor/Skolver Coat + + + + 20 + + Material/Green Shard + + + + 5 + + Material/Sharp Fang + + + + 4 + + Material/Monster Bone + + + + 3 + + Material/Bushy Tail + + + + 2 + + Material/Warp Dust + + + + + Material/Primal Ore + + + + + Gear/Armor/Ash Tail Coat + + 10 + + + 225 + 25 + + Armor + + + Gear/Armor/Skolver Coat + + + Item/Armor, general + + + + + Armor/Solid Cobalt Armor + + + + 10 + + Material/Blue Shard + + + + 3 + + Material/Scrap Metal + + + + 2 + + Material/Iron Gear + + + + + Material/Fine Fabric + + + + + Gear/Armor/Cobalt Armor + + + + 225 + 25 + + Armor + + + Gear/Armor/Solid Cobalt Armor + + + Item/Armor, general + + + + + Armor/Spiral Demo Suit + + + + 5 + + Material/Red Shard + + + + 2 + + Material/Brimstone + + + + 2 + + Material/Gel Core + + + + 225 + 25 + + Armor + + + Gear/Armor/Spiral Demo Suit + + + Item/Armor, general + + + + + Armor/Spiral Plate Mail + + + + 5 + + Material/Blue Shard + + + + 2 + + Material/Scrap Metal + + + + 2 + + Material/Driftwood + + + + 225 + 25 + + Armor + + + Gear/Armor/Spiral Plate Mail + + + Item/Armor, general + + + + + Armor/Spiral Scale Mail + + + + 3 + + Material/Light Shard + + + + 2 + + Material/Beast Scale + + + + 225 + 25 + + Armor + + + Gear/Armor/Spiral Scale Mail + + + Item/Armor, general + + + + + Armor/Sunset Duster + + + + 15 + + Material/Light Shard + + + + 4 + + Material/Bronze Bolt + + + + 3 + + Material/Frayed Fabric + + + + 2 + + Material/Fine Fabric + + + + + Material/Heavy Gear + + + + + Gear/Armor/Gunslinger Sash + + 5 + + + 225 + 25 + + Armor + + + Gear/Armor/Sunset Duster + + + Item/Armor, general + + + + + Armor/Surge Breaker Armor + + + + 10 + + Material/Blue Shard + + + + 3 + + Material/Beast Scale + + + + + Material/Frayed Fabric + + + + + Material/Static Clinger + + + + + Material/Volt Oil + + + + + Gear/Armor/Volt Breaker Armor + + + + 225 + 25 + + Armor + + + Gear/Armor/Surge Breaker Armor + + + Item/Armor, general + + + + + Armor/Valkyrie Mail + + + + 20 + + Material/Light Shard + + + + 5 + + Material/Brimstone + + + + 4 + + Material/Owlite Feather + + + + 3 + + Material/Fine Fabric + + + + 2 + + Material/Trojan Horseshoe + + + + + Material/Sun Silver + + + + + Gear/Armor/Seraphic Mail + + 10 + + + 225 + 25 + + Armor + + + Gear/Armor/Valkyrie Mail + + + Item/Armor, general + + + + + Armor/Virulisk Suit + + + + 15 + + Material/Green Shard + + + + 4 + + Material/Beast Scale + + + + 3 + + Material/Critter Carapace + + + + + Material/Drake Scale + + + + + Material/Toxic Core + + + + + Material/Corrosive Acid + + + + + Gear/Armor/Chroma Suit + + 5 + + + 225 + 25 + + Armor + + + Gear/Armor/Virulisk Suit + + + Item/Armor, general + + + + + Armor/Vitasuit Deluxe + + + + 15 + + Material/Red Shard + + + + 4 + + Material/Bronze Bolt + + + + 3 + + Material/Forbidden Fruit + + + + 2 + + Material/Soul Dust + + + + + Material/Miracloth + + + + 225 + 25 + + Armor + + + Gear/Armor/Vitasuit Deluxe + + + Item/Armor, general + + + + + Armor/Vitasuit Plus + + + + 5 + + Material/Red Shard + + + + 2 + + Material/Bronze Bolt + + + + 2 + + Material/Forbidden Fruit + + + + 225 + 25 + + Armor + + + Gear/Armor/Vitasuit Plus + + + Item/Armor, general + + + + + Armor/Vog Cub Coat + + + + 20 + + Material/Red Shard + + + + 5 + + Material/Sharp Fang + + + + 4 + + Material/Monster Bone + + + + 3 + + Material/Bushy Tail + + + + + Material/Warp Dust + + + + + Material/Blaze Pepper + + + + + Material/Flame Soul + + + + + Gear/Armor/Ash Tail Coat + + 10 + + + 225 + 25 + + Armor + + + Gear/Armor/Vog Cub Coat + + + Item/Armor, general + + + + + Armor/Volcanic Demo Suit + + + + 20 + + Material/Red Shard + + + + 5 + + Material/Brimstone + + + + 4 + + Material/Gel Core + + + + 3 + + Material/Unstable Core + + + + 2 + + Material/Meteor Mote + + + + + Material/Volcanic Iron + + + + + Gear/Armor/Heavy Demo Suit + + 10 + + + 225 + 25 + + Armor + + + Gear/Armor/Volcanic Demo Suit + + + Item/Armor, general + + + + + Armor/Volcanic Plate Mail + + + + 20 + + Material/Red Shard + + + + 5 + + Material/Scrap Metal + + + + 4 + + Material/Driftwood + + + + 3 + + Material/Redwood + + + + + Material/Ironwood + + + + + Material/Blaze Pepper + + + + + Material/Flame Soul + + + + + Gear/Armor/Heavy Plate Mail + + 10 + + + 225 + 25 + + Armor + + + Gear/Armor/Volcanic Plate Mail + + + Item/Armor, general + + + + + Armor/Volcanic Salamander Suit + + + + 20 + + Material/Red Shard + + + + 5 + + Material/Beast Scale + + + + 4 + + Material/Critter Carapace + + + + 3 + + Material/Drake Scale + + + + + Material/Chroma Tear + + + + + Material/Blaze Pepper + + + + + Material/Flame Soul + + + + + Gear/Armor/Salamander Suit + + 10 + + + 225 + 25 + + Armor + + + Gear/Armor/Volcanic Salamander Suit + + + Item/Armor, general + + + + + Armor/Volt Breaker Armor + + + + 5 + + Material/Blue Shard + + + + 2 + + Material/Beast Scale + + + + + Material/Frayed Fabric + + + + + Material/Static Clinger + + + + + Gear/Armor/Circuit Breaker Armor + + + + 225 + 25 + + Armor + + + Gear/Armor/Volt Breaker Armor + + + Item/Armor, general + + + + + Armor/Wolver Coat + + + + 5 + + Material/Green Shard + + + + 2 + + Material/Sharp Fang + + + + 2 + + Material/Monster Bone + + + + 225 + 25 + + Armor + + + Gear/Armor/Wolver Coat + + + Item/Armor, general + + + + + Armor/Wyvern Scale Mail + + + + 15 + + Material/Red Shard + + + + 4 + + Material/Beast Scale + + + + 3 + + Material/Critter Carapace + + + + 2 + + Material/Drake Scale + + + + + Material/Chroma Tear + + + + + Gear/Armor/Drake Scale Mail + + 5 + + + 225 + 25 + + Armor + + + Gear/Armor/Wyvern Scale Mail + + + Item/Armor, general + + + + + Bomb/Ash of Agni + + + + 20 + + Material/Red Shard + + + + 5 + + Material/Gel Drop + + + + 4 + + Material/Gel Core + + + + 3 + + Material/Brute Core + + + + + Material/Rocky Core + + + + + Material/Blaze Pepper + + + + + Material/Flame Soul + + + + + Weapon/Bomb/Fiery Atomizer + + 10 + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Ash of Agni + + + Item/Bomb, general + + + + + Bomb/Big Angry Bomb + + + + 20 + + Material/Red Shard + + + + 5 + + Material/Brimstone + + + + 4 + + Material/Gremlin Gizmo + + + + 3 + + Material/Unstable Core + + + + 2 + + Material/Blighted Bone + + + + + Material/Primal Ore + + + + + Weapon/Bomb/Master Blast Bomb + + 10 + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Big Angry Bomb + + + Item/Bomb, general + + + + + Bomb/Blast Bomb + + + + 5 + + Material/Red Shard + + + + 2 + + Material/Bronze Bolt + + + + 2 + + Material/Gremlin Gizmo + + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Blast Bomb + + + Item/Bomb, general + + + + + Bomb/Cold Snap + + + + 3 + + Material/Green Shard + + + + 2 + + Material/Brimstone + + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Cold Snap + + + Item/Bomb, general + + + + + Bomb/Crystal Bomb + + + + 5 + + Material/Green Shard + + + + 2 + + Material/Gel Drop + + + + 2 + + Material/Grave Soil + + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Crystal Bomb + + + Item/Bomb, general + + + + + Bomb/Deconstructor + + + + 10 + + Material/Blue Shard + + + + 3 + + Material/Scrap Metal + + + + 2 + + Material/Iron Gear + + + + + Material/Force Dynamo + + + + + Weapon/Bomb/Blast Bomb + + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Deconstructor + + + Item/Bomb, general + + + + + Bomb/Fiery Atomizer + + + + 15 + + Material/Red Shard + + + + 4 + + Material/Gel Drop + + + + 3 + + Material/Gel Core + + + + + Material/Brute Core + + + + + Material/Torchstone + + + + + Material/Blaze Pepper + + + + + Weapon/Bomb/Fiery Vaporizer Mk II + + 5 + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Fiery Atomizer + + + Item/Bomb, general + + + + + Bomb/Fiery Vaporizor + + + + 5 + + Material/Red Shard + + + + 2 + + Material/Gel Drop + + + + + Material/Gel Core + + + + + Material/Blast Powder + + + + + Weapon/Bomb/Haze Bomb + + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Fiery Vaporizer + + + Item/Bomb, general + + + + + Bomb/Fiery Vaporizor Mk II + + + + 10 + + Material/Red Shard + + + + 3 + + Material/Gel Drop + + + + + Material/Gel Core + + + + + Material/Blast Powder + + + + + Material/Torchstone + + + + + Weapon/Bomb/Fiery Vaporizer + + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Fiery Vaporizer Mk II + + + Item/Bomb, general + + + + + Bomb/Firecracker + + + + 3 + + Material/Red Shard + + + + 2 + + Material/Brimstone + + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Firecracker + + + Item/Bomb, general + + + + + Bomb/Freezing Atomizer + + + + 15 + + Material/Green Shard + + + + 4 + + Material/Gel Drop + + + + 3 + + Material/Gel Core + + + + + Material/Brute Core + + + + + Material/Hailstone + + + + + Material/Perfect Snowball + + + + + Weapon/Bomb/Freezing Vaporizer Mk II + + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Freezing Atomizer + + + Item/Bomb, general + + + + + Bomb/Freezing Vaporizor + + + + 5 + + Material/Green Shard + + + + 2 + + Material/Gel Drop + + + + + Material/Gel Core + + + + + Material/Frost Gel + + + + + Weapon/Bomb/Haze Bomb + + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Freezing Vaporizer + + + Item/Bomb, general + + + + + Bomb/Freezing Vaporizor Mk II + + + + 10 + + Material/Green Shard + + + + 3 + + Material/Gel Drop + + + + + Material/Gel Core + + + + + Material/Frost Gel + + + + + Material/Hailstone + + + + + Weapon/Bomb/Freezing Vaporizer + + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Freezing Vaporizer Mk II + + + Item/Bomb, general + + + + + Bomb/Graviton Bomb + + + + 15 + + Material/Dark Shard + + + + 4 + + Material/Ecto Drop + + + + 3 + + Material/Forbidden Fruit + + + + 2 + + Material/Phial of Phear + + + + + Material/Mug of Misery + + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Graviton Bomb + + + Item/Bomb, general + + + + + Bomb/Graviton Vortex + + + + 20 + + Material/Dark Shard + + + + 5 + + Material/Ecto Drop + + + + 4 + + Material/Forbidden Fruit + + + + 3 + + Material/Phial of Phear + + + + 2 + + Material/Mug of Misery + + + + + Material/Shadow Steel + + + + + Weapon/Bomb/Graviton Bomb + + 10 + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Graviton Vortex + + + Item/Bomb, general + + + + + Bomb/Haze Bomb + + + + 3 + + Material/Light Shard + + + + 2 + + Material/Gel Drop + + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Haze Bomb + + + Item/Bomb, general + + + + + Bomb/Heavy Deconstructor + + + + 15 + + Material/Blue Shard + + + + 4 + + Material/Scrap Metal + + + + 3 + + Material/Iron Gear + + + + 2 + + Material/Force Dynamo + + + + + Material/Silver Coil + + + + + Weapon/Bomb/Deconstructor + + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Heavy Deconstructor + + + Item/Bomb, general + + + + + Bomb/Ionized Salt Bomb + + + + 15 + + Material/Dark Shard + + + + 4 + + Material/Gel Drop + + + + 3 + + Material/Grave Soil + + + + 2 + + Material/Rock Salt + + + + + Material/Mug of Misery + + + + + Weapon/Bomb/Rock Salt Bomb + + 5 + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Ionized Salt Bomb + + + Item/Bomb, general + + + + + Bomb/Irontech Bomb + + + + 15 + + Material/Red Shard + + + + 4 + + Material/Scrap Metal + + + + 3 + + Material/Iron Gear + + + + 2 + + Material/Force Dynamo + + + + + Material/Trojan Horseshoe + + + + + Weapon/Bomb/Super Blast Bomb + + 5 + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Irontech Bomb + + + Item/Bomb, general + + + + + Bomb/Irontech Destroyer + + + + 20 + + Material/Red Shard + + + + 5 + + Material/Scrap Metal + + + + 4 + + Material/Iron Gear + + + + 3 + + Material/Force Dynamo + + + + 2 + + Material/Trojan Horseshoe + + + + + Material/Plasma Cell + + + + + Weapon/Bomb/Irontech Bomb + + 10 + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Irontech Destroyer + + + Item/Bomb, general + + + + + Bomb/Master Blast Bomb + + + + 15 + + Material/Red Shard + + + + 4 + + Material/Bronze Bolt + + + + 3 + + Material/Gremlin Gizmo + + + + 2 + + Material/Unstable Core + + + + + Material/Meteor Mote + + + + + Weapon/Bomb/Super Blast Bomb + + 5 + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Master Blast Bomb + + + Item/Bomb, general + + + + + Bomb/Nitronome + + + + 20 + + Material/Red Shard + + + + 5 + + Material/Bronze Bolt + + + + 4 + + Material/Gremlin Gizmo + + + + 3 + + Material/Unstable Core + + + + 2 + + Material/Meteor Mote + + + + + Material/Plasma Cell + + + + + Weapon/Bomb/Master Blast Bomb + + 10 + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Nitronome + + + Item/Bomb, general + + + + + Bomb/Radiant Sun Shards + + + + 15 + + Material/Light Shard + + + + 4 + + Material/Gel Drop + + + + 3 + + Material/Owlite Feather + + + + 2 + + Material/Soul Dust + + + + + Material/Ghost Bell + + + + + Weapon/Bomb/Sun Shards + + 5 + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Radiant Sun Shards + + + Item/Bomb, general + + + + + Bomb/Rock Salt Bomb + + + + 10 + + Material/Dark Shard + + + + 3 + + Material/Gel Drop + + + + 2 + + Material/Grave Soil + + + + + Material/Rock Salt + + + + + Weapon/Bomb/Crystal Bomb + + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Rock Salt Bomb + + + Item/Bomb, general + + + + + Bomb/Shivermist Buster + + + + 20 + + Material/Green Shard + + + + 5 + + Material/Gel Drop + + + + 4 + + Material/Gel Core + + + + 3 + + Material/Brute Core + + + + + Material/Rocky Core + + + + + Material/Perfect Snowball + + + + + Material/Everfrost + + + + + Weapon/Bomb/Freezing Atomizer + + 10 + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Shivermist Buster + + + Item/Bomb, general + + + + + Bomb/Sun Shards + + + + 10 + + Material/Light Shard + + + + 3 + + Material/Gel Drop + + + + 2 + + Material/Owlite Feather + + + + + Material/Soul Dust + + + + + Weapon/Bomb/Crystal Bomb + + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Sun Shards + + + Item/Bomb, general + + + + + Bomb/Super Blast Bomb + + + + 10 + + Material/Red Shard + + + + 3 + + Material/Bronze Bolt + + + + 2 + + Material/Gremlin Gizmo + + + + + Material/Unstable Core + + + + + Weapon/Bomb/Blast Bomb + + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Super Blast Bomb + + + Item/Bomb, general + + + + + Bomb/Toxic Atomizer + + + + 15 + + Material/Dark Shard + + + + 4 + + Material/Gel Drop + + + + 3 + + Material/Gel Core + + + + + Material/Brute Core + + + + + Material/Toxic Core + + + + + Material/Corrosive Acid + + + + + Weapon/Bomb/Toxic Vaporizer Mk II + + 5 + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Toxic Atomizer + + + Item/Bomb, general + + + + + Bomb/Toxic Vaporizor + + + + 5 + + Material/Dark Shard + + + + 2 + + Material/Gel Drop + + + + + Material/Gel Core + + + + + Material/Nightshade + + + + + Weapon/Bomb/Haze Bomb + + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Toxic Vaporizer + + + Item/Bomb, general + + + + + Bomb/Toxic Vaporizor Mk II + + + + 10 + + Material/Dark Shard + + + + 3 + + Material/Gel Drop + + + + + Material/Gel Core + + + + + Material/Nightshade + + + + + Material/Toxic Core + + + + + Weapon/Bomb/Toxic Vaporizer + + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Toxic Vaporizer Mk II + + + Item/Bomb, general + + + + + Bomb/Venom Veiler + + + + 20 + + Material/Dark Shard + + + + 5 + + Material/Gel Drop + + + + 4 + + Material/Gel Core + + + + 3 + + Material/Brute Core + + + + + Material/Rocky Core + + + + + Material/Corrosive Acid + + + + + Material/Plague Essence + + + + + Weapon/Bomb/Toxic Atomizer + + 10 + + + 225 + 25 + + Bomb + + + Weapon/Bomb/Venom Veiler + + + Item/Bomb, general + + + + + Handgun/Antigua + + + + 10 + + Material/Blue Shard + + + + 3 + + Material/Scrap Metal + + + + 2 + + Material/Gremlin Gizmo + + + + + Material/Rocket Sprocket + + + + + Weapon/Handgun/Antigua + + 5 + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Antigua + + + Item/Handgun, general + + + + + Handgun/Argent Peacemaker + + + + 20 + + Material/Light Shard + + + + 5 + + Material/Scrap Metal + + + + 4 + + Material/Gremlin Gizmo + + + + 3 + + Material/Rocket Sprocket + + + + + Material/Chroma Tear + + + + + Material/Ghost Bell + + + + + Material/Philoso Feather + + + + + Weapon/Handgun/Silversix + + 10 + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Argent Peacemaker + + + Item/Handgun, general + + + + + Handgun/Autogun + + + + 5 + + Material/Blue Shard + + + + 2 + + Material/Scrap Metal + + + + 2 + + Material/Iron Gear + + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Autogun + + + Item/Handgun, general + + + + + Handgun/Blackhawk + + + + 15 + + Material/Dark Shard + + + + 4 + + Material/Scrap Metal + + + + 3 + + Material/Gremlin Gizmo + + + + + Material/Rocket Sprocket + + + + + Material/Phial of Phear + + + + + Material/Mug of Misery + + + + + Weapon/Handgun/Antigua + + 5 + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Blackhawk + + + Item/Handgun, general + + + + + Handgun/Blaster + + + + 5 + + Material/Blue Shard + + + + 2 + + Material/Bronze Bolt + + + + 2 + + Material/Gremlin Gizmo + + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Blaster + + + Item/Handgun, general + + + + + Handgun/Blitz Needle + + + + 20 + + Material/Light Shard + + + + 5 + + Material/Sharp Fang + + + + 4 + + Material/Iron Gear + + + + 3 + + Material/Phial of Phear + + + + 2 + + Material/Heavy Gear + + + + + Material/Volcanic Iron + + + + + Weapon/Handgun/Strike Needle + + 10 + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Blitz Needle + + + Item/Handgun, general + + + + + Handgun/Callahan + + + + 20 + + Material/Red Shard + + + + 5 + + Material/Bronze Bolt + + + + 4 + + Material/Iron Gear + + + + 2 + + Material/Brute Core + + + + + Material/Force Dynamo + + + + 2 + + Material/Heavy Gear + + + + + Material/Primal Ore + + + + + Weapon/Handgun/Mega Magnus + + 10 + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Callahan + + + Item/Handgun, general + + + + + Handgun/Cryo Driver + + + + 15 + + Material/Green Shard + + + + 4 + + Material/Gel Drop + + + + 3 + + Material/Gel Core + + + + + Material/Brute Core + + + + + Material/Hailstone + + + + + Material/Perfect Snowball + + + + + Weapon/Handgun/Cryotech Alchemer Mk II + + 5 + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Cryo Driver + + + Item/Handgun, general + + + + + Handgun/Cryotech Alchemer + + + + 5 + + Material/Green Shard + + + + 2 + + Material/Gel Drop + + + + + Material/Gel Core + + + + + Material/Cooling Cell + + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Cryotech Alchemer + + + Item/Handgun, general + + + + + Handgun/Cryotech Alchemer Mk II + + + + 10 + + Material/Green Shard + + + + 3 + + Material/Gel Drop + + + + + Material/Gel Core + + + + + Material/Cooling Cell + + + + + Material/Hailstone + + + + + Weapon/Handgun/Cryotech Alchemer + + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Cryotech Alchemer Mk II + + + Item/Handgun, general + + + + + Handgun/Fiery Pepperbox + + + + 15 + + Material/Red Shard + + + + 4 + + Material/Scrap Metal + + + + 3 + + Material/Iron Gear + + + + + Material/Phial of Phear + + + + + Material/Torchstone + + + + + Material/Blaze Pepper + + + + + Weapon/Handgun/Pepperbox + + 5 + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Fiery Pepperbox + + + Item/Handgun, general + + + + + Handgun/Firo Driver + + + + 15 + + Material/Red Shard + + + + 4 + + Material/Gel Drop + + + + 3 + + Material/Gel Core + + + + + Material/Brute Core + + + + + Material/Torchstone + + + + + Material/Blaze Pepper + + + + + Weapon/Handgun/Firotech Alchemer Mk II + + 5 + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Firo Driver + + + Item/Handgun, general + + + + + Handgun/Firotech Alchemer + + + + 5 + + Material/Red Shard + + + + 2 + + Material/Gel Drop + + + + + Material/Gel Core + + + + + Material/Fuel Canister + + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Firotech Alchemer + + + Item/Handgun, general + + + + + Handgun/Firotech Alchemer Mk II + + + + 10 + + Material/Red Shard + + + + 3 + + Material/Gel Drop + + + + + Material/Gel Core + + + + + Material/Fuel Canister + + + + + Material/Torchstone + + + + + Weapon/Handgun/Firotech Alchemer + + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Firotech Alchemer Mk II + + + Item/Handgun, general + + + + + Handgun/Frost Gun + + + + 3 + + Material/Green Shard + + + + 2 + + Material/Gel Drop + + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Frost Gun + + + Item/Handgun, general + + + + + Handgun/Hail Driver + + + + 20 + + Material/Green Shard + + + + 5 + + Material/Gel Drop + + + + 4 + + Material/Gel Core + + + + 3 + + Material/Brute Core + + + + + Material/Rocky Core + + + + + Material/Perfect Snowball + + + + + Material/Everfrost + + + + + Weapon/Handgun/Cryo Driver + + 10 + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Hail Driver + + + Item/Handgun, general + + + + + Handgun/Iron Slug + + + + 20 + + Material/Red Shard + + + + 5 + + Material/Bronze Bolt + + + + 4 + + Material/Iron Gear + + + + 2 + + Material/Brute Core + + + + + Material/Force Dynamo + + + + 2 + + Material/Heavy Gear + + + + + Material/Primal Ore + + + + + Weapon/Handgun/Mega Magnus + + 10 + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Iron Slug + + + Item/Handgun, general + + + + + Handgun/Magma Driver + + + + 20 + + Material/Red Shard + + + + 5 + + Material/Gel Drop + + + + 4 + + Material/Gel Core + + + + 3 + + Material/Brute Core + + + + + Material/Rocky Core + + + + + Material/Blaze Pepper + + + + + Material/Flame Soul + + + + + Weapon/Handgun/Firo Driver + + 10 + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Magma Driver + + + Item/Handgun, general + + + + + Handgun/Magnus + + + + 10 + + Material/Red Shard + + + + 3 + + Material/Bronze Bolt + + + + 2 + + Material/Gremlin Gizmo + + + + + Material/Rocket Sprocket + + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Magnus + + + Item/Handgun, general + + + + + Handgun/Master Blaster + + + + 15 + + Material/Blue Shard + + + + 4 + + Material/Bronze Bolt + + + + 3 + + Material/Gremlin Gizmo + + + + 2 + + Material/Rocket Sprocket + + + + + Material/Meteor Mote + + + + + Weapon/Handgun/Super Blaster + + 5 + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Master Blaster + + + Item/Handgun, general + + + + + Handgun/Mega Magnus + + + + 15 + + Material/Red Shard + + + + 4 + + Material/Bronze Bolt + + + + 3 + + Material/Iron Gear + + + + + Material/Brute Core + + + + + Material/Force Dynamo + + + + + Material/Heavy Gear + + + + + Weapon/Handgun/Magnus + + 5 + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Mega Magnus + + + Item/Handgun, general + + + + + Handgun/Needle Shot + + + + 10 + + Material/Light Shard + + + + 3 + + Material/Sharp Fang + + + + 2 + + Material/Iron Gear + + + + + Material/Phial of Phear + + + + + Weapon/Handgun/Autogun + + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Needle Shot + + + Item/Handgun, general + + + + + Handgun/Nova Driver + + + + 20 + + Material/Light Shard + + + + 5 + + Material/Gel Drop + + + + 4 + + Material/Gel Core + + + + 3 + + Material/Brute Core + + + + + Material/Chroma Tear + + + + + Material/Ghost Bell + + + + + Material/Philoso Feather + + + + + Weapon/Handgun/Prisma Driver + + 10 + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Nova Driver + + + Item/Handgun, general + + + + + Handgun/Pepperbox + + + + 10 + + Material/Red Shard + + + + 3 + + Material/Scrap Metal + + + + + Material/Iron Gear + + + + + Material/Blast Powder + + + + + Material/Torchstone + + + + + Weapon/Handgun/Autogun + + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Pepperbox + + + Item/Handgun, general + + + + + Handgun/Prisma Driver + + + + 15 + + Material/Light Shard + + + + 4 + + Material/Gel Drop + + + + 3 + + Material/Gel Core + + + + + Material/Brute Core + + + + + Material/Soul Dust + + + + + Material/Ghost Bell + + + + + Weapon/Handgun/Prismatech Alchemer Mk II + + 5 + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Prisma Driver + + + Item/Handgun, general + + + + + Handgun/Prismatech Alchemer + + + + 5 + + Material/Light Shard + + + + 2 + + Material/Gel Drop + + + + + Material/Gel Core + + + + + Material/Owlite Feather + + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Prismatech Alchemer + + + Item/Handgun, general + + + + + Handgun/Prismatech Alchemer Mk II + + + + 10 + + Material/Light Shard + + + + 3 + + Material/Gel Drop + + + + + Material/Gel Core + + + + + Material/Owlite Feather + + + + + Material/Soul Dust + + + + + Weapon/Handgun/Prismatech Alchemer + + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Prismatech Alchemer Mk II + + + Item/Handgun, general + + + + + Handgun/Pummel Gun + + + + 3 + + Material/Dark Shard + + + + 2 + + Material/Bronze Bolt + + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Pummel Gun + + + Item/Handgun, general + + + + + Handgun/Sentenza + + + + 20 + + Material/Dark Shard + + + + 5 + + Material/Scrap Metal + + + + 4 + + Material/Gremlin Gizmo + + + + 3 + + Material/Rocket Sprocket + + + + + Material/Trojan Horseshoe + + + + + Material/Mug of Misery + + + + + Material/Shadow Steel + + + + + Weapon/Handgun/Blackhawk + + 10 + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Sentenza + + + Item/Handgun, general + + + + + Handgun/Shadow Driver + + + + 15 + + Material/Dark Shard + + + + 4 + + Material/Gel Drop + + + + 3 + + Material/Gel Core + + + + + Material/Brute Core + + + + + Material/Phial of Phear + + + + + Material/Mug of Misery + + + + + Weapon/Handgun/Shadowtech Alchemer Mk II + + 5 + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Shadow Driver + + + Item/Handgun, general + + + + + Handgun/Shadowtech Alchemer + + + + 5 + + Material/Dark Shard + + + + 2 + + Material/Gel Drop + + + + + Material/Gel Core + + + + + Material/Forbidden Fruit + + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Shadowtech Alchemer + + + Item/Handgun, general + + + + + Handgun/Shadowtech Alchemer Mk II + + + + 10 + + Material/Dark Shard + + + + 3 + + Material/Gel Drop + + + + + Material/Gel Core + + + + + Material/Forbidden Fruit + + + + + Material/Phial of Phear + + + + + Weapon/Handgun/Shadowtech Alchemer + + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Shadowtech Alchemer Mk II + + + Item/Handgun, general + + + + + Handgun/Silversix + + + + 15 + + Material/Light Shard + + + + 4 + + Material/Scrap Metal + + + + 3 + + Material/Gremlin Gizmo + + + + + Material/Rocket Sprocket + + + + + Material/Soul Dust + + + + + Material/Ghost Bell + + + + + Weapon/Handgun/Antigua + + 5 + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Silversix + + + Item/Handgun, general + + + + + Handgun/Storm Driver + + + + 20 + + Material/Blue Shard + + + + 5 + + Material/Gel Drop + + + + 4 + + Material/Gel Core + + + + 3 + + Material/Brute Core + + + + + Material/Rocky Core + + + + + Material/Thunderball + + + + + Material/Spark of Life + + + + + Weapon/Handgun/Volt Driver + + 10 + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Storm Driver + + + Item/Handgun, general + + + + + Handgun/Strike Needle + + + + 15 + + Material/Light Shard + + + + 4 + + Material/Sharp Fang + + + + 3 + + Material/Iron Gear + + + + 2 + + Material/Phial of Phear + + + + + Material/Heavy Gear + + + + + Weapon/Handgun/Needle Shot + + 5 + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Strike Needle + + + Item/Handgun, general + + + + + Handgun/Super Blaster + + + + 10 + + Material/Blue Shard + + + + 3 + + Material/Bronze Bolt + + + + 2 + + Material/Gremlin Gizmo + + + + + Material/Rocket Sprocket + + + + + Weapon/Handgun/Blaster + + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Super Blaster + + + Item/Handgun, general + + + + + Handgun/Super Stun Gun + + + + 3 + + Material/Red Shard + + + + 2 + + Material/Bronze Bolt + + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Super Stun Gun + + + Item/Handgun, general + + + + + Handgun/Umbra Driver + + + + 20 + + Material/Dark Shard + + + + 5 + + Material/Gel Drop + + + + 4 + + Material/Gel Core + + + + 3 + + Material/Brute Core + + + + + Material/Blighted Bone + + + + 2 + + Material/Mug of Misery + + + + + Material/Shadow Steel + + + + + Weapon/Handgun/Shadow Driver + + 10 + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Umbra Driver + + + Item/Handgun, general + + + + + Handgun/Valiance + + + + 20 + + Material/Blue Shard + + + + 5 + + Material/Bronze Bolt + + + + 4 + + Material/Gremlin Gizmo + + + + 3 + + Material/Rocket Sprocket + + + + 2 + + Material/Meteor Mote + + + + + Material/Plasma Cell + + + + + Weapon/Handgun/Master Blaster + + 10 + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Valiance + + + Item/Handgun, general + + + + + Handgun/Volcanic Pepperbox + + + + 20 + + Material/Red Shard + + + + 5 + + Material/Scrap Metal + + + + 4 + + Material/Blast Powder + + + + 3 + + Material/Phial of Phear + + + + + Material/Warp Dust + + + + + Material/Blaze Pepper + + + + + Material/Flame Soul + + + + + Weapon/Handgun/Fiery Pepperbox + + 10 + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Volcanic Pepperbox + + + Item/Handgun, general + + + + + Handgun/Volt Driver + + + + 15 + + Material/Blue Shard + + + + 4 + + Material/Gel Drop + + + + 3 + + Material/Gel Core + + + + + Material/Brute Core + + + + + Material/Volt Oil + + + + + Material/Thunderball + + + + + Weapon/Handgun/Voltech Alchemer Mk II + + 5 + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Volt Driver + + + Item/Handgun, general + + + + + Handgun/Voltech Alchemer + + + + 5 + + Material/Blue Shard + + + + 2 + + Material/Gel Drop + + + + + Material/Gel Core + + + + + Material/Power Cell + + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Voltech Alchemer + + + Item/Handgun, general + + + + + Handgun/Voltech Alchemer Mk II + + + + 10 + + Material/Blue Shard + + + + 3 + + Material/Gel Drop + + + + + Material/Gel Core + + + + + Material/Power Cell + + + + + Material/Volt Oil + + + + + Weapon/Handgun/Voltech Alchemer + + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Voltech Alchemer Mk II + + + Item/Handgun, general + + + + + Handgun/Zapper + + + + 3 + + Material/Blue Shard + + + + 2 + + Material/Gel Drop + + + + 225 + 25 + + Handgun + + + Weapon/Handgun/Zapper + + + Item/Handgun, general + + + + + Helm/Ancient Plate Helm + + + + 20 + + Material/Dark Shard + + + + 5 + + Material/Scrap Metal + + + + 4 + + Material/Driftwood + + + + 3 + + Material/Redwood + + + + 2 + + Material/Ironwood + + + + + Material/Shadow Steel + + + + + Gear/Helm/Heavy Plate Helm + + 10 + + + 225 + 25 + + Helm + + + Gear/Helm/Ancient Plate Helm + + + Item/Helm, general + + + + + Helm/Angelic Helm + + + + 10 + + Material/Light Shard + + + + 3 + + Material/Brimstone + + + + 2 + + Material/Owlite Feather + + + + + Material/Fine Fabric + + + + 225 + 25 + + Helm + + + Gear/Helm/Angelic Helm + + + Item/Helm, general + + + + + Helm/Ash Tail Cap + + + + 15 + + Material/Green Shard + + + + 4 + + Material/Sharp Fang + + + + 3 + + Material/Monster Bone + + + + 2 + + Material/Bushy Tail + + + + + Material/Warp Dust + + + + + Gear/Helm/Dusker Cap + + 5 + + + 225 + 25 + + Helm + + + Gear/Helm/Ash Tail Cap + + + Item/Helm, general + + + + + Helm/Azure Guardian Helm + + + + 20 + + Material/Blue Shard + + + + 5 + + Material/Scrap Metal + + + + 4 + + Material/Iron Gear + + + + 3 + + Material/Fine Fabric + + + + 2 + + Material/Heavy Gear + + + + + Material/Sun Silver + + + + + Gear/Helm/Mighty Cobalt Helm + + 10 + + + 225 + 25 + + Helm + + + Gear/Helm/Azure Guardian Helm + + + Item/Helm, general + + + + + Helm/Blazebreak Helm + + + + 10 + + Material/Red Shard + + + + 3 + + Material/Beast Scale + + + + + Material/Frayed Fabric + + + + + Material/Fuel Canister + + + + + Material/Torchstone + + + + + Gear/Helm/Firebreak Helm + + + + 225 + 25 + + Helm + + + Gear/Helm/Blazebreak Helm + + + Item/Helm, general + + + + + Helm/Blizzbreaker Helm + + + + 10 + + Material/Green Shard + + + + 3 + + Material/Beast Scale + + + + + Material/Frayed Fabric + + + + + Material/Cooling Cell + + + + + Material/Hailstone + + + + + Gear/Helm/Icebreaker Helm + + + + 225 + 25 + + Helm + + + Gear/Helm/Blizzbreaker Helm + + + Item/Helm, general + + + + + Helm/Bombastic Demo Helm + + + + 20 + + Material/Red Shard + + + + 5 + + Material/Brimstone + + + + 4 + + Material/Gel Core + + + + 3 + + Material/Unstable Core + + + + + Material/Meteor Mote + + + + + Material/Blaze Pepper + + + + + Material/Flame Soul + + + + + Gear/Helm/Heavy Demo Helm + + 10 + + + 225 + 25 + + Helm + + + Gear/Helm/Bombastic Demo Helm + + + Item/Helm, general + + + + + Helm/Boosted Plate Helm + + + + 10 + + Material/Blue Shard + + + + 3 + + Material/Scrap Metal + + + + 2 + + Material/Driftwood + + + + + Material/Redwood + + + + + Gear/Helm/Spiral Plate Helm + + + + 225 + 25 + + Helm + + + Gear/Helm/Boosted Plate Helm + + + Item/Helm, general + + + + + Helm/Brute Jelly Helm + + + + 10 + + Material/Green Shard + + + + 3 + + Material/Gel Drop + + + + 2 + + Material/Gel Core + + + + + Material/Brute Core + + + + + Gear/Helm/Jelly Helm + + + + 225 + 25 + + Helm + + + Gear/Helm/Brute Jelly Helm + + + Item/Helm, general + + + + + Helm/Chaos Cowl + + + + 20 + + Material/Dark Shard + + + + 5 + + Material/Brimstone + + + + 4 + + Material/Frayed Fabric + + + + 3 + + Material/Fine Fabric + + + + 2 + + Material/Trojan Horseshoe + + + + + Material/Shadow Steel + + + + + Gear/Helm/Miracle Hood + + 10 + + + 225 + 25 + + Helm + + + Gear/Helm/Chaos Cowl + + + Item/Helm, general + + + + + Helm/Chroma Mask + + + + 10 + + Material/Green Shard + + + + 3 + + Material/Beast Scale + + + + 2 + + Material/Critter Carapace + + + + + Material/Drake Scale + + + + 225 + 25 + + Helm + + + Gear/Helm/Chroma Mask + + + Item/Helm, general + + + + + Helm/Circuit Breaker Helm + + + + 3 + + Material/Blue Shard + + + + 2 + + Material/Beast Scale + + + + 225 + 25 + + Helm + + + Gear/Helm/Circuit Breaker Helm + + + Item/Helm, general + + + + + Helm/Cobalt Helm + + + + 5 + + Material/Blue Shard + + + + 2 + + Material/Scrap Metal + + + + 2 + + Material/Iron Gear + + + + 225 + 25 + + Helm + + + Gear/Helm/Cobalt Helm + + + Item/Helm, general + + + + + Helm/Crown of the Fallen + + + + 20 + + Material/Dark Shard + + + + 5 + + Material/Brimstone + + + + 4 + + Material/Forbidden Fruit + + + + 3 + + Material/Fine Fabric + + + + 2 + + Material/Trojan Horseshoe + + + + + Material/Shadow Steel + + + + + Gear/Helm/Seraphic Helm + + 10 + + + 225 + 25 + + Helm + + + Gear/Helm/Crown of the Fallen + + + Item/Helm, general + + + + + Helm/Deadly Virulisk Mask + + + + 20 + + Material/Green Shard + + + + 5 + + Material/Beast Scale + + + + 4 + + Material/Critter Carapace + + + + 3 + + Material/Drake Scale + + + + + Material/Chroma Tear + + + + + Material/Corrosive Acid + + + + + Material/Plague Essence + + + + + Gear/Helm/Virulisk Mask + + 10 + + + 225 + 25 + + Helm + + + Gear/Helm/Deadly Virulisk Mask + + + Item/Helm, general + + + + + Helm/Deadshot Chapeau + + + + 20 + + Material/Light Shard + + + + 5 + + Material/Bronze Bolt + + + + 4 + + Material/Frayed Fabric + + + + 2 + + Material/Fine Fabric + + + + 2 + + Material/Blighted Bone + + + + + Material/Reaper Rib + + + + + Gear/Helm/Sunset Stetson + + 10 + + + 225 + 25 + + Helm + + + Gear/Helm/Deadshot Chapeau + + + Item/Helm, general + + + + + Helm/Divine Veil + + + + 20 + + Material/Light Shard + + + + 5 + + Material/Brimstone + + + + 4 + + Material/Frayed Fabric + + + + 3 + + Material/Fine Fabric + + + + 2 + + Material/Miracloth + + + + + Material/Silverweave + + + + + Gear/Helm/Miracle Hood + + 10 + + + 225 + 25 + + Helm + + + Gear/Helm/Divine Veil + + + Item/Helm, general + + + + + Helm/Dragon Scale Helm + + + + 20 + + Material/Red Shard + + + + 5 + + Material/Beast Scale + + + + 4 + + Material/Critter Carapace + + + + 3 + + Material/Drake Scale + + + + 2 + + Material/Chroma Tear + + + + + Material/Dragon Scale + + + + + Gear/Helm/Wyvern Scale Helm + + 10 + + + 225 + 25 + + Helm + + + Gear/Helm/Dragon Scale Helm + + + Item/Helm, general + + + + + Helm/Drake Scale Helm + + + + 10 + + Material/Red Shard + + + + 3 + + Material/Beast Scale + + + + 2 + + Material/Critter Carapace + + + + + Material/Drake Scale + + + + 225 + 25 + + Helm + + + Gear/Helm/Drake Scale Helm + + + Item/Helm, general + + + + + Helm/Dread Skelly Mask + + + + 20 + + Material/Dark Shard + + + + 5 + + Material/Ecto Drop + + + + 4 + + Material/Grave Soil + + + + 3 + + Material/Soul Dust + + + + 2 + + Material/Blighted Bone + + + + + Material/Reaper Rib + + + + + Gear/Helm/Sinister Skelly Mask + + 10 + + + 225 + 25 + + Helm + + + Gear/Helm/Dread Skelly Mask + + + Item/Helm, general + + + + + Helm/Dusker Cap + + + + 10 + + Material/Green Shard + + + + 3 + + Material/Sharp Fang + + + + 2 + + Material/Monster Bone + + + + + Material/Bushy Tail + + + + + Gear/Helm/Wolver Cap + + + + 225 + 25 + + Helm + + + Gear/Helm/Dusker Cap + + + Item/Helm, general + + + + + Helm/Elemental Hood + + + + 10 + + Material/Light Shard + + + + 3 + + Material/Brimstone + + + + 2 + + Material/Frayed Fabric + + + + + Material/Fine Fabric + + + + + Gear/Helm/Magic Hood + + + + 225 + 25 + + Helm + + + Gear/Helm/Elemental Hood + + + Item/Helm, general + + + + + Helm/Emberbreak Helm + + + + 3 + + Material/Red Shard + + + + 2 + + Material/Beast Scale + + + + 225 + 25 + + Helm + + + Gear/Helm/Emberbreak Helm + + + Item/Helm, general + + + + + Helm/Firebreak Helm + + + + 5 + + Material/Red Shard + + + + 2 + + Material/Scrap Metal + + + + + Material/Frayed Fabric + + + + + Material/Fuel Canister + + + + + Gear/Helm/Emberbreak Helm + + + + 225 + 25 + + Helm + + + Gear/Helm/Firebreak Helm + + + Item/Helm, general + + + + + Helm/Frostbreaker Helm + + + + 3 + + Material/Green Shard + + + + 2 + + Material/Beast Scale + + + + 225 + 25 + + Helm + + + Gear/Helm/Frostbreaker Helm + + + Item/Helm, general + + + + + Helm/Fused Demo Helm + + + + 10 + + Material/Red Shard + + + + 3 + + Material/Brimstone + + + + 2 + + Material/Gel Core + + + + + Material/Unstable Core + + + + + Gear/Helm/Spiral Demo Helm + + + + 225 + 25 + + Helm + + + Gear/Helm/Fused Demo Helm + + + Item/Helm, general + + + + + Helm/Grey Feather Cowl + + + + 20 + + Material/Light Shard + + + + 5 + + Material/Brimstone + + + + 4 + + Material/Owlite Feather + + + + 3 + + Material/Fine Fabric + + + + 2 + + Material/Miracloth + + + + + Material/Philoso Feather + + + + + Gear/Helm/Miracle Hood + + 10 + + + 225 + 25 + + Helm + + + Gear/Helm/Grey Feather Cowl + + + Item/Helm, general + + + + + Helm/Gunslinger Hat + + + + 10 + + Material/Light Shard + + + + 3 + + Material/Bronze Bolt + + + + 2 + + Material/Frayed Fabric + + + + + Material/Fine Fabric + + + + 225 + 25 + + Helm + + + Gear/Helm/Gunslinger Hat + + + Item/Helm, general + + + + + Helm/Heavy Demo Helm + + + + 15 + + Material/Red Shard + + + + 4 + + Material/Brimstone + + + + 3 + + Material/Gel Core + + + + 2 + + Material/Unstable Core + + + + + Material/Meteor Mote + + + + + Gear/Helm/Fused Demo Helm + + 5 + + + 225 + 25 + + Helm + + + Gear/Helm/Heavy Demo Helm + + + Item/Helm, general + + + + + Helm/Heavy Plate Helm + + + + 15 + + Material/Blue Shard + + + + 4 + + Material/Scrap Metal + + + + 3 + + Material/Driftwood + + + + 2 + + Material/Redwood + + + + + Material/Ironwood + + + + + Gear/Helm/Boosted Plate Helm + + 5 + + + 225 + 25 + + Helm + + + Gear/Helm/Heavy Plate Helm + + + Item/Helm, general + + + + + Helm/Icebreaker Helm + + + + 5 + + Material/Green Shard + + + + 2 + + Material/Beast Scale + + + + + Material/Frayed Fabric + + + + + Material/Cooling Cell + + + + + Gear/Helm/Frostbreaker Helm + + + + 225 + 25 + + Helm + + + Gear/Helm/Icebreaker Helm + + + Item/Helm, general + + + + + Helm/Ironmight Plate Helm + + + + 20 + + Material/Blue Shard + + + + 5 + + Material/Scrap Metal + + + + 4 + + Material/Driftwood + + + + 3 + + Material/Redwood + + + + 2 + + Material/Ironwood + + + + + Material/Sun Silver + + + + + Gear/Helm/Heavy Plate Helm + + 10 + + + 225 + 25 + + Helm + + + Gear/Helm/Ironmight Plate Helm + + + Item/Helm, general + + + + + Helm/Jelly Helm + + + + 5 + + Material/Green Shard + + + + 2 + + Material/Gel Drop + + + + 2 + + Material/Gel Core + + + + 225 + 25 + + Helm + + + Gear/Helm/Jelly Helm + + + Item/Helm, general + + + + + Helm/Justifier Hat + + + + 20 + + Material/Light Shard + + + + 5 + + Material/Bronze Bolt + + + + 4 + + Material/Frayed Fabric + + + + 3 + + Material/Fine Fabric + + + + 2 + + Material/Heavy Gear + + + + + Material/Silverweave + + + + + Gear/Helm/Sunset Stetson + + 10 + + + 225 + 25 + + Helm + + + Gear/Helm/Justifier Hat + + + Item/Helm, general + + + + + Helm/Mad Bomber Mask + + + + 20 + + Material/Dark Shard + + + + 5 + + Material/Brimstone + + + + 4 + + Material/Gel Core + + + + 3 + + Material/Unstable Core + + + + 2 + + Material/Trojan Horseshoe + + + + + Material/Reaper Rib + + + + + Gear/Helm/Heavy Demo Helm + + 10 + + + 225 + 25 + + Helm + + + Gear/Helm/Mad Bomber Mask + + + Item/Helm, general + + + + + Helm/Magic Hood + + + + 5 + + Material/Light Shard + + + + 2 + + Material/Brimstone + + + + 2 + + Material/Frayed Fabric + + + + 225 + 25 + + Helm + + + Gear/Helm/Magic Hood + + + Item/Helm, general + + + + + Helm/Mighty Cobalt Helm + + + + 15 + + Material/Blue Shard + + + + 4 + + Material/Scrap Metal + + + + 3 + + Material/Iron Gear + + + + 2 + + Material/Fine Fabric + + + + + Material/Heavy Gear + + + + + Gear/Helm/Solid Cobalt Helm + + 5 + + + 225 + 25 + + Helm + + + Gear/Helm/Mighty Cobalt Helm + + + Item/Helm, general + + + + + Helm/Miracle Hood + + + + 15 + + Material/Light Shard + + + + 4 + + Material/Brimstone + + + + 3 + + Material/Frayed Fabric + + + + 2 + + Material/Fine Fabric + + + + + Material/Miracloth + + + + + Gear/Helm/Elemental Hood + + 5 + + + 225 + 25 + + Helm + + + Gear/Helm/Miracle Hood + + + Item/Helm, general + + + + + Helm/Nameless Hat + + + + 20 + + Material/Red Shard + + + + 5 + + Material/Bronze Bolt + + + + 4 + + Material/Frayed Fabric + + + + 3 + + Material/Fine Fabric + + + + 2 + + Material/Heavy Gear + + + + + Material/Plasma Cell + + + + + Gear/Helm/Sunset Stetson + + 10 + + + 225 + 25 + + Helm + + + Gear/Helm/Nameless Hat + + + Item/Helm, general + + + + + Helm/Rock Jelly Helm + + + + 15 + + Material/Green Shard + + + + 4 + + Material/Gel Drop + + + + 3 + + Material/Gel Core + + + + 2 + + Material/Brute Core + + + + + Material/Rocky Core + + + + + Gear/Helm/Brute Jelly Helm + + 5 + + + 225 + 25 + + Helm + + + Gear/Helm/Rock Jelly Helm + + + Item/Helm, general + + + + + Helm/Royal Jelly Crown + + + + 20 + + Material/Green Shard + + + + 5 + + Material/Gel Drop + + + + 4 + + Material/Gel Core + + + + 3 + + Material/Brute Core + + + + 2 + + Material/Rocky Core + + + + + Material/Royal Core + + + + + Gear/Helm/Rock Jelly Helm + + 10 + + + 225 + 25 + + Helm + + + Gear/Helm/Royal Jelly Crown + + + Item/Helm, general + + + + + Helm/Salamander Mask + + + + 15 + + Material/Red Shard + + + + 4 + + Material/Beast Scale + + + + 3 + + Material/Critter Carapace + + + + + Material/Drake Scale + + + + + Material/Torchstone + + + + + Material/Blaze Pepper + + + + + Gear/Helm/Chroma Mask + + 5 + + + 225 + 25 + + Helm + + + Gear/Helm/Salamander Mask + + + Item/Helm, general + + + + + Helm/Scary Skelly Mask + + + + 10 + + Material/Dark Shard + + + + 3 + + Material/Ecto Drop + + + + 2 + + Material/Grave Soil + + + + + Material/Soul Dust + + + + + Gear/Helm/Skelly Mask + + + + 225 + 25 + + Helm + + + Gear/Helm/Scary Skelly Mask + + + Item/Helm, general + + + + + Helm/Seraphic Helm + + + + 15 + + Material/Light Shard + + + + 4 + + Material/Brimstone + + + + 3 + + Material/Owlite Feather + + + + 2 + + Material/Fine Fabric + + + + + Material/Trojan Horseshoe + + + + + Gear/Helm/Angelic Helm + + 5 + + + 225 + 25 + + Helm + + + Gear/Helm/Seraphic Helm + + + Item/Helm, general + + + + + Helm/Shadowsun Stetson + + + + 20 + + Material/Dark Shard + + + + 5 + + Material/Bronze Bolt + + + + 4 + + Material/Frayed Fabric + + + + 3 + + Material/Fine Fabric + + + + 2 + + Material/Mug of Misery + + + + + Material/Shadow Steel + + + + + Gear/Helm/Sunset Stetson + + 10 + + + 225 + 25 + + Helm + + + Gear/Helm/Shadowsun Stetson + + + Item/Helm, general + + + + + Helm/Sinister Skelly Mask + + + + 15 + + Material/Dark Shard + + + + 4 + + Material/Ecto Drop + + + + 3 + + Material/Grave Soil + + + + 2 + + Material/Soul Dust + + + + + Material/Blighted Bone + + + + + Gear/Helm/Scary Skelly Mask + + 5 + + + 225 + 25 + + Helm + + + Gear/Helm/Sinister Skelly Mask + + + Item/Helm, general + + + + + Helm/Skelly Mask + + + + 5 + + Material/Dark Shard + + + + 2 + + Material/Ecto Drop + + + + 2 + + Material/Grave Soil + + + + 225 + 25 + + Helm + + + Gear/Helm/Skelly Mask + + + Item/Helm, general + + + + + Helm/Skolver Cap + + + + 20 + + Material/Green Shard + + + + 5 + + Material/Sharp Fang + + + + 4 + + Material/Monster Bone + + + + 3 + + Material/Bushy Tail + + + + 2 + + Material/Warp Dust + + + + + Material/Primal Ore + + + + + Gear/Helm/Ash Tail Cap + + 10 + + + 225 + 25 + + Helm + + + Gear/Helm/Skolver Cap + + + Item/Helm, general + + + + + Helm/Solid Cobalt Helm + + + + 10 + + Material/Blue Shard + + + + 3 + + Material/Scrap Metal + + + + 2 + + Material/Iron Gear + + + + + Material/Fine Fabric + + + + + Gear/Helm/Cobalt Helm + + + + 225 + 25 + + Helm + + + Gear/Helm/Solid Cobalt Helm + + + Item/Helm, general + + + + + Helm/Spiral Demo Helm + + + + 5 + + Material/Red Shard + + + + 2 + + Material/Brimstone + + + + 2 + + Material/Gel Core + + + + 225 + 25 + + Helm + + + Gear/Helm/Spiral Demo Helm + + + Item/Helm, general + + + + + Helm/Spiral Plate Helm + + + + 5 + + Material/Blue Shard + + + + 2 + + Material/Scrap Metal + + + + 2 + + Material/Driftwood + + + + 225 + 25 + + Helm + + + Gear/Helm/Spiral Plate Helm + + + Item/Helm, general + + + + + Helm/Spiral Scale Helm + + + + 3 + + Material/Light Shard + + + + 2 + + Material/Beast Scale + + + + 225 + 25 + + Helm + + + Gear/Helm/Spiral Scale Helm + + + Item/Helm, general + + + + + Helm/Sunset Stetson + + + + 15 + + Material/Light Shard + + + + 4 + + Material/Bronze Bolt + + + + 3 + + Material/Frayed Fabric + + + + 2 + + Material/Fine Fabric + + + + + Material/Heavy Gear + + + + + Gear/Helm/Gunslinger Hat + + 5 + + + 225 + 25 + + Helm + + + Gear/Helm/Sunset Stetson + + + Item/Helm, general + + + + + Helm/Surge Breaker Helm + + + + 10 + + Material/Blue Shard + + + + 3 + + Material/Scrap Metal + + + + + Material/Frayed Fabric + + + + + Material/Power Cell + + + + + Material/Volt Oil + + + + + Gear/Helm/Volt Breaker Helm + + + + 225 + 25 + + Helm + + + Gear/Helm/Surge Breaker Helm + + + Item/Helm, general + + + + + Helm/Valkyrie Helm + + + + 20 + + Material/Light Shard + + + + 5 + + Material/Brimstone + + + + 4 + + Material/Owlite Feather + + + + 3 + + Material/Fine Fabric + + + + 2 + + Material/Trojan Horseshoe + + + + + Material/Sun Silver + + + + + Gear/Helm/Seraphic Helm + + 10 + + + 225 + 25 + + Helm + + + Gear/Helm/Valkyrie Helm + + + Item/Helm, general + + + + + Helm/Virulisk Mask + + + + 15 + + Material/Green Shard + + + + 4 + + Material/Beast Scale + + + + 3 + + Material/Critter Carapace + + + + + Material/Drake Scale + + + + + Material/Toxic Core + + + + + Material/Corrosive Acid + + + + + Gear/Helm/Chroma Mask + + 5 + + + 225 + 25 + + Helm + + + Gear/Helm/Virulisk Mask + + + Item/Helm, general + + + + + Helm/Vog Cub Cap + + + + 20 + + Material/Red Shard + + + + 5 + + Material/Sharp Fang + + + + 4 + + Material/Monster Bone + + + + 3 + + Material/Bushy Tail + + + + + Material/Warp Dust + + + + + Material/Blaze Pepper + + + + + Material/Flame Soul + + + + + Gear/Helm/Ash Tail Cap + + 10 + + + 225 + 25 + + Helm + + + Gear/Helm/Vog Cub Cap + + + Item/Helm, general + + + + + Helm/Volcanic Demo Helm + + + + 20 + + Material/Red Shard + + + + 5 + + Material/Brimstone + + + + 4 + + Material/Gel Core + + + + 3 + + Material/Unstable Core + + + + 2 + + Material/Meteor Mote + + + + + Material/Volcanic Iron + + + + + Gear/Helm/Heavy Demo Helm + + 10 + + + 225 + 25 + + Helm + + + Gear/Helm/Volcanic Demo Helm + + + Item/Helm, general + + + + + Helm/Volcanic Plate Helm + + + + 20 + + Material/Red Shard + + + + 5 + + Material/Scrap Metal + + + + 4 + + Material/Driftwood + + + + 3 + + Material/Redwood + + + + + Material/Ironwood + + + + + Material/Blaze Pepper + + + + + Material/Flame Soul + + + + + Gear/Helm/Heavy Plate Helm + + 10 + + + 225 + 25 + + Helm + + + Gear/Helm/Volcanic Plate Helm + + + Item/Helm, general + + + + + Helm/Volcanic Salamander Mask + + + + 20 + + Material/Red Shard + + + + 5 + + Material/Beast Scale + + + + 4 + + Material/Critter Carapace + + + + 3 + + Material/Drake Scale + + + + + Material/Chroma Tear + + + + + Material/Blaze Pepper + + + + + Material/Flame Soul + + + + + Gear/Helm/Salamander Mask + + 10 + + + 225 + 25 + + Helm + + + Gear/Helm/Volcanic Salamander Mask + + + Item/Helm, general + + + + + Helm/Volt Breaker Helm + + + + 5 + + Material/Blue Shard + + + + 2 + + Material/Beast Scale + + + + + Material/Frayed Fabric + + + + + Material/Power Cell + + + + + Gear/Helm/Circuit Breaker Helm + + + + 225 + 25 + + Helm + + + Gear/Helm/Volt Breaker Helm + + + Item/Helm, general + + + + + Helm/Wolver Cap + + + + 5 + + Material/Green Shard + + + + 2 + + Material/Sharp Fang + + + + 2 + + Material/Monster Bone + + + + 225 + 25 + + Helm + + + Gear/Helm/Wolver Cap + + + Item/Helm, general + + + + + Helm/Wyvern Scale Helm + + + + 15 + + Material/Red Shard + + + + 4 + + Material/Beast Scale + + + + 3 + + Material/Critter Carapace + + + + 2 + + Material/Drake Scale + + + + + Material/Chroma Tear + + + + + Gear/Helm/Drake Scale Helm + + 5 + + + 225 + 25 + + Helm + + + Gear/Helm/Wyvern Scale Helm + + + Item/Helm, general + + + + + Material/Shadow Steel + + + + 3 + + Material/Iron Gear + + + + + Material/Primal Ore + + + + 10 + + Material/Dark Shard + + + + 2000 + 150 + + Material + + + Material/Shadow Steel + + + + + Material/Sun Silver + + + + 6 + + Material/Silver Coil + + + + + Material/Primal Ore + + + + 10 + + Material/Light Shard + + + + 2000 + 150 + + Material + + + Material/Sun Silver + + + + + Material/Volcanic Iron + + + + 3 + + Material/Iron Gear + + + + + Material/Flame Soul + + + + 10 + + Material/Red Shard + + + + 2000 + 150 + + Material + + + Material/Volcanic Iron + + + + + Quest/Test + + + + + Material/Ecto Drop + + + + + Gear/Helm/Black Kat Hat + + 72 + + + + Shield/Aegis + + + + 20 + + Material/Blue Shard + + + + 5 + + Material/Scrap Metal + + + + 4 + + Material/Iron Gear + + + + 3 + + Material/Fine Fabric + + + + 2 + + Material/Heavy Gear + + + + + Material/Sun Silver + + + + + Gear/Shield/Mighty Defender + + 10 + + + 225 + 25 + + Shield + + + Gear/Shield/Aegis + + + Item/Shield, general + + + + + Shield/Ancient Plate Shield + + + + 20 + + Material/Dark Shard + + + + 5 + + Material/Scrap Metal + + + + 4 + + Material/Driftwood + + + + 3 + + Material/Redwood + + + + 2 + + Material/Ironwood + + + + + Material/Shadow Steel + + + + + Gear/Shield/Heavy Plate Shield + + 10 + + + 225 + 25 + + Shield + + + Gear/Shield/Ancient Plate Shield + + + Item/Shield, general + + + + + Shield/Blazebreak Shield + + + + 10 + + Material/Red Shard + + + + 3 + + Material/Beast Scale + + + + + Material/Frayed Fabric + + + + + Material/Fuel Canister + + + + + Material/Torchstone + + + + + Gear/Shield/Firebreak Shield + + + + 225 + 25 + + Shield + + + Gear/Shield/Blazebreak Shield + + + Item/Shield, general + + + + + Shield/Blizzbreaker Shield + + + + 10 + + Material/Green Shard + + + + 3 + + Material/Beast Scale + + + + + Material/Frayed Fabric + + + + + Material/Cooling Cell + + + + + Material/Hailstone + + + + + Gear/Shield/Icebreaker Shield + + + + 225 + 25 + + Shield + + + Gear/Shield/Blizzbreaker Shield + + + Item/Shield, general + + + + + Shield/Boosted Plate Shield + + + + 10 + + Material/Blue Shard + + + + 3 + + Material/Scrap Metal + + + + 2 + + Material/Driftwood + + + + + Material/Redwood + + + + + Gear/Shield/Plate Shield + + + + 225 + 25 + + Shield + + + Gear/Shield/Boosted Plate Shield + + + Item/Shield, general + + + + + Shield/Brute Jelly Shield + + + + 10 + + Material/Green Shard + + + + 3 + + Material/Gel Drop + + + + 2 + + Material/Gel Core + + + + + Material/Brute Core + + + + + Gear/Shield/Jelly Shield + + + + 225 + 25 + + Shield + + + Gear/Shield/Brute Jelly Shield + + + Item/Shield, general + + + + + Shield/Circuit Breaker Shield + + + + 3 + + Material/Blue Shard + + + + 2 + + Material/Beast Scale + + + + 225 + 25 + + Shield + + + Gear/Shield/Circuit Breaker Shield + + + Item/Shield, general + + + + + Shield/Crest of Almire + + + + 20 + + Material/Light Shard + + + + 5 + + Material/Ecto Drop + + + + 4 + + Material/Rock Salt + + + + 3 + + Material/Soul Dust + + + + 2 + + Material/Miracloth + + + + + Material/Sun Silver + + + + + Gear/Shield/Blackened Crest + + 10 + + + 2000 + 150 + + Shield + + + Gear/Shield/Crest of Almire + + + Item/Shield, general + + + + + Shield/Defender + + + + 5 + + Material/Blue Shard + + + + 2 + + Material/Scrap Metal + + + + 2 + + Material/Iron Gear + + + + 225 + 25 + + Shield + + + Gear/Shield/Defender + + + Item/Shield, general + + + + + Shield/Dragon Scale Shield + + + + 20 + + Material/Red Shard + + + + 5 + + Material/Beast Scale + + + + 4 + + Material/Critter Carapace + + + + 3 + + Material/Drake Scale + + + + 2 + + Material/Chroma Tear + + + + + Material/Dragon Scale + + + + + Gear/Shield/Wyvern Scale Shield + + 10 + + + 225 + 25 + + Shield + + + Gear/Shield/Dragon Scale Shield + + + Item/Shield, general + + + + + Shield/Drake Scale Shield + + + + 10 + + Material/Red Shard + + + + 3 + + Material/Beast Scale + + + + 2 + + Material/Critter Carapace + + + + + Material/Drake Scale + + + + 225 + 25 + + Shield + + + Gear/Shield/Drake Scale Shield + + + Item/Shield, general + + + + + Shield/Dread Skelly Shield + + + + 20 + + Material/Dark Shard + + + + 5 + + Material/Ecto Drop + + + + 4 + + Material/Grave Soil + + + + 3 + + Material/Soul Dust + + + + 2 + + Material/Blighted Bone + + + + + Material/Reaper Rib + + + + + Gear/Shield/Sinister Skelly Shield + + 10 + + + 225 + 25 + + Shield + + + Gear/Shield/Dread Skelly Shield + + + Item/Shield, general + + + + + Shield/Emberbreak Shield + + + + 3 + + Material/Red Shard + + + + 2 + + Material/Beast Scale + + + + 225 + 25 + + Shield + + + Gear/Shield/Emberbreak Shield + + + Item/Shield, general + + + + + Shield/Firebreak Shield + + + + 5 + + Material/Red Shard + + + + 2 + + Material/Beast Scale + + + + + Material/Frayed Fabric + + + + + Material/Fuel Canister + + + + + Gear/Shield/Emberbreak Shield + + + + 225 + 25 + + Shield + + + Gear/Shield/Firebreak Shield + + + Item/Shield, general + + + + + Shield/Force Buckler + + + + 3 + + Material/Blue Shard + + + + 2 + + Material/Bronze Bolt + + + + 225 + 25 + + Shield + + + Gear/Shield/Force Buckler + + + Item/Shield, general + + + + + Shield/Frostbreaker Shield + + + + 3 + + Material/Green Shard + + + + 2 + + Material/Beast Scale + + + + 225 + 25 + + Shield + + + Gear/Shield/Frostbreaker Shield + + + Item/Shield, general + + + + + Shield/Great Defender + + + + 10 + + Material/Blue Shard + + + + 3 + + Material/Scrap Metal + + + + 2 + + Material/Iron Gear + + + + + Material/Fine Fabric + + + + + Gear/Shield/Defender + + + + 225 + 25 + + Shield + + + Gear/Shield/Great Defender + + + Item/Shield, general + + + + + Shield/Grey Owlite Shield + + + + 20 + + Material/Light Shard + + + + 5 + + Material/Brimstone + + + + 4 + + Material/Owlite Feather + + + + 3 + + Material/Fine Fabric + + + + 2 + + Material/Miracloth + + + + + Material/Philoso Feather + + + + + Gear/Shield/Wise Owlite Shield + + 10 + + + 225 + 25 + + Shield + + + Gear/Shield/Grey Owlite Shield + + + Item/Shield, general + + + + + Shield/Heater Shield + + + + 20 + + Material/Red Shard + + + + 5 + + Material/Scrap Metal + + + + 4 + + Material/Monster Bone + + + + 3 + + Material/Unstable Core + + + + + Material/Meteor Mote + + + + + Material/Blaze Pepper + + + + + Material/Flame Soul + + + + 225 + 25 + + Shield + + + Gear/Shield/Heater Shield + + + Item/Shield, general + + + + + Shield/Heavy Plate Shield + + + + 15 + + Material/Blue Shard + + + + 4 + + Material/Scrap Metal + + + + 3 + + Material/Driftwood + + + + 2 + + Material/Redwood + + + + + Material/Ironwood + + + + + Gear/Shield/Boosted Plate Shield + + 5 + + + 225 + 25 + + Shield + + + Gear/Shield/Heavy Plate Shield + + + Item/Shield, general + + + + + Shield/Horned Owlite Shield + + + + 10 + + Material/Light Shard + + + + 3 + + Material/Brimstone + + + + 2 + + Material/Owlite Feather + + + + + Material/Fine Fabric + + + + + Gear/Shield/Owlite Shield + + + + 225 + 25 + + Shield + + + Gear/Shield/Horned Owlite Shield + + + Item/Shield, general + + + + + Shield/Icebreaker Shield + + + + 5 + + Material/Green Shard + + + + 2 + + Material/Beast Scale + + + + + Material/Frayed Fabric + + + + + Material/Cooling Cell + + + + + Gear/Shield/Frostbreaker Shield + + + + 225 + 25 + + Shield + + + Gear/Shield/Icebreaker Shield + + + Item/Shield, general + + + + + Shield/Ironmight Plate Shield + + + + 20 + + Material/Blue Shard + + + + 5 + + Material/Scrap Metal + + + + 4 + + Material/Driftwood + + + + 3 + + Material/Redwood + + + + 2 + + Material/Ironwood + + + + + Material/Sun Silver + + + + + Gear/Shield/Heavy Plate Shield + + 10 + + + 225 + 25 + + Shield + + + Gear/Shield/Ironmight Plate Shield + + + Item/Shield, general + + + + + Shield/Jelly Shield + + + + 5 + + Material/Green Shard + + + + 2 + + Material/Gel Drop + + + + 2 + + Material/Gel Core + + + + 225 + 25 + + Shield + + + Gear/Shield/Jelly Shield + + + Item/Shield, general + + + + + Shield/Mighty Defender + + + + 15 + + Material/Blue Shard + + + + 4 + + Material/Scrap Metal + + + + 3 + + Material/Iron Gear + + + + 2 + + Material/Fine Fabric + + + + + Material/Heavy Gear + + + + + Gear/Shield/Great Defender + + 5 + + + 225 + 25 + + Shield + + + Gear/Shield/Mighty Defender + + + Item/Shield, general + + + + + Shield/Omega Shell + + + + 20 + + Material/Green Shard + + + + 5 + + Material/Beast Scale + + + + 4 + + Material/Critter Carapace + + + + 3 + + Material/Drake Scale + + + + 2 + + Material/Rocky Core + + + + + Material/Dragon Scale + + + + + Gear/Shield/Stone Tortoise + + 10 + + + 600 + 100 + + Shield + + + Gear/Shield/Omega Shell + + + Item/Shield, general + + + + + Shield/Owlite Shield + + + + 5 + + Material/Light Shard + + + + 2 + + Material/Brimstone + + + + 2 + + Material/Owlite Feather + + + + 225 + 25 + + Shield + + + Gear/Shield/Owlite Shield + + + Item/Shield, general + + + + + Shield/Plate Shield + + + + 5 + + Material/Blue Shard + + + + 2 + + Material/Scrap Metal + + + + 2 + + Material/Driftwood + + + + 225 + 25 + + Shield + + + Gear/Shield/Plate Shield + + + Item/Shield, general + + + + + Shield/Rock Jelly Shield + + + + 15 + + Material/Green Shard + + + + 4 + + Material/Gel Drop + + + + 3 + + Material/Gel Core + + + + 2 + + Material/Brute Core + + + + + Material/Rocky Core + + + + + Gear/Shield/Brute Jelly Shield + + 5 + + + 225 + 25 + + Shield + + + Gear/Shield/Rock Jelly Shield + + + Item/Shield, general + + + + + Shield/Royal Jelly Shield + + + + 20 + + Material/Green Shard + + + + 5 + + Material/Gel Drop + + + + 4 + + Material/Gel Core + + + + 3 + + Material/Brute Core + + + + 2 + + Material/Rocky Core + + + + + Material/Royal Core + + + + + Gear/Shield/Rock Jelly Shield + + 10 + + + 225 + 25 + + Shield + + + Gear/Shield/Royal Jelly Shield + + + Item/Shield, general + + + + + Shield/Scale Shield + + + + 3 + + Material/Green Shard + + + + + Material/Beast Scale + + + + 225 + 25 + + Shield + + + Gear/Shield/Scale Shield + + + Item/Shield, general + + + + + Shield/Scarlet Shield + + + + 10 + + Material/Red Shard + + + + 3 + + Material/Bronze Bolt + + + + 2 + + Material/Forbidden Fruit + + + + + Material/Soul Dust + + + + 225 + 25 + + Shield + + + Gear/Shield/Scarlet Shield + + + Item/Shield, general + + + + + Shield/Scary Skelly Shield + + + + 10 + + Material/Dark Shard + + + + 3 + + Material/Ecto Drop + + + + 2 + + Material/Grave Soil + + + + + Material/Soul Dust + + + + + Gear/Shield/Skelly Shield + + + + 225 + 25 + + Shield + + + Gear/Shield/Scary Skelly Shield + + + Item/Shield, general + + + + + Shield/Sinister Skelly Shield + + + + 15 + + Material/Dark Shard + + + + 4 + + Material/Ecto Drop + + + + 3 + + Material/Grave Soil + + + + 2 + + Material/Soul Dust + + + + + Material/Blighted Bone + + + + + Gear/Shield/Scary Skelly Shield + + 5 + + + 225 + 25 + + Shield + + + Gear/Shield/Sinister Skelly Shield + + + Item/Shield, general + + + + + Shield/Skelly Shield + + + + 5 + + Material/Dark Shard + + + + 2 + + Material/Ecto Drop + + + + 2 + + Material/Grave Soil + + + + 225 + 25 + + Shield + + + Gear/Shield/Skelly Shield + + + Item/Shield, general + + + + + Shield/Stone Tortoise + + + + 15 + + Material/Green Shard + + + + 4 + + Material/Beast Scale + + + + 3 + + Material/Critter Carapace + + + + 2 + + Material/Drake Scale + + + + + Material/Rocky Core + + + + 600 + 100 + + Shield + + + Gear/Shield/Stone Tortoise + + + Item/Shield, general + + + + + Shield/Surge Breaker Shield + + + + 10 + + Material/Blue Shard + + + + 3 + + Material/Beast Scale + + + + + Material/Frayed Fabric + + + + + Material/Power Cell + + + + + Material/Volt Oil + + + + + Gear/Shield/Volt Breaker Shield + + + + 225 + 25 + + Shield + + + Gear/Shield/Surge Breaker Shield + + + Item/Shield, general + + + + + Shield/Swiftstrike Buckler + + + + 15 + + Material/Light Shard + + + + 4 + + Material/Sharp Fang + + + + 3 + + Material/Monster Bone + + + + 2 + + Material/Bushy Tail + + + + + Material/Warp Dust + + + + 225 + 25 + + Shield + + + Gear/Shield/Swiftstrike Buckler + + + Item/Shield, general + + + + + Shield/Volcanic Plate Shield + + + + 20 + + Material/Red Shard + + + + 5 + + Material/Scrap Metal + + + + 4 + + Material/Driftwood + + + + 3 + + Material/Redwood + + + + + Material/Ironwood + + + + + Material/Blaze Pepper + + + + + Material/Flame Soul + + + + + Gear/Shield/Heavy Plate Shield + + 10 + + + 225 + 25 + + Shield + + + Gear/Shield/Volcanic Plate Shield + + + Item/Shield, general + + + + + Shield/Volt Breaker Shield + + + + 5 + + Material/Blue Shard + + + + 2 + + Material/Beast Scale + + + + + Material/Frayed Fabric + + + + + Material/Power Cell + + + + + Gear/Shield/Circuit Breaker Shield + + + + 225 + 25 + + Shield + + + Gear/Shield/Volt Breaker Shield + + + Item/Shield, general + + + + + Shield/Wise Owlite Shield + + + + 15 + + Material/Light Shard + + + + 4 + + Material/Brimstone + + + + 3 + + Material/Owlite Feather + + + + 2 + + Material/Fine Fabric + + + + + Material/Miracloth + + + + + Gear/Shield/Horned Owlite Shield + + 5 + + + 225 + 25 + + Shield + + + Gear/Shield/Wise Owlite Shield + + + Item/Shield, general + + + + + Shield/Wyvern Scale Shield + + + + 15 + + Material/Red Shard + + + + 4 + + Material/Beast Scale + + + + 3 + + Material/Critter Carapace + + + + 2 + + Material/Drake Scale + + + + + Material/Chroma Tear + + + + + Gear/Shield/Drake Scale Shield + + 5 + + + 225 + 25 + + Shield + + + Gear/Shield/Wyvern Scale Shield + + + Item/Shield, general + + + + + Sword/Arc Razor + + + + 10 + + Material/Blue Shard + + + + 3 + + Material/Scrap Metal + + + + 2 + + Material/Gel Core + + + + + Material/Rocket Sprocket + + + + + Weapon/Sword/Spur + + + + 225 + 25 + + Sword + + + Weapon/Sword/Arc Razor + + + Item/Sword, general + + + + + Sword/Ascended Calibur + + + + 15 + + Material/Light Shard + + + + 4 + + Material/Bronze Bolt + + + + 3 + + Material/Swordstone + + + + 2 + + Material/Force Dynamo + + + + + Material/Silver Coil + + + + + Weapon/Sword/Tempered Calibur + + 5 + + + 225 + 25 + + Sword + + + Weapon/Sword/Ascended Calibur + + + Item/Sword, general + + + + + Sword/Avenger + + + + 15 + + Material/Light Shard + + + + 4 + + Material/Ecto Drop + + + + 3 + + Material/Swordstone + + + + 2 + + Material/Redwood + + + + + Material/Miracloth + + + + + Weapon/Sword/Sealed Sword + + 5 + + + 600 + 100 + + Sword + + + Weapon/Sword/Avenger + + + Item/Sword, general + + + + + Sword/Big Beast Basher + + + + 3 + + Material/Green Shard + + + + 2 + + Material/Beast Scale + + + + + Weapon/Sword/Beast Basher + + + + 600 + 100 + + Sword + + + Weapon/Sword/Big Beast Basher + + + Item/Sword, general + + + + + Sword/Bolted Blade + + + + 3 + + Material/Light Shard + + + + 2 + + Material/Bronze Bolt + + + + 600 + 100 + + Sword + + + Weapon/Sword/Bolted Blade + + + Item/Sword, general + + + + + Sword/Brandish + + + + 5 + + Material/Dark Shard + + + + 2 + + Material/Beast Scale + + + + 2 + + Material/Monster Bone + + + + 225 + 25 + + Sword + + + Weapon/Sword/Brandish + + + Item/Sword, general + + + + + Sword/Calibur + + + + 5 + + Material/Light Shard + + + + 2 + + Material/Bronze Bolt + + + + 2 + + Material/Swordstone + + + + 225 + 25 + + Sword + + + Weapon/Sword/Calibur + + + Item/Sword, general + + + + + Sword/Cautery Sword + + + + 10 + + Material/Dark Shard + + + + 3 + + Material/Beast Scale + + + + 2 + + Material/Monster Bone + + + + + Material/Rock Salt + + + + + Weapon/Sword/Brandish + + + + 225 + 25 + + Sword + + + Weapon/Sword/Cautery Sword + + + Item/Sword, general + + + + + Sword/Cold Iron Carver + + + + 15 + + Material/Light Shard + + + + 4 + + Material/Ecto Drop + + + + 3 + + Material/Grave Soil + + + + 2 + + Material/Soul Dust + + + + + Material/Ghost Bell + + + + + Weapon/Sword/Tempered Calibur + + 5 + + + 225 + 25 + + Sword + + + Weapon/Sword/Cold Iron Carver + + + Item/Sword, general + + + + + Sword/Cold Iron Vanquisher + + + + 20 + + Material/Light Shard + + + + 5 + + Material/Ecto Drop + + + + 4 + + Material/Grave Soil + + + + 3 + + Material/Soul Dust + + + + 2 + + Material/Ghost Bell + + + + + Material/Reaper Rib + + + + + Weapon/Sword/Cold Iron Carver + + 10 + + + 225 + 25 + + Sword + + + Weapon/Sword/Cold Iron Vanquisher + + + Item/Sword, general + + + + + Sword/Cutter + + + + 5 + + Material/Green Shard + + + + 2 + + Material/Sharp Fang + + + + 2 + + Material/Monster Bone + + + + 225 + 25 + + Sword + + + Weapon/Sword/Cutter + + + Item/Sword, general + + + + + Sword/Divine Avenger + + + + 20 + + Material/Light Shard + + + + 5 + + Material/Ecto Drop + + + + 4 + + Material/Swordstone + + + + 3 + + Material/Redwood + + + + 2 + + Material/Miracloth + + + + + Material/Sun Silver + + + + + Weapon/Sword/Avenger + + 10 + + + 600 + 100 + + Sword + + + Weapon/Sword/Divine Avenger + + + Item/Sword, general + + + + + Sword/Dread Venom Striker + + + + 20 + + Material/Dark Shard + + + + 5 + + Material/Sharp Fang + + + + 4 + + Material/Monster Bone + + + + 3 + + Material/Bushy Tail + + + + + Material/Warp Dust + + + + + Material/Corrosive Acid + + + + + Material/Plague Essence + + + + + Weapon/Sword/Vile Striker + + 10 + + + 225 + 25 + + Sword + + + Weapon/Sword/Dread Venom Striker + + + Item/Sword, general + + + + + Sword/Fang of Vog + + + + 20 + + Material/Red Shard + + + + 5 + + Material/Sharp Fang + + + + 2 + + Material/Swordstone + + + + 2 + + Material/Monster Bone + + + + 3 + + Material/Critter Carapace + + + + 2 + + Material/Blaze Pepper + + + + + Material/Primal Ore + + + + + Weapon/Sword/Hunting Blade + + 10 + + + 600 + 100 + + Sword + + + Weapon/Sword/Fang of Vog + + + Item/Sword, general + + + + + Sword/Faust + + + + 15 + + Material/Dark Shard + + + + 4 + + Material/Ecto Drop + + + + 3 + + Material/Swordstone + + + + 2 + + Material/Redwood + + + + + Material/Mug of Misery + + + + + Weapon/Sword/Sealed Sword + + 5 + + + 600 + 100 + + Sword + + + Weapon/Sword/Faust + + + Item/Sword, general + + + + + Sword/Fireburst Brandish + + + + 10 + + Material/Red Shard + + + + 3 + + Material/Beast Scale + + + + + Material/Monster Bone + + + + + Material/Blast Powder + + + + + Material/Torchstone + + + + + Weapon/Sword/Brandish + + + + 225 + 25 + + Sword + + + Weapon/Sword/Fireburst Brandish + + + Item/Sword, general + + + + + Sword/Gran Faust + + + + 20 + + Material/Dark Shard + + + + 5 + + Material/Ecto Drop + + + + 4 + + Material/Swordstone + + + + 3 + + Material/Redwood + + + + 2 + + Material/Mug of Misery + + + + + Material/Shadow Steel + + + + + Weapon/Sword/Faust + + 10 + + + 600 + 100 + + Sword + + + Weapon/Sword/Gran Faust + + + Item/Sword, general + + + + + Sword/Heavy Hatchet + + + + 3 + + Material/Dark Shard + + + + 2 + + Material/Scrap Metal + + + + 600 + 100 + + Sword + + + Weapon/Sword/Heavy Hatchet + + + Item/Sword, general + + + + + Sword/Hot Edge + + + + 3 + + Material/Red Shard + + + + 2 + + Material/Brimstone + + + + 600 + 100 + + Sword + + + Weapon/Sword/Hot Edge + + + Item/Sword, general + + + + + Sword/Hunting Blade + + + + 15 + + Material/Green Shard + + + + 4 + + Material/Sharp Fang + + + + 3 + + Material/Monster Bone + + + + 2 + + Material/Bushy Tail + + + + + Material/Chroma Tear + + + + + Weapon/Sword/Striker + + 5 + + + 225 + 25 + + Sword + + + Weapon/Sword/Hunting Blade + + + Item/Sword, general + + + + + Sword/Iceburst Brandish + + + + 10 + + Material/Green Shard + + + + 3 + + Material/Scrap Metal + + + + + Material/Monster Bone + + + + + Material/Frost Gel + + + + + Material/Hailstone + + + + + Weapon/Sword/Brandish + + + + 225 + 25 + + Sword + + + Weapon/Sword/Iceburst Brandish + + + Item/Sword, general + + + + + Sword/Kamarin + + + + 10 + + Material/Red Shard + + + + 3 + + Material/Brimstone + + + + 2 + + Material/Driftwood + + + + + Material/Redwood + + + + + Weapon/Sword/Troika + + + + 225 + 25 + + Sword + + + Weapon/Sword/Kamarin + + + Item/Sword, general + + + + + Sword/Khorovod + + + + 15 + + Material/Red Shard + + + + 4 + + Material/Brimstone + + + + 3 + + Material/Driftwood + + + + 2 + + Material/Redwood + + + + + Material/Heavy Gear + + + + + Weapon/Sword/Kamarin + + 5 + + + 225 + 25 + + Sword + + + Weapon/Sword/Khorovod + + + Item/Sword, general + + + + + Sword/Leviathan Blade + + + + 20 + + Material/Light Shard + + + + 5 + + Material/Bronze Bolt + + + + 4 + + Material/Swordstone + + + + 3 + + Material/Force Dynamo + + + + 2 + + Material/Silver Coil + + + + + Material/Sun Silver + + + + + Weapon/Sword/Ascended Calibur + + 10 + + + 225 + 25 + + Sword + + + Weapon/Sword/Leviathan Blade + + + Item/Sword, general + + + + + Sword/Nightblade + + + + 10 + + Material/Dark Shard + + + + 3 + + Material/Brimstone + + + + 2 + + Material/Forbidden Fruit + + + + + Material/Phial of Phear + + + + + Weapon/Sword/Brandish + + + + 225 + 25 + + Sword + + + Weapon/Sword/Nightblade + + + Item/Sword, general + + + + + Sword/Sealed Sword + + + + 10 + + Material/Red Shard + + + + 3 + + Material/Ecto Drop + + + + 2 + + Material/Swordstone + + + + + Material/Redwood + + + + 600 + 100 + + Sword + + + Weapon/Sword/Avenger + + + Item/Sword, general + + + + + Sword/Searing Edge + + + + 5 + + Material/Red Shard + + + + + Material/Scrap Metal + + + + + Material/Gel Drop + + + + + Material/Gel Core + + + + + Weapon/Sword/Hot Edge + + + + 600 + 100 + + Sword + + + Weapon/Sword/Searing Edge + + + Item/Sword, general + + + + + Sword/Shocking Edge + + + + 5 + + Material/Blue Shard + + + + + Material/Scrap Metal + + + + + Material/Gel Drop + + + + + Material/Gel Core + + + + + Weapon/Sword/Static Edge + + + + 600 + 100 + + Sword + + + Weapon/Sword/Shocking Edge + + + Item/Sword, general + + + + + Sword/Spur + + + + 5 + + Material/Blue Shard + + + + 2 + + Material/Scrap Metal + + + + 2 + + Material/Gel Core + + + + 225 + 25 + + Sword + + + Weapon/Sword/Spur + + + Item/Sword, general + + + + + Sword/Static Edge + + + + 3 + + Material/Blue Shard + + + + 2 + + Material/Ecto Drop + + + + 600 + 100 + + Sword + + + Weapon/Sword/Static Edge + + + Item/Sword, general + + + + + Sword/Striker + + + + 10 + + Material/Green Shard + + + + 3 + + Material/Sharp Fang + + + + 2 + + Material/Monster Bone + + + + + Material/Bushy Tail + + + + + Weapon/Sword/Cutter + + + + 225 + 25 + + Sword + + + Weapon/Sword/Striker + + + Item/Sword, general + + + + + Sword/Super Slime Slasher + + + + 3 + + Material/Green Shard + + + + 2 + + Material/Gel Drop + + + + + Weapon/Sword/Slime Slasher + + + + 600 + 100 + + Sword + + + Weapon/Sword/Super Slime Slasher + + + Item/Sword, general + + + + + Sword/Tempered Calibur + + + + 10 + + Material/Light Shard + + + + 3 + + Material/Bronze Bolt + + + + 2 + + Material/Swordstone + + + + + Material/Force Dynamo + + + + + Weapon/Sword/Calibur + + + + 225 + 25 + + Sword + + + Weapon/Sword/Tempered Calibur + + + Item/Sword, general + + + + + Sword/Thwack Hammer + + + + 3 + + Material/Red Shard + + + + 2 + + Material/Bronze Bolt + + + + 225 + 25 + + Sword + + + Weapon/Sword/Thwack Hammer + + + Item/Sword, general + + + + + Sword/Troika + + + + 5 + + Material/Red Shard + + + + 2 + + Material/Brimstone + + + + 2 + + Material/Driftwood + + + + 225 + 25 + + Sword + + + Weapon/Sword/Troika + + + Item/Sword, general + + + + + Sword/Vile Striker + + + + 15 + + Material/Dark Shard + + + + 4 + + Material/Sharp Fang + + + + 3 + + Material/Monster Bone + + + + + Material/Bushy Tail + + + + + Material/Toxic Core + + + + + Material/Corrosive Acid + + + + + Weapon/Sword/Striker + + 5 + + + 225 + 25 + + Sword + + + Weapon/Sword/Vile Striker + + + Item/Sword, general + + + + + Sword/Wild Hunting Blade + + + + 20 + + Material/Green Shard + + + + 5 + + Material/Sharp Fang + + + + 4 + + Material/Monster Bone + + + + 3 + + Material/Bushy Tail + + + + 2 + + Material/Chroma Tear + + + + + Material/Primal Ore + + + + + Weapon/Sword/Hunting Blade + + 10 + + + 225 + 25 + + Sword + + + Weapon/Sword/Wild Hunting Blade + + + Item/Sword, general + + + + + Sword/Winmillion + + + + 15 + + Material/Blue Shard + + + + 4 + + Material/Scrap Metal + + + + 3 + + Material/Gel Core + + + + 2 + + Material/Rocket Sprocket + + + + + Material/Silver Coil + + + + + Weapon/Sword/Arc Razor + + 5 + + + 225 + 25 + + Sword + + + Weapon/Sword/Winmillion + + + Item/Sword, general + + + + + Sword/Wrench Wand + + + + 5 + + Material/Red Shard + + + + 2 + + Material/Scrap Metal + + + + + Material/Gremlin Gizmo + + + + + Material/Gel Core + + + + 225 + 25 + + Sword + + + Weapon/Sword/Wrench Wand + + + Item/Sword, general + + + + + \ No newline at end of file diff --git a/rsrc/rsrc/config/recipe_property.xml b/rsrc/rsrc/config/recipe_property.xml new file mode 100644 index 0000000..349568e --- /dev/null +++ b/rsrc/rsrc/config/recipe_property.xml @@ -0,0 +1,185 @@ + + + + + Alloy + + + + 100 + 2 + + + 200 + 5 + + + 400 + 10 + + + 800 + 50 + + + 1600 + 100 + + + 3200 + 200 + + + + + + Armor + + + Base/Equipment + + + + + Base/Equipment + + + + 40 + 2 + + + 200 + 10 + + + 400 + 50 + + + 1000 + 100 + + + 2500 + 200 + + + 5000 + 300 + + + + + + Bomb + + + Base/Equipment + + + + + Handgun + + + Base/Equipment + + + + + Helm + + + Base/Equipment + + + + + Material + + + + 100 + 20 + + + 200 + 40 + + + 400 + 80 + + + 800 + 160 + + + 1600 + 320 + + + 3200 + 640 + + + + + + Quest + + + + 100 + 20 + + + 200 + 40 + + + 400 + 80 + + + 800 + 160 + + + 1600 + 320 + + + 3200 + 640 + + + + + + Shield + + + Base/Equipment + + + + + Sword + + + Base/Equipment + + + + + Trinket + + + Base/Equipment + + + + + \ No newline at end of file diff --git a/rsrc/rsrc/config/scene_global.xml b/rsrc/rsrc/config/scene_global.xml new file mode 100644 index 0000000..ae9c134 --- /dev/null +++ b/rsrc/rsrc/config/scene_global.xml @@ -0,0 +1,396 @@ + + + + + Camera + + + FOV + implementation.camera.fov + + + Near + implementation.camera.near + + + Far + implementation.camera.far + + + Coords + implementation.camera.coords + + + + + + + Dungeon Modifiers/Party Monster Damage Max Boost + + + Max Bonus + implementation.max_bonus + + + + + + + Dungeon Modifiers/Party Monster HP Max Boost + + + Max Bonus + implementation.max_bonus + + + + + + + Environment/Ambient + + + Color + implementation.model["Color"] + + + + + world/environment/global_ambient.dat + + Color + 0.2, 0.2, 0.2, 1.0 + + + + + + Environment/Background Color + + + Color + implementation.model["Color"] + + + + + world/environment/global_background_color.dat + + Color + 0.0, 0.0, 0.0, 1.0 + + + + + + Environment/Fog + + + State + implementation.model["State"] + + + + + world/environment/global_fog.dat + + State + + + + + + + + Environment/Intro Mix + + + Intro File + implementation.model["Sounder"]["Sounders"][0].sounder["File"] + + + Files + implementation.model["Sounder"]["Sounders"][1].sounder["Files"] + + + Gain + implementation.model["Sounder"]["Sounders"][0].sounder["Gain"], implementation.model["Sounder"]["Sounders"][1].sounder["Gain"] + + + Cross Fade + implementation.model["Sounder"]["Sounders"][1].sounder["Cross Fade"] + + + + + world/environment/global_sounder.dat + + Sounder + + Sequential + + Sounders + + + + Stream/Default (Gain, Loop) + + File + + Gain + 1.0 + Loop + false + + + + + + Meta Stream/Default (Gain) + + Cross Fade + 0.0 + Files + + + Gain + 1.0 + Range + Medium + + + + + + + + + + + + Environment/Light + + + Light + implementation.model["Light"] + + + + + world/environment/global_light.dat + + Light + + 0.0, -4.371139E-8, 1.0 + + + + + + + Environment/Model + + + Model + implementation.model + + + + + Environment/Music + + + File + implementation.model["File"] + + + Gain + implementation.model["Gain"] + + + + + world/environment/global_music.dat + + File + + Gain + 1.0 + + + + + + Environment/Music Mix + + + Files + implementation.model["Files"] + + + Gain + implementation.model["Gain"] + + + Cross Fade + implementation.model["Cross Fade"] + + + + + world/environment/global_music_mix.dat + + Cross Fade + 1.0 + Files + + + Gain + 1.0 + + + + + + Environment/Particles + + + Model + implementation.model["High"]["Model"] + + + + + model/schemed/high_medium.dat + + High + + world/environment/global_particles.dat + + Model + + + + Medium + + + + + + + Environment/Render Effect + + + Render Effect + implementation.model["Render Effect"] + + + + + world/environment/global_render_effect.dat + + Render Effect + + + + + + + Environment/Shadow Color + + + Color + implementation.model["Definitions"][0].expression.value + + + + + world/environment/global_definitions.dat + + Definitions + + + shadowColor + + 0.0, 0.0, 0.0, 1.0 + + + + + + + + + Environment/Skybox + + + Model + implementation.model["Model"] + + + + + world/environment/global_skybox.dat + + Model + + + + + + + Prefabs/PrefabData + + + Tags + implementation.tags.derived + + + ExclusiveTags + implementation.exclusive_tags.derived + + + Rarity + implementation.rarity + + + Trivial + implementation.trivial + + + NoTransition + implementation.noTransition + + + MinDepth + implementation.minDepth + + + + + + + Prefabs/PrefabLayerData + + + Layer + implementation.layer + + + Additional Tags + implementation.tags.derived + + + Rarity Override + implementation.rarity + + + MinDepth Override + implementation.minDepth + + + + + + + \ No newline at end of file diff --git a/rsrc/rsrc/config/spawn_table.xml b/rsrc/rsrc/config/spawn_table.xml new file mode 100644 index 0000000..c5581aa --- /dev/null +++ b/rsrc/rsrc/config/spawn_table.xml @@ -0,0 +1,36449 @@ + + + + + Block/Breakable, Random/Castle, base + + + + + 900.0 + + + 1000.0 + + + Block/Breakable/Castle + + + + + 100.0 + + + Block/Explosive + + + + + 5.0 + + + Block/Ghost + + + + + + + + + Block/Breakable, Random/City, base + + + + + 1000.0 + + + 900.0 + + + Block/Breakable/City, Base + + + + + 100.0 + + + Block/Explosive + + + + + 5.0 + + + Block/Ghost + + + + + + + + + Block/Breakable, Random/Clockworks, base + + + + + 1000.0 + + + 900.0 + + + Block/Theme Variants {stc}/Breakable/Clockworks + + + + + 100.0 + + + Block/Explosive + + + + + 5.0 + + + Block/Ghost + + + + + + + + + Block/Breakable, Random/Clockworks, base (Respawn) + + + + + 900.0 + + + Block/Theme Variants {stc}/Breakable/Clockworks + + + + + 100.0 + + + Block/Explosive + + + + + 5.0 + + + Block/Ghost + + + + + + + + + Block/Breakable, Random/Shrub + + + + + 900.0 + + + 1000.0 + + + Block/Gathering/Shrub, common + + + + + 100.0 + + + Block/Explosive + + + + + 5.0 + + + Block/Explosive Timed + + + + + + + + + Block/Breakable, Random/Sky Islands, Night + + + + + 1000.0 + + + 900.0 + + + Block/Breakable/Sky Islands, Night + + + + + 100.0 + + + Block/Explosive + + + + + 5.0 + + + Block/Ghost + + + + + + + + + Block/Breakable, Random/WhiteSpace, base + + + + + 700.0 + + + 900.0 + + + Block/Breakable/WhiteSpace + + + + + 100.0 + + + Block/Explosive (WhiteSpace) + + + + + 10.0 + + + Block/Monster (WhiteSpace) + + + + + 5.0 + + + Block/Ghost (WhiteSpace) + + + + + + + Block/Treasure + + Color + Green + Spawn Table + + Treasure/Block/WhiteSpace/WhiteSpace Block + + + + + + + + + + + Block/Crystal, Random/Any Color + + + + + + + Block/Crystal, Random/Blue + + + + + + + Block/Crystal, Random/Gold + + + + + + + Block/Crystal, Random/Gray + + + + + + + Block/Crystal, Random/Green + + + + + + + Block/Crystal, Random/Pink + + + + + + + Block/Crystal, Random/Purple + + + + + + + + + Block/Crystal, Random/Blue + + + + + 1000.0 + + + 750.0 + + + Block/Crystal/Blue + + + + + 100.0 + + + Block/Explosive + + + + + 5.0 + + + Block/Ghost + + + + + + + + + Block/Crystal, Random/Gold + + + + + 1000.0 + + + 750.0 + + + Block/Crystal/Gold + + + + + 100.0 + + + Block/Explosive + + + + + 5.0 + + + Block/Ghost + + + + + + + + + Block/Crystal, Random/Gray + + + + + 1000.0 + + + 750.0 + + + Block/Crystal/Gray + + + + + 100.0 + + + Block/Explosive + + + + + 5.0 + + + Block/Ghost + + + + + + + + + Block/Crystal, Random/Green + + + + + 1000.0 + + + 750.0 + + + Block/Crystal/Green + + + + + 100.0 + + + Block/Explosive + + + + + 5.0 + + + Block/Ghost + + + + + + + + + Block/Crystal, Random/Pink + + + + + 1000.0 + + + 750.0 + + + Block/Crystal/Pink + + + + + 100.0 + + + Block/Explosive + + + + + 5.0 + + + Block/Ghost + + + + + + + + + Block/Crystal, Random/Purple + + + + + 1000.0 + + + 750.0 + + + Block/Crystal/Purple + + + + + 100.0 + + + Block/Explosive + + + + + 5.0 + + + Block/Ghost + + + + + + + + + Block/Mineral/Crimsonite Node + + + + + 2.0 + + + Block/Mineral/Crimsonite Node + + + + + + + Block/Mineral/Parts/Other Random Node + + Deposit 1 + + Block/Mineral/Dark Matter Node + + Deposit 2 + + Block/Mineral/Luminite Node + + Deposit 3 + + Block/Mineral/Moonstone Node + + Deposit 4 + + Block/Mineral/Valestone Node + + + + + + + 0.5 + + + + + + + Block/Mineral/Dark Matter Node + + + + + 2.0 + + + Block/Mineral/Dark Matter Node + + + + + + + Block/Mineral/Parts/Other Random Node + + Deposit 1 + + Block/Mineral/Crimsonite Node + + Deposit 2 + + Block/Mineral/Luminite Node + + Deposit 3 + + Block/Mineral/Moonstone Node + + Deposit 4 + + Block/Mineral/Valestone Node + + + + + + + 0.5 + + + + + + + Block/Mineral/Generic {stc} + + + Group + implementation.group + + + + + + Block/Mineral/Parts/Random Node + + + + + Block/Mineral/Typed/Crimsonite Node + + + + + Block/Mineral/Typed/Dark Matter Node + + + + + Block/Mineral/Typed/Luminite Node + + + + + Block/Mineral/Typed/Moonstone Node + + + + + Block/Mineral/Typed/Valestone Node + + + + + + + + Block/Mineral/Luminite Node + + + + + 2.0 + + + Block/Mineral/Luminite Node + + + + + + + Block/Mineral/Parts/Other Random Node + + Deposit 1 + + Block/Mineral/Crimsonite Node + + Deposit 2 + + Block/Mineral/Dark Matter Node + + Deposit 3 + + Block/Mineral/Moonstone Node + + Deposit 4 + + Block/Mineral/Valestone Node + + + + + + + 0.5 + + + + + + + Block/Mineral/Moonstone Node + + + + + 2.0 + + + Block/Mineral/Moonstone Node + + + + + + + Block/Mineral/Parts/Other Random Node + + Deposit 1 + + Block/Mineral/Crimsonite Node + + Deposit 2 + + Block/Mineral/Dark Matter Node + + Deposit 3 + + Block/Mineral/Luminite Node + + Deposit 4 + + Block/Mineral/Valestone Node + + + + + + + 0.5 + + + + + + + Block/Mineral/Parts/Other Random Node + + + Deposit 1 + implementation.root.entries[0].entry.spawn_table + + + Deposit 2 + implementation.root.entries[1].entry.spawn_table + + + Deposit 3 + implementation.root.entries[2].entry.spawn_table + + + Deposit 4 + implementation.root.entries[3].entry.spawn_table + + + + + + + + + + + + + + + + + + + + + + + + + + + Block/Mineral/Parts/Random Node + + + + + + + Block/Mineral/Crimsonite Node + + + + + + + Block/Mineral/Dark Matter Node + + + + + + + Block/Mineral/Luminite Node + + + + + + + Block/Mineral/Moonstone Node + + + + + + + Block/Mineral/Valestone Node + + + + + + + + + Block/Mineral/Parts/Random Node Base + + + + + + + Block/Mineral/Crimsonite Node + + + + + + + Block/Mineral/Dark Matter Node + + + + + + + Block/Mineral/Luminite Node + + + + + + + Block/Mineral/Moonstone Node + + + + + + + Block/Mineral/Valestone Node + + + + + + + + + Block/Mineral/Parts/Typed Mineral Base + + + Spawn Types + implementation.spawn_types + + + Mineral + implementation.root.entries[0].entry.actor + + + + + + + + + 2.0 + + + Block/Mineral/Parts/Random Node + + + + + + + + + Block/Mineral/Random Mineral Node + + + + + 10.0 + + + Block/Mineral/Parts/Random Node Base + + + + + + + + + + + Block/Mineral/Typed/Crimsonite Node + + + Block/Mineral/Parts/Typed Mineral Base + + Mineral + + Block/Mineral/Crimsonite Node + + Spawn Types + slime, undead, construct, freeze, shock, poison + + + + + + Block/Mineral/Typed/Dark Matter Node + + + Block/Mineral/Parts/Typed Mineral Base + + Mineral + + Block/Mineral/Dark Matter Node + + Spawn Types + slime, beast, gremlin, construct, fire, freeze + + + + + + Block/Mineral/Typed/Luminite Node + + + Block/Mineral/Parts/Typed Mineral Base + + Mineral + + Block/Mineral/Luminite Node + + Spawn Types + beast, fiend, gremlin, freeze, shock, poison + + + + + + Block/Mineral/Typed/Moonstone Node + + + Block/Mineral/Parts/Typed Mineral Base + + Mineral + + Block/Mineral/Moonstone Node + + Spawn Types + slime, beast, undead, fiend, fire, poison + + + + + + Block/Mineral/Typed/Valestone Node + + + Block/Mineral/Parts/Typed Mineral Base + + Mineral + + Block/Mineral/Valestone Node + + Spawn Types + undead, fiend, gremlin, construct, fire, shock + + + + + + Block/Mineral/Valestone Node + + + + + 2.0 + + + Block/Mineral/Valestone Node + + + + + + + Block/Mineral/Parts/Other Random Node + + Deposit 1 + + Block/Mineral/Crimsonite Node + + Deposit 2 + + Block/Mineral/Dark Matter Node + + Deposit 3 + + Block/Mineral/Luminite Node + + Deposit 4 + + Block/Mineral/Moonstone Node + + + + + + + 0.5 + + + + + + + Block/Misc/Stone Block, Jelly Spawn + + true + + 0.0 + 0.0 + + + + + 10 + + + 19 + + + + 200.0 + + + + + Monster/Single Family/Slime/Rock Jelly + + Tag + (Wave Tag) + + + + + + + + + + + + + Block/Monster Block/Monster 1 + + + + + 100.0 + + + Monster/Single Family/Beast/Scaled - Chromalisk + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + 100.0 + + + Monster/Single Family/Beast/Scaled - Wolver + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + 100.0 + + + Monster/Single Family/Beast/Scaled - Virulisk + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + 100.0 + + + Monster/Single Family/Construct/Scaled - Gun Puppy + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + 50.0 + + + Monster/Single Family/Construct/Scaled - Rocket Puppy + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + 25.0 + + + Monster/Single Family/Construct/Scaled - Red Rover + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Construct/Scaled - Mecha Knight + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Fiend/Scaled - Devilite + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Fiend/Scaled - Silkwing + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Gremlin/Scaled - Random 1 + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Slime/Scaled - Jelly Cube + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Slime/Scaled - Sloom + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Slime/Scaled - Toxigel + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Slime/Scaled - Blast Cube + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Undead/Scaled - Spookat + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Undead/Scaled - Dust Zombie + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + + + Block/Shrub Chance 1 + + + + + 1000.0 + + + 600.0 + + + Block/Gathering/Shrub, common + + + + + 70.0 + + + Block/Gathering/Shrub, rare + + + + + + + Block/Gathering/Shrub, rare 2 + + + + + + + + + Block/Theme Variants {stc}/Breakable/Clockworks + + + + Block/Theme Variants {stc}/Parts/Breakable/Clockworks/Default + + + + + Block/Theme Variants {stc}/Parts/Breakable/Clockworks/Default + + + + + Block/Theme Variants {stc}/Parts/Breakable/Clockworks/Fire + + + + + Block/Theme Variants {stc}/Parts/Breakable/Clockworks/Freeze + + + + + Block/Theme Variants {stc}/Parts/Breakable/Clockworks/Poison + + + + + Block/Theme Variants {stc}/Parts/Breakable/Clockworks/Shock + + + + + + + + Block/Theme Variants {stc}/Parts/Breakable/Clockworks/Default + + + + Block/Breakable/Parts/Clockworks (base) + + Texture + world/dynamic/block/breakable/clockworks/base.png + + + + vanilla + + + + Block/Theme Variants {stc}/Parts/Breakable/Clockworks/Fire + + + + Block/Breakable/Parts/Clockworks (base) + + Texture + world/dynamic/block/breakable/clockworks/fire.png + + + + fire + + + + Block/Theme Variants {stc}/Parts/Breakable/Clockworks/Freeze + + + + Block/Breakable/Parts/Clockworks (base) + + Texture + world/dynamic/block/breakable/clockworks/freeze.png + + + + freeze + + + + Block/Theme Variants {stc}/Parts/Breakable/Clockworks/Poison + + + + Block/Breakable/Parts/Clockworks (base) + + Texture + world/dynamic/block/breakable/clockworks/poison.png + + + + poison + + + + Block/Theme Variants {stc}/Parts/Breakable/Clockworks/Shock + + + + Block/Breakable/Parts/Clockworks (base) + + Texture + world/dynamic/block/breakable/clockworks/shock.png + + + + shock + + + + Lottery/Holiday Helms + + + + + + + Costume/Helm/Holiday Pith Helm + + + + + + + Costume/Helm/Holiday Sallet + + + + + + + Costume/Helm/Holiday Tailed Helm + + + + + + + + + Monster/Attacks/Devilite Throw + + + + + 0.2 + + + Bomb/Monster/DeviliteThrow + + Model + Bomb + + + + + + 0.3 + + + Bomb/Monster/DeviliteThrow + + Model + Axe + + + + + + 0.5 + + + Bomb/Monster/DeviliteThrow + + Model + Pitchfork + + + + + + + + + + Monster/Attacks/Devilite Throw (Weak) + + + + + + + Bomb/Monster/DeviliteThrow + + Model + Chair + + + + + + 0.8 + + + Bomb/Monster/DeviliteThrow + + Model + Computer + + + + + + 0.9 + + + Bomb/Monster/DeviliteThrow + + Model + Suitcase + + + + + + + + Bomb/Monster/DeviliteThrow + + Model + Book + + + + + + + + Bomb/Monster/DeviliteThrow + + Model + Stapler + + + + + + + + + + Monster/Attacks/Lichen Colony + + + + + + + Monster/Attacks/ManagerTaunts (Fired) + + + + + 0.3 + + + Bomb/Monster/ManagerTaunts + + Words + m.fired_1 + + + + + + 0.3 + + + Bomb/Monster/ManagerTaunts + + Words + m.fired_2 + + + + + + 0.3 + + + Bomb/Monster/ManagerTaunts + + Words + m.fired_3 + + + + + + + + + + Monster/Attacks/ManagerTaunts (Overtime) + + + + + 0.5 + + + Bomb/Monster/ManagerTaunts + + Words + m.overtime_1 + + + + + + 0.3 + + + Bomb/Monster/ManagerTaunts + + Words + m.overtime_2 + + + + + + 0.15 + + + Bomb/Monster/ManagerTaunts + + Words + m.overtime_3 + + + + + + 0.05 + + + Bomb/Monster/ManagerTaunts + + Words + m.overtime_4 + + + + + + + + + + Monster/Attacks/ManagerTaunts (Promotion) + + + + + 0.33 + + + Bomb/Monster/ManagerTaunts + + Words + m.promotion_1 + + + + + + 0.33 + + + Bomb/Monster/ManagerTaunts + + Words + m.promotion_2 + + + + + + 0.33 + + + Bomb/Monster/ManagerTaunts + + Words + m.promotion_3 + + + + + + + + + + Monster/Attacks/Sword(BreakSeal) + + + Power + implementation.root.entries[4].entry.actor["Damage"].damages[0].status_condition["Power"], implementation.root.entries[3].entry.actor["Damage"].damages[0].status_condition["Power"], implementation.root.entries[2].entry.actor["Damage"].damages[0].status_condition["Power"], implementation.root.entries[1].entry.actor["Damage"].damages[0].status_condition["Power"], implementation.root.entries[0].entry.actor["Damage"].damages[0].status_condition["Power"] + + + Chance + implementation.root.entries[4].entry.actor["Damage"].damages[0].status_condition["Chance"], implementation.root.entries[3].entry.actor["Damage"].damages[0].status_condition["Chance"], implementation.root.entries[2].entry.actor["Damage"].damages[0].status_condition["Chance"], implementation.root.entries[1].entry.actor["Damage"].damages[0].status_condition["Chance"], implementation.root.entries[0].entry.actor["Damage"].damages[0].status_condition["Chance"] + + + + + + + + + Bomb/Parts/Sword (SealedStatus) + + Color + 1.0, 0.2, 0.0, 1.0 + Damage + + + + 2 + + Fire 2 + + Chance + 1.0 + Power + 37 + + + + + + + + + + + + + Bomb/Parts/Sword (SealedStatus) + + Color + 0.4, 0.8, 1.0, 1.0 + Damage + + + + 2 + + Freeze 2 + + Chance + 1.0 + Power + 37 + + + + + + + + + + + + + Bomb/Parts/Sword (SealedStatus) + + Color + 0.0, 0.8, 0.6, 1.0 + Damage + + + + 2 + + Shock 2 + + Chance + 1.0 + Power + 37 + + + + + + + + + + + + + Bomb/Parts/Sword (SealedStatus) + + Color + 0.8, 0.6, 0.0, 1.0 + Damage + + + + 2 + + Stun 2 + + Chance + 1.0 + Power + 37 + + + + + + + + + + + + + Bomb/Parts/Sword (SealedStatus) + + Color + 0.0, 0.4, 0.0, 1.0 + Damage + + + + 2 + + Poison 2 + + Chance + 1.0 + Power + 37 + + + + + + + + + + + + + + + Monster/Base/Depth Scale + + + Spawn Types + implementation.spawn_types + + + Depth Offset + implementation.root.entries[0].entry.offset + + + Tier 1 + implementation.root.entries[0].entry.entries[0].entry.actor + + + Tier 2 + implementation.root.entries[0].entry.entries[1].entry.actor + + + Tier 3 + implementation.root.entries[0].entry.entries[2].entry.actor + + + Primary Weight + implementation.root.entries[0].weight + + + Alternate Weight + implementation.root.entries[1].weight + + + Alternate + implementation.root.entries[1].entry + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + 9 + + + 19 + + + + + + 0.0 + + + + + + + + + Monster/Class {stc}/Class - Brute + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"], implementation.root.entries[2].spawn_table["Wave Tag"], implementation.root.entries[3].spawn_table["Wave Tag"], implementation.root.entries[4].spawn_table["Wave Tag"], implementation.root.entries[5].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"], implementation.root.entries[1].spawn_table["Depth Offset"], implementation.root.entries[2].spawn_table["Depth Offset"], implementation.root.entries[3].spawn_table["Depth Offset"], implementation.root.entries[4].spawn_table["Depth Offset"], implementation.root.entries[5].spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Construct/Status - Lumber + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Beast/Beast - Brute + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Construct - Brute + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Fiend/Fiend - Brute + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Gremlin/Gremlin - Brute + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Slime/Slime - Brute + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Undead/Undead - Brute + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Class - Elite + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"], implementation.root.entries[2].spawn_table["Wave Tag"], implementation.root.entries[3].spawn_table["Wave Tag"], implementation.root.entries[4].spawn_table["Wave Tag"], implementation.root.entries[5].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"], implementation.root.entries[1].spawn_table["Depth Offset"], implementation.root.entries[2].spawn_table["Depth Offset"], implementation.root.entries[3].spawn_table["Depth Offset"], implementation.root.entries[4].spawn_table["Depth Offset"], implementation.root.entries[5].spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Construct/Status - Mecha Knight + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Beast/Beast - Elite + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Construct - Elite + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Fiend/Fiend - Elite + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Gremlin/Gremlin - Elite + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Slime/Slime - Elite + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Undead/Undead - Elite + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Class - Giant + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"], implementation.root.entries[2].spawn_table["Wave Tag"], implementation.root.entries[3].spawn_table["Wave Tag"], implementation.root.entries[4].spawn_table["Wave Tag"], implementation.root.entries[5].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"], implementation.root.entries[1].spawn_table["Depth Offset"], implementation.root.entries[2].spawn_table["Depth Offset"], implementation.root.entries[3].spawn_table["Depth Offset"], implementation.root.entries[4].spawn_table["Depth Offset"], implementation.root.entries[5].spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Fiend/Status - Trojan + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Beast/Beast - Giant + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Construct - Giant + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Fiend/Fiend - Giant + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Gremlin/Gremlin - Giant + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Slime/Slime - Giant + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Undead/Undead - Giant + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Class - Grunt + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"], implementation.root.entries[2].spawn_table["Wave Tag"], implementation.root.entries[3].spawn_table["Wave Tag"], implementation.root.entries[4].spawn_table["Wave Tag"], implementation.root.entries[5].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"], implementation.root.entries[1].spawn_table["Depth Offset"], implementation.root.entries[2].spawn_table["Depth Offset"], implementation.root.entries[3].spawn_table["Depth Offset"], implementation.root.entries[4].spawn_table["Depth Offset"], implementation.root.entries[5].spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Slime/Status - Jelly Cube + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Beast/Beast - Grunt + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Construct - Grunt + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Fiend/Fiend - Grunt + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Gremlin/Gremlin - Grunt + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Slime/Slime - Grunt + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Undead/Undead - Grunt + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Class - Support + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"], implementation.root.entries[2].spawn_table["Wave Tag"], implementation.root.entries[3].spawn_table["Wave Tag"], implementation.root.entries[4].spawn_table["Wave Tag"], implementation.root.entries[5].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"], implementation.root.entries[1].spawn_table["Depth Offset"], implementation.root.entries[2].spawn_table["Depth Offset"], implementation.root.entries[3].spawn_table["Depth Offset"], implementation.root.entries[4].spawn_table["Depth Offset"], implementation.root.entries[5].spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Fiend/Status - Silkwing + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Beast/Beast - Support + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Construct - Support + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Fiend/Fiend - Support + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Gremlin/Gremlin - Support + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Slime/Slime - Support + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Undead/Undead - Support + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Class - Turret + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"], implementation.root.entries[2].spawn_table["Wave Tag"], implementation.root.entries[3].spawn_table["Wave Tag"], implementation.root.entries[4].spawn_table["Wave Tag"], implementation.root.entries[5].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"], implementation.root.entries[1].spawn_table["Depth Offset"], implementation.root.entries[2].spawn_table["Depth Offset"], implementation.root.entries[3].spawn_table["Depth Offset"], implementation.root.entries[4].spawn_table["Depth Offset"], implementation.root.entries[5].spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Construct/Status - Gun Puppy + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Beast/Beast - Turret + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Construct - Turret + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Fiend/Fiend - Turret + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Gremlin/Gremlin - Turret + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Slime/Slime - Turret + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Undead/Undead - Turret + + Depth Offset + 0 + Group + + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Beast/Alpha Wolver/Alpha Ash Tail + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + beast, fire, brute + Tier 1 + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Ash Tail/Alpha Ash Tail 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Ash Tail/Alpha Ash Tail 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Ash Tail/Alpha Ash Tail 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Beast/Alpha Wolver/Alpha Frostifur + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + beast, freze, brute + Tier 1 + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Frostifur/Alpha Frostifur 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Frostifur/Alpha Frostifur 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Frostifur/Alpha Frostifur 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Beast/Alpha Wolver/Alpha Rabid Wolver + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + beast, poison, brute + Tier 1 + + Character/NPC/Monster/Beast/Alpha Wolver/Rabid Alpha Wolver/Rabid Alpha Wolver 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Beast/Alpha Wolver/Rabid Alpha Wolver/Rabid Alpha Wolver 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Beast/Alpha Wolver/Rabid Alpha Wolver/Rabid Alpha Wolver 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Beast/Alpha Wolver/Alpha Voltail + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + beast, shock, brute + Tier 1 + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Voltail/Alpha Voltail 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Voltail/Alpha Voltail 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Voltail/Alpha Voltail 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Beast/Alpha Wolver/Alpha Wolver + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + beast, vanilla, brute + Tier 1 + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Wolver/Alpha Wolver 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Wolver/Alpha Wolver 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Wolver/Alpha Wolver 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Beast/Beast - Brute + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Beast/Status - Alpha Wolver + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Beast/Status - Alpha Wolver + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Beast/Beast - Elite + + + Wave Tag + implementation.root.spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Construct/Status - Mecha Knight + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Monster/Class {stc}/Family/Beast/Beast - Giant + + + Wave Tag + implementation.root.spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Fiend/Status - Trojan + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Monster/Class {stc}/Family/Beast/Beast - Grunt + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"], implementation.root.entries[1].spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Beast/Status - Chromalisk + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Beast/Status - Chromalisk + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Beast/Status - Wolver + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Beast/Beast - Support + + + Wave Tag + implementation.root.spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Fiend/Status - Silkwing + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Monster/Class {stc}/Family/Beast/Beast - Turret + + + Wave Tag + implementation.root.spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Construct/Status - Gun Puppy + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Monster/Class {stc}/Family/Beast/Chromalisk/Chromalisk + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + beast, vanilla, grunt + Tier 1 + + Character/NPC/Monster/Beast/Chromalisk/Chromalisk/Chromalisk 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Beast/Chromalisk/Chromalisk/Chromalisk 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Beast/Chromalisk/Chromalisk/Chromalisk 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Beast/Chromalisk/Electolisk + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + beast, shock, grunt + Tier 1 + + Character/NPC/Monster/Beast/Chromalisk/Electrolisk/Electrolisk 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Beast/Chromalisk/Electrolisk/Electrolisk 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Beast/Chromalisk/Electrolisk/Electrolisk 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Beast/Chromalisk/Salamander + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + beast, fire, grunt + Tier 1 + + Character/NPC/Monster/Beast/Chromalisk/Salamander/Salamander 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Beast/Chromalisk/Salamander/Salamander 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Beast/Chromalisk/Salamander/Salamander 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Beast/Chromalisk/Tundralisk + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + beast, freeze, grunt + Tier 1 + + Character/NPC/Monster/Beast/Chromalisk/Tundralisk/Tundralisk 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Beast/Chromalisk/Tundralisk/Tundralisk 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Beast/Chromalisk/Tundralisk/Tundralisk 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Beast/Chromalisk/Virulisk + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + beast, poison, grunt + Tier 1 + + Character/NPC/Monster/Beast/Chromalisk/Virulisk/Virulisk 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Beast/Chromalisk/Virulisk/Virulisk 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Beast/Chromalisk/Virulisk/Virulisk 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Beast/Kleptolisk/Kleptolisk + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + beast, vanilla, grunt + Tier 1 + + Character/NPC/Monster/Beast/Kleptolisk/Kleptolisk 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Beast/Kleptolisk/Kleptolisk 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Beast/Kleptolisk/Kleptolisk 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Beast/Status - Alpha Wolver + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"], implementation.root.entries[2].spawn_table["Wave Tag"], implementation.root.entries[3].spawn_table["Wave Tag"], implementation.root.entries[4].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"], implementation.root.entries[1].spawn_table["Depth Offset"], implementation.root.entries[2].spawn_table["Depth Offset"], implementation.root.entries[3].spawn_table["Depth Offset"], implementation.root.entries[4].spawn_table["Depth Offset"] + + + + + + Monster/Class {stc}/Family/Beast/Alpha Wolver/Alpha Wolver + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Beast/Alpha Wolver/Alpha Ash Tail + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Beast/Alpha Wolver/Alpha Frostifur + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Beast/Alpha Wolver/Alpha Rabid Wolver + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Beast/Alpha Wolver/Alpha Voltail + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Beast/Alpha Wolver/Alpha Wolver + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Beast/Status - Chromalisk + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"], implementation.root.entries[2].spawn_table["Wave Tag"], implementation.root.entries[3].spawn_table["Wave Tag"], implementation.root.entries[4].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"], implementation.root.entries[1].spawn_table["Depth Offset"], implementation.root.entries[2].spawn_table["Depth Offset"], implementation.root.entries[3].spawn_table["Depth Offset"], implementation.root.entries[4].spawn_table["Depth Offset"] + + + + + + Monster/Class {stc}/Family/Beast/Chromalisk/Chromalisk + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Beast/Chromalisk/Salamander + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Beast/Chromalisk/Tundralisk + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Beast/Chromalisk/Virulisk + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Beast/Chromalisk/Electolisk + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Beast/Chromalisk/Chromalisk + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Beast/Status - Kleptolisk + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"] + + + + + + Monster/Class {stc}/Family/Beast/Kleptolisk/Kleptolisk + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Beast/Kleptolisk/Kleptolisk + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Beast/Status - Wolver + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"], implementation.root.entries[2].spawn_table["Wave Tag"], implementation.root.entries[3].spawn_table["Wave Tag"], implementation.root.entries[4].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"], implementation.root.entries[1].spawn_table["Depth Offset"], implementation.root.entries[2].spawn_table["Depth Offset"], implementation.root.entries[3].spawn_table["Depth Offset"], implementation.root.entries[4].spawn_table["Depth Offset"] + + + + + + Monster/Class {stc}/Family/Beast/Wolver/Wolver + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Beast/Wolver/Ash Tail + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Beast/Wolver/Frostifur + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Beast/Wolver/Rabid Wolver + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Beast/Wolver/Voltail + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Beast/Wolver/Wolver + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Beast/Wolver/Ash Tail + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + beast, fire, grunt + Tier 1 + + Character/NPC/Monster/Beast/Wolver/Ash Tail/Ash Tail 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Beast/Wolver/Ash Tail/Ash Tail 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Beast/Wolver/Ash Tail/Ash Tail 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Beast/Wolver/Frostifur + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + beast, freeze, grunt + Tier 1 + + Character/NPC/Monster/Beast/Wolver/Frostifur/Frostifur 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Beast/Wolver/Frostifur/Frostifur 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Beast/Wolver/Frostifur/Frostifur 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Beast/Wolver/Rabid Wolver + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + beast, poison, grunt + Tier 1 + + Character/NPC/Monster/Beast/Wolver/Rabid Wolver/Rabid Wolver 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Beast/Wolver/Rabid Wolver/Rabid Wolver 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Beast/Wolver/Rabid Wolver/Rabid Wolver 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Beast/Wolver/Voltail + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + beast, shock, grunt + Tier 1 + + Character/NPC/Monster/Beast/Wolver/Voltail/Voltail 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Beast/Wolver/Voltail/Voltail 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Beast/Wolver/Voltail/Voltail 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Beast/Wolver/Wolver + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + beast, vanilla, grunt + Tier 1 + + Character/NPC/Monster/Beast/Wolver/Wolver/Wolver 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Beast/Wolver/Wolver/Wolver 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Beast/Wolver/Wolver/Wolver 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Construct/Construct - Brute + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Construct/Status - Lumber + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Status - Lumber + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Construct/Construct - Elite + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Construct/Status - Mecha Knight + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Status - Mecha Knight + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Construct/Construct - Giant + + + Wave Tag + implementation.root.spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Slime/Status - Large Lichen + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Monster/Class {stc}/Family/Construct/Construct - Grunt + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"], implementation.root.entries[1].spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Construct/Status - Scuttlebot + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Status - Retrode + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Status - Scuttlebot + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Construct/Construct - Support + + + Wave Tag + implementation.root.spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Gremlin/Status - Mender + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Monster/Class {stc}/Family/Construct/Construct - Turret + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"], implementation.root.entries[1].spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Construct/Status - Gun Puppy + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Status - Gun Puppy + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Status - Rocket Puppy + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Construct/Gun Puppy/Gun Puppy + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + construct, vanilla, turret + Tier 1 + + Character/NPC/Monster/Construct/Gun Puppy/Gun Puppy/Gun Puppy 1 + + No Loot Tag + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Construct/Gun Puppy/Gun Puppy/Gun Puppy 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Construct/Gun Puppy/Gun Puppy/Gun Puppy 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Construct/Gun Puppy/Red Rover + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + construct, fire, turret + Tier 1 + + Character/NPC/Monster/Construct/Gun Puppy/Red Rover/Red Rover 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Construct/Gun Puppy/Red Rover/Red Rover 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Construct/Gun Puppy/Red Rover/Red Rover 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Construct/Gun Puppy/Sick Puppy + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + construct, poison, turret + Tier 1 + + Character/NPC/Monster/Construct/Gun Puppy/Sick Puppy/Sick Puppy 1 + + No Loot Tag + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Construct/Gun Puppy/Sick Puppy/Sick Puppy 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Construct/Gun Puppy/Sick Puppy/Sick Puppy 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Construct/Gun Puppy/Slush Puppy + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + construct, freeze, turret + Tier 1 + + Character/NPC/Monster/Construct/Gun Puppy/Slush Puppy/Slush Puppy 1 + + No Loot Tag + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Construct/Gun Puppy/Slush Puppy/Slush Puppy 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Construct/Gun Puppy/Slush Puppy/Slush Puppy 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Construct/Gun Puppy/Sparky + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + construct, shock, turret + Tier 1 + + Character/NPC/Monster/Construct/Gun Puppy/Spark Puppy/Spark Puppy 1 + + No Loot Tag + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Construct/Gun Puppy/Spark Puppy/Spark Puppy 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Construct/Gun Puppy/Spark Puppy/Spark Puppy 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Construct/Lumber/Electreant + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + construct, shock, brute + Tier 1 + + Character/NPC/Monster/Construct/Lumber/Electreant/Electreant 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Construct/Lumber/Electreant/Electreant 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Construct/Lumber/Electreant/Electreant 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Construct/Lumber/Lumber + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + construct, vanilla, brute + Tier 1 + + Character/NPC/Monster/Construct/Lumber/Lumber/Lumber 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Construct/Lumber/Lumber/Lumber 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Construct/Lumber/Lumber/Lumber 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Construct/Lumber/Redward + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + construct, fire, brute + Tier 1 + + Character/NPC/Monster/Construct/Lumber/Redward/Redward 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Construct/Lumber/Redward/Redward 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Construct/Lumber/Redward/Redward 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Construct/Lumber/Silversap + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + construct, freeze, brute + Tier 1 + + Character/NPC/Monster/Construct/Lumber/Silversap/Silversap 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Construct/Lumber/Silversap/Silversap 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Construct/Lumber/Silversap/Silversap 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Construct/Lumber/Vilewood + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + construct, poison, brute + Tier 1 + + Character/NPC/Monster/Construct/Lumber/Vilewood/Vilewood 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Construct/Lumber/Vilewood/Vilewood 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Construct/Lumber/Vilewood/Vilewood 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Construct/Mecha Knight/Blight Knight + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + construct, poison, elite + Tier 1 + + Character/NPC/Monster/Construct/Mecha Knight/Poison Knight/Poison Knight 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Construct/Mecha Knight/Poison Knight/Poison Knight 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Construct/Mecha Knight/Poison Knight/Poison Knight 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Construct/Mecha Knight/Cryo Knight + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + construct, freeze, elite + Tier 1 + + Character/NPC/Monster/Construct/Mecha Knight/Cryo Knight/Cryo Knight 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Construct/Mecha Knight/Cryo Knight/Cryo Knight 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Construct/Mecha Knight/Cryo Knight/Cryo Knight 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Construct/Mecha Knight/Firo Knight + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + construct, fire, elite + Tier 1 + + Character/NPC/Monster/Construct/Mecha Knight/Firo Knight/Firo Knight 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Construct/Mecha Knight/Firo Knight/Firo Knight 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Construct/Mecha Knight/Firo Knight/Firo Knight 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Construct/Mecha Knight/Mecha Knight + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + construct, vanilla, elite + Tier 1 + + Character/NPC/Monster/Construct/Mecha Knight/Mecha Knight/Mecha Knight 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Construct/Mecha Knight/Mecha Knight/Mecha Knight 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Construct/Mecha Knight/Mecha Knight/Mecha Knight 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Construct/Mecha Knight/Volt Knight + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + construct, shock, elite + Tier 1 + + Character/NPC/Monster/Construct/Mecha Knight/Volt Knight/Volt Knight 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Construct/Mecha Knight/Volt Knight/Volt Knight 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Construct/Mecha Knight/Volt Knight/Volt Knight 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Construct/Retrode/Hotrode + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + construct, fire, grunt + Tier 1 + + Character/NPC/Monster/Construct/Retrode/Hotrode/Hotrode 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Construct/Retrode/Hotrode/Hotrode 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Construct/Retrode/Hotrode/Hotrode 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Construct/Retrode/Isotrode + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + construct, poison, grunt + Tier 1 + + Character/NPC/Monster/Construct/Retrode/Isotrode/Isotrode 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Construct/Retrode/Isotrode/Isotrode 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Construct/Retrode/Isotrode/Isotrode 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Construct/Retrode/Retrode + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + construct, vanilla, grunt + Tier 1 + + Character/NPC/Monster/Construct/Retrode/Retrode/Retrode 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Construct/Retrode/Retrode/Retrode 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Construct/Retrode/Retrode/Retrode 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Construct/Retrode/Sleetrode + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + construct, freeze, grunt + Tier 1 + + Character/NPC/Monster/Construct/Retrode/Sleetrode/Sleetrode 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Construct/Retrode/Sleetrode/Sleetrode 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Construct/Retrode/Sleetrode/Sleetrode 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Construct/Retrode/Voltrode + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + construct, shock, grunt + Tier 1 + + Character/NPC/Monster/Construct/Retrode/Voltrode/Voltrode 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Construct/Retrode/Voltrode/Voltrode 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Construct/Retrode/Voltrode/Voltrode 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Construct/Rocket Puppy/Rocket Puppy + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + construct, vanilla, turret + Tier 1 + + Character/NPC/Monster/Construct/Rocket Puppy/Rocket Puppy/Rocket Puppy 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Construct/Rocket Puppy/Rocket Puppy/Rocket Puppy 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Construct/Rocket Puppy/Rocket Puppy/Rocket Puppy 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Construct/Scuttlebot/Brumabot + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + construct, freeze, grunt + Tier 1 + + Character/NPC/Monster/Construct/Scuttlebot/Brumabot/Brumabot Mk I + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Construct/Scuttlebot/Brumabot/Brumabot Mk II + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Construct/Scuttlebot/Brumabot/Brumabot Mk III + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Construct/Scuttlebot/Cinderbot + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + construct, fire, grunt + Tier 1 + + Character/NPC/Monster/Construct/Scuttlebot/Cinderbot/Cinderbot Mk I + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Construct/Scuttlebot/Cinderbot/Cinderbot Mk II + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Construct/Scuttlebot/Cinderbot/Cinderbot Mk III + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Construct/Scuttlebot/Hazbot + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + construct, poison, grunt + Tier 1 + + Character/NPC/Monster/Construct/Scuttlebot/Hazbot/Hazbot Mk I + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Construct/Scuttlebot/Hazbot/Hazbot Mk II + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Construct/Scuttlebot/Hazbot/Hazbot Mk III + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Construct/Scuttlebot/Scuttlebot + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + construct, vanilla, grunt + Tier 1 + + Character/NPC/Monster/Construct/Scuttlebot/Scuttlebot/Scuttlebot Mk I + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Construct/Scuttlebot/Scuttlebot/Scuttlebot Mk II + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Construct/Scuttlebot/Scuttlebot/Scuttlebot Mk III + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Construct/Scuttlebot/Surgebot + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + construct, shock, grunt + Tier 1 + + Character/NPC/Monster/Construct/Scuttlebot/Surgebot/Surgebot Mk I + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Construct/Scuttlebot/Surgebot/Surgebot Mk II + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Construct/Scuttlebot/Surgebot/Surgebot Mk III + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Construct/Status - Gun Puppy + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"], implementation.root.entries[2].spawn_table["Wave Tag"], implementation.root.entries[3].spawn_table["Wave Tag"], implementation.root.entries[4].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"], implementation.root.entries[1].spawn_table["Depth Offset"], implementation.root.entries[2].spawn_table["Depth Offset"], implementation.root.entries[3].spawn_table["Depth Offset"], implementation.root.entries[4].spawn_table["Depth Offset"] + + + + + + Monster/Class {stc}/Family/Construct/Gun Puppy/Gun Puppy + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Gun Puppy/Gun Puppy + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Gun Puppy/Red Rover + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Gun Puppy/Sick Puppy + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Gun Puppy/Slush Puppy + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Gun Puppy/Sparky + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Construct/Status - Lumber + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"], implementation.root.entries[2].spawn_table["Wave Tag"], implementation.root.entries[3].spawn_table["Wave Tag"], implementation.root.entries[4].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"], implementation.root.entries[1].spawn_table["Depth Offset"], implementation.root.entries[2].spawn_table["Depth Offset"], implementation.root.entries[3].spawn_table["Depth Offset"], implementation.root.entries[4].spawn_table["Depth Offset"] + + + + + + Monster/Class {stc}/Family/Construct/Lumber/Lumber + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Lumber/Electreant + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Lumber/Lumber + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Lumber/Redward + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Lumber/Silversap + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Lumber/Vilewood + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Construct/Status - Mecha Knight + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"], implementation.root.entries[2].spawn_table["Wave Tag"], implementation.root.entries[3].spawn_table["Wave Tag"], implementation.root.entries[4].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"], implementation.root.entries[1].spawn_table["Depth Offset"], implementation.root.entries[2].spawn_table["Depth Offset"], implementation.root.entries[3].spawn_table["Depth Offset"], implementation.root.entries[4].spawn_table["Depth Offset"] + + + + + + Monster/Class {stc}/Family/Construct/Mecha Knight/Mecha Knight + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Mecha Knight/Blight Knight + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Mecha Knight/Cryo Knight + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Mecha Knight/Firo Knight + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Mecha Knight/Mecha Knight + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Mecha Knight/Volt Knight + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Construct/Status - Retrode + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"], implementation.root.entries[2].spawn_table["Wave Tag"], implementation.root.entries[3].spawn_table["Wave Tag"], implementation.root.entries[4].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"], implementation.root.entries[1].spawn_table["Depth Offset"], implementation.root.entries[2].spawn_table["Depth Offset"], implementation.root.entries[3].spawn_table["Depth Offset"], implementation.root.entries[4].spawn_table["Depth Offset"] + + + + + + Monster/Class {stc}/Family/Construct/Retrode/Retrode + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Retrode/Hotrode + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Retrode/Isotrode + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Retrode/Retrode + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Retrode/Sleetrode + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Retrode/Voltrode + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Construct/Status - Rocket Puppy + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"] + + + + + + Monster/Class {stc}/Family/Construct/Rocket Puppy/Rocket Puppy + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Rocket Puppy/Rocket Puppy + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Construct/Status - Scuttlebot + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"], implementation.root.entries[2].spawn_table["Wave Tag"], implementation.root.entries[3].spawn_table["Wave Tag"], implementation.root.entries[4].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"], implementation.root.entries[1].spawn_table["Depth Offset"], implementation.root.entries[2].spawn_table["Depth Offset"], implementation.root.entries[3].spawn_table["Depth Offset"], implementation.root.entries[4].spawn_table["Depth Offset"] + + + + + + Monster/Class {stc}/Family/Construct/Scuttlebot/Scuttlebot + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Scuttlebot/Brumabot + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Scuttlebot/Cinderbot + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Scuttlebot/Hazbot + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Scuttlebot/Scuttlebot + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Construct/Scuttlebot/Surgebot + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Fiend/Devilite/Blarful + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + fiend, poison, grunt + Tier 1 + + Character/NPC/Monster/Fiend/Devilite/Blarful/Blarful 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Fiend/Devilite/Blarful/Blarful 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Fiend/Devilite/Blarful/Blarful 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Fiend/Devilite/Devil-IT + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + fiend, shock, grunt + Tier 1 + + Character/NPC/Monster/Fiend/Devilite/Devil-IT/Devil-IT 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Fiend/Devilite/Devil-IT/Devil-IT 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Fiend/Devilite/Devil-IT/Devil-IT 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Fiend/Devilite/Devilite + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + fiend, vanilla, grunt + Tier 1 + + Character/NPC/Monster/Fiend/Devilite/Devilite/Devilite 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Fiend/Devilite/Devilite/Devilite 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Fiend/Devilite/Devilite/Devilite 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Fiend/Devilite/Firebrander + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + fiend, fire, grunt + Tier 1 + + Character/NPC/Monster/Fiend/Devilite/Firebrander/Firebrander 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Fiend/Devilite/Firebrander/Firebrander 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Fiend/Devilite/Firebrander/Firebrander 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Fiend/Devilite/Layoafer + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + fiend, freeze, grunt + Tier 1 + + Character/NPC/Monster/Fiend/Devilite/Layoafer/Layoafer 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Fiend/Devilite/Layoafer/Layoafer 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Fiend/Devilite/Layoafer/Layoafer 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Fiend/Fiend - Brute + + + Wave Tag + implementation.root.spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Beast/Status - Alpha Wolver + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Monster/Class {stc}/Family/Fiend/Fiend - Elite + + + Wave Tag + implementation.root.spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Construct/Status - Mecha Knight + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Monster/Class {stc}/Family/Fiend/Fiend - Giant + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Wave Tag"] + + + Group + implementation.group, implementation.root.entries[0].spawn_table["Depth Offset"] + + + + + + Monster/Class {stc}/Family/Fiend/Status - Trojan + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Fiend/Status - Trojan + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Fiend/Fiend - Grunt + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"] + + + Group + implementation.group, implementation.root.entries[0].spawn_table["Depth Offset"], implementation.root.entries[1].spawn_table["Depth Offset"] + + + + + + Monster/Class {stc}/Family/Fiend/Status - Devilite + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Fiend/Status - Devilite + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Fiend/Status - Greaver + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Fiend/Fiend - Support + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Wave Tag"] + + + Group + implementation.group, implementation.root.entries[0].spawn_table["Depth Offset"] + + + + + + Monster/Class {stc}/Family/Fiend/Status - Silkwing + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Fiend/Status - Silkwing + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Fiend/Fiend - Turret + + + Wave Tag + implementation.root.spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Construct/Status - Gun Puppy + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Monster/Class {stc}/Family/Fiend/Greaver/Beryl Greaver + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + fiend, shock, grunt + Tier 1 + + Character/NPC/Monster/Fiend/Greaver/Shock/Beryl Greaver 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Fiend/Greaver/Shock/Beryl Greaver 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Fiend/Greaver/Shock/Beryl Greaver 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Fiend/Greaver/Greaver + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + fiend, vanilla, grunt + Tier 1 + + Character/NPC/Monster/Fiend/Greaver/Vanilla/Greaver 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Fiend/Greaver/Vanilla/Greaver 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Fiend/Greaver/Vanilla/Greaver 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Fiend/Greaver/Jade Greaver + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + fiend, poison, grunt + Tier 1 + + Character/NPC/Monster/Fiend/Greaver/Poison/Jade Greaver 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Fiend/Greaver/Poison/Jade Greaver 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Fiend/Greaver/Poison/Jade Greaver 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Fiend/Greaver/Pearl Greaver + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + fiend, freeze, grunt + Tier 1 + + Character/NPC/Monster/Fiend/Greaver/Freeze/Pearl Greaver 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Fiend/Greaver/Freeze/Pearl Greaver 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Fiend/Greaver/Freeze/Pearl Greaver 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Fiend/Greaver/Ruby Greaver + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + fiend, fire, grunt + Tier 1 + + Character/NPC/Monster/Fiend/Greaver/Fire/Ruby Greaver 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Fiend/Greaver/Fire/Ruby Greaver 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Fiend/Greaver/Fire/Ruby Greaver 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Fiend/Pit Boss/Pit Boss + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + fiend, vanilla, grunt + Tier 1 + + Character/NPC/Monster/Fiend/Devilite/Pit Boss/Pit Boss 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Fiend/Devilite/Pit Boss/Pit Boss 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Fiend/Devilite/Pit Boss/Pit Boss 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Fiend/Silkwing/Silkwing + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + fiend, vanilla, support + Tier 1 + + Character/NPC/Monster/Fiend/Silkwing/Silkwing 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Fiend/Silkwing/Silkwing 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Fiend/Silkwing/Silkwing 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Fiend/Status - Devilite + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"], implementation.root.entries[2].spawn_table["Wave Tag"], implementation.root.entries[3].spawn_table["Wave Tag"], implementation.root.entries[4].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"], implementation.root.entries[1].spawn_table["Depth Offset"], implementation.root.entries[2].spawn_table["Depth Offset"], implementation.root.entries[3].spawn_table["Depth Offset"], implementation.root.entries[4].spawn_table["Depth Offset"] + + + + + + Monster/Class {stc}/Family/Fiend/Devilite/Devilite + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Fiend/Devilite/Blarful + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Fiend/Devilite/Devil-IT + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Fiend/Devilite/Devilite + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Fiend/Devilite/Firebrander + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Fiend/Devilite/Layoafer + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Fiend/Status - Greaver + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"], implementation.root.entries[2].spawn_table["Wave Tag"], implementation.root.entries[3].spawn_table["Wave Tag"], implementation.root.entries[4].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"], implementation.root.entries[1].spawn_table["Depth Offset"], implementation.root.entries[2].spawn_table["Depth Offset"], implementation.root.entries[3].spawn_table["Depth Offset"], implementation.root.entries[4].spawn_table["Depth Offset"] + + + + + + Monster/Class {stc}/Family/Fiend/Greaver/Greaver + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Fiend/Greaver/Ruby Greaver + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Fiend/Greaver/Pearl Greaver + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Fiend/Greaver/Greaver + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Fiend/Greaver/Jade Greaver + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Fiend/Greaver/Beryl Greaver + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Fiend/Status - Pit Boss + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"] + + + + + + Monster/Class {stc}/Family/Fiend/Pit Boss/Pit Boss + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Fiend/Pit Boss/Pit Boss + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Fiend/Status - Silkwing + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"] + + + + + + Monster/Class {stc}/Family/Fiend/Silkwing/Silkwing + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Fiend/Silkwing/Silkwing + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Fiend/Status - Trojan + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"] + + + + + + Monster/Class {stc}/Family/Fiend/Trojan/Trojan + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Fiend/Trojan/Trojan + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Fiend/Trojan/Trojan + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + fiend, vanilla, giant + Tier 1 + + Character/NPC/Monster/Fiend/Trojan/Trojan 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Fiend/Trojan/Trojan 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Fiend/Trojan/Trojan 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Gremlin/Demo/Demo + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + gremlin, vanilla, elite + Tier 1 + + Character/NPC/Monster/Gremlin/Tenderfoot Demo + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Gremlin/Ironclaw Demo + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Gremlin/Darkfang Demo + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Gremlin/Gremlin - Brute + + + Wave Tag + implementation.root.spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Construct/Status - Lumber + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Monster/Class {stc}/Family/Gremlin/Gremlin - Elite + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"], implementation.root.entries[1].spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Gremlin/Status - Thwacker + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Gremlin/Status - Demo + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Gremlin/Status - Thwacker + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Gremlin/Gremlin - Giant + + + Wave Tag + implementation.root.spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Fiend/Status - Trojan + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Monster/Class {stc}/Family/Gremlin/Gremlin - Grunt + + + Wave Tag + implementation.root.spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Construct/Status - Scuttlebot + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Monster/Class {stc}/Family/Gremlin/Gremlin - Support + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Gremlin/Status - Mender + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Gremlin/Status - Mender + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Gremlin/Gremlin - Turret + + + Wave Tag + implementation.root.spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Construct/Status - Gun Puppy + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Monster/Class {stc}/Family/Gremlin/Mender/Mender + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + gremlin, vanilla, support + Tier 1 + + Character/NPC/Monster/Gremlin/Tenderfoot Mender + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Gremlin/Ironclaw Mender + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Gremlin/Darkfang Mender + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Gremlin/Status - Demo + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"] + + + + + + Monster/Class {stc}/Family/Gremlin/Demo/Demo + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Gremlin/Demo/Demo + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Gremlin/Status - Mender + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"] + + + + + + Monster/Class {stc}/Family/Gremlin/Mender/Mender + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Gremlin/Mender/Mender + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Gremlin/Status - Thwacker + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"], implementation.root.entries[1].spawn_table["Depth Offset"] + + + + + + Monster/Class {stc}/Family/Gremlin/Thwacker/Thwacker + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Gremlin/Thwacker/Scorcher + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Gremlin/Thwacker/Thwacker + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Gremlin/Thwacker/Scorcher + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + gremlin, fire, elite + Tier 1 + + Character/NPC/Monster/Gremlin/Tenderfoot Scorcher + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Gremlin/Ironclaw Scorcher + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Gremlin/Darkfang Scorcher + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Gremlin/Thwacker/Thwacker + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + gremlin, vanilla, elite + Tier 1 + + Character/NPC/Monster/Gremlin/Tenderfoot Thwacker + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Gremlin/Ironclaw Thwacker + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Gremlin/Darkfang Thwacker + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Slime/Blast Cube/Blast Cube + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + slime, vanilla, grunt + Tier 1 + + Character/NPC/Monster/Slime/Blast Cube/Blast Cube 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Slime/Blast Cube/Blast Cube 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Slime/Blast Cube/Blast Cube 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Slime/Jelly Cube/Ice Cube + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + slime, freeze, grunt + Tier 1 + + Character/NPC/Monster/Slime/Jelly/Ice Cube/Ice Cube 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Slime/Jelly/Ice Cube/Ice Cube 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Slime/Jelly/Ice Cube/Ice Cube 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Slime/Jelly Cube/Jelly Cube + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + slime, vanilla, grunt + Tier 1 + + Character/NPC/Monster/Slime/Jelly/Jelly Cube/Jelly Cube 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Slime/Jelly/Jelly Cube/Jelly Cube 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Slime/Jelly/Jelly Cube/Jelly Cube 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Slime/Jelly Cube/Oiler + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + slime, fire, grunt + Tier 1 + + Character/NPC/Monster/Slime/Jelly/Oiler/Oiler 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Slime/Jelly/Oiler/Oiler 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Slime/Jelly/Oiler/Oiler 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Slime/Jelly Cube/Quicksilver + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + slime, shock, grunt + Tier 1 + + Character/NPC/Monster/Slime/Jelly/Quicksilver/Quicksilver 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Slime/Jelly/Quicksilver/Quicksilver 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Slime/Jelly/Quicksilver/Quicksilver 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Slime/Jelly Cube/Toxigel + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + slime, poison, grunt + Tier 1 + + Character/NPC/Monster/Slime/Jelly/Toxigel/Toxigel 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Slime/Jelly/Toxigel/Toxigel 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Slime/Jelly/Toxigel/Toxigel 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Slime/Large Lichen/Large Lichen + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + slime, vanilla, giant + Tier 1 + + Character/NPC/Monster/Slime/Large Lichen Colony + + Size + 1 + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Slime/Large Lichen Colony + + Size + 14 + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Slime/Giant Lichen Colony + + Size + 18 + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Slime/Lichen/Lichen + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + slime, vanilla, grunt + Tier 1 + + Character/NPC/Monster/Slime/Lichen Colony + + Size + 1 + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Slime/Lichen Colony + + Size + 2 + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Slime/Lichen Colony + + Size + 3 + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Slime/Slime - Brute + + + Wave Tag + implementation.root.spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Construct/Status - Lumber + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Monster/Class {stc}/Family/Slime/Slime - Elite + + + Wave Tag + implementation.root.spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Construct/Status - Mecha Knight + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Monster/Class {stc}/Family/Slime/Slime - Giant + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Slime/Status - Large Lichen + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Slime/Status - Large Lichen + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Slime/Slime - Grunt + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"], implementation.root.entries[1].spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Slime/Status - Jelly Cube + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Slime/Status - Jelly Cube + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Slime/Status - Lichen + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Slime/Slime - Support + + + Wave Tag + implementation.root.spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Fiend/Status - Silkwing + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Monster/Class {stc}/Family/Slime/Slime - Turret + + + Wave Tag + implementation.root.spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Construct/Status - Gun Puppy + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Monster/Class {stc}/Family/Slime/Status - Blast Cube + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"] + + + + + + Monster/Class {stc}/Family/Slime/Blast Cube/Blast Cube + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Slime/Blast Cube/Blast Cube + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Slime/Status - Jelly Cube + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"], implementation.root.entries[2].spawn_table["Wave Tag"], implementation.root.entries[3].spawn_table["Wave Tag"], implementation.root.entries[4].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"], implementation.root.entries[1].spawn_table["Depth Offset"], implementation.root.entries[2].spawn_table["Depth Offset"], implementation.root.entries[3].spawn_table["Depth Offset"], implementation.root.entries[4].spawn_table["Depth Offset"] + + + + + + Monster/Class {stc}/Family/Slime/Jelly Cube/Jelly Cube + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Slime/Jelly Cube/Ice Cube + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Slime/Jelly Cube/Jelly Cube + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Slime/Jelly Cube/Oiler + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Slime/Jelly Cube/Quicksilver + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Slime/Jelly Cube/Toxigel + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Slime/Status - Large Lichen + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"] + + + + + + Monster/Class {stc}/Family/Slime/Large Lichen/Large Lichen + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Slime/Large Lichen/Large Lichen + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Slime/Status - Lichen + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"] + + + + + + Monster/Class {stc}/Family/Slime/Lichen/Lichen + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Slime/Lichen/Lichen + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Undead/Spookat/Bloogato + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + undead, freeze, grunt + Tier 1 + + Character/NPC/Monster/Undead/Spookat/Bloogato/Bloogato 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Undead/Spookat/Bloogato/Bloogato 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Undead/Spookat/Bloogato/Bloogato 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Undead/Spookat/Hurkat + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + undead, poison, grunt + Tier 1 + + Character/NPC/Monster/Undead/Spookat/Hurkat/Hurkat 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Undead/Spookat/Hurkat/Hurkat 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Undead/Spookat/Hurkat/Hurkat 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Undead/Spookat/Pepper Kat + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + undead, fire, grunt + Tier 1 + + Character/NPC/Monster/Undead/Spookat/Pepper Kat/Pepper Kat 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Undead/Spookat/Pepper Kat/Pepper Kat 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Undead/Spookat/Pepper Kat/Pepper Kat 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Undead/Spookat/Spookat + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + undead, vanilla, grunt + Tier 1 + + Character/NPC/Monster/Undead/Spookat/Spookat/Spookat 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Undead/Spookat/Spookat/Spookat 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Undead/Spookat/Spookat/Spookat 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Undead/Spookat/Statikat + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + undead, shock, grunt + Tier 1 + + Character/NPC/Monster/Undead/Spookat/Statikat/Statikat 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Undead/Spookat/Statikat/Statikat 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Undead/Spookat/Statikat/Statikat 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Undead/Status - Spookat + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"], implementation.root.entries[2].spawn_table["Wave Tag"], implementation.root.entries[3].spawn_table["Wave Tag"], implementation.root.entries[4].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"], implementation.root.entries[1].spawn_table["Depth Offset"], implementation.root.entries[2].spawn_table["Depth Offset"], implementation.root.entries[3].spawn_table["Depth Offset"], implementation.root.entries[4].spawn_table["Depth Offset"] + + + + + + Monster/Class {stc}/Family/Undead/Spookat/Spookat + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Undead/Spookat/Bloogato + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Undead/Spookat/Hurkat + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Undead/Spookat/Pepper Kat + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Undead/Spookat/Spookat + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Undead/Spookat/Statikat + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Undead/Status - Zombie + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"], implementation.root.entries[2].spawn_table["Wave Tag"], implementation.root.entries[3].spawn_table["Wave Tag"], implementation.root.entries[4].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"], implementation.root.entries[1].spawn_table["Depth Offset"], implementation.root.entries[2].spawn_table["Depth Offset"], implementation.root.entries[3].spawn_table["Depth Offset"], implementation.root.entries[4].spawn_table["Depth Offset"] + + + + + + Monster/Class {stc}/Family/Undead/Zombie/Dust Zombie + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Undead/Zombie/Droul + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Undead/Zombie/Dust Zombie + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Undead/Zombie/Frankenzom + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Undead/Zombie/Frozen Shambler + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Undead/Zombie/Slag Walker + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Undead/Undead - Brute + + + Wave Tag + implementation.root.spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Construct/Status - Lumber + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Monster/Class {stc}/Family/Undead/Undead - Elite + + + Wave Tag + implementation.root.spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Construct/Status - Mecha Knight + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Monster/Class {stc}/Family/Undead/Undead - Giant + + + Wave Tag + implementation.root.spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Fiend/Status - Trojan + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Monster/Class {stc}/Family/Undead/Undead - Grunt + + + Wave Tag + implementation.root.spawn_table["Wave Tag"], implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"], implementation.root.entries[0].spawn_table["Depth Offset"], implementation.root.entries[1].spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Undead/Status - Spookat + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Undead/Status - Spookat + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Class {stc}/Family/Undead/Status - Zombie + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Class {stc}/Family/Undead/Undead - Support + + + Wave Tag + implementation.root.spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Fiend/Status - Silkwing + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Monster/Class {stc}/Family/Undead/Undead - Turret + + + Wave Tag + implementation.root.spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.spawn_table["Depth Offset"] + + + Group + implementation.group + + + + + + Monster/Class {stc}/Family/Construct/Status - Gun Puppy + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Monster/Class {stc}/Family/Undead/Zombie/Droul + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + undead, poison, grunt + Tier 1 + + Character/NPC/Monster/Undead/Zombie/Droul/Droul 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Undead/Zombie/Droul/Droul 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Undead/Zombie/Droul/Droul 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Undead/Zombie/Dust Zombie + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + undead, vanilla, grunt + Tier 1 + + Character/NPC/Monster/Undead/Zombie/Dust Zombie/Dust Zombie 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Undead/Zombie/Dust Zombie/Dust Zombie 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Undead/Zombie/Dust Zombie/Dust Zombie 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Undead/Zombie/Frankenzom + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + undead, shock, grunt + Tier 1 + + Character/NPC/Monster/Undead/Zombie/Frankenzom/Frankenzom 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Undead/Zombie/Frankenzom/Frankenzom 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Undead/Zombie/Frankenzom/Frankenzom 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Undead/Zombie/Frozen Shambler + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + undead, freeze, grunt + Tier 1 + + Character/NPC/Monster/Undead/Zombie/Frozen Shamber/Frozen Shamber 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Undead/Zombie/Frozen Shamber/Frozen Shamber 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Undead/Zombie/Frozen Shamber/Frozen Shamber 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Class {stc}/Family/Undead/Zombie/Slag Walker + + + Wave Tag + implementation.spawn_table["Tier 1"]["Wave Tag"], implementation.spawn_table["Tier 2"]["Wave Tag"], implementation.spawn_table["Tier 3"]["Wave Tag"] + + + Depth Offset + implementation.spawn_table["Depth Offset"] + + + + + Monster/Base/Depth Scale + + Alternate + + + Alternate Weight + 0.0 + Depth Offset + 0 + Primary Weight + 1000.0 + Spawn Types + undead, fire, grunt + Tier 1 + + Character/NPC/Monster/Undead/Zombie/Slag Walker/Slag Walker 1 + + Wave Tag + (Wave Tag) + + + Tier 2 + + Character/NPC/Monster/Undead/Zombie/Slag Walker/Slag Walker 2 + + Wave Tag + (Wave Tag) + + + Tier 3 + + Character/NPC/Monster/Undead/Zombie/Slag Walker/Slag Walker 3 + + Wave Tag + (Wave Tag) + + + + + + + + Monster/Monster Block/Monster Block 1 + + + + + 100.0 + + + Monster/Single Family/Slime/Jelly Cube + + Tag + (Wave Tag) + + + + + + 100.0 + + + Monster/Single Family/Undead/Spookat + + Tag + (Wave Tag) + + + + + + 100.0 + + + Monster/Single Family/Beast/Wolver + + Tag + (Wave Tag) + + + + + + 100.0 + + + Monster/Single Family/Beast/Chromalisk + + Tag + (Wave Tag) + + + + + + 50.0 + + + Monster/Single Family/Gremlin/Ironclaw Random 1 + + Tag + (Wave Tag) + + + + + + 25.0 + + + Monster/Single Family/Undead/Dust Zombie + + Tag + (Wave Tag) + + + + + + + + + + Monster/Multi Family/Class - Fighter, large + + + Tag + implementation.root.spawn_table["Tag"], implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"] + + + + + + Monster/Multi Family/Parts/Default - Fighter, large + + Tag + (Wave Tag) + + + + + + Monster/Single Family/Slime/Scaled - Giant Slime + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Single Family/Fiend/Scaled - Trojan + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Multi Family/Class - Fighter, med + + + Tag + implementation.root.entries[0].spawn_table["Tag"], implementation.root.entries[1].spawn_table["Tag"], implementation.root.spawn_table["Tag"] + + + + + + Monster/Multi Family/Parts/Default - Fighter, med + + Tag + (Wave Tag) + + + + + + Monster/Single Family/Construct/Scaled - Lumber + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + Monster/Single Family/Undead/Scaled - Bloogato + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + + Monster/Multi Family/Class - Fighter, small + + + Tag + implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Tag"], implementation.root.entries[2].spawn_table["Tag"], implementation.root.entries[3].spawn_table["Wave Tag"], implementation.root.entries[4].spawn_table["Tag"], implementation.root.entries[5].spawn_table["Tag"], implementation.root.spawn_table["Tag"] + + + + + + Monster/Multi Family/Parts/Default - Fighter, small + + Tag + (Wave Tag) + + + + + + Monster/Single Family/Slime/Scaled - Jelly Cube + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Single Family/Beast/Scaled - Wolver + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + Monster/Single Family/Beast/Scaled - Chromalisk + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + Monster/Single Family/Fiend/Scaled - Devilite + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Single Family/Undead/Scaled - Spookat + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + Monster/Single Family/Undead/Scaled - Dust Zombie + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + + Monster/Multi Family/Class - Special + + + Tag + implementation.root.entries[0].entry.spawn_table["Wave Tag"] + + + + + + + 500.0 + + + Monster/Single Family/Fiend/Scaled - Silkwing + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Multi Family/Class - Status, large + + + Tag + implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"], implementation.root.spawn_table["Tag"] + + + + + + Monster/Multi Family/Parts/Default - Status, large + + Tag + (Wave Tag) + + + + + + Monster/Single Family/Slime/Scaled - Toxilargo + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Single Family/Slime/Scaled - Sloombargo + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Multi Family/Class - Status, small + + + Tag + implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"], implementation.root.entries[2].spawn_table["Tag"], implementation.root.spawn_table["Tag"] + + + + + + Monster/Multi Family/Parts/Default - Status, small + + Tag + (Wave Tag) + + + + + + Monster/Single Family/Slime/Scaled - Toxigel + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Single Family/Slime/Scaled - Sloom + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Single Family/Beast/Scaled - Virulisk + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + + Monster/Multi Family/Class - Support + + + Tag + implementation.root.entries[0].spawn_table["Wave Tag"], implementation.root.entries[1].spawn_table["Wave Tag"], implementation.root.spawn_table["Tag"] + + + + + + Monster/Multi Family/Parts/Default - Support + + Tag + (Wave Tag) + + + + + + Monster/Single Family/Fiend/Scaled - Silkwing + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Single Family/Gremlin/Scaled - Mender + + Activate Type + Normal + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Multi Family/Class - Tactical + + + Tag + implementation.root.entries[0].spawn_table["Tag"], implementation.root.spawn_table["Tag"] + + + + + + Monster/Multi Family/Parts/Default - Fighter, small + + Tag + (Wave Tag) + + + + + + Monster/Single Family/Gremlin/Parts/Gremlin - Fighter, small + + Tag + (Wave Tag) + + + + + + + + + Monster/Multi Family/Class - Turret + + + Tag + implementation.root.entries[0].spawn_table["Tag"], implementation.root.entries[1].spawn_table["Tag"], implementation.root.entries[2].spawn_table["Tag"], implementation.root.spawn_table["Tag"] + + + + + + Monster/Multi Family/Parts/Default - Turret + + Tag + (Wave Tag) + + + + + + Monster/Single Family/Construct/Scaled - Gun Puppy + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + Monster/Single Family/Construct/Scaled - Rocket Puppy + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + Monster/Single Family/Construct/Scaled - Red Rover + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + + Monster/Multi Family/Parts/Default - Fighter, large + + + Tag + implementation.root.entries[0].entry.spawn_table["Wave Tag"], implementation.root.entries[1].entry.spawn_table["Tag"], implementation.root.entries[2].entry.spawn_table["Wave Tag"] + + + + + + + + + Monster/Single Family/Slime/Scaled - Giant Slime + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Construct/Scaled - Lumber + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Fiend/Scaled - Trojan + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Multi Family/Parts/Default - Fighter, med + + + Tag + implementation.root.entries[0].entry.spawn_table["Tag"] + + + + + + + + + Monster/Single Family/Construct/Scaled - Lumber + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + + + Monster/Multi Family/Parts/Default - Fighter, small + + + Tag + implementation.root.entries[0].entry.spawn_table["Wave Tag"], implementation.root.entries[1].entry.spawn_table["Tag"], implementation.root.entries[2].entry.spawn_table["Tag"], implementation.root.entries[3].entry.spawn_table["Tag"], implementation.root.entries[4].entry.spawn_table["Tag"] + + + + + + + + + Monster/Single Family/Slime/Scaled - Jelly Cube + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Beast/Scaled - Wolver + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Beast/Scaled - Chromalisk + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Undead/Scaled - Spookat + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Undead/Scaled - Dust Zombie + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + + + Monster/Multi Family/Parts/Default - Status, large + + + Tag + implementation.root.entries[0].entry.spawn_table["Wave Tag"], implementation.root.entries[1].entry.spawn_table["Wave Tag"] + + + + + + + + + Monster/Single Family/Slime/Scaled - Toxilargo + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Slime/Scaled - Sloombargo + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Multi Family/Parts/Default - Status, small + + + Tag + implementation.root.entries[0].entry.spawn_table["Wave Tag"], implementation.root.entries[1].entry.spawn_table["Wave Tag"], implementation.root.entries[2].entry.spawn_table["Tag"] + + + + + + + + + Monster/Single Family/Slime/Scaled - Toxigel + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Slime/Scaled - Sloom + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Beast/Scaled - Virulisk + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + + + Monster/Multi Family/Parts/Default - Support + + + Tag + implementation.root.entries[0].entry.spawn_table["Wave Tag"], implementation.root.entries[1].entry.spawn_table["Wave Tag"] + + + + + + + + + Monster/Single Family/Fiend/Scaled - Silkwing + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Gremlin/Scaled - Mender + + Activate Type + Normal + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Multi Family/Parts/Default - Tactical + + + Tag + implementation.root.entries[0].entry.spawn_table["Tag"] + + + + + + + + + Monster/Single Family/Gremlin/Parts/Gremlin - Fighter, small + + Tag + (Wave Tag) + + + + + + + + + + Monster/Multi Family/Parts/Default - Turret + + + Tag + implementation.root.entries[0].entry.spawn_table["Tag"], implementation.root.entries[1].entry.spawn_table["Tag"], implementation.root.entries[2].entry.spawn_table["Tag"] + + + + + + + + + Monster/Single Family/Construct/Scaled - Gun Puppy + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Construct/Scaled - Rocket Puppy + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Construct/Scaled - Red Rover + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + + + Monster/Player Allied/Scaled - Auto Turret, Railgun + + + 0.05 + 0.05 + + + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 01 + + Tags + autoturret, faction_allied + + + + 0 + 3 + + + 3 + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 02 + + Tags + autoturret, faction_allied + + + + 2 + 6 + + + 6 + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 03 + + Tags + autoturret, faction_allied + + + + 5 + 9 + + + 9 + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 04 + + Tags + autoturret, faction_allied + + + + 8 + 12 + + + 12 + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 05 + + Tags + autoturret, faction_allied + + + + 11 + 15 + + + 15 + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 06 + + Tags + autoturret, faction_allied + + + + 14 + 18 + + + 18 + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 07 + + Tags + autoturret, faction_allied + + + + 17 + 21 + + + 21 + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 08 + + Tags + autoturret, faction_allied + + + + 20 + 24 + + + 24 + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 09 + + Tags + autoturret, faction_allied + + + + 23 + 27 + + + 27 + + + Dynamic/Energy-Consuming Objects/Crates/Turret, Auto - Railgun/Railgun 10 + + Tags + autoturret, faction_allied + + + + 26 + 27 + + + + + + + Monster/Single Family/Beast/Alpha Ash Tail + + + Tag + implementation.root.entries[0].entry.spawn_table["Wave Tag"] + + + + true + + + + + + Monster/Single Family/Beast/Scaled - Alpha Wolver + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Beast/Alpha Wolver + + + Tag + implementation.root.entries[0].entry.spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.spawn_table["Depth Offset"] + + + + true + + + + + + Monster/Single Family/Beast/Scaled - Alpha Wolver + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Beast/Ash Tail + + + Wave Tag + implementation.root.entries[0].entry.spawn_table["Tag"], implementation.root.entries[1].entry.spawn_table["Wave Tag"] + + + + true + + + + 500.0 + + + Monster/Single Family/Beast/Scaled - Wolver + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + 10.0 + + + Monster/Single Family/Beast/Scaled - Alpha Wolver + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Beast/Bull Chromalisk + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Beast/Chromalisk/Chromalisk/Chromalisk 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Beast/Chromalisk + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Beast/Chromalisk/Chromalisk/Chromalisk 2 + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Beast/Chromalisk Whelp + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"] + + + + true + + + + 1000.0 + + + Character/NPC/Monster/Beast/Chromalisk/Chromalisk/Chromalisk 1 + + Wave Tag + (Wave Tag) + + + + + + + + Character/NPC/Monster/Beast/Chromalisk/Chromalisk/Chromalisk 2 + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Beast/Kleptolisk + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Beast/Kleptolisk/Kleptolisk 1 + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Beast/Scaled - Alpha Wolver + + + Wave Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Wolver/Alpha Wolver 1 + + Wave Tag + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Wolver/Alpha Wolver 2 + + Wave Tag + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Wolver/Alpha Wolver 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Monster/Single Family/Beast/Scaled - Chromalisk + + + Tag + implementation.root.entries[0].entry.spawn_table["Tag"], implementation.root.entries[1].entry.spawn_table["Tag"], implementation.root.entries[2].entry.spawn_table["Tag"] + + + Depth Offset + implementation.root.offset + + + + true + + 0.05 + 0.05 + + + + + Monster/Single Family/Beast/Chromalisk Whelp + + Tag + (Wave Tag) + + + + + + 9 + + + Monster/Single Family/Beast/Chromalisk + + Tag + (Wave Tag) + + + + + + 19 + + + Monster/Single Family/Beast/Bull Chromalisk + + Tag + (Wave Tag) + + + + + + + beast + + + + Monster/Single Family/Beast/Scaled - Kleptolisk + + + Tag + implementation.root.entries[0].entry.spawn_table["Tag"] + + + Depth Offset + implementation.root.offset + + + + true + + 0.05 + 0.05 + + + + + Monster/Single Family/Beast/Kleptolisk + + Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Beast/Scaled - Skolver + + + Wave Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[3].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[4].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[5].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[6].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[7].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Wolver/Alpha Wolver 3 + + Wave Tag + (Wave Tag) + + + + + + 3 + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Wolver/Alpha Wolver 3 + + Wave Tag + (Wave Tag) + + + + + + 6 + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Wolver/Alpha Wolver 3 + + Wave Tag + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Wolver/Alpha Wolver 3 + + Wave Tag + (Wave Tag) + + + + + + 12 + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Wolver/Alpha Wolver 3 + + Wave Tag + (Wave Tag) + + + + + + 15 + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Wolver/Alpha Wolver 3 + + Wave Tag + (Wave Tag) + + + + + + 18 + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Wolver/Alpha Wolver 3 + + Wave Tag + (Wave Tag) + + + + + + 22 + + + Character/NPC/Monster/Beast/Alpha Wolver/Alpha Wolver/Alpha Wolver 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Monster/Single Family/Beast/Scaled - Virulisk + + + Tag + implementation.root.entries[0].entry.spawn_table["Tag"], implementation.root.entries[1].entry.spawn_table["Tag"], implementation.root.entries[2].entry.spawn_table["Tag"] + + + Depth Offset + implementation.root.offset + + + + true + + 0.05 + 0.05 + + + + + Monster/Single Family/Beast/Virulisk + + Tag + (Wave Tag) + + + + + + 9 + + + Monster/Single Family/Beast/Virulisk, Vile + + Tag + (Wave Tag) + + + + + + 19 + + + Monster/Single Family/Beast/Virulisk, Deadly + + Tag + (Wave Tag) + + + + + + + beast + + + + Monster/Single Family/Beast/Scaled - Wolver + + + Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Beast/Wolver/Wolver/Wolver 1 + + Wave Tag + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Beast/Wolver/Wolver/Wolver 2 + + Wave Tag + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Beast/Wolver/Wolver/Wolver 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + beast + + + + Monster/Single Family/Beast/Virulisk + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Beast/Chromalisk/Virulisk/Virulisk 1 + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Beast/Virulisk, Deadly + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Beast/Chromalisk/Virulisk/Virulisk 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Beast/Virulisk, Vile + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Beast/Chromalisk/Virulisk/Virulisk 2 + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Beast/Vog Cub + + + Tag + implementation.root.entries[0].entry.actor["Tag"].tags[0] + + + + true + + + + + + Character/NPC/Monster/Beast/Vog Cub + + + + + + + + + Monster/Single Family/Beast/Wolver + + + Tag + implementation.root.entries[0].entry.spawn_table["Tag"] + + + + true + + + + 500.0 + + + Monster/Single Family/Beast/Scaled - Wolver + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Construct/Gold Gun Puppy + + + Tag + implementation.root.entries[0].entry.actor["Tags"] + + + + true + + + + 100.0 + + + Character/NPC/Monster/Construct/Gold Gun Puppy + + Tags + (Wave Tag) + + + + + + + + + + Monster/Single Family/Construct/Gun Puppy + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"] + + + + true + + + + 1000.0 + + + Character/NPC/Monster/Construct/Gun Puppy/Gun Puppy/Gun Puppy 1 + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + + + Character/NPC/Monster/Construct/Love Puppy/Love Puppy + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Construct/Gun Puppy Mk II + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"] + + + + true + + + + 1000.0 + + + Character/NPC/Monster/Construct/Gun Puppy/Gun Puppy/Gun Puppy 2 + + Wave Tag + (Wave Tag) + + + + + + + + Character/NPC/Monster/Construct/Love Puppy/Love Puppy + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Construct/Gun Puppy Mk III + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"] + + + + true + + + + 1000.0 + + + Character/NPC/Monster/Construct/Gun Puppy/Gun Puppy/Gun Puppy 3 + + Wave Tag + (Wave Tag) + + + + + + + + Character/NPC/Monster/Construct/Love Puppy/Love Puppy + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Construct/Ironwood Sentinel + + + Wave Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Construct/Ironwood Sentinel/Ironwood Sentinel + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Construct/Lumber + + + Wave Tag + implementation.root.entries[0].entry.spawn_table["Tag"] + + + + true + + + + + + Monster/Single Family/Construct/Scaled - Lumber + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Construct/Mecha Knight + + + Tag + implementation.root.entries[0].entry.actor["Tags"] + + + + true + + + + 1000.0 + + + Character/NPC/Monster/Construct/Mecha Knight/Sword/Mecha Knight + + Tags + (Wave Tag) + + + + + + + + + + Monster/Single Family/Construct/Mecha Knight Mk II + + + Tag + implementation.root.entries[0].entry.actor["Tags"] + + + + true + + + + 1000.0 + + + Character/NPC/Monster/Construct/Mecha Knight/Sword/Mecha Knight Mk II + + Tags + (Wave Tag) + + + + + + + + + + Monster/Single Family/Construct/Mecha Knight Mk III + + + Tag + implementation.root.entries[0].entry.actor["Tags"] + + + + true + + + + 1000.0 + + + Character/NPC/Monster/Construct/Mecha Knight/Sword/Mecha Knight Mk III + + Tags + (Wave Tag) + + + + + + + + + + Monster/Single Family/Construct/Parts/Puppy Random 1 + + + Tag + implementation.root.entries[0].entry.spawn_table["Tag"], implementation.root.entries[1].entry.spawn_table["Tag"] + + + + + + + + + Monster/Single Family/Construct/Scaled - Rocket Puppy + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Construct/Scaled - Red Rover + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Construct/Plasma Dog + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"] + + + + true + + + + 1000.0 + + + Character/NPC/Monster/Construct/Plasma Dog + + Wave Tag + (Wave Tag) + + + + + + + + Character/NPC/Monster/Construct/Love Puppy/Love Puppy + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Construct/Red Rover + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"] + + + + true + + + + 1000.0 + + + Character/NPC/Monster/Construct/Gun Puppy/Red Rover/Red Rover 1 + + Wave Tag + (Wave Tag) + + + + + + + + Character/NPC/Monster/Construct/Love Puppy/Love Puppy + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Construct/Red Rover Mk II + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"] + + + + true + + + + 1000.0 + + + Character/NPC/Monster/Construct/Gun Puppy/Red Rover/Red Rover 2 + + Wave Tag + (Wave Tag) + + + + + + + + Character/NPC/Monster/Construct/Love Puppy/Love Puppy + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Construct/Red Rover Mk III + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"] + + + + true + + + + 1000.0 + + + Character/NPC/Monster/Construct/Gun Puppy/Red Rover/Red Rover 3 + + Wave Tag + (Wave Tag) + + + + + + + + Character/NPC/Monster/Construct/Love Puppy/Love Puppy + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Construct/Redward + + + Wave Tag + implementation.root.entries[0].entry.spawn_table["Tag"] + + + + true + + + + + + Monster/Single Family/Construct/Scaled - Lumber + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Construct/Rocket Puppy + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"] + + + + true + + + + 1000.0 + + + Character/NPC/Monster/Construct/Rocket Puppy/Rocket Puppy/Rocket Puppy 1 + + Wave Tag + (Wave Tag) + + + + + + + + Character/NPC/Monster/Construct/Love Puppy/Love Puppy + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Construct/Rocket Puppy Mk II + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"] + + + + true + + + + 1000.0 + + + Character/NPC/Monster/Construct/Rocket Puppy/Rocket Puppy/Rocket Puppy 2 + + Wave Tag + (Wave Tag) + + + + + + + + Character/NPC/Monster/Construct/Love Puppy/Love Puppy + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Construct/Scaled - Electreant + + + Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Construct/Lumber/Electreant/Electreant 1 + + Wave Tag + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Construct/Lumber/Electreant/Electreant 2 + + Wave Tag + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Construct/Lumber/Electreant/Electreant 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Monster/Single Family/Construct/Scaled - Gun Puppy + + + Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Construct/Gun Puppy/Gun Puppy/Gun Puppy 1 + + No Loot Tag + + Wave Tag + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Construct/Gun Puppy/Gun Puppy/Gun Puppy 2 + + Wave Tag + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Construct/Gun Puppy/Gun Puppy/Gun Puppy 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + Character/NPC/Monster/Construct/Love Puppy/Love Puppy + + Wave Tag + (Wave Tag) + + + + + + + construct + + + + Monster/Single Family/Construct/Scaled - Lumber + + + Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Construct/Lumber/Lumber/Lumber 1 + + Wave Tag + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Construct/Lumber/Lumber/Lumber 2 + + Wave Tag + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Construct/Lumber/Lumber/Lumber 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + construct + + + + Monster/Single Family/Construct/Scaled - Mecha Knight + + + Wave Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Tags"], implementation.root.entries[0].entry.entries[1].entry.actor["Tags"], implementation.root.entries[0].entry.entries[2].entry.actor["Tags"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Construct/Mecha Knight/Sword/Mecha Knight + + Tags + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Construct/Mecha Knight/Sword/Mecha Knight Mk II + + Tags + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Construct/Mecha Knight/Sword/Mecha Knight Mk III + + Tags + (Wave Tag) + + + + + + + + + + + + + Monster/Single Family/Construct/Scaled - Mecha Knight (Friendly) + + + Wave Tag + implementation.root.entries[0].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"], implementation.root.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.offset + + + + true + + 0.0 + 0.0 + + + + + Character/NPC/Monster/Construct/Mecha Knight Bodyguard/Sword/Mecha Knight Bodyguard + + Wave Tag + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Construct/Mecha Knight Bodyguard/Sword/Mecha Knight Bodyguard 1 + + Wave Tag + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Construct/Mecha Knight Bodyguard/Sword/Mecha Knight Bodyguard 2 + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Construct/Scaled - Red Rover + + + Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Construct/Gun Puppy/Red Rover/Red Rover 1 + + Wave Tag + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Construct/Gun Puppy/Red Rover/Red Rover 2 + + Wave Tag + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Construct/Gun Puppy/Red Rover/Red Rover 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + Character/NPC/Monster/Construct/Love Puppy/Love Puppy + + Wave Tag + (Wave Tag) + + + + + + + constrct + + + + Monster/Single Family/Construct/Scaled - Redward + + + Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Construct/Lumber/Redward/Redward 1 + + Wave Tag + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Construct/Lumber/Redward/Redward 2 + + Wave Tag + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Construct/Lumber/Redward/Redward 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Monster/Single Family/Construct/Scaled - Rocket Puppy + + + Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Construct/Rocket Puppy/Rocket Puppy/Rocket Puppy 1 + + Wave Tag + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Construct/Rocket Puppy/Rocket Puppy/Rocket Puppy 2 + + Wave Tag + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Construct/Rocket Puppy/Rocket Puppy/Rocket Puppy 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + Character/NPC/Monster/Construct/Love Puppy/Love Puppy + + Wave Tag + (Wave Tag) + + + + + + + construct + + + + Monster/Single Family/Construct/Scaled - Siege Wheel + + + Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"] + + + Wheel Interval + implementation.root.entries[0].entry.entries[0].entry.actor["Interval"] + + + Wheel Fuse + implementation.root.entries[0].entry.entries[0].entry.actor["Wheel Fuse"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.0 + 0.0 + + + + + Dynamic/Traps and Hazards/Siege Wheel/Wheel Launcher + + Interval + 6000 + Wave Tag + (Wave Tag) + Wheel Fuse + 10000 + + + + + + + + + + + + + Monster/Single Family/Construct/Scaled - Silversap + + + Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Construct/Lumber/Silversap/Silversap 1 + + Wave Tag + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Construct/Lumber/Silversap/Silversap 2 + + Wave Tag + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Construct/Lumber/Silversap/Silversap 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Monster/Single Family/Construct/Scaled - Vilewood + + + Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Construct/Lumber/Vilewood/Vilewood 1 + + Wave Tag + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Construct/Lumber/Vilewood/Vilewood 2 + + Wave Tag + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Construct/Lumber/Vilewood/Vilewood 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Monster/Single Family/Construct/Tortodrone + + + Wave Tag + implementation.root.actor["Wave Tag"] + + + + true + + + Character/NPC/Monster/Construct/Tortodrone/Tortodrone + + Wave Tag + (Wave Tag) + + + + + + + Monster/Single Family/Fiend/Darkhorse + + + Tag + implementation.root.actor["Wave Tag"] + + + + true + + + Character/NPC/Monster/Fiend/Trojan/Trojan 2 + + Wave Tag + (Wave Tag) + + + + + + + Monster/Single Family/Fiend/Devilite + + + Wave Tag + implementation.root.entries[0].entry.spawn_table["Wave Tag"] + + + + true + + + + 100.0 + + + Monster/Single Family/Fiend/Scaled - Devilite + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Fiend/Firebrander + + + Wave Tag + implementation.root.spawn_table["Wave Tag"] + + + + true + + + Monster/Single Family/Fiend/Scaled - Firebrander + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Monster/Single Family/Fiend/Gloomwing + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + 500.0 + + + Character/NPC/Monster/Fiend/Silkwing/Silkwing 2 + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Fiend/Knightmare + + + Tag + implementation.root.actor["Wave Tag"] + + + + true + + + Character/NPC/Monster/Fiend/Trojan/Trojan 3 + + Wave Tag + (Wave Tag) + + + + + + + Monster/Single Family/Fiend/Mournwing + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + 500.0 + + + Character/NPC/Monster/Fiend/Silkwing/Silkwing 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Fiend/Overtimer + + + Wave Tag + implementation.root.spawn_table["Wave Tag"] + + + + true + + + Monster/Single Family/Fiend/Scaled - Overtimer + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Monster/Single Family/Fiend/Pit Boss + + + Wave Tag + implementation.root.spawn_table["Wave Tag"] + + + + true + + + Monster/Single Family/Fiend/Scaled - Pit Boss + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Monster/Single Family/Fiend/Scaled - Blarful + + + Wave Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Fiend/Devilite/Blarful/Blarful 1 + + Wave Tag + (Wave Tag) + + + + + + 10 + + + Character/NPC/Monster/Fiend/Devilite/Blarful/Blarful 2 + + Wave Tag + (Wave Tag) + + + + + + 20 + + + Character/NPC/Monster/Fiend/Devilite/Blarful/Blarful 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Monster/Single Family/Fiend/Scaled - Blarful Overtimer + + + Wave Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Fiend/Devilite/Blarful/Blarful Overtimer 1 + + Wave Tag + (Wave Tag) + + + + + + 10 + + + Character/NPC/Monster/Fiend/Devilite/Blarful/Blarful Overtimer 2 + + Wave Tag + (Wave Tag) + + + + + + 20 + + + Character/NPC/Monster/Fiend/Devilite/Blarful/Blarful Overtimer 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Monster/Single Family/Fiend/Scaled - Devil-IT + + + Wave Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Fiend/Devilite/Devil-IT/Devil-IT 1 + + Wave Tag + (Wave Tag) + + + + + + 10 + + + Character/NPC/Monster/Fiend/Devilite/Devil-IT/Devil-IT 2 + + Wave Tag + (Wave Tag) + + + + + + 20 + + + Character/NPC/Monster/Fiend/Devilite/Devil-IT/Devil-IT 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Monster/Single Family/Fiend/Scaled - Devil-IT Overtimer + + + Wave Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Fiend/Devilite/Devil-IT/Devil-IT Overtimer 1 + + Wave Tag + (Wave Tag) + + + + + + 10 + + + Character/NPC/Monster/Fiend/Devilite/Devil-IT/Devil-IT Overtimer 2 + + Wave Tag + (Wave Tag) + + + + + + 20 + + + Character/NPC/Monster/Fiend/Devilite/Devil-IT/Devil-IT Overtimer 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Monster/Single Family/Fiend/Scaled - Devilite + + + Wave Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Fiend/Devilite/Devilite/Devilite 1 + + Wave Tag + (Wave Tag) + + + + + + 10 + + + Character/NPC/Monster/Fiend/Devilite/Devilite/Devilite 2 + + Wave Tag + (Wave Tag) + + + + + + 20 + + + Character/NPC/Monster/Fiend/Devilite/Devilite/Devilite 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + undead + + + + Monster/Single Family/Fiend/Scaled - Devilite Overtimer + + + Wave Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Fiend/Devilite/Devilite/Devilite Overtimer 1 + + Wave Tag + (Wave Tag) + + + + + + 10 + + + Character/NPC/Monster/Fiend/Devilite/Devilite/Devilite Overtimer 2 + + Wave Tag + (Wave Tag) + + + + + + 20 + + + Character/NPC/Monster/Fiend/Devilite/Devilite/Devilite Overtimer 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Monster/Single Family/Fiend/Scaled - Firebrander + + + Wave Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Fiend/Devilite/Firebrander/Firebrander 1 + + Wave Tag + (Wave Tag) + + + + + + 10 + + + Character/NPC/Monster/Fiend/Devilite/Firebrander/Firebrander 2 + + Wave Tag + (Wave Tag) + + + + + + 20 + + + Character/NPC/Monster/Fiend/Devilite/Firebrander/Firebrander 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Monster/Single Family/Fiend/Scaled - Firebrander Overtimer + + + Wave Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Fiend/Devilite/Firebrander/Firebrander Overtimer 1 + + Wave Tag + (Wave Tag) + + + + + + 10 + + + Character/NPC/Monster/Fiend/Devilite/Firebrander/Firebrander Overtimer 2 + + Wave Tag + (Wave Tag) + + + + + + 20 + + + Character/NPC/Monster/Fiend/Devilite/Firebrander/Firebrander Overtimer 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Monster/Single Family/Fiend/Scaled - Layoafer + + + Wave Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Fiend/Devilite/Layoafer/Layoafer 1 + + Wave Tag + (Wave Tag) + + + + + + 10 + + + Character/NPC/Monster/Fiend/Devilite/Layoafer/Layoafer 2 + + Wave Tag + (Wave Tag) + + + + + + 20 + + + Character/NPC/Monster/Fiend/Devilite/Layoafer/Layoafer 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Monster/Single Family/Fiend/Scaled - Layoafer Overtimer + + + Wave Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Fiend/Devilite/Layoafer/Layoafer Overtimer 1 + + Wave Tag + (Wave Tag) + + + + + + 10 + + + Character/NPC/Monster/Fiend/Devilite/Layoafer/Layoafer Overtimer 2 + + Wave Tag + (Wave Tag) + + + + + + 20 + + + Character/NPC/Monster/Fiend/Devilite/Layoafer/Layoafer Overtimer 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Monster/Single Family/Fiend/Scaled - Overtimer + + + Wave Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Fiend/Devilite/Devilite/Devilite Overtimer 1 + + Wave Tag + (Wave Tag) + + + + + + 10 + + + Character/NPC/Monster/Fiend/Devilite/Devilite/Devilite Overtimer 2 + + Wave Tag + (Wave Tag) + + + + + + 20 + + + Character/NPC/Monster/Fiend/Devilite/Devilite/Devilite Overtimer 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Monster/Single Family/Fiend/Scaled - Pit Boss + + + Wave Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Fiend/Devilite/Pit Boss/Pit Boss 1 + + Wave Tag + (Wave Tag) + + + + + + 10 + + + Character/NPC/Monster/Fiend/Devilite/Pit Boss/Pit Boss 2 + + Wave Tag + (Wave Tag) + + + + + + 20 + + + Character/NPC/Monster/Fiend/Devilite/Pit Boss/Pit Boss 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Monster/Single Family/Fiend/Scaled - Silkwing + + + Wave Tag + implementation.root.entries[0].entry.spawn_table["Tag"], implementation.root.entries[1].entry.spawn_table["Tag"], implementation.root.entries[2].entry.spawn_table["Tag"] + + + Depth Offset + implementation.root.offset + + + + true + + 0.05 + 0.05 + + + + + Monster/Single Family/Fiend/Silkwing + + Tag + (Wave Tag) + + + + + + 10 + + + Monster/Single Family/Fiend/Gloomwing + + Tag + (Wave Tag) + + + + + + 20 + + + Monster/Single Family/Fiend/Mournwing + + Tag + (Wave Tag) + + + + + + + undead + + + + Monster/Single Family/Fiend/Scaled - Trojan + + + Wave Tag + implementation.root.entries[0].entry.spawn_table["Tag"], implementation.root.entries[1].entry.spawn_table["Tag"], implementation.root.entries[2].entry.spawn_table["Tag"] + + + Depth Offset + implementation.root.offset + + + + true + + 0.05 + 0.05 + + + + + Monster/Single Family/Fiend/Trojan + + Tag + (Wave Tag) + + + + + + 10 + + + Monster/Single Family/Fiend/Darkhorse + + Tag + (Wave Tag) + + + + + + 20 + + + Monster/Single Family/Fiend/Knightmare + + Tag + (Wave Tag) + + + + + + + fiend + + + + Monster/Single Family/Fiend/Scaled - Yesman + + + Wave Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Fiend/Devilite/Yesman/Yesman 1 + + Wave Tag + (Wave Tag) + + + + + + 10 + + + Character/NPC/Monster/Fiend/Devilite/Yesman/Yesman 2 + + Wave Tag + (Wave Tag) + + + + + + 20 + + + Character/NPC/Monster/Fiend/Devilite/Yesman/Yesman 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Monster/Single Family/Fiend/Silkwing + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + 500.0 + + + Character/NPC/Monster/Fiend/Silkwing/Silkwing 1 + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Fiend/Trojan + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + 500.0 + + + Character/NPC/Monster/Fiend/Trojan/Trojan 1 + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Fiend/Yesman + + + Wave Tag + implementation.root.spawn_table["Wave Tag"] + + + + true + + + Monster/Single Family/Fiend/Scaled - Yesman + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + Monster/Single Family/Gremlin/Darkfang Demo + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Gremlin/Darkfang Demo + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Gremlin/Darkfang Mender + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Gremlin/Darkfang Mender + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Gremlin/Darkfang Random 1 + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"], implementation.root.entries[2].entry.actor["Wave Tag"], implementation.root.entries[3].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Gremlin/Darkfang Thwacker + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + Character/NPC/Monster/Gremlin/Darkfang Mender + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + Character/NPC/Monster/Gremlin/Darkfang Scorcher + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + Character/NPC/Monster/Gremlin/Darkfang Demo + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Gremlin/Darkfang Scorcher + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Gremlin/Darkfang Scorcher + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Gremlin/Darkfang Thwacker + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Gremlin/Darkfang Thwacker + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Gremlin/Ironclaw Demo + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Gremlin/Ironclaw Demo + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Gremlin/Ironclaw Mender + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Gremlin/Ironclaw Mender + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Gremlin/Ironclaw Random 1 + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"], implementation.root.entries[2].entry.actor["Wave Tag"], implementation.root.entries[3].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Gremlin/Ironclaw Thwacker + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + Character/NPC/Monster/Gremlin/Ironclaw Mender + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + Character/NPC/Monster/Gremlin/Ironclaw Scorcher + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + Character/NPC/Monster/Gremlin/Ironclaw Demo + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Gremlin/Ironclaw Scorcher + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Gremlin/Ironclaw Scorcher + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Gremlin/Ironclaw Thwacker + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Gremlin/Ironclaw Thwacker + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Gremlin/Parts/Gremlin - Fighter, small + + + Tag + implementation.root.entries[0].entry.spawn_table["Wave Tag"], implementation.root.entries[1].entry.spawn_table["Wave Tag"], implementation.root.entries[2].entry.spawn_table["Wave Tag"] + + + + + + + 2.0 + + + Monster/Single Family/Gremlin/Scaled - Thwacker + + Activate Type + Normal + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + Monster/Single Family/Gremlin/Scaled - Demo + + Activate Type + Normal + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + 0.9 + + + Monster/Single Family/Gremlin/Scaled - Scorcher + + Activate Type + Normal + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + gremlin + + + + Monster/Single Family/Gremlin/Scaled - Demo + + + Wave Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + Activate Type + implementation.root.entries[0].entry.entries[0].entry.actor["Activate Type"], implementation.root.entries[0].entry.entries[1].entry.actor["Activate Type"], implementation.root.entries[0].entry.entries[2].entry.actor["Activate Type"] + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Gremlin/Tenderfoot Demo + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Gremlin/Ironclaw Demo + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Gremlin/Darkfang Demo + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Monster/Single Family/Gremlin/Scaled - Mender + + + Wave Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + Activate Type + implementation.root.entries[0].entry.entries[0].entry.actor["Activate Type"], implementation.root.entries[0].entry.entries[1].entry.actor["Activate Type"], implementation.root.entries[0].entry.entries[2].entry.actor["Activate Type"] + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Gremlin/Tenderfoot Mender + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Gremlin/Ironclaw Mender + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Gremlin/Darkfang Mender + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + + + gremlin + + + + Monster/Single Family/Gremlin/Scaled - Random 1 + + + Tag + implementation.root.entries[0].entry.spawn_table["Wave Tag"], implementation.root.entries[1].entry.spawn_table["Wave Tag"], implementation.root.entries[2].entry.spawn_table["Wave Tag"], implementation.root.entries[3].entry.spawn_table["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.spawn_table["Depth Offset"], implementation.root.entries[1].entry.spawn_table["Depth Offset"], implementation.root.entries[2].entry.spawn_table["Depth Offset"], implementation.root.entries[3].entry.spawn_table["Depth Offset"] + + + + true + + + + 1.1 + + + Monster/Single Family/Gremlin/Scaled - Demo + + Activate Type + Normal + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + 0.7 + + + Monster/Single Family/Gremlin/Scaled - Mender + + Activate Type + Normal + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + 1.1 + + + Monster/Single Family/Gremlin/Scaled - Scorcher + + Activate Type + Normal + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + 1.1 + + + Monster/Single Family/Gremlin/Scaled - Thwacker + + Activate Type + Normal + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Gremlin/Scaled - Scorcher + + + Wave Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + Activate Type + implementation.root.entries[0].entry.entries[0].entry.actor["Activate Type"], implementation.root.entries[0].entry.entries[1].entry.actor["Activate Type"], implementation.root.entries[0].entry.entries[2].entry.actor["Activate Type"] + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Gremlin/Tenderfoot Scorcher + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Gremlin/Ironclaw Scorcher + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Gremlin/Darkfang Scorcher + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Monster/Single Family/Gremlin/Scaled - Thwacker + + + Wave Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + Activate Type + implementation.root.entries[0].entry.entries[0].entry.actor["Activate Type"], implementation.root.entries[0].entry.entries[1].entry.actor["Activate Type"], implementation.root.entries[0].entry.entries[2].entry.actor["Activate Type"] + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Gremlin/Tenderfoot Thwacker + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Gremlin/Ironclaw Thwacker + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Gremlin/Darkfang Thwacker + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Monster/Single Family/Gremlin/Tenderfoot Demo + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Gremlin/Tenderfoot Demo + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Gremlin/Tenderfoot Mender + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Gremlin/Tenderfoot Mender + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Gremlin/Tenderfoot Random 1 + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"], implementation.root.entries[2].entry.actor["Wave Tag"], implementation.root.entries[3].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Gremlin/Tenderfoot Thwacker + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + Character/NPC/Monster/Gremlin/Tenderfoot Mender + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + Character/NPC/Monster/Gremlin/Tenderfoot Scorcher + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + Character/NPC/Monster/Gremlin/Tenderfoot Demo + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Gremlin/Tenderfoot Scorcher + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Gremlin/Tenderfoot Scorcher + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Gremlin/Tenderfoot Thwacker + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Gremlin/Tenderfoot Thwacker + + Activate Type + Normal + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Slime/Blast Cube + + + Tag + implementation.spawn_table["Wave Tag"] + + + + + Monster/Single Family/Slime/Scaled - Blast Cube + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Single Family/Slime/Brute Cube + + + Tag + implementation.spawn_table["Wave Tag"] + + + + + Monster/Single Family/Slime/Scaled - Jelly Cube + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Single Family/Slime/Impostocube + + + Tag + implementation.root.entries[1].entry.actor["Wave Tag"] + + + + true + + + + 500.0 + + + + + Character/NPC/Monster/Slime/Jelly/Impostocube + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Slime/Jelly Cube + + + Tag + implementation.spawn_table["Wave Tag"] + + + + + Monster/Single Family/Slime/Scaled - Jelly Cube + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Single Family/Slime/Jelly Green Giant + + + Tag + implementation.root.entries[0].entry.actor["Tags"].tags[0] + + + + true + + + + 500.0 + + + Character/NPC/Monster/Slime/Jelly Green Giant + + + + + + + + + Monster/Single Family/Slime/Large Lichen Colony + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"], implementation.root.entries[2].entry.actor["Wave Tag"] + + + + true + + + + 1000.0 + + + Character/NPC/Monster/Slime/Large Lichen Colony + + Size + 1 + Wave Tag + (Wave Tag) + + + + + + 100.0 + + + Character/NPC/Monster/Slime/Large Lichen Colony + + Size + 12 + Wave Tag + (Wave Tag) + + + + + + + + Character/NPC/Monster/Slime/Large Lichen Colony + + Size + 14 + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Slime/Lichen Colony + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"], implementation.root.entries[2].entry.actor["Wave Tag"] + + + + true + + + + 1000.0 + + + Character/NPC/Monster/Slime/Lichen Colony + + Size + 1 + Wave Tag + (Wave Tag) + + + + + + 100.0 + + + Character/NPC/Monster/Slime/Lichen Colony + + Size + 2 + Wave Tag + (Wave Tag) + + + + + + + + Character/NPC/Monster/Slime/Lichen Colony + + Size + 3 + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Slime/Parts/Giant Slime Random 1 + + + Tag + implementation.root.entries[0].entry.actor["Tags"].tags[0], implementation.root.entries[1].entry.actor["Wave Tag"], implementation.root.entries[2].entry.actor["Wave Tag"] + + + + + + + + + Character/NPC/Monster/Slime/Jelly Green Giant + + + + + + + Character/NPC/Monster/Slime/Toxilargo/Toxilargo 1 + + Wave Tag + (Wave Tag) + + + + + + + + Character/NPC/Monster/Slime/Sloombargo/Sloombargo 1 + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Slime/Parts/Giant Slime Random 2 + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"] + + + + + + + + + Character/NPC/Monster/Slime/Toxilargo/Toxilargo 3 + + Wave Tag + (Wave Tag) + + + + + + + + Character/NPC/Monster/Slime/Sloombargo/Sloombargo 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Slime/Parts/Jelly Green Giant Split + + + + + + Character/NPC/Monster/Slime/Jelly Green Mini + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly Green Mini + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly Green Mini + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly Green Mini + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly Green Mini + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly Green Mini + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly Green Mini + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly Green Mini + + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Single Family/Slime/Parts/Jelly Green Giant Split, No Loot + + + + + + Character/NPC/Monster/Slime/Jelly Green Mini (No Loot) + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly Green Mini (No Loot) + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly Green Mini (No Loot) + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly Green Mini (No Loot) + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly Green Mini (No Loot) + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly Green Mini (No Loot) + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly Green Mini (No Loot) + + Wave Tag + (Wave Tag) + + + + + + Character/NPC/Monster/Slime/Jelly Green Mini (No Loot) + + Wave Tag + (Wave Tag) + + + + + + + + + Monster/Single Family/Slime/Rock Jelly + + + Tag + implementation.spawn_table["Wave Tag"] + + + + + Monster/Single Family/Slime/Scaled - Rock Jelly + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Single Family/Slime/Scaled - Blast Cube + + + Wave Tag + implementation.root.entries[0].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"], implementation.root.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.offset + + + + true + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Slime/Blast Cube/Blast Cube 1 + + Wave Tag + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Slime/Blast Cube/Blast Cube 2 + + Wave Tag + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Slime/Blast Cube/Blast Cube 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Slime/Scaled - Companion Cube (Friendly) + + + Wave Tag + implementation.root.entries[0].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"], implementation.root.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.offset + + + + true + + 0.0 + 0.0 + + + + + Character/NPC/Monster/Slime/Companion Cube/Companion Cube 1 + + Wave Tag + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Slime/Companion Cube/Companion Cube 2 + + Wave Tag + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Slime/Companion Cube/Companion Cube 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Slime/Scaled - Giant Slime + + + Wave Tag + implementation.root.entries[0].entry.spawn_table["Tag"], implementation.root.entries[1].entry.spawn_table["Tag"] + + + Depth Offset + implementation.root.offset + + + + true + + 0.05 + 0.05 + + + + + Monster/Single Family/Slime/Parts/Giant Slime Random 1 + + Tag + (Wave Tag) + + + + + + 16 + + + Monster/Single Family/Slime/Parts/Giant Slime Random 2 + + Tag + (Wave Tag) + + + + + + + slime + + + + Monster/Single Family/Slime/Scaled - Jelly Cube + + + Wave Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Slime/Jelly/Jelly Cube/Jelly Cube 1 + + Wave Tag + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Slime/Jelly/Jelly Cube/Jelly Cube 2 + + Wave Tag + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Slime/Jelly/Jelly Cube/Jelly Cube 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + Character/NPC/Monster/Slime/Jelly/Impostocube + + Wave Tag + (Wave Tag) + + + + + + + slime + + + + Monster/Single Family/Slime/Scaled - Large Lichen Colony + + + Wave Tag + implementation.root.entries[0].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"], implementation.root.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.offset + + + + true + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Slime/Large Lichen Colony + + Size + 1 + Wave Tag + (Wave Tag) + + + + + + 12 + + + Character/NPC/Monster/Slime/Large Lichen Colony + + Size + 11 + Wave Tag + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Slime/Large Lichen Colony + + Size + 12 + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Slime/Scaled - Lichen Colony + + + Wave Tag + implementation.root.entries[0].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"], implementation.root.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.offset + + + + true + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Slime/Lichen Colony + + Size + 1 + Wave Tag + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Slime/Lichen Colony + + Size + 2 + Wave Tag + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Slime/Lichen Colony + + Size + 3 + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Slime/Scaled - Oiler + + + Wave Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Slime/Jelly/Oiler/Oiler 1 + + Wave Tag + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Slime/Jelly/Oiler/Oiler 2 + + Wave Tag + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Slime/Jelly/Oiler/Oiler 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + Character/NPC/Monster/Slime/Jelly/Soul Jelly + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Slime/Scaled - Rock Jelly + + + Wave Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Slime/Rock Jelly/Rock Jelly 1 + + Wave Tag + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Slime/Rock Jelly/Rock Jelly 2 + + Wave Tag + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Slime/Rock Jelly/Rock Jelly 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + Character/NPC/Monster/Slime/Jelly/Impostocube + + Wave Tag + (Wave Tag) + + + + + + + slime + + + + Monster/Single Family/Slime/Scaled - Royal Jelly + + + Wave Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Boss/Royal Jelly/Royal Jelly 1 + + Wave Tag + (Wave Tag) + + + + + + 14 + + + Character/NPC/Monster/Boss/Royal Jelly/Royal Jelly 2 + + Wave Tag + (Wave Tag) + + + + + + 24 + + + Character/NPC/Monster/Boss/Royal Jelly/Royal Jelly 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Monster/Single Family/Slime/Scaled - Royal Mini + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Mini/Royal Mini 1 + + + + + + + + + + + + Monster/Single Family/Slime/Scaled - Royal Mini, No Despawn + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Boss/Royal Jelly/Parts/Royal Mini/Royal Mini, No Despawn + + + + + + + + + + + + Monster/Single Family/Slime/Scaled - Sloom + + + Wave Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Slime/Sloom/Sloom 1 + + Wave Tag + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Slime/Sloom/Sloom 2 + + Wave Tag + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Slime/Sloom/Sloom 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + Character/NPC/Monster/Slime/Jelly/Soul Jelly + + Wave Tag + (Wave Tag) + + + + + + + slime + + + + Monster/Single Family/Slime/Scaled - Sloombargo + + + Wave Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Slime/Sloombargo/Sloombargo 1 + + Wave Tag + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Slime/Sloombargo/Sloombargo 2 + + Wave Tag + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Slime/Sloombargo/Sloombargo 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + Character/NPC/Monster/Slime/Jelly/Soul Jelly + + Wave Tag + (Wave Tag) + + + + + + + slime + + + + Monster/Single Family/Slime/Scaled - Toxigel + + + Wave Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Slime/Jelly/Toxigel/Toxigel 1 + + Wave Tag + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Slime/Jelly/Toxigel/Toxigel 2 + + Wave Tag + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Slime/Jelly/Toxigel/Toxigel 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + Character/NPC/Monster/Slime/Jelly/Soul Jelly + + Wave Tag + (Wave Tag) + + + + + + + slime + + + + Monster/Single Family/Slime/Scaled - Toxilargo + + + Wave Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Slime/Toxilargo/Toxilargo 1 + + Wave Tag + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Slime/Toxilargo/Toxilargo 2 + + Wave Tag + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Slime/Toxilargo/Toxilargo 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + Character/NPC/Monster/Slime/Jelly/Soul Jelly + + Wave Tag + (Wave Tag) + + + + + + + slime + + + + Monster/Single Family/Slime/Soul Jelly + + + Tag + implementation.root.entries[1].entry.actor["Wave Tag"] + + + + true + + + + 500.0 + + + + + Character/NPC/Monster/Slime/Jelly/Soul Jelly + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Slime/Toxigel + + + Tag + implementation.spawn_table["Wave Tag"] + + + + + Monster/Single Family/Slime/Scaled - Toxigel + + Depth Offset + 0 + Wave Tag + (Wave Tag) + + + + + + Monster/Single Family/Undead/Barlok + + + Tag + implementation.root.entries[0].entry.actor["Tags"].tags[0] + + + + true + + + + 500.0 + + + Character/NPC/Monster/Undead/Barlok + + + + + + + + + Monster/Single Family/Undead/Black Kat + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"] + + + + true + + + + 500.0 + + + Character/NPC/Monster/Undead/Spookat/Black Kat + + Wave Tag + (Wave Tag) + + + + + + + + Character/NPC/Monster/Undead/Spookat/Mewkat + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Undead/Droul + + + Tag + implementation.root.entries[0].entry.spawn_table["Tag"] + + + + true + + + + 500.0 + + + Monster/Single Family/Undead/Scaled - Droul + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Undead/Dust Zombie + + + Tag + implementation.root.entries[0].entry.spawn_table["Tag"] + + + + true + + + + 500.0 + + + Monster/Single Family/Undead/Scaled - Dust Zombie + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Undead/Dybbuk + + + Tag + implementation.root.entries[0].entry.actor["Tags"].tags[0] + + + + true + + + + 500.0 + + + Character/NPC/Monster/Undead/Dybbuk + + + + + + + + + Monster/Single Family/Undead/Frozen Shambler + + + Tag + implementation.root.entries[0].entry.spawn_table["Tag"] + + + + true + + + + 500.0 + + + Monster/Single Family/Undead/Scaled - Frozen Shambler + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Undead/Mewkat + + + Tag + implementation.root.entries[1].entry.actor["Wave Tag"] + + + + true + + + + 500.0 + + + + + Character/NPC/Monster/Undead/Spookat/Mewkat + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Undead/Phantom + + + Tag + implementation.root.entries[0].entry.spawn_table["Tag"] + + + + true + + + + 500.0 + + + Monster/Single Family/Undead/Scaled - Phantom + + Depth Offset + 0 + Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Undead/Scaled - Bloogato + + + Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Undead/Spookat/Bloogato/Bloogato 1 + + Wave Tag + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Undead/Spookat/Bloogato/Bloogato 2 + + Wave Tag + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Undead/Spookat/Bloogato/Bloogato 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + Character/NPC/Monster/Undead/Spookat/Mewkat + + Wave Tag + (Wave Tag) + + + + + + + undead + + + + Monster/Single Family/Undead/Scaled - Droul + + + Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Undead/Zombie/Droul/Droul 1 + + Wave Tag + (Wave Tag) + + + + + + 10 + + + Character/NPC/Monster/Undead/Zombie/Droul/Droul 2 + + Wave Tag + (Wave Tag) + + + + + + 20 + + + Character/NPC/Monster/Undead/Zombie/Droul/Droul 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Monster/Single Family/Undead/Scaled - Dust Zombie + + + Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Undead/Zombie/Dust Zombie/Dust Zombie 1 + + Wave Tag + (Wave Tag) + + + + + + 10 + + + Character/NPC/Monster/Undead/Zombie/Dust Zombie/Dust Zombie 2 + + Wave Tag + (Wave Tag) + + + + + + 20 + + + Character/NPC/Monster/Undead/Zombie/Dust Zombie/Dust Zombie 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + undead + + + + Monster/Single Family/Undead/Scaled - Frozen Shambler + + + Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Undead/Zombie/Frozen Shamber/Frozen Shamber 1 + + Wave Tag + (Wave Tag) + + + + + + 10 + + + Character/NPC/Monster/Undead/Zombie/Frozen Shamber/Frozen Shamber 2 + + Wave Tag + (Wave Tag) + + + + + + 20 + + + Character/NPC/Monster/Undead/Zombie/Frozen Shamber/Frozen Shamber 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Monster/Single Family/Undead/Scaled - Hurkat + + + Tag + implementation.root.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Undead/Spookat/Hurkat/Hurkat 1 + + Wave Tag + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Undead/Spookat/Hurkat/Hurkat 2 + + Wave Tag + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Undead/Spookat/Hurkat/Hurkat 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + Character/NPC/Monster/Undead/Spookat/Mewkat + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Undead/Scaled - Phantom + + + Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Undead/Phantom/Phantom 1 + + Wave Tag + (Wave Tag) + + + + + + 10 + + + Character/NPC/Monster/Undead/Phantom/Phantom 2 + + Wave Tag + (Wave Tag) + + + + + + 20 + + + Character/NPC/Monster/Undead/Phantom/Phantom 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Monster/Single Family/Undead/Scaled - Slag Walker + + + Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Undead/Zombie/Slag Walker/Slag Walker 1 + + Wave Tag + (Wave Tag) + + + + + + 10 + + + Character/NPC/Monster/Undead/Zombie/Slag Walker/Slag Walker 2 + + Wave Tag + (Wave Tag) + + + + + + 20 + + + Character/NPC/Monster/Undead/Zombie/Slag Walker/Slag Walker 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + + + Monster/Single Family/Undead/Scaled - Spookat + + + Tag + implementation.root.entries[0].entry.entries[0].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[1].entry.actor["Wave Tag"], implementation.root.entries[0].entry.entries[2].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"] + + + Depth Offset + implementation.root.entries[0].entry.offset + + + + true + + + + 1000.0 + + 0.05 + 0.05 + + + + + Character/NPC/Monster/Undead/Spookat/Spookat/Spookat 1 + + Wave Tag + (Wave Tag) + + + + + + 9 + + + Character/NPC/Monster/Undead/Spookat/Spookat/Spookat 2 + + Wave Tag + (Wave Tag) + + + + + + 19 + + + Character/NPC/Monster/Undead/Spookat/Spookat/Spookat 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + + Character/NPC/Monster/Undead/Spookat/Mewkat + + Wave Tag + (Wave Tag) + + + + + + + undead + + + + Monster/Single Family/Undead/Slag Walker + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"], implementation.root.entries[2].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Undead/Zombie/Slag Walker/Slag Walker 1 + + Wave Tag + (Wave Tag) + + + + + + 10 + + + Character/NPC/Monster/Undead/Zombie/Slag Walker/Slag Walker 2 + + Wave Tag + (Wave Tag) + + + + + + 20 + + + Character/NPC/Monster/Undead/Zombie/Slag Walker/Slag Walker 3 + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Single Family/Undead/Spookat + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"], implementation.root.entries[1].entry.actor["Wave Tag"], implementation.root.entries[2].entry.actor["Wave Tag"] + + + + true + + + + 1000.0 + + + Character/NPC/Monster/Undead/Spookat/Spookat/Spookat 1 + + Wave Tag + (Wave Tag) + + + + + + 50.0 + + + Character/NPC/Monster/Undead/Spookat/Spookat/Spookat 2 + + Wave Tag + (Wave Tag) + + + + + + + + Character/NPC/Monster/Undead/Spookat/Mewkat + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Tutorial/Intro/Chromalisk Whelp + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Beast/Chromalisk Whelp/Chromalisk Whelp (Intro) + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Tutorial/Intro/Jelly Cube + + + Tag + implementation.root.entries[0].entry.actor["Tags"] + + + + true + + + + + + Character/NPC/Monster/Slime/Jelly Cube (Intro) + + Tags + (Wave Tag) + + + + + + + + + + Monster/Tutorial/Training Grounds/Chromalisk Whelp + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Beast/Chromalisk Whelp/Chromalisk Whelp (TG) + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Tutorial/Training Grounds/Dust Zombie + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Undead/Zombie/Dust Zombie (TG) + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Tutorial/Training Grounds/Gun Puppy + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Gun Puppy (No Loot) + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Tutorial/Training Grounds/Gun Puppy (firing) + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Construct/Gun Puppy/Gun Puppy (No Loot) + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Tutorial/Training Grounds/Jelly Cube + + + Tag + implementation.root.entries[0].entry.actor["Tags"] + + + + true + + + + + + Character/NPC/Monster/Slime/Jelly Cube (TG) + + Tags + (Wave Tag) + + + + + + + + + + Monster/Tutorial/Training Grounds/Lumber + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Construct/Lumber/Lumber (TG) + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Tutorial/Training Grounds/Retrode + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Construct/Retrode/Retrode (TG) + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Tutorial/Training Grounds/Scuttlebot + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Construct/Scuttlebot/Scuttlebot (TG) + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Tutorial/Training Grounds/Silkwing + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Fiend/Silkwing (TG) + + Wave Tag + (Wave Tag) + + + + + + + + + + Monster/Tutorial/Training Grounds/Wolver + + + Tag + implementation.root.entries[0].entry.actor["Wave Tag"] + + + + true + + + + + + Character/NPC/Monster/Beast/Wolver/Wolver (TG) + + Wave Tag + (Wave Tag) + + + + + + + + + + NPC/Tier Guard/Tier Guard + + + 0.0 + 0.0 + + + + + Character/NPC/Tier Guard/Tier 1 + + + + + 18 + + + Character/NPC/Tier Guard/Tier 2 + + + + + + + + + Props/Burial mound + + + + + + 2.0 + + + Static/Gravestones/Grave mound, intersect Start + + + + + + + Static/Gravestones/Grave mound, intersect Stop + + + + + + + + + + Props/Clockworks/Valves - red wheel, 1.5unit + + true + + + + + + Dynamic/Breakable Objects/Clockworks/Pipeworks/Valve, wheel 01 + + Transform + + 0.0, -0.2, 1.0 + 0.0, 0.25881904, 0.0, 0.9659258 + + + + + + + + + Dynamic/Breakable Objects/Clockworks/Pipeworks/Valve, wheel 01 + + Transform + + 0.0, -0.2, 1.0 + 0.0, 0.1305262, 0.0, 0.9914449 + + + + + + + + + Dynamic/Breakable Objects/Clockworks/Pipeworks/Valve, wheel 01 + + Transform + + 0.0, -0.2, 1.0 + + + + + + + + + Dynamic/Breakable Objects/Clockworks/Pipeworks/Valve, wheel 01 + + Transform + + 0.0, -0.2, 1.0 + 0.0, -0.1305262, 0.0, 0.9914449 + + + + + + + + + Dynamic/Breakable Objects/Clockworks/Pipeworks/Valve, wheel 01 + + Transform + + 0.0, -0.2, 1.0 + 0.0, -0.25881904, 0.0, 0.9659258 + + + + + + + + + + + Props/Clockworks/Valves - red wheel, 1unit + + true + + + + + + Dynamic/Breakable Objects/Clockworks/Pipeworks/Valve, wheel 01 + + Transform + + 0.0, -0.2, 0.75 + 0.0, 0.25881904, 0.0, 0.9659258 + + + + + + + + + Dynamic/Breakable Objects/Clockworks/Pipeworks/Valve, wheel 01 + + Transform + + 0.0, -0.2, 0.75 + 0.0, 0.1305262, 0.0, 0.9914449 + + + + + + + + + Dynamic/Breakable Objects/Clockworks/Pipeworks/Valve, wheel 01 + + Transform + + 0.0, -0.2, 0.75 + + + + + + + + + Dynamic/Breakable Objects/Clockworks/Pipeworks/Valve, wheel 01 + + Transform + + 0.0, -0.2, 0.75 + 0.0, -0.1305262, 0.0, 0.9914449 + + + + + + + + + Dynamic/Breakable Objects/Clockworks/Pipeworks/Valve, wheel 01 + + Transform + + 0.0, -0.2, 0.75 + 0.0, -0.25881904, 0.0, 0.9659258 + + + + + + + + + + + Props/Clockworks/Valves - red wheel, 2.5unit + + true + + + + + + Dynamic/Breakable Objects/Clockworks/Pipeworks/Valve, wheel 01 + + Transform + + 0.0, -0.2, 1.5 + 0.0, 0.25881904, 0.0, 0.9659258 + + + + + + + + + Dynamic/Breakable Objects/Clockworks/Pipeworks/Valve, wheel 01 + + Transform + + 0.0, -0.2, 1.5 + 0.0, 0.1305262, 0.0, 0.9914449 + + + + + + + + + Dynamic/Breakable Objects/Clockworks/Pipeworks/Valve, wheel 01 + + Transform + + 0.0, -0.2, 1.5 + + + + + + + + + Dynamic/Breakable Objects/Clockworks/Pipeworks/Valve, wheel 01 + + Transform + + 0.0, -0.2, 1.5 + 0.0, -0.1305262, 0.0, 0.9914449 + + + + + + + + + Dynamic/Breakable Objects/Clockworks/Pipeworks/Valve, wheel 01 + + Transform + + 0.0, -0.2, 1.5 + 0.0, -0.25881904, 0.0, 0.9659258 + + + + + + + + + + + Props/Clockworks/Valves - red wheel, 2unit + + true + + + + + + Dynamic/Breakable Objects/Clockworks/Pipeworks/Valve, wheel 01 + + Transform + + 0.0, -0.2, 1.25 + 0.0, 0.25881904, 0.0, 0.9659258 + + + + + + + + + Dynamic/Breakable Objects/Clockworks/Pipeworks/Valve, wheel 01 + + Transform + + 0.0, -0.2, 1.25 + 0.0, 0.1305262, 0.0, 0.9914449 + + + + + + + + + Dynamic/Breakable Objects/Clockworks/Pipeworks/Valve, wheel 01 + + Transform + + 0.0, -0.2, 1.25 + + + + + + + + + Dynamic/Breakable Objects/Clockworks/Pipeworks/Valve, wheel 01 + + Transform + + 0.0, -0.2, 1.25 + 0.0, -0.1305262, 0.0, 0.9914449 + + + + + + + + + Dynamic/Breakable Objects/Clockworks/Pipeworks/Valve, wheel 01 + + Transform + + 0.0, -0.2, 1.25 + 0.0, -0.25881904, 0.0, 0.9659258 + + + + + + + + + + + Props/Gravestones + + + + + 100.0 + + + Static/Gravestones/Static, small block + + + + + 100.0 + + + Static/Gravestones/Static, small planed + + Model + gravestone_01 + + + + + + 100.0 + + + Static/Gravestones/Static, small rounded + + + + + 10.0 + + + Dynamic/Breakable Objects/Gravestones/Breakable, small block + + + + + 10.0 + + + Dynamic/Breakable Objects/Gravestones/Breakable, small planed + + Model + gravestone_01_breakable + + + + + + 10.0 + + + Dynamic/Breakable Objects/Gravestones/Breakable, small rounded + + + + + + + + + Puzzle/Toggle - 6 + + + (State 0 Signal) + implementation.root.entries[0].actor["(State 0 Signal)"], implementation.root.entries[1].actor["(State 0 Signal)"], implementation.root.entries[2].actor["(State 0 Signal)"], implementation.root.entries[3].actor["(State 0 Signal)"], implementation.root.entries[4].actor["(State 0 Signal)"], implementation.root.entries[5].actor["(State 0 Signal)"] + + + (State 0 Tag) + implementation.root.entries[0].actor["(State 0 Tag)"], implementation.root.entries[1].actor["(State 0 Tag)"], implementation.root.entries[2].actor["(State 0 Tag)"], implementation.root.entries[3].actor["(State 0 Tag)"], implementation.root.entries[4].actor["(State 0 Tag)"], implementation.root.entries[5].actor["(State 0 Tag)"] + + + (State 1 Signal) + implementation.root.entries[0].actor["(State 1 Signal)"], implementation.root.entries[1].actor["(State 1 Signal)"], implementation.root.entries[2].actor["(State 1 Signal)"], implementation.root.entries[3].actor["(State 1 Signal)"], implementation.root.entries[4].actor["(State 1 Signal)"], implementation.root.entries[5].actor["(State 1 Signal)"] + + + (State 1 Tag) + implementation.root.entries[0].actor["(State 1 Tag)"], implementation.root.entries[1].actor["(State 1 Tag)"], implementation.root.entries[2].actor["(State 1 Tag)"], implementation.root.entries[3].actor["(State 1 Tag)"], implementation.root.entries[4].actor["(State 1 Tag)"], implementation.root.entries[5].actor["(State 1 Tag)"] + + + + true + + + + + Dynamic/Switch/Lever/Damage Toggle (Puzzle) + + (Left Toggle Tag) + _puz_tog6 + (Right Toggle Tag) + _puz_tog2 + (State 0 Signal) + (State 0 Signal) + (State 0 Tag) + (State 0 Tag) + (State 1 Signal) + (State 1 Signal) + (State 1 Tag) + (State 1 Tag) + (Toggle Tag) + _puz_tog1 + + + + + + Dynamic/Switch/Lever/Damage Toggle (Puzzle) + + (Left Toggle Tag) + _puz_tog1 + (Right Toggle Tag) + _puz_tog3 + (State 0 Signal) + (State 0 Signal) + (State 0 Tag) + (State 0 Tag) + (State 1 Signal) + (State 1 Signal) + (State 1 Tag) + (State 1 Tag) + (Toggle Tag) + _puz_tog2 + + + + + + Dynamic/Switch/Lever/Damage Toggle (Puzzle) + + (Left Toggle Tag) + _puz_tog2 + (Right Toggle Tag) + _puz_tog4 + (State 0 Signal) + (State 0 Signal) + (State 0 Tag) + (State 0 Tag) + (State 1 Signal) + (State 1 Signal) + (State 1 Tag) + (State 1 Tag) + (Toggle Tag) + _puz_tog3 + + + + + + Dynamic/Switch/Lever/Damage Toggle (Puzzle) + + (Left Toggle Tag) + _puz_tog3 + (Right Toggle Tag) + _puz_tog5 + (State 0 Signal) + (State 0 Signal) + (State 0 Tag) + (State 0 Tag) + (State 1 Signal) + (State 1 Signal) + (State 1 Tag) + (State 1 Tag) + (Toggle Tag) + _puz_tog4 + + + + + + Dynamic/Switch/Lever/Damage Toggle (Puzzle) + + (Left Toggle Tag) + _puz_tog4 + (Right Toggle Tag) + _puz_tog6 + (State 0 Signal) + (State 0 Signal) + (State 0 Tag) + (State 0 Tag) + (State 1 Signal) + (State 1 Signal) + (State 1 Tag) + (State 1 Tag) + (Toggle Tag) + _puz_tog5 + + + + + + Dynamic/Switch/Lever/Damage Toggle (Puzzle) + + (Left Toggle Tag) + _puz_tog5 + (Right Toggle Tag) + _puz_tog1 + (State 0 Signal) + (State 0 Signal) + (State 0 Tag) + (State 0 Tag) + (State 1 Signal) + (State 1 Signal) + (State 1 Tag) + (State 1 Tag) + (Toggle Tag) + _puz_tog6 + + + + + + + + + Special Encounter/Terminal Traveler + + + 0.0 + 0.0 + + + + + + + + Shop/Traveler/Terminal Tier 1 + + + + + + + + 9 + + + + + + Shop/Traveler/Terminal Tier 2 + + + + + + + + 19 + + + Shop/Traveler/Terminal Tier 3 + + + + + + + + + Treasure/Block/Aurora Isles/Aurora Block + + + Treasure/Block/Treasure Block Base + + Normal Treasure + + Treasure/Block/Aurora Isles/Aurora, Normal + + Rare Treasure + + Treasure/Block/Aurora Isles/Aurora, Rare + + + + + + + Treasure/Block/Aurora Isles/Aurora Loot + + + + + + + Treasure/Block/Class {stc}/Slime/Slime Loot + + + + + + + Treasure/Block/Class {stc}/Beast/Beast Loot + + + + + + + + + Treasure/Block/Aurora Isles/Aurora, Normal + + + Treasure/Block/Treasure, Normal + + Loot + + Treasure/Block/Aurora Isles/Aurora Loot + + + + + + + Treasure/Block/Aurora Isles/Aurora, Rare + + + Treasure/Block/Treasure, Rare + + Loot + + Treasure/Block/Aurora Isles/Aurora Loot + + + + + + + Treasure/Block/Battle Arena/Battle Block + + + Treasure/Block/Treasure Block Base + + Normal Treasure + + Treasure/Block/Battle Arena/Battle, Normal + + Rare Treasure + + Treasure/Block/Battle Arena/Battle, Rare + + + + + + + Treasure/Block/Battle Arena/Battle Loot + + + + + + + Treasure/Recipe Loot/Gear Sets/Ancient Plate Gear + + + + + + + Treasure/Recipe Loot/Gear Sets/Plate Gear + + + + + + + Treasure/Recipe Loot/Gear Sets/Drake Scale Gear + + + + + + + Treasure/Recipe Loot/Sword Series/Avenger Series + + + + + + + Treasure/Recipe Loot/Sword Series/Faust Series + + + + + + + Treasure/Recipe Loot/Sword Series/Brandish Series + + + + + + + Treasure/Recipe Loot/Sword Series/Troika Series + + + + + + + Treasure/Recipe Loot/Handgun Series/Magnus Series + + + + + + + Treasure/Recipe Loot/Handgun Series/Silversix Series + + + + + + + + + Treasure/Block/Battle Arena/Battle, Normal + + + Treasure/Block/Treasure, Normal + + Loot + + Treasure/Block/Battle Arena/Battle Loot + + + + + + + Treasure/Block/Battle Arena/Battle, Rare + + + Treasure/Block/Treasure, Rare + + Loot + + Treasure/Block/Battle Arena/Battle Loot + + + + + + + Treasure/Block/Class {stc}/Beast/Beast Loot + + + + + 150.0 + + + Token/Primal Token + + + + + + + Treasure/Item Loot/Beast/Beast Items + + + + + + beast + + + + Treasure/Block/Class {stc}/Class Loot + + + + Treasure/Block/Class {stc}/Vanilla/Vanilla Loot + + + + + Treasure/Block/Class {stc}/Beast/Beast Loot + + + + + Treasure/Block/Class {stc}/Construct/Construct Loot + + + + + Treasure/Block/Class {stc}/Fiend/Fiend Loot + + + + + Treasure/Block/Class {stc}/Fire/Fire Loot + + + + + Treasure/Block/Class {stc}/Freeze/Freeze Loot + + + + + Treasure/Block/Class {stc}/Gremlin/Gremlin Loot + + + + + Treasure/Block/Class {stc}/Poison/Poison Loot + + + + + Treasure/Block/Class {stc}/Shock/Shock Loot + + + + + Treasure/Block/Class {stc}/Slime/Slime Loot + + + + + Treasure/Block/Class {stc}/Undead/Undead Loot + + + + + Treasure/Block/Class {stc}/Vanilla/Vanilla Loot + + + + + + + + Treasure/Block/Class {stc}/Construct/Construct Loot + + + + + 150.0 + + + Token/Forge Token + + + + + + + Treasure/Item Loot/Construct/Construct Items + + + + + + construct + + + + Treasure/Block/Class {stc}/Fiend/Fiend Loot + + + + + 150.0 + + + Token/Grim Token + + + + + + + Treasure/Item Loot/Fiend/Fiend Items + + + + + + fiend + + + + Treasure/Block/Class {stc}/Fire/Fire Loot + + + + + 150.0 + + + Token/Forge Token + + + + + 50.0 + + + Treasure/Item Loot/Fire/Fire Mats + + + + + + + Treasure/Item Loot/Fire/Fire Items + + + + + + fire + + + + Treasure/Block/Class {stc}/Freeze/Freeze Loot + + + + + 150.0 + + + Token/Primal Token + + + + + 50.0 + + + Treasure/Item Loot/Freeze/Freeze Mats + + + + + + + Treasure/Item Loot/Freeze/Freeze Items + + + + + + freeze + + + + Treasure/Block/Class {stc}/Gremlin/Gremlin Loot + + + + + 150.0 + + + Token/Forge Token + + + + + + + Treasure/Item Loot/Gremlin/Gremlin Items + + + + + + gremlin + + + + Treasure/Block/Class {stc}/Poison/Poison Loot + + + + + 150.0 + + + Token/Grim Token + + + + + 50.0 + + + Treasure/Item Loot/Poison/Poison Mats + + + + + + + Treasure/Item Loot/Poison/Poison Items + + + + + + poison + + + + Treasure/Block/Class {stc}/Shock/Shock Loot + + + + + 150.0 + + + Token/Forge Token + + + + + 50.0 + + + Treasure/Item Loot/Shock/Shock Mats + + + + + + + Treasure/Item Loot/Shock/Shock Items + + + + + + shock + + + + Treasure/Block/Class {stc}/Slime/Slime Loot + + + + + 150.0 + + + Token/Primal Token + + + + + + + Treasure/Item Loot/Slime/Slime Items + + + + + + slime + + + + Treasure/Block/Class {stc}/Undead/Undead Loot + + + + + 150.0 + + + Token/Grim Token + + + + + + + Treasure/Item Loot/Undead/Undead Items + + + + + + undead + + + + Treasure/Block/Class {stc}/Vanilla/Vanilla Loot + + + + + 150.0 + + + Treasure/Crowns/Treasure Crown + + + + + + + Treasure/Item Loot/Vanilla/Vanilla Items + + + + + + vanilla + + + + Treasure/Block/Clockwork Tunnels/Clockwork Block + + + Treasure/Block/Treasure Block Base + + Normal Treasure + + Treasure/Block/Clockwork Tunnels/Clockwork, Normal + + Rare Treasure + + Treasure/Block/Clockwork Tunnels/Clockwork, Rare + + + + + + + Treasure/Block/Clockwork Tunnels/Clockwork Loot + + + + + + + Treasure/Recipe Loot/Gear Sets/Circuit Breaker Gear + + + + + + + Treasure/Recipe Loot/Gear Sets/Emberbreak Gear + + + + + + + Treasure/Recipe Loot/Gear Sets/Frostbreaker Gear + + + + + + + Treasure/Recipe Loot/Gear Sets/Vitasuit Gear + + + + + + + Treasure/Recipe Loot/Bomb Series/Firecracker Series + + + + + + + Treasure/Recipe Loot/Handgun Series/Autogun Series + + + + + + + Treasure/Recipe Loot/Handgun Series/Punch Gun Series + + + + + + + Treasure/Recipe Loot/Handgun Series/Stun Gun Series + + + + + + + Treasure/Recipe Loot/Sword Series/Beast Basher Series + + + + + + + Treasure/Recipe Loot/Sword Series/Bolted Blade Series + + + + + + + Treasure/Recipe Loot/Sword Series/Brandish Series + + + + + + + Treasure/Recipe Loot/Sword Series/Hatchet Series + + + + + + + Treasure/Recipe Loot/Sword Series/Hot Edge Series + + + + + + + Treasure/Recipe Loot/Sword Series/Slime Slasher Series + + + + + + + Treasure/Recipe Loot/Sword Series/Static Edge Series + + + + + + + Treasure/Recipe Loot/Sword Series/Cautery Sword Series + + + + + + + + + Treasure/Block/Clockwork Tunnels/Clockwork, Normal + + + Treasure/Block/Treasure, Normal + + Loot + + Treasure/Block/Clockwork Tunnels/Clockwork Loot + + + + + + + Treasure/Block/Clockwork Tunnels/Clockwork, Rare + + + Treasure/Block/Treasure, Rare + + Loot + + Treasure/Block/Clockwork Tunnels/Clockwork Loot + + + + + + + Treasure/Block/Concrete Jungle/Concrete Block + + + Treasure/Block/Treasure Block Base + + Normal Treasure + + Treasure/Block/Concrete Jungle/Concrete, Normal + + Rare Treasure + + Treasure/Block/Concrete Jungle/Concrete, Rare + + + + + + + Treasure/Block/Concrete Jungle/Concrete Loot + + + + + + + Treasure/Block/Class {stc}/Undead/Undead Loot + + + + + + + Treasure/Block/Class {stc}/Beast/Beast Loot + + + + + + + Treasure/Block/Class {stc}/Slime/Slime Loot + + + + + + + Treasure/Block/Class {stc}/Poison/Poison Loot + + + + + + + + + Treasure/Block/Concrete Jungle/Concrete, Normal + + + Treasure/Block/Treasure, Normal + + Loot + + Treasure/Block/Concrete Jungle/Concrete Loot + + + + + + + Treasure/Block/Concrete Jungle/Concrete, Rare + + + Treasure/Block/Treasure, Rare + + Loot + + Treasure/Block/Concrete Jungle/Concrete Loot + + + + + + + Treasure/Block/Deconstruction Zone/Deconstruction Block + + + Treasure/Block/Treasure Block Base + + Normal Treasure + + Treasure/Block/Deconstruction Zone/Deconstruction, Normal + + Rare Treasure + + Treasure/Block/Deconstruction Zone/Deconstruction, Rare + + + + + + + Treasure/Block/Deconstruction Zone/Deconstruction Loot + + + + + + + Treasure/Recipe Loot/Gear Sets/Demo Gear + + + + + + + Treasure/Recipe Loot/Gear Sets/Mad Bomber Gear + + + + + + + Treasure/Recipe Loot/Bomb Series/Deconstructor Series + + + + + + + Treasure/Recipe Loot/Bomb Series/Big Angry Bomb Series + + + + + + + Treasure/Recipe Loot/Bomb Series/Irontech Bomb Series + + + + + + + Treasure/Recipe Loot/Handgun Series/Voltech Alchemer Series + + + + + + + Treasure/Recipe Loot/Sword Series/Thwack Hammer Series + + + + + + + Treasure/Recipe Loot/Sword Series/Wrench Wand Series + + + + + + + Treasure/Recipe Loot/Sword Series/Static Edge Series + + + + + + + + + Treasure/Block/Deconstruction Zone/Deconstruction, Normal + + + Treasure/Block/Treasure, Normal + + Loot + + Treasure/Block/Deconstruction Zone/Deconstruction Loot + + + + + + + Treasure/Block/Deconstruction Zone/Deconstruction, Rare + + + Treasure/Block/Treasure, Rare + + Loot + + Treasure/Block/Deconstruction Zone/Deconstruction Loot + + + + + + + Treasure/Block/Devilish Drudgery/Devilish Block + + + Treasure/Block/Treasure Block Base + + Normal Treasure + + Treasure/Block/Devilish Drudgery/Devilish, Normal + + Rare Treasure + + Treasure/Block/Devilish Drudgery/Devilish, Rare + + + + + + + Treasure/Block/Devilish Drudgery/Devilish Loot + + + + + + + Treasure/Recipe Loot/Gear Sets/Angelic Gear + + + + + + + Treasure/Recipe Loot/Gear Sets/Fallen Gear + + + + + + + Treasure/Recipe Loot/Handgun Series/Firotech Alchemer Series + + + + + + + Treasure/Recipe Loot/Handgun Series/Shadowtech Alchemer Series + + + + + + + Treasure/Recipe Loot/Sword Series/Faust Series + + + + + + + Treasure/Recipe Loot/Bomb Series/Graviton Bomb Series + + + + + + + Treasure/Recipe Loot/Bomb Series/Fiery Vaporizor Series + + + + + + + + + Treasure/Block/Devilish Drudgery/Devilish, Normal + + + Treasure/Block/Treasure, Normal + + Loot + + Treasure/Block/Devilish Drudgery/Devilish Loot + + + + + + + Treasure/Block/Devilish Drudgery/Devilish, Rare + + + Treasure/Block/Treasure, Rare + + Loot + + Treasure/Block/Devilish Drudgery/Devilish Loot + + + + + + + Treasure/Block/Devilish Drudgery/Silent Shards + + + + + 100.0 + + + Treasure/Monster/Fiend/Fiend Shards + + + + + 100.0 + + + Treasure/Monster/Undead/Undead Shards + + + + + + + + + Treasure/Block/Firestorm Citadel/Firestorm Block + + + Treasure/Block/Treasure Block Base + + Normal Treasure + + Treasure/Block/Firestorm Citadel/Firestorm, Normal + + Rare Treasure + + Treasure/Block/Firestorm Citadel/Firestorm, Rare + + + + + + + Treasure/Block/Firestorm Citadel/Firestorm Loot + + + + + + + Treasure/Block/Class {stc}/Fire/Fire Loot + + + + + + + Treasure/Block/Class {stc}/Undead/Undead Loot + + + + + + + + + Treasure/Block/Firestorm Citadel/Firestorm, Normal + + + Treasure/Block/Treasure, Normal + + Loot + + Treasure/Block/Firestorm Citadel/Firestorm Loot + + + + + + + Treasure/Block/Firestorm Citadel/Firestorm, Rare + + + Treasure/Block/Treasure, Rare + + Loot + + Treasure/Block/Firestorm Citadel/Firestorm Loot + + + + + + + Treasure/Block/Firestorm Citadel/Scarlet Shards + + + + + 100.0 + + + Treasure/Monster/Slime/Slime Shards + + + + + 100.0 + + + Treasure/Monster/Undead/Undead Shards + + + + + + + + + Treasure/Block/Graveyard/Graveyard Block + + + Treasure/Block/Treasure Block Base + + Normal Treasure + + Treasure/Block/Graveyard/Graveyard, Normal + + Rare Treasure + + Treasure/Block/Graveyard/Graveyard, Rare + + + + + + + Treasure/Block/Graveyard/Graveyard Loot + + + + + + + Treasure/Block/Class {stc}/Undead/Undead Loot + + + + + + + + + Treasure/Block/Graveyard/Graveyard, Normal + + + Treasure/Block/Treasure, Normal + + Loot + + Treasure/Block/Graveyard/Graveyard Loot + + + + + + + Treasure/Block/Graveyard/Graveyard, Rare + + + Treasure/Block/Treasure, Rare + + Loot + + Treasure/Block/Graveyard/Graveyard Loot + + + + + + + Treasure/Block/Lichenous Lair/Lichenous Block + + + Treasure/Block/Treasure Block Base + + Normal Treasure + + Treasure/Block/Lichenous Lair/Lichenous, Normal + + Rare Treasure + + Treasure/Block/Lichenous Lair/Lichenous, Rare + + + + + + + Treasure/Block/Lichenous Lair/Lichenous Loot + + + + + + + Treasure/Recipe Loot/Gear Sets/Jelly Gear + + + + + + + Treasure/Recipe Loot/Handgun Series/Prismatech Alchemer Series + + + + + + + Treasure/Recipe Loot/Bomb Series/Rock Salt Bomb Series + + + + + + + Treasure/Recipe Loot/Sword Series/Cautery Sword Series + + + + + + + Treasure/Recipe Loot/Bomb Series/Toxic Vaporizor Series + + + + + + + Treasure/Recipe Loot/Sword Series/Slime Slasher Series + + + + + + + + + Treasure/Block/Lichenous Lair/Lichenous, Normal + + + Treasure/Block/Treasure, Normal + + Loot + + Treasure/Block/Lichenous Lair/Lichenous Loot + + + + + + + Treasure/Block/Lichenous Lair/Lichenous, Rare + + + Treasure/Block/Treasure, Rare + + Loot + + Treasure/Block/Lichenous Lair/Lichenous Loot + + + + + + + Treasure/Block/Lichenous Lair/Starlight Shards + + + + + 100.0 + + + Treasure/Monster/Slime/Slime Shards + + + + + 100.0 + + + Treasure/Monster/Construct/Construct Shards + + + + + + + + + Treasure/Block/Scarlet Fortress/Scarlet Block + + + Treasure/Block/Treasure Block Base + + Normal Treasure + + Treasure/Block/Scarlet Fortress/Scarlet, Normal + + Rare Treasure + + Treasure/Block/Scarlet Fortress/Scarlet, Rare + + + + + + + Treasure/Block/Scarlet Fortress/Scarlet Loot + + + + + + + Treasure/Block/Class {stc}/Undead/Undead Loot + + + + + + + Treasure/Block/Class {stc}/Slime/Slime Loot + + + + + + + + + Treasure/Block/Scarlet Fortress/Scarlet Shards + + + + + 100.0 + + + Treasure/Monster/Slime/Slime Shards + + + + + 100.0 + + + Treasure/Monster/Undead/Undead Shards + + + + + + + + + Treasure/Block/Scarlet Fortress/Scarlet, Normal + + + Treasure/Block/Treasure, Normal + + Loot + + Treasure/Block/Scarlet Fortress/Scarlet Loot + + + + + + + Treasure/Block/Scarlet Fortress/Scarlet, Rare + + + Treasure/Block/Treasure, Rare + + Loot + + Treasure/Block/Scarlet Fortress/Scarlet Loot + + + + + + + Treasure/Block/Starlight Cradle/Starlight Block + + + Treasure/Block/Treasure Block Base + + Normal Treasure + + Treasure/Block/Starlight Cradle/Starlight, Normal + + Rare Treasure + + Treasure/Block/Starlight Cradle/Starlight, Rare + + + + + + + Treasure/Block/Starlight Cradle/Starlight Loot + + + + + + + Treasure/Block/Class {stc}/Slime/Slime Loot + + + + + + + Treasure/Block/Class {stc}/Construct/Construct Loot + + + + + + + + + Treasure/Block/Starlight Cradle/Starlight Shards + + + + + 100.0 + + + Treasure/Monster/Slime/Slime Shards + + + + + 100.0 + + + Treasure/Monster/Construct/Construct Shards + + + + + + + + + Treasure/Block/Starlight Cradle/Starlight, Normal + + + Treasure/Block/Treasure, Normal + + Loot + + Treasure/Block/Starlight Cradle/Starlight Loot + + + + + + + Treasure/Block/Starlight Cradle/Starlight, Rare + + + Treasure/Block/Treasure, Rare + + Loot + + Treasure/Block/Starlight Cradle/Starlight Loot + + + + + + + Treasure/Block/Training Grounds/Training Block + + + + + 100.0 + + + Treasure/Crowns/Treasure Crown + + + + + 100.0 + + + Treasure/Heat/Treasure Heat + + + + + + + + + Treasure/Block/Training Grounds/Training Loot + + + + + 2.0 + + + Material/Beast Scale + + + + + 2.0 + + + Material/Bronze Bolt + + + + + + + Material/Red Shard + + + + + 2.0 + + + Material/Gel Drop + + + + + + + Material/Blue Shard + + + + + 2.0 + + + Material/Scrap Metal + + + + + 2.0 + + + Material/Sharp Fang + + + + + + + Material/Green Shard + + + + + + + Material/Dark Shard + + + + + + + Material/Light Shard + + + + + + + + + Treasure/Block/Treasure Block Base + + + Normal Treasure + implementation.root.entries[0].entry.actor["Spawn Table"] + + + Rare Treasure + implementation.root.entries[1].entry.actor["Spawn Table"] + + + + + + + 30.0 + + + Block/Treasure + + Color + Green + Spawn Table + + + + + + + + + Block/Treasure + + Color + Red + Spawn Table + + + + + + + + + + + Treasure/Block/Treasure Vault/Treasure, Normal + + + + + 100.0 + + + Treasure/Block/Scarlet Fortress/Scarlet Block + + + + + 100.0 + + + Treasure/Block/Starlight Cradle/Starlight Block + + + + + + + + + Treasure/Block/Treasure Vault/Treasure, Rare + + + + + 100.0 + + + Treasure/Block/Scarlet Fortress/Scarlet, Rare + + + + + 100.0 + + + Treasure/Block/Starlight Cradle/Starlight, Rare + + + + + + + + + Treasure/Block/Treasure, Normal + + + Loot + implementation.root.entries[4].entry.spawn_table + + + + + + + 100.0 + + + Treasure/Crowns/Treasure Crown + + + + + 100.0 + + + Treasure/Heat/Treasure Heat + + + + + 20.0 + + + Treasure/Health/Treasure Health + + + + + 100.0 + + + Treasure/Pickups/Scaled Pickups + + + + + 10.0 + + + + + + + + + Treasure/Block/Treasure, Rare + + + Loot + implementation.root.entries[2].entry.spawn_table + + + + + + + 100.0 + + + + + Treasure/Crowns/Treasure Crown + + + + + Treasure/Crowns/Treasure Crown + + + + + + + 100.0 + + + + + Treasure/Heat/Treasure Heat + + + + + Treasure/Heat/Treasure Heat + + + + + + + 40.0 + + + + + + + + + Treasure/Block/Tutorial + + + + + 10.0 + + + Treasure/Crowns/Treasure Crown + + + + + 5.0 + + + Item/Consumable/Hearts/Heart + + + + + + + + + Treasure/Block/WhiteSpace/WhiteSpace Block + + + + + 100.0 + + + Treasure/Crowns/Treasure Crown + + + + + 100.0 + + + Treasure/Heat/Treasure Heat + + + + + + + + + Treasure/Block/Wolver Den/Wolver Block + + + Treasure/Block/Treasure Block Base + + Normal Treasure + + Treasure/Block/Wolver Den/Wolver, Normal + + Rare Treasure + + Treasure/Block/Wolver Den/Wolver, Rare + + + + + + + Treasure/Block/Wolver Den/Wolver Loot + + + + + + + Treasure/Recipe Loot/Gear Sets/Wolver Gear + + + + + + + Treasure/Recipe Loot/Sword Series/Cutter Series + + + + + + + Treasure/Recipe Loot/Sword Series/Hunting Blade Series + + + + + + + Treasure/Recipe Loot/Sword Series/Beast Basher Series + + + + + + + + + Treasure/Block/Wolver Den/Wolver, Normal + + + Treasure/Block/Treasure, Normal + + Loot + + Treasure/Block/Wolver Den/Wolver Loot + + + + + + + Treasure/Block/Wolver Den/Wolver, Rare + + + Treasure/Block/Treasure, Rare + + Loot + + Treasure/Block/Wolver Den/Wolver, Rare + + + + + + + Treasure/Breakable Object/Generic A + + + + + 1000.0 + + + 1000.0 + + + Item/Consumable/Crowns/Copper Crown + + + + + 250.0 + + + Item/Consumable/Hearts/Heart + + + + + 50.0 + + + Item/Consumable/Crowns/Silver Crown + + + + + + + Item/Consumable/Crowns/Gold Crown + + + + + + + + + Treasure/Crowns/(pre 22-12-10)/Monster Crowns, large + + + Treasure/Crowns/Value/Base + + Depth Entries + + + 5 + 25 + + + 30 + 10 + 150 + + + Depth Offset + 0 + + + + + + Treasure/Crowns/(pre 22-12-10)/Monster Crowns, medium + + + Treasure/Crowns/Value/Base + + Depth Entries + + + 9 + + + 30 + 5 + 90 + + + Depth Offset + 0 + + + + + + Treasure/Crowns/(pre 22-12-10)/Monster Crowns, small + + + Treasure/Crowns/Value/Base + + Depth Entries + + + 6 + + + 30 + 5 + 60 + + + Depth Offset + 0 + + + + + + Treasure/Crowns/(pre 22-12-10)/Treasure Crown + + + Treasure/Crowns/Value/Base + + Depth Entries + + + 3 + 10 + + + 30 + 5 + 60 + + + Depth Offset + 0 + + + + + + Treasure/Crowns/Monster Crowns, large + + + Treasure/Crowns/Value/Base + + Depth Entries + + + 4 + 25 + + + 7 + 4 + 80 + + + 8 + 4 + 30 + + + 17 + 5 + 90 + + + 18 + 5 + 35 + + + 30 + 5 + 100 + + + Depth Offset + 0 + + + + + + Treasure/Crowns/Monster Crowns, medium + + + Treasure/Crowns/Value/Base + + Depth Entries + + + 9 + + + 7 + 2 + 55 + + + 8 + 12 + + + 17 + 3 + 65 + + + 18 + 15 + + + 30 + 4 + 75 + + + Depth Offset + 0 + + + + + + Treasure/Crowns/Monster Crowns, small + + + Treasure/Crowns/Value/Base + + Depth Entries + + + 5 + + + 7 + 1 + 55 + + + 8 + 8 + + + 17 + 2 + 65 + + + 18 + 11 + + + 30 + 3 + 60 + + + Depth Offset + 0 + + + + + + Treasure/Crowns/Random Crown/Random Crown 1 + + + + + 100.0 + + + Item/Consumable/Crowns/Copper Crown + + + + + 10.0 + + + Item/Consumable/Crowns/Copper-Silver Crown + + + + + + + Item/Consumable/Crowns/Silver Crown + + + + + + + + + Treasure/Crowns/Random Crown/Random Crown 2 + + + + + 100.0 + + + Item/Consumable/Crowns/Copper Crown + + + + + 30.0 + + + Item/Consumable/Crowns/Copper-Silver Crown + + + + + + + Item/Consumable/Crowns/Silver Crown + + + + + + + + + Treasure/Crowns/Random Crown/Random Crown 3 + + + + + 100.0 + + + Item/Consumable/Crowns/Copper Crown + + + + + 80.0 + + + Item/Consumable/Crowns/Copper-Silver Crown + + + + + + + Item/Consumable/Crowns/Silver Crown + + + + + + + + + Treasure/Crowns/Random Crown/Random Crown 4 + + + + + 50.0 + + + Item/Consumable/Crowns/Copper Crown + + + + + 100.0 + + + Item/Consumable/Crowns/Copper-Silver Crown + + + + + 2.0 + + + Item/Consumable/Crowns/Silver Crown + + + + + + + + + Treasure/Crowns/Random Crown/Random Crown 5 + + + + + 20.0 + + + Item/Consumable/Crowns/Copper Crown + + + + + 100.0 + + + Item/Consumable/Crowns/Copper-Silver Crown + + + + + 10.0 + + + Item/Consumable/Crowns/Silver Crown + + + + + + + + + Treasure/Crowns/Random Crown/Random Crown 6 + + + + + + + Item/Consumable/Crowns/Copper Crown + + + + + 100.0 + + + Item/Consumable/Crowns/Copper-Silver Crown + + + + + 20.0 + + + Item/Consumable/Crowns/Silver Crown + + + + + + + + + Treasure/Crowns/Scaled Crown + + + 0.25 + 0.25 + + + + + Treasure/Crowns/Random Crown/Random Crown 1 + + + 0 + 9 + + + 6 + + + Treasure/Crowns/Random Crown/Random Crown 2 + + + 0 + 14 + + + 11 + + + Treasure/Crowns/Random Crown/Random Crown 3 + + + 3 + 19 + + + 16 + + + Treasure/Crowns/Random Crown/Random Crown 4 + + + 8 + 24 + + + 21 + + + Treasure/Crowns/Random Crown/Random Crown 5 + + + 13 + 26 + + + 26 + + + Treasure/Crowns/Random Crown/Random Crown 6 + + + 18 + 26 + + + + + + + Treasure/Crowns/Scaled Crowns/Crowns 1 + + + + + 0.6 + + + + 5.0 + + + Item/Consumable/Crowns/Copper Crown + + + + + + + Item/Consumable/Crowns/Silver Crown + + + + + + + + + + + 5.0 + + + Item/Consumable/Crowns/Copper Crown + + + + + + + Item/Consumable/Crowns/Silver Crown + + + + + + + + 0.2 + + + + 5.0 + + + Item/Consumable/Crowns/Copper Crown + + + + + + + Item/Consumable/Crowns/Silver Crown + + + + + + + + + + + + Treasure/Crowns/Scaled Crowns/Crowns 2 + + + + + 0.6 + + + + 2.0 + + + Item/Consumable/Crowns/Copper Crown + + + + + + + Item/Consumable/Crowns/Silver Crown + + + + + + + + + + + 2.0 + + + Item/Consumable/Crowns/Copper Crown + + + + + + + Item/Consumable/Crowns/Silver Crown + + + + + + + + 0.2 + + + + 2.0 + + + Item/Consumable/Crowns/Copper Crown + + + + + + + Item/Consumable/Crowns/Silver Crown + + + + + + + + + + + + Treasure/Crowns/Scaled Crowns/Crowns 3 + + + + + 0.6 + + + + + + Item/Consumable/Crowns/Copper Crown + + + + + + + Item/Consumable/Crowns/Silver Crown + + + + + + + + + + + + + Item/Consumable/Crowns/Copper Crown + + + + + + + Item/Consumable/Crowns/Silver Crown + + + + + + + + 0.2 + + + + + + Item/Consumable/Crowns/Copper Crown + + + + + + + Item/Consumable/Crowns/Silver Crown + + + + + + + + + + + + Treasure/Crowns/Scaled Crowns/Crowns 4 + + + + + 0.6 + + + + + + Item/Consumable/Crowns/Copper Crown + + + + + 2.0 + + + Item/Consumable/Crowns/Silver Crown + + + + + + + + + + + + + Item/Consumable/Crowns/Copper Crown + + + + + 2.0 + + + Item/Consumable/Crowns/Silver Crown + + + + + + + + 0.2 + + + + + + Item/Consumable/Crowns/Copper Crown + + + + + 2.0 + + + Item/Consumable/Crowns/Silver Crown + + + + + + + + + + + + Treasure/Crowns/Scaled Crowns/Crowns 5 + + + + + 0.6 + + + + + + Item/Consumable/Crowns/Copper Crown + + + + + 5.0 + + + Item/Consumable/Crowns/Silver Crown + + + + + + + Item/Consumable/Crowns/Gold Crown + + + + + + + + + + + + + Item/Consumable/Crowns/Copper Crown + + + + + 5.0 + + + Item/Consumable/Crowns/Silver Crown + + + + + + + Item/Consumable/Crowns/Gold Crown + + + + + + + + 0.2 + + + + + + Item/Consumable/Crowns/Copper Crown + + + + + 5.0 + + + Item/Consumable/Crowns/Silver Crown + + + + + + + Item/Consumable/Crowns/Gold Crown + + + + + + + + + + + + Treasure/Crowns/Scaled Crowns/Crowns 6 + + + + + 0.6 + + + + + + Item/Consumable/Crowns/Copper Crown + + + + + 2.0 + + + Item/Consumable/Crowns/Silver Crown + + + + + + + Item/Consumable/Crowns/Gold Crown + + + + + + + + + + + + + Item/Consumable/Crowns/Copper Crown + + + + + 2.0 + + + Item/Consumable/Crowns/Silver Crown + + + + + + + Item/Consumable/Crowns/Gold Crown + + + + + + + + 0.2 + + + + + + Item/Consumable/Crowns/Copper Crown + + + + + 2.0 + + + Item/Consumable/Crowns/Silver Crown + + + + + + + Item/Consumable/Crowns/Gold Crown + + + + + + + + + + + + Treasure/Crowns/Scaled Crowns/Crowns 7 + + + + + 0.6 + + + + + + Item/Consumable/Crowns/Copper Crown + + + + + 2.0 + + + Item/Consumable/Crowns/Silver Crown + + + + + 2.0 + + + Item/Consumable/Crowns/Gold Crown + + + + + + + + + + + + + Item/Consumable/Crowns/Copper Crown + + + + + 2.0 + + + Item/Consumable/Crowns/Silver Crown + + + + + 2.0 + + + Item/Consumable/Crowns/Gold Crown + + + + + + + + 0.2 + + + + + + Item/Consumable/Crowns/Copper Crown + + + + + 2.0 + + + Item/Consumable/Crowns/Silver Crown + + + + + 2.0 + + + Item/Consumable/Crowns/Gold Crown + + + + + + + + + + + + Treasure/Crowns/Scaled Crowns/Crowns 8 + + + + + 0.6 + + + + + + Item/Consumable/Crowns/Copper Crown + + + + + 2.0 + + + Item/Consumable/Crowns/Silver Crown + + + + + 3.0 + + + Item/Consumable/Crowns/Gold Crown + + + + + + + + + + + + + Item/Consumable/Crowns/Copper Crown + + + + + 2.0 + + + Item/Consumable/Crowns/Silver Crown + + + + + 3.0 + + + Item/Consumable/Crowns/Gold Crown + + + + + + + + 0.2 + + + + + + Item/Consumable/Crowns/Copper Crown + + + + + 2.0 + + + Item/Consumable/Crowns/Silver Crown + + + + + 3.0 + + + Item/Consumable/Crowns/Gold Crown + + + + + + + + + + + + Treasure/Crowns/Scaled Crowns/Crowns 9 + + + + + 0.6 + + + + + + Item/Consumable/Crowns/Copper Crown + + + + + 3.0 + + + Item/Consumable/Crowns/Silver Crown + + + + + 5.0 + + + Item/Consumable/Crowns/Gold Crown + + + + + + + + + + + + + Item/Consumable/Crowns/Copper Crown + + + + + 3.0 + + + Item/Consumable/Crowns/Silver Crown + + + + + 5.0 + + + Item/Consumable/Crowns/Gold Crown + + + + + + + + 0.2 + + + + + + Item/Consumable/Crowns/Copper Crown + + + + + 3.0 + + + Item/Consumable/Crowns/Silver Crown + + + + + 5.0 + + + Item/Consumable/Crowns/Gold Crown + + + + + + + + + + + + Treasure/Crowns/Treasure Crown + + + Treasure/Crowns/Value/Base + + Depth Entries + + + 3 + 10 + + + 7 + 4 + 30 + + + 8 + 3 + 15 + + + 17 + 5 + 40 + + + 18 + 3 + 10 + + + 30 + 5 + 50 + + + Depth Offset + 0 + + + + + + Treasure/Crowns/Value/Base + + + Depth Offset + implementation.root.offset + + + Depth Entries + implementation.root.entries + + + + + + + 1 + + + Item/Consumable/Crowns/Copper Crown + + + + + 5 + + + Item/Consumable/Crowns/Copper-Silver Crown + + + + + 10 + + + Item/Consumable/Crowns/Silver Crown + + + + + 25 + + + Item/Consumable/Crowns/Silver-Gold Crown + + + + + 50 + + + Item/Consumable/Crowns/Gold Crown + + + + + + + + + Treasure/Gathering/Actor Spawn/Mineral Spawn 1 + + + + + 100.0 + + + Block/Gathering/Mineral, common + + + + + 10.0 + + + Block/Gathering/Mineral, rare + + + + + + + + + Treasure/Gathering/Actor Spawn/Shrub Chance 1 + + + + + 1000.0 + + + 600.0 + + + Block/Gathering/Shrub, common + + + + + 70.0 + + + Block/Gathering/Shrub, rare + + + + + + + Block/Gathering/Shrub, rare 2 + + + + + + + + + Treasure/Gathering/Actor Spawn/Shrub Chance 2 + + + + + 1000.0 + + + 1000.0 + + + Block/Gathering/Shrub, common + + + + + 1000.0 + + + Block/Gathering/Shrub, rare + + + + + 100.0 + + + Block/Gathering/Shrub, rare 2 + + + + + + + + + Treasure/Gathering/Actor Spawn/Shrub Chance 3 + + + + + 1000.0 + + + 1000.0 + + + Block/Gathering/Shrub, common + + + + + 1000.0 + + + Block/Gathering/Shrub, rare + + + + + 1000.0 + + + Block/Gathering/Shrub, rare 2 + + + + + + + + + Treasure/Gathering/Actor Spawn/Shrub Spawn 1 + + + + + 1000.0 + + + Block/Gathering/Shrub, common + + + + + 100.0 + + + Block/Gathering/Shrub, rare + + + + + + + Block/Gathering/Shrub, rare 2 + + + + + + + + + Treasure/Gathering/Actor Spawn/Shrub Spawn 2 + + + + + 1000.0 + + + Block/Gathering/Shrub, common + + + + + 1000.0 + + + Block/Gathering/Shrub, rare + + + + + 100.0 + + + Block/Gathering/Shrub, rare 2 + + + + + + + + + Treasure/Gathering/Actor Spawn/Shrub Spawn 3 + + + + + 1000.0 + + + Block/Gathering/Shrub, common + + + + + 1000.0 + + + Block/Gathering/Shrub, rare + + + + + 1000.0 + + + Block/Gathering/Shrub, rare 2 + + + + + + + + + Treasure/Gathering/Mineral A1 + + + + + 100.0 + + + 50.0 + + + Item/Consumable/Crowns/Copper Crown + + + + + + + + + Treasure/Gathering/Mineral B1 + + + + + 100.0 + + + Item/Consumable/Crowns/Silver Crown + + + + + 50.0 + + + Item/Consumable/Crowns/Gold Crown + + + + + + + + + Treasure/Gathering/Shrub A1 + + + + + 100.0 + + + 20.0 + + + Item/Consumable/Crowns/Copper Crown + + + + + + + + + Treasure/Gathering/Shrub B1 + + + + + 100.0 + + + Item/Consumable/Crowns/Silver Crown + + + + + + + + + Treasure/Gathering/Shrub C1 + + + + + 100.0 + + + Item/Consumable/Crowns/Gold Crown + + + + + + + + + Treasure/Health/(old) Monster Health, large + + + 0.25 + 0.25 + + + + + + + Item/Consumable/Hearts/Heart + + + + + Item/Consumable/Hearts/Heart + + + + 0.25 + + + Item/Consumable/Hearts/Heart + + + + + 0.25 + + + Treasure/Health/Vitapod + + Depth Offset + 0 + + + + + + + + + 9 + + + + + Item/Consumable/Hearts/Heart + + + + + Item/Consumable/Hearts/Heart + + + + + Item/Consumable/Hearts/Heart + + + + 0.25 + + + Item/Consumable/Hearts/Heart + + + + + 0.25 + + + Treasure/Health/Vitapod + + Depth Offset + 0 + + + + + + 0.1 + + + Treasure/Health/Vitapod + + Depth Offset + 2 + + + + + + + + + 19 + + + + + Item/Consumable/Hearts/Heart + + + + + Item/Consumable/Hearts/Heart + + + + + Item/Consumable/Hearts/Heart + + + + 0.25 + + + Item/Consumable/Hearts/Heart + + + + + 0.25 + + + Treasure/Health/Vitapod + + Depth Offset + 0 + + + + + + 0.25 + + + Treasure/Health/Vitapod + + Depth Offset + 0 + + + + + + 0.1 + + + Treasure/Health/Vitapod + + Depth Offset + 2 + + + + + + + + + + + + + Treasure/Health/(old) Monster Health, medium + + + 0.25 + 0.25 + + + + + + 0.25 + + + Item/Consumable/Hearts/Heart + + + + + 0.1 + + + Treasure/Health/Vitapod + + Depth Offset + 0 + + + + + + + + + 9 + + + + 0.25 + + + Item/Consumable/Hearts/Heart + + + + + 0.25 + + + Item/Consumable/Hearts/Heart + + + + + 0.1 + + + Treasure/Health/Vitapod + + Depth Offset + 0 + + + + + + 0.05 + + + Treasure/Health/Vitapod + + Depth Offset + 2 + + + + + + + + + 19 + + + + 0.25 + + + Item/Consumable/Hearts/Heart + + + + + 0.25 + + + Item/Consumable/Hearts/Heart + + + + + 0.25 + + + Item/Consumable/Hearts/Heart + + + + + 0.1 + + + Treasure/Health/Vitapod + + Depth Offset + 0 + + + + + + 0.1 + + + Treasure/Health/Vitapod + + Depth Offset + 0 + + + + + + 0.05 + + + Treasure/Health/Vitapod + + Depth Offset + 2 + + + + + + + + + + + + + Treasure/Health/(old) Monster Health, small + + + 0.25 + 0.25 + + + + + + 0.25 + + + Item/Consumable/Hearts/Heart + + + + + 0.1 + + + Treasure/Health/Vitapod + + Depth Offset + 0 + + + + + + + + + 9 + + + + 0.25 + + + Item/Consumable/Hearts/Heart + + + + + 0.25 + + + Item/Consumable/Hearts/Heart + + + + + 0.1 + + + Treasure/Health/Vitapod + + Depth Offset + 0 + + + + + + 0.05 + + + Treasure/Health/Vitapod + + Depth Offset + 2 + + + + + + + + + 19 + + + + 0.25 + + + Treasure/Health/Vitapod + + Depth Offset + 0 + + + + + + 0.25 + + + Item/Consumable/Hearts/Heart + + + + + 0.25 + + + Item/Consumable/Hearts/Heart + + + + + 0.1 + + + Treasure/Health/Vitapod + + Depth Offset + 0 + + + + + + 0.1 + + + Treasure/Health/Vitapod + + Depth Offset + 0 + + + + + + 0.05 + + + Treasure/Health/Vitapod + + Depth Offset + 2 + + + + + + + + + + + + + Treasure/Health/Monster Health, large + + + Treasure/Health/Parts/Monster Health + + Capsule Probability + 0.0 + Depth Offset + 0 + Heart Depth Entries + + + 1 + 2 + + + 8 + 1 + 5 + + + 9 + 2 + 4 + + + 18 + 2 + 6 + + + 19 + 2 + 7 + + + 30 + 3 + 9 + + + Hearts Probability + 1.0 + Vitapod Probability + 0.06 + + + + + + Treasure/Health/Monster Health, medium + + + Treasure/Health/Parts/Monster Health + + Capsule Probability + 0.0 + Depth Offset + 0 + Heart Depth Entries + + + 2 + + + 8 + 1 + 3 + + + 9 + 1 + 2 + + + 18 + 1 + 4 + + + 19 + 1 + 5 + + + 30 + 2 + 7 + + + Hearts Probability + 0.3 + Vitapod Probability + 0.04 + + + + + + Treasure/Health/Monster Health, small + + + Treasure/Health/Parts/Monster Health + + Capsule Probability + 0.0 + Depth Offset + 0 + Heart Depth Entries + + + 2 + + + 8 + 3 + + + 9 + 3 + + + 18 + 1 + 3 + + + 19 + 1 + 4 + + + 30 + 1 + 6 + + + Hearts Probability + 0.25 + Vitapod Probability + 0.02 + + + + + + Treasure/Health/Parts/Monster Health + + + Depth Offset + implementation.root.entries[0].entry.spawn_table["Depth Offset"], implementation.root.entries[1].entry.spawn_table["Depth Offset"], implementation.root.entries[2].entry.offset + + + Hearts Probability + implementation.root.entries[0].probability + + + Vitapod Probability + implementation.root.entries[1].probability + + + Capsule Probability + implementation.root.entries[2].probability + + + Heart Depth Entries + implementation.root.entries[0].entry.spawn_table["Depth Entries"] + + + + + + + 0.25 + + + Treasure/Health/Value/Hearts + + Depth Entries + + + Depth Offset + 0 + + + + + + 0.02 + + + Treasure/Health/Vitapod + + Depth Offset + 0 + + + + + + 0.02 + + 0.0 + 0.0 + + + + + Pickup/Capsule/Health Capsule + + + + + 8 + + + Pickup/Capsule/Super Health Capsule + + + + + 18 + + + Pickup/Capsule/Ultra Health Capsule + + + + + + + + + + + + Treasure/Health/Parts/Vitapod Tier 1 + + + 0.25 + + + + + Gear/Dungeon/Vitapod/Health +01 + + + 0 + 3 + + + 2 + + + Gear/Dungeon/Vitapod/Health +02 + + + 1 + 5 + + + 4 + + + Gear/Dungeon/Vitapod/Health +03 + + + 3 + 7 + + + 6 + + + Gear/Dungeon/Vitapod/Health +04 + + + 5 + 8 + + + 7 + + + Gear/Dungeon/Vitapod/Health +05 + + + 6 + 7 + + + + + + + Treasure/Health/Parts/Vitapod Tier 2 + + + 0.25 + + + 8 + + + Gear/Dungeon/Vitapod/Health +02 + + + + + 10 + + + Gear/Dungeon/Vitapod/Health +04 + + + + + 12 + + + Gear/Dungeon/Vitapod/Health +06 + + + + + 14 + + + Gear/Dungeon/Vitapod/Health +08 + + + + + 16 + + + Gear/Dungeon/Vitapod/Health +10 + + + + + 17 + + + Gear/Dungeon/Vitapod/Health +12 + + + + + + + + + Treasure/Health/Parts/Vitapod Tier 3 + + + 0.25 + + + 18 + + + Gear/Dungeon/Vitapod/Health +03 + + + 0 + 21 + + + 20 + + + Gear/Dungeon/Vitapod/Health +06 + + + 19 + 23 + + + 22 + + + Gear/Dungeon/Vitapod/Health +09 + + + 21 + 25 + + + 24 + + + Gear/Dungeon/Vitapod/Health +12 + + + 23 + 27 + + + 26 + + + Gear/Dungeon/Vitapod/Health +15 + + + 25 + 29 + + + 28 + + + Gear/Dungeon/Vitapod/Health +18 + + + 27 + 31 + + + 30 + + + Gear/Dungeon/Vitapod/Health +21 + + + 29 + 30 + + + + + + + Treasure/Health/Treasure Health + + + 0.0 + 0.5 + + + + + Treasure/Health/Vitapod + + Depth Offset + 0 + + + + 0 + 10 + + + 10 + + + + 5.0 + + + Treasure/Health/Vitapod + + Depth Offset + 0 + + + + + + + + Treasure/Health/Vitapod + + Depth Offset + 1 + + + + + + + 10 + 15 + + + 15 + + + + 3.0 + + + Treasure/Health/Vitapod + + Depth Offset + 0 + + + + + + + + Treasure/Health/Vitapod + + Depth Offset + 1 + + + + + + + 15 + 20 + + + 20 + + + + + + Treasure/Health/Vitapod + + Depth Offset + 0 + + + + + + + + Treasure/Health/Vitapod + + Depth Offset + 1 + + + + + + + 20 + 25 + + + 25 + + + + + + Treasure/Health/Vitapod + + Depth Offset + 0 + + + + + + 2.0 + + + Treasure/Health/Vitapod + + Depth Offset + 1 + + + + + + + 25 + 25 + + + + + + + Treasure/Health/Treasure Health, Hearts + + + Treasure/Health/Parts/Monster Health + + Capsule Probability + 0.0 + Depth Offset + 0 + Heart Depth Entries + + + 2 + 2 + + + 8 + 2 + 5 + + + 9 + 3 + 4 + + + 18 + 3 + 6 + + + 19 + 3 + 7 + + + 30 + 4 + 9 + + + Hearts Probability + 1.0 + Vitapod Probability + 0.0 + + + + + + Treasure/Health/Value/Heart 1 + + + + Item/Consumable/Hearts/Heart + + + + + + Treasure/Health/Value/Heart 2 + + + 0.0 + 0.5 + + + + + + + Item/Consumable/Hearts/Heart + + + + + Item/Consumable/Hearts/Heart + + + + + + + 9 + + + + + Item/Consumable/Hearts/Heart 2 + + + + + + + 19 + + + + + Item/Consumable/Hearts/Heart + + + + + Item/Consumable/Hearts/Heart + + + + + + + + + + + Treasure/Health/Value/Heart 3 + + + 0.0 + 0.5 + + + + + + + Item/Consumable/Hearts/Heart + + + + + Item/Consumable/Hearts/Heart + + + + + Item/Consumable/Hearts/Heart + + + + + + + 9 + + + + + Item/Consumable/Hearts/Heart 2 + + + + + Item/Consumable/Hearts/Heart + + + + + + + 19 + + + + + Item/Consumable/Hearts/Heart 3 + + + + + + + + + + + Treasure/Health/Value/Hearts + + + Depth Offset + implementation.root.offset + + + Depth Entries + implementation.root.entries + + + + + 0.43 + + + 1 + + + Treasure/Health/Value/Heart 1 + + + + + 2 + + + Treasure/Health/Value/Heart 2 + + + + + 3 + + + Treasure/Health/Value/Heart 3 + + + + + + + + + Treasure/Health/Vitapod + + + Depth Offset + implementation.root.offset + + + + + 0.0 + 0.0 + + + + + Treasure/Health/Parts/Vitapod Tier 1 + + + + + 8 + + + Treasure/Health/Parts/Vitapod Tier 2 + + + + + 18 + + + Treasure/Health/Parts/Vitapod Tier 3 + + + + + + + + + Treasure/Heat/Monster Heat, large + + + Treasure/Heat/Value/Base + + Depth Entries + + + 4 + 25 + + + 7 + 4 + 80 + + + 8 + 4 + 30 + + + 17 + 5 + 90 + + + 18 + 5 + 35 + + + 30 + 5 + 100 + + + Depth Offset + 0 + + + + + + Treasure/Heat/Monster Heat, medium + + + Treasure/Heat/Value/Base + + Depth Entries + + + 9 + + + 7 + 2 + 55 + + + 8 + 12 + + + 17 + 3 + 65 + + + 18 + 15 + + + 30 + 4 + 75 + + + Depth Offset + 0 + + + + + + Treasure/Heat/Monster Heat, small + + + Treasure/Heat/Value/Base + + Depth Entries + + + 5 + + + 7 + 1 + 55 + + + 8 + 8 + + + 17 + 2 + 65 + + + 18 + 11 + + + 30 + 3 + 60 + + + Depth Offset + 0 + + + + + + Treasure/Heat/Random Heat/Random Heat 1 + + + + + 100.0 + + + Item/Consumable/Heat/Ember 1 + + + + + 10.0 + + + Item/Consumable/Heat/Ember 2 + + + + + + + Item/Consumable/Heat/Ember 3 + + + + + + + + + Treasure/Heat/Random Heat/Random Heat 2 + + + + + 100.0 + + + Item/Consumable/Heat/Ember 1 + + + + + 30.0 + + + Item/Consumable/Heat/Ember 2 + + + + + + + Item/Consumable/Heat/Ember 3 + + + + + + + + + Treasure/Heat/Random Heat/Random Heat 3 + + + + + 100.0 + + + Item/Consumable/Heat/Ember 1 + + + + + 80.0 + + + Item/Consumable/Heat/Ember 2 + + + + + + + Item/Consumable/Heat/Ember 3 + + + + + + + + + Treasure/Heat/Random Heat/Random Heat 4 + + + + + 50.0 + + + Item/Consumable/Heat/Ember 1 + + + + + 100.0 + + + Item/Consumable/Heat/Ember 2 + + + + + 2.0 + + + Item/Consumable/Heat/Ember 3 + + + + + + + + + Treasure/Heat/Random Heat/Random Heat 5 + + + + + 20.0 + + + Item/Consumable/Heat/Ember 1 + + + + + 100.0 + + + Item/Consumable/Heat/Ember 2 + + + + + 10.0 + + + Item/Consumable/Heat/Ember 3 + + + + + + + + + Treasure/Heat/Random Heat/Random Heat 6 + + + + + + + Item/Consumable/Heat/Ember 1 + + + + + 100.0 + + + Item/Consumable/Heat/Ember 2 + + + + + 20.0 + + + Item/Consumable/Heat/Ember 3 + + + + + + + + + Treasure/Heat/Scaled Ember + + + 0.25 + 0.25 + + + + + Treasure/Heat/Random Heat/Random Heat 1 + + + 0 + 3 + + + 6 + + + Treasure/Heat/Random Heat/Random Heat 2 + + + 3 + 9 + + + 11 + + + Treasure/Heat/Random Heat/Random Heat 3 + + + 8 + 14 + + + 16 + + + Treasure/Heat/Random Heat/Random Heat 4 + + + 13 + 19 + + + 21 + + + Treasure/Heat/Random Heat/Random Heat 5 + + + 18 + 24 + + + 26 + + + Treasure/Heat/Random Heat/Random Heat 6 + + + 23 + 26 + + + + + + + Treasure/Heat/Scaled Heat/Heat 1 + + + + + 0.9 + + + + 5.0 + + + Item/Consumable/Heat/Ember 1 + + + + + + + Item/Consumable/Heat/Ember 2 + + + + + + + + + + + 5.0 + + + Item/Consumable/Heat/Ember 1 + + + + + + + Item/Consumable/Heat/Ember 2 + + + + + + + + 0.2 + + + + 5.0 + + + Item/Consumable/Heat/Ember 1 + + + + + + + Item/Consumable/Heat/Ember 2 + + + + + + + + + + + + Treasure/Heat/Scaled Heat/Heat 2 + + + + + 0.9 + + + + 2.0 + + + Item/Consumable/Heat/Ember 1 + + + + + + + Item/Consumable/Heat/Ember 2 + + + + + + + + 0.6 + + + + 2.0 + + + Item/Consumable/Heat/Ember 1 + + + + + + + Item/Consumable/Heat/Ember 2 + + + + + + + + 0.2 + + + + 2.0 + + + Item/Consumable/Heat/Ember 1 + + + + + + + Item/Consumable/Heat/Ember 2 + + + + + + + + + + + + Treasure/Heat/Scaled Heat/Heat 3 + + + + + 0.9 + + + + + + Item/Consumable/Heat/Ember 1 + + + + + + + Item/Consumable/Heat/Ember 2 + + + + + + + + + + + + + Item/Consumable/Heat/Ember 1 + + + + + + + Item/Consumable/Heat/Ember 2 + + + + + + + + 0.2 + + + + + + Item/Consumable/Heat/Ember 1 + + + + + + + Item/Consumable/Heat/Ember 2 + + + + + + + + + + + + Treasure/Heat/Scaled Heat/Heat 4 + + + + + 0.9 + + + + + + Item/Consumable/Heat/Ember 1 + + + + + 2.0 + + + Item/Consumable/Heat/Ember 2 + + + + + + + + + + + + + Item/Consumable/Heat/Ember 1 + + + + + 2.0 + + + Item/Consumable/Heat/Ember 2 + + + + + + + + 0.2 + + + + + + Item/Consumable/Heat/Ember 1 + + + + + 2.0 + + + Item/Consumable/Heat/Ember 2 + + + + + + + + + + + + Treasure/Heat/Scaled Heat/Heat 5 + + + + + 0.9 + + + + + + Item/Consumable/Heat/Ember 1 + + + + + 5.0 + + + Item/Consumable/Heat/Ember 2 + + + + + + + Item/Consumable/Heat/Ember 3 + + + + + + + + + + + + + Item/Consumable/Heat/Ember 1 + + + + + 5.0 + + + Item/Consumable/Heat/Ember 2 + + + + + + + Item/Consumable/Heat/Ember 3 + + + + + + + + 0.2 + + + + + + Item/Consumable/Heat/Ember 1 + + + + + 5.0 + + + Item/Consumable/Heat/Ember 2 + + + + + + + Item/Consumable/Heat/Ember 3 + + + + + + + + + + + + Treasure/Heat/Scaled Heat/Heat 6 + + + + + 0.9 + + + + + + Item/Consumable/Heat/Ember 1 + + + + + 2.0 + + + Item/Consumable/Heat/Ember 2 + + + + + + + Item/Consumable/Heat/Ember 3 + + + + + + + + + + + + + Item/Consumable/Heat/Ember 1 + + + + + 2.0 + + + Item/Consumable/Heat/Ember 2 + + + + + + + Item/Consumable/Heat/Ember 3 + + + + + + + + 0.2 + + + + + + Item/Consumable/Heat/Ember 1 + + + + + 2.0 + + + Item/Consumable/Heat/Ember 2 + + + + + + + Item/Consumable/Heat/Ember 3 + + + + + + + + + + + + Treasure/Heat/Scaled Heat/Heat 7 + + + + + 0.9 + + + + + + Item/Consumable/Heat/Ember 1 + + + + + 2.0 + + + Item/Consumable/Heat/Ember 2 + + + + + 2.0 + + + Item/Consumable/Heat/Ember 3 + + + + + + + + + + + + + Item/Consumable/Heat/Ember 1 + + + + + 2.0 + + + Item/Consumable/Heat/Ember 2 + + + + + 2.0 + + + Item/Consumable/Heat/Ember 3 + + + + + + + + 0.2 + + + + + + Item/Consumable/Heat/Ember 1 + + + + + 2.0 + + + Item/Consumable/Heat/Ember 2 + + + + + 2.0 + + + Item/Consumable/Heat/Ember 3 + + + + + + + + + + + + Treasure/Heat/Scaled Heat/Heat 8 + + + + + 0.9 + + + + + + Item/Consumable/Heat/Ember 1 + + + + + 2.0 + + + Item/Consumable/Heat/Ember 2 + + + + + 3.0 + + + Item/Consumable/Heat/Ember 3 + + + + + + + + + + + + + Item/Consumable/Heat/Ember 1 + + + + + 2.0 + + + Item/Consumable/Heat/Ember 2 + + + + + 3.0 + + + Item/Consumable/Heat/Ember 3 + + + + + + + + 0.2 + + + + + + Item/Consumable/Heat/Ember 1 + + + + + 2.0 + + + Item/Consumable/Heat/Ember 2 + + + + + 3.0 + + + Item/Consumable/Heat/Ember 3 + + + + + + + + + + + + Treasure/Heat/Scaled Heat/Heat 9 + + + + + 0.9 + + + + + + Item/Consumable/Heat/Ember 1 + + + + + 3.0 + + + Item/Consumable/Heat/Ember 2 + + + + + 5.0 + + + Item/Consumable/Heat/Ember 3 + + + + + + + + + + + + + Item/Consumable/Heat/Ember 1 + + + + + 3.0 + + + Item/Consumable/Heat/Ember 2 + + + + + 5.0 + + + Item/Consumable/Heat/Ember 3 + + + + + + + + 0.2 + + + + + + Item/Consumable/Heat/Ember 1 + + + + + 3.0 + + + Item/Consumable/Heat/Ember 2 + + + + + 5.0 + + + Item/Consumable/Heat/Ember 3 + + + + + + + + + + + + Treasure/Heat/Treasure Heat + + + Treasure/Heat/Value/Base + + Depth Entries + + + 3 + 10 + + + 7 + 4 + 30 + + + 8 + 3 + 15 + + + 17 + 5 + 40 + + + 18 + 3 + 10 + + + 30 + 5 + 50 + + + Depth Offset + 0 + + + + + + Treasure/Heat/Value/Base + + + Depth Offset + implementation.root.offset + + + Depth Entries + implementation.root.entries + + + + + + + 1 + + + Item/Consumable/Heat/Ember 1 + + + + + 5 + + + Item/Consumable/Heat/Ember 2 + + + + + 10 + + + Item/Consumable/Heat/Ember 3 + + + + + 25 + + + Item/Consumable/Heat/Ember 4 + + + + + 50 + + + Item/Consumable/Heat/Ember 5 + + + + + + + + + Treasure/Item Loot/Beast/Beast Gear Sets + + + + Gear + + + Treasure/Item Loot/Beast/Beast Items + + + + + Gear/Armor/Wolver Coat + + + + + Gear/Helm/Wolver Cap + + + + + Gear/Armor/Dusker Coat + + + + + Gear/Helm/Dusker Cap + + + + + Gear/Armor/Ash Tail Coat + + + + + Gear/Helm/Ash Tail Cap + + + + + Gear/Armor/Skolver Coat + + + + + Gear/Helm/Skolver Cap + + + + + Gear/Armor/Vog Cub Coat + + + + + Gear/Helm/Vog Cub Cap + + + + + Gear/Armor/Chroma Suit + + + + + Gear/Helm/Chroma Mask + + + + + Gear/Armor/Virulisk Suit + + + + + Gear/Helm/Virulisk Mask + + + + + Gear/Armor/Deadly Virulisk Suit + + + + + Gear/Helm/Deadly Virulisk Mask + + + + + Gear/Armor/Salamander Suit + + + + + Gear/Helm/Salamander Mask + + + + + Gear/Armor/Volcanic Salamander Suit + + + + + Gear/Helm/Volcanic Salamander Mask + + + + + Gear/Armor/Drake Scale Mail + + + + + Gear/Helm/Drake Scale Helm + + + + + Gear/Armor/Wyvern Scale Mail + + + + + Gear/Helm/Wyvern Scale Helm + + + + + Gear/Armor/Dragon Scale Mail + + + + + Gear/Helm/Dragon Scale Helm + + + + + Gear/Shield/Drake Scale Shield + + + + + Gear/Shield/Wyvern Scale Shield + + + + + Gear/Shield/Dragon Scale Shield + + + + + Gear/Shield/Stone Tortoise + + + + + Gear/Shield/Omega Shell + + + + + + + + Treasure/Item Loot/Beast/Beast Handguns + + + + Gear + + + Treasure/Item Loot/Beast/Beast Items + + + + + Weapon/Handgun/Needle Shot + + + + + Weapon/Handgun/Strike Needle + + + + + Weapon/Handgun/Blitz Needle + + + + + + + + Treasure/Item Loot/Beast/Beast Items + + + + + + + Treasure/Item Loot/Beast/Beast Swords + + + + + + + Treasure/Item Loot/Beast/Beast Handguns + + + + + 6.0 + + + Treasure/Item Loot/Beast/Beast Gear Sets + + + + + + + + + Treasure/Item Loot/Beast/Beast Swords + + + + Gear + + + Treasure/Item Loot/Beast/Beast Items + + + + + Weapon/Sword/Big Beast Basher + + + + + Weapon/Sword/Brandish + + + + + Weapon/Sword/Cutter + + + + + Weapon/Sword/Striker + + + + + Weapon/Sword/Hunting Blade + + + + + Weapon/Sword/Wild Hunting Blade + + + + + + + + Treasure/Item Loot/Construct/Construct Bombs + + + + Gear + + + Treasure/Item Loot/Construct/Construct Items + + + + + Weapon/Bomb/Deconstructor + + + + + Weapon/Bomb/Heavy Deconstructor + + + + + Weapon/Bomb/Irontech Bomb + + + + + Weapon/Bomb/Irontech Destroyer + + + + + + + + Treasure/Item Loot/Construct/Construct Gear Sets + + + + Gear + + + Treasure/Item Loot/Construct/Construct Items + + + + + Gear/Armor/Spiral Plate Mail + + + + + Gear/Helm/Spiral Plate Helm + + + + + Gear/Armor/Boosted Plate Mail + + + + + Gear/Helm/Boosted Plate Helm + + + + + Gear/Armor/Heavy Plate Mail + + + + + Gear/Helm/Heavy Plate Helm + + + + + Gear/Armor/Ironmight Plate Mail + + + + + Gear/Helm/Ironmight Plate Helm + + + + + Gear/Shield/Force Buckler + + + + + Gear/Shield/Plate Shield + + + + + Gear/Shield/Boosted Plate Shield + + + + + Gear/Shield/Heavy Plate Shield + + + + + Gear/Shield/Ironmight Plate Shield + + + + + + + + Treasure/Item Loot/Construct/Construct Handguns + + + + Gear + + + Treasure/Item Loot/Construct/Construct Items + + + + + Weapon/Handgun/Autogun + + + + + Weapon/Handgun/Magnus + + + + + Weapon/Handgun/Mega Magnus + + + + + Weapon/Handgun/Callahan + + + + + Weapon/Handgun/Iron Slug + + + + + + + + Treasure/Item Loot/Construct/Construct Items + + + + + + + Treasure/Item Loot/Construct/Construct Swords + + + + + + + Treasure/Item Loot/Construct/Construct Handguns + + + + + + + Treasure/Item Loot/Construct/Construct Bombs + + + + + 3.0 + + + Treasure/Item Loot/Construct/Construct Gear Sets + + + + + + + + + Treasure/Item Loot/Construct/Construct Swords + + + + Gear + + + Treasure/Item Loot/Construct/Construct Items + + + + + Weapon/Sword/Spur + + + + + Weapon/Sword/Arc Razor + + + + + Weapon/Sword/Winmillion + + + + + + + + Treasure/Item Loot/Fiend/Fiend Bombs + + + + Gear + + + Treasure/Item Loot/Fiend/Fiend Items + + + + + Weapon/Bomb/Sun Shards + + + + + Weapon/Bomb/Radiant Sun Shards + + + + + + + + Treasure/Item Loot/Fiend/Fiend Gear Sets + + + + Gear + + + Treasure/Item Loot/Vanilla/Vanilla Items + + + + + Gear/Armor/Magic Cloak + + + + + Gear/Helm/Magic Hood + + + + + Gear/Armor/Elemental Cloak + + + + + Gear/Helm/Elemental Hood + + + + + Gear/Armor/Miracle Cloak + + + + + Gear/Helm/Miracle Hood + + + + + Gear/Armor/Chaos Cloak + + + + + Gear/Helm/Chaos Cowl + + + + + Gear/Armor/Divine Mantle + + + + + Gear/Helm/Divine Veil + + + + + + + + Treasure/Item Loot/Fiend/Fiend Handguns + + + + Gear + + + Treasure/Item Loot/Fiend/Fiend Items + + + + + Weapon/Handgun/Shadowtech Alchemer + + + + + Weapon/Handgun/Shadowtech Alchemer Mk II + + + + + Weapon/Handgun/Shadow Driver + + + + + Weapon/Handgun/Umbra Driver + + + + + + + + Treasure/Item Loot/Fiend/Fiend Items + + + + + + + Treasure/Item Loot/Fiend/Fiend Swords + + + + + + + Treasure/Item Loot/Fiend/Fiend Handguns + + + + + + + Treasure/Item Loot/Fiend/Fiend Bombs + + + + + 3.0 + + + Treasure/Item Loot/Fiend/Fiend Gear Sets + + + + + + + + + Treasure/Item Loot/Fiend/Fiend Swords + + + + Gear + + + Treasure/Item Loot/Fiend/Fiend Items + + + + + Weapon/Sword/Troika + + + + + Weapon/Sword/Kamarin + + + + + Weapon/Sword/Khorovod + + + + + + + + Treasure/Item Loot/Fire/Fire Bombs + + + + Gear + + + Treasure/Item Loot/Fire/Fire Items + + + + + Weapon/Bomb/Firecracker + + + + + Weapon/Bomb/Fiery Vaporizer + + + + + Weapon/Bomb/Fiery Vaporizer Mk II + + + + + Weapon/Bomb/Fiery Atomizer + + + + + Weapon/Bomb/Ash of Agni + + + + + + + + Treasure/Item Loot/Fire/Fire Gear Sets + + + + Gear + + + Treasure/Item Loot/Fire/Fire Items + + + + + Gear/Armor/Emberbreak Armor + + + + + Gear/Helm/Emberbreak Helm + + + + + Gear/Armor/Firebreak Armor + + + + + Gear/Helm/Firebreak Helm + + + + + Gear/Armor/Blazebreak Armor + + + + + Gear/Helm/Blazebreak Helm + + + + + Gear/Armor/Volcanic Demo Suit + + + + + Gear/Helm/Volcanic Demo Helm + + + + + Gear/Armor/Volcanic Plate Mail + + + + + Gear/Helm/Volcanic Plate Helm + + + + + Gear/Armor/Volcanic Salamander Suit + + + + + Gear/Helm/Volcanic Salamander Mask + + + + + Gear/Shield/Emberbreak Shield + + + + + Gear/Shield/Firebreak Shield + + + + + Gear/Shield/Blazebreak Shield + + + + + + + + Treasure/Item Loot/Fire/Fire Handguns + + + + Gear + + + Treasure/Item Loot/Fire/Fire Items + + + + + Weapon/Handgun/Firotech Alchemer + + + + + Weapon/Handgun/Firotech Alchemer Mk II + + + + + Weapon/Handgun/Firo Driver + + + + + Weapon/Handgun/Magma Driver + + + + + Weapon/Handgun/Pepperbox + + + + + Weapon/Handgun/Fiery Pepperbox + + + + + Weapon/Handgun/Volcanic Pepperbox + + + + + + + + Treasure/Item Loot/Fire/Fire Items + + + + + + + Treasure/Item Loot/Fire/Fire Swords + + + + + + + Treasure/Item Loot/Fire/Fire Handguns + + + + + + + Treasure/Item Loot/Fire/Fire Bombs + + + + + 2.0 + + + Treasure/Item Loot/Fire/Fire Gear Sets + + + + + + + + + Treasure/Item Loot/Fire/Fire Mats + + + + Materials, Recipe Loot + + + Treasure/Crowns/Treasure Crown + + + + + Material/Blast Powder + + + + + Material/Fuel Canister + + + + + Material/Torchstone + + + + + Material/Blaze Pepper + + + + + Material/Flame Soul + + + + + + + + Treasure/Item Loot/Fire/Fire Swords + + + + Gear + + + Treasure/Item Loot/Fire/Fire Items + + + + + Weapon/Sword/Hot Edge + + + + + Weapon/Sword/Searing Edge + + + + + Weapon/Sword/Fireburst Brandish + + + + + + + + Treasure/Item Loot/Freeze/Freeze Bombs + + + + Gear + + + Treasure/Item Loot/Freeze/Freeze Items + + + + + Weapon/Bomb/Cold Snap + + + + + Weapon/Bomb/Freezing Vaporizer + + + + + Weapon/Bomb/Freezing Vaporizer Mk II + + + + + Weapon/Bomb/Freezing Atomizer + + + + + Weapon/Bomb/Shivermist Buster + + + + + + + + Treasure/Item Loot/Freeze/Freeze Gear Sets + + + + Gear + + + Treasure/Item Loot/Freeze/Freeze Items + + + + + Gear/Armor/Frostbreaker Armor + + + + + Gear/Helm/Frostbreaker Helm + + + + + Gear/Armor/Icebreaker Armor + + + + + Gear/Helm/Icebreaker Helm + + + + + Gear/Armor/Blizzbreaker Armor + + + + + Gear/Helm/Blizzbreaker Helm + + + + + Gear/Shield/Frostbreaker Shield + + + + + Gear/Shield/Icebreaker Shield + + + + + Gear/Shield/Blizzbreaker Shield + + + + + + + + Treasure/Item Loot/Freeze/Freeze Handguns + + + + Gear + + + Treasure/Item Loot/Freeze/Freeze Items + + + + + Weapon/Handgun/Frost Gun + + + + + Weapon/Handgun/Cryotech Alchemer + + + + + Weapon/Handgun/Cryotech Alchemer Mk II + + + + + Weapon/Handgun/Cryo Driver + + + + + Weapon/Handgun/Hail Driver + + + + + + + + Treasure/Item Loot/Freeze/Freeze Items + + + + + + + Treasure/Item Loot/Freeze/Freeze Swords + + + + + + + Treasure/Item Loot/Freeze/Freeze Handguns + + + + + + + Treasure/Item Loot/Freeze/Freeze Bombs + + + + + 2.0 + + + Treasure/Item Loot/Freeze/Freeze Gear Sets + + + + + + + + + Treasure/Item Loot/Freeze/Freeze Mats + + + + Materials, Recipe Loot + + + Treasure/Crowns/Treasure Crown + + + + + Material/Frost Gel + + + + + Material/Cooling Cell + + + + + Material/Hailstone + + + + + Material/Perfect Snowball + + + + + Material/Everfrost + + + + + + + + Treasure/Item Loot/Freeze/Freeze Swords + + + + Gear + + + Treasure/Item Loot/Freeze/Freeze Items + + + + + Weapon/Sword/Brandish + + + + + Weapon/Sword/Iceburst Brandish + + + + + + + + Treasure/Item Loot/Gremlin/Gremlin Bombs + + + + Gear + + + Treasure/Item Loot/Gremlin/Gremlin Items + + + + + Weapon/Bomb/Big Angry Bomb + + + + + + + + Treasure/Item Loot/Gremlin/Gremlin Gear Sets + + + + Gear + + + Treasure/Item Loot/Gremlin/Gremlin Items + + + + + Gear/Armor/Spiral Demo Suit + + + + + Gear/Helm/Spiral Demo Helm + + + + + Gear/Armor/Fused Demo Suit + + + + + Gear/Helm/Fused Demo Helm + + + + + Gear/Armor/Heavy Demo Suit + + + + + Gear/Helm/Heavy Demo Helm + + + + + Gear/Armor/Volcanic Demo Suit + + + + + Gear/Helm/Volcanic Demo Helm + + + + + Gear/Armor/Bombastic Demo Suit + + + + + Gear/Helm/Bombastic Demo Helm + + + + + Gear/Armor/Mad Bomber Suit + + + + + Gear/Helm/Mad Bomber Mask + + + + + Gear/Shield/Blackened Crest + + + + + Gear/Shield/Thwacker Shield + + + + + + + + Treasure/Item Loot/Gremlin/Gremlin Handguns + + + + Gear + + + Treasure/Item Loot/Gremlin/Gremlin Items + + + + + Weapon/Handgun/Autogun + + + + + Weapon/Handgun/Magnus + + + + + Weapon/Handgun/Mega Magnus + + + + + Weapon/Handgun/Callahan + + + + + Weapon/Handgun/Iron Slug + + + + + + + + Treasure/Item Loot/Gremlin/Gremlin Items + + + + + + + Treasure/Item Loot/Gremlin/Gremlin Swords + + + + + + + Treasure/Item Loot/Gremlin/Gremlin Handguns + + + + + + + Treasure/Item Loot/Gremlin/Gremlin Bombs + + + + + 3.0 + + + Treasure/Item Loot/Gremlin/Gremlin Gear Sets + + + + + + + + + Treasure/Item Loot/Gremlin/Gremlin Swords + + + + Gear + + + Treasure/Item Loot/Gremlin/Gremlin Items + + + + + Weapon/Sword/Thwack Hammer + + + + + Weapon/Sword/Wrench Wand + + + + + + + + Treasure/Item Loot/Pickups/Happy Box + + + + + 100.0 + + + Treasure/Item Loot/Vanilla/Vanilla Items + + + + + 100.0 + + + + + Monster/Multi Family/Class - Fighter, small + + Tag + (Wave Tag) + + + + + + Monster/Multi Family/Class - Fighter, small + + Tag + (Wave Tag) + + + + + + Monster/Multi Family/Class - Fighter, small + + Tag + (Wave Tag) + + + + + + Monster/Multi Family/Class - Fighter, small + + Tag + (Wave Tag) + + + + + + Monster/Multi Family/Class - Fighter, med + + Tag + (Wave Tag) + + + + + + Monster/Multi Family/Class - Fighter, med + + Tag + (Wave Tag) + + + + + + + + + + + + Treasure/Item Loot/Poison/Poison Bombs + + + + Gear + + + Treasure/Item Loot/Vanilla/Vanilla Items + + + + + Weapon/Bomb/Toxic Vaporizer + + + + + Weapon/Bomb/Toxic Vaporizer Mk II + + + + + Weapon/Bomb/Toxic Atomizer + + + + + Weapon/Bomb/Venom Veiler + + + + + + + + Treasure/Item Loot/Poison/Poison Gear Sets + + + + Gear + + + Treasure/Item Loot/Poison/Poison Items + + + + + Gear/Armor/Virulisk Suit + + + + + Gear/Helm/Virulisk Mask + + + + + Gear/Armor/Deadly Virulisk Suit + + + + + Gear/Helm/Deadly Virulisk Mask + + + + + + + + Treasure/Item Loot/Poison/Poison Items + + + + + + + Treasure/Item Loot/Poison/Poison Swords + + + + + + + Treasure/Item Loot/Poison/Poison Bombs + + + + + + + Treasure/Item Loot/Poison/Poison Gear Sets + + + + + + + + + Treasure/Item Loot/Poison/Poison Mats + + + + Materials, Recipe Loot + + + Treasure/Crowns/Treasure Crown + + + + + Material/Nightshade + + + + + Material/Waste Module + + + + + Material/Toxic Core + + + + + Material/Corrosive Acid + + + + + Material/Plague Essence + + + + + + + + Treasure/Item Loot/Poison/Poison Swords + + + + Gear + + + Treasure/Item Loot/Poison/Poison Items + + + + + Weapon/Sword/Vile Striker + + + + + Weapon/Sword/Dread Venom Striker + + + + + + + + Treasure/Item Loot/Shock/Shock Bombs + + + + Gear + + + Treasure/Item Loot/Shock/Shock Items + + + + + Weapon/Bomb/Ionized Salt Bomb + + + + + Weapon/Bomb/Irontech Bomb + + + + + Weapon/Bomb/Irontech Destroyer + + + + + + + + Treasure/Item Loot/Shock/Shock Gear Sets + + + + Gear + + + Treasure/Item Loot/Shock/Shock Items + + + + + Gear/Armor/Circuit Breaker Armor + + + + + Gear/Helm/Circuit Breaker Helm + + + + + Gear/Armor/Volt Breaker Armor + + + + + Gear/Helm/Volt Breaker Helm + + + + + Gear/Armor/Surge Breaker Armor + + + + + Gear/Helm/Surge Breaker Helm + + + + + Gear/Armor/Quicksilver Mail + + + + + Gear/Helm/Quicksilver Helm + + + + + Gear/Armor/Mercurial Mail + + + + + Gear/Helm/Mercurial Helm + + + + + Gear/Shield/Circuit Breaker Shield + + + + + Gear/Shield/Volt Breaker Shield + + + + + Gear/Shield/Surge Breaker Shield + + + + + + + + Treasure/Item Loot/Shock/Shock Handguns + + + + Gear + + + Treasure/Item Loot/Shock/Shock Items + + + + + Weapon/Handgun/Zapper + + + + + Weapon/Handgun/Voltech Alchemer + + + + + Weapon/Handgun/Voltech Alchemer Mk II + + + + + Weapon/Handgun/Volt Driver + + + + + Weapon/Handgun/Storm Driver + + + + + + + + Treasure/Item Loot/Shock/Shock Items + + + + + + + Treasure/Item Loot/Shock/Shock Swords + + + + + + + Treasure/Item Loot/Shock/Shock Handguns + + + + + + + Treasure/Item Loot/Shock/Shock Bombs + + + + + 3.0 + + + Treasure/Item Loot/Shock/Shock Gear Sets + + + + + + + + + Treasure/Item Loot/Shock/Shock Mats + + + + Materials, Recipe Loot + + + Treasure/Crowns/Treasure Crown + + + + + Material/Static Clinger + + + + + Material/Power Cell + + + + + Material/Volt Oil + + + + + Material/Thunderball + + + + + Material/Spark of Life + + + + + + + + Treasure/Item Loot/Shock/Shock Swords + + + + Gear + + + Treasure/Item Loot/Shock/Shock Items + + + + + Weapon/Sword/Static Edge + + + + + Weapon/Sword/Shocking Edge + + + + + + + + Treasure/Item Loot/Slime/Slime Bombs + + + + Gear + + + Treasure/Item Loot/Slime/Slime Items + + + + + Weapon/Bomb/Crystal Bomb + + + + + Weapon/Bomb/Rock Salt Bomb + + + + + Weapon/Bomb/Ionized Salt Bomb + + + + + + + + Treasure/Item Loot/Slime/Slime Gear Sets + + + + Gear + + + Treasure/Item Loot/Slime/Slime Items + + + + + Gear/Armor/Jelly Mail + + + + + Gear/Helm/Jelly Helm + + + + + Gear/Armor/Brute Jelly Mail + + + + + Gear/Helm/Brute Jelly Helm + + + + + Gear/Armor/Rock Jelly Mail + + + + + Gear/Helm/Rock Jelly Helm + + + + + Gear/Armor/Royal Jelly Mail + + + + + Gear/Helm/Royal Jelly Crown + + + + + Gear/Armor/Quicksilver Mail + + + + + Gear/Helm/Quicksilver Helm + + + + + Gear/Armor/Mercurial Mail + + + + + Gear/Helm/Mercurial Helm + + + + + Gear/Shield/Jelly Shield + + + + + Gear/Shield/Brute Jelly Shield + + + + + Gear/Shield/Rock Jelly Shield + + + + + Gear/Shield/Royal Jelly Shield + + + + + + + + Treasure/Item Loot/Slime/Slime Handguns + + + + Gear + + + Treasure/Item Loot/Slime/Slime Items + + + + + Weapon/Handgun/Prismatech Alchemer + + + + + Weapon/Handgun/Prismatech Alchemer Mk II + + + + + Weapon/Handgun/Prisma Driver + + + + + Weapon/Handgun/Nova Driver + + + + + + + + Treasure/Item Loot/Slime/Slime Items + + + + + + + Treasure/Item Loot/Slime/Slime Swords + + + + + + + Treasure/Item Loot/Slime/Slime Handguns + + + + + + + Treasure/Item Loot/Slime/Slime Bombs + + + + + 3.0 + + + Treasure/Item Loot/Slime/Slime Gear Sets + + + + + + + + + Treasure/Item Loot/Slime/Slime Swords + + + + Gear + + + Treasure/Item Loot/Slime/Slime Items + + + + + Weapon/Sword/Super Slime Slasher + + + + + Weapon/Sword/Brandish + + + + + Weapon/Sword/Cautery Sword + + + + + + + + Treasure/Item Loot/Undead/Undead Bombs + + + + Gear + + + Treasure/Item Loot/Undead/Undead Items + + + + + Weapon/Bomb/Graviton Bomb + + + + + Weapon/Bomb/Graviton Vortex + + + + + + + + Treasure/Item Loot/Undead/Undead Gear Sets + + + + Gear + + + Treasure/Item Loot/Vanilla/Vanilla Items + + + + + Gear/Armor/Skelly Suit + + + + + Gear/Helm/Skelly Mask + + + + + Gear/Armor/Scary Skelly Suit + + + + + Gear/Helm/Scary Skelly Mask + + + + + Gear/Armor/Sinister Skelly Suit + + + + + Gear/Helm/Sinister Skelly Mask + + + + + Gear/Armor/Dread Skelly Suit + + + + + Gear/Helm/Dread Skelly Mask + + + + + Gear/Armor/Grey Feather Mantle + + + + + Gear/Helm/Grey Feather Cowl + + + + + Gear/Shield/Skelly Shield + + + + + Gear/Shield/Scary Skelly Shield + + + + + Gear/Shield/Sinister Skelly Shield + + + + + Gear/Shield/Dread Skelly Shield + + + + + Gear/Shield/Owlite Shield + + + + + Gear/Shield/Horned Owlite Shield + + + + + Gear/Shield/Wise Owlite Shield + + + + + Gear/Shield/Grey Owlite Shield + + + + + + + + Treasure/Item Loot/Undead/Undead Handguns + + + + Gear + + + Treasure/Item Loot/Undead/Undead Items + + + + + Weapon/Handgun/Shadowtech Alchemer + + + + + Weapon/Handgun/Shadowtech Alchemer Mk II + + + + + Weapon/Handgun/Shadow Driver + + + + + Weapon/Handgun/Umbra Driver + + + + + + + + Treasure/Item Loot/Undead/Undead Items + + + + + + + Treasure/Item Loot/Undead/Undead Swords + + + + + + + Treasure/Item Loot/Undead/Undead Handguns + + + + + + + Treasure/Item Loot/Undead/Undead Bombs + + + + + 6.0 + + + Treasure/Item Loot/Undead/Undead Gear Sets + + + + + + + + + Treasure/Item Loot/Undead/Undead Swords + + + + Gear + + + Treasure/Item Loot/Undead/Undead Items + + + + + Weapon/Sword/Brandish + + + + + Weapon/Sword/Nightblade + + + + + Weapon/Sword/Cold Iron Carver + + + + + Weapon/Sword/Cold Iron Vanquisher + + + + + + + + Treasure/Item Loot/Vanilla/Vanilla Bombs + + + + Gear + + + Treasure/Item Loot/Vanilla/Vanilla Items + + + + + Weapon/Bomb/Haze Bomb + + + + + + + + Treasure/Item Loot/Vanilla/Vanilla Gear Sets + + + + Gear + + + Treasure/Item Loot/Vanilla/Vanilla Items + + + + + Gear/Armor/Spiral Scale Mail + + + + + Gear/Helm/Spiral Scale Helm + + + + + Gear/Armor/Spiral Plate Mail + + + + + Gear/Helm/Spiral Plate Helm + + + + + Gear/Armor/Vitasuit Plus + + + + + Gear/Armor/Boosted Plate Mail + + + + + Gear/Helm/Boosted Plate Helm + + + + + Gear/Armor/Heavy Plate Mail + + + + + Gear/Helm/Heavy Plate Helm + + + + + Gear/Armor/Vitasuit Deluxe + + + + + Gear/Armor/Ironmight Plate Mail + + + + + Gear/Helm/Ironmight Plate Helm + + + + + Gear/Shield/Scale Shield + + + + + Gear/Shield/Force Buckler + + + + + Gear/Shield/Plate Shield + + + + + Gear/Shield/Boosted Plate Shield + + + + + Gear/Shield/Heavy Plate Shield + + + + + Gear/Shield/Ironmight Plate Shield + + + + + + + + Treasure/Item Loot/Vanilla/Vanilla Handguns + + + + Gear + + + Treasure/Item Loot/Vanilla/Vanilla Items + + + + + Weapon/Handgun/Super Stun Gun + + + + + Weapon/Handgun/Pummel Gun + + + + + Weapon/Handgun/Autogun + + + + + + + + Treasure/Item Loot/Vanilla/Vanilla Items + + + + + + + Treasure/Item Loot/Vanilla/Vanilla Swords + + + + + + + Treasure/Item Loot/Vanilla/Vanilla Handguns + + + + + + + Treasure/Item Loot/Vanilla/Vanilla Bombs + + + + + 4.0 + + + Treasure/Item Loot/Vanilla/Vanilla Gear Sets + + + + + + + + + Treasure/Item Loot/Vanilla/Vanilla Swords + + + + Gear + + + Treasure/Item Loot/Vanilla/Vanilla Items + + + + + Weapon/Sword/Bolted Blade + + + + + Weapon/Sword/Heavy Hatchet + + + + + Weapon/Sword/Brandish + + + + + + + + Treasure/Mineral/Crimsonite Deposit + + + + Mineral Deposit + + + + + Mineral/Dungeon/Crimsonite Deposit 1 + + + + + Mineral/Dungeon/Crimsonite Deposit 2 + + + + + Mineral/Dungeon/Crimsonite Deposit 3 + + + + + Mineral/Dungeon/Crimsonite Deposit 4 + + + + + + + + Treasure/Mineral/Dark Matter Deposit + + + + Mineral Deposit + + + + + Mineral/Dungeon/Dark Matter Deposit 1 + + + + + Mineral/Dungeon/Dark Matter Deposit 2 + + + + + Mineral/Dungeon/Dark Matter Deposit 3 + + + + + Mineral/Dungeon/Dark Matter Deposit 4 + + + + + + + + Treasure/Mineral/Luminite Deposit + + + + Mineral Deposit + + + + + Mineral/Dungeon/Luminite Deposit 1 + + + + + Mineral/Dungeon/Luminite Deposit 2 + + + + + Mineral/Dungeon/Luminite Deposit 3 + + + + + Mineral/Dungeon/Luminite Deposit 4 + + + + + + + + Treasure/Mineral/Moonstone Deposit + + + + Mineral Deposit + + + + + Mineral/Dungeon/Moonstone Deposit 1 + + + + + Mineral/Dungeon/Moonstone Deposit 2 + + + + + Mineral/Dungeon/Moonstone Deposit 3 + + + + + Mineral/Dungeon/Moonstone Deposit 4 + + + + + + + + Treasure/Mineral/Valestone Deposit + + + + Mineral Deposit + + + + + Mineral/Dungeon/Valestone Deposit 1 + + + + + Mineral/Dungeon/Valestone Deposit 2 + + + + + Mineral/Dungeon/Valestone Deposit 3 + + + + + Mineral/Dungeon/Valestone Deposit 4 + + + + + + + + Treasure/Monster/Beast/Alpha Wolver/Alpha Ash Tail Loot + + + Treasure/Monster/Monster Loot, medium + + Materials + + Treasure/Monster/Beast/Alpha Wolver/Alpha Ash Tail Mats + + + + + + + Treasure/Monster/Beast/Alpha Wolver/Alpha Ash Tail Mats + + + Treasure/Monster/Beast/Alpha Wolver/Alpha Wolver Mats + + Items + + + + + Material/Blast Powder + + + + + Material/Torchstone + + + + + Material/Blaze Pepper + + + + + Material/Flame Soul + + + + + + + + + + Treasure/Monster/Beast/Alpha Wolver/Alpha Frostifur Loot + + + Treasure/Monster/Monster Loot, medium + + Materials + + Treasure/Monster/Beast/Alpha Wolver/Alpha Frostifur Mats + + + + + + + Treasure/Monster/Beast/Alpha Wolver/Alpha Frostifur Mats + + + Treasure/Monster/Beast/Alpha Wolver/Alpha Wolver Mats + + Items + + + + + Material/Frost Gel + + + + + Material/Hailstone + + + + + Material/Perfect Snowball + + + + + Material/Everfrost + + + + + + + + + + Treasure/Monster/Beast/Alpha Wolver/Alpha Rabid Wolver Loot + + + Treasure/Monster/Monster Loot, medium + + Materials + + Treasure/Monster/Beast/Alpha Wolver/Alpha Rabid Wolver Mats + + + + + + + Treasure/Monster/Beast/Alpha Wolver/Alpha Rabid Wolver Mats + + + Treasure/Monster/Beast/Alpha Wolver/Alpha Wolver Mats + + Items + + + + + Material/Nightshade + + + + + Material/Toxic Core + + + + + Material/Corrosive Acid + + + + + Material/Plague Essence + + + + + + + + + + Treasure/Monster/Beast/Alpha Wolver/Alpha Voltail Loot + + + Treasure/Monster/Monster Loot, medium + + Materials + + Treasure/Monster/Beast/Alpha Wolver/Alpha Voltail Mats + + + + + + + Treasure/Monster/Beast/Alpha Wolver/Alpha Voltail Mats + + + Treasure/Monster/Beast/Alpha Wolver/Alpha Wolver Mats + + Items + + + + + Material/Static Clinger + + + + + Material/Volt Oil + + + + + Material/Thunderball + + + + + Material/Spark of Life + + + + + + + + + + Treasure/Monster/Beast/Alpha Wolver/Alpha Wolver Loot + + + Treasure/Monster/Monster Loot, medium + + Materials + + Treasure/Monster/Beast/Alpha Wolver/Alpha Wolver Mats + + Items + + + + + + + + + Treasure/Monster/Beast/Alpha Wolver/Alpha Wolver Mats + + + Items + implementation.root.derived + + + + + + Materials + + + + + Material/Green Shard + + + + + Material/Red Shard + + + + + Material/Sharp Fang + + + + + Material/Monster Bone + + + + + Material/Bushy Tail + + + + + Material/Warp Dust + + + + + Material/Primal Ore + + + + + + + + Treasure/Monster/Beast/Beast Shards + + + + + 100.0 + + + Material/Red Shard + + + + + 50.0 + + + Material/Blue Shard + + + + + 200.0 + + + Material/Green Shard + + + + + 15.0 + + + Material/Light Shard + + + + + 5.0 + + + Material/Dark Shard + + + + + + + + + Treasure/Monster/Beast/Chromalisk/Chromalisk Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Beast/Chromalisk/Chromalisk Mats + + Items + + + + + + + + + Treasure/Monster/Beast/Chromalisk/Chromalisk Mats + + + Items + implementation.root.derived + + + + + + Materials + + + + + Material/Green Shard + + + + + Material/Red Shard + + + + + Material/Beast Scale + + + + + Material/Critter Carapace + + + + + Material/Drake Scale + + + + + Material/Chroma Tear + + + + + Material/Dragon Scale + + + + + + + + Treasure/Monster/Beast/Chromalisk/Electrolisk Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Beast/Chromalisk/Electrolisk Mats + + + + + + + Treasure/Monster/Beast/Chromalisk/Electrolisk Mats + + + Treasure/Monster/Beast/Chromalisk/Chromalisk Mats + + Items + + + + + Material/Static Clinger + + + + + Material/Volt Oil + + + + + Material/Thunderball + + + + + Material/Spark of Life + + + + + + + + + + Treasure/Monster/Beast/Chromalisk/Salamander Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Beast/Chromalisk/Salamander Mats + + + + + + + Treasure/Monster/Beast/Chromalisk/Salamander Mats + + + Treasure/Monster/Beast/Chromalisk/Chromalisk Mats + + Items + + + + + Material/Blast Powder + + + + + Material/Torchstone + + + + + Material/Blaze Pepper + + + + + Material/Flame Soul + + + + + + + + + + Treasure/Monster/Beast/Chromalisk/Tundralisk Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Beast/Chromalisk/Tundralisk Mats + + + + + + + Treasure/Monster/Beast/Chromalisk/Tundralisk Mats + + + Treasure/Monster/Beast/Chromalisk/Chromalisk Mats + + Items + + + + + Material/Frost Gel + + + + + Material/Hailstone + + + + + Material/Perfect Snowball + + + + + Material/Everfrost + + + + + + + + + + Treasure/Monster/Beast/Chromalisk/Virulisk Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Beast/Chromalisk/Virulisk Mats + + + + + + + Treasure/Monster/Beast/Chromalisk/Virulisk Mats + + + Treasure/Monster/Beast/Chromalisk/Chromalisk Mats + + Items + + + + + Material/Nightshade + + + + + Material/Toxic Core + + + + + Material/Corrosive Acid + + + + + Material/Plague Essence + + + + + + + + + + Treasure/Monster/Beast/Wolver/Ash Tail Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Beast/Wolver/Ash Tail Mats + + + + + + + Treasure/Monster/Beast/Wolver/Ash Tail Mats + + + Treasure/Monster/Beast/Wolver/Wolver Mats + + Items + + + + + Material/Blast Powder + + + + + Material/Torchstone + + + + + Material/Blaze Pepper + + + + + Material/Flame Soul + + + + + + + + + + Treasure/Monster/Beast/Wolver/Frostifur Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Beast/Wolver/Frostifur Mats + + + + + + + Treasure/Monster/Beast/Wolver/Frostifur Mats + + + Treasure/Monster/Beast/Wolver/Wolver Mats + + Items + + + + + Material/Frost Gel + + + + + Material/Hailstone + + + + + Material/Perfect Snowball + + + + + Material/Everfrost + + + + + + + + + + Treasure/Monster/Beast/Wolver/Rabid Wolver Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Beast/Wolver/Rabid Wolver Mats + + + + + + + Treasure/Monster/Beast/Wolver/Rabid Wolver Mats + + + Treasure/Monster/Beast/Wolver/Wolver Mats + + Items + + + + + Material/Nightshade + + + + + Material/Toxic Core + + + + + Material/Corrosive Acid + + + + + Material/Plague Essence + + + + + + + + + + Treasure/Monster/Beast/Wolver/Vog Cub Loot + + + Treasure/Monster/Monster Loot, large + + Materials + + Treasure/Monster/Beast/Wolver/Vog Cub Mats + + + + + + + Treasure/Monster/Beast/Wolver/Vog Cub Mats + + + Treasure/Monster/Beast/Wolver/Wolver Mats + + Items + + + + + Material/Blast Powder + + + + + Material/Torchstone + + + + + Material/Blaze Pepper + + + + + Material/Flame Soul + + + + + + + + + + Treasure/Monster/Beast/Wolver/Voltail Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Beast/Wolver/Voltail Mats + + + + + + + Treasure/Monster/Beast/Wolver/Voltail Mats + + + Treasure/Monster/Beast/Wolver/Wolver Mats + + Items + + + + + Material/Static Clinger + + + + + Material/Volt Oil + + + + + Material/Thunderball + + + + + Material/Spark of Life + + + + + + + + + + Treasure/Monster/Beast/Wolver/Wolver Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Beast/Wolver/Wolver Mats + + Items + + + + + + + + + Treasure/Monster/Beast/Wolver/Wolver Mats + + + Items + implementation.root.derived + + + + + + Materials + + + + + Material/Green Shard + + + + + Material/Red Shard + + + + + Material/Sharp Fang + + + + + Material/Monster Bone + + + + + Material/Bushy Tail + + + + + Material/Warp Dust + + + + + Material/Primal Ore + + + + + + + + Treasure/Monster/Construct/Construct Shards + + + + + 50.0 + + + Material/Red Shard + + + + + 200.0 + + + Material/Blue Shard + + + + + 75.0 + + + Material/Green Shard + + + + + 5.0 + + + Material/Light Shard + + + + + 5.0 + + + Material/Dark Shard + + + + + + + + + Treasure/Monster/Construct/Gun Puppy/Gun Puppy Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Construct/Gun Puppy/Gun Puppy Mats + + Items + + + + + + + + + Treasure/Monster/Construct/Gun Puppy/Gun Puppy Mats + + + Items + implementation.root.derived + + + + + + Materials + + + + + Material/Blue Shard + + + + + Material/Light Shard + + + + + Material/Scrap Metal + + + + + Material/Iron Gear + + + + + Material/Rocket Sprocket + + + + + Material/Silver Coil + + + + + Material/Sun Silver + + + + + + + + Treasure/Monster/Construct/Gun Puppy/Love Puppy Loot + + + Treasure/Monster/Monster Loot, small (bonus) + + Bonus Loot + + 0.2 + + + Gear + + + + + Gear/Trinket/Heart Pendant + + + + + Gear/Trinket/Dual Heart Pendant + + + + + Gear/Trinket/Tri-Heart Pendant + + + + + Gear/Trinket/Tetra-Heart Pendant + + + + + Gear/Trinket/True Love Locket + + + + + + Materials + + Treasure/Monster/Construct/Gun Puppy/Gun Puppy Mats + + Items + + + + + + + + + Treasure/Monster/Construct/Gun Puppy/Red Rover Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Construct/Gun Puppy/Red Rover Mats + + + + + + + Treasure/Monster/Construct/Gun Puppy/Red Rover Mats + + + Treasure/Monster/Construct/Gun Puppy/Gun Puppy Mats + + Items + + + + + Material/Fuel Canister + + + + + Material/Torchstone + + + + + Material/Blaze Pepper + + + + + Material/Flame Soul + + + + + + + + + + Treasure/Monster/Construct/Gun Puppy/Sick Puppy Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Construct/Gun Puppy/Sick Puppy Mats + + + + + + + Treasure/Monster/Construct/Gun Puppy/Sick Puppy Mats + + + Treasure/Monster/Construct/Gun Puppy/Gun Puppy Mats + + Items + + + + + Material/Waste Module + + + + + Material/Toxic Core + + + + + Material/Corrosive Acid + + + + + Material/Plague Essence + + + + + + + + + + Treasure/Monster/Construct/Gun Puppy/Slush Puppy Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Construct/Gun Puppy/Slush Puppy Mats + + + + + + + Treasure/Monster/Construct/Gun Puppy/Slush Puppy Mats + + + Treasure/Monster/Construct/Gun Puppy/Gun Puppy Mats + + Items + + + + + Material/Cooling Cell + + + + + Material/Hailstone + + + + + Material/Perfect Snowball + + + + + Material/Everfrost + + + + + + + + + + Treasure/Monster/Construct/Gun Puppy/Spark Puppy Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Construct/Gun Puppy/Spark Puppy Mats + + + + + + + Treasure/Monster/Construct/Gun Puppy/Spark Puppy Mats + + + Treasure/Monster/Construct/Gun Puppy/Gun Puppy Mats + + Items + + + + + Material/Power Cell + + + + + Material/Volt Oil + + + + + Material/Thunderball + + + + + Material/Spark of Life + + + + + + + + + + Treasure/Monster/Construct/Lumber/Electreant Loot + + + Treasure/Monster/Monster Loot, medium + + Materials + + Treasure/Monster/Construct/Lumber/Electreant Mats + + + + + + + Treasure/Monster/Construct/Lumber/Electreant Mats + + + Treasure/Monster/Construct/Lumber/Lumber Mats + + Items + + + + + Material/Power Cell + + + + + Material/Volt Oil + + + + + Material/Thunderball + + + + + Material/Spark of Life + + + + + + + + + + Treasure/Monster/Construct/Lumber/Ironwood Sentinel Loot + + + Treasure/Monster/Monster Loot, large + + Materials + + Treasure/Monster/Construct/Lumber/Ironwood Sentinel Mats + + + + + + + Treasure/Monster/Construct/Lumber/Ironwood Sentinel Mats + + + + Materials + + + + + Material/Blue Shard + + + + + Material/Light Shard + + + + + Material/Scrap Metal + + + + + Material/Driftwood + + + + + Material/Redwood + + + + + Material/Ironwood + + + + + Material/Plasma Cell + + + + + + + + Treasure/Monster/Construct/Lumber/Lumber Loot + + + Treasure/Monster/Monster Loot, medium + + Materials + + Treasure/Monster/Construct/Lumber/Lumber Mats + + Items + + + + + + + + + Treasure/Monster/Construct/Lumber/Lumber Mats + + + Items + implementation.root.derived + + + + + + Materials + + + + + Material/Blue Shard + + + + + Material/Light Shard + + + + + Material/Scrap Metal + + + + + Material/Driftwood + + + + + Material/Redwood + + + + + Material/Ironwood + + + + + Material/Plasma Cell + + + + + + + + Treasure/Monster/Construct/Lumber/Redward Loot + + + Treasure/Monster/Monster Loot, medium + + Materials + + Treasure/Monster/Construct/Lumber/Redward Mats + + + + + + + Treasure/Monster/Construct/Lumber/Redward Mats + + + Treasure/Monster/Construct/Lumber/Lumber Mats + + Items + + + + + Material/Fuel Canister + + + + + Material/Torchstone + + + + + Material/Blaze Pepper + + + + + Material/Flame Soul + + + + + + + + + + Treasure/Monster/Construct/Lumber/Silversap Loot + + + Treasure/Monster/Monster Loot, medium + + Materials + + Treasure/Monster/Construct/Lumber/Silversap Mats + + + + + + + Treasure/Monster/Construct/Lumber/Silversap Mats + + + Treasure/Monster/Construct/Lumber/Lumber Mats + + Items + + + + + Material/Cooling Cell + + + + + Material/Hailstone + + + + + Material/Perfect Snowball + + + + + Material/Everfrost + + + + + + + + + + Treasure/Monster/Construct/Lumber/Vilewood Loot + + + Treasure/Monster/Monster Loot, medium + + Materials + + Treasure/Monster/Construct/Lumber/Vilewood Mats + + + + + + + Treasure/Monster/Construct/Lumber/Vilewood Mats + + + Treasure/Monster/Construct/Lumber/Lumber Mats + + Items + + + + + Material/Waste Module + + + + + Material/Toxic Core + + + + + Material/Corrosive Acid + + + + + Material/Plague Essence + + + + + + + + + + Treasure/Monster/Construct/Mecha Knight/Blight Knight Loot + + + Treasure/Monster/Monster Loot, medium + + Materials + + Treasure/Monster/Construct/Mecha Knight/Blight Knight Mats + + + + + + + Treasure/Monster/Construct/Mecha Knight/Blight Knight Mats + + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Mats + + Items + + + + + Material/Waste Module + + + + + Material/Toxic Core + + + + + Material/Corrosive Acid + + + + + Material/Plague Essence + + + + + + + + + + Treasure/Monster/Construct/Mecha Knight/Cryo Knight Loot + + + Treasure/Monster/Monster Loot, medium + + Materials + + Treasure/Monster/Construct/Mecha Knight/Cryo Knight Mats + + + + + + + Treasure/Monster/Construct/Mecha Knight/Cryo Knight Mats + + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Mats + + Items + + + + + Material/Cooling Cell + + + + + Material/Hailstone + + + + + Material/Perfect Snowball + + + + + Material/Everfrost + + + + + + + + + + Treasure/Monster/Construct/Mecha Knight/Firo Knight Loot + + + Treasure/Monster/Monster Loot, medium + + Materials + + Treasure/Monster/Construct/Mecha Knight/Firo Knight Mats + + + + + + + Treasure/Monster/Construct/Mecha Knight/Firo Knight Mats + + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Mats + + Items + + + + + Material/Fuel Canister + + + + + Material/Torchstone + + + + + Material/Blaze Pepper + + + + + Material/Flame Soul + + + + + + + + + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Loot + + + Treasure/Monster/Monster Loot, medium + + Materials + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Mats + + Items + + + + + + + + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Mats + + + Items + implementation.root.derived + + + + + + Materials + + + + + Material/Blue Shard + + + + + Material/Light Shard + + + + + Material/Scrap Metal + + + + + Material/Swordstone + + + + + Material/Force Dynamo + + + + + Material/Heavy Gear + + + + + Material/Sun Silver + + + + + + + + Treasure/Monster/Construct/Mecha Knight/Volt Knight Loot + + + Treasure/Monster/Monster Loot, medium + + Materials + + Treasure/Monster/Construct/Mecha Knight/Volt Knight Mats + + + + + + + Treasure/Monster/Construct/Mecha Knight/Volt Knight Mats + + + Treasure/Monster/Construct/Mecha Knight/Mecha Knight Mats + + Items + + + + + Material/Power Cell + + + + + Material/Volt Oil + + + + + Material/Thunderball + + + + + Material/Spark of Life + + + + + + + + + + Treasure/Monster/Construct/Retrode/Hotrode Loot + + + Treasure/Monster/Monster Loot, medium + + Materials + + Treasure/Monster/Construct/Retrode/Hotrode Mats + + + + + + + Treasure/Monster/Construct/Retrode/Hotrode Mats + + + Treasure/Monster/Construct/Retrode/Retrode Mats + + Items + + + + + Material/Fuel Canister + + + + + Material/Torchstone + + + + + Material/Blaze Pepper + + + + + Material/Flame Soul + + + + + + + + + + Treasure/Monster/Construct/Retrode/Isotrode Loot + + + Treasure/Monster/Monster Loot, medium + + Materials + + Treasure/Monster/Construct/Retrode/Isotrode Mats + + + + + + + Treasure/Monster/Construct/Retrode/Isotrode Mats + + + Treasure/Monster/Construct/Retrode/Retrode Mats + + Items + + + + + Material/Waste Module + + + + + Material/Toxic Core + + + + + Material/Corrosive Acid + + + + + Material/Plague Essence + + + + + + + + + + Treasure/Monster/Construct/Retrode/Retrode Loot + + + Treasure/Monster/Monster Loot, medium + + Materials + + Treasure/Monster/Construct/Retrode/Retrode Mats + + Items + + + + + + + + + Treasure/Monster/Construct/Retrode/Retrode Mats + + + Items + implementation.root.derived + + + + + + Materials + + + + + Material/Blue Shard + + + + + Material/Light Shard + + + + + Material/Scrap Metal + + + + + Material/Swordstone + + + + + Material/Force Dynamo + + + + + Material/Heavy Gear + + + + + Material/Shadow Steel + + + + + + + + Treasure/Monster/Construct/Retrode/Sleetrode Loot + + + Treasure/Monster/Monster Loot, medium + + Materials + + Treasure/Monster/Construct/Retrode/Sleetrode Mats + + + + + + + Treasure/Monster/Construct/Retrode/Sleetrode Mats + + + Treasure/Monster/Construct/Retrode/Retrode Mats + + Items + + + + + Material/Cooling Cell + + + + + Material/Hailstone + + + + + Material/Perfect Snowball + + + + + Material/Everfrost + + + + + + + + + + Treasure/Monster/Construct/Retrode/Voltrode Loot + + + Treasure/Monster/Monster Loot, medium + + Materials + + Treasure/Monster/Construct/Retrode/Voltrode Mats + + + + + + + Treasure/Monster/Construct/Retrode/Voltrode Mats + + + Treasure/Monster/Construct/Retrode/Retrode Mats + + Items + + + + + Material/Power Cell + + + + + Material/Volt Oil + + + + + Material/Thunderball + + + + + Material/Spark of Life + + + + + + + + + + Treasure/Monster/Construct/Rocket Puppy/Rocket Puppy Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Construct/Rocket Puppy/Rocket Puppy Mats + + + + + + + Treasure/Monster/Construct/Rocket Puppy/Rocket Puppy Mats + + + + Materials + + + + + Material/Blue Shard + + + + + Material/Light Shard + + + + + Material/Scrap Metal + + + + + Material/Iron Gear + + + + + Material/Rocket Sprocket + + + + + Material/Silver Coil + + + + + Material/Sun Silver + + + + + + + + Treasure/Monster/Construct/Scuttlebot/Brumabot Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Construct/Scuttlebot/Brumabot Mats + + + + + + + Treasure/Monster/Construct/Scuttlebot/Brumabot Mats + + + Treasure/Monster/Construct/Scuttlebot/Scuttlebot Mats + + Items + + + + + Material/Cooling Cell + + + + + Material/Hailstone + + + + + Material/Perfect Snowball + + + + + Material/Everfrost + + + + + + + + + + Treasure/Monster/Construct/Scuttlebot/Cinderbot Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Construct/Scuttlebot/Cinderbot Mats + + + + + + + Treasure/Monster/Construct/Scuttlebot/Cinderbot Mats + + + Treasure/Monster/Construct/Scuttlebot/Scuttlebot Mats + + Items + + + + + Material/Fuel Canister + + + + + Material/Torchstone + + + + + Material/Blaze Pepper + + + + + Material/Flame Soul + + + + + + + + + + Treasure/Monster/Construct/Scuttlebot/Hazbot Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Construct/Scuttlebot/Hazbot Mats + + + + + + + Treasure/Monster/Construct/Scuttlebot/Hazbot Mats + + + Treasure/Monster/Construct/Scuttlebot/Scuttlebot Mats + + Items + + + + + Material/Waste Module + + + + + Material/Toxic Core + + + + + Material/Corrosive Acid + + + + + Material/Plague Essence + + + + + + + + + + Treasure/Monster/Construct/Scuttlebot/Scuttlebot Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Construct/Scuttlebot/Scuttlebot Mats + + Items + + + + + + + + + Treasure/Monster/Construct/Scuttlebot/Scuttlebot Mats + + + Items + implementation.root.derived + + + + + + Materials + + + + + Material/Blue Shard + + + + + Material/Light Shard + + + + + Material/Scrap Metal + + + + + Material/Iron Gear + + + + + Material/Rocket Sprocket + + + + + Material/Silver Coil + + + + + Material/Sun Silver + + + + + + + + Treasure/Monster/Construct/Scuttlebot/Surgebot Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Construct/Scuttlebot/Surgebot Mats + + + + + + + Treasure/Monster/Construct/Scuttlebot/Surgebot Mats + + + Treasure/Monster/Construct/Scuttlebot/Scuttlebot Mats + + Items + + + + + Material/Power Cell + + + + + Material/Volt Oil + + + + + Material/Thunderball + + + + + Material/Spark of Life + + + + + + + + + + Treasure/Monster/Construct/Tortodrone/Tortodrone Loot + + + Treasure/Monster/Monster Loot, large (bonus) + + Bonus Loot + + 0.2 + + + Gear + + + + + Gear/Shield/Stone Tortoise + + + + + Gear/Shield/Omega Shell + + + + + + Materials + + Treasure/Monster/Construct/Tortodrone/Tortodrone Mats + + + + + + + Treasure/Monster/Construct/Tortodrone/Tortodrone Mats + + + + Materials + + + + + Material/Blue Shard + + + + + Material/Light Shard + + + + + Material/Scrap Metal + + + + + Material/Iron Gear + + + + + Material/Force Dynamo + + + + + Material/Heavy Gear + + + + + Material/Primal Ore + + + + + Material/Shadow Steel + + + + + Material/Sun Silver + + + + + Material/Volcanic Iron + + + + + + + + Treasure/Monster/Fiend/Devilite/Blarful Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Fiend/Devilite/Devilite Mats + + Items + + + + + + + + + Treasure/Monster/Fiend/Devilite/Blarful Mats + + + Treasure/Monster/Fiend/Devilite/Devilite Mats + + Items + + + + + Material/Nightshade + + + + + Material/Toxic Core + + + + + Material/Corrosive Acid + + + + + Material/Plague Essence + + + + + + + + + + Treasure/Monster/Fiend/Devilite/Devil-IT Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Fiend/Devilite/Devilite Mats + + Items + + + + + + + + + Treasure/Monster/Fiend/Devilite/Devil-IT Mats + + + Treasure/Monster/Fiend/Devilite/Devilite Mats + + Items + + + + + Material/Power Cell + + + + + Material/Volt Oil + + + + + Material/Thunderball + + + + + Material/Spark of Life + + + + + + + + + + Treasure/Monster/Fiend/Devilite/Devilite Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Fiend/Devilite/Devilite Mats + + Items + + + + + + + + + Treasure/Monster/Fiend/Devilite/Devilite Mats + + + Items + implementation.root.derived + + + + + + Materials + + + + + Material/Red Shard + + + + + Material/Dark Shard + + + + + Material/Brimstone + + + + + Material/Forbidden Fruit + + + + + Material/Phial of Phear + + + + + Material/Mug of Misery + + + + + Material/Shadow Steel + + + + + + + + Treasure/Monster/Fiend/Devilite/Firebrander Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Fiend/Devilite/Firebrander Mats + + + + + + + Treasure/Monster/Fiend/Devilite/Firebrander Mats + + + Treasure/Monster/Fiend/Devilite/Devilite Mats + + Items + + + + + Material/Blast Powder + + + + + Material/Torchstone + + + + + Material/Blaze Pepper + + + + + Material/Flame Soul + + + + + + + + + + Treasure/Monster/Fiend/Devilite/Layoafer Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Fiend/Devilite/Devilite Mats + + Items + + + + + + + + + Treasure/Monster/Fiend/Devilite/Layoafer Mats + + + Treasure/Monster/Fiend/Devilite/Devilite Mats + + Items + + + + + Material/Frost Gel + + + + + Material/Hailstone + + + + + Material/Perfect Snowball + + + + + Material/Everfrost + + + + + + + + + + Treasure/Monster/Fiend/Devilite/Pit Boss Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Fiend/Devilite/Pit Boss Mats + + + + + + + Treasure/Monster/Fiend/Devilite/Pit Boss Mats + + + + Materials + + + + + Material/Red Shard + + + + + Material/Dark Shard + + + + + Material/Brimstone + + + + + Material/Forbidden Fruit + + + + + Material/Phial of Phear + + + + + Material/Mug of Misery + + + + + Material/Shadow Steel + + + + + + + + Treasure/Monster/Fiend/Fiend Shards + + + + + 100.0 + + + Material/Red Shard + + + + + 100.0 + + + Material/Blue Shard + + + + + 100.0 + + + Material/Green Shard + + + + + + + Material/Light Shard + + + + + 15.0 + + + Material/Dark Shard + + + + + + + + + Treasure/Monster/Fiend/Greaver/Beryl Greaver Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Fiend/Greaver/Beryl Greaver Mats + + + + + + + Treasure/Monster/Fiend/Greaver/Beryl Greaver Mats + + + Treasure/Monster/Fiend/Greaver/Greaver Mats + + Items + + + + + Material/Static Clinger + + + + + Material/Volt Oil + + + + + Material/Thunderball + + + + + Material/Spark of Life + + + + + + + + + + Treasure/Monster/Fiend/Greaver/Greaver Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Fiend/Greaver/Greaver Mats + + + + + + + Treasure/Monster/Fiend/Greaver/Greaver Mats + + + Items + implementation.root.derived + + + + + + Materials + + + + + Material/Red Shard + + + + + Material/Dark Shard + + + + + Material/Brimstone + + + + + Material/Frayed Fabric + + + + + Material/Fine Fabric + + + + + Material/Miracloth + + + + + Material/Silverweave + + + + + + + + Treasure/Monster/Fiend/Greaver/Jade Greaver Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Fiend/Greaver/Jade Greaver Mats + + + + + + + Treasure/Monster/Fiend/Greaver/Jade Greaver Mats + + + Treasure/Monster/Fiend/Greaver/Greaver Mats + + Items + + + + + Material/Nightshade + + + + + Material/Toxic Core + + + + + Material/Corrosive Acid + + + + + Material/Plague Essence + + + + + + + + + + Treasure/Monster/Fiend/Greaver/Pearl Greaver Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Fiend/Greaver/Pearl Greaver Mats + + + + + + + Treasure/Monster/Fiend/Greaver/Pearl Greaver Mats + + + Treasure/Monster/Fiend/Greaver/Greaver Mats + + Items + + + + + Material/Frost Gel + + + + + Material/Hailstone + + + + + Material/Perfect Snowball + + + + + Material/Everfrost + + + + + + + + + + Treasure/Monster/Fiend/Greaver/Ruby Greaver Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Fiend/Greaver/Ruby Greaver Mats + + + + + + + Treasure/Monster/Fiend/Greaver/Ruby Greaver Mats + + + Treasure/Monster/Fiend/Greaver/Greaver Mats + + Items + + + + + Material/Blast Powder + + + + + Material/Torchstone + + + + + Material/Blaze Pepper + + + + + Material/Flame Soul + + + + + + + + + + Treasure/Monster/Fiend/Silkwing/Silkwing Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Fiend/Silkwing/Silkwing Mats + + + + + + + Treasure/Monster/Fiend/Silkwing/Silkwing Mats + + + + Materials + + + + + Material/Red Shard + + + + + Material/Dark Shard + + + + + Material/Brimstone + + + + + Material/Frayed Fabric + + + + + Material/Fine Fabric + + + + + Material/Miracloth + + + + + Material/Silverweave + + + + + + + + Treasure/Monster/Fiend/Trojan/Trojan Loot + + + Treasure/Monster/Monster Loot, large + + Materials + + Treasure/Monster/Fiend/Trojan/Trojan Mats + + + + + + + Treasure/Monster/Fiend/Trojan/Trojan Mats + + + + Materials + + + + + Material/Red Shard + + + + + Material/Dark Shard + + + + + Material/Brimstone + + + + + Material/Swordstone + + + + + Material/Phial of Phear + + + + + Material/Trojan Horseshoe + + + + + Material/Shadow Steel + + + + + + + + Treasure/Monster/Fiend/Vanaduke + + + + + + Treasure/Crowns/Monster Crowns, large + + + + + Treasure/Heat/Monster Heat, large + + + + + Treasure/Tokens/Vanaduke Tokens + + + + + + + + Treasure/Monster/Gremlin/Demo/Demo Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Gremlin/Demo/Demo Mats + + + + + + + Treasure/Monster/Gremlin/Demo/Demo Mats + + + + Materials + + + + + Material/Red Shard + + + + + Material/Blue Shard + + + + + Material/Bronze Bolt + + + + + Material/Gremlin Gizmo + + + + + Material/Unstable Core + + + + + Material/Meteor Mote + + + + + Material/Volcanic Iron + + + + + + + + Treasure/Monster/Gremlin/Gremlin Shards + + + + + 150.0 + + + Material/Red Shard + + + + + 150.0 + + + Material/Blue Shard + + + + + 50.0 + + + Material/Green Shard + + + + + 5.0 + + + Material/Light Shard + + + + + 5.0 + + + Material/Dark Shard + + + + + + + + + Treasure/Monster/Gremlin/Mender/Mender Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Gremlin/Mender/Mender Mats + + + + + + + Treasure/Monster/Gremlin/Mender/Mender Mats + + + + Materials + + + + + Material/Red Shard + + + + + Material/Blue Shard + + + + + Material/Bronze Bolt + + + + + Material/Frayed Fabric + + + + + Material/Fine Fabric + + + + + Material/Miracloth + + + + + Material/Silverweave + + + + + + + + Treasure/Monster/Gremlin/Scorcher/Scorcher Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Gremlin/Scorcher/Scorcher Mats + + + + + + + Treasure/Monster/Gremlin/Scorcher/Scorcher Mats + + + Treasure/Monster/Gremlin/Thwacker/Thwacker Mats + + Items + + + + + Material/Fuel Canister + + + + + Material/Torchstone + + + + + Material/Blaze Pepper + + + + + Material/Flame Soul + + + + + + + + + + Treasure/Monster/Gremlin/Thwacker/Thwacker Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Gremlin/Thwacker/Thwacker Mats + + + + + + + Treasure/Monster/Gremlin/Thwacker/Thwacker Mats + + + Items + implementation.root.derived + + + + + + Materials + + + + + Material/Red Shard + + + + + Material/Blue Shard + + + + + Material/Bronze Bolt + + + + + Material/Gremlin Gizmo + + + + + Material/Rocket Sprocket + + + + + Material/Meteor Mote + + + + + Material/Volcanic Iron + + + + + + + + Treasure/Monster/Monster Loot (Base) + + + Materials + implementation.root.entry.entries[0].entry.spawn_table + + + + + + + + 3.0 + + + + + 2.0 + + + Treasure/Pickups/Scaled Pickups + + + + + + + + + + Treasure/Monster/Monster Loot, Tutorial + + + + + + Treasure/Crowns/Monster Crowns, small + + + + + Treasure/Heat/Monster Heat, small + + + + + Treasure/Health/Monster Health, small + + + + + + + + Treasure/Monster/Monster Loot, large + + + Materials + implementation.root.entries[3].entry.entries[0].entry.spawn_table + + + + + + + + Treasure/Crowns/Monster Crowns, large + + + + + Treasure/Heat/Monster Heat, large + + + + + Treasure/Health/Monster Health, large + + + + + + + 3.0 + + + + + 2.0 + + + Treasure/Pickups/Scaled Pickups + + + + + + + + + + + + Treasure/Monster/Monster Loot, large (bonus) + + + Materials + implementation.root.entries[3].entry.entries[0].entry.spawn_table + + + Bonus Loot + implementation.root.entries[4] + + + + + + + + Treasure/Crowns/Monster Crowns, large + + + + + Treasure/Heat/Monster Heat, large + + + + + Treasure/Health/Monster Health, large + + + + + + + 3.0 + + + + + 2.0 + + + Treasure/Pickups/Scaled Pickups + + + + + + + + 0.2 + + + Gear + + + + + + + + + Treasure/Monster/Monster Loot, medium + + + Materials + implementation.root.entries[3].entry.entries[0].entry.spawn_table + + + + + + + + Treasure/Crowns/Monster Crowns, medium + + + + + Treasure/Heat/Monster Heat, medium + + + + + Treasure/Health/Monster Health, medium + + + + + + + 3.0 + + + + + 2.0 + + + Treasure/Pickups/Scaled Pickups + + + + + + + + + + + + Treasure/Monster/Monster Loot, medium (bonus) + + + Materials + implementation.root.entries[3].entry.entries[0].entry.spawn_table + + + Bonus Loot + implementation.root.entries[4] + + + + + + + + Treasure/Crowns/Monster Crowns, medium + + + + + Treasure/Heat/Monster Heat, medium + + + + + Treasure/Health/Monster Health, medium + + + + + + + 3.0 + + + + + 2.0 + + + Treasure/Pickups/Scaled Pickups + + + + + + + + 0.2 + + + Gear + + + + + + + + + Treasure/Monster/Monster Loot, small + + + Materials + implementation.root.entries[3].entry.entries[0].entry.spawn_table + + + + + + + + Treasure/Crowns/Monster Crowns, small + + + + + Treasure/Heat/Monster Heat, small + + + + + Treasure/Health/Monster Health, small + + + + + + + 3.0 + + + + + 2.0 + + + Treasure/Pickups/Scaled Pickups + + + + + + + + + + + + Treasure/Monster/Monster Loot, small (bonus) + + + Materials + implementation.root.entries[3].entry.entries[0].entry.spawn_table + + + Bonus Loot + implementation.root.entries[4] + + + + + + + + Treasure/Crowns/Monster Crowns, small + + + + + Treasure/Heat/Monster Heat, small + + + + + Treasure/Health/Monster Health, small + + + + + + + 3.0 + + + + + 2.0 + + + Treasure/Pickups/Scaled Pickups + + + + + + + + 0.2 + + + Gear + + + + + + + + + Treasure/Monster/Slime/Blast Cube/Blast Cube Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Slime/Blast Cube/Blast Cube Mats + + + + + + + Treasure/Monster/Slime/Blast Cube/Blast Cube Mats + + + + Materials + + + + + Material/Green Shard + + + + + Material/Light Shard + + + + + Material/Gel Drop + + + + + Material/Gel Core + + + + + Material/Unstable Core + + + + + Material/Rocky Core + + + + + Material/Royal Core + + + + + + + + Treasure/Monster/Slime/Jelly Cube/Ice Cube Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Slime/Jelly Cube/Ice Cube Mats + + + + + + + Treasure/Monster/Slime/Jelly Cube/Ice Cube Mats + + + Treasure/Monster/Slime/Jelly Cube/Jelly Cube Mats + + Items + + + + + Material/Frost Gel + + + + + Material/Hailstone + + + + + Material/Perfect Snowball + + + + + Material/Everfrost + + + + + + + + + + Treasure/Monster/Slime/Jelly Cube/Impostocube Loot + + + Treasure/Monster/Monster Loot, small (bonus) + + Bonus Loot + + 1.0 + + + Item/Consumable/Crowns/Gold Crown + + + + Materials + + Treasure/Monster/Slime/Jelly Cube/Jelly Cube Mats + + Items + + + + + + + + + Treasure/Monster/Slime/Jelly Cube/Jelly Cube Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Slime/Jelly Cube/Jelly Cube Mats + + Items + + + + + + + + + Treasure/Monster/Slime/Jelly Cube/Jelly Cube Mats + + + Items + implementation.root.derived + + + + + + Materials + + + + + Material/Green Shard + + + + + Material/Light Shard + + + + + Material/Gel Drop + + + + + Material/Gel Core + + + + + Material/Brute Core + + + + + Material/Rocky Core + + + + + Material/Royal Core + + + + + + + + Treasure/Monster/Slime/Jelly Cube/Jelly Green Mini Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Slime/Jelly Cube/Jelly Green Mini Mats + + + + + + + Treasure/Monster/Slime/Jelly Cube/Jelly Green Mini Mats + + + Treasure/Monster/Slime/Jelly Cube/Jelly Cube Mats + + Items + + + + + + + Treasure/Monster/Slime/Jelly Cube/Oiler Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Slime/Jelly Cube/Oiler Mats + + + + + + + Treasure/Monster/Slime/Jelly Cube/Oiler Mats + + + Treasure/Monster/Slime/Jelly Cube/Jelly Cube Mats + + Items + + + + + Material/Blast Powder + + + + + Material/Torchstone + + + + + Material/Blaze Pepper + + + + + Material/Flame Soul + + + + + + + + + + Treasure/Monster/Slime/Jelly Cube/Quicksilver Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Slime/Jelly Cube/Quicksilver Mats + + + + + + + Treasure/Monster/Slime/Jelly Cube/Quicksilver Mats + + + Treasure/Monster/Slime/Jelly Cube/Jelly Cube Mats + + Items + + + + + Material/Static Clinger + + + + + Material/Volt Oil + + + + + Material/Thunderball + + + + + Material/Spark of Life + + + + + + + + + + Treasure/Monster/Slime/Lichen/Lichen 1 Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Slime/Lichen/Lichen Mats + + + + + + + Treasure/Monster/Slime/Lichen/Lichen 10 Loot + + + Treasure/Monster/Monster Loot, medium (bonus) + + Bonus Loot + + + + + Treasure/Monster/Slime/Lichen/Lichen 1 Loot + + + + + Treasure/Monster/Slime/Lichen/Lichen 1 Loot + + + + + Materials + + Treasure/Monster/Slime/Lichen/Lichen Mats + + + + + + + Treasure/Monster/Slime/Lichen/Lichen 15 Loot + + + Treasure/Monster/Monster Loot, large (bonus) + + Bonus Loot + + + + + Treasure/Monster/Slime/Lichen/Lichen 1 Loot + + + + + Treasure/Monster/Slime/Lichen/Lichen 1 Loot + + + + + Materials + + Treasure/Monster/Slime/Lichen/Lichen Mats + + + + + + + Treasure/Monster/Slime/Lichen/Lichen 5 Loot + + + Treasure/Monster/Monster Loot, small (bonus) + + Bonus Loot + + + + + Treasure/Monster/Slime/Lichen/Lichen 1 Loot + + + + + Materials + + Treasure/Monster/Slime/Lichen/Lichen Mats + + + + + + + Treasure/Monster/Slime/Lichen/Lichen Mats + + + + Materials + + + + + Material/Green Shard + + + + + Material/Light Shard + + + + + Material/Gel Drop + + + + + Material/Gel Core + + + + + Material/Brute Core + + + + + Material/Rocky Core + + + + + Material/Royal Core + + + + + + + + Treasure/Monster/Slime/Royal Jelly Loot + + + + + + Treasure/Crowns/Monster Crowns, large + + + + + Treasure/Heat/Monster Heat, large + + + + + Treasure/Tokens/Jelly Tokens + + + + + + + + Treasure/Monster/Slime/Slime Shards + + + + + 100.0 + + + Material/Red Shard + + + + + 50.0 + + + Material/Blue Shard + + + + + 100.0 + + + Material/Green Shard + + + + + 10.0 + + + Material/Light Shard + + + + + 5.0 + + + Material/Dark Shard + + + + + + + + + Treasure/Monster/Slime/Sloom/Sloom Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Slime/Sloom/Sloom Mats + + + + + + + Treasure/Monster/Slime/Sloom/Sloom Mats + + + Treasure/Monster/Slime/Jelly Cube/Jelly Cube Mats + + Items + + + + + Material/Zee Core + + + + + + + + + + Treasure/Monster/Slime/Sloom/Sloombargo Loot + + + Treasure/Monster/Monster Loot, large + + Materials + + Treasure/Monster/Slime/Sloom/Sloom Mats + + + + + + + Treasure/Monster/Slime/Toxigel/Toxigel Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Slime/Toxigel/Toxigel Mats + + + + + + + Treasure/Monster/Slime/Toxigel/Toxigel Mats + + + Treasure/Monster/Slime/Jelly Cube/Jelly Cube Mats + + Items + + + + + Material/Nightshade + + + + + Material/Toxic Core + + + + + Material/Corrosive Acid + + + + + Material/Plague Essence + + + + + + + + + + Treasure/Monster/Slime/Toxigel/Toxilargo Loot + + + Treasure/Monster/Monster Loot, large + + Materials + + Treasure/Monster/Slime/Toxigel/Toxigel Mats + + + + + + + Treasure/Monster/Tutorial/Chroma Whelp (TG) + + + + + + Treasure/Crowns/Monster Crowns, medium + + + + + Treasure/Heat/Monster Heat, small + + + + + Treasure/Health/Monster Health, small + + + + + + + + Treasure/Monster/Tutorial/Dust Zombie (TG) + + + Treasure/Monster/Monster Loot, Tutorial + + + + + Treasure/Monster/Tutorial/Gun Puppy (TG) + + + Treasure/Monster/Monster Loot, Tutorial + + + + + Treasure/Monster/Tutorial/Jelly Cube (TG) + + + Treasure/Monster/Monster Loot, Tutorial + + + + + Treasure/Monster/Tutorial/Lumber (TG) + + + Treasure/Monster/Monster Loot, Tutorial + + + + + Treasure/Monster/Tutorial/Monster (Intro) + + + + + + + Item/Consumable/Crowns/Copper Crown + + + + + + + Item/Consumable/Hearts/Heart + + + + + + + + + Treasure/Monster/Tutorial/Retrode (TG) + + + Treasure/Monster/Monster Loot, Tutorial + + + + + Treasure/Monster/Tutorial/Scuttlebot (TG) + + + Treasure/Monster/Monster Loot, Tutorial + + + + + Treasure/Monster/Tutorial/Silkwing (TG) + + + Treasure/Monster/Monster Loot, Tutorial + + + + + Treasure/Monster/Tutorial/Wolver (TG) + + + Treasure/Monster/Monster Loot, Tutorial + + + + + Treasure/Monster/Undead/Black Kat Loot + + + Treasure/Monster/Monster Loot, medium + + Materials + + Treasure/Monster/Undead/Black Kat Mats + + + + + + + Treasure/Monster/Undead/Black Kat Mats + + + + + + 1000.0 + + + Treasure/Monster/Undead/Undead Shards + + + + + 600.0 + + + Material/Ecto Drop + + + + + 100.0 + + + Material/Soul Dust + + + + + 100.0 + + + Material/Warp Dust + + + + + + + Material/Shadow Steel + + + + + + + + + + Treasure/Monster/Undead/Dust Zombie/Droul Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Undead/Dust Zombie/Droul Mats + + + + + + + Treasure/Monster/Undead/Dust Zombie/Droul Mats + + + Treasure/Monster/Undead/Dust Zombie/Dust Zombie Mats + + Items + + + + + Material/Nightshade + + + + + Material/Toxic Core + + + + + Material/Corrosive Acid + + + + + Material/Plague Essence + + + + + + + + + + Treasure/Monster/Undead/Dust Zombie/Dust Zombie Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Undead/Dust Zombie/Dust Zombie Mats + + + + + + + Treasure/Monster/Undead/Dust Zombie/Dust Zombie Mats + + + Items + implementation.root.derived + + + + + + Materials + + + + + Material/Light Shard + + + + + Material/Dark Shard + + + + + Material/Ecto Drop + + + + + Material/Grave Soil + + + + + Material/Soul Dust + + + + + Material/Blighted Bone + + + + + Material/Reaper Rib + + + + + + + + Treasure/Monster/Undead/Dust Zombie/Frankenzom Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Undead/Dust Zombie/Frankenzom Mats + + + + + + + Treasure/Monster/Undead/Dust Zombie/Frankenzom Mats + + + Treasure/Monster/Undead/Dust Zombie/Dust Zombie Mats + + Items + + + + + Material/Power Cell + + + + + Material/Volt Oil + + + + + Material/Thunderball + + + + + Material/Spark of Life + + + + + + + + + + Treasure/Monster/Undead/Dust Zombie/Frozen Shambler Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Undead/Dust Zombie/Frozen Shambler Mats + + + + + + + Treasure/Monster/Undead/Dust Zombie/Frozen Shambler Mats + + + Treasure/Monster/Undead/Dust Zombie/Dust Zombie Mats + + Items + + + + + Material/Frost Gel + + + + + Material/Hailstone + + + + + Material/Perfect Snowball + + + + + Material/Everfrost + + + + + + + + + + Treasure/Monster/Undead/Dust Zombie/Slag Walker Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Undead/Dust Zombie/Slag Walker Mats + + + + + + + Treasure/Monster/Undead/Dust Zombie/Slag Walker Mats + + + Treasure/Monster/Undead/Dust Zombie/Dust Zombie Mats + + Items + + + + + Material/Blast Powder + + + + + Material/Torchstone + + + + + Material/Blaze Pepper + + + + + Material/Flame Soul + + + + + + + + + + Treasure/Monster/Undead/Spookat/Black Kat Loot + + + Treasure/Monster/Monster Loot, medium + + Materials + + Treasure/Monster/Undead/Spookat/Black Kat Mats + + + + + + + Treasure/Monster/Undead/Spookat/Black Kat Mats + + + Treasure/Monster/Undead/Spookat/Spookat Mats + + Items + + + + + Material/Cursed Idol + + + + + + + + + + Treasure/Monster/Undead/Spookat/Bloogato Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Undead/Spookat/Bloogato Mats + + + + + + + Treasure/Monster/Undead/Spookat/Bloogato Mats + + + Treasure/Monster/Undead/Spookat/Spookat Mats + + Items + + + + + Material/Frost Gel + + + + + Material/Hailstone + + + + + Material/Perfect Snowball + + + + + Material/Everfrost + + + + + + + + + + Treasure/Monster/Undead/Spookat/Hurkat Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Undead/Spookat/Hurkat Mats + + + + + + + Treasure/Monster/Undead/Spookat/Hurkat Mats + + + Treasure/Monster/Undead/Spookat/Spookat Mats + + Items + + + + + Material/Nightshade + + + + + Material/Toxic Core + + + + + Material/Corrosive Acid + + + + + Material/Plague Essence + + + + + + + + + + Treasure/Monster/Undead/Spookat/Mewkat Loot + + + Treasure/Monster/Monster Loot, small (bonus) + + Bonus Loot + + 1.0 + + + Item/Consumable/Crowns/Gold Crown + + + + Materials + + Treasure/Monster/Undead/Spookat/Spookat Mats + + Items + + + + + + + + + Treasure/Monster/Undead/Spookat/Pepper Kat Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Undead/Spookat/Pepper Kat Mats + + + + + + + Treasure/Monster/Undead/Spookat/Pepper Kat Mats + + + Treasure/Monster/Undead/Spookat/Spookat Mats + + Items + + + + + Material/Blast Powder + + + + + Material/Torchstone + + + + + Material/Blaze Pepper + + + + + Material/Flame Soul + + + + + + + + + + Treasure/Monster/Undead/Spookat/Spookat Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Undead/Spookat/Spookat Mats + + Items + + + + + + + + + Treasure/Monster/Undead/Spookat/Spookat Mats + + + Items + implementation.root.derived + + + + + + Materials + + + + + Material/Light Shard + + + + + Material/Dark Shard + + + + + Material/Ecto Drop + + + + + Material/Owlite Feather + + + + + Material/Soul Dust + + + + + Material/Ghost Bell + + + + + Material/Philoso Feather + + + + + + + + Treasure/Monster/Undead/Spookat/Statikat Loot + + + Treasure/Monster/Monster Loot, small + + Materials + + Treasure/Monster/Undead/Spookat/Statikat Mats + + + + + + + Treasure/Monster/Undead/Spookat/Statikat Mats + + + Treasure/Monster/Undead/Spookat/Spookat Mats + + Items + + + + + Material/Static Clinger + + + + + Material/Volt Oil + + + + + Material/Thunderball + + + + + Material/Spark of Life + + + + + + + + + + Treasure/Monster/Undead/Undead Shards + + + + + 100.0 + + + Material/Red Shard + + + + + 50.0 + + + Material/Blue Shard + + + + + 50.0 + + + Material/Green Shard + + + + + + + Material/Light Shard + + + + + 15.0 + + + Material/Dark Shard + + + + + + + + + Treasure/Pickups/Capsule 1 + + + + + 100.0 + + + Pickup/Capsule/Health Capsule + + + + + 50.0 + + + Pickup/Capsule/Remedy Capsule + + + + + 5.0 + + + Pickup/Capsule/Mecha Knight Kit + + + + + + + + + Treasure/Pickups/Capsule 2 + + + + + 100.0 + + + Pickup/Capsule/Super Health Capsule + + + + + 50.0 + + + Pickup/Capsule/Remedy Capsule + + + + + 5.0 + + + Pickup/Capsule/Mecha Knight Kit + + + + + + + + + Treasure/Pickups/Capsule 3 + + + + + 100.0 + + + Pickup/Capsule/Ultra Health Capsule + + + + + 50.0 + + + Pickup/Capsule/Remedy Capsule + + + + + 5.0 + + + Pickup/Capsule/Mecha Knight Kit + + + + + + + + + Treasure/Pickups/Pickups 1 + + + + + 50.0 + + + Treasure/Pickups/Capsule 1 + + + + + 100.0 + + + Treasure/Pickups/Vial 1 + + + + + + + + + Treasure/Pickups/Pickups 2 + + + + + 50.0 + + + Treasure/Pickups/Capsule 2 + + + + + 100.0 + + + Treasure/Pickups/Vial 2 + + + + + + + + + Treasure/Pickups/Pickups 3 + + + + + 50.0 + + + Treasure/Pickups/Capsule 3 + + + + + 100.0 + + + Treasure/Pickups/Vial 3 + + + + + + + + + Treasure/Pickups/Scaled Pickups + + + 0.05 + 0.05 + + + + + Treasure/Pickups/Pickups 1 + + + 0 + 9 + + + 9 + + + Treasure/Pickups/Pickups 2 + + + 8 + 18 + + + 19 + + + Treasure/Pickups/Pickups 3 + + + 18 + 25 + + + + + + + Treasure/Pickups/Vial 1 + + + + + 100.0 + + + Pickup/Vial/Freeze Vial + + + + + 100.0 + + + Pickup/Vial/Fire Vial + + + + + 100.0 + + + Pickup/Vial/Stun Vial + + + + + 100.0 + + + Pickup/Vial/Shock Vial + + + + + 100.0 + + + Pickup/Vial/Poison Vial + + + + + 50.0 + + + Pickup/Vial/Sleep Vial + + + + + 25.0 + + + Pickup/Vial/Curse Vial + + + + + + + + + Treasure/Pickups/Vial 2 + + + + + 100.0 + + + Pickup/Vial/Super Freeze Vial + + + + + 100.0 + + + Pickup/Vial/Super Fire Vial + + + + + 100.0 + + + Pickup/Vial/Super Stun Vial + + + + + 100.0 + + + Pickup/Vial/Super Shock Vial + + + + + 100.0 + + + Pickup/Vial/Super Poison Vial + + + + + 50.0 + + + Pickup/Vial/Super Sleep Vial + + + + + 25.0 + + + Pickup/Vial/Super Curse Vial + + + + + + + + + Treasure/Pickups/Vial 3 + + + + + 100.0 + + + Pickup/Vial/Ultra Freeze Vial + + + + + 100.0 + + + Pickup/Vial/Ultra Fire Vial + + + + + 100.0 + + + Pickup/Vial/Ultra Stun Vial + + + + + 100.0 + + + Pickup/Vial/Ultra Shock Vial + + + + + 100.0 + + + Pickup/Vial/Ultra Poison Vial + + + + + 50.0 + + + Pickup/Vial/Ultra Sleep Vial + + + + + 25.0 + + + Pickup/Vial/Ultra Curse Vial + + + + + + + + + Treasure/Recipe Loot/Bomb Series/Big Angry Bomb Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Bomb/Big Angry Bomb + + + + + + + + + Treasure/Recipe Loot/Bomb Series/Cold Snap Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Bomb/Cold Snap + + + + + + + + + Treasure/Recipe Loot/Bomb Series/Deconstructor Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Bomb/Deconstructor + + + + + Bomb/Heavy Deconstructor + + + + + + + + + Treasure/Recipe Loot/Bomb Series/Fiery Vaporizor Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Bomb/Haze Bomb + + + + + Bomb/Fiery Vaporizor + + + + + Bomb/Fiery Vaporizor Mk II + + + + + Bomb/Fiery Atomizer + + + + + Bomb/Ash of Agni + + + + + + + + + Treasure/Recipe Loot/Bomb Series/Firecracker Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Bomb/Firecracker + + + + + + + + + Treasure/Recipe Loot/Bomb Series/Freezing Vaporizor Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Bomb/Haze Bomb + + + + + Bomb/Freezing Vaporizor + + + + + Bomb/Freezing Vaporizor Mk II + + + + + Bomb/Freezing Atomizer + + + + + Bomb/Shivermist Buster + + + + + + + + + Treasure/Recipe Loot/Bomb Series/Graviton Bomb Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Bomb/Graviton Bomb + + + + + Bomb/Graviton Vortex + + + + + + + + + Treasure/Recipe Loot/Bomb Series/Irontech Bomb Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Bomb/Irontech Bomb + + + + + Bomb/Irontech Destroyer + + + + + + + + + Treasure/Recipe Loot/Bomb Series/Rock Salt Bomb Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Bomb/Crystal Bomb + + + + + Bomb/Rock Salt Bomb + + + + + Bomb/Ionized Salt Bomb + + + + + + + + + Treasure/Recipe Loot/Bomb Series/Sun Shards Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Bomb/Crystal Bomb + + + + + Bomb/Sun Shards + + + + + Bomb/Radiant Sun Shards + + + + + + + + + Treasure/Recipe Loot/Bomb Series/Toxic Vaporizor Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Bomb/Haze Bomb + + + + + Bomb/Toxic Vaporizor + + + + + Bomb/Toxic Vaporizor Mk II + + + + + Bomb/Toxic Atomizer + + + + + Bomb/Venom Veiler + + + + + + + + + Treasure/Recipe Loot/Gear Sets/Ancient Plate Gear + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Armor/Ancient Plate Mail + + + + + Helm/Ancient Plate Helm + + + + + Shield/Ancient Plate Shield + + + + + + + + + Treasure/Recipe Loot/Gear Sets/Angelic Gear + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Armor/Angelic Raiment + + + + + Armor/Seraphic Mail + + + + + Armor/Valkyrie Mail + + + + + Helm/Angelic Helm + + + + + Helm/Seraphic Helm + + + + + Helm/Valkyrie Helm + + + + + + + + + Treasure/Recipe Loot/Gear Sets/Chroma Gear + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Armor/Chroma Suit + + + + + Armor/Virulisk Suit + + + + + Armor/Deadly Virulisk Suit + + + + + Helm/Chroma Mask + + + + + Helm/Virulisk Mask + + + + + Helm/Deadly Virulisk Mask + + + + + + + + + Treasure/Recipe Loot/Gear Sets/Circuit Breaker Gear + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Armor/Circuit Breaker Armor + + + + + Armor/Volt Breaker Armor + + + + + Armor/Surge Breaker Armor + + + + + Helm/Circuit Breaker Helm + + + + + Helm/Volt Breaker Helm + + + + + Helm/Surge Breaker Helm + + + + + Shield/Circuit Breaker Shield + + + + + Shield/Volt Breaker Shield + + + + + Shield/Surge Breaker Shield + + + + + + + + + Treasure/Recipe Loot/Gear Sets/Deadshot Gear + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Armor/Deadshot Mantle + + + + + Helm/Deadshot Chapeau + + + + + + + + + Treasure/Recipe Loot/Gear Sets/Demo Gear + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Armor/Spiral Demo Suit + + + + + Armor/Bombastic Demo Suit + + + + + Armor/Heavy Demo Suit + + + + + Armor/Volcanic Demo Suit + + + + + Helm/Spiral Demo Helm + + + + + Helm/Bombastic Demo Helm + + + + + Helm/Heavy Demo Helm + + + + + Helm/Volcanic Demo Helm + + + + + + + + + Treasure/Recipe Loot/Gear Sets/Drake Scale Gear + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Armor/Drake Scale Mail + + + + + Armor/Wyvern Scale Mail + + + + + Armor/Dragon Scale Mail + + + + + Helm/Drake Scale Helm + + + + + Helm/Wyvern Scale Helm + + + + + Helm/Dragon Scale Helm + + + + + Shield/Drake Scale Shield + + + + + Shield/Wyvern Scale Shield + + + + + Shield/Dragon Scale Shield + + + + + + + + + Treasure/Recipe Loot/Gear Sets/Emberbreak Gear + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Armor/Emberbreak Armor + + + + + Armor/Firebreak Armor + + + + + Armor/Blazebreak Armor + + + + + Helm/Emberbreak Helm + + + + + Helm/Firebreak Helm + + + + + Helm/Blazebreak Helm + + + + + Shield/Emberbreak Shield + + + + + Shield/Firebreak Shield + + + + + Shield/Blazebreak Shield + + + + + + + + + Treasure/Recipe Loot/Gear Sets/Fallen Gear + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Armor/Armor of the Fallen + + + + + Helm/Crown of the Fallen + + + + + + + + + Treasure/Recipe Loot/Gear Sets/Frostbreaker Gear + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Armor/Frostbreaker Armor + + + + + Armor/Icebreaker Armor + + + + + Armor/Blizzbreaker Armor + + + + + Helm/Frostbreaker Helm + + + + + Helm/Icebreaker Helm + + + + + Helm/Blizzbreaker Helm + + + + + Shield/Frostbreaker Shield + + + + + Shield/Icebreaker Shield + + + + + Shield/Blizzbreaker Shield + + + + + + + + + Treasure/Recipe Loot/Gear Sets/Gunslinger Gear + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Armor/Gunslinger Sash + + + + + Armor/Sunset Duster + + + + + Armor/Justifier Jacket + + + + + Armor/Nameless Poncho + + + + + Armor/Shadowsun Slicker + + + + + Helm/Gunslinger Hat + + + + + Helm/Sunset Stetson + + + + + Helm/Justifier Hat + + + + + Helm/Nameless Hat + + + + + Helm/Shadowsun Stetson + + + + + + + + + Treasure/Recipe Loot/Gear Sets/Jelly Gear + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Armor/Jelly Mail + + + + + Armor/Brute Jelly Mail + + + + + Armor/Rock Jelly Mail + + + + + Armor/Royal Jelly Mail + + + + + Helm/Jelly Helm + + + + + Helm/Brute Jelly Helm + + + + + Helm/Rock Jelly Helm + + + + + Helm/Rock Jelly Helm + + + + + Shield/Jelly Shield + + + + + Shield/Brute Jelly Shield + + + + + Shield/Rock Jelly Shield + + + + + Shield/Royal Jelly Shield + + + + + + + + + Treasure/Recipe Loot/Gear Sets/Mad Bomber Gear + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Armor/Mad Bomber Suit + + + + + Helm/Mad Bomber Mask + + + + + + + + + Treasure/Recipe Loot/Gear Sets/Owlite Gear + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Armor/Magic Cloak + + + + + Armor/Elemental Cloak + + + + + Armor/Miracle Cloak + + + + + Armor/Grey Feather Mantle + + + + + Helm/Magic Hood + + + + + Helm/Elemental Hood + + + + + Helm/Miracle Hood + + + + + Helm/Grey Feather Cowl + + + + + Shield/Owlite Shield + + + + + Shield/Horned Owlite Shield + + + + + Shield/Wise Owlite Shield + + + + + Shield/Grey Owlite Shield + + + + + + + + + Treasure/Recipe Loot/Gear Sets/Plate Gear + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Armor/Spiral Plate Mail + + + + + Armor/Boosted Plate Mail + + + + + Armor/Heavy Plate Mail + + + + + Armor/Ironmight Plate Mail + + + + + Helm/Spiral Plate Helm + + + + + Helm/Boosted Plate Helm + + + + + Helm/Heavy Plate Helm + + + + + Helm/Ironmight Plate Helm + + + + + Shield/Plate Shield + + + + + Shield/Boosted Plate Shield + + + + + Shield/Heavy Plate Shield + + + + + Shield/Ironmight Plate Shield + + + + + + + + + Treasure/Recipe Loot/Gear Sets/Salamander Gear + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Armor/Salamander Suit + + + + + Armor/Volcanic Salamander Suit + + + + + Helm/Salamander Mask + + + + + Helm/Volcanic Salamander Mask + + + + + + + + + Treasure/Recipe Loot/Gear Sets/Silvermail Gear + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Armor/Silvermail + + + + + Armor/Radiant Silvermail + + + + + + + + + Treasure/Recipe Loot/Gear Sets/Skelly Gear + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Armor/Skelly Suit + + + + + Armor/Scary Skelly Suit + + + + + Armor/Sinister Skelly Suit + + + + + Armor/Dread Skelly Suit + + + + + Shield/Skelly Shield + + + + + Shield/Scary Skelly Shield + + + + + Shield/Sinister Skelly Shield + + + + + Shield/Dread Skelly Shield + + + + + + + + + Treasure/Recipe Loot/Gear Sets/Stone Tortoise Gear + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Shield/Stone Tortoise + + + + + Shield/Omega Shell + + + + + + + + + Treasure/Recipe Loot/Gear Sets/Vitasuit Gear + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Armor/Vitasuit Plus + + + + + Armor/Vitasuit Deluxe + + + + + + + + + Treasure/Recipe Loot/Gear Sets/Volcanic Plate Gear + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Armor/Volcanic Plate Mail + + + + + Helm/Volcanic Plate Helm + + + + + Shield/Volcanic Plate Shield + + + + + + + + + Treasure/Recipe Loot/Gear Sets/Wolver Gear + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Armor/Wolver Coat + + + + + Armor/Dusker Coat + + + + + Armor/Ash Tail Coat + + + + + Armor/Skolver Coat + + + + + Helm/Wolver Cap + + + + + Helm/Dusker Cap + + + + + Helm/Ash Tail Cap + + + + + Helm/Skolver Cap + + + + + + + + + Treasure/Recipe Loot/Handgun Series/Autogun Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Handgun/Autogun + + + + + + + + + Treasure/Recipe Loot/Handgun Series/Blackhawk Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Handgun/Antigua + + + + + Handgun/Blackhawk + + + + + Handgun/Sentenza + + + + + + + + + Treasure/Recipe Loot/Handgun Series/Cryotech Alchemer Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Handgun/Cryotech Alchemer + + + + + Handgun/Cryotech Alchemer Mk II + + + + + Handgun/Cryo Driver + + + + + Handgun/Hail Driver + + + + + + + + + Treasure/Recipe Loot/Handgun Series/Firotech Alchemer Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Handgun/Firotech Alchemer + + + + + Handgun/Firotech Alchemer Mk II + + + + + Handgun/Firo Driver + + + + + Handgun/Magma Driver + + + + + + + + + Treasure/Recipe Loot/Handgun Series/Magnus Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Handgun/Magnus + + + + + Handgun/Mega Magnus + + + + + Handgun/Iron Slug + + + + + Handgun/Callahan + + + + + + + + + Treasure/Recipe Loot/Handgun Series/Needle Shot Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Handgun/Needle Shot + + + + + Handgun/Strike Needle + + + + + Handgun/Blitz Needle + + + + + + + + + Treasure/Recipe Loot/Handgun Series/Pepperbox Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Handgun/Pepperbox + + + + + Handgun/Fiery Pepperbox + + + + + Handgun/Volcanic Pepperbox + + + + + + + + + Treasure/Recipe Loot/Handgun Series/Prismatech Alchemer Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Handgun/Prismatech Alchemer + + + + + Handgun/Prismatech Alchemer Mk II + + + + + Handgun/Prisma Driver + + + + + Handgun/Nova Driver + + + + + + + + + Treasure/Recipe Loot/Handgun Series/Punch Gun Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Handgun/Pummel Gun + + + + + + + + + Treasure/Recipe Loot/Handgun Series/Shadowtech Alchemer Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Handgun/Shadowtech Alchemer + + + + + Handgun/Shadowtech Alchemer Mk II + + + + + Handgun/Shadow Driver + + + + + Handgun/Umbra Driver + + + + + + + + + Treasure/Recipe Loot/Handgun Series/Silversix Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Handgun/Antigua + + + + + Handgun/Silversix + + + + + Handgun/Argent Peacemaker + + + + + + + + + Treasure/Recipe Loot/Handgun Series/Stun Gun Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Handgun/Super Stun Gun + + + + + + + + + Treasure/Recipe Loot/Handgun Series/Voltech Alchemer Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Handgun/Voltech Alchemer + + + + + Handgun/Voltech Alchemer Mk II + + + + + Handgun/Volt Driver + + + + + Handgun/Storm Driver + + + + + + + + + Treasure/Recipe Loot/Recipe Loot Base + + + Recipes + implementation.root.recipes + + + + + + Materials, Recipe Loot + + 0, 200, 400, 500, 800, 1100 + + + + + Treasure/Recipe Loot/Sword Series/Avenger Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Sword/Sealed Sword + + + + + Sword/Avenger + + + + + Sword/Divine Avenger + + + + + + + + + Treasure/Recipe Loot/Sword Series/Beast Basher Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Sword/Big Beast Basher + + + + + + + + + Treasure/Recipe Loot/Sword Series/Bolted Blade Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Sword/Bolted Blade + + + + + + + + + Treasure/Recipe Loot/Sword Series/Brandish Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Sword/Brandish + + + + + Sword/Fireburst Brandish + + + + + Sword/Iceburst Brandish + + + + + + + + + Treasure/Recipe Loot/Sword Series/Cautery Sword Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Sword/Cautery Sword + + + + + + + + + Treasure/Recipe Loot/Sword Series/Cold Iron Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Sword/Cold Iron Carver + + + + + Sword/Cold Iron Vanquisher + + + + + + + + + Treasure/Recipe Loot/Sword Series/Cutter Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Sword/Cutter + + + + + Sword/Striker + + + + + + + + + Treasure/Recipe Loot/Sword Series/Fang of Vog Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Sword/Fang of Vog + + + + + + + + + Treasure/Recipe Loot/Sword Series/Faust Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Sword/Sealed Sword + + + + + Sword/Faust + + + + + Sword/Gran Faust + + + + + + + + + Treasure/Recipe Loot/Sword Series/Hatchet Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Sword/Heavy Hatchet + + + + + + + + + Treasure/Recipe Loot/Sword Series/Hot Edge Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Sword/Hot Edge + + + + + Sword/Searing Edge + + + + + + + + + Treasure/Recipe Loot/Sword Series/Hunting Blade Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Sword/Hunting Blade + + + + + Sword/Wild Hunting Blade + + + + + + + + + Treasure/Recipe Loot/Sword Series/Slime Slasher Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Sword/Heavy Hatchet + + + + + + + + + Treasure/Recipe Loot/Sword Series/Spur Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Sword/Spur + + + + + Sword/Arc Razor + + + + + Sword/Winmillion + + + + + + + + + Treasure/Recipe Loot/Sword Series/Static Edge Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Sword/Static Edge + + + + + Sword/Shocking Edge + + + + + + + + + Treasure/Recipe Loot/Sword Series/Thwack Hammer Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Sword/Thwack Hammer + + + + + + + + + Treasure/Recipe Loot/Sword Series/Troika Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Sword/Troika + + + + + Sword/Kamarin + + + + + Sword/Khorovod + + + + + + + + + Treasure/Recipe Loot/Sword Series/Vile Striker Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Sword/Vile Striker + + + + + Sword/Dread Venom Striker + + + + + + + + + Treasure/Recipe Loot/Sword Series/Wrench Wand Series + + + Treasure/Recipe Loot/Recipe Loot Base + + Recipes + + + + Sword/Wrench Wand + + + + + + + + + Treasure/Tokens/Jelly Tokens + + + Treasure/Tokens/Parts/Boss Tokens (Base) + + Token + + Token/Jelly Token + + + + + + + Treasure/Tokens/Parts/Boss Tokens (Base) + + + Token + implementation.root.entries[0].item, implementation.root.entries[1].item, implementation.root.entries[2].item, implementation.root.entries[3].entry.item, implementation.root.entries[4].entry.item + + + + + + + + + + + + + 0.4 + + + + + 0.1 + + + + + + + + + Treasure/Tokens/Vanaduke Tokens + + + Treasure/Tokens/Parts/Boss Tokens (Base) + + Token + + Token/Vanaduke Token + + + + + + + Variant/Bomb/Ash of Agni + + + + Weapon/Bomb/Ash of Agni + + + Item/Bomb, general + + + + + + Variant/Bomb/Big Angry Bomb + + + + Weapon/Bomb/Big Angry Bomb + + + Item/Bomb, general + + + + + + Variant/Bomb/Blast Bomb + + + + Weapon/Bomb/Blast Bomb + + + Item/Bomb, general + + + + + + Variant/Bomb/Crystal Bomb + + + + Weapon/Bomb/Crystal Bomb + + + Item/Bomb, general + + + + + + Variant/Bomb/Deconstructor + + + + Weapon/Bomb/Deconstructor + + + Item/Bomb, general + + + + + + Variant/Bomb/Fiery Vaporizer + + + + Weapon/Bomb/Fiery Vaporizer + + + Item/Bomb, general + + + + + + Variant/Bomb/Freezing Vaporizer + + + + Weapon/Bomb/Freezing Vaporizer + + + Item/Bomb, general + + + + + + Variant/Bomb/Graviton Bomb + + + + Weapon/Bomb/Graviton Bomb + + + Item/Bomb, general + + + + + + Variant/Bomb/Haze Bomb + + + + Weapon/Bomb/Haze Bomb + + + Item/Bomb, general + + + + + + Variant/Bomb/Ionized Salt Bomb + + + + Weapon/Bomb/Ionized Salt Bomb + + + Item/Bomb, general + + + + + + Variant/Bomb/Irontech Bomb + + + + Weapon/Bomb/Irontech Bomb + + + Item/Bomb, general + + + + + + Variant/Bomb/Irontech Destroyer + + + + Weapon/Bomb/Irontech Destroyer + + + Item/Bomb, general + + + + + + Variant/Bomb/Proto Bomb + + + + Weapon/Bomb/Proto Bomb + + + Item/Bomb, general + + + + + + Variant/Bomb/Rock Salt Bomb + + + + Weapon/Bomb/Rock Salt Bomb + + + Item/Bomb, general + + + + + + Variant/Bomb/Shivermist Buster + + + + Weapon/Bomb/Shivermist Buster + + + Item/Bomb, general + + + + + + Variant/Bomb/Sun Shards + + + + Weapon/Bomb/Sun Shards + + + Item/Bomb, general + + + + + + Variant/Bomb/Toxic Vaporizer + + + + Weapon/Bomb/Toxic Vaporizer + + + Item/Bomb, general + + + + + + Variant/Bomb/Venom Veiler + + + + Weapon/Bomb/Venom Veiler + + + Item/Bomb, general + + + + + + Variant/Handgun/Antigua + + + + Weapon/Handgun/Antigua + + + Item/Handgun, general + + + + + + Variant/Handgun/Argent Peacemaker + + + + Weapon/Handgun/Argent Peacemaker + + + Item/Handgun, general + + + + + + Variant/Handgun/Autogun + + + + Weapon/Handgun/Autogun + + + Item/Handgun, general + + + + + + Variant/Handgun/Blackhawk + + + + Weapon/Handgun/Blackhawk + + + Item/Handgun, general + + + + + + Variant/Handgun/Blaster + + + + Weapon/Handgun/Blaster + + + Item/Handgun, general + + + + + + Variant/Handgun/Callahan + + + + Weapon/Handgun/Callahan + + + Item/Handgun, general + + + + + + Variant/Handgun/Cryotech Alchemer + + + + Weapon/Handgun/Cryotech Alchemer + + + Item/Handgun, general + + + + + + Variant/Handgun/Cryotech Alchemer Mk II + + + + Weapon/Handgun/Cryotech Alchemer Mk II + + + Item/Handgun, general + + + + + + Variant/Handgun/Firotech Alchemer + + + + Weapon/Handgun/Firotech Alchemer + + + Item/Handgun, general + + + + + + Variant/Handgun/Firotech Alchemer Mk II + + + + Weapon/Handgun/Firotech Alchemer Mk II + + + Item/Handgun, general + + + + + + Variant/Handgun/Frost Gun + + + + Weapon/Handgun/Frost Gun + + + Item/Handgun, general + + + + + + Variant/Handgun/Magnus + + + + Weapon/Handgun/Magnus + + + Item/Handgun, general + + + + + + Variant/Handgun/Pepperbox + + + + Weapon/Handgun/Pepperbox + + + Item/Handgun, general + + + + + + Variant/Handgun/Prismatech Alchemer + + + + Weapon/Handgun/Prismatech Alchemer + + + Item/Handgun, general + + + + + + Variant/Handgun/Proto Gun + + + + Weapon/Handgun/Proto Gun + + + Item/Handgun, general + + + + + + Variant/Handgun/Sentenza + + + + Weapon/Handgun/Sentenza + + + Item/Handgun, general + + + + + + Variant/Handgun/Shadowtech Alchemer + + + + Weapon/Handgun/Shadowtech Alchemer + + + Item/Handgun, general + + + + + + Variant/Handgun/Silversix + + + + Weapon/Handgun/Silversix + + + Item/Handgun, general + + + + + + Variant/Handgun/Voltech Alchemer + + + + Weapon/Handgun/Voltech Alchemer + + + Item/Handgun, general + + + + + + Variant/Handgun/Voltech Alchemer Mk II + + + + Weapon/Handgun/Voltech Alchemer Mk II + + + Item/Handgun, general + + + + + + Variant/Sword/Arc Razor + + + + Weapon/Sword/Arc Razor + + + Item/Sword, general + + + + + + Variant/Sword/Avenger + + + + Weapon/Sword/Avenger + + + Item/Sword, general + + + + + + Variant/Sword/Brandish + + + + Weapon/Sword/Brandish + + + Item/Sword, general + + + + + + Variant/Sword/Calibur + + + + Weapon/Sword/Calibur + + + Item/Sword, general + + + + + + Variant/Sword/Cautery Sword + + + + Weapon/Sword/Cautery Sword + + + Item/Sword, general + + + + + + Variant/Sword/Cold Iron Carver + + + + Weapon/Sword/Cold Iron Carver + + + Item/Sword, general + + + + + + Variant/Sword/Cold Iron Vanquisher + + + + Weapon/Sword/Cold Iron Vanquisher + + + Item/Sword, general + + + + + + Variant/Sword/Cutter + + + + Weapon/Sword/Cutter + + + Item/Sword, general + + + + + + Variant/Sword/Divine Avenger + + + + Weapon/Sword/Divine Avenger + + + Item/Sword, general + + + + + + Variant/Sword/Dread Venom Striker + + + + Weapon/Sword/Dread Venom Striker + + + Item/Sword, general + + + + + + Variant/Sword/Fang of Vog + + + + Weapon/Sword/Fang of Vog + + + Item/Sword, general + + + + + + Variant/Sword/Faust + + + + Weapon/Sword/Faust + + + Item/Sword, general + + + + + + Variant/Sword/Gran Faust + + + + Weapon/Sword/Gran Faust + + + Item/Sword, general + + + + + + Variant/Sword/Hunting Blade + + + + Weapon/Sword/Hunting Blade + + + Item/Sword, general + + + + + + Variant/Sword/Khorovod + + + + Weapon/Sword/Khorovod + + + Item/Sword, general + + + + + + Variant/Sword/Proto Sword + + + + Weapon/Sword/Proto Sword + + + Item/Sword, general + + + + + + Variant/Sword/Sealed Sword + + + + Weapon/Sword/Sealed Sword + + + Item/Sword, general + + + + + + Variant/Sword/Spur + + + + Weapon/Sword/Spur + + + Item/Sword, general + + + + + + Variant/Sword/Static Edge + + + + Weapon/Sword/Static Edge + + + Item/Sword, general + + + + + + Variant/Sword/The Ban Stick + + + + Weapon/Sword/The Ban Stick + + + Item/Sword, general + + + + + + Variant/Sword/Troika + + + + Weapon/Sword/Troika + + + Item/Sword, general + + + + + + Variant/Sword/Vile Striker + + + + Weapon/Sword/Vile Striker + + + Item/Sword, general + + + + + + Variant/Sword/Wild Hunting Blade + + + + Weapon/Sword/Wild Hunting Blade + + + Item/Sword, general + + + + + + Variant/Sword/Winmillion + + + + Weapon/Sword/Winmillion + + + Item/Sword, general + + + + + + Variant/Sword/_Frost Sword + + + + Weapon/Sword/_Frost Sword + + + Item/Sword, general + + + + + + default (Actor) + + + Actor + implementation.root.actor + + + + + default (Item) + + + Item + implementation.root.item + + + + + + + + + \ No newline at end of file diff --git a/rsrc/rsrc/config/status_condition.xml b/rsrc/rsrc/config/status_condition.xml new file mode 100644 index 0000000..20f8846 --- /dev/null +++ b/rsrc/rsrc/config/status_condition.xml @@ -0,0 +1,2449 @@ + + + + + Alert + + 65536 + 65792 + 999 + 1.0 + 5000 + 5000 + NONE + + + + Base/Attack Up + + + Power + implementation.power + + + Status Power + implementation.status_power + + + Chance + implementation.chance + + + Status Chance + implementation.status_chance + + + Min Duration + implementation.min_duration + + + Max Duration + implementation.max_duration + + + Damage Modifier + implementation.damage_modifier + + + Defense Modifier + implementation.defense_modifier + + + + 16384 + 16384 + 10000 + 30000 + POSITIVE + + + particle/buff_up.dat + + Variant + Attack Up + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/status/status_curse.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/debuff_name.dat + + Variant + Attack Up + + + + + + particle/fx_debuffcleanse.dat + + + + ui/health/debuff.dat + + Icon + Muddle + Seconds Remaining + + + + + Monster/Damage/Attack Base + + + + + Base/Curse + + + Power + implementation.power + + + Status Power + implementation.status_power + + + Chance + implementation.chance + + + Status Chance + implementation.status_chance + + + Min Duration + implementation.min_duration + + + Max Duration + implementation.max_duration + + + Max Curse Weapons + implementation.max_curse_weapons + + + Depth Cap + implementation.damage_start["Depth Cap"], implementation.damage_end["Depth Cap"] + + + + 32 + 32 + 10000 + 30000 + + + particle/debuff_curse.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/status/status_curse.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/debuff_name.dat + + Variant + Curse + + + + + + particle/fx_debuffcleanse.dat + + + + ui/health/debuff.dat + + Icon + Curse + Seconds Remaining + + + + + Monster/Damage/Attack Base + + 2 + + Status Condition/Damage Cap Multiplier + + Depth Cap + 30 + Multiplier + 1.0 + + + + Status Condition/Damage Cap Multiplier + + Depth Cap + 30 + Multiplier + 2.0 + + + 40 + + 20.0 + false + + + + + Base/Fire + + + Power + implementation.power + + + Status Power + implementation.status_power + + + Chance + implementation.chance + + + Status Chance + implementation.status_chance + + + Depth Cap + implementation.damage_start["Depth Cap"], implementation.damage_end["Depth Cap"] + + + Spread + implementation.fire_spread.status_condition + + + + 4 + 12 + 4000 + + + particle/debuff_immolate.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/status/status_fire_activate.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/debuff_name.dat + + Variant + Immolate + + + + + + particle/fx_debuffcleanse.dat + + + + ui/health/debuff.dat + + Icon + Immolate + Seconds Remaining + + + + 500 + + Monster/Damage/Attack Base + + + Status Condition/Damage Cap Multiplier + + Depth Cap + 30 + Multiplier + 0.25 + + + + Status Condition/Damage Cap Multiplier + + Depth Cap + 30 + Multiplier + 0.7 + + + + + + Base/Freeze + + + Power + implementation.power + + + Status Power + implementation.status_power + + + Chance + implementation.chance + + + Status Chance + implementation.status_chance + + + Min Duration + implementation.min_duration + + + Max Duration + implementation.max_duration + + + Depth Cap + implementation.health_start["Depth Cap"], implementation.health_end["Depth Cap"], implementation.damage_start["Depth Cap"], implementation.damage_end["Depth Cap"] + + + + 8 + 12 + 2000 + 6000 + 3.5 + + + particle/debuff_freeze.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/status/status_freeze_activate.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/debuff_name.dat + + Variant + Freeze + + + + + + particle/fx_starlink_explode.dat + + color + blue + + + + + ui/health/debuff.dat + + Icon + Freeze + Seconds Remaining + + + + 1000 + + Monster/Damage/Attack Base + + 6 + + Status Condition/Health Cap Multiplier + + Depth Cap + 30 + Multiplier + 2.0 + + + + Status Condition/Health Cap Multiplier + + Depth Cap + 30 + Multiplier + 4.0 + + + + Status Condition/Damage Cap Multiplier + + Depth Cap + 30 + Multiplier + 1.0 + + + + Status Condition/Damage Cap Multiplier + + Depth Cap + 30 + Multiplier + 2.0 + + + + + + Base/Poison + + + Power + implementation.power + + + Status Power + implementation.status_power + + + Chance + implementation.chance + + + Status Chance + implementation.status_chance + + + Min Duration + implementation.min_duration + + + Max Duration + implementation.max_duration + + + Min Attack Reduction + implementation.min_attack_reduction + + + Max Attack Reduction + implementation.max_attack_reduction + + + Min Defense Reduction + implementation.min_defense_reduction + + + Max Defense Reduction + implementation.max_defense_reduction + + + Min Heal Modifier + implementation.min_heal_modifier + + + Max Heal Modifier + implementation.max_heal_modifier + + + + 2 + 2 + 5000 + + + particle/debuff_poison.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/status/status_poison.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/debuff_name.dat + + Variant + Poison + + + + + + particle/fx_debuffcleanse.dat + + + + ui/health/debuff.dat + + Icon + Poison + Seconds Remaining + + + + + Monster/Damage/Attack Base + + 0.1 + 0.5 + 0.05 + 0.25 + + Resist + + Duration + 5000 + Mask + 2 + Power + 0 + + + + + + Base/Shock + + + Power + implementation.power + + + Status Power + implementation.status_power + + + Chance + implementation.chance + + + Status Chance + implementation.status_chance + + + Min Duration + implementation.min_duration + + + Max Duration + implementation.max_duration + + + Min Spasm Duration + implementation.min_spasm_duration + + + Max Spasm Duration + implementation.max_spasm_duration + + + Min Defense Debuff + implementation.min_defense_debuff + + + Max Defense Debuff + implementation.max_defense_debuff + + + Depth Cap + implementation.arc_damage.depth_scale["Depth Cap"], implementation.monster_arc_damage.depth_scale["Depth Cap"] + + + + 16 + 16 + 4000 + 8000 + + + particle/debuff_shock-idle.dat + + Shadow + true + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Move with Origin + false + Sounder + + Clip/Default (Gain) + + File + sound/effect/status/status_shock.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/debuff_name.dat + + Variant + Shock + + + + + + particle/fx_debuffcleanse.dat + + + + ui/health/debuff.dat + + Icon + Shock + Seconds Remaining + + + + 500 + + Monster/Damage/Attack Base + + 1000 + 0.1 + 0.25 + + 2.0 + + + + Status Condition/Damage Cap Multiplier + + Depth Cap + 30 + Multiplier + 0.5 + + + ELEMENTAL + 4 + false + + + + Status Condition/Damage Cap Multiplier + + Depth Cap + 30 + Multiplier + 0.5 + + + ELEMENTAL + 2 + false + + + + + Base/Sleep + + + Power + implementation.power + + + Status Power + implementation.status_power + + + Chance + implementation.chance + + + Status Chance + implementation.status_chance + + + Min Duration + implementation.min_duration + + + Max Duration + implementation.max_duration + + + Max Health Regen + implementation.max_health_regen + + + Depth Cap + implementation.wake_damage_start["Depth Cap"], implementation.wake_damage_end["Depth Cap"] + + + + 256 + 65792 + 4000 + + + particle/fx_debuffcleanse.dat + + + + ui/health/debuff.dat + + Icon + Sleep + Seconds Remaining + 63 + + + + Monster/Damage/Attack Base + + 1000 + 3000 + 20 + 20 + 40 + + Status Condition/Damage Cap Multiplier + + Depth Cap + 30 + Multiplier + 2.0 + + + + Status Condition/Damage Cap Multiplier + + Depth Cap + 30 + Multiplier + 4.0 + + + + Alert + + + + + Berserk 1 + + + Power + implementation.status_condition["Power"] + + + Status Power + implementation.status_condition["Status Power"] + + + Chance + implementation.status_condition["Chance"] + + + Status Chance + implementation.status_condition["Status Chance"] + + + + + Base/Attack Up + + Chance + 0.0 + Damage Modifier + 0.1 + Defense Modifier + -0.25 + Max Duration + 20000 + Min Duration + 10000 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Buff + + + Duration + implementation.min_duration, implementation.max_duration + + + Damage Modifier + implementation.damage_modifier + + + Defense Modifier + implementation.defense_modifier + + + Source + implementation.source + + + + Variant + + + Model + implementation.sprite.model + + + Application + implementation.sprite.application_transient + + + Removal + implementation.sprite.removal_transient + + + + + + Null + + Application + + Model + + Removal + + + + + + Attack Up + + Application + + particle/debuff_name.dat + + Variant + Attack Up + + + Model + + particle/buff_up.dat + + Variant + Attack Up + + + Removal + + + + + + Defense Up + + Application + + particle/debuff_name.dat + + Variant + Defense Up + + + Model + + particle/buff_up.dat + + Variant + Defense Up + + + Removal + + + + + Null + + + + 16384 + 16384 + 100 + 1.0 + 1000 + POSITIVE + + + + Curse + + + Power + implementation.status_condition["Power"] + + + Status Power + implementation.status_condition["Status Power"] + + + Chance + implementation.status_condition["Chance"] + + + Status Chance + implementation.status_condition["Status Chance"] + + + + + Base/Curse + + Chance + 0.0 + Depth Cap + 7 + Max Curse Weapons + 2 + Max Duration + 30000 + Min Duration + 10000 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Curse 2 + + + Power + implementation.status_condition["Power"] + + + Status Power + implementation.status_condition["Status Power"] + + + Chance + implementation.status_condition["Chance"] + + + Status Chance + implementation.status_condition["Status Chance"] + + + + + Base/Curse + + Chance + 0.0 + Depth Cap + 17 + Max Curse Weapons + 2 + Max Duration + 45000 + Min Duration + 15000 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Curse 3 + + + Power + implementation.status_condition["Power"] + + + Status Power + implementation.status_condition["Status Power"] + + + Chance + implementation.status_condition["Chance"] + + + Status Chance + implementation.status_condition["Status Chance"] + + + + + Base/Curse + + Chance + 0.0 + Depth Cap + 30 + Max Curse Weapons + 4 + Max Duration + 60000 + Min Duration + 20000 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Fire + + + Power + implementation.status_condition["Power"] + + + Status Power + implementation.status_condition["Status Power"] + + + Chance + implementation.status_condition["Chance"] + + + Status Chance + implementation.status_condition["Status Chance"] + + + + + Base/Fire + + Chance + 0.0 + Depth Cap + 7 + Power + 0 + Spread + + Fire + + Chance + 0.0 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Fire 2 + + + Power + implementation.status_condition["Power"] + + + Status Power + implementation.status_condition["Status Power"] + + + Chance + implementation.status_condition["Chance"] + + + Status Chance + implementation.status_condition["Status Chance"] + + + + + Base/Fire + + Chance + 0.0 + Depth Cap + 17 + Power + 0 + Spread + + Fire 2 + + Chance + 0.0 + Power + 0 + + + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Fire 3 + + + Power + implementation.status_condition["Power"] + + + Status Power + implementation.status_condition["Status Power"] + + + Chance + implementation.status_condition["Chance"] + + + Status Chance + implementation.status_condition["Status Chance"] + + + + + Base/Fire + + Chance + 0.0 + Depth Cap + 30 + Power + 0 + Spread + + Fire 3 + + Chance + 0.0 + Power + 0 + + + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Freeze + + + Power + implementation.status_condition["Power"] + + + Status Power + implementation.status_condition["Status Power"] + + + Chance + implementation.status_condition["Chance"] + + + Status Chance + implementation.status_condition["Status Chance"] + + + + + Base/Freeze + + Chance + 0.0 + Depth Cap + 7 + Max Duration + 6000 + Min Duration + 2000 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Freeze 2 + + + Power + implementation.status_condition["Power"] + + + Status Power + implementation.status_condition["Status Power"] + + + Chance + implementation.status_condition["Chance"] + + + Status Chance + implementation.status_condition["Status Chance"] + + + + + Base/Freeze + + Chance + 0.0 + Depth Cap + 17 + Max Duration + 8000 + Min Duration + 3000 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Freeze 3 + + + Power + implementation.status_condition["Power"] + + + Status Power + implementation.status_condition["Status Power"] + + + Chance + implementation.status_condition["Chance"] + + + Status Chance + implementation.status_condition["Status Chance"] + + + + + Base/Freeze + + Chance + 0.0 + Depth Cap + 30 + Max Duration + 10000 + Min Duration + 4000 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Monster Attacks/Boss/Swarm/Consume + + 32768 + 32768 + 100 + 1.0 + 1500 + 1500 + NONE + + + character/npc/monster/swarm/parts/viewer_consumedebuff.dat + + + character/npc/monster/swarm/parts/fx_consumedebuff.dat + + Warmup + 3.5 + + + + 1250 + + + + Monster Attacks/Boss/Swarm/Corruption/Corrupt1 + + 32768 + 32768 + 100 + 1.0 + 5000 + 5000 + NONE + + + world/environment/global_particles.dat + + Model + + character/npc/monster/swarm/parts/frustrum_fx_pixelclouds.dat + + Density + Thick + + + + + + + + + Monster Attacks/Boss/Swarm/Corruption/Corrupt2 + + 32768 + 32768 + 100 + 1.0 + 5000 + 5000 + NONE + + + world/environment/global_particles.dat + + Model + + character/npc/monster/swarm/parts/frustrum_fx_pixelclouds.dat + + Density + Thick + + + + + + + + + Monster Attacks/Boss/Swarm/Corruption/Corrupt3 + + 32768 + 32768 + 100 + 1.0 + 5000 + 5000 + NONE + + + world/environment/global_particles.dat + + Model + + character/npc/monster/swarm/parts/frustrum_fx_pixelclouds.dat + + Density + Thick + + + + + + + + + Monster Attacks/Boss/Swarm/Corruption/Corrupt4 + + 32768 + 32768 + 100 + 1.0 + 5000 + 5000 + NONE + + + world/environment/global_particles.dat + + Model + + character/npc/monster/swarm/parts/frustrum_fx_pixelclouds.dat + + Density + Thick + + + + + + + + + Monster Attacks/Boss/Swarm/Eject + + 32768 + 32768 + 100 + 1.0 + 1500 + 1500 + NONE + + + character/npc/monster/swarm/parts/viewer_consumedebuff.dat + + + character/npc/monster/swarm/parts/fx_consumedebuff.dat + + Warmup + 3.5 + + + + 1250 + + + + Monster Attacks/Boss/Vanaduke/Mask Count Down + + 16384 + 16384 + 100 + 1.0 + 3750 + 3750 + NONE + + + world/dynamic/block/explosive_timed/parts/fx_countdown.dat + + + particle/swing/vog_charged.dat + + + 500 + + + + Monster Attacks/Shield Bubble + + 16384 + 16384 + 100 + 1.0 + 15000 + 15000 + POSITIVE + + + particle/ambient_bubbleshield.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Compound + + Sounders + + + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/block_treasure.ogg + Gain + 1.0 + Pitch + 0.5 + Range + Medium + + + + + + Clip/Default (Gain) (Pitch) + + File + sound/effect/item/heart_acquire_02.ogg + Gain + 1.0 + Pitch + 0.75 + Range + Medium + + + + + + + Transform + + + Transient + + + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Compound + + Sounders + + + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/pot_smash.ogg + Gain + 0.5 + Pitch + 0.7 + Range + Medium + + + + + + Clip/Default (Gain) (Pitch) + + File + sound/effect/world/block_treasure.ogg + Gain + 1.0 + Pitch + 0.5 + Range + Medium + + + + + + + Transform + + + Transient + + particle/fx_bubbleshield-pop.dat + + + + + + Monster/Heal/Heal Base -30 + + + Monster/Health/Health Base +10 + + + + 200 + 5 + + 4 + + + + + Monster Attacks/Targetted + + + Faction + implementation.sprite.model["Variant"] + + + + 16384 + 16384 + 100 + 1.0 + 500 + 500 + NONE + + + particle/ambient_stickytarget.dat + + Variant + Monster + + + + 100 + + + + Monster Attacks/Zombie Grab + + + Duration + implementation.min_duration, implementation.max_duration + + + + 32768 + 32768 + 100 + 1.0 + 1000 + + Monster/Damage/Attack Base + + + + + Poison + + + Power + implementation.status_condition["Power"] + + + Status Power + implementation.status_condition["Status Power"] + + + Chance + implementation.status_condition["Chance"] + + + Status Chance + implementation.status_condition["Status Chance"] + + + + + Base/Poison + + Chance + 0.0 + Max Attack Reduction + 0.5 + Max Defense Reduction + 0.25 + Max Duration + 10000 + Max Heal Modifier + -0.5 + Min Attack Reduction + 0.1 + Min Defense Reduction + 0.05 + Min Duration + 5000 + Min Heal Modifier + -0.1 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Poison 2 + + + Power + implementation.status_condition["Power"] + + + Status Power + implementation.status_condition["Status Power"] + + + Chance + implementation.status_condition["Chance"] + + + Status Chance + implementation.status_condition["Status Chance"] + + + + + Base/Poison + + Chance + 0.0 + Max Attack Reduction + 0.5 + Max Defense Reduction + 0.25 + Max Duration + 10000 + Max Heal Modifier + -0.5 + Min Attack Reduction + 0.15 + Min Defense Reduction + 0.075 + Min Duration + 5000 + Min Heal Modifier + -0.2 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Poison 3 + + + Power + implementation.status_condition["Power"] + + + Status Power + implementation.status_condition["Status Power"] + + + Chance + implementation.status_condition["Chance"] + + + Status Chance + implementation.status_condition["Status Chance"] + + + + + Base/Poison + + Chance + 0.0 + Max Attack Reduction + 0.5 + Max Defense Reduction + 0.25 + Max Duration + 15000 + Max Heal Modifier + -0.5 + Min Attack Reduction + 0.2 + Min Defense Reduction + 0.1 + Min Duration + 5000 + Min Heal Modifier + -0.3 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Resist + + + Mask + implementation.mask + + + Power + implementation.power + + + Duration + implementation.duration + + + + 8192 + + + particle/debuff_name.dat + + Variant + Resist + + + + + + + Shock + + + Power + implementation.status_condition["Power"] + + + Status Power + implementation.status_condition["Status Power"] + + + Chance + implementation.status_condition["Chance"] + + + Status Chance + implementation.status_condition["Status Chance"] + + + + + Base/Shock + + Chance + 0.0 + Depth Cap + 7 + Max Defense Debuff + 0.25 + Max Duration + 8000 + Max Spasm Duration + 1000 + Min Defense Debuff + 0.1 + Min Duration + 4000 + Min Spasm Duration + 500 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Shock 2 + + + Power + implementation.status_condition["Power"] + + + Status Power + implementation.status_condition["Status Power"] + + + Chance + implementation.status_condition["Chance"] + + + Status Chance + implementation.status_condition["Status Chance"] + + + + + Base/Shock + + Chance + 0.0 + Depth Cap + 17 + Max Defense Debuff + 0.35 + Max Duration + 10000 + Max Spasm Duration + 1500 + Min Defense Debuff + 0.15 + Min Duration + 4000 + Min Spasm Duration + 500 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Shock 3 + + + Power + implementation.status_condition["Power"] + + + Status Power + implementation.status_condition["Status Power"] + + + Chance + implementation.status_condition["Chance"] + + + Status Chance + implementation.status_condition["Status Chance"] + + + + + Base/Shock + + Chance + 0.0 + Depth Cap + 30 + Max Defense Debuff + 0.45 + Max Duration + 12000 + Max Spasm Duration + 2000 + Min Defense Debuff + 0.2 + Min Duration + 4000 + Min Spasm Duration + 500 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Sleep + + + Power + implementation.status_condition["Power"] + + + Status Power + implementation.status_condition["Status Power"] + + + Chance + implementation.status_condition["Chance"] + + + Status Chance + implementation.status_condition["Status Chance"] + + + + + Base/Sleep + + Chance + 0.0 + Depth Cap + 7 + Max Duration + 10000 + Max Health Regen + 20 + Min Duration + 4000 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Sleep 2 + + + Power + implementation.status_condition["Power"] + + + Status Power + implementation.status_condition["Status Power"] + + + Chance + implementation.status_condition["Chance"] + + + Status Chance + implementation.status_condition["Status Chance"] + + + + + Base/Sleep + + Chance + 0.0 + Depth Cap + 17 + Max Duration + 12000 + Max Health Regen + 30 + Min Duration + 4000 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Sleep 3 + + + Power + implementation.status_condition["Power"] + + + Status Power + implementation.status_condition["Status Power"] + + + Chance + implementation.status_condition["Chance"] + + + Status Chance + implementation.status_condition["Status Chance"] + + + + + Base/Sleep + + Chance + 0.0 + Depth Cap + 30 + Max Duration + 15000 + Max Health Regen + 40 + Min Duration + 4000 + Power + 0 + Status Chance + CUSTOM + Status Power + CUSTOM + + + + + + Stun + + + Power + implementation.power + + + Status Power + implementation.status_power + + + Chance + implementation.chance + + + Status Chance + implementation.status_chance + + + + 1 + 1 + 4000 + + + particle/debuff_stun.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/status/status_stun.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/debuff_name.dat + + Variant + Stun + + + + + + particle/fx_debuffcleanse.dat + + + + ui/health/debuff.dat + + Icon + Stun + Seconds Remaining + + + + + Monster/Damage/Attack Base + + 0.3 + + + + Stun 2 + + + Power + implementation.power + + + Status Power + implementation.status_power + + + Chance + implementation.chance + + + Status Chance + implementation.status_chance + + + + 1 + 1 + 6000 + + + particle/debuff_stun.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/status/status_stun.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/debuff_name.dat + + Variant + Stun + + + + + + particle/fx_debuffcleanse.dat + + + + ui/health/debuff.dat + + Icon + Stun + Seconds Remaining + + + + + Monster/Damage/Attack Base + + 0.3 + + + + Stun 3 + + + Power + implementation.power + + + Status Power + implementation.status_power + + + Chance + implementation.chance + + + Status Chance + implementation.status_chance + + + + 1 + 1 + 8000 + + + particle/debuff_stun.dat + + + model/scripted/transient_sound.dat + + Loop Duration + 0.0 + Sounder + + Clip/Default (Gain) + + File + sound/effect/status/status_stun.ogg + Gain + 1.0 + Range + Medium + + + Transform + + + Transient + + particle/debuff_name.dat + + Variant + Stun + + + + + + particle/fx_debuffcleanse.dat + + + + ui/health/debuff.dat + + Icon + Stun + Seconds Remaining + + + + + Monster/Damage/Attack Base + + 0.3 + + + + \ No newline at end of file diff --git a/rsrc/rsrc/config/style.xml b/rsrc/rsrc/config/style.xml new file mode 100644 index 0000000..8b1d977 --- /dev/null +++ b/rsrc/rsrc/config/style.xml @@ -0,0 +1,2594 @@ + + + + + Container/Tab + + Default + Arial Black + sound/feedback/ui_open.ogg + + 0.15686275, 0.19215687, 0.21960784, 1.0 + + + + + Currency/Crowns + + + Color + implementation.color + + + + 0.98039216, 0.8352941, 0.6156863, 1.0 + Arial Black + + 4 + 16 + + + ui/icon/crown.png + FRAME_X + + 16 + 16 + + + + ui/icon/crown_32.png + + + -1 + -1 + + + Default/TooltipWindow (Text) + + + 1.0, 1.0, 1.0, 0.75 + + + + + Currency/Crowns(Large) + + 0.98039216, 0.8352941, 0.6156863, 1.0 + Arial Black + 24 + + 4 + 34 + + + ui/icon/crown_32.png + FRAME_X + + 32 + 32 + + + + ui/icon/crown_32.png + + + -1 + -1 + + + Default/TooltipWindow (Text) + + + 0.99607843, 1.0, 0.99607843, 0.75 + + + + + Currency/Dollars(Large) + + 0.6156863, 0.98039216, 0.8392157, 1.0 + Arial Black + 24 + + 4 + 34 + + + ui/icon/dollar_32.png + FRAME_X + + 32 + 32 + + + + ui/icon/crown_32.png + + + -1 + -1 + + + Default/TooltipWindow (Text) + + + 0.99607843, 1.0, 0.99607843, 0.75 + + + + + Currency/Energy + + 0.16078432, 0.8392157, 1.0, 1.0 + Arial Black + + 4 + 16 + + + ui/icon/energy.png + FRAME_X + + 16 + 16 + + + + + + -1 + -1 + + + Default/TooltipWindow (Text) + + + 1.0, 1.0, 1.0, 0.75 + + + + + Currency/Energy(Large) + + 0.16078432, 0.8392157, 1.0, 1.0 + Arial Black + 24 + + 4 + 34 + + + ui/icon/energy_32.png + FRAME_X + + 32 + 32 + + + + ui/icon/crown_32.png + + + -1 + -1 + + + Default/TooltipWindow (Text) + + + 0.99607843, 1.0, 0.99607843, 0.75 + + + + + Currency/Energy(Large) (centered) + + 0.16078432, 0.8392157, 1.0, 1.0 + Arial Black + 24 + + 4 + 34 + + + ui/icon/energy_32.png + CENTER_Y + + 32 + 32 + + + + ui/icon/crown_32.png + + + -1 + -1 + + + Default/TooltipWindow (Text) + + + 0.99607843, 1.0, 0.99607843, 0.75 + + + + + Currency/Socket + + + 9 + 9 + + + ui/inventory/moneyentry.png + FRAME_XY + + 9 + 9 + 9 + 9 + + + + + + Currency/Tokens + + 0.8, 0.8, 0.8, 1.0 + Arial Black + + 4 + 16 + + + ui/icon/token.png + FRAME_X + + 16 + 16 + + + + + + -1 + -1 + + + Default/TooltipWindow (Text) + + + 1.0, 1.0, 1.0, 0.75 + + + + + Default/Button + + + Feedback Sound + implementation.feedback_sound + + + + 0.16078432, 0.19607843, 0.22352941, 1.0 + Arial Black + CENTER + sound/feedback/ui_confirm.ogg + + 8 + 4 + 6 + + + ui/button/up.png + FRAME_X + + + Default/TooltipWindow (Text) + + + + + Default/Button (NoPadding)/Button + + + Feedback Sound + implementation.feedback_sound + + + + 0.16078432, 0.19607843, 0.22352941, 1.0 + Arial Black + CENTER + sound/feedback/ui_confirm.ogg + + 2 + 4 + 4 + 2 + + + ui/button/up.png + FRAME_X + + + Default/TooltipWindow (Text) + + + + + Default/Button (NoPadding)/Button:Disabled + + 0.21960784, 0.21960784, 0.21960784, 1.0 + Arial Black + CENTER + + 2 + 4 + 4 + 2 + + + ui/button/disabled.png + FRAME_X + + + + + Default/Button (NoPadding)/Button:Down + + 0.16078432, 0.19607843, 0.22352941, 1.0 + Arial Black + CENTER + + 4 + 2 + 2 + 4 + + + ui/button/down.png + FRAME_X + + + + + Default/Button (NoPadding)/Button:Hover + + 0.16078432, 0.19607843, 0.22352941, 1.0 + Arial Black + CENTER + + 2 + 4 + 4 + 2 + + + ui/button/over.png + FRAME_X + + + + + Default/Button (NoPadding)/Button:Selected + + 0.16078432, 0.19607843, 0.22352941, 1.0 + Arial Black + CENTER + + 4 + 2 + 2 + 4 + + + ui/button/down.png + FRAME_X + + + + + Default/Button (Red)/Button + + + Feedback Sound + implementation.feedback_sound + + + + 0.21960784, 0.15686275, 0.1882353, 1.0 + Arial Black + CENTER + + 26 + 4 + 24 + + + ui/button/up_red.png + FRAME_X + + + Default/TooltipWindow (Text) + + + + + Default/Button (Red)/Button:Disabled + + 0.21960784, 0.21960784, 0.21960784, 1.0 + Arial Black + CENTER + + 26 + 4 + 24 + + + ui/button/disabled.png + FRAME_X + + + + + Default/Button (Red)/Button:Down + + 0.21960784, 0.15686275, 0.1882353, 1.0 + Arial Black + CENTER + + 24 + 1 + 26 + + + ui/button/down_red.png + FRAME_X + + + + + Default/Button (Red)/Button:Hover + + 0.21960784, 0.15686275, 0.1882353, 1.0 + Arial Black + CENTER + + 26 + 4 + 24 + + + ui/button/over_red.png + FRAME_X + + + + + Default/Button (Red)/Button:Selected + + 0.21960784, 0.15686275, 0.1882353, 1.0 + Arial Black + CENTER + + 24 + 1 + 26 + + + ui/button/down_yellow.png + FRAME_X + + + + + Default/Button (Search)/Search + + 0.21960784, 0.2, 0.15686275, 0.0 + Arial Black + CENTER + sound/feedback/ui_dropdown_select.ogg + + ui/search/mag_idle.png + CENTER_XY + + + 18 + 18 + + + Default/TooltipWindow (Text) + + + + + Default/Button (Search)/Search:Down + + 0.21960784, 0.2, 0.15686275, 0.0 + Arial Black + CENTER + + ui/search/mag_down.png + CENTER_XY + + + 18 + 18 + + + Default/TooltipWindow (Text) + + + + + Default/Button (Search)/Search:Hover + + 0.21960784, 0.2, 0.15686275, 0.0 + Arial Black + CENTER + + ui/search/mag_hover.png + CENTER_XY + + + 18 + 18 + + + Default/TooltipWindow (Text) + + + + + Default/Button (Search)/Search:Selected + + 0.21960784, 0.2, 0.15686275, 0.0 + Arial Black + CENTER + + ui/search/mag_selected.png + CENTER_XY + + + 18 + 18 + + + Default/TooltipWindow (Text) + + + + + Default/Button (Yellow)/Button + + + Feedback Sound + implementation.feedback_sound + + + + 0.21960784, 0.2, 0.15686275, 1.0 + Arial Black + CENTER + + 26 + 4 + 24 + + + ui/button/up_yellow.png + FRAME_X + + + Default/TooltipWindow (Text) + + + + + Default/Button (Yellow)/Button:Disabled + + 0.21960784, 0.21960784, 0.21960784, 1.0 + Arial Black + CENTER + + 26 + 4 + 24 + + + ui/button/disabled.png + FRAME_X + + + + + Default/Button (Yellow)/Button:Down + + 0.21960784, 0.2, 0.15686275, 1.0 + Arial Black + CENTER + + 24 + 1 + 26 + + + ui/button/down_yellow.png + FRAME_X + + + + + Default/Button (Yellow)/Button:Hover + + 0.21960784, 0.2, 0.15686275, 1.0 + Arial Black + CENTER + + 26 + 4 + 24 + + + ui/button/over_yellow.png + FRAME_X + + + + + Default/Button (Yellow)/Button:Selected + + 0.21960784, 0.2, 0.15686275, 1.0 + Arial Black + CENTER + + 24 + 1 + 26 + + + ui/button/down_yellow.png + FRAME_X + + + + + Default/Button Dismiss(Yellow)/Dismiss + + + Feedback Sound + implementation.feedback_sound + + + + 0.21960784, 0.2, 0.15686275, 0.0 + Arial Black + CENTER + + ui/button/dismiss.png + FRAME_XY + + + 28 + 28 + + + Default/TooltipWindow (Text) + + + + + Default/Button Dismiss(Yellow)/Dismiss:Disabled + + 0.21960784, 0.2, 0.15686275, 0.0 + Arial Black + CENTER + + ui/button/dismiss_disabled.png + FRAME_XY + + + 28 + 28 + + + + + Default/Button Dismiss(Yellow)/Dismiss:Down + + 0.21960784, 0.2, 0.15686275, 0.0 + Arial Black + CENTER + + ui/button/dismiss_down.png + FRAME_XY + + + 28 + 28 + + + + + Default/Button Dismiss(Yellow)/Dismiss:Hover + + 0.21960784, 0.2, 0.15686275, 0.0 + Arial Black + CENTER + + ui/button/dismiss_hover.png + FRAME_XY + + + 28 + 28 + + + + + Default/Button:Disabled + + 0.21960784, 0.21960784, 0.21960784, 1.0 + Arial Black + CENTER + + 8 + 4 + 6 + + + ui/button/disabled.png + FRAME_X + + + + + Default/Button:Down + + 0.16078432, 0.19607843, 0.22352941, 1.0 + Arial Black + CENTER + + 6 + 1 + 8 + + + ui/button/down.png + FRAME_X + + + + + Default/Button:Hover + + 0.16078432, 0.19607843, 0.22352941, 1.0 + Arial Black + CENTER + + 8 + 4 + 6 + + + ui/button/over.png + FRAME_X + + + + + Default/Button:Selected + + 0.16078432, 0.19607843, 0.22352941, 1.0 + Arial Black + CENTER + + 6 + 1 + 8 + + + ui/button/selected.png + FRAME_X + + + + + Default/ChatEntry Dark + + 0.92156863, 0.7882353, 0.3019608, 1.0 + Text + Arial + 14 + OUTLINE + 4 + 0.15686275, 0.19215687, 0.21960784, 0.5 + + 2 + 16 + 2 + 16 + + + ui/window/tooltip_simple.png + FRAME_XY + + 10 + 10 + 10 + 10 + + + + 0.50980395, 0.34901962, 0.0, 1.0 + + + + + Default/ChatOverlayEnd + + Hand + Arial + + ui/scrollbar/bottom_normal.png + CENTER_XY + + + + + Default/ChatOverlayEnd:Disabled + + Hand + Arial + + ui/scrollbar/bottom_disabled.png + CENTER_XY + + + + + Default/ChatOverlayEnd:Down + + Hand + Arial + + ui/scrollbar/bottom_down.png + CENTER_XY + + + + + Default/ChatOverlayLess + + Hand + Arial + + ui/scrollbar/top_normal.png + CENTER_XY + + + + + Default/ChatOverlayLess:Disabled + + Hand + Arial + + ui/scrollbar/top_disabled.png + CENTER_XY + + + + + Default/ChatOverlayLess:Down + + Hand + Arial + + ui/scrollbar/top_down.png + CENTER_XY + + + + + Default/ChatOverlayMore + + Hand + Arial + + ui/scrollbar/bottom_normal.png + CENTER_XY + + + + + Default/ChatOverlayMore:Disabled + + Hand + Arial + + ui/scrollbar/bottom_disabled.png + CENTER_XY + + + + + Default/ChatOverlayMore:Down + + Hand + Arial + + ui/scrollbar/bottom_down.png + FRAME_XY + + + + + + + Default/ChatOverlayText + + + Size + implementation.font_size + + + + 1.0, 0.99607843, 0.99607843, 1.0 + Default + Arial + 14 + OUTLINE + 4 + 0.2, 0.2, 0.2, 1.0 + BOTTOM + 2 + + 2 + 2 + + + + + Default/CheckBox + + 0.2901961, 0.43529412, 0.54901963, 1.0 + Arial Black + sound/feedback/button_press.ogg + + ui/checkbox/unchecked.png + + + + + Default/CheckBox:Disabled + + 0.54901963, 0.54901963, 0.54901963, 1.0 + Arial Black + + ui/checkbox/unchecked_disabled.png + + + + + Default/CheckBox:Selected + + 0.8156863, 0.8627451, 0.9490196, 1.0 + Arial Black + + ui/checkbox/checked.png + + + + + Default/ColorPicker + + Hand + Arial + sound/feedback/ui_dropdown_select.ogg + + + + Default/ComboBox + + 0.16470589, 0.2, 0.23137255, 1.0 + Hand + Arial Black + sound/feedback/ui_dropdown_activate.ogg + + 5 + 22 + 5 + 10 + + + ui/combobox/normal.png + FRAME_X + + + + + Default/ComboBox:Disabled + + 0.56078434, 0.5568628, 0.5568628, 1.0 + Default + Arial Black + + 5 + 22 + 5 + 10 + + + ui/combobox/normal.png + FRAME_X + + + + + Default/ComboBox:Down + + 0.15686275, 0.19215687, 0.21960784, 1.0 + Hand + Arial Black + + 5 + 22 + 5 + 10 + + + ui/combobox/hover.png + FRAME_X + + + + + Default/ComboBox:Hover + + 0.15686275, 0.19215687, 0.21960784, 1.0 + Hand + Arial Black + + 5 + 22 + 5 + 10 + + + ui/combobox/hover.png + FRAME_X + + + + + Default/Component + + Default + Arial + + + + Default/Container + + Default + Arial + + + + Default/DecoratedWindow + + Default + + 8 + 8 + 8 + 8 + + + ui/window/standard.png + FRAME_XY + + + + + Default/HSlider + + Hand + Arial + + ui/slider/well.png + FRAME_X + + + ui/slider/normal.png + + + + + Default/HSlider:Disabled + + Hand + Arial + + ui/slider/well.png + FRAME_X + + + ui/slider/disabled.png + + + + + Default/HSlider:Down + + Hand + Arial + + ui/slider/well.png + FRAME_X + + + ui/slider/down.png + + + + + Default/HSlider:Hover + + Hand + Arial + + ui/slider/well.png + FRAME_X + + + ui/slider/hover.png + + + + + Default/Handles/Left/Closed + + 0.8156863, 0.8627451, 0.9490196, 1.0 + Hand + Arial Black + 9 + CENTER + TOP + + 25 + 6 + + + ui/handle/left/closed_up.png + FRAME_X + + + 22 + 191 + + + + + Default/Handles/Left/Closed:Down + + 0.8156863, 0.8627451, 0.9490196, 1.0 + Hand + Arial Black + 9 + CENTER + TOP + + 25 + 6 + + + ui/handle/left/closed_down.png + FRAME_X + + + 22 + 191 + + + + + Default/Handles/Left/Open + + 0.15686275, 0.19215687, 0.21960784, 1.0 + Hand + Arial Black + 9 + CENTER + TOP + + 25 + 6 + + + ui/handle/left/open_up.png + FRAME_X + + + 22 + 191 + + + + + Default/Handles/Left/Open:Down + + 0.15686275, 0.19215687, 0.21960784, 1.0 + Hand + Arial Black + 9 + CENTER + TOP + + 25 + 6 + + + ui/handle/left/open_down.png + FRAME_X + + + 22 + 191 + + + + + Default/Handles/Right/Closed + + 0.8156863, 0.8627451, 0.9490196, 1.0 + Hand + Arial Black + 9 + CENTER + TOP + + 25 + 6 + + + ui/handle/right/closed_up.png + FRAME_X + + + 22 + 191 + + + + + Default/Handles/Right/Closed:Down + + 0.8156863, 0.8627451, 0.9490196, 1.0 + Hand + Arial Black + 9 + CENTER + TOP + + 25 + 6 + + + ui/handle/right/closed_down.png + FRAME_X + + + 22 + 191 + + + + + Default/Handles/Right/Open + + 0.15686275, 0.19215687, 0.21960784, 1.0 + Hand + Arial Black + 9 + CENTER + TOP + + 25 + 6 + + + ui/handle/right/open_up.png + FRAME_X + + + 22 + 191 + + + + + Default/Handles/Right/Open:Down + + 0.15686275, 0.19215687, 0.21960784, 1.0 + Hand + Arial Black + 9 + CENTER + TOP + + 25 + 6 + + + ui/handle/right/open_down.png + FRAME_X + + + 22 + 191 + + + + + Default/Hyperlink/Hyperlink + + 0.5803922, 0.42745098, 0.15686275, 1.0 + Arial + ITALIC + 14 + sound/feedback/chat_open.ogg + + ui/hyperlink/up.png + TILE_X + + + Default/TooltipWindow (Text) + + + + + Default/Hyperlink/Hyperlink:Hover + + Arial + ITALIC + 14 + + ui/hyperlink/over.png + TILE_X + + + + + Default/Label + + + Color + implementation.color + + + + 0.8156863, 0.8627451, 0.9490196, 1.0 + Default + Arial Black + + 15 + 1 + 15 + + + + + Default/List + + Hand + Arial + + 5 + 5 + 5 + 5 + + + + + Default/ListEntry + + Hand + Arial Black + + 2 + 2 + 2 + 5 + + + + + Default/ListEntry:Selected + + 0.15686275, 0.19215687, 0.21960784, 1.0 + Hand + Arial Black + + 2 + 2 + 2 + 5 + + + ui/popupmenu/highlight.png + FRAME_XY + + + + + Default/MenuItem + + Hand + Arial Black + + 2 + 2 + 2 + 5 + + + + + Default/MenuItem:Disabled + + 1.0, 1.0, 1.0, 0.27 + Hand + Arial Black + + 2 + 2 + 2 + 2 + + + + + Default/MenuItem:Hover + + 0.15686275, 0.19215687, 0.21960784, 1.0 + Hand + Arial Black + + 2 + 2 + 2 + 5 + + + ui/popupmenu/highlight.png + FRAME_XY + + + + + Default/PopupMenu + + Default + Arial + + 5 + 5 + 5 + 5 + + + ui/popupmenu/background.png + FRAME_XY + + + + + Default/PopupWindow + + Default + Arial + + 15 + 15 + 15 + 15 + + + ui/window/background.png + FRAME_XY + + + + + Default/ScrollBar + + Default + Arial + + + + Default/ScrollBarHLess + + Hand + Arial + + ui/scrollbar/left_normal.png + CENTER_XY + + + + + Default/ScrollBarHLess:Disabled + + Hand + Arial + + ui/scrollbar/left_disabled.png + CENTER_XY + + + + + Default/ScrollBarHLess:Down + + Hand + Arial + + ui/scrollbar/left_down.png + CENTER_XY + + + + + Default/ScrollBarHLess:Hover + + Hand + Arial + + ui/scrollbar/left_hover.png + CENTER_XY + + + + + Default/ScrollBarHMore + + Hand + Arial + + ui/scrollbar/right_normal.png + CENTER_XY + + + + + Default/ScrollBarHMore:Disabled + + Hand + Arial + + ui/scrollbar/right_disabled.png + CENTER_XY + + + + + Default/ScrollBarHMore:Down + + Hand + Arial + + ui/scrollbar/right_down.png + CENTER_XY + + + + + Default/ScrollBarHMore:Hover + + Hand + Arial + + ui/scrollbar/right_hover.png + CENTER_XY + + + + + Default/ScrollBarHThumb + + Hand + Arial + + ui/scrollbar/thumb_normal.png + FRAME_X + + + + + Default/ScrollBarHThumb:Disabled + + Hand + Arial + + ui/scrollbar/thumb_disabled.png + FRAME_X + + + + + Default/ScrollBarHThumb:Down + + Hand + Arial + + ui/scrollbar/thumb_down.png + FRAME_X + + + + + Default/ScrollBarHThumb:Hover + + Hand + Arial + + ui/scrollbar/thumb_down.png + FRAME_X + + + + + Default/ScrollBarHWell + + Hand + Arial + + 2 + 3 + 2 + 3 + + + ui/scrollbar/well_normal.png + FRAME_X + + + + + Default/ScrollBarHWell:Disabled + + Hand + Arial + + 2 + 3 + 2 + 3 + + + ui/scrollbar/well_disabled.png + FRAME_X + + + + + Default/ScrollBarVEnd + + Hand + Arial + + ui/scrollbar/end_normal.png + CENTER_XY + + + + + Default/ScrollBarVEnd:Disabled + + Hand + Arial + + ui/scrollbar/end_disabled.png + CENTER_XY + + + + + Default/ScrollBarVEnd:Down + + Hand + Arial + + ui/scrollbar/end_down.png + CENTER_XY + + + + + Default/ScrollBarVEnd:Hover + + Hand + Arial + + ui/scrollbar/end_hover.png + CENTER_XY + + + + + Default/ScrollBarVLess + + Hand + Arial + + ui/scrollbar/top_normal.png + CENTER_XY + + + + + Default/ScrollBarVLess:Disabled + + Hand + Arial + + ui/scrollbar/top_disabled.png + CENTER_XY + + + + + Default/ScrollBarVLess:Down + + Hand + Arial + + ui/scrollbar/top_down.png + CENTER_XY + + + + + Default/ScrollBarVLess:Hover + + Hand + Arial + + ui/scrollbar/top_hover.png + CENTER_XY + + + + + Default/ScrollBarVMore + + Hand + Arial + + ui/scrollbar/bottom_normal.png + CENTER_XY + + + + + Default/ScrollBarVMore:Disabled + + Hand + Arial + + ui/scrollbar/bottom_disabled.png + CENTER_XY + + + + + Default/ScrollBarVMore:Down + + Hand + Arial + + ui/scrollbar/bottom_down.png + CENTER_XY + + + + + Default/ScrollBarVMore:Hover + + Hand + Arial + + ui/scrollbar/bottom_hover.png + CENTER_XY + + + + + Default/ScrollBarVThumb + + Hand + Arial + + ui/scrollbar/thumb_normal.png + FRAME_Y + + + + + Default/ScrollBarVThumb:Disabled + + Hand + Arial + + ui/scrollbar/thumb_disabled.png + FRAME_Y + + + + + Default/ScrollBarVThumb:Down + + Hand + Arial + + ui/scrollbar/thumb_down.png + FRAME_Y + + + + + Default/ScrollBarVThumb:Hover + + Hand + Arial + + ui/scrollbar/thumb_down.png + FRAME_Y + + + + + Default/ScrollBarVWell + + Hand + Arial + + 2 + 3 + 2 + 3 + + + ui/scrollbar/well_normal.png + FRAME_Y + + + + + Default/ScrollBarVWell:Disabled + + Hand + Arial + + 2 + 3 + 2 + 3 + + + ui/scrollbar/well_disabled.png + FRAME_Y + + + + + Default/StatusLabel + + 0.8156863, 0.8627451, 0.9490196, 1.0 + Default + Arial Black + CENTER + + + + ui/icon/alert.png + + + + + Default/Subtitle_Bold + + + + Color + + + Color + implementation.color + + + + + + Dark Blue + + Color + 0.15686275, 0.19215687, 0.21960784, 1.0 + + + + + Light Blue + + Color + 0.8156863, 0.8627451, 0.9490196, 1.0 + + + + + Aqua + + Color + 0.42352942, 0.69803923, 0.7294118, 1.0 + + + + Dark Blue + + + + 0.15686275, 0.19215687, 0.21960784, 1.0 + Arial Black + ITALIC + 18 + + + + Default/Tab + + + Font Color + implementation.color + + + Background + implementation.background.file + + + Icon + implementation.icon + + + + 0.15686275, 0.19215687, 0.21960784, 1.0 + Hand + Arial Black + 11 + CENTER + sound/feedback/ui_dropdown_select.ogg + + 25 + 15 + + + ui/tab/up/off.png + FRAME_X + + + + + Default/Tab:Hover + + + Font Color + implementation.color + + + Background + implementation.background.file + + + Icon + implementation.icon + + + + 0.8156863, 0.8627451, 0.9490196, 1.0 + Hand + Arial Black + 11 + CENTER + + 25 + 15 + + + ui/tab/up/off.png + FRAME_X + + + + + Default/Tab:Selected + + + Font Color + implementation.color + + + Background + implementation.background.file + + + Icon + implementation.icon + + + + 0.8156863, 0.8627451, 0.9490196, 1.0 + Hand + Arial Black + 11 + CENTER + + 25 + 15 + + + ui/tab/up/on.png + FRAME_X + + + + + Default/TabbedPane + + Default + Arial + + + + Default/TabbedPaneClose + + Default + Arial + + + + Default/Tabs/Down/Tab + + 0.15686275, 0.19215687, 0.21960784, 1.0 + Hand + Arial Black + CENTER + sound/feedback/ui_dropdown_activate.ogg + + 22 + 22 + + + ui/tab/down/off.png + FRAME_X + + + -1 + 22 + + + + + Default/Tabs/Down/Tab:Hover + + 0.8156863, 0.8627451, 0.9490196, 1.0 + Hand + Arial Black + CENTER + sound/feedback/ui_dropdown_activate.ogg + + 22 + 22 + + + ui/tab/down/off.png + FRAME_X + + + -1 + 22 + + + + + Default/Tabs/Down/Tab:Selected + + 0.8156863, 0.8627451, 0.9490196, 1.0 + Arial Black + CENTER + + 22 + 22 + + + ui/tab/down/on.png + FRAME_X + + + -1 + 22 + + + + + Default/Tabs/Up/Tab + + 0.15686275, 0.19215687, 0.21960784, 1.0 + Hand + Arial Black + CENTER + sound/feedback/ui_dropdown_activate.ogg + + 22 + 22 + + + ui/tab/up/off.png + FRAME_X + + + -1 + 22 + + + + + Default/Tabs/Up/Tab:Hover + + 0.8156863, 0.8627451, 0.9490196, 1.0 + Hand + Arial Black + CENTER + sound/feedback/ui_dropdown_activate.ogg + + 22 + 22 + + + ui/tab/up/off.png + FRAME_X + + + -1 + 22 + + + + + Default/Tabs/Up/Tab:Selected + + 0.8156863, 0.8627451, 0.9490196, 1.0 + Arial Black + CENTER + + 22 + 22 + + + ui/tab/up/on.png + FRAME_X + + + -1 + 22 + + + + + Default/TextArea + + 0.16078432, 0.19607843, 0.22352941, 1.0 + Default + Arial + TOP + + 4 + 14 + 3 + 12 + + + ui/textentry.png + FRAME_XY + + 16 + 8 + 8 + 8 + + + + 1.0, 1.0, 1.0, 1.0 + + + + + Default/TextArea (Backup) + + 0.0, 0.0, 0.0, 1.0 + Default + Arial + + 12 + 8 + 8 + 6 + + + ui/textentry.png + FRAME_XY + + + + + Default/TextField + + + Size + implementation.font_size + + + + 0.16078432, 0.19607843, 0.22352941, 1.0 + Arial Black + 18 + TOP + + 14 + 3 + 12 + + + ui/textentry.png + FRAME_XY + + 16 + 8 + 8 + 8 + + + + 1.0, 1.0, 1.0, 1.0 + + + + + Default/TooltipWindow + + 0.92156863, 0.7882353, 0.3019608, 1.0 + Default + Arial + 14 + OUTLINE + 4 + 0.15686275, 0.19215687, 0.21960784, 0.5 + + 8 + 16 + 8 + 16 + + + ui/window/tooltip_simple.png + FRAME_XY + + 12 + 12 + 12 + 12 + + + + 0.50980395, 0.34901962, 0.0, 1.0 + + + + + Default/TooltipWindow (Text) + + 0.92156863, 0.7882353, 0.3019608, 1.0 + Default + Arial + 14 + OUTLINE + 4 + 0.15686275, 0.19215687, 0.21960784, 0.5 + + + + Default/VSlider + + Default + Arial + + ui/slider/normal.png + + + 0.0, 0.0, 0.0, 1.0 + + + + + Default/Viewport + + Default + Arial + + + + Default/Window + + Default + Arial + + + + Default/WindowTitle + + 0.8156863, 0.8627451, 0.9490196, 1.0 + Default + Arial Black + 18 + CENTER + + ui/window/title.png + + + + + Default/WindowTitle_Bold + + 0.15686275, 0.19215687, 0.21960784, 1.0 + Arial Black + ITALIC + 22 + + + + Dev/Floor label + + 1.0, 1.0, 1.0, 0.5 + Arial + 24 + BOTTOM + + 2 + 6 + 6 + + + 0.08235294, 0.078431375, 0.4, 0.5 + + + + + Dev/Prefab label + + 1.0, 1.0, 1.0, 0.75 + Arial + 32 + 1.0, 1.0, 1.0, 0.5 + BOTTOM + + 4 + 8 + 4 + + + 0.101960786, 0.101960786, 0.101960786, 0.5 + + + + + Menu/PlayerTitle + + Default + Arial Black + + 2 + 2 + 2 + 5 + + + 0.27058825, 0.59607846, 0.70980394, 1.0 + + + + + Window/Alert + + Default + + 8 + 8 + 8 + 8 + + + ui/window/alert.png + FRAME_XY + + + + + Window/Alert(Header) + + Default + + 8 + 8 + 8 + 8 + + + ui/window/alert_header.png + FRAME_XY + + 43 + 8 + 8 + 8 + + + + + + Window/Simple + + Default + + 8 + 24 + 8 + 24 + + + ui/window/standard.png + FRAME_XY + + + + + Window/Standard + + Default + + 8 + 8 + 8 + 8 + + + ui/window/simple.png + FRAME_XY + + + + + Window/Standard(Header) + + + + Color + + + BG + implementation.background.file + + + + + + Blue + + BG + ui/window/alert_header-blue.png + + + + + Red + + BG + ui/window/alert_header-red.png + + + + + Green + + BG + ui/window/alert_header-green.png + + + + + Blue Lt + + BG + ui/window/alert_header-lblue.png + + + + Blue + + + + Default + + 8 + 8 + 8 + 8 + + + ui/window/alert_header-blue.png + FRAME_XY + + 37 + 8 + 8 + 8 + + + + + + Window/Tooltip + + 1.0, 1.0, 0.99607843, 1.0 + Default + 0.99607843, 0.99607843, 1.0, 1.0 + + 8 + 8 + 8 + 8 + + + ui/window/tooltip.png + FRAME_XY + + + + + Window/Tooltip(Header) + + Default + + 8 + 8 + 8 + 8 + + + ui/window/tooltip_header.png + FRAME_XY + + 43 + 8 + 24 + 8 + + + + + + \ No newline at end of file diff --git a/rsrc/rsrc/config/tile.xml b/rsrc/rsrc/config/tile.xml new file mode 100644 index 0000000..45a8c78 --- /dev/null +++ b/rsrc/rsrc/config/tile.xml @@ -0,0 +1,40525 @@ + + + + + + + 000_Connectors/3 Entrance + + 5 + + editor/marker/tiles/connector_5wide.dat + + Color + 268 + + + + 0 + + 0 + + + + 000_Connectors/3 Exit + + 5 + + editor/marker/tiles/connector_5wide.dat + + Color + 260 + + + + 0 + + 0 + + + + 000_Connectors/3 Link + + 5 + + editor/marker/tiles/connector_5wide.dat + + Color + 275 + + + + 0 + + 0 + + + + 000_Connectors/5 Entrance + + 7 + + editor/marker/tiles/connector_7wide.dat + + Color + 268 + + + + 0 + + 0 + + + + 000_Connectors/5 Exit + + 7 + + editor/marker/tiles/connector_7wide.dat + + Color + 260 + + + + 0 + + 0 + + + + 000_Connectors/5 Link + + 7 + + editor/marker/tiles/connector_7wide.dat + + Color + 275 + + + + 0 + + 0 + + + + 000_Dev/Fence, High/Fence high, cap + + + world/tileset/dev/block_set.dat + + Model + fence_low_corner + + + + 2 + + 0 + + + + 000_Dev/Fence, High/Fence high, elbow + + + world/tileset/dev/block_set.dat + + Model + fence_low_elbow + + + + 2 + + 0 + + + + 000_Dev/Fence, High/Fence high, x1 + + + world/tileset/dev/block_set.dat + + Model + fence_low_x1 + + + 0 + + + + 000_Dev/Fence, Low/Fence low, cap + + + world/tileset/dev/block_set.dat + + Model + fence_low_corner + + + + 2 + + 0 + + + + 000_Dev/Fence, Low/Fence low, elbow + + + world/tileset/dev/block_set.dat + + Model + fence_low_elbow + + + + 2 + + 0 + + + + 000_Dev/Fence, Low/Fence low, x1 + + + world/tileset/dev/block_set.dat + + Model + fence_low_x1 + + + + 2 + + 0 + + + + 000_Dev/Floor/Floor, gray + + + world/tileset/dev/block_set.dat + + Model + floor_x1 + + + + 0 + + + + + 000_Dev/Floor/Floor, stair, gray + + + world/tileset/dev/block_set.dat + + Model + floor_stair + + + + 0 + + + + + 000_Dev/Floor/Test floor tile + + + Texture file + implementation.model["Texture file"] + + + + + world/tileset/generic/tile_cafe.dat + + Texture file + world/tileset/generic/tile_cafe.png + + + + 0 + + + + + 000_Dev/Null Tiles/Null - no-walk 01x01 + + + editor/marker/tiles/null_nowalk.dat + + Transform + + + + + + 2 + + 0 + + + + 000_Dev/Null Tiles/Null - no-walk no-shoot 01x01 + + + editor/marker/tiles/null_noshoot.dat + + Transform + + + + + 0 + + + + 000_Dev/Null Tiles/Null - walkable 01x01 + + + editor/marker/tiles/null_walk.dat + + Transform + + + + + + 0 + + + + + 000_Dev/Null Tiles/Null - walkable 10x10 + + 10 + 10 + + editor/marker/tiles/null_walk_x10.dat + + Transform + + + + + + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + + + + + 000_Dev/Null Tiles/Null - walkable 20x20 + + 20 + 20 + + editor/marker/tiles/null_walk_x20.dat + + Transform + + + + + + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + + + + + 000_Dev/Null Tiles/Null - walkable 40x40 + + 40 + 40 + + editor/marker/tiles/null_walk_x40.dat + + Transform + + + + + + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + + + + + 000_Dev/Rail/Rail stair Left, x1 + + + world/tileset/dev/block_set.dat + + Model + rail_stair_L_x1 + + + + 2 + + 0 + + + + 000_Dev/Rail/Rail stair Right, x1 + + + world/tileset/dev/block_set.dat + + Model + rail_stair_R_x1 + + + + 2 + + 0 + + + + 000_Dev/Rail/Rail, In SE x1 + + + world/tileset/dev/block_set.dat + + Model + rail_in_x1_SE + + + + 2 + + 0 + + + + 000_Dev/Rail/Rail, Out SW x1 + + + world/tileset/dev/block_set.dat + + Model + rail_out_x1 + + + + 2 + + 0 + + + + 000_Dev/Rail/Rail, x1 + + + world/tileset/dev/block_set.dat + + Model + rail_x1 + + + + 2 + + 0 + + + + 000_Dev/Wall, Volumetric/Corner In x1 + + + world/tileset/dev/block_set.dat + + Model + wall_in_x1 + + + 0 + + + + 000_Dev/Wall, Volumetric/Corner Out x1 + + + world/tileset/dev/block_set.dat + + Model + wall_out_x1 + + + 0 + + + + 000_Dev/Wall, Volumetric/Wall interior x1 + + + world/tileset/dev/block_set.dat + + Model + wall_interior_x1 + + + + 0 + + + + + 000_Dev/Wall, Volumetric/Wall x1 + + + world/tileset/dev/block_set.dat + + Model + wall_x1 + + + 0 + + + + Castle, Fire/Fence, high/Cap, Horizontal Left + + + world/tileset/castle_fire/fence/high_set.dat + + Model + low_horiz_capL + + + 0 + + + + Castle, Fire/Fence, high/Cap, Horizontal Right + + + world/tileset/castle_fire/fence/high_set.dat + + Model + low_horiz_capR + + + 0 + + + + Castle, Fire/Fence, high/Cap, Vertical North + + + world/tileset/castle_fire/fence/high_set.dat + + Model + low_vert_capN + + + 0 + + + + Castle, Fire/Fence, high/Cap, Vertical South + + + world/tileset/castle_fire/fence/high_set.dat + + Model + low_vert_capS + + + 0 + + + + Castle, Fire/Fence, high/Crosser + + + world/tileset/castle_fire/fence/high_set.dat + + Model + high_corner_01 + + + 0 + + + + Castle, Fire/Fence, high/Crosser, Elbow + + + world/tileset/castle_fire/fence/high_set.dat + + Model + low_elbow + + + 0 + + + + Castle, Fire/Fence, high/Crosser, T piece + + + world/tileset/castle_fire/fence/high_set.dat + + Model + low_T + + + 0 + + + + Castle, Fire/Fence, high/Horizontal - No Post 1 + + + world/tileset/castle_fire/fence/high_set.dat + + Model + high_horiz_01 + + + 0 + + + + Castle, Fire/Fence, high/Horizontal - No Post 2 + + + world/tileset/castle_fire/fence/high_set.dat + + Model + high_horiz_09 + + + 0 + + + + Castle, Fire/Fence, high/Horizontal - mid 01 + + + world/tileset/castle_fire/fence/high_set.dat + + Model + high_horiz_04 + + + 0 + + + + Castle, Fire/Fence, high/Horizontal - mid 02 + + + world/tileset/castle_fire/fence/high_set.dat + + Model + high_horiz_06 + + + 0 + + + + Castle, Fire/Fence, high/Horizontal - short 01 + + + world/tileset/castle_fire/fence/high_set.dat + + Model + high_horiz_05 + + + 0 + + + + Castle, Fire/Fence, high/Horizontal - short 02 + + + world/tileset/castle_fire/fence/high_set.dat + + Model + high_horiz_02 + + + 0 + + + + Castle, Fire/Fence, high/Horizontal - short 03 + + + world/tileset/castle_fire/fence/high_set.dat + + Model + high_horiz_08 + + + 0 + + + + Castle, Fire/Fence, high/Horizontal - tall 01 + + + world/tileset/castle_fire/fence/high_set.dat + + Model + high_horiz_03 + + + 0 + + + + Castle, Fire/Fence, high/Horizontal - tall 02 + + + world/tileset/castle_fire/fence/high_set.dat + + Model + high_horiz_07 + + + 0 + + + + Castle, Fire/Fence, high/Transition, Horizontal high-to-low + + + world/tileset/castle_fire/fence/high_set.dat + + Model + trans_horiz_hi2low_01 + + + 0 + + + + Castle, Fire/Fence, high/Transition, Horizontal low-to-high + + + world/tileset/castle_fire/fence/high_set.dat + + Model + trans_horiz_low2hi_01 + + + 0 + + + + Castle, Fire/Fence, high/Vertical - No Post 1 + + + world/tileset/castle_fire/fence/high_set.dat + + Model + high_vert_05 + + + 0 + + + + Castle, Fire/Fence, high/Vertical - mid 01 + + + world/tileset/castle_fire/fence/high_set.dat + + Model + high_vert_mid01 + + + 0 + + + + Castle, Fire/Fence, high/Vertical - mid 02 + + + world/tileset/castle_fire/fence/high_set.dat + + Model + high_vert_mid02 + + + 0 + + + + Castle, Fire/Fence, high/Vertical - short 01 + + + world/tileset/castle_fire/fence/high_set.dat + + Model + high_vert_01 + + + 0 + + + + Castle, Fire/Fence, high/Vertical - short 02 + + + world/tileset/castle_fire/fence/high_set.dat + + Model + high_vert_02 + + + 0 + + + + Castle, Fire/Fence, high/Vertical - tall 01 + + + world/tileset/castle_fire/fence/high_set.dat + + Model + high_vert_03 + + + 0 + + + + Castle, Fire/Fence, high/Vertical - tall 02 + + + world/tileset/castle_fire/fence/high_set.dat + + Model + high_vert_04 + + + 0 + + + + Castle, Fire/Fence, low/Cap, Horizontal Left + + + world/tileset/castle_fire/fence/high_set.dat + + Model + low_horiz_capL + + + 0 + + + + Castle, Fire/Fence, low/Cap, Horizontal Right + + + world/tileset/castle_fire/fence/high_set.dat + + Model + low_horiz_capR + + + 0 + + + + Castle, Fire/Fence, low/Cap, Vertical North + + + world/tileset/castle_fire/fence/high_set.dat + + Model + low_vert_capN + + + 0 + + + + Castle, Fire/Fence, low/Cap, Vertical South + + + world/tileset/castle_fire/fence/high_set.dat + + Model + low_vert_capS + + + 0 + + + + Castle, Fire/Fence, low/Crosser + + + world/tileset/castle_fire/fence/high_set.dat + + Model + low_crosser + + + 0 + + + + Castle, Fire/Fence, low/Horizontal 01 + + + world/tileset/castle_fire/fence/high_set.dat + + Model + low_horiz_01 + + + 0 + + + + Castle, Fire/Fence, low/Horizontal 02 + + + world/tileset/castle_fire/fence/high_set.dat + + Model + low_horiz_02 + + + 0 + + + + Castle, Fire/Fence, low/Horizontal 03 + + + world/tileset/castle_fire/fence/high_set.dat + + Model + low_horiz_02 + + + 0 + + + + Castle, Fire/Fence, low/Vertical 01 + + + world/tileset/castle_fire/fence/high_set.dat + + Model + low_vert_01 + + + 0 + + + + Castle, Fire/Fence, low/Vertical 02 + + + world/tileset/castle_fire/fence/high_set.dat + + Model + low_vert_02 + + + 0 + + + + Castle, Fire/Fence, low/Vertical 03 + + + world/tileset/castle_fire/fence/high_set.dat + + Model + low_vert_03 + + + 0 + + + + Castle, Fire/Floor Edge/01 + + + world/tileset/castle_fire/rail/rail_set.dat + + Model + edge_01 + + + + 2 + + + + + Castle, Fire/Floor Edge/02 + + + world/tileset/castle_fire/rail/rail_set.dat + + Model + edge_02 + + + + 2 + + + + + Castle, Fire/Floor Edge/03 + + + world/tileset/castle_fire/rail/rail_set.dat + + Model + edge_03 + + + + 2 + + + + + Castle, Fire/Floor Edge/04 + + + world/tileset/castle_fire/rail/rail_set.dat + + Model + edge_04 + + + + 2 + + + + + Castle, Fire/Floor Edge/Back, crenellation + + + world/tileset/castle_fire/rail/rail_set.dat + + Model + back_crenellation + + + + 2 + + + + + Castle, Fire/Floor Edge/Back, flat + + + world/tileset/castle_fire/rail/rail_set.dat + + Model + back_flat + + + + 2 + + + + + Castle, Fire/Floor Edge/Corner In 01 + + + world/tileset/castle_fire/rail/rail_set.dat + + Model + edge_corner_in_01 + + + + 2 + + + + + Castle, Fire/Floor Edge/Corner In 02 + + + world/tileset/castle_fire/rail/rail_set.dat + + Model + edge_corner_in_02 + + + + 2 + + + + + Castle, Fire/Floor Edge/Corner In 03 + + + world/tileset/castle_fire/rail/rail_set.dat + + Model + edge_corner_in_03 + + + + 2 + + + + + Castle, Fire/Floor Edge/Corner Out 01 + + + world/tileset/castle_fire/rail/rail_set.dat + + Model + edge_corner_out_01 + + + + 2 + + + + + Castle, Fire/Floor Edge/Corner Out 02 + + + world/tileset/castle_fire/rail/rail_set.dat + + Model + edge_corner_out_02 + + + + 2 + + + + + Castle, Fire/Floor/Cobblestone 01 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + cobblestone_01 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + + + + + + + Castle, Fire/Floor/Cobblestone 02 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + cobblestone_02 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + + + + + + + Castle, Fire/Floor/Cobblestone 03 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + cobblestone_03 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + + + + + + + Castle, Fire/Floor/Cobblestone 04 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + cobblestone_04 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + + + + + + + Castle, Fire/Floor/Cobblestone 05, raised + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + cobblestone_05 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + + + + + + + Castle, Fire/Floor/Cobblestone 06, raised + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + cobblestone_06 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + + + + + + + Castle, Fire/Floor/Cobblestone 07, raised + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + cobblestone_07 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + + + + + + + Castle, Fire/Floor/Cobblestone 08, raised + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + cobblestone_08 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + + + + + + + Castle, Fire/Floor/Cobblestone x2, flower + + 2 + 2 + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + cobblestone_x2_01 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + 0, 0 + 0, 0 + + + + + Castle, Fire/Floor/Cobblestone, biege 01 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_biege.png + Model + cobblestone_01 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + + + + + + + Castle, Fire/Floor/Cobblestone, biege 02 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_biege.png + Model + cobblestone_02 + + + + + + + + + + Castle, Fire/Floor/Cobblestone, biege 03 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_biege.png + Model + cobblestone_03 + + + + + + + + + + Castle, Fire/Floor/Cobblestone, biege 04 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_biege.png + Model + cobblestone_04 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + + + + + + + Castle, Fire/Floor/Cobblestone, gold 01 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_gold.png + Model + cobblestone_01 + + + + + + + + + + Castle, Fire/Floor/Cobblestone, gold 02 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_gold.png + Model + cobblestone_02 + + + + + + + + + + Castle, Fire/Floor/Cobblestone, gold 03 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_gold.png + Model + cobblestone_03 + + + + + + + + + + Castle, Fire/Floor/Cobblestone, gold 04 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_gold.png + Model + cobblestone_04 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + + + + + + + Castle, Fire/Floor/Tile of Interest, 01 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + tile_of_interest_01 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + + + + + + + Castle, Fire/Floor/Tile of Interest, 02 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + tile_of_interest_02 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + + + + + + + Castle, Fire/Floor/Tile of Interest, etched Z + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + tile_of_interest_04 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + + + + + + + Castle, Fire/Floor/Tile of Interest, etched diamond + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + tile_of_interest_03 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + + + + + + + Castle, Fire/Floor/Transition 1, North 1 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + cobble_trans1_N1 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_transition1.png + + + + + + + + + + Castle, Fire/Floor/Transition 1, North 2 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + cobble_trans1_N2 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_transition1.png + + + + + + + + + + Castle, Fire/Floor/Transition 1, West 1 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + cobble_trans1_W1 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_transition1.png + + + + + + + + + + Castle, Fire/Floor/Transition 1, West 2 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + cobble_trans1_W2 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_transition1.png + + + + + + + + + + Castle, Fire/Floor/Transition 1, corner In NE + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + cobble_trans1_in_ne + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_transition1.png + + + + + + + + + + Castle, Fire/Floor/Transition 1, corner In NW + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + cobble_trans1_in_nw + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_transition1.png + + + + + + + + + + Castle, Fire/Floor/Transition 1, corner Out NE + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + cobble_trans1_out_ne + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_transition1.png + + + + + + + + + + Castle, Fire/Floor/Transition 1, corner Out NW + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + cobble_trans1_out_nw + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_transition1.png + + + + + + + + + + Castle, Fire/Floor/Wall trim, North 1 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + cobble_trans1_N1 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + + + + + + + Castle, Fire/Floor/Wall trim, North 2 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + cobble_trans1_N2 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + + + + + + + Castle, Fire/Floor/Wall trim, West 1 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + cobble_trans1_W1 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + + + + + + + Castle, Fire/Floor/Wall trim, West 2 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + cobble_trans1_W2 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + + + + + + + Castle, Fire/Floor/Wall trim, corner In NE + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + cobble_trans1_in_ne + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + + + + + + + Castle, Fire/Floor/Wall trim, corner In NW + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + cobble_trans1_in_nw + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + + + + + + + Castle, Fire/Floor/Wall trim, corner Out NE + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + cobble_trans1_out_ne + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + + + + + + + Castle, Fire/Floor/Wall trim, corner Out NW + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + cobble_trans1_out_nw + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + + + + + + + Castle, Fire/Stairs/Edge, stair L 01 + + + world/tileset/castle_fire/rail/rail_set.dat + + Model + edge_stair_01_L + + + + 2 + + + + + Castle, Fire/Stairs/Edge, stair L 02 + + + world/tileset/castle_fire/rail/rail_set.dat + + Model + edge_stair_02_L + + + + 2 + + + + + Castle, Fire/Stairs/Edge, stair R 01 + + + world/tileset/castle_fire/rail/rail_set.dat + + Model + edge_stair_01_R + + + + 2 + + + + + Castle, Fire/Stairs/Edge, stair R 02 + + + world/tileset/castle_fire/rail/rail_set.dat + + Model + edge_stair_02_R + + + + 2 + + + + + Castle, Fire/Stairs/stair 01 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + stair_S_01 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + 0 + + + + + Castle, Fire/Stairs/stair 02 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + stair_S_02 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + 0 + + + + + Castle, Fire/Stairs/stair 03 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + stair_S_03 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + 0 + + + + + Castle, Fire/Stairs/stair, Trim East + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + stair_trim_E + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + 0 + + + + + Castle, Fire/Stairs/stair, Trim East 2 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + stair_trim_E2 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + 0 + + + + + Castle, Fire/Stairs/stair, Trim East 3 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + stair_trim_E3 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + 0 + + + + + Castle, Fire/Stairs/stair, Trim West + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + stair_trim_W + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + 0 + + + + + Castle, Fire/Stairs/stair, Trim West 2 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + stair_trim_W2 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + 0 + + + + + Castle, Fire/Stairs/stair, Trim West 3 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + stair_trim_W3 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + 0 + + + + + Castle, Fire/Stairs/stair, corner IN 01 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + stair_In_SW_01 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + 0 + + + + + Castle, Fire/Stairs/stair, corner OUT 01 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + stair_Out_SW_01 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + 0 + + + + + Castle, Fire/Stairs/stair, corner OUT 02 + + + world/tileset/castle_fire/floor/floor_set.dat + + Cobblestone texture + world/tileset/castle_fire/floor/cobble_hex_blue1.png + Model + stair_Out_SW_02 + Trim/Transition texture + world/tileset/castle_fire/floor/cobble_hex_trim.png + + + + 0 + + + + + Castle, Fire/Wall/Arch + + + world/tileset/castle_fire/wall/wall_set.dat + + Model + wall_arch_01 + + + 0 + + + + Castle, Fire/Wall/Arch - Alcove + + + world/tileset/castle_fire/wall/wall_set.dat + + Model + wall_arch_alcove + + + 0 + + + + Castle, Fire/Wall/Arch Three-unit + + 3 + + world/tileset/castle_fire/wall/wall_set.dat + + Model + wall_arch_Three_01 + + + + 1, 1, 1 + + 0 + + + + Castle, Fire/Wall/Arch Three-unit - Alcoves + + 3 + + world/tileset/castle_fire/wall/wall_set.dat + + Model + wall_arch_Three_alcoves + + + + 1, 1, 1 + + 0 + + + + Castle, Fire/Wall/Arch Three-unit - Doorway + + 3 + + world/tileset/castle_fire/wall/wall_set.dat + + Model + wall_arch_Three_doorway + + + + 1, 1, 1 + + 0 + + + + Castle, Fire/Wall/Arch Three-unit - Window + + 3 + + world/tileset/castle_fire/wall/wall_set.dat + + Model + wall_arch_Three_window + + + + 1, 1, 1 + + 0 + + + + Castle, Fire/Wall/Arch Two-unit + + 2 + + world/tileset/castle_fire/wall/wall_set.dat + + Model + wall_arch_Two_01 + + + + 1, 1 + + 0 + + + + Castle, Fire/Wall/Arch Two-unit - Alcoves + + 2 + + world/tileset/castle_fire/wall/wall_set.dat + + Model + wall_arch_Two_alcoves + + + + 1, 1 + + 0 + + + + Castle, Fire/Wall/Arch Two-unit - Doorway + + 2 + + world/tileset/castle_fire/wall/wall_set.dat + + Model + wall_arch_Two_doorway + + + + 1, 1 + + 0 + + + + Castle, Fire/Wall/Arch Two-unit - Window + + 2 + + world/tileset/castle_fire/wall/wall_set.dat + + Model + wall_arch_Two_window + + + + 1, 1 + + 0 + + + + Castle, Fire/Wall/Back 01 + + + world/tileset/castle_fire/wall/wall_set.dat + + Model + wall_back_01 + + + 0 + + + + Castle, Fire/Wall/Back, corner IN NE + + + world/tileset/castle_fire/wall/wall_set.dat + + Model + corner_in_NE + + + 0 + + + + Castle, Fire/Wall/Back, corner IN NW + + + world/tileset/castle_fire/wall/wall_set.dat + + Model + corner_in_NW + + + 0 + + + + Castle, Fire/Wall/Back, corner Out NE + + + world/tileset/castle_fire/wall/wall_set.dat + + Model + corner_out_NE + + + 0 + + + + Castle, Fire/Wall/Back, corner Out NW + + + world/tileset/castle_fire/wall/wall_set.dat + + Model + corner_out_NW + + + 0 + + + + Castle, Fire/Wall/Corner IN 01 + + + world/tileset/castle_fire/wall/wall_set.dat + + Model + corner_in_01 + + + 0 + + + + Castle, Fire/Wall/Corner OUT 01 + + + world/tileset/castle_fire/wall/wall_set.dat + + Model + corner_out_01 + + + 0 + + + + Castle, Fire/Wall/Corner OUT 02 + + + world/tileset/castle_fire/wall/wall_set.dat + + Model + corner_out_02 + + + 0 + + + + Castle, Fire/Wall/Flat - Alcove + + + world/tileset/castle_fire/wall/wall_set.dat + + Model + wall_flat_alcove + + + 0 + + + + Castle, Fire/Wall/Flat A + + + world/tileset/castle_fire/wall/wall_set.dat + + Model + wall_flat_A01 + + + 0 + + + + Castle, Fire/Wall/Flat B + + + world/tileset/castle_fire/wall/wall_set.dat + + Model + wall_flat_B01 + + + 0 + + + + Castle, Fire/Wall/Flat C + + + world/tileset/castle_fire/wall/wall_set.dat + + Model + wall_flat_C + + + 0 + + + + Castle, Fire/Wall/Pillar 01 + + + world/tileset/castle_fire/wall/wall_set.dat + + Model + wall_pillar_01 + + + 0 + + + + Castle, Fire/Wall/Roof 01 + + + world/tileset/castle_fire/wall/wall_set.dat + + Model + roof_01 + + + + + + Castle, Light/Fence, Low/Corner 01 + + + world/tileset/castle_light/wall/wall_set.dat + + Model + low_corner_01 + + + + 2 + + 0 + + + + Castle, Light/Fence, Low/Corner 02 + + + world/tileset/castle_light/wall/wall_set.dat + + Model + low_corner_02 + + + + 2 + + 0 + + + + Castle, Light/Fence, Low/Horizontal 01 + + + world/tileset/castle_light/wall/wall_set.dat + + Model + low_horiz_01 + + + + 2 + + 0 + + + + Castle, Light/Fence, Low/Horizontal 02 + + + world/tileset/castle_light/wall/wall_set.dat + + Model + low_horiz_02 + + + + 2 + + 0 + + + + Castle, Light/Fence, Low/Vertical 01 + + + world/tileset/castle_light/wall/wall_set.dat + + Model + low_vert_01 + + + + 2 + + 0 + + + + Castle, Light/Fence, Low/Vertical 02 + + + world/tileset/castle_light/wall/wall_set.dat + + Model + low_vert_02 + + + + 2 + + 0 + + + + Castle, Light/Floor/BLOCK tile + + + world/tileset/castle_base/floor/model.dat + + Model + floor_block + + + + + + + + + + Castle, Light/Floor/Cobblestone 01 + + + world/tileset/castle_light/floor/floor_generic_set.dat + + Model + dirtcobble_01 + + + + + + + + + + Castle, Light/Floor/Cobblestone 02 + + + world/tileset/castle_light/floor/floor_generic_set.dat + + Model + dirtcobble_02 + + + + + + + + + + Castle, Light/Floor/Cobblestone 03 + + + world/tileset/castle_light/floor/floor_generic_set.dat + + Model + dirtcobble_03 + + + + + + + + + + Castle, Light/Floor/Cobblestone 04 + + + world/tileset/castle_light/floor/floor_generic_set.dat + + Model + dirtcobble_04 + + + + + + + + + + Castle, Light/Floor/Rug 01 + + + world/tileset/castle_base/floor/model.dat + + Model + rug_01 + + + + + + + + + + Castle, Light/Floor/Rug, corner NE + + + world/tileset/castle_base/floor/model.dat + + Model + rug_corner_NE + + + + + + + + + + Castle, Light/Floor/Rug, corner NW + + + world/tileset/castle_base/floor/model.dat + + Model + rug_corner_NW + + + + + + + + + + Castle, Light/Floor/Rug, corner SE + + + world/tileset/castle_base/floor/model.dat + + Model + rug_corner_SE + + + + + + + + + + Castle, Light/Floor/Rug, corner SW + + + world/tileset/castle_base/floor/model.dat + + Model + rug_corner_SW + + + + + + + + + + Castle, Light/Floor/Rug, corner_In NE + + + world/tileset/castle_base/floor/model.dat + + Model + rug_corner_IN_NE + + + + + + + + + + Castle, Light/Floor/Rug, corner_In NW + + + world/tileset/castle_base/floor/model.dat + + Model + rug_corner_IN_NW + + + + + + + + + + Castle, Light/Floor/Rug, corner_In SE + + + world/tileset/castle_base/floor/model.dat + + Model + rug_corner_IN_SE + + + + + + + + + + Castle, Light/Floor/Rug, corner_In SW + + + world/tileset/castle_base/floor/model.dat + + Model + rug_corner_IN_SW + + + + + + + + + + Castle, Light/Floor/Rug, side Back 01 + + + world/tileset/castle_base/floor/model.dat + + Model + rug_edgeBack_01 + + + + + + + + + + Castle, Light/Floor/Rug, side East 01 + + + world/tileset/castle_base/floor/model.dat + + Model + rug_edge_E01 + + + + + + + + + + Castle, Light/Floor/Rug, side Front 01 + + + world/tileset/castle_base/floor/model.dat + + Model + rug_edgeFront_01 + + + + + + + + + + Castle, Light/Floor/Rug, side West 01 + + + world/tileset/castle_base/floor/model.dat + + Model + rug_edge_W01 + + + + + + + + + + Castle, Light/Floor/Tile, dark 2x2 01 + + 2 + 2 + + world/tileset/castle_light/floor/floor_set.dat + + + 0, 0 + 0, 0 + + + + + Castle, Light/Floor/Tile, dark A + + + world/tileset/castle_light/floor/floor_set.dat + + + + + + + + + Castle, Light/Floor/Tile, dark B + + + world/tileset/castle_light/floor/floor_set.dat + + + + + + + + + Castle, Light/Floor/Tile, dark C + + + world/tileset/castle_light/floor/floor_set.dat + + + + + + + + + Castle, Light/Floor/Tile, dark D + + + world/tileset/castle_light/floor/floor_set.dat + + + + + + + + + Castle, Light/Floor/Tile, light 2x2 01 + + 2 + 2 + + world/tileset/castle_light/floor/floor_set.dat + + + 0, 0 + 0, 0 + + + + + Castle, Light/Floor/Tile, light A + + + world/tileset/castle_light/floor/floor_set.dat + + + + + + + + + Castle, Light/Floor/Tile, light B + + + world/tileset/castle_light/floor/floor_set.dat + + + + + + + + + Castle, Light/Floor/Tile, light C + + + world/tileset/castle_light/floor/floor_set.dat + + + + + + + + + Castle, Light/Floor/Tile, light D + + + world/tileset/castle_light/floor/floor_set.dat + + + + + + + + + Castle, Light/Floor/Wall runner corner IN 01 + + + world/tileset/castle_base/floor/model.dat + + Model + wallRunner_corner_in_01 + + + + + + + + + + Castle, Light/Floor/Wall runner corner OUT 01 + + + world/tileset/castle_base/floor/model.dat + + Model + wallRunner_corner_out_01 + + + + + + + + + + Castle, Light/Floor/Wall runner front, 01 + + + world/tileset/castle_base/floor/model.dat + + Model + wallRunner_front_01 + + + + + + + + + + Castle, Light/Floor/Wall runner side, 01 + + + world/tileset/castle_base/floor/model.dat + + Model + wallRunner_side_01 + + + + + + + + + + Castle, Light/Rail/01 + + + world/tileset/castle_light/rail/rail_set.dat + + Model + edge_01 + + + + 2 + + + + + Castle, Light/Rail/02 + + + world/tileset/castle_light/rail/rail_set.dat + + Model + edge_02 + + + + 2 + + + + + Castle, Light/Rail/03 + + + world/tileset/castle_light/rail/rail_set.dat + + Model + edge_03 + + + + 2 + + + + + Castle, Light/Rail/04 + + + world/tileset/castle_light/rail/rail_set.dat + + Model + edge_04 + + + + 2 + + + + + Castle, Light/Rail/Back, crenellation + + + world/tileset/castle_light/rail/rail_set.dat + + Model + back_crenellation + + + + 2 + + + + + Castle, Light/Rail/Back, flat + + + world/tileset/castle_light/rail/rail_set.dat + + Model + back_flat + + + + 2 + + + + + Castle, Light/Rail/Corner In 01 + + + world/tileset/castle_light/rail/rail_set.dat + + Model + edge_corner_in_01 + + + + 2 + + + + + Castle, Light/Rail/Corner In 02 + + + world/tileset/castle_light/rail/rail_set.dat + + Model + edge_corner_in_02 + + + + 2 + + + + + Castle, Light/Rail/Corner In 03 + + + world/tileset/castle_light/rail/rail_set.dat + + Model + edge_corner_in_03 + + + + 2 + + + + + Castle, Light/Rail/Corner Out 01 + + + world/tileset/castle_light/rail/rail_set.dat + + Model + edge_corner_out_01 + + + + 2 + + + + + Castle, Light/Rail/Corner Out 02 + + + world/tileset/castle_light/rail/rail_set.dat + + Model + edge_corner_out_02 + + + + 2 + + + + + Castle, Light/Rail/Corner Out 03 + + + world/tileset/castle_light/rail/rail_set.dat + + Model + edge_corner_out_03 + + + + 2 + + + + + Castle, Light/Rail/Thin 01 + + + world/tileset/castle_light/rail/rail_set.dat + + Model + edge_thin_01 + + + + 2 + + + + + Castle, Light/Rail/Thin U-tile 01 + + + world/tileset/castle_light/rail/rail_set.dat + + Model + edge_thin_U_01 + + + + 2 + + + + + Castle, Light/Rail/Thin, corner + edge A01 + + + world/tileset/castle_light/rail/rail_set.dat + + Model + edge_thin_flat_edge_A01 + + + + 2 + + + + + Castle, Light/Rail/Thin, corner + edge A02 + + + world/tileset/castle_light/rail/rail_set.dat + + Model + edge_thin_flat_edge_A02 + + + + 2 + + + + + Castle, Light/Rail/Thin, corner + edge B01 + + + world/tileset/castle_light/rail/rail_set.dat + + Model + edge_thin_flat_edge_B01 + + + + 2 + + + + + Castle, Light/Rail/Thin, corner + edge B02 + + + world/tileset/castle_light/rail/rail_set.dat + + Model + edge_thin_flat_edge_B02 + + + + 2 + + + + + Castle, Light/Rail/Thin, corner Out 01 + + + world/tileset/castle_light/rail/rail_set.dat + + Model + edge_thin_corner_Out_01 + + + + 2 + + + + + Castle, Light/Rail/Thin, corner Out 02 + + + world/tileset/castle_light/rail/rail_set.dat + + Model + edge_thin_corner_Out_02 + + + + 2 + + + + + Castle, Light/Rail/Thin, corner Out 03 + + + world/tileset/castle_light/rail/rail_set.dat + + Model + edge_thin_corner_Out_03 + + + + 2 + + + + + Castle, Light/Rail/Thin, corner Out 04 + + + world/tileset/castle_light/rail/rail_set.dat + + Model + edge_thin_corner_Out_04 + + + + 2 + + + + + Castle, Light/Stairs/Edge, stair Corner L1 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_stair_corner_L1 + + + + 2 + + + + + Castle, Light/Stairs/Edge, stair Corner L2 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_stair_corner_L2 + + + + 2 + + + + + Castle, Light/Stairs/Edge, stair Corner L3 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_stair_corner_L3 + + + + 2 + + + + + Castle, Light/Stairs/Edge, stair Corner L4 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_stair_corner_L4 + + + + 2 + + + + + Castle, Light/Stairs/Edge, stair Corner R1 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_stair_corner_R1 + + + + 2 + + + + + Castle, Light/Stairs/Edge, stair Corner R2 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_stair_corner_R2 + + + + 2 + + + + + Castle, Light/Stairs/Edge, stair Corner R3 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_stair_corner_R3 + + + + 2 + + + + + Castle, Light/Stairs/Edge, stair Corner R4 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_stair_corner_R4 + + + + 2 + + + + + Castle, Light/Stairs/Edge, stair L 01 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_stair_01_L + + + + 2 + + + + + Castle, Light/Stairs/Edge, stair L 02 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_stair_02_L + + + + 2 + + + + + Castle, Light/Stairs/Edge, stair R 01 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_stair_01_R + + + + 2 + + + + + Castle, Light/Stairs/Edge, stair R 02 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_stair_02_R + + + + 2 + + + + + Castle, Light/Stairs/Rug, stair 01 + + + world/tileset/castle_base/floor/model.dat + + Model + rug_stair_01 + + + + 0 + + + + + Castle, Light/Stairs/Rug, stair edge Left 01 + + + world/tileset/castle_base/floor/model.dat + + Model + rug_stair_edge_L01 + + + + 0 + + + + + Castle, Light/Stairs/Rug, stair edge Right 01 + + + world/tileset/castle_base/floor/model.dat + + Model + rug_stair_edge_R01 + + + + 0 + + + + + Castle, Light/Stairs/Wall, stair L01 + + + world/tileset/castle_base/wall/model.dat + + Model + wall_stair_01_L + + + + + + Castle, Light/Stairs/Wall, stair L02 + + + world/tileset/castle_base/wall/model.dat + + Model + wall_stair_02_L + + + + + + Castle, Light/Stairs/Wall, stair R01 + + + world/tileset/castle_base/wall/model.dat + + Model + wall_stair_01_R + + + + + + Castle, Light/Stairs/Wall, stair R02 + + + world/tileset/castle_base/wall/model.dat + + Model + wall_stair_02_R + + + + + + Castle, Light/Stairs/stair 01 + + + world/tileset/castle_base/floor/model.dat + + Model + stair_01 + + + + 0 + + + + + Castle, Light/Stairs/stair, corner IN 01 + + + world/tileset/castle_base/floor/model.dat + + Model + stairs_corner_in_01 + + + + 0 + + + + + Castle, Light/Stairs/stair, corner OUT 01 + + + world/tileset/castle_base/floor/model.dat + + Model + stairs_corner_out_01 + + + + 0 + + + + + Castle, Light/Wall/Arch + + + world/tileset/castle_light/wall/wall_set.dat + + Model + wall_arch_01 + + + 0 + + + + Castle, Light/Wall/Arch - Brazier + + + world/tileset/castle_light/wall/brazier_x1.dat + + 0 + + + + Castle, Light/Wall/Arch Three-unit + + 3 + + world/tileset/castle_light/wall/wall_set.dat + + Model + wall_arch_Three_01 + + + + 1, 1, 1 + + 0 + + + + Castle, Light/Wall/Arch Three-unit - Brazier + + 3 + + world/tileset/castle_light/wall/brazier_x3.dat + + + 1, 1, 1 + + 0 + + + + Castle, Light/Wall/Arch Three-unit - Doorway + + 3 + + world/tileset/castle_light/wall/wall_set.dat + + Model + wall_arch_Three_doorway + + + + 1, 1, 1 + + 0 + + + + Castle, Light/Wall/Arch Three-unit - Window + + 3 + + world/tileset/castle_light/wall/wall_set.dat + + Model + wall_arch_Three_window + + + + 1, 1, 1 + + 0 + + + + Castle, Light/Wall/Arch Two-unit + + 2 + + world/tileset/castle_light/wall/wall_set.dat + + Model + wall_arch_Two_01 + + + + 1, 1 + + 0 + + + + Castle, Light/Wall/Arch Two-unit - Brazier + + 2 + + world/tileset/castle_light/wall/brazier_x2.dat + + + 1, 1 + + 0 + + + + Castle, Light/Wall/Arch Two-unit - Doorway + + 2 + + world/tileset/castle_light/wall/wall_set.dat + + Model + wall_arch_Two_doorway + + + + 1, 1 + + 0 + + + + Castle, Light/Wall/Arch Two-unit - Window + + 2 + + world/tileset/castle_light/wall/wall_set.dat + + Model + wall_arch_Two_window + + + + 1, 1 + + 0 + + + + Castle, Light/Wall/Back 01 + + + world/tileset/castle_light/wall/wall_set.dat + + Model + wall_back_01 + + + 0 + + + + Castle, Light/Wall/Back, corner IN NE + + + world/tileset/castle_light/wall/wall_set.dat + + Model + corner_in_NE + + + 0 + + + + Castle, Light/Wall/Back, corner IN NW + + + world/tileset/castle_light/wall/wall_set.dat + + Model + corner_in_NW + + + 0 + + + + Castle, Light/Wall/Back, corner Out NE + + + world/tileset/castle_light/wall/wall_set.dat + + Model + corner_out_NE + + + 0 + + + + Castle, Light/Wall/Back, corner Out NW + + + world/tileset/castle_light/wall/wall_set.dat + + Model + corner_out_NW + + + 0 + + + + Castle, Light/Wall/Corner IN 01 + + + world/tileset/castle_light/wall/wall_set.dat + + Model + corner_in_01 + + + 0 + + + + Castle, Light/Wall/Corner IN 02 + + + world/tileset/castle_light/wall/wall_set.dat + + Model + corner_in_02 + + + 0 + + + + Castle, Light/Wall/Corner OUT 01 + + + world/tileset/castle_light/wall/wall_set.dat + + Model + corner_out_01 + + + 0 + + + + Castle, Light/Wall/Corner OUT 02 + + + world/tileset/castle_light/wall/wall_set.dat + + Model + corner_out_02 + + + 0 + + + + Castle, Light/Wall/Flat - Alcove + + + world/tileset/castle_light/wall/wall_set.dat + + Model + wall_flat_alcove + + + 0 + + + + Castle, Light/Wall/Flat A + + + world/tileset/castle_light/wall/wall_set.dat + + Model + wall_flat_01 + + + 0 + + + + Castle, Light/Wall/Flat B + + + world/tileset/castle_light/wall/wall_set.dat + + Model + wall_flat_02 + + + 0 + + + + Castle, Light/Wall/Flat C + + + world/tileset/castle_light/wall/wall_set.dat + + Model + wall_flat_C + + + 0 + + + + Castle, Light/Wall/Pillar 01 + + + world/tileset/castle_light/wall/wall_set.dat + + Model + wall_pillar_01 + + + 0 + + + + Castle, Light/Wall/Roof 01 + + + world/tileset/castle_light/wall/wall_set.dat + + Model + roof_01 + + + + + + Castle, Light/Wall/Uneven 01 + + + world/tileset/castle_light/wall/wall_set.dat + + Model + wall_uneven_01 + + + 0 + + + + Castle, Light/Wall/Uneven 02 + + + world/tileset/castle_light/wall/wall_set.dat + + Model + wall_uneven_02 + + + 0 + + + + Castle, Light/Wall/Uneven 03 + + + world/tileset/castle_light/wall/wall_set.dat + + Model + wall_uneven_03 + + + 0 + + + + Castle, Light/Wall/Uneven 04 + + + world/tileset/castle_light/wall/wall_set.dat + + Model + wall_uneven_04 + + + 0 + + + + Castle/Floor Edge/01 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_01 + + + + 2 + + + + + Castle/Floor Edge/02 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_02 + Texture variant + world/tileset/castle_base/edge.png + + + + 2 + + + + + Castle/Floor Edge/03 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_03 + + + + 2 + + + + + Castle/Floor Edge/04 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_04 + Texture variant + world/tileset/castle_base/edge.png + + + + 2 + + + + + Castle/Floor Edge/Back, crenellation + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + back_crenellation + + + + 2 + + + + + Castle/Floor Edge/Back, flat + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + back_flat + Texture variant + world/tileset/castle_base/edge.png + + + + 2 + + + + + Castle/Floor Edge/Corner In 01 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_corner_in_01 + Texture variant + world/tileset/castle_base/edge.png + + + + 2 + + + + + Castle/Floor Edge/Corner In 02 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_corner_in_02 + Texture variant + world/tileset/castle_base/edge.png + + + + 2 + + + + + Castle/Floor Edge/Corner In 03 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_corner_in_03 + + + + 2 + + + + + Castle/Floor Edge/Corner Out 01 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_corner_out_01 + Texture variant + world/tileset/castle_base/edge.png + + + + 2 + + + + + Castle/Floor Edge/Corner Out 02 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_corner_out_02 + Texture variant + world/tileset/castle_base/edge.png + + + + 2 + + + + + Castle/Floor Edge/Thin 01 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_thin_01 + Texture variant + world/tileset/castle_base/edge.png + + + + 2 + + + + + Castle/Floor Edge/Thin U-tile 01 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_thin_U_01 + Texture variant + world/tileset/castle_base/edge.png + + + + 2 + + + + + Castle/Floor Edge/Thin, corner + edge A01 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_thin_flat_edge_A01 + + + + 2 + + + + + Castle/Floor Edge/Thin, corner + edge A02 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_thin_flat_edge_A02 + Texture variant + world/tileset/castle_base/edge.png + + + + 2 + + + + + Castle/Floor Edge/Thin, corner + edge B01 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_thin_flat_edge_B01 + Texture variant + world/tileset/castle_base/edge.png + + + + 2 + + + + + Castle/Floor Edge/Thin, corner + edge B02 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_thin_flat_edge_B02 + Texture variant + world/tileset/castle_base/edge.png + + + + 2 + + + + + Castle/Floor Edge/Thin, corner Out 01 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_thin_corner_Out_01 + Texture variant + world/tileset/castle_base/edge.png + + + + 2 + + + + + Castle/Floor Edge/Thin, corner Out 02 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_thin_corner_Out_02 + Texture variant + world/tileset/castle_base/edge.png + + + + 2 + + + + + Castle/Floor Edge/Thin, corner Out 03 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_thin_corner_Out_03 + Texture variant + world/tileset/castle_base/edge.png + + + + 2 + + + + + Castle/Floor Edge/Thin, corner Out 04 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_thin_corner_Out_04 + Texture variant + world/tileset/castle_base/edge.png + + + + 2 + + + + + Castle/Floor/BLOCK tile + + + world/tileset/castle_base/floor/model.dat + + Model + floor_block + + + + + + + + + + Castle/Floor/Cobblestone 01 + + + world/tileset/castle_base/floor/model.dat + + Model + cobblestone_01 + + + + + + + + + + Castle/Floor/Cobblestone 02 + + + world/tileset/castle_base/floor/model.dat + + Model + cobblestone_02 + + + + + + + + + + Castle/Floor/Cobblestone 03 + + + world/tileset/castle_base/floor/model.dat + + Model + cobblestone_01 + + + + + + + + + + Castle/Floor/Cobblestone 04 + + + world/tileset/castle_base/floor/model.dat + + Model + cobblestone_02 + + + + + + + + + + Castle/Floor/Rug 01 + + + world/tileset/castle_base/floor/model.dat + + Model + rug_01 + + + + + + + + + + Castle/Floor/Rug, corner NE + + + world/tileset/castle_base/floor/model.dat + + Model + rug_corner_NE + + + + + + + + + + Castle/Floor/Rug, corner NW + + + world/tileset/castle_base/floor/model.dat + + Model + rug_corner_NW + + + + + + + + + + Castle/Floor/Rug, corner SE + + + world/tileset/castle_base/floor/model.dat + + Model + rug_corner_SE + + + + + + + + + + Castle/Floor/Rug, corner SW + + + world/tileset/castle_base/floor/model.dat + + Model + rug_corner_SW + + + + + + + + + + Castle/Floor/Rug, corner_In NE + + + world/tileset/castle_base/floor/model.dat + + Model + rug_corner_IN_NE + + + + + + + + + + Castle/Floor/Rug, corner_In NW + + + world/tileset/castle_base/floor/model.dat + + Model + rug_corner_IN_NW + + + + + + + + + + Castle/Floor/Rug, corner_In SE + + + world/tileset/castle_base/floor/model.dat + + Model + rug_corner_IN_SE + + + + + + + + + + Castle/Floor/Rug, corner_In SW + + + world/tileset/castle_base/floor/model.dat + + Model + rug_corner_IN_SW + + + + + + + + + + Castle/Floor/Rug, side Back 01 + + + world/tileset/castle_base/floor/model.dat + + Model + rug_edgeBack_01 + + + + + + + + + + Castle/Floor/Rug, side East 01 + + + world/tileset/castle_base/floor/model.dat + + Model + rug_edge_E01 + + + + + + + + + + Castle/Floor/Rug, side Front 01 + + + world/tileset/castle_base/floor/model.dat + + Model + rug_edgeFront_01 + + + + + + + + + + Castle/Floor/Rug, side West 01 + + + world/tileset/castle_base/floor/model.dat + + Model + rug_edge_W01 + + + + + + + + + + Castle/Floor/Tile, dark 2x2 01 + + 2 + 2 + + world/tileset/castle_base/floor/model.dat + + Model + floor_dark_group2x2_01 + + + + 0, 0 + 0, 0 + + + + + Castle/Floor/Tile, dark A + + + world/tileset/castle_base/floor/model.dat + + Model + floor_dark_a + + + + + + + + + + Castle/Floor/Tile, dark B + + + world/tileset/castle_base/floor/model.dat + + Model + floor_dark_b + + + + + + + + + + Castle/Floor/Tile, dark C + + + world/tileset/castle_base/floor/model.dat + + Model + floor_dark_c + + + + + + + + + + Castle/Floor/Tile, dark D + + + world/tileset/castle_base/floor/model.dat + + Model + floor_dark_d + + + + + + + + + + Castle/Floor/Tile, light 2x2 01 + + 2 + 2 + + world/tileset/castle_base/floor/model.dat + + Model + floor_light_group2x2_01 + + + + 0, 0 + 0, 0 + + + + + Castle/Floor/Tile, light A + + + world/tileset/castle_base/floor/model.dat + + Model + floor_light_a + + + + + + + + + + Castle/Floor/Tile, light B + + + world/tileset/castle_base/floor/model.dat + + Model + floor_light_b + + + + + + + + + + Castle/Floor/Tile, light C + + + world/tileset/castle_base/floor/model.dat + + Model + floor_light_c + + + + + + + + + + Castle/Floor/Tile, light D + + + world/tileset/castle_base/floor/model.dat + + Model + floor_light_d + + + + + + + + + + Castle/Floor/Wall runner corner IN 01 + + + world/tileset/castle_base/floor/model.dat + + Model + wallRunner_corner_in_01 + + + + + + + + + + Castle/Floor/Wall runner corner OUT 01 + + + world/tileset/castle_base/floor/model.dat + + Model + wallRunner_corner_out_01 + + + + + + + + + + Castle/Floor/Wall runner front, 01 + + + world/tileset/castle_base/floor/model.dat + + Model + wallRunner_front_01 + + + + + + + + + + Castle/Floor/Wall runner side, 01 + + + world/tileset/castle_base/floor/model.dat + + Model + wallRunner_side_01 + + + + + + + + + + Castle/Low/Corner + + + world/tileset/castle_base/low/model.dat + + Model + low_corner_01 + + + + 2 + + 0 + + + + Castle/Low/Horizontal 01 + + + world/tileset/castle_base/low/model.dat + + Model + low_horiz_01 + + + + 2 + + 0 + + + + Castle/Low/Horizontal 02 + + + world/tileset/castle_base/low/model.dat + + Model + low_horiz_02 + + + + 2 + + 0 + + + + Castle/Low/Vertical 01 + + + world/tileset/castle_base/low/model.dat + + Model + low_vert_01 + + + + 2 + + 0 + + + + Castle/Low/Vertical 02 + + + world/tileset/castle_base/low/model.dat + + Model + low_vert_02 + + + + 2 + + 0 + + + + Castle/Stairs/Edge, stair Corner L1 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_stair_corner_L1 + + + + 2 + + + + + Castle/Stairs/Edge, stair Corner L2 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_stair_corner_L2 + + + + 2 + + + + + Castle/Stairs/Edge, stair Corner L3 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_stair_corner_L3 + + + + 2 + + + + + Castle/Stairs/Edge, stair Corner L4 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_stair_corner_L4 + + + + 2 + + + + + Castle/Stairs/Edge, stair Corner R1 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_stair_corner_R1 + + + + 2 + + + + + Castle/Stairs/Edge, stair Corner R2 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_stair_corner_R2 + + + + 2 + + + + + Castle/Stairs/Edge, stair Corner R3 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_stair_corner_R3 + + + + 2 + + + + + Castle/Stairs/Edge, stair Corner R4 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_stair_corner_R4 + + + + 2 + + + + + Castle/Stairs/Edge, stair L 01 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_stair_01_L + + + + 2 + + + + + Castle/Stairs/Edge, stair L 02 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_stair_02_L + + + + 2 + + + + + Castle/Stairs/Edge, stair R 01 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_stair_01_R + + + + 2 + + + + + Castle/Stairs/Edge, stair R 02 + + + world/tileset/castle_base/floor_edge/edge.dat + + Model + edge_stair_02_R + + + + 2 + + + + + Castle/Stairs/Rug, stair 01 + + + world/tileset/castle_base/floor/model.dat + + Model + rug_stair_01 + + + + 0 + + + + + Castle/Stairs/Rug, stair edge Left 01 + + + world/tileset/castle_base/floor/model.dat + + Model + rug_stair_edge_L01 + + + + 0 + + + + + Castle/Stairs/Rug, stair edge Right 01 + + + world/tileset/castle_base/floor/model.dat + + Model + rug_stair_edge_R01 + + + + 0 + + + + + Castle/Stairs/Wall, stair L01 + + + world/tileset/castle_base/wall/model.dat + + Model + wall_stair_01_L + + + + + + Castle/Stairs/Wall, stair L02 + + + world/tileset/castle_base/wall/model.dat + + Model + wall_stair_02_L + + + + + + Castle/Stairs/Wall, stair R01 + + + world/tileset/castle_base/wall/model.dat + + Model + wall_stair_01_R + + + + + + Castle/Stairs/Wall, stair R02 + + + world/tileset/castle_base/wall/model.dat + + Model + wall_stair_02_R + + + + + + Castle/Stairs/stair 01 + + + world/tileset/castle_base/floor/model.dat + + Model + stair_01 + + + + 0 + + + + + Castle/Stairs/stair, corner IN 01 + + + world/tileset/castle_base/floor/model.dat + + Model + stairs_corner_in_01 + + + + 0 + + + + + Castle/Stairs/stair, corner OUT 01 + + + world/tileset/castle_base/floor/model.dat + + Model + stairs_corner_out_01 + + + + 0 + + + + + Castle/Wall/Arch 01 + + + world/tileset/castle_base/wall/model.dat + + Model + wall_arch_01 + + + 0 + + + + Castle/Wall/Arch 01a + + + world/tileset/castle_base/wall/model.dat + + Model + wall_arch_01a + + + 0 + + + + Castle/Wall/Arch 01b + + + world/tileset/castle_base/wall/model.dat + + Model + wall_arch_01b + + + 0 + + + + Castle/Wall/Arch 02, window + + + world/tileset/castle_base/wall/window_1unit.dat + + 0 + + + + Castle/Wall/Arch 03, statue + + + world/tileset/castle_base/wall/model.dat + + Model + wall_arch_03 + + + 0 + + + + Castle/Wall/Arch 04, brazier + + + world/tileset/castle_base/wall/torches_1unit.dat + + Torch color + orange + + + 0 + + + + Castle/Wall/Arch Three-unit 01 + + 3 + + world/tileset/castle_base/wall/model.dat + + Model + wall_arch_Three_01 + + + + 1, 1, 1 + + 0 + + + + Castle/Wall/Arch Three-unit 02, window + + 3 + + world/tileset/castle_base/wall/model.dat + + Model + wall_arch_Three_02 + + + + 1, 1, 1 + + 0 + + + + Castle/Wall/Arch Three-unit 03, statue + + 3 + + world/tileset/castle_base/wall/model.dat + + Model + wall_arch_Three_03 + + + + 1, 1, 1 + + 0 + + + + Castle/Wall/Arch Three-unit 04, brazier + + 3 + + world/tileset/castle_base/wall/torches_3unit.dat + + + 1, 1, 1 + + 0 + + + + Castle/Wall/Arch Two-unit 01 + + 2 + + world/tileset/castle_base/wall/model.dat + + Model + wall_arch_Two_01 + + + + 1, 1 + + 0 + + + + Castle/Wall/Arch Two-unit 02, window + + 2 + + world/tileset/castle_base/wall/window_2unit.dat + + + 1, 1 + + 0 + + + + Castle/Wall/Arch Two-unit 03, statue + + 2 + + world/tileset/castle_base/wall/model.dat + + Model + wall_arch_Two_03 + + + + 1, 1 + + 0 + + + + Castle/Wall/Back 01 + + + world/tileset/castle_base/wall/model.dat + + Model + wall_back + + + 0 + + + + Castle/Wall/Back, corner IN NE + + + world/tileset/castle_base/wall/model.dat + + Model + wall_back_In_NE + + + 0 + + + + Castle/Wall/Back, corner IN NW + + + world/tileset/castle_base/wall/model.dat + + Model + wall_back_In_NW + + + 0 + + + + Castle/Wall/Column 01 + + + world/tileset/castle_base/wall/model.dat + + Model + column_01 + + + 0 + + + + Castle/Wall/Corner IN 01 + + + world/tileset/castle_base/wall/model.dat + + Model + corner_in_01 + + + 0 + + + + Castle/Wall/Corner OUT 03 + + + world/tileset/castle_base/wall/model.dat + + Model + corner_out_03 + + + 0 + + + + Castle/Wall/Corner OUT 04 + + + world/tileset/castle_base/wall/model.dat + + Model + corner_out_04 + + + 0 + + + + Castle/Wall/Corner OUT, arch + + + world/tileset/castle_base/wall/model.dat + + Model + corner_out_01 + + + 0 + + + + Castle/Wall/Corner OUT, pillar + + + world/tileset/castle_base/wall/model.dat + + Model + corner_out_02 + + + 0 + + + + Castle/Wall/Flat A + + + world/tileset/castle_base/wall/model.dat + + Model + wall_flat_A01 + + + 0 + + + + Castle/Wall/Flat B + + + world/tileset/castle_base/wall/model.dat + + Model + wall_flat_B01 + + + 0 + + + + Castle/Wall/Pillar 01 + + + world/tileset/castle_base/wall/model.dat + + Model + wall_pllr_01 + + + 0 + + + + Castle/Wall/Pillar L + + + world/tileset/castle_base/wall/model.dat + + Model + wall_pllr_02a + + + 0 + + + + Castle/Wall/Pillar R + + + world/tileset/castle_base/wall/model.dat + + Model + wall_pllr_02b + + + 0 + + + + Castle/Wall/Thin end + + + world/tileset/castle_base/wall/model.dat + + Model + wall_thin_vert_End + + + 0 + + + + Castle/Wall/Thin, horizontal A01 + + + world/tileset/castle_base/wall/model.dat + + Model + wall_thin_horiz_A01 + + + 0 + + + + Castle/Wall/Thin, horizontal B01 + + + world/tileset/castle_base/wall/model.dat + + Model + wall_thin_horiz_B01 + + + 0 + + + + Castle/Wall/Thin, vertical A01 + + + world/tileset/castle_base/wall/model.dat + + Model + wall_thin_vert_A01 + + + 0 + + + + Castle/Wall/Thin, vertical B01 + + + world/tileset/castle_base/wall/model.dat + + Model + wall_thin_vert_B01 + + + 0 + + + + Castle/Wall/Wall, inner + + + world/tileset/castle_base/wall/model.dat + + Model + wall_inner + + + + + + City, Base/Floor, Sidewalk/Curb 01 + + + world/tileset/city_base/floor/sidewalk.dat + + Model + Curb_01 + + + + 0 + + + + + City, Base/Floor, Sidewalk/Curb 02 + + + world/tileset/city_base/floor/sidewalk.dat + + Model + Curb_02 + + + + 0 + + + + + City, Base/Floor, Sidewalk/Curb 03 + + + world/tileset/city_base/floor/sidewalk.dat + + Model + Curb_03 + + + + 0 + + + + + City, Base/Floor, Sidewalk/Curb 1x2 01 + + 2 + + world/tileset/city_base/floor/sidewalk.dat + + Model + Curb_x2_01 + + + + 0, 0 + + + + + City, Base/Floor, Sidewalk/Curb IN 01 + + + world/tileset/city_base/floor/sidewalk.dat + + Model + Curb_In_01 + + + + 0 + + + + + City, Base/Floor, Sidewalk/Curb IN 02 + + + world/tileset/city_base/floor/sidewalk.dat + + Model + Curb_In_02 + + + + 0 + + + + + City, Base/Floor, Sidewalk/Curb IN 3x3 + + 3 + 3 + + world/tileset/city_base/floor/sidewalk.dat + + Model + Curb_IN_x3 + + + + 0, 0, 0 + 0, 0, 0 + 0, 0, 0 + + + + + City, Base/Floor, Sidewalk/Curb OUT 01 + + + world/tileset/city_base/floor/sidewalk.dat + + Model + Curb_Out_01 + + + + 0 + + + + + City, Base/Floor, Sidewalk/Curb OUT 02 + + + world/tileset/city_base/floor/sidewalk.dat + + Model + Curb_Out_02 + + + + 0 + + + + + City, Base/Floor, Sidewalk/Curb break L + + + world/tileset/city_base/floor/sidewalk.dat + + Model + curb_L_break + + + + 2 + + + + + City, Base/Floor, Sidewalk/Curb break R + + + world/tileset/city_base/floor/sidewalk.dat + + Model + curb_R_break + + + + 2 + + + + + City, Base/Floor, Sidewalk/Curb drain + + + world/tileset/city_base/floor/sidewalk.dat + + Model + Curb_01 + + + + 0 + + + + + City, Base/Floor, Sidewalk/Edge break 01 + + + world/tileset/city_base/floor/sidewalk.dat + + Model + Sidewalk_break01 + + + + 2 + + 0 + + + + City, Base/Floor, Sidewalk/Edge break 02 + + + world/tileset/city_base/floor/sidewalk.dat + + Model + Sidewalk_break02 + + + + 2 + + 0 + + + + City, Base/Floor, Sidewalk/Edge break 03 + + + world/tileset/city_base/floor/sidewalk.dat + + Model + Sidewalk_break03 + + + + 2 + + 0 + + + + City, Base/Floor, Sidewalk/Edge break 04 + + + world/tileset/city_base/floor/sidewalk.dat + + Model + Sidewalk_break04 + + + + 2 + + 0 + + + + City, Base/Floor, Sidewalk/Edge break 05 + + + world/tileset/city_base/floor/sidewalk.dat + + Model + Sidewalk_break05 + + + + 2 + + 0 + + + + City, Base/Floor, Sidewalk/Edge break IN 01 + + + world/tileset/city_base/floor/sidewalk.dat + + Model + Sidewalk_breakIN_01 + + + + 2 + + 0 + + + + City, Base/Floor, Sidewalk/Edge break OUT 01 + + + world/tileset/city_base/floor/sidewalk.dat + + Model + Sidewalk_breakOUT_01 + + + + 2 + + 0 + + + + City, Base/Floor, Sidewalk/Edge break, four-sides + + + world/tileset/city_base/floor/sidewalk.dat + + Model + Sidewalk_break_4side + + + + 2 + + 0 + + + + City, Base/Floor, Sidewalk/Sidewalk 01a + + + world/tileset/city_base/floor/sidewalk.dat + + Model + Sidewalk_01a + + + + 0 + + + + + City, Base/Floor, Sidewalk/Sidewalk 01a - dark1 + + + world/tileset/city_base/floor/sidewalk.dat + + Model + Sidewalk_01a_dark1 + + + + 0 + + + + + City, Base/Floor, Sidewalk/Sidewalk 01a - dark2 + + + world/tileset/city_base/floor/sidewalk.dat + + Model + Sidewalk_01a_dark2 + + + + 0 + + + + + City, Base/Floor, Sidewalk/Sidewalk 01b + + + world/tileset/city_base/floor/sidewalk.dat + + Model + Sidewalk_01b + + + + 0 + + + + + City, Base/Floor, Sidewalk/Sidewalk 01c + + + world/tileset/city_base/floor/sidewalk.dat + + Model + Sidewalk_01c + + + + 0 + + + + + City, Base/Floor, Sidewalk/Sidewalk 02a + + + world/tileset/city_base/floor/sidewalk.dat + + Model + Sidewalk_02a + + + + 0 + + + + + City, Base/Floor, Sidewalk/Sidewalk 02b + + + world/tileset/city_base/floor/sidewalk.dat + + Model + Sidewalk_02b + + + + 0 + + + + + City, Base/Floor, Sidewalk/Sidewalk 03a + + + world/tileset/city_base/floor/sidewalk.dat + + Model + Sidewalk_03a + + + + 0 + + + + + City, Base/Floor, Sidewalk/Sidewalk 03b + + + world/tileset/city_base/floor/sidewalk.dat + + Model + Sidewalk_03b + + + + 0 + + + + + City, Base/Floor, Sidewalk/Sidewalk 04a + + + world/tileset/city_base/floor/sidewalk.dat + + Model + Sidewalk_04 + + + + 0 + + + + + City, Base/Floor, Sidewalk/Sidewalk busted, x2 01 + + 2 + 2 + + world/tileset/city_base/floor/sidewalk.dat + + Model + split_group2x2_01 + + + + 0, 0 + 0, 0 + + + + + City, Base/Floor, Sidewalk/Sidewalk busted, x2 02 + + 2 + 2 + + world/tileset/city_base/floor/sidewalk.dat + + Model + split_group2x2_02 + + + + 0, 0 + 0, 0 + + + + + City, Base/Floor, Sidewalk/Sidewalk busted, x2 03 + + 2 + 2 + + world/tileset/city_base/floor/sidewalk.dat + + Model + split_group2x2_03 + + + + 0, 0 + 0, 0 + + + + + City, Base/Floor, Sidewalk/Sidewalk grate + + + world/tileset/city_base/floor/sidewalk.dat + + Model + sidewalk_grate01 + + + + 0 + + + + + City, Base/Floor, Sidewalk/Sidewalk, x2 01 + + 2 + 2 + + world/tileset/city_base/floor/sidewalk.dat + + Model + Sidewalk_x2_01 + + + + 0 + + + + + City, Base/Floor, Sidewalk/Sidewalk, x2 02 + + 2 + 2 + + world/tileset/city_base/floor/sidewalk.dat + + Model + Sidewalk_x2_02 + + + + 0 + + + + + City, Base/Floor, Sidewalk/Sidewalk, x2 03 + + 2 + 2 + + world/tileset/city_base/floor/sidewalk.dat + + Model + Sidewalk_x2_03 + + + + 0 + + + + + City, Base/Floor, Sidewalk/Sidewalk, x2 04 + + 2 + 2 + + world/tileset/city_base/floor/sidewalk.dat + + Model + Sidewalk_x2_04 + + + + 0 + + + + + City, Base/Floor, Sidewalk/Sidewalk, x2 05 + + 2 + 2 + + world/tileset/city_base/floor/sidewalk.dat + + Model + Sidewalk_x2_05 + + + + 0 + + + + + City, Base/Floor, Sidewalk/Stair 01 + + + world/tileset/city_base/floor/sidewalk.dat + + Model + stair_S_01 + + + + 0 + + + + + City, Base/Floor, Sidewalk/Stair 02 + + + world/tileset/city_base/floor/sidewalk.dat + + Model + stair_S_02 + + + + 0 + + + + + City, Base/Floor, Sidewalk/Stair 03 + + + world/tileset/city_base/floor/sidewalk.dat + + Model + stair_S_03 + + + + 0 + + + + + City, Base/Floor, Sidewalk/Stair, corner In + + + world/tileset/city_base/floor/sidewalk.dat + + Model + stair_In_SW_01 + + + + 0 + + + + + City, Base/Floor, Sidewalk/Stair, corner Out + + + world/tileset/city_base/floor/sidewalk.dat + + Model + stair_Out_SW_01 + + + + 0 + + + + + City, Base/Floor, Sidewalk/Stair, corner Out, chipped + + + world/tileset/city_base/floor/sidewalk.dat + + Model + stair_Out_SW_02 + + + + 0 + + + + + City, Base/Floor, Sidewalk/WALK, Edge break 01 + + + world/tileset/city_base/floor/sidewalk.dat + + Model + Sidewalk_break01 + + + + 0 + + 0 + + + + City, Base/Floor, Sidewalk/WALK, Edge break 02 + + + world/tileset/city_base/floor/sidewalk.dat + + Model + Sidewalk_break02 + + + + 0 + + 0 + + + + City, Base/Floor, Street/Edge break 00 flat + + + world/tileset/city_base/floor/asphalt.dat + + Model + Street_break00 + + + + 2 + + 0 + + + + City, Base/Floor, Street/Edge break 01 + + + world/tileset/city_base/floor/asphalt.dat + + Model + Street_break01 + + + + 2 + + 0 + + + + City, Base/Floor, Street/Edge break 02 + + + world/tileset/city_base/floor/asphalt.dat + + Model + Street_break02 + + + + 2 + + 0 + + + + City, Base/Floor, Street/Edge break 03 + + + world/tileset/city_base/floor/asphalt.dat + + Model + Street_break03 + + + + 2 + + 0 + + + + City, Base/Floor, Street/Edge break 04 + + + world/tileset/city_base/floor/asphalt.dat + + Model + Street_break04 + + + + 2 + + 0 + + + + City, Base/Floor, Street/Edge break 05 + + + world/tileset/city_base/floor/asphalt.dat + + Model + Street_break05 + + + + 2 + + 0 + + + + City, Base/Floor, Street/Edge break 06 + + + world/tileset/city_base/floor/asphalt.dat + + Model + Street_break06 + + + + 2 + + 0 + + + + City, Base/Floor, Street/Edge break x2, 01 + + 2 + + world/tileset/city_base/floor/asphalt.dat + + Model + Street_break07 + + + + 2 + 2 + + 0 + + + + City, Base/Floor, Street/Edge break x2, 02 + + 2 + + world/tileset/city_base/floor/asphalt.dat + + Model + Street_break08 + + + + 2 + 2 + + 0 + + + + City, Base/Floor, Street/Edge, break IN 01 + + + world/tileset/city_base/floor/asphalt.dat + + Model + Street_breakIN_01 + + + + 2 + + 0 + + + + City, Base/Floor, Street/Edge, break IN 02 + + + world/tileset/city_base/floor/asphalt.dat + + Model + Street_breakIN_02 + + + + 2 + + 0 + + + + City, Base/Floor, Street/Edge, break OUT 01 + + + world/tileset/city_base/floor/asphalt.dat + + Model + Street_breakOUT_01 + + + + 2 + + 0 + + + + City, Base/Floor, Street/Edge, break OUT 02 + + + world/tileset/city_base/floor/asphalt.dat + + Model + Street_breakOUT_02 + + + + 2 + + 0 + + + + City, Base/Floor, Street/Edge, break OUT 03 + + + world/tileset/city_base/floor/asphalt.dat + + Model + Street_breakOUT_03 + + + + 2 + + 0 + + + + City, Base/Floor, Street/Edge, gutter L + + + world/tileset/city_base/floor/asphalt.dat + + Model + gutter_L_break + + + + 2 + + 0 + + + + City, Base/Floor, Street/Edge, gutter R + + + world/tileset/city_base/floor/asphalt.dat + + Model + gutter_R_break + + + + 2 + + 0 + + + + City, Base/Floor, Street/Gutter 01 + + + world/tileset/city_base/floor/asphalt.dat + + Model + Street_gutter_front01 + + + + 0 + + + + + City, Base/Floor, Street/Gutter 02 + + + world/tileset/city_base/floor/asphalt.dat + + Model + Street_gutter_front02 + + + + 0 + + + + + City, Base/Floor, Street/Gutter 03 + + + world/tileset/city_base/floor/asphalt.dat + + Model + Street_gutter_front03 + + + + 0 + + + + + City, Base/Floor, Street/Gutter corner IN 01 + + + world/tileset/city_base/floor/asphalt.dat + + Model + Street_gutter_IN_01 + + + + 0 + + + + + City, Base/Floor, Street/Gutter corner OUT 01 + + + world/tileset/city_base/floor/asphalt.dat + + Model + Street_gutter_OUT_01 + + + + 0 + + + + + City, Base/Floor, Street/Street 01a + + + world/tileset/city_base/floor/asphalt.dat + + Model + Street_01 + + + + 0 + + + + + City, Base/Floor, Street/Street 02a + + + world/tileset/city_base/floor/asphalt.dat + + Model + Street_02 + + + + 0 + + + + + City, Base/Floor, Street/Street 03a + + + world/tileset/city_base/floor/asphalt.dat + + Model + Street_03 + + + + 0 + + + + + City, Base/Floor, Street/Street 04 + + + world/tileset/city_base/floor/asphalt.dat + + Model + Street_04 + + + + 0 + + + + + City, Base/Floor, Street/Street 05 + + + world/tileset/city_base/floor/asphalt.dat + + Model + Street_05 + + + + 0 + + + + + City, Base/Floor, Street/Street 2x2, pothole + + 2 + 2 + + world/tileset/city_base/floor/asphalt.dat + + Model + street_2x2_01 + + + + 0 + + + + + City, Base/Floor, Street/WALK, Edge break 00 flat + + + world/tileset/city_base/floor/asphalt.dat + + Model + Street_break00 + + + + 0 + + 0 + + + + City, Base/Floor, girder/Chainlink x1 01 + + + world/tileset/city_base/girder/girder.dat + + Model + chainlink_x1_01 + + + + 0 + + + + + City, Base/Floor, girder/Chainlink x1 02 + + + world/tileset/city_base/girder/girder.dat + + Model + chainlink_x1_02 + + + + 0 + + + + + City, Base/Floor, girder/Chainlink x2 01 + + 2 + 2 + + world/tileset/city_base/girder/girder.dat + + Model + chainlink_x2_01 + + + + 0 + + + + + City, Base/Floor, girder/Chainlink x2 02 + + 2 + 2 + + world/tileset/city_base/girder/girder.dat + + Model + chainlink_x2_02 + + + + 0 + + + + + City, Base/Floor, girder/Corner In NE + + + world/tileset/city_base/girder/girder.dat + + Model + chainlink_in_NE_01 + + + + 2 + + + + + City, Base/Floor, girder/Corner In NW + + + world/tileset/city_base/girder/girder.dat + + Model + chainlink_in_NW_01 + + + + 2 + + + + + City, Base/Floor, girder/Corner In SE + + + world/tileset/city_base/girder/girder.dat + + Model + chainlink_in_SE_01 + + + + 2 + + + + + City, Base/Floor, girder/Corner In SW + + + world/tileset/city_base/girder/girder.dat + + Model + chainlink_in_SW_01 + + + + 2 + + + + + City, Base/Floor, girder/Corner Out NE + + + world/tileset/city_base/girder/girder.dat + + Model + chainlink_out_NE + + + + 2 + + + + + City, Base/Floor, girder/Corner Out NW + + + world/tileset/city_base/girder/girder.dat + + Model + chainlink_out_NW + + + + 2 + + + + + City, Base/Floor, girder/Corner Out SE + + + world/tileset/city_base/girder/girder.dat + + Model + chainlink_out_SE + + + + 2 + + + + + City, Base/Floor, girder/Corner Out SW + + + world/tileset/city_base/girder/girder.dat + + Model + chainlink_out_SW + + + + 2 + + + + + City, Base/Floor, girder/Edge E 01 + + + world/tileset/city_base/girder/girder.dat + + Model + chainlink_E_01 + + + + 2 + + + + + City, Base/Floor, girder/Edge N 01 + + + world/tileset/city_base/girder/girder.dat + + Model + chainlink_N_01 + + + + 2 + + + + + City, Base/Floor, girder/Edge S 01 + + + world/tileset/city_base/girder/girder.dat + + Model + chainlink_S_01 + + + + 2 + + + + + City, Base/Floor, girder/Edge W 01 + + + world/tileset/city_base/girder/girder.dat + + Model + chainlink_W_01 + + + + 2 + + + + + City, Base/Floor, girder/Girder, cross plate + + + world/tileset/city_base/girder/girder.dat + + Model + cross_plate + + + + 0 + + + + + City, Base/Floor, girder/Girder, horiz, cap E + + + world/tileset/city_base/girder/girder.dat + + Model + gird_horiz_E_cap + + + + 2 + + + + + City, Base/Floor, girder/Girder, horiz, cap W + + + world/tileset/city_base/girder/girder.dat + + Model + gird_horiz_W_cap + + + + 2 + + + + + City, Base/Floor, girder/Girder, horiz, x1 + + + world/tileset/city_base/girder/girder.dat + + Model + gird_horiz_x1 + + + + 0 + + + + + City, Base/Floor, girder/Girder, horiz, x2 + + 2 + + world/tileset/city_base/girder/girder.dat + + Model + gird_horiz_x2 + + + + 0 + + + + + City, Base/Floor, girder/Girder, horiz, x3 + + 3 + + world/tileset/city_base/girder/girder.dat + + Model + gird_horiz_x3 + + + + 0 + + + + + City, Base/Floor, girder/Girder, vert, cap N + + + world/tileset/city_base/girder/girder.dat + + Model + gird_vert_N_cap + + + + 2 + + + + + City, Base/Floor, girder/Girder, vert, cap S + + + world/tileset/city_base/girder/girder.dat + + Model + gird_vert_S_cap + + + + 2 + + + + + City, Base/Floor, girder/Girder, vert, x1 + + + world/tileset/city_base/girder/girder.dat + + Model + gird_vert_x1 + + + + 0 + + + + + City, Base/Floor, girder/Girder, vert, x2 + + 2 + + world/tileset/city_base/girder/girder.dat + + Model + gird_vert_x2 + + + + 0 + + + + + City, Base/Floor, girder/Girder, vert, x3 + + 3 + + world/tileset/city_base/girder/girder.dat + + Model + gird_vert_x3 + + + + 0 + + + + + City, Base/Floor, girder/Suspension, cable 01 + + + world/tileset/city_base/girder/girder.dat + + Model + suspension_cable01 + + + + 0 + + + + + City, Base/Floor, girder/Transition 1x2 01 + + 2 + + world/tileset/city_base/girder/girder.dat + + Model + trans_x1_01 + + + + + + + + + + City, Base/Floor, girder/Transition 1x2 02 + + 2 + + world/tileset/city_base/girder/girder.dat + + Model + trans_x1_02 + + + + + + + + + + City, Base/Floor, girder/Transition 2x2 01 + + 2 + 2 + + world/tileset/city_base/girder/girder.dat + + Model + trans_x2_01 + + + + 0, 0 + 0, 0 + + + + + City, Base/Floor, girder/Transition 2x2 02 + + 2 + 2 + + world/tileset/city_base/girder/girder.dat + + Model + trans_x2_02 + + + + 0, 0 + 0, 0 + + + + + City, Base/Floor, girder/Transition, girder E + + 2 + + world/tileset/city_base/girder/girder.dat + + Model + trans_gird_E + + + + + + + + + + City, Base/Floor, girder/Transition, girder N-S + + 2 + + world/tileset/city_base/girder/girder.dat + + Model + trans_gird_N + + + + + + + + + + City, Base/Floor, girder/Transition, girder W + + 2 + + world/tileset/city_base/girder/girder.dat + + Model + trans_gird_W + + + + + + + + + + City, Base/Highrise/1F Corner In SE + + + world/tileset/city_base/highrise/1story.dat + + Model + highrise_A_in_SE + + + + 0 + + 0 + + + + City, Base/Highrise/1F Corner In SW + + + world/tileset/city_base/highrise/1story.dat + + Model + highrise_A_in_SW + + + + 0 + + 0 + + + + City, Base/Highrise/1F Corner Out NE + + + world/tileset/city_base/highrise/1story.dat + + Model + highrise_A_out_NE + + + + 0 + + 0 + + + + City, Base/Highrise/1F Corner Out NW + + + world/tileset/city_base/highrise/1story.dat + + Model + highrise_A_out_NW + + + + 0 + + 0 + + + + City, Base/Highrise/1F Corner Out SE + + + world/tileset/city_base/highrise/1story.dat + + Model + highrise_A_out_SE + + + + 0 + + 0 + + + + City, Base/Highrise/1F Corner Out SW + + + world/tileset/city_base/highrise/1story.dat + + Model + highrise_A_out_SW + + + + 0 + + 0 + + + + City, Base/Highrise/1F Side + + + world/tileset/city_base/highrise/1story.dat + + Model + highrise_A_side_01 + + + + 0 + + 0 + + + + City, Base/Highrise/1F Wall + + + world/tileset/city_base/highrise/1story.dat + + Model + highrise_A_wall_01 + + + + 0 + + 0 + + + + City, Base/Highrise/1F Wall, column + + + world/tileset/city_base/highrise/1story.dat + + Model + highrise_A_col + + + + 0 + + 0 + + + + City, Base/Highrise/1F Window, x1 + + + world/tileset/city_base/highrise/1story.dat + + Model + highrise_A_window_x1_01 + + + + + + + 0 + + + + City, Base/Highrise/1F Window, x1 02 + + + world/tileset/city_base/highrise/1story.dat + + Model + highrise_A_window_x1_02 + + + + + + + 0 + + + + City, Base/Highrise/1F Window, x2 + + 2 + + world/tileset/city_base/highrise/1story.dat + + Model + highrise_A_window_x2 + + + + + + + 0 + + + + City, Base/Highrise/2F Corner In SE + + + world/tileset/city_base/highrise/2story.dat + + Model + 2story_A_in_SE01 + + + + 0 + + 0 + + + + City, Base/Highrise/2F Corner In SW + + + world/tileset/city_base/highrise/2story.dat + + Model + 2story_A_in_SW01 + + + + 0 + + 0 + + + + City, Base/Highrise/2F Corner Out NE + + + world/tileset/city_base/highrise/2story.dat + + Model + 2story_A_out_NE01 + + + + 0 + + 0 + + + + City, Base/Highrise/2F Corner Out NW + + + world/tileset/city_base/highrise/2story.dat + + Model + 2story_A_out_NW01 + + + + 0 + + 0 + + + + City, Base/Highrise/2F Corner Out SE + + + world/tileset/city_base/highrise/2story.dat + + Model + 2story_A_out_SE01 + + + + 0 + + 0 + + + + City, Base/Highrise/2F Corner Out SW + + + world/tileset/city_base/highrise/2story.dat + + Model + 2story_A_out_SW01 + + + + 0 + + 0 + + + + City, Base/Highrise/2F Side + + + world/tileset/city_base/highrise/2story.dat + + Model + 2story_A_side_01 + + + + 0 + + 0 + + + + City, Base/Highrise/2F Wall + + + world/tileset/city_base/highrise/2story.dat + + Model + 2story_A_wall_01 + + + + 0 + + 0 + + + + City, Base/Highrise/2F Wall, column + + + world/tileset/city_base/highrise/2story.dat + + Model + 2story_A_col + + + + 0 + + 0 + + + + City, Base/Highrise/2F Window, x1 + + + world/tileset/city_base/highrise/2story.dat + + Model + 2story_A_window_x1 + + + + 0 + + 0 + + + + City, Base/Highrise/2F Window, x2 + + 2 + + world/tileset/city_base/highrise/2story.dat + + Model + 2story_A_window_x2 + + + + 0 + + 0 + + + + City, Base/Roof/Roof 01 + + + world/tileset/city_base/roof/roof.dat + + Model + roof_floor_01 + + + + 0 + + + + + City, Base/Roof/Roof side 01 + + + world/tileset/city_base/roof/roof.dat + + Model + roof_side_01 + + + + 0 + + 0 + + + + City, Base/Roof/Roof, lip 01 + + + world/tileset/city_base/roof/roof.dat + + Model + roof_lip01 + + + + 0 + + + + + City, Base/Roof/Roof, lip 02 + + + world/tileset/city_base/roof/roof.dat + + Model + roof_lip02 + + + + 0 + + + + + City, Base/Roof/Roof, lip 03 + + + world/tileset/city_base/roof/roof.dat + + Model + roof_lip03 + + + + 0 + + + + + City, Base/Roof/Roof, lip IN NE + + + world/tileset/city_base/roof/roof.dat + + Model + roof_lip_IN_NE + + + + 0 + 0 + + 0 + + + + City, Base/Roof/Roof, lip IN NW + + + world/tileset/city_base/roof/roof.dat + + Model + roof_lip_IN_NW + + + + 0 + 0 + + 0 + + + + City, Base/Roof/Roof, lip IN SE + + + world/tileset/city_base/roof/roof.dat + + Model + roof_lip_IN_SE + + + + 0 + 0 + + 0 + + + + City, Base/Roof/Roof, lip IN SW + + + world/tileset/city_base/roof/roof.dat + + Model + roof_lip_IN_SW + + + + 0 + 0 + + 0 + + + + City, Base/Roof/Roof, lip OUT NE + + + world/tileset/city_base/roof/roof.dat + + Model + roof_lip_OUT_NE01 + + + + 0 + + 0 + + + + City, Base/Roof/Roof, lip OUT NW + + + world/tileset/city_base/roof/roof.dat + + Model + roof_lip_OUT_NW01 + + + + 0 + + 0 + + + + City, Base/Roof/Roof, lip OUT SE + + + world/tileset/city_base/roof/roof.dat + + Model + roof_lip_OUT_SE01 + + + + 0 + + 0 + + + + City, Base/Roof/Roof, lip OUT SW + + + world/tileset/city_base/roof/roof.dat + + Model + roof_lip_OUT_SW01 + + + + 0 + + 0 + + + + City, Base/Roof/Roof, lip back 01 + + + world/tileset/city_base/roof/roof.dat + + Model + roof_lip_back01 + + + + 0 + + 0 + + + + City, Base/Roof/Roof, lip back 02 + + + world/tileset/city_base/roof/roof.dat + + Model + roof_lip_back02 + + + + 0 + + 0 + + + + City, Base/Roof/Roof, lip x2 01 + + 2 + + world/tileset/city_base/roof/roof.dat + + Model + roof_lip_x2_01 + + + + 0, 0 + + + + + City, Base/Stairs, Fire Escape - Catwalk/Platform - 01 + + + world/tileset/city_base/fire_escape_tiles.dat + + Model + platform_01 + Transform + + 0.5, 0.5, 0.0 + + + + + 0 + + + + + City, Base/Stairs, Fire Escape - Catwalk/Platform - 02 + + + world/tileset/city_base/fire_escape_tiles.dat + + Model + platform_02 + Transform + + 0.5, 0.5, 0.0 + + + + + 0 + + + + + City, Base/Stairs, Fire Escape - Catwalk/Platform - 03 + + + world/tileset/city_base/fire_escape_tiles.dat + + Model + platform_03 + Transform + + 0.5, 0.5, 0.0 + + + + + 0 + + + + + City, Base/Stairs, Fire Escape - Catwalk/Platform - 04 + + + world/tileset/city_base/fire_escape_tiles.dat + + Model + platform_04 + Transform + + 0.5, 0.5, 0.0 + + + + + 0 + + + + + City, Base/Stairs, Fire Escape - Catwalk/Platform 2x2 - 1 + + 2 + 2 + + world/tileset/city_base/fire_escape_tiles.dat + + Model + platform_x2_01 + Transform + + 0.5, 0.5, 0.0 + + + + + 0, 0 + 0, 0 + + + + + City, Base/Stairs, Fire Escape - Catwalk/Platform 2x2 - 2 + + 2 + 2 + + world/tileset/city_base/fire_escape_tiles.dat + + Model + platform_x2_02 + Transform + + 0.5, 0.5, 0.0 + + + + + 0, 0 + 0, 0 + + + + + City, Base/Stairs, Fire Escape - Catwalk/Platform 2x2 - 3 + + 2 + 2 + + world/tileset/city_base/fire_escape_tiles.dat + + Model + platform_x2_03 + Transform + + 0.5, 0.5, 0.0 + + + + + 0, 0 + 0, 0 + + + + + City, Base/Stairs, Fire Escape - Catwalk/Platform 2x2 - 4 + + 2 + 2 + + world/tileset/city_base/fire_escape_tiles.dat + + Model + platform_x2_04 + Transform + + 0.5, 0.5, 0.0 + + + + + 0, 0 + 0, 0 + + + + + City, Base/Stairs, Fire Escape - Catwalk/Rail - Corner post + + + world/tileset/city_base/fire_escape_tiles.dat + + Model + corner_post + Transform + + 0.5, 0.5, 0.0 + + + + 0 + + + + City, Base/Stairs, Fire Escape - Catwalk/Rail - Ladder + + + world/tileset/city_base/fire_escape_tiles.dat + + Model + rail_ladder + Transform + + 0.5, 0.5, 0.0 + + + + 0 + + + + City, Base/Stairs, Fire Escape - Catwalk/Rail - Left 1 + + + world/tileset/city_base/fire_escape_tiles.dat + + Model + rail_L01 + Transform + + 0.5, 0.5, 0.0 + + + + 0 + + + + City, Base/Stairs, Fire Escape - Catwalk/Rail - Left 2 + + + world/tileset/city_base/fire_escape_tiles.dat + + Model + rail_L02 + Transform + + 0.5, 0.5, 0.0 + + + + 0 + + + + City, Base/Stairs, Fire Escape - Catwalk/Rail - Right 1 + + + world/tileset/city_base/fire_escape_tiles.dat + + Model + rail_R01 + Transform + + 0.5, 0.5, 0.0 + + + + 0 + + + + City, Base/Stairs, Fire Escape - Catwalk/Rail - Right 2 + + + world/tileset/city_base/fire_escape_tiles.dat + + Model + rail_R02 + Transform + + 0.5, 0.5, 0.0 + + + + 0 + + + + City, Base/Stairs, Fire Escape - Catwalk/Rail Straight - 1 + + + world/tileset/city_base/fire_escape_tiles.dat + + Model + rail_01 + Transform + + 0.5, 0.5, 0.0 + + + + 0 + + + + City, Base/Stairs, Fire Escape - Catwalk/Rail Straight - 2 + + + world/tileset/city_base/fire_escape_tiles.dat + + Model + rail_02 + Transform + + 0.5, 0.5, 0.0 + + + + 0 + + + + City, Base/Stairs, Fire Escape - Catwalk/Rail Straight - 3 + + + world/tileset/city_base/fire_escape_tiles.dat + + Model + rail_03 + Transform + + 0.5, 0.5, 0.0 + + + + 0 + + + + City, Base/Stairs, Fire Escape - Catwalk/Rail Straight - x2 01 + + 2 + + world/tileset/city_base/fire_escape_tiles.dat + + Model + rail_x2_01 + Transform + + 0.5, 0.5, 0.0 + + + + + 1 + 1 + + 0 + + + + City, Base/Stairs, Fire Escape - Catwalk/Rail Straight - x3 01 + + 3 + + world/tileset/city_base/fire_escape_tiles.dat + + Model + rail_x3_01 + Transform + + 0.5, 0.5, 0.0 + + + + + 1 + 1 + 1 + + 0 + + + + City, Base/Stairs, Fire Escape - Catwalk/Stairs 2x2 - 1 + + 2 + 2 + + world/tileset/city_base/fire_escape_tiles.dat + + Model + stairs_01 + Transform + + 0.5, 0.5, 0.0 + + + + + 0 + + + + + City, Base/Stairs, Fire Escape - Catwalk/Stairs 2x2 - 2 + + 2 + 2 + + world/tileset/city_base/fire_escape_tiles.dat + + Model + stairs_02 + Transform + + 0.5, 0.5, 0.0 + + + + + 0 + + + + + City, Base/Stairs, Fire Escape - Catwalk/Stairs 2x2 - 3 + + 2 + 2 + + world/tileset/city_base/fire_escape_tiles.dat + + Model + stairs_03 + Transform + + 0.5, 0.5, 0.0 + + + + + 0 + + + + + City, Base/Stairs, Fire Escape - Catwalk/Stairs 2x2 - 4 + + 2 + 2 + + world/tileset/city_base/fire_escape_tiles.dat + + Model + stairs_04 + Transform + + 0.5, 0.5, 0.0 + + + + + 0 + + + + + City, Base/Wall, barrier fence/High/High, cap E + + + world/tileset/city_base/wall/high.dat + + Model + high_horiz_cap_E + + + 0 + + + + City, Base/Wall, barrier fence/High/High, cap N + + + world/tileset/city_base/wall/high.dat + + Model + high_vert_cap_N + + + 0 + + + + City, Base/Wall, barrier fence/High/High, cap S + + + world/tileset/city_base/wall/high.dat + + Model + high_vert_cap_S + + + 0 + + + + City, Base/Wall, barrier fence/High/High, cap W + + + world/tileset/city_base/wall/high.dat + + Model + high_horiz_cap_W + + + 0 + + + + City, Base/Wall, barrier fence/High/High, column (girder) + + + world/tileset/city_base/wall/high.dat + + Model + high_column01 + + + 0 + + + + City, Base/Wall, barrier fence/High/High, horizontal 01 + + + world/tileset/city_base/wall/high.dat + + Model + high_horiz_01 + + + 0 + + + + City, Base/Wall, barrier fence/High/High, horizontal 02 + + + world/tileset/city_base/wall/high.dat + + Model + high_horiz_02 + + + 0 + + + + City, Base/Wall, barrier fence/High/High, horizontal 03 + + + world/tileset/city_base/wall/high.dat + + Model + high_horiz_03 + + + 0 + + + + City, Base/Wall, barrier fence/High/High, horizontal 04 + + + world/tileset/city_base/wall/high.dat + + Model + high_horiz_04 + + + 0 + + + + City, Base/Wall, barrier fence/High/High, horizontal 05 + + + world/tileset/city_base/wall/high.dat + + Model + high_horiz_05 + + + 0 + + + + City, Base/Wall, barrier fence/High/High, horizontal x2, junk bulge + + 2 + + world/tileset/city_base/wall/high.dat + + Model + high_horiz_x2_01 + + + + 1, 1 + + 0 + + + + City, Base/Wall, barrier fence/High/High, horizontal x2, junk no-scaffold + + 2 + + world/tileset/city_base/wall/high.dat + + Model + high_horiz_x2_03 + + + + 1, 1 + + 0 + + + + City, Base/Wall, barrier fence/High/High, horizontal x2, scaffold + + 2 + + world/tileset/city_base/wall/high.dat + + Model + high_horiz_x2_02 + + + + 1, 1 + + 0 + + + + City, Base/Wall, barrier fence/High/High, horizontal x3, scaffold + + 3 + + world/tileset/city_base/wall/high.dat + + Model + high_horiz_x3_01 + + + + 1, 1, 1 + + 0 + + + + City, Base/Wall, barrier fence/High/High, vertical 01 + + + world/tileset/city_base/wall/high.dat + + Model + high_vert_01 + + + 0 + + + + City, Base/Wall, barrier fence/High/High, vertical 02 + + + world/tileset/city_base/wall/high.dat + + Model + high_vert_02 + + + 0 + + + + City, Base/Wall, barrier fence/High/High, vertical 03 + + + world/tileset/city_base/wall/high.dat + + Model + high_vert_03 + + + 0 + + + + City, Base/Wall, barrier fence/High/High, vertical 04 + + + world/tileset/city_base/wall/high.dat + + Model + high_vert_04 + + + 0 + + + + City, Base/Wall, barrier fence/High/High, vertical x2 01 + + 2 + + world/tileset/city_base/wall/high.dat + + Model + high_vert_x2_01 + + + + 1 + 1 + + 0 + + + + City, Base/Wall, barrier fence/Low/Low, L crosser + + + world/tileset/city_base/wall/low.dat + + Model + low_L_01 + + + + 2 + + 0 + + + + City, Base/Wall, barrier fence/Low/Low, L crosser chipped + + + world/tileset/city_base/wall/low.dat + + Model + low_L_02 + + + + 2 + + 0 + + + + City, Base/Wall, barrier fence/Low/Low, T crosser E + + + world/tileset/city_base/wall/low.dat + + Model + low_T_E + + + + 2 + + 0 + + + + City, Base/Wall, barrier fence/Low/Low, T crosser N + + + world/tileset/city_base/wall/low.dat + + Model + low_T_N + + + + 2 + + 0 + + + + City, Base/Wall, barrier fence/Low/Low, T crosser S + + + world/tileset/city_base/wall/low.dat + + Model + low_T_S + + + + 2 + + 0 + + + + City, Base/Wall, barrier fence/Low/Low, T crosser W + + + world/tileset/city_base/wall/low.dat + + Model + low_T_W + + + + 2 + + 0 + + + + City, Base/Wall, barrier fence/Low/Low, X crosser + + + world/tileset/city_base/wall/low.dat + + Model + low_X + + + + 2 + + 0 + + + + City, Base/Wall, barrier fence/Low/Low, horizontal 01 + + + world/tileset/city_base/wall/low.dat + + Model + low_horiz_01 + + + + 2 + + 0 + + + + City, Base/Wall, barrier fence/Low/Low, horizontal 02 + + + world/tileset/city_base/wall/low.dat + + Model + low_horiz_02 + + + + 2 + + 0 + + + + City, Base/Wall, barrier fence/Low/Low, horizontal cap E + + + world/tileset/city_base/wall/low.dat + + Model + low_horiz_cap_E + + + + 2 + + 0 + + + + City, Base/Wall, barrier fence/Low/Low, horizontal cap W + + + world/tileset/city_base/wall/low.dat + + Model + low_horiz_cap_W + + + + 2 + + 0 + + + + City, Base/Wall, barrier fence/Low/Low, vertical 01 + + + world/tileset/city_base/wall/low.dat + + Model + low_vert_01 + + + + 2 + + 0 + + + + City, Base/Wall, barrier fence/Low/Low, vertical 02 + + + world/tileset/city_base/wall/low.dat + + Model + low_vert_02 + + + + 2 + + 0 + + + + City, Base/Wall, barrier fence/Low/Low, vertical cap S + + + world/tileset/city_base/wall/low.dat + + Model + low_vert_cap_S + + + + 2 + + 0 + + + + City, Base/Wall, rowhouse/Blue/Corner IN SE + + + world/tileset/city_base/wall_buildings/wall_blue.dat + + Model + blu_in_SE_01 + Variant + Blue + + + 0 + + + + City, Base/Wall, rowhouse/Blue/Corner IN SW + + + world/tileset/city_base/wall_buildings/wall_blue.dat + + Model + blu_in_SW_01 + Variant + Blue + + + 0 + + + + City, Base/Wall, rowhouse/Blue/Corner, flat Out SE + + + world/tileset/city_base/wall_buildings/wall_blue.dat + + Model + blu_out_SE_01 + Variant + Blue + + + 0 + + + + City, Base/Wall, rowhouse/Blue/Corner, flat Out SW + + + world/tileset/city_base/wall_buildings/wall_blue.dat + + Model + blu_out_SW_01 + Variant + Blue + + + 0 + + + + City, Base/Wall, rowhouse/Blue/Wall, S x1 01 + + + world/tileset/city_base/wall_buildings/wall_blue.dat + + Model + blu_S_x1_01 + Variant + Blue + + + 0 + + + + City, Base/Wall, rowhouse/Blue/Wall, S x2 01 + + 2 + + world/tileset/city_base/wall_buildings/wall_blue.dat + + Model + blu_S_x2_01 + Variant + Blue + + + 0 + + + + City, Base/Wall, rowhouse/Blue/Wall, column S + + + world/tileset/city_base/wall_buildings/wall_blue.dat + + Model + blu_column_S_01 + Variant + Blue + + + 0 + + + + City, Base/Wall, rowhouse/Blue/Wall, side x1 01 + + + world/tileset/city_base/wall_buildings/wall_blue.dat + + Model + blu_side_x1_01 + Variant + Blue + + + 0 + + + + City, Base/Wall, rowhouse/Blue/Wall, side x2 01 + + 2 + + world/tileset/city_base/wall_buildings/wall_blue.dat + + Model + blu_side_x2_01 + Variant + Blue + + + 0 + + + + City, Base/Wall, rowhouse/Blue/Window, 2unit + + 2 + + world/tileset/city_base/wall_buildings/wall_blue.dat + + Model + blu_win_S_x2 + Variant + Blue + + + + 1, 1 + + 0 + + + + City, Base/Wall, rowhouse/Blue/Window, 3unit + + 3 + + world/tileset/city_base/wall_buildings/wall_blue.dat + + Model + blu_win_S_x3 + Variant + Blue + + + + 1, 1, 1 + + 0 + + + + City, Base/Wall, rowhouse/Brown/Brown, corner IN + + + world/tileset/city_base/wall_buildings/wall_brown.dat + + Model + brn_in_SW_01 + + + 0 + + + + City, Base/Wall, rowhouse/Brown/Corner, flat Out SE + + + world/tileset/city_base/wall_buildings/wall_brown.dat + + Model + brn_out_SE_01 + + + 0 + + + + City, Base/Wall, rowhouse/Brown/Corner, flat Out SW + + + world/tileset/city_base/wall_buildings/wall_brown.dat + + Model + brn_out_SW_01 + + + 0 + + + + City, Base/Wall, rowhouse/Brown/Wall, S x1 01 + + + world/tileset/city_base/wall_buildings/wall_brown.dat + + Model + brn_S_x1_01 + + + 0 + + + + City, Base/Wall, rowhouse/Brown/Wall, S x2 01 + + 2 + + world/tileset/city_base/wall_buildings/wall_brown.dat + + Model + brn_S_x2_01 + + + 0 + + + + City, Base/Wall, rowhouse/Brown/Wall, column S + + + world/tileset/city_base/wall_buildings/wall_brown.dat + + Model + brn_column_01 + + + 0 + + + + City, Base/Wall, rowhouse/Brown/Wall, side x1 01 + + + world/tileset/city_base/wall_buildings/wall_brown.dat + + Model + brn_side_x1_01 + + + 0 + + + + City, Base/Wall, rowhouse/Brown/Wall, side x2 01 + + 2 + + world/tileset/city_base/wall_buildings/wall_brown.dat + + Model + brn_side_x2_01 + + + 0 + + + + City, Base/Wall, rowhouse/Brown/Window, 2unit + + 2 + + world/tileset/city_base/wall_buildings/wall_brown.dat + + Model + brn_win_x2_01 + + + + 1, 1 + + 0 + + + + City, Base/Wall, rowhouse/Brown/Window, 3unit + + 3 + + world/tileset/city_base/wall_buildings/wall_brown.dat + + Model + brn_win_x3_01 + + + + 1, 1, 1 + + 0 + + + + City, Base/Wall, rowhouse/Mart/Corner IN SE + + + world/tileset/city_base/wall_buildings/wall_blue.dat + + Model + blu_in_SE_02 + Variant + Mart + + + 0 + + + + City, Base/Wall, rowhouse/Mart/Corner IN SW + + + world/tileset/city_base/wall_buildings/wall_blue.dat + + Model + blu_in_SW_02 + Variant + Mart + + + 0 + + + + City, Base/Wall, rowhouse/Mart/Corner, flat Out SE + + + world/tileset/city_base/wall_buildings/wall_blue.dat + + Model + blu_out_SE_02 + Variant + Mart + + + + + + City, Base/Wall, rowhouse/Mart/Corner, flat Out SW + + + world/tileset/city_base/wall_buildings/wall_blue.dat + + Model + blu_out_SW_02 + Variant + Mart + + + + + + City, Base/Wall, rowhouse/Mart/Wall, S x1 01 + + + world/tileset/city_base/wall_buildings/wall_blue.dat + + Model + blu_S_x1_01 + Variant + Mart + + + 0 + + + + City, Base/Wall, rowhouse/Mart/Wall, S x2 01 + + 2 + + world/tileset/city_base/wall_buildings/wall_blue.dat + + Model + blu_S_x2_01 + Variant + Mart + + + 0 + + + + City, Base/Wall, rowhouse/Mart/Wall, column S + + + world/tileset/city_base/wall_buildings/wall_blue.dat + + Model + blu_column_S_02 + Variant + Mart + + + 0 + + + + City, Base/Wall, rowhouse/Mart/Wall, side x1 01 + + + world/tileset/city_base/wall_buildings/wall_blue.dat + + Model + blu_side_x1_01 + Variant + Mart + + + 0 + + + + City, Base/Wall, rowhouse/Mart/Wall, side x2 01 + + 2 + + world/tileset/city_base/wall_buildings/wall_blue.dat + + Model + blu_side_x2_01 + Variant + Mart + + + 0 + + + + City, Base/Wall, rowhouse/Mart/Window, 2unit + + 2 + + world/tileset/city_base/wall_buildings/wall_blue.dat + + Model + blu_win_S_x2 + Variant + Mart + + + + 1, 1 + + 0 + + + + City, Base/Wall, rowhouse/Mart/Window, 3unit + + 3 + + world/tileset/city_base/wall_buildings/wall_blue.dat + + Model + blu_win_S_x3 + Variant + Mart + + + + 1, 1, 1 + + 0 + + + + City, Base/Wall, rowhouse/Stone/Corner, flat Out SE + + + world/tileset/city_base/wall_buildings/wall_stone.dat + + Model + corner_out_SE + + + 0 + + + + City, Base/Wall, rowhouse/Stone/Corner, flat Out SW + + + world/tileset/city_base/wall_buildings/wall_stone.dat + + Model + corner_out_SW + + + 0 + + + + City, Base/Wall, rowhouse/Stone/Gray, corner IN SE + + + world/tileset/city_base/wall_buildings/wall_stone.dat + + Model + corner_in_SE + + + 0 + + + + City, Base/Wall, rowhouse/Stone/Gray, corner IN SW + + + world/tileset/city_base/wall_buildings/wall_stone.dat + + Model + corner_in_SW + + + 0 + + + + City, Base/Wall, rowhouse/Stone/Wall, S x1 01 + + + world/tileset/city_base/wall_buildings/wall_stone.dat + + Model + wall_S_x1_01 + + + 0 + + + + City, Base/Wall, rowhouse/Stone/Wall, S x1 02 + + + world/tileset/city_base/wall_buildings/wall_stone.dat + + Model + wall_S_x1_02 + + + 0 + + + + City, Base/Wall, rowhouse/Stone/Wall, S x2 01 + + 2 + + world/tileset/city_base/wall_buildings/wall_stone.dat + + Model + wall_S_x2_01 + + + 0 + + + + City, Base/Wall, rowhouse/Stone/Wall, column S + + + world/tileset/city_base/wall_buildings/wall_stone.dat + + Model + column_S_01 + + + 0 + + + + City, Base/Wall, rowhouse/Stone/Wall, side x1 01 + + + world/tileset/city_base/wall_buildings/wall_stone.dat + + Model + wall_side_x1_01 + + + 0 + + + + City, Base/Wall, rowhouse/Stone/Wall, side x2 01 + + 2 + + world/tileset/city_base/wall_buildings/wall_stone.dat + + Model + wall_side_x2_01 + + + 0 + + + + City, Base/Wall, rowhouse/Stone/Window, 2unit + + 2 + + world/tileset/city_base/wall_buildings/wall_stone.dat + + Model + win_x2 + + + + 1, 1 + + 0 + + + + City, Base/Wall, rowhouse/Stone/Window, 3unit + + 3 + + world/tileset/city_base/wall_buildings/wall_stone.dat + + Model + win_x3 + + + + 1, 1, 1 + + 0 + + + + City, Base/Wall, rowhouse/Violet/Flat 01 + + + City, Base/Wall, rowhouse/Violet/Flat corner IN + + + City, Base/Wall, rowhouse/Violet/Flat corner Out SE + + + City, Base/Wall, rowhouse/Violet/Flat corner Out SW + + + City, Base/Wall, rowhouse/Violet/Flat-to-window + + + City, Base/Wall, rowhouse/Violet/Side E 01 + + + City, Base/Wall, rowhouse/Violet/Side W 01 + + + City, Base/Wall, rowhouse/Violet/Window 01 + + + City, Base/Wall, rowhouse/Violet/Window, corner Out SE + + + City, Base/Wall, rowhouse/Violet/Window, corner Out SW + + + City, Base/Wall, rowhouse/Violet/Window-to-flat + + + Clockworks Fire/Edge railing/Rail, Back 01 + + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_base_back_01 + + + + 2 + + 0 + + + + Clockworks Fire/Edge railing/Rail, Back 02 + + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_base_back_02 + + + + 2 + + 0 + + + + Clockworks Fire/Edge railing/Rail, Back 03 + + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_base_back_03 + + + + 2 + + 0 + + + + Clockworks Fire/Edge railing/Rail, Transition L + + 2 + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_transition_L + + + + 2 + + 0 + + + + Clockworks Fire/Edge railing/Rail, Transition R + + 2 + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_transition_R + + + + 2 + + 0 + + + + Clockworks Fire/Edge railing/Rail, base 01 + + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_base_01 + + + + 2 + + 0 + + + + Clockworks Fire/Edge railing/Rail, base 02 + + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_base_02 + + + + 2 + + 0 + + + + Clockworks Fire/Edge railing/Rail, base 03 + + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_base_03 + + + + 2 + + 0 + + + + Clockworks Fire/Edge railing/Rail, base 04 + + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_base_04 + + + + 2 + + 0 + + + + Clockworks Fire/Edge railing/Rail, base In 01 + + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_base_corner_in_01 + + + + 2 + + 0 + + + + Clockworks Fire/Edge railing/Rail, base Out 01 + + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_base_corner_out_01 + + + + 2 + + 0 + + + + Clockworks Fire/Edge railing/Rail, brace + + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_base_brace + + + + 2 + + 0 + + + + Clockworks Fire/Edge railing/Rail, brace catwalk + + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_catwalk_brace + + + + 2 + + 0 + + + + Clockworks Fire/Edge railing/Rail, catwalk 01 + + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_catwalk_01 + + + + 2 + + 0 + + + + Clockworks Fire/Edge railing/Rail, catwalk 02 + + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_catwalk_02 + + + + 2 + + 0 + + + + Clockworks Fire/Edge railing/Rail, catwalk 03 + + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_catwalk_03 + + + + 2 + + 0 + + + + Clockworks Fire/Edge railing/Rail, catwalk 04 - lever valve + + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_catwalk_04 + + + + 2 + + 0 + + + + Clockworks Fire/Edge railing/Rail, catwalk Back indents + + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_catwalk_back_02 + + + + 2 + + 0 + + + + Clockworks Fire/Edge railing/Rail, catwalk Back plain + + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_catwalk_back_01 + + + + 2 + + 0 + + + + Clockworks Fire/Edge railing/Rail, catwalk Back seam + + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_catwalk_back_03 + + + + 2 + + 0 + + + + Clockworks Fire/Edge railing/Rail, catwalk In 01 + + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_catwalk_corner_in_01 + + + + 2 + + 0 + + + + Clockworks Fire/Edge railing/Rail, catwalk Out 01 + + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_catwalk_corner_out_01 + + + + 2 + + 0 + + + + Clockworks Fire/Edge railing/Rail, catwalk x2 01 + + 2 + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_catwalk_x2_01 + + + + 2, 2 + + 0 + + + + Clockworks Fire/Edge railing/Rail, catwalk x3 01 + + 3 + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_catwalk_x3_01 + + + + 2, 2, 2 + + 0 + + + + Clockworks Fire/Edge, busted/Edge 1unit - 01 + + 2 + + world/tileset/clockworks_fire/edge_rail/edge_busted_set.dat + + Model + edge_busted_01 + + + + 2, 2 + + false + + + + Clockworks Fire/Edge, busted/Edge 1unit - 02 + + 2 + + world/tileset/clockworks_fire/edge_rail/edge_busted_set.dat + + Model + edge_busted_02 + + + + 2, 2 + + false + + + + Clockworks Fire/Edge, busted/Edge 1unit - Outside Corner 1 + + + world/tileset/clockworks_fire/edge_rail/edge_busted_set.dat + + Model + edge_busted_out_01 + + + + 2 + + false + + + + Clockworks Fire/Edge, busted/Edge x2 - 01 + + 2 + 2 + + world/tileset/clockworks_fire/edge_rail/edge_busted_set.dat + + Model + edge_busted_x2_01 + + + + 2, 2 + 2, 2 + + false + + + + Clockworks Fire/Edge, busted/Edge x2 - 02 + + 2 + 2 + + world/tileset/clockworks_fire/edge_rail/edge_busted_set.dat + + Model + edge_busted_x2_02 + + + + 2, 2 + 2, 2 + + false + + + + Clockworks Fire/Edge, busted/Edge x2 - Inside Corner 1 + + 2 + 2 + + world/tileset/clockworks_fire/edge_rail/edge_busted_set.dat + + Model + edge_busted_x2_in + + + + 0, 2 + 2, 2 + + false + + + + Clockworks Fire/Edge, busted/Railing - Left 01 + + 2 + 2 + + world/tileset/clockworks_fire/edge_rail/edge_busted_set.dat + + Model + edge_busted_rail_L1 + + + + 2, 2 + 2, 2 + + 0 + false + + + + Clockworks Fire/Edge, busted/Railing - Left 02 + + 2 + 2 + + world/tileset/clockworks_fire/edge_rail/edge_busted_set.dat + + Model + edge_busted_rail_L2 + + + + 2, 2 + 2, 2 + + 0 + false + + + + Clockworks Fire/Edge, busted/Railing - Right 01 + + 2 + 2 + + world/tileset/clockworks_fire/edge_rail/edge_busted_set.dat + + Model + edge_busted_rail_R1 + + + + 2, 2 + 2, 2 + + 0 + false + + + + Clockworks Fire/Edge, busted/Railing - Right 02 + + 2 + 2 + + world/tileset/clockworks_fire/edge_rail/edge_busted_set.dat + + Model + edge_busted_rail_R2 + + + + 2, 2 + 2, 2 + + 0 + false + + + + Clockworks Fire/Fence, high/Corner 01 + + + world/tileset/clockworks_fire/fence/fence_high.dat + + Model + fence_high_corner_01 + + + 0 + + + + Clockworks Fire/Fence, high/Corner 01, north + + + world/tileset/clockworks_fire/fence/fence_high.dat + + Model + fence_high_corner_01n + + + 0 + + + + Clockworks Fire/Fence, high/Corner 01, north n west + + + world/tileset/clockworks_fire/fence/fence_high.dat + + Model + fence_high_corner_01nw + + + 0 + + + + Clockworks Fire/Fence, high/Corner 01, west + + + world/tileset/clockworks_fire/fence/fence_high.dat + + Model + fence_high_corner_01w + + + 0 + + + + Clockworks Fire/Fence, high/Horizontal x1, 01 + + + world/tileset/clockworks_fire/fence/fence_high.dat + + Model + fence_high_horiz_x1_01 + + + 0 + + + + Clockworks Fire/Fence, high/Horizontal x1, 02 + + + world/tileset/clockworks_fire/fence/fence_high.dat + + Model + fence_high_horiz_x1_02 + + + 0 + + + + Clockworks Fire/Fence, high/Horizontal x1, 03 + + + world/tileset/clockworks_fire/fence/fence_high.dat + + Model + fence_high_horiz_x1_05 + + + 0 + + + + Clockworks Fire/Fence, high/Horizontal x1, copper flat 1 + + + world/tileset/clockworks_fire/fence/fence_high.dat + + Model + fence_high_horiz_x1_03 + + + 0 + + + + Clockworks Fire/Fence, high/Horizontal x1, copper flat 2 + + + world/tileset/clockworks_fire/fence/fence_high.dat + + Model + fence_high_horiz_x1_04 + + + 0 + + + + Clockworks Fire/Fence, high/Horizontal x2, 01 + + 2 + + world/tileset/clockworks_fire/fence/fence_high.dat + + Model + fence_high_horiz_x2_01 + + + + 1, 1 + + 0 + + + + Clockworks Fire/Fence, high/Vertical x1, 01 + + + world/tileset/clockworks_fire/fence/fence_high.dat + + Model + fence_high_vert_x1_01 + + + 0 + + + + Clockworks Fire/Fence, high/Vertical x1, 02 + + + world/tileset/clockworks_fire/fence/fence_high.dat + + Model + fence_high_vert_x1_02 + + + 0 + + + + Clockworks Fire/Fence, high/Vertical x1, 03 + + + world/tileset/clockworks_fire/fence/fence_high.dat + + Model + fence_high_vert_x1_03 + + + 0 + + + + Clockworks Fire/Fence, high/Vertical x1, cap south + + + world/tileset/clockworks_fire/fence/fence_high.dat + + Model + fence_high_vert_cap_s + + + 0 + + + + Clockworks Fire/Fence, high/Vertical x1, copper flat 1 + + + world/tileset/clockworks_fire/fence/fence_high.dat + + Model + fence_high_vert_x1_04 + + + 0 + + + + Clockworks Fire/Fence, high/Vertical x1, copper flat 2 + + + world/tileset/clockworks_fire/fence/fence_high.dat + + Model + fence_high_vert_x1_05 + + + 0 + + + + Clockworks Fire/Fence, high/Vertical x2, 01 + + 2 + + world/tileset/clockworks_fire/fence/fence_high.dat + + Model + fence_high_vert_x2_01 + + + + 1 + 1 + + 0 + + + + Clockworks Fire/Fence, low/01 + + + world/tileset/clockworks_fire/fence/fence_low.dat + + Model + fence_low_01 + + + + 2 + + 0 + + + + Clockworks Fire/Fence, low/02 + + + world/tileset/clockworks_fire/fence/fence_low.dat + + Model + fence_low_04 + + + + 2 + + 0 + + + + Clockworks Fire/Fence, low/03 + + + world/tileset/clockworks_fire/fence/fence_low.dat + + Model + fence_low_03 + + + + 2 + + 0 + + + + Clockworks Fire/Fence, low/04 + + + world/tileset/clockworks_fire/fence/fence_low.dat + + Model + fence_low_02 + + + + 2 + + 0 + + + + Clockworks Fire/Fence, low/05 + + + world/tileset/clockworks_fire/fence/fence_low.dat + + Model + fence_low_05 + + + + 2 + + 0 + + + + Clockworks Fire/Fence, low/06 + + + world/tileset/clockworks_fire/fence/fence_low.dat + + Model + fence_low_06 + + + + 2 + + 0 + + + + Clockworks Fire/Fence, low/Cap, pipe down + + + world/tileset/clockworks_fire/fence/fence_low.dat + + Model + fence_low_cap_01 + + + + 2 + + 0 + + + + Clockworks Fire/Fence, low/Cap, pipe up + + + world/tileset/clockworks_fire/fence/fence_low.dat + + Model + fence_low_cap_02 + + + + 2 + + 0 + + + + Clockworks Fire/Fence, low/Crosser 01 + + + world/tileset/clockworks_fire/fence/fence_low.dat + + Model + fence_low_corner_01 + + + + 2 + + 0 + + + + Clockworks Fire/Fence, low/Crosser 02 + + + world/tileset/clockworks_fire/fence/fence_low.dat + + Model + fence_low_corner_02 + + + + 2 + + 0 + + + + Clockworks Fire/Fence, low/x2 01 + + 2 + + world/tileset/clockworks_fire/fence/fence_low.dat + + Model + fence_low_x2_01 + + + + 2 + 2 + + 0 + + + + Clockworks Fire/Fence, low/x2 02 + + 2 + + world/tileset/clockworks_fire/fence/fence_low.dat + + Model + fence_low_x2_02 + + + + 2 + 2 + + 0 + + + + Clockworks Fire/Fence, low/x2 03 + + 2 + + world/tileset/clockworks_fire/fence/fence_low.dat + + Model + fence_low_x2_03 + + + + 2 + 2 + + 0 + + + + Clockworks Fire/Floor, base/Base 01 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + x1_01 + + + + 0 + + + + + Clockworks Fire/Floor, base/Base 02 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + x1_02 + + + + 0 + + + + + Clockworks Fire/Floor, base/Base 03 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + x1_03 + + + + 0 + + + + + Clockworks Fire/Floor, base/Base 04 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + x1_04 + + + + 0 + + + + + Clockworks Fire/Floor, base/Floor Plate 01 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + floor_plate_01 + + + + 0 + + + + + Clockworks Fire/Floor, base/Floor Plate angled + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + floor_plate_02 + + + + 0 + + + + + Clockworks Fire/Floor, base/Floor Plates, three + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + floor_plate_03 + + + + 0 + + + + + Clockworks Fire/Floor, base/Swirly 01 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + swirl_x1_01 + + + + 0 + + + + + Clockworks Fire/Floor, base/Swirly 02 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + swirl_x1_02 + + + + 0 + + + + + Clockworks Fire/Floor, base/Swirly 03 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + swirl_x1_03 + + + + 0 + + + + + Clockworks Fire/Floor, base/Swirly 04 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + swirl_x1_04 + + + + 0 + + + + + Clockworks Fire/Floor, base/Trim/Trim 01 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + trim_01 + + + + 0 + + + + + Clockworks Fire/Floor, base/Trim/Trim 02 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + trim_02 + + + + 0 + + + + + Clockworks Fire/Floor, base/Trim/Trim 03 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + trim_03 + + + + 0 + + + + + Clockworks Fire/Floor, base/Trim/Trim 04 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + trim_04 + + + + 0 + + + + + Clockworks Fire/Floor, base/Trim/Trim 05 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + trim_05 + + + + 0 + + + + + Clockworks Fire/Floor, base/Trim/Trim 06 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + trim_06 + + + + 0 + + + + + Clockworks Fire/Floor, base/Trim/Trim In 01 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + trim_in_NE_01 + + + + 0 + + + + + Clockworks Fire/Floor, base/Trim/Trim Out 01 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + trim_out_NE_01 + + + + 0 + + + + + Clockworks Fire/Floor, catwalk/Catwalk 01 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + catwalk_01 + + + + 0 + + + + + Clockworks Fire/Floor, catwalk/Catwalk 02 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + catwalk_02 + + + + 0 + + + + + Clockworks Fire/Floor, catwalk/Catwalk 03 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + catwalk_03 + + + + 0 + + + + + Clockworks Fire/Floor, catwalk/Catwalk 04 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + catwalk_04 + + + + 0 + + + + + Clockworks Fire/Floor, catwalk/Catwalk 05 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + catwalk_05 + + + + 0 + + + + + Clockworks Fire/Floor, catwalk/Catwalk 06 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + catwalk_06 + + + + 0 + + + + + Clockworks Fire/Floor, catwalk/Catwalk 07 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + catwalk_07 + + + + 0 + + + + + Clockworks Fire/Floor, catwalk/Catwalk 08 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + catwalk_08 + + + + 0 + + + + + Clockworks Fire/Floor, catwalk/Catwalk NE 01 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + catwalk_ne_01 + + + + 0 + + + + + Clockworks Fire/Floor, catwalk/Catwalk NE 02 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + catwalk_ne_02 + + + + 0 + + + + + Clockworks Fire/Floor, catwalk/Catwalk NE 03 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + catwalk_ne_03 + + + + 0 + + + + + Clockworks Fire/Floor, catwalk/Catwalk NE 04 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + catwalk_ne_04 + + + + 0 + + + + + Clockworks Fire/Floor, catwalk/Catwalk, solid + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + catwalk_09 + + + + 0 + + + + + Clockworks Fire/Floor, catwalk/Trim/Trim 01 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + trim2_01 + + + + 0 + + + + + Clockworks Fire/Floor, catwalk/Trim/Trim 02 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + trim2_02 + + + + 0 + + + + + Clockworks Fire/Floor, catwalk/Trim/Trim 03 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + trim2_03 + + + + 0 + + + + + Clockworks Fire/Floor, catwalk/Trim/Trim 04 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + trim2_04 + + + + 0 + + + + + Clockworks Fire/Floor, catwalk/Trim/Trim 05 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + trim2_05 + + + + 0 + + + + + Clockworks Fire/Floor, catwalk/Trim/Trim 06 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + trim2_06 + + + + 0 + + + + + Clockworks Fire/Floor, catwalk/Trim/Trim In 01 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + trim2_in_NE_01 + + + + 0 + + + + + Clockworks Fire/Floor, catwalk/Trim/Trim Out 01 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + trim2_out_NE_01 + + + + 0 + + + + + Clockworks Fire/Floor, roof/Base 1unit, 01 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + roof_x1_01 + + + + 0, 0 + + + + + Clockworks Fire/Floor, roof/Base 1unit, plate + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + roof_x1_02 + + + + 0, 0 + + + + + Clockworks Fire/Floor, roof/Base 2unit, 01 + + 2 + 2 + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + roof_x2_01 + + + + 0, 0 + 0, 0 + + + + + Clockworks Fire/Ramp/East 01, diamond + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_e_01 + + + + 0 + + + + + Clockworks Fire/Ramp/East 02, circles + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_e_02 + + + + 0 + + + + + Clockworks Fire/Ramp/East 03, + + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_e_03 + + + + 0 + + + + + Clockworks Fire/Ramp/East 04, panel + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_e_04 + + + + 0 + + + + + Clockworks Fire/Ramp/East 05, - + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_e_05 + + + + 0 + + + + + Clockworks Fire/Ramp/East 06, %SLASH% + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_e_06 + + + + 0 + + + + + Clockworks Fire/Ramp/East 3-wide 01 + + 3 + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_e_3wide_01 + + + + 0 + 0 + 0 + + + + + Clockworks Fire/Ramp/East 3-wide 02 + + 3 + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_e_3wide_02 + + + + 0 + 0 + 0 + + + + + Clockworks Fire/Ramp/East 3-wide 03 + + 3 + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_e_3wide_03 + + + + 0 + 0 + 0 + + + + + Clockworks Fire/Ramp/North 01, diamond + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_n_01 + + + + 0 + + + + + Clockworks Fire/Ramp/North 02, circles + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_n_02 + + + + 0 + + + + + Clockworks Fire/Ramp/North 03, + + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_n_03 + + + + 0 + + + + + Clockworks Fire/Ramp/North 04, panel + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_n_04 + + + + 0 + + + + + Clockworks Fire/Ramp/North 05, - + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_n_05 + + + + 0 + + + + + Clockworks Fire/Ramp/North 06, %SLASH% + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_n_06 + + + + 0 + + + + + Clockworks Fire/Ramp/North 3-wide 01 + + 3 + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_n_3wide_01 + + + + 0, 0, 0 + + + + + Clockworks Fire/Ramp/North 3-wide 02 + + 3 + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_n_3wide_02 + + + + 0, 0, 0 + + + + + Clockworks Fire/Ramp/North 3-wide 03 + + 3 + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_n_3wide_03 + + + + 0, 0, 0 + + + + + Clockworks Fire/Ramp/Rail/Rail left 01 + + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_catwalk_ramp_L01 + + + + 2 + + 0 + + + + Clockworks Fire/Ramp/Rail/Rail left 02 + + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_catwalk_ramp_L02 + + + + 2 + + 0 + + + + Clockworks Fire/Ramp/Rail/Rail left, x2 01 + + 2 + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_catwalk_ramp_x2_L1 + + + + 2 + + 0 + + + + Clockworks Fire/Ramp/Rail/Rail right 01 + + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_catwalk_ramp_R01 + + + + 2 + + 0 + + + + Clockworks Fire/Ramp/Rail/Rail right 02 + + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_catwalk_ramp_R02 + + + + 2 + + 0 + + + + Clockworks Fire/Ramp/Rail/Rail right, x2 01 + + 2 + + world/tileset/clockworks_fire/edge_rail/rail.dat + + Model + rail_catwalk_ramp_x2_R1 + + + + 2 + + 0 + + + + Clockworks Fire/Ramp/Trim/Left 1 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_trim_L1 + + + + 0 + + + + + Clockworks Fire/Ramp/Trim/Left 2 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_trim_L2 + + + + 0 + + + + + Clockworks Fire/Ramp/Trim/Left 3, loop + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_trim_L3 + + + + 0 + + + + + Clockworks Fire/Ramp/Trim/Left 4, gap + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_trim_L4 + + + + 0 + + + + + Clockworks Fire/Ramp/Trim/Left 5 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_trim_L5 + + + + 0 + + + + + Clockworks Fire/Ramp/Trim/Left 6, rivets + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_trim_L6 + + + + 0 + + + + + Clockworks Fire/Ramp/Trim/Right 1 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_trim_R1 + + + + 0 + + + + + Clockworks Fire/Ramp/Trim/Right 2 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_trim_R2 + + + + 0 + + + + + Clockworks Fire/Ramp/Trim/Right 3, loop + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_trim_R3 + + + + 0 + + + + + Clockworks Fire/Ramp/Trim/Right 4, gap + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_trim_R4 + + + + 0 + + + + + Clockworks Fire/Ramp/Trim/Right 5 + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_trim_R5 + + + + 0 + + + + + Clockworks Fire/Ramp/Trim/Right 6, rivets + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_trim_R6 + + + + 0 + + + + + Clockworks Fire/Ramp/West 01, diamond + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_w_01 + + + + 0 + + + + + Clockworks Fire/Ramp/West 02, circles + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_w_02 + + + + 0 + + + + + Clockworks Fire/Ramp/West 03, + + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_w_03 + + + + 0 + + + + + Clockworks Fire/Ramp/West 04, panel + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_w_04 + + + + 0 + + + + + Clockworks Fire/Ramp/West 05, - + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_w_05 + + + + 0 + + + + + Clockworks Fire/Ramp/West 06, %SLASH% + + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_w_06 + + + + 0 + + + + + Clockworks Fire/Ramp/West 3-wide 01 + + 3 + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_w_3wide_01 + + + + 0 + 0 + 0 + + + + + Clockworks Fire/Ramp/West 3-wide 02 + + 3 + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_w_3wide_02 + + + + 0 + 0 + 0 + + + + + Clockworks Fire/Ramp/West 3-wide 03 + + 3 + + world/tileset/clockworks_fire/floor/floor_base.dat + + Model + ramp_w_3wide_03 + + + + 0 + 0 + 0 + + + + + Clockworks Fire/Wall/Back x1 01 + + + world/tileset/clockworks_fire/wall/wall.dat + + Model + wall_back_01 + + + 0 + + + + Clockworks Fire/Wall/Back x2 01 + + 2 + + world/tileset/clockworks_fire/wall/wall.dat + + Model + wall_back_x2_01 + + + 0 + + + + Clockworks Fire/Wall/Back x3 01 + + 3 + + world/tileset/clockworks_fire/wall/wall.dat + + Model + wall_back_x3_01 + + + 0 + + + + Clockworks Fire/Wall/Blue panel x1 01 + + + world/tileset/clockworks_fire/wall/wall.dat + + Model + wall_front_01 + + + 0 + + + + Clockworks Fire/Wall/Blue panel x1 02 + + + world/tileset/clockworks_fire/wall/wall.dat + + Model + wall_front_02 + + + 0 + + + + Clockworks Fire/Wall/Blue panel x1 03 + + + world/tileset/clockworks_fire/wall/wall.dat + + Model + wall_front_03 + + + 0 + + + + Clockworks Fire/Wall/Blue panel x1 04 + + + world/tileset/clockworks_fire/wall/wall.dat + + Model + wall_front_04 + + + 0 + + + + Clockworks Fire/Wall/Blue panel x2 01 + + 2 + + world/tileset/clockworks_fire/wall/wall.dat + + Model + wall_front_x2_01 + + + + 1, 1 + + 0 + + + + Clockworks Fire/Wall/Blue panel x2 02 + + 2 + + world/tileset/clockworks_fire/wall/wall.dat + + Model + wall_front_x2_02 + + + + 1, 1 + + 0 + + + + Clockworks Fire/Wall/Blue panel x2 03 + + 2 + + world/tileset/clockworks_fire/wall/wall.dat + + Model + wall_front_x2_03 + + + + 1, 1 + + 0 + + + + Clockworks Fire/Wall/Blue panel x3 01 + + 3 + + world/tileset/clockworks_fire/wall/wall.dat + + Model + wall_front_x3_01 + + + + 1, 1, 1 + + 0 + + + + Clockworks Fire/Wall/Blue panel x3 02 + + 3 + + world/tileset/clockworks_fire/wall/wall.dat + + Model + wall_front_x3_02 + + + + 1, 1, 1 + + 0 + + + + Clockworks Fire/Wall/Copper flat x1 01 + + + world/tileset/clockworks_fire/wall/wall.dat + + Model + wall_front_05 + + + 0 + + + + Clockworks Fire/Wall/Copper flat x1 02 + + + world/tileset/clockworks_fire/wall/wall.dat + + Model + wall_front_06 + + + 0 + + + + Clockworks Fire/Wall/Copper flat x1 03 + + + world/tileset/clockworks_fire/wall/wall.dat + + Model + wall_front_07 + + + 0 + + + + Clockworks Fire/Wall/Corner In NE 01 + + + world/tileset/clockworks_fire/wall/wall.dat + + Model + wall_corner_in_NE_01 + + + 0 + + + + Clockworks Fire/Wall/Corner In NW 01 + + + world/tileset/clockworks_fire/wall/wall.dat + + Model + wall_corner_in_NW_01 + + + 0 + + + + Clockworks Fire/Wall/Corner In SE + + + world/tileset/clockworks_fire/wall/wall.dat + + Model + wall_corner_in_SE_01 + + + 0 + + + + Clockworks Fire/Wall/Corner In SW + + + world/tileset/clockworks_fire/wall/wall.dat + + Model + wall_corner_in_SW_01 + + + 0 + + + + Clockworks Fire/Wall/Corner Out 01 + + + world/tileset/clockworks_fire/wall/wall.dat + + Model + wall_corner_out_01 + + + 0 + + + + Clockworks Fire/Wall/Fence connector + + + world/tileset/clockworks_fire/wall/wall.dat + + Model + wall_fence_connector + + + 0 + + + + Clockworks Fire/Wall/Fence connector, corner SE + + + world/tileset/clockworks_fire/wall/wall.dat + + Model + wall_fence_connector_SE + + + 0 + + + + Clockworks Fire/Wall/Fence connector, corner SW + + + world/tileset/clockworks_fire/wall/wall.dat + + Model + wall_fence_connector_SW + + + 0 + + + + Clockworks Fire/Wall/Iron bits x1, vent + + + world/tileset/clockworks_fire/wall/wall.dat + + Model + wall_front_08 + + + 0 + + + + Clockworks Fire/Wall/Iron bits x2, iron + + 2 + + world/tileset/clockworks_fire/wall/wall.dat + + Model + wall_x2_iron_01 + + + + 1, 1 + + 0 + + + + Clockworks Freeze/Edge railing/Rail, Back 01 + + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_base_back_01 + + + + 2 + + 0 + + + + Clockworks Freeze/Edge railing/Rail, Back 02 + + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_base_back_02 + + + + 2 + + 0 + + + + Clockworks Freeze/Edge railing/Rail, Back 03 + + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_base_back_03 + + + + 2 + + 0 + + + + Clockworks Freeze/Edge railing/Rail, Transition L + + 2 + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_transition_L + + + + 2 + + 0 + + + + Clockworks Freeze/Edge railing/Rail, Transition R + + 2 + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_transition_R + + + + 2 + + 0 + + + + Clockworks Freeze/Edge railing/Rail, base 01 + + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_base_01 + + + + 2 + + 0 + + + + Clockworks Freeze/Edge railing/Rail, base 02 + + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_base_02 + + + + 2 + + 0 + + + + Clockworks Freeze/Edge railing/Rail, base 03 + + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_base_03 + + + + 2 + + 0 + + + + Clockworks Freeze/Edge railing/Rail, base 04 + + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_base_04 + + + + 2 + + 0 + + + + Clockworks Freeze/Edge railing/Rail, base In 01 + + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_base_corner_in_01 + + + + 2 + + 0 + + + + Clockworks Freeze/Edge railing/Rail, base Out 01 + + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_base_corner_out_01 + + + + 2 + + 0 + + + + Clockworks Freeze/Edge railing/Rail, brace + + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_base_brace + + + + 2 + + 0 + + + + Clockworks Freeze/Edge railing/Rail, brace catwalk + + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_catwalk_brace + + + + 2 + + 0 + + + + Clockworks Freeze/Edge railing/Rail, catwalk 01 + + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_catwalk_01 + + + + 2 + + 0 + + + + Clockworks Freeze/Edge railing/Rail, catwalk 02 + + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_catwalk_02 + + + + 2 + + 0 + + + + Clockworks Freeze/Edge railing/Rail, catwalk 03 + + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_catwalk_03 + + + + 2 + + 0 + + + + Clockworks Freeze/Edge railing/Rail, catwalk 04 - lever valve + + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_catwalk_04 + + + + 2 + + 0 + + + + Clockworks Freeze/Edge railing/Rail, catwalk Back indents + + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_catwalk_back_02 + + + + 2 + + 0 + + + + Clockworks Freeze/Edge railing/Rail, catwalk Back plain + + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_catwalk_back_01 + + + + 2 + + 0 + + + + Clockworks Freeze/Edge railing/Rail, catwalk Back seam + + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_catwalk_back_03 + + + + 2 + + 0 + + + + Clockworks Freeze/Edge railing/Rail, catwalk In 01 + + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_catwalk_corner_in_01 + + + + 2 + + 0 + + + + Clockworks Freeze/Edge railing/Rail, catwalk Out 01 + + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_catwalk_corner_out_01 + + + + 2 + + 0 + + + + Clockworks Freeze/Edge railing/Rail, catwalk x2 01 + + 2 + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_catwalk_x2_01 + + + + 2, 2 + + 0 + + + + Clockworks Freeze/Edge railing/Rail, catwalk x3 01 + + 3 + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_catwalk_x3_01 + + + + 2, 2, 2 + + 0 + + + + Clockworks Freeze/Edge, busted/Edge 1unit - 01 + + 2 + + world/tileset/clockworks_freeze/edge_rail/edge_busted_set.dat + + Model + edge_busted_01 + + + + 2, 2 + + false + + + + Clockworks Freeze/Edge, busted/Edge 1unit - 02 + + 2 + + world/tileset/clockworks_freeze/edge_rail/edge_busted_set.dat + + Model + edge_busted_02 + + + + 2, 2 + + false + + + + Clockworks Freeze/Edge, busted/Edge 1unit - Outside Corner 1 + + + world/tileset/clockworks_freeze/edge_rail/edge_busted_set.dat + + Model + edge_busted_out_01 + + + + 2 + + false + + + + Clockworks Freeze/Edge, busted/Edge x2 - 01 + + 2 + 2 + + world/tileset/clockworks_freeze/edge_rail/edge_busted_set.dat + + Model + edge_busted_x2_01 + + + + 2, 2 + 2, 2 + + false + + + + Clockworks Freeze/Edge, busted/Edge x2 - 02 + + 2 + 2 + + world/tileset/clockworks_freeze/edge_rail/edge_busted_set.dat + + Model + edge_busted_x2_02 + + + + 2, 2 + 2, 2 + + false + + + + Clockworks Freeze/Edge, busted/Edge x2 - Inside Corner 1 + + 2 + 2 + + world/tileset/clockworks_freeze/edge_rail/edge_busted_set.dat + + Model + edge_busted_x2_in + + + + 0, 2 + 2, 2 + + false + + + + Clockworks Freeze/Edge, busted/Railing - Left 01 + + 2 + 2 + + world/tileset/clockworks_freeze/edge_rail/edge_busted_set.dat + + Model + edge_busted_rail_L1 + + + + 2, 2 + 2, 2 + + 0 + false + + + + Clockworks Freeze/Edge, busted/Railing - Left 02 + + 2 + 2 + + world/tileset/clockworks_freeze/edge_rail/edge_busted_set.dat + + Model + edge_busted_rail_L2 + + + + 2, 2 + 2, 2 + + 0 + false + + + + Clockworks Freeze/Edge, busted/Railing - Right 01 + + 2 + 2 + + world/tileset/clockworks_freeze/edge_rail/edge_busted_set.dat + + Model + edge_busted_rail_R1 + + + + 2, 2 + 2, 2 + + 0 + false + + + + Clockworks Freeze/Edge, busted/Railing - Right 02 + + 2 + 2 + + world/tileset/clockworks_freeze/edge_rail/edge_busted_set.dat + + Model + edge_busted_rail_R2 + + + + 2, 2 + 2, 2 + + 0 + false + + + + Clockworks Freeze/Fence, high/Corner 01 + + + world/tileset/clockworks_freeze/fence/fence_high.dat + + Model + fence_high_corner_01 + + + 0 + + + + Clockworks Freeze/Fence, high/Corner 01, north + + + world/tileset/clockworks_freeze/fence/fence_high.dat + + Model + fence_high_corner_01n + + + 0 + + + + Clockworks Freeze/Fence, high/Corner 01, north n west + + + world/tileset/clockworks_freeze/fence/fence_high.dat + + Model + fence_high_corner_01nw + + + 0 + + + + Clockworks Freeze/Fence, high/Corner 01, west + + + world/tileset/clockworks_freeze/fence/fence_high.dat + + Model + fence_high_corner_01w + + + 0 + + + + Clockworks Freeze/Fence, high/Horizontal x1, 01 + + + world/tileset/clockworks_freeze/fence/fence_high.dat + + Model + fence_high_horiz_x1_01 + + + 0 + + + + Clockworks Freeze/Fence, high/Horizontal x1, 02 + + + world/tileset/clockworks_freeze/fence/fence_high.dat + + Model + fence_high_horiz_x1_02 + + + 0 + + + + Clockworks Freeze/Fence, high/Horizontal x1, 03 + + + world/tileset/clockworks_freeze/fence/fence_high.dat + + Model + fence_high_horiz_x1_05 + + + 0 + + + + Clockworks Freeze/Fence, high/Horizontal x1, copper flat 1 + + + world/tileset/clockworks_freeze/fence/fence_high.dat + + Model + fence_high_horiz_x1_03 + + + 0 + + + + Clockworks Freeze/Fence, high/Horizontal x1, copper flat 2 + + + world/tileset/clockworks_freeze/fence/fence_high.dat + + Model + fence_high_horiz_x1_04 + + + 0 + + + + Clockworks Freeze/Fence, high/Horizontal x2, 01 + + 2 + + world/tileset/clockworks_freeze/fence/fence_high.dat + + Model + fence_high_horiz_x2_01 + + + + 1, 1 + + 0 + + + + Clockworks Freeze/Fence, high/Vertical x1, 01 + + + world/tileset/clockworks_freeze/fence/fence_high.dat + + Model + fence_high_vert_x1_01 + + + 0 + + + + Clockworks Freeze/Fence, high/Vertical x1, 02 + + + world/tileset/clockworks_freeze/fence/fence_high.dat + + Model + fence_high_vert_x1_02 + + + 0 + + + + Clockworks Freeze/Fence, high/Vertical x1, 03 + + + world/tileset/clockworks_freeze/fence/fence_high.dat + + Model + fence_high_vert_x1_03 + + + 0 + + + + Clockworks Freeze/Fence, high/Vertical x1, cap south + + + world/tileset/clockworks_freeze/fence/fence_high.dat + + Model + fence_high_vert_cap_s + + + 0 + + + + Clockworks Freeze/Fence, high/Vertical x1, copper flat 1 + + + world/tileset/clockworks_freeze/fence/fence_high.dat + + Model + fence_high_vert_x1_04 + + + 0 + + + + Clockworks Freeze/Fence, high/Vertical x1, copper flat 2 + + + world/tileset/clockworks_freeze/fence/fence_high.dat + + Model + fence_high_vert_x1_05 + + + 0 + + + + Clockworks Freeze/Fence, high/Vertical x2, 01 + + 2 + + world/tileset/clockworks_freeze/fence/fence_high.dat + + Model + fence_high_vert_x2_01 + + + + 1 + 1 + + 0 + + + + Clockworks Freeze/Fence, low/01 + + + world/tileset/clockworks_freeze/fence/fence_low.dat + + Model + fence_low_01 + + + + 2 + + 0 + + + + Clockworks Freeze/Fence, low/02 + + + world/tileset/clockworks_freeze/fence/fence_low.dat + + Model + fence_low_04 + + + + 2 + + 0 + + + + Clockworks Freeze/Fence, low/03 + + + world/tileset/clockworks_freeze/fence/fence_low.dat + + Model + fence_low_03 + + + + 2 + + 0 + + + + Clockworks Freeze/Fence, low/04 + + + world/tileset/clockworks_freeze/fence/fence_low.dat + + Model + fence_low_02 + + + + 2 + + 0 + + + + Clockworks Freeze/Fence, low/05 + + + world/tileset/clockworks_freeze/fence/fence_low.dat + + Model + fence_low_05 + + + + 2 + + 0 + + + + Clockworks Freeze/Fence, low/06 + + + world/tileset/clockworks_freeze/fence/fence_low.dat + + Model + fence_low_06 + + + + 2 + + 0 + + + + Clockworks Freeze/Fence, low/Cap, pipe down + + + world/tileset/clockworks_freeze/fence/fence_low.dat + + Model + fence_low_cap_01 + + + + 2 + + 0 + + + + Clockworks Freeze/Fence, low/Cap, pipe up + + + world/tileset/clockworks_freeze/fence/fence_low.dat + + Model + fence_low_cap_02 + + + + 2 + + 0 + + + + Clockworks Freeze/Fence, low/Crosser 01 + + + world/tileset/clockworks_freeze/fence/fence_low.dat + + Model + fence_low_corner_01 + + + + 2 + + 0 + + + + Clockworks Freeze/Fence, low/Crosser 02 + + + world/tileset/clockworks_freeze/fence/fence_low.dat + + Model + fence_low_corner_02 + + + + 2 + + 0 + + + + Clockworks Freeze/Fence, low/x2 01 + + 2 + + world/tileset/clockworks_freeze/fence/fence_low.dat + + Model + fence_low_x2_01 + + + + 2 + 2 + + 0 + + + + Clockworks Freeze/Fence, low/x2 02 + + 2 + + world/tileset/clockworks_freeze/fence/fence_low.dat + + Model + fence_low_x2_02 + + + + 2 + 2 + + 0 + + + + Clockworks Freeze/Fence, low/x2 03 + + 2 + + world/tileset/clockworks_freeze/fence/fence_low.dat + + Model + fence_low_x2_03 + + + + 2 + 2 + + 0 + + + + Clockworks Freeze/Floor, base/Base 01 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + x1_01 + + + + 0 + + + + + Clockworks Freeze/Floor, base/Base 02 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + x1_02 + + + + 0 + + + + + Clockworks Freeze/Floor, base/Base 03 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + x1_03 + + + + 0 + + + + + Clockworks Freeze/Floor, base/Base 04 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + x1_04 + + + + 0 + + + + + Clockworks Freeze/Floor, base/Floor Plate 01 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + floor_plate_01 + + + + 0 + + + + + Clockworks Freeze/Floor, base/Floor Plate angled + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + floor_plate_02 + + + + 0 + + + + + Clockworks Freeze/Floor, base/Floor Plates, three + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + floor_plate_03 + + + + 0 + + + + + Clockworks Freeze/Floor, base/Swirly 01 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + swirl_x1_01 + + + + 0 + + + + + Clockworks Freeze/Floor, base/Swirly 02 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + swirl_x1_02 + + + + 0 + + + + + Clockworks Freeze/Floor, base/Swirly 03 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + swirl_x1_03 + + + + 0 + + + + + Clockworks Freeze/Floor, base/Swirly 04 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + swirl_x1_04 + + + + 0 + + + + + Clockworks Freeze/Floor, base/Trim/Trim 01 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + trim_01 + + + + 0 + + + + + Clockworks Freeze/Floor, base/Trim/Trim 02 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + trim_02 + + + + 0 + + + + + Clockworks Freeze/Floor, base/Trim/Trim 03 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + trim_03 + + + + 0 + + + + + Clockworks Freeze/Floor, base/Trim/Trim 04 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + trim_04 + + + + 0 + + + + + Clockworks Freeze/Floor, base/Trim/Trim 05 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + trim_05 + + + + 0 + + + + + Clockworks Freeze/Floor, base/Trim/Trim 06 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + trim_06 + + + + 0 + + + + + Clockworks Freeze/Floor, base/Trim/Trim In 01 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + trim_in_NE_01 + + + + 0 + + + + + Clockworks Freeze/Floor, base/Trim/Trim Out 01 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + trim_out_NE_01 + + + + 0 + + + + + Clockworks Freeze/Floor, catwalk/Catwalk 01 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + catwalk_01 + + + + 0 + + + + + Clockworks Freeze/Floor, catwalk/Catwalk 02 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + catwalk_02 + + + + 0 + + + + + Clockworks Freeze/Floor, catwalk/Catwalk 03 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + catwalk_03 + + + + 0 + + + + + Clockworks Freeze/Floor, catwalk/Catwalk 04 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + catwalk_04 + + + + 0 + + + + + Clockworks Freeze/Floor, catwalk/Catwalk 05 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + catwalk_05 + + + + 0 + + + + + Clockworks Freeze/Floor, catwalk/Catwalk 06 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + catwalk_06 + + + + 0 + + + + + Clockworks Freeze/Floor, catwalk/Catwalk 07 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + catwalk_07 + + + + 0 + + + + + Clockworks Freeze/Floor, catwalk/Catwalk 08 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + catwalk_08 + + + + 0 + + + + + Clockworks Freeze/Floor, catwalk/Catwalk NE 01 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + catwalk_ne_01 + + + + 0 + + + + + Clockworks Freeze/Floor, catwalk/Catwalk NE 02 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + catwalk_ne_02 + + + + 0 + + + + + Clockworks Freeze/Floor, catwalk/Catwalk NE 03 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + catwalk_ne_03 + + + + 0 + + + + + Clockworks Freeze/Floor, catwalk/Catwalk NE 04 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + catwalk_ne_04 + + + + 0 + + + + + Clockworks Freeze/Floor, catwalk/Catwalk, solid + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + catwalk_09 + + + + 0 + + + + + Clockworks Freeze/Floor, catwalk/Trim/Trim 01 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + trim2_01 + + + + 0 + + + + + Clockworks Freeze/Floor, catwalk/Trim/Trim 02 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + trim2_02 + + + + 0 + + + + + Clockworks Freeze/Floor, catwalk/Trim/Trim 03 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + trim2_03 + + + + 0 + + + + + Clockworks Freeze/Floor, catwalk/Trim/Trim 04 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + trim2_04 + + + + 0 + + + + + Clockworks Freeze/Floor, catwalk/Trim/Trim 05 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + trim2_05 + + + + 0 + + + + + Clockworks Freeze/Floor, catwalk/Trim/Trim 06 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + trim2_06 + + + + 0 + + + + + Clockworks Freeze/Floor, catwalk/Trim/Trim In 01 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + trim2_in_NE_01 + + + + 0 + + + + + Clockworks Freeze/Floor, catwalk/Trim/Trim Out 01 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + trim2_out_NE_01 + + + + 0 + + + + + Clockworks Freeze/Floor, roof/Base 1unit, 01 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + roof_x1_01 + + + + 0, 0 + + + + + Clockworks Freeze/Floor, roof/Base 1unit, plate + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + roof_x1_02 + + + + 0, 0 + + + + + Clockworks Freeze/Floor, roof/Base 2unit, 01 + + 2 + 2 + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + roof_x2_01 + + + + 0, 0 + 0, 0 + + + + + Clockworks Freeze/Ramp/East 01, diamond + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_e_01 + + + + 0 + + + + + Clockworks Freeze/Ramp/East 02, circles + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_e_02 + + + + 0 + + + + + Clockworks Freeze/Ramp/East 03, + + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_e_03 + + + + 0 + + + + + Clockworks Freeze/Ramp/East 04, panel + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_e_04 + + + + 0 + + + + + Clockworks Freeze/Ramp/East 05, - + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_e_05 + + + + 0 + + + + + Clockworks Freeze/Ramp/East 06, %SLASH% + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_e_06 + + + + 0 + + + + + Clockworks Freeze/Ramp/East 3-wide 01 + + 3 + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_e_3wide_01 + + + + 0 + 0 + 0 + + + + + Clockworks Freeze/Ramp/East 3-wide 02 + + 3 + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_e_3wide_02 + + + + 0 + 0 + 0 + + + + + Clockworks Freeze/Ramp/East 3-wide 03 + + 3 + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_e_3wide_03 + + + + 0 + 0 + 0 + + + + + Clockworks Freeze/Ramp/North 01, diamond + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_n_01 + + + + 0 + + + + + Clockworks Freeze/Ramp/North 02, circles + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_n_02 + + + + 0 + + + + + Clockworks Freeze/Ramp/North 03, + + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_n_03 + + + + 0 + + + + + Clockworks Freeze/Ramp/North 04, panel + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_n_04 + + + + 0 + + + + + Clockworks Freeze/Ramp/North 05, - + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_n_05 + + + + 0 + + + + + Clockworks Freeze/Ramp/North 06, %SLASH% + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_n_06 + + + + 0 + + + + + Clockworks Freeze/Ramp/North 3-wide 01 + + 3 + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_n_3wide_01 + + + + 0, 0, 0 + + + + + Clockworks Freeze/Ramp/North 3-wide 02 + + 3 + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_n_3wide_02 + + + + 0, 0, 0 + + + + + Clockworks Freeze/Ramp/North 3-wide 03 + + 3 + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_n_3wide_03 + + + + 0, 0, 0 + + + + + Clockworks Freeze/Ramp/Rail/Rail left 01 + + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_catwalk_ramp_L01 + + + + 2 + + 0 + + + + Clockworks Freeze/Ramp/Rail/Rail left 02 + + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_catwalk_ramp_L02 + + + + 2 + + 0 + + + + Clockworks Freeze/Ramp/Rail/Rail left, x2 01 + + 2 + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_catwalk_ramp_x2_L1 + + + + 2 + + 0 + + + + Clockworks Freeze/Ramp/Rail/Rail right 01 + + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_catwalk_ramp_R01 + + + + 2 + + 0 + + + + Clockworks Freeze/Ramp/Rail/Rail right 02 + + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_catwalk_ramp_R02 + + + + 2 + + 0 + + + + Clockworks Freeze/Ramp/Rail/Rail right, x2 01 + + 2 + + world/tileset/clockworks_freeze/edge_rail/rail.dat + + Model + rail_catwalk_ramp_x2_R1 + + + + 2 + + 0 + + + + Clockworks Freeze/Ramp/Trim/Left 1 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_trim_L1 + + + + 0 + + + + + Clockworks Freeze/Ramp/Trim/Left 2 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_trim_L2 + + + + 0 + + + + + Clockworks Freeze/Ramp/Trim/Left 3, loop + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_trim_L3 + + + + 0 + + + + + Clockworks Freeze/Ramp/Trim/Left 4, gap + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_trim_L4 + + + + 0 + + + + + Clockworks Freeze/Ramp/Trim/Left 5 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_trim_L5 + + + + 0 + + + + + Clockworks Freeze/Ramp/Trim/Left 6, rivets + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_trim_L6 + + + + 0 + + + + + Clockworks Freeze/Ramp/Trim/Right 1 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_trim_R1 + + + + 0 + + + + + Clockworks Freeze/Ramp/Trim/Right 2 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_trim_R2 + + + + 0 + + + + + Clockworks Freeze/Ramp/Trim/Right 3, loop + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_trim_R3 + + + + 0 + + + + + Clockworks Freeze/Ramp/Trim/Right 4, gap + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_trim_R4 + + + + 0 + + + + + Clockworks Freeze/Ramp/Trim/Right 5 + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_trim_R5 + + + + 0 + + + + + Clockworks Freeze/Ramp/Trim/Right 6, rivets + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_trim_R6 + + + + 0 + + + + + Clockworks Freeze/Ramp/West 01, diamond + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_w_01 + + + + 0 + + + + + Clockworks Freeze/Ramp/West 02, circles + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_w_02 + + + + 0 + + + + + Clockworks Freeze/Ramp/West 03, + + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_w_03 + + + + 0 + + + + + Clockworks Freeze/Ramp/West 04, panel + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_w_04 + + + + 0 + + + + + Clockworks Freeze/Ramp/West 05, - + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_w_05 + + + + 0 + + + + + Clockworks Freeze/Ramp/West 06, %SLASH% + + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_w_06 + + + + 0 + + + + + Clockworks Freeze/Ramp/West 3-wide 01 + + 3 + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_w_3wide_01 + + + + 0 + 0 + 0 + + + + + Clockworks Freeze/Ramp/West 3-wide 02 + + 3 + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_w_3wide_02 + + + + 0 + 0 + 0 + + + + + Clockworks Freeze/Ramp/West 3-wide 03 + + 3 + + world/tileset/clockworks_freeze/floor/floor_base.dat + + Model + ramp_w_3wide_03 + + + + 0 + 0 + 0 + + + + + Clockworks Freeze/Wall/Back x1 01 + + + world/tileset/clockworks_freeze/wall/wall.dat + + Model + wall_back_01 + + + 0 + + + + Clockworks Freeze/Wall/Back x2 01 + + 2 + + world/tileset/clockworks_freeze/wall/wall.dat + + Model + wall_back_x2_01 + + + 0 + + + + Clockworks Freeze/Wall/Back x3 01 + + 3 + + world/tileset/clockworks_freeze/wall/wall.dat + + Model + wall_back_x3_01 + + + 0 + + + + Clockworks Freeze/Wall/Blue panel x1 01 + + + world/tileset/clockworks_freeze/wall/wall.dat + + Model + wall_front_01 + + + 0 + + + + Clockworks Freeze/Wall/Blue panel x1 02 + + + world/tileset/clockworks_freeze/wall/wall.dat + + Model + wall_front_02 + + + 0 + + + + Clockworks Freeze/Wall/Blue panel x1 03 + + + world/tileset/clockworks_freeze/wall/wall.dat + + Model + wall_front_03 + + + 0 + + + + Clockworks Freeze/Wall/Blue panel x1 04 + + + world/tileset/clockworks_freeze/wall/wall.dat + + Model + wall_front_04 + + + 0 + + + + Clockworks Freeze/Wall/Blue panel x2 01 + + 2 + + world/tileset/clockworks_freeze/wall/wall.dat + + Model + wall_front_x2_01 + + + + 1, 1 + + 0 + + + + Clockworks Freeze/Wall/Blue panel x2 02 + + 2 + + world/tileset/clockworks_freeze/wall/wall.dat + + Model + wall_front_x2_02 + + + + 1, 1 + + 0 + + + + Clockworks Freeze/Wall/Blue panel x2 03 + + 2 + + world/tileset/clockworks_freeze/wall/wall.dat + + Model + wall_front_x2_03 + + + + 1, 1 + + 0 + + + + Clockworks Freeze/Wall/Blue panel x3 01 + + 3 + + world/tileset/clockworks_freeze/wall/wall.dat + + Model + wall_front_x3_01 + + + + 1, 1, 1 + + 0 + + + + Clockworks Freeze/Wall/Blue panel x3 02 + + 3 + + world/tileset/clockworks_freeze/wall/wall.dat + + Model + wall_front_x3_02 + + + + 1, 1, 1 + + 0 + + + + Clockworks Freeze/Wall/Copper flat x1 01 + + + world/tileset/clockworks_freeze/wall/wall.dat + + Model + wall_front_05 + + + 0 + + + + Clockworks Freeze/Wall/Copper flat x1 02 + + + world/tileset/clockworks_freeze/wall/wall.dat + + Model + wall_front_06 + + + 0 + + + + Clockworks Freeze/Wall/Copper flat x1 03 + + + world/tileset/clockworks_freeze/wall/wall.dat + + Model + wall_front_07 + + + 0 + + + + Clockworks Freeze/Wall/Corner In NE 01 + + + world/tileset/clockworks_freeze/wall/wall.dat + + Model + wall_corner_in_NE_01 + + + 0 + + + + Clockworks Freeze/Wall/Corner In NW 01 + + + world/tileset/clockworks_freeze/wall/wall.dat + + Model + wall_corner_in_NW_01 + + + 0 + + + + Clockworks Freeze/Wall/Corner In SE + + + world/tileset/clockworks_freeze/wall/wall.dat + + Model + wall_corner_in_SE_01 + + + 0 + + + + Clockworks Freeze/Wall/Corner In SW + + + world/tileset/clockworks_freeze/wall/wall.dat + + Model + wall_corner_in_SW_01 + + + 0 + + + + Clockworks Freeze/Wall/Corner Out 01 + + + world/tileset/clockworks_freeze/wall/wall.dat + + Model + wall_corner_out_01 + + + 0 + + + + Clockworks Freeze/Wall/Fence connector + + + world/tileset/clockworks_freeze/wall/wall.dat + + Model + wall_fence_connector + + + 0 + + + + Clockworks Freeze/Wall/Fence connector, corner SE + + + world/tileset/clockworks_freeze/wall/wall.dat + + Model + wall_fence_connector_SE + + + 0 + + + + Clockworks Freeze/Wall/Fence connector, corner SW + + + world/tileset/clockworks_freeze/wall/wall.dat + + Model + wall_fence_connector_SW + + + 0 + + + + Clockworks Freeze/Wall/Iron bits x1, vent + + + world/tileset/clockworks_freeze/wall/wall.dat + + Model + wall_front_08 + + + 0 + + + + Clockworks Freeze/Wall/Iron bits x2, iron + + 2 + + world/tileset/clockworks_freeze/wall/wall.dat + + Model + wall_x2_iron_01 + + + + 1, 1 + + 0 + + + + Clockworks Poison/Edge railing/Rail, Back 01 + + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_base_back_01 + + + + 2 + + 0 + + + + Clockworks Poison/Edge railing/Rail, Back 02 + + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_base_back_02 + + + + 2 + + 0 + + + + Clockworks Poison/Edge railing/Rail, Back 03 + + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_base_back_03 + + + + 2 + + 0 + + + + Clockworks Poison/Edge railing/Rail, Transition L + + 2 + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_transition_L + + + + 2 + + 0 + + + + Clockworks Poison/Edge railing/Rail, Transition R + + 2 + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_transition_R + + + + 2 + + 0 + + + + Clockworks Poison/Edge railing/Rail, base 01 + + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_base_01 + + + + 2 + + 0 + + + + Clockworks Poison/Edge railing/Rail, base 02 + + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_base_02 + + + + 2 + + 0 + + + + Clockworks Poison/Edge railing/Rail, base 03 + + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_base_03 + + + + 2 + + 0 + + + + Clockworks Poison/Edge railing/Rail, base 04 + + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_base_04 + + + + 2 + + 0 + + + + Clockworks Poison/Edge railing/Rail, base In 01 + + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_base_corner_in_01 + + + + 2 + + 0 + + + + Clockworks Poison/Edge railing/Rail, base Out 01 + + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_base_corner_out_01 + + + + 2 + + 0 + + + + Clockworks Poison/Edge railing/Rail, brace + + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_base_brace + + + + 2 + + 0 + + + + Clockworks Poison/Edge railing/Rail, brace catwalk + + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_catwalk_brace + + + + 2 + + 0 + + + + Clockworks Poison/Edge railing/Rail, catwalk 01 + + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_catwalk_01 + + + + 2 + + 0 + + + + Clockworks Poison/Edge railing/Rail, catwalk 02 + + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_catwalk_02 + + + + 2 + + 0 + + + + Clockworks Poison/Edge railing/Rail, catwalk 03 + + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_catwalk_03 + + + + 2 + + 0 + + + + Clockworks Poison/Edge railing/Rail, catwalk 04 - lever valve + + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_catwalk_04 + + + + 2 + + 0 + + + + Clockworks Poison/Edge railing/Rail, catwalk Back indents + + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_catwalk_back_02 + + + + 2 + + 0 + + + + Clockworks Poison/Edge railing/Rail, catwalk Back plain + + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_catwalk_back_01 + + + + 2 + + 0 + + + + Clockworks Poison/Edge railing/Rail, catwalk Back seam + + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_catwalk_back_03 + + + + 2 + + 0 + + + + Clockworks Poison/Edge railing/Rail, catwalk In 01 + + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_catwalk_corner_in_01 + + + + 2 + + 0 + + + + Clockworks Poison/Edge railing/Rail, catwalk Out 01 + + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_catwalk_corner_out_01 + + + + 2 + + 0 + + + + Clockworks Poison/Edge railing/Rail, catwalk x2 01 + + 2 + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_catwalk_x2_01 + + + + 2, 2 + + 0 + + + + Clockworks Poison/Edge railing/Rail, catwalk x3 01 + + 3 + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_catwalk_x3_01 + + + + 2, 2, 2 + + 0 + + + + Clockworks Poison/Edge, busted/Edge 1unit - 01 + + 2 + + world/tileset/clockworks_poison/edge_rail/edge_busted_set.dat + + Model + edge_busted_01 + + + + 2, 2 + + false + + + + Clockworks Poison/Edge, busted/Edge 1unit - 02 + + 2 + + world/tileset/clockworks_poison/edge_rail/edge_busted_set.dat + + Model + edge_busted_02 + + + + 2, 2 + + false + + + + Clockworks Poison/Edge, busted/Edge 1unit - Outside Corner 1 + + + world/tileset/clockworks_poison/edge_rail/edge_busted_set.dat + + Model + edge_busted_out_01 + + + + 2 + + false + + + + Clockworks Poison/Edge, busted/Edge x2 - 01 + + 2 + 2 + + world/tileset/clockworks_poison/edge_rail/edge_busted_set.dat + + Model + edge_busted_x2_01 + + + + 2, 2 + 2, 2 + + false + + + + Clockworks Poison/Edge, busted/Edge x2 - 02 + + 2 + 2 + + world/tileset/clockworks_poison/edge_rail/edge_busted_set.dat + + Model + edge_busted_x2_02 + + + + 2, 2 + 2, 2 + + false + + + + Clockworks Poison/Edge, busted/Edge x2 - Inside Corner 1 + + 2 + 2 + + world/tileset/clockworks_poison/edge_rail/edge_busted_set.dat + + Model + edge_busted_x2_in + + + + 0, 2 + 2, 2 + + false + + + + Clockworks Poison/Edge, busted/Railing - Left 01 + + 2 + 2 + + world/tileset/clockworks_poison/edge_rail/edge_busted_set.dat + + Model + edge_busted_rail_L1 + + + + 2, 2 + 2, 2 + + 0 + false + + + + Clockworks Poison/Edge, busted/Railing - Left 02 + + 2 + 2 + + world/tileset/clockworks_poison/edge_rail/edge_busted_set.dat + + Model + edge_busted_rail_L2 + + + + 2, 2 + 2, 2 + + 0 + false + + + + Clockworks Poison/Edge, busted/Railing - Right 01 + + 2 + 2 + + world/tileset/clockworks_poison/edge_rail/edge_busted_set.dat + + Model + edge_busted_rail_R1 + + + + 2, 2 + 2, 2 + + 0 + false + + + + Clockworks Poison/Edge, busted/Railing - Right 02 + + 2 + 2 + + world/tileset/clockworks_poison/edge_rail/edge_busted_set.dat + + Model + edge_busted_rail_R2 + + + + 2, 2 + 2, 2 + + 0 + false + + + + Clockworks Poison/Fence, high/Corner 01 + + + world/tileset/clockworks_poison/fence/fence_high.dat + + Model + fence_high_corner_01 + + + 0 + + + + Clockworks Poison/Fence, high/Corner 01, north + + + world/tileset/clockworks_poison/fence/fence_high.dat + + Model + fence_high_corner_01n + + + 0 + + + + Clockworks Poison/Fence, high/Corner 01, north n west + + + world/tileset/clockworks_poison/fence/fence_high.dat + + Model + fence_high_corner_01nw + + + 0 + + + + Clockworks Poison/Fence, high/Corner 01, west + + + world/tileset/clockworks_poison/fence/fence_high.dat + + Model + fence_high_corner_01w + + + 0 + + + + Clockworks Poison/Fence, high/Horizontal x1, 01 + + + world/tileset/clockworks_poison/fence/fence_high.dat + + Model + fence_high_horiz_x1_01 + + + 0 + + + + Clockworks Poison/Fence, high/Horizontal x1, 02 + + + world/tileset/clockworks_poison/fence/fence_high.dat + + Model + fence_high_horiz_x1_02 + + + 0 + + + + Clockworks Poison/Fence, high/Horizontal x1, 03 + + + world/tileset/clockworks_poison/fence/fence_high.dat + + Model + fence_high_horiz_x1_05 + + + 0 + + + + Clockworks Poison/Fence, high/Horizontal x1, copper flat 1 + + + world/tileset/clockworks_poison/fence/fence_high.dat + + Model + fence_high_horiz_x1_03 + + + 0 + + + + Clockworks Poison/Fence, high/Horizontal x1, copper flat 2 + + + world/tileset/clockworks_poison/fence/fence_high.dat + + Model + fence_high_horiz_x1_04 + + + 0 + + + + Clockworks Poison/Fence, high/Horizontal x2, 01 + + 2 + + world/tileset/clockworks_poison/fence/fence_high.dat + + Model + fence_high_horiz_x2_01 + + + + 1, 1 + + 0 + + + + Clockworks Poison/Fence, high/Vertical x1, 01 + + + world/tileset/clockworks_poison/fence/fence_high.dat + + Model + fence_high_vert_x1_01 + + + 0 + + + + Clockworks Poison/Fence, high/Vertical x1, 02 + + + world/tileset/clockworks_poison/fence/fence_high.dat + + Model + fence_high_vert_x1_02 + + + 0 + + + + Clockworks Poison/Fence, high/Vertical x1, 03 + + + world/tileset/clockworks_poison/fence/fence_high.dat + + Model + fence_high_vert_x1_03 + + + 0 + + + + Clockworks Poison/Fence, high/Vertical x1, cap south + + + world/tileset/clockworks_poison/fence/fence_high.dat + + Model + fence_high_vert_cap_s + + + 0 + + + + Clockworks Poison/Fence, high/Vertical x1, copper flat 1 + + + world/tileset/clockworks_poison/fence/fence_high.dat + + Model + fence_high_vert_x1_04 + + + 0 + + + + Clockworks Poison/Fence, high/Vertical x1, copper flat 2 + + + world/tileset/clockworks_poison/fence/fence_high.dat + + Model + fence_high_vert_x1_05 + + + 0 + + + + Clockworks Poison/Fence, high/Vertical x2, 01 + + 2 + + world/tileset/clockworks_poison/fence/fence_high.dat + + Model + fence_high_vert_x2_01 + + + + 1 + 1 + + 0 + + + + Clockworks Poison/Fence, low/01 + + + world/tileset/clockworks_poison/fence/fence_low.dat + + Model + fence_low_01 + + + + 2 + + 0 + + + + Clockworks Poison/Fence, low/02 + + + world/tileset/clockworks_poison/fence/fence_low.dat + + Model + fence_low_04 + + + + 2 + + 0 + + + + Clockworks Poison/Fence, low/03 + + + world/tileset/clockworks_poison/fence/fence_low.dat + + Model + fence_low_03 + + + + 2 + + 0 + + + + Clockworks Poison/Fence, low/04 + + + world/tileset/clockworks_poison/fence/fence_low.dat + + Model + fence_low_02 + + + + 2 + + 0 + + + + Clockworks Poison/Fence, low/05 + + + world/tileset/clockworks_poison/fence/fence_low.dat + + Model + fence_low_05 + + + + 2 + + 0 + + + + Clockworks Poison/Fence, low/06 + + + world/tileset/clockworks_poison/fence/fence_low.dat + + Model + fence_low_06 + + + + 2 + + 0 + + + + Clockworks Poison/Fence, low/Cap, pipe down + + + world/tileset/clockworks_poison/fence/fence_low.dat + + Model + fence_low_cap_01 + + + + 2 + + 0 + + + + Clockworks Poison/Fence, low/Cap, pipe up + + + world/tileset/clockworks_poison/fence/fence_low.dat + + Model + fence_low_cap_02 + + + + 2 + + 0 + + + + Clockworks Poison/Fence, low/Crosser 01 + + + world/tileset/clockworks_poison/fence/fence_low.dat + + Model + fence_low_corner_01 + + + + 2 + + 0 + + + + Clockworks Poison/Fence, low/Crosser 02 + + + world/tileset/clockworks_poison/fence/fence_low.dat + + Model + fence_low_corner_02 + + + + 2 + + 0 + + + + Clockworks Poison/Fence, low/x2 01 + + 2 + + world/tileset/clockworks_poison/fence/fence_low.dat + + Model + fence_low_x2_01 + + + + 2 + 2 + + 0 + + + + Clockworks Poison/Fence, low/x2 02 + + 2 + + world/tileset/clockworks_poison/fence/fence_low.dat + + Model + fence_low_x2_02 + + + + 2 + 2 + + 0 + + + + Clockworks Poison/Fence, low/x2 03 + + 2 + + world/tileset/clockworks_poison/fence/fence_low.dat + + Model + fence_low_x2_03 + + + + 2 + 2 + + 0 + + + + Clockworks Poison/Floor, base/Base 01 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + x1_01 + + + + 0 + + + + + Clockworks Poison/Floor, base/Base 02 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + x1_02 + + + + 0 + + + + + Clockworks Poison/Floor, base/Base 03 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + x1_03 + + + + 0 + + + + + Clockworks Poison/Floor, base/Base 04 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + x1_04 + + + + 0 + + + + + Clockworks Poison/Floor, base/Floor Plate 01 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + floor_plate_01 + + + + 0 + + + + + Clockworks Poison/Floor, base/Floor Plate angled + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + floor_plate_02 + + + + 0 + + + + + Clockworks Poison/Floor, base/Floor Plates, three + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + floor_plate_03 + + + + 0 + + + + + Clockworks Poison/Floor, base/Swirly 01 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + swirl_x1_01 + + + + 0 + + + + + Clockworks Poison/Floor, base/Swirly 02 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + swirl_x1_02 + + + + 0 + + + + + Clockworks Poison/Floor, base/Swirly 03 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + swirl_x1_03 + + + + 0 + + + + + Clockworks Poison/Floor, base/Swirly 04 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + swirl_x1_04 + + + + 0 + + + + + Clockworks Poison/Floor, base/Trim/Trim 01 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + trim_01 + + + + 0 + + + + + Clockworks Poison/Floor, base/Trim/Trim 02 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + trim_02 + + + + 0 + + + + + Clockworks Poison/Floor, base/Trim/Trim 03 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + trim_03 + + + + 0 + + + + + Clockworks Poison/Floor, base/Trim/Trim 04 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + trim_04 + + + + 0 + + + + + Clockworks Poison/Floor, base/Trim/Trim 05 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + trim_05 + + + + 0 + + + + + Clockworks Poison/Floor, base/Trim/Trim 06 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + trim_06 + + + + 0 + + + + + Clockworks Poison/Floor, base/Trim/Trim In 01 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + trim_in_NE_01 + + + + 0 + + + + + Clockworks Poison/Floor, base/Trim/Trim Out 01 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + trim_out_NE_01 + + + + 0 + + + + + Clockworks Poison/Floor, catwalk/Catwalk 01 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + catwalk_01 + + + + 0 + + + + + Clockworks Poison/Floor, catwalk/Catwalk 02 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + catwalk_02 + + + + 0 + + + + + Clockworks Poison/Floor, catwalk/Catwalk 03 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + catwalk_03 + + + + 0 + + + + + Clockworks Poison/Floor, catwalk/Catwalk 04 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + catwalk_04 + + + + 0 + + + + + Clockworks Poison/Floor, catwalk/Catwalk 05 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + catwalk_05 + + + + 0 + + + + + Clockworks Poison/Floor, catwalk/Catwalk 06 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + catwalk_06 + + + + 0 + + + + + Clockworks Poison/Floor, catwalk/Catwalk 07 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + catwalk_07 + + + + 0 + + + + + Clockworks Poison/Floor, catwalk/Catwalk 08 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + catwalk_08 + + + + 0 + + + + + Clockworks Poison/Floor, catwalk/Catwalk NE 01 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + catwalk_ne_01 + + + + 0 + + + + + Clockworks Poison/Floor, catwalk/Catwalk NE 02 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + catwalk_ne_02 + + + + 0 + + + + + Clockworks Poison/Floor, catwalk/Catwalk NE 03 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + catwalk_ne_03 + + + + 0 + + + + + Clockworks Poison/Floor, catwalk/Catwalk NE 04 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + catwalk_ne_04 + + + + 0 + + + + + Clockworks Poison/Floor, catwalk/Catwalk, solid + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + catwalk_09 + + + + 0 + + + + + Clockworks Poison/Floor, catwalk/Trim/Trim 01 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + trim2_01 + + + + 0 + + + + + Clockworks Poison/Floor, catwalk/Trim/Trim 02 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + trim2_02 + + + + 0 + + + + + Clockworks Poison/Floor, catwalk/Trim/Trim 03 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + trim2_03 + + + + 0 + + + + + Clockworks Poison/Floor, catwalk/Trim/Trim 04 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + trim2_04 + + + + 0 + + + + + Clockworks Poison/Floor, catwalk/Trim/Trim 05 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + trim2_05 + + + + 0 + + + + + Clockworks Poison/Floor, catwalk/Trim/Trim 06 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + trim2_06 + + + + 0 + + + + + Clockworks Poison/Floor, catwalk/Trim/Trim In 01 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + trim2_in_NE_01 + + + + 0 + + + + + Clockworks Poison/Floor, catwalk/Trim/Trim Out 01 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + trim2_out_NE_01 + + + + 0 + + + + + Clockworks Poison/Floor, roof/Base 1unit, 01 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + roof_x1_01 + + + + 0, 0 + + + + + Clockworks Poison/Floor, roof/Base 1unit, plate + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + roof_x1_02 + + + + 0, 0 + + + + + Clockworks Poison/Floor, roof/Base 2unit, 01 + + 2 + 2 + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + roof_x2_01 + + + + 0, 0 + 0, 0 + + + + + Clockworks Poison/Ramp/East 01, diamond + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_e_01 + + + + 0 + + + + + Clockworks Poison/Ramp/East 02, circles + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_e_02 + + + + 0 + + + + + Clockworks Poison/Ramp/East 03, + + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_e_03 + + + + 0 + + + + + Clockworks Poison/Ramp/East 04, panel + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_e_04 + + + + 0 + + + + + Clockworks Poison/Ramp/East 05, - + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_e_05 + + + + 0 + + + + + Clockworks Poison/Ramp/East 06, %SLASH% + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_e_06 + + + + 0 + + + + + Clockworks Poison/Ramp/East 3-wide 01 + + 3 + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_e_3wide_01 + + + + 0 + 0 + 0 + + + + + Clockworks Poison/Ramp/East 3-wide 02 + + 3 + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_e_3wide_02 + + + + 0 + 0 + 0 + + + + + Clockworks Poison/Ramp/East 3-wide 03 + + 3 + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_e_3wide_03 + + + + 0 + 0 + 0 + + + + + Clockworks Poison/Ramp/North 01, diamond + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_n_01 + + + + 0 + + + + + Clockworks Poison/Ramp/North 02, circles + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_n_02 + + + + 0 + + + + + Clockworks Poison/Ramp/North 03, + + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_n_03 + + + + 0 + + + + + Clockworks Poison/Ramp/North 04, panel + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_n_04 + + + + 0 + + + + + Clockworks Poison/Ramp/North 05, - + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_n_05 + + + + 0 + + + + + Clockworks Poison/Ramp/North 06, %SLASH% + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_n_06 + + + + 0 + + + + + Clockworks Poison/Ramp/North 3-wide 01 + + 3 + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_n_3wide_01 + + + + 0, 0, 0 + + + + + Clockworks Poison/Ramp/North 3-wide 02 + + 3 + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_n_3wide_02 + + + + 0, 0, 0 + + + + + Clockworks Poison/Ramp/North 3-wide 03 + + 3 + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_n_3wide_03 + + + + 0, 0, 0 + + + + + Clockworks Poison/Ramp/Rail/Rail left 01 + + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_catwalk_ramp_L01 + + + + 2 + + 0 + + + + Clockworks Poison/Ramp/Rail/Rail left 02 + + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_catwalk_ramp_L02 + + + + 2 + + 0 + + + + Clockworks Poison/Ramp/Rail/Rail left, x2 01 + + 2 + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_catwalk_ramp_x2_L1 + + + + 2 + + 0 + + + + Clockworks Poison/Ramp/Rail/Rail right 01 + + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_catwalk_ramp_R01 + + + + 2 + + 0 + + + + Clockworks Poison/Ramp/Rail/Rail right 02 + + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_catwalk_ramp_R02 + + + + 2 + + 0 + + + + Clockworks Poison/Ramp/Rail/Rail right, x2 01 + + 2 + + world/tileset/clockworks_poison/edge_rail/rail.dat + + Model + rail_catwalk_ramp_x2_R1 + + + + 2 + + 0 + + + + Clockworks Poison/Ramp/Trim/Left 1 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_trim_L1 + + + + 0 + + + + + Clockworks Poison/Ramp/Trim/Left 2 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_trim_L2 + + + + 0 + + + + + Clockworks Poison/Ramp/Trim/Left 3, loop + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_trim_L3 + + + + 0 + + + + + Clockworks Poison/Ramp/Trim/Left 4, gap + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_trim_L4 + + + + 0 + + + + + Clockworks Poison/Ramp/Trim/Left 5 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_trim_L5 + + + + 0 + + + + + Clockworks Poison/Ramp/Trim/Left 6, rivets + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_trim_L6 + + + + 0 + + + + + Clockworks Poison/Ramp/Trim/Right 1 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_trim_R1 + + + + 0 + + + + + Clockworks Poison/Ramp/Trim/Right 2 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_trim_R2 + + + + 0 + + + + + Clockworks Poison/Ramp/Trim/Right 3, loop + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_trim_R3 + + + + 0 + + + + + Clockworks Poison/Ramp/Trim/Right 4, gap + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_trim_R4 + + + + 0 + + + + + Clockworks Poison/Ramp/Trim/Right 5 + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_trim_R5 + + + + 0 + + + + + Clockworks Poison/Ramp/Trim/Right 6, rivets + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_trim_R6 + + + + 0 + + + + + Clockworks Poison/Ramp/West 01, diamond + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_w_01 + + + + 0 + + + + + Clockworks Poison/Ramp/West 02, circles + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_w_02 + + + + 0 + + + + + Clockworks Poison/Ramp/West 03, + + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_w_03 + + + + 0 + + + + + Clockworks Poison/Ramp/West 04, panel + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_w_04 + + + + 0 + + + + + Clockworks Poison/Ramp/West 05, - + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_w_05 + + + + 0 + + + + + Clockworks Poison/Ramp/West 06, %SLASH% + + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_w_06 + + + + 0 + + + + + Clockworks Poison/Ramp/West 3-wide 01 + + 3 + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_w_3wide_01 + + + + 0 + 0 + 0 + + + + + Clockworks Poison/Ramp/West 3-wide 02 + + 3 + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_w_3wide_02 + + + + 0 + 0 + 0 + + + + + Clockworks Poison/Ramp/West 3-wide 03 + + 3 + + world/tileset/clockworks_poison/floor/floor_base.dat + + Model + ramp_w_3wide_03 + + + + 0 + 0 + 0 + + + + + Clockworks Poison/Wall/Back x1 01 + + + world/tileset/clockworks_poison/wall/wall.dat + + Model + wall_back_01 + + + 0 + + + + Clockworks Poison/Wall/Back x2 01 + + 2 + + world/tileset/clockworks_poison/wall/wall.dat + + Model + wall_back_x2_01 + + + 0 + + + + Clockworks Poison/Wall/Back x3 01 + + 3 + + world/tileset/clockworks_poison/wall/wall.dat + + Model + wall_back_x3_01 + + + 0 + + + + Clockworks Poison/Wall/Blue panel x1 01 + + + world/tileset/clockworks_poison/wall/wall.dat + + Model + wall_front_01 + + + 0 + + + + Clockworks Poison/Wall/Blue panel x1 02 + + + world/tileset/clockworks_poison/wall/wall.dat + + Model + wall_front_02 + + + 0 + + + + Clockworks Poison/Wall/Blue panel x1 03 + + + world/tileset/clockworks_poison/wall/wall.dat + + Model + wall_front_03 + + + 0 + + + + Clockworks Poison/Wall/Blue panel x1 04 + + + world/tileset/clockworks_poison/wall/wall.dat + + Model + wall_front_04 + + + 0 + + + + Clockworks Poison/Wall/Blue panel x2 01 + + 2 + + world/tileset/clockworks_poison/wall/wall.dat + + Model + wall_front_x2_01 + + + + 1, 1 + + 0 + + + + Clockworks Poison/Wall/Blue panel x2 02 + + 2 + + world/tileset/clockworks_poison/wall/wall.dat + + Model + wall_front_x2_02 + + + + 1, 1 + + 0 + + + + Clockworks Poison/Wall/Blue panel x2 03 + + 2 + + world/tileset/clockworks_poison/wall/wall.dat + + Model + wall_front_x2_03 + + + + 1, 1 + + 0 + + + + Clockworks Poison/Wall/Blue panel x3 01 + + 3 + + world/tileset/clockworks_poison/wall/wall.dat + + Model + wall_front_x3_01 + + + + 1, 1, 1 + + 0 + + + + Clockworks Poison/Wall/Blue panel x3 02 + + 3 + + world/tileset/clockworks_poison/wall/wall.dat + + Model + wall_front_x3_02 + + + + 1, 1, 1 + + 0 + + + + Clockworks Poison/Wall/Copper flat x1 01 + + + world/tileset/clockworks_poison/wall/wall.dat + + Model + wall_front_05 + + + 0 + + + + Clockworks Poison/Wall/Copper flat x1 02 + + + world/tileset/clockworks_poison/wall/wall.dat + + Model + wall_front_06 + + + 0 + + + + Clockworks Poison/Wall/Copper flat x1 03 + + + world/tileset/clockworks_poison/wall/wall.dat + + Model + wall_front_07 + + + 0 + + + + Clockworks Poison/Wall/Corner In NE 01 + + + world/tileset/clockworks_poison/wall/wall.dat + + Model + wall_corner_in_NE_01 + + + 0 + + + + Clockworks Poison/Wall/Corner In NW 01 + + + world/tileset/clockworks_poison/wall/wall.dat + + Model + wall_corner_in_NW_01 + + + 0 + + + + Clockworks Poison/Wall/Corner In SE + + + world/tileset/clockworks_poison/wall/wall.dat + + Model + wall_corner_in_SE_01 + + + 0 + + + + Clockworks Poison/Wall/Corner In SW + + + world/tileset/clockworks_poison/wall/wall.dat + + Model + wall_corner_in_SW_01 + + + 0 + + + + Clockworks Poison/Wall/Corner Out 01 + + + world/tileset/clockworks_poison/wall/wall.dat + + Model + wall_corner_out_01 + + + 0 + + + + Clockworks Poison/Wall/Fence connector + + + world/tileset/clockworks_poison/wall/wall.dat + + Model + wall_fence_connector + + + 0 + + + + Clockworks Poison/Wall/Fence connector, corner SE + + + world/tileset/clockworks_poison/wall/wall.dat + + Model + wall_fence_connector_SE + + + 0 + + + + Clockworks Poison/Wall/Fence connector, corner SW + + + world/tileset/clockworks_poison/wall/wall.dat + + Model + wall_fence_connector_SW + + + 0 + + + + Clockworks Poison/Wall/Iron bits x1, vent + + + world/tileset/clockworks_poison/wall/wall.dat + + Model + wall_front_08 + + + 0 + + + + Clockworks Poison/Wall/Iron bits x2, iron + + 2 + + world/tileset/clockworks_poison/wall/wall.dat + + Model + wall_x2_iron_01 + + + + 1, 1 + + 0 + + + + Clockworks Shock/Edge railing/Rail, Back 01 + + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_base_back_01 + + + + 2 + + 0 + + + + Clockworks Shock/Edge railing/Rail, Back 02 + + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_base_back_02 + + + + 2 + + 0 + + + + Clockworks Shock/Edge railing/Rail, Back 03 + + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_base_back_03 + + + + 2 + + 0 + + + + Clockworks Shock/Edge railing/Rail, Transition L + + 2 + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_transition_L + + + + 2 + + 0 + + + + Clockworks Shock/Edge railing/Rail, Transition R + + 2 + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_transition_R + + + + 2 + + 0 + + + + Clockworks Shock/Edge railing/Rail, base 01 + + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_base_01 + + + + 2 + + 0 + + + + Clockworks Shock/Edge railing/Rail, base 02 + + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_base_02 + + + + 2 + + 0 + + + + Clockworks Shock/Edge railing/Rail, base 03 + + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_base_03 + + + + 2 + + 0 + + + + Clockworks Shock/Edge railing/Rail, base 04 + + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_base_04 + + + + 2 + + 0 + + + + Clockworks Shock/Edge railing/Rail, base In 01 + + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_base_corner_in_01 + + + + 2 + + 0 + + + + Clockworks Shock/Edge railing/Rail, base Out 01 + + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_base_corner_out_01 + + + + 2 + + 0 + + + + Clockworks Shock/Edge railing/Rail, brace + + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_base_brace + + + + 2 + + 0 + + + + Clockworks Shock/Edge railing/Rail, brace catwalk + + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_catwalk_brace + + + + 2 + + 0 + + + + Clockworks Shock/Edge railing/Rail, catwalk 01 + + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_catwalk_01 + + + + 2 + + 0 + + + + Clockworks Shock/Edge railing/Rail, catwalk 02 + + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_catwalk_02 + + + + 2 + + 0 + + + + Clockworks Shock/Edge railing/Rail, catwalk 03 + + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_catwalk_03 + + + + 2 + + 0 + + + + Clockworks Shock/Edge railing/Rail, catwalk 04 - lever valve + + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_catwalk_04 + + + + 2 + + 0 + + + + Clockworks Shock/Edge railing/Rail, catwalk Back indents + + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_catwalk_back_02 + + + + 2 + + 0 + + + + Clockworks Shock/Edge railing/Rail, catwalk Back plain + + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_catwalk_back_01 + + + + 2 + + 0 + + + + Clockworks Shock/Edge railing/Rail, catwalk Back seam + + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_catwalk_back_03 + + + + 2 + + 0 + + + + Clockworks Shock/Edge railing/Rail, catwalk In 01 + + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_catwalk_corner_in_01 + + + + 2 + + 0 + + + + Clockworks Shock/Edge railing/Rail, catwalk Out 01 + + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_catwalk_corner_out_01 + + + + 2 + + 0 + + + + Clockworks Shock/Edge railing/Rail, catwalk x2 01 + + 2 + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_catwalk_x2_01 + + + + 2, 2 + + 0 + + + + Clockworks Shock/Edge railing/Rail, catwalk x3 01 + + 3 + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_catwalk_x3_01 + + + + 2, 2, 2 + + 0 + + + + Clockworks Shock/Edge, busted/Edge 1unit - 01 + + 2 + + world/tileset/clockworks_shock/edge_rail/edge_busted_set.dat + + Model + edge_busted_01 + + + + 2, 2 + + false + + + + Clockworks Shock/Edge, busted/Edge 1unit - 02 + + 2 + + world/tileset/clockworks_shock/edge_rail/edge_busted_set.dat + + Model + edge_busted_02 + + + + 2, 2 + + false + + + + Clockworks Shock/Edge, busted/Edge 1unit - Outside Corner 1 + + + world/tileset/clockworks_shock/edge_rail/edge_busted_set.dat + + Model + edge_busted_out_01 + + + + 2 + + false + + + + Clockworks Shock/Edge, busted/Edge x2 - 01 + + 2 + 2 + + world/tileset/clockworks_shock/edge_rail/edge_busted_set.dat + + Model + edge_busted_x2_01 + + + + 2, 2 + 2, 2 + + false + + + + Clockworks Shock/Edge, busted/Edge x2 - 02 + + 2 + 2 + + world/tileset/clockworks_shock/edge_rail/edge_busted_set.dat + + Model + edge_busted_x2_02 + + + + 2, 2 + 2, 2 + + false + + + + Clockworks Shock/Edge, busted/Edge x2 - Inside Corner 1 + + 2 + 2 + + world/tileset/clockworks_shock/edge_rail/edge_busted_set.dat + + Model + edge_busted_x2_in + + + + 0, 2 + 2, 2 + + false + + + + Clockworks Shock/Edge, busted/Railing - Left 01 + + 2 + 2 + + world/tileset/clockworks_shock/edge_rail/edge_busted_set.dat + + Model + edge_busted_rail_L1 + + + + 2, 2 + 2, 2 + + 0 + false + + + + Clockworks Shock/Edge, busted/Railing - Left 02 + + 2 + 2 + + world/tileset/clockworks_shock/edge_rail/edge_busted_set.dat + + Model + edge_busted_rail_L2 + + + + 2, 2 + 2, 2 + + 0 + false + + + + Clockworks Shock/Edge, busted/Railing - Right 01 + + 2 + 2 + + world/tileset/clockworks_shock/edge_rail/edge_busted_set.dat + + Model + edge_busted_rail_R1 + + + + 2, 2 + 2, 2 + + 0 + false + + + + Clockworks Shock/Edge, busted/Railing - Right 02 + + 2 + 2 + + world/tileset/clockworks_shock/edge_rail/edge_busted_set.dat + + Model + edge_busted_rail_R2 + + + + 2, 2 + 2, 2 + + 0 + false + + + + Clockworks Shock/Fence, high/Corner 01 + + + world/tileset/clockworks_shock/fence/fence_high.dat + + Model + fence_high_corner_01 + + + 0 + + + + Clockworks Shock/Fence, high/Corner 01, north + + + world/tileset/clockworks_shock/fence/fence_high.dat + + Model + fence_high_corner_01n + + + 0 + + + + Clockworks Shock/Fence, high/Corner 01, north n west + + + world/tileset/clockworks_shock/fence/fence_high.dat + + Model + fence_high_corner_01nw + + + 0 + + + + Clockworks Shock/Fence, high/Corner 01, west + + + world/tileset/clockworks_shock/fence/fence_high.dat + + Model + fence_high_corner_01w + + + 0 + + + + Clockworks Shock/Fence, high/Horizontal x1, 01 + + + world/tileset/clockworks_shock/fence/fence_high.dat + + Model + fence_high_horiz_x1_01 + + + 0 + + + + Clockworks Shock/Fence, high/Horizontal x1, 02 + + + world/tileset/clockworks_shock/fence/fence_high.dat + + Model + fence_high_horiz_x1_02 + + + 0 + + + + Clockworks Shock/Fence, high/Horizontal x1, 03 + + + world/tileset/clockworks_shock/fence/fence_high.dat + + Model + fence_high_horiz_x1_05 + + + 0 + + + + Clockworks Shock/Fence, high/Horizontal x1, copper flat 1 + + + world/tileset/clockworks_shock/fence/fence_high.dat + + Model + fence_high_horiz_x1_03 + + + 0 + + + + Clockworks Shock/Fence, high/Horizontal x1, copper flat 2 + + + world/tileset/clockworks_shock/fence/fence_high.dat + + Model + fence_high_horiz_x1_04 + + + 0 + + + + Clockworks Shock/Fence, high/Horizontal x2, 01 + + 2 + + world/tileset/clockworks_shock/fence/fence_high.dat + + Model + fence_high_horiz_x2_01 + + + + 1, 1 + + 0 + + + + Clockworks Shock/Fence, high/Vertical x1, 01 + + + world/tileset/clockworks_shock/fence/fence_high.dat + + Model + fence_high_vert_x1_01 + + + 0 + + + + Clockworks Shock/Fence, high/Vertical x1, 02 + + + world/tileset/clockworks_shock/fence/fence_high.dat + + Model + fence_high_vert_x1_02 + + + 0 + + + + Clockworks Shock/Fence, high/Vertical x1, 03 + + + world/tileset/clockworks_shock/fence/fence_high.dat + + Model + fence_high_vert_x1_03 + + + 0 + + + + Clockworks Shock/Fence, high/Vertical x1, cap south + + + world/tileset/clockworks_shock/fence/fence_high.dat + + Model + fence_high_vert_cap_s + + + 0 + + + + Clockworks Shock/Fence, high/Vertical x1, copper flat 1 + + + world/tileset/clockworks_shock/fence/fence_high.dat + + Model + fence_high_vert_x1_04 + + + 0 + + + + Clockworks Shock/Fence, high/Vertical x1, copper flat 2 + + + world/tileset/clockworks_shock/fence/fence_high.dat + + Model + fence_high_vert_x1_05 + + + 0 + + + + Clockworks Shock/Fence, high/Vertical x2, 01 + + 2 + + world/tileset/clockworks_shock/fence/fence_high.dat + + Model + fence_high_vert_x2_01 + + + + 1 + 1 + + 0 + + + + Clockworks Shock/Fence, low/01 + + + world/tileset/clockworks_shock/fence/fence_low.dat + + Model + fence_low_01 + + + + 2 + + 0 + + + + Clockworks Shock/Fence, low/02 + + + world/tileset/clockworks_shock/fence/fence_low.dat + + Model + fence_low_04 + + + + 2 + + 0 + + + + Clockworks Shock/Fence, low/03 + + + world/tileset/clockworks_shock/fence/fence_low.dat + + Model + fence_low_03 + + + + 2 + + 0 + + + + Clockworks Shock/Fence, low/04 + + + world/tileset/clockworks_shock/fence/fence_low.dat + + Model + fence_low_02 + + + + 2 + + 0 + + + + Clockworks Shock/Fence, low/05 + + + world/tileset/clockworks_shock/fence/fence_low.dat + + Model + fence_low_05 + + + + 2 + + 0 + + + + Clockworks Shock/Fence, low/06 + + + world/tileset/clockworks_shock/fence/fence_low.dat + + Model + fence_low_06 + + + + 2 + + 0 + + + + Clockworks Shock/Fence, low/Cap, pipe down + + + world/tileset/clockworks_shock/fence/fence_low.dat + + Model + fence_low_cap_01 + + + + 2 + + 0 + + + + Clockworks Shock/Fence, low/Cap, pipe up + + + world/tileset/clockworks_shock/fence/fence_low.dat + + Model + fence_low_cap_02 + + + + 2 + + 0 + + + + Clockworks Shock/Fence, low/Crosser 01 + + + world/tileset/clockworks_shock/fence/fence_low.dat + + Model + fence_low_corner_01 + + + + 2 + + 0 + + + + Clockworks Shock/Fence, low/Crosser 02 + + + world/tileset/clockworks_shock/fence/fence_low.dat + + Model + fence_low_corner_02 + + + + 2 + + 0 + + + + Clockworks Shock/Fence, low/x2 01 + + 2 + + world/tileset/clockworks_shock/fence/fence_low.dat + + Model + fence_low_x2_01 + + + + 2 + 2 + + 0 + + + + Clockworks Shock/Fence, low/x2 02 + + 2 + + world/tileset/clockworks_shock/fence/fence_low.dat + + Model + fence_low_x2_02 + + + + 2 + 2 + + 0 + + + + Clockworks Shock/Fence, low/x2 03 + + 2 + + world/tileset/clockworks_shock/fence/fence_low.dat + + Model + fence_low_x2_03 + + + + 2 + 2 + + 0 + + + + Clockworks Shock/Floor, base/Base 01 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + x1_01 + + + + 0 + + + + + Clockworks Shock/Floor, base/Base 02 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + x1_02 + + + + 0 + + + + + Clockworks Shock/Floor, base/Base 03 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + x1_03 + + + + 0 + + + + + Clockworks Shock/Floor, base/Base 04 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + x1_04 + + + + 0 + + + + + Clockworks Shock/Floor, base/Floor Plate 01 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + floor_plate_01 + + + + 0 + + + + + Clockworks Shock/Floor, base/Floor Plate angled + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + floor_plate_02 + + + + 0 + + + + + Clockworks Shock/Floor, base/Floor Plates, three + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + floor_plate_03 + + + + 0 + + + + + Clockworks Shock/Floor, base/Swirly 01 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + swirl_x1_01 + + + + 0 + + + + + Clockworks Shock/Floor, base/Swirly 02 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + swirl_x1_02 + + + + 0 + + + + + Clockworks Shock/Floor, base/Swirly 03 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + swirl_x1_03 + + + + 0 + + + + + Clockworks Shock/Floor, base/Swirly 04 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + swirl_x1_04 + + + + 0 + + + + + Clockworks Shock/Floor, base/Trim/Trim 01 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + trim_01 + + + + 0 + + + + + Clockworks Shock/Floor, base/Trim/Trim 02 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + trim_02 + + + + 0 + + + + + Clockworks Shock/Floor, base/Trim/Trim 03 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + trim_03 + + + + 0 + + + + + Clockworks Shock/Floor, base/Trim/Trim 04 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + trim_04 + + + + 0 + + + + + Clockworks Shock/Floor, base/Trim/Trim 05 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + trim_05 + + + + 0 + + + + + Clockworks Shock/Floor, base/Trim/Trim 06 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + trim_06 + + + + 0 + + + + + Clockworks Shock/Floor, base/Trim/Trim In 01 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + trim_in_NE_01 + + + + 0 + + + + + Clockworks Shock/Floor, base/Trim/Trim Out 01 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + trim_out_NE_01 + + + + 0 + + + + + Clockworks Shock/Floor, catwalk/Catwalk 01 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + catwalk_01 + + + + 0 + + + + + Clockworks Shock/Floor, catwalk/Catwalk 02 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + catwalk_02 + + + + 0 + + + + + Clockworks Shock/Floor, catwalk/Catwalk 03 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + catwalk_03 + + + + 0 + + + + + Clockworks Shock/Floor, catwalk/Catwalk 04 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + catwalk_04 + + + + 0 + + + + + Clockworks Shock/Floor, catwalk/Catwalk 05 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + catwalk_05 + + + + 0 + + + + + Clockworks Shock/Floor, catwalk/Catwalk 06 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + catwalk_06 + + + + 0 + + + + + Clockworks Shock/Floor, catwalk/Catwalk 07 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + catwalk_07 + + + + 0 + + + + + Clockworks Shock/Floor, catwalk/Catwalk 08 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + catwalk_08 + + + + 0 + + + + + Clockworks Shock/Floor, catwalk/Catwalk NE 01 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + catwalk_ne_01 + + + + 0 + + + + + Clockworks Shock/Floor, catwalk/Catwalk NE 02 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + catwalk_ne_02 + + + + 0 + + + + + Clockworks Shock/Floor, catwalk/Catwalk NE 03 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + catwalk_ne_03 + + + + 0 + + + + + Clockworks Shock/Floor, catwalk/Catwalk NE 04 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + catwalk_ne_04 + + + + 0 + + + + + Clockworks Shock/Floor, catwalk/Catwalk, solid + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + catwalk_09 + + + + 0 + + + + + Clockworks Shock/Floor, catwalk/Trim/Trim 01 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + trim2_01 + + + + 0 + + + + + Clockworks Shock/Floor, catwalk/Trim/Trim 02 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + trim2_02 + + + + 0 + + + + + Clockworks Shock/Floor, catwalk/Trim/Trim 03 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + trim2_03 + + + + 0 + + + + + Clockworks Shock/Floor, catwalk/Trim/Trim 04 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + trim2_04 + + + + 0 + + + + + Clockworks Shock/Floor, catwalk/Trim/Trim 05 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + trim2_05 + + + + 0 + + + + + Clockworks Shock/Floor, catwalk/Trim/Trim 06 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + trim2_06 + + + + 0 + + + + + Clockworks Shock/Floor, catwalk/Trim/Trim In 01 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + trim2_in_NE_01 + + + + 0 + + + + + Clockworks Shock/Floor, catwalk/Trim/Trim Out 01 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + trim2_out_NE_01 + + + + 0 + + + + + Clockworks Shock/Floor, roof/Base 1unit, 01 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + roof_x1_01 + + + + 0, 0 + + + + + Clockworks Shock/Floor, roof/Base 1unit, plate + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + roof_x1_02 + + + + 0, 0 + + + + + Clockworks Shock/Floor, roof/Base 2unit, 01 + + 2 + 2 + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + roof_x2_01 + + + + 0, 0 + 0, 0 + + + + + Clockworks Shock/Ramp/East 01, diamond + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_e_01 + + + + 0 + + + + + Clockworks Shock/Ramp/East 02, circles + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_e_02 + + + + 0 + + + + + Clockworks Shock/Ramp/East 03, + + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_e_03 + + + + 0 + + + + + Clockworks Shock/Ramp/East 04, panel + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_e_04 + + + + 0 + + + + + Clockworks Shock/Ramp/East 05, - + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_e_05 + + + + 0 + + + + + Clockworks Shock/Ramp/East 06, %SLASH% + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_e_06 + + + + 0 + + + + + Clockworks Shock/Ramp/East 3-wide 01 + + 3 + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_e_3wide_01 + + + + 0 + 0 + 0 + + + + + Clockworks Shock/Ramp/East 3-wide 02 + + 3 + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_e_3wide_02 + + + + 0 + 0 + 0 + + + + + Clockworks Shock/Ramp/East 3-wide 03 + + 3 + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_e_3wide_03 + + + + 0 + 0 + 0 + + + + + Clockworks Shock/Ramp/North 01, diamond + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_n_01 + + + + 0 + + + + + Clockworks Shock/Ramp/North 02, circles + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_n_02 + + + + 0 + + + + + Clockworks Shock/Ramp/North 03, + + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_n_03 + + + + 0 + + + + + Clockworks Shock/Ramp/North 04, panel + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_n_04 + + + + 0 + + + + + Clockworks Shock/Ramp/North 05, - + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_n_05 + + + + 0 + + + + + Clockworks Shock/Ramp/North 06, %SLASH% + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_n_06 + + + + 0 + + + + + Clockworks Shock/Ramp/North 3-wide 01 + + 3 + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_n_3wide_01 + + + + 0, 0, 0 + + + + + Clockworks Shock/Ramp/North 3-wide 02 + + 3 + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_n_3wide_02 + + + + 0, 0, 0 + + + + + Clockworks Shock/Ramp/North 3-wide 03 + + 3 + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_n_3wide_03 + + + + 0, 0, 0 + + + + + Clockworks Shock/Ramp/Rail/Rail left 01 + + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_catwalk_ramp_L01 + + + + 2 + + 0 + + + + Clockworks Shock/Ramp/Rail/Rail left 02 + + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_catwalk_ramp_L02 + + + + 2 + + 0 + + + + Clockworks Shock/Ramp/Rail/Rail left, x2 01 + + 2 + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_catwalk_ramp_x2_L1 + + + + 2 + + 0 + + + + Clockworks Shock/Ramp/Rail/Rail right 01 + + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_catwalk_ramp_R01 + + + + 2 + + 0 + + + + Clockworks Shock/Ramp/Rail/Rail right 02 + + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_catwalk_ramp_R02 + + + + 2 + + 0 + + + + Clockworks Shock/Ramp/Rail/Rail right, x2 01 + + 2 + + world/tileset/clockworks_shock/edge_rail/rail.dat + + Model + rail_catwalk_ramp_x2_R1 + + + + 2 + + 0 + + + + Clockworks Shock/Ramp/Trim/Left 1 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_trim_L1 + + + + 0 + + + + + Clockworks Shock/Ramp/Trim/Left 2 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_trim_L2 + + + + 0 + + + + + Clockworks Shock/Ramp/Trim/Left 3, loop + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_trim_L3 + + + + 0 + + + + + Clockworks Shock/Ramp/Trim/Left 4, gap + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_trim_L4 + + + + 0 + + + + + Clockworks Shock/Ramp/Trim/Left 5 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_trim_L5 + + + + 0 + + + + + Clockworks Shock/Ramp/Trim/Left 6, rivets + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_trim_L6 + + + + 0 + + + + + Clockworks Shock/Ramp/Trim/Right 1 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_trim_R1 + + + + 0 + + + + + Clockworks Shock/Ramp/Trim/Right 2 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_trim_R2 + + + + 0 + + + + + Clockworks Shock/Ramp/Trim/Right 3, loop + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_trim_R3 + + + + 0 + + + + + Clockworks Shock/Ramp/Trim/Right 4, gap + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_trim_R4 + + + + 0 + + + + + Clockworks Shock/Ramp/Trim/Right 5 + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_trim_R5 + + + + 0 + + + + + Clockworks Shock/Ramp/Trim/Right 6, rivets + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_trim_R6 + + + + 0 + + + + + Clockworks Shock/Ramp/West 01, diamond + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_w_01 + + + + 0 + + + + + Clockworks Shock/Ramp/West 02, circles + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_w_02 + + + + 0 + + + + + Clockworks Shock/Ramp/West 03, + + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_w_03 + + + + 0 + + + + + Clockworks Shock/Ramp/West 04, panel + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_w_04 + + + + 0 + + + + + Clockworks Shock/Ramp/West 05, - + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_w_05 + + + + 0 + + + + + Clockworks Shock/Ramp/West 06, %SLASH% + + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_w_06 + + + + 0 + + + + + Clockworks Shock/Ramp/West 3-wide 01 + + 3 + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_w_3wide_01 + + + + 0 + 0 + 0 + + + + + Clockworks Shock/Ramp/West 3-wide 02 + + 3 + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_w_3wide_02 + + + + 0 + 0 + 0 + + + + + Clockworks Shock/Ramp/West 3-wide 03 + + 3 + + world/tileset/clockworks_shock/floor/floor_base.dat + + Model + ramp_w_3wide_03 + + + + 0 + 0 + 0 + + + + + Clockworks Shock/Wall/Back x1 01 + + + world/tileset/clockworks_shock/wall/wall.dat + + Model + wall_back_01 + + + 0 + + + + Clockworks Shock/Wall/Back x2 01 + + 2 + + world/tileset/clockworks_shock/wall/wall.dat + + Model + wall_back_x2_01 + + + 0 + + + + Clockworks Shock/Wall/Back x3 01 + + 3 + + world/tileset/clockworks_shock/wall/wall.dat + + Model + wall_back_x3_01 + + + 0 + + + + Clockworks Shock/Wall/Blue panel x1 01 + + + world/tileset/clockworks_shock/wall/wall.dat + + Model + wall_front_01 + + + 0 + + + + Clockworks Shock/Wall/Blue panel x1 02 + + + world/tileset/clockworks_shock/wall/wall.dat + + Model + wall_front_02 + + + 0 + + + + Clockworks Shock/Wall/Blue panel x1 03 + + + world/tileset/clockworks_shock/wall/wall.dat + + Model + wall_front_03 + + + 0 + + + + Clockworks Shock/Wall/Blue panel x1 04 + + + world/tileset/clockworks_shock/wall/wall.dat + + Model + wall_front_04 + + + 0 + + + + Clockworks Shock/Wall/Blue panel x2 01 + + 2 + + world/tileset/clockworks_shock/wall/wall.dat + + Model + wall_front_x2_01 + + + + 1, 1 + + 0 + + + + Clockworks Shock/Wall/Blue panel x2 02 + + 2 + + world/tileset/clockworks_shock/wall/wall.dat + + Model + wall_front_x2_02 + + + + 1, 1 + + 0 + + + + Clockworks Shock/Wall/Blue panel x2 03 + + 2 + + world/tileset/clockworks_shock/wall/wall.dat + + Model + wall_front_x2_03 + + + + 1, 1 + + 0 + + + + Clockworks Shock/Wall/Blue panel x3 01 + + 3 + + world/tileset/clockworks_shock/wall/wall.dat + + Model + wall_front_x3_01 + + + + 1, 1, 1 + + 0 + + + + Clockworks Shock/Wall/Blue panel x3 02 + + 3 + + world/tileset/clockworks_shock/wall/wall.dat + + Model + wall_front_x3_02 + + + + 1, 1, 1 + + 0 + + + + Clockworks Shock/Wall/Copper flat x1 01 + + + world/tileset/clockworks_shock/wall/wall.dat + + Model + wall_front_05 + + + 0 + + + + Clockworks Shock/Wall/Copper flat x1 02 + + + world/tileset/clockworks_shock/wall/wall.dat + + Model + wall_front_06 + + + 0 + + + + Clockworks Shock/Wall/Copper flat x1 03 + + + world/tileset/clockworks_shock/wall/wall.dat + + Model + wall_front_07 + + + 0 + + + + Clockworks Shock/Wall/Corner In NE 01 + + + world/tileset/clockworks_shock/wall/wall.dat + + Model + wall_corner_in_NE_01 + + + 0 + + + + Clockworks Shock/Wall/Corner In NW 01 + + + world/tileset/clockworks_shock/wall/wall.dat + + Model + wall_corner_in_NW_01 + + + 0 + + + + Clockworks Shock/Wall/Corner In SE + + + world/tileset/clockworks_shock/wall/wall.dat + + Model + wall_corner_in_SE_01 + + + 0 + + + + Clockworks Shock/Wall/Corner In SW + + + world/tileset/clockworks_shock/wall/wall.dat + + Model + wall_corner_in_SW_01 + + + 0 + + + + Clockworks Shock/Wall/Corner Out 01 + + + world/tileset/clockworks_shock/wall/wall.dat + + Model + wall_corner_out_01 + + + 0 + + + + Clockworks Shock/Wall/Fence connector + + + world/tileset/clockworks_shock/wall/wall.dat + + Model + wall_fence_connector + + + 0 + + + + Clockworks Shock/Wall/Fence connector, corner SE + + + world/tileset/clockworks_shock/wall/wall.dat + + Model + wall_fence_connector_SE + + + 0 + + + + Clockworks Shock/Wall/Fence connector, corner SW + + + world/tileset/clockworks_shock/wall/wall.dat + + Model + wall_fence_connector_SW + + + 0 + + + + Clockworks Shock/Wall/Iron bits x1, vent + + + world/tileset/clockworks_shock/wall/wall.dat + + Model + wall_front_08 + + + 0 + + + + Clockworks Shock/Wall/Iron bits x2, iron + + 2 + + world/tileset/clockworks_shock/wall/wall.dat + + Model + wall_x2_iron_01 + + + + 1, 1 + + 0 + + + + Clockworks/Edge railing/Rail, Back 01 + + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_base_back_01 + + + + 2 + + 0 + + + + Clockworks/Edge railing/Rail, Back 02 + + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_base_back_02 + + + + 2 + + 0 + + + + Clockworks/Edge railing/Rail, Back 03 + + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_base_back_03 + + + + 2 + + 0 + + + + Clockworks/Edge railing/Rail, Transition L + + 2 + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_transition_L + + + + 2 + + 0 + + + + Clockworks/Edge railing/Rail, Transition R + + 2 + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_transition_R + + + + 2 + + 0 + + + + Clockworks/Edge railing/Rail, base 01 + + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_base_01 + + + + 2 + + 0 + + + + Clockworks/Edge railing/Rail, base 02 + + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_base_02 + + + + 2 + + 0 + + + + Clockworks/Edge railing/Rail, base 03 + + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_base_03 + + + + 2 + + 0 + + + + Clockworks/Edge railing/Rail, base 04 + + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_base_04 + + + + 2 + + 0 + + + + Clockworks/Edge railing/Rail, base In 01 + + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_base_corner_in_01 + + + + 2 + + 0 + + + + Clockworks/Edge railing/Rail, base Out 01 + + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_base_corner_out_01 + + + + 2 + + 0 + + + + Clockworks/Edge railing/Rail, brace + + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_base_brace + + + + 2 + + 0 + + + + Clockworks/Edge railing/Rail, brace catwalk + + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_catwalk_brace + + + + 2 + + 0 + + + + Clockworks/Edge railing/Rail, catwalk 01 + + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_catwalk_01 + + + + 2 + + 0 + + + + Clockworks/Edge railing/Rail, catwalk 02 + + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_catwalk_02 + + + + 2 + + 0 + + + + Clockworks/Edge railing/Rail, catwalk 03 + + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_catwalk_03 + + + + 2 + + 0 + + + + Clockworks/Edge railing/Rail, catwalk 04 - lever valve + + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_catwalk_04 + + + + 2 + + 0 + + + + Clockworks/Edge railing/Rail, catwalk Back indents + + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_catwalk_back_02 + + + + 2 + + 0 + + + + Clockworks/Edge railing/Rail, catwalk Back plain + + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_catwalk_back_01 + + + + 2 + + 0 + + + + Clockworks/Edge railing/Rail, catwalk Back seam + + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_catwalk_back_03 + + + + 2 + + 0 + + + + Clockworks/Edge railing/Rail, catwalk In 01 + + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_catwalk_corner_in_01 + + + + 2 + + 0 + + + + Clockworks/Edge railing/Rail, catwalk Out 01 + + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_catwalk_corner_out_01 + + + + 2 + + 0 + + + + Clockworks/Edge railing/Rail, catwalk x2 01 + + 2 + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_catwalk_x2_01 + + + + 2, 2 + + 0 + + + + Clockworks/Edge railing/Rail, catwalk x3 01 + + 3 + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_catwalk_x3_01 + + + + 2, 2, 2 + + 0 + + + + Clockworks/Edge, busted/Edge 1unit - 01 + + 2 + + world/tileset/clockworks/edge_rail/edge_busted_set.dat + + Model + edge_busted_01 + + + + 2, 2 + + false + + + + Clockworks/Edge, busted/Edge 1unit - 02 + + 2 + + world/tileset/clockworks/edge_rail/edge_busted_set.dat + + Model + edge_busted_02 + + + + 2, 2 + + false + + + + Clockworks/Edge, busted/Edge 1unit - Outside Corner 1 + + + world/tileset/clockworks/edge_rail/edge_busted_set.dat + + Model + edge_busted_out_01 + + + + 2 + + false + + + + Clockworks/Edge, busted/Edge x2 - 01 + + 2 + 2 + + world/tileset/clockworks/edge_rail/edge_busted_set.dat + + Model + edge_busted_x2_01 + + + + 2, 2 + 2, 2 + + false + + + + Clockworks/Edge, busted/Edge x2 - 02 + + 2 + 2 + + world/tileset/clockworks/edge_rail/edge_busted_set.dat + + Model + edge_busted_x2_02 + + + + 2, 2 + 2, 2 + + false + + + + Clockworks/Edge, busted/Edge x2 - Inside Corner 1 + + 2 + 2 + + world/tileset/clockworks/edge_rail/edge_busted_set.dat + + Model + edge_busted_x2_in + + + + 0, 2 + 2, 2 + + false + + + + Clockworks/Edge, busted/Railing - Left 01 + + 2 + 2 + + world/tileset/clockworks/edge_rail/edge_busted_set.dat + + Model + edge_busted_rail_L1 + + + + 2, 2 + 2, 2 + + 0 + false + + + + Clockworks/Edge, busted/Railing - Left 02 + + 2 + 2 + + world/tileset/clockworks/edge_rail/edge_busted_set.dat + + Model + edge_busted_rail_L2 + + + + 2, 2 + 2, 2 + + 0 + false + + + + Clockworks/Edge, busted/Railing - Right 01 + + 2 + 2 + + world/tileset/clockworks/edge_rail/edge_busted_set.dat + + Model + edge_busted_rail_R1 + + + + 2, 2 + 2, 2 + + 0 + false + + + + Clockworks/Edge, busted/Railing - Right 02 + + 2 + 2 + + world/tileset/clockworks/edge_rail/edge_busted_set.dat + + Model + edge_busted_rail_R2 + + + + 2, 2 + 2, 2 + + 0 + false + + + + Clockworks/Fence, high/Corner 01 + + + world/tileset/clockworks/fence/fence_high.dat + + Model + fence_high_corner_01 + + + 0 + + + + Clockworks/Fence, high/Corner 01, north + + + world/tileset/clockworks/fence/fence_high.dat + + Model + fence_high_corner_01n + + + 0 + + + + Clockworks/Fence, high/Corner 01, north n west + + + world/tileset/clockworks/fence/fence_high.dat + + Model + fence_high_corner_01nw + + + 0 + + + + Clockworks/Fence, high/Corner 01, west + + + world/tileset/clockworks/fence/fence_high.dat + + Model + fence_high_corner_01w + + + 0 + + + + Clockworks/Fence, high/Horizontal x1, 01 + + + world/tileset/clockworks/fence/fence_high.dat + + Model + fence_high_horiz_x1_01 + + + 0 + + + + Clockworks/Fence, high/Horizontal x1, 02 + + + world/tileset/clockworks/fence/fence_high.dat + + Model + fence_high_horiz_x1_02 + + + 0 + + + + Clockworks/Fence, high/Horizontal x1, 03 + + + world/tileset/clockworks/fence/fence_high.dat + + Model + fence_high_horiz_x1_05 + + + 0 + + + + Clockworks/Fence, high/Horizontal x1, copper flat 1 + + + world/tileset/clockworks/fence/fence_high.dat + + Model + fence_high_horiz_x1_03 + + + 0 + + + + Clockworks/Fence, high/Horizontal x1, copper flat 2 + + + world/tileset/clockworks/fence/fence_high.dat + + Model + fence_high_horiz_x1_04 + + + 0 + + + + Clockworks/Fence, high/Horizontal x2, 01 + + 2 + + world/tileset/clockworks/fence/fence_high.dat + + Model + fence_high_horiz_x2_01 + + + + 1, 1 + + 0 + + + + Clockworks/Fence, high/Vertical x1, 01 + + + world/tileset/clockworks/fence/fence_high.dat + + Model + fence_high_vert_x1_01 + + + 0 + + + + Clockworks/Fence, high/Vertical x1, 02 + + + world/tileset/clockworks/fence/fence_high.dat + + Model + fence_high_vert_x1_02 + + + 0 + + + + Clockworks/Fence, high/Vertical x1, 03 + + + world/tileset/clockworks/fence/fence_high.dat + + Model + fence_high_vert_x1_03 + + + 0 + + + + Clockworks/Fence, high/Vertical x1, cap south + + + world/tileset/clockworks/fence/fence_high.dat + + Model + fence_high_vert_cap_s + + + 0 + + + + Clockworks/Fence, high/Vertical x1, copper flat 1 + + + world/tileset/clockworks/fence/fence_high.dat + + Model + fence_high_vert_x1_04 + + + 0 + + + + Clockworks/Fence, high/Vertical x1, copper flat 2 + + + world/tileset/clockworks/fence/fence_high.dat + + Model + fence_high_vert_x1_05 + + + 0 + + + + Clockworks/Fence, high/Vertical x2, 01 + + 2 + + world/tileset/clockworks/fence/fence_high.dat + + Model + fence_high_vert_x2_01 + + + + 1 + 1 + + 0 + + + + Clockworks/Fence, low/01 + + + world/tileset/clockworks/fence/fence_low.dat + + Model + fence_low_01 + + + + 2 + + 0 + + + + Clockworks/Fence, low/02 + + + world/tileset/clockworks/fence/fence_low.dat + + Model + fence_low_04 + + + + 2 + + 0 + + + + Clockworks/Fence, low/03 + + + world/tileset/clockworks/fence/fence_low.dat + + Model + fence_low_03 + + + + 2 + + 0 + + + + Clockworks/Fence, low/04 + + + world/tileset/clockworks/fence/fence_low.dat + + Model + fence_low_02 + + + + 2 + + 0 + + + + Clockworks/Fence, low/05 + + + world/tileset/clockworks/fence/fence_low.dat + + Model + fence_low_05 + + + + 2 + + 0 + + + + Clockworks/Fence, low/06 + + + world/tileset/clockworks/fence/fence_low.dat + + Model + fence_low_06 + + + + 2 + + 0 + + + + Clockworks/Fence, low/Cap, pipe down + + + world/tileset/clockworks/fence/fence_low.dat + + Model + fence_low_cap_01 + + + + 2 + + 0 + + + + Clockworks/Fence, low/Cap, pipe up + + + world/tileset/clockworks/fence/fence_low.dat + + Model + fence_low_cap_02 + + + + 2 + + 0 + + + + Clockworks/Fence, low/Crosser 01 + + + world/tileset/clockworks/fence/fence_low.dat + + Model + fence_low_corner_01 + + + + 2 + + 0 + + + + Clockworks/Fence, low/Crosser 02 + + + world/tileset/clockworks/fence/fence_low.dat + + Model + fence_low_corner_02 + + + + 2 + + 0 + + + + Clockworks/Fence, low/x2 01 + + 2 + + world/tileset/clockworks/fence/fence_low.dat + + Model + fence_low_x2_01 + + + + 2 + 2 + + 0 + + + + Clockworks/Fence, low/x2 02 + + 2 + + world/tileset/clockworks/fence/fence_low.dat + + Model + fence_low_x2_02 + + + + 2 + 2 + + 0 + + + + Clockworks/Fence, low/x2 03 + + 2 + + world/tileset/clockworks/fence/fence_low.dat + + Model + fence_low_x2_03 + + + + 2 + 2 + + 0 + + + + Clockworks/Floor, base/Base 01 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + x1_01 + + + + 0 + + + + + Clockworks/Floor, base/Base 02 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + x1_02 + + + + 0 + + + + + Clockworks/Floor, base/Base 03 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + x1_03 + + + + 0 + + + + + Clockworks/Floor, base/Base 04 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + x1_04 + + + + 0 + + + + + Clockworks/Floor, base/Floor Plate 01 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + floor_plate_01 + + + + 0 + + + + + Clockworks/Floor, base/Floor Plate angled + + + world/tileset/clockworks/floor/floor_base.dat + + Model + floor_plate_02 + + + + 0 + + + + + Clockworks/Floor, base/Floor Plates, three + + + world/tileset/clockworks/floor/floor_base.dat + + Model + floor_plate_03 + + + + 0 + + + + + Clockworks/Floor, base/Swirly 01 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + swirl_x1_01 + + + + 0 + + + + + Clockworks/Floor, base/Swirly 02 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + swirl_x1_02 + + + + 0 + + + + + Clockworks/Floor, base/Swirly 03 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + swirl_x1_03 + + + + 0 + + + + + Clockworks/Floor, base/Swirly 04 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + swirl_x1_04 + + + + 0 + + + + + Clockworks/Floor, base/Trim/Trim 01 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + trim_01 + + + + 0 + + + + + Clockworks/Floor, base/Trim/Trim 02 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + trim_02 + + + + 0 + + + + + Clockworks/Floor, base/Trim/Trim 03 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + trim_03 + + + + 0 + + + + + Clockworks/Floor, base/Trim/Trim 04 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + trim_04 + + + + 0 + + + + + Clockworks/Floor, base/Trim/Trim 05 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + trim_05 + + + + 0 + + + + + Clockworks/Floor, base/Trim/Trim 06 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + trim_06 + + + + 0 + + + + + Clockworks/Floor, base/Trim/Trim In 01 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + trim_in_NE_01 + + + + 0 + + + + + Clockworks/Floor, base/Trim/Trim Out 01 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + trim_out_NE_01 + + + + 0 + + + + + Clockworks/Floor, catwalk/Catwalk 01 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + catwalk_01 + + + + 0 + + + + + Clockworks/Floor, catwalk/Catwalk 02 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + catwalk_02 + + + + 0 + + + + + Clockworks/Floor, catwalk/Catwalk 03 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + catwalk_03 + + + + 0 + + + + + Clockworks/Floor, catwalk/Catwalk 04 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + catwalk_04 + + + + 0 + + + + + Clockworks/Floor, catwalk/Catwalk 05 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + catwalk_05 + + + + 0 + + + + + Clockworks/Floor, catwalk/Catwalk 06 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + catwalk_06 + + + + 0 + + + + + Clockworks/Floor, catwalk/Catwalk 07 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + catwalk_07 + + + + 0 + + + + + Clockworks/Floor, catwalk/Catwalk 08 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + catwalk_08 + + + + 0 + + + + + Clockworks/Floor, catwalk/Catwalk NE 01 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + catwalk_ne_01 + + + + 0 + + + + + Clockworks/Floor, catwalk/Catwalk NE 02 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + catwalk_ne_02 + + + + 0 + + + + + Clockworks/Floor, catwalk/Catwalk NE 03 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + catwalk_ne_03 + + + + 0 + + + + + Clockworks/Floor, catwalk/Catwalk NE 04 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + catwalk_ne_04 + + + + 0 + + + + + Clockworks/Floor, catwalk/Catwalk, solid + + + world/tileset/clockworks/floor/floor_base.dat + + Model + catwalk_09 + + + + 0 + + + + + Clockworks/Floor, catwalk/Trim/Trim 01 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + trim2_01 + + + + 0 + + + + + Clockworks/Floor, catwalk/Trim/Trim 02 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + trim2_02 + + + + 0 + + + + + Clockworks/Floor, catwalk/Trim/Trim 03 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + trim2_03 + + + + 0 + + + + + Clockworks/Floor, catwalk/Trim/Trim 04 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + trim2_04 + + + + 0 + + + + + Clockworks/Floor, catwalk/Trim/Trim 05 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + trim2_05 + + + + 0 + + + + + Clockworks/Floor, catwalk/Trim/Trim 06 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + trim2_06 + + + + 0 + + + + + Clockworks/Floor, catwalk/Trim/Trim In 01 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + trim2_in_NE_01 + + + + 0 + + + + + Clockworks/Floor, catwalk/Trim/Trim Out 01 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + trim2_out_NE_01 + + + + 0 + + + + + Clockworks/Floor, roof/Base 1unit, 01 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + roof_x1_01 + + + + 0, 0 + + + + + Clockworks/Floor, roof/Base 1unit, plate + + + world/tileset/clockworks/floor/floor_base.dat + + Model + roof_x1_02 + + + + 0, 0 + + + + + Clockworks/Floor, roof/Base 2unit, 01 + + 2 + 2 + + world/tileset/clockworks/floor/floor_base.dat + + Model + roof_x2_01 + + + + 0, 0 + 0, 0 + + + + + Clockworks/Floor, roof/Gear, 8x2 + + 8 + 2 + + 1, 1, 1, 1, 1, 1, 1, 1 + 1, 1, 1, 1, 1, 1, 1, 1 + + 0 + + + + Clockworks/Ramp/East 01, diamond + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_e_01 + + + + 0 + + + + + Clockworks/Ramp/East 02, circles + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_e_02 + + + + 0 + + + + + Clockworks/Ramp/East 03, + + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_e_03 + + + + 0 + + + + + Clockworks/Ramp/East 04, panel + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_e_04 + + + + 0 + + + + + Clockworks/Ramp/East 05, - + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_e_05 + + + + 0 + + + + + Clockworks/Ramp/East 06, %SLASH% + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_e_06 + + + + 0 + + + + + Clockworks/Ramp/East 3-wide 01 + + 3 + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_e_3wide_01 + + + + 0 + 0 + 0 + + + + + Clockworks/Ramp/East 3-wide 02 + + 3 + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_e_3wide_02 + + + + 0 + 0 + 0 + + + + + Clockworks/Ramp/East 3-wide 03 + + 3 + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_e_3wide_03 + + + + 0 + 0 + 0 + + + + + Clockworks/Ramp/North 01, diamond + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_n_01 + + + + 0 + + + + + Clockworks/Ramp/North 02, circles + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_n_02 + + + + 0 + + + + + Clockworks/Ramp/North 03, + + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_n_03 + + + + 0 + + + + + Clockworks/Ramp/North 04, panel + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_n_04 + + + + 0 + + + + + Clockworks/Ramp/North 05, - + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_n_05 + + + + 0 + + + + + Clockworks/Ramp/North 06, %SLASH% + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_n_06 + + + + 0 + + + + + Clockworks/Ramp/North 3-wide 01 + + 3 + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_n_3wide_01 + + + + 0, 0, 0 + + + + + Clockworks/Ramp/North 3-wide 02 + + 3 + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_n_3wide_02 + + + + 0, 0, 0 + + + + + Clockworks/Ramp/North 3-wide 03 + + 3 + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_n_3wide_03 + + + + 0, 0, 0 + + + + + Clockworks/Ramp/Rail/Rail left 01 + + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_catwalk_ramp_L01 + + + + 2 + + 0 + + + + Clockworks/Ramp/Rail/Rail left 02 + + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_catwalk_ramp_L02 + + + + 2 + + 0 + + + + Clockworks/Ramp/Rail/Rail left, x2 01 + + 2 + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_catwalk_ramp_x2_L1 + + + + 2 + + 0 + + + + Clockworks/Ramp/Rail/Rail right 01 + + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_catwalk_ramp_R01 + + + + 2 + + 0 + + + + Clockworks/Ramp/Rail/Rail right 02 + + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_catwalk_ramp_R02 + + + + 2 + + 0 + + + + Clockworks/Ramp/Rail/Rail right, x2 01 + + 2 + + world/tileset/clockworks/edge_rail/rail.dat + + Model + rail_catwalk_ramp_x2_R1 + + + + 2 + + 0 + + + + Clockworks/Ramp/Trim/Left 1 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_trim_L1 + + + + 0 + + + + + Clockworks/Ramp/Trim/Left 2 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_trim_L2 + + + + 0 + + + + + Clockworks/Ramp/Trim/Left 3, loop + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_trim_L3 + + + + 0 + + + + + Clockworks/Ramp/Trim/Left 4, gap + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_trim_L4 + + + + 0 + + + + + Clockworks/Ramp/Trim/Left 5 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_trim_L5 + + + + 0 + + + + + Clockworks/Ramp/Trim/Left 6, rivets + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_trim_L6 + + + + 0 + + + + + Clockworks/Ramp/Trim/Right 1 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_trim_R1 + + + + 0 + + + + + Clockworks/Ramp/Trim/Right 2 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_trim_R2 + + + + 0 + + + + + Clockworks/Ramp/Trim/Right 3, loop + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_trim_R3 + + + + 0 + + + + + Clockworks/Ramp/Trim/Right 4, gap + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_trim_R4 + + + + 0 + + + + + Clockworks/Ramp/Trim/Right 5 + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_trim_R5 + + + + 0 + + + + + Clockworks/Ramp/Trim/Right 6, rivets + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_trim_R6 + + + + 0 + + + + + Clockworks/Ramp/West 01, diamond + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_w_01 + + + + 0 + + + + + Clockworks/Ramp/West 02, circles + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_w_02 + + + + 0 + + + + + Clockworks/Ramp/West 03, + + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_w_03 + + + + 0 + + + + + Clockworks/Ramp/West 04, panel + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_w_04 + + + + 0 + + + + + Clockworks/Ramp/West 05, - + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_w_05 + + + + 0 + + + + + Clockworks/Ramp/West 06, %SLASH% + + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_w_06 + + + + 0 + + + + + Clockworks/Ramp/West 3-wide 01 + + 3 + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_w_3wide_01 + + + + 0 + 0 + 0 + + + + + Clockworks/Ramp/West 3-wide 02 + + 3 + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_w_3wide_02 + + + + 0 + 0 + 0 + + + + + Clockworks/Ramp/West 3-wide 03 + + 3 + + world/tileset/clockworks/floor/floor_base.dat + + Model + ramp_w_3wide_03 + + + + 0 + 0 + 0 + + + + + Clockworks/Wall/Back x1 01 + + + world/tileset/clockworks/wall/wall.dat + + Model + wall_back_01 + + + 0 + + + + Clockworks/Wall/Back x2 01 + + 2 + + world/tileset/clockworks/wall/wall.dat + + Model + wall_back_x2_01 + + + 0 + + + + Clockworks/Wall/Back x3 01 + + 3 + + world/tileset/clockworks/wall/wall.dat + + Model + wall_back_x3_01 + + + 0 + + + + Clockworks/Wall/Blue panel x1 01 + + + world/tileset/clockworks/wall/wall.dat + + Model + wall_front_01 + + + 0 + + + + Clockworks/Wall/Blue panel x1 02 + + + world/tileset/clockworks/wall/wall.dat + + Model + wall_front_02 + + + 0 + + + + Clockworks/Wall/Blue panel x1 03 + + + world/tileset/clockworks/wall/wall.dat + + Model + wall_front_03 + + + 0 + + + + Clockworks/Wall/Blue panel x1 04 + + + world/tileset/clockworks/wall/wall.dat + + Model + wall_front_04 + + + 0 + + + + Clockworks/Wall/Blue panel x2 01 + + 2 + + world/tileset/clockworks/wall/wall.dat + + Model + wall_front_x2_01 + + + + 1, 1 + + 0 + + + + Clockworks/Wall/Blue panel x2 02 + + 2 + + world/tileset/clockworks/wall/wall.dat + + Model + wall_front_x2_02 + + + + 1, 1 + + 0 + + + + Clockworks/Wall/Blue panel x2 03 + + 2 + + world/tileset/clockworks/wall/wall.dat + + Model + wall_front_x2_03 + + + + 1, 1 + + 0 + + + + Clockworks/Wall/Blue panel x3 01 + + 3 + + world/tileset/clockworks/wall/wall.dat + + Model + wall_front_x3_01 + + + + 1, 1, 1 + + 0 + + + + Clockworks/Wall/Blue panel x3 02 + + 3 + + world/tileset/clockworks/wall/wall.dat + + Model + wall_front_x3_02 + + + + 1, 1, 1 + + 0 + + + + Clockworks/Wall/Copper flat x1 01 + + + world/tileset/clockworks/wall/wall.dat + + Model + wall_front_05 + + + 0 + + + + Clockworks/Wall/Copper flat x1 02 + + + world/tileset/clockworks/wall/wall.dat + + Model + wall_front_06 + + + 0 + + + + Clockworks/Wall/Copper flat x1 03 + + + world/tileset/clockworks/wall/wall.dat + + Model + wall_front_07 + + + 0 + + + + Clockworks/Wall/Corner In NE 01 + + + world/tileset/clockworks/wall/wall.dat + + Model + wall_corner_in_NE_01 + + + 0 + + + + Clockworks/Wall/Corner In NW 01 + + + world/tileset/clockworks/wall/wall.dat + + Model + wall_corner_in_NW_01 + + + 0 + + + + Clockworks/Wall/Corner In SE + + + world/tileset/clockworks/wall/wall.dat + + Model + wall_corner_in_SE_01 + + + 0 + + + + Clockworks/Wall/Corner In SW + + + world/tileset/clockworks/wall/wall.dat + + Model + wall_corner_in_SW_01 + + + 0 + + + + Clockworks/Wall/Corner Out 01 + + + world/tileset/clockworks/wall/wall.dat + + Model + wall_corner_out_01 + + + 0 + + + + Clockworks/Wall/Fence connector + + + world/tileset/clockworks/wall/wall.dat + + Model + wall_fence_connector + + + 0 + + + + Clockworks/Wall/Fence connector, corner SE + + + world/tileset/clockworks/wall/wall.dat + + Model + wall_fence_connector_SE + + + 0 + + + + Clockworks/Wall/Fence connector, corner SW + + + world/tileset/clockworks/wall/wall.dat + + Model + wall_fence_connector_SW + + + 0 + + + + Clockworks/Wall/Iron bits x1, vent + + + world/tileset/clockworks/wall/wall.dat + + Model + wall_front_08 + + + 0 + + + + Clockworks/Wall/Iron bits x2, iron + + 2 + + world/tileset/clockworks/wall/wall.dat + + Model + wall_x2_iron_01 + + + + 1, 1 + + 0 + + + + Generic/Interior, Walls/Haven whitewash, 01 + + + world/tileset/generic/interior/haven_whitewash.dat + + Model + wall_flat01 + + + + + + Generic/Interior, Walls/Haven whitewash, 02 + + + world/tileset/generic/interior/haven_whitewash.dat + + Model + wall_flat02 + + + + + + Generic/Interior, Walls/Haven whitewash, 03 + + + world/tileset/generic/interior/haven_whitewash.dat + + Model + wall_flat03 + + + + + + Generic/Interior, Walls/Haven whitewash, corner In + + 2 + 2 + + world/tileset/generic/interior/haven_whitewash.dat + + Model + wall_corner_in_x2 + + + + 1, 1 + 1, 1 + + + + + Generic/Interior, Walls/Haven whitewash, corner Out + + 2 + 2 + + world/tileset/generic/interior/haven_whitewash.dat + + Model + wall_corner_out_x2 + + + + 1, 1 + 1, 0 + + + + + Generic/Plank 2x1 seam + + 2 + + world/tileset/generic/floor_plank_01.dat + + Model + floor_plank_2x1_01 + + + + 0, 0 + + + + + Generic/Plank x1 seam + + + world/tileset/generic/floor_plank_01.dat + + Model + floor_plank_x1_02 + + + + 0 + + + + + Generic/Plank x1 tile + + + world/tileset/generic/floor_plank_01.dat + + Model + floor_plank_x1_01 + + + + 0 + + + + + Generic/Tile, cafe x1 + + + + Texture + + + Texture File + implementation.model["Texture file"] + + + + + + tile_cafe + + Texture File + world/tileset/generic/tile_cafe.png + + + + tile_cafe + + + + + world/tileset/generic/tile_cafe.dat + + Texture file + world/tileset/generic/tile_cafe.png + + + + 0 + + 0 + + + + Generic/Wall, cafe x1 + + + Color Variant + implementation.model["Color Variant"] + + + + + world/tileset/generic/wall_cafe.dat + + Color Variant + + + + + 0 + + 0 + + + + Graveyard/BLOCK tile + + + world/tileset/graveyard/floor.dat + + Model + floor_block + + + + + + + + + + Graveyard/Floor Edge/01 + + + world/tileset/graveyard/edge.dat + + Model + edge_01 + + + + 2 + + + + + Graveyard/Floor Edge/01a, bumpy + + + world/tileset/graveyard/edge.dat + + Model + edge_01a + + + + 2 + + + + + Graveyard/Floor Edge/01b, bumpy + + + world/tileset/graveyard/edge.dat + + Model + edge_01b + + + + 2 + + + + + Graveyard/Floor Edge/02 + + + world/tileset/graveyard/edge.dat + + Model + edge_02 + + + + 2 + + + + + Graveyard/Floor Edge/03 + + + world/tileset/graveyard/edge.dat + + Model + edge_03 + + + + 2 + + + + + Graveyard/Floor Edge/04 + + + world/tileset/graveyard/edge.dat + + Model + edge_04 + + + + 2 + + + + + Graveyard/Floor Edge/05 + + + world/tileset/graveyard/edge.dat + + Model + edge_05 + + + + 2 + + + + + Graveyard/Floor Edge/2 Unit, 01 + + 2 + + world/tileset/graveyard/edge.dat + + Model + edge_2unit_01 + + + + 2, 2 + + + + + Graveyard/Floor Edge/2 Unit, 02 pipe + + 2 + + world/tileset/graveyard/edge.dat + + Model + edge_2unit_02 + + + + 2, 2 + + + + + Graveyard/Floor Edge/Back 01 + + + world/tileset/graveyard/edge.dat + + Model + edge_back_01 + + + + 2 + + + + + Graveyard/Floor Edge/Back 02 + + + world/tileset/graveyard/edge.dat + + Model + edge_back_02 + + + + 2 + + + + + Graveyard/Floor Edge/Back 03 + + + world/tileset/graveyard/edge.dat + + Model + edge_back_03 + + + + 2 + + + + + Graveyard/Floor Edge/Back 04 + + + world/tileset/graveyard/edge.dat + + Model + edge_back_04 + + + + 2 + + + + + Graveyard/Floor Edge/Corner In 01 + + + world/tileset/graveyard/edge.dat + + Model + edge_corner_in_01 + + + + 2 + + + + + Graveyard/Floor Edge/Corner In 02 + + + world/tileset/graveyard/edge.dat + + Model + edge_corner_in_02 + + + + 2 + + + + + Graveyard/Floor Edge/Corner In 03 + + + world/tileset/graveyard/edge.dat + + Model + edge_corner_in_03 + + + + 2 + + + + + Graveyard/Floor Edge/Corner In 04 + + + world/tileset/graveyard/edge.dat + + Model + edge_corner_in_04 + + + + 2 + + + + + Graveyard/Floor Edge/Corner Out 01 + + + world/tileset/graveyard/edge.dat + + Model + edge_corner_out_01 + + + + 2 + + + + + Graveyard/Floor Edge/Corner Out 02 + + + world/tileset/graveyard/edge.dat + + Model + edge_corner_out_02 + + + + 2 + + + + + Graveyard/Floor Edge/Corner Out 03 + + + world/tileset/graveyard/edge.dat + + Model + edge_corner_out_03 + + + + 2 + + + + + Graveyard/Floor Edge/Corner Out 04 + + + world/tileset/graveyard/edge.dat + + Model + edge_corner_out_04 + + + + 2 + + + + + Graveyard/Floor, Interior tiles/Sidewalk 01a + + + world/tileset/graveyard/floor.dat + + Model + Sidewalk_01a + + + + 0 + + + + + Graveyard/Floor, Interior tiles/Sidewalk 01b + + + world/tileset/graveyard/floor.dat + + Model + Sidewalk_01b + + + + 0 + + + + + Graveyard/Floor, Interior tiles/Sidewalk 01c + + + world/tileset/graveyard/floor.dat + + Model + Sidewalk_01c + + + + 0 + + + + + Graveyard/Floor, Interior tiles/Sidewalk 02a + + + world/tileset/graveyard/floor.dat + + Model + Sidewalk_02a + + + + 0 + + + + + Graveyard/Floor, Interior tiles/Sidewalk 02b + + + world/tileset/graveyard/floor.dat + + Model + Sidewalk_02b + + + + 0 + + + + + Graveyard/Floor, Interior tiles/Sidewalk 03a + + + world/tileset/graveyard/floor.dat + + Model + Sidewalk_03a + + + + 0 + + + + + Graveyard/Floor, Interior tiles/Sidewalk 03b + + + world/tileset/graveyard/floor.dat + + Model + Sidewalk_03b + + + + 0 + + + + + Graveyard/Floor, Interior tiles/Sidewalk 04a + + + world/tileset/graveyard/floor.dat + + Model + Sidewalk_04 + + + + 0 + + + + + Graveyard/Floor, Interior tiles/Sidewalk grate + + + world/tileset/graveyard/floor.dat + + Model + sidewalk_grate01 + + + + 0 + + + + + Graveyard/Floor, Interior tiles/Sidewalk, x2 01 + + 2 + 2 + + world/tileset/graveyard/floor.dat + + Model + Sidewalk_x2_01 + + + + 0 + + + + + Graveyard/Floor, Interior tiles/Sidewalk, x2 02 + + 2 + 2 + + world/tileset/graveyard/floor.dat + + Model + Sidewalk_x2_02 + + + + 0 + + + + + Graveyard/Floor, Interior tiles/Sidewalk, x2 03 + + 2 + 2 + + world/tileset/graveyard/floor.dat + + Model + Sidewalk_x2_03 + + + + 0 + + + + + Graveyard/Floor, Interior tiles/Sidewalk, x2 04 + + 2 + 2 + + world/tileset/graveyard/floor.dat + + Model + Sidewalk_x2_04 + + + + 0 + + + + + Graveyard/Floor, Interior tiles/Sidewalk, x2 05 + + 2 + 2 + + world/tileset/graveyard/floor.dat + + Model + Sidewalk_x2_05 + + + + 0 + + + + + Graveyard/Floor, dirt/Dirt 01 + + + world/tileset/graveyard/floor.dat + + Model + dirt_01 + + + + + + + + + + Graveyard/Floor, dirt/Dirt 02 + + + world/tileset/graveyard/floor.dat + + Model + dirt_02 + + + + + + + + + + Graveyard/Floor, dirt/Dirt 03 + + + world/tileset/graveyard/floor.dat + + Model + dirt_03 + + + + + + + + + + Graveyard/Floor, dirt/Dirt 04 + + + world/tileset/graveyard/floor.dat + + Model + dirt_04 + + + + + + + + + + Graveyard/Floor, dirt/Dirt 05, flat + + + world/tileset/graveyard/floor.dat + + Model + dirt_05 + + + + + + + + + + Graveyard/Floor, dirt/Dirt 06, flat + + + world/tileset/graveyard/floor.dat + + Model + dirt_06 + + + + + + + + + + Graveyard/Floor, dirt/Dirt 07, flat + + + world/tileset/graveyard/floor.dat + + Model + dirt_07 + + + + + + + + + + Graveyard/Floor, dirt/Dirt 08, flat + + + world/tileset/graveyard/floor.dat + + Model + dirt_08 + + + + + + + + + + Graveyard/Floor, dirt/Dirt, corner Out NW 01 + + + world/tileset/graveyard/floor.dat + + Model + dirt_out_NW01 + + + + + + + + + + Graveyard/Floor, dirt/Dirt, corner Out NW 02 + + + world/tileset/graveyard/floor.dat + + Model + dirt_out_NW02 + + + + + + + + + + Graveyard/Floor, dirt/Dirt, corner Out NW 03 + + + world/tileset/graveyard/floor.dat + + Model + dirt_out_NW03 + + + + + + + + + + Graveyard/Floor, dirt/Dirt, corner_In NW 01 + + + world/tileset/graveyard/floor.dat + + Model + dirt_In_NW01 + + + + + + + + + + Graveyard/Floor, dirt/Dirt, corner_In NW 02 + + + world/tileset/graveyard/floor.dat + + Model + dirt_In_NW02 + + + + + + + + + + Graveyard/Floor, dirt/Dirt, side 01 + + + world/tileset/graveyard/floor.dat + + Model + dirt_side_N01 + + + + + + + + + + Graveyard/Floor, dirt/Dirt, side 02 + + + world/tileset/graveyard/floor.dat + + Model + dirt_side_N02 + + + + + + + + + + Graveyard/Floor, dirt/Dirt, side 03 + + + world/tileset/graveyard/floor.dat + + Model + dirt_side_N02 + + + + + + + + + + Graveyard/Floor, dirt/Dirt, side 04 + + + world/tileset/graveyard/floor.dat + + Model + dirt_side_N02 + + + + + + + + + + Graveyard/Floor/Cobblestone, 2 bits diag01 + + + world/tileset/graveyard/floor.dat + + Model + cobblestone_07 + + + + + + + + + + Graveyard/Floor/Cobblestone, 2 bits diag02 + + + world/tileset/graveyard/floor.dat + + Model + cobblestone_06 + + + + + + + + + + Graveyard/Floor/Cobblestone, 4 bits + + + world/tileset/graveyard/floor.dat + + Model + cobblestone_01 + + + + + + + + + + Graveyard/Floor/Cobblestone, large 1 + + + world/tileset/graveyard/floor.dat + + Model + cobblestone_02 + + + + + + + + + + Graveyard/Floor/Cobblestone, large 2 + + + world/tileset/graveyard/floor.dat + + Model + cobblestone_09 + + + + + + + + + + Graveyard/Floor/Grass 01 + + + world/tileset/graveyard/floor.dat + + Model + cobblestone_03 + + + + + + + + + + Graveyard/Floor/Grass 02 + + + world/tileset/graveyard/floor.dat + + Model + cobblestone_04 + + + + + + + + + + Graveyard/Floor/Grass 03 + + + world/tileset/graveyard/floor.dat + + Model + cobblestone_05 + + + + + + + + + + Graveyard/Floor/Grass 04 + + + world/tileset/graveyard/floor.dat + + Model + cobblestone_08 + + + + + + + + + + Graveyard/Low/Corner + + + world/tileset/graveyard/edge.dat + + Model + edge_corner_in_03 + + + + 2 + + + + + Graveyard/Low/Horizontal 01 + + + world/tileset/graveyard/edge.dat + + Model + low_horiz_01 + + + + 2 + + + + + Graveyard/Low/Horizontal 02 + + + world/tileset/graveyard/edge.dat + + Model + low_horiz_02 + + + + 2 + + + + + Graveyard/Low/Vertical 01 + + + world/tileset/graveyard/edge.dat + + Model + low_vert_01 + + + + 2 + + + + + Graveyard/Low/Vertical 02 + + + world/tileset/graveyard/edge.dat + + Model + low_vert_02 + + + + 2 + + + + + Graveyard/Stairs/Edge, stair L 01 + + 2 + + world/tileset/graveyard/edge.dat + + Model + edge_stair_01_L + + + + 0 + 2 + + + + + Graveyard/Stairs/Edge, stair L 02 + + 2 + + world/tileset/graveyard/edge.dat + + Model + edge_stair_02_L + + + + 0 + 2 + + + + + Graveyard/Stairs/Edge, stair R 01 + + 2 + + world/tileset/graveyard/edge.dat + + Model + edge_stair_01_R + + + + 0 + 2 + + + + + Graveyard/Stairs/Edge, stair R 02 + + 2 + + world/tileset/graveyard/edge.dat + + Model + edge_stair_02_R + + + + 0 + 2 + + + + + Graveyard/Stairs/Wall, stair L01 + + + world/tileset/graveyard/walls.dat + + Model + wall_stair_01_L + + + + + + Graveyard/Stairs/Wall, stair L02 + + + world/tileset/graveyard/walls.dat + + Model + wall_stair_02_L + + + + + + Graveyard/Stairs/Wall, stair R01 + + + world/tileset/graveyard/walls.dat + + Model + wall_stair_01_R + + + + + + Graveyard/Stairs/Wall, stair R02 + + + world/tileset/graveyard/walls.dat + + Model + wall_stair_02_R + + + + + + Graveyard/Stairs/stair 01 + + + world/tileset/graveyard/floor.dat + + Model + stair_01 + + + + 0 + + + + + Graveyard/Stairs/stair 02 + + + world/tileset/graveyard/floor.dat + + Model + stair_02 + + + + 0 + + + + + Graveyard/Stairs/stair 03 + + + world/tileset/graveyard/floor.dat + + Model + stair_03 + + + + 0 + + + + + Graveyard/Stairs/stair, corner IN 01 + + + world/tileset/graveyard/floor.dat + + Model + stair_Out_SW_01 + + + + 0 + + + + + Graveyard/Stairs/stair, corner OUT 01 + + + world/tileset/graveyard/floor.dat + + Model + stairs_corner_out_01 + + + + 0 + + + + + Graveyard/Wall/Arch 01 + + + world/tileset/graveyard/walls.dat + + Model + wall_arch_01 + + + + + + Graveyard/Wall/Arch 02, window + + + world/tileset/graveyard/walls.dat + + Model + wall_arch_02 + + + + + + Graveyard/Wall/Arch 03, candlabra + + + world/tileset/graveyard/candle_1unit.dat + + 0 + + + + Graveyard/Wall/Arch Three-unit 01 + + 3 + + world/tileset/graveyard/walls.dat + + Model + wall_arch_Three_01 + + + + 1, 1, 1 + + + + + Graveyard/Wall/Arch Three-unit 02, window + + 3 + + world/tileset/graveyard/walls.dat + + Model + wall_arch_Three_02 + + + + 1, 1, 1 + + + + + Graveyard/Wall/Arch Three-unit 03, candlabra + + 3 + + world/tileset/graveyard/candle_3unit.dat + + + 1, 1, 1 + + + + + Graveyard/Wall/Arch Three-unit 04, sepulchre + + 3 + + world/tileset/graveyard/walls.dat + + Model + wall_arch_Three_04 + + + + 1, 1, 1 + + + + + Graveyard/Wall/Arch Two-unit 01 + + 2 + + world/tileset/graveyard/walls.dat + + Model + wall_arch_Two_01 + + + + 1, 1 + + + + + Graveyard/Wall/Arch Two-unit 02, window + + 2 + + world/tileset/graveyard/walls.dat + + Model + wall_arch_Two_02 + + + + 1, 1 + + + + + Graveyard/Wall/Arch Two-unit 03, candlabra + + 2 + + world/tileset/graveyard/candle_2unit.dat + + + 1, 1 + + + + + Graveyard/Wall/Back 01 + + + world/tileset/graveyard/walls.dat + + Model + wall_back + + + + + + Graveyard/Wall/Back 02 + + + world/tileset/graveyard/walls.dat + + Model + wall_back_02 + + + + + + Graveyard/Wall/Back 03 + + + world/tileset/graveyard/walls.dat + + Model + wall_back_03 + + + + + + Graveyard/Wall/Back, corner IN NE + + + world/tileset/graveyard/walls.dat + + Model + wall_back_In_NE01 + + + + + + Graveyard/Wall/Back, corner IN NW + + + world/tileset/graveyard/walls.dat + + Model + wall_back_In_NW01 + + + + + + Graveyard/Wall/Back, corner OUT NE + + + world/tileset/graveyard/walls.dat + + Model + wall_back_out_NE + + + 0 + + + + Graveyard/Wall/Back, corner OUT NW + + + world/tileset/graveyard/walls.dat + + Model + wall_back_out_NW + + + 0 + + + + Graveyard/Wall/Column 01 + + + world/tileset/graveyard/walls.dat + + Model + column_01 + + + + + + Graveyard/Wall/Corner IN 01 + + + world/tileset/graveyard/walls.dat + + Model + corner_in_01 + + + + + + Graveyard/Wall/Corner OUT 03 + + + world/tileset/graveyard/walls.dat + + Model + corner_out_03 + + + + + + Graveyard/Wall/Corner OUT 04 + + + world/tileset/graveyard/walls.dat + + Model + corner_out_04 + + + + + + Graveyard/Wall/Corner OUT, arch + + + world/tileset/graveyard/walls.dat + + Model + corner_out_01 + + + + + + Graveyard/Wall/Corner OUT, pillar + + + world/tileset/graveyard/walls.dat + + Model + corner_out_02 + + + + + + Graveyard/Wall/Flat A01 + + + world/tileset/graveyard/walls.dat + + Model + wall_flat_A01 + + + + + + Graveyard/Wall/Flat A02 + + + world/tileset/graveyard/walls.dat + + Model + wall_flat_A02 + + + + + + Graveyard/Wall/Flat A03 + + + world/tileset/graveyard/walls.dat + + Model + wall_flat_A03 + + + + + + Graveyard/Wall/Flat A04 + + + world/tileset/graveyard/walls.dat + + Model + wall_flat_A04 + + + + + + Graveyard/Wall/Flat A05 + + + world/tileset/graveyard/walls.dat + + Model + wall_flat_A05 + + + + + + Graveyard/Wall/Flat B01 + + + world/tileset/graveyard/walls.dat + + Model + wall_flat_B01 + + + + + + Graveyard/Wall/Flat B02 + + + world/tileset/graveyard/walls.dat + + Model + wall_flat_B02 + + + + + + Graveyard/Wall/Flat B03 + + + world/tileset/graveyard/walls.dat + + Model + wall_flat_B03 + + + + + + Graveyard/Wall/Flat B04 + + + world/tileset/graveyard/walls.dat + + Model + wall_flat_B04 + + + + + + Graveyard/Wall/Flat B05 + + + world/tileset/graveyard/walls.dat + + Model + wall_flat_B05 + + + + + + Graveyard/Wall/Pillar 01 + + + world/tileset/graveyard/walls.dat + + Model + wall_pllr_01 + + + + + + Graveyard/Wall/T tile, Arch%SLASH%Low + + + world/tileset/graveyard/walls.dat + + Model + wall_arch_T_low + + + + + + Graveyard/Wall/T tile, Flat%SLASH%Low + + + world/tileset/graveyard/walls.dat + + Model + wall_flat_T_low + + + + + + Graveyard/Wall/T tile, Flat%SLASH%Thin + + + world/tileset/graveyard/walls.dat + + Model + wall_flat_T_thin + + + + + + Graveyard/Wall/T tile, Thin%SLASH%Low + + + world/tileset/graveyard/walls.dat + + Model + wall_thin_T_low + + + + + + Graveyard/Wall/Thin end + + + world/tileset/graveyard/walls.dat + + Model + wall_thin_vert_End + + + + + + Graveyard/Wall/Thin end, 2unit, crumbled + + 2 + + world/tileset/graveyard/walls.dat + + Model + wall_thin_vert_End_x2 + + + + 1 + 1 + + + + + Graveyard/Wall/Thin, horizontal A01 + + + world/tileset/graveyard/walls.dat + + Model + wall_thin_horiz_A01 + + + 0 + + + + Graveyard/Wall/Thin, horizontal B01 + + + world/tileset/graveyard/walls.dat + + Model + wall_thin_horiz_B01 + + + 0 + + + + Graveyard/Wall/Thin, horizontal x2 01 + + 2 + + world/tileset/graveyard/walls.dat + + Model + wall_thin_horiz_x2_01 + + + + 1, 1 + + 0 + + + + Graveyard/Wall/Thin, horizontal x3 01 + + 3 + + world/tileset/graveyard/walls.dat + + Model + wall_thin_horiz_x3_01 + + + + 1, 1, 1 + + 0 + + + + Graveyard/Wall/Thin, horizontal x4 01 + + 4 + + world/tileset/graveyard/walls.dat + + Model + wall_thin_horiz_x4_01 + + + + 1, 1, 1, 1 + + 0 + + + + Graveyard/Wall/Thin, horizontal x4 02 + + 4 + + world/tileset/graveyard/walls.dat + + Model + wall_thin_horiz_x4_02 + + + + 1, 1, 1, 1 + + 0 + + + + Graveyard/Wall/Thin, vertical A01 + + + world/tileset/graveyard/walls.dat + + Model + wall_thin_vert_A01 + + + 0 + + + + Graveyard/Wall/Thin, vertical B01 + + + world/tileset/graveyard/walls.dat + + Model + wall_thin_vert_B01 + + + 0 + + + + Graveyard/Wall/Thin, vertical x2 01 + + 2 + + world/tileset/graveyard/walls.dat + + Model + wall_thin_vert_x2_01 + + + + 1 + 1 + + 0 + + + + Graveyard/Wall/Thin, vertical x3 01 + + 3 + + world/tileset/graveyard/walls.dat + + Model + wall_thin_vert_x3_01 + + + + 1 + 1 + 1 + + 0 + + + + Graveyard/Wall/Thin, vertical x4 01 + + 4 + + world/tileset/graveyard/walls.dat + + Model + wall_thin_vert_x4_01 + + + + 1 + 1 + 1 + 1 + + 0 + + + + Graveyard/Wall/Thin, vertical x4 02 + + 4 + + world/tileset/graveyard/walls.dat + + Model + wall_thin_vert_x4_02 + + + + 1 + 1 + 1 + 1 + + 0 + + + + Graveyard/Wall/Wall, inner + + + world/tileset/graveyard/walls.dat + + Model + wall_inner + + + + + + Graveyard/Wall/X tile, Thin%SLASH%Low + + + world/tileset/graveyard/walls.dat + + Model + wall_thin_X_low + + + + + + Haven/Fountain/Corner In, SW + + + world/tileset/outershell/bathtiles.dat + + Model + rail_in + Projections + false + + + + 2 + + 0 + + + + Haven/Fountain/Corner Out, SW + + + world/tileset/outershell/bathtiles.dat + + Model + rail_out + Projections + false + + + + 2 + + 0 + + + + Haven/Fountain/Edge S x1 flat 1 + + + world/tileset/outershell/bathtiles.dat + + Model + rail_edge_01 + Projections + false + + + + 2 + + 0 + + + + Haven/Fountain/Edge S x1 flat 2 + + + world/tileset/outershell/bathtiles.dat + + Model + raid_edge_02 + Projections + false + + + + 2 + + 0 + + + + Haven/Fountain/Edge S, x1 chipped 1 + + + world/tileset/outershell/bathtiles.dat + + Model + rail_edge_03 + Projections + false + + + + 2 + + 0 + + + + Haven/Fountain/Edge S, x1 chipped 2 + + + world/tileset/outershell/bathtiles.dat + + Model + rail_edge_04 + Projections + false + + + + 2 + + 0 + + + + Haven/Fountain/Edge S, x1 chipped 3 + + + world/tileset/outershell/bathtiles.dat + + Model + rail_edge_05 + Projections + false + + + + 2 + + 0 + + + + Haven/Fountain/Empty + + + world/tileset/outershell/bathtiles.dat + + Model + floor + Projections + true + + + + 0 + + + + + Haven/Fountain/Water + + + Edge S + implementation.model["Edge S"] + + + Edge W + implementation.model["Edge W"] + + + Tile Model + implementation.model["Tile Model"] + + + + + world/tileset/outershell/water.dat + + Edge S + false + Edge W + false + Size + x1 + Tile Model + floor + Tile Transform + + + + + + 0 + + + + + Haven/Fountain/Water x2 + + 2 + 2 + + world/tileset/outershell/water.dat + + Edge S + false + Edge W + false + Size + x2 + Tile Model + floor_x2 + Tile Transform + + 1.0, 1.0, 0.0 + + + + + 0, 0 + 0, 0 + + + + + Haven/Fountain/Water x3 + + 3 + 3 + + world/tileset/outershell/water.dat + + Edge S + false + Edge W + false + Size + x3 + Tile Model + floor_x3 + Tile Transform + + 1.5, 1.5, 0.0 + + + + + 0, 0, 0 + 0, 0, 0 + 0, 0, 0 + + + + + Haven/Fountain/Water x4 + + 4 + 4 + + world/tileset/outershell/water.dat + + Edge S + false + Edge W + false + Size + x4 + Tile Model + floor_x4 + Tile Transform + + 2.0, 2.0, 0.0 + + + + + 0, 0, 0, 0 + 0, 0, 0, 0 + 0, 0, 0, 0 + 0, 0, 0, 0 + + + + + Haven/Gate Arcade/Balcony + + + Pit Fade Color + implementation.model["Pit Fade Color"] + + + + 8 + 7 + + world/tileset/outershell/arcade/balcony.dat + + Pit Fade Color + 0.11764706, 0.105882354, 0.12156863, 1.0 + + + + 1, 1, 1, 1, 1, 1, 1, 1 + 1, 1, 1, 1, 1, 1, 1, 1 + 1, 1, 2, 2, 2, 2, 1, 1 + 1, 2, 0, 0, 0, 0, 2, 1 + 2, 0, 0, 0, 0, 0, 0, 2 + 2, 0, 0, 0, 0, 0, 0, 2 + 2, 0, 0, 0, 0, 0, 0, 2 + + + + + Haven/Gate Arcade/Edge, railing/Rail, rusty corner IN + + + world/tileset/outershell/arcade/rail.dat + + Model + arcade_rail_in_01 + + + + 2 + + 0 + + + + Haven/Gate Arcade/Edge, railing/Rail, rusty x1 01 + + + world/tileset/outershell/arcade/rail.dat + + Model + arcade_rail_x1_01 + + + + 2 + + 0 + + + + Haven/Gate Arcade/Edge, railing/Rail, rusty x1 02 + + + world/tileset/outershell/arcade/rail.dat + + Model + arcade_rail_x1_02 + + + + 2 + + 0 + + + + Haven/Gate Arcade/Edge, railing/Rail, rusty x2 - Support Post + + 2 + + world/tileset/outershell/arcade/rail.dat + + Model + arcade_rail_x2_03 + + + + 2, 2 + + 0 + + + + Haven/Gate Arcade/Edge, railing/Rail, rusty x2 01 + + 2 + + world/tileset/outershell/arcade/rail.dat + + Model + arcade_rail_x2_01 + + + + 2, 2 + + 0 + + + + Haven/Gate Arcade/Edge, railing/Rail, rusty x2 02 + + 2 + + world/tileset/outershell/arcade/rail.dat + + Model + arcade_rail_x2_02 + + + + 2, 2 + + 0 + + + + Haven/Gate Arcade/Edge, railing/Rail, rusty x4 01 + + 4 + + world/tileset/outershell/arcade/rail.dat + + Model + arcade_rail_x4_01 + + + + 2, 2, 2, 2 + + 0 + + + + Haven/Gate Arcade/Floor, base/Cart track - Special + + + world/tileset/outershell/arcade/floor_set.dat + + Model + rail_track_special + + + + + + + + Haven/Gate Arcade/Floor, base/Cart track - Turntable Blend + + + world/tileset/outershell/arcade/floor_set.dat + + Model + rail_track_turntable + + + + + + + + Haven/Gate Arcade/Floor, base/Cart track x1 - 01 + + + world/tileset/outershell/arcade/floor_set.dat + + Model + rail_track_x1_01 + + + + + + + + Haven/Gate Arcade/Floor, base/Cart track x1 - 02 + + + world/tileset/outershell/arcade/floor_set.dat + + Model + rail_track_x1_02 + + + + + + + + Haven/Gate Arcade/Floor, base/Cart track x2 - 01 + + 2 + + world/tileset/outershell/arcade/floor_set.dat + + Model + rail_track_x2_01 + + + + 0, 0 + + + + + Haven/Gate Arcade/Floor, base/Cart track x2 - 02 + + 2 + + world/tileset/outershell/arcade/floor_set.dat + + Model + rail_track_x2_02 + + + + 0, 0 + + + + + Haven/Gate Arcade/Floor, base/Mesh 1 - 2x2 + + 2 + 2 + + world/tileset/outershell/arcade/floor_set.dat + + Model + floor_mesh1_x2 + + + + 0, 0 + 0, 0 + + + + + Haven/Gate Arcade/Floor, base/Mesh 1 - 3x3 + + 3 + 3 + + world/tileset/outershell/arcade/floor_set.dat + + Model + floor_mesh1_x3 + + + + 0, 0, 0 + 0, 0, 0 + 0, 0, 0 + + + + + Haven/Gate Arcade/Floor, base/Mesh 1 - 4x4 + + 4 + 4 + + world/tileset/outershell/arcade/floor_set.dat + + Model + floor_mesh1_x4 + + + + 0, 0, 0, 0 + 0, 0, 0, 0 + 0, 0, 0, 0 + 0, 0, 0, 0 + + + + + Haven/Gate Arcade/Floor, base/Mesh 1 - single unit + + + world/tileset/outershell/arcade/floor_set.dat + + Model + floor_mesh1 + + + + 0, 0 + + + + + Haven/Gate Arcade/Floor, base/Plate - single 01 + + + world/tileset/outershell/arcade/floor_set.dat + + Model + floor_plate_01 + + + + 0 + + + + + Haven/Gate Arcade/Floor, base/Plate - single 02 + + + world/tileset/outershell/arcade/floor_set.dat + + Model + floor_plate_02 + + + + 0 + + + + + Haven/Gate Arcade/Floor, base/Plate - single 03 + + + world/tileset/outershell/arcade/floor_set.dat + + Model + floor_plate_03 + + + + 0 + + + + + Haven/Gate Arcade/Floor, base/Plate - single 04 + + + world/tileset/outershell/arcade/floor_set.dat + + Model + floor_plate_04 + + + + 0 + + + + + Haven/Gate Arcade/Floor, base/Plate - single 05 + + + world/tileset/outershell/arcade/floor_set.dat + + Model + floor_plate_05 + + + + 0 + + + + + Haven/Gate Arcade/Floor, base/Plate - single 06 + + + world/tileset/outershell/arcade/floor_set.dat + + Model + floor_plate_06 + + + + 0 + + + + + Haven/Gate Arcade/Floor, base/Plate - single 07 + + + world/tileset/outershell/arcade/floor_set.dat + + Model + floor_plate_07 + + + + 0 + + + + + Haven/Gate Arcade/Floor, base/Plate - single 08 + + + world/tileset/outershell/arcade/floor_set.dat + + Model + floor_plate_08 + + + + 0 + + + + + Haven/Gate Arcade/Floor, base/Plate - single, Blank + + + world/tileset/outershell/arcade/floor_set.dat + + Model + floor_plate_blank + + + + 0 + + + + + Haven/Gate Arcade/Floor, base/Plate - single, Corner Blank + + + world/tileset/outershell/arcade/floor_set.dat + + Model + floor_plate_corner_blank + + + + 0 + + + + + Haven/Gate Arcade/Floor, base/Plate - single, Diagonal Blank + + + world/tileset/outershell/arcade/floor_set.dat + + Model + floor_plate_diag + + + + 0 + + + + + Haven/Gate Arcade/Floor, base/Plate - single, Half Blank + + + world/tileset/outershell/arcade/floor_set.dat + + Model + floor_plate_half_blank + + + + 0 + + + + + Haven/Gate Arcade/Floor, base/Platform - single 01 + + + world/tileset/outershell/arcade/floor_set.dat + + Model + floor_platform_01 + + + + 0 + + + + + Haven/Gate Arcade/Floor, base/Platform - single 02 + + + world/tileset/outershell/arcade/floor_set.dat + + Model + floor_platform_02 + + + + 0 + + + + + Haven/Gate Arcade/Floor, base/Platform - single 03 + + + world/tileset/outershell/arcade/floor_set.dat + + Model + floor_platform_03 + + + + 0 + + + + + Haven/Gate Arcade/Floor, base/Platform - single 04 + + + world/tileset/outershell/arcade/floor_set.dat + + Model + floor_platform_04 + + + + 0 + + + + + Haven/Gate Arcade/Floor, base/Platform - x2 01 + + 2 + 2 + + world/tileset/outershell/arcade/floor_set.dat + + Model + floor_platform_x2_01 + + + + 0, 0 + 0, 0 + + + + + Haven/Gate Arcade/Floor, base/Platform - x2 02 + + 2 + 2 + + world/tileset/outershell/arcade/floor_set.dat + + Model + floor_platform_x2_02 + + + + 0, 0 + 0, 0 + + + + + Haven/Gate Arcade/Floor, base/Platform - x2 03 + + 2 + 2 + + world/tileset/outershell/arcade/floor_set.dat + + Model + floor_platform_x2_03 + + + + 0, 0 + 0, 0 + + + + + Haven/Gate Arcade/Floor, base/Platform - x2 04 + + 2 + 2 + + world/tileset/outershell/arcade/floor_set.dat + + Model + floor_platform_x2_04 + + + + 0, 0 + 0, 0 + + + + + Haven/Gate Arcade/Floor, base/Ramp - 1unit Plate, L end + + + world/tileset/outershell/arcade/floor_set.dat + + Model + ramp_1unit_plate_L + + + + + + + + + + Haven/Gate Arcade/Floor, base/Ramp - 1unit Plate, Middle + + + world/tileset/outershell/arcade/floor_set.dat + + Model + ramp_1unit_plate + + + + + + + + + + Haven/Gate Arcade/Floor, base/Ramp - 1unit Plate, R end + + + world/tileset/outershell/arcade/floor_set.dat + + Model + ramp_1unit_plate_R + + + + + + + + + + Haven/Gate Arcade/Floor, base/Ramp - 1x6 01 + + 6 + + world/tileset/outershell/arcade/floor_set.dat + + Model + ramp_01 + + + + 0 + 0 + 0 + 0 + 0 + 0 + + + + + Haven/Gate Arcade/Floor, base/Ramp - 1x6 02 + + 6 + + world/tileset/outershell/arcade/floor_set.dat + + Model + ramp_02 + + + + 0 + 0 + 0 + 0 + 0 + 0 + + + + + Haven/Gate Arcade/Floor, base/Ramp - Side edge, Left + + 6 + + world/tileset/outershell/arcade/floor_set.dat + + Model + ramp_edge_L + + + + 0 + 0 + 0 + 0 + 0 + 0 + + + + + Haven/Gate Arcade/Floor, base/Ramp - Side edge, Right + + 6 + + world/tileset/outershell/arcade/floor_set.dat + + Model + ramp_edge_R + + + + 0 + 0 + 0 + 0 + 0 + 0 + + + + + Haven/Gate Arcade/Floor, base/Ramp - Top, 1-unit 01 + + + world/tileset/outershell/arcade/floor_set.dat + + Model + ramp_1unit_top01 + + + + + + + + + + Haven/Gate Arcade/Floor, base/Ramp - trench + + 6 + + world/tileset/outershell/arcade/floor_set.dat + + Model + ramp_trench_01 + + + + 0 + 0 + 0 + 0 + 0 + 0 + + + + + Haven/Gate Arcade/Floor, base/Tile x1 - 1 + + + world/tileset/outershell/arcade/floor_set.dat + + Model + floor_tile_blue_01 + + + + 0 + + + + + Haven/Gate Arcade/Floor, base/Tile x1 - 2 + + + world/tileset/outershell/arcade/floor_set.dat + + Model + floor_tile_blue_02 + + + + 0 + + + + + Haven/Gate Arcade/Floor, base/Tile x1 - 3 + + + world/tileset/outershell/arcade/floor_set.dat + + Model + floor_tile_blue_03 + + + + 0 + + + + + Haven/Gate Arcade/Floor, base/Tile x1 - 4 + + + world/tileset/outershell/arcade/floor_set.dat + + Model + floor_tile_blue_04 + + + + 0 + + + + + Haven/Gate Arcade/Floor, base/Tile x2 + + 2 + 2 + + world/tileset/outershell/arcade/floor_set.dat + + Model + floor_tile_blue_x2 + + + + 0, 0 + 0, 0 + + + + + Haven/Interior/Cliff, Fade Endcap East + + 4 + + world/tileset/outershell/cliff_interior.dat + + Color - Light Override + 0.11372549, 0.11372549, 0.14117648, 1.0 + Model + endcap_cliff_east + + + + + + Haven/Interior/Cliff, Fade Endcap West + + 4 + + world/tileset/outershell/cliff_interior.dat + + Color - Light Override + 0.11372549, 0.11372549, 0.14117648, 1.0 + Model + endcap_cliff_west + + + + + + Haven/Interior/Cliff, Fadeout - Block 1 + + + world/tileset/outershell/cliff_interior.dat + + Color - Light Override + 0.11372549, 0.11372549, 0.14117648, 1.0 + Model + wall_cliff_03_block + + + + + + Haven/Interior/Cliff, Fadeout - Block 2 + + + world/tileset/outershell/cliff_interior.dat + + Color - Light Override + 0.11372549, 0.11372549, 0.14117648, 1.0 + Model + wall_cliff_04_block + + + + + + Haven/Interior/Cliff, Fadeout - Corner Out + + + world/tileset/outershell/cliff_interior.dat + + Color - Light Override + 0.11372549, 0.11372549, 0.14117648, 1.0 + Model + wall_cliff_cornerout + + + + + + Haven/Interior/Cliff, Fadeout 01 + + + world/tileset/outershell/cliff_interior.dat + + Color - Light Override + 0.11372549, 0.11372549, 0.14117648, 1.0 + Model + wall_cliff_01 + + + + + + Haven/Interior/Cliff, Fadeout 02 + + + world/tileset/outershell/cliff_interior.dat + + Color - Light Override + 0.11372549, 0.11372549, 0.14117648, 1.0 + Model + wall_cliff_02 + + + + + + Haven/Interior/Cliff, Fadeout x2 01 + + 2 + + world/tileset/outershell/cliff_interior.dat + + Color - Light Override + 0.11372549, 0.11372549, 0.14117648, 1.0 + Model + wall_cliff_x2_01 + + + + + + Haven/Interior/Cliff, Fadeout x2 02 + + 2 + + world/tileset/outershell/cliff_interior.dat + + Color - Light Override + 0.11372549, 0.11372549, 0.14117648, 1.0 + Model + wall_cliff_x2_02 + + + + + + Haven/Interior/Cliff, Fadeout x4 01 + + 4 + + world/tileset/outershell/cliff_interior.dat + + Color - Light Override + 0.11372549, 0.11372549, 0.14117648, 1.0 + Model + wall_cliff_x4_01 + + + + + + Haven/Interior/Cliff, Fadeout x4 02 + + 4 + + world/tileset/outershell/cliff_interior.dat + + Color - Light Override + 0.11372549, 0.11372549, 0.14117648, 1.0 + Model + wall_cliff_x4_02 + + + + + + Haven/Interior/Cliff, south - Block 1 + + + world/tileset/outershell/arcade/interior.dat + + Color - Light Override + 0.11372549, 0.11372549, 0.14117648, 1.0 + Model + cliff_fade_block01 + + + + + + Haven/Interior/Cliff, south - Block 2 + + + world/tileset/outershell/arcade/interior.dat + + Color - Light Override + 0.11372549, 0.11372549, 0.14117648, 1.0 + Model + cliff_fade_block02 + + + + + + Haven/Interior/Cliff, south 01 + + + world/tileset/outershell/arcade/interior.dat + + Color - Light Override + 0.11372549, 0.11372549, 0.14117648, 1.0 + Model + cliff_fade_01 + + + + + + Haven/Interior/Cliff, south 02 + + + world/tileset/outershell/arcade/interior.dat + + Color - Light Override + 0.11372549, 0.11372549, 0.14117648, 1.0 + Model + cliff_fade_02 + + + + + + Haven/Interior/Cliff, south x2 01 + + 2 + + world/tileset/outershell/arcade/interior.dat + + Color - Light Override + 0.11372549, 0.11372549, 0.14117648, 1.0 + Model + cliff_fade_x2_01 + + + + + + Haven/Interior/Cliff, south x2 02 + + 2 + + world/tileset/outershell/arcade/interior.dat + + Color - Light Override + 0.11372549, 0.11372549, 0.14117648, 1.0 + Model + cliff_fade_x2_02 + + + + + + Haven/Interior/Floor - Fadeout 1x1 + + + world/tileset/outershell/arcade/interior.dat + + Color - Light Override + 0.11372549, 0.11372549, 0.14117648, 1.0 + Model + tile_fadeout + + + + + + Haven/Interior/Floor - Fadeout 2x2 + + 2 + 2 + + world/tileset/outershell/arcade/interior.dat + + Color - Light Override + 0.11372549, 0.11372549, 0.14117648, 1.0 + Model + tile_fadeout_2x2 + + + + 1, 1 + 1, 1 + + + + + Haven/Interior/Floor - Fadeout 4x4 + + 4 + 4 + + world/tileset/outershell/arcade/interior.dat + + Color - Light Override + 0.11372549, 0.11372549, 0.14117648, 1.0 + Model + tile_fadeout_4x4 + + + + 1, 1, 1, 1 + 1, 1, 1, 1 + 1, 1, 1, 1 + 1, 1, 1, 1 + + + + + Haven/Natural/Cliff/Null + + + world/tileset/outershell/nature.dat + + Model + null + Recieves Projections + false + + + + 2 + + + + + Haven/Natural/Cliff/Wall edge N 01 + + + world/tileset/outershell/nature.dat + + Model + wall_cliff_back + Recieves Projections + false + + + + 2 + + 0 + + + + Haven/Natural/Cliff/Wall edge N x2 01 + + 2 + + world/tileset/outershell/nature.dat + + Model + wall_cliff_x2_back + Recieves Projections + false + + + + 2, 2 + + 0 + + + + Haven/Natural/Cliff/Wall edge N x4 01 + + 4 + + world/tileset/outershell/nature.dat + + Model + wall_cliff_x4_back + Recieves Projections + false + + + + 2, 2, 2, 2 + + 0 + + + + Haven/Natural/Cliff/Wall edge S 01 + + + world/tileset/outershell/nature.dat + + Model + wall_cliff_01 + Recieves Projections + false + + + + 2 + + 0 + + + + Haven/Natural/Cliff/Wall edge S 02 + + + world/tileset/outershell/nature.dat + + Model + wall_cliff_01 + Recieves Projections + false + + + + 2 + + 0 + + + + Haven/Natural/Cliff/Wall edge S 03 Cube + + + world/tileset/outershell/nature.dat + + Model + wall_cliff_03_block + Recieves Projections + false + + + + 2 + + 0 + + + + Haven/Natural/Cliff/Wall edge S 04 Cube + + + world/tileset/outershell/nature.dat + + Model + wall_cliff_04_block + Recieves Projections + false + + + + 2 + + 0 + + + + Haven/Natural/Cliff/Wall edge S x2 01 + + 2 + + world/tileset/outershell/nature.dat + + Model + wall_cliff_x2_01 + Recieves Projections + false + + + + 2, 2 + + 0 + + + + Haven/Natural/Cliff/Wall edge S x2 02 + + 2 + + world/tileset/outershell/nature.dat + + Model + wall_cliff_x2_02 + Recieves Projections + false + + + + 2, 2 + + 0 + + + + Haven/Natural/Cliff/Wall edge S x4 01 + + 4 + + world/tileset/outershell/nature.dat + + Model + wall_cliff_x4_01 + Recieves Projections + false + + + + 2, 2, 2, 2 + + 0 + + + + Haven/Natural/Cliff/Wall edge S x4 02 + + 4 + + world/tileset/outershell/nature.dat + + Model + wall_cliff_x4_02 + Recieves Projections + false + + + + 2, 2, 2, 2 + + 0 + + + + Haven/Natural/Cliff/Wall in SW + + + world/tileset/outershell/nature.dat + + Model + wall_cliff_cornerin + Recieves Projections + false + + + + 2 + + 0 + + + + Haven/Natural/Cliff/Wall out SW + + + world/tileset/outershell/nature.dat + + Model + wall_cliff_cornerout + Recieves Projections + false + + + + 2 + + 0 + + + + Haven/Natural/Dirt/Abyss edge N 01 + + + world/tileset/outershell/nature.dat + + Model + wall_abyss_back + Recieves Projections + true + + + + 2 + + 0 + + + + Haven/Natural/Dirt/Abyss edge N x2 01 + + 2 + + world/tileset/outershell/nature.dat + + Model + wall_abyss_x2_back + Recieves Projections + true + + + + 2, 2 + + 0 + + + + Haven/Natural/Dirt/Abyss edge N x4 01 + + 4 + + world/tileset/outershell/nature.dat + + Model + wall_abyss_x4_back + Recieves Projections + true + + + + 2, 2, 2, 2 + + 0 + + + + Haven/Natural/Dirt/Abyss edge S 01 + + + world/tileset/outershell/nature.dat + + Model + wall_abyss_01 + Recieves Projections + true + + + + 2 + + 0 + + + + Haven/Natural/Dirt/Abyss edge S 02 + + + world/tileset/outershell/nature.dat + + Model + wall_abyss_02 + Recieves Projections + true + + + + 2 + + 0 + + + + Haven/Natural/Dirt/Abyss edge S x2 01 + + 2 + + world/tileset/outershell/nature.dat + + Model + wall_abyss_x2_01 + Recieves Projections + true + + + + 2, 2 + + 0 + + + + Haven/Natural/Dirt/Abyss edge S x2 02 + + 2 + + world/tileset/outershell/nature.dat + + Model + wall_abyss_x2_02 + Recieves Projections + true + + + + 2, 2 + + 0 + + + + Haven/Natural/Dirt/Abyss edge S x4 01 + + 4 + + world/tileset/outershell/nature.dat + + Model + wall_abyss_x4_01 + Recieves Projections + true + + + + 2, 2, 2, 2 + + 0 + + + + Haven/Natural/Dirt/Abyss edge S x4 02 + + 4 + + world/tileset/outershell/nature.dat + + Model + wall_abyss_x4_02 + Recieves Projections + true + + + + 2, 2, 2, 2 + + 0 + + + + Haven/Natural/Dirt/Abyss in SW + + + world/tileset/outershell/nature.dat + + Model + wall_abyss_cornerin + Recieves Projections + true + + + + 2 + + + + + Haven/Natural/Dirt/Abyss out SW + + + world/tileset/outershell/nature.dat + + Model + wall_abyss_cornerout + Recieves Projections + true + + + + 2 + + + + + Haven/Natural/Dirt/Clockwork Trim/Trim 01 + + + world/tileset/outershell/nature.dat + + Model + trim2_01 + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Dirt/Clockwork Trim/Trim 02 + + + world/tileset/outershell/nature.dat + + Model + trim2_02 + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Dirt/Clockwork Trim/Trim 03 + + + world/tileset/outershell/nature.dat + + Model + trim2_03 + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Dirt/Clockwork Trim/Trim 04 + + + world/tileset/outershell/nature.dat + + Model + trim2_04 + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Dirt/Clockwork Trim/Trim 05 + + + world/tileset/outershell/nature.dat + + Model + trim2_05 + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Dirt/Clockwork Trim/Trim 06 + + + world/tileset/outershell/nature.dat + + Model + trim2_06 + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Dirt/Clockwork Trim/Trim In 01 + + + world/tileset/outershell/nature.dat + + Model + trim2_in_NE_01 + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Dirt/Clockwork Trim/Trim Out 01 + + + world/tileset/outershell/nature.dat + + Model + trim2_out_NE_01 + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Dirt/Cube 01 + + + world/tileset/outershell/nature.dat + + Model + floor_dirtblock_01 + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Dirt/Cube 01 - non-walk + + + world/tileset/outershell/nature.dat + + Model + wall_dirtblock_01 + Recieves Projections + true + + + 0 + + + + Haven/Natural/Dirt/Cube 02 + + + world/tileset/outershell/nature.dat + + Model + floor_dirtblock_02 + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Dirt/Cube 02 - non-walk + + + world/tileset/outershell/nature.dat + + Model + wall_dirtblock_02 + Recieves Projections + true + + + 0 + + + + Haven/Natural/Dirt/Cube 03 + + + world/tileset/outershell/nature.dat + + Model + floor_dirtblock_03 + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Dirt/Cube x2 01 + + 2 + 2 + + world/tileset/outershell/nature.dat + + Model + floor_dirtblock_x2_01 + Recieves Projections + true + + + + 0, 0 + 0, 0 + + + + + Haven/Natural/Dirt/Cube x2 02 + + 2 + 2 + + world/tileset/outershell/nature.dat + + Model + floor_dirtblock_x2_02 + Recieves Projections + true + + + + 0, 0 + 0, 0 + + + + + Haven/Natural/Dirt/Dirt 01 + + + world/tileset/outershell/nature.dat + + Model + floor_dirt_01 + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Dirt/Dirt 02 + + + world/tileset/outershell/nature.dat + + Model + floor_dirt_02 + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Dirt/Dirt 03 + + + world/tileset/outershell/nature.dat + + Model + floor_dirt_03 + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Dirt/Dirt 04 + + + world/tileset/outershell/nature.dat + + Model + floor_dirt_04 + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Dirt/Dirt 06 weeds + + + world/tileset/outershell/nature.dat + + Model + floor_dirt_06_weeds + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Dirt/Dirt 07 weeds + + + world/tileset/outershell/nature.dat + + Model + floor_dirt_07_weeds + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Dirt/Dirt x2 01 + + 2 + 2 + + world/tileset/outershell/nature.dat + + Model + floor_dirt_x2_01 + Recieves Projections + true + + + + 0, 0 + 0, 0 + + + + + Haven/Natural/Dirt/Dirt x2 02 + + 2 + 2 + + world/tileset/outershell/nature.dat + + Model + floor_dirt_x2_02 + Recieves Projections + true + + + + 0, 0 + 0, 0 + + + + + Haven/Natural/Foliage/Null + + + world/tileset/outershell/nature.dat + + Model + wall_foliage_cap + Recieves Projections + false + + + 0 + + + + Haven/Natural/Foliage/Wall edge S 01 + + + world/tileset/outershell/nature.dat + + Model + wall_foliage_01 + Recieves Projections + false + + + 0 + + + + Haven/Natural/Foliage/Wall edge S 02 + + + world/tileset/outershell/nature.dat + + Model + wall_foliage_02 + Recieves Projections + false + + + 0 + + + + Haven/Natural/Foliage/Wall edge S x2 01 + + 2 + + world/tileset/outershell/nature.dat + + Model + wall_foliage_x2_01 + Recieves Projections + false + + + + 1, 1 + + 0 + + + + Haven/Natural/Foliage/Wall edge S x2 02 + + 2 + + world/tileset/outershell/nature.dat + + Model + wall_foliage_x2_02 + Recieves Projections + false + + + + 1, 1 + + 0 + + + + Haven/Natural/Foliage/Wall edge S x2 03 + + 2 + + world/tileset/outershell/nature.dat + + Model + wall_foliage_x2_03 + Recieves Projections + false + + + + 1, 1 + + 0 + + + + Haven/Natural/Foliage/Wall edge S x4 01 + + 4 + + world/tileset/outershell/nature.dat + + Model + wall_foliage_x4_01 + Recieves Projections + false + + + + 1, 1, 1, 1 + + 0 + + + + Haven/Natural/Foliage/Wall in SW + + + world/tileset/outershell/nature.dat + + Model + wall_foliage_cornerin + Recieves Projections + false + + + 0 + + + + Haven/Natural/Foliage/Wall out SW + + + world/tileset/outershell/nature.dat + + Model + wall_foliage_cornerout + Recieves Projections + false + + + 0 + + + + Haven/Natural/Grass/Cube high 01 + + + world/tileset/outershell/nature.dat + + Model + wall_grassblock_01 + Recieves Projections + false + + + + + + Haven/Natural/Grass/Cube high 02 + + + world/tileset/outershell/nature.dat + + Model + wall_grassblock_02 + Recieves Projections + false + + + + + + Haven/Natural/Grass/Cube low 01 + + + world/tileset/outershell/nature.dat + + Model + floor_grassblock_01 + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Short/Field 01 Short + + + world/tileset/outershell/nature.dat + + Model + floor_grassshort_01 + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Short/Field 02 Short + + + world/tileset/outershell/nature.dat + + Model + floor_grassshort_02 + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Short/Field edge E Short + + + world/tileset/outershell/nature.dat + + Model + floor_grassshort_edge_E + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Short/Field edge N Short + + + world/tileset/outershell/nature.dat + + Model + floor_grassshort_edge_N + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Short/Field edge S Short + + + world/tileset/outershell/nature.dat + + Model + floor_grassshort_edge_S + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Short/Field edge W Short + + + world/tileset/outershell/nature.dat + + Model + floor_grassshort_edge_W + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Short/Field in NE Short + + + world/tileset/outershell/nature.dat + + Model + floor_grassshort_in_NE + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Short/Field in NW Short + + + world/tileset/outershell/nature.dat + + Model + floor_grassshort_in_NW + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Short/Field in SE Short + + + world/tileset/outershell/nature.dat + + Model + floor_grassshort_in_SE + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Short/Field in SW Short + + + world/tileset/outershell/nature.dat + + Model + floor_grassshort_in_SW + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Short/Field out NE Short + + + world/tileset/outershell/nature.dat + + Model + floor_grassshort_out_NE + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Short/Field out NW Short + + + world/tileset/outershell/nature.dat + + Model + floor_grassshort_out_NW + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Short/Field out SE Short + + + world/tileset/outershell/nature.dat + + Model + floor_grassshort_out_SE + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Short/Field out SW Short + + + world/tileset/outershell/nature.dat + + Model + floor_grassshort_out_SW + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Short/Flowers 01 Short + + + world/tileset/outershell/flower_fx.dat + + Glow + false + Model + floor_flowers_05 + Pollen + Yellow + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Short/Flowers 02 Short + + + world/tileset/outershell/flower_fx.dat + + Glow + false + Model + floor_flowers_06 + Pollen + Cyan + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Tall/Field 01 + + + world/tileset/outershell/nature.dat + + Model + floor_grass_01 + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Tall/Field 02 + + + world/tileset/outershell/nature.dat + + Model + floor_grass_02 + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Tall/Field 03 + + + world/tileset/outershell/nature.dat + + Model + floor_grass_03 + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Tall/Field 04 + + + world/tileset/outershell/nature.dat + + Model + floor_grass_04 + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Tall/Field edge E + + + world/tileset/outershell/nature.dat + + Model + floor_grass_edge_E + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Tall/Field edge N + + + world/tileset/outershell/nature.dat + + Model + floor_grass_edge_N + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Tall/Field edge S + + + world/tileset/outershell/nature.dat + + Model + floor_grass_edge_S + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Tall/Field edge W + + + world/tileset/outershell/nature.dat + + Model + floor_grass_edge_W + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Tall/Field in NE + + + world/tileset/outershell/nature.dat + + Model + floor_grass_in_NE + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Tall/Field in NW + + + world/tileset/outershell/nature.dat + + Model + floor_grass_in_NW + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Tall/Field in SE + + + world/tileset/outershell/nature.dat + + Model + floor_grass_in_SE + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Tall/Field in SW + + + world/tileset/outershell/nature.dat + + Model + floor_grass_in_SW + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Tall/Field out NE + + + world/tileset/outershell/nature.dat + + Model + floor_grass_out_NE + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Tall/Field out NW + + + world/tileset/outershell/nature.dat + + Model + floor_grass_out_NW + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Tall/Field out SE + + + world/tileset/outershell/nature.dat + + Model + floor_grass_out_SE + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Tall/Field out SW + + + world/tileset/outershell/nature.dat + + Model + floor_grass_out_SW + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Tall/Flowers 01 + + + world/tileset/outershell/flower_fx.dat + + Glow + true + Model + floor_flowers_01 + Pollen + Cyan + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Tall/Flowers 02 + + + world/tileset/outershell/flower_fx.dat + + Glow + true + Model + floor_flowers_02 + Pollen + Cyan + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Tall/Flowers 03 + + + world/tileset/outershell/flower_fx.dat + + Glow + true + Model + floor_flowers_03 + Pollen + Yellow + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Grass/Tall/Flowers 04 + + + world/tileset/outershell/flower_fx.dat + + Glow + true + Model + floor_flowers_04 + Pollen + Yellow + Recieves Projections + true + + + + 0 + + + + + Haven/Natural/Stairway/Stair EW, Edge + + 6 + 2 + + world/tileset/outershell/nature.dat + + Model + stair_edge_EW + Recieves Projections + true + + + + 0, 0, 0, 0, 0, 0 + 2, 1, 1, 1, 1, 1 + + + + + Haven/Natural/Stairway/Stair EW, Edge (Cliff) + + 6 + 2 + + world/tileset/outershell/nature.dat + + Model + stair_cliffedge_EW + Recieves Projections + true + + + + 2, 1, 1, 1, 1, 1 + 0, 0, 0, 0, 0, 0 + + + + + Haven/Natural/Stairway/Stair WE, Edge + + 6 + 2 + + world/tileset/outershell/nature.dat + + Model + stair_edge_WE + Recieves Projections + true + + + + 0, 0, 0, 0, 0, 0 + 1, 1, 1, 1, 1, 2 + + + + + Haven/Natural/Stairway/Stair WE, Edge (Cliff) + + 6 + 2 + + world/tileset/outershell/nature.dat + + Model + stair_cliffedge_WE + Recieves Projections + true + + + + 1, 1, 1, 1, 1, 2 + 0, 0, 0, 0, 0, 0 + + + + + Haven/Natural/Stairway/Stair WE, Middle + + 6 + + world/tileset/outershell/nature.dat + + Model + stair_middle + Recieves Projections + true + + + + 0, 0, 0, 0, 0, 0 + + + + + Haven/Urban/Cobblestone/Cobblestone 01 + + + world/tileset/outershell/urban.dat + + Model + cobble_01 + + + + 0, 0 + 0, 0 + + + + + Haven/Urban/Cobblestone/Cobblestone 02 + + + world/tileset/outershell/urban.dat + + Model + cobble_02 + + + + + + + + + + Haven/Urban/Cobblestone/Cobblestone 03 + + + world/tileset/outershell/urban.dat + + Model + cobble_03 + + + + 0 + + + + + Haven/Urban/Cobblestone/Cobblestone 04 + + + world/tileset/outershell/urban.dat + + Model + cobble_04 + + + + 0 + + + + + Haven/Urban/Cobblestone/Cobblestone 05 + + + world/tileset/outershell/urban.dat + + Model + cobble_05 + + + + 0 + + + + + Haven/Urban/Cobblestone/Cobblestone x2, 01 + + 2 + 2 + + world/tileset/outershell/urban.dat + + Model + cobble_x2_01 + + + + 0, 0 + 0, 0 + + + + + Haven/Urban/Cobblestone/Cobblestone x2, 02 + + 2 + 2 + + world/tileset/outershell/urban.dat + + Model + cobble_x2_02 + + + + 0, 0 + 0, 0 + + + + + Haven/Urban/Cobblestone/Cobblestone x2, 03 + + 2 + 2 + + world/tileset/outershell/urban.dat + + Model + cobble_x2_03 + + + + 0, 0 + 0, 0 + + + + + Haven/Urban/Cobblestone/Cobblestone x2, 04 + + 2 + 2 + + world/tileset/outershell/urban.dat + + Model + cobble_x2_04 + + + + 0, 0 + 0, 0 + + + + + Haven/Urban/Cobblestone/Cobblestone, weeds 01 + + + world/tileset/outershell/urban.dat + + Model + cobbleweeds_01 + + + + 0 + + + + + Haven/Urban/Cobblestone/Cobblestone, weeds 02 + + + world/tileset/outershell/urban.dat + + Model + cobbleweeds_02 + + + + 0 + + + + + Haven/Urban/Cobblestone/Cobblestone, weeds 03 + + + world/tileset/outershell/urban.dat + + Model + cobbleweeds_03 + + + + 0 + + + + + Haven/Urban/Cobblestone/Cobblestone, weeds 04 + + + world/tileset/outershell/urban.dat + + Model + cobbleweeds_04 + + + + 0 + + + + + Haven/Urban/Cobblestone/Edge E 01, weeds + + + world/tileset/outershell/urban.dat + + Model + cobble_edge_E01 + + + + 0 + + + + + Haven/Urban/Cobblestone/Edge In, SE 01 + + + world/tileset/outershell/urban.dat + + Model + cobble_edge_in_SE01 + + + + 0 + + + + + Haven/Urban/Cobblestone/Edge In, SE 02 + + + world/tileset/outershell/urban.dat + + Model + cobble_edge_in_SE02 + + + + 0 + + + + + Haven/Urban/Cobblestone/Edge N 01, weeds + + + world/tileset/outershell/urban.dat + + Model + cobble_edge_N01 + + + + 0 + + + + + Haven/Urban/Cobblestone/Edge Out, NE 03, weeds + + + world/tileset/outershell/urban.dat + + Model + cobble_edge_out_NE03 + + + + 0 + + + + + Haven/Urban/Cobblestone/Edge Out, NW 03, weeds + + + world/tileset/outershell/urban.dat + + Model + cobble_edge_out_NW03 + + + + 0 + + + + + Haven/Urban/Cobblestone/Edge Out, SE 03, weeds + + + world/tileset/outershell/urban.dat + + Model + cobble_edge_out_SE03 + + + + 0 + + + + + Haven/Urban/Cobblestone/Edge Out, SW 01 + + + world/tileset/outershell/urban.dat + + Model + cobble_edge_out_SW01 + + + + 0 + + + + + Haven/Urban/Cobblestone/Edge Out, SW 02 + + + world/tileset/outershell/urban.dat + + Model + cobble_edge_out_SW02 + + + + 0 + + + + + Haven/Urban/Cobblestone/Edge Out, SW 03, weeds + + + world/tileset/outershell/urban.dat + + Model + cobble_edge_out_SW03 + + + + 0 + + + + + Haven/Urban/Cobblestone/Edge S 01 + + + world/tileset/outershell/urban.dat + + Model + cobble_edge_S01 + + + + 0 + + + + + Haven/Urban/Cobblestone/Edge S 02 + + + world/tileset/outershell/urban.dat + + Model + cobble_edge_S02 + + + + 0 + + + + + Haven/Urban/Cobblestone/Edge S 03, weeds + + + world/tileset/outershell/urban.dat + + Model + cobble_edge_S03 + + + + 0 + + + + + Haven/Urban/Cobblestone/Edge W 01, weeds + + + world/tileset/outershell/urban.dat + + Model + cobble_edge_W01 + + + + 0 + + + + + Haven/Urban/Dais/Dais, x1 01 + + + world/tileset/outershell/urban.dat + + Model + dais_x1_01 + + + + 0 + + + + + Haven/Urban/Dais/Dais, x1 02 + + + world/tileset/outershell/urban.dat + + Model + dais_x1_02 + + + + 0 + + + + + Haven/Urban/Dais/Dais, x1 03 + + + world/tileset/outershell/urban.dat + + Model + dais_x1_03 + + + + 0 + + + + + Haven/Urban/Dais/Dais, x1 04 + + + world/tileset/outershell/urban.dat + + Model + dais_x1_04 + + + + 0 + + + + + Haven/Urban/Dais/Dais, x2 01 + + 2 + 2 + + world/tileset/outershell/urban.dat + + Model + dais_x2_01 + + + + 0 + + + + + Haven/Urban/Dais/Stair In SW 01 + + + world/tileset/outershell/urban.dat + + Model + dais_In_SW_01 + + + + 0 + + + + + Haven/Urban/Dais/Stair Out SW 01 + + + world/tileset/outershell/urban.dat + + Model + dais_Out_SW_01 + + + + 0 + + + + + Haven/Urban/Dais/Stair Out SW 02, chipped + + + world/tileset/outershell/urban.dat + + Model + dais_Out_SW_02 + + + + 0 + + + + + Haven/Urban/Dais/Stair S 01 + + + world/tileset/outershell/urban.dat + + Model + dais_S_01 + + + + 0 + + + + + Haven/Urban/Dais/Stair S 02 + + + world/tileset/outershell/urban.dat + + Model + dais_S_02 + + + + 0 + + + + + Haven/Urban/Dais/Stair S 03 + + + world/tileset/outershell/urban.dat + + Model + dais_S_03 + + + + 0 + + + + + Haven/Urban/Dais/Trim E 01 + + + world/tileset/outershell/dais_tiles/dais_E_01.dat + + + 0 + + + + + Haven/Urban/Dais/Trim In NE 01 + + + world/tileset/outershell/dais_tiles/dais_In_NE_01.dat + + + 0 + + + + + Haven/Urban/Dais/Trim In NW 01 + + + world/tileset/outershell/dais_tiles/dais_In_NW_01.dat + + + 0 + + + + + Haven/Urban/Dais/Trim In SE 01 + + + world/tileset/outershell/dais_tiles/dais_In_SE_01.dat + + + 0 + + + + + Haven/Urban/Dais/Trim In SW 01 + + + world/tileset/outershell/dais_tiles/dais_In_SW_01.dat + + + 0 + + + + + Haven/Urban/Dais/Trim N 01 + + + world/tileset/outershell/dais_tiles/dais_N_01.dat + + + 0 + + + + + Haven/Urban/Dais/Trim N 02 + + + world/tileset/outershell/dais_tiles/dais_N_02.dat + + + 0 + + + + + Haven/Urban/Dais/Trim Out NE 01 + + + world/tileset/outershell/dais_tiles/dais_Out_NE_01.dat + + + 0 + + + + + Haven/Urban/Dais/Trim Out NW 01 + + + world/tileset/outershell/dais_tiles/dais_Out_NW_01.dat + + + 0 + + + + + Haven/Urban/Dais/Trim Out SE 01 + + + world/tileset/outershell/dais_tiles/dais_Out_SE_01.dat + + + 0 + + + + + Haven/Urban/Dais/Trim Out SE 02, chipped + + + world/tileset/outershell/dais_tiles/dais_Out_SE_02.dat + + + 0 + + + + + Haven/Urban/Dais/Trim Out SW 01 + + + world/tileset/outershell/dais_tiles/dais_Out_SW_01.dat + + + 0 + + + + + Haven/Urban/Dais/Trim Out SW 02, chipped + + + world/tileset/outershell/dais_tiles/dais_Out_SW_02.dat + + + 0 + + + + + Haven/Urban/Dais/Trim S 01 + + + world/tileset/outershell/dais_tiles/dais_S_01.dat + + + 0 + + + + + Haven/Urban/Dais/Trim S 02 + + + world/tileset/outershell/dais_tiles/dais_S_02.dat + + + 0 + + + + + Haven/Urban/Dais/Trim S 03 + + + world/tileset/outershell/dais_tiles/dais_S_03.dat + + + 0 + + + + + Haven/Urban/Dais/Trim W 01 + + + world/tileset/outershell/dais_tiles/dais_W_01.dat + + + 0 + + + + + Haven/Void/void, edge + + + world/tileset/outershell/voiders.dat + + Model + edge_tall + + + 0 + + + + Haven/Void/void, edge (short) + + + world/tileset/outershell/voiders.dat + + Model + edge short + + + 0 + + + + Haven/Void/void, in Back + + + world/tileset/outershell/voiders.dat + + Model + in + + + 0 + + + + Haven/Void/void, in Left + + + world/tileset/outershell/voiders.dat + + Model + in tall-short l + + + 0 + + + + Haven/Void/void, in Right + + + world/tileset/outershell/voiders.dat + + Model + in tall-short r + + + 0 + + + + Haven/Void/void, out + + + world/tileset/outershell/voiders.dat + + Model + out + + + 0 + + + + Haven/Wall, Haven/Building back x1, 01 + + + world/tileset/outershell/wallhaven.dat + + Model + back_1unit_01 + + + 0 + + + + Haven/Wall, Haven/Building back x2, 01 + + 2 + + world/tileset/outershell/wallhaven.dat + + Model + back_2unit_01 + + + 0 + + + + Haven/Wall, Haven/Building back x2, 02 + + 2 + + world/tileset/outershell/wallhaven.dat + + Model + back_2unit_02 + + + 0 + + + + Haven/Wall, Haven/Building back x2, 03 + + 2 + + world/tileset/outershell/wallhaven.dat + + Model + back_2unit_02 + + + 0 + + + + Haven/Wall, Haven/Doorway 01 + + 2 + + world/tileset/outershell/wallhaven.dat + + Model + doorway01 + + + 0 + + + + Haven/Wall, Haven/Orange/Corner In 01, Orange + + + world/tileset/outershell/wallhaven_orange.dat + + Model + turquoise_corner_In + + + + 0 + + 0 + + + + Haven/Wall, Haven/Orange/Corner Out 01, Orange + + + world/tileset/outershell/wallhaven_orange.dat + + Model + turquoise_corner_Out + + + 0 + + + + Haven/Wall, Haven/Orange/x1 blank 01, Orange + + + world/tileset/outershell/wallhaven_orange.dat + + Model + turquoise_1unit_01 + + + 0 + + + + Haven/Wall, Haven/Orange/x1 blank 02, Orange + + + world/tileset/outershell/wallhaven_orange.dat + + Model + turquoise_1unit_02 + + + 0 + + + + Haven/Wall, Haven/Orange/x1 blank 03, Orange + + + world/tileset/outershell/wallhaven_orange.dat + + Model + turquoise_1unit_03 + + + 0 + + + + Haven/Wall, Haven/Orange/x1 blank 04, Orange + + + world/tileset/outershell/wallhaven_orange.dat + + Model + turquoise_1unit_04 + + + 0 + + + + Haven/Wall, Haven/Orange/x1 blank 05, Orange + + + world/tileset/outershell/wallhaven_orange.dat + + Model + turquoise_1unit_05 + + + 0 + + + + Haven/Wall, Haven/Orange/x1 blank 06, Orange + + + world/tileset/outershell/wallhaven_orange.dat + + Model + turquoise_1unit_06 + + + 0 + + + + Haven/Wall, Haven/Orange/x1 blank 07, Orange + + + world/tileset/outershell/wallhaven_orange.dat + + Model + turquoise_1unit_07 + + + 0 + + + + Haven/Wall, Haven/Orange/x1 blank 08, Orange + + + world/tileset/outershell/wallhaven_orange.dat + + Model + turquoise_1unit_08 + + + 0 + + + + Haven/Wall, Haven/Orange/x2 blank 01, Orange + + 2 + + world/tileset/outershell/wallhaven_orange.dat + + Model + turquoise_2unit_01 + + + + 1, 1 + + 0 + + + + Haven/Wall, Haven/Orange/x2 uneven 01, Orange + + 2 + + world/tileset/outershell/wallhaven_orange.dat + + Model + turquoise_2unit_02 + + + + 1, 1 + + 0 + + + + Haven/Wall, Haven/Roof 01 + + + world/tileset/outershell/wallhaven.dat + + Model + roof_01 + + + + 0 + + + + + Haven/Wall, Haven/Roof 02 + + + world/tileset/outershell/wallhaven.dat + + Model + roof_02 + + + + 0 + + + + + Haven/Wall, Haven/Roof 03 + + + world/tileset/outershell/wallhaven.dat + + Model + roof_03 + + + + 0 + + + + + Haven/Wall, Haven/Roof 04 + + + world/tileset/outershell/wallhaven.dat + + Model + roof_04 + + + + 0 + + + + + Haven/Wall, Haven/Roof 05 + + + world/tileset/outershell/wallhaven.dat + + Model + roof_05 + + + + 0 + + + + + Haven/Wall, Haven/Roof 06 + + + world/tileset/outershell/wallhaven.dat + + Model + roof_06 + + + + 0 + + + + + Haven/Wall, Haven/Turquoise/Corner In 01, Turquoise + + + world/tileset/outershell/wallhaven_turquoise.dat + + Model + turquoise_corner_In + + + + 0 + + 0 + + + + Haven/Wall, Haven/Turquoise/Corner Out 01, Turquoise + + + world/tileset/outershell/wallhaven_turquoise.dat + + Model + turquoise_corner_Out + + + 0 + + + + Haven/Wall, Haven/Turquoise/x1 blank 01, Turquoise + + + world/tileset/outershell/wallhaven_turquoise.dat + + Model + turquoise_1unit_01 + + + 0 + + + + Haven/Wall, Haven/Turquoise/x1 blank 02, Turquoise + + + world/tileset/outershell/wallhaven_turquoise.dat + + Model + turquoise_1unit_02 + + + 0 + + + + Haven/Wall, Haven/Turquoise/x1 blank 03, Turquoise + + + world/tileset/outershell/wallhaven_turquoise.dat + + Model + turquoise_1unit_03 + + + 0 + + + + Haven/Wall, Haven/Turquoise/x1 blank 04, Turquoise + + + world/tileset/outershell/wallhaven_turquoise.dat + + Model + turquoise_1unit_04 + + + 0 + + + + Haven/Wall, Haven/Turquoise/x1 blank 05, Turquoise + + + world/tileset/outershell/wallhaven_turquoise.dat + + Model + turquoise_1unit_05 + + + 0 + + + + Haven/Wall, Haven/Turquoise/x1 blank 06, Turquoise + + + world/tileset/outershell/wallhaven_turquoise.dat + + Model + turquoise_1unit_06 + + + 0 + + + + Haven/Wall, Haven/Turquoise/x1 blank 07, Turquoise + + + world/tileset/outershell/wallhaven_turquoise.dat + + Model + turquoise_1unit_07 + + + 0 + + + + Haven/Wall, Haven/Turquoise/x1 blank 08, Turquoise + + + world/tileset/outershell/wallhaven_turquoise.dat + + Model + turquoise_1unit_08 + + + 0 + + + + Haven/Wall, Haven/Turquoise/x2 blank 01, Turquoise + + 2 + + world/tileset/outershell/wallhaven_turquoise.dat + + Model + turquoise_2unit_01 + + + + 1, 1 + + 0 + + + + Haven/Wall, Haven/Turquoise/x2 uneven 01, Turquoise + + 2 + + world/tileset/outershell/wallhaven_turquoise.dat + + Model + turquoise_2unit_02 + + + + 1, 1 + + 0 + + + + Haven/Wall, Haven/Two-story/Back x1, 01 + + + world/tileset/outershell/wallhaven.dat + + Model + twostory_back_01 + + + 0 + + + + Haven/Wall, Haven/Two-story/Back x2, 01 + + 2 + + world/tileset/outershell/wallhaven.dat + + Model + twostory_back_x2_01 + + + 0 + + + + Haven/Wall, Haven/Two-story/Roof 01 + + + world/tileset/outershell/wallhaven.dat + + Model + twostory_roof_01 + + + + 0 + + + + + Haven/Wall, Haven/Two-story/Roof 02 + + + world/tileset/outershell/wallhaven.dat + + Model + twostory_roof_02 + + + + 0 + + + + + Haven/Wall, Haven/Two-story/Roof 03 + + + world/tileset/outershell/wallhaven.dat + + Model + twostory_roof_03 + + + + 0 + + + + + Haven/Wall, Haven/Two-story/Roof 04 + + + world/tileset/outershell/wallhaven.dat + + Model + twostory_roof_04 + + + + 0 + + + + + Haven/Wall, Haven/Two-story/Roof 05 + + + world/tileset/outershell/wallhaven.dat + + Model + twostory_roof_05 + + + + 0 + + + + + Haven/Wall, Haven/Two-story/Roof 06 + + + world/tileset/outershell/wallhaven.dat + + Model + twostory_roof_06 + + + + 0 + + + + + Haven/Wall, Haven/Two-story/Wall In, 01 + + + world/tileset/outershell/wallhaven.dat + + Model + twostory_corner_In + + + + 0 + + + + + Haven/Wall, Haven/Two-story/Wall Out, blank 01 + + + world/tileset/outershell/wallhaven.dat + + Model + twostory_Out_blank01 + + + 0 + + + + Haven/Wall, Haven/Two-story/Wall Out, panel 01 + + + world/tileset/outershell/wallhaven.dat + + Model + twostory_Out_panel01 + + + 0 + + + + Haven/Wall, Haven/Two-story/Wall Out, panel 02 + + + world/tileset/outershell/wallhaven.dat + + Model + twostory_Out_panel02 + + + 0 + + + + Haven/Wall, Haven/Two-story/Wall S, x1 blank 01 + + + world/tileset/outershell/wallhaven.dat + + Model + twostory_blank01 + + + 0 + + + + Haven/Wall, Haven/Two-story/Wall S, x1 panel 01 + + + world/tileset/outershell/wallhaven.dat + + Model + twostory_panel01 + + + 0 + + + + Haven/Wall, Haven/Two-story/Wall S, x1 panel 02 + + + world/tileset/outershell/wallhaven.dat + + Model + twostory_panel02 + + + 0 + + + + Haven/Wall, Haven/Two-story/Wall S, x1 panel 03 + + + world/tileset/outershell/wallhaven.dat + + Model + twostory_panel03 + + + 0 + + + + Haven/Wall, Haven/Two-story/Wall S, x1 panel 04 + + + world/tileset/outershell/wallhaven.dat + + Model + twostory_panel04 + + + 0 + + + + Haven/Wall, Haven/Two-story/Wall S, x1 window 01 + + + world/tileset/outershell/wallhaven.dat + + Model + twostory_window01 + + + 0 + + + + Haven/Wall, broken/Busted x2, horiz 01 + + 2 + + world/tileset/outershell/wallbroken.dat + + Model + broken_horiz_x2_02 + + + 0 + + + + Haven/Wall, broken/Busted x2, horiz 02 + + 2 + + world/tileset/outershell/wallbroken.dat + + Model + broken_horiz_x2_03 + + + 0 + + + + Haven/Wall, broken/Busted x2, verti 01 + + 2 + + world/tileset/outershell/wallbroken.dat + + Model + broken_vert_x2_02 + + + 0 + + + + Haven/Wall, broken/Busted x2, verti 02 + + 2 + + world/tileset/outershell/wallbroken.dat + + Model + broken_vert_x2_03 + + + 0 + + + + Haven/Wall, broken/Busted x3, horiz 01 + + 3 + + world/tileset/outershell/wallbroken.dat + + Model + broken_horiz_x3_01 + + + + 1, 1, 1 + + 0 + + + + Haven/Wall, broken/Column + + + world/tileset/outershell/wallbroken.dat + + Model + broken_column + + + 0 + + + + Haven/Wall, broken/Doorway, horiz + + 3 + + world/tileset/outershell/wallbroken.dat + + Model + broken_horiz_doorway + + + + 1, 0, 1 + + + + + Haven/Wall, broken/Doorway, verti + + 3 + + world/tileset/outershell/wallbroken.dat + + Model + broken_vert_doorway + + + + 1 + 0 + 1 + + + + + Haven/Wall, broken/End, busted x3 east + + 3 + + world/tileset/outershell/wallbroken.dat + + Model + end_x3_E01 + + + + 1, 1, 2 + + 0 + + + + Haven/Wall, broken/End, busted x3 west + + 3 + + world/tileset/outershell/wallbroken.dat + + Model + end_x3_W01 + + + + 2, 1, 1 + + 0 + + + + Haven/Wall, broken/End, flat East + + + world/tileset/outershell/wallbroken.dat + + Model + end_E01 + + + 0 + + + + Haven/Wall, broken/End, flat North + + + world/tileset/outershell/wallbroken.dat + + Model + end_N01 + + + 0 + + + + Haven/Wall, broken/End, flat South + + + world/tileset/outershell/wallbroken.dat + + Model + end_S01 + + + 0 + + + + Haven/Wall, broken/End, flat West + + + world/tileset/outershell/wallbroken.dat + + Model + end_W01 + + + 0 + + + + Haven/Wall, broken/Flat x1, horiz 01 + + + world/tileset/outershell/wallbroken.dat + + Model + broken_horiz_01 + + + 0 + + + + Haven/Wall, broken/Flat x1, horiz 02 + + + world/tileset/outershell/wallbroken.dat + + Model + broken_horiz_02 + + + 0 + + + + Haven/Wall, broken/Flat x1, horiz 03 + + + world/tileset/outershell/wallbroken.dat + + Model + broken_horiz_03 + + + 0 + + + + Haven/Wall, broken/Flat x1, horiz 04 + + + world/tileset/outershell/wallbroken.dat + + Model + broken_horiz_04 + + + 0 + + + + Haven/Wall, broken/Flat x1, verti 01 + + + world/tileset/outershell/wallbroken.dat + + Model + broken_vert_01 + + + 0 + + + + Haven/Wall, broken/Flat x2, horiz 01 + + 2 + + world/tileset/outershell/wallbroken.dat + + Model + broken_horiz_x2_01 + + + 0 + + + + Haven/Wall, broken/Flat x2, horiz 02 + + 2 + + world/tileset/outershell/wallbroken.dat + + Model + broken_horiz_x2_03 + + + 0 + + + + Haven/Wall, broken/Flat x2, verti 01 + + 2 + + world/tileset/outershell/wallbroken.dat + + Model + broken_vert_x2_01 + + + 0 + + + + Haven/Wall, broken/Flat x2, verti 02 + + 2 + + world/tileset/outershell/wallbroken.dat + + Model + broken_vert_x2_02 + + + 0 + + + + Haven/Wall, broken/Low/Busted x2, horiz 01 + + 2 + + world/tileset/outershell/wallbroken.dat + + Model + low_horiz_x2_01 + + + + 2 + + 0 + + + + Haven/Wall, broken/Low/Busted x2, horiz 02 + + 2 + + world/tileset/outershell/wallbroken.dat + + Model + low_horiz_x2_02 + + + + 2 + + 0 + + + + Haven/Wall, broken/Low/Busted x2, verti 01 + + 2 + + world/tileset/outershell/wallbroken.dat + + Model + low_verti_x2_01 + + + + 2 + + 0 + + + + Haven/Wall, broken/Low/Column + + + world/tileset/outershell/wallbroken.dat + + Model + low_column + + + + 2 + + 0 + + + + Haven/Wall, broken/Low/End, flat East + + + world/tileset/outershell/wallbroken.dat + + Model + low_end_E01 + + + + 2 + + 0 + + + + Haven/Wall, broken/Low/End, flat North + + + world/tileset/outershell/wallbroken.dat + + Model + low_end_N01 + + + + 2 + + 0 + + + + Haven/Wall, broken/Low/End, flat South + + + world/tileset/outershell/wallbroken.dat + + Model + low_end_S01 + + + + 2 + + 0 + + + + Haven/Wall, broken/Low/End, flat West + + + world/tileset/outershell/wallbroken.dat + + Model + low_end_W01 + + + + 2 + + 0 + + + + Haven/Wall, broken/Low/Flat x1, horiz 01 + + + world/tileset/outershell/wallbroken.dat + + Model + low_horiz_01 + + + + 2 + + 0 + + + + Haven/Wall, broken/Low/Flat x1, horiz 02 + + + world/tileset/outershell/wallbroken.dat + + Model + low_horiz_02 + + + + 2 + + 0 + + + + Haven/Wall, broken/Low/Flat x1, verti 01 + + + world/tileset/outershell/wallbroken.dat + + Model + low_verti_01 + + + + 2 + + 0 + + + + Haven/Wall, broken/Low/Flat x1, verti 02 + + + world/tileset/outershell/wallbroken.dat + + Model + low_verti_02 + + + + 2 + + 0 + + + + Moorcroft/Arch 04, brazier + + + world/tileset/castle_base/wall/torches_1unit.dat + + Torch color + purple + + + 0 + + + + Moorcroft/Arch Three-unit 04, brazier + + 3 + + world/tileset/castle_base/wall/torches_3unit.dat + + Color + purple + + + + 1, 1, 1 + + 0 + + + + Null + + + 000_Dev/Null Tiles/Null - walkable 01x01 + + + + + Null, no-walk + + + 000_Dev/Null Tiles/Null - no-walk 01x01 + + + + + Null, no-walk no-shoot + + + 000_Dev/Null Tiles/Null - no-walk no-shoot 01x01 + + + + + Oldtown/Cliff/cliff_01 + + + world/tileset/haven/models.dat + + model + cliff_01 + + + + + + Oldtown/Cliff/cliff_02 + + + world/tileset/haven/models.dat + + model + cliff_02 + + + + + + Oldtown/Cliff/cliff_03 + + + world/tileset/haven/models.dat + + model + cliff_03 + + + + + + Oldtown/Cliff/cliff_04 + + + world/tileset/haven/models.dat + + model + cliff_04 + + + + + + Oldtown/Cliff/cliff_elbow_in_01 + + + world/tileset/haven/models.dat + + model + cliff_elbow_in_01 + + + + + + Oldtown/Cliff/cliff_elbow_out_01 + + + world/tileset/haven/models.dat + + model + cliff_elbow_out_01 + + + + + + Oldtown/Cliff/cliff_stairs_left_01 + + + world/tileset/haven/models.dat + + model + cliff_stairs_left_01 + + + + + + Oldtown/Cliff/cliff_stairs_left_02 + + + world/tileset/haven/models.dat + + model + cliff_stairs_left_02 + + + + + + Oldtown/Cliff/cliff_stairs_right_01 + + + world/tileset/haven/models.dat + + model + cliff_stairs_right_01 + + + + + + Oldtown/Cliff/cliff_stairs_right_02 + + + world/tileset/haven/models.dat + + model + cliff_stairs_right_02 + + + + + + Oldtown/Dummy/dummy + + + world/tileset/haven/models.dat + + model + floor_dummy + + + + 0 + + + + + Oldtown/Floor Base/floor_base_01 + + + world/tileset/haven/models.dat + + model + floor_base_01 + + + + 0 + + + + + Oldtown/Floor Base/floor_base_02 + + + world/tileset/haven/models.dat + + model + floor_base_02 + + + + 0 + + + + + Oldtown/Floor Base/floor_base_03 + + + world/tileset/haven/models.dat + + model + floor_base_03 + + + + 0 + + + + + Oldtown/Floor Base/floor_base_04 + + + world/tileset/haven/models.dat + + model + floor_base_04 + + + + 0 + + + + + Oldtown/Floor Base/floor_base_05 + + + world/tileset/haven/models.dat + + model + floor_base_05 + + + + 0 + + + + + Oldtown/Floor Base/floor_stair_01 + + + world/tileset/haven/models.dat + + model + floor_stair_01 + + + + 0 + + + + + Oldtown/Floor Base/floor_stair_02 + + + world/tileset/haven/models.dat + + model + floor_stair_02 + + + + 0 + + + + + Oldtown/Floor Flowers/floor_flower_elbow_in_ne + + + world/tileset/haven/models.dat + + model + floor_flower_elbow_in_ne + + + + 0 + + + + + Oldtown/Floor Flowers/floor_flower_elbow_in_nw + + + world/tileset/haven/models.dat + + model + floor_flower_elbow_in_nw + + + + 0 + + + + + Oldtown/Floor Flowers/floor_flower_elbow_in_se + + + world/tileset/haven/models.dat + + model + floor_flower_elbow_in_se + + + + 0 + + + + + Oldtown/Floor Flowers/floor_flower_elbow_in_sw + + + world/tileset/haven/models.dat + + model + floor_flower_elbow_in_sw + + + + 0 + + + + + Oldtown/Floor Flowers/floor_flower_elbow_out_ne + + + world/tileset/haven/models.dat + + model + floor_flower_elbow_out_ne + + + + 0 + + + + + Oldtown/Floor Flowers/floor_flower_elbow_out_nw + + + world/tileset/haven/models.dat + + model + floor_flower_elbow_out_nw + + + + 0 + + + + + Oldtown/Floor Flowers/floor_flower_elbow_out_se + + + world/tileset/haven/models.dat + + model + floor_flower_elbow_out_se + + + + 0 + + + + + Oldtown/Floor Flowers/floor_flower_elbow_out_sw + + + world/tileset/haven/models.dat + + model + floor_flower_elbow_out_sw + + + + 0 + + + + + Oldtown/Floor Flowers/floor_flowers_01 + + + world/tileset/haven/models.dat + + model + floor_flowers_01 + + + + 0 + + + + + Oldtown/Floor Flowers/floor_flowers_02 + + + world/tileset/haven/models.dat + + model + floor_flowers_02 + + + + 0 + + + + + Oldtown/Floor Flowers/floor_flowers_03 + + + world/tileset/haven/models.dat + + model + floor_flowers_03 + + + + 0 + + + + + Oldtown/Floor Flowers/floor_flowers_04 + + + world/tileset/haven/models.dat + + model + floor_flowers_04 + + + + 0 + + + + + Oldtown/Floor Flowers/floor_flowers_edge_e_01 + + + world/tileset/haven/models.dat + + model + floor_flowers_edge_e_01 + + + + 0 + + + + + Oldtown/Floor Flowers/floor_flowers_edge_e_02 + + + world/tileset/haven/models.dat + + model + floor_flowers_edge_e_02 + + + + 0 + + + + + Oldtown/Floor Flowers/floor_flowers_edge_n_01 + + + world/tileset/haven/models.dat + + model + floor_flowers_edge_n_01 + + + + 0 + + + + + Oldtown/Floor Flowers/floor_flowers_edge_n_02 + + + world/tileset/haven/models.dat + + model + floor_flowers_edge_n_02 + + + + 0 + + + + + Oldtown/Floor Flowers/floor_flowers_edge_s_01 + + + world/tileset/haven/models.dat + + model + floor_flowers_edge_s_01 + + + + 0 + + + + + Oldtown/Floor Flowers/floor_flowers_edge_s_02 + + + world/tileset/haven/models.dat + + model + floor_flowers_edge_s_02 + + + + 0 + + + + + Oldtown/Floor Flowers/floor_flowers_edge_w_01 + + + world/tileset/haven/models.dat + + model + floor_flowers_edge_w_01 + + + + 0 + + + + + Oldtown/Floor Flowers/floor_flowers_edge_w_02 + + + world/tileset/haven/models.dat + + model + floor_flowers_edge_w_02 + + + + 0 + + + + + Oldtown/Floor Grass/floor_grass_01 + + + world/tileset/haven/models.dat + + model + floor_grass_01 + + + + 0 + + + + + Oldtown/Floor Grass/floor_grass_02 + + + world/tileset/haven/models.dat + + model + floor_grass_02 + + + + 0 + + + + + Oldtown/Floor Grass/floor_grass_03 + + + world/tileset/haven/models.dat + + model + floor_grass_03 + + + + 0 + + + + + Oldtown/Floor Grass/floor_grass_04 + + + world/tileset/haven/models.dat + + model + floor_grass_04 + + + + 0 + + + + + Oldtown/Floor Grass/floor_grass_edge_e_01 + + + world/tileset/haven/models.dat + + model + floor_grass_edge_e_01 + + + + 0 + + + + + Oldtown/Floor Grass/floor_grass_edge_e_02 + + + world/tileset/haven/models.dat + + model + floor_grass_edge_e_02 + + + + 0 + + + + + Oldtown/Floor Grass/floor_grass_edge_n_01 + + + world/tileset/haven/models.dat + + model + floor_grass_edge_n_01 + + + + 0 + + + + + Oldtown/Floor Grass/floor_grass_edge_n_02 + + + world/tileset/haven/models.dat + + model + floor_grass_edge_n_02 + + + + 0 + + + + + Oldtown/Floor Grass/floor_grass_edge_s_01 + + + world/tileset/haven/models.dat + + model + floor_grass_edge_s_01 + + + + 0 + + + + + Oldtown/Floor Grass/floor_grass_edge_s_02 + + + world/tileset/haven/models.dat + + model + floor_grass_edge_s_02 + + + + 0 + + + + + Oldtown/Floor Grass/floor_grass_edge_w_01 + + + world/tileset/haven/models.dat + + model + floor_grass_edge_w_01 + + + + 0 + + + + + Oldtown/Floor Grass/floor_grass_edge_w_02 + + + world/tileset/haven/models.dat + + model + floor_grass_edge_w_02 + + + + 0 + + + + + Oldtown/Floor Grass/floor_grass_elbow_in_ne + + + world/tileset/haven/models.dat + + model + floor_grass_elbow_in_ne + + + + 0 + + + + + Oldtown/Floor Grass/floor_grass_elbow_in_nw + + + world/tileset/haven/models.dat + + model + floor_grass_elbow_in_nw + + + + 0 + + + + + Oldtown/Floor Grass/floor_grass_elbow_in_se + + + world/tileset/haven/models.dat + + model + floor_grass_elbow_in_se + + + + 0 + + + + + Oldtown/Floor Grass/floor_grass_elbow_in_sw + + + world/tileset/haven/models.dat + + model + floor_grass_elbow_in_sw + + + + 0 + + + + + Oldtown/Floor Grass/floor_grass_elbow_out_ne + + + world/tileset/haven/models.dat + + model + floor_grass_elbow_out_ne + + + + 0 + + + + + Oldtown/Floor Grass/floor_grass_elbow_out_nw + + + world/tileset/haven/models.dat + + model + floor_grass_elbow_out_nw + + + + 0 + + + + + Oldtown/Floor Grass/floor_grass_elbow_out_se + + + world/tileset/haven/models.dat + + model + floor_grass_elbow_out_se + + + + 0 + + + + + Oldtown/Floor Grass/floor_grass_elbow_out_sw + + + world/tileset/haven/models.dat + + model + floor_grass_elbow_out_sw + + + + 0 + + + + + Oldtown/Floor Gravel/floor_gravel_01 + + + world/tileset/haven/models.dat + + model + floor_gravel_01 + + + + 0 + + + + + Oldtown/Floor Gravel/floor_gravel_02 + + + world/tileset/haven/models.dat + + model + floor_gravel_02 + + + + 0 + + + + + Oldtown/Floor Gravel/floor_gravel_03 + + + world/tileset/haven/models.dat + + model + floor_gravel_03 + + + + 0 + + + + + Oldtown/Floor Gravel/floor_gravel_04 + + + world/tileset/haven/models.dat + + model + floor_gravel_04 + + + + 0 + + + + + Oldtown/Floor Gravel/floor_gravel_05 + + + world/tileset/haven/models.dat + + model + floor_gravel_05 + + + + 0 + + + + + Oldtown/Floor Gravel/floor_gravel_edge_e + + + world/tileset/haven/models.dat + + model + floor_gravel_edge_e + + + + 0 + + + + + Oldtown/Floor Gravel/floor_gravel_edge_n + + + world/tileset/haven/models.dat + + model + floor_gravel_edge_n + + + + 0 + + + + + Oldtown/Floor Gravel/floor_gravel_edge_s + + + world/tileset/haven/models.dat + + model + floor_gravel_edge_s + + + + 0 + + + + + Oldtown/Floor Gravel/floor_gravel_edge_w + + + world/tileset/haven/models.dat + + model + floor_gravel_edge_w + + + + 0 + + + + + Oldtown/Floor Gravel/floor_gravel_elbow_in_ne + + + world/tileset/haven/models.dat + + model + floor_gravel_elbow_in_ne + + + + 0 + + + + + Oldtown/Floor Gravel/floor_gravel_elbow_in_nw + + + world/tileset/haven/models.dat + + model + floor_gravel_elbow_in_nw + + + + 0 + + + + + Oldtown/Floor Gravel/floor_gravel_elbow_in_se + + + world/tileset/haven/models.dat + + model + floor_gravel_elbow_in_se + + + + 0 + + + + + Oldtown/Floor Gravel/floor_gravel_elbow_in_sw + + + world/tileset/haven/models.dat + + model + floor_gravel_elbow_in_sw + + + + 0 + + + + + Oldtown/Floor Gravel/floor_gravel_elbow_out_ne + + + world/tileset/haven/models.dat + + model + floor_gravel_elbow_out_ne + + + + 0 + + + + + Oldtown/Floor Gravel/floor_gravel_elbow_out_nw + + + world/tileset/haven/models.dat + + model + floor_gravel_elbow_out_nw + + + + 0 + + + + + Oldtown/Floor Gravel/floor_gravel_elbow_out_se + + + world/tileset/haven/models.dat + + model + floor_gravel_elbow_out_se + + + + 0 + + + + + Oldtown/Floor Gravel/floor_gravel_elbow_out_sw + + + world/tileset/haven/models.dat + + model + floor_gravel_elbow_out_sw + + + + 0 + + + + + Oldtown/Floor Path/floor_path_01 + + + world/tileset/haven/models.dat + + model + floor_path_01 + + + + 0 + + + + + Oldtown/Floor Path/floor_path_02 + + + world/tileset/haven/models.dat + + model + floor_path_02 + + + + 0 + + + + + Oldtown/Floor Path/floor_path_03 + + + world/tileset/haven/models.dat + + model + floor_path_03 + + + + 0 + + + + + Oldtown/Floor Path/floor_path_04 + + + world/tileset/haven/models.dat + + model + floor_path_04 + + + + 0 + + + + + Oldtown/Floor Path/floor_path_edge_e_01 + + + world/tileset/haven/models.dat + + model + floor_path_edge_e_01 + + + + 0 + + + + + Oldtown/Floor Path/floor_path_edge_e_02 + + + world/tileset/haven/models.dat + + model + floor_path_edge_e_02 + + + + 0 + + + + + Oldtown/Floor Path/floor_path_edge_n_01 + + + world/tileset/haven/models.dat + + model + floor_path_edge_n_01 + + + + 0 + + + + + Oldtown/Floor Path/floor_path_edge_n_02 + + + world/tileset/haven/models.dat + + model + floor_path_edge_n_02 + + + + 0 + + + + + Oldtown/Floor Path/floor_path_edge_s_01 + + + world/tileset/haven/models.dat + + model + floor_path_edge_s_01 + + + + 0 + + + + + Oldtown/Floor Path/floor_path_edge_s_02 + + + world/tileset/haven/models.dat + + model + floor_path_edge_s_02 + + + + 0 + + + + + Oldtown/Floor Path/floor_path_edge_w_01 + + + world/tileset/haven/models.dat + + model + floor_path_edge_w_01 + + + + 0 + + + + + Oldtown/Floor Path/floor_path_edge_w_02 + + + world/tileset/haven/models.dat + + model + floor_path_edge_w_02 + + + + 0 + + + + + Oldtown/Floor Path/floor_path_elbow_in_ne + + + world/tileset/haven/models.dat + + model + floor_path_elbow_in_ne + + + + 0 + + + + + Oldtown/Floor Path/floor_path_elbow_in_nw + + + world/tileset/haven/models.dat + + model + floor_path_elbow_in_nw + + + + 0 + + + + + Oldtown/Floor Path/floor_path_elbow_in_se + + + world/tileset/haven/models.dat + + model + floor_path_elbow_in_se + + + + 0 + + + + + Oldtown/Floor Path/floor_path_elbow_in_sw + + + world/tileset/haven/models.dat + + model + floor_path_elbow_in_sw + + + + 0 + + + + + Oldtown/Floor Path/floor_path_elbow_out_ne + + + world/tileset/haven/models.dat + + model + floor_path_elbow_out_ne + + + + 0 + + + + + Oldtown/Floor Path/floor_path_elbow_out_nw + + + world/tileset/haven/models.dat + + model + floor_path_elbow_out_nw + + + + 0 + + + + + Oldtown/Floor Path/floor_path_elbow_out_se + + + world/tileset/haven/models.dat + + model + floor_path_elbow_out_se + + + + 0 + + + + + Oldtown/Floor Path/floor_path_elbow_out_sw + + + world/tileset/haven/models.dat + + model + floor_path_elbow_out_sw + + + + 0 + + + + + Oldtown/Wall/wall_01 + + + world/tileset/haven/models.dat + + model + wall_01 + + + + + + Oldtown/Wall/wall_02 + + + world/tileset/haven/models.dat + + model + wall_02 + + + + + + Oldtown/Wall/wall_03 + + + world/tileset/haven/models.dat + + model + wall_03 + + + + + + Oldtown/Wall/wall_04 + + + world/tileset/haven/models.dat + + model + wall_04 + + + + + + Oldtown/Wall/wall_elbow_in_01 + + + world/tileset/haven/models.dat + + model + wall_elbow_in_01 + + + + + + Oldtown/Wall/wall_elbow_out_01 + + + world/tileset/haven/models.dat + + model + wall_elbow_out_01 + + + + + + Sky Islands, Day/Edge/Edge, In 01 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_elb0 + + + + 2 + + 0 + + + + Sky Islands, Day/Edge/Edge, In 02 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_elb2 + + + + 2 + + 0 + + + + Sky Islands, Day/Edge/Edge, Out 01 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_elbo + + + + 2 + + 0 + + + + Sky Islands, Day/Edge/Edge, Out 02 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_elbo2 + + + + 2 + + 0 + + + + Sky Islands, Day/Edge/Edge, cliff 01 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_01 + + + + 2 + + 0 + + + + Sky Islands, Day/Edge/Edge, cliff 02 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_02 + + + + 2 + + 0 + + + + Sky Islands, Day/Edge/Edge, cliff 03 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_03 + + + + 2 + + 0 + + + + Sky Islands, Day/Edge/Edge, cliff 04 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_04 + + + + 2 + + 0 + + + + Sky Islands, Day/Edge/Edge, cliff 05 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_05 + + + + 2 + + 0 + + + + Sky Islands, Day/Edge/Edge, cliff 06 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_06 + + + + 2 + + 0 + + + + Sky Islands, Day/Edge/Edge, cliff 07 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_07 + + + + 2 + + 0 + + + + Sky Islands, Day/Edge/Edge, cliff 08 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_08 + + + + 2 + + 0 + + + + Sky Islands, Day/Floor/Base/Base + + + world/tileset/sky islands day/tileset.dat + + Model + floor_bas0 + Variant + Day + + + + + + + + + + Sky Islands, Day/Floor/Base/Base 01 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_base + Variant + Day + + + + + + + + + + Sky Islands, Day/Floor/Base/Base 02 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_bas1 + Variant + Day + + + + + + + + + + Sky Islands, Day/Floor/Base/Base 03 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_bas2 + Variant + Day + + + + + + + + + + Sky Islands, Day/Floor/Base/Base 04 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_bas3 + Variant + Day + + + + + + + + + + Sky Islands, Day/Floor/Base/Base 05 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_bas4 + Variant + Day + + + + + + + + + + Sky Islands, Day/Floor/Base/Base 06 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_bas5 + Variant + Day + + + + + + + + + + Sky Islands, Day/Floor/Block tile + + + world/tileset/sky islands day/tileset.dat + + Model + block_tile + + + + + + + + Sky Islands, Day/Floor/Flowers/Flowers 01 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_flo0 + Variant + Day + + + + + + + + + + Sky Islands, Day/Floor/Flowers/Flowers 02 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_flo1 + Variant + Day + + + + + + + + + + Sky Islands, Day/Floor/Flowers/Flowers 03 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_flo2 + Variant + Day + + + + + + + + + + Sky Islands, Day/Floor/Flowers/Flowers 04 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_flo3 + Variant + Day + + + + + + + + + + Sky Islands, Day/Floor/Flowers/Flowers 05 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_flo4 + Variant + Day + + + + + + + + + + Sky Islands, Day/Floor/Flowers/Flowers 06 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_flo5 + Variant + Day + + + + + + + + + + Sky Islands, Day/Floor/Flowers/Flowers 07 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_flo6 + + + + + + + + + + Sky Islands, Day/Floor/Flowers/Flowers 08 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_flo7 + + + + + + + + + + Sky Islands, Day/Floor/Flowers/Flowers 09 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_flo8 + Variant + Day + + + + + + + + + + Sky Islands, Day/Floor/Flowers/Flowers 10 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_flo9 + + + + + + + + + + Sky Islands, Day/Floor/Flowers/Flowers 11 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_fl10 + + + + + + + + + + Sky Islands, Day/Floor/Flowers/Flowers 12 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_flow + Variant + Day + + + + + + + + + + Sky Islands, Day/Floor/Grass, no-walk/Grass 01 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_nowalk01 + + + + + + + + + + Sky Islands, Day/Floor/Grass, no-walk/Grass 02 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_nowalk02 + + + + + + + + + + Sky Islands, Day/Floor/Grass, no-walk/Grass 03 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_nowalk03 + + + + + + + + + + Sky Islands, Day/Floor/Grass, no-walk/Grass 04 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_nowalk04 + + + + + + + + + + Sky Islands, Day/Floor/Grass, no-walk/Grass 05 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_nowalk05 + + + + + + + + + + Sky Islands, Day/Floor/Grass, no-walk/Grass 06 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_nowalk06 + + + + + + + + + + Sky Islands, Day/Floor/Grass, no-walk/Grass 07 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_nowalk07 + + + + + + + + + + Sky Islands, Day/Floor/Grass, no-walk/Grass 08 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_nowalk08 + + + + + + + + + + Sky Islands, Day/Floor/Grass/Grass 01 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_gras + Variant + Day + + + + + + + + + + Sky Islands, Day/Floor/Grass/Grass 02 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_gra3 + Variant + Day + + + + + + + + + + Sky Islands, Day/Floor/Grass/Grass 03 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_gra4 + + + + + + + + + + Sky Islands, Day/Floor/Grass/Grass 04 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_gra5 + Variant + Day + + + + + + + + + + Sky Islands, Day/Floor/Grass/Grass 05 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_gra6 + + + + + + + + + + Sky Islands, Day/Floor/Grass/Grass 06 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_gra7 + Variant + Day + + + + + + + + + + Sky Islands, Day/Floor/Grass/Grass 07 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_gra8 + + + + + + + + + + Sky Islands, Day/Floor/Path/Edge E 01 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pa12 + + + + + + + + + + Sky Islands, Day/Floor/Path/Edge E 02 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pa11 + + + + + + + + + + Sky Islands, Day/Floor/Path/Edge In NE + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pat5 + + + + + + + + + + Sky Islands, Day/Floor/Path/Edge In NW + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pat8 + + + + + + + + + + Sky Islands, Day/Floor/Path/Edge In SE + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pat6 + + + + + + + + + + Sky Islands, Day/Floor/Path/Edge In SW + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pat7 + + + + + + + + + + Sky Islands, Day/Floor/Path/Edge N 01 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pa17 + + + + + + + + + + Sky Islands, Day/Floor/Path/Edge N 02 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pa18 + + + + + + + + + + Sky Islands, Day/Floor/Path/Edge Out NE + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pa15 + + + + + + + + + + Sky Islands, Day/Floor/Path/Edge Out NW + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pa16 + + + + + + + + + + Sky Islands, Day/Floor/Path/Edge Out SE + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pa10 + + + + + + + + + + Sky Islands, Day/Floor/Path/Edge Out SW + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pat4 + + + + + + + + + + Sky Islands, Day/Floor/Path/Edge S 01 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pat3 + + + + + + + + + + Sky Islands, Day/Floor/Path/Edge S 02 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pat9 + + + + + + + + + + Sky Islands, Day/Floor/Path/Edge W 01 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pa13 + + + + + + + + + + Sky Islands, Day/Floor/Path/Edge W 02 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pa14 + + + + + + + + + + Sky Islands, Day/Floor/Path/Path 01 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_path + + + + + + + + + + Sky Islands, Day/Floor/Path/Path 02 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pat0 + + + + + + + + + + Sky Islands, Day/Floor/Path/Path 03 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pat1 + + + + + + + + + + Sky Islands, Day/Floor/Path/Path 04 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pat2 + + + + + + + + + + Sky Islands, Day/Floor/Stone tiles/1unit 01 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sto3 + + + + + + + + + + Sky Islands, Day/Floor/Stone tiles/1unit 02 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sto1 + Variant + Day + + + + + + + + + + Sky Islands, Day/Floor/Stone tiles/1unit, weeds 01 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sto2 + + + + + + + + + + Sky Islands, Day/Floor/Stone tiles/1unit, weeds 02 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sto6 + + + + + + + + + + Sky Islands, Day/Floor/Stone tiles/2 stones, diagonal 01 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sto09 + + + + + + + + + + Sky Islands, Day/Floor/Stone tiles/2 stones, diagonal 02 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sto10 + + + + + + + + + + Sky Islands, Day/Floor/Stone tiles/4stones 01 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sto7 + + + + + + + + + + Sky Islands, Day/Floor/Stone tiles/4stones 02 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sto8 + + + + + + + + + + Sky Islands, Day/Floor/Stone tiles/4stones, weeds 01 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sto4 + + + + + + + + + + Sky Islands, Day/Floor/Stone tiles/4stones, weeds 02 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_ston + + + + + + + + + + Sky Islands, Day/Floor/Stone tiles/4stones, weeds 03 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sto0 + + + + + + + + + + Sky Islands, Day/Floor/Stone tiles/4stones, weeds 04 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sto5 + + + + + + + + + + Sky Islands, Day/Floor/Trim/In NE + + + world/tileset/sky islands day/tileset.dat + + Model + floor_trim + + + + 0 + + + + + Sky Islands, Day/Floor/Trim/In NW + + + world/tileset/sky islands day/tileset.dat + + Model + floor_tri4 + + + + 0 + + + + + Sky Islands, Day/Floor/Trim/In SE + + + world/tileset/sky islands day/tileset.dat + + Model + floor_tri5 + + + + 0 + + + + + Sky Islands, Day/Floor/Trim/In SW + + + world/tileset/sky islands day/tileset.dat + + Model + floor_tri6 + + + + 0 + + + + + Sky Islands, Day/Floor/Trim/Out NE + + + world/tileset/sky islands day/tileset.dat + + Model + floor_tri2 + + + + 0 + + + + + Sky Islands, Day/Floor/Trim/Out NW + + + world/tileset/sky islands day/tileset.dat + + Model + floor_tri0 + + + + 0 + + + + + Sky Islands, Day/Floor/Trim/Out SE + + + world/tileset/sky islands day/tileset.dat + + Model + floor_tri3 + + + + 0 + + + + + Sky Islands, Day/Floor/Trim/Out SW + + + world/tileset/sky islands day/tileset.dat + + Model + floor_tri1 + + + + 0 + + + + + Sky Islands, Day/Floor/Trim/Trim E + + + world/tileset/sky islands day/tileset.dat + + Model + floor_gra1 + + + + 0 + + + + + Sky Islands, Day/Floor/Trim/Trim N + + + world/tileset/sky islands day/tileset.dat + + Model + floor_gra2 + + + + 0 + + + + + Sky Islands, Day/Floor/Trim/Trim S + + + world/tileset/sky islands day/tileset.dat + + Model + floor_gra0 + + + + 0 + + + + + Sky Islands, Day/Floor/Trim/Trim W + + + world/tileset/sky islands day/tileset.dat + + Model + floor_grav + + + + 0 + + + + + Sky Islands, Day/Stairs/Edge, left 01 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_stai + + + + 2 + + 0 + + + + Sky Islands, Day/Stairs/Edge, left 02 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_sta2 + + + + 2 + + 0 + + + + Sky Islands, Day/Stairs/Edge, right 01 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_sta0 + + + + 2 + + 0 + + + + Sky Islands, Day/Stairs/Edge, right 02 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_sta1 + + + + 2 + + 0 + + + + Sky Islands, Day/Stairs/Stair 01 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_stai + + + + 0 + + + + + Sky Islands, Day/Stairs/Stair 02 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sta0 + + + + 0 + + + + + Sky Islands, Day/Stairs/Stair 03 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sta1 + + + + 0 + + + + + Sky Islands, Day/Stairs/Stair 04 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sta2 + + + + 0 + + + + + Sky Islands, Day/Stairs/Trim, left + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sta3 + + + + 0 + + + + + Sky Islands, Day/Stairs/Trim, right + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sta4 + + + + 0 + + + + + Sky Islands, Day/Wall/Cliff In 01 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_elbow + + + 0 + + + + Sky Islands, Day/Wall/Cliff In 02 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_elbow + + + 0 + + + + Sky Islands, Day/Wall/Cliff Out 01 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_elbo0 + + + 0 + + + + Sky Islands, Day/Wall/Cliff Out 02 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_elbo0 + + + 0 + + + + Sky Islands, Day/Wall/Cliff wall 01 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_01 + + + + + + Sky Islands, Day/Wall/Cliff wall 02 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_02 + + + + + + Sky Islands, Day/Wall/Cliff wall 03 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_03 + + + + + + Sky Islands, Day/Wall/Cliff wall 04 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_04 + + + + + + Sky Islands, Day/Wall/High ruin/Column + + + world/tileset/sky islands day/tileset.dat + + Model + column_01 + + + 0 + + + + Sky Islands, Day/Wall/High ruin/End, busted + + + world/tileset/sky islands day/tileset.dat + + Model + wall_thin3 + + + 0 + + + + Sky Islands, Day/Wall/High ruin/Flat 01 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_thin0 + + + 0 + + + + Sky Islands, Day/Wall/High ruin/Flat 02 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_thin1 + + + 0 + + + + Sky Islands, Day/Wall/High ruin/Flat 03 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_thin2 + + + 0 + + + + Sky Islands, Day/Wall/High ruin/Flat 04 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_thin_ + + + 0 + + + + Sky Islands, Day/Wall/Low ruin/01 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_low_2 + + + + 2 + + 0 + + + + Sky Islands, Day/Wall/Low ruin/02 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_low_3 + + + + 2 + + 0 + + + + Sky Islands, Day/Wall/Low ruin/03 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_low_0 + + + + 2 + + 0 + + + + Sky Islands, Day/Wall/Low ruin/04 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_low_4 + + + + 2 + + 0 + + + + Sky Islands, Day/Wall/Low ruin/05 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_low_1 + + + + 2 + + 0 + + + + Sky Islands, Day/Wall/Low ruin/06 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_low_5 + + + + 2 + + 0 + + + + Sky Islands, Day/Wall/Low ruin/End cap + + + world/tileset/sky islands day/tileset.dat + + Model + wall_low_e + + + + 2 + + 0 + + + + Sky Islands, Day/Wall/Null floor + + + 0 + + + + + Sky Islands, Night/Edge/Edge, In 01 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_elb0 + Variant + Night + + + + 2 + + 0 + + + + Sky Islands, Night/Edge/Edge, In 02 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_elb2 + Variant + Night + + + + 2 + + 0 + + + + Sky Islands, Night/Edge/Edge, Out 01 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_elbo + Variant + Night + + + + 2 + + 0 + + + + Sky Islands, Night/Edge/Edge, Out 02 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_elbo2 + Variant + Night + + + + 2 + + 0 + + + + Sky Islands, Night/Edge/Edge, cliff 01 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_01 + Variant + Night + + + + 2 + + 0 + + + + Sky Islands, Night/Edge/Edge, cliff 02 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_02 + Variant + Night + + + + 2 + + 0 + + + + Sky Islands, Night/Edge/Edge, cliff 03 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_03 + Variant + Night + + + + 2 + + 0 + + + + Sky Islands, Night/Edge/Edge, cliff 04 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_04 + Variant + Night + + + + 2 + + 0 + + + + Sky Islands, Night/Edge/Edge, cliff 05 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_05 + Variant + Night + + + + 2 + + 0 + + + + Sky Islands, Night/Edge/Edge, cliff 06 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_06 + Variant + Night + + + + 2 + + 0 + + + + Sky Islands, Night/Edge/Edge, cliff 07 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_07 + Variant + Night + + + + 2 + + 0 + + + + Sky Islands, Night/Edge/Edge, cliff 08 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_08 + Variant + Night + + + + 2 + + 0 + + + + Sky Islands, Night/Floor/Base/Base + + + world/tileset/sky islands day/tileset.dat + + Model + floor_bas0 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Base/Base 01 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_base + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Base/Base 02 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_bas1 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Base/Base 03 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_bas2 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Base/Base 04 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_bas3 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Base/Base 05 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_bas4 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Base/Base 06 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_bas5 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Block tile + + + world/tileset/sky islands day/tileset.dat + + Model + block_tile + Variant + Night + + + + + + + + Sky Islands, Night/Floor/Flowers/Flowers 01 + + + world/tileset/sky islands night/unique_tiles.dat + + Model + floor_flo0 + + + + + + + + + + Sky Islands, Night/Floor/Flowers/Flowers 02 + + + world/tileset/sky islands night/unique_tiles.dat + + Model + floor_flo1 + + + + + + + + + + Sky Islands, Night/Floor/Flowers/Flowers 03 + + + world/tileset/sky islands night/unique_tiles.dat + + Model + floor_flo2 + + + + + + + + + + Sky Islands, Night/Floor/Flowers/Flowers 04 + + + world/tileset/sky islands night/unique_tiles.dat + + Model + floor_flo3 + + + + + + + + + + Sky Islands, Night/Floor/Flowers/Flowers 05 + + + world/tileset/sky islands night/unique_tiles.dat + + Model + floor_flo4 + + + + + + + + + + Sky Islands, Night/Floor/Flowers/Flowers 06 + + + world/tileset/sky islands night/unique_tiles.dat + + Model + floor_flo5 + + + + + + + + + + Sky Islands, Night/Floor/Flowers/Flowers 07 + + + world/tileset/sky islands night/unique_tiles.dat + + Model + floor_flo6 + + + + + + + + + + Sky Islands, Night/Floor/Flowers/Flowers 08 + + + world/tileset/sky islands night/unique_tiles.dat + + Model + floor_flo7 + + + + + + + + + + Sky Islands, Night/Floor/Flowers/Flowers 09 + + + world/tileset/sky islands night/unique_tiles.dat + + Model + floor_flo8 + + + + + + + + + + Sky Islands, Night/Floor/Flowers/Flowers 10 + + + world/tileset/sky islands night/unique_tiles.dat + + Model + floor_flo9 + + + + + + + + + + Sky Islands, Night/Floor/Flowers/Flowers 11 + + + world/tileset/sky islands night/unique_tiles.dat + + Model + floor_fl10 + + + + + + + + + + Sky Islands, Night/Floor/Flowers/Flowers 12 + + + world/tileset/sky islands night/unique_tiles.dat + + Model + floor_flow + + + + + + + + + + Sky Islands, Night/Floor/Grass, no-walk/Grass 01 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_nowalk01 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Grass, no-walk/Grass 02 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_nowalk02 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Grass, no-walk/Grass 03 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_nowalk03 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Grass, no-walk/Grass 04 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_nowalk04 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Grass, no-walk/Grass 05 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_nowalk05 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Grass, no-walk/Grass 06 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_nowalk06 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Grass, no-walk/Grass 07 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_nowalk07 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Grass, no-walk/Grass 08 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_nowalk08 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Grass/Grass 01 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_gras + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Grass/Grass 02 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_gra3 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Grass/Grass 03 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_gra4 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Grass/Grass 04 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_gra5 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Grass/Grass 05 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_gra6 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Grass/Grass 06 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_gra7 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Grass/Grass 07 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_gra8 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Path/Edge E 01 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pa12 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Path/Edge E 02 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pa11 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Path/Edge In NE + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pat5 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Path/Edge In NW + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pat8 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Path/Edge In SE + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pat6 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Path/Edge In SW + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pat7 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Path/Edge N 01 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pa17 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Path/Edge N 02 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pa18 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Path/Edge Out NE + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pa15 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Path/Edge Out NW + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pa16 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Path/Edge Out SE + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pa10 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Path/Edge Out SW + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pat4 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Path/Edge S 01 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pat3 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Path/Edge S 02 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pat9 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Path/Edge W 01 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pa13 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Path/Edge W 02 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_pa14 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Path/Path 01 + + + world/tileset/sky islands night/unique_tiles.dat + + Model + floor_path + + + + + + + + + + Sky Islands, Night/Floor/Path/Path 02 + + + world/tileset/sky islands night/unique_tiles.dat + + Model + floor_pat0 + + + + + + + + + + Sky Islands, Night/Floor/Path/Path 03 + + + world/tileset/sky islands night/unique_tiles.dat + + Model + floor_pat1 + + + + + + + + + + Sky Islands, Night/Floor/Path/Path 04 + + + world/tileset/sky islands night/unique_tiles.dat + + Model + floor_pat2 + + + + + + + + + + Sky Islands, Night/Floor/Stone tiles/1unit 01 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sto3 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Stone tiles/1unit 02 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sto1 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Stone tiles/1unit, weeds 01 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sto2 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Stone tiles/1unit, weeds 02 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sto6 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Stone tiles/2 stones, diagonal 01 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sto09 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Stone tiles/2 stones, diagonal 02 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sto10 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Stone tiles/4stones 01 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sto7 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Stone tiles/4stones 02 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sto8 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Stone tiles/4stones, weeds 01 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sto4 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Stone tiles/4stones, weeds 02 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_ston + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Stone tiles/4stones, weeds 03 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sto0 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Stone tiles/4stones, weeds 04 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sto5 + Variant + Night + + + + + + + + + + Sky Islands, Night/Floor/Trim/In NE + + + world/tileset/sky islands day/tileset.dat + + Model + floor_trim + Variant + Night + + + + 0 + + + + + Sky Islands, Night/Floor/Trim/In NW + + + world/tileset/sky islands day/tileset.dat + + Model + floor_tri4 + Variant + Night + + + + 0 + + + + + Sky Islands, Night/Floor/Trim/In SE + + + world/tileset/sky islands day/tileset.dat + + Model + floor_tri5 + Variant + Night + + + + 0 + + + + + Sky Islands, Night/Floor/Trim/In SW + + + world/tileset/sky islands day/tileset.dat + + Model + floor_tri6 + Variant + Night + + + + 0 + + + + + Sky Islands, Night/Floor/Trim/Out NE + + + world/tileset/sky islands day/tileset.dat + + Model + floor_tri2 + Variant + Night + + + + 0 + + + + + Sky Islands, Night/Floor/Trim/Out NW + + + world/tileset/sky islands day/tileset.dat + + Model + floor_tri0 + Variant + Night + + + + 0 + + + + + Sky Islands, Night/Floor/Trim/Out SE + + + world/tileset/sky islands day/tileset.dat + + Model + floor_tri3 + Variant + Night + + + + 0 + + + + + Sky Islands, Night/Floor/Trim/Out SW + + + world/tileset/sky islands day/tileset.dat + + Model + floor_tri1 + Variant + Night + + + + 0 + + + + + Sky Islands, Night/Floor/Trim/Trim E + + + world/tileset/sky islands day/tileset.dat + + Model + floor_gra1 + Variant + Night + + + + 0 + + + + + Sky Islands, Night/Floor/Trim/Trim N + + + world/tileset/sky islands day/tileset.dat + + Model + floor_gra2 + Variant + Night + + + + 0 + + + + + Sky Islands, Night/Floor/Trim/Trim S + + + world/tileset/sky islands day/tileset.dat + + Model + floor_gra0 + Variant + Night + + + + 0 + + + + + Sky Islands, Night/Floor/Trim/Trim W + + + world/tileset/sky islands day/tileset.dat + + Model + floor_grav + Variant + Night + + + + 0 + + + + + Sky Islands, Night/Stairs/Edge, left 01 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_stai + Variant + Night + + + + 2 + + 0 + + + + Sky Islands, Night/Stairs/Edge, left 02 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_sta2 + Variant + Night + + + + 2 + + 0 + + + + Sky Islands, Night/Stairs/Edge, right 01 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_sta0 + Variant + Night + + + + 2 + + 0 + + + + Sky Islands, Night/Stairs/Edge, right 02 + + + world/tileset/sky islands day/tileset.dat + + Model + cliff_sta1 + Variant + Night + + + + 2 + + 0 + + + + Sky Islands, Night/Stairs/Stair 01 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_stai + Variant + Night + + + + 0 + + + + + Sky Islands, Night/Stairs/Stair 02 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sta0 + Variant + Night + + + + 0 + + + + + Sky Islands, Night/Stairs/Stair 03 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sta1 + Variant + Night + + + + 0 + + + + + Sky Islands, Night/Stairs/Stair 04 + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sta2 + Variant + Night + + + + 0 + + + + + Sky Islands, Night/Stairs/Trim, left + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sta3 + Variant + Night + + + + 0 + + + + + Sky Islands, Night/Stairs/Trim, right + + + world/tileset/sky islands day/tileset.dat + + Model + floor_sta4 + Variant + Night + + + + 0 + + + + + Sky Islands, Night/Wall/Cliff In 01 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_elbow + Variant + Night + + + 0 + + + + Sky Islands, Night/Wall/Cliff In 02 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_elbow + Variant + Night + + + 0 + + + + Sky Islands, Night/Wall/Cliff Out 01 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_elbo0 + Variant + Night + + + 0 + + + + Sky Islands, Night/Wall/Cliff Out 02 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_elbo0 + Variant + Night + + + 0 + + + + Sky Islands, Night/Wall/Cliff wall 01 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_01 + Variant + Night + + + + + + Sky Islands, Night/Wall/Cliff wall 02 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_02 + Variant + Night + + + + + + Sky Islands, Night/Wall/Cliff wall 03 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_03 + Variant + Night + + + + + + Sky Islands, Night/Wall/Cliff wall 04 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_04 + Variant + Night + + + + + + Sky Islands, Night/Wall/High ruin/Column + + + world/tileset/sky islands day/tileset.dat + + Model + column_01 + Variant + Night + + + 0 + + + + Sky Islands, Night/Wall/High ruin/End, busted + + + world/tileset/sky islands day/tileset.dat + + Model + wall_thin3 + Variant + Night + + + 0 + + + + Sky Islands, Night/Wall/High ruin/Flat 01 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_thin0 + Variant + Night + + + 0 + + + + Sky Islands, Night/Wall/High ruin/Flat 02 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_thin1 + Variant + Night + + + 0 + + + + Sky Islands, Night/Wall/High ruin/Flat 03 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_thin2 + Variant + Night + + + 0 + + + + Sky Islands, Night/Wall/High ruin/Flat 04 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_thin_ + Variant + Night + + + 0 + + + + Sky Islands, Night/Wall/Low ruin/01 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_low_2 + Variant + Night + + + + 2 + + 0 + + + + Sky Islands, Night/Wall/Low ruin/02 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_low_3 + Variant + Night + + + + 2 + + 0 + + + + Sky Islands, Night/Wall/Low ruin/03 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_low_0 + Variant + Night + + + + 2 + + 0 + + + + Sky Islands, Night/Wall/Low ruin/04 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_low_4 + Variant + Night + + + + 2 + + 0 + + + + Sky Islands, Night/Wall/Low ruin/05 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_low_1 + Variant + Night + + + + 2 + + 0 + + + + Sky Islands, Night/Wall/Low ruin/06 + + + world/tileset/sky islands day/tileset.dat + + Model + wall_low_5 + Variant + Night + + + + 2 + + 0 + + + + Sky Islands, Night/Wall/Low ruin/End cap + + + world/tileset/sky islands day/tileset.dat + + Model + wall_low_e + Variant + Night + + + + 2 + + 0 + + + + Traps and Hazards/Floor/Fire/2x2 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 2 + 2 + + world/dynamic/traps_n_hazards/flame_grates/tile_2x2.dat + + + 0, 0 + 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Fire + + Cycle + A + Tag + (Signal Tag) + UP Animation + + world/dynamic/traps_n_hazards/floor/fire/animations/start_2x2.dat + + Warning and Damage Size + 2x2 + + + + + + + + + Traps and Hazards/Floor/Fire/3x2 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 3 + 2 + + world/dynamic/traps_n_hazards/flame_grates/tile_3x2.dat + + + 0, 0, 0 + 0, 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Fire + + Cycle + A + Tag + (Signal Tag) + UP Animation + + world/dynamic/traps_n_hazards/floor/fire/animations/start_3x2.dat + + Warning and Damage Size + 3x2 + + + + + + + + + Traps and Hazards/Floor/Fire/3x3 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 3 + 3 + + world/dynamic/traps_n_hazards/flame_grates/tile_3x3.dat + + + 0, 0, 0 + 0, 0, 0 + 0, 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Fire + + Cycle + A + Tag + (Signal Tag) + UP Animation + + world/dynamic/traps_n_hazards/floor/fire/animations/start_3x3.dat + + Warning and Damage Size + 3x3 + + + + + + + + + Traps and Hazards/Floor/Fire/4x2 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 4 + 2 + + world/dynamic/traps_n_hazards/flame_grates/tile_4x2.dat + + + 0, 0, 0, 0 + 0, 0, 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Fire + + Cycle + A + Tag + (Signal Tag) + UP Animation + + world/dynamic/traps_n_hazards/floor/fire/animations/start_4x2.dat + + Warning and Damage Size + 4x2 + + + + + + + + + Traps and Hazards/Floor/Fire/4x4 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 4 + 4 + + world/dynamic/traps_n_hazards/flame_grates/tile_4x4.dat + + + 0, 0, 0, 0 + 0, 0, 0, 0 + 0, 0, 0, 0 + 0, 0, 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Fire + + Cycle + A + Tag + (Signal Tag) + UP Animation + + world/dynamic/traps_n_hazards/floor/fire/animations/start_4x4.dat + + Warning and Damage Size + 4x4 + + + + + + + + + Traps and Hazards/Floor/Fire/5x2 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 5 + 2 + + world/dynamic/traps_n_hazards/flame_grates/tile_5x2.dat + + + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Fire + + Cycle + A + Tag + (Signal Tag) + UP Animation + + world/dynamic/traps_n_hazards/floor/fire/animations/start_5x2.dat + + Warning and Damage Size + 5x2 + + + + + + + + + Traps and Hazards/Floor/Fire/5x5 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 5 + 5 + + world/dynamic/traps_n_hazards/flame_grates/tile_5x5.dat + + + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Fire + + Cycle + A + Tag + (Signal Tag) + UP Animation + + world/dynamic/traps_n_hazards/floor/fire/animations/start_5x5.dat + + Warning and Damage Size + 5x5 + + + + + + + + + Traps and Hazards/Floor/Fire/6x2 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 6 + 2 + + world/dynamic/traps_n_hazards/flame_grates/tile_6x2.dat + + + 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Fire + + Cycle + A + Tag + (Signal Tag) + UP Animation + + world/dynamic/traps_n_hazards/floor/fire/animations/start_6x2.dat + + Warning and Damage Size + 6x2 + + + + + + + + + Traps and Hazards/Floor/Fire/6x4 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 6 + 4 + + world/dynamic/traps_n_hazards/flame_grates/tile_6x4.dat + + + 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Fire + + Cycle + A + Tag + (Signal Tag) + UP Animation + + world/dynamic/traps_n_hazards/floor/fire/animations/start_6x4.dat + + Warning and Damage Size + 6x4 + + + + + + + + + Traps and Hazards/Floor/Freeze/2x2 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 2 + 2 + + world/dynamic/traps_n_hazards/freeze_tiles/freeze_2x2.dat + + + 0, 0 + 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Freeze + + Cycle + A + Tag + (Signal Tag) + UP Animation + + world/dynamic/traps_n_hazards/floor/freeze/animations/start_2x2.dat + + Warning and Damage Size + 2x2 + + + + + + + + + Traps and Hazards/Floor/Freeze/3x2 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 3 + 2 + + world/dynamic/traps_n_hazards/freeze_tiles/freeze_3x2.dat + + + 0, 0, 0 + 0, 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Freeze + + Cycle + A + Tag + (Signal Tag) + UP Animation + + world/dynamic/traps_n_hazards/floor/freeze/animations/start_3x2.dat + + Warning and Damage Size + 3x2 + + + + + + + + + Traps and Hazards/Floor/Freeze/3x3 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 3 + 3 + + world/dynamic/traps_n_hazards/freeze_tiles/freeze_3x3.dat + + + 0, 0, 0 + 0, 0, 0 + 0, 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Freeze + + Cycle + A + Tag + (Signal Tag) + UP Animation + + world/dynamic/traps_n_hazards/floor/freeze/animations/start_3x3.dat + + Warning and Damage Size + 3x3 + + + + + + + + + Traps and Hazards/Floor/Freeze/5x2 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 5 + 2 + + world/dynamic/traps_n_hazards/freeze_tiles/freeze_5x2.dat + + + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Freeze + + Cycle + A + Tag + (Signal Tag) + UP Animation + + world/dynamic/traps_n_hazards/floor/freeze/animations/start_5x2.dat + + Warning and Damage Size + 5x2 + + + + + + + + + Traps and Hazards/Floor/Freeze/5x5 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 5 + 5 + + world/dynamic/traps_n_hazards/freeze_tiles/freeze_5x5.dat + + + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Freeze + + Cycle + A + Tag + (Signal Tag) + UP Animation + + world/dynamic/traps_n_hazards/floor/freeze/animations/start_5x5.dat + + Warning and Damage Size + 5x5 + + + + + + + + + Traps and Hazards/Floor/Inactive/2x2 + + 2 + 2 + + world/dynamic/traps_n_hazards/floor/inactive/inactive_2x2.dat + + + 0, 0 + 0, 0 + + + + + Traps and Hazards/Floor/Inactive/3x2 + + 3 + 2 + + world/dynamic/traps_n_hazards/floor/inactive/inactive_3x2.dat + + + 0, 0, 0 + 0, 0, 0 + + + + + Traps and Hazards/Floor/Inactive/3x3 + + 3 + 3 + + world/dynamic/traps_n_hazards/floor/inactive/inactive_3x3.dat + + + 0, 0, 0 + 0, 0, 0 + 0, 0, 0 + + + + + Traps and Hazards/Floor/Inactive/5x2 + + 5 + 2 + + world/dynamic/traps_n_hazards/floor/inactive/inactive_5x2.dat + + + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + + + + + Traps and Hazards/Floor/Inactive/5x5 + + 5 + 5 + + world/dynamic/traps_n_hazards/floor/inactive/inactive_5x5.dat + + + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + + + + + Traps and Hazards/Floor/Meta/Damage/Bronze/2x2 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/2x2 + + Texture + world/dynamic/traps_n_hazards/meta_markers/bronze.png + Type + Damage + + + + + + Traps and Hazards/Floor/Meta/Damage/Bronze/3x2 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/3x2 + + Texture + world/dynamic/traps_n_hazards/meta_markers/bronze.png + Type + Damage + + + + + + Traps and Hazards/Floor/Meta/Damage/Bronze/3x3 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/3x3 + + Texture + world/dynamic/traps_n_hazards/meta_markers/bronze.png + Type + Damage + + + + + + Traps and Hazards/Floor/Meta/Damage/Bronze/5x2 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/5x2 + + Texture + world/dynamic/traps_n_hazards/meta_markers/bronze.png + Type + Damage + + + + + + Traps and Hazards/Floor/Meta/Damage/Bronze/5x5 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/5x5 + + Texture + world/dynamic/traps_n_hazards/meta_markers/bronze.png + Type + Damage + + + + + + Traps and Hazards/Floor/Meta/Damage/Gold/2x2 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/2x2 + + Texture + world/dynamic/traps_n_hazards/meta_markers/gold.png + Type + Damage + + + + + + Traps and Hazards/Floor/Meta/Damage/Gold/3x2 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/3x2 + + Texture + world/dynamic/traps_n_hazards/meta_markers/gold.png + Type + Damage + + + + + + Traps and Hazards/Floor/Meta/Damage/Gold/3x3 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/3x3 + + Texture + world/dynamic/traps_n_hazards/meta_markers/gold.png + Type + Damage + + + + + + Traps and Hazards/Floor/Meta/Damage/Gold/5x2 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/5x2 + + Texture + world/dynamic/traps_n_hazards/meta_markers/gold.png + Type + Damage + + + + + + Traps and Hazards/Floor/Meta/Damage/Gold/5x5 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/5x5 + + Texture + world/dynamic/traps_n_hazards/meta_markers/gold.png + Type + Damage + + + + + + Traps and Hazards/Floor/Meta/Damage/Silver/2x2 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/2x2 + + Texture + world/dynamic/traps_n_hazards/meta_markers/silver.png + Type + Damage + + + + + + Traps and Hazards/Floor/Meta/Damage/Silver/3x2 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/3x2 + + Texture + world/dynamic/traps_n_hazards/meta_markers/silver.png + Type + Damage + + + + + + Traps and Hazards/Floor/Meta/Damage/Silver/3x3 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/3x3 + + Texture + world/dynamic/traps_n_hazards/meta_markers/silver.png + Type + Damage + + + + + + Traps and Hazards/Floor/Meta/Damage/Silver/5x2 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/5x2 + + Texture + world/dynamic/traps_n_hazards/meta_markers/silver.png + Type + Damage + + + + + + Traps and Hazards/Floor/Meta/Damage/Silver/5x5 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/5x5 + + Texture + world/dynamic/traps_n_hazards/meta_markers/silver.png + Type + Damage + + + + + + Traps and Hazards/Floor/Meta/Parts/2x2 + + + Texture + implementation.tile["Model"]["Texture"] + + + Type + implementation.tile["Model"]["Type"] + + + + + Traps and Hazards/Floor/Meta/Parts/Base + + Collision Flags + + 0, 0 + 0, 0 + + Height + 2 + Model + + world/dynamic/traps_n_hazards/meta_markers/2x2.dat + + Texture + + Type + Damage + + + Width + 2 + + + + + + Traps and Hazards/Floor/Meta/Parts/3x2 + + + Texture + implementation.tile["Model"]["Texture"] + + + Type + implementation.tile["Model"]["Type"] + + + + + Traps and Hazards/Floor/Meta/Parts/Base + + Collision Flags + + 0, 0, 0 + 0, 0, 0 + + Height + 2 + Model + + world/dynamic/traps_n_hazards/meta_markers/3x2.dat + + Texture + + Type + Damage + + + Width + 3 + + + + + + Traps and Hazards/Floor/Meta/Parts/3x3 + + + Texture + implementation.tile["Model"]["Texture"] + + + Type + implementation.tile["Model"]["Type"] + + + + + Traps and Hazards/Floor/Meta/Parts/Base + + Collision Flags + + 0, 0, 0 + 0, 0, 0 + 0, 0, 0 + + Height + 3 + Model + + world/dynamic/traps_n_hazards/meta_markers/3x3.dat + + Texture + + Type + Damage + + + Width + 3 + + + + + + Traps and Hazards/Floor/Meta/Parts/5x2 + + + Texture + implementation.tile["Model"]["Texture"] + + + Type + implementation.tile["Model"]["Type"] + + + + + Traps and Hazards/Floor/Meta/Parts/Base + + Collision Flags + + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + + Height + 2 + Model + + world/dynamic/traps_n_hazards/meta_markers/5x2.dat + + Texture + + Type + Damage + + + Width + 5 + + + + + + Traps and Hazards/Floor/Meta/Parts/5x5 + + + Texture + implementation.tile["Model"]["Texture"] + + + Type + implementation.tile["Model"]["Type"] + + + + + Traps and Hazards/Floor/Meta/Parts/Base + + Collision Flags + + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + + Height + 5 + Model + + world/dynamic/traps_n_hazards/meta_markers/5x5.dat + + Texture + + Type + Damage + + + Width + 5 + + + + + + Traps and Hazards/Floor/Meta/Parts/Base + + + Model + implementation.model + + + Width + implementation.width + + + Height + implementation.height + + + Collision Flags + implementation.collision_flags + + + + 2 + 2 + + 0, 0 + 0, 0 + + 0 + + + + Traps and Hazards/Floor/Meta/Status/Bronze/2x2 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/2x2 + + Texture + world/dynamic/traps_n_hazards/meta_markers/bronze.png + Type + Status + + + + + + Traps and Hazards/Floor/Meta/Status/Bronze/3x2 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/3x2 + + Texture + world/dynamic/traps_n_hazards/meta_markers/bronze.png + Type + Status + + + + + + Traps and Hazards/Floor/Meta/Status/Bronze/3x3 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/3x3 + + Texture + world/dynamic/traps_n_hazards/meta_markers/bronze.png + Type + Status + + + + + + Traps and Hazards/Floor/Meta/Status/Bronze/5x2 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/5x2 + + Texture + world/dynamic/traps_n_hazards/meta_markers/bronze.png + Type + Status + + + + + + Traps and Hazards/Floor/Meta/Status/Bronze/5x5 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/5x5 + + Texture + world/dynamic/traps_n_hazards/meta_markers/bronze.png + Type + Status + + + + + + Traps and Hazards/Floor/Meta/Status/Gold/2x2 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/2x2 + + Texture + world/dynamic/traps_n_hazards/meta_markers/gold.png + Type + Status + + + + + + Traps and Hazards/Floor/Meta/Status/Gold/3x2 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/3x2 + + Texture + world/dynamic/traps_n_hazards/meta_markers/gold.png + Type + Status + + + + + + Traps and Hazards/Floor/Meta/Status/Gold/3x3 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/3x3 + + Texture + world/dynamic/traps_n_hazards/meta_markers/gold.png + Type + Status + + + + + + Traps and Hazards/Floor/Meta/Status/Gold/5x2 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/5x2 + + Texture + world/dynamic/traps_n_hazards/meta_markers/gold.png + Type + Status + + + + + + Traps and Hazards/Floor/Meta/Status/Gold/5x5 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/5x5 + + Texture + world/dynamic/traps_n_hazards/meta_markers/gold.png + Type + Status + + + + + + Traps and Hazards/Floor/Meta/Status/Silver/2x2 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/2x2 + + Texture + world/dynamic/traps_n_hazards/meta_markers/silver.png + Type + Status + + + + + + Traps and Hazards/Floor/Meta/Status/Silver/3x2 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/3x2 + + Texture + world/dynamic/traps_n_hazards/meta_markers/silver.png + Type + Status + + + + + + Traps and Hazards/Floor/Meta/Status/Silver/3x3 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/3x3 + + Texture + world/dynamic/traps_n_hazards/meta_markers/silver.png + Type + Status + + + + + + Traps and Hazards/Floor/Meta/Status/Silver/5x2 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/5x2 + + Texture + world/dynamic/traps_n_hazards/meta_markers/silver.png + Type + Status + + + + + + Traps and Hazards/Floor/Meta/Status/Silver/5x5 + + + Cycle + implementation.cycle + + + Tag + implementation.tags.tags[0] + + + + + Traps and Hazards/Floor/Meta/Parts/5x5 + + Texture + world/dynamic/traps_n_hazards/meta_markers/silver.png + Type + Status + + + + + + Traps and Hazards/Floor/Poison/2x2 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 2 + 2 + + world/dynamic/traps_n_hazards/poison_panels/gastank_2x2.dat + + + 0, 0 + 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Poison + + Cycle + A + Tag + (Signal Tag) + UP Animation + + world/dynamic/traps_n_hazards/floor/poison/animations/start_2x2.dat + + Warning and Damage Size + 2x2 + + + + + + + + + Traps and Hazards/Floor/Poison/3x2 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 3 + 2 + + world/dynamic/traps_n_hazards/poison_panels/gastank_3x2.dat + + + 0, 0, 0 + 0, 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Poison + + Cycle + A + Tag + (Signal Tag) + UP Animation + + world/dynamic/traps_n_hazards/floor/poison/animations/start_3x2.dat + + Warning and Damage Size + 3x2 + + + + + + + + + Traps and Hazards/Floor/Poison/3x3 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 3 + 3 + + world/dynamic/traps_n_hazards/poison_panels/gastank_3x3.dat + + + 0, 0, 0 + 0, 0, 0 + 0, 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Poison + + Cycle + A + Tag + (Signal Tag) + UP Animation + + world/dynamic/traps_n_hazards/floor/poison/animations/start_3x3.dat + + Warning and Damage Size + 3x3 + + + + + + + + + Traps and Hazards/Floor/Poison/5x2 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 5 + 2 + + world/dynamic/traps_n_hazards/poison_panels/gastank_5x2.dat + + + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Poison + + Cycle + A + Tag + (Signal Tag) + UP Animation + + world/dynamic/traps_n_hazards/floor/poison/animations/start_5x2.dat + + Warning and Damage Size + 5x2 + + + + + + + + + Traps and Hazards/Floor/Poison/5x5 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 5 + 5 + + world/dynamic/traps_n_hazards/poison_panels/gastank_5x5.dat + + + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Poison + + Cycle + A + Tag + (Signal Tag) + UP Animation + + world/dynamic/traps_n_hazards/floor/poison/animations/start_5x5.dat + + Warning and Damage Size + 5x5 + + + + + + + + + Traps and Hazards/Floor/Shock/2x2 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 2 + 2 + + world/dynamic/traps_n_hazards/shock_trenches/shocktrench_2x2.dat + + + 0, 0 + 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Shock + + Cycle + A + Tag + (Signal Tag) + UP Animation + + world/dynamic/traps_n_hazards/floor/shock/animations/start_2x2.dat + + Warning and Damage Size + 2x2 + + + + + + + + + Traps and Hazards/Floor/Shock/3x2 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 3 + 2 + + world/dynamic/traps_n_hazards/shock_trenches/shocktrench_3x2.dat + + + 0, 0, 0 + 0, 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Shock + + Cycle + A + Tag + (Signal Tag) + UP Animation + + world/dynamic/traps_n_hazards/floor/shock/animations/start_3x2.dat + + Warning and Damage Size + 3x2 + + + + + + + + + Traps and Hazards/Floor/Shock/3x3 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 3 + 3 + + world/dynamic/traps_n_hazards/shock_trenches/shocktrench_3x3.dat + + + 0, 0, 0 + 0, 0, 0 + 0, 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Shock + + Cycle + A + Tag + (Signal Tag) + UP Animation + + world/dynamic/traps_n_hazards/floor/shock/animations/start_3x3.dat + + Warning and Damage Size + 3x3 + + + + + + + + + Traps and Hazards/Floor/Shock/5x2 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 5 + 2 + + world/dynamic/traps_n_hazards/shock_trenches/shocktrench_5x2.dat + + + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Shock + + Cycle + A + Tag + (Signal Tag) + UP Animation + + world/dynamic/traps_n_hazards/floor/shock/animations/start_5x2.dat + + Warning and Damage Size + 5x2 + + + + + + + + + Traps and Hazards/Floor/Shock/5x5 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 5 + 5 + + world/dynamic/traps_n_hazards/shock_trenches/shocktrench_5x5.dat + + + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Shock + + Cycle + A + Tag + (Signal Tag) + UP Animation + + world/dynamic/traps_n_hazards/floor/shock/animations/start_5x5.dat + + Warning and Damage Size + 5x5 + + + + + + + + + Traps and Hazards/Floor/Spike/1x1 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + + world/dynamic/traps_n_hazards/floor/spikes/tile_1x1.dat + + + + + + + + + + Dynamic/Traps and Hazards/Floor/Spikes + + Cycle + A + Model + + world/dynamic/traps_n_hazards/floor/spikes/spikes/spikes_1x1.dat + + Tag + (Signal Tag) + Warning and Damage Size + 1x1 + + + + + + + + + Traps and Hazards/Floor/Spike/2x1 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 2 + + world/dynamic/traps_n_hazards/floor/spikes/tile_2x1.dat + + + 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Spikes + + Cycle + A + Model + + world/dynamic/traps_n_hazards/floor/spikes/spikes/spikes_2x1.dat + + Tag + (Signal Tag) + Warning and Damage Size + 2x1 + + + + + + + + + Traps and Hazards/Floor/Spike/2x2 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 2 + 2 + + world/dynamic/traps_n_hazards/floor/spikes/tile_2x2.dat + + + 0, 0 + 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Spikes + + Cycle + A + Model + + world/dynamic/traps_n_hazards/floor/spikes/spikes/spikes_2x2.dat + + Tag + (Signal Tag) + Warning and Damage Size + 2x2 + + + + + + + + + Traps and Hazards/Floor/Spike/3x2 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 3 + 2 + + world/dynamic/traps_n_hazards/floor/spikes/tile_3x2.dat + + + 0, 0, 0 + 0, 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Spikes + + Cycle + A + Model + + world/dynamic/traps_n_hazards/floor/spikes/spikes/spikes_3x2.dat + + Tag + (Signal Tag) + Warning and Damage Size + 3x2 + + + + + + + + + Traps and Hazards/Floor/Spike/3x3 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 3 + 3 + + world/dynamic/traps_n_hazards/floor/spikes/tile_3x3.dat + + + 0, 0, 0 + 0, 0, 0 + 0, 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Spikes + + Cycle + A + Model + + world/dynamic/traps_n_hazards/floor/spikes/spikes/spikes_3x3.dat + + Tag + (Signal Tag) + Warning and Damage Size + 3x3 + + + + + + + + + Traps and Hazards/Floor/Spike/5x2 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 5 + 2 + + world/dynamic/traps_n_hazards/floor/spikes/tile_5x2.dat + + + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Spikes + + Cycle + A + Model + + world/dynamic/traps_n_hazards/floor/spikes/spikes/spikes_5x2.dat + + Tag + (Signal Tag) + Warning and Damage Size + 5x2 + + + + + + + + + Traps and Hazards/Floor/Spike/5x5 + + + Cycle + implementation.handlers[0].action.actor["Cycle"] + + + Tag + implementation.handlers[0].action.actor["Tag"] + + + + 5 + 5 + + world/dynamic/traps_n_hazards/floor/spikes/tile_5x5.dat + + + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 + + + + + + Dynamic/Traps and Hazards/Floor/Spikes + + Cycle + A + Model + + world/dynamic/traps_n_hazards/floor/spikes/spikes/spikes_5x5.dat + + Tag + (Signal Tag) + Warning and Damage Size + 5x5 + + + + + + + + + Traps and Hazards/Hazard Tile + + + world/dynamic/traps_n_hazards/hazard_ironspikes.dat + + + 0 + + 0 + + + + + + + + + + Water/fountain/edge E + + + world/tileset/water/set_model.dat + + Model + e_e + + + + 0 + + 0 + + + + Water/fountain/edge N + + + world/tileset/water/set_model.dat + + Model + e_n + + + + 0 + + 0 + + + + Water/fountain/edge S + + + world/tileset/water/set_model.dat + + Model + e_s + + + + 0 + + 0 + + + + Water/fountain/edge W + + + world/tileset/water/set_model.dat + + Model + e_w + + + + 0 + + 0 + + + + Water/fountain/in NE + + + world/tileset/water/set_model.dat + + Model + in_ne + + + + 0 + + 0 + + + + Water/fountain/in NW + + + world/tileset/water/set_model.dat + + Model + in_nw + + + + 0 + + 0 + + + + Water/fountain/in SE + + + world/tileset/water/set_model.dat + + Model + in_se + + + + 0 + + 0 + + + + Water/fountain/in SW + + + world/tileset/water/set_model.dat + + Model + in_sw + + + + 0 + + 0 + + + + Water/fountain/m + + + world/tileset/water/set_model.dat + + Model + m + + + + 0 + + 0 + + + + Water/fountain/m (Peaks) + + + world/tileset/water/compound_m.dat + + Leaves + 1 + + + + 0 + + 0 + + + + Water/fountain/m (Peaks) (2) + + + world/tileset/water/compound_m.dat + + Leaves + 2 + + + + 0 + + 0 + + + + Water/fountain/out NE + + + world/tileset/water/set_model.dat + + Model + out_ne + + + + 0 + + 0 + + + + Water/fountain/out NW + + + world/tileset/water/set_model.dat + + Model + out_nw + + + + 0 + + 0 + + + + Water/fountain/out SE + + + world/tileset/water/set_model.dat + + Model + out_se + + + + 0 + + 0 + + + + Water/fountain/out SW + + + world/tileset/water/set_model.dat + + Model + out_sw + + + + 0 + + 0 + + + + Whitespace/Fence, High/High - Block, high + + + world/tileset/whitespace/fence_set.dat + + Model + fence_high_block_01 + + + 0 + + + + Whitespace/Fence, High/High - Block, low + + + world/tileset/whitespace/fence_set.dat + + Model + fence_high_L_2x2 + + + 0 + + + + Whitespace/Fence, High/High - Block, swirl high + + + world/tileset/whitespace/fence_set.dat + + Model + fence_high_swirl_01 + + + 0 + + + + Whitespace/Fence, High/High - Block, swirl low + + + world/tileset/whitespace/fence_set.dat + + Model + fence_high_swirl_02 + + + 0 + + + + Whitespace/Fence, High/High - Cross 4way 1unit + + + world/tileset/whitespace/fence_set.dat + + Model + fence_high_4way_x1 + + + 0 + + + + Whitespace/Fence, High/High - Cross 4way 3x3 + + 3 + 3 + + world/tileset/whitespace/fence_set.dat + + Model + fence_high_4way_x3 + + + + 0, 1, 0 + 1, 1, 1 + 0, 1, 0 + + + + + Whitespace/Fence, High/High - Crosser 3way 2x3 + + 2 + 3 + + world/tileset/whitespace/fence_set.dat + + Model + fence_high_3way_2x3 + + + + 1, 0 + 1, 1 + 1, 0 + + + + + Whitespace/Fence, High/High - Elbow 2x2 + + 2 + 2 + + world/tileset/whitespace/fence_set.dat + + Model + fence_high_L_2x2 + + + + 2, 2 + 2, 0 + + + + + Whitespace/Fence, High/High - End cap 01 + + + world/tileset/whitespace/fence_set.dat + + Model + fence_high_cap_01 + + + 0 + + + + Whitespace/Fence, High/High - Featureless 01 + + + world/tileset/whitespace/fence_set.dat + + Model + fence_high_flat_01 + + + 0 + + + + Whitespace/Fence, High/High - Featureless 02 + + + world/tileset/whitespace/fence_set.dat + + Model + fence_high_flat_02 + + + 0 + + + + Whitespace/Fence, High/High - Featureless 03 + + + world/tileset/whitespace/fence_set.dat + + Model + fence_high_flat_03 + + + 0 + + + + Whitespace/Fence, High/High - Featureless 04 + + + world/tileset/whitespace/fence_set.dat + + Model + fence_high_flat_04 + + + 0 + + + + Whitespace/Fence, Low/Low - Crosser 3way 2x3 + + 2 + 3 + + world/tileset/whitespace/fence_set.dat + + Model + fence_low_3way_2x3 + + + + 2, 0 + 2, 2 + 2, 0 + + + + + Whitespace/Fence, Low/Low - Elbow 2x2 + + 2 + 2 + + world/tileset/whitespace/fence_set.dat + + Model + fence_low_L_2x2 + + + + 2, 2 + 2, 0 + + + + + Whitespace/Fence, Low/Low - Cross 4way 1unit + + + world/tileset/whitespace/fence_set.dat + + Model + fence_low_4way_x1 + + + + 2 + + 0 + + + + Whitespace/Fence, Low/Low - Cross 4way 3x3 + + 3 + 3 + + world/tileset/whitespace/fence_set.dat + + Model + fence_low_4way_x3 + + + + 0, 2, 0 + 2, 2, 2 + 0, 2, 0 + + + + + Whitespace/Fence, Low/Low - End cap 01 + + + world/tileset/whitespace/fence_set.dat + + Model + fence_low_cap_01 + + + + 2 + + 0 + + + + Whitespace/Fence, Low/Low - Featureless 01 + + + world/tileset/whitespace/fence_set.dat + + Model + fence_low_flat_01 + + + + 2 + + 0 + + + + Whitespace/Fence, Low/Low - Featureless 02 + + + world/tileset/whitespace/fence_set.dat + + Model + fence_low_flat_02 + + + + 2 + + 0 + + + + Whitespace/Fence, Low/Low - Featureless 03 + + + world/tileset/whitespace/fence_set.dat + + Model + fence_low_flat_03 + + + + 2 + + 0 + + + + Whitespace/Fence, Low/Low - Featureless 04 + + + world/tileset/whitespace/fence_set.dat + + Model + fence_low_flat_04 + + + + 2 + + 0 + + + + Whitespace/Floor/Base 1 unit - 01 + + + world/tileset/whitespace/tileset.dat + + Model + floor_blank_01 + + + + 0 + + + + + Whitespace/Floor/Base 2x2 - 01 + + 2 + 2 + + world/tileset/whitespace/tileset.dat + + Model + floor_blank_x2_01 + + + + 0, 0 + 0, 0 + + + + + Whitespace/Floor/Base 3x3 - 01 + + 3 + 3 + + world/tileset/whitespace/tileset.dat + + Model + floor_blank_x3_01 + + + + 0, 0, 0 + 0, 0, 0 + 0, 0, 0 + + + + + Whitespace/Floor/Detail 01 + + + world/tileset/whitespace/tileset.dat + + Model + floor_detail_01 + + + + 0 + + + + + Whitespace/Floor/Tile - 1 unit, dark + + + world/tileset/whitespace/tileset.dat + + Model + floor_blocky_1unit_dark + + + + 0 + + + + + Whitespace/Floor/Tile - 1 unit, light + + + world/tileset/whitespace/tileset.dat + + Model + floor_blocky_1unit_light + + + + 0 + + + + + Whitespace/Floor/Tile - 1 unit, small tiles 01 + + + world/tileset/whitespace/tileset.dat + + Model + floor_smallblocks_1unit_01 + + + + 0 + + + + + Whitespace/Floor/Tile - 1 unit, small tiles 02 + + + world/tileset/whitespace/tileset.dat + + Model + floor_smallblocks_1unit_02 + + + + 0 + + + + + Whitespace/Floor/Tile - 1 unit, swirl dark + + + world/tileset/whitespace/tileset.dat + + Model + floor_swirl_1unit_dark + + + + 0 + + + + + Whitespace/Floor/Tile - 1 unit, swirl light + + + world/tileset/whitespace/tileset.dat + + Model + floor_swirl_1unit_light + + + + 0 + + + + + Whitespace/Floor/Tile - 2x2, small tiles 02 + + 2 + 2 + + world/tileset/whitespace/tileset.dat + + Model + floor_smallblocks_2x2_01 + + + + 0, 0 + 0, 0 + + + + + Whitespace/Floor/Trim - Wall Shadow/Trim, shadow - Corner In 01 + + 2 + 2 + + world/tileset/whitespace/tileset.dat + + Model + trim_wallshad_in_01 + + + + 1, 1 + 0, 1 + + + + + Whitespace/Floor/Trim - Wall Shadow/Trim, shadow - Corner In, 1-unit + + + world/tileset/whitespace/tileset.dat + + Model + trim_wallshad_in_02 + + + + 0 + + + + + Whitespace/Floor/Trim - Wall Shadow/Trim, shadow - Corner Out 01 + + + world/tileset/whitespace/tileset.dat + + Model + trim_wallshad_out_01 + + + + 0 + + + + + Whitespace/Floor/Trim - Wall Shadow/Trim, shadow - base 01 + + + world/tileset/whitespace/tileset.dat + + Model + trim_wallshad_01 + + + + 0 + + + + + Whitespace/Floor/Trim - Wall Shadow/Trim, shadow-to-void - 01 + + + world/tileset/whitespace/tileset.dat + + Model + trim_edge_wallshad_01 + + + + 0 + + + + + Whitespace/Floor/Trim - Wall Shadow/Trim, shadow-to-void - Parallel Left 01 + + + world/tileset/whitespace/tileset.dat + + Model + trim_edge_wallshad_prll_L01 + + + + 0 + + + + + Whitespace/Floor/Trim - Wall Shadow/Trim, shadow-to-void - Parallel Right 01 + + + world/tileset/whitespace/tileset.dat + + Model + trim_edge_wallshad_prll_L01 + + + + 0 + + + + + Whitespace/Floor/Trim - Wall Shadow/Trim, shadow-to-void - Perpendicular Left 01 + + + world/tileset/whitespace/tileset.dat + + Model + trim_edge_wallshad_perp_L01 + + + + 0 + + + + + Whitespace/Floor/Trim - Wall Shadow/Trim, shadow-to-void - Perpendicular Right 01 + + + world/tileset/whitespace/tileset.dat + + Model + trim_edge_wallshad_perp_R01 + + + + 0 + + + + + Whitespace/Floor/Trim, void - Corner In 01 + + + world/tileset/whitespace/tileset.dat + + Model + trim_edge_in_01 + + + + 0 + + + + + Whitespace/Floor/Trim, void - Corner Out 01 + + + world/tileset/whitespace/tileset.dat + + Model + trim_edge_out_01 + + + + 0 + + + + + Whitespace/Floor/Trim, void - base 01 + + + world/tileset/whitespace/tileset.dat + + Model + trim_edge_01 + + + + 0 + + + + + Whitespace/Floor/Trim, void - base 02 + + + world/tileset/whitespace/tileset.dat + + Model + trim_edge_02 + + + + 0 + + + + + Whitespace/Floor/Trim, void - base 03 + + + world/tileset/whitespace/tileset.dat + + Model + trim_edge_03 + + + + 0 + + + + + Whitespace/Floor/Trim, void - base 04 + + + world/tileset/whitespace/tileset.dat + + Model + trim_edge_04 + + + + 0 + + + + + Whitespace/Floor/Trim, void - base 05 + + + world/tileset/whitespace/tileset.dat + + Model + trim_edge_05 + + + + 0 + + + + + Whitespace/Floor/Trim, void - base 06 + + + world/tileset/whitespace/tileset.dat + + Model + trim_edge_06 + + + + 0 + + + + + Whitespace/Floor/Trim, void - base 07 + + + world/tileset/whitespace/tileset.dat + + Model + trim_edge_07 + + + + 0 + + + + + Whitespace/Rail/Corner - In, base 01 + + + world/tileset/whitespace/tileset.dat + + Model + rail_corner_in_01 + + + + 2 + + + + + Whitespace/Rail/Corner - In, blocks 01 + + + world/tileset/whitespace/tileset.dat + + Model + rail_corner_in_02 + + + + 2 + + + + + Whitespace/Rail/Corner - In, blocks 02 + + + world/tileset/whitespace/tileset.dat + + Model + rail_corner_in_03 + + + + 2 + + + + + Whitespace/Rail/Corner - In, blocks 03 + + + world/tileset/whitespace/tileset.dat + + Model + rail_corner_in_04 + + + + 2 + + + + + Whitespace/Rail/Corner - Out, base 01 + + + world/tileset/whitespace/tileset.dat + + Model + rail_corner_out_01 + + + + 2 + + + + + Whitespace/Rail/Featureless 01 + + + world/tileset/whitespace/tileset.dat + + Model + rail_blank_01 + + + + 2 + + + + + Whitespace/Rail/Featureless 02 + + + world/tileset/whitespace/tileset.dat + + Model + rail_blank_02 + + + + 2 + + + + + Whitespace/Rail/Thin, U-corner 01 + + + world/tileset/whitespace/tileset.dat + + Model + rail_thin_corner_in_01 + + + + 2 + + + + + Whitespace/Rail/Thin, all sides + + + world/tileset/whitespace/tileset.dat + + Model + rail_thin_allsides + + + + 2 + + + + + Whitespace/Rail/Thin, corners - Both Out + + + world/tileset/whitespace/tileset.dat + + Model + rail_thin_corner_out_01 + + + + 2 + + + + + Whitespace/Rail/Thin, corners - Out Left, parallel + + + world/tileset/whitespace/tileset.dat + + Model + rail_thin_corner_out_L + + + + 2 + + + + + Whitespace/Rail/Thin, corners - Out Right, parallel + + + world/tileset/whitespace/tileset.dat + + Model + rail_thin_corner_out_R + + + + 2 + + + + + Whitespace/Rail/Thin, parallel - Blocks 01 + + + world/tileset/whitespace/tileset.dat + + Model + rail_thin_blocks_01 + + + + 2 + + + + + Whitespace/Rail/Thin, parallel - Featureless 01 + + + world/tileset/whitespace/tileset.dat + + Model + rail_thin_blank_01 + + + + 2 + + + + + Whitespace/Rail/Thin, parallel - Featureless 02 + + + world/tileset/whitespace/tileset.dat + + Model + rail_thin_blank_02 + + + + 2 + + + + + Whitespace/Rail/Uneven blocks 01 + + + world/tileset/whitespace/tileset.dat + + Model + rail_blocks_01 + + + + 2 + + + + + Whitespace/Rail/Uneven blocks 02 + + + world/tileset/whitespace/tileset.dat + + Model + rail_blocks_02 + + + + 2 + + + + + Whitespace/Rail/Uneven blocks 03 + + + world/tileset/whitespace/tileset.dat + + Model + rail_blocks_03 + + + + 2 + + + + + Whitespace/Rail/Uneven blocks 04 + + + world/tileset/whitespace/tileset.dat + + Model + rail_blocks_04 + + + + 2 + + + + + Whitespace/Stairs/Stairs 1unit - large block 01 + + + world/tileset/whitespace/stair_x1_03.dat + + + 0 + + + + + Whitespace/Stairs/Stairs 1unit - large block 02 + + + world/tileset/whitespace/stair_x1_04.dat + + + 0 + + + + + Whitespace/Stairs/Stairs 1unit - small blocks 01 + + + world/tileset/whitespace/stair_x1_01.dat + + + 0 + + + + + Whitespace/Stairs/Stairs 1unit - small blocks 02 + + + world/tileset/whitespace/stair_x1_02.dat + + + 0 + + + + + Whitespace/Stairs/Stairs bottom, 3-wide 01 + + 2 + 3 + + world/tileset/whitespace/stair_bottom_x3_01.dat + + + 0, 0 + 0, 0 + 0, 0 + + + + + Whitespace/Stairs/Stairs top, 3-wide 01 + + 2 + 3 + + world/tileset/whitespace/stair_top_x3_01.dat + + + 0, 0 + 0, 0 + 0, 0 + + + + + Whitespace/Wall/Block protrusion, 01 + + + world/tileset/whitespace/tileset.dat + + Model + wall_block_01 + + + 0 + + + + Whitespace/Wall/Block protrusion, 02 + + + world/tileset/whitespace/tileset.dat + + Model + wall_block_02 + + + 0 + + + + Whitespace/Wall/Block protrusion, swirl 01 + + + world/tileset/whitespace/tileset.dat + + Model + wall_block_swirl_01 + + + 0 + + + + Whitespace/Wall/Block protrusion, swirl 02 + + + world/tileset/whitespace/tileset.dat + + Model + wall_block_swirl_02 + + + 0 + + + + Whitespace/Wall/Corner - In, base 01 + + + Whitespace/Floor/Trim - Wall Shadow/Trim, shadow - Corner In 01 + + + + + Whitespace/Wall/Corner - In, rail 01 + + 2 + 2 + + world/tileset/whitespace/tileset.dat + + Model + rail_wall_in_01 + + + + 1, 1 + 2, 1 + + 0 + + + + Whitespace/Wall/Corner - Out, base 01 + + + world/tileset/whitespace/tileset.dat + + Model + wall_out_01 + + + 0 + + + + Whitespace/Wall/Featureless 01 + + + world/tileset/whitespace/tileset.dat + + Model + wall_flat_01 + + + 0 + + + + Whitespace/Wall/Featureless 02 + + + world/tileset/whitespace/tileset.dat + + Model + wall_flat_02 + + + 0 + + + + Whitespace/Wall/Featureless 03 + + + world/tileset/whitespace/tileset.dat + + Model + wall_flat_03 + + + 0 + + + + Whitespace/Wall/Featureless 04 + + + world/tileset/whitespace/tileset.dat + + Model + wall_flat_04 + + + 0 + + + + Whitespace/Wall/Top - Block, raised x1 + + + world/tileset/whitespace/tileset.dat + + Model + wall_interior_block_raised_x1 + + + 0 + + + + Whitespace/Wall/Top - Interior x1 + + + world/tileset/whitespace/tileset.dat + + Model + wall_interior_base_x1 + + + 0 + + + + \ No newline at end of file diff --git a/rsrc/rsrc/config/tudey/scene.properties b/rsrc/rsrc/config/tudey/scene.properties new file mode 100644 index 0000000..4018a6e --- /dev/null +++ b/rsrc/rsrc/config/tudey/scene.properties @@ -0,0 +1,23 @@ +# +# $Id: scene.properties 6890 2010-04-12 22:05:52Z andrzej $ +# +# Tudey scene configuration + +# Elevation granularity in world units +elevation_scale = 0.5 + +# The camera's vertical field of view (in degrees) +camera_fov = 60 + +# Distances to the near and far clip planes +camera_near = 1 +camera_far = 100 + +# Sphere coordinates relative to the camera target +camera_azimuth = 0 +camera_elevation = 45 +camera_distance = 10 + +# Offset from target translation to camera target +camera_offset = 0, 0, 1 + diff --git a/rsrc/rsrc/config/variant.xml b/rsrc/rsrc/config/variant.xml new file mode 100644 index 0000000..f00419f --- /dev/null +++ b/rsrc/rsrc/config/variant.xml @@ -0,0 +1,645 @@ + + + + + Gear/Curse Resist 1 + + 32 + 5 + LOW + + + + Gear/Curse Resist 2 + + 32 + 10 + MEDIUM + + + + Gear/Curse Resist 3 + + 32 + 15 + HIGH + + + + Gear/Curse Resist 4 + + 32 + 25 + MAXIMUM + + + + Gear/Elemental Defense 1 + + 5 + + PC/Defense/Variant/Variant Base + + ELEMENTAL + + + + Gear/Elemental Defense 2 + + 10 + + PC/Defense/Variant/Variant Base +05 + + ELEMENTAL + MEDIUM + + + + Gear/Elemental Defense 3 + + 15 + + PC/Defense/Variant/Variant Base +10 + + ELEMENTAL + HIGH + + + + Gear/Elemental Defense 4 + + 25 + + PC/Defense/Variant/Variant Base +15 + + ELEMENTAL + MAXIMUM + + + + Gear/Fire Resist 1 + + 4 + 5 + LOW + + + + Gear/Fire Resist 2 + + 4 + 10 + MEDIUM + + + + Gear/Fire Resist 3 + + 4 + 15 + HIGH + + + + Gear/Fire Resist 4 + + 4 + 25 + MAXIMUM + + + + Gear/Freeze Resist 1 + + 8 + 5 + LOW + + + + Gear/Freeze Resist 2 + + 8 + 10 + MEDIUM + + + + Gear/Freeze Resist 3 + + 8 + 15 + HIGH + + + + Gear/Freeze Resist 4 + + 8 + 25 + MAXIMUM + + + + Gear/Normal Defense 1 + + 5 + + PC/Defense/Variant/Variant Base + + + + + Gear/Normal Defense 2 + + 10 + + PC/Defense/Variant/Variant Base +05 + + MEDIUM + + + + Gear/Normal Defense 3 + + 15 + + PC/Defense/Variant/Variant Base +10 + + HIGH + + + + Gear/Normal Defense 4 + + 25 + + PC/Defense/Variant/Variant Base +15 + + MAXIMUM + + + + Gear/Pierce Defense 1 + + 5 + + PC/Defense/Variant/Variant Base + + PIERCING + + + + Gear/Pierce Defense 2 + + 10 + + PC/Defense/Variant/Variant Base +05 + + PIERCING + MEDIUM + + + + Gear/Pierce Defense 3 + + 15 + + PC/Defense/Variant/Variant Base +10 + + PIERCING + HIGH + + + + Gear/Pierce Defense 4 + + 25 + + PC/Defense/Variant/Variant Base +15 + + PIERCING + MAXIMUM + + + + Gear/Poison Resist 1 + + 2 + 5 + LOW + + + + Gear/Poison Resist 2 + + 2 + 10 + MEDIUM + + + + Gear/Poison Resist 3 + + 2 + 15 + HIGH + + + + Gear/Poison Resist 4 + + 2 + 25 + MAXIMUM + + + + Gear/Shadow Defense 1 + + 5 + + PC/Defense/Variant/Variant Base + + SHADOW + + + + Gear/Shadow Defense 2 + + 10 + + PC/Defense/Variant/Variant Base +05 + + SHADOW + MEDIUM + + + + Gear/Shadow Defense 3 + + 15 + + PC/Defense/Variant/Variant Base +10 + + SHADOW + HIGH + + + + Gear/Shadow Defense 4 + + 25 + + PC/Defense/Variant/Variant Base +15 + + SHADOW + MAXIMUM + + + + Gear/Shock Resist 1 + + 16 + 5 + LOW + + + + Gear/Shock Resist 2 + + 16 + 10 + MEDIUM + + + + Gear/Shock Resist 3 + + 16 + 15 + HIGH + + + + Gear/Shock Resist 4 + + 16 + 25 + MAXIMUM + + + + Gear/Sleep Resist 1 + + 256 + 5 + LOW + + + + Gear/Sleep Resist 2 + + 256 + 10 + MEDIUM + + + + Gear/Sleep Resist 3 + + 256 + 15 + HIGH + + + + Gear/Sleep Resist 4 + + 256 + 25 + MAXIMUM + + + + Gear/Stun Resist 1 + + 1 + 5 + LOW + + + + Gear/Stun Resist 2 + + 1 + 10 + MEDIUM + + + + Gear/Stun Resist 3 + + 1 + 15 + HIGH + + + + Gear/Stun Resist 4 + + 1 + 25 + MAXIMUM + + + + Weapon/Attack Speed 1 + + LOW + 0.02 + + + + Weapon/Attack Speed 2 + + MEDIUM + 0.03 + + + + Weapon/Attack Speed 3 + + HIGH + 0.05 + + + + Weapon/Attack Speed 4 + + VERY_HIGH + 0.08 + + + + Weapon/Beast Damage 1 + + LOW + fam_beast + 0.05 + + + + Weapon/Beast Damage 2 + + MEDIUM + fam_beast + 0.1 + + + + Weapon/Beast Damage 3 + + HIGH + fam_beast + 0.15 + + + + Weapon/Beast Damage 4 + + VERY_HIGH + fam_beast + 0.25 + + + + Weapon/Charge Time 1 + + LOW + 0.05 + + + + Weapon/Charge Time 2 + + MEDIUM + 0.1 + + + + Weapon/Charge Time 3 + + HIGH + 0.15 + + + + Weapon/Charge Time 4 + + VERY_HIGH + 0.2 + + + + Weapon/Construct Damage 1 + + LOW + fam_construct + 0.05 + + + + Weapon/Construct Damage 2 + + MEDIUM + fam_construct + 0.1 + + + + Weapon/Construct Damage 3 + + HIGH + fam_construct + 0.15 + + + + Weapon/Construct Damage 4 + + VERY_HIGH + fam_construct + 0.25 + + + + Weapon/Fiend Damage 1 + + LOW + fam_fiend + 0.05 + + + + Weapon/Fiend Damage 2 + + MEDIUM + fam_fiend + 0.1 + + + + Weapon/Fiend Damage 3 + + HIGH + fam_fiend + 0.15 + + + + Weapon/Fiend Damage 4 + + VERY_HIGH + fam_fiend + 0.25 + + + + Weapon/Gremlin Damage 1 + + LOW + fam_gremlin + 0.05 + + + + Weapon/Gremlin Damage 2 + + MEDIUM + fam_gremlin + 0.1 + + + + Weapon/Gremlin Damage 3 + + HIGH + fam_gremlin + 0.15 + + + + Weapon/Gremlin Damage 4 + + VERY_HIGH + fam_gremlin + 0.25 + + + + Weapon/Slime Damage 1 + + LOW + fam_slime + 0.05 + + + + Weapon/Slime Damage 2 + + MEDIUM + fam_slime + 0.1 + + + + Weapon/Slime Damage 3 + + HIGH + fam_slime + 0.15 + + + + Weapon/Slime Damage 4 + + VERY_HIGH + fam_slime + 0.25 + + + + Weapon/Undead Damage 1 + + LOW + fam_undead + 0.05 + + + + Weapon/Undead Damage 2 + + MEDIUM + fam_undead + 0.1 + + + + Weapon/Undead Damage 3 + + HIGH + fam_undead + 0.15 + + + + Weapon/Undead Damage 4 + + VERY_HIGH + fam_undead + 0.25 + + + + \ No newline at end of file diff --git a/rsrc/rsrc/config/variant_table.xml b/rsrc/rsrc/config/variant_table.xml new file mode 100644 index 0000000..1b9c8cf --- /dev/null +++ b/rsrc/rsrc/config/variant_table.xml @@ -0,0 +1,1230 @@ + + + + + Damage Type Defense/Elemental Defense + + 1 + + + + 15.0 + + + Gear/Elemental Defense 1 + + + + + 4.0 + + + Gear/Elemental Defense 2 + + + + + + + Gear/Elemental Defense 3 + + + + + 0.5 + + + Gear/Elemental Defense 4 + + + + + + + + + Damage Type Defense/Normal Defense + + 1 + + + + 15.0 + + + Gear/Normal Defense 1 + + + + + 4.0 + + + Gear/Normal Defense 2 + + + + + + + Gear/Normal Defense 3 + + + + + 0.5 + + + Gear/Normal Defense 4 + + + + + + + + + Damage Type Defense/Pierce Defense + + 1 + + + + 15.0 + + + Gear/Pierce Defense 1 + + + + + 4.0 + + + Gear/Pierce Defense 2 + + + + + + + Gear/Pierce Defense 3 + + + + + 0.5 + + + Gear/Pierce Defense 4 + + + + + + + + + Damage Type Defense/Shadow Defense + + 1 + + + + 15.0 + + + Gear/Shadow Defense 1 + + + + + 4.0 + + + Gear/Shadow Defense 2 + + + + + + + Gear/Shadow Defense 3 + + + + + 0.5 + + + Gear/Shadow Defense 4 + + + + + + + + + Item/Armor, general + + + + + 0.02 + + + Damage Type Defense/Elemental Defense + + + + + 0.015 + + + Damage Type Defense/Normal Defense + + + + + 0.015 + + + Damage Type Defense/Pierce Defense + + + + + 0.015 + + + Damage Type Defense/Shadow Defense + + + + + 0.015 + + + Status Resist/Curse Resist + + + + + 0.015 + + + Status Resist/Fire Resist + + + + + 0.015 + + + Status Resist/Freeze Resist + + + + + 0.015 + + + Status Resist/Poison Resist + + + + + 0.015 + + + Status Resist/Shock Resist + + + + + 0.02 + + + Status Resist/Sleep Resist + + + + + 0.015 + + + Status Resist/Stun Resist + + + + + + + + + Item/Bomb, general + + + + + 0.02 + + + Weapon Speed/Charge Time + + + + + 0.02 + + + Tagged Damage/Beast Damage + + + + + 0.02 + + + Tagged Damage/Construct Damage + + + + + 0.02 + + + Tagged Damage/Fiend Damage + + + + + 0.02 + + + Tagged Damage/Gremlin Damage + + + + + 0.02 + + + Tagged Damage/Slime Damage + + + + + 0.02 + + + Tagged Damage/Undead Damage + + + + + + + + + Item/Handgun, general + + + + + 0.02 + + + Weapon Speed/Attack Speed + + + + + 0.02 + + + Weapon Speed/Charge Time + + + + + 0.02 + + + Tagged Damage/Beast Damage + + + + + 0.02 + + + Tagged Damage/Construct Damage + + + + + 0.02 + + + Tagged Damage/Fiend Damage + + + + + 0.02 + + + Tagged Damage/Gremlin Damage + + + + + 0.02 + + + Tagged Damage/Slime Damage + + + + + 0.02 + + + Tagged Damage/Undead Damage + + + + + + + + + Item/Helm, general + + + + + 0.015 + + + Damage Type Defense/Elemental Defense + + + + + 0.015 + + + Damage Type Defense/Normal Defense + + + + + 0.015 + + + Damage Type Defense/Pierce Defense + + + + + 0.015 + + + Damage Type Defense/Shadow Defense + + + + + 0.015 + + + Status Resist/Curse Resist + + + + + 0.015 + + + Status Resist/Fire Resist + + + + + 0.015 + + + Status Resist/Freeze Resist + + + + + 0.015 + + + Status Resist/Poison Resist + + + + + 0.015 + + + Status Resist/Shock Resist + + + + + 0.015 + + + Status Resist/Sleep Resist + + + + + 0.015 + + + Status Resist/Stun Resist + + + + + + + + + Item/Shield, general + + + + + 0.03 + + + Damage Type Defense/Elemental Defense + + + + + 0.03 + + + Damage Type Defense/Normal Defense + + + + + 0.03 + + + Damage Type Defense/Pierce Defense + + + + + 0.03 + + + Damage Type Defense/Shadow Defense + + + + + + + + + Item/Sword, general + + + + + 0.02 + + + Weapon Speed/Attack Speed + + + + + 0.02 + + + Weapon Speed/Charge Time + + + + + 0.02 + + + Tagged Damage/Beast Damage + + + + + 0.02 + + + Tagged Damage/Construct Damage + + + + + 0.02 + + + Tagged Damage/Fiend Damage + + + + + 0.02 + + + Tagged Damage/Gremlin Damage + + + + + 0.02 + + + Tagged Damage/Slime Damage + + + + + 0.02 + + + Tagged Damage/Undead Damage + + + + + + + + + Status Resist/Curse Resist + + 1 + + + + 15.0 + + + Gear/Curse Resist 1 + + + + + 4.0 + + + Gear/Curse Resist 2 + + + + + + + Gear/Curse Resist 3 + + + + + 0.5 + + + Gear/Curse Resist 4 + + + + + + + + + Status Resist/Fire Resist + + 1 + + + + 15.0 + + + Gear/Fire Resist 1 + + + + + 4.0 + + + Gear/Fire Resist 2 + + + + + + + Gear/Fire Resist 3 + + + + + 0.5 + + + Gear/Fire Resist 4 + + + + + + + + + Status Resist/Freeze Resist + + 1 + + + + 15.0 + + + Gear/Freeze Resist 1 + + + + + 4.0 + + + Gear/Freeze Resist 2 + + + + + + + Gear/Freeze Resist 3 + + + + + 0.5 + + + Gear/Freeze Resist 4 + + + + + + + + + Status Resist/Poison Resist + + 1 + + + + 15.0 + + + Gear/Poison Resist 1 + + + + + 4.0 + + + Gear/Poison Resist 2 + + + + + + + Gear/Poison Resist 3 + + + + + 0.5 + + + Gear/Poison Resist 4 + + + + + + + + + Status Resist/Shock Resist + + 1 + + + + 15.0 + + + Gear/Shock Resist 1 + + + + + 4.0 + + + Gear/Shock Resist 2 + + + + + + + Gear/Shock Resist 3 + + + + + 0.5 + + + Gear/Shock Resist 4 + + + + + + + + + Status Resist/Sleep Resist + + 1 + + + + 15.0 + + + Gear/Sleep Resist 1 + + + + + 4.0 + + + Gear/Sleep Resist 2 + + + + + + + Gear/Sleep Resist 3 + + + + + 0.5 + + + Gear/Sleep Resist 4 + + + + + + + + + Status Resist/Stun Resist + + 1 + + + + 15.0 + + + Gear/Stun Resist 1 + + + + + 4.0 + + + Gear/Stun Resist 2 + + + + + + + Gear/Stun Resist 3 + + + + + 0.5 + + + Gear/Stun Resist 4 + + + + + + + + + Tagged Damage/Beast Damage + + 1 + + + + 15.0 + + + Weapon/Beast Damage 1 + + + + + 4.0 + + + Weapon/Beast Damage 2 + + + + + + + Weapon/Beast Damage 3 + + + + + 0.5 + + + Weapon/Beast Damage 4 + + + + + + + + + Tagged Damage/Construct Damage + + 1 + + + + 15.0 + + + Weapon/Construct Damage 1 + + + + + 4.0 + + + Weapon/Construct Damage 2 + + + + + + + Weapon/Construct Damage 3 + + + + + 0.5 + + + Weapon/Construct Damage 4 + + + + + + + + + Tagged Damage/Fiend Damage + + 1 + + + + 15.0 + + + Weapon/Fiend Damage 1 + + + + + 4.0 + + + Weapon/Fiend Damage 2 + + + + + + + Weapon/Fiend Damage 3 + + + + + 0.5 + + + Weapon/Fiend Damage 4 + + + + + + + + + Tagged Damage/Gremlin Damage + + 1 + + + + 15.0 + + + Weapon/Gremlin Damage 1 + + + + + 4.0 + + + Weapon/Gremlin Damage 2 + + + + + + + Weapon/Gremlin Damage 3 + + + + + 0.5 + + + Weapon/Gremlin Damage 4 + + + + + + + + + Tagged Damage/Slime Damage + + 1 + + + + 15.0 + + + Weapon/Slime Damage 1 + + + + + 4.0 + + + Weapon/Slime Damage 2 + + + + + + + Weapon/Slime Damage 3 + + + + + 0.5 + + + Weapon/Slime Damage 4 + + + + + + + + + Tagged Damage/Undead Damage + + 1 + + + + 15.0 + + + Weapon/Undead Damage 1 + + + + + 4.0 + + + Weapon/Undead Damage 2 + + + + + + + Weapon/Undead Damage 3 + + + + + 0.5 + + + Weapon/Undead Damage 4 + + + + + + + + + Weapon Speed/Attack Speed + + 1 + + + + 15.0 + + + Weapon/Attack Speed 1 + + + + + 4.0 + + + Weapon/Attack Speed 2 + + + + + + + Weapon/Attack Speed 3 + + + + + 0.5 + + + Weapon/Attack Speed 4 + + + + + + + + + Weapon Speed/Charge Time + + 1 + + + + 15.0 + + + Weapon/Charge Time 1 + + + + + 4.0 + + + Weapon/Charge Time 2 + + + + + + + Weapon/Charge Time 3 + + + + + 0.5 + + + Weapon/Charge Time 4 + + + + + + + + + \ No newline at end of file diff --git a/rsrc/rsrc/config/wall.xml b/rsrc/rsrc/config/wall.xml new file mode 100644 index 0000000..ff4d1c5 --- /dev/null +++ b/rsrc/rsrc/config/wall.xml @@ -0,0 +1,24 @@ + + + + + + + Wall Test + + + Ground Test + + + + + + + + + \ No newline at end of file diff --git a/rsrc/rsrc/i18n/discord.properties b/rsrc/rsrc/i18n/discord.properties new file mode 100644 index 0000000..ce90b59 --- /dev/null +++ b/rsrc/rsrc/i18n/discord.properties @@ -0,0 +1,19 @@ +# +# $Id: thetya-server 2020-12-21 12:09 michael $ +# +# Translation messages for Thetya Discord services + +# +# Embeds + +m.embed_footer_node = Node: {0} + +m.embed_complaint_title = Complaint received +m.embed_complaint_desc = A complaint was filed and is ready for the Game Masters to be reviewed. \ + [Click here]({0}) to open the Support Office page regarding this complaint. +m.embed_complaint_by = By +m.embed_complaint_against = Against +m.embed_complaint_as_knight = {0} `(ID: {1})` as knight {2} `(ID: {3})` +m.embed_complaint_reason = Reason +m.embed_complaint_mail = Regarding a mail? +m.embed_complaint_chat = Chat log saved? diff --git a/rsrc/server.properties.temp b/rsrc/server.properties.temp new file mode 100644 index 0000000..eaaa3df --- /dev/null +++ b/rsrc/server.properties.temp @@ -0,0 +1,51 @@ +# +# $Id: thetya-server 2020-11-11 14:24 micha $ +# +# Configuration for a Thetya server instance + +# +# The private key to encrypt, decrypt and securely authenticate. +key.private = + +# +# The hostname this server will bind to. It will also listen to datagrams +# on this hostname unless you specify the hostname.datagram property. +hostname.bind = + +# +# The ports this server will listen on. Defaults to 47624. +ports.listen = 47624 + +# +# The ports this server will listen to datagrams on. Defaults to 47625. +ports.datagram = 47625 + +# +# Whether debug logging (all levels) should be enabled. +debug.verboselog = true + +# +# Server authenticator's class name - should extend +# ThetyaAuthenticator or the base presents Authenticator. +server.authenticator = com.github.thetya.server.ooo.OOOAuthenticator + +# +# Database settings for the ooo-user db. +db.userdb.driver = com.mysql.jdbc.Driver +db.userdb.url = jdbc:mysql://localhost:3306/snarbolax_userdb +db.userdb.username = snarbolax +db.userdb.password = snarbolax + +# +# Database settings for the account action db. +db.actiondb.driver = com.mysql.jdbc.Driver +db.actiondb.url = jdbc:mysql://localhost:3306/snarbolax_actiondb +db.actiondb.username = snarbolax +db.actiondb.password = snarbolax + +# +# Database settings for the main game db. +db.projectxdb.driver = com.mysql.jdbc.Driver +db.projectxdb.url = jdbc:mysql://localhost:3306/snarbolax_projectxdb +db.projectxdb.username = snarbolax +db.projectxdb.password = snarbolax \ No newline at end of file diff --git a/rsrc/threerings.properties b/rsrc/threerings.properties new file mode 100644 index 0000000..0848f30 --- /dev/null +++ b/rsrc/threerings.properties @@ -0,0 +1,29 @@ +# +# $Id: thetya-server 2020-11-16 12:37 micha $ +# +# Configuration for Three Rings services + +# +# Max subsequent failed logins for an IP address to perform +throttle.ip.maxlogins = 3 + +# +# The time period after which the throttle allows the IP address +# to log on again (in milliseconds) +throttle.ip.timeout = 120000 + +# +# Max subsequent failed logins for a given username to perform +throttle.user.maxlogins = 5 + +# +# The time period after which the throttle allows the given username +# to log on again (in milliseconds) +throttle.user.timeout = 120000 + +# +# Mail configuration for the invitation service. Leave username and +# password empty if you're testing on localhost and authentication is not required. +smtp.host = localhost +smtp.username = +smtp.password = \ No newline at end of file diff --git a/scenes/1.xml b/scenes/1.xml new file mode 100644 index 0000000..0a20085 --- /dev/null +++ b/scenes/1.xml @@ -0,0 +1,15230 @@ + + + + + haven.jpg + + + + + + 0, 0 + + + 2031630, 2555918, 2686980, 2686980, 2686980, 2883588, 3080196, 2228229, 2686980, 2686980, 2686980, 2686980, 2686980, 2686980, 3080196, 2228229, 2686980, 2686980, 2686980, 2686980, 2686980, 2752516, 3080196, 2818053, 2686980, 2686980, 2686980, 2686980, 2686980, 2686980, 3080196, 2818053, 1900548, 2097156, 2293764, 2293764, 2293764, 2293764, 2949124, 2818053, 3538940, 65532, 131068, 2228230, 2359302, 2818054, 1245190, 3211270, 1966082, 2162690, 1966082, 1966082, 1966082, 1966082, 1966082, 1966082, 1703934, 1048574, 1703934, 1048574, 1048574, 1703934, 1048574, 1703934 + + 1, 0 + + + 12255233, 1703933, 7143420, 7143420, 7536636, 327676, 65532, 786428, 12255233, 1703933, 7340028, 7143420, 8781820, 7077884, 327676, 131068, 12255233, 1703933, 7143420, 7340028, 8912892, 7536636, 9175036, 9895932, 12255233, 1703933, 7340028, 7143420, 7405564, 6881276, 10027007, 9633788, 12255233, 1703933, 7143420, 7405564, 6881276, 10354684, 9109503, 9830396, 12255233, 1703933, 6750204, 7536636, 720892, 10027007, 10289148, 9306108, 3538946, 655357, 7405564, 6881276, 262140, 9371647, 9830396, 9437181, 655358, 12976126, 6881276, 9961470, 327676, 9306108, 9502716, 327676 + + 2, 0 + + + 131068, 6684668, 7340028, -1, 6946836, 7208980, 6422548, 6422548, 7012348, 7274492, 7340028, 1245183, 6619156, 6422548, 6422548, 7405588, 7602172, 6815740, 7143420, 1245183, 7536660, 6488084, 6488084, 6488084, 10420221, 7602172, 6881276, 393215, 1376254, 1376254, 1376254, 1376254, 9437181, 131068, 6160380, 4128764, 4128764, 4128764, 4128764, 4128764, 9895933, 327676, 4128767, 5308432, 6357008, 5177360, 5177360, 5767184, 131068, 131068, 6094847, 5177363, 5308448, 5373984, 5308449, 5505042, 9437181, 327676, 6094847, 5177363, 5177379, 5439523, 6291489, 5505042 + + 3, 0 + + + 6684692, 7077908, 7077908, 6422548, 6684692, 7274516, 11730964, 7077908, 7340052, 6488084, 6750228, 7274516, 6422548, 8650772, -1, 6422548, 6815764, 3473428, 7536660, 6488084, 8650772, 13697044, 11665430, 6488084, 4063230, -1, 4063230, -1, 1376254, 3473407, -1, 20, 6094844, 4128764, 6094844, 6094844, 6160381, 1245183, 11796503, 3473428, 5177360, 6357008, 5177360, 5898257, 6094845, 524287, -1, 20, 5308448, 5767200, 5832737, 5177361, 4128765, 3801087, 7143444, 262164, 5177379, 5111843, 5177377, 5177361, 4128765, -1, 7143444, 20 + + 4, 0 + + + 4522007, 5046292, 4784148, 4587540, 4718613, 262164, 20, 20, 4718615, 4784148, 4587540, 4456468, 4522005, 20, 20, 262164, 4718615, 4784148, 5046292, 4456468, 7929877, 4522004, 4522004, 4522004, 4718615, 5308456, 6357032, 5177384, 5177384, 5767208, 5177384, 5308457, 4718615, 6357035, 5308472, 6291512, 5177400, 5374008, 5308473, 5177385, 4718615, 5373995, 5177403, 5111867, 6225977, 5505082, 5177401, 6291497, 4718615, 6291499, 5308475, 5242936, 5242936, 5242936, 5898298, 5177385, 4718615, 5832747, 5242920, 5242920, 5242920, 5242920, 5242920, 5308458 + + 5, 0 + + + 262164, 20, 65556, 12451863, 12320788, 12320788, 12320788, 12451861, 262164, 262164, 3473428, 12386327, 12582935, 12320788, 12582934, 12386326, 4522004, 4522004, 4653077, 262164, 12517399, 12320788, 12451861, 20, 4915220, 4915220, 4718613, 262164, 12386327, 12517398, 12386326, 20, 5046292, 4784148, 4522005, 20, 65556, 20, 262164, 20, 4587540, 4784148, 4718613, 262164, 20, 20, 655380, 65556, 4456468, 4915220, 4522005, 20, 12386324, 12451860, 12386325, 20, 5046292, 4456468, 4522005, 12386324, 12582932, 12320788, 12582933, 12386325 + + 6, 0 + + + -1, 131068, 131068, 327676, 131068, 131068, 131068, 3735549, 3407869, 131068, 3538940, 327676, 3670012, 65532, 131068, 65532, 524285, 65532, 131068, 65532, 3538940, 327676, 131068, 3538940, 3407869, 262140, 65532, 65532, 131068, 327676, 65532, 3866622, 1245181, 65532, 65532, 262140, 65532, 327676, 65532, -1, 524285, 65532, 65532, 3866621, -1, 3538940, 131068, 65532, 3407869, 131068, 131068, -1, -1, 327676, 65532, 3538940, 3407869, 3735551, 131068, 327676, 327676, 131068, 65532, 131068 + + 7, 0 + + + 393215, 1376254, 1376254, 1376254, 393214, 327676, 65532, 327676, 65532, 131068, 65532, 131068, 65532, 65532, 65532, 327676, 327676, 131068, 65532, 327676, 327676, 131068, 262140, 327676, -1, 327676, 65532, 65532, 262140, 131068, 262140, 65532, -1, 65532, 131068, 262140, 65532, 327676, 65532, 65532, 262140, 262140, 65532, 65532, 327676, 131068, 65532, 327676, 131068, 65532, 65532, 327676, 65532, 131068, 65532, 65532, 65532, 65532, 131068, 3538940, 65532, 65532, 327676, 262140 + + 8, 0 + + + 65532, 131068, 65532, 131068, 327676, 131068, 131068, 131068, 65532, 65532, 65532, 65532, 131068, 131068, 65532, 65532, 131068, 131068, 786431, 65532, 65532, 131068, 65532, 262140, 65532, 131068, 65532, 131068, 720892, 65532, 720892, 65532, 327676, 786431, 65532, 65532, 327676, 65532, 65532, 131068, 65532, 262140, 3538940, 327676, 327676, 131068, 65532, 327676, 131068, 327676, 262140, 720892, 131068, 65532, 65532, 65532, 3538940, 131068, 262140, 131068, 65532, 65532, 327676, 65532 + + 9, 0 + + + 65532, 131068, 3670012, 327676, 131068, 3473382, 393190, 131044, 65532, 720892, 65532, 131068, 3538940, 1245157, 131044, 65508, 327676, 131068, 131068, 65532, 131068, 458725, 131044, 65508, 65532, 262140, 65532, 65532, 131068, 458725, 131044, 65508, 65532, 262140, 327676, 262140, 65532, 524261, 65508, 262116, 327676, 65532, 65532, 65532, 327676, 3473381, 458724, 393189, 65532, 786431, 65532, 131068, 327676, 65532, 65532, 458725, 327676, 327676, 131068, 3538940, 65532, 327676, 262140, 1245157 + + 10, 0 + + + 3538916, 131044, -1, -1, 3538916, 983013, -1, -1, 65508, 131044, 327652, 327652, 327652, 1179621, -1, -1, 720868, 327652, 3538916, 327652, 65508, 1179621, -1, -1, 327652, 720868, 131044, 65508, 262116, 983013, -1, -1, 65508, 131044, 131044, 65508, 65508, 983013, -1, -1, 786407, 65508, 65508, 327652, 131044, 1179621, -1, -1, 327652, 65508, 65508, 720868, 327652, 1179621, -1, -1, 65508, 65508, 3538916, 131044, 65508, 3735525, 851941, -1 + + -6, -9 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 851940, 1179620, 983012, -1, 851940, 1179620, 1114084, -1, 3735524, 12451812, 12582884, 1179620, 3735524, 12451812, 12517348, 12582884, 12582884, 12648420, 12386276, 12451813, 65508, 12517351, 12386276, 12386276, 12386276, 12386276, 12386276 + + -7, -9 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 851940, 917476, -1, 983012, -1, -1, -1, 851940, 3735524, 12451812, 12517348, 12517348 + + -2, -9 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 983012, 983012, 983012, 983012, 983012, 983012, 983012, 983012, 65509, 327652, 65508, 65508, 131044, 65508, 65508, 327652 + + -10, 1 + + + -1, -1, -1, -1, -1, 983015, 65508, 65508, -1, -1, -1, 851940, 1179620, 3735524, 65508, 65508, -1, -1, -1, 983015, 65508, 131044, 720868, 327652, -1, -1, -1, 1179623, 3538916, 720868, 327652, 131044, -1, -1, 851940, 3735524, 327652, 131044, 65508, 262116, -1, 851940, 3735524, 131044, 65508, 131044, 262116, 262116, -1, 983015, 65508, 131044, 327652, 65508, 65508, 65508, -1, 917479, 65508, 65508, 65508, 327652, 3538916, 65508 + + -3, -9 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 983012, 983012, 983012, 983012, 983012, 983012, 983012, 983012, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509 + + -4, -9 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 983012, 983012, 983012, 983012, 983012, 983012, 983012, 983012, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509 + + -8, 1 + + + 20, 262164, 65556, 262164, 262164, 4063255, 5177387, 5177403, 196628, 196628, 20, 20, 65556, 6029335, 5177387, 5374011, 720916, 655380, 262164, 20, 20, 6029335, 5177387, 5308475, 20, 720917, 20, 20, 196628, 4063255, 5308459, 5242920, 65556, 262164, 3473428, 65556, 65556, 6094871, 4980756, 4980756, 655380, 20, 20, 20, 720916, 20, 20, 20, 20, 262164, 20, 20, 20, 20, 262164, 262164, 262164, 262164, 3473428, 65556, 20, 4653076, 4522004, 4522004 + + -9, 1 + + + 327652, 720868, 524263, 131068, 131068, 327676, 131068, 458751, 65508, 65508, 524263, 131068, 720892, 131068, 65532, 3407871, 131044, 65508, 524263, 65532, 327676, 131068, 65532, 458751, 65508, 65508, 458727, 65532, 131068, 65532, 327676, 3407871, 262116, 65508, 3407847, 65532, 131068, 262140, 65532, 3407871, 131044, 65508, 1245159, 65532, 65532, 131068, 131068, 458751, 131044, 3538916, 524263, 65532, 65532, 131068, 131068, 524287, 65508, 65508, 3407847, 65532, 65532, 65532, 65532, 524287 + + -5, -9 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 983012, 1179620, 851941, -1, -1, -1, -1, -1, 12582884, 12451813, 3735525, 851941, -1, -1, -1, -1, 12386276, 12648421, 12451813, 3735525, 983012, 983012, 983012, 983012, 12386276, 12386276, 12648421, 12517348, 12451813, 65509, 65509, 65509 + + -6, 1 + + + 20, 262164, 4718615, 5177387, 5308472, 5767224, 5374008, 5177400, 20, 20, 4522007, 5570603, 5177403, 6225977, 5701689, 5505081, 20, 20, 4718615, 6357035, 5177403, 5636155, 5111864, 5636154, 3473428, 262164, 4718615, 5177387, 5177403, 5701691, 5636152, 5111867, 20, 65556, 4718615, 5177387, 5832763, 5242936, 5242936, 5242936, 20, 20, 4522007, 5898283, 5242920, 5242920, 5242920, 5242920, 20, 3473428, 4653079, 4980756, 4980756, 4980756, 4980756, 4980756, 458772, 393236, 1179668, 3735572, -1, 393236, 3342356, 524308 + + 1, -9 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 983012, 983012, 983012, 851941, -1, -1, -1, -1, 65509, 65509, 65509, 3735525, 851941, -1, -1, -1 + + -7, 1 + + + 5439545, 5505081, 5636152, 5570617, 6357033, 4063253, 262164, 65556, 5439547, 5701688, 5111864, 5767225, 6291497, 6029333, 20, 65556, 5242936, 5242936, 5242936, 5308474, 5177385, 6029333, 20, 65556, 5242920, 5242920, 5242920, 5242920, 5308458, 6029333, 20, 20, 4980756, 4980756, 4980756, 6160404, -1, 6094870, 65556, 20, 20, 20, 262164, 20, 20, 20, 20, 262164, 20, 20, 20, 20, 262164, 20, 20, 20, 4522004, 4718612, 4718612, 4522004, 4718612, 4522004, 4653077, 327700 + + 0, -9 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 983012, 983012, 983012, 983012, 983012, 983012, 983012, 983012, 131044, 65508, 65508, 327654, 262118, 131046, 131046, 65510 + + -4, 1 + + + 12451885, 3407893, 393236, 327701, 14417943, 4849684, 15269909, 9502740, 12582957, 12517420, 12386349, 393237, 14483479, 5046292, 7667733, 14417940, 12320812, 12320812, 12517421, 1179669, 15007765, 4849684, 4456470, 5308456, 12320812, 12320812, 12517421, 1179669, -1, 4784148, 4849684, 5177387, 12320812, 12320812, 12451885, 3735573, 4980757, 4915222, 4849684, 5177387, 12320812, 12320812, 12451885, -1, 4980757, 4849684, 4849684, 5177387, 12320812, 12320812, 12648493, 3342357, 6094871, 15007764, -1, 5373995, 12320812, 12320812, -1, 3407893, 524308, -1, 327701, 5898283 + + -1, -9 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 983012, 983012, 983012, 983012, 983012, 983012, 983012, 983012, 65508, 65508, 131044, 65508, 65508, 327652, 65508, 65508 + + -5, 1 + + + 5308473, 6357033, 4522005, 3342359, 12517423, 12320812, 12320812, 12320812, 5177401, 6357033, 4522005, 458775, 12517423, 12320812, 12320812, 12320812, 6357049, 6291497, 4718613, 458775, 12451887, 12320812, 12320812, 12320812, 5374009, 6357033, 4522005, 458775, 12451887, 12320812, 12320812, 12320812, 5308474, 6357033, 4522005, 3735575, 12451887, 12320812, 12320812, 12320812, 5242920, 5898282, 4718613, -1, 12517423, 12320812, 12320812, 12320812, 4980756, 4980756, 4653078, 393239, 12517423, 12320812, 12320812, 12320812, -1, 458772, 458772, 3407892, 12517423, 12320812, 12320812, 12320812 + + -2, 1 + + + 7536636, 9371646, 9306108, 9371644, 9699325, 6684668, 7143420, 7536636, 7536636, 9437183, 9568252, 9568252, 9437181, 7602172, 6553596, 6881276, 7536636, 9895935, 9764860, 9306108, 9109500, 9961470, 65532, 65532, 6881276, 10223615, 9371646, 9568252, 9830396, 9371644, 9175037, 327676, 7077884, 65532, 9961471, 9109502, 9306108, 9568252, 9437181, 65532, 7536636, 327676, 65532, 10223615, 9437182, 327676, 65532, 65532, 393213, 7077884, 10158078, 262140, 10092542, 9175036, 9437180, 9437180, 458749, 8781820, 7077884, 65532, 10158078, 9109503, 9240572, 9306108 + + -3, 1 + + + 9764884, 9240596, 9502740, 15204375, 4915220, 14942229, 589821, 7143420, 3932180, -1, 15269908, 7667732, 4849684, 14417941, -1, 7340028, 14155788, 14155788, 5832745, 4849684, 5046292, 15138837, 589821, 7143420, 14155788, 14155788, 5177385, 4915220, 4915220, -1, -1, 7405564, 5505067, 5439528, 5177385, 4849687, 4456471, 6029333, 3407869, 8781820, 5439529, 5701673, 5177385, 4587542, 4915220, 6029333, 524285, 7143420, 5701673, 5701672, 6357033, 4915220, 4849687, 4063253, 3473405, 458748, 5242920, 5242920, 5308458, 4915220, 5046295, 6029333, 6881300, 7012372 + + 0, 1 + + + 9830396, 9633788, 9502716, 9306108, 9502716, 10420221, 9306108, 65532, 9240572, 9306108, 65532, 65532, 65532, 9437181, 65532, 131068, 9306108, 327676, 65532, 65532, 9437181, 9371644, 327676, 65532, 327676, 9502716, 65532, 327676, 65532, 9764860, 9568252, 65532, 9830396, 9306108, 9568252, 9502716, 9764860, 9830396, 9502716, 65532, 9502716, 9830396, 9830396, 9830396, 9764860, 65532, 65532, 65532, 9764860, 9502716, 9764860, 9502716, 10289148, 65532, 65532, 65532, 65532, 65532, 65532, 65532, 65532, 65532, 65532, 65532 + + -1, 1 + + + 9633788, 131068, 9830396, 9240572, 9830396, 9830396, 9568252, 9764860, 65532, 131068, 131068, 10223615, 9109502, 327676, 65532, 65532, 327676, 131068, 65532, 65532, 9371647, 131068, 65532, 65532, 65532, 327676, 65532, 65532, 9568252, 327676, 720892, 131068, 65532, 9437181, 327676, 9240572, 9568252, 9830396, 9830396, 9502716, 131068, 9830396, 65532, 65532, 65532, 9764860, 9502716, 9764860, 9699325, 9306108, 65532, 65532, 65532, 10289148, 9764860, 9830396, 9371644, 9568252, 65532, 65532, 65532, 65532, 65532, 65532 + + 3, 1 + + + 5898275, 5242912, 5308450, 5177361, 6094845, 524287, 7143444, 65556, 5242896, 5242896, 5242896, 5308434, 6094845, 524287, 7143444, 6946836, 5046268, 5046268, 5046268, 5046268, 6160382, 1245183, 11599892, 6619156, 3801084, -1, 3801084, -1, 524284, 3473404, 11599892, 6619156, 8257556, 8454164, 8519700, 8454164, 11993108, -1, 8257556, 7536660, 7143444, 20, 6619156, 6422548, 7274516, 7471124, 6946836, 6881300, 11599892, 20, 6619156, 6422548, 6422548, 7471124, 6619156, 6684692, 7143444, 6881300, 7208980, 8781844, 7340052, 6815764, 6619156, 7274516 + + 4, 1 + + + 4653079, 4980756, 4980756, 4980756, 4980756, 4980756, 4980756, 4980756, 6881300, 6881300, 327700, 12386348, 12451884, 12517420, 12517420, 12451884, 6684692, 327700, 3407892, 12517423, 12320812, 12320812, 12320812, 12320812, 7274516, 3735575, 12386348, 12582956, 12320812, 12320812, 12320812, 12320812, 6750228, -1, 12451887, 12320812, 12320812, 12320812, 12320812, 12320812, 7208980, 3342359, 12386351, 12451886, 12451886, 12451886, 12451886, 12451886, 7471124, 458775, 262188, 12386348, 12517420, 12451884, 12451884, 12451884, 7471124, 458775, 12386348, 12582956, 12320812, 12320812, 12320812, 12320812 + + 1, 1 + + + 65532, 9568252, 131068, 10027007, 9502716, 9502716, 9568252, 9502716, 327676, 3538940, 720892, 10027007, 9568252, 9568252, 9830396, 9568252, 131068, 131068, 10354684, 9371647, 9306108, 9830396, 9764860, 131068, 65532, 131068, 10027007, 9830396, 9502716, 327676, 9437181, 10158078, 720892, 65532, 9437181, 9568252, 9371644, 131068, 10158078, 7012348, 65532, 327676, 131068, 327676, 9437181, 10158078, 7012348, 7274492, 65532, 9437181, 9437181, 9437181, 10354684, 7012348, 7274492, 7143420, 65532, 10027007, 327676, 9306108, 9240572, 6684668, 7143420, 65532 + + 2, 1 + + + 10420221, 131068, 4128767, 5177363, 5898275, 5242912, 5308450, 5111826, 10420221, 10420221, 4128767, 5308435, 5242896, 5242896, 5242896, 5242896, 327676, 7012348, 6160383, 5046268, 6225916, -1, 5046268, 5046268, 7012348, 7274492, 393212, 524284, 1245180, 589820, -1, 524284, 7274492, 65532, 458751, 8257556, 11993108, -1, 8519700, 8519700, 393212, 524284, 3473404, 20, 20, 6946836, 6881300, 7012372, 524287, 6946836, 6881300, 6881300, 6881300, 7208980, 6422548, 7471124, 524287, 6619156, 7077908, 6422548, 6684692, 6684692, 6422548, 8716308 + + 7, 1 + + + 65532, 65532, 131068, 131068, 262140, 65532, 131068, 131068, -1, 327676, 131068, 65532, 65532, 65532, 327676, 327676, -1, 65532, 65532, 65532, 131068, 262140, 786431, 327676, 65532, 131068, 131068, 131068, 327676, 131068, 65532, 131068, 65532, 327676, 131068, 327676, 3538940, 327676, 131068, 65532, 65532, 131068, 65532, 65532, 327676, 65532, 131068, 327676, 65532, 65532, 327676, 131068, 131068, 327676, 262140, 65532, 131068, 262140, 65532, 65532, 65532, 65532, 65532, 131068 + + 8, 1 + + + 65532, 131068, 65532, 131068, 131068, 65532, 131068, 65532, 65532, 131068, 65532, 65532, 131068, 327676, 131068, 131068, 720892, 327676, 262140, 131068, 131068, 65532, 262140, 327676, 131068, 65532, 65532, 65532, 131068, 65532, 65532, 65532, 327676, 65532, 65532, 65532, 65532, 65532, 327676, 65532, 131068, 65532, 327676, 131068, 65532, 131068, 131068, 65532, 65532, 3538940, 131068, 131068, 131068, 131068, 65532, 131068, 65532, 327676, 262140, 262140, 65532, 262140, 327676, 3538940 + + 5, 1 + + + 4980756, 4980756, 4653078, 12517399, 12320788, 12320788, 12320788, 12517397, 12517420, 12386349, 12517396, 12582932, 12320788, 12320788, 12320788, 12451861, 12320812, 12779565, 12320788, 12320788, 12320788, 12320788, 12320788, 12517397, 12320812, -1, 12320788, 12320788, 12320788, 12320788, 12320788, 12517397, 12320812, 12451885, 12320788, 12320788, 12320788, 12320788, 12320788, 12451861, 12451886, 12386350, 12320788, 12320788, 12320788, 12320788, 12582934, 12386326, 12386349, 12386327, 12451862, 12451862, 12451862, 12517398, 12386326, 20, 12451885, 20, 262164, 262164, 262164, 65556, 262164, 65556 + + 6, 1 + + + 458749, 3735548, 131068, 262140, 65532, 65532, 720892, 327676, 3407869, 65532, 327676, 327676, 3538940, 131068, 327676, 7864316, 458749, 131068, 65532, 327676, 3670012, 720892, 65532, -1, 458749, 131068, 3670012, 327676, 65532, 65532, 65532, 65532, 3801085, 65532, 3538940, 327676, 327676, 65532, 65532, 65532, -1, 327676, 327676, 65532, 131068, 65532, 131068, 65532, 3407869, 327676, 131068, 131068, 131068, 327676, 65532, 131068, 1245181, 65532, 65532, 65532, 262140, 65532, 131068, 327676 + + 9, 1 + + + 65532, 3538940, 65532, 65532, 131068, 65532, 65532, 524261, 65532, 65532, 131068, 65532, 65532, 65532, 65532, 458725, 65532, 65532, 3538940, 65532, 3538940, 65532, 3538940, 524261, 327676, 262140, 65532, 65532, 65532, 65532, 131068, 458725, 65532, 327676, 131068, 327676, 65532, 327676, 131068, 524261, 327676, 327676, 327676, 65532, 65532, 131068, 65532, 458725, 786428, 327676, 65532, 65532, 65532, 327676, 262140, 1245157, 3538940, 131068, 327676, 720892, 131068, 65532, 65532, 3407845 + + 10, 1 + + + 3538916, 65508, 65508, 262116, 65508, 65508, 1114085, -1, 327652, 3538916, 65508, 65508, 131044, 131044, -1, -1, 65508, 131044, 327652, 131044, 327652, 65508, 1179621, -1, 65508, 65508, 3538916, 131044, 131044, 65508, 983013, -1, 131044, 65508, 65508, 327652, 65508, 327652, 1179621, -1, 65508, 131044, 262116, 131044, 131044, 327652, 1179621, -1, 262116, 65508, 65508, 65508, 131044, 262116, 1179621, -1, 65508, 131044, 131044, 131044, 327652, 65508, 983013, -1 + + -11, 2 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 851940, -1, -1, -1, -1, -1, -1, -1, 983015, -1, -1, -1, -1, -1, -1, -1, 1179623 + + -7, 2 + + + 5308456, 5177384, 5177384, 6291496, 5177384, 5308457, 4522005, 1179671, 6357035, 5832760, 5177400, 5374008, 5308473, 6357033, 4718613, 458775, 5177387, 5767227, 5439545, 5439546, 5177401, 5570601, 4718613, 1179671, 12189736, 5177403, 5505082, 5636152, 5570617, 5177385, 4522005, 5963799, 5636136, 5177403, 5636153, 5505080, 5177401, 5177385, 4522005, -1, 6225960, 5308475, 5242936, 5242936, 5308474, 5177385, 4718613, -1, 5242920, 5832746, 5242920, 5242920, 5242920, 5308458, 4718613, -1, -1, 4980756, 4980756, 4980756, 4980756, 4980756, 4653078, 3342359 + + -8, 2 + + + 20, 65556, 262164, 262164, 65556, 4522007, 4587540, 4915220, 20, 65556, 65556, 20, 20, 4718615, 5046292, 4784148, 262164, 20, 262164, 20, 65556, 4522007, 4587540, 4849684, 196628, 20, 3473428, 20, 262164, 4522007, 5308456, 5177384, 20, 20, 262164, 262164, 65556, 4522007, 6357035, 5636139, 20, 262164, 262164, 20, 20, 4522007, 6357035, 6225961, 3473428, 196628, 20, 262164, 20, 4522007, 5308459, 5242920, 262164, 20, 655380, 3473428, 262164, 4653079, 4980756, 7864340 + + -9, 2 + + + 65508, 65508, 458727, 262140, 65532, 65532, 327676, 1245183, 131044, 65508, 3407847, 327676, 327676, 65532, 65532, 524287, 65508, 327652, 524263, 65532, 131068, 65532, 65532, 458751, 262116, 327652, 3407847, 327676, 131068, 262140, 65532, 524287, 65508, 65508, 458727, 327676, 65532, 131068, 65532, 524287, 65508, 131044, 524263, 65532, 65532, 65532, 131068, 524287, 3538916, 65508, 524263, 65532, 65532, 327676, 65532, 524287, 65508, 131044, 524263, 262140, 131068, 327676, 131068, 3407871 + + -10, 2 + + + -1, -1, 65508, 262116, 131044, 131044, 131044, 131044, -1, 1179623, 262116, 3538916, 262116, 327652, 65508, 65508, -1, 983015, 65508, 65508, 65508, 327652, 65508, 65508, 851940, 3735524, 65508, 65508, 65508, 327652, 65508, 65508, 983015, 131044, 65508, 65508, 65508, 131044, 65508, 65508, 3735524, 786406, 65508, 131044, 131044, 65508, 65508, 65508, 65508, 786406, 65508, 131044, 786404, 327652, 131044, 65508, 327652, 3538916, 65508, 131044, 65508, 131044, 65508, 131044 + + -3, 2 + + + 4980756, 4980756, 4980756, 4980756, 4980756, 6094870, 8781844, 7471124, -1, -1, -1, 5963796, -1, -1, -1, 524308, -1, -1, -1, 12451884, 12451884, 12648492, -1, 12451884, -1, -1, -1, -1, 12320812, 12320812, 12320812, 12320812, 12320812, 12582958, 12517422, 12451886, 12517422, 12451886, 12451886, 12451886, 12320812, 12517421, 3407894, 1310742, 1310742, 1310742, 3997718, -1, 12320812, 12517421, 393237, 6094868, 6029332, 6029332, 6029332, 6029332, 12320812, 12451885, 1179669, 4063255, 5308456, 5177384, 5570600, 6357032 + + -4, 2 + + + 12320812, 12320812, 12582957, 12517420, 12517420, 12386349, 3342357, 6094871, 12320812, 12320812, 12320812, 12320812, 12320812, 12517421, 3407893, 5963796, 12320812, 12320812, 12320812, 12320812, 12320812, 12582957, 12517420, 15073324, 12320812, 12320812, 12320812, 12320812, 12320812, -1, -1, -1, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12517422, 12517422, 12582959, 12320812, 12320812, 12320812, 12320812, 12320812, 393260, 327725, 12451887, 12320812, 12320812, 12320812, 12320812, 12320812, 68, 3342381, 12451887, 12320812, 12320812, 12320812, 12320812, 12320812 + + -5, 2 + + + 44, 262188, 44, 44, 12517423, 12320812, 12320812, 12320812, 262188, 65580, 44, 44, 12451887, 12320812, 12320812, 12320812, 12517420, 12451884, 12517420, 12517420, 12582956, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12582958, 12451886, 12451886, 12517422, 12451886, 12320812, 12320812, 12320812, 12517421, 327724, 524332, -1, 3342380, 12320812, 12320812, 12320812, 12451885, 393263, 262212, 68, 68 + + -6, 2 + + + 262188, 262188, 44, 44, 65580, 65580, 196652, 196652, 44, 44, 44, 44, 44, 44, 44, 196652, 65580, 262188, 262188, 262188, 262188, 44, 44, 12386348, 44, 44, 262188, 65580, 44, 44, 262188, 12451887, 44, 44, 65580, 262188, 44, 65580, 3473452, 12517423, 44, 44, 44, 3473452, 65580, 44, 44, 12517423, 262188, 65580, 44, 44, 12386348, 12451884, 12517420, 12582956, 44, 3473452, 655404, 65580, 12451887, 12320812, 12320812, 12320812 + + 1, 2 + + + 393213, 9306108, 9764860, 9830396, 9502716, 393212, 524284, 524284, 4194301, -1, 4325373, 4325373, 4390911, -1, 262164, 4653076, -1, -1, -1, -1, -1, -1, 20, 4522007, -1, -1, -1, -1, -1, -1, 262164, 14352407, -1, -1, -1, -1, -1, -1, 20, -1, -1, -1, -1, -1, -1, -1, 3473428, 14221335, -1, -1, -1, -1, -1, -1, 20, 4522007, 9961495, 9437204, 9502740, 9502740, 9437204, 9830421, 262164, 14090263 + + 0, 2 + + + 65532, 65532, 65532, 65532, 65532, 65532, 393212, 458748, 65532, 65532, 65532, 65532, 65532, 65532, 3801087, 3473428, 65532, 10223615, 65532, 65532, 10223615, 65532, -1, 65556, 65532, 65532, 65532, 65532, 65532, 65532, 524287, 65556, 65532, 65532, 65532, 65532, 65532, 65532, 1245183, 262164, 10354684, 65532, 65532, 65532, 65532, 65532, 458751, 65556, 65532, 65532, 327676, 10223615, 65532, 65532, 458751, 20, 65532, 65532, 65532, 65532, 65532, 65532, 524287, 20 + + -1, 2 + + + 9502716, 393212, 524284, 393213, 65532, 65532, 65532, 65532, 4390911, -1, 65556, 3801085, 65532, 65532, 65532, 65532, -1, -1, 65556, -1, 65532, 65532, 65532, 65532, -1, -1, 20, 458749, 65532, 10223615, 65532, 327676, -1, -1, 20, 458749, 65532, 65532, 10092542, 65532, -1, -1, 65556, 589821, 65532, 65532, 65532, 65532, -1, -1, 20, -1, 65532, 65532, 10354684, 65532, 9240596, 9830421, 65556, 524285, 65532, 65532, 65532, 65532 + + -2, 2 + + + 3473405, 524284, 589820, -1, 393213, 9306108, 9568252, 9633788, -1, 327701, 8257556, 7012372, 4194301, -1, 4325373, 4325373, 12386349, 3342357, 11599892, 7471124, -1, -1, -1, -1, 12451885, 458773, 11599892, 7471124, -1, -1, -1, -1, 12386350, 458773, 7143444, 7471124, -1, -1, -1, -1, 1310742, 327702, 8257556, 6815764, -1, -1, -1, -1, 6029332, 4063252, 6094869, 196628, -1, -1, -1, -1, 5177384, 5308457, 4063253, 65556, 9961495, 9437204, 9502740, 9699348 + + 6, 2 + + + 1245181, 65532, 262140, 131068, 327676, 131068, 131068, 131068, 1245181, 3538940, 65532, 131068, 65532, 65532, 262140, 327676, 3801085, 131068, 3866621, -1, 65532, 65532, 65532, 65532, -1, 65532, -1, -1, 3538940, 65532, 131068, 65532, 524285, 65532, 65532, 327676, 65532, 327676, 262140, 327676, 3407869, 65532, 131068, 65532, 65532, 65532, 65532, 720892, 393214, 65532, 262140, 327676, 3538940, 65532, 65532, 65532, 3735551, 327676, 131068, 65532, 327676, 65532, 327676, 65532 + + 7, 2 + + + 65532, 65532, 327676, 65532, 65532, 65532, 131068, 327676, 262140, 327676, 65532, 327676, 3538940, 786431, 131068, 65532, 65532, 65532, 65532, 65532, 262140, 65532, 65532, 327676, 131068, 327676, 327676, 327676, 131068, 131068, 131068, 65532, 65532, 65532, 131068, 65532, 327676, 131068, 131068, 131068, 131068, 65532, 131068, 327676, 65532, 65532, 65532, 327676, 65532, 131068, 131068, 65532, 131068, 65532, 720892, 65532, 131068, 65532, 65532, 65532, 65532, 131068, 65532, 3538940 + + 8, 2 + + + 327676, 65532, 262140, 65532, 65532, 65532, 65532, 65532, 131068, 131068, 327676, 65532, 262140, 65532, 65532, 65532, 131068, 65532, 327676, 327676, 65532, 262140, 327676, 327676, 131068, 131068, 65532, 65532, 65532, 3538940, 327676, 65532, 327676, 131068, 65532, 65532, 65532, 65532, 65532, 65532, 65532, 65532, 65532, 65532, 327676, 65532, 720892, 131068, 65532, 65532, 131068, 65532, 327676, 327676, 131068, 65532, 65532, 65532, 65532, 65532, 65532, 131068, 65532, 131068 + + 9, 2 + + + 65532, 65532, 131068, 3538940, 327676, 3538940, 131068, 458725, 131068, 65532, 65532, 65532, 262140, 3538940, 65532, 3407845, 65532, 65532, 65532, 65532, 262140, 65532, 131068, 524261, 327676, 65532, 65532, 65532, 131068, 65532, 262140, 524261, 131068, 65532, 65532, 65532, 131068, 65532, 65532, 524261, 65532, 65532, 262140, 131068, 65532, 65532, 65532, 458725, 65532, 65532, 65532, 131068, 65532, 65532, 65532, 3407845, 327676, 65532, 131068, 262140, 65532, 65532, 65532, 1245157 + + 2, 2 + + + 3473404, 6619156, 6422548, 7077908, 8781844, 7077908, 6422548, 6422548, 4522004, 14286868, 4718612, 4718612, 4718612, 4522004, 4522004, 4653077, 5308456, 6291496, 5177384, 5177384, 5177384, 5308457, 4849684, 4718613, 6357035, 5439529, 5111849, 5439530, 5111850, 5177385, 4456468, 4522005, 5177387, 5505067, 5505067, 12189738, 5242920, 5832746, 4849684, 4522005, 5570603, 5636137, 5111849, 5177385, 4849684, 5046292, 5046292, 4522005, 5177387, 5439531, 5636139, 5177385, 5046292, 7929878, 4980756, 4653078, 5308459, 5242920, 5242920, 5832746, 4915220, 4522005, 65556, 20 + + 3, 2 + + + 8257556, 6422548, 6684692, 7274516, 7471124, 65556, 7536660, 6488084, 8060948, 6684692, 7077908, 7340052, 6815764, 3604500, 327700, 458772, 8388628, 6684692, 8847380, 7471124, 327700, 458772, 3407892, 12386348, 8388628, 6684692, 6684692, 7471124, 3342359, 12386348, 12451884, 12582956, 8388628, 6422548, 7274516, 7471124, 393239, 12451887, 12320812, 12320812, 8388628, 6422548, 6422548, 7471124, 393239, 12386351, 12517422, 12451886, 8060948, 6488084, 6488084, 6815764, 1179671, 262188, 262188, 44, 8257556, 327700, 393236, 393236, 3407892, 12386348, 12517420, 12386349 + + 4, 2 + + + 6815764, 458775, 12451887, 12320812, 12320812, 12320812, 12320812, 12320812, 3342356, 3407892, 12517423, 12320812, 12320812, 12320812, 12320812, 12320812, 12451884, 12386349, 12451887, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12582957, 12582956, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12582958, 12451886, 12582959, 12320812, 12320812, 12320812, 12320812, 12320812, 12517421, 65556, 12517423, 12320812, 12320812, 12320812, 12320812, 12582958, 12386350, 20, 12451887, 12320812, 12320812, 12320812, 12582958, 12386350, 65556, 20 + + 5, 2 + + + 12451885, 65556, 65556, 65556, 20, 262164, 20, 3473428, 12517421, 20, 20, 20, 65556, 20, 20, 196628, 12451885, 65556, 65556, 20, 20, 20, 65556, 20, 12451885, 65556, 262164, 3473428, 20, 196628, 3473428, 262164, 12386350, 20, 65556, 3473428, 262164, 262164, 65556, 65556, 20, 262164, 20, 65556, 720916, 262164, 3473428, 65556, 65556, 20, 65556, 196628, 20, 20, 65556, 3473406, 196628, 20, 20, 7798804, -1, 20, 262164, 1245181 + + 10, 2 + + + 65508, 65508, 65508, 65508, 65508, 131044, 1179621, -1, 65508, 65508, 131044, 65508, 262116, 3735526, 851942, -1, 65508, 65508, 327652, 65508, 65508, 1179621, -1, -1, 65508, 131044, 65508, 131044, 131044, 1179621, -1, -1, 3669988, 131044, 262116, 262116, 65508, 1179621, -1, -1, 65508, 262116, 3538916, 65508, 65508, 1179621, -1, -1, 65508, 131044, 65508, 3538916, 327652, 1114085, -1, -1, 65508, 65508, 262116, 720868, 327652, -1, -1, -1 + + -8, 3 + + + 262164, 20, 262164, 327700, 458772, 393236, 3735572, -1, 262164, 20, 20, 458775, 327724, 4390956, -1, -1, 65556, 20, 262164, 1179671, 393263, 327748, 4390980, -1, 65556, 20, 720919, 393239, 1179695, 1179719, 262236, 65628, 20, 20, 20, 458775, 458799, 5963847, 196700, 65628, 262164, 20, 655380, 393239, 458799, -1, 92, 65628, 65556, 262164, 65556, 393239, 1179695, -1, 65628, 92, 20, 20, 20, 3735575, 458799, -1, 65628, 262236 + + -9, 3 + + + 327652, 131044, 458727, 131068, 65532, 65532, 65532, 458751, 720868, 720868, 1245159, 65532, 65532, 65532, 327676, 1245183, 131044, 131044, 524263, 65532, 65532, 65532, 3538940, 1245183, 65508, 131044, 524263, 327676, 327676, 65532, 131068, 524287, 65508, 3538916, 524263, 786429, 65532, 786428, 65532, 3407871, 65508, 327652, 1245159, 65532, 131068, 327676, 65532, 3407871, 131044, 65508, 1245159, 65532, 65532, 131068, 65532, 1245183, 262116, 393188, 3473380, 65532, 65532, 131068, 720892, 1245183 + + -6, 3 + + + 3473452, 44, 44, 44, 12517423, 12320812, 12320812, 12320812, 44, 44, 44, 44, 12517423, 12320812, 12320812, 12320812, 262188, 262188, 44, 44, 12386351, 12517422, 12451886, 12517422, 44, 44, 44, 44, 65580, 262188, 44, 44, 3473452, 65580, 44, 65580, 44, 65580, 44, 65580, 3473452, 262188, 3473452, 44, 44, 65580, 44, 44, 196652, 44, 3473452, 44, 44, 44, 44, 65580, 262188, 44, 44, 44, 65580, 44, 44, 65580 + + -7, 3 + + + 393236, 458772, 1179668, 393236, 393236, 393236, 1179668, 3407892, -1, 393260, 1179692, 393260, 3342380, 393260, 327725, 3473452, -1, -1, 1179716, 327749, 68, 65604, 458797, 44, 92, 65628, 262236, 3407941, 327749, 65604, 3735597, 262188, 92, 65628, 92, 92, 393285, 65604, -1, 65580, 92, 92, 92, 65628, 458821, 68, 3735597, 262188, 92, 92, 655452, 92, 3342405, 68, -1, 44, 92, 196700, 92, 65628, 3342405, 65604, 3342381, 44 + + -10, 3 + + + 3538916, 65508, 65508, 65508, 65508, 131044, 131044, 65508, 65508, 65508, 131044, 131044, 262116, 65508, 3538916, 65508, 3538916, 3538916, 65508, 131044, 65508, 131044, 131044, 65508, 131044, 327652, 327652, 65508, 65508, 65508, 131044, 131044, 131044, 65508, 262116, 327652, 131044, 131044, 65508, 262116, 131044, 65508, 327652, 262116, 65508, 131044, 131044, 65508, 131044, 327652, 327652, 65508, 65508, 65508, 262116, 131044, 65508, 327652, 327652, 327652, 327652, 720868, 262116, 131044 + + -11, 3 + + + -1, -1, -1, -1, -1, -1, -1, 983015, -1, -1, -1, -1, -1, -1, -1, 1179623, -1, -1, -1, -1, -1, -1, -1, 917479, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1179623, -1, -1, -1, -1, -1, -1, -1, 983015, -1, -1, -1, -1, -1, -1, -1, 983015, -1, -1, -1, -1, -1, -1, -1, 983015 + + 0, 3 + + + 3801084, -1, 4456444, -1, -1, -1, 3473404, 20, 20, 20, 20, 20, 20, 20, 262164, 262164, 20, 20, 20, 20, 20, 9109524, 9830420, 9830420, 20, 20, 10289172, 9371668, 10485780, 9043991, 9764884, 9175060, 9502740, 9306132, 9306135, 9240596, 9764884, 9699348, 9437204, 9306133, 9502740, 9502740, 9240596, 9175060, 9699348, 9699348, 10420244, 10354709, 9502740, 9502740, 9502740, 9502740, 9306133, 9371670, 9830422, 9109526, 10223636, 9240596, 9764884, 9306133, 9109526, 20, 196628, 20 + + -1, 3 + + + 9306133, 9109526, 20, 3473405, 524284, 589820, -1, 524284, 10092566, 20, 20, 65556, 20, 20, 20, 20, 20, 9109524, 9830420, 10485780, 10485780, 9633813, 20, 20, 20, 9830423, 9699348, 9699348, 9502740, 9043988, 10485780, 20, 65556, 9109527, 10027030, 9306134, 9502740, 9764884, 10223636, 9764884, 20, 65556, 20, 9109527, 9306134, 9437204, 9175060, 9240596, 65556, 20, 20, 65556, 10158103, 9043990, 9764884, 9240596, 720919, 20, 20, 65556, 262164, 10158103, 9043990, 9568276 + + 2, 3 + + + 4784148, 5046292, 4915220, 5046292, 5046292, 4522005, 20, 20, 4980756, 4980756, 7864340, -1, 4980756, 4653078, 20, 20, -1, 458772, 393236, 3342356, 458772, 327701, 20, 65556, 12451884, 12451884, 12517420, 12517420, 12386349, 3342357, 20, 262164, 12320812, 12320812, 12320812, 12320812, 12451885, 524309, 65556, 65556, 12517422, 12451886, 12517422, 12451886, 12386350, -1, 20, 65556, 1310742, 3997718, -1, 1310742, 1310742, 327702, 65556, 65556, 6029332, 6029332, 6029332, 4063252, 6029332, 4063252, 6094869, 196628 + + 1, 3 + + + 10158103, 9306134, 9240596, 9764884, 9306133, 10092566, 6946836, 4718615, 20, 9895959, 9830422, 10027030, 9109526, 13893652, 8257556, 4653079, 9895957, 196628, 20, 3473428, 262164, 7536660, 327700, 524308, 10354709, 262164, 65556, 65556, 20, 20, 524311, 12386348, 9109526, 20, 20, 3473428, 20, 20, -1, 12451887, 20, 20, 196628, 20, 20, 20, 393239, 12386351, 196628, 262164, 9502740, 20, 9764884, 9699348, 327703, 1310742, 65556, 20, 9699348, 6946836, 6094868, 4063252, 6029332, 4063252 + + -4, 3 + + + 65604, 458797, 12517423, 12320812, 12320812, 12320812, 12320812, 12320812, 68, 458797, 12648495, 12320812, 12320812, 12320812, 12320812, 12320812, 68, 1179693, -1, 12320812, 12320812, 12320812, 12320812, 12320812, 196676, 393261, 12451887, 12320812, 12320812, 12320812, 12320812, 12320812, 68, 3342381, 12648495, 12320812, 12320812, 12320812, 12320812, 12320812, 65604, 524333, -1, 12320812, 12320812, 12320812, 12320812, 12320812, 68, -1, 12517423, 12320812, 12320812, 12320812, 12320812, 12320812, 3473476, 393261, 12451887, 12320812, 12320812, 12320812, 12320812, 12320812 + + -5, 3 + + + 12320812, 12320812, 12320812, 12517421, 393263, 68, 68, 68, 12320812, 12320812, 12320812, 12451885, 3342383, 65604, 68, 3473476, 12517422, 12451886, 12451886, 12386350, 3342383, 68, 65604, 262212, 327724, 524332, -1, 393260, 3407916, 65604, 3604548, 262212, 458799, 68, 68, 262212, 262212, 655428, 68, 65604, 393263, 262212, 68, 68, 65604, 68, 65604, 68, 393263, 65604, 68, 65604, 3604548, 68, 68, 65604, 393263, 65604, 68, 65604, 65604, 68, 65604, 196676 + + -2, 3 + + + 5898297, 6357033, 6029333, 262164, 10158103, 9306134, 9764884, 10223636, 5177401, 5177385, 14417941, 9699348, 20, 9109527, 9371670, 10027030, 5308474, 6291497, 6029333, 9437204, 20, 65556, 65556, 65556, 5242920, 5832746, 6029333, 9699348, 196628, 20, 65556, 20, 4980756, 4980756, 6094870, 9502740, 196628, 720916, 65556, 20, 20, 20, 7471124, 9764884, 9502740, 9764884, 20, 20, 4718612, 4522004, 4522004, 10092542, 4653077, 7012372, 65556, 20, 6357032, 6291496, 5177384, 5308457, 4522005, 7471124, 65556, 20 + + -3, 3 + + + 12320812, 12451885, 458773, 4063255, 5570603, 5832760, 6291512, 5177400, 12320812, 12451885, 393237, 4063255, 6357035, 5177403, 5505080, 6225979, 12320812, 12517421, 458773, 4063255, 5570603, 5898299, 5242936, 5242936, 12320812, 12517421, 393237, 6029335, 5898283, 5242920, 5242920, 5242920, 12320812, 12451885, 3342357, 6094871, 4980756, 4980756, 4980756, 4980756, 12320812, 12779565, 458773, 20, 20, 20, 20, 20, 12320812, -1, 458773, 20, 20, 4653076, 4522004, 4718612, 12320812, 12517421, 3342357, 20, 262164, 4718615, 5832744, 5177384 + + 9, 3 + + + 65532, 327676, 3538940, 65532, 65532, 327676, 65532, 524261, 65532, 65532, 131068, 65532, 131068, 131068, 327676, 1245157, 327676, 131068, 327676, 131068, 65532, 3538940, 131068, 458725, 65532, 131068, 786430, 65532, 3538940, 327676, 3473382, 393190, 131068, 327676, 327676, 3670012, 3538940, 3473382, 393190, 3538916, 327676, 65532, 65532, 65532, 3473382, 393190, 131044, 327652, 65532, 327676, 3473382, 3735527, 393190, 65508, 65508, 65508, 65532, 3473382, 393190, 131044, 131044, 65508, 262116, 65508 + + 10, 3 + + + 131044, 65508, 327652, 65508, 65508, 983013, -1, -1, 3669988, 3538916, 65508, 327652, 131044, 1179621, -1, -1, 65508, 327652, 65508, 65508, 3735526, 851942, -1, -1, 131044, 327652, 327652, 3735526, 851942, -1, -1, -1, 262116, 3669988, 131044, 1179621, -1, -1, -1, -1, 131044, 65508, 3735526, 851942, -1, -1, -1, -1, 65508, 3735526, 851942, -1, -1, -1, -1, -1, 3735526, 851942, -1, -1, -1, -1, -1, -1 + + 7, 3 + + + 65532, 131068, 65532, 131068, 131068, 3538940, 131068, 131068, 65532, 131068, 131068, 65532, 65532, 786428, 131068, 65532, 65532, 131068, 65532, 3670012, 3538940, 65532, 65532, 65532, 65532, 786431, 65532, 720892, 65532, 327676, 131068, 65532, 3670012, 3538940, 65532, 65532, 65532, 131068, 131068, 327676, 131068, 65532, 131068, 65532, 65532, 131068, 131068, 131068, 65532, 65532, 65532, 65532, 131068, 65532, 65532, 131068, 65532, 131068, 65532, 65532, 131068, 65532, 65532, 131068 + + 8, 3 + + + 327676, 65532, 65532, 65532, 327676, 65532, 131068, 3538940, 327676, 327676, 327676, 327676, 65532, 65532, 65532, 131068, 65532, 65532, 3538940, 131068, 65532, 65532, 65532, 65532, 131068, 327676, 327676, 65532, 131068, 65532, 327676, 65532, 786428, 786428, 131068, 65532, 65532, 3538940, 131068, 131068, 131068, 65532, 65532, 65532, 3670012, 65532, 65532, 65532, 262140, 65532, 65532, 131068, 131068, 65532, 65532, 327676, 131068, 327676, 65532, 65532, 65532, 131068, 131068, 65532 + + 5, 3 + + + 65556, 65556, 20, -1, -1, 20, 20, 1245181, 3473428, 65556, 20, 65556, 3473428, 20, 262164, 1245181, 20, 65556, 20, 20, 262164, 3473428, 262164, 1245181, 20, 3801109, -1, 262164, 65556, 20, 262164, 524285, 20, -1, -1, 3604500, 262164, 262164, 20, 458749, 65556, 20, 20, 65556, 262164, 20, 196628, 458749, 1376254, 1376254, 1376254, 4063230, -1, 1376254, 1376254, 393214, 1179644, 983036, 7798782, -1, -1, -1, 1441790, 1441790 + + 6, 3 + + + 917503, 65532, 131068, 65532, 327676, 131068, 65532, 65532, -1, 131068, 327676, 327676, 327676, 65532, 65532, 327676, 1179647, 327676, 65532, 131068, 65532, 327676, 131068, 262140, 1179647, 262140, 131068, 720892, 327676, 3538940, 262140, 131068, 983039, 65532, 131068, 131068, 65532, 65532, 131068, 327676, 983039, 65532, 327676, 65532, 65532, 65532, 65532, 65532, 983039, 65532, 65532, 131068, 131068, 3538940, 65532, 131068, 3735548, 327676, 262140, 65532, 65532, 65532, 3538940, 3538940 + + 3, 3 + + + 7143444, 393239, 12386348, 12451884, 12451884, 12582956, 12320812, 12582957, 7143444, 393239, 12517423, 12320812, 12320812, 12320812, 12320812, 12320812, 7143444, 393239, 12386351, 12517422, 12517422, 12582959, 12320812, 12320812, 7143444, 3342359, 65580, 262188, 65580, 12386351, 12451886, 12517422, 7143444, 393239, 44, 3407894, 1310742, 1310742, 3407895, 44, 11599892, 327703, 1310742, 327702, 327700, 3342356, 3407892, 12386348, 7143444, 20, 196628, 327700, 3407892, 6946860, 6881324, 12451887, 7143444, 196628, 20, 3342359, 6946860, 7209004, 6422572, 12386351 + + 4, 3 + + + 12582956, 12320812, 12320812, 12320812, 13565997, 20, 196628, 20, 12320812, 12320812, 12320812, 12320812, -1, 20, 20, 20, 12320812, 12320812, 12320812, 12320812, 12517421, 655380, 20, 262164, 12517422, 12517422, 12451886, 12451886, 12386350, 20, 3473428, 20, 65580, 44, 20, 20, 20, 20, 20, 20, 12517420, 12386349, 196628, 262164, 3473428, 20, 262164, 20, 12320812, 12582957, 12386349, 1376254, 1376254, 1376254, 1376254, 1376254, 12582959, 12320812, 12451885, 458773, 1179644, 983036, 983036, 1179644 + + -5, 4 + + + 524335, 262212, 68, 3473476, 68, 68, 68, 68, -1, 68, 68, 68, 68, 68, 68, 68, 3407916, 68, 262212, 65604, 68, 68, 68, 68, 196676, 68, 68, 720967, 65604, 65604, 262212, 68, 65604, 262212, 262212, 65604, 3801158, -1, 68, 68, 68, 68, 68, 68, -1, -1, 68, 65604, 68, 655428, 262212, 65604, 68, 3473476, 68, 65604, -1, 327749, 262212, 262212, 68, 68, 68, 65604 + + -6, 4 + + + 65580, 44, 65580, 262188, 262188, 3473452, 44, 262188, 65580, 262188, 44, 65580, 655404, 65580, 44, 44, -1, 524332, -1, 458796, 458796, 524332, -1, 458796, 65604, 68, 655428, 68, 262212, 65604, 68, 68, 68, 65604, 196676, 68, 65604, 68, 68, 68, 458820, 327749, 65604, 65604, 68, 68, 68, 68, 92, 458821, 262212, 262212, 262212, 65604, 68, 3473476, 92, 3407941, 458820, 3342404, 1179716, 458820, 1179716, 524356 + + -7, 4 + + + 92, 92, 3473500, 3604572, 524357, 68, 458797, 262188, 65628, 92, 262236, 262236, -1, 68, 458797, 44, 92, 65628, 92, 92, 458821, 68, 3407917, 3735596, 92, 92, 262236, 92, 524357, 196676, 720967, 68, 65628, 92, 65628, 92, -1, 65604, 65604, 68, 65628, 92, 92, 65628, 3407941, 524356, -1, 3342404, 3473500, 65628, 65628, 655452, 92, 262236, 92, 262236, 92, 3473500, 262236, 65628, 65628, 655452, 262236, 92 + + -8, 4 + + + 20, 65556, 20, -1, 458799, 393287, 92, 655452, 20, 20, 20, 1179671, 458799, 3342407, 92, 92, 20, 20, 3604500, 1179671, 3735599, 524359, 3473500, 65628, 262164, 20, 720919, 3342359, -1, -1, 92, 92, 20, 262164, 65556, 458775, 458799, 1179719, 92, 92, 262164, 65556, 20, 3342359, 458799, 4390983, 92, 92, 3604500, 65556, 65556, 458775, 458799, -1, 65628, 262236, 20, 20, 65556, 393239, 524335, -1, 92, 65628 + + -9, 4 + + + 65508, 4456423, 327676, 65532, 65532, 65532, 65532, 524287, 65508, -1, 786430, 65532, 65532, 131068, 131068, 458751, 3669988, -1, 131068, 786429, 65532, 65532, 65532, 458751, 327652, -1, 131068, 131068, 262140, 65532, 327676, 3407871, 327652, 1245159, 65532, 3538940, 3538940, 262140, 65532, 458751, 262116, 458727, 65532, 65532, 3538940, 131068, 65532, 1245183, 131044, 458727, 65532, 65532, 65532, 327676, 65532, 524287, 131044, 3407847, 3538940, 65532, 131068, 3538940, 262140, 458751 + + -10, 4 + + + 65508, 3866597, -1, 65508, 327652, 65508, 65508, 65508, 3669988, -1, -1, 262116, 65508, 65508, 65508, 327652, 131044, 327652, 65508, 65508, 327652, 327652, 262116, 131044, 327652, 131044, 65508, 65508, 65508, 65508, 65508, 262116, 65508, 3538916, 3866596, -1, 65508, 262116, 327652, 65508, 65508, 131044, -1, -1, 65508, 786404, 131044, 65508, 65508, 65508, 327652, 327652, 262116, 65508, 3538916, 65508, 131044, 3538916, 3538916, 65508, 262116, 327652, 327652, 65508 + + -11, 4 + + + -1, -1, -1, -1, -1, -1, -1, 983015, -1, -1, -1, -1, -1, -1, -1, 1179623, -1, -1, -1, -1, -1, -1, -1, 1114087, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 983015, -1, -1, -1, -1, -1, -1, -1, 1179623, -1, -1, -1, -1, -1, -1, -1, 917479, -1, -1, -1, -1, -1, -1, -1, -1 + + 3, 4 + + + 11599892, 20, 262164, 458775, 6619180, 7274540, 6422572, 7471148, 7143444, 65556, 20, 393239, 6619180, 6684716, 6684716, 8716332, 7143444, 65556, 20, 458775, 7536684, 6488108, 6750252, 6684716, 7143444, 20, 20, 327703, 1310742, 3407895, 6619180, 6422572, 8257556, 20, 327700, 458772, 327701, 393239, 6619180, 6422572, 327701, 20, 3342359, 44, 1179669, 393239, 7536684, 12386348, 3407893, 393236, 3407892, 65580, 458773, 327703, 3407895, 12648495, 196652, 44, 196652, 65580, 3407893, 458772, 3407892, -1 + + 2, 4 + + + 5898281, 589823, 4456468, 12386344, 12451880, 12386345, 4063253, 65556, 6357033, -1, 12386344, 12582952, 12320808, 12517417, 6029333, 20, 6291497, 4915220, 12517419, 12320808, 12320808, 12451881, 4063253, 65556, 6291497, 4587540, 12386347, 12517418, 12517418, 12386346, 6094870, 655380, 5177385, 4849684, 6029333, 13893652, 8519700, 8519700, 8454164, 8454164, 6291497, 4849684, 6029333, 327700, 393236, 3342356, 3342356, 1179668, 5308458, 4915220, 4063253, 1179671, 12386348, 12517420, 12451884, 12386349, 4980756, 4980756, 6094870, 458775, 12451887, 12320812, 12320812, 12451885 + + 1, 4 + + + 9502740, 9764884, 9699348, 6619156, 4063255, 5308456, 6291496, 5570600, 4718612, 4718612, 4653077, 7208980, 4063255, 5177387, 5111849, 5636138, 6357032, 5308457, 4522005, 7077908, 6029335, 5570603, 5505064, 5111848, 5111851, 5177385, 7929877, 4653077, 4063255, 5373995, 5636136, 6225963, 5701673, 5177385, 4587540, 4718613, 6029335, 6357035, 5439530, 5701675, 5242920, 5308458, 4587540, 4718613, 4063255, 5570603, 5111851, 5636139, 7864340, -1, 4980756, 4653078, 4063255, 5308459, 5242920, 5242920, 4063252, 6094869, 65556, 655380, 6094871, 4980756, 4980756, 4980756 + + 0, 4 + + + 10420244, 9240596, 9502740, 10354709, 20, 9764884, 9699348, 9437204, 9437204, 9764884, 9437204, 10354709, 196628, 4653076, 4522004, 4522004, 10420244, 10420244, 9437204, 10354709, 9764884, 4522007, 5308456, 5767208, 9764884, 10223636, 9502740, 9371669, 9502740, 4718615, 5373995, 5439531, 9764884, 9437204, 9699348, 9371669, 9502740, 4718615, 5767211, 5636136, 9306134, 9371670, 9764884, 10354709, 6946836, 4522007, 5308459, 5242920, 9764884, 9306133, 9371670, 9371669, 6619156, 4653079, 4980756, 4980756, 9502740, 9437204, 9830421, 20, 7536660, 6750228, 6094868, 4063252 + + -1, 4 + + + 655380, 9502740, 9437204, 9764884, 9764884, 655380, 9371671, 9764884, 6029332, 6029332, 6029332, 4063252, 6094869, 9437204, 9961495, 9699348, 5832744, 5177384, 5767208, 5898281, 6029333, 9764884, 9961495, 9240596, 6291499, 5636139, 6225963, 5570601, 6029333, 20, 9371671, 9699348, 5177387, 6225963, 5636138, 5767209, 6029333, 9437204, 9961495, 9502740, 5177387, 5701672, 5439529, 5177385, 6029333, 9437204, 9371671, 9240596, 5308459, 5242920, 5242920, 5898282, 4063253, 9764884, 9830423, 9699348, 4980756, 4980756, 4980756, 4980756, 6094870, 9502740, 9109527, 9306134 + + -2, 4 + + + 5374008, 5308473, 5111850, 6357033, 4522005, 8716308, 6881300, 7012372, 5439544, 6357049, 5636137, 5177385, 4718613, 6094868, 4063252, 4063252, 5242936, 5832762, 5505067, 5373993, 4718613, 4063255, 4587540, 4587540, 5242920, 5242920, 5242920, 5308458, 4718613, 4063255, 4456468, 4456468, -1, 4980756, 7864340, -1, 4653078, 4063255, 4456468, 4915220, -1, 3735572, -1, 327701, 65556, 4063255, 4456468, 5046292, 12517420, 12517420, 12386349, 3735573, 262164, 4063255, 5046292, 4784148, 12320812, 12320812, 12517421, -1, 65556, 6094871, 4980756, 4980756 + + -3, 4 + + + 12320812, 12517421, 3407893, 1179668, 327701, 4522007, 5177387, 5308472, 12320812, 12582957, 12517420, 12386349, 1179669, 4718615, 5177387, 5177403, 12320812, 12320812, 12320812, 12517421, 458773, 4718615, 5570603, 5308475, 12320812, 12320812, 12320812, 12451885, 1179669, 4522007, 5898283, 5242920, 12320812, 12320812, 12320812, 12451885, 458773, 4653079, 4980756, 7864340, 12320812, 12320812, 12320812, 12517421, 3407893, 393236, 458772, 3735572, 12320812, 12320812, 12320812, 12582957, 12517420, 12451884, 12451884, 12517420, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812 + + -4, 4 + + + 65604, 393261, 12451887, 12320812, 12320812, 12320812, 12320812, 12320812, 65604, 393261, 12517423, 12320812, 12320812, 12320812, 12320812, 12320812, 68, 393261, 12451887, 12320812, 12320812, 12320812, 12320812, 12320812, 68, 458797, 12386351, 12582959, 12320812, 12320812, 12320812, 12320812, 262212, 3407917, 327725, 13565999, 12320812, 12320812, 12320812, 12320812, 68, 3473476, 3735597, -1, 12320812, 12320812, 12320812, 12320812, 68, 65604, -1, 12386351, 12451886, 12517422, 12517422, 12582959, 68, 262212, 3407917, 524332, -1, 393260, 327725, 12517423 + + 5, 4 + + + 262140, 65532, 327676, 65532, 327676, 65532, 65532, 131068, 327676, 65532, 65532, 3670012, 720892, 327676, 65532, 262140, 327676, 327676, 262140, 131068, 131068, 65532, 131068, 131068, 327676, 65532, 131068, 65532, 65532, 65532, 65532, 65532, 131068, 65532, 131068, 131068, 262140, 65532, 65532, 65532, 65532, 65532, 262140, 65532, 262140, 3538940, 65532, 327676, 65532, 65532, 65532, 262140, 131068, 65532, 65532, 131068, 327676, 65532, 131068, 327676, 65532, 65532, 65532, 65532 + + 4, 4 + + + 12386351, 12517422, 12386350, 131068, 3538940, 65532, 131068, 131068, 12386348, 12517420, 12386349, 131068, 65532, 65532, 65532, 65532, 12451887, 12320812, 12582957, 12386349, 327676, 65532, 327676, 65532, 12451887, 12320812, 12320812, 12451885, 65532, 131068, 327676, 131068, 12517423, 12320812, 12320812, 12517421, 65532, 131068, 327676, 65532, 12582956, 12320812, 12320812, 12451885, 65532, 65532, 3538940, 65532, 12320812, 12320812, 12320812, 12451885, 262140, 327676, 131068, 65532, 12320812, 12320812, 12582958, 12386350, 65532, 65532, 131068, 131068 + + 7, 4 + + + 65532, 262140, 327676, 327676, 131068, 262140, 65532, 65532, 65532, 131068, 262140, 65532, 131068, 327676, 131068, 262140, -1, 3538940, 65532, 262140, 65532, 327676, 3538940, 327676, -1, 65532, 720892, 131068, 65532, 65532, 131068, 65532, 327676, 327676, 131068, 131068, 65532, 131068, 65532, 131068, 327676, 65532, 327676, 131068, 65532, 65532, 131068, 131068, 65532, 131068, 131068, 65532, 131068, 327676, 3473382, 3735524, 65532, 65532, 65532, 65532, 65532, 3473382, 393190, 65508 + + 6, 4 + + + 65532, 3538940, 262140, 131068, 65532, 65532, 65532, 327676, 65532, 262140, 65532, 131068, 65532, 65532, 65532, 65532, 65532, 65532, 65532, 327676, 131068, 65532, 131068, 3866623, 65532, 327676, 65532, 65532, 65532, 65532, 65532, -1, 65532, 786431, 786429, 65532, 65532, 327676, 131068, 131068, 65532, 65532, 65532, 131068, 65532, 65532, 327676, 65532, 327676, 65532, 65532, 131068, 131068, 65532, 65532, 262140, 131068, 327676, 65532, 65532, 65532, 65532, 262140, 65532 + + 9, 4 + + + 1376230, 393190, 65508, 65508, 65508, 131044, 65508, 3538916, 65508, 65508, 720868, 327652, 131044, 65508, 327652, 3735526, 65508, 131044, 131044, 327652, 65508, 3735526, 1441766, 851942, 131044, 786406, 3538916, 262116, 3735526, 851942, -1, -1, 65508, 327652, 3538916, 3735526, 851942, -1, -1, -1, 131044, 327652, 3735526, 851942, -1, -1, -1, -1, 3735526, 1441766, 851942, -1, -1, -1, -1, -1, 851942, -1, -1, -1, -1, -1, -1, -1 + + 8, 4 + + + 720892, 65532, 131068, 65532, 131068, 65532, 65532, 3473382, 65532, 65532, 65532, 65532, 786431, 3473382, 1376230, 393190, 65532, 131068, 131068, 65532, 3473382, 393190, 65508, 131044, 65532, 65532, 131068, 3473382, 393190, 131044, 327652, 65508, 65532, 65532, 3473382, 393190, 65508, 65508, 131044, 65508, 3473382, 3735525, 393190, 131044, 327652, 65508, 65508, 65508, 393190, 327652, 720868, 65508, 131044, 65508, 131044, 65508, 131044, 65508, 131044, 65508, 131044, 65508, 65508, 3735526 + + 10, 4 + + + 983013, -1, -1, -1, -1, -1, -1, -1, 851942, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -3, 5 + + + 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12648494, -1, 12517422, 12451886, 12451886, 12517422, 12517422, 12451886, 1310742, 3997718, -1, 1310742, 1310742, 1310742, 1310742, 393239, 20, 20, 65556, 20, 655380, 20, 4390956, -1, 3473428, 65556, 65556, 20, 20, 20, 65604, 3145796 + + -2, 5 + + + 12320812, 12320812, 12517421, 393237, 196628, 20, 4653076, 4522004, 12320812, 12320812, 12517421, 3407893, 393236, 327701, 4522007, 5308456, 12320812, 12320812, 12582957, 12451884, 12386349, 393237, 4718615, 5832760, 12320812, 12320812, 12320812, 12320812, 12517421, 524309, 4653079, 5767227, 12451886, 12779566, -1, 12517422, 12386350, 3670039, 327700, 5308475, 44, 44, 65580, 65580, 1179669, 327702, 393239, 65580, -1, -1, 327725, 44, 3407893, 458772, 3407892, 327724, 3473476, 196676, 3407917, 3735596, -1, 524332, -1, 3407916 + + -1, 5 + + + 4718612, 4522004, 4718612, 4653077, 20, 9764884, 20, 262164, 5177384, 5767208, 5308457, 7929877, 4653077, 9502740, 65556, 9830423, 5177400, 5832761, 12189737, 5832745, 4718613, 20, 20, 9306132, 6225977, 5767225, 5111850, 5767209, 4653078, 262164, 9109524, 9437204, 5242936, 5308474, 5242920, 5308458, 327701, 9371670, 9306135, 9240596, 327724, 5963820, -1, -1, -1, 9371670, 9240596, 9699348, 3407916, 327748, 1179716, 3342404, 1179716, 9371670, 9306134, 9240596, 327748, 3407940, 12386396, 12451932, 12386397, 327701, 9699348, 9240596 + + 0, 5 + + + 9371668, 9371670, 9895958, 6946836, 6881300, 7208980, 4063255, 4915220, 9502740, 9371670, 9306132, 6619156, 6684692, 6094868, 7667732, 5898280, 9764884, 9764884, 9502740, 7536660, 3670037, 4063255, 5046292, 5177387, 9764884, 9699348, 9437204, 9437204, 9109525, 6094871, 4980756, 5177387, 9240596, 9240596, 9764884, 9699348, 10354709, 327700, 1179668, 5308459, 9437204, 9240596, 9437204, 9764884, 10354709, 4390956, 44, 44, 9764884, 9240596, 9437204, 9764884, 327700, 3473476, 262212, 3145796, 9240596, 9240596, 9764884, 9764884, 393239, 4390980, -1, -1 + + 1, 5 + + + 4915220, 7667733, 6029332, 6094869, 327700, 393236, 393236, 458772, 5767208, 5570600, 5177384, 5308457, 3735575, 12386348, 12451884, 12517420, 5308472, 5767224, 5308473, 6291497, -1, 12517423, 12320812, 12320812, 5177403, 5636153, 5177401, 5570601, 458775, 12517423, 12320812, 12320812, 5308475, 5242936, 5308474, 5832746, 3735575, 12517423, 12320812, 12320812, 44, 327725, 655404, 393237, 3670037, 12451887, 12320812, 12320812, 196676, 3407917, 327725, 1179669, 1179671, 12386351, 12451886, 12517422, -1, 327749, 3407917, 327725, 1179668, 393236, 1179668, 458772 + + 2, 5 + + + 458772, 327700, 458772, 3407892, 12386351, 12451886, 12451886, 12386350, 12451884, 12386349, 12386348, 12517420, 12517420, 12517420, 12517420, 12517420, 12320812, 12517421, 12517423, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12517421, 12517423, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12517421, 12517423, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12517421, 12517423, 12320812, 12320812, 12320812, 12582958, 12517422, 12517422, 12386350, 12386351, 12451886, 12451886, 12451886, 12386350, 262164, 1179668, 458775, 655404, 196652, 20, 3473428, 65556, 262164 + + 3, 5 + + + 12386348, 12517420, 12451884, 12386349, 44, 44, 44, 12517423, 12582956, 12320812, 12320812, 12582957, 12517420, 12451884, 12386349, 12517423, 12320812, 12320812, 12320812, 12320812, 12320812, 12320812, 12517421, 12386351, 12582958, 12451886, 12451886, 12451886, 12517422, 12517422, 12386350, 65532, 12517421, 3473428, 458749, 131068, 327676, 65532, 131068, 65532, 12386350, 20, 458749, 3538940, 262140, 65532, 3538940, 65532, 20, 3473406, 393214, 65532, 327676, 65532, 65532, 3866620, 262164, 458749, 3473380, 327676, 131068, 131068, 65532, -1 + + 4, 5 + + + 12320812, 12320812, 12517421, 65532, 65532, 65532, 65532, 720892, 12320812, 12320812, 12517421, 3538940, 131068, 3538940, 65532, 65532, 12451886, 12451886, 12386350, 65532, 65532, 65532, 65532, 65532, 720892, 131068, 65532, 327676, 65532, 65532, 262140, 65532, 327676, 3538940, 262140, 786428, 3538940, 327676, 65532, 3538940, 3538940, 65532, 3538940, 65532, 65532, 3538940, 65532, 3670012, -1, 131068, 65532, 327676, 131068, 65532, 131068, 262140, -1, 65532, 3670012, 131068, 327676, 131068, 65532, 262140 + + -11, 5 + + + -1, -1, -1, -1, -1, -1, -1, 917479, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1179623, -1, -1, -1, -1, -1, -1, -1, 1179623, -1, -1, -1, -1, -1, -1, -1, 1114087, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 983015, -1, -1, -1, -1, -1, -1, -1, 917479 + + -10, 5 + + + 131044, 65508, 65508, 65508, 131044, 131044, 327652, 327652, 262116, 65508, 65508, 65508, 65508, 131044, 720868, 65508, 65508, 131044, 131044, 131044, 327652, 131044, 131044, 65508, 65508, 65508, 131044, 3669988, 65508, 131044, 131044, 131044, 131044, 327652, 65508, 786405, 3538916, 65508, 65508, 131044, 65508, 327652, 131044, 327652, 65508, 131044, 65508, 131044, 65508, 131044, 65508, 65508, 327652, 327652, 131044, 65508, 65508, 131044, 131044, 65508, 327652, 327652, 65508, 65508 + + -9, 5 + + + 327652, 458727, 65532, 131068, 327676, 65532, 131068, 1245183, 65508, 524263, 131068, 65532, 65532, 131068, 262140, 3801087, 327652, 524263, 65532, 65532, 262140, 65532, 131068, -1, 65508, 524263, 327676, 65532, 131068, 327676, 65532, 524287, 131044, 524263, 327676, 131068, 131068, 65532, 65532, 524287, 65508, 1245159, 262140, 327676, 65532, 65532, 65532, 524287, 65508, 458727, 65532, 65532, 65532, 65532, 65532, 458751, 131044, 1245159, 327676, 327676, 131068, 3538940, 65532, 524287 + + -8, 5 + + + 20, 20, 262164, 458775, -1, -1, 262236, 65628, 20, 20, 20, 458775, 3342383, 3735623, 65628, 262236, 65556, 65556, 262164, 458775, 3735599, -1, 65628, 3473500, 20, 20, 20, 458775, -1, 327751, 3997766, -1, 20, 65556, 20, 458775, 327727, 7995438, -1, -1, 65556, 20, 20, 327703, 7995414, -1, -1, -1, 720918, 262164, 65556, 262164, 20, 262164, 65556, 20, 20, 65556, 196628, 65556, 196628, 3604500, 20, 20 + + -7, 5 + + + 92, 720991, 92, 92, 92, 92, 92, 3473500, 196700, 65628, 92, 92, 65628, 92, 92, 65628, 92, 720989, 65628, 92, 92, 92, 92, 92, 1310790, 7995462, -1, -1, -1, 3997766, -1, 1310790, -1, 1310766, 1310766, 1310766, 1310766, 3997742, -1, 1310766, 1310742, 1310742, 7995414, -1, -1, -1, 1310742, 1310742, 3473428, 262164, 262164, 20, 196628, 262164, 20, 20, 20, 20, 65556, 65556, 65556, 262164, 65556, 20 + + -6, 5 + + + 65628, 3604572, 262236, 92, 3473500, 65628, 92, 92, 92, 65628, 92, 196700, 65628, 92, 65628, 92, 92, 92, 196700, 92, 3473500, 262236, 65628, 65628, 1310790, 1310790, 1310790, 1310790, 1310790, 1310790, 1310790, 1310790, 1310766, 3997742, -1, 1310766, 1310766, 1310766, 1310766, 1310766, 1310742, 1310742, 1310742, 1310742, 3997718, -1, 3997718, -1, 65556, 3473428, 3473428, 20, 65556, 20, 20, 20, 20, 20, 65556, 20, 20, 20, 65556, 20 + + -5, 5 + + + 65628, 458821, 68, 68, 262212, 196676, 65604, 68, 65628, 393285, 68, 68, 65604, 68, 3473476, 68, 262236, 458821, 3473476, 68, 68, 196676, 68, 68, 1310790, 327750, 68, 68, 3473476, 68, 262212, 262212, 1310766, 1310766, 3997742, -1, 1310766, 1310766, 1310766, 1310766, 1310742, 3997718, -1, 1310742, 1310742, 1310742, 1310742, 1310742, 65556, 65556, 20, 3473428, 20, 3473428, 65556, 262164, 20, 3473428, 262164, 20, 20, 65556, 20, 65556 + + -4, 5 + + + 68, 3473476, 65604, 68, 68, 65604, 524333, 12451887, 262212, 65604, 68, 68, 196676, 196676, -1, 12451887, 68, 68, 68, 196676, 262212, 262212, 524333, 12451887, 196676, 3473476, 65604, 262212, 3473476, 3473476, -1, 12517423, 1310766, 1310766, 1310766, 1310766, 1310766, 1310766, 327726, 12386351, 1310742, 1310742, 1310742, 1310742, 1310742, 1310742, 1310742, 1310742, 65556, 20, 20, 65556, 65556, 262164, 65556, 262164, 20, 20, 65556, 20, 20, 20, 65556, 20 + + -11, 6 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1179623, -1, -1, -1, -1, -1, -1, -1, 917479, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 983015, -1, -1, -1, -1, -1, -1, -1, 983015, -1, -1, -1, -1, -1, -1, -1, 1179623, -1, -1, -1, -1, -1, -1, -1, 1179623 + + 8, 5 + + + 65508, 131044, 65508, 131044, 131044, 3735526, 1441766, 851942, 3538916, 65508, 65508, 3735526, 1441766, 851942, -1, -1, 65508, 131044, 3735526, 851942, -1, -1, -1, -1, 3735526, 1441766, 851942, -1, -1, -1, -1, -1, 851942, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 7, 5 + + + 65532, 65532, 65532, 131068, 3473382, 393190, 65508, 65508, 65532, 65532, 65532, 65532, 6029285, 327652, 65508, 720868, 65532, 65532, 65532, 131068, -1, 65508, 65508, 65508, 327676, 65532, 262140, 3538940, -1, 131044, 65508, 262116, 65532, 65532, 327676, 65532, -1, 3735526, 1638374, -1, 65532, 327676, 131068, 3473382, 393190, -1, -1, -1, 131068, 327676, 65532, 524261, 3735526, 851942, -1, -1, 65532, 65532, 65532, 458725, 917477, -1, -1, -1 + + 6, 5 + + + 65532, 131068, 327676, 65532, 131068, 65532, 131068, 131068, 3538940, 131068, 65532, 262140, 131068, 65532, 65532, 327676, 131068, 3538940, 65532, 131068, 262140, 720892, 327676, 327676, -1, 65532, 327676, 65532, 131068, 3538940, 327676, 131068, -1, 65532, 65532, 65532, 65532, 65532, 262140, 131068, 65532, 131068, 65532, 65532, 131068, 65532, 3538940, 131068, 65532, 131068, 65532, 131068, 65532, 3538940, 65532, 65532, 131068, 131068, 262140, 131068, 131068, 65532, 65532, 131068 + + 5, 5 + + + 131068, 65532, 65532, 65532, 262140, 3538940, 65532, 327676, 327676, 65532, 65532, 65532, 65532, 65532, 262140, 327676, 65532, 65532, 262140, 65532, 327676, 327676, 65532, 65532, 131068, 327676, 65532, 262140, 786428, 65532, 131068, 7864316, 65532, 65532, 65532, 131068, 65532, 65532, 65532, -1, 65532, 65532, 65532, 65532, 65532, 65532, 65532, 327676, 327676, 131068, 65532, 327676, 65532, 65532, 262140, 65532, 65532, 327676, 131068, 65532, 131068, 65532, 131068, 131068 + + 0, 6 + + + 9502740, 9306132, 9371670, 9371670, 458775, 44, 12386396, 12517468, 9437204, 9437204, 9306132, 9371670, 327703, 3407895, 12517471, 12320860, 9437204, 9437204, 9699348, 9371670, 327700, 3407892, 12386399, 12583007, 9502740, 9437204, 9699348, 9371669, 1179671, 44, 44, 12517471, 9437204, 9699348, 9437204, 9830421, 327703, 3407895, 12386396, 12583004, 65556, 20, 20, 20, 20, 3342359, 12517471, 12320860, 20, 20, 262164, 20, 65556, 3342359, 12386399, 12517470, 4063230, -1, 4063230, -1, 1376254, 327703, 3407895, 3473452 + + 1, 6 + + + 12386397, 3407941, 327749, 3407917, 4390956, -1, -1, -1, 12583005, 12386397, 3407941, 4390980, -1, -1, -1, 3342404, 12320860, 12583005, 12451932, 12451932, 12517468, 12451932, 12451932, 12451932, 12320860, 12320860, 12320860, 12320860, 12320860, 12320860, 12320860, 12320860, 12320860, 12320860, 12320860, 12320860, 12320860, 12320860, 12320860, 12320860, 12320860, 12320860, 12320860, 12320860, 12320860, 12320860, 12320860, 12320860, 12517470, 12517470, 12517470, 12451934, 12517470, 12517470, 12517470, 12451934, 65580, 44, 44, 44, 44, 720940, 44, 262188 + + -2, 6 + + + 4390980, -1, -1, -1, 524356, -1, 3735620, -1, 12386397, 65580, 44, 44, 65580, 12386396, 12517468, 12451932, 12583005, 12386397, 12386396, 12451932, 12386397, 12451935, 12320860, 12320860, 12320860, 12517469, 12451935, 12320860, 12451933, 12386399, 12451934, 12583007, 12517470, 12386398, 12517471, 12320860, 12583005, 12386397, 44, 12386399, 12386396, 12451932, 12583004, 12320860, 12320860, 12583005, 12451932, 12386397, 12517471, 12320860, 12320860, 12320860, 12320860, 12320860, 12320860, 12517469, 12517471, 12320860, 12320860, 12320860, 12320860, 12583006, 12451934, 12386398 + + -1, 6 + + + 3407940, 12386396, 12583004, 12320860, 12451933, 3735573, 9371670, 9306135, 12451932, 12583004, 12320860, 12583006, 12386398, -1, 9371670, 9240596, 12320860, 12320860, 12320860, 12517469, 196652, 3342357, 9371670, 9699348, 12320860, 12320860, 12320860, 12583005, 12386397, 458773, 9895956, 9306135, 12583007, 12320860, 12320860, 12320860, 12517469, 327702, 9830423, 9437204, 12386399, 12451934, 12517470, 12517470, 12386398, 65556, 262164, 262164, 44, 655404, 3407894, 1310742, 327702, 20, 20, 20, 4063230, -1, 4063230, -1, 1376254, 1376254, 1376254, 1376254 + + 4, 6 + + + 65532, 65532, 720892, 65532, 131068, 327676, 131068, 65532, 65532, 65532, 131068, 65532, 65532, 65532, 131068, 65532, 65532, 65532, 65532, 327676, 65532, 327676, 3670012, 262140, 65532, 65532, 65532, 131068, 65532, 65532, 131068, 131068, 327676, 3538940, 131068, 65532, 327676, 65532, 65532, 3538940, 65532, 65532, 131068, 65532, 327676, 327676, 131068, 327676, 65532, 65532, 131068, 131068, 65532, 327676, 65532, 327676, 65532, 65532, 65532, 327676, 65532, 65532, 327676, 65532 + + 5, 6 + + + 327676, 262140, 327676, 65532, 65532, 65532, 131068, 65532, 65532, 65532, 3670012, 3538940, 65532, 65532, 65532, 65532, 65532, 327676, 65532, 65532, 786428, 327676, 327676, 720892, 131068, 131068, 131068, 131068, 65532, 65532, 3538940, 327676, 131068, 65532, 65532, 65532, 327676, 131068, 327676, 65532, 65532, 65532, 131068, 65532, 262140, 327676, 65532, 131068, 65532, 3538940, 131068, 65532, 65532, 65532, 131068, 65532, 65532, 65532, 65532, 131068, 65532, 3538940, 65532, 720892 + + 2, 6 + + + 3735596, -1, 3735596, -1, 4390956, -1, -1, -1, 458820, 1179716, 458820, 4390980, -1, -1, -1, 1179716, 12517468, 12386397, 65556, 65556, 65556, 20, 262164, 65556, 12320860, 12583005, 12386397, 65556, 20, 20, 65556, 262164, 12320860, 12320860, 12451933, 3473428, 20, 65556, 20, 20, 12320860, 12320860, 12451933, 262164, 262164, 65556, 655380, 65556, 12451934, 12451934, 12386398, 20, 20, 65556, 3473428, 20, 3473452, 196652, 1376254, 1376254, 4063230, -1, 1376254, 1376254 + + 3, 6 + + + 262164, 3801085, 65532, 65532, 65532, 65532, 327676, 131068, 20, -1, 65532, 65532, 65532, 327676, 3538940, 65532, 20, 3801085, 65532, 65532, 65532, 65532, 327676, 327676, 20, -1, 65532, 65532, 65532, 327676, 131068, 327676, 65556, 524285, 65532, 65532, 65532, 65532, 3538940, 327676, 3473428, 1245181, 786430, 65532, 65532, 327676, 65532, 131068, 20, 3407869, 262140, 65532, 65532, 327676, 327676, 262140, 1376254, 393214, 65532, 131068, 65532, 65532, 65532, 327676 + + -8, 6 + + + 20, 65556, 20, 20, 20, 20, 20, 65556, 65556, 65556, 196628, 65556, 65556, 65556, 20, 3473428, 20, 20, 20, 3473428, 196628, 65556, 3473428, 65556, 262164, 65556, 262164, 3473428, 262164, 20, 262164, 20, 65556, 65556, 65556, 262164, 65556, 20, 262164, 262164, 3473428, 20, 20, 20, 65556, 20, 262164, 196628, 20, 20, 20, 262164, 20, 20, 20, 65556, 8060926, -1, -1, -1, 1376254, 1376254, 1376254, 1376254 + + -7, 6 + + + 65556, 20, 20, 20, 20, 20, 3473428, 65556, 20, 3473428, 20, 20, 20, 262164, 20, 20, 65556, 65556, 20, 262164, 262164, 3604500, 65556, 20, 20, 65556, 20, 262164, 20, 65556, 20, 262164, 655380, 20, 65556, 20, 20, 20, 65556, 65556, 196628, 262164, 65556, 262164, 262164, 262164, 20, 20, 20, 65556, 20, 65556, 196628, 20, 20, 20, 1376254, 1376254, 1376254, 4063230, -1, 4063230, -1, 1376254 + + -10, 6 + + + 65508, 65508, 3538916, 262116, 3538916, 327652, 3538916, 65508, 65508, 65508, 65508, 327652, 262116, 65508, 327652, 65508, 327652, 262116, 262116, 65508, 65508, 65508, 65508, 65508, 131044, 65508, 131044, 65508, 131044, 131044, 327652, 131044, 65508, 327652, 327652, 131044, 65508, 131044, 131044, 262116, 65508, 65508, 262116, 262116, 3538916, 65508, 65508, 65508, 131044, 65508, 131044, 65508, 3538916, 65508, 65508, 65508, 3538916, 327652, 65508, 327652, 65508, 65508, 131044, 262116 + + -9, 6 + + + 65508, 524263, 65532, 327676, 65532, 327676, 65532, 524287, 65508, 458727, 327676, 65532, 65532, 131068, 327676, 458751, 65508, 458727, 327676, 131068, 327676, 327676, 131068, 524287, 131044, 3407847, 65532, 131068, 65532, 65532, 131068, 524287, 327652, 524263, 65532, 131068, 327676, 786430, 262140, 589823, 65508, 524263, 65532, 3538940, 65532, 65532, 65532, -1, 131044, 458727, 65532, 131068, 65532, 327676, 65532, 1245183, 262116, 1245159, 65532, 65532, 65532, 65532, 3670012, 393215 + + -4, 6 + + + 20, 65556, 20, 262164, 20, 20, 20, 262164, 720919, 20, 20, 65556, 65556, 720917, 3604500, 262164, 20, 65556, 20, 65556, 65556, 196628, 20, 262164, 65556, 20, 720919, 20, 20, 20, 20, 65556, 65556, 20, 20, 655380, 65556, 65556, 196628, 20, 65556, 3473428, 3604500, 20, 20, 20, 65556, 20, 20, 262164, 20, 20, 20, 20, 65556, 20, 1376254, 1376254, 4063230, -1, 1376254, 1376254, 1376254, 4063230 + + -3, 6 + + + 262164, 65556, 20, 655380, 20, 20, 3735620, -1, 262164, 20, 20, 65556, 65556, 20, 12386396, 12517468, 196628, 65556, 262164, 20, 3473428, 20, 12451935, 12320860, 20, 65556, 20, 262164, 262164, 20, 12517471, 12320860, 196628, 20, 262164, 262164, 20, 65556, 12386399, 12517470, 20, 65556, 20, 20, 196628, 262164, 20, 44, 20, 65556, 196628, 65556, 20, 655380, 20, 44, -1, 1376254, 4063230, -1, 1376254, 1376254, 4063230, -1 + + -6, 6 + + + 262164, 65556, 20, 20, 20, 20, 65556, 20, 20, 3473428, 65556, 3473428, 262164, 65556, 20, 65556, 20, 20, 20, 65556, 65556, 3604500, 20, 3473428, 262164, 65556, 20, 20, 20, 262164, 20, 20, 196628, 20, 196628, 65556, 65556, 65556, 20, 65556, 65556, 262164, 65556, 20, 20, 20, 20, 196628, 20, 20, 65556, 720917, 20, 20, 65556, 20, 1376254, 4063230, -1, 1376254, 4063230, -1, 1376254, 1376254 + + -5, 6 + + + 20, 262164, 262164, 20, 20, 20, 20, 65556, 20, 262164, 65556, 20, 20, 20, 65556, 65556, 655380, 20, 3473428, 20, 196628, 20, 65556, 262164, 65556, 262164, 196628, 20, 20, 20, 65556, 65556, 20, 20, 65556, 20, 3473428, 196628, 20, 20, 20, 20, 20, 20, 262164, 65556, 196628, 262164, 20, 196628, 20, 65556, 20, 720916, 20, 20, 4063230, -1, 1376254, 1376254, 1376254, 1376254, 4063230, -1 + + -10, 7 + + + 131044, 65508, 262116, 131044, 131044, 65508, 65508, 327652, 327652, 131044, 327652, 65508, 65508, 131044, 327652, 327652, 65508, 65508, 327652, 65508, 65508, 327652, 65508, 65508, 327652, 65508, 65508, 327652, 65508, 65508, 131044, 65508, 65508, 65508, 65508, 65508, 327652, 65508, 131044, 327652, 327652, 131044, 131044, 131044, 65508, 131044, 65508, 327652, 3538916, 65508, 327652, 65508, 65508, 131044, 65508, 65508, 65508, 65508, 131044, 131044, 65508, 131044, 65508, 65508 + + -11, 7 + + + -1, -1, -1, -1, -1, -1, -1, 983015, -1, -1, -1, -1, -1, -1, -1, 983015, -1, -1, -1, -1, -1, -1, -1, 983015, -1, -1, -1, -1, -1, -1, -1, 983015, -1, -1, -1, -1, -1, -1, -1, 1179623, -1, -1, -1, -1, -1, -1, -1, 983015, -1, -1, -1, -1, -1, -1, -1, 1179623, -1, -1, -1, -1, -1, -1, -1, 1179623 + + 7, 6 + + + 65532, 131068, 3473382, 393190, -1, -1, -1, -1, 327676, 262140, 3801061, 3735526, 851942, -1, -1, -1, 131068, 131068, -1, -1, -1, -1, -1, -1, 327676, 3473382, 393190, 1179621, -1, -1, -1, -1, 327676, 458725, 3735526, 851942, -1, -1, -1, -1, 3473382, 393190, 983013, -1, -1, -1, -1, -1, 524261, 3735526, 851942, -1, -1, -1, -1, -1, 393190, 983013, -1, -1, -1, -1, -1, -1 + + 6, 6 + + + 327676, 65532, 327676, 131068, 65532, 131068, 3538940, 131068, 131068, 65532, 131068, 65532, 262140, 65532, 65532, 65532, 65532, 262140, 131068, 65532, 327676, 65532, 65532, 65532, 327676, 3538940, 327676, 65532, 65532, 65532, 65532, 131068, 131068, 131068, 65532, 3670012, 262140, 327676, 65532, 131068, 65532, 3866622, -1, 65532, 65532, 327676, 131068, 65532, 65532, -1, -1, 65532, 131068, 327676, 327676, 131068, 65532, 65532, 131068, 327676, 65532, 262140, 262140, 3473382 + + 3, 7 + + + 3538940, 131068, 65532, 65532, 327676, 131068, 3538940, 65532, 262140, 65532, 65532, 65532, 131068, 327676, 65532, 327676, 65532, 65532, 65532, 65532, 131068, 65532, 65532, 131068, 131068, 131068, 65532, 3670012, 65532, 65532, 327676, 65532, 65532, 786430, 131068, 65532, 65532, 327676, 3670012, 65532, 327676, 3538940, 65532, 131068, 65532, 327676, 327676, 65532, 131068, 327676, 65532, 3538940, 3670012, 131068, 327676, 65532, 65532, 65532, 720892, 327676, 131068, 65532, 3670012, 65532 + + 4, 7 + + + 65532, 65532, 262140, 65532, 131068, 65532, 65532, 131068, 65532, 65532, 65532, 65532, 65532, 7864316, -1, 327676, 65532, 65532, 65532, 3538940, 131068, -1, -1, 65532, 327676, 131068, 131068, 131068, 65532, 131068, 131068, 327676, 3538940, 65532, 131068, 327676, 131068, 786428, 3538940, 262140, 131068, 131068, 262140, 65532, 131068, 131068, 65532, 131068, 3538940, 327676, 65532, 327676, 65532, 3538940, 262140, 3866620, 131068, 65532, 65532, 65532, 65532, 786430, 65532, -1 + + 5, 7 + + + 131068, 131068, 131068, 3538940, 3538940, 3670012, 131068, 3538940, 131068, 327676, 65532, 65532, 131068, 3538940, 131068, 327676, 131068, 65532, 720892, 65532, 720892, 327676, 65532, 65532, 65532, 131068, 65532, 65532, 65532, 327676, 65532, 65532, 327676, 3866622, -1, 3538940, 131068, 262140, 65532, 65532, 3538940, -1, -1, 3538940, 327676, 65532, 327676, 131068, -1, 65532, 65532, 262140, 65532, 262140, 131068, 327676, -1, 131068, 262140, 65532, 65532, 65532, 3538940, 65532 + + 6, 7 + + + 131068, 262140, 65532, 327676, 720892, 65532, 65532, 458725, 65532, 262140, 131068, 65532, 131068, 131068, 131068, 458725, 65532, 65532, 65532, 65532, 65532, 3473382, 1376230, 393190, 65532, 131068, 131068, 327676, 131068, 1245157, 65508, 65508, 65532, 65532, 131068, 3473382, 1376230, 393190, 131044, 131044, 65532, 131068, 131068, 524261, 327652, 262116, 65508, 65508, 65532, 327676, 3473382, 393190, 65508, 65508, 65508, 3735526, 327676, 3538940, 458725, 131044, 65508, 131044, 3735526, 851942 + + -1, 7 + + + 3538940, 65532, 65532, 131068, 65532, 262140, 65532, 65532, 131068, 65532, 65532, 131068, 131068, 131068, 131068, 131068, 65532, 131068, 131068, 65532, 65532, 131068, 262140, 131068, 131068, 131068, 131068, 262140, 65532, 131068, 131068, 262140, 131068, 3538940, 131068, 262140, 65532, 131068, 65532, 65532, 65532, 327676, 65532, 65532, 65532, 65532, 327676, 131068, 131068, 65532, 65532, 327676, 131068, 327676, 65532, 327676, 327676, 131068, 65532, 327676, 131068, 65532, 65532, 131068 + + 0, 7 + + + 3866621, -1, 65532, 65532, 65532, 65532, 131068, 262140, -1, -1, 65532, 65532, 131068, 65532, 131068, 65532, 327676, 131068, 131068, 65532, 131068, 3538940, 327676, 65532, 65532, 131068, 131068, 65532, 65532, 3538940, 327676, 131068, 65532, 65532, 327676, 65532, 65532, 131068, 131068, 65532, 65532, 65532, 65532, 131068, 131068, 327676, 131068, 65532, 131068, 65532, 65532, 131068, 65532, 262140, 65532, 65532, 65532, 65532, 65532, 65532, 131068, 327676, 65532, 327676 + + 1, 7 + + + 327676, 65532, 720892, 65532, 3670012, 65532, 65532, 65532, 327676, 131068, 327676, 65532, 3538940, 65532, 131068, 131068, 65532, 720892, 327676, 65532, 65532, 131068, 65532, 3538940, 65532, 131068, 65532, 65532, 65532, 65532, 327676, 65532, 327676, 65532, 327676, 65532, 262140, 327676, 131068, 131068, 131068, 65532, 262140, 65532, 131068, 327676, 3538940, 65532, 327676, 327676, 65532, 65532, 65532, 65532, 131068, 65532, 327676, 131068, 3538940, 262140, 65532, 65532, 262140, 65532 + + 2, 7 + + + 65532, 65532, 65532, 65532, 65532, 131068, 65532, 65532, 3538940, 262140, 131068, 131068, 262140, 65532, 262140, 65532, 65532, 65532, 131068, 327676, 3670012, 65532, 131068, 131068, 131068, 65532, 65532, 65532, 131068, 131068, 65532, 65532, 65532, 3538940, 131068, 131068, 65532, 3670012, 65532, 65532, 131068, 3538940, 131068, 65532, 131068, 131068, 786431, 327676, 65532, 786428, 131068, 3866622, -1, 65532, 327676, 131068, 786428, 262140, 65532, -1, -1, 65532, 327676, 65532 + + -5, 7 + + + 65532, 131068, 131068, 65532, 262140, 131068, 65532, 65532, 65532, 65532, 65532, 3538940, 131068, 65532, 327676, 131068, 131068, 65532, 65532, 327676, 65532, 65532, 65532, 65532, 65532, 65532, 65532, 3670012, 131068, 65532, 327676, 65532, 65532, 65532, 131068, 65532, 65532, 65532, 131068, 327676, 3538940, 65532, 131068, 65532, 65532, 327676, 327676, 131068, 327676, 65532, 65532, 131068, 65532, 65532, 65532, 65532, 131068, 65532, 327676, 3473382, 4063206, -1, 1376230, 1376230 + + -4, 7 + + + 327676, 65532, 65532, 131068, 65532, 65532, 65532, 65532, 327676, 65532, 65532, 65532, 262140, 65532, 131068, 131068, 327676, 65532, 65532, 131068, 65532, 65532, 65532, 65532, 65532, 262140, 65532, 65532, 131068, 65532, 327676, 131068, 65532, 786428, 327676, 65532, 65532, 65532, 131068, 131068, 3538940, 262140, 65532, 65532, 65532, 327676, 262140, 65532, 65532, 65532, 131068, 262140, 65532, 65532, 65532, 65532, 1376230, 1376230, 1376230, 1376230, 1376230, 1376230, 4063206, -1 + + -3, 7 + + + 65532, 65532, 327676, 65532, 65532, 65532, 65532, 131068, 327676, 327676, 65532, 65532, 65532, 65532, 65532, 65532, 65532, 131068, 131068, 3538940, 65532, 65532, 65532, 327676, 65532, 262140, 65532, 65532, 65532, 131068, 786430, 131068, 131068, 65532, 65532, 7864316, -1, 65532, 720892, 65532, 131068, 327676, 131068, -1, -1, 327676, 786428, 65532, 131068, 65532, 65532, 131068, 262140, 65532, 131068, 65532, 1376230, 1376230, 1376230, 1376230, 1376230, 8060902, -1, -1 + + -2, 7 + + + 12386399, 12517470, 12517470, 12517470, 12451934, 12386398, 131068, 65532, 65532, 65532, 65532, 3670012, 65532, 131068, 65532, 131068, 327676, 327676, 786429, 131068, 65532, 262140, 65532, 65532, 65532, 327676, 327676, 327676, 327676, 65532, 65532, 262140, 327676, 131068, 327676, 65532, 720892, 65532, 131068, 131068, 65532, 131068, 65532, 3866622, -1, 65532, 3538940, 131068, 65532, 131068, 65532, -1, -1, 131068, 65532, 65532, -1, 4063206, -1, 4063206, -1, 1376230, 3473383, 131068 + + -9, 7 + + + 327652, 524263, 65532, 65532, 131068, 327676, 720892, 131068, 131044, 458727, 131068, 65532, 131068, 327676, 65532, 65532, 262116, 524263, 65532, 65532, 65532, 262140, 131068, 65532, 65508, 4456423, 131068, 65532, 65532, 65532, 131068, 131068, 65508, -1, 65532, 262140, 65532, 3538940, 131068, 327676, 131044, -1, 65532, 65532, 65532, 65532, 65532, 65532, 65508, -1, 65532, 131068, 65532, 131068, 65532, 65532, 3669988, 458727, 131068, 131068, 65532, 65532, 65532, 65532 + + -8, 7 + + + 65532, 65532, 65532, 327676, 65532, 131068, 327676, 65532, 65532, 327676, 327676, 327676, 327676, 131068, 65532, 65532, 3538940, 327676, 131068, 327676, 65532, 65532, 131068, 65532, 131068, 65532, 131068, 65532, 65532, 65532, 65532, 131068, 65532, 65532, 65532, 327676, 720892, 65532, 131068, 65532, 131068, 65532, 65532, 327676, 65532, 327676, 65532, 131068, 131068, 65532, 65532, 65532, 65532, 131068, 786429, 65532, 720892, 65532, 65532, 65532, 65532, 262140, 131068, 327676 + + -7, 7 + + + 327676, 131068, 131068, 65532, 65532, 65532, 65532, 3538940, 65532, 327676, 131068, 131068, 262140, 131068, 131068, 131068, 65532, 65532, 65532, 65532, 131068, 65532, 786428, 131068, 3538940, 65532, 327676, 327676, 3538940, 65532, 65532, 65532, 131068, 262140, 3538940, 131068, 131068, 327676, 65532, 65532, 65532, 131068, 65532, 65532, 720892, 65532, 65532, 131068, 327676, 65532, 65532, 65532, 3538940, 65532, 327676, 131068, 65532, 327676, 65532, 131068, 65532, 65532, 65532, 131068 + + -6, 7 + + + 65532, 65532, 65532, 3538940, 65532, 131068, 131068, 327676, 65532, 65532, 65532, 65532, 65532, 65532, 65532, 65532, 327676, 65532, 65532, 65532, 65532, 65532, 131068, 327676, 65532, 65532, 131068, 65532, 65532, 65532, 65532, 65532, 65532, 262140, 65532, 131068, 131068, 65532, 65532, 65532, 131068, 3538940, 327676, 327676, 65532, 131068, 3538940, 327676, 65532, 65532, 3538940, 65532, 131068, 131068, 65532, 327676, 65532, 65532, 327676, 65532, 327676, 65532, 65532, 65532 + + -9, 8 + + + 131044, 393191, 8060902, -1, -1, -1, 1376230, 1376230, 3538916, 262116, 65508, 65508, 65508, 65508, 131044, 65508, 65508, 3538916, 327652, 262116, 65508, 327652, 327652, 65508, 65508, 131044, 65508, 65508, 65508, 327652, 65508, 131044, 65508, 65508, 65508, 65508, 65508, 131044, 65508, 65508, 65508, 65508, 131044, 65508, 327652, 3669988, 720868, 65508, 1441766, 1441766, 1441766, 1441766, 1441766, 1638374, -1, 1638374, -1, -1, -1, -1, -1, -1, -1, -1 + + -10, 8 + + + 65508, 65508, 65508, 3538916, 131044, 327652, 131044, 65508, 131044, 327652, 65508, 65508, 131044, 131044, 327652, 131044, 65508, 131044, 65508, 3669988, 65508, 3669988, 131044, 262116, 131044, 65508, 65508, 131044, 65508, 327652, 65508, 327652, 327652, 65508, 3538916, 65508, 3538916, 65508, 65508, 327652, 131044, 65508, 65508, 65508, 65508, 65508, 65508, 131044, 1441766, 1441766, 1441766, 1441766, 1441766, 1441766, 1638374, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -11, 8 + + + -1, -1, -1, -1, -1, -1, -1, 983015, -1, -1, -1, -1, -1, -1, -1, 983015, -1, -1, -1, -1, -1, -1, -1, 1179623, -1, -1, -1, -1, -1, -1, -1, 917479, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1179623, -1, -1, -1, -1, -1, -1, -1, 851943, -1, -1, -1, -1, -1, -1, -1, -1 + + 7, 7 + + + 3735526, 851942, -1, -1, -1, -1, -1, -1, 131044, 983013, -1, -1, -1, -1, -1, -1, 131044, 983013, -1, -1, -1, -1, -1, -1, 65508, 1179621, -1, -1, -1, -1, -1, -1, 3735526, 851942, -1, -1, -1, -1, -1, -1, 1179621, -1, -1, -1, -1, -1, -1, -1, 851942, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 6, 8 + + + 65532, 3473382, 393190, 131044, 65508, 3735526, 851942, -1, 3473382, 393190, 65508, 3669988, 3735526, 851942, -1, -1, 393190, 65508, 65508, 3735526, 851942, -1, -1, -1, 65508, 65508, 3735526, 851942, -1, -1, -1, -1, 1441766, 1441766, 851942, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 4, 8 + + + 65532, 65532, 65532, 65532, 65532, 65532, 3670012, 65532, 4063206, -1, 1376230, 4063206, -1, 1376230, 4063206, -1, 65508, 3538916, 131044, 131044, 131044, 65508, 65508, 65508, -1, 1441766, 1441766, 1441766, 1441766, 1441766, 1441766, 1441766, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 5, 8 + + + 65532, 65532, 131068, 65532, 65532, 327676, 65532, 327676, 1376230, 1376230, 1376230, 3473383, 65532, 327676, 65532, 65532, 131044, 65508, 65508, 393191, 8060902, -1, -1, -1, 1441766, 3735527, 65508, 65508, 65508, 65508, 131044, 327652, -1, 851943, 1441766, 1441766, 1441766, 1441766, 1441766, 1441766, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 2, 8 + + + 3538940, 262140, 65532, 262140, 65532, 65532, 65532, 65532, 1376230, 1376230, 4063206, -1, 1376230, 1376230, 1376230, 1376230, 327652, 720868, 131044, 65508, 327652, 3538916, 65508, 327652, 1441766, 1441766, 1441766, 1441766, 1441766, 1441766, 1441766, 1441766, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 3, 8 + + + 131068, 131068, 131068, 65532, 65532, 131068, 65532, 65532, 1376230, 1376230, 1376230, 1376230, 1376230, 4063206, -1, 1376230, 131044, 65508, 131044, 65508, 65508, 65508, 65508, 327652, 1441766, 1441766, 1441766, 1441766, 1441766, 1441766, 1441766, 1638374, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 0, 8 + + + 65532, 131068, 131068, 327676, 131068, 327676, 65532, 65532, 8060902, -1, -1, -1, 1376230, 1376230, 4063206, -1, 65508, 65508, 327652, 65508, 131044, 65508, 327652, 327652, 1441766, 1441766, 1441766, 1441766, 1441766, 1441766, 1441766, 1441766, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 1, 8 + + + 65532, 327676, 65532, 131068, 327676, 327676, 327676, 65532, 1376230, 1376230, 4063206, -1, 1376230, 4063206, -1, 1376230, 65508, 131044, 327652, 327652, 131044, 131044, 131044, 327652, 1441766, 1441766, 1441766, 1441766, 1441766, 1441766, 1441766, 1441766, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -2, 8 + + + 786405, 131044, 65508, 65508, 65508, 131044, 524263, 65532, 327652, 131044, 131044, 327652, 65508, 65508, 393191, 4063206, 327652, 65508, 262116, 65508, 65508, 65508, 131044, 65508, 786405, 131044, 65508, 327652, 65508, 3735526, 1441766, 1441766, 327652, 65508, 65508, 65508, 131044, 983013, -1, -1, 65508, 327652, 131044, 3735526, 1441766, 851942, -1, -1, -1, 1441766, 1441766, 851942, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -1, 8 + + + 65532, 65532, 327676, 262140, 327676, 131068, 65532, 65532, -1, 4063206, -1, 8060902, -1, -1, -1, 1376230, 65508, 65508, 65508, 786406, 327652, 131044, 65508, 65508, 1441766, 1441766, 1441766, 1441766, 1441766, 1441766, 1441766, 1441766, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -4, 8 + + + 3538916, 65508, 327652, 65508, 65508, 131044, 65508, 327652, 65508, 131044, 65508, 131044, 65508, 327652, 65508, 65508, 327652, 65508, 65508, 327652, 65508, 131044, 65508, 131044, 3538916, 262116, 131044, 65508, 65508, 131044, 65508, 65508, 65508, 131044, 3538916, 3538916, 65508, 65508, 65508, 65508, 65508, 65508, 720868, 131044, 65508, 3538916, 65508, 65508, 1441766, 1638374, -1, 1441766, 1441766, 1441766, 1441766, 1441766, -1, -1, -1, -1, -1, -1, -1, -1 + + -3, 8 + + + 65508, 65508, 131044, 131044, 327652, 3669988, 327652, 3538916, 262116, 131044, 65508, 327652, 131044, 65508, 131044, 65508, 65508, 65508, 65508, 327652, 327652, 131044, 65508, 65508, 65508, 65508, 131044, 327652, 65508, 131044, 327652, 65508, 131044, 65508, 327652, 65508, 65508, 131044, 65508, 65508, 65508, 131044, 131044, 131044, 262116, 65508, 65508, 65508, 1638374, -1, 1441766, 1441766, 1441766, 1441766, 1441766, 1638374, -1, -1, -1, -1, -1, -1, -1, -1 + + -6, 8 + + + 1376230, 1376230, 4063206, -1, 1376230, 1376230, 1376230, 1376230, 262116, 65508, 65508, 131044, 65508, 131044, 262116, 131044, 65508, 65508, 65508, 65508, 131044, 131044, 131044, 65508, 327652, 65508, 131044, 65508, 131044, 131044, 131044, 327652, 131044, 65508, 65508, 65508, 65508, 65508, 131044, 131044, 131044, 65508, 65508, 65508, 65508, 327652, 3538916, 65508, 7798758, -1, -1, -1, 1441766, 1441766, 1638374, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -5, 8 + + + 1376230, 1376230, 1376230, 393190, 65508, 131044, 327652, 65508, 131044, 65508, 65508, 65508, 65508, 131044, 327652, 131044, 131044, 3538916, 3866596, -1, 65508, 65508, 131044, 65508, 65508, 65508, -1, -1, 65508, 327652, 65508, 65508, 131044, 327652, 65508, 131044, 65508, 3538916, 65508, 327652, 65508, 131044, 65508, 262116, 131044, 3538916, 327652, 65508, 1441766, 1441766, 1638374, -1, 1638374, -1, 1441766, 1441766, -1, -1, -1, -1, -1, -1, -1, -1 + + -8, 8 + + + 1376230, 1376230, 4063206, -1, 1376230, 4063206, -1, 1376230, 327652, 131044, 65508, 65508, 65508, 65508, 65508, 65508, 131044, 65508, 720868, 65508, 262116, 327652, 65508, 65508, 3538916, 262116, 131044, 262116, 65508, 131044, 262116, 131044, 720868, 65508, 131044, 131044, 65508, 327652, 720868, 262116, 3538916, 327652, 131044, 131044, 65508, 131044, 65508, 327652, -1, 1441766, 1441766, 1441766, 1441766, 1441766, 1441766, 1638374, -1, -1, -1, -1, -1, -1, -1, -1 + + -7, 8 + + + 1376230, 1376230, 4063206, -1, 4063206, -1, 1376230, 1376230, 65508, 65508, 65508, 131044, 327652, 131044, 131044, 65508, 327652, 65508, 262116, 327652, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 131044, 65508, 327652, 131044, 131044, 65508, 327652, 131044, 65508, 131044, 131044, 327652, 65508, 65508, 3669988, 327652, 327652, 131044, 131044, 131044, 3538916, -1, 7798758, -1, -1, -1, 1441766, 1638374, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 0, -1 + + + -1, -1, -1, -1, -1, -1, -1, -1, 12976132, 13238276, 12976132, 13107204, 12976132, 13172740, -1, 13238276, -1, -1, -1, 2818052, 3211269, -1, -1, 13434884, 2555908, 2031620, 1835012, 13500420, 2424837, 1245188, 1245188, 3211269, 2686980, 2686980, 2686980, 2031620, 1835012, 1835012, 13500420, 2359301, 2686980, 2686980, 2686980, 2686980, 2686980, 2752516, 3080196, 2228229, 2686980, 2686980, 2686980, 2686980, 2686980, 2686980, 3080196, 2228229, 2555916, 2031628, 2686980, 2686980, 2686980, 2686980, 3080196, 2359301 + + -1, -1 + + + 1507331, -1, -1, -1, -1, -1, -1, -1, 1507331, 13238276, 12976132, 13107204, 12976132, 13238276, 12976132, 13107204, 131075, 13369347, 13238276, 12976132, 13238276, 3211268, 2818052, -1, 13369343, 1507331, 3211268, 2818052, 12845060, 2424836, 13041668, 2555908, 1048575, 1507331, 2359303, 13041668, 1835012, 1835012, 2555908, 2686980, 1048575, 1507331, 1245191, 2490372, 2883588, 2686980, 2686980, 2686980, 1048575, 1507331, 2228231, 2490372, 2686980, 2686980, 2686980, 2686980, 1048575, 1507331, 2359303, 2490372, 2686980, 2686980, 2686980, 2686980 + + 2, -1 + + + 131068, 131068, 65532, 10354684, 3932156, -1, -1, -1, 327676, 9961468, 9371647, 9502716, -1, -1, -1, -1, 9175037, 9437183, 9502716, 9568252, 4325372, -1, -1, -1, 9437181, 9502716, 9764860, 9764860, 4325372, -1, -1, -1, 10420221, 7012348, 7077884, 10289148, 4194300, -1, -1, -1, 7012348, 7274492, 8781820, 393212, -1, -1, -1, -1, 7602172, 6815740, 7143420, 1245183, 3473428, 196628, 6946836, 6881300, 327676, 6684668, 7340028, 3801087, 196628, 6946836, 7208980, 6684692 + + 1, -1 + + + -1, 1703937, 655357, 10223614, 9371646, 9568252, 9306108, 9895933, 12976132, 1703937, 655357, 3670012, 10223614, 9371646, 9568252, 9895933, 13369346, 131074, 655357, 3538940, 262140, 10027007, 9633788, 9371644, 12255233, 13369342, 196606, 7077884, 65532, 10027007, 9830396, 9306108, 12255233, 1703933, 6488060, 7536636, 65532, 9175039, 9371646, 9306108, 12255233, 1703933, 6815740, 7536636, 262140, 65532, 9371646, 9437182, 12255233, 1703933, 6684668, 8781820, 7077884, 65532, 9502716, 327676, 12255233, 1703933, 7274492, 8847356, 7536636, 65532, 327676, 327676 + + 4, -1 + + + 65556, 262164, 9371668, 9371668, 9371668, 262164, 20, 3473428, 9371668, 9371668, 9371668, 9371668, 9371668, 3473428, 20, 9371668, 196628, 262164, 7012375, 6881300, 6881300, 6881300, 7012372, 9371668, 6881300, 6881300, 8716311, 7077908, 7077908, 8781844, 7208981, 6881300, 7077908, 8847380, 7077908, 7077908, 8847380, 8650772, 13697044, 7077908, 11862036, 11862036, 8192020, 8323092, -1, -1, 12058644, 11862036, 6684692, 7274516, 6422548, 6684692, 6422548, 7471124, 262164, 20, 4653076, 4718612, 4718612, 4718612, 4653077, 20, 196628, 65556 + + 3, -1 + + + -1, -1, 458748, 3473404, 9306135, 9306135, 65556, 8519701, -1, -1, 720917, 9306135, 9306135, 9306135, 65556, 8519701, -1, -1, 10420244, 9437204, 9306135, 65556, 65556, 8519703, -1, -1, 9175060, 10223636, 9306135, 6946836, 6881300, 8519701, -1, -1, 10223636, 9306133, 6946836, 7208980, 8650772, 8257556, -1, -1, 9371670, 6946836, 7208980, 8781844, 8060948, 12058644, 6881300, 6881300, 6881300, 7208980, 6422548, 8650772, 11862037, 6684692, 6684692, 6422548, 7274516, 8781844, 7274516, 7077908, 11862037, 6684692 + + 6, -1 + + + 196628, 65556, 20, 3473405, 524284, 3407868, 524284, 3407868, 20, 65556, 20, 262164, 20, 262164, 20, 20, 20, 65556, 65556, 20, 20, 20, 65556, 20, 3473428, 3473428, 65556, 65556, 65556, 20, 20, 262164, 20, 262164, 196628, 20, 20, 65556, 20, 196628, 65556, 20, 20, 3473428, 262164, 65556, 3473428, 20, 1376254, 1376254, 1376254, 1376254, 3473407, 3473428, 262164, 20, 3801085, 3538940, 65532, 3735548, 393215, 1376254, 1376254, 1376254 + + 5, -1 + + + 20, 3473428, 65556, 20, 20, 20, 20, 20, 9371668, 20, 20, 20, 20, 20, 20, 65556, 9371668, 9371668, 9371668, 9371668, 65556, 20, 65556, 20, 6881300, 6881300, 6881300, 7012372, 655380, 20, 65556, 65556, 7077908, 7077908, 7077908, 7471124, 20, 20, 20, 20, 8192020, 11927572, -1, 8192020, 8192020, 8192020, 13828116, 20, 262164, 65556, 65556, 262164, 12386324, 12451860, 12517396, 12386325, 65556, 65556, 65556, 12386324, 12582932, 12320788, 12320788, 12451861 + + 8, -1 + + + 65532, 65532, 327676, 327676, 131068, 131068, 65532, 327676, 131068, 131068, 131068, 65532, 65532, 327676, 65532, 327676, 65532, 65532, 65532, 65532, 262140, 131068, 65532, 327676, 786430, 65532, 262140, 65532, 65532, 65532, 65532, 65532, 65532, 131068, 65532, 65532, 65532, 131068, 131068, 65532, 3538940, 65532, 65532, 65532, 131068, 65532, 65532, 65532, 65532, 65532, 131068, 131068, 65532, 65532, 131068, 131068, 65532, 327676, 720892, 131068, 262140, 262140, 327676, 65532 + + 7, -1 + + + 589820, -1, 524284, 3407868, 524284, 458748, 393213, 65532, 65556, 65556, 20, 20, 65556, 3473428, 3473405, 393213, 196628, 65556, 20, 20, 20, 20, 20, 1245181, 20, 65556, 65556, 3473428, 20, 262164, 262164, 1245181, 20, 20, 655380, 20, 65556, 20, 196628, 458749, 20, 20, 20, 20, 655380, 196628, 196628, 524285, 20, 262164, 20, 20, 3473406, 1376254, 1376254, 393214, 65532, 3473428, 20, 20, 1245181, 65532, 65532, 131068 + + 10, -1 + + + 262116, 65508, 65508, 65508, 131044, 983013, -1, -1, 131044, 65508, 131044, 65508, 131044, 1179621, -1, -1, 327652, 65508, 65508, 131044, 65508, 983013, -1, -1, 65508, 131044, 65508, 327652, 327652, 1179621, -1, -1, 65508, 720868, 65508, 3538916, 131044, 1179621, -1, -1, 65508, 65508, 65508, 720868, 65508, 1114085, -1, -1, 65508, 65508, 131044, 327652, 65508, -1, -1, -1, 65508, 327652, 3866596, -1, 327652, 983013, -1, -1 + + 9, -1 + + + 65532, 65532, 131068, 131068, 65532, 65532, 524261, 131044, 65532, 327676, 65532, 65532, 327676, 131068, 458725, 327652, 786431, 65532, 262140, 65532, 3538940, 131068, 458725, 65508, 65532, 131068, 131068, 3670012, 262140, 131068, 458725, 3538916, 65532, 65532, 65532, 131068, 65532, 327676, 524261, 65508, 65532, 65532, 131068, 65532, 327676, 65532, 458725, 327652, 65532, 65532, 65532, 327676, 65532, 65532, 458725, 131044, 65532, 65532, 65532, 262140, 65532, 131068, 458725, 65508 + + -10, 0 + + + -1, -1, -1, -1, -1, 1179623, 327652, 65508, -1, -1, -1, -1, -1, 1179623, 131044, 131044, -1, -1, -1, -1, -1, 983015, 131044, 131044, -1, -1, -1, -1, -1, 983015, 327652, 3538916, -1, -1, -1, -1, -1, 983015, 65508, 65508, -1, -1, -1, -1, -1, 1179623, 131044, 65508, -1, -1, -1, -1, -1, 917479, 327652, 65508, -1, -1, -1, -1, -1, -1, 131044, 131044 + + -9, 0 + + + 262116, 65508, 458727, 65532, 65532, 65532, 65532, 458751, 65508, 65508, 458727, 65532, 65532, 65532, 65532, 524287, 131044, 3538916, 458727, 65532, 65532, 65532, 65532, 458751, 327652, 327652, 524263, 65532, 65532, 327676, 327676, 458751, 327652, 3669988, 524263, 3538940, 65532, 262140, 65532, 458751, 3538916, 3538916, 458727, 327676, 65532, 131068, 65532, 458751, 131044, 65508, 1245159, 65532, 65532, 327676, 65532, 458751, 65508, 327652, 524263, 65532, 131068, 65532, 131068, 524287 + + -8, 0 + + + 262164, 262164, 20, 20, 20, 262164, 262164, 262164, 65556, 65556, 3473428, 20, 20, 20, 65556, 65556, 3473428, 65556, 262164, 65556, 65556, 65556, 65556, 65556, 262164, 65556, 20, 196628, 65556, 6094868, 4063252, 6029332, 20, 20, 196628, 20, 20, 6029335, 4849684, 4587540, 20, 20, 20, 196628, 20, 6029335, 5308456, 6291496, 262164, 20, 20, 20, 3473428, 4063255, 5373995, 5898296, 20, 65556, 20, 196628, 20, 4063255, 5570603, 5374011 + + -7, 0 + + + 20, 20, 20, 262164, 262164, 20, 20, 10223636, 6094868, 6029332, 6029332, 4063252, 4063252, 6094869, 9437204, 9240596, 4063255, 4587540, 5046292, 4915220, 5046292, 4063253, 65556, 9502740, 7667732, 4587540, 4587540, 4915220, 4784148, 6029333, 196628, 9240596, 5046292, 4915220, 4456468, 4587540, 5046292, 6029333, 20, 9371670, 5177384, 6357032, 5373992, 5177384, 5308457, 4063253, 196628, 262164, 5177400, 5177400, 5374008, 5832761, 5177385, 4063253, 20, 65556, 5636154, 5636155, 5701691, 6291513, 5177385, 4063253, 196628, 262164 + + -6, 0 + + + 9699348, 10420244, 9437204, 9764884, 9437204, 9764884, 9699348, 10420244, 20, 20, 20, 20, 65556, 20, 20, 20, 65556, 9699348, 20, 10420244, 9240596, 3473428, 10420244, 9699348, 20, 20, 4653076, 4718612, 4522004, 4522004, 4718612, 4522004, 196628, 65556, 4718615, 5898280, 5373992, 5767208, 5177384, 5373992, 20, 196628, 4522007, 6357035, 5046308, 4915236, 5046308, 4915236, 20, 20, 4522007, 5570603, 5046308, 4915236, 4915236, 5046308, 20, 20, 4718615, 6357035, 4915236, 4915236, 4915236, 4915236 + + -5, 0 + + + 10420244, 9699348, 655380, 9699348, 9699348, 9502740, 655380, 9502740, 20, 262164, 65556, 9699348, 20, 20, 20, 9699348, 9240596, 262164, 196628, 65556, 262164, 65556, 65556, 65556, 4718612, 4718612, 4653077, 327700, 524308, -1, 393236, 458772, 5767208, 5308457, 4718613, 1179671, 12386348, 12451884, 12451884, 12386349, 5046308, 5177385, 4522005, 393239, 12517423, 12320812, 12320812, 12517421, 4915236, 6357033, 4522005, 3342359, 12451887, 12320812, 12320812, 12582957, 4915236, 6291497, 4718613, 1179671, 12517423, 12320812, 12320812, 12320812 + + -4, 0 + + + 20, 65556, 262164, 9699348, 9502740, 9699348, 9437204, 9699348, 20, 20, 20, 20, 9699348, 655380, 262164, 9699348, 65556, 262164, 20, 9895959, 262164, 9764884, 9175060, 9437204, 327701, 6881300, 7012372, 3473428, 9830423, 10223636, 9240596, 9306133, 393237, 6422548, 8716308, 6881300, 7012372, 10420244, 9699348, 9371669, 3407893, 327701, 6684692, 6422548, 7471124, 9830422, 9371670, 9371668, 12386349, 3342357, 6684692, 6684692, 8716308, 7012372, 9306135, 9502740, 12517421, 393237, 6422548, 6684692, 6094868, 14942228, 6094869, 9437204 + + -3, 0 + + + 4325374, -1, -1, -1, -1, -1, 9568252, 327676, 4325374, -1, -1, -1, -1, -1, 9502716, 9306108, 4390908, -1, -1, -1, -1, -1, 9240572, 9109501, -1, -1, -1, -1, -1, -1, 393213, 327676, 196628, 20, 65556, 65556, 13893652, 8257556, 524285, 10551292, 20, 20, 20, 65556, 20, 7143444, 524285, 7012348, 9240596, 20, 20, 65556, 20, 8257556, 589821, 7340028, 9764884, 9502740, 9240596, 6094868, 15204372, 6094869, -1, 7143420 + + -2, 0 + + + 65532, 9961470, 9961470, 9371646, 9568252, 10420221, 6684668, 7340028, 9437181, 131068, 65532, 10092542, 9961470, 9961470, 6684668, 8716284, 9961470, 327676, 65532, 327676, 131068, 3538940, 6684668, 7340028, 262140, 131068, 9568252, 131068, 131068, 7012348, 7274492, 11075580, 10551292, 131068, 131068, 131068, 7012348, 7274492, 11075580, 11403260, 7077884, 10354684, 327676, 9175037, 6684668, 8912892, 10813436, 8716284, 8781820, 7077884, 9502716, 9961470, 6684668, 7340028, 10944508, 11010044, 7405564, 6881276, 9568252, 9961470, 7602172, 6815740, 7340028, 7405564 + + -1, 0 + + + 1048575, 1507331, 1245191, 2490372, 2686980, 2686980, 2686980, 2686980, 1048575, 1507331, 2228231, 2490372, 2686980, 2686980, 2686980, 2686980, 1048575, 1507331, 2818055, 2490372, 2686980, 2686980, 2686980, 2686980, 1048575, 1507331, 12845063, 2490372, 2752516, 2686980, 2686980, 2686980, 1048575, 1507331, 2818055, 12713988, 2293764, 2293764, 2293764, 2293764, 1048575, 1507331, 3211271, 2818054, 2359302, 1245190, 1245190, 131068, 1048575, 3276803, 2162690, 2162690, 1966082, 1966082, 1966082, 1966082, 12976127, 1703934, 1048574, 655358, 655358, 655358, 1703934, 1048574 + + 1, -2 + + + 3473381, 458724, 393189, 7340004, 7536612, 9568228, 10026983, 7012324, 6946812, 7077884, 3473381, 393189, 6881252, 9895910, 10223591, 6684644, 6553596, 6881276, 262140, 3473381, 1245156, 524260, 524260, 524260, 65532, 131068, 3670012, 3538940, 131068, 3538940, 131068, 7012348, 9568252, 327676, 9568252, 9830396, 131068, 10551292, 65532, 6684668, 1048572, 1048572, 196605, 131068, 65532, 9175037, 131068, 6684668, 1507328, 1441793, 655357, 9830396, 9568252, 10551292, 9175037, 7602172, -1, 1703937, 655357, 9371646, 9764860, 10289148, 10223614, 9175037 + + 0, -2 + + + 9502716, 9502716, 9764860, 6684668, 8716284, 8781820, 6946812, 7077884, 9502716, 9764860, 9830396, 7602172, 6553596, 6553596, 6815740, 8781820, 9502716, 9502716, 10289148, 327676, 131068, 9830396, 7602172, 6553596, 9502716, 9502716, 9830396, 9764860, 9109500, 65532, 9830396, 327676, 9764860, 10485756, 9502716, 9830396, 9568252, 9502716, 9502716, 65532, 1048572, 1703932, 1048572, 1703932, 1048572, 1703932, 1048572, 1703932, 1769472, 2621440, 1769472, 2621440, 1769472, 2621440, 1769472, 2621440, -1, 13172740, -1, 13172740, -1, 13172740, -1, 13172740 + + -1, -2 + + + 7012348, 6946812, 6946812, 6946812, 7274492, 7536636, 65532, 10485756, 6684668, 6750204, 8912892, 8847356, 7405564, 6881276, 327676, 9830396, 7274492, 8847356, 7405564, 6553596, 6881276, 131068, 9568252, 9764860, 6750204, 7405564, 6881276, 10354684, 10551292, 327676, 9633788, 9830396, 6553596, 6881276, 10485756, 9568252, 9502716, 9306108, 9830396, 9502716, 655356, 655356, 655356, 655356, 655356, 655356, 655356, 655356, 1441792, 1703936, 1703936, 1703936, 2621440, 1703936, 1769472, 1703936, 1507331, 13172740, -1, 13172740, -1, 13172740, -1, 13172740 + + -2, -2 + + + 6750180, 7536612, 131044, 7602148, 6553572, 6553572, 6553572, 458727, 6553572, 393188, 458724, 589796, -1, 458724, 524260, 3473380, -1, 3473380, 65532, 7012348, 6946812, 6946812, 6946812, 6946812, 6946812, 6946812, 7077884, 6684668, 7340028, 8716284, 6750204, 6488060, 6488060, 7405564, 6881276, 7602172, 6553596, 6815740, 7405564, 6553596, 6488060, 7536636, 327676, 262140, 3670012, 7602172, 6881276, 196604, 7405564, 6881276, 327676, 3538940, 327676, 10354684, 9502716, 1048575, 6881276, 262140, 65532, 131068, 10354684, 9371647, 9633788, 1048575 + + 5, -2 + + + 5898235, 5308408, 5308408, 5308408, 5308408, 5308408, 5308408, 5308408, 5046244, 5046244, 5046244, 5046244, 5046244, 5046244, 5046244, 5046244, 327652, 65508, 327652, 131044, 327652, 3538916, 65508, 65508, 3407844, 1245156, 524260, 458724, 458724, 589796, -1, 458724, 65532, 65532, 65532, 65532, 65532, 65532, 327676, 327676, 327676, 65532, 131068, 131068, 720892, 327676, 65532, 65532, 131068, 65532, 65532, 65532, 3538940, 131068, 131068, 720892, 458748, 3407868, 524284, 524284, 1245180, 3407868, 3407868, 524284 + + 4, -2 + + + 5308408, 5308408, 5308408, 5308408, 5373946, 4784101, 65508, 6094823, 5046244, 5046244, 5046244, 5046244, 5046244, 4718566, 65508, 6160359, 131044, 393188, 458724, 524260, 524260, 393189, 131044, 65508, 1245156, 3473380, 12451836, 12517372, 12451837, 3473381, 524260, 524260, 393213, 65532, 12517375, 12386300, 12648445, 12582908, 12451837, 3538940, 524285, 131068, 12451839, 12648447, 12386300, 12386300, 12517373, 327676, 3473405, 458748, 393213, 12451839, 12582910, 12582910, 12451838, 327676, 262164, 9306135, 3473405, 524284, 524284, 458748, 1245180, 458748 + + 3, -2 + + + 6684644, 6750180, 7471076, 6750180, 4587495, 4980708, 4849636, 5963771, 393188, 524260, 458724, 393189, 4718567, 5046244, 5046244, 5046244, 3473380, 65532, 327676, 3473381, 524260, 393189, 131044, 65508, 6946812, 6946812, 7077884, 262140, 10354684, 3473381, 1245156, 524260, 10878972, 11141116, 8781820, 6946812, 393212, 524284, 524284, 524284, 10616828, 10747900, 7143420, 7340028, 458751, 8060948, 262164, 196628, 10682364, 11010044, 7340028, 7405564, 458751, 8519701, 9371668, 655380, 6750204, 8716284, 13762556, 393212, 3473404, 8257556, 8519702, 8257556 + + 2, -2 + + + 7274468, 6750180, 6488036, 8781796, 6946788, 6946788, 6946788, 7077860, 6750180, 6750180, 7143396, 6488036, 6488036, 6488036, 7143396, 7536612, 524260, 458724, 524260, 458724, 3407844, 3407844, 524260, 1245156, 6946812, 6946812, 6946812, 7077884, 65532, 3538940, 7012348, 6946812, 8716284, 7340028, 7340028, 8781820, 6946812, 6946812, 7274492, 11075580, 7143420, 8716284, 7405564, 6553596, 6815740, 8716284, 7340028, 10813436, 6815740, 7405564, 6881276, 65532, 7602172, 6553596, 6815740, 10944508, 7602172, 6881276, 65532, 131068, 3538940, 262140, 7602172, 6815740 + + 9, -2 + + + 262116, 262116, 131044, 262116, 3538916, 65508, 3538916, 131044, 720868, 131044, 65508, 65508, 65508, 327652, 262116, 327652, 393189, 65508, 65508, 131044, 65508, 65508, 327652, 3538916, 3473381, 393189, 65508, 65508, 131044, 65508, 65508, 131044, 131068, 3407845, 65508, 3538916, 3538916, 65508, 131044, 131044, 65532, 3473381, 1245156, 524260, 458724, 524260, 393189, 262116, 65532, 3538940, 65532, 65532, 65532, 65532, 524261, 720868, 65532, 262140, 131068, 65532, 65532, 65532, 524261, 131044 + + 8, -2 + + + 327652, 65508, 131044, 131044, 131044, 131044, 327652, 65508, 65508, 65508, 65508, 65508, 131044, 65508, 327652, 65508, 131044, 393188, 3407844, 3407844, 458724, 458724, 1245156, 458724, 1245156, 3473380, 65532, 131068, 65532, 3538940, 131068, 131068, 131068, 65532, 65532, 131068, 65532, 131068, 131068, 131068, 131068, 65532, 65532, 131068, 131068, 65532, 131068, 65532, 65532, 3670012, 327676, 65532, 65532, 65532, 65532, 65532, 131068, 327676, 131068, 3538940, 131068, 65532, 131068, 65532 + + 7, -2 + + + 3669988, 65508, 327652, 65508, 131044, 131044, 262116, 327652, 327652, 65508, 65508, 131044, 327652, 327652, 65508, 327652, 327652, 3538916, 3538916, 65508, 131044, 327652, 65508, 65508, 3801060, 1441766, 458724, 393189, 327652, 327652, 393188, 458724, 131068, 327676, 65532, 3473381, 524260, 458724, 3473380, 65532, 65532, 131068, 131068, 131068, 131068, 327676, 65532, 131068, 327676, 65532, 131068, 327676, 327676, 786429, 3538940, 131068, 65532, 720892, 131068, 65532, 262140, 65532, 786429, 65532 + + 6, -2 + + + 5308408, 5308408, 5963770, 4128741, 131044, 327652, 131044, 65508, 5046244, 5046244, 5046244, 6160358, 65508, 131044, 65508, 131044, 3538916, 65508, 131044, 65508, 65508, 65508, 131044, 720868, 3801060, -1, 458724, 524260, 458724, 458724, 524260, 524260, 65532, 65532, 131068, 327676, 3538940, 65532, 131068, 131068, 65532, 65532, 262140, 327676, 3670012, 65532, 131068, 65532, 65532, 65532, 131068, 65532, 65532, 65532, 131068, 327676, 458748, 524284, 458748, 393213, 131068, 65532, 65532, 65532 + + 10, -2 + + + 131044, 65508, 65508, 131044, 327652, 983013, -1, -1, 65508, 131044, 131044, 65508, 262116, 1179621, -1, -1, 65508, 262116, 262116, 131044, 131044, 983013, -1, -1, 65508, 131044, 65508, 65508, 65508, 1179621, -1, -1, 65508, 65508, 131044, 131044, 65508, 1179621, -1, -1, 65508, 65508, 327652, 131044, 327652, 983013, -1, -1, 65508, 65508, 65508, 65508, 131044, 1179621, -1, -1, 65508, 65508, 131044, 131044, 262116, 1179621, -1, -1 + + -10, -1 + + + -1, -1, -1, -1, -1, 1179623, 65508, 65508, -1, -1, -1, -1, -1, 917479, 65508, 65508, -1, -1, -1, -1, -1, -1, 131044, 3538916, -1, -1, -1, -1, -1, 917479, 65508, 327652, -1, -1, -1, -1, -1, -1, 65508, 65508, -1, -1, -1, -1, -1, 983015, 327652, 262116, -1, -1, -1, -1, -1, 917479, 786406, 131044, -1, -1, -1, -1, -1, -1, 3538916, 65508 + + -7, -1 + + + 262164, 20, 4522007, 4456468, 4456468, 5308456, 6291496, 5177384, 20, 262164, 4522007, 4456468, 5046292, 5767211, 6225963, 6225961, 20, 20, 4522007, 4915220, 4784148, 5898283, 5242920, 5242920, 20, 65556, 4653079, 4980756, 4980756, 4980756, 4980756, 4980756, 20, 65556, 20, 20, 20, 20, 20, 20, 8192020, 8126484, 8126484, 8192020, 11862036, 8192020, 12058644, 12058644, 3473428, 3473428, 65556, 20, 196628, 3473428, 3473428, 65556, 20, 20, 262164, 20, 65556, 20, 9699348, 262164 + + -6, -1 + + + 12189736, 6225961, 6291497, 4718613, 10747924, 11141140, 11141140, 11272212, 6225963, 6225963, 5177385, 4522005, 10747924, 10551316, 11272212, 10944532, 5242920, 5242920, 5308458, 4718613, 10878996, 10616852, 10944532, 6684692, 4980756, 4980756, 4980756, 4653078, 6684692, 8847380, 7274516, 7274516, 20, 20, 6946836, 7208980, 6684692, 6684692, 7077908, 8781844, 12058644, 8585236, -1, 12124180, -1, -1, 11796500, -1, 20, 65556, 20, 20, 20, 20, 20, 65556, 9240596, 9240596, 9764884, 9699348, 65556, 655380, 3473428, 720917 + + -9, -1 + + + 262116, 65508, 3407847, 262140, 327676, 65532, 65532, -1, 327652, 65508, 1245159, 65532, 327676, 65532, 131068, 524287, 65508, 131044, 458727, 65532, 327676, 65532, 131068, 524287, 65508, 327652, 524263, 65532, 327676, 327676, 262140, 1245183, 65508, 131044, 3407847, 65532, 65532, 131068, 131068, 3407871, 131044, 65508, 1245159, 65532, 131068, 65532, 131068, 1245183, 327652, 65508, 524263, 327676, 3538940, 65532, 65532, 524287, 65508, 65508, 3407847, 65532, 131068, 65532, 327676, 3407871 + + -8, -1 + + + 196628, 20, 20, 20, 65556, 65556, 262164, 20, 65556, 20, 20, 262164, 20, 20, 20, 20, 20, 20, 20, 20, 65556, 65556, 20, 20, 20, 20, 20, 65556, 20, 65556, 20, 20, 20, 20, 20, 65556, 20, 65556, 20, 20, 65556, 65556, 3604500, 65556, 8060948, 12058644, 8192020, 8192020, 20, 196628, 3473428, 3473428, 65556, 20, 196628, 196628, 65556, 65556, 20, 20, 20, 20, 65556, 65556 + + -3, -1 + + + 7143420, 8781820, 7077884, 65532, 3080188, 65532, 327676, 65532, 10878972, 11141116, 7536636, 65532, -1, 65532, 65532, 65532, 11599868, 10747900, 8781820, 7077884, -1, 327676, 7012348, 6946812, 11206652, 11534332, 11141116, 8781820, 8454140, 6946812, 7274492, 7340028, 11468796, 10616828, 11534332, 8716284, 8454140, 8716284, 7143420, 7405564, 10944508, 11468796, 8716284, 13762556, 8126460, 7405564, 6553596, 6881276, 7667708, -1, -1, -1, -1, -1, 9961470, 9961470, -1, -1, -1, -1, -1, -1, 9830396, 9371644 + + -2, -1 + + + 65532, 131068, 9961468, 9961468, 9371647, 10289148, 9764860, 1048575, 65532, 65532, 65532, 10027007, 9830396, 9830396, 9371645, 1048575, 7077884, 65532, 10354684, 9371647, 10485756, 9306108, 10420221, 1048575, 7536636, 65532, 10027007, 9306108, 9568252, 9633788, 9895933, 196607, 6881276, 131068, 9437183, 9764860, 9306108, 9109501, 9961470, 9633788, 10420221, 9961468, 9371647, 9830396, 9568252, 9437181, 65532, 9306108, 327676, 327676, 9568252, 9502716, 9502716, 10420221, 327676, 7012348, 9568252, 9175037, 9371646, 10289148, 9568252, 9437181, 7012348, 7274492 + + -5, -1 + + + 10944532, 11010068, 10813460, 11075604, 8716308, 6881300, 7012372, 3801085, 11010068, 11337748, 11206676, 11468820, 10813460, 11075604, 7471124, -1, 10747924, 10551316, 11141140, 11534356, 11141140, 10682388, 7471124, 3473405, 10878996, 10616852, 10616852, 10616852, 10616852, 10944532, 7471124, 15400980, 7077908, 7077908, 7077908, 7077908, 7077908, 7340052, 6815764, 15335444, -1, 12058644, 8323092, -1, -1, 12124180, -1, -1, 65556, 655380, 20, 20, 20, 65556, 20, 3473428, 655380, 9240596, 10223636, 9699348, 9764884, 9240596, 9240596, 9764884 + + -4, -1 + + + 6684668, 6488060, 8912892, 10813436, 11206652, 11206652, 11534332, 11141116, 13697020, 8716284, 11075580, 11403260, 11599868, 11206652, 11206652, 11534332, 393213, 8847356, 10813436, 11272188, 10616828, 11206652, 11206652, 11599868, 524285, 6815740, 10944508, 11468796, 11599868, 11206652, 11599868, 11599868, 3473405, 393213, 7143420, 10944508, 10682364, 10682364, 10682364, 10682364, 8257556, 3473405, 3801084, -1, 1245180, 458748, 458748, 393213, 65556, 20, 20, 3473428, 20, 20, 3473428, 3473405, 9699348, 9502740, 9764884, 9437204, 9699348, 9437204, 9043988, 720919 + + 2, -3 + + + 4718565, 6488036, 7340004, 6750180, 6488036, 6750180, 6094823, 4980708, 4587493, 7340004, 7143396, 6160356, 4128740, 4128740, 7733220, 4653028, 4587493, 6750180, 8912868, 6094823, 4653028, 4653028, 5373944, 5242872, 4587493, 7340004, 7143396, 4128743, 5111780, 4915172, 5636091, 5570554, 4587493, 7340004, 7340004, 4128743, 4915172, 4915172, 5242875, 5701627, 4784101, 6750180, 6488036, 6094823, 4980708, 5111780, 6422523, 5767163, 4784101, 7340004, 6488036, 4128743, 4849636, 4980708, 5373947, 5308408, 4718566, 8847332, 6488036, 6160359, 5046244, 5046244, 5046244, 5046244 + + 1, -3 + + + 4718564, 4784100, 4587492, 4784100, 4784100, 4587492, 4784100, 4784100, 4784103, 4849636, 4980708, 5373944, 5242872, 5242872, 5242872, 5963769, 4587495, 4980708, 4980708, 5242875, 5505018, 5701627, 5177336, 6422521, 4784103, 4849636, 4653028, 5636091, 5570555, 5767161, 5767160, 6356985, 4587495, 5111780, 4915172, 5963771, 5308408, 5308408, 5308408, 5373946, 4718567, 5046244, 5046244, 5046244, 7995367, 4980708, 4653028, 4849636, 6488036, 6488036, 6750180, 6488036, 4784103, 4521956, 4521956, 4653028, 393189, 6553572, 6815716, 6750180, 4718567, 5046244, 5046244, 5046244 + + 4, -3 + + + 8781796, 6946788, 7274468, 8847332, 8781796, 6946788, 7077860, 9306084, 6750180, 6488036, 6750180, 6488036, 6488036, 6750180, 8781796, 6160356, 6488036, 7340004, 6488036, 6488036, 7405540, 6815716, 6488036, 4128743, 4784100, 4587492, 4784100, 4784100, 4784100, 4718565, 6488036, 4128743, 4980708, 4849636, 5373944, 6356984, 5898233, 4587493, 7143396, 6094823, 4980708, 4849636, 6422523, 5701624, 5242873, 4587493, 6750180, 4128743, 6356984, 5242872, 12255224, 6291449, 6356985, 4784101, 6488036, 6094823, 6291451, 6291449, 6291451, 6291451, 5242873, 4587493, 131044, 6094823 + + 3, -3 + + + 4653028, 5111780, 6094821, 7340004, 6750180, 7143396, 6488036, 6750180, 4980708, 4980708, 6094821, 7340004, 6488036, 6488036, 6488036, 6488036, 5636088, 5373945, 4128741, 7143396, 6488036, 6750180, 6488036, 7340004, 5505018, 6422521, 4128741, 6488036, 4718564, 4587492, 4784100, 4587492, 5177336, 5242873, 6094821, 7143396, 4784103, 4521956, 4653028, 4980708, 6291450, 6422521, 6094821, 6488036, 4587495, 4849636, 4915172, 4653028, 5308408, 5373946, 4128741, 6488036, 4587495, 4521956, 4521956, 5373944, 5046244, 5046244, 6160358, 7143396, 4587495, 4521956, 5111780, 5832699 + + -2, -3 + + + 8912868, 4784103, 4849636, 5111780, 4653028, 5177323, 4653028, 7995365, 7340004, 4784103, 5373944, 6422520, 5242872, 5242872, 5242872, 5832696, 6488036, 4784103, 6422523, 5308424, 5177352, 5373960, 5177352, 5308425, 6750180, 4784103, 5439483, 5177355, 5111819, 6225929, 5505034, 5177353, 65508, 4784103, 6356987, 5308427, 5242888, 5242888, 5242888, 5898250, 131044, 4784103, 5898235, 5308408, 5308408, 5308408, 5308408, 5308408, 7077860, 4718567, 5046244, 5046244, 5046244, 5046244, 5046244, 5046244, 8781796, 7077860, 65508, 6684644, 7143396, 6750180, 6488036, 393188 + + -3, -3 + + + 6488036, 7143396, 7143396, 7405540, 6553572, 6815716, 6488036, 6488036, 6094820, 6094820, 4128740, 6094820, 4128740, 6160357, 6750180, 6750180, 5963768, 5242872, 5439480, 5242872, 5898233, 4128741, 6553572, 6815716, 6356987, 5570555, 5177336, 5767161, 5242873, 4128741, 65508, 6684644, 5242875, 5505017, 5701627, 5570553, 6356985, 6094821, 262116, 7602148, 5242875, 5177339, 6291451, 5177339, 5242873, 6094821, 65508, 65508, 5963771, 5308408, 5308408, 5308408, 5373946, 6094821, 7012324, 6946788, 4653028, 4915172, 4980708, 4849636, 4849636, 4128741, 6684644, 7340004 + + 0, -3 + + + 4325349, 4325349, 4325349, 4390887, -1, 65532, 458725, 6750180, -1, -1, -1, -1, -1, 65532, 458725, 6750180, -1, -1, -1, -1, -1, 65532, 458725, 6750180, -1, -1, -1, -1, -1, 65532, 458725, 6488036, -1, -1, -1, -1, -1, 65532, 458725, 6750180, -1, -1, -1, -1, -1, 65532, 458725, 6488036, 65532, 65532, 65532, 65532, 65532, 65532, 458725, 7143396, 9502716, 10289148, 9830396, 7012348, 6946812, 7012349, 3473381, 524260 + + -1, -3 + + + 4587492, 4587492, 4718565, 458727, 3538940, 4194277, -1, 4325349, 5373945, 4980708, 4784101, 589799, 65532, -1, -1, -1, 5242873, 5111780, 4587493, -1, 65532, -1, -1, -1, 6356985, 4653028, 4587493, 1245159, 65532, -1, -1, -1, 5242873, 4521956, 4587493, 589799, 65532, -1, -1, -1, 5373946, 5111780, 4587493, -1, 65532, -1, -1, -1, 5046244, 5046244, 4718566, 458727, 65532, 65532, 65532, 65532, 589796, -1, 524260, 3473380, 7012348, 7077884, 720892, 9830396 + + 10, -3 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 851941, -1, -1, -1, -1, -1, -1, -1, 3735525, 983012, 851941, -1, -1, -1, -1, -1, 131044, 3669988, 3735525, 983012, 983012, 851941, -1, -1 + + 9, -3 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, 851941, -1, -1, -1, -1, -1, -1, 131044, 3735525, 851941, -1, -1, -1, -1, -1, 65508, 327652, 3735525, 983012, 983012, 851941, -1, -1, 65508, 131044, 262116, 65508, 65508, 3735525, 983012, 851941, 65508, 3538916, 65508, 65508, 65508, 65508, 131044, 3735525, 65508, 327652, 65508, 65508, 327652, 65508, 131044, 327652, 65508, 65508, 65508, 65508, 131044, 65508, 65508, 65508 + + 6, -3 + + + 9830372, 9240548, 10485732, 9502692, 3538916, 65508, 65508, 3538916, 9568228, 6160356, 6094820, 6160357, 65508, 131044, 65508, 65508, 9306084, 6094823, 4653028, 4128741, 327652, 65508, 327652, 3538916, 6094820, 7733220, 4521956, 4128741, 131044, 65508, 262116, 720868, 5242872, 5439480, 5373945, 6094821, 131044, 65508, 65508, 786405, 6357000, 5898249, 5832697, 6094821, 65508, 786407, 131044, 65508, 5701641, 5177353, 5242873, 4128741, 327652, 262116, 65508, 327652, 5242888, 5308426, 6422521, 4128741, 65508, 65508, 786404, 786406 + + 5, -3 + + + 9240548, 9633764, 9633764, 131044, 131044, 65508, 131044, 131044, 6094820, 6160357, 9502692, 65508, 65508, 327652, 131044, 65508, 5111780, 6094821, 9830372, 9830372, 9502692, 9568228, 9568228, 9502692, 4849636, 7733221, 4128740, 6094820, 4128740, 4128740, 6094820, 4128740, 5373944, 5242872, 6422520, 5242872, 5242872, 5439480, 5242872, 5242872, 5242875, 5308424, 5177352, 6357000, 5308425, 5177339, 5701626, 5308424, 5242875, 5373963, 6225931, 5636107, 5570569, 6291449, 6291450, 6357003, 5832699, 5308427, 5242888, 5242888, 5308426, 5177336, 5570554, 5308427 + + 8, -3 + + + 65508, 262116, 65508, 65508, 65508, 3735525, 851941, -1, 262116, 3538916, 65508, 327652, 65508, 327652, 3735525, 917476, 3538916, 131044, 65508, 131044, 131044, 131044, 65508, 65508, 65508, 131044, 65508, 131044, 65508, 327652, 327652, 65508, 131044, 131044, 65508, 65508, 327652, 65508, 65508, 327652, 327652, 65508, 65508, 131044, 65508, 131044, 65508, 65508, 131044, 65508, 327652, 3538916, 327652, 65508, 262116, 65508, 65508, 65508, 65508, 131044, 65508, 65508, 131044, 65508 + + 7, -3 + + + 131044, 131044, 327652, 65508, 65508, 65508, 131044, 65508, 131044, 327652, 327652, 65508, 65508, 131044, 65508, 65508, 65508, 131044, 131044, 65508, 131044, 65508, 131044, 327652, 65508, 65508, 131044, 65508, 65508, 131044, 262116, 3538916, 720868, 327652, 65508, 65508, 65508, 65508, 65508, 131044, 327652, 65508, 131044, 65508, 327652, 65508, 65508, 65508, 3538916, 720868, 65508, 131044, 65508, 65508, 65508, 327652, 65508, 327652, 131044, 131044, 131044, 131044, 131044, 262116 + + -6, -2 + + + 262140, 12517375, 12386300, 12386300, 12582909, 12451839, 12582910, 12582910, 3670012, 12517375, 12386300, 12386300, 12517373, 65532, 65532, 65532, 393213, 12451839, 12582910, 12582910, 12451838, 65532, 262140, 65532, 3473405, 393213, 131068, 262140, 327676, 65532, 65532, 393212, 20, 3473405, 458748, 524284, 3407868, 1245180, 524284, 3473404, 4718612, 4718612, 4718612, 4653077, 6946836, 6881300, 6881300, 6881300, 5308456, 5177384, 5832745, 4522005, 7208980, 11010068, 10813460, 10813460, 6357035, 5636136, 5177385, 4522005, 11010068, 11337748, 11141140, 11534356 + + -5, -2 + + + 12517374, 12451838, 12451839, 12582910, 12451838, 8781820, 6946812, 7077884, 393212, 458748, 524284, 458748, 3407868, 458748, 1245180, 3407868, 524287, 8257556, 8519700, 8519700, 8519700, 8454164, 8519700, 8257556, 3473404, 6619156, 6422548, 8716308, 6881300, 6881300, 7012372, 7143444, 6946836, 7208980, 11010068, 10813460, 10813460, 11075604, 7471124, 7143444, 7208980, 11010068, 11337748, 11534356, 11141140, 10682388, 7471124, 7143444, 11075604, 10747924, 11141140, 11272212, 10616852, 10944532, 7471124, 15335444, 10682388, 10878996, 10616852, 10944532, 7340052, 6488084, 6815764, 3407869 + + -4, -2 + + + 3473381, 393189, 6553572, 6553572, 6553572, 6815716, 7340004, 6160359, 393213, 3473381, 3407844, 458724, 393189, 6684644, 6488036, 6488036, 524285, 6946812, 6946812, 7077884, 3473381, 458724, 3407844, 458724, 3407869, 8323068, 8585212, 8585212, 12058620, -1, 8585212, 8585212, 458749, 13697020, 8716284, 6488060, 11075580, 11403260, 10616828, 11599868, 1245181, 6488060, 11075580, 10878972, 11403260, 11206652, 11206652, 11206652, 393214, 6488060, 10813436, 11599868, 11206652, 11272188, 11599868, 11272188, 13697020, 8716284, 10944508, 11468796, 11206652, 11206652, 11337724, 10682364 + + -3, -2 + + + 5046244, 5046244, 6225892, -1, 5046244, 6160358, 6684644, 7340004, 6750180, 7340004, 6750180, 6488036, 7340004, 7536612, 7602148, 6553572, 3407844, 589796, -1, 1245156, 524260, 3407844, 458724, 589796, 8519676, 14090237, -1, 8323068, 8126460, 7012348, 6946812, 6946812, 11206652, 11534332, 11141116, 8716284, 8454140, 7274492, 7143420, 7143420, 8716284, 11272188, 10747900, 6750204, 11796476, 13697020, 8716284, 8912892, 11337724, 10682364, 11010044, 7405564, -1, 6553596, 6815740, 6488060, 11010044, 7405564, 6553596, 6881276, 8454140, 3538940, 7602172, 6553596 + + -10, -2 + + + -1, -1, -1, -1, -1, 983015, 131044, 65508, -1, -1, -1, -1, -1, 1179623, 131044, 65508, -1, -1, -1, -1, -1, 1179623, 65508, 65508, -1, -1, -1, -1, -1, 983015, 65508, 65508, -1, -1, -1, -1, -1, 1179623, 65508, 131044, -1, -1, -1, -1, -1, 983015, 327652, 65508, -1, -1, -1, -1, -1, 983015, 65508, 262116, -1, -1, -1, -1, -1, 983015, 3538916, 65508 + + -9, -2 + + + 327652, 65508, 393188, 3407844, 524260, 458724, 1245156, 3407844, 65508, 65508, 3801063, 65532, 131068, 327676, 65532, 65532, 327652, 131044, -1, 327676, 327676, 327676, 131068, 65532, 262116, 3669988, 524263, 262140, 65532, 327676, 3670012, 393212, 327652, 3538916, 524263, 327676, 65532, 3538940, 65532, 1245183, 131044, 327652, 524263, 65532, 65532, 65532, 65532, 589823, 262116, 65508, 458727, 131068, 65532, 131068, 65532, -1, 262116, 65508, 1245159, 327676, 327676, 65532, 65532, 589823 + + -8, -2 + + + 3407844, 458724, 458724, 3473380, 65532, 65532, 65532, 65532, 3538940, 131068, 131068, 65532, 65532, 65532, 327676, 65532, 3538940, 65532, 65532, 3538940, 262140, 262140, 327676, 65532, 524284, 524284, 3407868, 524284, 524284, 3407868, 393213, 131068, 20, 20, 20, 65556, 20, 65556, 3473405, 1245180, 20, 720917, 65556, 65556, 3473428, 3473428, 720917, 20, 65556, 262164, 20, 20, 65556, 20, 65556, 65556, 262164, 65556, 262164, 65556, 65556, 3473428, 65556, 720918 + + -7, -2 + + + 65532, 327676, 131068, 131068, 720892, 327676, 65532, 3538940, 786431, 65532, 65532, 65532, 131068, 131068, 65532, 65532, 327676, 131068, 327676, 393212, 458748, 3407868, 524284, 524284, 131068, 327676, 393212, 3473404, 65556, 3473428, 20, 20, 3407868, 1245180, 3473404, 20, 65556, 262164, 262164, 262164, 65556, 720917, 4653076, 4522004, 4718612, 4522004, 4718612, 4522004, 20, 20, 4718615, 4456468, 4587540, 4915220, 4915220, 4784148, 20, 65556, 4522007, 4784148, 4849684, 4587540, 4915220, 4784148 + + 3, -4 + + + 12451839, 12582910, 12451838, 524261, 4784103, 4849636, 4653028, 4521956, 12451836, 12451837, 3473382, 393190, 4784103, 4849636, 5111780, 4521956, 12451839, 12451838, 393190, 6750180, 4784103, 5373944, 6422520, 5242872, 3735524, 524261, 6488036, 6750180, 4784103, 6422523, 5308424, 5177352, 1376230, 393190, 6750180, 7143396, 4784103, 5439483, 5177355, 5111819, 6488036, 7143396, 6488036, 6488036, 4784103, 6356987, 5308427, 5242888, 6094820, 6094820, 6160357, 7471076, 4784103, 5898235, 5308408, 5308408, 5111780, 4980708, 6094821, 7340004, 4718567, 5046244, 5046244, 5046244 + + 2, -4 + + + 5242877, 5636095, 5701629, 5701630, 5373967, 5111822, 12189709, 5308429, 5242877, 5308428, 5177356, 5373964, 12189708, 5636109, 5636109, 5177357, 6356989, 5767183, 5308444, 5767196, 5177372, 5177372, 5308445, 5177357, 5242877, 5177359, 5177375, 5636125, 5636124, 5636125, 5570589, 6357005, 6422525, 5177359, 6291487, 6225951, 5701663, 6225948, 5373981, 5177357, 5242877, 5177359, 5308447, 5242908, 5242908, 5242908, 5308446, 5177357, 5373950, 5832719, 5242892, 5242892, 5242892, 5242892, 5242892, 5308430, 1376230, 1376230, 1376230, 1376230, 1376230, 393190, 4128743, 4849636 + + 1, -4 + + + 6488036, 8454116, 458727, 6422527, 5898255, 5242892, 5308430, 5505022, 6488036, 8126436, 458727, 5242879, 5701628, 5505021, 5177343, 5505023, 6488036, 11796452, 458727, 6422527, 5505023, 5505023, 5701630, 5570557, 6488036, -1, 458727, 5832703, 5308428, 6357004, 5308429, 5177342, 8912868, 8454116, 458727, 5242879, 5767183, 5439502, 5570573, 6291453, 13762532, 8454116, 458727, 5636095, 5308431, 5242892, 5308430, 5570559, 8191972, 8126436, 458727, 5963775, 5308412, 5308412, 5308412, 5308412, 6750180, 6750180, 393191, 458726, 458726, 458726, 458726, 458726 + + 0, -4 + + + 9306084, 9306084, 9306084, 9764836, 65508, 8519655, 6488036, 7143396, 9240548, 9568228, 786404, 9764836, 65508, 8323044, 7471076, 6488036, 10420198, 9633764, 9240548, 9240548, 10551268, 8519655, 6488036, 6488036, 10289124, 9633764, 9568228, 9830372, 65508, 8519655, 6488036, 6488036, 9764836, 9568228, 9306084, 9306084, 65508, 8519655, 8847332, 8716260, 9764836, 10289124, 9830372, 9306084, 65508, 8323044, 6488036, 13696996, -1, 18415588, -1, -1, 12124132, 8126436, 8191972, 8191972, 9568228, 9240548, 9633764, 9502692, 393188, 524260, 393189, 6750180 + + -1, -4 + + + 8454116, 8912868, 6488036, 7471076, -1, 65508, 9240548, 9502692, 8126436, 7340004, 6488036, 6488036, 8323044, 65508, 9502692, 9306084, 11796454, 6488036, 6488036, 8978404, 8585189, 65508, 9306084, 9830372, -1, 6488036, 6488036, 6488036, 14090212, 65508, 9568228, 9568228, 8454116, 8847332, 6488036, 6488036, -1, 65508, 65508, 9830372, 8454116, 13762532, 8716260, 13696996, 8323044, 65508, 65508, 9306084, 8126436, 8191972, 8191972, 8191972, 8126436, 12124132, 18415588, -1, 6750180, 6750180, 6750180, 393188, 524260, 393189, 9306084, 9568228 + + -2, -4 + + + 20, 20, 5308439, 6357014, 5308438, 458749, 65532, 458725, 20, 20, 20, 20, 20, 458749, 65532, 458725, 393215, 458750, 458750, 458750, 458750, 393214, 65532, 458725, 65532, 65532, 65532, 65532, 65532, 65532, 65532, 458725, 4063206, -1, 1376230, 1376230, 1376230, 1376230, 1376230, 393190, 6750180, 4718564, 4784100, 4587492, 4784100, 4587492, 4587492, 4718565, 6750180, 4587495, 5111780, 4849636, 4653028, 5177323, 4653028, 4587493, 7143396, 4784103, 4849636, 4653028, 4521956, 5177323, 4653028, 4587493 + + -3, -4 + + + 4980708, 4849636, 5373944, 6356984, 5898233, 4587493, 1245159, 65532, 4980708, 4849636, 6422523, 5701624, 5242873, 4587493, 524263, 65532, 6356984, 5242872, 12255224, 6291449, 6356985, 4784101, 3407847, 65532, 6291451, 6291449, 6291451, 6291451, 5242873, 4587493, 3407847, 65532, 5308408, 5308408, 5308408, 5308408, 5373946, 4784101, 393191, 1376230, 5046244, 5046244, 5046244, 5046244, 5046244, 4718566, 65508, 6684644, 6946788, 7077860, 7012324, 6946788, 6946788, 6946788, 7077860, 6684644, 6750180, 8781796, 7274468, 6488036, 6750180, 6750180, 8781796, 7274468 + + -4, -4 + + + 5177353, 5242873, 4128741, 7143396, 4784103, 4521956, 4653028, 4980708, 5308426, 6422521, 4128741, 8847332, 4587495, 4849636, 4915172, 4653028, 5308408, 5963770, 4128741, 6488036, 4587495, 4521956, 4521956, 5373944, 5046244, 5046244, 6160358, 6750180, 4587495, 4521956, 5111780, 5832699, 65508, 7012324, 7274468, 6488036, 4587495, 4980708, 4849636, 5963771, 4784100, 4718565, 8912868, 7471076, 4718567, 5046244, 5046244, 5046244, 5963769, 4784101, 6815716, 6750180, 7536612, 7012324, 6946788, 6946788, 6422521, 4587493, 7602148, 6553572, 6881252, 6684644, 6750180, 6488036 + + 8, -4 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 851941, -1, -1, -1, -1, -1, -1, -1, 3735525, 917476, -1, 1179620, 983012, 851941, -1, -1 + + 7, -4 + + + 65508, 983013, -1, -1, -1, -1, -1, -1, 131044, 3735525, 851941, -1, -1, -1, -1, -1, 327652, 131044, 1179621, -1, -1, -1, -1, -1, 262116, 65508, 3735525, 851941, -1, -1, -1, -1, 131044, 65508, 131044, 3735525, 983012, 851941, -1, -1, 65508, 131044, 327652, 65508, 262116, 3735525, 1179620, 851941, 131044, 65508, 65508, 65508, 65508, 65508, 65508, 3735525, 65508, 65508, 65508, 3538916, 327652, 65508, 65508, 327652 + + 6, -4 + + + 9568228, 9502692, 9306084, 327652, 65508, 3538916, 131044, 65508, 4784100, 4718565, 9502692, 131044, 65508, 65508, 65508, 65508, 5963769, 4784101, 9568228, 327652, 65508, 65508, 65508, 65508, 6422521, 4587493, 327652, 131044, 65508, 65508, 131044, 262116, 5242873, 4587493, 9502692, 327652, 131044, 65508, 65508, 65508, 5242873, 4587493, 131044, 327652, 65508, 65508, 65508, 65508, 5898234, 4784101, 65508, 327652, 131044, 262116, 131044, 131044, 5046244, 4718566, 327652, 65508, 65508, 3538916, 65508, 131044 + + 5, -4 + + + 9830372, 9502692, 9764836, 9568228, 10289124, 131044, 131044, 65508, 4784100, 4587492, 4784100, 4784100, 4784100, 4587492, 4587492, 4784100, 4849636, 4653028, 4849636, 5373944, 5636088, 5242872, 5242872, 5832696, 4521956, 5111780, 4653028, 5242875, 5832712, 5177352, 5177352, 5308425, 5046244, 5046244, 7995367, 5242875, 5177355, 5439497, 5111818, 5177353, 131044, 65508, 4784103, 5242875, 5308427, 5242888, 5242888, 5832714, 65508, 65508, 4587495, 5963771, 5308408, 5308408, 5308408, 5308408, 65508, 327652, 4718567, 5046244, 5046244, 5046244, 5046244, 5046244 + + 4, -4 + + + 4587493, 9764836, 9306084, 9306084, 9306084, 9306084, 9830372, 9830372, 7995365, 4587492, 4587492, 4587492, 4587492, 4718565, 9568228, 4718564, 5242872, 5242872, 5832696, 5373945, 4980708, 4784101, 9764836, 4587495, 5373960, 5177352, 5308425, 5242873, 5111780, 4587493, 9764836, 4784103, 6225929, 5505034, 5177353, 6356985, 4653028, 4587493, 9568228, 4718567, 5242888, 5242888, 5898250, 5242873, 4521956, 4784101, 9306084, 9764836, 5308408, 5308408, 5308408, 5373946, 5111780, 4587493, 65508, 131044, 5046244, 5046244, 5046244, 5046244, 5046244, 4718566, 9764836, 65508 + + -5, -3 + + + 5046244, 5046244, 7995367, 5242875, 5177355, 5439497, 5111818, 5177353, 131044, 65508, 4784103, 5242875, 5308427, 5242888, 5242888, 5832714, 65508, 65508, 4587495, 5963771, 5308408, 5308408, 5308408, 5308408, 65508, 327652, 4718567, 5046244, 5046244, 5046244, 5046244, 5046244, 393189, 327652, 65508, 65508, 65508, 6684644, 7143396, 6750180, 3473381, 1245156, 458724, 524260, 458724, 393189, 6815716, 6488036, 12582908, 12451837, 12451836, 12517372, 12451837, 3473381, 393189, 8912868, 12386300, 12582909, 12582911, 12386300, 12582909, 7077884, 3473381, 1245156 + + -4, -3 + + + 5242873, 4587493, 7012324, 6946788, 7077860, 7602148, 6815716, 7143396, 5242873, 4587493, 7274468, 7143396, 6160356, 4128740, 6094820, 4128740, 5898234, 4784101, 7471076, 6750180, 4128743, 4521956, 4521956, 4521956, 5046244, 4718566, 6488036, 6488036, 6094823, 4915172, 4915172, 4521956, 8781796, 7274468, 7143396, 6488036, 4128743, 4521956, 4849636, 4653028, 6488036, 6750180, 6488036, 7340004, 4128743, 4653028, 4521956, 4849636, 7340004, 7405540, 6488036, 7405540, 6160359, 5046244, 5046244, 7733223, 393189, 8847332, 6488036, 6750180, 6488036, 7340004, 6488036, 6094823 + + -7, -3 + + + 327652, 131044, 65508, 131044, 65508, 65508, 327652, 65508, 65508, 327652, 65508, 131044, 65508, 3538916, 65508, 65508, 262116, 65508, 65508, 327652, 131044, 131044, 65508, 65508, 786407, 65508, 131044, 65508, 131044, 65508, 65508, 131044, 131044, 131044, 3538916, 393188, 3407844, 1245156, 393189, 3538916, 458724, 458724, 458724, 3473380, 65532, 131068, 3473381, 1245156, 65532, 65532, 65532, 65532, 65532, 262140, 131068, 65532, 131068, 131068, 65532, 327676, 131068, 262140, 720892, 131068 + + -6, -3 + + + 262116, 65508, 65508, 65508, 327652, 65508, 65508, 4718567, 262116, 131044, 327652, 65508, 65508, 327652, 327652, 327652, 131044, 3538916, 65508, 65508, 65508, 65508, 327652, 131044, 65508, 65508, 65508, 65508, 262116, 65508, 65508, 65508, 65508, 393188, 458724, 1245156, 524260, 1245156, 458724, 524260, 458724, 3473380, 12451836, 12582908, 12451837, 12451836, 12582908, 12451837, 131068, 12451836, 12648444, 12386300, 12582909, 12845055, 12386300, 12648445, 65532, 12582911, 12386300, 12386300, 12517373, 65532, 12386300, 12386300 + + -9, -3 + + + -1, 983015, 327652, 131044, 327652, 65508, 65508, 131044, -1, 983015, 131044, 131044, 65508, 131044, 327652, 65508, -1, 983015, 3538916, 327652, 65508, 3538916, 65508, 65508, -1, 983015, 327652, 327652, 65508, 327652, 65508, 327652, -1, 983015, 131044, 327652, 65508, 131044, 262116, 327652, 1179620, 3735524, 327652, 262116, 3538916, 65508, 327652, 131044, 262116, 327652, 65508, 65508, 327652, 65508, 65508, 65508, 65508, 65508, 131044, 327652, 65508, 65508, 131044, 3538916 + + -8, -3 + + + 65508, 131044, 131044, 131044, 65508, 3669988, 65508, 131044, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 327652, 65508, 65508, 65508, 327652, 65508, 65508, 65508, 131044, 720868, 131044, 65508, 131044, 65508, 131044, 65508, 131044, 131044, 3538916, 131044, 65508, 65508, 131044, 65508, 65508, 720868, 393188, 458724, 524260, 1245156, 3538916, 131044, 327652, 393188, 3473380, 65532, 262140, 3538940, 3538916, 65508, 65508, 3407847, 327676, 65532, 786431, 327676 + + -10, -3 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 851940, 1179620, 1179620, -1, -1, -1, -1, -1, 983015, 65508, 327652, -1, -1, -1, -1, -1, 983015, 65508, 65508 + + 3, -5 + + + -1, 65508, 65508, 131044, 262116, 65508, 327652, 131044, -1, 65508, 131044, 131044, 65508, 65508, 65508, 65508, 131044, 65508, 65508, 327652, 65508, 65508, 131044, 262116, 458724, 393189, 65508, 65508, 65508, 65508, 65508, 65508, 65532, 1245157, 65508, 65508, 65508, 65508, 65508, 65508, 65532, 3473381, 1245156, 393189, 9764836, 9306084, 9568228, 9830372, 12451836, 12582908, 12451837, 589797, 4718564, 4784100, 4784100, 4784100, 12517375, 12386300, 12582909, -1, 4587495, 5111780, 4849636, 4653028 + + 4, -5 + + + 262116, 65508, 65508, 65508, 65508, 131044, 262116, 327652, 65508, 65508, 65508, 65508, 65508, 131044, 65508, 3538916, 65508, 65508, 327652, 327652, 65508, 65508, 131044, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 9764836, 9502692, 131044, 131044, 131044, 131044, 131044, 131044, 4718565, 9633764, 262116, 131044, 131044, 131044, 65508, 786405, 4784101, 9502692, 65508, 65508, 327652, 65508, 3538916, 131044 + + 5, -5 + + + 131044, 327652, 65508, 131044, 327652, 131044, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 131044, 65508, 327652, 65508, 131044, 262116, 131044, 262116, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 131044, 131044, 65508, 131044, 131044, 65508, 131044, 327652, 65508, 327652, 65508, 65508, 65508, 131044, 262116, 65508, 327652, 65508, 65508, 131044, 65508, 327652, 3538916, 65508 + + 6, -5 + + + 65508, 131044, 3538916, 1179621, -1, -1, -1, -1, 65508, 131044, 131044, 983013, -1, -1, -1, -1, 131044, 65508, 65508, 1179621, -1, -1, -1, -1, 131044, 131044, 327652, 3735525, 1179620, 851941, -1, -1, 3538916, 327652, 3538916, 327652, 131044, 983013, -1, -1, 65508, 3669988, 65508, 327652, 327652, 3735525, 851941, -1, 65508, 65508, 65508, 3538916, 65508, 65508, 3735525, 983012, 327652, 65508, 65508, 65508, 131044, 65508, 131044, 3538916 + + 7, -5 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 851941, -1, -1, -1, -1, -1, -1, -1, 3735525, 851941, -1, -1, -1, -1, -1, -1 + + -5, -5 + + + 327652, 3538916, 131044, 327652, 65508, 65508, 327652, 131044, 65508, 131044, 262116, 65508, 65508, 327652, 65508, 65508, 65508, 327652, 65508, 65508, 65508, 262116, 65508, 131044, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 4128740, 4128740, 6094820, 4128740, 4128740, 6094820, 4128740, 6094820, 5242872, 6422520, 5242872, 5242872, 5439480, 5242872, 5242872, 5242872, 5308424, 5177352, 6357000, 5308425, 5177339, 5701626, 5308424, 6357000 + + -4, -5 + + + 65508, 65508, 65508, 65508, 65508, 131044, 262116, 12517351, 262116, 65508, 131044, 131044, 131044, 131044, 3538916, 12582887, 65508, 131044, 65508, 65508, 131044, 65508, 327652, 12451815, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 4128740, 4128740, 6160357, 6946788, 7077860, 65508, 65508, 65508, 5439480, 5373945, 6094821, 6750180, 7536612, 131044, 65508, 65508, 5898249, 5832697, 6094821, 6750180, 4718564, 4587492, 4784100, 4587492 + + -3, -5 + + + 12386276, 12386276, 12386276, 12386276, 12386276, 12386276, 12386276, 12648421, 12386276, 12386276, 12386276, 12386276, 12386276, 12386276, 12386276, 12386276, 12582886, 12517350, 12517350, 12517350, 12517350, 12517350, 12517350, -1, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 1376230, -1, -1, 1376230, 1376230, 3473383, 65532, 4784100, 4587492, 4784100, 4784100, 4784100, 4718565, 524263, 65532 + + -2, -5 + + + 12517348, 12451813, 6750180, 6488036, 7405540, 6881252, 65508, 6684644, 12386276, 12517349, 458724, 458724, 458724, 458724, 458724, 393189, -1, 65532, 65532, 65532, 65532, 65532, 65532, 458725, 20, 458748, 458748, 458748, 458748, 393213, 65532, 458725, 20, 20, 20, 20, 20, 458749, 65532, 458725, 20, 20, 20, 20, 20, 458749, 65532, 458725, 20, 20, 5308436, 5767188, 5308437, 458749, 65532, 458725, 20, 20, 6357015, 5636117, 5767189, 458749, 65532, 458725 + + -1, -5 + + + 8454116, 65508, 65508, 65508, 9437157, 65508, 9502692, 9568228, 8454116, 65508, 65508, 65508, 65508, 65508, 131044, 9568228, 8126436, 65508, 65508, 65508, 65508, 65508, 9830372, 9306084, 8454116, 8323045, 8519652, 8519652, 8323045, 65508, 9502692, 9568228, 11796452, 6488036, 7340004, 13762532, 8519655, 65508, 9830372, 9764836, -1, 8912868, 6488036, 8847332, 8519655, 65508, 9764836, 10551268, 8454116, 6488036, 8978404, 6488036, 8519655, 65508, 9830372, 10289124, 8454116, 7340004, 7340004, 6488036, 14090214, 65508, 9502692, 9568228 + + 0, -5 + + + 9502692, 9306084, 131044, 9306084, 65508, 65508, 65508, 65508, 9568228, 327652, 9502692, 9830372, 65508, 65508, 65508, 65508, 9830372, 9633764, 131044, 9306084, 65508, 65508, 65508, 65508, 9830372, 10485732, 10485732, 9830372, 65508, 8323047, 8519652, 8519652, 10485732, 9830372, 9764836, 10485732, 65508, 8519655, 8978404, 7340004, 10485732, 9306084, 10485732, 9240548, 65508, 14090212, 6488036, 6488036, 720868, 9502692, 9240548, 9830372, 65508, -1, 6488036, 7143396, 9502692, 9830372, 9764836, 9502692, 65508, 8519655, 8912868, 7143396 + + 1, -5 + + + 65508, 8454116, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 8454116, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 8126436, 65508, 65508, 65508, 65508, 65508, 65508, 8323047, 8454116, 393188, 458724, 458724, 458724, 458724, 458724, 6488036, 6619108, 458727, 65532, 65532, 65532, 65532, 65532, 8847332, -1, 458727, 5963772, 5242876, 5242876, 5242876, 5242876, 8847332, 8454116, 458727, 5636095, 5832716, 5177356, 5308429, 5767164, 6488036, 8454116, 458727, 5832703, 5177359, 5636109, 5177357, 5701628 + + 2, -5 + + + 65508, 65508, 327652, 3538916, 3538916, 131044, 65508, 7864292, 65508, 65508, 131044, 65508, 327652, 65508, 65508, -1, 65508, 65508, 3538916, 65508, 262116, 131044, 131044, 65508, 458724, 458724, 458724, 458724, 458724, 458724, 458724, 458724, 65532, 65532, 65532, 65532, 65532, 65532, 65532, 65532, 5373949, 13762556, 13697020, 5373948, 5242876, 5636092, 5242876, 5373949, 5242877, 13697020, 8716284, 5242879, 5832716, 5177356, 5898253, 5242877, 5439485, 5373948, 5242876, 12255228, 5177359, 5439500, 5177357, 6356989 + + -9, -4 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 851940, -1, -1, -1, -1, -1, 851940, 983012, 3735524, -1, 851940, 1179620, 1179620, 983012, 3735524, 3538916, 327652, -1, 983015, 131044, 327652, 327652, 65508, 131044, 65508, -1, 983015, 3538916, 131044, 65508, 327652, 327652, 65508 + + -7, -4 + + + 65508, 327652, 3538916, 65508, 65508, 131044, 65508, 65508, 65508, 262116, 131044, 65508, 327652, 327652, 262116, 65508, 65508, 65508, 65508, 65508, 65508, 786407, 3538916, 3538916, 131044, 65508, 3538916, 65508, 65508, 131044, 65508, 131044, 65508, 65508, 65508, 131044, 65508, 7864292, -1, 327652, 65508, 65508, 65508, 65508, 65508, -1, -1, 65508, 65508, 327652, 262116, 65508, 65508, 65508, 3538916, 65508, 3669988, 65508, 786404, 65508, 327652, 262116, 65508, 720868 + + -8, -4 + + + -1, -1, -1, -1, -1, 851940, 1179620, 3735524, -1, -1, -1, 851940, 1179620, 3735524, 131044, 65508, 851940, 983012, 1179620, 3735524, 65508, 65508, 3538916, 327652, 3735524, 262116, 65508, 131044, 131044, 65508, 131044, 65508, 3866599, -1, 131044, 65508, 65508, 131044, 65508, 65508, -1, -1, 3538916, 327652, 65508, 131044, 131044, 65508, 65508, 65508, 65508, 131044, 3538916, 327652, 131044, 65508, 327652, 65508, 131044, 720868, 327652, 327652, 131044, 65508 + + -5, -4 + + + 5373963, 6225931, 5636107, 5570569, 6291449, 6291450, 6357003, 5701641, 5308427, 5242888, 5242888, 5308426, 5177336, 5570554, 5308427, 5242888, 5308408, 5308408, 5308408, 5308408, 5308408, 5308408, 5308408, 5308408, 5046244, 5046244, 5046244, 5046244, 5046244, 5046244, 5046244, 5046244, 65508, 131044, 65508, 131044, 131044, 65508, 65508, 65508, 4784100, 4587492, 4784100, 4784100, 4784100, 4587492, 4587492, 4784100, 4849636, 4653028, 4849636, 5373944, 5636088, 5242872, 5242872, 5832696, 4521956, 5111780, 4653028, 5242875, 5832712, 5177352, 5177352, 5308425 + + -6, -4 + + + 65508, 65508, 131044, 65508, 327652, 327652, 6094823, 5242875, 65508, 65508, 327652, 65508, 131044, 131044, 6094823, 5832699, 65508, 65508, 262116, 65508, 65508, 327652, 6094823, 5898235, 65508, 786405, 327652, 131044, 65508, 65508, 6160359, 5046244, 65508, 262116, 131044, 65508, 3866597, -1, 65508, 65508, 65508, 262116, 65508, 65508, -1, -1, 65508, 4718564, 262116, 262116, 131044, 131044, 65508, 327652, 327652, 4587495, 3538916, 65508, 65508, 65508, 786406, 131044, 65508, 4784103 + + 4, -6 + + + 12386276, 12386276, 12386276, 12386276, 12648422, 12582886, 12451814, 327652, 12386276, 12648422, 12582886, 12517350, 12451814, 131044, 65508, 65508, 12648422, 12451814, 65508, 327652, 65508, 65508, 65508, 65508, 12582885, 327652, 65508, 65508, 327652, 3538916, 131044, 327652, 12582885, 262116, 131044, 262116, 131044, 65508, 131044, 65508, 12451814, 65508, 131044, 262116, 65508, 327652, 327652, 327652, 327652, 65508, 327652, 131044, 65508, 3538916, 65508, 65508, 65508, 3538916, 262116, 65508, 327652, 65508, 131044, 327652 + + 5, -6 + + + 262116, 327652, 131044, 65508, 327652, 65508, 131044, 65508, 131044, 131044, 65508, 65508, 65508, 65508, 65508, 65508, 131044, 65508, 65508, 131044, 327652, 720868, 65508, 65508, 65508, 327652, 65508, 131044, 131044, 65508, 720868, 65508, 65508, 65508, 65508, 131044, 327652, 131044, 327652, 65508, 65508, 65508, 65508, 131044, 131044, 327652, 65508, 65508, 65508, 131044, 65508, 65508, 65508, 327652, 327652, 327652, 3538916, 131044, 65508, 65508, 262116, 131044, 131044, 131044 + + 2, -6 + + + 12451836, 12582908, 12582908, 12451837, 65532, 3473381, 393189, 131044, 12517375, 12386300, 12386300, 12648445, 12451837, 131068, 3407845, 65508, 12648444, 12386300, 12386300, 12386300, 12517373, 1376230, 393190, 12451812, 12386300, 12386300, 12386300, 12648446, 12451838, 12451813, 327652, 12517351, 12517374, 12582910, 12517374, 12451838, 12386276, 12582885, 65508, 12582887, 65508, 65508, -1, 12386276, 12648422, 12451814, 65508, 12451815, 65508, 65508, 12517351, 12386276, 12582885, 65508, 65508, 65508, 65508, 65508, 12451815, 12517350, 12451814, 65508, 65508, 65508 + + 3, -6 + + + 131044, 3735525, 3735524, 12451812, 12517348, 12648420, 12386276, 12386276, 12451812, 12517348, 12517348, 12648420, 12386276, 12386276, 12386276, 12386276, 12648420, 12386276, 12386276, 12386276, 12386276, 12386276, 12386276, 12386276, 12386276, 12386276, 12386276, 12386276, 12386276, 12386276, 12386276, 12386276, 12386276, 12386276, 12386276, 12386276, 12386276, 12386276, 12386276, 12386276, 12582886, 12517350, 12517350, 12582886, 12517350, 12582886, 12517350, 12517350, 65508, 262116, 327652, 131044, 65508, 65508, 65508, 131044, 65508, 131044, 65508, 65508, 131044, 65508, 131044, 720868 + + 6, -6 + + + 131044, 131044, 1179621, -1, -1, -1, -1, -1, 131044, 65508, 1179621, -1, -1, -1, -1, -1, 65508, 131044, 1179621, -1, -1, -1, -1, -1, 327652, 327652, 1179621, -1, -1, -1, -1, -1, 65508, 786407, 3735525, 851941, -1, -1, -1, -1, 3538916, 65508, 131044, 917477, -1, -1, -1, -1, 327652, 131044, 65508, -1, -1, -1, -1, -1, 131044, 131044, 327652, 983013, -1, -1, -1, -1 + + -4, -6 + + + 327652, 65508, 393191, 1376230, 3473383, 327676, 524261, 65509, 65508, 12451812, 12517348, 12451813, 1245159, 65532, 3407845, 65509, 12451812, 12648420, 12386276, 12582885, 393191, 1376230, 393190, 65509, 12517351, 12386276, 12386276, 12648421, 12517348, 12582884, 12582884, 12451813, 12451815, 12648423, 12386276, 12386276, 12386276, 12386276, 12386276, 12582885, 65508, 12451815, 12582886, 12648423, 12386276, 12386276, 12386276, 12582885, 327652, 65508, 65508, 12451815, 12648423, 12386276, 12648422, 12451814, 65508, 65508, 131044, 327652, 12451815, 12582886, 12451814, 12451812 + + -3, -6 + + + 65509, 327652, 393188, 458724, 393189, 393188, 458724, 393189, 65509, 65508, 458727, 65532, 3473381, 3473380, 131068, 1245157, 65509, 393188, 3473380, 12451836, 12517372, 12451837, 131068, 3473381, 393188, 3473380, 12451836, 12648444, 12386300, 12648445, 12517372, 12451837, 524263, 65532, 12582911, 12386300, 12386300, 12386300, 12386300, 12582909, 458727, 131068, 12451839, 12648447, 12386300, 12386300, 12648446, 12451838, 393191, 1376230, 1376230, 12451839, 12713982, -1, 12451838, 1376230, 12517348, 12582884, 12582884, 12582884, 12582884, 12517348, 12582884, 12451813 + + -6, -6 + + + 65508, 327652, 65508, 131044, 131044, 65508, 65508, 262116, 327652, 131044, 786405, 131044, 131044, 327652, 3538916, 3538916, 327652, 65508, 327652, 327652, 327652, 65508, 65508, 327652, 262116, 65508, 131044, 65508, 131044, 131044, 65508, 65508, 262116, 65508, 65508, 131044, 65508, 65508, 65508, 262116, 65508, 327652, 262116, 262116, 720868, 327652, 3538916, 65508, 262116, 65508, 131044, 327652, 65508, 131044, 65508, 327652, 720868, 65508, 65508, 131044, 65508, 65508, 65508, 131044 + + -5, -6 + + + 65508, 65508, 131044, 131044, 65508, 131044, 131044, 65508, 327652, 65508, 131044, 65508, 3538916, 131044, 131044, 65508, 262116, 65508, 327652, 131044, 3669988, 262116, 65508, 65508, 3538916, 262116, 65508, 327652, 65508, 65508, 65508, 131044, 786404, 262116, 65508, 65508, 327652, 65508, 131044, 131044, 65508, 327652, 65508, 131044, 327652, 65508, 131044, 131044, 65508, 65508, 65508, 65508, 327652, 65508, 65508, 131044, 131044, 131044, 131044, 327652, 65508, 327652, 65508, 131044 + + 0, -6 + + + 131044, 131044, 262116, 327652, 327652, 65508, 131044, 131044, 327652, 327652, 65508, 327652, 65508, 131044, 327652, 327652, 9306084, 720868, 9306084, 9830372, 9830372, 131044, 65509, 65509, 9240548, 327652, 10485732, 9830372, 10420197, 65508, 65508, 65509, 9764836, 9502692, 65508, 9830372, 720868, 786404, 65508, 65508, 9502692, 9830372, 9502692, 65508, 65508, 65508, 65508, 65508, 9306084, 9306084, 9830372, 9830372, 9895909, 65508, 131044, 65508, 131044, 9240548, 9633764, 9830372, 10420197, 65508, 65508, 65508 + + 1, -6 + + + 262116, 8454116, 65509, 65509, 65509, 65509, 131044, 458727, 65508, 8454116, 65509, 65509, 65509, 65509, 393188, 3473380, 65509, 8454116, 65509, 65509, 65509, 65509, 524263, 12451836, 65509, 8454116, 65509, 65509, 65508, 65509, 524263, 12517375, 8716260, 8126436, 8716260, 65509, 65508, 65508, 393191, 12451839, 65508, 8454116, 13696996, 65508, 65508, 65508, 65508, 65508, 13696996, 8454116, 7602148, 65508, 65508, 65508, 65508, 65508, 8716260, 8454116, 65508, 65508, 65508, 65508, 65508, 65508 + + -2, -6 + + + 65508, 131044, 327652, 65508, 131044, 131044, 262116, 327652, 327652, 65508, 65508, 131044, 327652, 327652, 65508, 327652, 393189, 65508, 327652, 3538916, 9502692, 65509, 65509, 65509, 1245157, 327652, 65508, 65508, 327652, 65508, 65509, 65509, 3407845, 131044, 131044, 7012324, 6946788, 7077860, 131044, 7012324, 1245157, 7012324, 6946788, 7274468, 6488036, 7536612, 65508, 6684644, 393190, 6684644, 6488036, 6488036, 6750180, 7536612, 327652, 6684644, 6946788, 7274468, 6488036, 6488036, 7340004, 7536612, 131044, 6684644 + + -1, -6 + + + 8454116, 65508, 131044, 131044, 262116, 327652, 327652, 65508, 8454116, 131044, 327652, 327652, 65508, 327652, 65508, 131044, 8454116, 65509, 65509, 65509, 65509, 9830372, 9764836, 65508, 8454116, 65508, 65508, 3669988, 65508, 720868, 9830372, 9306084, 8126436, 13762532, 8716260, 65508, 3669988, 786404, 9830372, 9502692, 8454116, 65508, 65508, 65508, 65508, 65508, 65508, 9306084, 8454116, 13762532, 65508, 65508, 65508, 9895911, 9568228, 9502692, 8454116, 8716260, 65508, 65508, 65508, 10026983, 9830372, 9306084 + + -6, -5 + + + 327652, 131044, 786405, 131044, 65508, 65508, 65508, 65508, 131044, 65508, 131044, 131044, 65508, 131044, 65508, 131044, 65508, 131044, 65508, 131044, 3538916, 720868, 131044, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 327652, 327652, 65508, 327652, 65508, 6160356, 4128740, 65508, 131044, 65508, 65508, 65508, 327652, 6094823, 5373944, 327652, 65508, 131044, 786407, 327652, 65508, 4128743, 5242875 + + -7, -5 + + + -1, -1, -1, -1, -1, -1, 983015, 327652, -1, -1, -1, -1, -1, -1, 1179623, 65508, -1, -1, -1, -1, -1, -1, 983015, 131044, -1, -1, -1, -1, 851940, 1179620, 3735524, 65508, -1, -1, -1, 851940, 3735524, 131044, 65508, 65508, -1, -1, 851940, 3735524, 65508, 262116, 65508, 131044, -1, 851940, 3735524, 65508, 65508, 65508, 65508, 65508, 1179620, 3735524, 65508, 3538916, 327652, 131044, 327652, 65508 + + -8, -5 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 851940 + + 5, -7 + + + 131044, 327652, 65508, 327652, 327652, 3538916, 65508, 65508, 65508, 327652, 327652, 65508, 65508, 3669988, 65508, 327652, 65508, 65508, 327652, 65508, 262116, 65508, 131044, 65508, 720868, 131044, 327652, 65508, 65508, 65508, 131044, 65508, 131044, 131044, 65508, 65508, 65508, 720868, 65508, 65508, 65508, 131044, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 65508, 131044, 65508, 131044, 65508, 262116, 65508, 327652, 65508, 131044, 65508, 3538916, 327652, 65508, 131044 + + 6, -7 + + + 65508, 131044, 262116, 1179621, -1, -1, -1, -1, 131044, 65508, 327652, 1114085, -1, -1, -1, -1, 131044, 65508, 131044, -1, -1, -1, -1, -1, 65508, 65508, 131044, 1179621, -1, -1, -1, -1, 131044, 131044, 262116, 983013, -1, -1, -1, -1, 65508, 65508, 3735526, 851942, -1, -1, -1, -1, 131044, 65508, 983013, -1, -1, -1, -1, -1, 65508, 327652, 983013, -1, -1, -1, -1, -1 + + 1, -7 + + + 131044, 8454116, 65509, 65509, 65509, 65509, 65509, 12451812, 65508, 8454116, 65509, 65509, 65509, 65509, 65509, 12517351, 131044, 8454116, 65509, 65509, 65509, 65509, 12451812, 12648420, 262116, 8454116, 65509, 65509, 65509, 65508, 12517351, 12451828, 65508, 8454116, 65509, 65509, 65509, 12451812, 12648420, 12582903, 65508, 8454116, 65509, 65509, 65509, 12582887, 12386276, 12582903, 65508, 8454116, 65509, 65509, 65509, 65509, 12517350, 12451831, 131044, 8454116, 65509, 65509, 65509, 65509, 65508, 393188 + + 2, -7 + + + 12517348, 12648420, 12386276, 12517349, 3473380, 12451836, 12451837, 3473381, 12386276, 12451828, 12517364, 12451829, 12451836, 12648444, 12648445, 12451837, 12451828, 12648436, 12386292, 12582901, 12582911, 12386300, 12648446, 12451838, 12648436, 12386292, 12386292, 12517365, 12517375, 12386300, 12517373, 3473382, 12386292, 12386292, 12386292, 12517365, 12451839, 12582910, 12451838, 458725, 12386292, 12386292, 12386292, 12582901, 3538940, 3473382, 1376230, 393190, 12517366, 12517366, 12582902, 12451830, 65532, 458725, 65508, 3735526, 3407844, 3407844, 3473380, 65532, 65532, 458725, 131044, 3735525 + + 3, -7 + + + 393189, 131044, 983013, -1, -1, 851943, 3735527, 12517351, 524261, 131044, 983013, -1, -1, -1, 983015, 12582887, 458725, 65508, 983013, -1, -1, -1, 1179623, 12517351, 393190, 327652, 1179621, -1, -1, 851940, 3735524, 12451815, 65508, 3735526, 851942, -1, -1, 983015, 720868, 65508, 3735526, 851942, -1, -1, 851940, 3735524, 12451812, 12517348, 851942, -1, -1, 851940, 3735524, 12451812, 12648420, 12386276, 1179620, 851941, 851940, 3735524, 65508, 12582887, 12386276, 12386276 + + 4, -7 + + + 12386276, 12386276, 12648421, 12451813, 65508, 131044, 327652, 131044, 12386276, 12386276, 12386276, 12517349, 720868, 327652, 65508, 65508, 12386276, 12386276, 12386276, 12582885, 65508, 131044, 65508, 65508, 12582886, 12582886, 12517350, 12451814, 65508, 65508, 65508, 131044, 12451812, 12582884, 12451813, 131044, 65508, 65508, 327652, 65508, 12648420, 12386276, 12648421, 12582884, 12582884, 12517348, 12451813, 131044, 12386276, 12386276, 12386276, 12386276, 12386276, 12386276, 12517349, 3538916, 12386276, 12386276, 12386276, 12386276, 12386276, 12386276, 12517349, 65508 + + -3, -7 + + + 131044, 65508, 65508, 131044, 262116, 3538916, 65508, 131044, 65508, 65508, 65508, 65508, 65508, 131044, 65508, 65508, 131044, 65508, 327652, 65508, 65508, 65508, 327652, 65508, 65508, 131044, 65508, 65508, 65508, 327652, 65508, 65508, 131044, 131044, 131044, 131044, 131044, 262116, 131044, 131044, 327652, 65508, 131044, 131044, 262116, 327652, 131044, 131044, 65509, 131044, 327652, 327652, 65508, 327652, 327652, 327652, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509 + + -2, -7 + + + 262116, 3538916, 327652, 65508, 65508, 65508, 131044, 65508, 65508, 131044, 327652, 65508, 65508, 131044, 65508, 65508, 65508, 65508, 131044, 65508, 131044, 65508, 131044, 327652, 65508, 327652, 131044, 65508, 65508, 131044, 262116, 3538916, 131044, 262116, 65508, 65508, 65508, 65508, 65508, 131044, 262116, 327652, 131044, 65508, 327652, 65508, 65508, 65508, 65508, 327652, 65508, 131044, 65508, 65508, 65508, 327652, 65509, 65508, 131044, 131044, 131044, 131044, 131044, 262116 + + -1, -7 + + + 8454116, 131044, 65508, 65508, 131044, 262116, 3538916, 65508, 8454116, 65508, 65508, 65508, 65508, 65508, 131044, 65508, 8454116, 131044, 65508, 327652, 65508, 65508, 65508, 65508, 8454116, 65508, 131044, 65508, 65508, 65508, 327652, 65508, 8454116, 131044, 131044, 131044, 131044, 131044, 262116, 65508, 8454116, 327652, 65508, 131044, 131044, 262116, 327652, 65508, 8454116, 65508, 131044, 327652, 327652, 65508, 327652, 131044, 8454116, 131044, 131044, 131044, 131044, 262116, 131044, 131044 + + 0, -7 + + + 65508, 65508, 131044, 65508, 327652, 65508, 65508, 65508, 65508, 131044, 65508, 65508, 327652, 65508, 65508, 131044, 131044, 65508, 131044, 327652, 131044, 65508, 131044, 65508, 65508, 131044, 262116, 3538916, 131044, 65508, 65508, 131044, 65508, 65508, 65508, 131044, 65508, 65508, 65508, 65508, 327652, 65508, 65508, 65508, 131044, 65508, 327652, 65508, 65508, 65508, 65508, 327652, 65508, 131044, 65508, 65508, 131044, 131044, 131044, 262116, 131044, 131044, 131044, 131044 + + -7, -7 + + + 983015, 327652, 65508, 65508, 65508, 3538916, 65508, 65508, 1179623, 131044, 786405, 65508, 65508, 327652, 786404, 131044, 1179623, 131044, 131044, 65508, 65508, 3538916, 65508, 65508, 1179623, 720868, 65508, 327652, 327652, 327652, 65508, 131044, 851943, 3735527, 65508, 65508, 65508, 65508, 131044, 327652, -1, 851943, 3735527, 131044, 65508, 327652, 262116, 131044, -1, -1, 851943, 3735527, 131044, 131044, 131044, 131044, -1, -1, -1, 851943, 3735527, 65508, 65508, 65508 + + -6, -7 + + + 131044, 65508, 327652, 65508, 65508, 3538916, 65508, 131044, 262116, 131044, 327652, 65508, 65508, 327652, 65508, 786405, 65508, 65508, 131044, 65508, 65508, 131044, 327652, 262116, 131044, 262116, 65508, 131044, 65508, 65508, 131044, 65508, 327652, 65508, 65508, 65508, 327652, 65508, 720868, 65508, 65508, 65508, 327652, 65508, 65508, 65508, 65508, 65508, 786406, 131044, 131044, 131044, 131044, 327652, 65508, 65508, 131044, 65508, 65508, 131044, 65508, 65508, 65508, 131044 + + -5, -7 + + + 65508, 65508, 65508, 12582887, 12386276, 12386276, 12582885, 3407847, 65508, 327652, 65508, 12451815, 12648423, 12386276, 12517349, 1245159, 65508, 131044, 65508, 65508, 12451815, 12582886, 12451814, 393191, 131044, 131044, 65508, 65508, 65508, 131044, 65508, 131044, 65508, 327652, 65508, 65508, 131044, 65508, 65508, 65508, 131044, 65508, 3538916, 327652, 65508, 65508, 65508, 65508, 262116, 65508, 327652, 65508, 65508, 65508, 65508, 3669988, 65508, 262116, 65508, 262116, 262116, 131044, 327652, 65508 + + -4, -7 + + + 131068, 3473381, 393189, 65509, 65509, 65509, 65509, 65509, 65532, 327676, 524261, 65509, 65509, 65509, 65509, 65509, 1376230, 1376230, 393190, 131044, 65509, 65509, 65509, 65509, 3538916, 131044, 393188, 458724, 1245156, 393189, 65509, 65509, 65508, 65508, 3407847, 131068, 65532, 458725, 65509, 65509, 65508, 131044, 1245159, 65532, 65532, 458725, 65509, 65509, 262116, 786404, 3801063, 65532, 65532, 3473381, 393189, 65509, 65508, 65508, -1, 131068, 131068, 65532, 1245157, 65509 + + -7, -6 + + + -1, -1, -1, -1, 1114087, 65508, 65508, 131044, -1, -1, -1, -1, -1, 3669988, 65508, 131044, -1, -1, -1, -1, 851943, 3735527, 327652, 65508, -1, -1, -1, -1, -1, 1179623, 131044, 131044, -1, -1, -1, -1, -1, 851943, 3735527, 131044, -1, -1, -1, -1, -1, -1, 1179623, 3538916, -1, -1, -1, -1, -1, -1, 1114087, 327652, -1, -1, -1, -1, -1, -1, -1, 65508 + + 6, -8 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1179620, 851941, -1, -1, -1, -1, -1, -1, 65508, 3735525, 851941, -1, -1, -1, -1, -1, 327652, 327652, 1179621, -1, -1, -1, -1, -1, 327652, 65508, 3735525, 851941, -1, -1, -1, -1, 65508, 327652, 131044, 983013, -1, -1, -1, -1, 65508, 262116, 131044, 983013, -1, -1, -1, -1 + + 4, -8 + + + 1179620, 983012, 983012, 851941, -1, -1, -1, -1, 12451812, 12582884, 12451813, 3735525, 851941, -1, -1, -1, 12648420, 12386276, 12517349, 131044, 3735525, 851941, -1, -1, 12386276, 12386276, 12648421, 12451813, 3538916, 3735525, 851941, -1, 12386276, 12386276, 12386276, 12648421, 12451813, 65508, 3735525, 1179620, 12386276, 12386276, 12386276, 12386276, 12582885, 65508, 262116, 262116, 12517350, 12582886, 12582886, 12582886, 12451814, 327652, 327652, 786405, 12582884, 12517348, 12451813, 65508, 65508, 65508, 65508, 65508 + + 5, -8 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 851940, 1179620, 1179620, 1179620, 1179620, 851941, -1, 851940, 3735524, 131044, 131044, 131044, 65508, 3735525, -1, 1179623, 131044, 131044, 65508, 65508, 131044, 262116, 983012, 3735524, 65508, 131044, 65508, 65508, 65508, 65508, 65508, 262116, 131044, 65508, 3538916, 327652, 65508, 65508, 327652, 327652, 65508, 262116, 65508, 131044, 3538916, 65508, 65508, 131044, 65508, 327652, 327652, 262116, 65508, 65508 + + 2, -8 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 851941, -1, -1, -1, -1, -1, -1, -1, 3735525, 851941, -1, -1, -1, -1, -1, -1, 65509, 3735525, 851941, -1, -1, -1, -1, -1, 65509, 65509, 3735525, 851941, -1, -1, -1, -1, 65509, 65509, 65509, 3735525, 4259812, -1, -1, -1, 65509, 12451812, 12517348, 12451813, 393188, 589796, 524260, 393189 + + 3, -8 + + + -1, -1, -1, -1, -1, -1, -1, 851940, -1, -1, -1, -1, -1, -1, 851940, 3735524, -1, -1, -1, -1, -1, 851940, 3735524, 12451812, -1, -1, -1, -1, -1, 983015, 12451812, 12648420, -1, -1, -1, -1, -1, 983015, 12582887, 12386276, -1, -1, -1, -1, -1, 1179623, 12517351, 12386276, 1179620, 851941, -1, -1, -1, 917479, 12451815, 12517350, 65508, 3735525, 851941, -1, -1, -1, 327652, 12451812 + + 0, -8 + + + 65508, 131044, 327652, 262118, 131046, 131046, 131046, 131046, 131044, 262116, 3538916, 327654, 65510, 65510, 65510, 131046, 65508, 65508, 131044, 65510, 65510, 65510, 327654, 65510, 65508, 65508, 65508, 131046, 65510, 65510, 65510, 65510, 65508, 65508, 327652, 3538918, 262118, 131046, 65510, 65510, 131044, 131044, 262116, 327654, 131046, 65510, 131046, 65510, 131044, 262116, 327652, 65510, 65510, 131046, 65510, 65510, 327652, 65508, 327652, 65510, 131046, 65510, 65510, 65510 + + 1, -8 + + + 65509, 65509, 65509, 65509, 3735525, 1179620, 851941, -1, 65510, 65509, 65509, 65509, 65509, 65509, 3735525, 851941, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 3735525, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 8454116, 65509, 65509, 65509, 65509, 65509, 65509, 131046, 8454116, 65509, 65509, 65509, 65509, 65509, 65509, 327654, 8454116, 65509, 65509, 65509, 65509, 65509, 65509, 327654, 8454116, 65509, 65509, 65509, 65509, 65509, 65509 + + -2, -8 + + + 65509, 131044, 65508, 131044, 65508, 131044, 327652, 131044, 65509, 65509, 65508, 65508, 131044, 262116, 3538916, 131044, 65509, 65508, 65508, 65508, 65508, 65508, 131044, 65508, 65509, 131044, 65508, 327652, 65508, 65508, 65508, 131044, 65509, 65508, 131044, 65508, 65508, 65508, 327652, 65508, 131044, 131044, 131044, 131044, 131044, 131044, 262116, 131044, 65508, 327652, 65508, 131044, 131044, 262116, 327652, 327652, 131044, 65508, 131044, 327652, 327652, 65508, 327652, 65508 + + -1, -8 + + + 65508, 131044, 65508, 131044, 327652, 131044, 65508, 131044, 65508, 65508, 131044, 262116, 3538916, 131044, 65508, 65508, 65508, 65508, 65508, 65508, 131044, 65508, 65508, 65508, 65508, 327652, 65508, 65508, 65508, 131044, 65508, 327652, 8454116, 65508, 65508, 65508, 327652, 65508, 131044, 65508, 8454116, 327652, 65508, 65508, 65508, 131044, 65508, 131044, 8454116, 327652, 65508, 65508, 131044, 65508, 65508, 131044, 8454116, 131044, 65508, 131044, 65508, 131044, 327652, 327652 + + -4, -8 + + + 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 458724, 393189, 65509, 65509, 65509, 65509, 65509, 65509 + + -3, -8 + + + 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 65509, 327652, 65508, 65508, 65508, 131044, 65508, 65508, 65508, 327652, 65508, 65508, 131044, 65508, 65508, 65508, 131044, 131044, 65508, 131044, 65508, 131044, 327652, 131044, 65508 + + -6, -8 + + + 12648421, 12451813, 12582887, 12386276, 12386276, 12386276, 12386276, 12386276, 12386276, 12517349, 12582887, 12386276, 12386276, 12386276, 12386276, 12386276, 12648422, 12451814, 12451815, 12648423, 12386276, 12386276, 12386276, 12386276, 12517349, 720868, 65508, 12451815, 12517350, 12648423, 12386276, 12386276, 12451814, 65508, 131044, 131044, 786407, 12451815, 12582886, 12517350, 131044, 65508, 65508, 65508, 131044, 65508, 65508, 65508, 131044, 65508, 65508, 65508, 65508, 327652, 327652, 327652, 65508, 131044, 3538916, 65508, 262116, 327652, 131044, 786405 + + -5, -8 + + + 12386276, 12386276, 12386276, 12386276, 12517349, 3538916, 65509, 65509, 12386276, 12386276, 12386276, 12386276, 12517349, 65509, 65509, 65509, 12386276, 12386276, 12386276, 12648422, 12451814, 65509, 65509, 65509, 12386276, 12386276, 12386276, 12517349, 65508, 65509, 65509, 65509, 12582886, 12517350, 12582886, 12451814, 3669988, 65509, 65509, 65509, 786407, 65508, 12451812, 12582884, 12582884, 12451813, 65509, 65509, 131044, 786405, 12582887, 12386276, 12386276, 12648421, 12451813, 131044, 262116, 65508, 12451815, 12648423, 12386276, 12386276, 12517349, 393188 + + -7, -8 + + + -1, -1, 851940, 3735524, 12451812, 12648420, 12386276, 12386276, -1, 851940, 3735524, 12451812, 12648420, 12386276, 12386276, 12386276, -1, 983015, 65508, 12582887, 12386276, 12386276, 12386276, 12386276, 851940, 3735524, 65508, 12517351, 12386276, 12386276, 12386276, 12386276, 1179623, 65508, 327652, 12451815, 12517350, 12517350, 12582886, 12582886, 983015, 131044, 65508, 131044, 327652, 65508, 131044, 131044, 1179623, 3669988, 65508, 65508, 720868, 131044, 131044, 131044, 1179623, 786405, 65508, 262116, 3669988, 262116, 327652, 65508 + + + + + + + Haven/Natural/Dirt/Dirt 04 + + + + + Haven/Natural/Dirt/Dirt 03 + + + + + Haven/Urban/Dais/Stair Out SW 02, chipped + + + + + Haven/Natural/Dirt/Dirt 06 weeds + + + + + Haven/Natural/Dirt/Dirt 01 + + + + + Haven/Natural/Cliff/Wall out SW + + + + + Haven/Natural/Cliff/Wall edge S 01 + + + + + Haven/Natural/Cliff/Wall edge S 02 + + + + + Haven/Natural/Cliff/Wall edge S x2 01 + + + + + Haven/Urban/Dais/Stair S 03 + + + + + Haven/Natural/Dirt/Cube 01 + + + + + Haven/Natural/Dirt/Cube 02 + + + + + Haven/Natural/Dirt/Abyss out SW + + + + + Haven/Natural/Dirt/Abyss edge S x2 01 + + + + + Haven/Natural/Dirt/Abyss edge S 01 + + + + + Haven/Urban/Dais/Stair S 02 + + + + + Haven/Natural/Dirt/Abyss edge S x2 02 + + + + + Haven/Natural/Dirt/Abyss edge S 02 + + + + + Haven/Natural/Cliff/Wall edge S 04 Cube + + + + + Haven/Fountain/Edge S x1 flat 2 + + + + + Haven/Natural/Cliff/Wall edge N 01 + + + + + Haven/Natural/Dirt/Abyss edge N 01 + + + + + Haven/Urban/Dais/Trim Out SW 02, chipped + + + + + Haven/Urban/Dais/Trim W 01 + + + + + Haven/Natural/Dirt/Abyss edge N x2 01 + + + + + Haven/Urban/Dais/Stair S 01 + + + + + Haven/Urban/Dais/Trim S 03 + + + + + Haven/Urban/Dais/Trim S 02 + + + + + Water/fountain/edge S + + + + + Water/fountain/out NW + + + + + Haven/Urban/Dais/Trim N 02 + + + + + Water/fountain/out SE + + + + + Water/fountain/out NE + + + + + Haven/Urban/Dais/Trim N 01 + + + + + Haven/Fountain/Edge S, x1 chipped 3 + + + + + Water/fountain/edge N + + + + + Haven/Fountain/Edge S x1 flat 1 + + + + + Haven/Fountain/Corner In, SW + + + + + Water/fountain/edge W + + + + + Water/fountain/out SW + + + + + Haven/Urban/Dais/Trim S 01 + + + + + Water/fountain/m + + + + + Water/fountain/m (Peaks) + + + + + Haven/Fountain/Edge S, x1 chipped 2 + + + + + Water/fountain/m (Peaks) (2) + + + + + Water/fountain/in NE + + + + + Haven/Wall, broken/Doorway, verti + + + + + Water/fountain/edge E + + + + + Haven/Natural/Dirt/Dirt 02 + + + + + Haven/Fountain/Corner Out, SW + + + + + Haven/Urban/Dais/Trim Out NW 01 + + + + + Haven/Natural/Cliff/Wall edge S 03 Cube + + + + + Haven/Natural/Cliff/Wall in SW + + + + + Haven/Natural/Dirt/Dirt 07 weeds + + + + + Haven/Urban/Dais/Trim Out NE 01 + + + + + Haven/Natural/Dirt/Cube 03 + + + + + Haven/Natural/Dirt/Abyss in SW + + + + + Haven/Natural/Cliff/Wall edge S x2 02 + + + + + Haven/Natural/Dirt/Cube x2 01 + + + + + Haven/Natural/Stairway/Stair WE, Edge + + + + + Haven/Wall, Haven/Doorway 01 + + + + + Haven/Natural/Cliff/Wall edge N x2 01 + + + + + Haven/Wall, Haven/Orange/x1 blank 02, Orange + + + + + Haven/Natural/Stairway/Stair WE, Edge (Cliff) + + + + + Haven/Natural/Dirt/Abyss edge S x4 01 + + + + + Haven/Natural/Stairway/Stair WE, Middle + + + + + Haven/Natural/Stairway/Stair EW, Edge (Cliff) + + + + + Haven/Natural/Cliff/Wall edge S x4 02 + + + + + Haven/Wall, Haven/Roof 03 + + + + + Haven/Wall, Haven/Turquoise/x1 blank 01, Turquoise + + + + + Haven/Wall, Haven/Roof 05 + + + + + Haven/Wall, Haven/Turquoise/Corner Out 01, Turquoise + + + + + Haven/Wall, Haven/Turquoise/x1 blank 02, Turquoise + + + + + Haven/Wall, Haven/Roof 04 + + + + + Haven/Wall, Haven/Roof 02 + + + + + Haven/Wall, Haven/Roof 01 + + + + + Haven/Wall, Haven/Building back x1, 01 + + + + + Haven/Wall, Haven/Roof 06 + + + + + Haven/Wall, Haven/Two-story/Roof 06 + + + + + Haven/Wall, Haven/Two-story/Wall S, x1 blank 01 + + + + + Haven/Wall, Haven/Two-story/Back x1, 01 + + + + + Haven/Wall, Haven/Two-story/Wall Out, blank 01 + + + + + Haven/Wall, Haven/Two-story/Wall S, x1 panel 01 + + + + + Haven/Wall, Haven/Two-story/Roof 01 + + + + + Haven/Wall, Haven/Two-story/Roof 04 + + + + + Haven/Wall, Haven/Two-story/Wall S, x1 panel 02 + + + + + Haven/Wall, Haven/Two-story/Roof 02 + + + + + Haven/Wall, Haven/Two-story/Roof 03 + + + + + Haven/Wall, Haven/Two-story/Wall S, x1 window 01 + + + + + Haven/Wall, Haven/Two-story/Wall Out, panel 01 + + + + + Haven/Wall, Haven/Two-story/Wall Out, panel 02 + + + + + Haven/Natural/Cliff/Wall edge S x4 01 + + + + + Haven/Wall, Haven/Orange/x1 blank 01, Orange + + + + + Haven/Wall, Haven/Orange/Corner Out 01, Orange + + + + + Haven/Wall, Haven/Building back x2, 01 + + + + + Haven/Wall, Haven/Two-story/Roof 05 + + + + + Haven/Wall, Haven/Two-story/Wall S, x1 panel 03 + + + + + Haven/Wall, Haven/Two-story/Wall S, x1 panel 04 + + + + + Haven/Natural/Grass/Tall/Field 03 + + + + + Haven/Natural/Grass/Tall/Field edge N + + + + + Haven/Wall, broken/Flat x2, verti 01 + + + + + Haven/Natural/Grass/Tall/Field edge W + + + + + Haven/Natural/Grass/Tall/Field 04 + + + + + Haven/Natural/Grass/Tall/Field in NW + + + + + Haven/Natural/Grass/Tall/Field out NE + + + + + Haven/Natural/Grass/Tall/Field edge S + + + + + Haven/Natural/Grass/Tall/Field out SW + + + + + Haven/Natural/Grass/Tall/Field out SE + + + + + Haven/Natural/Grass/Tall/Field 02 + + + + + Haven/Wall, broken/Low/Flat x1, verti 02 + + + + + Haven/Natural/Grass/Tall/Field in SW + + + + + Haven/Natural/Grass/Tall/Field 01 + + + + + Haven/Natural/Grass/Tall/Field in NE + + + + + Haven/Natural/Grass/Tall/Flowers 02 + + + + + Haven/Natural/Grass/Tall/Field edge E + + + + + Haven/Natural/Grass/Tall/Field out NW + + + + + Haven/Natural/Stairway/Stair EW, Edge + + + + + Haven/Wall, Haven/Orange/Corner In 01, Orange + + + + + Haven/Natural/Dirt/Abyss edge N x4 01 + + + + + Haven/Natural/Dirt/Cube x2 02 + + + + + Haven/Wall, Haven/Building back x2, 02 + + + + + Haven/Wall, Haven/Turquoise/Corner In 01, Turquoise + + + + + Haven/Natural/Cliff/Wall edge N x4 01 + + + + + Haven/Wall, broken/Column + + + + + Haven/Wall, broken/Flat x1, horiz 04 + + + + + Haven/Wall, broken/Flat x1, horiz 03 + + + + + Haven/Wall, broken/Low/Column + + + + + Haven/Wall, broken/Busted x3, horiz 01 + + + + + Haven/Wall, broken/Flat x1, verti 01 + + + + + Haven/Wall, broken/Low/Flat x1, horiz 01 + + + + + Haven/Wall, broken/Low/Flat x1, horiz 02 + + + + + Haven/Wall, broken/Flat x2, horiz 02 + + + + + Haven/Natural/Grass/Cube low 01 + + + + + Haven/Natural/Grass/Tall/Field in SE + + + + + Haven/Natural/Grass/Tall/Flowers 03 + + + + + Haven/Natural/Grass/Tall/Flowers 01 + + + + + Haven/Natural/Grass/Tall/Flowers 04 + + + + + + Haven/Urban/Cobblestone/Edge In, SE 02 + + + + + Haven/Urban/Cobblestone/Edge Out, SW 02 + + + + + Haven/Urban/Cobblestone/Cobblestone, weeds 03 + + + + + Haven/Urban/Cobblestone/Cobblestone 02 + + + + + Haven/Urban/Cobblestone/Edge In, SE 01 + + + + + Haven/Urban/Cobblestone/Edge S 02 + + + + + Haven/Urban/Cobblestone/Cobblestone 04 + + + + + Haven/Urban/Cobblestone/Cobblestone 03 + + + + + Haven/Urban/Cobblestone/Cobblestone, weeds 01 + + + + + Haven/Urban/Cobblestone/Edge Out, SE 03, weeds + + + + + Haven/Urban/Cobblestone/Cobblestone 01 + + + + + Haven/Urban/Cobblestone/Cobblestone 05 + + + + + Haven/Urban/Cobblestone/Edge S 01 + + + + + Haven/Urban/Cobblestone/Edge Out, SW 01 + + + + + Haven/Urban/Cobblestone/Edge W 01, weeds + + + + + Haven/Urban/Cobblestone/Edge N 01, weeds + + + + + Haven/Urban/Cobblestone/Edge Out, NE 03, weeds + + + + + Haven/Urban/Cobblestone/Edge Out, NW 03, weeds + + + + + Haven/Urban/Cobblestone/Cobblestone, weeds 02 + + + + + Haven/Urban/Cobblestone/Edge Out, SW 03, weeds + + + + + Haven/Urban/Cobblestone/Edge E 01, weeds + + + + + Haven/Urban/Cobblestone/Cobblestone, weeds 04 + + + + + Haven/Urban/Cobblestone/Edge S 03, weeds + + + + + Haven/Natural/Grass/Short/Flowers 01 Short + + + + + Haven/Natural/Grass/Short/Field edge N Short + + + + + Haven/Natural/Grass/Short/Field edge E Short + + + + + Haven/Natural/Grass/Short/Field edge W Short + + + + + Haven/Natural/Grass/Short/Field edge S Short + + + + + Haven/Natural/Grass/Short/Field out NW Short + + + + + Haven/Natural/Grass/Short/Field out NE Short + + + + + Haven/Natural/Grass/Short/Field out SW Short + + + + + Haven/Natural/Grass/Short/Field out SE Short + + + + + Haven/Natural/Grass/Short/Field 02 Short + + + + + Haven/Natural/Grass/Short/Flowers 02 Short + + + + + Haven/Natural/Grass/Short/Field in NE Short + + + + + Haven/Natural/Grass/Short/Field in SW Short + + + + + Haven/Natural/Grass/Short/Field in NW Short + + + + + Haven/Natural/Grass/Short/Field in SE Short + + + + + Haven/Natural/Grass/Short/Field 01 Short + + + + + Haven/Wall, broken/Low/Flat x1, verti 01 + + + + + Haven/Wall, broken/Busted x2, verti 02 + + + + + Haven/Wall, broken/Flat x2, verti 02 + + + + + Haven/Wall, broken/End, busted x3 west + + + + + Haven/Wall, broken/Flat x1, horiz 02 + + + + + Haven/Wall, broken/Busted x2, horiz 02 + + + + + Haven/Wall, broken/Low/Busted x2, horiz 02 + + + + + Haven/Wall, broken/Flat x1, horiz 01 + + + + + Haven/Wall, broken/End, busted x3 east + + + + + Haven/Wall, Haven/Two-story/Wall In, 01 + + + + + Haven/Urban/Dais/Trim E 01 + + + + + Haven/Natural/Foliage/Null + + + + + Haven/Natural/Foliage/Wall out SW + + + + + Haven/Natural/Foliage/Wall edge S 01 + + + + + Haven/Natural/Foliage/Wall edge S 02 + + + + + Haven/Natural/Foliage/Wall in SW + + + + + Haven/Natural/Foliage/Wall edge S x2 01 + + + + + Water/fountain/in NW + + + + + Haven/Natural/Foliage/Wall edge S x2 03 + + + + + Haven/Fountain/Edge S, x1 chipped 1 + + + + + Haven/Urban/Dais/Stair Out SW 01 + + + + + Haven/Urban/Dais/Dais, x1 01 + + + + + Water/fountain/in SW + + + + + Haven/Urban/Dais/Dais, x1 03 + + + + + Haven/Urban/Dais/Dais, x2 01 + + + + + Haven/Urban/Dais/Dais, x1 02 + + + + + Haven/Urban/Dais/Stair In SW 01 + + + + + Haven/Urban/Dais/Trim In SW 01 + + + + + Haven/Urban/Dais/Dais, x1 04 + + + + + Water/fountain/in SE + + + + + Haven/Natural/Foliage/Wall edge S x2 02 + + + + + Haven/Natural/Grass/Cube high 02 + + + + + Haven/Natural/Grass/Cube high 01 + + + + + + Haven/Wall, broken/End, flat East + + + + + Haven/Wall, broken/Low/End, flat West + + + + + + Haven/Wall, broken/Low/Busted x2, verti 01 + + + + + Haven/Wall, Haven/Turquoise/x1 blank 07, Turquoise + + + + + Null + + + + + Haven/Wall, Haven/Turquoise/x1 blank 04, Turquoise + + + + + Haven/Wall, Haven/Turquoise/x1 blank 03, Turquoise + + + + + Haven/Wall, Haven/Turquoise/x2 uneven 01, Turquoise + + + + + Haven/Wall, Haven/Orange/x1 blank 06, Orange + + + + + Haven/Wall, Haven/Orange/x1 blank 07, Orange + + + + + + + + + + + Haven/Wall, Haven/Orange/x1 blank 04, Orange + + + + + Haven/Wall, Haven/Building back x2, 03 + + + + + Haven/Natural/Foliage/Wall edge S x4 01 + + + + + Haven/Wall, Haven/Orange/x2 blank 01, Orange + + + + + Haven/Wall, Haven/Orange/x1 blank 08, Orange + + + + + Haven/Wall, Haven/Orange/x1 blank 03, Orange + + + + + Haven/Wall, broken/Low/End, flat North + + + + + Haven/Wall, broken/Low/End, flat South + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Haven/Wall, broken/Doorway, horiz + + + + 1 + %town:m.haven_town_square + 174 + + + 6573 + + Camera + + Coords + 0.0, 0.7853982, 9.99 + FOV + 1.0471976 + Far + 250.0 + Near + 1.0 + + + + + 6560 + + Prop/Haven/Foliage Top/Top 4x4 01 + + + 1.1899998 + 57.083454, -6.143817, 3.0299995 + 0.0, 0.0, -4.7699515E-8, 1.0 + + + + 6561 + + + 1.1899998 + 55.083454, 0.85618305, 3.0299995 + 0.0, 0.0, -4.7699515E-8, 1.0 + + + + 6562 + + + 1.1899998 + 53.083454, 4.856183, 3.0299995 + 0.0, 0.0, -4.7699515E-8, 1.0 + + + + 6563 + + + 1.1899998 + 58.083454, -2.143817, 3.0299995 + 0.0, 0.0, -4.7699515E-8, 1.0 + + + + 6565 + + + 52.59139, -12.701376, 3.0499995 + 0.1993679, -9.509752E-9, -4.6741935E-8, 0.97992474 + + + + 6566 + + + 46.59139, -13.701376, 3.0499995 + 0.1993679, -9.509752E-9, -4.6741935E-8, 0.97992474 + + + + 4414 + + Prop/Haven/Ground pipes, brass/Elbow 45, left + + Color variant + Haven Brass (default) + + + + 13.5, -8.5, -0.5 + 0.0, 0.0, 1.0, 3.1391647E-7 + + + + 6538 + + + 1.1899998 + 52.083454, -4.143817, 3.0299995 + 0.0, 0.0, -4.7699515E-8, 1.0 + + + + 6539 + + + 1.1899998 + 49.831036, -5.7644906, 3.47 + 0.21591239, -0.06810294, 0.015098014, 0.97391784 + + + + 6536 + + + 1.1899998 + 49.831036, -9.76449, 2.47 + 0.21591239, -0.06810295, 0.015098015, 0.97391784 + + + + 2232 + + Prop/Haven/Tarp/Rope/Rope Stitch + + + 41.785736, 1.7828369, 2.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 6537 + + + 1.1899998 + 50.083454, -0.14381695, 3.0299995 + 0.0, 0.0, -4.7699515E-8, 1.0 + + + + 6541 + + + 40.058823, -5.3195524, 4.0 + 0.0, 0.0, 0.96592575, 0.2588193 + + + + 2226 + + + 37.19204, 1.5125542, 2.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 2224 + + + 37.182808, -0.7701435, 2.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 2225 + + Prop/Haven/Tarp/Posts/Post, 2.5 units + + + 37.372414, -0.87784195, 2.5 + + + + 6534 + + + 1.1899998 + 43.5, -11.5, 3.0299995 + 0.14771934, 0.03451614, -0.0051585175, 0.9884134 + + + + 2231 + + + 41.868034, -0.8401718, 2.5 + + + + 2228 + + Prop/Haven/Metal objects/Chimney pipe, spout + + + 35.5, 5.5, 9.0 + + + + 6532 + + + 1.1899998 + 45.26803, -7.664647, 3.0299995 + 0.1305262, -6.2260366E-9, -4.729144E-8, 0.9914449 + + + + 2229 + + Prop/Haven/Metal objects/Roof fan, x2 01 + + + 37.5, 5.5, 9.0 + + + + 2219 + + + 33.279472, 2.85009, 4.5 + 0.0, 0.0, -0.7071069, -0.70710665 + + + + 2218 + + + 33.179245, 0.11986542, 4.5 + + + + 2217 + + Prop/Haven/Tarp/Tarp 3x3 02 + + Color 1 + 1294 + Color 2 + 1539 + + + + 34.5, 1.5, 4.5 + + + + 2216 + + Prop/Haven/Tarp/Tarp 3x5 01 + + Color 1 + 1287 + Color 2 + 1540 + + + + 39.5, 0.5, 2.5 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 6559 + + + 1.0999999 + 54.5, -8.019966, 2.57 + 0.19080897, -9.101495E-9, -4.6823136E-8, 0.98162717 + + + + 2223 + + + 37.207184, 0.4326229, 2.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 2222 + + + 35.73671, 2.8159523, 4.5 + 0.0, 0.0, -0.7071069, -0.70710665 + + + + 2221 + + + 35.8488, 0.14449692, 4.5 + + + + 2220 + + + 34.51851, 2.8057423, 4.5 + 0.0, 0.0, -0.7071069, -0.70710665 + + + + 2270 + + Character/Snipe/Snipe, Walk + + Color 1 + 1282 + Scale + 1.0 + + + + 18.671387, 4.880843, 2.0 + + + + 2271 + + Character/Snipe/Snipe, Walk + + Color 1 + 1285 + Scale + 1.0 + + + + -18.695208, 8.85367, 5.0 + + + + 2264 + + + 25.5, 7.5, 6.0 + + + + 2265 + + + 21.5, 7.5, 6.0 + + + + 2261 + + Prop/Haven/Snipe, Static/Snipe, Low Res + + Color 1 + 1286 + + + + 23.517, 5.302, 2.57 + 0.0, 0.0, -0.08715573, 0.9961947 + + + + 2263 + + Prop/Haven/Snipe, Static/Snipe, Low Res + + Color 1 + 1291 + + + + 25.512001, 6.231, 4.7200003 + 0.1131989, 9.878716E-4, 0.008670438, 0.993534 + + + + 2258 + + + 41.5, 4.5, 5.0 + + + + 2259 + + + 41.5, 6.5, 5.0 + + + + 2252 + + Prop/Haven/Snipe, Static/Snipe, Low Res + + Color 1 + 1294 + + + + 37.49643, 3.2940006, 5.63 + 0.13874401, 0.010919388, 0.07769552, 0.98721534 + + + + 2303 + + Prop/Haven/Cables & Wires/Cable, 01 unit + + + 22.98541, 6.0541353, 3.5 + + + + 2299 + + Prop/Haven/Cables & Wires/Cable, 12 unit + + + 18.754236, 18.509796, 4.6 + 0.099858515, 0.10897652, -0.66816926, 0.72917914 + + + + 2296 + + + 19.163626, 18.7872, 4.7299995 + 0.08998062, 0.1172651, -0.60207456, 0.7846392 + + + + 2291 + + + 16.092302, 18.074646, 4.5 + 0.014749162, 0.031629685, -0.4223608, 0.90575576 + + + + 2287 + + + 18.77841, 15.17636, 2.5 + + + + 2286 + + + 17.18847, 15.19239, 2.5 + + + + 2285 + + + 18.774593, 16.822338, 2.5 + 0.0, 0.0, 0.70710677, 0.7071068 + + + + 2284 + + + 17.155779, 16.836573, 2.5 + 0.0, 0.0, 0.70710677, 0.7071068 + + + + 2283 + + Prop/Haven/Tarp/Tarp 2x2 01 + + Color 1 + 1292 + Color 2 + 1547 + + + + 17.5, 15.5, 2.5 + + + + 2281 + + Prop/Haven/Metal objects/Water drum, cylindrical + + + 0.93 + 22.753815, 15.754349, 2.5 + 0.0, 0.0, -0.17364818, 0.9848078 + + + + 2276 + + Prop/Haven/Metal objects/Chimney pipe, pointed + + + 16.861706, 19.101711, 7.0 + + + + 2275 + + Prop/Haven/Metal objects/Antennae/Antenna, T + + Attachment 1 + + Attachment 2 + + Attachment 3 + + Attachment 4 + + Attachment 5 + + Attachment 6 + + + + + 19.717434, 19.221489, 7.0 + 0.0, 0.0, 0.08715574, 0.9961947 + + + + 2274 + + Prop/Haven/Metal objects/Antennae/Antenna, rectangle + + + 20.931051, 20.213144, 7.0 + -0.0, -0.0, -0.17364818, 0.9848077 + + + + 2273 + + + 17.5, 22.5, 7.0 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 2272 + + Character/Snipe/Snipe, Walk + + Color 1 + 1284 + Scale + 1.0 + + + + 15.60618, 19.579403, 5.0 + + + + 6455 + + Prop/Haven/Snipe, Static/Snipe, Low Res + + Color 1 + 1289 + + + + 34.217007, -11.250856, 5.96 + 0.08074224, -0.07934518, -0.69640374, 0.7086656 + + + + 4483 + + Prop/Haven/Architecture/Fountain, side piece + + + 2.5, -5.5, 0.5 + 0.0, 0.0, 0.7071075, 0.7071061 + + + + 4570 + + Prop/Haven/Ground pipes, brass/Straight 3 unit + + Color variant + Haven Brass (default) + + + + -26.5, 5.5, 2.5 + 0.0, 0.0, -0.70710623, 0.70710737 + + + + 2150 + + + 12.85491, 36.242382, 4.5 + + + + 2151 + + + 12.863067, 38.769672, 4.5 + + + + 2148 + + + 12.191006, 30.801115, 2.5 + 0.0, 0.0, 0.70710677, 0.7071068 + + + + 2149 + + + 13.794928, 30.809242, 2.5 + 0.0, 0.0, 0.70710677, 0.7071068 + + + + 2146 + + + 8.228933, 32.80919, 2.5 + 0.0, 0.0, 0.70710677, 0.7071068 + + + + 2147 + + + 10.765484, 32.82139, 2.5 + 0.0, 0.0, 0.70710677, 0.7071068 + + + + 2158 + + + -12.740494, 29.792418, 2.5 + 0.0, 0.0, 0.70710677, 0.7071068 + + + + 2157 + + + -11.249731, 29.760529, 2.5 + 0.0, 0.0, 0.70710677, 0.7071068 + + + + 2153 + + + 10.142398, 36.222313, 4.5 + + + + 4130 + + + 1.1199999 + -38.852573, -1.8676863, 2.1900003 + + + + 4129 + + Prop/Haven/Tarp/Tarp 2x2 02 + + Color 1 + 1283 + Color 2 + 1537 + + + + -38.5, -1.5, 2.57 + + + + 6335 + + Lights/Prop/Sunbeam, tall + + + -9.042029, 32.719997, 1.8900006 + + + + 6334 + + Lights/Prop/Sunbeam, short + + + 1.3099997 + -2.546481, 33.649986, 2.5 + + + + 4139 + + + -37.032158, 0.24758436, 2.2000003 + 0.0, 0.0, 0.17364815, 0.9848077 + + + + 4137 + + Prop/Haven/Tarp/Tarp 2x3 01 + + Color 1 + 1284 + Color 2 + 1539 + + + + -35.76, -0.53, 2.59 + -0.034899484, -3.1757235E-8, -0.99939084, 9.094086E-7 + + + + 4143 + + + 1.1299999 + -35.262703, -1.8503022, 2.1900003 + + + + 4142 + + + -37.008507, -0.16019215, 2.4999998 + 0.0, 0.0, 0.1305262, 0.9914449 + + + + 4141 + + + -36.98888, 0.6053065, 2.2000003 + 0.0, 0.0, -0.1305262, 0.9914449 + + + + 4140 + + + -37.111477, -1.8329762, 2.6499999 + 0.0, 0.0, -0.04361938, 0.99904823 + + + + 4146 + + + 0.8700001 + -35.839813, -2.5410001, 4.829983 + 0.0, 0.0, -0.3583679, 0.93358046 + + + + 4147 + + Prop/Haven/Snipe, Static/Snipe, Low Res + + Color 1 + 1281 + + + + -37.81739, -2.3889942, 4.829983 + 0.0, 0.0, 0.27563736, 0.9612617 + + + + 4144 + + Prop/Haven/Tarp/Rope/Rope Length 4 + + + -34.915, 1.0070243, 2.55 + 0.023858117, -0.06554964, 0.34118694, 0.9374037 + + + + 4145 + + Prop/Haven/Tarp/Rope/Rope Length 2 + + + -35.836052, 0.985, 2.5399997 + 0.04835211, -0.020028101, 0.9226133, 0.38215896 + + + + 4158 + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, small 1 + + + 15.399712, 14.063392, -0.5 + -0.053296387, -0.08443991, -0.26014107, 0.9603937 + + + + 4159 + + Prop/General/Nature/Foliage/Grass variants/Grass tuft 1 + + + 8.296014, 13.873979, -0.5 + 0.0, 0.0, 0.5, 0.8660254 + + + + 4157 + + Prop/Haven/Ground pipes, brass/Diagonal 3unit + + Color variant + Haven Brass (default) + + + + 15.5, 12.5, -0.5 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + 4097 + + + -30.159414, -6.037727, -0.5 + -0.047357075, 0.004853427, 0.07565302, 0.9959972 + + + + 4096 + + + -29.796587, -9.377209, -0.5 + -0.035373636, -0.038348697, 0.09288198, 0.99430925 + + + + 4099 + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, small 2 + + + -28.392092, -12.012815, -0.5 + -0.070172615, -0.08578841, -0.10568344, 0.98820406 + + + + 4098 + + + -28.709137, -12.132564, -0.5 + -0.028815191, -0.04947706, 0.0066018812, 0.9983376 + + + + 4101 + + + -21.30997, -12.1232, -0.5 + -0.0039468426, 0.04211728, -0.114255294, 0.99255043 + + + + 4100 + + + -30.096413, -10.912097, -0.5 + -0.055019975, -0.079559706, -0.16484702, 0.9815644 + + + + 4103 + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, large 2 + + + -21.7624, -11.999068, -0.5 + -0.027461424, 0.039792877, 0.0897516, 0.9947899 + + + + 6289 + + Environment/Shadow Color + + Color + 0.03529412, 0.07058824, 0.105882354, 0.333 + + + + + 4104 + + + -20.32808, -10.979706, -0.5 + -0.03058582, -0.083980404, 0.021349784, 0.9957691 + + + + 6288 + + Environment/Light + + Light + + + 0.32156864, 0.22352941, 0.21176471, 1.0 + 0.19607843, 0.6, 0.0, 1.0 + + 0.0, -4.371139E-8, 1.0 + + + + + + 6291 + + Environment/Skybox + + Model + + + + + + 6293 + + Environment/Background Color + + Color + 0.16078432, 0.14117648, 0.12941177, 1.0 + + + + + 4109 + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, single 1 + + + -21.031157, -11.594017, -0.5 + -0.010669755, 0.07379324, -0.2743627, 0.9587314 + + + + 4111 + + + -29.23868, -10.958643, -0.5 + -0.039109107, 0.026258152, -0.01259394, 0.9988105 + + + + 6294 + + Environment/Music + + File + sound/music/haven.ogg + Gain + 0.45 + + + + + 4110 + + + -29.681894, -10.618469, -0.5 + -0.04158186, 0.09982703, -0.17908949, 0.9778714 + + + + 4112 + + + -28.694618, -11.293349, -0.5 + -0.05183576, 0.13102943, -0.08801668, 0.98610216 + + + + 4113 + + + -30.618631, -9.782912, -0.5 + -0.05279231, -0.027518779, -0.4625736, 0.88457984 + + + + 6286 + + Environment/Ambient + + Color + 0.41960785, 0.30588236, 0.19215687, 1.0 + + + + + 4118 + + + -24.5018, -3.487494, -0.5 + 0.0, 0.0, 0.17364818, 0.9848077 + + + + 6287 + + Environment/Skybox + + Model + + world/skybox/sunrays/skybox.dat + + + + + + 4119 + + + -22.709906, -9.24803, -0.5 + 0.0, 0.0, 0.17364818, 0.9848077 + + + + 4120 + + + -27.537788, -11.332624, -0.5 + 0.0, 0.0, 0.08715574, 0.9961947 + + + + 4121 + + + -8.179621, -1.102633, -0.5 + + + + 4122 + + + -8.326953, 1.9655614, -0.5 + -0.04443149, 0.010552917, 0.00695508, 0.9989325 + + + + 4123 + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, small 2 + + Tint + Default + + + + -8.76149, 0.2974658, -0.5 + -0.06363954, 0.07227565, 0.07020609, 0.99287325 + + + + 4124 + + + 11.4618845, -1.4836421, -0.5 + -0.03847138, -0.0105521325, 0.11231577, 0.99287146 + + + + 4126 + + + 11.900025, -0.1943264, -0.5 + -0.053296387, -0.08443991, -0.26014107, 0.9603937 + + + + 4199 + + + 17.502583, -11.175957, -0.5 + -0.012049443, 0.034675952, -0.04000939, 0.9985247 + + + + 4198 + + + 4.818893, -16.392643, -0.5 + -0.053149056, -0.04278531, -0.015879244, 0.99754316 + + + + 4197 + + + -3.0408392, -16.010868, -0.5 + -0.039428867, -0.0040390617, 0.0175588, 0.99905986 + + + + 4193 + + + 0.8000002 + -13.745843, -12.251313, -0.5 + -0.15119338, 0.04752768, 0.0925238, 0.9830163 + + + + 4192 + + + 8.345751, 15.087053, -0.5 + -0.06993224, 0.18030357, 0.21803594, 0.956588 + + + + 4207 + + Prop/General/Nature/Foliage/Leaf, plane 02 + + Color variant + 1793 + + + + 4.2735114, -3.2626617, 1.0 + 0.0, 0.0, 0.2826321, 0.9592284 + + + + 4206 + + Prop/General/Nature/Foliage/Leaf, plane 03 + + Color variant + 1793 + + + + 3.6410651, -3.7023573, 1.0 + 0.0, 0.0, -0.48818654, 0.87273926 + + + + 4205 + + + 6.55104, -2.612628, 1.0 + 0.0, 0.0, 0.7004344, 0.7137168 + + + + 4204 + + Prop/General/Nature/Foliage/Leaf, plane 04 + + Color variant + 1793 + + + + 6.258132, -3.3779588, 1.0 + 0.0, 0.0, -0.5423839, 0.8401308 + + + + 4201 + + Prop/Knights/Block - Toughbox + + + -19.69314, 5.2830024, 2.5 + 0.0, 0.0, -0.66262, 0.7489557 + + + + 4214 + + + 4.962013, 4.2260103, 1.0 + 0.0, 0.0, 0.014300399, 0.9998978 + + + + 4215 + + + 6.4720387, 4.385777, 1.0 + 0.0, 0.0, 0.39001328, 0.9208092 + + + + 4212 + + + -4.322049, -3.3858418, 1.0 + 0.0, 0.0, -0.14283985, 0.9897458 + + + + 4213 + + + -2.854317, -0.9358325, 1.0 + 0.0, 0.0, 0.25964877, 0.9657031 + + + + 4210 + + + -0.9031944, -2.4551435, 1.0 + 0.0, 0.0, -0.6558964, 0.7548509 + + + + 4211 + + + -0.48931807, -3.0182116, 1.0 + 0.0, 0.0, 0.7276155, 0.68598527 + + + + 4208 + + + 3.079613, -2.3828251, 1.0 + 0.0, 0.0, -0.9666348, 0.25615847 + + + + 6377 + + + -26.956448, 3.3613663, 2.5 + + + + 4209 + + + -1.4756145, -4.5344553, 1.0 + 0.0, 0.0, -0.66524553, 0.7466246 + + + + 4222 + + + -2.058993, 3.5446486, 1.0 + 0.0, 0.0, 0.4900895, 0.87167215 + + + + 4223 + + + -4.5463595, 2.4706233, 1.0 + 0.0, 0.0, -0.9992431, 0.03890095 + + + + 4220 + + + -2.5112712, 2.954705, 1.0 + 0.0, 0.0, -0.38365296, 0.92347735 + + + + 4218 + + + 6.394285, 3.7540207, 1.0 + 0.0, 0.0, -0.90517217, 0.4250451 + + + + 4219 + + + 4.1111603, 3.4019103, 1.0 + 0.0, 0.0, -0.58955604, 0.80772746 + + + + 2541 + + + -50.1333, -5.804085, 7.0 + + + + 2540 + + + -51.16223, -5.235115, 4.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 2543 + + + -46.5, -8.5, 7.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4167 + + Prop/Haven/Ground pipes, brass/Straight 5 unit + + Color variant + Haven Brass (default) + + + + 16.5, -6.5, -0.5 + + + + 2542 + + + -49.681274, -6.9504395, 7.0 + + + + 4166 + + + 16.5, -1.5, -0.5 + + + + 2537 + + + -51.1799, -7.7380524, 4.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 4161 + + + 17.140957, 11.639927, -0.5 + 0.0, 0.0, 0.42261824, 0.9063078 + + + + 2536 + + + -53.5, -7.5, 4.33 + + + + 4160 + + + 14.211737, 14.732496, -0.5 + + + + 2539 + + + -51.16414, -6.455406, 4.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 2538 + + + -53.535126, -5.279663, 4.44 + + + + 4162 + + Prop/General/Nature/Foliage/Variants - Haven/Ivy Wall, x1 - 01 + + + 0.95000005 + 14.71067, 15.162961, -0.5 + -0.08883763, -0.0019897996, -0.17445827, 0.9806469 + + + + 4172 + + + 23.683712, -9.175718, -0.5 + -0.0071496726, -0.05776442, -0.10751195, 0.99249846 + + + + 2535 + + Prop/Haven/Metal objects/Water drum, round + + + 0.94 + -52.46479, -9.541008, 5.0 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 4175 + + + 18.13726, 2.60283, -0.5 + -0.015862886, 0.042320937, 0.07531626, 0.99613494 + + + + 2534 + + Prop/Haven/Tarp/Tarp 3x3 02 + + Color 1 + 1288 + Color 2 + 1542 + + + + -52.5, -6.5, 4.5 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 4174 + + + 18.093895, -0.112697124, -0.5 + -0.024857096, -0.034677252, 0.113655634, 0.99260366 + + + + 4169 + + Prop/Haven/Nature/Boulder 01 + + + 1.4499996 + 24.64331, -7.752086, -0.5 + 0.0, 0.0, 0.31730452, 0.94832367 + + + + 4171 + + + 26.315825, -9.279352, -0.5 + -0.039519582, -0.0054403343, -0.018240837, 0.99903744 + + + + 4170 + + + 24.177755, -8.750063, -0.5 + -0.039719276, -0.0037113375, -0.061800867, 0.99729097 + + + + 4180 + + + 1.4499996 + 19.039696, -0.68374443, -0.5 + 0.0, 0.0, -0.19936803, 0.9799247 + + + + 4181 + + + 18.354115, -1.8995872, -0.5 + 0.0084797, -0.05124671, 0.26049477, 0.96407694 + + + + 4182 + + + 10.745078, -4.171427, -0.5 + -0.03924466, -0.007158976, 0.025353927, 0.99888223 + + + + 4176 + + + 17.295942, 2.5841238, -0.5 + -0.014976469, -0.068554364, 0.007039342, 0.9975101 + + + + 4177 + + + 0.95000005 + 25.33213, -8.496071, -0.5 + -0.08832616, -0.0097249355, -0.08832542, 0.9921203 + + + + 4178 + + + 27.462854, -10.2161875, -0.5 + -0.012156962, -0.056921463, -0.19360475, 0.97935146 + + + + 4179 + + + 1.4499996 + 19.20654, -2.008317, -0.5 + 0.0, 0.0, 0.35836783, 0.93358046 + + + + 6340 + + + 20.353329, 4.6196027, 2.0 + + + + 4189 + + + 0.8900001 + 11.371715, 2.4434166, -0.5 + -0.03924466, -0.007158976, 0.025353927, 0.99888223 + + + + 4190 + + + 0.8700001 + 21.669067, -9.907013, -0.5 + -0.039244667, -0.007158977, 0.025353927, 0.99888223 + + + + 4191 + + + 0.8700001 + 24.50784, -9.79911, -0.45000002 + -0.039519582, -0.0054403353, -0.018240826, 0.99903744 + + + + 2544 + + + -45.938065, -5.741024, 7.0 + + + + 6336 + + + -13.807472, 29.102898, 4.090002 + + + + 4184 + + + 0.8300001 + 11.428738, 1.6195674, -0.5 + -0.029170735, -0.031136086, -0.016877487, 0.9989468 + + + + 6337 + + + -12.390214, 21.389204, 2.5 + + + + 4185 + + + 0.8200002 + 11.144883, 2.2940583, -0.5 + -0.029625697, -0.095356815, -0.002708778, 0.9949985 + + + + 6338 + + + 13.373283, 31.144657, 4.0 + + + + 4186 + + + -16.01203, 6.7041707, -0.5 + -0.06729739, 0.052522697, 0.13123567, 0.9876688 + + + + 6339 + + + 16.197199, 17.040148, 4.0 + + + + 2304 + + + 23.019424, 6.192184, 3.5 + 0.0, 0.0, 0.1305262, 0.9914449 + + + + 4264 + + Prop/General/Nature/Foliage/Leaf, plane 04 + + Color variant + 1793 + + + + 11.884405, -5.3397303, -0.5 + 0.0, 0.0, 0.029870657, 0.9995538 + + + + 2305 + + + 23.021376, 8.892435, 3.5 + -0.0, -0.0, -0.08715574, 0.9961947 + + + + 2310 + + + -16.260334, 28.105335, 4.5 + 0.0, 0.0, 0.70710677, 0.7071068 + + + + 2311 + + + -17.761202, 28.113338, 4.5 + 0.0, 0.0, 0.70710677, 0.7071068 + + + + 2308 + + + -16.246508, 30.787857, 4.5 + 0.0, 0.0, 0.70710677, 0.7071068 + + + + 2309 + + + -17.743916, 30.825499, 4.5 + 0.0, 0.0, 0.70710677, 0.7071068 + + + + 2314 + + + -13.857946, 32.208485, 6.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 2315 + + + -8.157999, 34.230442, 4.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 2313 + + + -13.803859, 34.754623, 6.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 2316 + + + -8.183409, 36.76525, 4.5 + 0.0, 0.0, -1.0, 1.9470718E-7 + + + + 4261 + + Prop/City Base/Litter, blowing paper + + Marker Color + 0.0, 0.72156864, 0.003921569, 0.75 + + + + 0.5, 11.5, -0.5 + 0.0, 0.0, -0.5735761, 0.8191523 + + + + 2323 + + + -43.5, 5.5, 7.0 + + + + 2320 + + + -10.980851, 34.124348, 4.5 + 0.0, 0.0, 0.88701093, -0.46174845 + + + + 2334 + + + 0.6 + -7.5, 33.0, 3.75 + -4.7485346E-7, 0.70710665, -0.70710695, 4.7485366E-7 + + + + 2333 + + + 0.6 + -9.5, 33.0, 3.75 + -4.7485346E-7, 0.70710665, -0.70710695, 4.7485366E-7 + + + + 4276 + + Character/Stranger/Stranger, merchant + + Actor + + Shop/Haven/Exchange + + + + + 16.735973, 10.4861965, -0.5 + 0.0, 0.0, -0.46174848, 0.88701093 + + + + 4224 + + + -5.5, -5.5, 0.5 + 0.0, 0.0, -0.03201027, 0.9994875 + + + + 4229 + + + -4.6944957, -5.433709, 0.5 + 0.0, 0.0, 0.49904495, 0.8665761 + + + + 4230 + + + -4.285875, -5.9899163, 0.5 + 0.0, 0.0, -0.1671326, 0.98593444 + + + + 4248 + + + -8.463435, -2.8032908, -0.5 + 0.0, 0.0, 0.25608453, 0.9666544 + + + + 2352 + + Prop/Gremlin/Sign, Gremlin emblem + + + 30.444408, -2.54, 2.5 + + + + 4251 + + + -9.624641, -2.0837216, -0.5 + 0.0, 0.0, -0.41160288, 0.9113633 + + + + 4245 + + Prop/General/Nature/Foliage/Leaf, plane 02 + + Color variant + 1793 + + + + 11.95532, -3.1271296, -0.5 + 0.0, 0.0, 0.38931358, 0.92110527 + + + + 4247 + + + -8.400376, -3.604248, -0.5 + 0.0, 0.0, -0.84083307, 0.5412946 + + + + 4246 + + + 15.681206, -0.5031457, -0.5 + 0.0, 0.0, 0.27764833, 0.96068275 + + + + 4301 + + Prop/Haven/Tarp/Shadow Verticle/Shadow 3x3 + + + 2.5 + 0.55896854, 47.84054, 8.930111 + -8.9169515E-7, 0.9799247, -0.19936818, 1.8141765E-7 + + + + 4303 + + + 2.5 + 1.5589685, 45.84054, 8.930111 + -7.74879E-7, 0.9799247, -0.19936818, 1.5765112E-7 + + + + 4297 + + Camera/Default + + Camera + + 2 + 25.0 + 0.0, 1.134464, 14.0 + + Easing + + + Extent - X axis + 10.0 + Extent - Y axis + 15.0 + Extent - Z axis + 10.0 + Transition + 2.0 + + + + 1.0, 43.5, 3.0 + 0.0, 0.0, -6.755325E-7, 1.0 + + + + 4293 + + + 2.5 + 1.5589685, 50.17099, 8.930111 + -7.74879E-7, 0.9799247, -0.19936818, 1.5765112E-7 + + + + 4294 + + + 2.5 + 1.5589685, 48.930862, 8.930111 + -8.9169515E-7, 0.9799247, -0.19936818, 1.8141765E-7 + + + + 7054 + + Prop/Haven/Ground pipes, brass/Cliff pipe, vertical + + Color variant + Haven Brass (default) + + + + 27.5, -9.5, -0.5 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + 7050 + + + 2.5000002, 1.4999995, 1.5 + 0.0, 0.0, -1.0, 1.9470718E-7 + + + + 7048 + + + -0.49999964, -1.5, 1.5 + + + + 7049 + + + -0.50000024, 1.4999998, 1.5 + 0.0, 0.0, 0.7071067, -0.7071068 + + + + 7047 + + + 2.5, -1.5, 1.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 7071 + + + 35.5, -7.5, 2.5 + 0.0, 0.0, 0.70710677, 0.7071068 + + + + 7069 + + + 32.5, -7.5, 2.5 + 0.0, 0.0, 0.70710725, 0.7071063 + + + + 7067 + + Prop/Haven/Ground pipes, brass/Diagonal 2unit + + Color variant + Haven Brass (default) + + + + 31.5, -8.5, 2.5 + 0.0, 0.0, -1.0, 3.1391647E-7 + + + + 7064 + + Prop/Haven/Ground pipes, brass/Elbow 90 + + Color variant + Haven Brass (default) + + + + 31.25, -9.5, 2.5 + 0.0, 0.0, 3.4969108E-7, 1.0 + + + + 7057 + + Dynamic/Block/Unbreakable/Haven + + + 33.5, -8.5, 2.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 7084 + + Prop/Haven/Metal objects/Floor pipes/Straight x2 + + + -1.5000002, -0.50000024, 0.5 + 0.0, 0.0, 5.9604638E-8, 1.0 + + + + 7085 + + + 4.5, -2.5, -1.0 + 0.0, 0.0, -0.27563733, 0.9612617 + + + + 7086 + + Prop/Haven/Snipe, Static/Snipe, Low Res + + Color 1 + 1283 + + + + -2.2, -25.5, -1.12 + 0.0, 0.0, 0.3007058, 0.95371693 + + + + 7081 + + Sounds/Positional/Haven/Fountain, Town Square + + Label + Fountain, Town Square + + + + 1.0, 0.0, 1.5 + + + + 7082 + + + 1.02 + -0.35, -1.4, 2.2900002 + 0.0, 0.0, 0.17364818, 0.9848077 + + + + 7083 + + + 1.4999998, -1.5000002, 0.5 + 0.0, 0.0, 5.9604638E-8, 1.0 + + + + 7076 + + Prop/Gremlin/Stool + + + 5.5, -38.0, -3.5 + + + + 7077 + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, large 1 + + + 5.25, -37.5, -3.5 + -0.068763204, 0.020183112, 0.009356215, 0.99738497 + + + + 7078 + + + 6.455, -37.5, -3.5 + -0.02003791, -0.026451202, -0.027594795, 0.99906814 + + + + 7072 + + + 38.5, -7.5, 2.5 + 0.0, 0.0, 0.70710677, 0.7071068 + + + + 7073 + + + 41.5, -7.5, 2.5 + 0.0, 0.0, 0.70710677, 0.7071068 + + + + 7074 + + + 44.5, -7.5, 2.5 + 0.0, 0.0, 0.70710677, 0.7071068 + + + + 7075 + + + 47.5, -7.5, 2.5 + 0.0, 0.0, 0.70710677, 0.7071068 + + + + 7100 + + Character/Knight/Crew, general + + Actor + + Character/NPC/Haven/Knight/Guard + + + + + 3.0, -39.0, -3.5 + 0.0, 0.0, -0.21643962, 0.976296 + + + + 7096 + + + 8.5, -38.760002, -3.5 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 7093 + + + 7.1600003, -37.4, -3.5 + 0.0, 0.0, -0.1305262, 0.9914449 + + + + 7095 + + + 1.25 + 8.45, -37.5, -3.5 + 0.0, 0.0, 0.38268346, 0.9238795 + + + + 7089 + + + 0.7 + 3.95, -25.5, -1.12 + 0.0, 0.0, 0.1305262, 0.9914449 + + + + 7088 + + + 3.5, -25.5, -1.12 + 0.0, 0.0, -0.2756373, 0.9612617 + + + + 7090 + + + -5.5, -3.5, -3.5 + + + + 6927 + + + 4.5, -2.5, -3.5 + 0.0, 0.0, 0.10452855, 0.9945219 + + + + 6925 + + + -4.75, -27.5, -3.5 + -0.068763204, 0.020183112, 0.009356215, 0.99738497 + + + + 6924 + + + -5.8500004, -28.1, -3.5 + -0.036370907, -0.04999057, 0.18290229, 0.9811854 + + + + 6922 + + + -21.5, -0.5, -3.5 + -0.062395506, 0.048833355, -0.13133788, 0.98816615 + + + + 6921 + + + 26.5, 29.5, -3.5 + 0.0, 0.0, 0.043619387, 0.99904823 + + + + 6935 + + Prop/General/Nature/Foliage/Variants - Haven/Ivy vine, Haven 02 + + + -5.4500003, -26.5, -3.2 + 0.0, 0.0, 0.06716854, 0.99774164 + + + + 6942 + + + -4.5, -25.5, -3.5 + -0.05836818, -0.027898353, -0.04594739, 0.99684685 + + + + 6939 + + Prop/General/Nature/Foliage/Variants - Haven/Ivy vine, Haven 01 + + + -4.75, -26.5, -3.35 + 0.0, 0.0, -0.09203168, 0.9957561 + + + + 6948 + + Prop/Gremlin/Roadblock 02 + + + -2.5, -36.5, -3.5 + + + + 6950 + + Prop/Knights/Flare + + + -0.65, -37.6, -3.5 + 0.0, 0.0, -0.3007058, 0.95371693 + + + + 6945 + + + -5.4500003, -37.5, -3.5 + 0.0, 0.0, 0.17364818, 0.9848077 + + + + 6946 + + + -3.5229497, -37.555164, -3.55 + -0.01608393, -0.041149043, 0.051365465, 0.9977022 + + + + 6959 + + + 8.492357, -38.19152, -3.5 + -0.013791178, -0.04801892, -0.13109969, 0.9901095 + + + + 6958 + + + 3.5, -36.5, -3.5 + + + + 6955 + + + 0.5, -36.5, -3.5 + + + + 6964 + + + 8.492357, -33.19152, -3.5 + -0.013791176, -0.048018917, -0.13109967, 0.9901095 + + + + 6966 + + + 6.8100004, -27.28, -3.5 + -0.03785028, 0.047012225, -0.0018991343, 0.99817514 + + + + 6973 + + + 1.1 + 3.7, -26.550001, -3.5 + -0.034899473, 0.0, 0.0, 0.99939084 + + + + 6974 + + + 1.1 + -1.75, -26.550001, -3.5 + -0.034899484, 0.0, 0.0, 0.99939084 + + + + 6975 + + + 7.5, -22.5, -3.5 + 0.0, 0.0, 0.8688236, 0.49512184 + + + + 6968 + + + 7.5, -33.5, -3.5 + 0.0, 0.0, -0.052562155, 0.99861765 + + + + 6969 + + + -4.5, -23.5, -3.5 + 0.0, 0.0, 0.9630201, 0.26942977 + + + + 6970 + + + 6.65, -26.48, -3.35 + -0.017452404, 0.0, 0.0, 0.9998477 + + + + 6971 + + + 1.1 + 1.0, -26.550001, -3.5 + -0.034899488, 0.0, 0.0, 0.99939084 + + + + 2675 + + Prop/Haven/Cables & Wires/Cable, 03 unit + + + 40.00824, -15.2641325, -1.5 + 0.0, 0.0, 1.0, 7.54979E-8 + + + + 6979 + + Dynamic/Portal/Level Start + + Default Entrance + true + + + + 2.5 + 1.0, -32.0, -3.5 + 0.0, 0.0, 1.0, 5.5233505E-7 + + + + 2674 + + + 46.865055, -16.237015, 0.5 + 0.0, 0.0, -8.742278E-8, 1.0 + + + + 2673 + + + 46.84689, -17.756351, 0.5 + 0.0, 0.0, -8.742278E-8, 1.0 + + + + 6977 + + + 1.1 + -1.56, -26.56, -1.42 + -0.024677662, 0.706676, 0.024677662, 0.706676 + + + + 2672 + + + 45.169422, -17.810333, 0.5 + 0.0, 0.0, -8.742278E-8, 1.0 + + + + 6976 + + + 1.1 + 1.37, -26.57, -1.65 + -0.029468818, 0.67494714, 0.032159574, 0.7365756 + + + + 6981 + + + 9.5, -32.5, -3.5 + -0.008622061, 0.024913369, -0.15018697, 0.9883061 + + + + 2676 + + + 36.061935, -15.741025, 1.0 + + + + 6980 + + Character/Stranger/Stranger, general + + Actor + + Character/NPC/Haven/Stranger/Greeter + + + + + 1.2 + -1.85, -28.2, -3.5 + 0.0, 0.0, 0.38268346, 0.9238795 + + + + 6986 + + + 3.65, 16.25, -0.5 + 0.0, 0.0, 0.06975647, 0.9975641 + + + + 6985 + + + 0.42000002, 16.35, -0.5 + 0.0, 0.0, -0.06975647, 0.9975641 + + + + 6984 + + + -2.8, 16.15, -0.5 + 0.0, 0.0, 0.06975647, 0.9975641 + + + + 6991 + + Prop/Knights/Block - Toughbox, Empty + + + 4.5, 22.5, -0.5 + 0.0, 0.0, -0.30070576, 0.95371693 + + + + 6990 + + + -2.5, 18.5, -0.5 + 0.0, 0.0, -0.30070576, 0.95371693 + + + + 6988 + + + 2.5, 17.5, -0.5 + 0.0, 0.0, -0.30070576, 0.95371693 + + + + 6994 + + Character/Knight/Crew, general + + Actor + + Character/NPC/Haven/Knight/Energy Info + + + + + 10.5, 33.5, -0.5 + 0.0, 0.0, -0.21643959, 0.976296 + + + + 6993 + + + 4.5, 20.5, -0.5 + 0.0, 0.0, -0.6087614, 0.7933533 + + + + 2663 + + + 39.971096, -16.152868, -1.5 + 0.0, 0.0, 0.9961947, 0.087155804 + + + + 2670 + + + 46.5, -17.5, 0.5 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 7007 + + Character/Snipe/Snipe, Walk + + Color 1 + 1283 + Scale + 1.0 + + + + 1.5, 39.5, -0.5 + + + + 2671 + + + 45.181473, -16.239458, 0.5 + 0.0, 0.0, -8.742278E-8, 1.0 + + + + 2669 + + + 42.5, -17.5, 3.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 7008 + + Character/Snipe/Snipe, Walk + + Color 1 + 1290 + Scale + 1.0 + + + + 1.5, 21.5, -0.5 + + + + 7011 + + Null barrier, no-walk + + + 2.5, 36.5, -0.5 + + + + 7015 + + + 5.5, 16.5, -0.5 + + + + 7017 + + + 3.5, 16.5, -0.5 + + + + 7016 + + + 4.5, 16.5, -0.5 + + + + 7019 + + + 1.5, 16.5, -0.5 + + + + 7018 + + + 2.5, 16.5, -0.5 + + + + 7021 + + + -0.5, 16.5, -0.5 + + + + 7020 + + + 0.5, 16.5, -0.5 + + + + 7023 + + + -2.5, 16.5, -0.5 + + + + 7022 + + + -1.5, 16.5, -0.5 + + + + 7024 + + + -3.5, 16.5, -0.5 + + + + 7025 + + + 5.5, 37.5, -3.5 + + + + 7026 + + + 4.5, -36.5, -3.5 + + + + 7027 + + + 3.5, -36.5, -3.5 + + + + 7028 + + + 2.5, -36.5, -3.5 + + + + 7029 + + + 1.5, -36.5, -3.5 + + + + 7030 + + + 0.5, -36.5, -3.5 + + + + 7031 + + + -0.5, -36.5, -3.5 + + + + 7032 + + + -1.5, -36.5, -3.5 + + + + 2632 + + + 28.5, -17.5, -1.67 + + + + 7033 + + + -2.5, -36.5, -3.5 + + + + 7034 + + + 20.5, -34.5, -3.5 + + + + 2634 + + + 30.835863, -16.455406, -1.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 7035 + + + -6.545, -37.5, -3.5 + -0.020037912, -0.026451208, -0.027594801, 0.99906814 + + + + 2635 + + + 30.8201, -17.738052, -1.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 2636 + + + 32.318726, -16.950441, 1.0 + + + + 7037 + + + 3.96, -40.15, -3.5 + 0.0, 0.0, -0.9238795, 0.38268343 + + + + 2637 + + + 28.464872, -15.279661, -1.56 + + + + 2638 + + + 31.8667, -15.804086, 1.0 + + + + 2639 + + + 30.837769, -15.235116, -1.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 6813 + + Prop/Haven/Ground pipes, brass/Elbow 45, right + + Color variant + Haven Brass (default) + + + + -1.5, 28.5, 2.5 + 0.0, 0.0, -1.0, 7.54979E-8 + + + + 6812 + + + 1.5, 36.5, 2.5 + 0.0, 0.0, 1.0, 7.54979E-8 + + + + 6808 + + + 5.146669, 3.1997023, 0.5 + + + + 6811 + + + -2.5, 28.5, -0.5 + -0.07062709, -0.07390133, -0.11089508, 0.98856086 + + + + 6810 + + Environment/Model + + Model + + particle/world_spiral_wind.dat + + Gain + 0.15 + Leaves + true + Pitch + 0.8 + Sound + sound/effect/world/environmental_wind_light_stereo.ogg + + + + + + + 6807 + + + -1.3079644, -1.0274558, 0.5 + + + + 6797 + + Prop/Haven/Metal objects/Floor pipes/Straight x1 + + + 1.5, -5.5, -0.5 + 0.0, 0.0, -2.3849761E-8, 1.0 + + + + 6794 + + + 1.4527569, 7.808982, -1.0899991 + + + + 6795 + + Prop/Haven/Metal objects/Floor pipes/Elbow L + + + -0.5, -5.5, -0.5 + 0.0, 0.0, -2.3849761E-8, 1.0 + + + + 2996 + + Character/Snipe/Snipe, Walk + + Color 1 + 1291 + Scale + 1.0 + + + + 1.5, -12.5, -0.5 + + + + 6784 + + + 9.546284, 29.668865, 2.5 + 0.0, 0.0, -0.21643959, 0.976296 + + + + 6847 + + + -31.5, 2.5, 2.5 + + + + 6845 + + + -41.5, 1.5, 0.0 + + + + 6838 + + Prop/Sky Islands, Day/Puppy Statue + + + 4.5, -26.5, -3.5 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + 6837 + + + -2.5, -26.5, -3.5 + 0.0, 0.0, 0.70710695, 0.70710665 + + + + 6836 + + + -32.5, -6.5, -3.5 + 0.0, 0.0, 0.70710695, 0.70710665 + + + + 6835 + + + -32.5, -5.5, -3.5 + + + + 6834 + + + -33.5, -5.5, -3.5 + + + + 2945 + + Character/Stranger/Stranger, general + + Actor + + Character/NPC/Haven/Stranger/Clockworks + + + + + -8.5, 31.5, 2.5 + 0.0, 0.0, 0.06975647, 0.9975641 + + + + 6833 + + + -32.5, -2.5, -3.5 + + + + 2944 + + Prop/Haven/Ground pipes, brass/Diagonal 2unit + + Color variant + Haven Brass (default) + + + + 15.5, -8.5, -0.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 6832 + + + -31.5, -2.5, -3.5 + + + + 6826 + + + 2.5 + 1.5589685, 49.17099, 8.930111 + -7.74879E-7, 0.9799247, -0.19936818, 1.5765112E-7 + + + + 6818 + + + -0.5, 35.5, 2.5 + 0.0, 0.0, -1.0, 7.54979E-8 + + + + 6856 + + + -1.5, 33.5, 2.5 + + + + 6857 + + + -0.5, 33.5, 2.5 + + + + 6858 + + + 0.5, 33.5, 2.5 + + + + 6859 + + + 1.5, 33.5, 2.5 + + + + 6860 + + + 2.5, 33.5, 2.5 + + + + 6861 + + + 3.5, 33.5, 2.5 + + + + 6862 + + + 4.5, 33.5, 2.5 + + + + 6848 + + + -31.5, 1.5, 2.5 + + + + 6849 + + + -31.5, 0.5, 2.5 + + + + 6850 + + + -31.5, -0.5, 2.5 + + + + 6851 + + + -31.5, -1.5, 2.5 + + + + 6853 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + We are still working out some bits around here. + Tags + + Title + Not Ready Yet! + Visible Distance + 4.0 + Width + 200 + + + + -32.5, 0.5, 2.5 + + + + 6854 + + + 1.5, 34.5, 2.5 + + + + 6855 + + + -2.5, 33.5, 2.5 + + + + 3022 + + Character/Stranger/Stranger, general + + Actor + + Character/NPC/Haven/Stranger/Snipes + + + + + -17.32031, -3.7084208, -0.5 + 0.0, 0.0, 0.38268337, 0.92387956 + + + + 3010 + + + -1.5, -8.5, 0.5 + + + + 3014 + + Shop/Haven/Alchemy + + + 21.5, 2.5, 2.5 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 3032 + + + 0.95 + -17.060677, -4.345731, -0.5 + 0.0, 0.0, 0.17364816, 0.9848077 + + + + 3031 + + + 0.84999996 + -16.648724, -3.9070046, -0.44 + 0.0, 0.0, 0.38268337, 0.92387956 + + + + 1018 + + + -30.5, -7.5, -0.5 + -0.0, -0.0, -0.7071069, -0.70710665 + + + + 2943 + + Prop/Haven/Ground pipes, brass/Y Connector + + Color variant + Haven Brass (default) + + + + 16.5, -7.5, -0.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 2942 + + + 14.5, -9.5, -0.5 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 6779 + + Camera/Default + + Camera + + 1 + 50.0 + 0.0, 0.9599311, 11.0 + 0.0, 0.0, 1.5 + + Cameras + + + Easing + + + Extent - X axis + 10.0 + Extent - Y axis + 10.0 + Extent - Z axis + 8.0 + Transition + 1.25 + + + + -36.0, 2.0, 2.5 + + + + 2910 + + Character/Stranger/Stranger, general + + Actor + + Character/NPC/Haven/Stranger/Gremlin Info + + + + + 25.550909, 2.468134, 2.5 + 0.0, 0.0, -0.1305262, 0.9914449 + + + + 3284 + + Prop/General/Nature/Foliage/Variants - Haven/Ivy Wall, x3 - 01 + + + 33.4857, -3.0363321, 2.1300004 + + + + 3285 + + + 32.129868, -3.084968, 2.5 + + + + 3286 + + + 30.4215, -3.157, 2.1400003 + + + + 3280 + + + 19.5, 16.5, 1.8800006 + 0.0, 0.0, 0.043619383, 0.99904823 + + + + 3281 + + + 21.5, 16.5, 2.5 + 0.0, 0.0, 0.043619387, 0.99904823 + + + + 3282 + + + 22.95019, 16.823383, 2.5 + 0.0, 0.0, 0.043619387, 0.99904823 + + + + 3293 + + + 4.0630836, 46.294434, 8.5 + 0.0, 0.0, -0.1305262, 0.9914449 + + + + 3294 + + + 1.6199994 + 6.494879, 46.73604, 8.5 + 0.0, 0.0, 0.21643959, 0.976296 + + + + 3295 + + + 7.1350307, 46.2313, 8.5 + 0.0, 0.0, 0.17364815, 0.9848077 + + + + 3289 + + + 29.865622, -0.26160693, 1.7200007 + 0.0, 0.0, -0.6755901, 0.73727745 + + + + 3290 + + + 5.5853043, 40.42615, 2.5 + 0.0, 0.0, -0.57357645, 0.81915206 + + + + 5485 + + Prop/Haven/Foliage Top/Top 2x2 01 + + + 25.485239, -32.484016, -0.5 + 0.0, 0.0, -0.9238795, 0.38268343 + + + + 3269 + + + 34.113914, 35.686752, 5.5 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 3268 + + + 33.643925, 29.72702, 5.5 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 3271 + + + 33.314697, 39.844635, 5.5 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 3270 + + + 25.889822, 42.34173, 5.5 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 5481 + + + 19.5, -33.5, 1.5 + 0.0, 0.0, 0.7071069, -0.70710665 + + + + 3265 + + + 1.1199999 + 20.063984, 48.223297, 6.199993 + 0.25037995, 0.0, 0.0, 0.96814764 + + + + 5480 + + + 19.5, -32.5, 1.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 3264 + + + 1.3499997 + 22.374517, 44.9215, 5.489977 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 5483 + + + 20.5, -34.5, 1.5 + 0.0, 0.0, 1.0, 1.1924881E-8 + + + + 3267 + + + 22.713093, 51.923576, 8.7400055 + 0.0, 0.0, -0.8870108, 0.4617487 + + + + 5482 + + + 18.5, -32.5, 1.5 + 0.0, 0.0, -0.70710677, -0.70710677 + + + + 3266 + + + 19.76062, 51.3852, 8.7400055 + 0.0, 0.0, -0.96592575, 0.2588193 + + + + 5477 + + + 17.5, -32.5, 1.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 3277 + + + 1.3499997 + 38.63182, 26.908033, 5.489977 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 3276 + + + 1.3499997 + 36.982872, 33.250397, 5.109968 + 0.0, 0.0, 0.4226181, 0.9063079 + + + + 5479 + + + 19.398325, -34.59501, 1.0 + 0.0, 0.0, -0.1305262, 0.9914449 + + + + 3279 + + + 1.2399998 + 20.024847, 34.13346, 3.939966 + 0.0, 0.0, -0.8910065, 0.45399052 + + + + 5478 + + + 19.5, -34.5, 1.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 3278 + + + 1.3499997 + 41.287106, 22.583057, 5.489977 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 5473 + + + 18.601814, -41.840878, -4.0 + 0.0, 0.0, 1.0, 1.1924881E-8 + + + + 3273 + + + 1.3499997 + 26.439154, 46.541405, 5.489977 + 0.0, 0.0, 0.76604426, 0.6427878 + + + + 5472 + + + 21.264204, -40.643753, -4.0 + 0.0, 0.0, -0.9914448, 0.13052636 + + + + 3272 + + + 29.948395, 43.45437, 5.5 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 5475 + + + 18.398579, -37.328426, -3.5099995 + 1.1681361E-8, -0.26723838, 0.96363044, -4.2121624E-8 + + + + 3275 + + + 1.3499997 + 36.001083, 40.06744, 5.149969 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 5474 + + + 1.2199998 + 25.26423, -39.73925, -4.380008 + 0.22481401, -0.007850618, -0.034004766, 0.9737765 + + + + 3274 + + + 1.3499997 + 31.610794, 44.29294, 5.489977 + 0.0, 0.0, 0.73727715, 0.6755904 + + + + 3318 + + Prop/Haven/Tarp/Tarp 3x3 02 + + Color 1 + 1283 + Color 2 + 1537 + + + + 3.5, 36.5, 2.5 + + + + 5471 + + + 22.01041, -43.18148, -3.5 + 0.0, 0.0, 0.6087613, 0.79335344 + + + + 3319 + + Prop/Haven/Tarp/Tarp 2x2 03 + + Color 1 + 1287 + Color 2 + 1545 + + + + 3.5, 33.5, 2.5 + + + + 5468 + + + 18.732836, -52.705433, -1.0 + 0.0, 0.0, 0.887011, 0.46174833 + + + + 5469 + + + 21.994814, -54.299713, -1.0 + 0.0, 0.0, 0.9848078, -0.17364813 + + + + 5466 + + + 19.655342, -50.0741, -1.5 + 0.0, 0.0, 0.99904823, -0.043619607 + + + + 5467 + + + 20.996643, -52.266228, -1.0 + 0.0, 0.0, 0.887011, 0.46174833 + + + + 5464 + + + 15.5, -32.5, 1.5 + 0.0, 0.0, -0.70710677, -0.70710677 + + + + 5465 + + + 0.9100001 + 18.811485, -52.512897, -1.62 + 0.0, 0.0, -0.99904823, 0.043619692 + + + + 5462 + + Prop/Haven/Metal objects/Antennae/Antenna, grid + + Attachment 1 + + Attachment 2 + + Attachment 3 + + Attachment 4 + + Attachment 5 + + Attachment 6 + + Attachment 7 + + Attachment 8 + + Attachment 9 + + + + + 12.47258, -33.577305, 3.0 + 0.0, 0.0, -0.25881904, 0.9659258 + + + + 5463 + + + 14.5, -32.5, 3.5 + 0.0, 0.0, 0.7071069, -0.70710665 + + + + 5460 + + + 13.5, -33.5, 3.5 + 0.0, 0.0, -0.70710677, -0.70710677 + + + + 5461 + + + 13.5, -32.5, 3.5 + 0.0, 0.0, 0.7071069, -0.70710665 + + + + 5458 + + + 12.5, -33.5, 3.5 + 0.0, 0.0, 0.7071069, -0.70710665 + + + + 5459 + + Prop/Haven/Metal objects/Floor pipes/T joint + + + 12.5, -32.5, 3.5 + 0.0, 0.0, -0.70710677, -0.70710677 + + + + 3323 + + Prop/Haven/Tarp/Tarp 2x4 03 + + Color 1 + 1291 + Color 2 + 1548 + + + + -2.5, 37.5, 2.5 + + + + 5456 + + + 12.5, -34.5, 1.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 3320 + + + -1.5, 34.5, 2.5 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 3321 + + Prop/Haven/Tarp/Tarp 2x2 02 + + Color 1 + 1286 + Color 2 + 1543 + + + + 0.5, 36.5, 2.5 + 0.0, 0.0, -1.0, 3.1391647E-7 + + + + 5457 + + + 13.5, -32.5, 3.5 + 0.0, 0.0, 1.0, 1.1924881E-8 + + + + 5455 + + + 13.5, -34.5, 1.5 + 0.0, 0.0, -1.0, -4.371139E-8 + + + + 3302 + + + -1.7388623, 45.077335, 6.5 + 0.0, 0.0, -0.043619387, 0.99904823 + + + + 3301 + + + -3.7317224, 44.9965, 5.5 + 0.0, 0.0, 0.17364818, 0.9848077 + + + + 5452 + + + 1.2699997 + 15.222227, -37.043602, -4.440009 + -0.0464055, -0.26317838, 0.9489907, 0.16733283 + + + + 3300 + + + 6.13716, 45.00337, 5.5 + 0.0, 0.0, 0.17364818, 0.9848077 + + + + 5451 + + + 11.5, -32.5, 1.5 + + + + 3299 + + + -0.97157943, 45.8162, 6.5 + 0.0, 0.0, 0.17364818, 0.9848077 + + + + 3298 + + + 3.8910818, 45.014484, 6.5 + 0.0, 0.0, 0.1305262, 0.9914449 + + + + 5450 + + + 11.5, -34.5, 1.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 3297 + + + 1.6199994 + -1.5300798, 46.971184, 8.5 + 0.0, 0.0, 0.21643959, 0.976296 + + + + 3296 + + + 1.2499998 + 8.454833, 47.053665, 8.5 + 0.0, 0.0, 0.1305262, 0.9914449 + + + + 5445 + + + 11.398902, -37.379597, -3.5 + -0.014079557, 0.04534552, -0.046399217, 0.9977939 + + + + 5444 + + + 10.572146, -38.50557, -3.5 + -0.014772868, 0.03698706, 0.14030243, 0.9893073 + + + + 5443 + + + 11.02938, -39.250214, -3.5 + -0.026329605, -0.019558402, 0.12636279, 0.9914417 + + + + 3306 + + + 9.5, 43.5, 6.5 + 0.0, 0.0, -0.3007058, 0.95371693 + + + + 5441 + + Prop/General/Nature/Foliage/Variants - Haven/Vine, hanging 01 + + Darkness adjust + Default + + + + 10.89517, -39.503746, -4.0 + 0.0, 0.0, -0.087155595, 0.9961947 + + + + 3305 + + + 4.6199036, 45.049976, 6.5 + 0.0, 0.0, -0.3007058, 0.95371693 + + + + 5440 + + + 13.28508, -39.38447, -4.0 + 0.0, 0.0, 0.9961947, -0.087155715 + + + + 3304 + + + -3.202551, 45.2634, 6.5 + 0.0, 0.0, -0.3007058, 0.95371693 + + + + 5432 + + Prop/General/Nature/Foliage/Variants - Haven/Vine, hanging 02 + + Darkness adjust + Default + + + + 11.180917, -43.22663, -4.0 + 0.0, 0.0, 0.04362022, 0.9990482 + + + + 3216 + + + 1.2999997 + -13.459509, 48.900665, 7.1700497 + 0.0, 0.0, -0.53729963, 0.8433914 + + + + 3217 + + + -9.876757, 51.720684, 11.5 + 0.0, 0.0, 0.53729963, -0.8433914 + + + + 5433 + + + 14.2006445, -41.422104, -4.0 + 0.0, 0.0, 0.9961947, -0.087155715 + + + + 5434 + + + 11.864375, -41.305065, -4.0 + 0.0, 0.0, 0.9961947, -0.087155715 + + + + 3218 + + + -14.413883, 52.469124, 11.5 + 0.0, 0.0, 0.53729963, -0.8433914 + + + + 5435 + + + 11.318925, -43.25491, -3.5 + 0.0015544835, -0.021437395, 0.1623033, 0.9865068 + + + + 3219 + + + -4.659521, 48.81124, 11.5 + 0.0, 0.0, 0.53729963, -0.8433914 + + + + 3220 + + + -6.9168367, 50.29331, 11.5 + 0.0, 0.0, 0.53729963, -0.8433914 + + + + 5436 + + + 12.151728, -43.308537, -3.5 + -0.03926692, 0.021433104, -0.09609707, 0.99436617 + + + + 3221 + + + -5.2281847, 52.13607, 11.5 + 0.0, 0.0, 0.53729963, -0.8433914 + + + + 3222 + + + 7.7716107, 51.066185, 11.5 + 0.0, 0.0, 0.53729963, -0.8433914 + + + + 5438 + + + 16.260683, -44.43332, -1.0 + 0.0, 0.0, 0.887011, 0.46174833 + + + + 3223 + + + 11.17387, 52.988777, 11.5 + 0.0, 0.0, 0.53729963, -0.8433914 + + + + 5439 + + + 15.489784, -41.289906, -3.0 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 3224 + + + 13.189848, 51.07883, 11.5 + 0.0, 0.0, 0.53729963, -0.8433914 + + + + 3225 + + + -1.5, 49.5, 8.7400055 + 0.0, 0.0, -0.53729963, 0.8433914 + + + + 5426 + + + 8.576503, -44.61355, -3.5 + -0.013130128, -0.0122679435, -0.09686847, 0.9951349 + + + + 3226 + + + 4.3495483, 49.52294, 8.7400055 + 0.0, 0.0, -0.8870108, 0.4617487 + + + + 3227 + + + 1.3157516, 50.415733, 8.7400055 + 0.0, 0.0, -0.8870108, 0.4617487 + + + + 3228 + + + 1.1499999 + 4.3495483, 51.52294, 9.500023 + 0.0, 0.0, -0.9890158, 0.1478096 + + + + 3229 + + + -2.5979142, 51.533737, 9.850031 + 0.0, 0.0, -0.9890158, 0.1478096 + + + + 3230 + + + 0.9455608, 54.24527, 9.670027 + 0.0, 0.0, -0.97236985, 0.23344564 + + + + 3231 + + + -6.9938416, 49.570824, 9.79003 + 0.0, 0.0, -0.79863536, 0.6018152 + + + + 5431 + + + 11.154051, -43.62253, -4.0 + 0.0, 0.0, -0.087155595, 0.9961947 + + + + 1049 + + Prop/Haven/Tarp/Tarp 2x2 02 + + Color 1 + 1289 + Color 2 + 1537 + + + + -39.5, 2.5, 2.5 + 0.0, 0.0, -1.0, 1.9470718E-7 + + + + 3200 + + + 1.1099999 + -4.109146, 36.44135, 5.759999 + 0.06676471, 0.13610892, 0.5297262, 0.83451 + + + + 1048 + + Prop/Haven/Tarp/Tarp 2x3 01 + + Color 1 + 1284 + Color 2 + 1537 + + + + -37.5, 1.5, 2.58 + 0.0, 0.0, -1.0, 5.5233505E-7 + + + + 1050 + + Prop/Haven/Tarp/Tarp 2x3 01 + + Color 1 + 1281 + Color 2 + 1537 + + + + -41.5, 1.5, 2.5 + 0.0, 0.0, -1.0, 3.1391647E-7 + + + + 3207 + + + 1.2999997 + -11.085834, 46.63234, 5.830019 + 0.0, 0.0, -0.53729963, 0.8433914 + + + + 3206 + + + -11.769032, 42.168285, 4.4599876 + 0.0, 0.0, -0.53729963, 0.8433914 + + + + 3209 + + + -14.305431, 42.8585, 6.3800316 + 0.0, 0.0, -0.809017, 0.5877853 + + + + 3208 + + + 1.1299999 + -10.493376, 43.921154, 5.449999 + 0.1305262, 0.0, 0.0, 0.9914449 + + + + 3211 + + + 1.1299999 + -12.897616, 42.308987, 5.449999 + 0.12691975, -0.030470736, -0.2314482, 0.9640512 + + + + 3210 + + + -13.246942, 38.493423, 3.4599664 + 0.0, 0.0, -1.0, 3.1391647E-7 + + + + 3213 + + + 1.2999997 + -25.527601, 38.414764, 5.830019 + 0.0, 0.0, -0.53729963, 0.8433914 + + + + 3212 + + + 1.2999997 + -16.459076, 45.70757, 5.830019 + 0.0, 0.0, -0.53729963, 0.8433914 + + + + 3215 + + + 1.2999997 + -28.202402, 32.68036, 5.830019 + 0.0, 0.0, -0.21643968, 0.976296 + + + + 3214 + + + 1.2999997 + -22.682028, 43.2877, 5.830019 + 0.0, 0.0, -0.7933533, 0.6087615 + + + + 3250 + + + 31.85129, 20.396168, 5.5 + 0.0, 0.0, 0.70710677, 0.7071068 + + + + 3251 + + + 28.659985, 25.534323, 5.5 + 0.0, 0.0, 0.70710665, 0.7071069 + + + + 3248 + + + 40.058823, 10.680448, 5.5 + 0.0, 0.0, 0.9659258, 0.25881907 + + + + 3249 + + + 36.330147, 16.859306, 5.5 + 0.0, 0.0, 0.70710677, 0.7071068 + + + + 3254 + + + 1.3499997 + 40.508453, 16.906239, 4.2499485 + 0.0, 0.0, 0.70710665, 0.7071069 + + + + 3255 + + + 1.3499997 + 33.330948, 26.961905, 4.2499485 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 3252 + + + 32.352715, 24.210157, 5.5 + 0.0, 0.0, 0.70710677, 0.7071068 + + + + 3253 + + + 1.3499997 + 35.5, 20.5, 5.489977 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 1058 + + Dynamic/Misc/Border/Border (End) + + + -33.5, -1.5, 2.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 3259 + + + 22.109268, 40.424667, 5.5 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 1059 + + Dynamic/Misc/Border/Border (Middle) + + + -33.5, 1.5, 2.5 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 3256 + + + 1.3499997 + 33.10905, 24.687931, 5.489977 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 3257 + + + 20.202179, 42.7006, 5.5 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 1057 + + + -33.5, -0.5, 2.5 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 3262 + + + 14.956575, 45.918854, 6.199993 + 0.0, 0.0, 0.043619383, 0.99904823 + + + + 3263 + + + 1.1199999 + 14.234627, 48.71516, 6.199993 + 0.25037998, 0.0, 0.0, 0.96814764 + + + + 3260 + + + 1.2299998 + 17.73784, 46.508595, 5.5 + 0.024677666, -0.024677675, 0.7066759, 0.7066762 + + + + 1060 + + Dynamic/Misc/Border/Border (Label) + + Label + m.border_bazaar + Off Center + False + + + + -33.5, 0.5, 2.5 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 3261 + + + 14.394135, 47.323524, 5.3899975 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 1061 + + Dynamic/Misc/Border/Border (Start) + + + -33.5, 2.5, 2.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 3234 + + + 0.9399998 + 6.159992, 42.90993, 5.0 + 0.0, 0.0, 1.7484554E-7, 1.0 + + + + 3232 + + + 10.318288, 51.7207, 9.600025 + 0.0, 0.0, -0.8433914, 0.5372997 + + + + 3239 + + + 45.48656, 8.748053, 2.5 + 0.0, 0.0, 0.92387956, -0.3826834 + + + + 3238 + + Prop/Haven/Metal objects/Antennae/Antenna, grid + + Attachment 1 + + Attachment 2 + + character/npc/snipe/parts/model_lowres.dat + + Color 1 + 1291 + + + Attachment 3 + + Attachment 4 + + character/npc/snipe/parts/model_lowres.dat + + Color 1 + 1285 + + + Attachment 5 + + Attachment 6 + + Attachment 7 + + Attachment 8 + + Attachment 9 + + + + + 8.393575, 42.55191, 9.0 + 0.0, 0.0, -0.26723838, 0.96363044 + + + + 3237 + + + 8.9210205, 44.13104, 9.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3236 + + + -7.010724, 43.100204, 9.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3243 + + + 45.367737, 11.300521, 3.5 + 0.0, 0.0, 0.99904823, -0.043619305 + + + + 3241 + + + 42.5, 12.5, 4.5 + 0.0, 0.0, 0.92387956, -0.3826834 + + + + 3240 + + + 43.59129, 11.857032, 2.5 + 0.0, 0.0, 0.92387956, -0.3826834 + + + + 3246 + + + 39.003395, 12.524616, 6.0 + 0.0, 0.0, 0.9659258, 0.25881907 + + + + 3245 + + + 37.888474, 10.14751, 5.0 + 0.0, 0.0, 0.99904823, -0.043619305 + + + + 3244 + + + 35.86209, 11.546186, 5.0 + 0.0, 0.0, 0.99904823, -0.043619305 + + + + 1221 + + Character/Snipe/Snipe, Fly + + Color 1 + 1294 + Scale + 1.0 + + + + -4.5, 26.5, 2.5 + + + + 1220 + + + 1.5, 29.5, 2.5 + + + + 5623 + + Prop/Haven/Tarp/Tarp 3x5 01 + + Color 1 + 1292 + Color 2 + 1548 + + + + -27.5, -24.5, -3.5 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 5622 + + + -26.5, -28.5, -1.5 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 1217 + + + -23.5, -9.5, -0.5 + + + + 1216 + + + -27.5, -6.5, -0.5 + + + + 3163 + + Prop/Haven/Arcade/Entranceway, north wall + + + 1.0, 44.0, 2.5 + + + + 1219 + + + -7.5, 14.5, -0.5 + + + + 1218 + + Character/Snipe/Snipe, Fly + + Color 1 + 1293 + Scale + 1.0 + + + + -22.5, -5.5, -0.5 + + + + 5629 + + + -25.162231, -27.235115, -1.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 3156 + + + 7.6449256, 34.4197, 7.0 + 0.0, 0.0, -0.25881904, 0.9659258 + + + + 5628 + + + -27.535126, -27.279663, -1.56 + + + + 1231 + + + 5.654642, 34.236458, 5.0 + + + + 5631 + + + -29.792246, -23.22307, -3.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 1230 + + Character/Snipe/Snipe, Walk + + Color 1 + 1286 + Scale + 1.0 + + + + -3.654301, 34.30232, 5.0 + + + + 5625 + + + -27.5, -29.5, -1.67 + + + + 5624 + + + -29.7725, -25.77784, -3.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 3155 + + + 9.5953045, 34.447655, 7.0 + + + + 5627 + + + -25.164139, -28.455406, -1.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 5626 + + + -25.179901, -29.738052, -1.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 3149 + + + -7.7775235, 56.26594, 9.0 + + + + 5605 + + + 1.5199995 + -28.68368, -40.40184, -6.100047 + 5.7054814E-9, 0.1305262, -0.9914449, -4.3337433E-8 + + + + 3150 + + + -10.4996605, 56.34633, 7.6 + + + + 5606 + + + -26.418634, -42.683228, -3.5 + 0.0, 0.0, -0.5735761, 0.8191523 + + + + 5607 + + + -29.300438, -44.496853, -3.5 + 0.0, 0.0, -0.5735761, 0.8191523 + + + + 1232 + + + -5.5, 15.5, -0.5 + + + + 1233 + + + 7.5, 15.5, -0.5 + + + + 1234 + + + -12.5, 15.5, -0.5 + + + + 1235 + + + 7.5, 18.5, 2.5 + + + + 1244 + + Prop/Haven/Ground pipes, brass/Elbow 45, right + + Color variant + Haven Brass (default) + + + + -5.5, 24.5, 2.5 + + + + 5612 + + + -18.23125, -38.800377, -3.5 + 0.15428907, 0.025819156, 0.16301572, 0.9741428 + + + + 1245 + + Prop/Haven/Ground pipes, brass/Straight 1unit + + + -5.5, 23.5, 2.5 + + + + 5613 + + + -21.89103, -38.740574, -3.5 + 0.13915192, 0.0024289237, 0.017282689, 0.99011725 + + + + 1246 + + Prop/Haven/Ground pipes, brass/Diagonal 4unit + + + -4.5, 25.5, 2.5 + + + + 5614 + + + 0.9000001 + -20.31844, -40.77041, -2.1600013 + 0.13917309, 1.8445179E-9, -2.5923005E-10, 0.99026805 + + + + 1247 + + + -1.5, 28.5, 2.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 5615 + + + -17.778631, -40.59192, -3.1400003 + 0.0, 0.0, -0.17364818, 0.9848077 + + + + 5608 + + + -28.5397, -42.86397, -3.0 + 0.0, 0.0, -0.819152, 0.5735765 + + + + 5609 + + + 0.94 + -26.46479, -31.541008, -1.0 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 5610 + + + -19.058737, -43.30287, -1.0 + 0.0, 0.0, -0.3420198, 0.93969274 + + + + 1243 + + + -5.5, 18.5, 2.5 + + + + 5611 + + + -19.629845, -44.80069, -2.0 + 0.0, 0.0, -0.67559004, 0.7372775 + + + + 3199 + + + 0.8200002 + 9.45014, 42.07079, 7.81 + 0.0, 0.0, -0.309017, 0.95105654 + + + + 1255 + + + -12.5, 23.5, 2.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 5591 + + + -35.830578, -31.810333, 0.5 + 0.0, 0.0, -8.742278E-8, 1.0 + + + + 3198 + + + 7.45014, 34.07079, 5.81 + + + + 5590 + + + -35.818527, -30.239456, 0.5 + 0.0, 0.0, -8.742278E-8, 1.0 + + + + 3197 + + + 6.8108788, 39.441036, 4.5 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 3196 + + + 9.811134, 40.792645, 4.5 + 0.0, 0.0, -0.8870108, 0.4617487 + + + + 1252 + + + -12.5, 22.5, 2.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 5588 + + + -40.64857, -22.797058, -3.5 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + 3195 + + + 7.2298355, 40.768314, 4.5 + 0.0, 0.0, 0.7372773, 0.6755902 + + + + 5587 + + Prop/Haven/Tarp/Tarp 3x3 02 + + Color 1 + 1287 + Color 2 + 1539 + + + + -39.5, -21.5, -3.5 + + + + 3194 + + + 9.979802, 38.739716, 4.5 + 0.0, 0.0, 0.21643959, 0.976296 + + + + 5586 + + + -34.5, -31.5, 0.5 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 3193 + + Prop/Haven/Tarp/Tarp 3x3 02 + + Color 1 + 1282 + Color 2 + 1548 + + + + 8.5, 39.5, 4.5 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 5585 + + + 1.5199995 + -34.31148, -40.532814, -6.100047 + -2.5414389E-8, -0.1305262, 0.9914449, 1.9304144E-7 + + + + 3192 + + + -8.152311, 37.19182, 4.5 + 0.0, 0.0, 0.9961947, 0.087155566 + + + + 1248 + + + -1.5, 33.5, 2.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 5584 + + + 1.5199995 + -33.053627, -42.455086, -6.100047 + -1.9912514E-7, -0.31730452, 0.94832367, 6.41512E-7 + + + + 3191 + + + -10.812781, 37.009907, 4.5 + 0.0, 0.0, 0.7071069, 0.7071067 + + + + 1263 + + Prop/Haven/Ground pipes, brass/Bracket + + + -9.5, 32.5, 2.5 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 3190 + + + -9.5, 38.5, 4.5 + + + + 1262 + + + -9.5, 32.5, 2.5 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 1260 + + + -9.5, 27.5, 2.5 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 5596 + + + -38.19504, -20.342577, -3.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 1259 + + + -9.5, 26.5, 2.5 + -0.0, -0.0, -1.0, 1.1924881E-8 + + + + 5595 + + + -38.590977, -22.807678, -3.5 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + 1258 + + Prop/Haven/Ground pipes, brass/Diagonal 1unit + + + -10.5, 25.5, 2.5 + -0.0, -0.0, -8.742278E-8, -1.0 + + + + 5594 + + + -38.177223, -22.352665, -3.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 1257 + + + -10.5, 25.5, 2.5 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + 5593 + + + -34.15311, -31.756351, 0.5 + 0.0, 0.0, -8.742278E-8, 1.0 + + + + 3184 + + + 5.1204357, 40.599457, 2.5 + 0.025320517, -0.104714744, 0.19506809, -0.97485495 + + + + 1256 + + Prop/Haven/Ground pipes, brass/Elbow 90 + + + -12.5, 25.5, 2.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 5592 + + + -34.134945, -30.237015, 0.5 + 0.0, 0.0, -8.742278E-8, 1.0 + + + + 3182 + + + 4.586527, 38.154694, 2.5 + 0.0, 0.0, -0.4617486, -0.8870108 + + + + 5574 + + + 1.6599994 + -39.41552, -62.071663, -5.750039 + 0.0, 0.0, -0.819152, 0.57357657 + + + + 3183 + + + 5.342019, 39.143658, 2.5 + -0.056286912, 0.03598854, 0.23660165, 0.96930707 + + + + 1271 + + + 14.5, 15.5, -0.5 + + + + 5575 + + + 1.6599994 + -44.52006, -54.481968, -6.23005 + 0.0, 0.0, -0.819152, 0.57357657 + + + + 3180 + + + 4.052248, 40.94213, 2.5 + 0.024052829, 0.1038015, -0.018554032, -0.9941341 + + + + 1268 + + + 4.5, 32.5, 2.5 + -0.0, -0.0, -1.0, 7.54979E-8 + + + + 5572 + + + 1.6599994 + -44.470764, -61.23326, -6.23005 + 0.0, 0.0, -0.9914448, 0.13052648 + + + + 3181 + + + 5.5740986, 40.251873, 2.5 + 0.0, 0.0, -0.13052602, -0.9914449 + + + + 5573 + + + 1.6599994 + -49.224743, -60.487442, -5.870042 + 0.0, 0.0, -0.819152, 0.57357657 + + + + 1266 + + + 6.5, 25.5, 2.5 + -0.0, -0.0, -0.7071069, -0.70710665 + + + + 5570 + + + 24.220892, -24.884272, -1.5 + + + + 3179 + + + 4.6781855, 40.866257, 2.5 + 0.033022404, 0.020887706, 0.10620874, -0.9935759 + + + + 1267 + + + 4.5, 27.5, 2.5 + -0.0, -0.0, -1.0, 1.1924881E-8 + + + + 1264 + + + 7.5, 23.5, 2.5 + + + + 1265 + + + 7.5, 24.5, 2.5 + -0.0, -0.0, -8.742278E-8, -1.0 + + + + 5569 + + Prop/Haven/Foliage Top/Top 1x1 01 + + + 25.032663, -30.065023, -0.5 + 0.0, 0.0, -0.9238795, 0.38268343 + + + + 5582 + + + 1.5199995 + -38.636307, -38.642937, -6.100047 + -9.9607156E-8, -0.31730464, 0.94832367, 2.976944E-7 + + + + 5583 + + + 1.5199995 + -43.73685, -38.865295, -6.100047 + -0.05509951, -0.31248397, 0.93391645, 0.16467516 + + + + 5580 + + + 1.6599994 + -33.5397, -46.86397, -6.23005 + 0.0, 0.0, -0.819152, 0.57357657 + + + + 5581 + + + 1.6599994 + -35.471878, -51.52156, -6.23005 + 0.0, 0.0, -0.819152, 0.57357657 + + + + 5578 + + + 1.6599994 + -39.86455, -44.975273, -6.000045 + 0.0, 0.0, -0.819152, 0.57357657 + + + + 5579 + + + 1.6599994 + -41.825672, -48.95151, -6.23005 + 0.0, 0.0, -0.819152, 0.57357657 + + + + 1272 + + + 14.5, 18.5, 2.5 + + + + 5576 + + + 1.6599994 + -37.5146, -56.269432, -6.23005 + 0.0, 0.0, -0.819152, 0.57357657 + + + + 1273 + + + 14.5, 23.5, 2.5 + 0.0, 0.0, 8.742278E-8, 1.0 + + + + 5577 + + + 1.6599994 + -39.86455, -52.975273, -6.000045 + 0.0, 0.0, -0.819152, 0.57357657 + + + + 1154 + + + 5.8844304, 34.23169, 4.5 + 0.0, 0.0, 1.0, 1.9470718E-7 + + + + 1157 + + + 6.7168217, 34.78028, 7.0 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 1158 + + + 8.5, 35.5, 7.0 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 1160 + + + -5.5, 37.5, 7.0 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 1165 + + + 8.160039, 30.179424, 2.5 + + + + 1164 + + Prop/Haven/Tarp/Tarp 3x3 02 + + Color 1 + 1287 + Color 2 + 1541 + + + + 9.5, 31.5, 2.5 + 0.0, 0.0, -1.0, 1.9470718E-7 + + + + 1167 + + + 10.883604, 30.204494, 2.5 + + + + 1170 + + + -12.5, 27.5, 2.5 + + + + 1171 + + + -11.1975765, 26.208645, 2.5 + + + + 1172 + + + -12.805574, 26.228853, 2.5 + + + + 5540 + + + 17.5, -31.5, 1.5 + 0.0, 0.0, 1.0, 1.1924881E-8 + + + + 1173 + + + 6.768921, 32.13166, 2.5 + + + + 5541 + + + 16.5, -31.5, 1.5 + 0.0, 0.0, -0.70710677, -0.70710677 + + + + 5542 + + + 16.5, -30.5, 1.5 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 1175 + + + 7.1341925, 32.22191, 4.0 + + + + 5543 + + + 16.5, -30.5, 1.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 1176 + + Prop/Haven/Metal objects/Antennae/Antenna, T + + Attachment 1 + + character/npc/snipe/parts/model_lowres.dat + + Color 1 + 1284 + + + Attachment 2 + + Attachment 3 + + Attachment 4 + + character/npc/snipe/parts/model_lowres.dat + + Color 1 + 1289 + + + Attachment 5 + + Attachment 6 + + + + + 0.8 + 6.506357, 31.972488, 4.0 + 0.0, 0.0, -0.1305262, 0.9914449 + + + + 5544 + + + 16.5, -29.5, 1.5 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 1177 + + + -4.9055076, 35.040985, 7.0 + + + + 5545 + + + 18.5, -31.5, 1.5 + 0.0, 0.0, 0.7071069, -0.70710665 + + + + 1178 + + Prop/Haven/Metal objects/Antennae/Antenna, grid + + Attachment 1 + + Attachment 2 + + Attachment 3 + + Attachment 4 + + character/npc/snipe/parts/model_lowres.dat + + Color 1 + 1295 + + + Attachment 5 + + character/npc/snipe/parts/model_lowres.dat + + Color 1 + 1293 + + + Attachment 6 + + Attachment 7 + + Attachment 8 + + character/npc/snipe/parts/model_lowres.dat + + Color 1 + 1291 + + + Attachment 9 + + + + + -7.007717, 37.971207, 7.0 + + + + 5546 + + + 19.5, -31.5, 1.5 + 0.0, 0.0, 1.0, 1.1924881E-8 + + + + 5547 + + + 1.3099997 + 18.726347, -26.385647, 5.490033 + + + + 1187 + + + -3.1365232, 31.107506, 2.5 + + + + 5523 + + + 12.5, -29.5, 1.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 5522 + + + 12.5, -31.5, 1.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 5521 + + + 12.5, -30.5, 1.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 5520 + + + 13.5, -30.5, 1.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 1191 + + + -6.7912407, 31.21922, 2.5 + + + + 5527 + + + 15.5, -31.5, 1.5 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 1190 + + Prop/Haven/Tarp/Tarp 2x2 02 + + Color 1 + 1281 + Color 2 + 1537 + + + + -5.5, 32.5, 2.5 + 0.0, 0.0, -1.0, 6.7154434E-7 + + + + 5526 + + + 12.219191, -29.222836, 1.0 + 0.0, 0.0, 0.7071069, 0.70710665 + + + + 1189 + + Prop/Haven/Tarp/Tarp 2x2 02 + + Color 1 + 1291 + Color 2 + 1547 + + + + -3.5, 32.5, 2.5 + 0.0, 0.0, -1.0, 1.9470718E-7 + + + + 5525 + + + 1.333 + 13.5, -27.5, 3.5 + + + + 5524 + + + 13.5, -29.5, 1.5 + 0.0, 0.0, -1.0, -4.371139E-8 + + + + 1195 + + + 12.116379, 27.12511, 2.5 + + + + 5531 + + + 14.786573, -29.169664, 1.0 + 0.0, 0.0, 0.7071069, 0.70710665 + + + + 1194 + + Prop/Haven/Tarp/Tarp 2x4 03 + + Color 1 + 1281 + Color 2 + 1538 + + + + 12.5, 28.5, 2.5 + + + + 5530 + + Prop/Haven/Tarp/Tarp 2x2 01 + + Color 1 + 1285 + Color 2 + 1539 + + + + 16.5, -26.5, 1.0 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 1193 + + + -5.0237484, 32.592045, 2.5 + + + + 5529 + + Prop/Haven/Tarp/Shadow Verticle/Shadow 2x2 + + + 15.5, -28.5, 1.0 + 0.0, 0.0, -1.7484555E-7, 1.0 + + + + 1192 + + + -4.98785, 31.240032, 2.5 + + + + 5528 + + + 14.5, -30.5, 1.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 1206 + + + -3.0583332, 32.955685, 5.3199997 + 0.0, 0.0, 0.34202003, 0.9396927 + + + + 5508 + + + 13.5, -29.5, 1.0 + 0.0, 0.0, -1.7484555E-7, 1.0 + + + + 5509 + + Prop/Haven/Tarp/Tarp 2x3 02 + + Color 1 + 1281 + Color 2 + 1547 + + + + 13.5, -30.5, 1.0 + 0.0, 0.0, 0.70710653, 0.707107 + + + + 5514 + + + 11.5, -30.5, 1.5 + + + + 1210 + + Character/Snipe/Snipe, Fly + + Color 1 + 1287 + Scale + 1.0 + + + + -11.5, -2.5, -0.5 + + + + 5515 + + + 11.5, -28.5, 1.5 + + + + 1211 + + + 14.5, 0.5, -0.5 + + + + 5513 + + + 11.5, -31.5, 1.5 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 1209 + + + -10.5, -5.5, -0.5 + + + + 5518 + + + 13.5, -31.5, 3.5 + 0.0, 0.0, -0.70710677, -0.70710677 + + + + 5519 + + + 12.5, -31.5, 3.5 + 0.0, 0.0, 0.7071069, -0.70710665 + + + + 5516 + + + 11.295303, -28.471334, 0.11 + 0.11187517, -0.08278326, -0.589034, 0.79603386 + + + + 1212 + + Character/Snipe/Snipe, Fly + + Color 1 + 1289 + Scale + 1.0 + + + + 9.5, 13.5, -0.5 + + + + 5517 + + + 11.5, -27.5, 1.5 + 0.0, 0.0, -1.0, -4.371139E-8 + + + + 1213 + + + 23.5, -10.5, -0.5 + -0.0, -0.0, -0.70710677, 0.70710677 + + + + 3526 + + + -13.5, 29.5, 5.0 + 0.0, 0.0, 0.70710695, 0.7071066 + + + + 1374 + + + 18.5, -9.5, -0.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 3522 + + + 0.5, 43.5, 2.5 + 0.0, 0.0, -0.7071069, 0.7071067 + + + + 1370 + + + 21.5, -9.5, -0.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 1369 + + + 26.5, -9.5, -0.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 1366 + + + -14.5, -2.5, -0.5 + -0.0, -0.0, -1.3272152E-6, -1.0 + + + + 1365 + + + -14.5, 0.5, -0.5 + -0.0, -0.0, -1.3272152E-6, -1.0 + + + + 1364 + + + -13.5, 1.5, -0.5 + 0.0, 0.0, 1.0, -6.874574E-7 + + + + 1363 + + + -12.5, 2.5, -0.5 + 0.0, 0.0, -1.0, 7.9075363E-7 + + + + 1362 + + Prop/Haven/Ground pipes, brass/Straight 2 unit + + Color variant + Haven Brass (default) + + + + -8.5, 11.5, -0.5 + -0.0, -0.0, -0.70710695, 0.7071066 + + + + 1361 + + + -12.5, 7.5, -0.5 + -0.0, -0.0, -1.0, 1.3152903E-6 + + + + 1360 + + + -12.5, 8.5, -0.5 + -0.0, -0.0, -6.755325E-7, -1.0 + + + + 1358 + + + -9.5, 11.5, -0.5 + 0.0, 0.0, 0.70710725, 0.7071063 + + + + 3543 + + + -38.456284, -3.4252481, 2.5 + -0.014321991, 0.041577384, 0.038325448, 0.99829715 + + + + 1359 + + + -10.5, 10.5, -0.5 + 0.0, 0.0, -1.0, 1.9470718E-7 + + + + 3540 + + Portals/Portal + + Minimap Icon + + ui/minimap/portal_north.png + + Portal + + from_town_square_north + + Scene ID + 3 + Tag + to_arcade_central + + + + + -3.5 + 48.5 + 2.5 + + + -4.5 + 46.5 + 2.5 + + + 4.5 + 46.5 + 2.5 + + + 3.5 + 48.5 + 2.5 + + + + + 1356 + + + -5.5, 11.5, -0.5 + 0.0, 0.0, 3.4969108E-7, 1.0 + + + + 1357 + + + -5.5, 13.5, -0.5 + 0.0, 0.0, 3.496911E-7, 1.0 + + + + 1354 + + + -38.5, 1.5, 2.5 + -0.0, -0.0, -0.70710677, 0.7071068 + + + + 1355 + + + -43.5, 1.5, 2.5 + -0.0, -0.0, -0.70710677, 0.7071068 + + + + 3550 + + + -33.70846, -4.5438886, 2.5 + -0.056494966, 0.014473194, -0.07467854, 0.99550074 + + + + 3551 + + + -43.13064, -3.5025606, 2.5 + -0.014025345, -0.08147067, 0.22442973, 0.97097737 + + + + 3548 + + + -39.024456, -4.105507, 2.5 + -0.060321648, 0.03441101, -0.0122588, 0.99751025 + + + + 1348 + + + -13.5, 13.5, -0.5 + 0.0, 0.0, -1.0, 4.3312576E-7 + + + + 3549 + + + -37.802822, -4.3425837, 2.5 + -0.013203813, 0.09726239, -0.0757751, 0.9922821 + + + + 1349 + + + -23.5, 5.5, 2.5 + 0.0, 0.0, -0.70710623, 0.70710737 + + + + 3546 + + + -34.436485, -3.776957, 2.5 + -0.01642449, 0.053155158, -0.05835962, 0.99674416 + + + + 3547 + + + -39.418114, -3.3163218, 2.5 + -0.014713164, -4.2089785E-5, -0.018366655, 0.9997231 + + + + 3544 + + + -35.793373, -3.3593307, 2.5 + -0.0509986, 0.026400423, -0.006298244, 0.99832976 + + + + 3545 + + + -33.911095, -3.4130635, 2.5 + -0.048571594, 0.04392747, -0.015738925, 0.9977291 + + + + 1345 + + + -14.5, 12.5, -0.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3557 + + + 1.1399999 + 35.269703, -15.100037, 1.2599989 + 0.30671364, -0.11590466, 0.037659653, 0.9439675 + + + + 5196 + + + -8.684519, -44.594597, -3.5 + -0.06318415, 0.07505628, 0.06754253, 0.9928808 + + + + 3559 + + + 45.59139, 1.2986245, 3.0499995 + 0.19936793, -9.509754E-9, -4.6741935E-8, 0.9799247 + + + + 3558 + + + 1.3099997 + 35.749622, -12.2800865, -0.47999775 + 0.13040197, -0.043246225, 0.0056934254, 0.9905013 + + + + 3552 + + + -44.319355, -3.432877, 2.5 + 0.0034064776, -0.038847473, 0.13347058, 0.9902852 + + + + 5192 + + + -14.690317, -40.2949, -3.5 + 0.051086303, 0.051439222, -0.114968136, -0.99072015 + + + + 3555 + + + 1.1399999 + 36.399998, -12.860001, 2.5 + 0.12955327, -0.12082675, 0.015907096, 0.9840548 + + + + 3554 + + + -42.187237, -3.353785, 2.5 + -0.04091535, 0.019838886, 0.038862344, 0.99820954 + + + + 3565 + + + 1.1899998 + 49.083454, 8.856183, 3.0299995 + 0.0, 0.0, -4.7699515E-8, 1.0 + + + + 3564 + + + 1.1899998 + 48.831036, 5.2355094, 2.47 + 0.21591239, -0.068102956, 0.015098016, 0.97391784 + + + + 3567 + + + 1.1899998 + 48.831036, 6.2355094, 0.24000214 + 0.21591239, -0.068102956, 0.015098016, 0.97391784 + + + + 5191 + + + -14.000243, -40.988697, -3.5 + -0.022794953, 0.09757778, -0.27481836, -0.9562604 + + + + 3566 + + + 1.1899998 + 47.26803, -1.6646471, 3.0299995 + 0.1305262, -6.2260366E-9, -4.729144E-8, 0.9914449 + + + + 5190 + + + -15.246759, -41.19885, -3.5 + 0.0, 0.0, 0.7933536, 0.6087611 + + + + 3561 + + + 1.1899998 + 40.5, -9.5, 3.0299995 + 0.0, 0.0, -4.7699515E-8, 1.0 + + + + 1393 + + + 13.5, 2.5, -0.5 + -0.0, -0.0, -8.742278E-8, -1.0 + + + + 3560 + + + 1.1899998 + 42.5, -4.5, 3.0299995 + 0.14771935, 0.034516145, -0.005158519, 0.9884134 + + + + 3562 + + + 1.0999999 + 39.5, -14.019966, 2.57 + 0.190809, -9.1014964E-9, -4.682314E-8, 0.98162717 + + + + 5186 + + + -15.079405, -45.52028, -3.5 + 0.0, 0.0, 0.7933537, 0.60876095 + + + + 3573 + + Dynamic/Portal/Destination + + Default Entrance + false + Tag + from_arcade_central + + + + 1.019044, 32.01587, 2.5 + 0.0, 0.0, 5.960462E-8, 1.0 + + + + 5214 + + + -5.3921876, -45.343792, -3.5 + -0.05433561, 0.01083909, 0.01222397, 0.998389 + + + + 3575 + + + 0.5, 43.5, 2.5 + 0.0, 0.0, -1.0, 4.3312576E-7 + + + + 1391 + + + 7.5, 12.5, -0.5 + -0.0, -0.0, -8.742278E-8, -1.0 + + + + 5208 + + + -8.45916, -37.621616, -3.5 + 0.048843168, 0.022015678, -0.053301673, -0.99714017 + + + + 3568 + + + 1.1899998 + 49.083454, 6.856183, 2.2600002 + 0.0, 0.0, -4.7699515E-8, 1.0 + + + + 1384 + + + 13.5, 4.5, -0.5 + + + + 5210 + + + 1.3099997 + -11.507, -33.375, 4.390008 + + + + 3580 + + + 2.5, 43.5, 2.5 + 0.0, 0.0, -1.0, 3.1391647E-7 + + + + 1380 + + + 13.5, -8.5, -0.5 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + 1382 + + + 13.5, -7.5, -0.5 + + + + 1383 + + + 13.5, -2.5, -0.5 + + + + 3576 + + Dynamic/Misc/Border/Border (Label) + + Label + m.border_arcade + Off Center + True + + + + 1.5, 43.5, 2.5 + 0.0, 0.0, -1.0, 9.099629E-7 + + + + 5200 + + + -13.631055, -37.932564, -3.5 + 0.06158553, -0.0054465896, -0.23074915, -0.971047 + + + + 3577 + + + 3.5, 43.5, 2.5 + 0.0, 0.0, -1.0, 6.7154434E-7 + + + + 3578 + + + -1.5, 43.5, 2.5 + 0.0, 0.0, -1.0, 4.3312576E-7 + + + + 3579 + + + -0.5, 43.5, 2.5 + 0.0, 0.0, -1.0, 4.3312576E-7 + + + + 3458 + + + -1.1273699, 34.20961, 2.5 + + + + 3457 + + + 3.160039, 33.179424, 2.5 + + + + 3456 + + + -2.8322585, 39.742176, 2.5 + 0.0, 0.0, 6.755325E-7, -1.0 + + + + 1304 + + + 17.5, -8.5, -0.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 1298 + + + 16.5, 3.5, -0.5 + + + + 1297 + + + 16.5, 3.5, -0.5 + -0.0, -0.0, -8.742278E-8, -1.0 + + + + 1296 + + + 17.5, 4.5, -0.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 3471 + + + 5.5, 39.5, 2.5 + 0.0, 0.0, 6.755325E-7, -1.0 + + + + 3470 + + + 5.5, 40.5, 2.5 + 0.0, 0.0, 6.755325E-7, -1.0 + + + + 3469 + + + -3.5, 40.5, 2.5 + 0.0, 0.0, 6.755325E-7, -1.0 + + + + 1290 + + + 14.5, 13.5, -0.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 3474 + + + -2.5, 45.5, 2.5 + 0.0, 0.0, 6.755325E-7, -1.0 + + + + 1291 + + + 14.5, 14.5, -0.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 3475 + + + -2.5, 44.5, 2.5 + 0.0, 0.0, 6.755325E-7, -1.0 + + + + 3472 + + + 4.5, 43.5, 2.5 + 0.0, 0.0, 6.755325E-7, -1.0 + + + + 3473 + + + 4.5, 44.5, 2.5 + 0.0, 0.0, 6.755325E-7, -1.0 + + + + 1294 + + + 17.5, 5.5, -0.5 + -0.0, -0.0, -8.742278E-8, -1.0 + + + + 3476 + + + -2.5, 43.5, 2.5 + 0.0, 0.0, 6.755325E-7, -1.0 + + + + 1293 + + + 17.5, 10.5, -0.5 + -0.0, -0.0, -8.742278E-8, -1.0 + + + + 1282 + + + 11.5, 27.5, 2.5 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3483 + + + 11.5, 37.5, 4.5 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 1283 + + + 11.5, 32.5, 2.5 + -0.0, -0.0, -8.742278E-8, -1.0 + + + + 1281 + + + 11.5, 26.5, 2.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 3486 + + Prop/Haven/Tarp/Tarp 3x3 02 + + Color 1 + 1294 + Color 2 + 1550 + + + + 0.6 + 10.841801, 39.888577, 5.599991 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3487 + + + 0.6 + 12.646257, 39.889973, 5.599991 + 0.0, 0.0, -1.0, 1.9470718E-7 + + + + 1284 + + + 13.5, 24.5, 2.5 + -0.0, -0.0, -0.7071069, -0.70710665 + + + + 1285 + + + 11.5, 34.5, 2.5 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 3489 + + + 4.499997, 34.500004, 2.5 + 0.0, 0.0, -0.7071068, 0.7071067 + + + + 3488 + + + -2.4999952, 35.500004, 2.5 + 0.0, 0.0, 0.70710665, 0.7071069 + + + + 5131 + + + 1.5399995 + -16.43581, -48.018425, -3.5 + 0.0, 0.0, -0.76604426, 0.6427878 + + + + 3490 + + + -2.4999952, 42.500004, 2.5 + 0.0, 0.0, 0.70710665, 0.7071069 + + + + 5130 + + + -16.033697, -48.73738, -3.5 + 0.0, 0.0, 0.79335374, 0.6087609 + + + + 3493 + + + -12.753936, 21.523119, 2.5 + 0.0, 0.0, 0.25881827, -0.96592605 + + + + 1341 + + + -16.5, 5.5, -0.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 3495 + + + -12.57962, 19.215485, 2.5 + 0.007838782, 0.026349537, -0.42420027, -0.905151 + + + + 3494 + + + -12.703739, 18.013233, 2.5 + 0.0, 0.0, -0.25881824, 0.96592605 + + + + 3497 + + + -10.1553135, 32.423912, 2.5 + -0.008466837, 0.014827044, 0.18329225, 0.9829102 + + + + 1329 + + + -13.5, -7.5, -0.5 + -0.0, -0.0, -0.7071075, -0.70710605 + + + + 3496 + + + -10.580891, 30.840023, 2.5 + 0.08588397, -0.071258046, -0.48795846, -0.8657036 + + + + 1328 + + + -13.5, -7.5, -0.5 + -0.0, -0.0, -6.755325E-7, -1.0 + + + + 3498 + + + -0.28486258, 24.99795, 2.5 + 0.006439279, 0.030897664, -0.069408685, -0.9970889 + + + + 3501 + + + -2.5231557, 25.224205, 2.5 + 0.056011, -0.051811446, 0.117090955, -0.9901859 + + + + 3500 + + + 3.0438666, 25.224205, 2.5 + 0.037972383, 0.0010570225, 0.04721897, -0.9981621 + + + + 3503 + + + 13.657631, 26.359434, 2.5 + 0.0, 0.0, -0.4617494, -0.8870104 + + + + 3502 + + + 0.6157856, 26.501472, 2.5 + 0.0, 0.0, 0.08715497, -0.9961948 + + + + 5144 + + + -15.670367, -38.737106, -3.5 + 0.0, 0.0, -0.34201977, 0.93969274 + + + + 3505 + + + -10.583742, 32.507065, 2.5 + 0.0, 0.0, 0.25881973, 0.96592563 + + + + 3506 + + + 11.300484, 34.548145, 2.5 + 0.0, 0.0, 0.17364787, -0.9848078 + + + + 3508 + + + -16.985132, 16.723726, 2.5 + 0.0, 0.0, -0.043619893, -0.9990482 + + + + 3509 + + + 0.85000014 + -11.459999, 32.14006, 5.0 + -0.054210953, -0.043899182, 0.6277876, 0.7752528 + + + + 3510 + + + -11.646448, 33.539707, 5.0 + 0.0, 0.0, 0.5372997, 0.8433914 + + + + 1326 + + + -14.5, -5.5, -0.5 + -0.0, -0.0, -2.3849761E-8, -1.0 + + + + 3511 + + + -11.833603, 36.246887, 4.2299824 + -0.12109779, 0.0020444207, 0.34413812, 0.93107474 + + + + 5151 + + + -17.275745, -37.370483, -3.02 + 0.22495104, 0.0, 0.0, 0.97437006 + + + + 1327 + + + -14.5, -6.5, -0.5 + -0.0, -0.0, -1.0, 6.636076E-7 + + + + 3512 + + + 0.89000005 + 15.652431, 31.772348, 4.909998 + 0.0, 0.0, -4.769952E-8, 1.0 + + + + 3513 + + + 0.8800001 + 17.699995, 31.997875, 5.0 + -0.17298742, 0.015134194, -0.08583028, 0.9810604 + + + + 1314 + + + -12.5, 14.5, -0.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 5142 + + + -15.929923, -46.52109, -3.5 + 0.0, 0.0, 0.7933534, -0.60876137 + + + + 1494 + + + -37.219578, 0.19004345, 2.5 + + + + 3407 + + Prop/Haven/Tarp/Tarp 2x4 02 + + Color 1 + 1288 + Color 2 + 1542 + + + + 5.5, 39.5, 4.5 + 0.0, 0.0, -4.769952E-8, 1.0 + + + + 1495 + + + -38.81001, 0.25602674, 2.5 + + + + 3404 + + + 0.94000006 + 1.402472, 45.48, 7.2799964 + 0.0, 0.0, -0.034899496, 0.99939084 + + + + 1492 + + + 19.013584, 28.439358, 5.5 + 0.0, 0.0, -0.1305262, 0.9914449 + + + + 3405 + + Prop/Haven/Tarp/Tarp 3x3 01 + + Color 1 + 1294 + Color 2 + 1539 + + + + -3.5, 40.5, 4.5 + 0.0, 0.0, -4.769952E-8, 1.0 + + + + 1493 + + + 15.382107, 43.75755, 5.5 + -0.0, -0.0, -0.1305262, 0.9914449 + + + + 1490 + + + -32.33277, 16.957182, 5.5 + -0.0, -0.0, -0.043619387, 0.99904823 + + + + 3403 + + Prop/Haven/Snipe, Static/Snipe, Low Res + + Color 1 + 1293 + + + + 0.8200002 + 1.6774845, 45.124302, 7.3299975 + 0.0, 0.0, -0.2419219, 0.9702957 + + + + 1491 + + + 16.571365, 28.51826, 5.5 + -0.0, -0.0, -0.6087614, 0.7933533 + + + + 5359 + + + 1.0699999 + 16.733042, -52.99545, -4.0 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 3394 + + + 2.2999988 + -3.23611, 46.233112, 2.5 + 0.0, 0.0, -0.1305262, 0.9914449 + + + + 3395 + + + 2.2999988 + 5.1456413, 45.15229, 2.5 + 0.0, 0.0, -0.1305262, 0.9914449 + + + + 5355 + + + 0.97999996 + 18.51126, -54.011383, -3.5 + 0.0, 0.0, -0.86602545, 0.49999997 + + + + 1496 + + + -41.244347, 0.2254343, 2.5 + + + + 1497 + + + -42.75702, 0.17768764, 2.5 + + + + 1479 + + + -21.113415, 19.38037, 5.5 + 0.0, 0.0, 0.99619466, 0.087155916 + + + + 3423 + + + 6.836539, 41.68234, 4.5 + 0.0, 0.0, 1.0, 1.3152903E-6 + + + + 5366 + + + 12.663458, -50.05889, -3.5 + 0.00963412, 0.08495903, -0.12864946, 0.98799723 + + + + 3422 + + + 6.9889097, 38.321796, 4.5 + 0.0, 0.0, 1.0, 1.3152903E-6 + + + + 1478 + + + -19.061787, 19.565086, 5.5 + 0.0, 0.0, 0.8433914, -0.53729963 + + + + 3421 + + + -4.933881, 40.647137, 4.5 + 0.0, 0.0, 1.0, 1.3152903E-6 + + + + 5365 + + + 12.647689, -51.112267, -3.5 + -0.051843934, 0.05103605, -0.11009104, 0.9912556 + + + + 1477 + + + -17.089733, 19.604612, 5.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 3420 + + + -3.8023677, 37.159748, 4.5 + 0.0, 0.0, 1.0, 1.3152903E-6 + + + + 1476 + + + -15.526295, 41.0209, 5.5 + 0.0, 0.0, -1.0, 1.9470718E-7 + + + + 3419 + + + -3.6846218, 38.957745, 4.5 + 0.0, 0.0, 0.7071061, -0.7071074 + + + + 5363 + + + 18.142454, -45.51365, -1.0 + 0.0, 0.0, 0.887011, 0.46174833 + + + + 3418 + + + -2.212097, 38.9554, 4.5 + 0.0, 0.0, 0.7071061, -0.7071074 + + + + 5362 + + + 0.93000007 + 14.699779, -51.204468, -3.4200006 + 0.0, 0.0, -0.9961947, 0.087155804 + + + + 1474 + + Prop/Haven/Cables & Wires/Cable, 08 unit + + + 13.401865, 31.674568, 4.5 + 0.0, 0.0, 0.57357645, -0.81915206 + + + + 3417 + + + -3.652049, 41.977013, 4.5 + 0.0, 0.0, 0.7071061, -0.7071074 + + + + 5361 + + + 13.552523, -52.744133, -3.5 + 0.0, 0.0, 0.7660443, -0.64278775 + + + + 3416 + + + -2.1739895, 41.954678, 4.5 + 0.0, 0.0, 0.7071061, -0.7071074 + + + + 5360 + + + 0.9100001 + 16.64149, -50.621223, -1.62 + 0.0, 0.0, 0.8660255, 0.49999988 + + + + 3415 + + + -0.68478966, 45.529327, 4.5 + 0.0, 0.0, 0.9063074, -0.42261916 + + + + 1486 + + + -34.294933, 6.03759, 5.5 + -0.0, -0.0, -0.043619387, 0.99904823 + + + + 3414 + + Prop/Haven/Tarp/Tarp 2x2 02 + + Color 1 + 1287 + Color 2 + 1545 + + + + -2.5, 38.5, 4.5 + 0.0, 0.0, 1.0, 1.3868001E-6 + + + + 3411 + + + -6.5, 39.5, 4.5 + 0.0, 0.0, -4.7699523E-8, 1.0 + + + + 1481 + + + -24.370869, 24.73325, 5.5 + 0.0, 0.0, 0.9848078, -0.17364807 + + + + 3409 + + Prop/Haven/Tarp/Tarp 2x2 02 + + Color 1 + 1281 + Color 2 + 1550 + + + + -3.5, 42.5, 4.5 + 0.0, 0.0, -4.769952E-8, 1.0 + + + + 1480 + + + -24.545033, 20.692451, 5.5 + 0.0, 0.0, 0.9961947, 0.087155804 + + + + 3436 + + Prop/Haven/Tarp/Rope/Rope Length 3 + + + 4.90102, 40.60498, 4.5 + 0.0, 0.0, -0.9914448, 0.1305266 + + + + 3437 + + + 0.99 + 5.09364, 41.94463, 4.5 + 0.0, 0.0, 0.79335326, 0.60876155 + + + + 3438 + + + 5.00136, 38.162014, 4.4700003 + 0.0, 0.0, 1.0, 1.5060094E-6 + + + + 5319 + + + 0.77 + -6.112079, -22.721258, -1.0 + + + + 3434 + + Prop/Haven/Tarp/Tarp 2x2 02 + + Color 1 + 1289 + Color 2 + 1549 + + + + 1.05 + 1.5, 39.5, 4.3999996 + 0.0, 0.0, -0.9998477, 0.017452383 + + + + 3435 + + + 4.8961363, 38.483765, 4.5 + 0.0, 0.0, 0.98480767, 0.17364869 + + + + 1533 + + Dynamic/Block/Breakable/Castle + + + -16.5, 29.5, 2.5 + + + + 1530 + + + -14.5, 29.5, 2.5 + + + + 1531 + + + -15.5, 29.5, 2.5 + + + + 3453 + + + -2.6767797, 35.961063, 2.5 + 0.0, 0.0, -0.70710653, -0.707107 + + + + 3452 + + + -0.8165504, 36.9704, 2.5 + 0.0, 0.0, -0.70710653, -0.707107 + + + + 3455 + + + 4.827293, 35.16907, 2.5 + 0.0, 0.0, 6.755325E-7, -1.0 + + + + 3454 + + + 4.8278894, 37.781418, 2.5 + 0.0, 0.0, 6.755325E-7, -1.0 + + + + 3448 + + + 5.9912243, 39.23497, 2.5 + 0.0, 0.0, 0.99904823, -0.043619256 + + + + 3451 + + + -1.1419342, 35.99411, 2.5 + 0.0, 0.0, -0.70710653, -0.707107 + + + + 3450 + + + 2.0013404, 37.163525, 2.5 + 0.0, 0.0, 1.0, -5.920583E-7 + + + + 3445 + + + -2.3669534, 37.025867, 4.4300003 + 0.0, 0.0, -0.8660255, 0.49999988 + + + + 3444 + + + -0.099114, 38.04093, 4.4700003 + 0.0, 0.0, -0.97629577, 0.21644057 + + + + 3447 + + Prop/Haven/Tarp/Rope/Rope Length 1 + + + 2.018659, 35.197315, 2.5 + 0.0, 0.0, 1.0, -5.920583E-7 + + + + 3441 + + + 0.018179715, 39.979748, 4.4700003 + 0.0, 0.0, 0.8660252, 0.5000004 + + + + 3443 + + + -0.07813364, 38.4216, 4.5 + 0.0, 0.0, 0.97629607, 0.21643941 + + + + 3442 + + + -0.035208084, 39.40794, 4.5 + 0.0, 0.0, -0.98480785, 0.17364775 + + + + 1426 + + + -12.13145, 32.137806, 6.5 + + + + 5282 + + + -17.859905, -20.255455, -3.5 + + + + 1427 + + + -12.094364, 34.693546, 6.5 + + + + 5280 + + + -18.084993, -23.178904, -3.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 1425 + + + -13.5, 33.5, 6.5 + -0.0, -0.0, -8.742278E-8, -1.0 + + + + 5281 + + + -17.813753, -22.680105, -3.5 + + + + 3342 + + + 4.5, 33.5, 2.5 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 1431 + + + -10.858212, 34.11977, 4.5 + + + + 3343 + + + 1.5, 36.5, 2.5 + 0.0, 0.0, -1.0, -4.371139E-8 + + + + 5290 + + + -12.169973, -25.889557, -1.5 + + + + 1432 + + + -10.854921, 38.914104, 4.5 + + + + 1433 + + + -9.5, 35.5, 4.5 + + + + 5289 + + + -10.849218, -24.509422, -1.5 + + + + 5294 + + + -9.500422, -25.864925, -1.5 + + + + 3334 + + + 1.5, 37.5, 2.5 + + + + 1439 + + + 9.88324, 33.981888, 4.5 + -0.0, -0.0, -8.742278E-8, -1.0 + + + + 5295 + + + -15.226397, -22.753962, -3.5 + + + + 3335 + + + 3.5, 34.5, 2.5 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 3332 + + Prop/Haven/Ground pipes, brass/Diagonal 1unit + + Color variant + Haven Brass (default) + + + + -1.5, 34.5, 2.5 + + + + 1437 + + + -10.942715, 36.900154, 4.5 + + + + 3333 + + + -0.5, 36.5, 2.5 + + + + 3355 + + + 2.5, 43.5, 2.5 + 0.0, 0.0, -1.0, -3.3776624E-7 + + + + 5298 + + + -12.069746, -23.159332, -1.5 + 0.0, 0.0, -0.7071069, -0.70710665 + + + + 3354 + + + 2.5, 43.5, 2.5 + 0.0, 0.0, -1.0, -3.3776624E-7 + + + + 5297 + + + -15.252445, -21.46838, -3.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 3353 + + + -1.5, 47.5, 2.5 + 0.0, 0.0, -1.0, -3.3776624E-7 + + + + 5296 + + + -15.215248, -20.26632, -3.5 + + + + 3352 + + + -0.5, 49.5, 2.5 + 0.0, 0.0, -1.0, -3.3776624E-7 + + + + 5303 + + + -11.5, -20.5, 3.0 + + + + 3359 + + + 3.5, 48.5, 2.5 + 0.0, 0.0, 2.3849761E-8, -1.0 + + + + 5302 + + + -10.830711, -23.20368, -1.5 + 0.0, 0.0, -0.7071069, -0.70710665 + + + + 3358 + + + 1.5, 48.5, 2.5 + 0.0, 0.0, -2.384976E-8, 1.0 + + + + 3357 + + + 2.5, 46.5, 2.5 + 0.0, 0.0, 2.3849761E-8, -1.0 + + + + 3356 + + + 2.5, 45.5, 2.5 + 0.0, 0.0, -1.0, -3.3776624E-7 + + + + 3347 + + + -0.5, 41.5, 2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 5306 + + + -9.5, -20.5, 3.0 + + + + 3346 + + + 1.5, 42.5, 2.5 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 5305 + + + -9.612507, -23.19347, -1.5 + 0.0, 0.0, -0.7071069, -0.70710665 + + + + 3345 + + + -1.5, 34.5, 2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 5304 + + + -8.50357, -22.706, -0.37 + 0.13874398, 0.010919385, 0.077695504, 0.98721534 + + + + 3351 + + + -0.5, 44.5, 2.5 + 0.0, 0.0, -1.0, -3.3776624E-7 + + + + 3349 + + + -1.5, 42.5, 2.5 + 0.0, 0.0, -0.7071069, 0.7071067 + + + + 3348 + + + -1.5, 42.5, 2.5 + -0.0, 0.0, 1.0, -4.371139E-8 + + + + 1456 + + + 14.785758, 33.64701, 7.0 + + + + 3368 + + + -1.5, 53.5, 2.5 + 0.0, 0.0, -3.496911E-7, 1.0 + + + + 3369 + + + -0.5, 55.5, 2.5 + 0.0, 0.0, -3.496911E-7, 1.0 + + + + 1458 + + + -14.623893, 34.374428, 9.0 + + + + 1459 + + + -16.266603, 33.037766, 9.0 + + + + 3360 + + + 3.5, 47.5, 2.5 + 0.0, 0.0, 1.0, 6.636076E-7 + + + + 3361 + + + 1.5, 47.5, 2.5 + 0.0, 0.0, 1.0, 6.636076E-7 + + + + 3362 + + + 2.5, 46.5, 2.5 + 0.0, 0.0, 0.70710677, 0.7071068 + + + + 3363 + + + 2.5, 46.5, 2.5 + 0.0, 0.0, -3.496911E-7, 1.0 + + + + 3364 + + + -1.5, 48.5, 2.5 + 0.0, 0.0, -3.496911E-7, 1.0 + + + + 3365 + + + -0.5, 50.5, 2.5 + 0.0, 0.0, -3.496911E-7, 1.0 + + + + 3366 + + + 1.5, 53.5, 2.5 + 0.0, 0.0, -3.496911E-7, 1.0 + + + + 3367 + + + 3.5, 53.5, 2.5 + 0.0, 0.0, -3.496911E-7, 1.0 + + + + 1441 + + Prop/Haven/Cables & Wires/Cable, 06 unit + + + 7.20184, 33.86518, 4.5 + 0.0, 0.0, 0.13052632, -0.9914448 + + + + 1440 + + + 10.040708, 34.34196, 4.5 + -0.0, -0.0, -0.173648, -0.9848078 + + + + 1443 + + Prop/Haven/Cables & Wires/Cable, 05 unit + + + -12.124403, 31.877363, 4.5 + -0.0, -0.0, -0.21643943, -0.97629607 + + + + 3387 + + Model Tester + + Model + + model/compound/model.dat + + Influences + + false + false + false + + Models + + + + model/conditional/marker.dat + + Model + + editor/marker/vertex/model.dat + + + + + + + world/environment/shadow/square.dat + + Size Height + 12.0 + Size Width + 7.0 + + + + 1.25 + + + + + + + + + 1.0, 50.449924, 2.5 + + + + 1442 + + + -12.051934, 31.223433, 4.5 + -0.0, -0.0, -0.21643943, -0.97629607 + + + + 1447 + + Prop/Haven/Cables & Wires/Cable, 04 unit + + + -16.196163, 27.896215, 4.5 + 0.0, 0.0, 0.3826834, 0.92387956 + + + + 5271 + + + -16.5, -26.5, -3.5 + 0.0, 0.0, -8.742278E-8, 1.0 + + + + 1446 + + + -14.1673355, 27.926565, 4.5 + -0.0, -0.0, -0.5735764, -0.81915206 + + + + 1451 + + + -17.5, 29.5, 4.5 + -0.0, -0.0, -8.742278E-8, -1.0 + + + + 5277 + + Prop/Haven/Tarp/Tarp 3x3 01 + + Color 1 + 1286 + Color 2 + 1543 + + + + -16.5, -21.5, -3.5 + + + + 1454 + + + 16.059566, 33.03179, 7.0 + + + + 3825 + + + -31.968805, 11.494675, 5.5 + + + + 3819 + + + -33.80716, 7.093155, 5.5 + 0.0, 0.0, -0.043619387, 0.99904823 + + + + 3818 + + + -35.442116, 9.302451, 5.5 + 0.0, 0.0, -0.043619387, 0.99904823 + + + + 3817 + + Prop/Haven/Cables & Wires/Cable, 12 unit + + Color State Override + 1.0, 1.0, 1.0, 1.0 + + + + -33.044697, 7.2581444, 4.3999977 + 0.0, 0.0, 0.11320321, 0.9935719 + + + + 3822 + + Prop/Haven/Metal objects/Antennae/Antenna, grid + + Attachment 1 + + character/npc/snipe/parts/model_lowres.dat + + Color 1 + 1287 + + + Attachment 2 + + Attachment 3 + + Attachment 4 + + Attachment 5 + + Attachment 6 + + character/npc/snipe/parts/model_lowres.dat + + Color 1 + 1281 + + + Attachment 7 + + Attachment 8 + + Attachment 9 + + + + + -28.43, 6.5600004, 4.0 + 0.0, 0.0, 0.13052616, 0.9914449 + + + + 3820 + + + -35.487267, 13.109044, 5.5 + 0.0, 0.0, -0.043619387, 0.99904823 + + + + 1609 + + + -6.5, 32.5, 2.5 + 0.0, 0.0, -1.7484554E-7, 1.0 + + + + 1611 + + + -13.5, 33.5, 6.5 + 0.0, 0.0, 0.70710653, 0.707107 + + + + 1613 + + + 11.558969, 35.810883, 4.5 + + + + 1614 + + + -9.560595, 33.764072, 4.5 + + + + 1600 + + + -40.5, 2.5, 2.5 + -0.0, -0.0, -1.7484555E-7, 1.0 + + + + 1601 + + + -38.5, 2.5, 2.5 + -0.0, -0.0, -1.7484555E-7, 1.0 + + + + 5985 + + + 0.9 + 10.5, 31.5, 2.5 + + + + 5986 + + + 10.5, 32.5, 2.5 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 5988 + + + 0.9 + -5.0, -5.5, 0.5 + + + + 5918 + + + 27.211737, -23.6885, -3.5 + 0.0, 0.0, -1.0, -4.371139E-8 + + + + 5919 + + + 27.237877, -21.611795, -3.5 + 0.0, 0.0, -1.0, -4.371139E-8 + + + + 5916 + + + 25.833761, -22.176859, -1.5 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + 5917 + + + 24.165022, -22.194565, -1.5 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + 5914 + + + 33.989143, -19.641209, -1.5 + 0.0, 0.0, 0.9914449, -0.1305261 + + + + 5915 + + Prop/Haven/Tarp/Tarp 3x5 01 + + Color 1 + 1282 + Color 2 + 1538 + + + + 29.5, -22.5, -3.5 + 0.0, 0.0, 0.70710665, 0.7071069 + + + + 5912 + + + 23.5, -18.5, 1.0 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 5913 + + + 33.99437, -19.079056, -1.5 + 0.0, 0.0, 0.9961947, 0.087155804 + + + + 5910 + + + 21.814207, -17.236006, -1.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 5911 + + + 20.190123, -17.285507, -1.5 + + + + 5908 + + + 21.82443, -18.78418, -1.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 5909 + + + 20.122835, -18.84188, -1.5 + + + + 5906 + + + 20.13219, -20.280462, -1.5 + + + + 5907 + + Prop/Haven/Metal objects/Antennae/Antenna, grid + + Attachment 1 + + Attachment 2 + + character/npc/snipe/parts/model_lowres.dat + + Color 1 + 1281 + + + Attachment 3 + + Attachment 4 + + Attachment 5 + + Attachment 6 + + Attachment 7 + + Attachment 8 + + Attachment 9 + + + + + 22.85854, -21.150229, 1.0 + + + + 5904 + + + 21.82227, -21.812284, -1.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 5905 + + + 20.13655, -21.815264, -1.5 + + + + 1599 + + + -42.5, 2.5, 2.5 + -0.0, -0.0, -1.7484555E-7, 1.0 + + + + 5903 + + + 21.822943, -20.208298, -1.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 5902 + + Prop/Haven/Tarp/Tarp 2x3 01 + + Color 1 + 1289 + Color 2 + 1546 + + + + 25.5, -23.5, -1.5 + 0.0, 0.0, 1.0, 3.1391647E-7 + + + + 5901 + + + 18.851662, -17.697577, -3.5 + 0.0, 0.0, -1.0, 7.54979E-8 + + + + 5900 + + + 18.859665, -16.336979, -3.5 + 0.0, 0.0, -1.0, 7.54979E-8 + + + + 5899 + + + 21.5, -18.5, -1.5 + 0.0, 0.0, 0.70710665, 0.7071069 + + + + 5898 + + + 18.855742, -19.25258, -3.5 + 0.0, 0.0, -1.0, 7.54979E-8 + + + + 1593 + + + -12.5, 29.5, 2.5 + -0.0, -0.0, -1.7484555E-7, 1.0 + + + + 5897 + + + 17.162933, -17.732079, -3.5 + 0.0, 0.0, -1.0, 7.54979E-8 + + + + 1592 + + + -12.5, 27.5, 2.5 + 0.0, 0.0, 0.70710653, 0.707107 + + + + 5896 + + + 17.14204, -16.3046, -3.5 + 0.0, 0.0, -1.0, 7.54979E-8 + + + + 5895 + + + 17.121433, -19.294226, -3.5 + 0.0, 0.0, -1.0, 7.54979E-8 + + + + 5894 + + + 18.5, -17.5, -3.5 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 5893 + + + 18.858202, -20.718645, -3.5 + 0.0, 0.0, -1.0, 7.54979E-8 + + + + 1588 + + + -4.5, 32.5, 2.5 + 0.0, 0.0, -1.7484554E-7, 1.0 + + + + 5892 + + Prop/Haven/Tarp/Tarp 2x2 01 + + Color 1 + 1290 + Color 2 + 1546 + + + + 21.5, -21.5, -1.5 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 5891 + + + 17.17122, -20.686817, -3.5 + 0.0, 0.0, -1.0, 7.54979E-8 + + + + 1586 + + + 12.5, 30.5, 2.5 + -0.0, -0.0, -1.7484555E-7, 1.0 + + + + 5890 + + + 18.5, -20.5, -3.5 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 1585 + + + 9.5, 32.5, 2.5 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 5889 + + Prop/Haven/Ground pipes, brass/Straight 1unit + + Color variant + Haven Brass (default) + + + + 14.5, -15.5, -3.5 + + + + 5888 + + + 14.5, -14.5, -3.5 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3730 + + Character/Knight/Crew, general + + Actor + + Character/NPC/Haven/Knight/Fountain + + + + + 0.21361369, -7.9398146, 0.5 + 0.0, 0.0, 0.1045284, 0.9945219 + + + + 1536 + + + 19.5, 14.5, 2.5 + + + + 5928 + + + 23.53591, -14.444313, -3.5 + 0.0, 0.0, -0.25881904, 0.9659258 + + + + 5925 + + + 20.428751, -14.805883, -3.5 + -0.055527527, -0.01121194, -0.050191775, 0.9971318 + + + + 5924 + + + 19.247255, -14.655644, -3.5 + -0.04533101, -0.05968136, 0.039147645, 0.99641895 + + + + 5927 + + + 21.05691, -14.644175, -3.5 + -0.059297405, -0.03218645, -0.042270597, 0.9968255 + + + + 5926 + + + 22.373764, -14.657354, -3.5 + -0.024474122, -0.044632073, 0.13210487, 0.9899279 + + + + 5921 + + + 25.161398, -17.810165, 1.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 5920 + + + 27.999207, -17.761168, -1.5 + 0.0, 0.0, 0.9961947, 0.087155804 + + + + 5923 + + + 18.11304, -14.675491, -3.5 + -0.064948075, -0.012184153, -0.0025236649, 0.9978111 + + + + 5922 + + + 16.774513, -15.096666, -3.5 + -0.0153002795, -0.09128184, 0.042923704, 0.9947819 + + + + 1761 + + + -13.5, -8.5, -0.5 + 0.0, 0.0, -1.0, 1.3868001E-6 + + + + 1767 + + Prop/Haven/Tarp/Tarp 2x3 01 + + Color 1 + 1287 + Color 2 + 1542 + + + + -50.5, -0.5, 2.5 + 0.0, 0.0, -1.0, 3.1391647E-7 + + + + 1771 + + + -48.5, 5.5, 2.5 + -0.0, -0.0, -1.0, 7.54979E-8 + + + + 1770 + + + -46.5, 4.5, 2.5 + -0.0, -0.0, -1.0, -4.371139E-8 + + + + 1768 + + Prop/Haven/Tarp/Tarp 3x3 01 + + Color 1 + 1291 + Color 2 + 1547 + + + + -53.5, -0.5, 2.5 + 0.0, 0.0, -1.0, 3.1391647E-7 + + + + 1779 + + + -47.5, 1.5, 2.5 + -0.0, -0.0, -0.70710677, 0.70710677 + + + + 3688 + + + 11.5, 6.5, -0.5 + 0.0, 0.0, 1.0, 1.9470718E-7 + + + + 3689 + + + 12.5, 5.5, -0.5 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 1783 + + Prop/Haven/Tarp/Tarp 3x5 01 + + Color 1 + 1289 + Color 2 + 1546 + + + + -49.5, 7.5, 4.5 + + + + 1780 + + + -45.5, 1.5, 2.5 + -0.0, -0.0, -0.70710677, 0.7071068 + + + + 1786 + + Prop/Haven/Tarp/Tarp 2x2 03 + + Color 1 + 1293 + Color 2 + 1549 + + + + -40.5, 6.5, 6.5 + + + + 3682 + + + 6.5, 3.5, 0.5 + 0.0, 0.0, -1.0, -3.3776624E-7 + + + + 3683 + + + 6.5, 2.5, 0.5 + 0.0, 0.0, 2.3849761E-8, -1.0 + + + + 1784 + + + -46.5, 7.5, 4.5 + + + + 3680 + + + 6.5, 1.5, 0.5 + 0.0, 0.0, 2.3849761E-8, -1.0 + + + + 3681 + + + 4.5, 3.5, 0.5 + 0.0, 0.0, 0.70710653, 0.707107 + + + + 3686 + + + 9.5, 10.5, -0.5 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 3687 + + + 7.5, 10.5, -0.5 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 1788 + + Prop/Haven/Tarp/Tarp 2x2 01 + + Color 1 + 1287 + Color 2 + 1543 + + + + -52.5, 3.5, 4.5 + + + + 3684 + + + 11.5, 7.5, -0.5 + 0.0, 0.0, 8.742278E-8, 1.0 + + + + 1789 + + Prop/Haven/Tarp/Tarp 2x2 02 + + Color 1 + 1283 + Color 2 + 1540 + + + + -54.5, 3.5, 4.5 + + + + 3685 + + + 11.5, 10.5, -0.5 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 3677 + + + 1.0268611, 5.1096797, 0.5 + 0.0, 0.0, -1.7484555E-7, 1.0 + + + + 3676 + + + 1.5, 3.5, 0.5 + 0.0, 0.0, -1.7484555E-7, 1.0 + + + + 3679 + + + 2.5, 3.5, 0.5 + 0.0, 0.0, 0.70710653, 0.707107 + + + + 3678 + + Prop/Haven/Metal objects/Floor pipes/Straight half + + + 1.5, 4.5, 0.5 + 0.0, 0.0, -1.7484555E-7, 1.0 + + + + 3665 + + + 0.5, -3.5, 0.5 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 1736 + + + -15.76407, 29.439407, 4.5 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 3664 + + + 0.9955832, -5.013403, 0.5 + 0.0, 0.0, 2.3849761E-8, -1.0 + + + + 3667 + + + 1.02 + 4.311901, -4.5981474, 1.2900002 + -0.0072153443, -0.025162902, -0.27554286, 0.9609323 + + + + 3666 + + + 1.5, -3.5, 0.5 + 0.0, 0.0, -1.0, -3.3776624E-7 + + + + 6141 + + Prop/Haven/Tarp/Tarp 2x3 01 + + Color 1 + 1283 + Color 2 + 1539 + + + + 1.0699999 + -37.091305, 0.7922369, 4.410008 + 0.49999946, 0.5000005, -0.49999946, 0.5000005 + + + + 3671 + + + -0.5, 5.5, 0.5 + 0.0, 0.0, -0.70710695, 0.70710665 + + + + 1742 + + Model Tester + + Model + + world/environment/shadow/square.dat + + Size Height + 12.0 + Size Width + 2.0 + + + + + + -18.859987, -7.060013, -0.5 + 0.0, 0.0, -1.0, 1.9470718E-7 + + + + 3656 + + Prop/Knights/Computer 1, toughbox + + + -0.94000053, -6.3399963, 0.46 + 0.0, 0.0, -0.07845906, 0.9969173 + + + + 3660 + + + -1.5, -2.5, 0.5 + 0.0, 0.0, 2.3849761E-8, -1.0 + + + + 3661 + + + -1.5, -3.5, 0.5 + 0.0, 0.0, 2.3849761E-8, -1.0 + + + + 3649 + + + -3.4809172, -7.3945446, 0.46 + 0.0, 0.0, 0.5075382, 0.86162925 + + + + 3650 + + + 1.02 + -3.738217, -5.5392976, 0.5 + 0.0, 0.0, -0.25881895, 0.9659259 + + + + 1756 + + + 14.5, -11.5, -0.5 + + + + 3653 + + + 0.96000004 + -2.4560907, -6.2116675, 1.47 + -0.030579219, 0.062696695, 0.43730327, 0.89660466 + + + + 3654 + + + 0.98 + -2.644881, -6.3188505, 0.5 + 0.0, 0.0, 0.10452855, 0.9945219 + + + + 3655 + + Prop/Knights/Static NPC + + Model + + character/npc/crew/model.dat + + Animation + + character/pc/use_inventory_loop.dat + + Armor + Doublet + Gear + Empty + Height + 0 + Helmet + Hood + Pack + None + Weapon Equip + + model/conditional/xmas.dat + + Model + + item/gear/accessory/helm/scarf/model_scarf-recolor.dat + + Colorization + 269 + + + Transform + + + + + + + + + + -0.9974091, -7.0498505, 0.53999996 + -0.0068312436, -0.05188818, 0.990086, 0.13034794 + + + + 3629 + + Prop/Knights/Static NPC + + Model + + character/npc/crew/model.dat + + Animation + + character/pc/use_inventory_loop.dat + + Armor + Doublet + Gear + Empty + Height + 0 + Helmet + Double Ploom + Pack + None + Weapon Equip + + model/conditional/xmas.dat + + Model + + item/gear/accessory/helm/scarf/model_scarf-recolor.dat + + Colorization + 261 + + + Transform + + + + + + + + + + -2.863636, -7.533, 0.58 + -0.027733807, 0.044383384, -0.8468859, 0.5291929 + + + + 6028 + + + -0.5, 50.5, 2.5 + 0.0, 0.0, -6.755325E-7, 1.0 + + + + 6029 + + + 0.5, 50.5, 2.5 + 0.0, 0.0, -6.755325E-7, 1.0 + + + + 6027 + + + -1.5, 50.5, 2.5 + 0.0, 0.0, -6.755325E-7, 1.0 + + + + 6071 + + Portals/Portal + + Minimap Icon + + ui/minimap/portal_west.png + + Portal + + from_town_square_west + + Scene ID + 2 + Tag + to_bazaar_east + + + + + -39.229614 + 2.921567 + 2.5 + + + -37.229614 + 2.921567 + 2.5 + + + -37.229614 + -2.078433 + 2.5 + + + -39.229614 + -2.078433 + 2.5 + + + + + 6067 + + + 6.0 + -42.5, 0.5, 2.5 + + + + 1676 + + + 1.1999998 + -29.310392, -8.090343, -3.6399972 + + + + 6072 + + Character/Snipe/Snipe, Fly + + Color 1 + 1286 + Scale + 1.0 + + + + -26.266245, -0.088332176, 2.5 + + + + 3600 + + + 1.14 + -31.332745, -7.718907, -0.4 + -0.055709988, -0.041980475, 0.60034895, 0.79669017 + + + + 3602 + + Model Tester + + Model + + world/tileset/outershell/wallbroken.dat + + Model + low_column + + + + + + 1.04 + 30.0, 5.75, 2.5 + + + + 3597 + + + -28.6, -3.44, -0.5 + -0.043619383, 0.0, 0.0, 0.99904823 + + + + 3598 + + + -23.5, -2.5, -0.5 + -0.060211297, -0.010075916, 0.16473976, 0.984446 + + + + 3595 + + + -1.0806404, 26.305254, 2.5 + -0.059893157, -0.034308825, -0.20780736, 0.97573143 + + + + 1690 + + + -29.049715, -7.782058, -0.5 + + + + 5705 + + + 34.49643, -29.706, -0.37 + 0.13874403, 0.010919392, 0.07769553, 0.98721534 + + + + 4065 + + + 0.7700002 + -15.773392, 11.943191, -0.5 + 0.0, 0.0, 0.35836786, 0.93358046 + + + + 5704 + + + 33.19204, -31.487446, -3.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 4064 + + + 1.1199999 + 13.213292, 16.531551, -0.5 + 0.0, 0.0, 0.68835443, 0.7253745 + + + + 5707 + + + 37.785736, -31.217163, -3.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 4067 + + + 0.7700002 + -17.545399, 2.7333546, -0.5 + 0.0, 0.0, 0.19080888, 0.9816272 + + + + 4066 + + + 0.7700002 + -15.008678, 13.728268, -0.5 + 0.0, 0.0, -0.24192202, 0.97029567 + + + + 5708 + + + 0.77 + 36.887924, -29.721258, -1.0 + + + + 4068 + + + 1.0799999 + -17.195272, 3.3060234, -0.53999996 + 0.0, 0.0, 0.35836783, 0.93358046 + + + + 5711 + + + 36.18038, -26.846758, -1.5 + 0.0, 0.0, -1.0, 1.1924881E-8 + + + + 4071 + + + 1.4899995 + -18.031578, 3.416337, -0.27000022 + 0.0, 0.0, 0.35836783, 0.93358046 + + + + 5710 + + + 37.86712, -26.905275, -1.5 + + + + 4070 + + + 0.7700002 + -16.907448, 3.9209254, -0.5 + 0.0, 0.0, 0.01745233, 0.9998477 + + + + 5697 + + + 1.2199998 + 37.41262, -38.97803, -4.670015 + 0.22464272, 0.011773082, 0.050994825, 0.9730347 + + + + 4073 + + + 0.7700002 + 19.772228, -3.1249933, -0.5 + 0.0, 0.0, 0.398749, 0.91706014 + + + + 5696 + + + 1.2199998 + 39.221596, -41.111298, -4.380008 + 0.22118415, 0.04099411, 0.17756504, 0.95805407 + + + + 5699 + + + 33.207184, -32.567375, -3.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 5698 + + Prop/Haven/Tarp/Tarp 3x5 01 + + Color 1 + 1294 + Color 2 + 1540 + + + + 35.5, -32.5, -3.5 + 0.0, 0.0, 0.70710665, 0.7071069 + + + + 4074 + + + 0.7700002 + 19.297836, -2.7865953, -0.5 + 0.0, 0.0, 0.35836783, 0.93358046 + + + + 5701 + + + 33.372414, -33.877842, -3.5 + + + + 4077 + + + 1.05 + 21.002216, -7.748987, -0.5 + 0.0, 0.0, 0.68835443, 0.7253745 + + + + 5700 + + + 33.182808, -33.77014, -3.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 4076 + + + 0.7700002 + 20.548775, -7.5701437, -0.5 + 0.0, 0.0, 0.35836783, 0.93358046 + + + + 5703 + + + 1.2199998 + 43.034904, -39.032608, -4.380008 + 0.2246427, 0.011773076, 0.050994802, 0.9730347 + + + + 4079 + + + 0.7700002 + 29.147781, -12.139062, -0.5 + 0.0, 0.0, -0.6691307, 0.74314475 + + + + 5702 + + + 37.868034, -33.84017, -3.5 + + + + 4078 + + + 0.7700002 + 28.185394, -11.845471, -0.5 + 0.0, 0.0, 0.35836783, 0.93358046 + + + + 4080 + + + 0.95000005 + 22.277344, -7.94489, -0.5 + 0.0, 0.0, 0.31730452, 0.94832367 + + + + 5721 + + + 36.960262, -22.795383, -3.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4081 + + + 0.7700002 + 18.734295, 1.3587704, -0.5 + 0.0, 0.0, 0.35836783, 0.93358046 + + + + 5722 + + + 36.96595, -21.773846, -3.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4082 + + + 0.7700002 + 19.138252, 1.3587704, -0.5 + 0.0, 0.0, 0.3583678, 0.93358046 + + + + 5723 + + + 36.769035, -21.199867, -3.5 + 0.0, 0.0, -0.70710677, -0.70710677 + + + + 4083 + + + 0.9200001 + 18.851326, 3.689969, -0.5 + 0.0, 0.0, -0.9636305, 0.26723823 + + + + 5724 + + + 37.222393, -21.211021, -3.5 + 0.0, 0.0, -0.70710677, -0.70710677 + + + + 4084 + + + -20.784996, -4.0997753, -0.5 + -0.008036486, 0.010552734, -0.10333927, 0.9945577 + + + + 5725 + + + 38.81288, -22.786488, -3.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4085 + + + -20.4872, -4.5507154, -0.5 + -0.046847973, -0.02523239, 0.11175335, 0.9923104 + + + + 5726 + + + 38.79281, -21.182705, -3.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4086 + + + -23.017065, -2.7335124, -0.5 + -0.04948712, 0.04270893, 0.113917395, 0.99133736 + + + + 5727 + + + 40.147045, -19.928432, -1.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 4087 + + + -22.308975, -2.8115501, -0.5 + -0.06210999, -0.03816979, -0.08363639, 0.9938262 + + + + 1888 + + + -40.81918, 7.8096714, 6.5 + -0.0, -0.0, -0.70710677, -0.70710677 + + + + 5712 + + + 37.851334, -25.151789, -1.5 + + + + 4088 + + + -22.829494, -3.3005357, -0.5 + -0.058150705, 0.04175153, -0.031244092, 0.99694496 + + + + 1889 + + + -39.222893, 7.809293, 6.5 + -0.0, -0.0, -0.70710677, -0.70710677 + + + + 5713 + + + 36.1624, -25.26717, -1.5 + 0.0, 0.0, -1.0, 1.1924881E-8 + + + + 4089 + + + -20.956333, -5.2504044, -0.5 + -0.003981082, 0.016579114, -0.13553241, 0.9906262 + + + + 1890 + + + -40.802746, 6.2004066, 6.5 + + + + 5714 + + + 39.351425, -26.797058, -3.5 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + 4090 + + + -30.246851, -4.500098, -0.5 + -0.037502635, 0.027335227, 0.032688424, 0.9983876 + + + + 1891 + + + -39.16585, 6.1731033, 6.5 + + + + 5715 + + + 39.312927, -24.102741, -3.5 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + 4091 + + + -29.391647, -3.713324, -0.5 + -0.05405156, -0.024910871, 0.21854164, 0.97401094 + + + + 5716 + + + 35.247364, -22.75273, -3.5 + + + + 4092 + + + -28.867876, -4.175866, -0.5 + 0.0, 0.0, 0.53729963, 0.8433914 + + + + 1893 + + + -40.895233, 6.284547, 6.5 + -0.0, -0.0, -0.88701093, -0.46174845 + + + + 4093 + + + -29.740526, -4.0974507, -0.5 + 0.0, 0.0, 0.1305262, 0.9914449 + + + + 5718 + + + 35.223373, -21.202328, -3.5 + 0.0, 0.0, -0.70710677, -0.70710677 + + + + 4094 + + + -30.6545, -9.126791, -0.5 + 0.0, 0.0, 0.34202012, 0.9396926 + + + + 5719 + + + 35.5, -18.5, 1.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4095 + + + -29.779955, -9.062505, -0.5 + -0.03166164, 0.020403877, 0.3332644, 0.9420807 + + + + 1883 + + + -51.18507, 3.0884213, 4.5 + + + + 1882 + + + -45.678825, 10.000389, 4.5 + -0.0, -0.0, -0.70710677, 0.70710677 + + + + 5738 + + + 40.5, -25.5, -3.5 + + + + 1881 + + + -47.46557, 10.011621, 4.5 + -0.0, -0.0, -0.70710677, 0.70710677 + + + + 5737 + + + 37.5, -26.5, -1.5 + 0.0, 0.0, 0.70710665, 0.7071069 + + + + 1880 + + + -47.964283, 12.622004, 4.5 + 0.0, 0.0, 0.9914449, -0.1305261 + + + + 5736 + + + 38.5, -21.5, -3.5 + 0.0, 0.0, -1.0, 1.9470718E-7 + + + + 1887 + + + -51.908936, 10.273981, 6.5 + 0.0, 0.0, 0.08715574, 0.9961947 + + + + 1886 + + + -52.033623, 8.840818, 6.5 + + + + 1885 + + + -51.844013, 6.269407, 6.5 + 0.0, 0.0, 0.1305262, 0.9914449 + + + + 5741 + + + 29.5, -16.5, -1.5 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 1884 + + + -54.87247, 3.1272004, 4.5 + + + + 1875 + + Prop/Haven/Tarp/Tarp 3x3 02 + + Color 1 + 1284 + Color 2 + 1539 + + + + -46.5, 11.5, 4.5 + 0.0, 0.0, -1.0, 3.1391647E-7 + + + + 5731 + + + 41.804962, -24.342577, -3.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 5730 + + + 41.409027, -26.807678, -3.5 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + 5729 + + + 41.822777, -26.352665, -3.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 5728 + + + 39.93305, -19.160976, -1.5 + 0.0, 0.0, 0.9961947, -0.08715565 + + + + 1879 + + + -45.197052, 12.76057, 4.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 5735 + + + 36.5, -21.5, -3.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 1878 + + + -45.1521, 10.297499, 4.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 5734 + + + 46.84689, -17.756351, 0.5 + 0.0, 0.0, -8.742278E-8, 1.0 + + + + 1877 + + + -47.869953, 10.241651, 4.5 + 0.0, 0.0, 1.0, 7.54979E-8 + + + + 5733 + + + 45.169422, -17.810333, 0.5 + 0.0, 0.0, -8.742278E-8, 1.0 + + + + 5732 + + + 42.5, -17.5, 3.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4050 + + + -6.5781546, 16.16445, -0.5 + 0.0, 0.0, 0.819152, 0.57357657 + + + + 4051 + + + 1.2199998 + -11.044, 16.454557, -0.5 + 0.0, 0.0, 0.819152, 0.57357657 + + + + 1864 + + + -54.76304, -1.8362551, 2.5 + + + + 4048 + + + -11.787704, 16.011452, -0.5 + 0.0, 0.0, 0.8870109, 0.46174848 + + + + 4049 + + + -13.278963, 15.893815, -0.5 + 0.0, 0.0, -0.819152, -0.57357645 + + + + 4055 + + + 0.95 + 8.471179, 16.138641, -0.5 + 0.0, 0.0, 0.819152, 0.57357657 + + + + 4052 + + + 1.1799998 + -15.22846, 14.448001, -0.5 + 0.0, 0.0, -0.46174854, 0.8870109 + + + + 1858 + + + -48.002445, 3.0934923, 2.5 + 0.0, 0.0, -1.0, 1.9470718E-7 + + + + 4058 + + + 1.1199999 + 15.468055, 15.595987, -0.5 + 0.0, 0.0, 0.6883545, 0.72537446 + + + + 4059 + + + 1.1199999 + 15.959309, 14.742195, -0.5 + 0.0, 0.0, 0.68835443, 0.7253745 + + + + 1856 + + + -42.859783, 0.33508873, 2.5 + 0.0, 0.0, 0.9238795, 0.38268343 + + + + 4056 + + + 1.0999999 + 8.98422, 16.795, -0.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 1857 + + + -47.98666, 3.0017993, 2.5 + 0.0, 0.0, 0.9396926, -0.34202012 + + + + 4057 + + + 13.676838, 15.900169, -0.5 + 0.0, 0.0, 0.46174848, 0.88701093 + + + + 1862 + + + -50.27464, -1.700891, 2.5 + + + + 4062 + + + 1.1199999 + 18.01, 11.522805, -0.5 + 0.0, 0.0, 0.5877851, 0.80901706 + + + + 1863 + + + -52.00457, -1.8649306, 2.5 + + + + 4063 + + + 0.98000014 + 18.037773, 12.034805, -0.27000022 + -0.052218933, -0.14746162, -0.32969734, 0.931036 + + + + 1860 + + + -46.075474, 6.7166176, 2.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 4060 + + + 1.1199999 + 17.604984, 12.578777, -0.5 + 0.0, 0.0, 0.68835443, 0.7253745 + + + + 1861 + + + -47.84846, 3.188569, 2.5 + + + + 4061 + + + 1.1199999 + 16.764656, 13.156883, -0.5 + 0.0, 0.0, 0.7771459, 0.62932044 + + + + 5645 + + Prop/Haven/Tarp/Tarp 3x3 01 + + Color 1 + 1291 + Color 2 + 1548 + + + + -19.5, -24.5, -3.5 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 5647 + + + -20.69893, -23.154036, -3.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 5646 + + + -22.5, -20.5, 1.0 + + + + 1849 + + + -47.98018, 5.2023873, 4.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 5641 + + + -24.158564, -20.252668, -1.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 1848 + + + -45.184425, 7.4635506, 4.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 5640 + + + -25.24685, -23.217226, -3.5 + 0.0, 0.0, 0.70710677, 0.7071068 + + + + 1851 + + + -48.03826, 9.691188, 4.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 1850 + + + -47.977413, 7.4238253, 4.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 5642 + + + -24.191607, -21.761683, -1.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 1845 + + + -50.811954, 5.1611238, 4.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 5637 + + + -27.915447, -23.198109, -3.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 5636 + + Prop/Haven/Tarp/Tarp 2x3 01 + + Color 1 + 1290 + Color 2 + 1540 + + + + -25.5, -20.5, -1.5 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 1844 + + + -45.15423, 9.716318, 4.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 5639 + + + -26.838482, -20.288073, -1.5 + + + + 1847 + + + -50.820915, 7.358801, 4.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 5638 + + + -26.856834, -21.78571, -1.5 + + + + 1846 + + + -50.813953, 9.66306, 4.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 1841 + + + -53.011513, 4.6621904, 4.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 1840 + + + -54.805027, 4.8171344, 4.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 1843 + + + -45.19223, 5.246878, 4.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 1842 + + + -53.021667, 3.1626027, 4.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 5660 + + + 21.264204, -40.643753, -4.0 + 0.0, 0.0, -0.9914448, 0.13052636 + + + + 1836 + + + -47.98054, 5.7526884, 2.5 + + + + 5661 + + + 1.2199998 + 25.26423, -39.73925, -4.380008 + 0.22481401, -0.007850618, -0.034004766, 0.9737765 + + + + 5662 + + + 1.2199998 + 34.44058, -40.85994, -4.380008 + 0.22186594, -0.037127562, -0.16081719, 0.9610072 + + + + 5663 + + + 1.2199998 + 29.93061, -39.077705, -4.380008 + 0.22276181, 0.03130719, 0.13560635, 0.96488756 + + + + 1839 + + + -51.196407, 4.82944, 4.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 5656 + + + 1.4999995 + 33.214382, -46.022263, -4.3500075 + 0.0, 0.0, -0.008727073, 0.9999619 + + + + 1832 + + + -46.131462, 5.734228, 2.5 + + + + 5657 + + + 1.01 + 32.550533, -50.45212, -4.1400027 + -0.046828702, 0.07350643, 0.5352546, 0.84018236 + + + + 1833 + + + -49.79983, 4.206192, 2.5 + + + + 5658 + + + 1.1799998 + 25.892416, -44.35796, -4.380008 + 0.0, 0.0, 0.46174836, 0.88701093 + + + + 1834 + + + -49.789127, 6.6416054, 2.5 + + + + 5659 + + + 22.01041, -43.18148, -3.5 + 0.0, 0.0, 0.6087613, 0.79335344 + + + + 1835 + + + -48.007263, 4.154164, 2.5 + + + + 5652 + + + 21.994814, -54.299713, -1.0 + 0.0, 0.0, 0.9848078, -0.17364813 + + + + 1828 + + + -51.992313, -1.798722, 2.5 + + + + 5653 + + + 1.2699997 + 33.146793, -59.542847, -4.6600146 + 0.0, 0.0, 0.5372993, 0.84339166 + + + + 1829 + + + -50.187748, 0.8304167, 2.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 5654 + + + 1.1799998 + 33.67039, -54.571518, -4.380008 + 0.0, 0.0, -3.5762784E-7, 1.0 + + + + 1830 + + + -54.763783, 0.8000798, 2.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 5655 + + + 1.1799998 + 30.351858, -46.742966, -4.380008 + 0.0, 0.0, 0.4617483, 0.887011 + + + + 1831 + + + -46.180916, 3.2264419, 2.5 + + + + 5648 + + + -20.5, -20.5, 1.0 + + + + 5651 + + + 20.996643, -52.266228, -1.0 + 0.0, 0.0, 0.887011, 0.46174833 + + + + 1827 + + + -51.97632, 0.4642172, 2.5 + + + + 1823 + + + -37.228367, 2.8218603, 2.62 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 5678 + + + 30.518509, -30.194258, -1.5 + 0.0, 0.0, -0.7071069, -0.70710665 + + + + 5677 + + + 31.73671, -30.184048, -1.5 + 0.0, 0.0, -0.7071069, -0.70710665 + + + + 1821 + + + -42.79551, 2.8101015, 2.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 5676 + + + 29.279472, -30.14991, -1.5 + 0.0, 0.0, -0.7071069, -0.70710665 + + + + 1820 + + + -3.20198, 32.800934, 2.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 5675 + + + 25.78596, -24.877901, -1.5 + + + + 1819 + + + -6.8098884, 32.80094, 2.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 5674 + + + 24.220892, -24.884272, -1.5 + + + + 1818 + + + -40.978424, 2.598345, 2.5 + + + + 1817 + + + -39.047794, 2.5375538, 2.5 + + + + 5672 + + + 25.032663, -30.065023, -0.5 + 0.0, 0.0, -0.9238795, 0.38268343 + + + + 1816 + + + -39.021893, 1.2355764, 2.5 + + + + 1815 + + + -40.970905, 1.2059953, 2.5 + + + + 1814 + + + -39.320457, 24.20724, 5.5 + 0.0, 0.0, 0.17364816, 0.9848077 + + + + 1813 + + + -38.02207, 20.64791, 5.5 + 0.0, 0.0, -0.08715574, 0.9961947 + + + + 5668 + + + 31.8488, -32.855503, -1.5 + + + + 1812 + + + -42.20151, 23.989439, 5.5 + + + + 5667 + + + 29.179245, -32.880135, -1.5 + + + + 5666 + + + 30.5, -31.5, -1.5 + + + + 5665 + + + 25.485239, -32.484016, -0.5 + 0.0, 0.0, -0.9238795, 0.38268343 + + + + 1809 + + + -33.575424, 19.043215, 5.5 + -0.0, -0.0, -0.08715574, 0.9961947 + + + + 5664 + + + 1.4999995 + 28.598637, -43.62279, -4.3500075 + 0.0, 0.0, 0.16504708, 0.9862857 + + + + 5694 + + + 1.4999995 + 36.861004, -50.95857, -4.3500075 + 0.0, 0.0, -0.008727072, 0.9999619 + + + + 5695 + + + 1.4999995 + 38.74688, -44.79775, -4.9100204 + 0.0, 0.0, 0.37460607, 0.92718405 + + + + 3991 + + + -15.65608, 7.5538993, -0.5 + -0.046890732, -0.030266859, 0.24531324, 0.9678361 + + + + 5692 + + + 1.2699997 + 36.505253, -56.834755, -4.6600146 + 0.0, 0.0, 0.5372992, 0.8433917 + + + + 1804 + + + -27.364752, 33.206573, 5.5 + -0.0, -0.0, -0.17364818, 0.9848077 + + + + 3988 + + + -14.5, 11.5, -0.5 + 0.0, 0.0, -1.0, 1.3868001E-6 + + + + 5693 + + + 1.4999995 + 41.690437, -54.511467, -4.9100204 + 0.0, 0.0, 0.20791112, 0.97814775 + + + + 3989 + + + -14.5, 5.5, -0.5 + 0.0, 0.0, 3.4969108E-7, 1.0 + + + + 5690 + + + 28.5, -17.5, -1.67 + + + + 1802 + + + -26.469076, 36.130074, 5.5 + -0.0, -0.0, -0.17364818, 0.9848077 + + + + 5691 + + + 30.8201, -17.738052, -1.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 1803 + + + -27.335726, 28.914177, 5.5 + -0.0, -0.0, -0.17364818, 0.9848077 + + + + 5688 + + + 28.061525, -21.255621, -3.5 + 0.0, 0.0, -0.70710677, -0.70710677 + + + + 1800 + + + -22.35162, 39.429966, 5.5 + -0.0, -0.0, -0.17364818, 0.9848077 + + + + 5689 + + + 31.77212, -21.232239, -3.5 + 0.0, 0.0, -0.70710677, -0.70710677 + + + + 1801 + + + 1.1999998 + -18.51133, 41.560043, 5.199993 + 0.0, 0.0, -0.17364816, 0.9848077 + + + + 1798 + + + -25.213726, 32.06665, 5.5 + -0.0, -0.0, -0.17364818, 0.9848077 + + + + 5687 + + + 0.94 + 29.535212, -19.541008, -1.0 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 1799 + + + -23.385006, 35.40402, 5.5 + -0.0, -0.0, -0.17364818, 0.9848077 + + + + 3999 + + + -15.754193, 12.927023, -0.5 + -0.07161896, 0.046457477, 0.21681729, 0.9724725 + + + + 1796 + + + -27.5, 24.5, 5.5 + + + + 3996 + + + -14.480633, 15.572144, -0.5 + 0.0, 0.0, 0.25881973, 0.96592563 + + + + 1797 + + + -25.293003, 28.259016, 5.5 + + + + 3997 + + + -16.235867, 13.496336, -0.5 + 0.0, 0.0, 0.21644026, 0.9762959 + + + + 3994 + + + -15.901915, 8.870605, -0.5 + -0.04961496, -0.0062128576, 0.18428579, 0.9815999 + + + + 1795 + + + -28.5, 20.5, 5.5 + + + + 3995 + + + 0.8200002 + -14.29912, 15.2404, -0.5 + -0.04689073, -0.030266855, 0.24531321, 0.9678361 + + + + 3992 + + + -16.146345, 13.348805, -0.5 + -0.03479424, 0.014171238, 0.30788195, 0.9506825 + + + + 3993 + + + -15.886689, 9.622715, -0.5 + -0.030434579, 0.04104042, 0.38759142, 0.9204142 + + + + 5824 + + + -44.64222, -15.013017, -0.5 + 0.0, 0.0, 0.9961947, -0.087155715 + + + + 5825 + + + -44.374424, -17.58431, -0.5 + 0.0, 0.0, 0.9961947, -0.087155715 + + + + 3945 + + + -21.354681, 10.638107, 4.46 + 0.061874744, 0.03220995, 0.46062383, 0.88485014 + + + + 5826 + + + -41.11681, -16.331886, -0.5 + 0.0, 0.0, 1.0, 1.1924881E-8 + + + + 3946 + + + 27.17199, 7.746043, 3.43 + -0.022134067, -0.0661517, -0.31653172, 0.9460136 + + + + 5827 + + + -40.687073, -20.102741, -3.5 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + 5828 + + + -36.48677, -16.477869, -0.5 + 0.0, 0.0, -0.9961947, 0.087155804 + + + + 5829 + + Prop/Haven/Tarp/Tarp 3x5 01 + + Color 1 + 1284 + Color 2 + 1550 + + + + -30.5, -18.5, -3.5 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 5830 + + + -32.718487, -19.802727, -3.5 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + 5831 + + + -32.633774, -17.132957, -3.5 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + 5832 + + + -38.84517, -14.692633, 0.40999973 + 8.714649E-9, 0.19936793, -0.9799247, -4.2833868E-8 + + + + 3936 + + + -25.5, 10.5, 5.0 + 0.0, 0.0, -0.7071069, -0.70710665 + + + + 5833 + + + -30.984745, -21.048628, -1.5 + 0.0, 0.0, 0.25881904, 0.9659258 + + + + 3937 + + + -28.5, 8.5, 5.0 + 0.0, 0.0, -0.7071069, -0.70710665 + + + + 5834 + + + -31.354479, -13.650141, -1.5 + 0.0, 0.0, -0.2164396, 0.976296 + + + + 3938 + + + -19.5, 9.5, 5.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 5835 + + + -30.03566, -19.804708, -3.5 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + 3939 + + + -18.5, 9.5, 5.0 + 0.0, 0.0, -0.7071069, -0.70710665 + + + + 5836 + + + -28.9855, -15.786378, -3.5 + -0.04629836, -0.034339856, 0.12511638, 0.9904661 + + + + 3940 + + + -19.5, 7.5, 5.0 + 0.0, 0.0, -1.0, 1.1924881E-8 + + + + 5837 + + + -31.692358, -17.10373, -3.5 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + 5838 + + + -28.17168, -19.675098, -3.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 3942 + + + -20.5, 10.5, 5.0 + 0.0, 0.0, -0.70710653, 0.707107 + + + + 5839 + + + -28.2236, -18.486607, -3.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 3943 + + + -19.5, 10.5, 5.0 + 0.0, 0.0, -1.0, -4.371139E-8 + + + + 5841 + + Prop/Haven/Metal objects/Antennae/Antenna, T + + Attachment 1 + + Attachment 2 + + character/npc/snipe/parts/model_lowres.dat + + Color 1 + 1286 + + + Attachment 3 + + character/npc/snipe/parts/model_lowres.dat + + Color 1 + 1283 + + + Attachment 4 + + Attachment 5 + + Attachment 6 + + + + + -27.192547, -17.855505, -1.0 + + + + 5840 + + + -28.21117, -17.218365, -3.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 5843 + + + -20.5, -18.5, 1.0 + + + + 5842 + + + -25.219074, -18.57508, -1.0 + + + + 5845 + + + -19.143032, -17.14464, -1.5 + 0.0, 0.0, -0.08715573, 0.9961947 + + + + 5844 + + + -18.94276, -19.423506, -1.5 + 0.0, 0.0, -0.30070582, 0.953717 + + + + 5847 + + + -16.5, -18.5, -3.5 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 5846 + + + -18.970886, -18.954687, -1.5 + 0.0, 0.0, 0.08715572, 0.9961947 + + + + 5849 + + + -17.82438, -19.744162, -3.5 + + + + 5848 + + + -16.5, -19.5, -3.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 5851 + + + -17.845749, -17.27168, -3.5 + + + + 5850 + + + -17.28023, -16.156597, -3.5 + -0.0077147447, -0.039031632, -0.038197767, 0.9984778 + + + + 5853 + + + -27.574196, -15.1109085, -3.5 + 0.0, 0.0, 0.1305262, 0.9914449 + + + + 5852 + + + -29.593836, -13.325268, -0.5 + -0.028349765, -4.2884354E-4, 0.07170096, 0.99702317 + + + + 5855 + + + -25.36323, -15.131125, -3.5 + -0.065498635, 0.018135482, -0.097189724, 0.9929427 + + + + 5854 + + + -25.74787, -14.631564, -3.5 + -0.07000286, 0.009517915, 0.09489222, 0.9929777 + + + + 5858 + + + -17.221882, -14.650757, -3.5 + -0.05867535, 0.02655641, 0.064553075, 0.99583375 + + + + 3914 + + Prop/Knights/Escape Pod - Static, Closed + + + 1.12 + -26.425674, 11.762432, 4.7999954 + -0.19662715, 0.016894933, -0.34466004, 0.91774815 + + + + 5859 + + + -15.156021, -19.749027, -3.5 + + + + 3915 + + + -21.75, 11.25, 7.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 5856 + + + -16.00465, -14.483273, -3.5 + 0.0, 0.0, -0.17364818, 0.9848077 + + + + 5857 + + + -17.769848, -15.130741, -3.5 + -0.022720924, 0.07561808, 0.080038324, 0.99365973 + + + + 5862 + + + -15.184701, -17.280018, -3.5 + + + + 5863 + + + -11.748529, -16.24178, -3.5 + -0.025699632, -0.026592655, 0.019225119, 0.9991311 + + + + 5860 + + + -14.840608, -16.2725, -3.5 + -0.040013924, 0.09069727, 0.1650498, 0.98129064 + + + + 3916 + + + 1.4 + -20.0, 8.0, 5.0 + 0.0, 0.0, 0.1305262, 0.9914449 + + + + 5861 + + + -14.5, -17.5, -3.5 + 0.0, 0.0, -1.0, 6.7154434E-7 + + + + 3917 + + + -23.49004, 10.189, 5.660002 + 0.0, 0.0, 0.18223558, 0.9832549 + + + + 5866 + + + -6.819616, -19.846758, -1.5 + 0.0, 0.0, -1.0, 1.1924881E-8 + + + + 5867 + + + -5.5, -19.5, -1.5 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 5864 + + + -13.5, -16.5, -3.5 + 0.0, 0.0, -1.0, 6.7154434E-7 + + + + 5865 + + + -6.837599, -18.26717, -1.5 + 0.0, 0.0, -1.0, 1.1924881E-8 + + + + 3905 + + + -19.5, 12.5, 5.0 + + + + 5870 + + + -11.5, -15.5, -3.5 + + + + 3910 + + Prop/Haven/Snipe, Static/Snipe, Low Res + + Color 1 + 1284 + + + + -27.172426, 10.249, 7.2 + 0.11223477, 0.014775988, 0.12968716, 0.9850718 + + + + 5871 + + + -13.5, -15.5, -3.5 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 5868 + + + -5.1486645, -18.151789, -1.5 + + + + 5869 + + + -5.132883, -19.905275, -1.5 + + + + 5875 + + + 0.85 + 12.5, -20.5, 1.0 + + + + 5874 + + + 9.5, -22.5, -1.0 + 0.0, 0.0, -8.742278E-8, 1.0 + + + + 3930 + + Dynamic/Portal/Destination + + Default Entrance + false + Tag + from_advanced_training + + + + -23.0, 5.75, 2.6 + + + + 5872 + + + -3.4906178, -15.339026, -0.5 + -0.029443018, -0.031363074, 0.051035162, 0.99777 + + + + 3928 + + Model Tester + + Model + + world/tileset/outershell/wallhaven.dat + + Model + roof_03 + + + + + + -23.0, 11.0, 4.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 5879 + + + 8.964087, -17.413969, -3.5 + -0.036132634, -0.073065646, 0.21588944, 0.97300947 + + + + 3935 + + + -26.5, 11.5, 5.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 5878 + + + 9.5, -19.5, -1.0 + 0.0, 0.0, -8.742278E-8, 1.0 + + + + 3934 + + + -26.5, 10.5, 5.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 5877 + + + 9.496554, -16.327314, -3.5 + 0.0, 0.0, 0.17364818, 0.9848077 + + + + 3933 + + + -26.5, 9.5, 5.0 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 5876 + + + 11.294001, -20.496433, -0.38 + 0.09491579, -0.10178474, -0.7242362, 0.6753612 + + + + 3932 + + + -26.5, 8.5, 5.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 5883 + + + 6.9640374, -15.376338, -0.5 + -0.026519269, 0.015098296, -0.0643163, 0.9974629 + + + + 3923 + + Model Tester + + Model + + world/tileset/outershell/wallhaven.dat + + Model + twostory_blank01 + + + + + + -23.0, 10.0, 5.0 + + + + 5882 + + + 8.606033, -14.333616, -0.5 + -0.012916752, -0.010190636, 0.012643609, 0.99978465 + + + + 3922 + + Portals/To Advanced Training + + + + -24.0 + 12.0 + 2.0 + + + -22.0 + 12.0 + 2.0 + + + -22.0 + 11.25 + 2.0 + + + -24.0 + 11.25 + 2.0 + + + + + 5881 + + + 15.275692, -19.76162, 1.0 + + + + 5880 + + + 14.742376, -22.141129, 1.0 + + + + 5887 + + + 15.827435, -14.186499, -3.5 + + + + 3927 + + Model Tester + + Model + + world/tileset/outershell/wallhaven.dat + + Model + roof_01 + + + + + + -23.0, 11.0, 4.5 + + + + 5886 + + + 11.938916, -14.645374, -3.5 + 0.0, 0.0, 0.3007058, 0.95371693 + + + + 3926 + + Null barrier, no-walk no-shoot + + + -22.5, 11.96, 7.0 + + + + 5885 + + + 11.691083, -15.576673, -3.5 + -0.02945404, -0.028221274, -0.02439701, 0.9988698 + + + + 3925 + + + -23.5, 11.96, 7.0 + + + + 5884 + + + 9.5, -13.5, -0.5 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 3924 + + Model Tester + + Model + + world/tileset/outershell/wallhaven.dat + + Model + twostory_window01 + + + + + + -24.0, 10.0, 5.0 + + + + 3884 + + + 0.81 + -23.452442, 14.309352, 7.0 + + + + 3880 + + + -24.0, 6.5, 2.5 + 0.0, 0.0, -1.0, 5.5233505E-7 + + + + 3878 + + Dynamic/Misc/Border/Border (Label) + + Label + + Off Center + False + + + + -23.0, 6.5, 2.5 + 0.0, 0.0, -1.0, 9.099629E-7 + + + + 3874 + + Dynamic/Portal/Destination + + Default Entrance + false + Tag + from_bazaar_east + + + + -30.5, 0.5, 2.6 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 3875 + + + -31.5, 1.5, 2.5 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 3901 + + + 0.92 + -19.0, 8.0, 5.0 + 0.0, 0.0, -0.0784591, 0.9969173 + + + + 3900 + + + -25.898516, 7.9897604, 5.0 + 0.0, 0.0, 0.11320323, 0.9935719 + + + + 3903 + + + -19.5, 15.5, 5.0 + + + + 3897 + + + -25.5, 6.5, 2.5 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 3899 + + + -22.0, 6.5, 2.5 + 0.0, 0.0, -1.0, 7.9075363E-7 + + + + 3898 + + + -20.499998, 6.5, 2.5 + 0.0, 0.0, -0.7071069, 0.7071067 + + + + 3895 + + Prop/Haven/Ground pipes, brass/Diagonal 4unit + + Color variant + Haven Brass (default) + + + + -28.5, 4.5, 2.5 + 0.0, 0.0, -1.0, 7.9075363E-7 + + + + 3854 + + + -29.043766, 9.743732, 4.7599998 + 0.0, 0.0, 0.1305262, 0.9914449 + + + + 3853 + + + -28.942312, 18.27429, 5.5 + + + + 3850 + + + -33.5, 1.5, 2.5 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 3871 + + + -27.5, 5.5, 2.5 + 0.0, 0.0, 0.70710695, 0.7071066 + + + + 5823 + + + -42.477917, -14.125139, 0.40999973 + -0.016630111, 0.19008291, -0.9778918, 0.0855545 + + + + 3860 + + + -28.5, 6.5, 2.5 + + + + 3856 + + + -26.875526, 20.824265, 5.5 + 0.0, 0.0, -0.043619387, 0.99904823 + + + + + diff --git a/scenes/202101.xml b/scenes/202101.xml new file mode 100644 index 0000000..50bda89 Binary files /dev/null and b/scenes/202101.xml differ diff --git a/scenes/294.xml b/scenes/294.xml new file mode 100644 index 0000000..cba3944 --- /dev/null +++ b/scenes/294.xml @@ -0,0 +1,6721 @@ + + + + + + + tutorial.jpg + + + + + + 0, -1 + + + 655362, 3014659, 262146, 3670017, 9764867, 9764864, 9699329, 2883587, 720896, 2818051, 196608, 3211265, 589825, 720898, 917507, 2818051, 655363, 3014659, 327680, 3670017, 9961475, 9895939, 9699329, 3014659, 720897, 2883587, 3407872, 3670017, 9699330, 9764866, 9699328, 3670019, 589827, 3670019, 327680, 3670017, 9895936, 9764866, 9895936, 3670019, 917504, 3932163, 2752514, 3932162, 917506, 2949122, 720896, 3932163, 720896, 720898, 720896, 589826, 9764866, 10289154, 9699329, 589826, 655360, 720897, 3866626, 655360, 10027008, 9306113, 9961474, 917505 + + 0, 0 + + + 3670016, 2818048, 3670016, 2883584, 3670016, 2818048, 2818048, 2752512, 9699331, 9764867, 9764866, 2031617, 9764867, 1572864, 1572864, 1572864, 9764866, 2031616, 9306114, 1179648, 4521984, 1572864, 1179648, 4521984, 10289155, 9895938, 9764867, 2359296, 2162688, 1966080, 2359296, 2162688, 9764864, 9699331, 9306114, 1572864, 2359296, 2097152, 1572864, 2359296, 9895938, 9895938, 1572864, 2359296, 1572864, 1572864, 2162688, 1572864, 2818050, 2818050, 2752514, 2883586, 2818050, 2818050, 2818050, 2818050, 720898, 917507, 917505, 589827, 720897, 589825, 720898, 917505 + + -1, -1 + + + 5898247, 1572868, 2162692, 2359300, 1572868, 2490373, 196610, 2752513, 2424839, 1572868, 2097156, 4521988, 4521988, 5898245, 65536, 2883585, 5898247, 1572868, 851972, 1572868, 1572868, 2490373, 65536, 2883585, 2555910, 3801092, 3801092, 3801092, 2686980, 2555909, 65538, 2883585, 458755, 65537, 131075, 262145, 524291, 196609, 327680, 2818049, 2752514, 3014658, 3670018, 2883586, 2818050, 3014658, 2752514, 3932162, 655361, 720898, 589825, 589826, 917507, 917504, 917507, 589826, 3670016, 2752512, 3932161, 2949121, 3997698, 720898, 589825, 917507 + + 1, 0 + + + 2752512, 2883584, 3670016, 3932161, 655362, 917504, 4063233, 720896, 1572864, 9895936, 9764867, 2818049, 917506, 720899, 720896, 720898, 1572864, 9895936, 9306113, 2818049, 589826, 589826, 655360, 720897, 2228224, 9699330, 9895937, 2818049, 4063235, 655362, 720898, 720899, 1572864, 9699330, 9699329, 3670017, 917507, 720899, 655360, 917505, 1572864, 9699331, 9699330, 2883585, 589827, 720899, 917506, 655360, 2883586, 2818050, 2883586, 3932162, 917506, 720897, 589824, 917507, 720897, 917504, 917507, 720899, 720897, 917507, 720896, 655360 + + 2, -1 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 262147, 262147, 65539, 262147, 262147, 65539, 196609, 786433, 3014658, 3670018, 2818050, 2883586, 3670018, 2818050, 2818050, 2818050, 2949121, 589824, 3866625, 720897, 589825, 589825, 655361, 3997698, 3932160, 2818048, 2752512, 2818048, 2818048, 2818048, 3932161, 917506, 3670019, 9699329, 9699331, 9895936, 9764867, 9895936, 2818049, 589825, 2752515, 9306114, 10027011, 9895936, 9306113, 9699331, 2818049, 589827 + + 2, 0 + + + 3014659, 9895939, 10289153, 9699330, 9895937, 9699330, 3014657, 589825, 2818051, 9699330, 9764866, 9699330, 9699329, 9699330, 3670017, 655363, 3670019, 9895936, 9306114, 9699331, 9699330, 9699331, 2818049, 3997696, 2818051, 9764865, 9764865, 9699330, 9699329, 9699330, 3014657, 589824, 3014659, 786435, 65539, 0, 65539, 786433, 2883585, 917507, 3932163, 2818050, 2818050, 2818050, 2818050, 2818050, 3932162, 720896, 917507, 720896, 589825, 655361, 4063232, 655361, 917504, 917505, 917506, 720899, 3932160, 3014656, 3932161, 589825, 917504, 917504 + + 1, -1 + + + 262146, 2293761, 2031619, 9895937, -1, -1, -1, -1, 196608, 983041, 2031617, 3276800, -1, -1, -1, -1, 327680, 1769473, 9306113, 1900547, 0, 196609, 262147, 65539, 3407872, 2293761, 10027010, 983043, 131072, 3145730, 3670018, 2818050, 327680, 1769473, 9699330, 1703939, 327680, 3014657, 3997698, 917505, 2818050, 3932162, 917507, 3932163, 2818050, 3932162, 655362, 917504, 4063234, 3866626, 655362, 917504, 720896, 917506, 3997697, 917507, 589826, 720899, 720898, 720896, 2949120, 655361, 917507, 720896 + + 3, 0 + + + 917505, 917504, 589824, 2818051, 327680, 9371649, 9568256, 10354688, 917505, 720897, 917504, 3014659, 917506, 917507, 3997697, 917505, 720897, 720896, 589825, 3670019, 589824, 1048578, 1703938, 1769474, 3997698, 589824, 655360, 2818051, 917504, 1703937, 2031617, 9764864, 589826, 655361, 917506, 3932163, 3670018, 3276802, 10289155, 9699331, 589827, 720898, 917504, 917504, 917505, 9764864, 9764867, 10027011, 655361, 720897, 720899, 3932160, 2883584, 3276801, 9306112, 2031619, 655361, 655360, 917506, 2818051, 589824, 1900545, 9764864, 9764866 + + 4, -1 + + + 5505024, 7536640, -1, 7536640, -1, 5505024, 5505024, 5505024, 983040, 1769472, 1769472, 983040, 1703936, 2293760, 1769472, 1769472, 65539, 458755, 327680, 196611, 196611, 262145, 65537, 65537, 9633794, 9830402, 9371651, 393218, 1048578, 2293762, 1703938, 2293762, 9895938, 9764865, 9830403, -1, 1900545, 1966080, 1572864, 2359296, 9306112, 9764864, 9633795, 65538, 1769473, 1572864, 1966080, 2162688, 9764864, 9699331, 9633795, 196608, 1769473, 1179648, 2097152, 2097152, 10289153, 9895937, 9633795, 65538, 1769473, 2359296, 1572864, 2359296 + + 4, 0 + + + 9633792, 9568256, 9371648, 327680, 1048577, 983040, 2293760, 1703936, 589824, 589824, 2949121, 655360, 655361, 917505, 917506, 917505, 983042, 983042, 1048579, 0, 9371650, 9633794, 9830402, 9830402, 10027011, 9306114, 1703939, 524288, 9633793, 9306113, 10289154, 9306114, 10289153, 9764867, 1769475, 196608, 9830401, 2031618, 9699330, 9895938, 9764866, 9895936, 1769475, 458752, 9437185, 9961473, 9699330, 9895939, 9306114, 9306115, 1769475, 262144, 9633793, 9895936, 9764865, 9764864, 9764865, 9895938, 1769475, 262146, 9633793, 9306112, 9764864, 9306112 + + 5, 0 + + + 1048576, 3473408, 3735552, 5898240, -1, -1, -1, -1, 917506, 7602176, 5963776, 5373952, 6946840, -1, -1, -1, 9371651, 6291459, 8060952, 8060953, -1, -1, 8978456, -1, 9437187, -1, 4325403, -1, -1, -1, 8978456, -1, 9437187, 5963779, -1, -1, -1, -1, 8978456, -1, 9830403, 6094851, -1, -1, -1, -1, -1, -1, 9633795, -1, -1, -1, -1, -1, -1, -1, 9830403, 5963779, 4325403, -1, -1, -1, -1, -1 + + 3, -1 + + + 9895936, 9306114, 9764866, 2293763, 5242882, 7340032, -1, -1, 3276801, 2097152, 9895939, 2293763, 196610, 1703936, 1769472, 2293760, 1769473, 2162688, 9306115, 1703939, 327680, 65539, 262147, 196609, 3932162, 917505, 655360, 2818051, 131072, 9371650, 9633794, 9633794, 720896, 655361, 589824, 2818051, 327680, 9830401, 9306112, 9895938, 720898, 3866627, 720897, 3932163, 3670018, 9437185, 9764866, 9895936, 655360, 4063234, 720896, 589827, 655361, 9502721, 9306113, 9306114, 3997697, 589826, 720898, 3932160, 2818048, 9502721, 9699331, 9764867 + + 6, -1 + + + -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 6, 0 + + + -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5898241, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 5, -1 + + + 5242881, 3342336, 1507329, 8126460, 8191996, -1, -1, -1, 1048576, 4980736, 1507329, 8191999, 6946840, -1, -1, -1, 786433, 3473408, 1507329, 8191999, -1, -1, -1, -1, 1048579, 4980736, 1114113, 8191999, -1, -1, -1, -1, 1703939, 4980736, -1, 8191999, -1, -1, -1, -1, 1769475, 3473408, 1310721, 8191999, 6946840, -1, -1, -1, 1769475, 3342336, 4915201, 8191999, -1, -1, -1, -1, 983043, 6422528, -1, 8126463, -1, -1, -1, -1 + + -2, -9 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7012328, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 2, -9 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7012328, -1, -1, -1, 7012328 + + 1, -9 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7012328, -1, -1, -1, 7012328 + + 0, -9 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7012328, -1, -1, -1, 7012328 + + -1, -9 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7012328, -1, -1, -1, 7012328, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -2, 1 + + + 262145, 262147, 65539, 262147, 131075, 327680, 786433, 3604480, 2686976, 2686976, 2686976, 2686976, 2686976, 2686976, 3735554, 3473408, -1, -1, -1, -1, -1, -1, 2490371, 6422528, 1507328, 1376256, 1114112, -1, 4915200, -1, 3735555, 6422528, 9568258, 9502722, 9633794, 9437186, 10354690, 9633794, 9371651, 3342336, 9306113, 9895936, 2031618, 9699330, 9764864, 9895939, 9437187, 7602176, 9306112, 9895936, 9895937, 9764864, 9895939, 9764866, 9437187, 5767171, 9699328, 9764864, 9306114, 9699330, 9699329, 9895937, 9437187, 5963779 + + -3, 1 + + + -1, -1, 4325401, 7012376, 5308417, 786435, 327680, 131073, -1, -1, -1, 7012376, 5373953, 3735553, 2686976, 2686976, -1, -1, -1, 1835032, 5767169, 2490369, -1, -1, -1, -1, -1, -1, 6356993, 3735552, 7471104, -1, -1, -1, -1, 8060953, -1, 9371650, 9437186, 9502722, -1, -1, -1, 5177369, 5308417, 9568257, 9764867, 9306114, -1, -1, -1, -1, 5963777, 9633793, 9306115, 9699331, -1, -1, -1, -1, 5701633, 9633793, 9895938, 9764864 + + -3, 0 + + + -1, -1, 4325401, 7929880, -1, 2818049, 9764864, 10027008, -1, -1, -1, 1835032, 6291457, 2752513, 2031618, 9895939, -1, -1, -1, 7012376, -1, 3014657, 9895936, 9306112, -1, -1, -1, 7012376, 5373953, 2818049, 2031618, 9764866, -1, -1, 5177369, 1835032, 6225921, 3670017, 720899, 917505, -1, -1, -1, 7929880, -1, 2818049, 9895938, 1572864, -1, -1, -1, 1835032, -1, 2818049, 1572864, 9764865, -1, -1, -1, 7012376, 5767169, 3145729, 2883584, 2818048 + + 4, -9 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7012328, -1, -1, -1, 7012328 + + 0, 1 + + + 589824, 3866624, 917507, 655360, 589826, 720898, 720899, 655363, 3932161, 655362, 3932160, 2818048, 3932161, 655360, 3932160, 2818048, 1703937, 9895939, 2293763, 327680, 1703937, 9699330, 1769475, 0, 1703937, 9306115, 983043, 131072, 2293761, 9306114, 1769475, 131072, 1048577, 2293760, 1048576, 327680, 1048577, 1703936, 1048576, 131072, 5570560, 5767168, 5373952, 5242880, 786435, 65539, 262147, 0, -1, -1, 8060953, 5701633, 1048578, 2293762, 1703938, 1769474, -1, -1, 8060954, 5636097, 983041, 9699330, 9306114, 9895938 + + -2, 0 + + + 9306114, 9699330, 9764866, 9306113, 9306115, 9699329, 3014659, 0, 9895938, 9699330, 9895937, 9306115, 9699329, 9895939, 2818051, 65538, 9699331, 9895937, 9764867, 9306113, 9699329, 9764865, 3670019, 65536, 9895939, 9699330, 9764864, 9895936, 9699331, 9895938, 2818051, 131072, 655361, 2949122, 589826, 720899, 720899, 655363, 2883587, 327680, 9306114, 1572864, 9764867, 1572864, 9306113, 1572864, 3932163, 2818050, 1572864, 9699328, 1572864, 9306114, 1572864, 9895938, 589824, 589827, 3014656, 2883584, 2752512, 2883584, 3670016, 2818048, 3014656, 2883584 + + 3, -9 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7012328, -1, -1, -1, 7012328 + + -1, 0 + + + 9699331, 9306115, 2883585, 3866627, 655361, 4063232, 917506, 3932160, 4521984, 9764864, 3670017, 589826, 917504, 4063234, 3866624, 2818051, 1966080, 9699330, 2752513, 655362, 655361, 655360, 589827, 2818051, 1966080, 10289155, 2818049, 917504, 589824, 655363, 720899, 3670019, 9764866, 9699330, 2818049, 720896, 2949121, 3866624, 655363, 2818051, 2818050, 2818050, 3932162, 655360, 917506, 917504, 589825, 2752515, 589825, 917507, 720896, 720896, 3866624, 3866627, 655362, 3932163, 3932161, 589827, 720898, 917506, 589826, 655361, 655362, 589826 + + -1, 1 + + + 2818049, 720899, 589826, 589826, 2949123, 655363, 720896, 917506, 2818049, 917507, 3932160, 2818048, 3932161, 655362, 3932160, 3014656, 2293761, 9895937, 983043, 327680, 1900545, 9764866, 1769475, 0, 1703937, 9306112, 2293763, 458754, 1703937, 9764865, 983043, 131072, 1048577, 983040, 1048576, 327680, 1048577, 1769472, 1048576, 327680, 6291456, -1, 5963776, 5308416, 5636096, 5767168, 5636096, 5373952, 8060952, 5177368, -1, -1, -1, 4849688, 4325400, -1, 8060955, -1, -1, -1, -1, -1, -1, -1 + + 1, -2 + + + 589825, 983041, 9306112, 9306113, 9699330, 9699328, 9306115, 9306114, 589824, 1769473, 9764864, 3276800, 1769472, 983040, 1703936, 983040, 720899, 983041, 10027009, 1769475, 786435, 196611, 262147, 262147, 3997696, 1769473, 9895938, 3276803, 2293762, 4259843, -1, -1, 655360, 1703937, 9306113, 10027011, 9764865, -1, -1, -1, 655362, 1048577, 2293760, 1703936, 2293760, -1, -1, -1, 327680, 131073, 0, 196609, 262147, 262147, 262147, 65539, 65536, 1048578, 1769474, 983042, 4194304, -1, -1, 1638400 + + 3, 1 + + + 917506, 4063232, 655363, 2818051, 3997699, 1769473, 9764865, 9895938, 2949121, 3932160, 2883584, 3145728, 720897, 1048577, 2293760, 1769472, 589825, 3670019, 786435, 131073, 655361, 917507, 655360, 655363, 1572864, 3276803, 2293762, 1900546, 983042, 2293762, 1703938, 1769474, 9306112, 2031616, 9699330, 10289154, 9895936, 10027011, 9306114, 9764864, 9306114, 9895937, 9895939, 9895936, 9895939, 2031617, 9895937, 9306113, 3276801, 4521984, 3276800, 1769472, 3276801, 9699328, 9699329, 9764864, 1048577, 2293760, 1048576, 786432, 2293761, 9306113, 9895936, 2031616 + + 0, -2 + + + 9699329, 2293763, 589825, 2752513, 9764867, 9764867, 9306115, 2883587, 589826, 3014659, 589824, 2883585, 589824, 917505, 3866626, 2752515, 917504, 2818051, 720899, 2752513, 9764864, 9895936, 9306115, 2883587, 720898, 3670019, 3997696, 2883585, 9699330, 9895937, 9764864, 2883587, 720898, 3670019, 655360, 3014657, 9895939, 9306115, 9764865, 2818051, 917504, 2752515, 655362, 3014657, 655362, 917504, 4063232, 2818051, 917506, 2883587, 327680, 2818049, 9764864, 9699328, 9895939, 3670019, 655360, 3014659, 65536, 2818049, 9895937, 9895938, 9764867, 3014659 + + 4, 1 + + + 9895939, 9764865, 983043, 524290, 9437185, 9306115, 9764864, 9699330, 1769472, 2293760, 1048576, 327680, 9371649, 9437184, 9633792, 9568256, 655362, 917504, 720898, 5242883, 5373952, 5636096, 5570560, 5373952, 983042, 2293762, 1048579, 5701635, -1, 8060952, 4325400, -1, 9306112, 9306113, 2293763, 5636099, 7012376, 4325403, -1, -1, 9699330, 9699330, 2293763, 5636099, 1835032, -1, -1, -1, 9764864, 9306114, 1900547, 5308419, 7012376, -1, -1, -1, 9306115, 9306115, 983043, 5963779, 7012376, -1, -1, -1 + + -1, -2 + + + 2293761, 9699328, 9764865, 9699328, 9306112, 1900547, 327680, 1703937, 3932162, 917506, 655360, 720899, 720896, 3932163, 2818050, 3932162, 720898, 917506, 3997697, 4063234, 589824, 720896, 917507, 655360, 917507, 589826, 720896, 720898, 720896, 589826, 655360, 2949122, 720898, 917506, 3997697, 4063234, 589824, 720896, 917507, 655360, 3014656, 2883584, 2883584, 3670016, 2818048, 2818048, 2752512, 3932161, 262145, 65537, 196609, 196611, 524289, 524289, 0, 2818049, 2555911, 5898244, 5898244, 5898244, 2621444, 2555908, 327680, 2818049 + + 1, 1 + + + 917506, 655360, 917505, 589826, 917506, 589826, 720898, 720896, 3932161, 917507, 3932160, 3670016, 3932161, 917504, 3932160, 3014656, 1769473, 9699328, 983043, 327680, 1703937, 9306113, 1769475, 327680, 983041, 9764867, 1769475, 131072, 2293761, 9764867, 1769475, 131072, 1048577, 1769472, 1048576, 131072, 1048577, 1703936, 1048576, 131072, 262147, 65539, 262147, 0, 262147, 65539, 262147, 0, 983042, 2293762, 1703938, 1769474, 983042, 1900546, 1703938, 1900546, 9306112, 9895937, 9895938, 9764865, 9764865, 9306113, 9895937, 2228224 + + -2, -2 + + + 4915200, -1, 3735555, 65536, 1769473, 9306112, 2293763, 327680, 9306113, 9699330, 9895939, 524290, 2883585, 589826, 3932163, 2818050, 9699330, 9699329, 9764866, 65536, 2752513, 589825, 655362, 917504, 9764864, 9764864, 9306112, 524290, 2883585, 917504, 917507, 917504, 9699330, 9895937, 9699330, 196610, 3670017, 655360, 655362, 917504, 9764867, 9764866, 9895937, 196610, 3670017, 589826, 3932160, 3670016, 9764865, 9699328, 9895938, 196608, 3014657, 655360, 2883587, 0, 9764867, 9306113, 9306113, 262144, 2752513, 589826, 3670019, 327680 + + 2, 1 + + + 917505, 655362, 3014659, 327680, 3211265, 655361, 4063233, 4063234, 3932161, 917506, 2883587, 196608, 3145729, 2883584, 2752512, 3932161, 1769473, 9764867, 1769475, 327680, 131073, 65539, 786433, 2818049, 2293761, 9764867, 983043, 131072, 1048578, 2293762, 1769474, 3276802, 1048577, 1900544, 1048576, 131072, 1900545, 9764866, 9699330, 9699331, 262147, 65539, 262147, 0, 2293761, 9764864, 9895938, 9895937, 1769474, 983042, 983042, 2293762, 3276802, 9764866, 3276800, 1900544, 2097152, 9699331, 9699330, 9306114, 9895936, 9895936, 983043, 786432 + + 5, -2 + + + 2162688, 2228224, 2293763, 6619136, -1, 7077884, 8126460, -1, 1966080, 9306113, 2293763, 6422528, 1310721, 7995388, 8191999, -1, 9895938, 9764864, 2293763, 3342336, 1507329, 7995388, 8191999, -1, 9764865, 9699329, 1900547, 3342336, 1114113, 7995388, 8191999, -1, 9699328, 5046272, -1, 4980736, -1, 7995388, 8191999, -1, 2293760, -1, -1, 3342336, 1310721, 8126460, -1, -1, 5242880, 7077888, 6684672, 6750208, 1310721, 8191999, -1, -1, 6029313, 6619136, 7405569, 7274498, 1245185, 8191999, -1, -1 + + 4, -2 + + + 9306112, 9306114, 9306113, 9895938, 1966080, 1572864, 1572864, 9699329, 9895938, 9764867, 9699331, 4521984, 1572864, 851968, 1179648, 2228224, 851968, 2359296, 2359296, 2162688, 2228224, 9895936, 9895937, 9895939, 9961475, 2097152, 1572864, 2359296, 1572864, 1572864, 1966080, 9764867, 1572864, 10092544, -1, 1179648, 1966080, 3538944, -1, 9895939, 2293760, -1, -1, 1769472, 1769472, -1, -1, 2293760, -1, 5373952, 5373952, 7995392, -1, -1, 5701632, 5373952, 6488088, 6488088, 6488088, 6488088, 5439512, 5439512, 6488088, 5439512 + + 5, 1 + + + 9437187, 5963779, -1, -1, -1, -1, -1, -1, 9371648, 5963779, -1, -1, -1, -1, -1, -1, 5308416, 6160384, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 3, -2 + + + 9764864, 9699328, 9895938, 3276803, 1769474, 3276802, 9764864, 9895939, 2293760, 3276801, 9699328, 9764866, 9764864, 10289152, 9699328, 9764866, 786433, 1703937, 2097152, 3276800, 1900544, 3276801, 1572864, 1966080, 2293762, 3276802, 2359296, 1769475, 0, 1769473, 2359296, 2162688, -1, 9699328, 9699328, 1769475, 131072, 5832704, -1, 9699329, -1, 3276801, 9306113, 1900547, 196610, -1, -1, 1703936, 786433, 1900545, 2031618, 2293763, 5242883, 6356992, -1, 6356992, 2293762, 3276802, 9699331, 2293763, 5963779, 5439512, 6488088, 6488088 + + 2, -2 + + + 9764867, 9764866, 9699331, 10027011, 9699328, 9764864, 9306115, 9306113, 2293760, 2293760, 1769472, 1769472, 1769472, 1703936, 1769472, 1769472, 196609, 196611, 262147, 262147, 262147, 262147, 262147, 196609, 1769474, 983042, 1769474, 983042, 1769474, 1769474, 1703938, 2293762, 9895936, 10158080, -1, 4653056, -1, 4718592, -1, 4784128, 2293760, -1, -1, -1, -1, -1, -1, -1, 262147, 262147, 65539, 262147, 262147, 65539, 196609, 262147, -1, -1, 4587520, -1, -1, 4390912, -1, -1 + + -3, 2 + + + -1, -1, -1, -1, 5767169, 9437185, 9895939, 9306112, -1, -1, -1, 5177369, 5308417, 9371649, 9830400, 9437184, -1, -1, -1, -1, 6553600, 5701632, 5373952, 5570560, -1, -1, -1, -1, 5177368, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, 6946840 + + -4, 2 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946840 + + 1, 2 + + + 9306115, 9699330, 3276800, 1769472, 3276801, 9699328, 3276800, 1769472, 9699330, 9764865, 1769475, 4521984, 2293761, 9764865, 1769475, 3604480, 9306112, 9764864, 3276803, 2293762, 3276802, 9306112, 3276803, 1769474, 9306112, 9764867, 9306114, 9895939, 9699331, 9895937, 9699328, 4521984, 2293760, 1900544, 2293760, 1703936, 1900544, 1703936, 1703936, 2293760, 5570560, 5570560, 5570560, 5570560, 5636096, 5373952, 5308416, 5242880, -1, -1, 4325400, -1, -1, -1, 8060953, 5767169, -1, -1, -1, -1, -1, -1, 8060954, 6553600 + + -3, -1 + + + -1, -1, -1, -1, -1, -1, -1, 1310723, -1, -1, -1, -1, -1, -1, -1, 1245186, -1, -1, -1, -1, -1, -1, -1, -1, 2490368, 2490368, 2490368, 2490368, 5898240, 5898240, 2490368, 2490368, 5308416, 5373952, 5636096, 5308416, 5242880, 327680, 131073, 262145, 5111832, -1, 8060953, 1835032, 5767169, 3145730, 3670018, 2752514, -1, -1, 5111833, 1835032, 5701633, 2883585, 9895937, 9699331, -1, -1, -1, 1835032, 6094849, 3014657, 9306115, 9699330 + + -2, -1 + + + 9764865, 9699329, 9895936, 65536, 3014657, 917505, 3670019, 65538, 7471106, 1441794, 3735554, 262144, 2818049, 917506, 2883587, 65538, -1, -1, 2490371, 196608, 2883585, 655363, 3014659, 524288, 2490368, 2490368, 3735555, 131072, 2752513, 917506, 2818051, 65538, 65537, 196611, 458753, 327680, 3014657, 589825, 2883587, 327680, 2818050, 2752514, 2883586, 3670018, 3932162, 917507, 3932163, 3670018, 9895939, 9699328, 9306112, 9764864, 9764867, 9895939, 655362, 589826, 10027008, 9961472, 9699328, 9699328, 9895936, 9699331, 3932160, 2883584 + + 0, 2 + + + -1, 4325401, 8716312, 5963777, 1769473, 9895937, 9895936, 9895936, -1, -1, 8716312, 5701633, 983041, 9699328, 9895936, 9306113, -1, -1, 8716312, 5701633, 1703937, 2031618, 9699331, 9895939, -1, -1, 8716312, 5636097, 2293761, 9895938, 9895939, 9764867, -1, 4325401, 8716312, 6029313, 1048577, 1900544, 2293760, 1703936, -1, -1, 8716312, 6553600, 5701632, 5701632, 6029312, 5701632, -1, -1, 8716312, 8060952, 8060953, 8060952, 4325400, -1, -1, -1, 8060952, 8060955, -1, -1, -1, -1 + + -1, 2 + + + 8716312, 5177371, 6881304, -1, 8978456, 6881304, -1, 6881304, 8716312, -1, -1, -1, 8978456, -1, -1, -1, 8716312, -1, 8978456, 6946840, -1, -1, -1, -1, 8716312, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, -1, -1, 8978456, 8978456, -1, -1, -1, -1, -1 + + -2, 2 + + + 9306114, 9895937, 9764864, 9764866, 9764867, 9895939, 9633795, 6094851, 9502720, 9502720, 9502720, 9502720, 9568256, 9437184, 9371648, -1, 5701632, 5767168, 6094848, -1, 5308416, 5373952, 5570560, 6160384, 5111832, -1, 5177368, -1, -1, -1, 8060953, 8716312, -1, -1, -1, -1, -1, -1, 5177368, -1, -1, -1, -1, -1, -1, 6881304, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, 6881304 + + -4, -1 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2555907, 2424832, -1, -1, -1, -1, -1, -1, 2424835, 5242883, -1, -1, -1, -1, -1, -1, 2424835, 5963779, -1, -1, -1, -1, -1, -1, 5898243, 5963779, -1, -1, -1, -1, -1, -1, -1, -1 + + 2, -3 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9175036, -1, 8585212, 8585212, 8585212, 9175036, -1, 9175036, 1376256, 1310720, 1376256, 1376256, 1114112, -1, 1507328, 7208960, 196611, 131075, 196609, 65537, 524289, 65537, 65539, 131073, 2293762, 1769474, 983042, 1769474, 1769474, 1703938, 2293762, 1900546 + + 1, -3 + + + -1, -1, -1, -1, -1, -1, -1, -1, 6815745, -1, -1, -1, -1, -1, -1, -1, 6815745, -1, -1, -1, -1, -1, -1, -1, 6815745, -1, -1, -1, -1, -1, -1, -1, 2424833, 8585212, 8585212, 9175036, -1, 9175036, -1, 8585212, 3735552, 7471104, -1, 1376256, 1376256, 1310720, 1310720, 1310720, 3407872, 786435, 196609, 65539, 262145, 262147, 196611, 262147, 589824, 1048578, 2293762, 1703938, 1769474, 1769474, 2293762, 2293762 + + 4, -3 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9175036, -1, 8585212, 9175036, -1, 8585212, 8585212, 7208960, 1507328, 1310720, 1376256, 1310720, 1507328, 1310720, 1507328, 524289, 65539, 65539, 131073, 131075, 65537, 131073, 262147, 1769474, 1769474, 2293762, 1769474, 1769474, 1769474, 1769474, 1769474 + + 3, -3 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 8585212, 9175036, -1, 8585212, 8585212, 8585212, 9175036, 1310720, 1376256, 7208960, 1507328, 1310720, 1310720, 1507328, 1310720, 65539, 65537, 262147, 65537, 0, 524289, 65537, 262147, 1703938, 1769474, 1769474, 1048579, 327680, 1048578, 1900546, 983042 + + 2, 2 + + + 3276801, 9764867, 3276800, 1769472, 3276801, 2228224, 983043, 0, 2293761, 9764867, 1769475, 0, 1769473, 2162688, 2293763, 65538, 3276802, 9699328, 1769475, 262146, 983041, 9764865, 1703939, 196608, 2228224, 9895938, 983043, 327680, 1703937, 9699330, 2293763, 327680, 3276801, 9699328, 3276803, 983042, 3276802, 9699329, 3276803, 1900546, 2293761, 9699331, 9306112, 9895937, 9895936, 9306113, 9699331, 9764864, 1048577, 2293760, 2293760, 1703936, 1703936, 1769472, 1769472, 983040, 5767168, 5373952, 5636096, 5373952, 6225920, -1, -1, 5373952 + + -2, -3 + + + -1, -1, -1, -1, -1, -1, 6881304, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9175036, -1, 9175036, -1, 8585212, 9175036, -1, 8585212, -1, -1, 2555907, 2621440, 5898240, 2621440, 5898240, 2424832, -1, -1, 2490371, 0, 131073, 131073, 131073, 327680, -1, -1, 5898243, 262144, 1048578, 2293762, 1048579, 131074 + + 3, 2 + + + 524289, 524291, 196609, 0, 1769473, 9699331, 3276800, 983040, 1048578, 2293762, 1048579, 65538, 2293761, 1572864, 2293763, 0, 1769473, 2228224, 1900547, 196608, 1703937, 9699330, 2293763, 196608, 983041, 1179648, 1769475, 327680, 1769473, 9895938, 1769475, 327680, 3276802, 9699328, 3276803, 983042, 3276802, 9306112, 3276803, 2293762, 9699329, 9764864, 10289152, 9895938, 9764866, 9764864, 2031617, 9699329, 2293760, 1703936, 983040, 1703936, 2293760, 1769472, 2293760, 1769472, 6291456, -1, 5963776, 5963776, 5373952, 5767168, 5963776, 5308416 + + -3, -3 + + + -1, -1, -1, -1, 6881304, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9175036, -1, 8585212, 9175036, -1, 8585212, 8585212, 8585212, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 4, 2 + + + 3276801, 9699329, 983043, 6094851, 1835032, 4325403, -1, -1, 1769473, 4521984, 1900547, -1, 1835032, -1, -1, -1, 2293761, 9895936, 1703939, 5963779, 7012376, -1, -1, -1, 1900545, 9895936, 983043, 6291459, 1835032, -1, -1, -1, 3276802, 9764864, 1703939, -1, 1835032, 4325403, -1, -1, 10027008, 9895937, 1769475, 5963779, 1835032, -1, -1, -1, 1769472, 1703936, 1048576, 5963779, 7012376, -1, -1, -1, 5570560, 5373952, 5308416, 6160384, 8060952, -1, -1, -1 + + 0, -3 + + + 6881304, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6815747, 2818049, 2949120, 655360, 917506, 2818051, -1, -1, 6815747, 2818049, 9699329, 9895939, 9306115, 2818051, -1, -1, 6815747, 2818049, 9764865, 9895937, 9764866, 2818051, -1, 8585212, 2424835, 2818049, 9895937, 9699330, 9699331, 2818051, 2490368, 2490368, 3735555, 2818049, 655363, 917506, 589825, 2818051, 131073, 327683, 3407872, 3014657, 9895938, 9306114, 9699330, 3014659, 1900546, 1048579, 917504, 2883585, 9699329, 9961474, 9895936, 2818051 + + -1, -3 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 8585212, 8585212, 9175036, -1, 9175036, -1, 8585212, 9175036, 2490368, 5898240, 2424832, 2490368, 5898240, 2490368, 2490368, 2490368, 65539, 262145, 65537, 65537, 524289, 65537, 0, 131073, 1048578, 983042, 983042, 1769474, 2293762, 1048579, 131074, 1048578 + + 6, -3 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, 8126460, -1, -1, -1, -1, -1, -1, -1, 8191999, -1, -1, -1, -1, -1, -1, -1, 8191999, -1, -1, -1, -1, -1, -1, 8585212, 8191999, -1, -1, -1, -1, -1, -1, 7995388, 8191999, -1, -1, -1, -1, -1, -1, 7077884, 8191999, -1, -1, -1, -1, -1, -1, 8191996, -1, -1, -1, -1, -1, -1, -1 + + 5, -3 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 8585212, 9175036, -1, 9175036, -1, 8585212, 9175036, -1, 1507328, 1310720, 1310720, 7208960, 1245184, 7995388, 7995388, 7995388, 196611, 131073, 786433, 3604480, 1507329, 7077884, 7077884, 7995388, 1769474, 2293762, 1048579, 6422528, 1114113, 7995388, 7995388, 8126460 + + 0, 3 + + + -1, -1, -1, 6881304, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -1, 3 + + + -1, 6881304, -1, -1, -1, -1, -1, -1, 8978456, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, 6946840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 2, 3 + + + -1, -1, 5177368, -1, -1, -1, 5111832, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -3, -2 + + + -1, -1, -1, -1, -1, -1, -1, 1245187, -1, -1, -1, -1, -1, -1, -1, 1376259, -1, -1, -1, -1, -1, -1, -1, 1376259, -1, -1, -1, -1, -1, -1, -1, 1376259, -1, -1, -1, -1, -1, -1, -1, 1376259, -1, -1, -1, -1, -1, -1, -1, 1507331, -1, -1, -1, -1, -1, -1, -1, 1376259, -1, -1, -1, -1, -1, -1, -1, 1376259 + + 1, 3 + + + -1, -1, -1, -1, -1, -1, 4325400, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -4, 3 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -2, 3 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 8978456, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, 6946840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -3, 3 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, 6946840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 3, -4 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, 6946840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, 6946840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 2, -4 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, 6946840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, 6946840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 1, -4 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, 6946840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 0, -4 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, 6946840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -1, -4 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, 6946840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, 6946840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -2, -4 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, 6946840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, 6881304, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 3, 3 + + + 5177368, -1, -1, -1, 4325400, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -3, -4 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, 6946840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, 6881304, -1, 6946840, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -4, -4 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 4, 3 + + + 4325400, -1, -1, -1, 8060955, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 5, -4 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, 6946840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, 6946840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 4, -4 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, 6946840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946840, -1, -1, -1, 6946840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -4, -3 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 8585212, 8585212, 9175036, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 4, -5 + + + -1, -1, -1, -1, 7012356, 7929860, 7929860, 8126471, -1, -1, -1, -1, 7012356, 7929860, 9109486, 8060935, -1, -1, -1, -1, 7864302, 7864302, 7929838, 8257519, -1, -1, -1, -1, 7929836, 7798764, 8650732, 9109484, -1, -1, -1, -1, 7798767, 8060932, 8126468, 8126468, -1, -1, -1, -1, 7798767, 8126471, 8716316, 8781852, -1, -1, -1, -1, 8257519, 8060935, 7798790, 9043975, -1, -1, -1, -1, -1, -1, -1, -1 + + 5, -5 + + + 9043975, 7929884, 7929884, -1, -1, -1, -1, -1, 8126471, 7012380, 8716316, -1, -1, -1, -1, -1, 8126471, 7012380, 7012380, -1, -1, -1, -1, -1, 8126471, 8716316, 7012380, -1, -1, -1, -1, -1, 9043972, 7929884, 8781852, -1, -1, -1, -1, -1, 7929884, 7929884, 7929884, -1, -1, -1, -1, -1, 9240604, 9240604, 7012380, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 4, -6 + + + -1, -1, -1, -1, -1, 3080199, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9240556, -1, -1, -1, -1, 7012356, -1, -1, 9175044, -1, -1, -1, -1, 7012356, -1, -1, 7012380, -1, -1, -1, -1, 7012356, 8060935, 8126470, 8716316, -1, -1, -1, -1, 7012356, 7012356, 7929860, 8060935, -1, -1, -1, -1, 7012356, 7929860, 7929860, 8060932, -1, -1, -1, -1, 7012356, 7929860, 7929860, 8126471 + + 5, -6 + + + 8585196, 8585196, 8585196, -1, -1, -1, -1, -1, 9240556, 8650732, 8650732, -1, -1, -1, -1, -1, 7733252, 9175044, 8585220, -1, -1, -1, -1, -1, 8781852, 7012380, 8650781, -1, -1, -1, -1, -1, 8781852, 8781852, 7929884, -1, -1, -1, -1, -1, -1, 7012380, 8716316, -1, -1, -1, -1, -1, 7929884, 7929884, 7929884, -1, -1, -1, -1, -1, 7929884, 7012380, 7012380, -1, -1, -1, -1, -1 + + 5, -7 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6881288, -1, -1, -1, -1, -1, -1, -1, -1, -1, 8978440, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 4, -7 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6881288, -1, 6881288, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 4, -8 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946792, -1, 6946792, -1, 6946792, -1, 6946792, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 5, -8 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946792, -1, 9043944, -1, -1, -1, -1, -1, -1, -1, 9043944, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 2, -8 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946792, -1, 9043944, -1, -1, -1, -1, -1, -1, -1, 9043944, 6881235, 7208915, -1, 8912849, 7208915, -1, -1, -1, 6881235, -1, -1, -1, -1, -1, -1, -1, 4521939, 7208915, -1, 8912849, 7208915, -1, -1, -1, -1, -1, -1, -1, -1 + + 3, -8 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946792, -1, 6946792, -1, 6946792, -1, -1, 6881233, -1, -1, -1, -1, -1, -1, -1, 6881233, -1, -1, -1, -1, -1, -1, -1, 4521937, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 0, -8 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946792, -1, 6946792, -1, 6946792, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 1, -8 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6881235, 8323027, 8454096, 8454096, 8454098, 8323027, 6881233, -1, 6881235, 8323027, 8519634, 8978385, 8519632, 8323027, 6881233, -1, 6881235, 8912851, 8454096, 8454096, 8454096, 8388563, 6881233, -1, -1, -1, -1, -1, -1, -1, -1 + + -2, -8 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7012328, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -1, -8 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7012328, -1, -1, -1, 7012328, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + + + + + Clockworks/Fence, low/Crosser 02 + + + + + Clockworks/Fence, low/01 + + + + + Clockworks/Fence, low/02 + + + + + Clockworks/Fence, low/06 + + + + + Clockworks/Fence, low/05 + + + + + Clockworks/Fence, low/Crosser 01 + + + + + Clockworks/Fence, low/x2 01 + + + + + Clockworks/Fence, low/04 + + + + + Clockworks/Fence, low/03 + + + + + Clockworks/Floor, base/Base 03 + + + + + Clockworks/Floor, base/Base 01 + + + + + Clockworks/Floor, base/Base 02 + + + + + Clockworks/Fence, low/Cap, pipe down + + + + + Clockworks/Floor, catwalk/Catwalk 06 + + + + + Clockworks/Floor, base/Base 04 + + + + + Clockworks/Floor, catwalk/Trim/Trim 06 + + + + + Clockworks/Floor, catwalk/Trim/Trim Out 01 + + + + + Clockworks/Edge railing/Rail, catwalk x2 01 + + + + + Clockworks/Floor, catwalk/Catwalk 05 + + + + + Clockworks/Edge railing/Rail, catwalk Out 01 + + + + + Clockworks/Edge railing/Rail, catwalk 01 + + + + + Clockworks/Edge railing/Rail, catwalk 03 + + + + + Clockworks/Edge railing/Rail, catwalk Back plain + + + + + Clockworks/Edge railing/Rail, catwalk 02 + + + + + Clockworks/Floor, catwalk/Catwalk, solid + + + + + Traps and Hazards/Floor/Spike/3x3 + + Cycle + A2 + Tag + _trap 1 + + + + + + Clockworks/Floor, catwalk/Trim/Trim 05 + + + + + Clockworks/Floor, catwalk/Trim/Trim 01 + + + + + Haven/Natural/Dirt/Dirt 02 + + + + + Clockworks/Floor, catwalk/Trim/Trim 03 + + + + + Clockworks/Floor, catwalk/Catwalk 08 + + + + + Clockworks Shock/Floor, base/Swirly 02 + + + + + Clockworks/Floor, catwalk/Catwalk 02 + + + + + Clockworks/Floor, catwalk/Catwalk 03 + + + + + Clockworks/Floor, catwalk/Catwalk 04 + + + + + Clockworks/Floor, catwalk/Trim/Trim 02 + + + + + Clockworks/Floor, catwalk/Catwalk 01 + + + + + Clockworks/Edge railing/Rail, base 02 + + + + + Clockworks/Edge railing/Rail, base 01 + + + + + Clockworks/Edge railing/Rail, base Out 01 + + + + + Clockworks/Edge railing/Rail, base 03 + + + + + Clockworks/Edge railing/Rail, Back 01 + + + + + Clockworks/Floor, base/Trim/Trim 03 + + + + + Clockworks/Floor, base/Trim/Trim 01 + + + + + Clockworks/Floor, base/Trim/Trim 06 + + + + + Clockworks/Floor, base/Swirly 01 + + + + + Clockworks/Floor, base/Trim/Trim 05 + + + + + Haven/Interior/Cliff, Fade Endcap East + + + + + Clockworks/Floor, base/Trim/Trim Out 01 + + + + + Clockworks/Floor, base/Trim/Trim 04 + + + + + Clockworks/Floor, catwalk/Trim/Trim In 01 + + + + + Clockworks/Fence, high/Vertical x1, 01 + + + + + Clockworks/Fence, high/Corner 01 + + + + + Clockworks/Fence, high/Vertical x1, 02 + + + + + Traps and Hazards/Floor/Freeze/2x2 + + Cycle + B + Tag + (Signal Tag) + + + + + + Clockworks/Fence, high/Corner 01, north + + + + + Clockworks/Floor, base/Trim/Trim 02 + + + + + Clockworks/Edge railing/Rail, base In 01 + + + + + Clockworks/Edge railing/Rail, Back 03 + + + + + Clockworks/Floor, base/Swirly 03 + + + + + Clockworks/Floor, base/Trim/Trim In 01 + + + + + Clockworks/Floor, base/Swirly 02 + + + + + Clockworks/Floor, base/Swirly 04 + + + + + + Traps and Hazards/Floor/Spike/3x3 + + Cycle + A + Tag + _trap 1 + + + + + + Traps and Hazards/Floor/Spike/3x3 + + Cycle + UP + Tag + _trap 3 + + + + + + Haven/Interior/Cliff, Fadeout x4 01 + + + + + Traps and Hazards/Floor/Spike/3x3 + + Cycle + B2 + Tag + _trap 1 + + + + + + Haven/Gate Arcade/Edge, railing/Rail, rusty x2 - Support Post + + + + + Clockworks/Floor, catwalk/Catwalk 07 + + + + + Traps and Hazards/Floor/Spike/3x3 + + Cycle + B + Tag + _trap 1 + + + + + + Traps and Hazards/Floor/Spike/2x2 + + Cycle + A2 + Tag + _trap 2 + + + + + + Traps and Hazards/Floor/Spike/2x2 + + Cycle + B + Tag + _trap 2 + + + + + + Traps and Hazards/Floor/Spike/2x2 + + Cycle + B2 + Tag + _trap 2 + + + + + + Haven/Interior/Cliff, Fadeout 01 + + + + + Clockworks/Edge railing/Rail, Transition R + + + + + Clockworks/Fence, high/Vertical x1, copper flat 2 + + + + + Traps and Hazards/Floor/Fire/2x2 + + Cycle + B2 + Tag + (Signal Tag) + + + + + + Haven/Interior/Cliff, Fadeout x2 02 + + + + + Haven/Interior/Cliff, Fadeout x4 02 + + + + + Clockworks/Wall/Corner Out 01 + + + + + Clockworks/Wall/Copper flat x1 01 + + + + + Clockworks/Wall/Copper flat x1 03 + + + + + Clockworks/Floor, roof/Base 1unit, plate + + + + + Clockworks/Wall/Back x1 01 + + + + + Clockworks/Wall/Blue panel x1 04 + + + + + Clockworks/Wall/Iron bits x1, vent + + + + + Clockworks/Wall/Copper flat x1 02 + + + + + Clockworks/Wall/Blue panel x1 01 + + + + + Traps and Hazards/Floor/Poison/2x2 + + Cycle + A + Tag + (Signal Tag) + + + + + + Clockworks/Edge railing/Rail, base 04 + + + + + Clockworks/Wall/Blue panel x1 02 + + + + + Clockworks/Wall/Blue panel x1 03 + + + + + Clockworks/Wall/Blue panel x2 03 + + + + + Clockworks/Wall/Corner In NE 01 + + + + + Clockworks/Wall/Blue panel x3 02 + + + + + Clockworks/Wall/Iron bits x2, iron + + + + + Clockworks/Wall/Blue panel x2 02 + + + + + Clockworks/Fence, high/Vertical x1, copper flat 1 + + + + + Clockworks/Floor, roof/Base 1unit, 01 + + + + + Clockworks/Wall/Corner In NW 01 + + + + + Clockworks/Fence, high/Vertical x1, 03 + + + + + Clockworks/Fence, high/Horizontal x1, 02 + + + + + Clockworks/Fence, high/Corner 01, west + + + + + Haven/Gate Arcade/Edge, railing/Rail, rusty x1 01 + + + + + Haven/Interior/Floor - Fadeout 2x2 + + + + + Haven/Interior/Floor - Fadeout 4x4 + + + + + Haven/Natural/Dirt/Dirt 03 + + + + + Clockworks/Fence, high/Corner 01, north n west + + + + + Haven/Gate Arcade/Floor, base/Platform - x2 01 + + + + + Clockworks/Edge railing/Rail, catwalk 04 - lever valve + + + + + Clockworks/Edge railing/Rail, catwalk Back indents + + + + + Clockworks/Wall/Back x3 01 + + + + + Clockworks/Edge railing/Rail, catwalk In 01 + + + + + Clockworks/Edge railing/Rail, Transition L + + + + + Clockworks/Wall/Back x2 01 + + + + + Clockworks/Wall/Fence connector, corner SW + + + + + + Haven/Natural/Cliff/Wall edge S 03 Cube + + + + + Haven/Natural/Cliff/Wall edge N 01 + + + + + Haven/Natural/Cliff/Wall out SW + + + + + Haven/Natural/Dirt/Dirt 04 + + + + + Clockworks/Wall/Blue panel x3 01 + + + + + Haven/Interior/Cliff, Fadeout - Corner Out + + + + + Haven/Interior/Cliff, Fadeout 02 + + + + + Haven/Natural/Cliff/Wall edge S 01 + + + + + Haven/Gate Arcade/Floor, base/Cart track x1 - 02 + + + + + Haven/Gate Arcade/Floor, base/Cart track x2 - 01 + + + + + Haven/Gate Arcade/Floor, base/Plate - single 01 + + + + + Haven/Gate Arcade/Floor, base/Plate - single 04 + + + + + Haven/Interior/Cliff, south 02 + + + + + Haven/Natural/Cliff/Wall edge S 04 Cube + + + + + Haven/Natural/Dirt/Cube 02 + + + + + Haven/Natural/Dirt/Dirt 01 + + + + + Haven/Natural/Dirt/Dirt 07 weeds + + + + + Haven/Gate Arcade/Floor, base/Cart track x2 - 02 + + + + + Haven/Gate Arcade/Floor, base/Plate - single 07 + + + + + Haven/Interior/Floor - Fadeout 1x1 + + + + + Haven/Natural/Cliff/Wall in SW + + + + + Haven/Interior/Cliff, south x2 01 + + + + + Haven/Natural/Cliff/Wall edge S 02 + + + + + Haven/Natural/Dirt/Dirt 06 weeds + + + + + Clockworks Shock/Floor, base/Base 04 + + + + + Clockworks Shock/Floor, base/Trim/Trim Out 01 + + + + + Clockworks Shock/Floor, base/Trim/Trim 01 + + + + + Clockworks Shock/Floor, base/Trim/Trim 02 + + + + + Clockworks Shock/Floor, base/Trim/Trim 06 + + + + + Clockworks Shock/Floor, base/Trim/Trim 05 + + + + + Clockworks Shock/Floor, base/Base 01 + + + + + Clockworks Shock/Floor, base/Base 02 + + + + + Clockworks Shock/Floor, base/Trim/Trim 03 + + + + + Clockworks Shock/Floor, base/Base 03 + + + + + Clockworks Shock/Floor, base/Swirly 03 + + + + + Clockworks Shock/Floor, base/Swirly 01 + + + + + Traps and Hazards/Floor/Shock/2x2 + + Cycle + A2 + Tag + (Signal Tag) + + + + + + Traps and Hazards/Floor/Spike/2x2 + + Cycle + A + Tag + _trap 2 + + + + + + + Clockworks Shock/Floor, base/Swirly 04 + + + + + Clockworks Shock/Floor, base/Trim/Trim 04 + + + + 294 + %dungeon:m.advanced_training + 21 + + + 1098 + + Prop/Gremlin/Toolbox + + + 36.68794, -3.9501567, 0.0 + 0.0, 0.0, -0.57357645, 0.81915206 + + + + 1099 + + Prop/Gremlin/Tool, wrench + + + 40.158424, -4.1689634, 0.0 + 0.0, 0.0, -0.9396926, 0.34202015 + + + + 1117 + + Null barrier, no-walk no-shoot + + + -5.5, -8.5, 0.5 + + + + 1116 + + + -7.5, -6.5, 0.5 + + + + 1119 + + + -3.5, -8.5, 0.5 + + + + 1118 + + + -6.5, -8.5, 0.5 + + + + 1113 + + + -7.5, -8.5, 0.5 + + + + 1112 + + Prop/Gremlin/Stool + + + 40.5, -6.5, 0.0 + + + + 1115 + + + -7.5, -5.5, 0.5 + + + + 1114 + + + -7.5, -7.5, 0.5 + + + + 39 + + Dynamic/Misc/Respawn Pad + + Actor + + Item/Pickups/Vial/Fire Vial + + Delay + 5000 + + + + -9.5, 4.5, 0.0 + + + + 1124 + + + -2.5, -6.5, 0.5 + + + + 1122 + + + -2.5, -8.5, 0.5 + + + + 1123 + + + -2.5, -5.5, 0.5 + + + + 1120 + + + -4.5, -8.5, 0.5 + + + + 1121 + + + -2.5, -7.5, 0.5 + + + + 51 + + Dynamic/Misc/Respawn Pad + + Actor + + Item/Pickups/Vial/Sleep Vial + + Delay + 5000 + + + + -9.5, 0.5, 0.0 + + + + 52 + + Dynamic/Misc/Respawn Pad + + Actor + + Item/Pickups/Vial/Poison Vial + + Delay + 5000 + + + + -9.5, 2.5, 0.0 + + + + 1033 + + Dynamic/Misc/Respawn Pad (Damage) + + Actor + + Block/Explosive + + Damage + 50.0 + Delay + 5000 + + + + 5.5, 11.5, 0.0 + + + + 1035 + + Dynamic/Misc/Respawn Pad (Damage) + + Actor + + Block/Explosive Timed + + Damage + 50.0 + Delay + 5000 + + + + 9.5, 11.5, 0.0 + + + + 1036 + + + 13.5, 10.5, 0.0 + + + + 1037 + + + 13.5, 11.5, 0.0 + + + + 1039 + + Dynamic/Misc/Respawn Pad (Damage) + + Actor + + Block/Unbreakable/Clockworks, base + + Damage + 1.0 + Delay + 5000 + + + + 0.5, 12.5, 0.0 + + + + 1026 + + Dynamic/Block/Unbreakable/Clockworks, base + + + -2.5, 11.5, 0.0 + + + + 1027 + + + 0.5, 11.5, 0.0 + + + + 1028 + + Dynamic/Misc/Respawn Pad (Damage) + + Actor + + Block/Ghost + + Damage + 1.0 + Delay + 5000 + + + + 1.5, 11.5, 0.0 + + + + 1049 + + Dynamic/Misc/Respawn Pad (Damage) + + Actor + + Block/Crystal/Green + + Damage + 1.0 + Delay + 5000 + + + + 17.5, 11.5, 0.0 + + + + 1048 + + + 17.5, 10.5, 0.0 + + + + 1051 + + Dynamic/Misc/Respawn Pad (Damage) + + Actor + + Block/Crystal/Blue + + Damage + 1.0 + Delay + 5000 + + + + 18.5, 10.5, 0.0 + + + + 1053 + + + 18.5, 12.5, 0.0 + + + + 1052 + + + 18.5, 11.5, 0.0 + + + + 1055 + + + 14.5, 12.5, 0.0 + + + + 1054 + + + 12.5, 12.5, 0.0 + + + + 1041 + + + 2.5, 12.5, 0.0 + + + + 1040 + + + 1.5, 12.5, 0.0 + + + + 1043 + + Dynamic/Misc/Respawn Pad (Damage) + + Actor + + Block/Crystal/Gold + + Damage + 1.0 + Delay + 5000 + + + + 16.5, 11.5, 0.0 + + + + 1042 + + + 2.5, 11.5, 0.0 + + + + 1045 + + + 16.5, 10.5, 0.0 + + + + 1044 + + + 16.5, 12.5, 0.0 + + + + 1062 + + + 12.5, 11.5, 0.0 + + + + 1063 + + + 14.5, 11.5, 0.0 + + + + 1223 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.atg_retraps + Tags + + Title + t.atg_retraps + Visible Distance + 5.0 + Width + 250 + + + + 24.5, -14.5, 0.0 + + + + 1217 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.atg_traps + Tags + + Title + t.atg_traps + Visible Distance + 6.0 + Width + 250 + + + + 15.5, -5.5, 0.0 + + + + 1229 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.atg_crowns + Tags + + Title + t.atg_crowns + Visible Distance + 6.0 + Width + 250 + + + + -15.5, -11.5, 0.0 + + + + 1228 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.atg_healpad + Tags + + Title + t.atg_healpad + Visible Distance + 5.0 + Width + 250 + + + + 0.5, -14.5, 0.0 + + + + 1230 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.atg_vitapods + Tags + + Title + t.atg_vitapods + Visible Distance + 6.0 + Width + 250 + + + + -15.5, -14.5, 0.0 + + + + 1227 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.atg_healthcap + Tags + + Title + t.atg_healthcap + Visible Distance + 5.0 + Width + 250 + + + + -5.5, -14.5, 0.0 + + + + 1226 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.atg_statustraps + Tags + + Title + t.atg_statustraps + Visible Distance + 8.0 + Width + 250 + + + + 35.5, -16.5, 0.0 + + + + 1237 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.atg_vials + Tags + + Title + t.atg_vials + Visible Distance + 10.0 + Width + 250 + + + + -13.5, 1.5, 0.0 + + + + 1239 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.atg_button + Tags + + Title + t.atg_button + Visible Distance + 5.0 + Width + 250 + + + + 19.5, 17.5, 0.0 + + + + 1244 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.atg_eblocks + Tags + + Title + t.atg_eblocks + Visible Distance + 3.0 + Width + 250 + + + + 5.5, 11.5, 0.0 + + + + 1245 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.atg_teblocks + Tags + + Title + t.atg_teblocks + Visible Distance + 3.0 + Width + 250 + + + + 9.5, 11.5, 0.0 + + + + 1247 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.atg_blocks2 + Tags + + Title + t.atg_blocks2 + Visible Distance + 3.0 + Width + 250 + + + + 13.5, 11.5, 0.0 + + + + 1240 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.atg_switch + Tags + + Title + t.atg_switch + Visible Distance + 8.0 + Width + 250 + + + + 25.5, 19.5, 0.0 + + + + 1241 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.atg_blocks + Tags + + Title + t.atg_blocks + Visible Distance + 3.0 + Width + 250 + + + + -6.5, 11.5, 0.0 + + + + 1242 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.atg_ublocks + Tags + + Title + t.atg_ublocks + Visible Distance + 3.0 + Width + 250 + + + + -2.5, 11.5, 0.0 + + + + 1243 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.atg_gblocks + Tags + + Title + t.atg_gblocks + Visible Distance + 3.0 + Width + 250 + + + + 1.5, 11.5, 0.0 + + + + 1253 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.atg_shield + Tags + + Title + t.atg_shield + Visible Distance + 6.0 + Width + 250 + + + + 28.5, -5.5, 0.0 + + + + 1252 + + + 17.5, 12.5, 0.0 + + + + 1251 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.atg_cblocks + Tags + + Title + t.atg_cblocks + Visible Distance + 3.0 + Width + 250 + + + + 17.5, 11.5, 0.0 + + + + 1248 + + + 13.5, 12.5, 0.0 + + + + 1263 + + Environment/Background Color + + Color + 0.11372549, 0.11372549, 0.14117648, 1.0 + + + + + 1260 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.atg_treasure + Tags + + Title + t.atg_treasure + Visible Distance + 8.0 + Width + 250 + + + + -5.5, -6.5, 0.5 + + + + 1259 + + Model Tester + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Idle + + + + + + -3.5, -7.5, 0.5 + + + + 1258 + + Model Tester + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Red + + + + + + -4.5, -7.5, 0.5 + + + + 1257 + + Model Tester + + Model + + world/dynamic/block/treasure/model.dat + + Variant + Pink + + + + + + -6.5, -7.5, 0.5 + + + + 1256 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.atg_togtraps + Tags + + Title + t.atg_togtraps + Visible Distance + 4.0 + Width + 250 + + + + 11.5, -14.5, 0.0 + + + + 1270 + + Camera + + Coords + 0.0, 0.7853982, 9.99 + FOV + 1.0471976 + Far + 25.0 + Near + 1.0 + + + + + 1271 + + Environment/Shadow Color + + Color + 0.11372549, 0.11372549, 0.14117648, 0.4 + + + + + 1268 + + Environment/Music Mix + + Cross Fade + 0.0 + Files + + + sound/music/clockwork_ambient.ogg + 2.0 + + + sound/music/clockwork_action.ogg + + + Gain + 0.45 + + + + + 1267 + + Environment/Light + + Light + + + 0.22352941, 0.16862746, 0.07450981, 1.0 + + 0.3860816, -0.82795304, 0.40673667 + + + + + + 1264 + + Environment/Fog + + State + + 0.11372549, 0.11372549, 0.14117648, 0.0 + 18.0 + 21.0 + + + + + + 1265 + + Environment/Ambient + + Color + 0.14117648, 0.24705882, 0.3647059, 1.0 + + + + + 1275 + + Dynamic/Barrier/Force Field x3 + + + 28.5, -1.5, 0.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 1167 + + Dynamic/Switch/Lever/Toggle + + Actor + + Dynamic/Switch/Lever/Damage Toggle + + (State 0 Signal) + toggle + (State 0 Tag) + _door 4 + (State 1 Signal) + toggle + (State 1 Tag) + _door 4 + + + + + + 31.5, 15.5, 0.0 + + + + 236 + + Prop/Gremlin/Lockers - tall, 02 + + + 1.4999998, 4.680004, 0.0 + -0.012340714, 0.012340711, -0.70699894, 0.7069992 + + + + 235 + + + -6.5, 2.5, 0.0 + + + + 234 + + Prop/Gremlin/Lockers - tall, 01 + + + -7.5000024, 3.499999, 0.0 + -0.012340713, -0.012340716, 0.7069992, 0.706999 + + + + 233 + + + -6.5, 0.5, 0.0 + + + + 232 + + + -7.5000005, 1.500001, 0.0 + -0.012340715, -0.012340713, 0.706999, 0.7069991 + + + + 230 + + + 17.5, 2.5, 0.0 + + + + 226 + + + 9.500001, 4.290001, 0.0 + -0.012763881, -0.011902512, 0.6818945, 0.7312423 + + + + 1204 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.atg_heat + Tags + + Title + t.atg_heat + Visible Distance + 6.0 + Width + 250 + + + + -15.5, -7.5, 0.0 + + + + 1211 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.atg_togswitch + Tags + + Title + t.atg_togswitch + Visible Distance + 8.0 + Width + 250 + + + + 31.5, 17.5, 0.0 + + + + 1212 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.atg_pots + Tags + + Title + t.atg_pots + Visible Distance + 8.0 + Width + 250 + + + + 35.5, 8.5, 0.0 + + + + 1351 + + + 4.546731, 2.653064, 0.0 + 0.0, 0.0, -0.34202006, 0.9396927 + + + + 307 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + false + Tag + _door 2 + + + + 21.5, 17.5, 0.0 + + + + 311 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + false + Tag + _door 4 + + + + 29.5, 17.5, 0.0 + + + + 1392 + + Character/Knight/Crew, general + + Actor + + Character/NPC/Advanced Training Gym/Greeter + + + + + 5.818864, 2.6403537, 0.0 + 0.0, 0.0, -0.17364816, 0.9848077 + + + + 349 + + Dynamic/Switch/Button/Timer + + Actor + + Dynamic/Switch/Button/Timed + + (Off Signal) + close + (Off Tag) + _door 2 + (On Signal) + open + (On Tag) + _door 2 + Delay + 15000 + Tag + _button 1 + + + + + + 21.5, 16.5, 0.0 + + + + 348 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + true + Tag + _door 4 + + + + 33.5, 17.5, 0.0 + + + + 1282 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.atg_pplate + Tags + + Title + t.atg_pplate + Visible Distance + 6.0 + Width + 250 + + + + 7.5, 20.5, 0.0 + + + + 1494 + + Prop/Haven/Nature/Boulder 01 + + + 1.84 + 39.556778, -36.291615, -0.34999943 + 0.18189552, 0.011125251, -0.98142093, 0.060026366 + + + + 1495 + + + 1.85 + 36.010345, -32.79763, -2.8499994 + -0.019048816, 0.1812371, 0.10277825, 0.9778685 + + + + 1492 + + + 1.4800004 + 38.811142, -38.229073, 0.3599999 + 0.16712078, 0.07266629, -0.9017037, 0.3920722 + + + + 1493 + + + 1.4800004 + 39.449173, -37.590466, 0.3599999 + 0.17281812, 0.05782426, -0.9324438, 0.31199172 + + + + 1490 + + + 1.4800004 + 37.798264, -38.305916, -0.2699995 + 0.08131299, 0.1630888, -0.43872613, 0.8799487 + + + + 1491 + + + 1.4800004 + 38.863785, -41.142715, 0.3599999 + 0.1671208, 0.072666295, -0.9017037, 0.3920722 + + + + 1488 + + + 1.8900001 + 38.717743, -39.163834, -0.34999943 + 0.09521773, 0.15538125, -0.513749, 0.8383628 + + + + 413 + + Dynamic/Misc/Respawn Pad + + Actor + + Character/NPC/Advanced Training Gym/Training Cube + + Wave Tag + (Wave Tag) + + + Delay + 8000 + + + + -17.5, 15.5, 0.0 + + + + 1489 + + + 1.0000008 + 37.73313, -39.14882, 0.120000124 + 0.13753477, 0.11955727, -0.7420718, 0.6450734 + + + + 402 + + + 11.5, 17.5, 0.0 + + + + 403 + + Dynamic/Switch/Button/Pressure Plate + + Actor + + Dynamic/Switch/Pressure Plate/Base + + (Off Signal) + close + (On Signal) + open + (Target Tag) + _door 1 + Tag + _plate 1 + + + + + + 11.5, 16.5, 0.0 + + + + 401 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + false + Tag + _door 1 + + + + 13.5, 17.5, 0.0 + + + + 1498 + + Dynamic/Portal/Level Start + + Default Entrance + true + + + + 5.5, -12.5, 0.0 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 1496 + + + 1.9399999 + 38.08396, -32.376724, -0.34999943 + 0.08834948, 0.15938674, -0.4766914, 0.85997415 + + + + 1479 + + Lights/Point Light + + Attenuation + + 0.75 + + Diffuse + 0.2901961, 0.68235296, 0.81960785, 1.0 + Extent + 8.0 + + + + 12.5, -56.989998, -5.5 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 1478 + + Null barrier, no-walk + + + 13.5, -59.5, -6.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 1477 + + + 14.5, -59.5, -6.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 1476 + + + 11.5, -59.5, -6.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 1475 + + + 12.5, -59.5, -6.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 1474 + + + 10.5, -59.5, -6.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 1473 + + Model Tester + + Model + + world/prop/outershell/arcade/ceiling_omni.dat + + Model + ceiling_1 + + + + + + 9.453056, -62.57228, 2.010088 + -0.6702829, -0.6820848, 0.20492637, -0.20853375 + + + + 1472 + + + 3.674881, -65.29762, 2.010088 + -0.6993971, -0.65219826, 0.21382739, -0.19939658 + + + + 1487 + + + 1.4800004 + 37.956024, -41.64493, -0.2699995 + -0.019048838, 0.18123713, 0.10277814, 0.97786856 + + + + 1486 + + + 1.4800004 + 37.567055, -42.25718, -0.2699995 + 0.13753478, 0.11955726, -0.7420718, 0.64507335 + + + + 1485 + + + 1.6200004 + 38.69661, -42.27866, 0.4699998 + 0.095217705, 0.15538126, -0.513749, 0.8383628 + + + + 1484 + + Prop/Haven/Arcade/Ceiling - Ridge + + + 36.39988, -44.70158, 0.5 + 0.0, 0.0, -0.7132503, 0.70090944 + + + + 1483 + + Lights/Point Light + + Attenuation + + 0.75 + + Diffuse + 0.1882353, 0.48235294, 0.58431375, 1.0 + Extent + 8.0 + + + + 22.5, -57.5, -5.5 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 1482 + + Prop/Haven/Arcade/Entranceway, south wall + + + 22.5, -57.5, -6.5 + + + + 389 + + + 0.5, 4.5, 0.0 + + + + 1481 + + + 23.859314, -65.581535, 2.010088 + -0.67028296, -0.6820848, 0.20492645, -0.2085335 + + + + 1480 + + + 2.3099988 + 19.317978, -64.99683, 7.160206 + -0.62739295, -0.72173196, 0.19181369, -0.22065489 + + + + 1524 + + + 6.5, -22.5, 0.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 1526 + + Portals/Leave Party + + + + 2.5 + -20.5 + + + 8.5 + -20.5 + + + 8.5 + -22.5 + + + 2.5 + -22.5 + + + + + 1520 + + + 3.5, -22.5, 0.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 1521 + + + 5.5, -22.5, 0.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 1522 + + + 4.5, -22.5, 0.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 1523 + + + 7.5, -22.5, 0.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 1532 + + + 2.110208, -25.511612, 8.010088 + -0.67028296, -0.68208474, 0.20492642, -0.20853363 + + + + 1533 + + + -6.6146507, -23.639286, 8.010088 + -0.7535789, -0.5887596, 0.23039244, -0.1800011 + + + + 434 + + Dynamic/Misc/Respawn Pad + + Actor + + Block/Breakable/Clockworks, base + + Delay + 5000 + + + + -6.5, 11.5, 0.0 + + + + 1518 + + + 5.5, -20.5, -0.5 + + + + 1424 + + Dynamic/Misc/Border/Border (Label) + + Label + m.border_town_square + Off Center + False + + + + 5.5, -17.5, 0.0 + 0.0, 0.0, -1.0, 3.1391647E-7 + + + + 472 + + Prop/Clockworks/Pipes, floor small/Iron, elbow L + + + 19.5, -2.5, 0.0 + 0.0, 0.0, -1.0, -4.371139E-8 + + + + 471 + + Prop/Clockworks/Pipes, floor small/Iron, Terminate + + + 18.5, -2.5, 0.0 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 1415 + + + 6.6984725, 4.2783957, 0.0 + 0.0, 0.0, -0.17364818, 0.9848077 + + + + 1419 + + Dynamic/Misc/Border/Border (End) + + + 7.5, -17.5, 0.0 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 1416 + + Prop/Town/Furniture/Table, small + + + 39.80197, -2.5222116, 0.0 + 0.0, 0.0, -0.17364816, 0.9848077 + + + + 1423 + + Dynamic/Misc/Border/Border (Start) + + + 3.5, -17.5, 0.0 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 1422 + + Dynamic/Misc/Border/Border (Middle) + + + 4.5, -17.5, 0.0 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 1421 + + + 5.5, -17.5, 0.0 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 1420 + + + 6.5, -17.5, 0.0 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 1456 + + + -17.5, 13.5, 0.0 + + + + 1457 + + + -15.5, 13.5, 0.0 + + + + 1459 + + + -10.5, 13.5, 0.0 + + + + 1460 + + + -10.5, 15.5, 0.0 + + + + 1461 + + + -12.5, 13.5, 0.0 + + + + 1463 + + + 39.5, 6.5, 0.0 + + + + 1464 + + Dynamic/Misc/Respawn Pad + + Actor + + Character/NPC/Advanced Training Gym/Training Cube + + Delay + 8000 + + + + 31.5, 0.5, 0.0 + + + + 1465 + + Dynamic/Misc/Respawn Pad + + Actor + + Character/Dev/Punching Bag + + Defense + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + Monster/Defense/Defense Base + + + + + Delay + 8000 + + + + 33.5, -0.5, 0.0 + + + + 1466 + + + 33.5, -3.5, 0.0 + + + + 1467 + + + 31.5, -4.5, 0.0 + + + + 1468 + + + 0.47758865, -60.67055, 2.010088 + -0.75357866, -0.5887597, 0.23039244, -0.18000118 + + + + 1469 + + + 18.28286, -65.92256, 2.010088 + -0.54165715, -0.7881157, 0.16560152, -0.24095076 + + + + 497 + + Prop/Clockworks/Pipes, ground - Iron Large/Bracket + + + 35.5, -10.5, 0.0 + + + + 1470 + + + 12.5, -57.5, -6.5 + + + + 493 + + Prop/Clockworks/Pipes, ground - Blue Large/Elbow 90 + + + 42.5, -15.5, 0.0 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 492 + + Prop/Clockworks/Pipes, ground - Blue Large/Elbow 45, right + + + 40.5, -15.5, 0.0 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 488 + + Prop/Clockworks/Pipes, ground - Blue Large/Straight 2 unit + + + 38.5, -14.5, 0.0 + 0.0, 0.0, 0.7071069, 0.7071067 + + + + 484 + + Prop/Clockworks/Pipes, ground - Blue Large/Straight 1unit + + + 35.5, -12.5, 0.0 + 0.0, 0.0, -1.0, 3.1391647E-7 + + + + 1451 + + Prop/Haven/Snipe, Static/Snipe, Low Res + + Color 1 + 1287 + + + + 7.9839535, 1.6532549, 0.8 + 0.0, 0.0, 0.12186935, 0.99254614 + + + + 1453 + + Prop/Haven/Snipe, Static/Snipe, Low Res + + Color 1 + 1289 + + + + -7.6055856, 3.8991873, 2.16 + 0.0, 0.0, -0.9135455, 0.4067366 + + + + 1452 + + Prop/Haven/Snipe, Static/Snipe, Low Res + + Color 1 + 1281 + + + + 7.5000005, 1.5000006, 0.8 + 0.0, 0.0, -0.2419219, 0.9702957 + + + + 483 + + Prop/Clockworks/Pipes, ground - Blue Large/Y Connector + + + 35.5, -13.5, 0.0 + 0.0, 0.0, 0.38268346, 0.9238795 + + + + 1455 + + Prop/Haven/Snipe, Static/Snipe, Low Res + + Color 1 + 1284 + + + + 21.769005, 9.370943, 2.17 + 0.0, 0.0, 0.27563727, 0.96126175 + + + + 1454 + + Prop/Haven/Snipe, Static/Snipe, Low Res + + Color 1 + 1294 + + + + -7.6111956, 3.4477994, 2.16 + 0.0, 0.0, -0.6293204, 0.7771459 + + + + 1643 + + + 39.5, -14.499996, 0.0 + 0.0, 0.0, -0.7071069, 0.7071067 + + + + 1646 + + + 31.5, -12.499996, 0.0 + 0.0, 0.0, -0.7071069, 0.7071067 + + + + 1647 + + Prop/Clockworks/Pipes, ground - Blue Large/Diagonal 1unit + + + 35.5, -13.5, 0.0 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 1644 + + + 36.5, -14.5, 0.0 + 0.0, 0.0, 0.70710665, 0.7071069 + + + + 1645 + + + 32.5, -13.5, 0.0 + 0.0, 0.0, 0.70710665, 0.7071069 + + + + 1632 + + Prop/Clockworks/Lamp, tall rail-mounted + + Light Color + Default (incandescent) + + + + 0.99 + -19.810007, -2.5790012, 3.4899974 + 0.0, 0.0, -0.39874882, 0.9170602 + + + + 1636 + + Prop/Clockworks/Lamp, tall rail-mounted + + Light Color + Blue + + + + 4.3096285, 20.793951, 0.7299998 + 0.07338693, -0.15737867, -0.89253885, 0.41619796 + + + + 1659 + + Prop/Clockworks/Pipes, ground - Iron Large/Elbow 90 + + + 3.4999995, 7.5000014, 0.0 + 0.0, 0.0, -1.1920928E-7, 1.0 + + + + 1658 + + Prop/Clockworks/Pipes, ground - Iron Large/Elbow 45, left + + + -1.5000007, 7.5000005, 0.0 + 0.0, 0.0, 0.70710623, 0.70710737 + + + + 1656 + + Prop/Clockworks/Pipes, ground - Iron Large/Straight 1unit + + + -5.5, 6.5, 0.0 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 1663 + + Prop/Clockworks/Pipes, ground - Iron Large/Elbow 45, right + + + 1.4999998, -0.49999976, 0.0 + 0.0, 0.0, 1.0, 1.9470718E-7 + + + + 1662 + + + 1.4999996, 1.500001, 0.0 + 0.0, 0.0, -8.046626E-7, 1.0 + + + + 1660 + + + -1.500001, 2.5, 0.0 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 1651 + + + 35.500004, -11.499997, 0.0 + 0.0, 0.0, 1.1920928E-7, 1.0 + + + + 1650 + + + 30.5, -12.5, 0.0 + 0.0, 0.0, 0.7071069, 0.7071067 + + + + 1649 + + + 34.5, -13.5, 0.0 + 0.0, 0.0, 0.7071069, 0.7071067 + + + + 1648 + + + 39.5, -14.5, 0.0 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 1652 + + + -8.5, 6.5, 0.0 + 0.0, 0.0, -0.7071069, 0.7071067 + + + + 1608 + + + -19.6787, 14.875118, 3.0 + 0.0, 0.0, 0.7071068, 0.7071067 + + + + 1609 + + + -23.06979, -3.789855, 3.0 + 0.0, 0.0, 0.13052619, 0.9914449 + + + + 1610 + + + 2.3399987 + 44.59347, -2.0629985, -2.2899957 + -0.18223552, 0.0, 0.0, 0.9832549 + + + + 1612 + + + 2.0 + -15.6786995, -22.124878, 4.4200063 + -0.60290754, -0.3902784, 0.58964634, 0.36946225 + + + + 1614 + + + 1.5 + 43.0682, 18.743092, 5.360028 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 1615 + + + 1.2700002 + 33.56083, 19.280235, 5.360028 + 0.0, 0.0, 0.7660442, 0.6427879 + + + + 1603 + + + 15.378214, 22.978836, 3.5 + 0.0, 0.0, 0.5519373, 0.8338856 + + + + 1604 + + + 35.924435, 24.020489, 3.5 + 0.0, 0.0, -0.55919266, 0.8290377 + + + + 1606 + + + -8.321302, 15.12488, 3.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 1624 + + + 1.3199997 + 42.107594, -6.370472, -0.069997534 + 0.0, 0.0, -0.52249855, 0.85264015 + + + + 1627 + + + 2.52 + -25.140789, -8.221261, -5.7600365 + 0.0, 0.0, 0.017452406, 0.9998477 + + + + 1626 + + + 2.3199987 + -22.939335, -5.7481747, -1.2599995 + 0.0, 0.0, 0.2334453, 0.9723699 + + + + 1628 + + + 3.0 + -13.299274, -31.068295, -1.2599995 + -0.4981564, -0.18802446, 0.15693432, 0.83178043 + + + + 1630 + + + 3.2699978 + 41.255062, -26.578972, -4.8700166 + -0.25092572, 0.27410123, -0.15734482, 0.91495764 + + + + 1623 + + + 2.3399987 + 40.999596, -1.707592, -2.2899957 + -0.16164483, 0.08414697, -0.4540165, 0.8721578 + + + + 1582 + + + 1.03 + 39.05061, 11.082989, 3.2500002 + -1.749369E-15, -3.0846182E-16, -0.98480767, 0.17364869 + + + + 1583 + + + 1.03 + 41.66536, 10.749945, 3.2500002 + 1.7342496E-15, -3.8447294E-16, 0.9762961, 0.21643907 + + + + 611 + + + 21.164392, 9.187385, 0.0 + -0.017187266, -0.003030577, 0.17362164, 0.9846578 + + + + 1580 + + + 1.4200004 + 43.0136, -0.12193298, -0.61999977 + 1.7746654E-15, -7.74833E-17, 0.99904823, 0.043619215 + + + + 1578 + + + 1.7700001 + 46.20442, -12.915254, -0.61999977 + 4.7471035E-16, -1.7117505E-15, 0.26723835, 0.96363044 + + + + 1579 + + + 0.99000084 + 43.010864, -8.019831, -0.61999977 + 1.7746654E-15, -7.74833E-17, 0.99904823, 0.043619215 + + + + 1576 + + + 1.4800004 + 45.12441, -14.235846, -0.6799997 + -0.0045595253, 0.10442898, 0.043380536, 0.99357533 + + + + 1577 + + + 1.98 + 46.25115, -15.128769, -0.61999977 + -4.499615E-8, 1.6377246E-8, -0.34202003, 0.9396927 + + + + 1574 + + + 0.90000093 + 44.934464, -13.005256, -0.61999977 + 4.747104E-16, -1.7117507E-15, 0.26723835, 0.96363044 + + + + 1575 + + + 1.4800004 + 45.208874, -15.657859, -0.61999977 + -4.3397556E-8, 2.0236596E-8, -0.42261815, 0.9063078 + + + + 1572 + + + 0.99000084 + 45.098606, -12.34506, -0.61999977 + 1.7746655E-15, -7.7483305E-17, 0.99904823, 0.043619215 + + + + 1573 + + + 0.90000093 + 44.957756, -16.587873, -0.61999977 + 4.7471056E-16, -1.7117511E-15, 0.26723838, 0.96363044 + + + + 1570 + + + 1.0800008 + 47.05061, -16.917011, -0.61999977 + -1.7493695E-15, -3.0846147E-16, -0.9848077, 0.17364845 + + + + 1571 + + + 1.0800008 + 48.390633, -19.046165, -0.61999977 + 1.6941413E-15, -5.341606E-16, 0.953717, 0.3007057 + + + + 1568 + + + 1.4800004 + 47.037746, -16.162666, -0.61999977 + -4.499615E-8, 1.6377248E-8, -0.34202003, 0.9396927 + + + + 1569 + + + 1.4800004 + 48.70384, -17.319454, -0.61999977 + -4.674887E-8, 1.0363967E-8, -0.2164395, 0.976296 + + + + 1592 + + + 1.03 + -11.077564, 19.0515, 3.2500002 + -1.7493689E-15, -3.084618E-16, -0.98480767, 0.17364869 + + + + 1591 + + + 1.3199997 + -18.951572, 19.283182, 3.2500002 + -1.6692281E-15, -6.075502E-16, -0.93969244, 0.3420206 + + + + 1590 + + + 1.03 + -19.995987, 18.599567, 3.2500002 + -1.7493689E-15, -3.084618E-16, -0.98480767, 0.17364869 + + + + 1589 + + + 0.98 + -0.38829803, 14.176638, 3.2500002 + -1.6941406E-15, -5.3416137E-16, -0.9537168, 0.30070627 + + + + 633 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + false + Tag + _door 3 + + + + 25.5, 19.5, 0.0 + + + + 1588 + + + 1.03 + -5.931736, 14.085463, 3.2500002 + -1.7493689E-15, -3.084618E-16, -0.98480767, 0.17364869 + + + + 1587 + + + 1.03 + 9.265316, 22.137825, 3.2500002 + 4.597556E-16, -1.715828E-15, 0.2588196, 0.9659257 + + + + 1586 + + + 1.03 + 4.926449, 22.241772, 3.2500002 + -1.7493689E-15, -3.084618E-16, -0.98480767, 0.17364869 + + + + 1585 + + + 1.5199995 + 12.508827, 22.282036, 3.2500002 + -1.7493689E-15, -3.084618E-16, -0.98480767, 0.17364869 + + + + 1548 + + + 2.3099988 + 18.148136, -26.311537, 14.160206 + -0.74318904, -0.6018214, 0.22721595, -0.18399447 + + + + 1549 + + + 2.3099988 + -24.678782, -27.97151, 14.160206 + -0.7162305, -0.63366616, 0.21897393, -0.19373037 + + + + 1550 + + + 2.3099988 + -34.901356, -29.214401, 13.400188 + -0.68790865, -0.6643046, 0.21031514, -0.20309754 + + + + 1544 + + Prop/Haven/Metal objects/Strut, South Wall + + + 28.5, -18.5, -0.5 + 0.0, 0.0, 1.7484554E-7, 1.0 + + + + 1545 + + + 43.5, -18.5, -0.5 + 0.0, 0.0, 1.7484554E-7, 1.0 + + + + 1546 + + + 12.5, -18.5, -0.5 + 0.0, 0.0, 1.7484554E-7, 1.0 + + + + 1547 + + + 2.3099988 + 1.3179779, -32.996834, 14.160206 + -0.62739307, -0.7217319, 0.1918137, -0.22065483 + + + + 585 + + + -3.5, 4.5, 0.0 + 0.0, 0.0, 1.0, 6.7154434E-7 + + + + 1542 + + + -1.5, -18.5, -0.5 + 0.0, 0.0, 1.7484554E-7, 1.0 + + + + 1543 + + + -8.5, -18.5, -0.5 + 0.0, 0.0, 1.7484554E-7, 1.0 + + + + 590 + + Prop/Clockworks/Pipes, ground - Iron Large/Y Connector + + + -3.5, 5.5, 0.0 + + + + 1565 + + + 1.4800004 + 45.175613, -18.583048, -0.61999977 + -4.499615E-8, 1.6377248E-8, -0.34202003, 0.9396927 + + + + 1567 + + + 1.4800004 + 45.370594, -11.310399, -0.61999977 + -4.499615E-8, 1.6377248E-8, -0.34202003, 0.9396927 + + + + 1566 + + + 1.0800008 + 45.043846, -17.404114, -0.61999977 + -1.7611595E-15, -2.3186132E-16, -0.9914448, 0.13052636 + + + + 1561 + + Prop/Clockworks/Lamp, short rail-mounted + + Light Color + Deconstruction Zone + + + + 13.831861, -18.79488, 0.93999946 + -0.19065642, 0.058289528, -0.28650224, 0.9371067 + + + + 597 + + + -3.5, 5.5, 0.0 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 598 + + + -4.5, 6.5, 0.0 + 0.0, 0.0, -0.7071069, 0.7071067 + + + + 1557 + + Prop/Clockworks/Lamp, short rail-mounted + + Light Color + Wasteworks + + + + 40.41761, -18.817, 0.93999946 + -0.194642, -0.043151073, 0.21209443, 0.9566966 + + + + 1556 + + Lights/Point Light + + Attenuation + + 0.75 + + Diffuse + 0.5372549, 0.7529412, 0.9098039, 1.0 + Extent + 6.0 + + + + 29.274925, -1.5166726, 0.63000035 + + + + 1559 + + + 23.967762, -18.894176, 0.93999946 + -0.19065638, -0.058289494, 0.28650224, 0.9371067 + + + + 1558 + + + 31.006231, -18.816776, 0.94 + -0.14277287, 0.038255867, -0.25597602, 0.955316 + + + + 685 + + + 2.5, -10.5, 0.0 + + + + 684 + + + 2.5, -11.5, 0.0 + + + + 1767 + + Prop/Clockworks/Understructure/Understructure x9 + + + -21.270815, -3.4799232, 0.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 683 + + + 2.5, -12.5, 0.0 + + + + 1766 + + + -12.166122, -14.261573, 0.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 682 + + + 2.5, -13.5, 0.0 + + + + 681 + + + 2.5, -14.5, 0.0 + + + + 680 + + + 2.5, -15.5, 0.0 + + + + 679 + + + 8.5, -10.5, 0.0 + + + + 678 + + + 8.5, -11.5, 0.0 + + + + 677 + + + 8.5, -12.5, 0.0 + + + + 676 + + + 8.5, -13.5, 0.0 + + + + 1775 + + Lights/Prop/Sunbeam, short + + + 1.5200005 + 23.784103, 17.504566, 0.5 + -0.16504748, 0.0, 0.0, 0.9862856 + + + + 675 + + + 8.5, -14.5, 0.0 + + + + 1774 + + + 1.5200005 + 20.784103, 18.504566, 0.5 + -0.16504759, 0.0, 0.0, 0.9862856 + + + + 674 + + + 8.5, -15.5, 0.0 + + + + 673 + + Dynamic/Switch/Lever/Toggle + + Actor + + Dynamic/Switch/Lever/Damage Toggle + + (State 0 Signal) + RESET + (State 0 Tag) + _trap 2 + (State 1 Signal) + TOGGLE + (State 1 Tag) + _trap 2 + + + + + + 21.5, -14.5, 0.0 + + + + 672 + + Dynamic/Switch/Lever/Toggle + + Actor + + Dynamic/Switch/Lever/Damage Toggle + + (State 0 Signal) + RESET + (State 0 Tag) + _trap 3 + (State 1 Signal) + DOWN + (State 1 Tag) + _trap 3 + + + + + + 14.5, -14.5, 0.0 + + + + 1779 + + + 1.5199995 + 2.0359335, 16.3076, 3.2500002 + -1.7493688E-15, -3.0846176E-16, -0.98480767, 0.17364869 + + + + 1777 + + + 1.5199995 + 2.5090237, 23.104109, 2.9500005 + -1.774665E-15, -7.748464E-17, -0.9990482, 0.04362005 + + + + 1782 + + + 1.03 + -7.1401052, 19.589594, 3.0000005 + 4.5975556E-16, -1.715828E-15, 0.2588196, 0.9659257 + + + + 698 + + Dynamic/Misc/Heal Pad + + Heart + 3 + Interval + 1.0 + + + + 40.5, -16.5, 0.0 + + + + 1780 + + + 1.03 + 1.9045849, 17.917503, 2.9700005 + 4.5975556E-16, -1.715828E-15, 0.2588196, 0.9659257 + + + + 696 + + + 37.5, -16.5, 0.0 + + + + 1786 + + + 1.03 + 36.856487, 16.313807, 2.9700005 + -1.7746648E-15, -7.748508E-17, -0.9990482, 0.04362029 + + + + 694 + + + 31.5, -16.5, 0.0 + + + + 695 + + + 34.5, -16.5, 0.0 + + + + 1784 + + + 1.03 + 36.487236, 11.447279, 3.2500002 + -1.7746652E-15, -7.748467E-17, -0.9990482, 0.04362005 + + + + 1785 + + + 1.03 + 36.46392, 22.110422, 2.9700005 + -1.774665E-15, -7.7484873E-17, -0.9990482, 0.04362017 + + + + 1790 + + + 1.03 + -21.154373, 6.7327023, 3.0 + -1.7493688E-15, -3.0846176E-16, -0.98480767, 0.17364869 + + + + 1791 + + + 1.03 + -21.283176, 9.448347, 3.0 + -1.7763555E-15, -1.5634786E-21, -1.0, 9.099629E-7 + + + + 1788 + + + 1.03 + -21.235554, -2.5737257, 3.0 + -1.7493688E-15, -3.0846176E-16, -0.98480767, 0.17364869 + + + + 688 + + + 8.5, -16.5, 0.0 + + + + 1789 + + + 1.03 + -20.979645, 0.37652397, 3.0 + 1.7342493E-15, -3.844729E-16, 0.9762961, 0.21643907 + + + + 689 + + + 2.5, -16.5, 0.0 + + + + 1731 + + Prop/Clockworks/Fan, x2 01 + + Variant + Iron (default) + + + + 30.0, -9.669992, 1.56 + -1.3767875E-7, 0.7071067, -0.7071068, 1.3767878E-7 + + + + 1733 + + + 38.0, -9.669992, 1.56 + -2.2197243E-7, 0.70710665, -0.7071069, 2.219725E-7 + + + + 1732 + + + 34.0, -9.669992, 1.56 + -2.2197243E-7, 0.70710665, -0.7071069, 2.219725E-7 + + + + 648 + + + 31.5, -12.5, 0.0 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 645 + + + 29.500002, -12.500003, 0.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 641 + + Dynamic/Switch/Lever/Timed Toggle + + Actor + + Dynamic/Switch/Lever/Damage Timed Toggle + + Delay + 5000 + Start 1 Signal + toggle + State 0 Signal + toggle + State 0 Tag + _door 3 + State 1 Tag + _door 3 + + + + + + 25.5, 18.5, 0.0 + + + + 1740 + + Prop/Haven/Arcade/Static Gate Monitor + + Colorizations + + + 2 + + -0.389 + -0.165 + -0.106 + + + + 3 + + -0.466 + 0.338 + -0.666 + + + + Icon + ui/icon/map/knight.png + + + + 0.75 + 8.5, -6.6399803, 0.0 + + + + 643 + + Dynamic/Misc/Respawn Pad + + Actor + + Dynamic/Lift Objects/Clay Pot + + Delay + 5000 + + + + 26.5, 15.5, 0.0 + + + + 1744 + + Prop/Haven/Arcade/Static Gate Monitor + + Colorizations + + + 2 + + + 3 + + + Icon + ui/icon/theme/poison.png + + + + 0.7 + 29.998676, -9.856, 2.2299998 + 0.11320321, 0.0, 0.0, 0.9935719 + + + + 1746 + + Prop/Haven/Arcade/Static Gate Monitor + + Colorizations + + + 2 + + + 3 + + + Icon + ui/icon/theme/freeze.png + + + + 0.7 + 37.998676, -9.856, 2.2299998 + 0.11320321, 0.0, 0.0, 0.9935719 + + + + 1747 + + Prop/Haven/Arcade/Static Gate Monitor + + Colorizations + + + 2 + + + 3 + + + Icon + ui/icon/theme/fire.png + + + + 0.7 + 41.5, -10.206008, 1.9099985 + 0.11320321, 0.0, 0.0, 0.9935719 + + + + 1748 + + Prop/Haven/Arcade/Static Gate Monitor + + Colorizations + + + 2 + + + 3 + + + Icon + ui/icon/theme/shock.png + + + + 0.7 + 33.998676, -9.856, 2.2299998 + 0.11320321, 0.0, 0.0, 0.9935719 + + + + 664 + + Dynamic/Misc/Respawn Pad + + Actor + + Item/Pickups/Vial/Shock Vial + + Delay + 5000 + + + + -18.5, 0.5, 0.0 + + + + 665 + + Dynamic/Misc/Respawn Pad + + Actor + + Item/Pickups/Vial/Freeze Vial + + Delay + 5000 + + + + -18.5, 2.5, 0.0 + + + + 666 + + Dynamic/Misc/Respawn Pad + + Actor + + Item/Pickups/Vial/Curse Vial + + Delay + 5000 + + + + -18.5, 4.5, 0.0 + + + + 662 + + Prop/Clockworks/Pipes, ground - Iron Large/Straight 3 unit + + + 0.49999905, -5.499999, 0.0 + 0.0, 0.0, 5.9604623E-8, 1.0 + + + + 663 + + Dynamic/Misc/Respawn Pad + + Actor + + Item/Pickups/Vial/Stun Vial + + Delay + 5000 + + + + -18.5, -1.5, 0.0 + + + + 657 + + Prop/Clockworks/Lamp, short rail-mounted + + Light Color + Teal + + + + 2.5, -5.5, 3.0 + + + + 1703 + + Prop/Knights/Computer 1, toughbox + + + 5.4914083, 5.6280203, 0.11999998 + + + + 1701 + + Prop/Clockworks/Pipes, ground - Blue Large/Diagonal 3unit + + + 26.5, -7.5, 0.0 + 0.0, 0.0, 0.7071069, 0.7071067 + + + + 1700 + + + 27.5, -8.5, 0.0 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 1706 + + + 3.886101, 2.0458965, 0.11999998 + 0.0, 0.0, -0.9659258, -0.25881895 + + + + 1719 + + + 19.5, 5.500001, 0.0 + 0.0, 0.0, -8.0466253E-7, 1.0 + + + + 1717 + + + 16.5, 8.5, 0.0 + 0.0, 0.0, -0.7071069, 0.7071067 + + + + 1714 + + + 11.500001, 8.500001, 0.0 + 0.0, 0.0, -0.7071068, 0.7071067 + + + + 766 + + Prop/Clockworks/Pipes, ground - Iron Large/Diagonal 1unit + + + 1.5, 1.5, 0.0 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 1715 + + + 13.500002, 8.5, 0.0 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 1726 + + + 12.5, -0.50000095, 0.0 + 0.0, 0.0, -1.0, 3.1391647E-7 + + + + 1724 + + + 12.499999, 1.499999, 0.0 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 1725 + + + 10.5, 1.5000002, 0.0 + 0.0, 0.0, -0.7071069, 0.7071067 + + + + 1723 + + + 24.5, -5.5000005, 0.0 + 0.0, 0.0, -0.7071069, 0.7071067 + + + + 1720 + + Prop/Clockworks/Pipes, ground - Iron Large/Diagonal 2unit + + + 17.5, 7.5, 0.0 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 1721 + + + 18.5, 6.5, 0.0 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 1669 + + + -0.49999854, 7.5000005, 0.0 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 1668 + + + -2.5000002, 6.5, 0.0 + 0.0, 0.0, -5.9604638E-8, 1.0 + + + + 1671 + + + 3.4999998, 9.5, 0.0 + 0.0, 0.0, -2.0861624E-7, 1.0 + + + + 1670 + + + 0.49999988, 2.4999995, 0.0 + 0.0, 0.0, -0.7071069, 0.7071067 + + + + 1665 + + + 0.49999952, -7.4999986, 0.0 + 0.0, -0.0, 1.1920929E-7, -1.0 + + + + 1664 + + + 0.5, -1.499999, 0.0 + 0.0, 0.0, -1.1920928E-7, 1.0 + + + + 1667 + + + -2.5, 3.5, 0.0 + 0.0, 0.0, 0.70710665, 0.7071069 + + + + 1673 + + + 1.4999998, 0.50000024, 0.0 + 0.0, 0.0, -2.0861619E-7, 1.0 + + + + 1672 + + + 0.49999973, -2.4999998, 0.0 + 0.0, 0.0, -2.0861626E-7, 1.0 + + + + 1674 + + + -6.5, 6.5, 0.0 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 1684 + + + -11.499994, -3.5000014, 0.0 + 0.0, 0.0, -0.70710653, 0.70710707 + + + + 1685 + + + -8.499999, -13.500001, -0.03 + 0.0, 0.0, 1.0, 4.3312576E-7 + + + + 1687 + + + -5.5000005, -13.499998, 0.0 + 0.0, 0.0, -1.1920928E-7, 1.0 + + + + 1692 + + + -4.5, -10.5, 0.0 + 0.0, 0.0, -2.086162E-7, 1.0 + + + + 1688 + + + -4.499998, -13.5, 0.0 + 0.0, 0.0, -0.7071068, 0.7071067 + + + + 1689 + + + -4.5, -11.5, 0.0 + 0.0, 0.0, -2.086162E-7, 1.0 + + + + 1690 + + + -5.5, -11.5, 0.0 + 0.0, 0.0, -2.086162E-7, 1.0 + + + + 1691 + + + -5.5, -10.5, 0.0 + 0.0, 0.0, -2.086162E-7, 1.0 + + + + 727 + + + 0.5, -1.5, 0.0 + + + + 821 + + Dynamic/Misc/Respawn Pad + + Actor + + Item/Pickups/Capsule/Health Capsule + + Delay + 5000 + + + + -4.5, -15.5, 0.0 + + + + 1912 + + + 9.5, 5.5, 0.0 + + + + 820 + + + -5.5, -15.5, 0.0 + + + + 1915 + + Prop/Gremlin/Counter Props/Counter x1 03 + + + 6.5, 5.5, 0.0 + 0.0, 0.0, -1.0, 1.9470718E-7 + + + + 823 + + + 0.5, -15.5, 0.0 + + + + 1917 + + Prop/Gremlin/Counter Props/Counter x1 01 + + Model + bar_x1_01 + + + + 3.500001, 5.5, 0.0 + 0.0, 0.0, -1.0, 1.9470718E-7 + + + + 1916 + + + 7.5, 5.5, 0.0 + 0.0, 0.0, -1.0, 3.1391647E-7 + + + + 1919 + + + 5.500001, 5.5, 0.0 + 0.0, 0.0, -1.0, 4.3312576E-7 + + + + 819 + + + -3.5, -15.5, 0.0 + + + + 1918 + + Prop/Gremlin/Counter Props/Counter x1 04 + + + 4.500001, 5.5, 0.0 + 0.0, 0.0, -1.0, 1.9470718E-7 + + + + 818 + + + -6.5, -15.5, 0.0 + + + + 1911 + + Other/Tagged + + Tag + (Tag) + + + + + 13.5 + 10.5 + + + 13.5 + 10.5 + + + + + 802 + + + 8.031938, 4.0, 0.84 + 0.0, 0.0, -0.15643449, 0.98768836 + + + + 1888 + + Lights/Spot/Default + + Attenuation + + 0.6 + 0.06 + 0.0060 + + Color + 0.4, 0.8, 1.0, 1.0 + Direction + 0.0, -4.371139E-8, -1.0 + Extent + + 5.0 + 5.0 + 24.0 + + Falloff + + 7.0 + 40.0 + + Shape + + 5.0 + 5.0 + + + + + 32.0, 7.0, 2.8099978 + + + + 1890 + + + 38.0, 8.0, 2.8099978 + -0.1276739, -0.206133, -0.027137924, 0.96977943 + + + + 1891 + + + 37.539986, 9.915388, 0.7299998 + 0.037584413, -0.169532, -0.9614638, 0.21315178 + + + + 1874 + + Lights/Spot/Default + + Attenuation + + 0.6 + 0.06 + 0.0060 + + Color + 1.0, 0.8784314, 0.5137255, 1.0 + Direction + 0.0, -4.371139E-8, -1.0 + Extent + + 4.5 + 12.0 + 24.0 + + Falloff + + 5.0 + 40.0 + + Shape + + 4.5 + 12.0 + + + + + 5.5, -21.77003, 3.1899974 + 0.25038, 0.0, 0.0, 0.96814764 + + + + 792 + + + 8.02011, 4.1244807, 0.0 + + + + 1867 + + Lights/Spot/Default + + Attenuation + + 0.6 + 0.06 + 0.0060 + + Color + 1.0, 0.5411765, 0.10980392, 1.0 + Direction + 0.0, -4.371139E-8, -1.0 + Extent + + 16.0 + 12.0 + 24.0 + + Falloff + + 4.0 + 39.0 + + Shape + + 16.0 + 12.0 + + + + + 22.569933, 16.699993, 8.260094 + 0.06923652, -0.12157249, 0.008501178, 0.9901284 + + + + 1865 + + Lights/Spot/Default + + Attenuation + + 0.6 + 0.06 + 0.0060 + + Color + 1.0, 0.2, 0.0, 1.0 + Direction + 0.0, -4.371139E-8, -1.0 + Extent + + 10.0 + 8.0 + 24.0 + + Falloff + + 4.0 + 40.0 + + Shape + + 10.0 + 10.0 + + + + + -14.0, 17.0, 4.530009 + -0.2079117, 0.0, 0.0, 0.9781476 + + + + 1870 + + Lights/Spot/Default + + Attenuation + + 0.6 + 0.06 + 0.0060 + + Color + 0.9137255, 1.0, 0.5411765, 1.0 + Direction + 0.0, -4.371139E-8, -1.0 + Extent + + 12.0 + 12.0 + 24.0 + + Falloff + + 5.0 + 40.0 + + Shape + + 12.0 + 12.0 + + + + + 35.909996, -14.590094, 7.2000694 + 0.08715571, 0.0, 0.0, 0.9961947 + + + + 768 + + + -0.5, 2.5, 0.0 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 1869 + + Lights/Spot/Default + + Attenuation + + 0.6 + 0.06 + 0.0060 + + Color + 1.0, 0.5647059, 0.32941177, 1.0 + Direction + 0.0, -4.371139E-8, -1.0 + Extent + + 12.0 + 12.0 + 24.0 + + Falloff + + 5.0 + 40.0 + + Shape + + 12.0 + 12.0 + + + + + 18.909996, -13.370066, 7.2000694 + 0.08715573, 0.0, 0.0, 0.9961947 + + + + 1859 + + Lights/Spot/Default + + Attenuation + + 0.6 + 0.06 + 0.0060 + + Color + 1.0, 0.78431374, 0.45882353, 1.0 + Direction + 0.0, -4.371139E-8, -1.0 + Extent + + 14.0 + 14.0 + 24.0 + + Falloff + + 5.0 + 43.0 + + Shape + + 14.0 + 14.0 + + + + + -5.0, -10.0, 8.840107 + + + + 1863 + + Lights/Spot/Default + + Attenuation + + 0.6 + 0.06 + 0.0060 + + Color + 1.0, 0.9411765, 0.39607844, 1.0 + Direction + 0.0, -4.371139E-8, -1.0 + Extent + + 12.0 + 8.0 + 24.0 + + Falloff + + 10.0 + 30.0 + + Shape + + 12.0 + 8.0 + + + + + -17.600117, -2.169967, 6.010042 + 0.26187348, -0.19211693, 0.05327875, 0.94428533 + + + + 1853 + + Lights/Spot/Default + + Attenuation + + 0.6 + 0.06 + 0.0060 + + Color + 0.41568628, 0.8901961, 0.8901961, 1.0 + Direction + 0.0, -4.371139E-8, -1.0 + Extent + + 12.0 + 12.0 + 24.0 + + Falloff + + 4.0 + 41.0 + + Shape + + 12.0 + 12.0 + + + + + 5.5, -2.0599988, 5.439967 + 0.25881904, 0.0, 0.0, 0.9659258 + + + + 1855 + + Lights/Spot/Default + + Attenuation + + 0.6 + 0.06 + 0.0060 + + Color + 0.2, 0.6, 1.0, 1.0 + Direction + 0.0, -4.371139E-8, -1.0 + Extent + + 12.0 + 5.0 + 24.0 + + Falloff + + 39.0 + + Shape + + 12.0 + 5.0 + + + + + 5.1, 19.1, 6.010042 + -0.10243002, -0.19827576, -0.02083962, 0.97455657 + + + + 882 + + + 6.5, 1.5, 0.0 + + + + 891 + + Prop/Gremlin/Counter Props/Counter x1 - Elbow Out 01 + + Model + bar_x1_out_01 + + + + 9.5, 1.5, 0.0 + + + + 894 + + Prop/Gremlin/Counter Props/Counter x1 - End cap Right + + + 9.5, 2.500002, 0.0 + 0.0, -0.0, -0.70710677, -0.70710677 + + + + 865 + + Dynamic/Misc/Respawn Pad + + Actor + + Dynamic/Lift Objects/Fire Pot + + Delay + 5000 + + + + 31.5, 9.5, 0.0 + + + + 866 + + Dynamic/Misc/Respawn Pad + + Actor + + Dynamic/Lift Objects/Oil Pot + + Delay + 5000 + + + + 33.5, 9.5, 0.0 + + + + 867 + + + 29.5, 10.5, 0.0 + + + + 868 + + + 30.5, 10.5, 0.0 + + + + 869 + + + 31.5, 10.5, 0.0 + + + + 870 + + + 32.5, 10.5, 0.0 + + + + 1834 + + Camera/Default + + Camera + + 1 + 0.0, 0.7853982, 7.5 + + Easing + + + Extent - X axis + 11.5 + Extent - Y axis + 7.0 + Extent - Z axis + 10.0 + Transition + 1.0 + + + + 9.75, 17.5, 0.0 + + + + 871 + + + 33.5, 10.5, 0.0 + + + + 1835 + + + 2.3099988 + -34.80555, -0.6480012, 4.5500093 + -0.8986327, -0.32707527, 0.27473956, -0.09999609 + + + + 1828 + + Camera/Default + + Camera + + 1 + 0.0, 0.7853982, 8.5 + + Easing + + + Extent - X axis + 6.0 + Extent - Y axis + 8.0 + Extent - Z axis + 10.0 + Transition + 1.0 + + + + 32.0, 6.0, 0.0 + + + + 872 + + + 34.5, 10.5, 0.0 + + + + 873 + + + 28.5, 7.5, 0.0 + + + + 874 + + + 28.5, 8.5, 0.0 + + + + 875 + + + 28.5, 9.5, 0.0 + + + + 876 + + + 28.5, 10.5, 0.0 + + + + 1825 + + Camera/Default + + Camera + + 1 + 0.0, 0.7853982, 7.5 + + Easing + + + Extent - X axis + 6.0 + Extent - Y axis + 4.0 + Extent - Z axis + 10.0 + Transition + 1.0 + + + + 5.9908257, 2.0381165, 0.0 + + + + 877 + + Prop/Clockworks/Pipes, floor small/Blue, standing - Valve, 2.5unit + + Spawn with Valve? + Yes + + + + 37.500004, 9.499996, 0.0 + 0.0, 0.0, 0.0, -0.99999994 + + + + 851 + + + 36.5, 1.5, 0.0 + + + + 850 + + + 35.5, 1.5, 0.0 + + + + 849 + + + 34.5, 1.5, 0.0 + + + + 848 + + + 33.5, 1.5, 0.0 + + + + 855 + + + 28.5, 2.5, 0.0 + + + + 854 + + + 28.5, 3.5, 0.0 + + + + 853 + + + 38.5, 1.5, 0.0 + + + + 852 + + + 37.5, 1.5, 0.0 + + + + 856 + + + 28.5, 1.5, 0.0 + + + + 1811 + + Camera/Default + + Camera + + 1 + 0.0, 0.7853982, 7.5 + + Easing + + + Extent - X axis + 6.0 + Extent - Y axis + 6.0 + Extent - Z axis + 10.0 + Transition + 1.0 + + + + 32.0, -2.0, 0.0 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 1809 + + Prop/Knights/Block - Toughbox + + + 6.705759, 5.6439853, 0.11999998 + 0.0, 0.0, 0.70710677, -0.7071067 + + + + 861 + + + 29.5, 9.5, 0.0 + + + + 1804 + + + 2.004697, 2.5910292, 0.0 + -0.015114227, 0.008726202, -0.49992383, 0.86589354 + + + + 1805 + + + 2.9630382, 3.1005025, 0.11999998 + 0.0, 0.0, 0.8433915, 0.5372996 + + + + 1802 + + + 8.5, -5.5, 3.0 + + + + 1803 + + + 0.75 + 2.5, -6.6399803, 0.0 + + + + 1800 + + Prop/General/Tech/Energy-pulsing Cables/Cable, 12 unit + + + 2.5, -5.5, -0.6 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 1798 + + + 8.5, -5.5, -0.59999996 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 1796 + + Prop/Clockworks/Lamp, tall rail-mounted + + Light Color + Deconstruction Zone + + + + -9.714038, 17.707956, 0.0 + 0.044943362, 0.16773127, 0.9512514, 0.25488648 + + + + 841 + + + 34.5, 14.5, 0.0 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + 846 + + + 31.5, 1.5, 0.0 + + + + 1795 + + + -18.318232, 17.687199, 0.0 + 0.05221712, -0.16561116, -0.93922764, 0.29613802 + + + + 847 + + + 32.5, 1.5, 0.0 + + + + 844 + + + 29.5, 1.5, 0.0 + + + + 1793 + + + 1.03 + -20.500864, 11.476193, 3.0 + -1.309666E-15, -1.2000894E-15, -0.73727685, 0.67559075 + + + + 845 + + + 30.5, 1.5, 0.0 + + + + 937 + + + 10.5, 5.5, 0.0 + + + + 936 + + + 3.9865925, 4.0640955, 0.0 + 0.0, 0.0, -0.34202006, 0.9396927 + + + + 939 + + Item/Consumable/Vitapod + + + -14.5, -14.5, 0.0 + + + + 932 + + Prop/Gremlin/Counter Props/Counter x1 - End cap Left + + + 8.5, 5.5, 0.0 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 935 + + + 7.676996, 2.5486379, 0.0 + 0.0, 0.0, -0.34202006, 0.9396927 + + + + 925 + + + 2.5, 5.5, 0.0 + 0.0, 0.0, 0.9999999, -4.4703484E-7 + + + + 1987 + + + 17.5, -1.5, 0.0 + + + + 1986 + + + 21.5, -1.5, 0.0 + + + + 1985 + + + 21.5, 1.5, 0.0 + + + + 1984 + + + 19.5, 0.5, 0.0 + 0.0, 0.0, -1.0, 5.5233505E-7 + + + + 1991 + + + 31.5, 0.5, 0.0 + + + + 1990 + + + 33.5, -3.5, 0.0 + + + + 1989 + + + 17.5, 1.5, 0.0 + + + + 1995 + + + -17.5, 13.5, 0.0 + + + + 1994 + + + -17.5, 15.5, 0.0 + + + + 1993 + + + 39.5, 6.5, 0.0 + + + + 1992 + + + 31.5, -4.5, 0.0 + + + + 1999 + + + -10.5, 15.5, 0.0 + + + + 1998 + + + -10.5, 13.5, 0.0 + + + + 1997 + + + -12.5, 13.5, 0.0 + + + + 1996 + + + -15.5, 13.5, 0.0 + + + + 1973 + + Dynamic/Portal/Destination + + Default Entrance + false + Tag + move_konway + + + + 5.5000005, -1.4999968, 0.0 + -0.0, 0.0, 1.0, -4.371139E-8 + + + + 1018 + + + 38.5, 7.5, 0.0 + + + + 1974 + + Triggers/Player Standing + + Entered Action + + + Exited Action + + + + close + + _door 2 + + + + 2 + + _button 1 + + + + + + + + + 15.5 + 11.5 + + + 23.5 + 11.5 + + + 23.5 + 21.5 + + + 15.5 + 21.5 + + + + + 1020 + + + 38.5, 4.5, 0.0 + + + + 1969 + + + 19.5, 3.3799999, 0.0 + 0.0, 0.0, -5.9604638E-8, 1.0 + + + + 1970 + + + 20.0, 0.0, 2.8099978 + + + + 1008 + + + -3.5, -4.5, 0.5 + + + + 1980 + + Dynamic/Lift Objects/Heavy Statue + + + 5.5, 19.5, 0.0 + + + + 1009 + + + -2.5, -5.5, 0.5 + + + + 1981 + + + 9.5, 19.5, 0.0 + + + + 1982 + + + 19.5, -1.5, 0.0 + 0.0, 0.0, -1.0, 5.5233505E-7 + + + + 1010 + + + -2.5, -6.5, 0.5 + + + + 1983 + + + 19.5, -0.5, 0.0 + 0.0, 0.0, -1.0, 5.5233505E-7 + + + + 1976 + + + -25.5, 8.5, 0.0 + + + + 1014 + + + 39.5, 1.5, 0.0 + + + + 1015 + + + 40.5, 1.5, 0.0 + + + + 1001 + + + -7.5, -6.5, 0.5 + + + + 1003 + + + -7.5, -4.5, 0.5 + + + + 1959 + + + 19.5, 3.5, 0.0 + 0.0, 0.0, -1.0, 5.5233505E-7 + + + + 1002 + + + -7.5, -5.5, 0.5 + + + + 1005 + + + -5.5, -4.5, 0.5 + + + + 1004 + + + -6.5, -4.5, 0.5 + + + + 1007 + + + -2.5, -4.5, 0.5 + + + + 1006 + + + -4.5, -4.5, 0.5 + + + + 1967 + + + -1.5000014, -13.5, -0.03 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 1966 + + + 19.5, -3.499999, 0.0 + 0.0, 0.0, -0.7071068, 0.7071067 + + + + 1961 + + + 19.5, -1.5, -0.03 + 0.0, 0.0, -1.0, 5.5233505E-7 + + + + 1963 + + + 21.5, -3.4999998, 0.0 + 0.0, 0.0, -0.7071069, 0.7071067 + + + + 1962 + + + 23.5, -3.5, 0.0 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 986 + + Item/Crowns/Silver Crown + + + -14.5, -10.5, 0.0 + + + + 984 + + Item/Crowns/Copper Crown + + + -15.5, -10.5, 0.0 + + + + 985 + + Item/Crowns/Gold Crown + + + -15.5, -11.5, 0.0 + + + + 990 + + + -15.5, -14.5, 0.0 + + + + 988 + + + -14.5, -11.5, 0.0 + + + + 989 + + + -15.5, -13.5, 0.0 + + + + 979 + + Item/Heat/Ember 3 + + + -15.5, -8.5, 0.0 + + + + 976 + + + -14.5, -13.5, 0.0 + + + + 1948 + + + 18.04554, 3.4828215, 0.0 + -0.017449746, -3.0458532E-4, 0.017449737, 0.9996954 + + + + 1949 + + + 21.5, 2.5, 0.0 + + + + 982 + + + -14.5, -8.5, 0.0 + + + + 1947 + + + 21.069807, 3.4997864, 0.0 + -0.017435795, 7.6125935E-4, -0.04361254, 0.99889606 + + + + 980 + + + -14.5, -7.5, 0.0 + + + + 981 + + + -15.5, -7.5, 0.0 + + + + 975 + + + -16.499996, -14.499993, 0.0 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 974 + + + -16.499996, -8.499993, 0.0 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 1922 + + + 7.5, 1.5, 0.0 + + + + 1921 + + + 8.5, 1.5, 0.0 + + + + 1920 + + Prop/Gremlin/Counter Props/Counter 4x4 - Curved Elbow + + Model + bar_x4_curved_elbow + + + + 3.5, 2.5, 0.0 + + + + + \ No newline at end of file diff --git a/scenes/32.xml b/scenes/32.xml new file mode 100644 index 0000000..2bf287b --- /dev/null +++ b/scenes/32.xml @@ -0,0 +1,2660 @@ + + + + + + + + + + 0, -1 + + + 4849664, 131072, 3670019, 65536, 327680, 393216, 393216, 393216, 196610, 4128768, 2818048, 3014656, 2883584, 3014656, 3014656, 2818048, 1048578, 393218, 393218, 4915202, 393218, 393218, 393218, 327682, 2, 1441794, 2, 1048576, 1048576, 1048578, 0, 1572864, 1507328, 1572864, 983042, 851970, 0, 851968, 851970, 983040, 1507330, 1048576, 1048576, 0, 1441794, 1048576, 983042, 0, 1703938, 1310722, 1376258, 1703938, 1703938, 1310722, 1048576, 983042, 1245186, 1769474, 1769472, 1835010, 1245186, 1769474, 1572866, 1441792 + + 0, 0 + + + 1245186, 1769474, 1769472, 1900544, 1835008, 1966082, 2, 851970, 1245186, 2162690, 2097154, 2031616, 1900544, 2162690, 1310722, 851968, 1245186, 1245184, 1900546, 2031616, 1900544, 2031616, 1769474, 1572866, 1900546, 1245186, 2097152, 1638400, 1703936, 1638400, 1376256, 851968, 1835010, 2097152, 1376256, 2, 983040, 1376258, 1638402, 1310722, 1703936, 1376256, 983040, 1441794, 1179648, 1966080, 1835010, 1769474, 1703938, 1310722, 1048578, 851968, 0, 1966080, 2031618, 1769474, 2031618, 1769474, 983040, 1048578, 1376258, 2097154, 2031616, 1769474 + + -1, -1 + + + 393216, 393216, 327680, 131072, 3670019, 65536, 4915200, 1441794, 3014656, 2883584, 2883584, 3014656, 3014656, 4653056, 262144, 1048578, 393218, 393218, 327682, 327682, 327682, 393218, 0, 0, 1048578, 851968, 851968, 1048576, 983040, 1507328, 983040, 1572866, 1507330, 0, 1441794, 851968, 851970, 2, 2, 983040, 1048576, 983040, 1507330, 851970, 1572864, 1048576, 1048578, 983040, 851970, 851968, 1376258, 1638402, 1703938, 1310722, 1376258, 1638402, 983042, 983042, 1966080, 1900544, 1835010, 1769474, 1769472, 1245186 + + 1, 0 + + + 1179650, 851970, 196610, 3932162, 4915200, 983042, 851970, 196610, 983042, 851968, 262146, 3735554, 262144, 983042, 1441794, 262146, 983040, 1179648, 4915202, 3735552, 65536, 393216, 393216, 131072, 1048576, 1441794, 196610, 3670018, 2424832, 2555904, 2359296, 3670019, 1048576, 851968, 4849664, 3735552, 131074, 327682, 65538, 3997696, 851968, 1441792, 262146, 3801090, 262144, 1572866, 262146, 3801088, 983042, 1507330, 196610, 3801088, 262144, 0, 196610, 3801088, 851968, 983042, 196610, 3866626, 196608, 1048576, 262146, 3866626 + + 2, -1 + + + 458753, -1, -1, -1, 458755, 3145731, 2752512, 2752512, 458753, -1, -1, -1, 589827, 3276803, 2752512, 2752512, 458753, -1, -1, -1, 458755, 3342336, 2949120, 2949120, 589825, -1, -1, -1, 1114114, 720896, 786432, 720896, 458753, -1, -1, -1, -1, -1, -1, -1, 655361, 1114115, 589824, 458752, 458752, 589824, 524288, 655360, 458753, 458755, 3538947, 3145728, 3145728, 3145728, 3145728, 3276800, 524289, 589827, 3145731, 3670042, 2359320, 2228248, 2359320, 2424856 + + 2, 0 + + + 458753, 589827, 3276803, 3801114, 2752512, 2752512, 2752512, 2752512, 589825, 458755, 3276803, 3735578, 2752512, 2752512, 2752512, 2752512, 458753, 655363, 3276803, 3670041, 2752512, 2752512, 2752512, 2752512, 458753, 589827, 3342336, 2949120, 2949120, 2949120, 2949120, 2949120, 524289, 917506, 720896, 720896, 720896, 720896, 786432, 720896, 655361, -1, 917507, 655360, 458752, 589824, 524288, 589824, 458753, -1, 589827, 3407875, 3145728, 3145728, 3276800, 3407872, 458753, -1, 524291, 3145731, 2752512, 2752512, 2293784, 3276801 + + 3, 0 + + + 2752512, 2752512, 2752512, 3145729, 589825, -1, -1, -1, 2752512, 2752512, 2752512, 3276801, 524289, -1, 1114115, 655360, 2752512, 2752512, 2752512, 3276801, 458753, -1, 458755, 3538947, 2949120, 2949120, 2949120, 3080192, 589825, -1, 458755, 3145731, 786432, 720896, 720896, 720896, 917505, -1, 458755, 3276803, 1114112, 917507, 458752, 589824, 589824, 458752, 4063235, 3145731, 655361, 458755, 3407875, 3145728, 3276800, 3145728, 3145728, 3473411, 458753, 589827, 3276803, 2752512, 2752512, 2752512, 2752512, 2752512 + + 1, -1 + + + 131072, 4456450, 1310720, 1638400, 1703936, 1376256, 3801090, 196610, 3014656, 4521986, 2883584, 4521984, 3014656, 4653056, 3670018, 196610, 327682, 393218, 65538, 4587520, 983040, 1572864, 1179648, 196610, 0, 1572864, 262146, 3670018, 2359296, 2424832, 3670019, 196610, 1048576, 983042, 196610, 3801088, 1048576, 983040, 3997696, 262146, 1048576, 2, 196610, 3997696, 0, 851970, 3866624, 262146, 851968, 983042, 196610, 3801090, 2, 0, 3670017, 2293761, 851968, 851968, 262146, 3801090, 0, 1179648, 0, 196610 + + 4, 0 + + + -1, -1, -1, -1, -1, -1, -1, -1, 458752, 524288, 458752, 589824, 917504, -1, -1, -1, 3145728, 3276800, 3276800, 3407872, 458753, -1, -1, -1, 2752512, 2752512, 2752512, 3145729, 655361, -1, -1, -1, 2752512, 2752512, 2752512, 3276801, 458753, -1, -1, -1, 2752512, 2752512, 2752512, 3145729, 655361, -1, -1, -1, 2752512, 2752512, 2752512, 3145729, 524289, -1, -1, -1, 2752512, 2752512, 2752512, 3276801, 589825, -1, -1, -1 + + 4, -1 + + + 3145728, 3473411, 2752512, 2752512, 2752512, 3145729, 458753, -1, 3276824, 3145752, 3145752, 3538968, 2752512, 3276801, 524289, -1, 2752536, 2752536, 2752536, 3276825, 2752512, 3145729, 589825, -1, 2752536, 2752536, 2752536, 3276825, 2752512, 3145729, 589825, -1, 2752536, 2752536, 2752536, 3276825, 2752512, 3276801, 524289, -1, 2949144, 2949144, 2949144, 3080216, 2752512, 3145729, 589825, -1, 2949120, 2949120, 2949120, 2949120, 2949120, 3080192, 458753, -1, 720896, 720896, 720896, 720896, 720896, 720896, 1114113, -1 + + 3, -1 + + + 2752512, 2752512, 2752512, 3145729, 524289, 458755, 3407875, 3145728, 2752512, 2752512, 2752512, 3145729, 589825, 524291, 3145731, 3407899, 2949120, 2949120, 2949120, 3080192, 589825, 589827, 3145731, 3145755, 720896, 720896, 720896, 720896, 1114113, 458755, 3145731, 3145755, -1, -1, -1, -1, -1, 524291, 3276803, 3145755, 655360, 458752, 524288, 524288, 1114112, 524291, 3145731, 3342360, 3276800, 3145728, 3276800, 3538944, 458753, 524291, 3342336, 2949120, 2490392, 2359320, 2293785, 3276801, 589825, 917506, 720896, 720896 + + -4, 1 + + + 3276800, 3145728, 3276800, 3276800, 3407872, 458753, 917507, 589824, 3145752, 3145752, 3276824, 3538968, 3145729, 524289, 589827, 3538947, 2752536, 2752536, 2752536, 3276825, 3276801, 589825, 458755, 3276803, 2752536, 2752536, 2752536, 3276825, 3276801, 589825, 655363, 3276803, 2752536, 2752536, 2752536, 3145753, 3276801, 458753, 589827, 3145731, 2949144, 2949144, 2949144, 3080216, 3145729, 458753, 524291, 3145731, 2949120, 2949120, 2949120, 2949120, 3080192, 458753, 458755, 3145731, 786432, 720896, 720896, 786432, 720896, 917505, 458755, 3276803 + + -5, 1 + + + -1, -1, -1, 917507, 3211267, 3538947, 3145728, 3276800, -1, -1, -1, 524291, 3407875, 3473411, 2752512, 3407899, -1, -1, -1, 458755, 3145731, 2752512, 2752512, 3276827, -1, -1, -1, 589827, 3145731, 2752512, 2752512, 3145755, -1, -1, -1, 458755, 3276803, 2752512, 2752512, 3145755, -1, -1, -1, 589827, 3276803, 2752512, 2752512, 3342360, -1, -1, -1, 589827, 3342336, 2949120, 2949120, 2949120, -1, -1, -1, 917506, 786432, 720896, 720896, 786432 + + -5, 0 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 917507, 458752, 458752, 458752 + + -2, 1 + + + 3735554, 262144, 2031618, 1966082, 3735552, 262144, 983040, 1179650, 3866624, 262144, 1835010, 1769474, 3801088, 262144, 1572864, 983040, 3735554, 65536, 4915200, 4915200, 3866624, 65536, 327680, 327680, 3670018, 2490368, 2293761, 0, 3670019, 4128768, 4653056, 2293760, 3801088, 851968, 983040, 851970, 1376258, 1638402, 1310722, 3866624, 3997696, 851970, 1507328, 983040, 1966080, 1245186, 1769474, 3997696, 3801088, 1048578, 1048576, 983042, 1310720, 1638400, 1376256, 3801090, 3670017, 2359296, 2359296, 2228224, 2359296, 2490368, 2621440, 3670016 + + -4, 0 + + + -1, 458755, 3276803, 3145755, 2752536, 2752536, 2752536, 2752536, -1, 458755, 3145731, 3145755, 2752536, 2752536, 2752536, 2752536, -1, 458755, 3145731, 3276827, 2752536, 2752536, 2752536, 2752536, -1, 458755, 3145731, 3145755, 2752536, 2752536, 2752536, 2752536, -1, 524291, 3276803, 3342360, 2949144, 2949144, 2949144, 2949144, -1, 458755, 3342336, 2949120, 2949120, 2949120, 2949120, 2949120, -1, 917506, 786432, 720896, 720896, 720896, 720896, 786432, 589824, 589824, 524288, 458752, 655360, 917504, -1, -1 + + -3, 0 + + + 2752536, 3145753, 2752512, 3997720, 3276801, 458753, -1, 458755, 2752536, 3276825, 2752512, 3866650, 3276801, 458753, -1, 524291, 2752536, 3145753, 2752512, 3735576, 3276801, 458753, -1, 589827, 2752536, 3276825, 2752512, 3997722, 3276801, 458753, -1, 524291, 2949144, 3080216, 2752512, 3670041, 3145729, 589825, -1, 458755, 2949120, 2949120, 2949120, 2949120, 3080192, 458753, -1, 524291, 720896, 720896, 720896, 720896, 720896, 917505, -1, 655363, -1, -1, -1, -1, -1, -1, -1, 458755 + + -3, 1 + + + 458752, 655360, 458752, 917504, -1, -1, -1, 524291, 3145728, 3276800, 3538944, 524289, -1, -1, -1, 655363, 2752512, 2752512, 3145729, 3604480, 458752, 589824, 1114112, 589827, 2752512, 2752512, 3473408, 3145728, 3276800, 3407872, 458753, 655363, 3670042, 4128792, 2818072, 2883608, 4259864, 3145729, 589825, 589827, 3735576, 2752512, 2752512, 2752512, 4390936, 3145729, 458753, 524291, 3735576, 2752512, 2752512, 2752512, 4456474, 3145729, 458753, 589827, 3670041, 4128792, 2818072, 2818072, 4259865, 3276801, 458753, 524291 + + 0, 1 + + + 2031618, 2162690, 1703938, 1703938, 2097154, 1900544, 1835010, 1966082, 2031616, 2031616, 1245184, 2031616, 1835008, 2031616, 2097152, 1376256, 1245186, 1835008, 1900546, 2031618, 1900544, 1835010, 1966082, 4849664, 1900546, 2031618, 2031616, 1245186, 1900544, 2031616, 1966082, 196610, 1835008, 1900544, 1245184, 2097152, 1703936, 1703936, 1376256, 196610, 1638400, 1638400, 1703936, 1376256, 1048576, 1048576, 3670019, 196610, 393216, 327680, 4915200, 983042, 4849664, 393216, 393216, 131072, 2818048, 5570560, 196608, 1441794, 262146, 5505024, 2359296, 2490368 + + -2, 0 + + + 196608, 1179648, 983040, 262146, 3801088, 4915200, 0, 0, 262144, 983040, 1572864, 196610, 3735554, 196608, 2, 1048576, 262144, 851970, 851970, 262146, 3735554, 4915200, 1179648, 2, 196608, 1441792, 1048578, 196610, 3735552, 196608, 983040, 1441792, 65536, 4915200, 2, 4915202, 3670017, 4915200, 1572864, 1572864, 2293760, 262144, 1179648, 2, 3866624, 4915200, 1179650, 851970, 3997696, 262144, 1638402, 1310722, 3735552, 196608, 1179650, 2, 3866626, 262144, 1245186, 1769474, 3801090, 262144, 1179648, 983042 + + -1, 0 + + + 1048576, 983040, 1966080, 1245184, 1835008, 1769474, 1966080, 1835010, 851970, 1376258, 2097154, 1835008, 1245186, 2162690, 2097154, 1245184, 1048578, 1966080, 1245186, 2031618, 1835008, 1245184, 1245186, 1245186, 0, 1310720, 1638400, 1638400, 1638400, 2162688, 1245184, 1835008, 1376258, 1638402, 1310722, 851968, 0, 1310720, 2162688, 1835008, 1966080, 1835008, 1966082, 2, 983042, 0, 1310720, 1638400, 1966080, 1900546, 1966082, 1441794, 0, 983042, 1376258, 1703938, 1769472, 1900544, 2162690, 1310722, 983042, 983040, 1966080, 1835010 + + -1, 1 + + + 1769472, 1245184, 1245184, 2162690, 1703938, 1638402, 2097154, 1900546, 1310720, 2162688, 1900544, 1245184, 1245184, 2031618, 2031618, 1900544, 4915200, 1769472, 1245186, 2031616, 1835010, 1245184, 1245186, 1835010, 262144, 1966080, 1245184, 1835008, 1245186, 1900546, 2031616, 1900546, 4915200, 1310720, 1703936, 1703936, 2162688, 1900544, 1245186, 1835010, 262144, 3670017, 983040, 2, 1310720, 1703936, 1638400, 1638400, 65536, 393216, 327680, 327680, 393216, 393216, 327680, 393216, 2555904, 2228224, 2686976, 2883584, 2883584, 3014656, 2883584, 2818048 + + 3, 1 + + + 458753, 458755, 3276803, 2752512, 2752512, 2752512, 2752512, 2752512, 655361, 589827, 3145731, 2752512, 2752512, 2752512, 2752512, 2752512, 524289, 589827, 3342336, 2949120, 2949120, 2949120, 2949120, 2949120, 458753, 1114114, 720896, 720896, 786432, 786432, 720896, 786432, 589825, -1, -1, -1, -1, -1, -1, 1114115, 524289, 917507, 458752, 524288, 589824, 655360, 1114112, 458755, 458753, 655363, 3407875, 3276800, 3145728, 3538944, 524289, 458755, 655361, 458755, 3276803, 2752512, 2752512, 3145729, 458753, 458755 + + 1, -2 + + + 393218, 327682, 327682, 327682, 393218, 327682, 393218, 65538, 2359296, 2359296, 2424832, 2621440, 2228224, 2621440, 3670019, 262146, 393218, 393218, 393218, 327682, 327682, 65538, 3866626, 262146, 1179650, 1048576, 851968, 851968, 2, 262146, 3997696, 262146, 4849664, 393216, 4915200, 983042, 851968, 262146, 3735554, 196610, 262146, 3670016, 4653056, 1179650, 1048578, 4653058, 3735554, 196610, 196610, 4456448, 1376258, 1703938, 1703938, 1310722, 3866626, 196610, 196610, 4718594, 1769472, 2031616, 1835010, 1769474, 3801090, 262146 + + 0, -2 + + + 851970, 262146, 2293760, 327682, 327682, 393218, 327682, 393218, 1572866, 196610, 3670017, 2424832, 2621440, 2490368, 2490368, 2359296, 1572866, 196610, 3932162, 131074, 393218, 327682, 327682, 327682, 851970, 196610, 3801090, 196608, 1376258, 1703938, 1703938, 1310722, 1572866, 262146, 3735554, 196608, 1966080, 2031616, 2031618, 1966082, 0, 196610, 3997698, 196608, 1769472, 1900544, 1835008, 1966082, 851968, 196610, 3866626, 196608, 1769472, 1835008, 1900546, 1966082, 1441792, 196610, 3866624, 196608, 1310720, 1638400, 1703936, 1376256 + + 4, 1 + + + 2752512, 2752512, 2752512, 3276801, 655361, -1, -1, -1, 2752512, 2752512, 2752512, 3145729, 458753, -1, -1, -1, 2949120, 2949120, 2949120, 3080192, 589825, -1, -1, -1, 720896, 720896, 720896, 720896, 917505, -1, -1, -1, 589824, 524288, 655360, 458752, 458752, 589824, 458752, 458752, 3407875, 3145728, 3145728, 3276800, 3145728, 3145728, 3145728, 3407872, 3145731, 3670042, 2490392, 2359320, 2424856, 2359320, 3670043, 3276801, 3276803, 3801114, 2752512, 2752512, 2752512, 2752512, 3735578, 3145729 + + -1, -2 + + + 327682, 393218, 327682, 393218, 2293760, 262144, 851970, 851970, 2359296, 2359296, 2555904, 2359296, 3670016, 262144, 851970, 851970, 393218, 327682, 393218, 65538, 3801090, 262144, 851970, 1572866, 1376258, 1638402, 1310722, 262146, 3866626, 196608, 851970, 851970, 1769472, 1245184, 1966082, 262146, 3997698, 262144, 1507328, 983040, 1769472, 2031618, 1769474, 262146, 3866626, 196608, 851970, 0, 1769472, 1245184, 1769474, 262146, 3801090, 262144, 851970, 1507330, 1310720, 1703936, 1376256, 196610, 3735552, 196608, 1048578, 851970 + + 1, 1 + + + 851970, 851970, 262146, 3866624, 262144, 2, 196610, 3801088, 1048578, 1572864, 196610, 3866626, 4849666, 2, 4915202, 3866626, 4849664, 327680, 131072, 3932160, 0, 1507328, 1048578, 3866624, 3670018, 2686976, 2228224, 3670016, 1376258, 1638402, 1310722, 3735552, 3735552, 1376258, 1703938, 1638402, 2097154, 1835010, 1769474, 3801088, 3735554, 1966080, 1835010, 1835010, 1835010, 1900544, 1769474, 3735552, 3932160, 1310720, 1703936, 1638400, 1638400, 1703936, 1376256, 3735554, 3670017, 2359296, 2228224, 2621440, 2424832, 2555904, 2359296, 3670016 + + -2, -2 + + + 131074, 4128768, 4653056, 327682, 393218, 327682, 393218, 327682, 196608, 3670018, 2359296, 2228224, 2490368, 2424832, 2359296, 2359296, 196608, 3866624, 131074, 393218, 327682, 65538, 4325376, 131074, 262144, 3735554, 196608, 1048578, 1048576, 4915202, 4587520, 262144, 196608, 3997696, 262144, 1376258, 1638402, 1310722, 4915202, 4849666, 262144, 3801088, 196608, 1769472, 1835008, 1769474, 851968, 1048576, 196608, 3801088, 196608, 1310720, 1703936, 1376256, 4849664, 4915200, 196608, 3801090, 196608, 0, 851970, 4849664, 3670019, 196608 + + 2, 1 + + + 458753, -1, 589827, 3276803, 2752512, 2752512, 3997722, 3145729, 524289, 917507, 3211267, 3145731, 2752512, 2752512, 3735576, 3276801, 589825, 655363, 3407875, 3473411, 2752512, 2752512, 3735576, 3145729, 458753, 524291, 3276803, 2293784, 2752512, 2752512, 3801114, 3145729, 458753, 458755, 3276803, 3801112, 2752512, 2752512, 3932186, 3276801, 524289, 524291, 3145731, 3801112, 2752512, 2752512, 3735576, 3276801, 589825, 458755, 3145731, 3801112, 2752512, 2752512, 3735576, 3276801, 524289, 458755, 3276803, 3670041, 2424856, 2555928, 3670040, 3276801 + + 4, -2 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1114115, 589824, 524288, 524288, 655360, 589824, 1114112, -1, 524291, 3407875, 3276800, 3145728, 3145728, 3407872, 655361, -1, 524291, 3145731, 2752512, 2752512, 2752512, 3276801, 524289, -1, 3211267, 3145731, 2752512, 2752512, 2752512, 3145729, 458753, -1 + + 3, -2 + + + 2949132, 3080204, 3342325, 524277, -1, -1, -1, -1, 3014644, 3014644, 3145716, 655349, -1, -1, -1, -1, 851956, 786420, 786420, 1179637, -1, -1, -1, -1, 589824, 589824, 458752, 589824, 917504, -1, -1, -1, 3276800, 3145728, 3276800, 3538944, 589825, -1, -1, -1, 2752512, 2752512, 2752512, 3145729, 458753, -1, -1, -1, 2752512, 2752512, 2752512, 3276801, 655361, -1, -1, -1, 2752512, 2752512, 2752512, 3145729, 524289, 1114115, 458752, 524288 + + 5, 1 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1114112, -1, -1, -1, -1, -1, -1, -1, 458753, -1, -1, -1, -1, -1, -1, -1, 458753, -1, -1, -1, -1, -1, -1, -1, 589825, -1, -1, -1, -1, -1, -1, -1 + + 2, -2 + + + 458753, -1, -1, 589815, 3211255, 3342348, 2949132, 2949132, 524289, -1, -1, 524279, 3407860, 3014644, 3014644, 3014644, 458753, -1, -1, 1179638, 851956, 786420, 786420, 786420, 458753, -1, -1, -1, 1114115, 589824, 524288, 458752, 458753, -1, -1, -1, 589827, 3538947, 3145728, 3276800, 458753, -1, -1, -1, 524291, 3276803, 2752512, 2752512, 458753, -1, -1, -1, 458755, 3145731, 2752512, 2752512, 589825, -1, -1, -1, 458755, 3145731, 2752512, 2752512 + + -3, 2 + + + 2949120, 2949120, 2949120, 2949120, 2949120, 3080192, 458753, 1114114, 720896, 720896, 720896, 720896, 720896, 720896, 917505, -1, 524288, 458752, 589824, 589824, 524288, 524288, 458752, 458752, 3145728, 3145728, 3145728, 3145728, 3145728, 3145728, 3145728, 3145728, 3407899, 3276824, 3145752, 3276824, 3145752, 3538968, 2293787, 2424856, 3276827, 2752536, 2752536, 2752536, 2752536, 3145753, 2752512, 2752512, 3276827, 2752536, 2752536, 2752536, 2752536, 3276825, 2752512, 2752512, 3342360, 2949144, 2949144, 2949144, 2949144, 3080216, 3670042, 3670042 + + -4, 2 + + + 589824, 589824, 458752, 458752, 589824, 1114112, 458755, 3342336, 3145728, 3145728, 3276800, 3145728, 3538944, 458753, 1114114, 720896, 3145752, 3276824, 3276824, 3538968, 3276801, 655361, 1114115, 655360, 2752536, 2752536, 2752536, 3276825, 3276801, 458753, 655363, 3407875, 2752536, 2752536, 2752536, 3145753, 3276801, 458753, 458755, 3145731, 2752536, 2752536, 2752536, 3145753, 3276801, 589825, 458755, 3276803, 2949144, 2949144, 2949144, 3080216, 3276801, 458753, 589827, 3276803, 2949120, 2949120, 2949120, 2949120, 3080192, 589825, 524291, 3276803 + + -5, 2 + + + -1, -1, -1, -1, -1, 917507, 655360, 458752, -1, -1, -1, -1, -1, 524291, 3538947, 3145728, -1, -1, -1, -1, -1, 458755, 3145731, 3538971, -1, -1, -1, -1, -1, 458755, 3145731, 3145755, -1, -1, -1, -1, -1, 589827, 3145731, 3276827, -1, -1, -1, -1, -1, 458755, 3145731, 3276827, -1, -1, -1, -1, -1, 524291, 3145731, 3342360, -1, -1, -1, -1, -1, 458755, 3342336, 2949120 + + 1, 2 + + + 720896, 720896, 786432, 720896, 786432, 720896, 720896, 720896, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1114115, 589824, 655360, 655360, 589824, 655360, 524288, -1, 458755, 3538947, 3145728, 3145728, 3145728, 3145728, 3276800, 458752, 3211267, 3145731, 2293787, 2424856, 2293785, 3538971, 3145752, 3538947, 3145728, 3473411, 2752512, 2752512, 2752512, 3276827, 2752536, 3145731, 2293787, 2490392, 2555928, 2359320, 2293785, 3276827, 2752536, 3145731, 2752512, 2752512, 2752512, 2752512, 2752512, 3145755, 2752536 + + -3, -1 + + + 2752512, 2752512, 2752512, 4390936, 3145729, 524289, -1, 458755, 3670043, 4128792, 3014680, 4259865, 3276801, 589825, -1, 458755, 3735576, 4194304, 2949120, 2949120, 3080192, 589825, -1, 524291, 3801114, 3276801, 3604481, 720896, 720896, 917505, -1, 458755, 3866648, 3276801, 524289, -1, -1, -1, -1, 458755, 3866648, 3145729, 3211264, 524288, 458752, 917504, -1, 589827, 3670040, 3473408, 3276800, 3276800, 3407872, 524289, -1, 524291, 3145752, 3407896, 2752512, 2293784, 3276801, 589825, -1, 458755 + + 0, 2 + + + 786432, 3211266, 262144, 983042, 262146, 3211265, 720896, 720896, -1, 589827, 196608, 1048576, 262146, 458753, -1, -1, -1, 589827, 196608, 2, 262146, 458753, -1, -1, -1, 458755, 196608, 983042, 262146, 524289, -1, -1, -1, 589827, 196608, 983042, 262146, 524289, -1, 1114115, -1, 589827, 262144, 983040, 262146, 524289, -1, 655363, -1, 458755, 262144, 983042, 196610, 458753, -1, 458755, -1, 458755, 196608, 1441792, 262146, 458753, -1, 524291 + + -2, -1 + + + 262144, 3735554, 65536, 393216, 327680, 131072, 4456448, 65536, 262144, 3670018, 4128768, 2818048, 4521984, 2818048, 4521986, 2818048, 196608, 983042, 983042, 2, 4587520, 131074, 327682, 393218, 2293763, 2424832, 2424832, 2424832, 3670019, 262144, 1572864, 851968, 131074, 327682, 393218, 65538, 3735554, 4849666, 983040, 1507330, 262144, 983040, 983040, 262146, 3997696, 196608, 1048576, 1572866, 196608, 2, 2, 196610, 3735552, 196608, 1507330, 1048578, 262144, 983042, 1048576, 262146, 3801090, 196608, 851970, 1507330 + + -1, 2 + + + 786432, 720896, 786432, 786432, 720896, 720896, 720896, 720896, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -2, 2 + + + 720896, 720896, 720896, 720896, 720896, 720896, 786432, 786432, -1, -1, -1, -1, -1, -1, -1, -1, 458752, 458752, 589824, 458752, 589824, 524288, 917504, -1, 3276800, 3276800, 3276800, 3276800, 3276800, 3407872, 524289, -1, 2359320, 2359320, 2424856, 2424856, 3670043, 3276801, 458753, -1, 2752512, 2752512, 2752512, 2752512, 3735576, 3276801, 458753, -1, 2752512, 2752512, 2752512, 2752512, 3866648, 3276801, 589825, -1, 2424856, 2424856, 2555928, 2359320, 3670040, 3276801, 458753, -1 + + -4, -1 + + + -1, -1, -1, 458755, 3276803, 2752512, 2752512, 2752512, -1, -1, -1, 458755, 3276803, 2293787, 2490392, 2359320, -1, -1, -1, 589827, 3145731, 2752512, 2752512, 2752512, -1, -1, -1, 655363, 3276803, 2752512, 2752512, 2752512, -1, -1, -1, 524291, 3276803, 2752512, 2752512, 2752512, -1, 1114115, 655360, 3211267, 3145731, 2752512, 2752512, 2752512, -1, 524291, 3407875, 3276800, 3473411, 2752512, 2752512, 2752512, -1, 524291, 3145731, 3538971, 3276824, 3276824, 3145752, 3276824 + + 2, -3 + + + 524277, 655351, 3407860, 3014644, 3014644, 3014644, 3014644, 3014644, 524277, 983030, 851956, 786420, 786420, 851956, 851956, 786420, 524277, -1, -1, 983031, 720884, 524276, 655348, 655348, 524277, -1, -1, 589815, 3604471, 3211252, 3211252, 3211252, 655349, -1, -1, 524279, 3211255, 3538959, 3145740, 3276812, 524277, -1, -1, 524279, 3211255, 3145743, 2752524, 2752524, 983029, -1, -1, 655351, 3211255, 3276815, 2752524, 2752524, 1114112, -1, -1, 524279, 3211255, 3276815, 2752524, 2752524 + + 1, -3 + + + 2752524, 2752524, 2752524, 2752524, 3145741, 2818036, 3997708, 3342325, 2752524, 2752524, 2752524, 2752524, 3276813, 2818036, 3866638, 3342325, 2752524, 2752524, 2752524, 2752524, 3145741, 2818036, 3735564, 3342325, 2752524, 2752524, 2752524, 2752524, 3276813, 2818036, 3997710, 3342325, 2949132, 2949132, 2949132, 2949132, 3080204, 2818036, 3670029, 3211253, 3014644, 3014644, 3014644, 3014644, 3014644, 3014644, 3014644, 3145716, 786420, 786420, 851956, 786420, 786420, 786420, 786420, 786420, 524288, 524288, 655360, 589824, 524288, 458752, 458752, 589824 + + 3, -3 + + + 3014644, 3014644, 3145716, 524277, -1, -1, -1, -1, 786420, 851956, 786420, 983029, -1, -1, -1, -1, 524276, 524276, 655348, 1179636, -1, -1, -1, -1, 3342324, 3211252, 3604468, 524277, -1, -1, -1, -1, 3276812, 3538956, 3342325, 720885, -1, -1, -1, -1, 2752524, 3276813, 3342325, 524277, -1, -1, -1, -1, 2752524, 3145741, 3342325, 524277, -1, -1, -1, -1, 2752524, 3145741, 3342325, 655349, -1, -1, -1, -1 + + -2, -3 + + + 3342327, 2818036, 2818036, 3538932, 3211252, 3342324, 3473396, 524277, 3211255, 3670030, 4128780, 2818060, 2883596, 4259852, 3211253, 655349, 3211255, 3735564, 2818036, 2818036, 2818036, 4390924, 3211253, 524277, 3211255, 3735564, 2818036, 2818036, 2818036, 4456462, 3211253, 524277, 3342327, 3670029, 4128780, 2818060, 2818060, 4259853, 3342325, 524277, 3407860, 3014644, 3014644, 3014644, 3014644, 3014644, 3145716, 524277, 786420, 786420, 786420, 786420, 786420, 786420, 786420, 983029, 524288, 589824, 589824, 589824, 589824, 655360, 458752, 589824 + + 2, 2 + + + 917505, 458755, 3342336, 2949120, 2949120, 2949120, 2949120, 3080192, -1, 917506, 720896, 786432, 720896, 720896, 720896, 786432, 458752, 589824, 458752, 1114112, 917507, 458752, 524288, 524288, 3145728, 3276800, 3407872, 458753, 458755, 3407875, 3276800, 3276800, 3276824, 3538968, 3145729, 458753, 524291, 3145731, 3407899, 3145752, 2752536, 3276825, 3276801, 655361, 458755, 3145731, 3276827, 2752536, 2752536, 3276825, 3276801, 589825, 458755, 3145731, 3145755, 2752536, 2752536, 3276825, 3145729, 524289, 589827, 3276803, 3145755, 2752536 + + 3, 2 + + + 524289, 589827, 3276803, 2752512, 2752512, 3276801, 524289, 458755, 1114113, 458755, 3145731, 2752512, 2752512, 3276801, 458753, 458755, 524288, 3211267, 3145731, 2752512, 2752512, 3276801, 589825, 458755, 3145728, 3145728, 3473411, 2752512, 2752512, 3145729, 524289, 458755, 3276824, 3145752, 3276824, 3276824, 3407896, 3276801, 524289, 458755, 2752536, 2752536, 2752536, 2752536, 3145753, 3276801, 458753, 589827, 2752536, 2752536, 2752536, 2752536, 3276825, 3145729, 458753, 1114114, 2752536, 2752536, 2752536, 2752536, 3276825, 3276801, 589825, -1 + + -3, -3 + + + 786420, 786420, 786420, 851956, 786420, 786420, 1179637, 720887, 1179639, 655348, 589812, 589812, 720884, 655348, 1179636, 655351, 589815, 3473399, 3342324, 3211252, 3211252, 3473396, 720885, 589815, 589815, 3211255, 2818036, 2818036, 2818036, 3342325, 589813, 524279, 3276791, 3211255, 2818036, 2818036, 2818036, 3211253, 524277, 524279, 3211252, 3538935, 2818036, 2818036, 2818036, 3211253, 524277, 524279, 3276812, 3145740, 3145740, 3538956, 2818036, 3342325, 589813, 1179638, 2752524, 2752524, 2752524, 3276813, 2818036, 3211253, 655349, 917507 + + 0, -3 + + + 65518, 327662, 655341, -1, 524279, 3342327, 3145743, 2752524, 65518, 327662, 655341, -1, 524279, 3211255, 3145743, 2752524, 5505000, 5177320, 5111789, -1, 524279, 3211255, 3276815, 2752524, 5505004, 5177324, 5111793, -1, 524279, 3211255, 3145743, 2752524, 5373936, 5177328, 5111797, -1, 589815, 3342327, 3342348, 2949132, 5439476, 5308404, 5111801, -1, 524279, 3407860, 3014644, 3014644, 5373944, 5177336, 4849661, -1, 983030, 851956, 786420, 786420, 5373948, 5308412, 4063232, 655360, 458752, 524288, 589824, 458752 + + 4, 2 + + + 3276803, 3932184, 2752512, 2752512, 2752512, 2752512, 3866650, 3276801, 3276803, 3997722, 2752512, 2752512, 2752512, 2752512, 3997722, 3145729, 3145731, 3735578, 2752512, 2752512, 2752512, 2752512, 3801114, 3145729, 3276803, 3801112, 2752512, 2752512, 2752512, 2752512, 3735578, 3145729, 3145731, 3670041, 2228248, 2490392, 2424856, 2555928, 3670040, 3276801, 3342336, 2949120, 2949120, 2949120, 2949120, 2949120, 2949120, 3080192, 720896, 720896, 786432, 786432, 720896, 720896, 720896, 720896, -1, -1, -1, -1, -1, -1, -1, -1 + + -1, -3 + + + -1, -1, -1, -1, 655343, 262124, 1245166, 1245166, -1, -1, -1, -1, 524271, 327660, 65518, 65518, -1, -1, -1, -1, 5046255, 5242856, 5505000, 5505000, -1, -1, -1, -1, 5046259, 5242860, 5505004, 5505004, -1, -1, -1, -1, 5046263, 5242864, 5373936, 5373936, -1, -1, -1, -1, 5046267, 5242868, 5439476, 5439476, -1, -1, -1, -1, 5046271, 5242872, 5373944, 5373944, 655360, 589824, 655360, 589824, 3211267, 5242876, 5373948, 5439484 + + 5, 2 + + + 458753, -1, -1, -1, -1, -1, -1, -1, 655361, -1, -1, -1, -1, -1, -1, -1, 458753, -1, -1, -1, -1, -1, -1, -1, 589825, -1, -1, -1, -1, -1, -1, -1, 589825, -1, -1, -1, -1, -1, -1, -1, 458753, -1, -1, -1, -1, -1, -1, -1, 1114113, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 0, 3 + + + -1, 458755, 262144, 0, 196610, 655361, -1, 458755, -1, 458755, 196608, 2, 196610, 458753, -1, 458755, -1, 458755, 262144, 1048576, 262146, 589825, -1, 917506, -1, 458755, 262144, 0, 262146, 589825, -1, -1, -1, 458755, 262144, 851968, 196610, 655361, -1, -1, -1, 589827, 262144, 983042, 196610, 589825, -1, -1, -1, 655363, 262144, 1048576, 262146, 589825, -1, -1, -1, 4980739, 5177344, 5373952, 5701632, 4784129, -1, -1 + + 2, 3 + + + 2949144, 3080216, 3145729, 589825, 524291, 3145731, 3342360, 2949144, 2949120, 2949120, 3080192, 589825, 655363, 3342336, 2949120, 2949120, 720896, 720896, 720896, 917505, 917506, 786432, 786432, 786432, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 458752, 917504, -1, -1, -1, -1, -1, -1 + + -4, -2 + + + -1, -1, -1, -1, -1, 524279, 3211255, 3145743, -1, -1, -1, -1, -1, 589815, 3342327, 3145743, -1, -1, -1, -1, -1, 589815, 3211255, 3342348, -1, -1, -1, -1, -1, 589815, 3407860, 3014644, -1, -1, -1, -1, -1, 983030, 786420, 786420, -1, -1, -1, 1114115, 655360, 655360, 458752, 458752, -1, -1, -1, 458755, 3538947, 3145728, 3276800, 3276800, -1, -1, -1, 524291, 3145731, 2752512, 2752512, 2752512 + + 1, 3 + + + 3276803, 2293787, 2424856, 2490392, 2359320, 2293785, 3342360, 2949144, 3342336, 2949120, 2949120, 2949120, 2949120, 2949120, 2949120, 2949120, 786432, 786432, 720896, 720896, 720896, 720896, 720896, 720896, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 917507, 655360, 458752, 589824, 589824 + + -3, -2 + + + 2752524, 2752524, 2752524, 3276813, 2818036, 3211253, 655349, 589827, 2752524, 2752524, 2752524, 3276813, 2818036, 3342325, 589813, 655363, 2949132, 2949132, 2949132, 3080204, 2818036, 3211253, 655349, 458755, 3014644, 3014644, 3014644, 3014644, 3014644, 3145716, 524277, 589827, 786420, 786420, 786420, 786420, 786420, 786420, 1179637, 589827, 524288, 589824, 655360, 458752, 655360, 1114112, -1, 589827, 3145728, 3276800, 3276800, 3276800, 3407872, 458753, -1, 458755, 2752512, 2752512, 2752512, 4325400, 3276801, 655361, -1, 589827 + + -4, 3 + + + 720896, 720896, 786432, 720896, 720896, 1114113, 524291, 3342336, 458752, 524288, 589824, 458752, 458752, 1114112, 1114114, 720896, 3407875, 3276800, 3145728, 3276800, 3538944, 4063232, 589824, 458752, 3276803, 2752512, 2752512, 2752512, 3473408, 3145728, 3276800, 3145728, 3145731, 2752512, 2752512, 2752512, 2752512, 2752512, 2752512, 2752512, 3276803, 2752512, 2752512, 2752512, 2752512, 2752512, 2752512, 2752512, 3145731, 2752512, 2752512, 2752512, 2752512, 2752512, 2752512, 2752512, 3145731, 2752512, 2752512, 2752512, 2752512, 2752512, 2752512, 2752512 + + -5, 3 + + + -1, -1, -1, -1, -1, 1114114, 786432, 720896, -1, -1, -1, -1, -1, -1, -1, 1114115, -1, -1, -1, -1, -1, -1, -1, 524291, -1, -1, -1, -1, -1, -1, -1, 589827, -1, -1, -1, -1, -1, -1, -1, 524291, -1, -1, -1, -1, -1, -1, -1, 589827, -1, -1, -1, -1, -1, -1, -1, 589827, -1, -1, -1, -1, -1, -1, -1, 524291 + + -2, 3 + + + 2949120, 2949120, 2949120, 2949120, 2949120, 3080192, 589825, -1, 786432, 786432, 720896, 720896, 720896, 786432, 917505, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 458752, 524288, 655360, 917504, -1, -1, -1, -1, 3145728, 3276800, 3407872, 524289, -1, -1, -1, -1, 2424856, 3670043, 3276801, 524289, -1, -1, -1, -1, 2752512, 3997720, 3276801, 4063232, 1114112, -1, -1, -1 + + -3, 3 + + + 2949120, 2949120, 2949120, 2949120, 2949120, 2949120, 3670041, 3670040, 720896, 720896, 720896, 786432, 786432, 786432, 720896, 720896, 458752, 917504, -1, -1, -1, -1, -1, -1, 3538944, 458753, -1, -1, -1, -1, -1, -1, 3145729, 655361, -1, 1114115, 458752, 589824, 589824, 524288, 3276801, 589825, -1, 589827, 3538947, 3145728, 3276800, 3276800, 3145729, 655361, -1, 655363, 3145731, 2293787, 2359320, 2424856, 3276801, 458753, -1, 458755, 3145731, 2752512, 2752512, 2752512 + + 3, -4 + + + 851956, 786420, 786420, 786420, -1, -1, -1, -1, 589812, 524276, 720884, 983028, -1, -1, -1, -1, 3342324, 3342324, 3473396, 524277, -1, -1, -1, -1, 3276812, 3538956, 3211253, 589813, -1, -1, -1, -1, 2752524, 3276813, 3342325, 655349, -1, -1, -1, -1, 2752524, 3276813, 3342325, 655349, -1, -1, -1, -1, 2752524, 3145741, 3342325, 524277, -1, -1, -1, -1, 2949132, 3080204, 3211253, 524277, -1, -1, -1, -1 + + 2, -4 + + + 589813, -1, -1, -1, -1, -1, -1, 983030, 655349, -1, 983031, 524276, 524276, 524276, 655348, 655348, 655349, 983031, 3276791, 3604471, 3211252, 3342324, 3342324, 3211252, 983029, 589815, 3473399, 3538935, 2818036, 3407887, 3145740, 3145740, -1, 524279, 3211255, 2818036, 2818036, 3276815, 2752524, 2752524, 983028, 655351, 3211255, 2818036, 2818036, 3145743, 2752524, 2752524, 589813, 524279, 3342327, 2818036, 2818036, 3145743, 2752524, 2752524, 655349, 655351, 3342327, 2818036, 2818036, 3342348, 2949132, 2949132 + + 1, -4 + + + 2818036, 2818036, 2818036, 2818036, 2818036, 2818036, 4390924, 3211253, 2293775, 2490380, 2359308, 3670031, 4128780, 3014668, 4259853, 3342325, 2818036, 2818036, 2818036, 3735564, 4259828, 3014644, 3014644, 3145716, 2818036, 2818036, 2818036, 3801102, 3342325, 3670005, 786420, 786420, 2818036, 2818036, 2818036, 3866636, 3342325, 589813, -1, -1, 2818036, 2818036, 2818036, 3866636, 3211253, 3276788, 589812, 524276, 2818036, 2818036, 2818036, 3670028, 3538932, 3342324, 3342324, 3473396, 3276812, 3145740, 3276812, 3145740, 3407884, 2818036, 2293772, 3342325 + + 0, -4 + + + 655340, 655340, 1179628, -1, -1, -1, 524279, 3342327, 458734, 131054, 524269, -1, -1, -1, 524279, 3342327, -1, 327662, 524269, -1, -1, -1, 655351, 3211255, -1, 262126, 524269, -1, -1, -1, 720887, 3342327, -1, 262126, 589805, -1, -1, -1, 589815, 3342327, 65516, 327662, 589805, -1, 1179639, 720884, 3276791, 3211255, 65516, 327662, 589805, -1, 589815, 3473399, 3342324, 3538935, 65516, 327662, 589805, -1, 589815, 3211255, 3538959, 3276812 + + -1, -4 + + + -1, -1, -1, -1, 1179631, 524268, 589804, 524268, -1, -1, -1, -1, 655343, 196590, 458734, 393198, -1, -1, -1, -1, 589807, 327660, -1, -1, -1, -1, -1, -1, 655343, 327660, -1, -1, -1, -1, -1, -1, 720879, 327660, -1, -1, -1, -1, -1, -1, 524271, 327660, 4915182, 917486, -1, -1, -1, -1, 655343, 327660, 917484, 65516, -1, -1, -1, -1, 524271, 327660, 65516, 65516 + + -2, -4 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 655348, 524276, 720884, 524276, 983028, -1, -1, -1, 3604471, 3211252, 3342324, 3604468, 589813, -1, -1, -1, 3342327, 2818036, 2818036, 3211253, 3670004, 524276, 655348, 1179636 + + -3, -4 + + + 524276, 655348, 655348, 524276, 524276, 655348, 1179636, -1, 3211252, 3211252, 3211252, 3342324, 3211252, 3604468, 524277, -1, 3538959, 3145740, 3276812, 3276812, 3538956, 3342325, 720885, -1, 3145743, 2752524, 2752524, 2752524, 3276813, 3342325, 524277, -1, 3276815, 2752524, 2752524, 2752524, 3145741, 3342325, 524277, -1, 3276815, 2752524, 2752524, 2752524, 3145741, 3342325, 655349, 983031, 3342348, 2949132, 2949132, 2949132, 3080204, 3342325, 524277, 655351, 3014644, 3014644, 3014644, 3014644, 3014644, 3145716, 655349, 524279 + + 3, 3 + + + 2949144, 2949144, 2949144, 2949144, 3080216, 3276801, 458753, -1, 2949120, 2949120, 2949120, 2949120, 2949120, 3080192, 458753, -1, 720896, 720896, 786432, 786432, 720896, 720896, 917505, -1, -1, -1, -1, -1, 1114115, 589824, 524288, 589824, -1, -1, -1, -1, 458755, 3538947, 3145728, 3145728, -1, -1, -1, -1, 458755, 3276803, 2752512, 2752512, -1, -1, -1, -1, 458755, 3276803, 2752512, 2752512, -1, -1, -1, -1, 458755, 3276803, 2752512, 2752512 + + -4, -4 + + + -1, -1, -1, -1, -1, -1, 983031, 720884, -1, -1, -1, -1, -1, -1, 589815, 3604471, -1, -1, -1, -1, -1, -1, 524279, 3211255, -1, -1, -1, -1, -1, -1, 524279, 3211255, -1, -1, -1, -1, -1, -1, 655351, 3211255, -1, -1, -1, -1, -1, -1, 524279, 3211255, -1, -1, -1, -1, -1, -1, 589815, 3211255, -1, -1, -1, -1, -1, -1, 524279, 3407860 + + 4, 3 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 458752, 589824, 917504, -1, -1, -1, -1, -1, 3276800, 3538944, 458753, -1, -1, -1, -1, -1, 2752512, 3276801, 458753, -1, -1, -1, -1, -1, 2752512, 3145729, 524289, -1, -1, -1, -1, -1, 2752512, 3145729, 458753, -1, -1, -1, -1, -1 + + -5, 4 + + + -1, -1, -1, -1, -1, -1, -1, 458755, -1, -1, -1, -1, -1, -1, -1, 917506, 589824, 458752, 1114112, -1, -1, -1, -1, -1, 3145728, 3407872, 3604480, 1114112, -1, -1, -1, -1, 2752512, 3473408, 3538944, 458753, -1, -1, -1, -1, 2752512, 2752512, 3276801, 589825, -1, -1, -1, -1, 2752512, 2752512, 3276801, 458753, -1, -1, -1, -1, 2752512, 2752512, 3145729, 458753, -1, -1, 1114115, 458752 + + -6, 4 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 917507, 524288, 524288, 458752, -1, -1, -1, -1, 589827, 3407875, 3145728, 3276800, -1, -1, -1, -1, 589827, 3276803, 2752512, 2752512, -1, -1, -1, -1, 589827, 3145731, 2752512, 2752512, -1, -1, -1, -1, 589827, 3276803, 2752512, 2752512, -1, -1, -1, -1, 524291, 3276803, 2752512, 2752512 + + 3, 4 + + + -1, -1, -1, -1, 524291, 3342336, 2949120, 2949120, -1, -1, -1, -1, 917506, 720896, 720896, 720896, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -4, -3 + + + -1, -1, -1, -1, -1, -1, 1179638, 851956, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1179639, 524276, 589812, -1, -1, -1, -1, -1, 524279, 3473399, 3211252, -1, -1, -1, -1, -1, 589815, 3211255, 3407887, -1, -1, -1, -1, -1, 655351, 3211255, 3145743 + + 2, 4 + + + 3407872, 524289, -1, -1, -1, -1, -1, -1, 3276801, 524289, -1, -1, -1, -1, -1, -1, 3145729, 458753, -1, -1, -1, -1, -1, -1, 3276801, 655361, -1, -1, -1, -1, -1, -1, 3145729, 458753, -1, -1, -1, -1, -1, -1, 3080192, 655361, -1, -1, -1, -1, -1, -1, 720896, 917505, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 1, 4 + + + -1, 917507, 589824, 3211267, 3538947, 3276800, 3145728, 3145728, -1, 589827, 3407875, 3145728, 3473411, 2752512, 2752512, 2752512, -1, 589827, 3145731, 2752512, 2752512, 2752512, 2752512, 2752512, -1, 458755, 3145731, 2752512, 2752512, 2752512, 2752512, 2752512, -1, 589827, 3145731, 2752512, 2752512, 2752512, 2752512, 2752512, -1, 589827, 3276803, 2752512, 2752512, 2752512, 4194304, 2949120, -1, 524291, 3342336, 2949120, 2949120, 2949120, 3080192, 3604481, -1, 1114114, 720896, 786432, 720896, 720896, 720896, 917505 + + 0, 4 + + + -1, 5832711, 5767172, 5308420, 5242884, 4784133, -1, -1, -1, 5832715, 5636104, 5439496, 5111816, 5046281, -1, -1, -1, 4980751, 5177356, 5373964, 5701644, 4784141, -1, -1, -1, 5832723, 5767184, 5308432, 5242896, 4784145, -1, -1, -1, 5832727, 5636116, 5439508, 5111828, 5046293, -1, -1, -1, 4980763, 5177368, 5373976, 5701656, 4784153, -1, -1, -1, 5832735, 5767196, 5308444, 5242908, 4784157, -1, -1, -1, 5832739, 5636128, 5439520, 5111840, 5046305, -1, -1 + + -2, 4 + + + 2752512, 3670041, 3473408, 3538944, 458753, -1, -1, -1, 3276824, 3276824, 3407896, 3276801, 458753, -1, -1, -1, 2752536, 2752536, 3276825, 3276801, 589825, -1, -1, -1, 2752536, 2752536, 3145753, 3276801, 589825, -1, -1, -1, 2752536, 2752536, 3276825, 3276801, 589825, -1, -1, -1, 2752536, 2752536, 3145753, 3145729, 524289, -1, -1, -1, 2949144, 2949144, 3080216, 3276801, 524289, -1, -1, -1, 2752512, 2752512, 4194304, 3080192, 524289, -1, -1, -1 + + -3, 4 + + + 3080192, 524289, -1, 655363, 3276803, 2752512, 2752512, 2752512, 720896, 917505, -1, 589827, 3145731, 3407899, 3276824, 3276824, -1, -1, -1, 458755, 3276803, 3276827, 2752536, 2752536, -1, -1, -1, 458755, 3276803, 3145755, 2752536, 2752536, -1, -1, -1, 524291, 3276803, 3276827, 2752536, 2752536, -1, -1, -1, 458755, 3145731, 3276827, 2752536, 2752536, -1, -1, -1, 589827, 3276803, 3342360, 2949144, 2949144, -1, -1, -1, 458755, 3145731, 2752512, 2752512, 2752512 + + -4, 4 + + + 3342336, 2949120, 2949120, 2949120, 2949120, 2949120, 2949120, 2949120, 720896, 720896, 720896, 786432, 720896, 720896, 786432, 720896, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 589824, 524288, 458752, 589824, 1114112, -1, -1, -1 + + 4, 4 + + + 2949120, 3080192, 589825, -1, -1, -1, -1, -1, 720896, 720896, 917505, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -4, -5 + + + -1, -1, -1, -1, 983031, 3276791, 3604471, 3211252, -1, -1, -1, -1, 589815, 3473399, 3538935, 2818036, -1, -1, -1, -1, 524279, 3211255, 2818036, 2818036, -1, -1, -1, -1, 655351, 3211255, 2818036, 2818036, -1, -1, -1, -1, 524279, 3342327, 2818036, 2818036, -1, -1, -1, -1, 655351, 3342327, 2818036, 2818036, -1, -1, -1, -1, 655351, 3407860, 3014644, 3014644, -1, -1, -1, -1, 983030, 851956, 786420, 786420 + + -3, -5 + + + 3342324, 3342324, 3211252, 3342324, 3342324, 3473396, 524277, -1, 3407887, 3145740, 3145740, 3276812, 3538956, 3211253, 589813, -1, 3276815, 2752524, 2752524, 2752524, 3276813, 3342325, 655349, -1, 3145743, 2752524, 2752524, 2752524, 3276813, 3342325, 655349, -1, 3145743, 2752524, 2752524, 2752524, 3145741, 3342325, 524277, -1, 3342348, 2949132, 2949132, 2949132, 3080204, 3211253, 524277, -1, 3014644, 3014644, 3014644, 3014644, 3014644, 3145716, 524277, -1, 851956, 851956, 786420, 786420, 851956, 786420, 983029, -1 + + 0, -5 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1179639, 720884, -1, -1, -1, -1, -1, -1, 524279, 3604471, -1, -1, -1, -1, -1, -1, 589815, 3211255 + + 1, -5 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 720884, 524276, 524276, 589812, 655348, 720884, 524276, 720884, 3211252, 3342324, 3342324, 3211252, 3342324, 3342324, 3342324, 3473396, 2818036, 2818036, 2818036, 2818036, 2818036, 2818036, 4325388, 3342325 + + 2, -5 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1179636, -1, -1, -1, -1, -1, -1, -1, 524277, -1, -1, -1, -1, -1, -1, -1, 720885, -1, -1, -1, -1, -1, -1, -1 + + -3, 5 + + + -1, -1, -1, 458755, 3145731, 2752512, 2752512, 2752512, -1, -1, -1, 589827, 3342336, 2949120, 2949120, 2949120, -1, -1, -1, 1114114, 720896, 720896, 720896, 720896, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -2, 5 + + + 2752512, 2752512, 3276801, 3604481, 917505, -1, -1, -1, 2949120, 2949120, 3080192, 524289, -1, -1, -1, -1, 720896, 720896, 720896, 1114113, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 0, 5 + + + -1, 4980775, 5177380, 5373988, 5701668, 4784165, -1, -1, -1, 5832747, 5767208, 5308456, 5242920, 4784169, -1, -1, -1, 5832751, 5636140, 5439532, 5111852, 5046317, -1, -1, -1, 4980787, 5177392, 5374000, 5701680, 4784177, -1, -1, -1, 5832759, 5767220, 5308468, 5242932, 4784181, -1, -1, -1, 5832763, 5636152, 5439544, 5111864, 5046329, -1, -1, -1, 655423, 262204, 1048636, 196670, 458813, -1, -1, -1, 589887, 262204, 852030, 196670, 458813, -1, -1 + + -6, 5 + + + -1, -1, -1, -1, 458755, 3342336, 2949120, 2949120, -1, -1, -1, -1, 1114114, 720896, 720896, 720896, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -5, 5 + + + 2949120, 2949120, 3080192, 458753, -1, -1, 458755, 3407875, 786432, 720896, 720896, 1114113, -1, -1, 458755, 3145731, -1, -1, -1, -1, -1, -1, 458755, 3276803, -1, -1, -1, -1, -1, -1, 589827, 3276803, -1, -1, -1, -1, -1, -1, 655363, 3342336, -1, -1, -1, -1, -1, -1, 1114114, 720896, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -4, 5 + + + 3145728, 3145728, 3145728, 3538944, 589825, -1, -1, -1, 2752512, 2752512, 2752512, 3276801, 458753, -1, -1, -1, 2752512, 2752512, 2752512, 3276801, 458753, -1, -1, -1, 2752512, 2752512, 2752512, 3276801, 458753, -1, -1, -1, 2949120, 2949120, 2949120, 3080192, 524289, -1, -1, -1, 720896, 720896, 720896, 720896, 1114113, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -4, -6 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 983031, 524276, 524276 + + -3, -6 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 983030, 851956, 786420, 786420, 786420, -1, 524276, 655348, 655348, 589812, 524276, 720884, 983028, -1 + + 0, 6 + + + -1, 458815, 262204, 1048636, 262206, 524349, -1, -1, -1, 524351, 196668, 852030, 196670, 524349, -1, -1, -1, 458815, 262204, 60, 196670, 458813, -1, -1, -1, 524351, 262204, 60, 262206, 589885, -1, -1, 589884, 3604543, 262204, 62, 196670, 3604540, 458812, 524348, 393278, 393278, 4849726, 983102, 4915262, 327742, 327742, 393278, 1572926, 1179708, 60, 60, 852030, 62, 983102, 1048638, 62, 1441854, 852030, 852028, 60, 1441854, 60, 1572924 + + 1, 6 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 589884, 524348, 589884, 458812, 458812, 1114172, -1, -1, 393278, 327742, 393278, 327742, 65598, 589885, -1, -1, 983100, 1179710, 852028, 60, 196670, 589885, -1, -1, 1572926, 4849724, 393276, 393276, 131132, 589885, -1, -1 + + -1, 6 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1114175, 589884, 458812, 458812, 458812, 458812, 458812, -1, 524351, 131134, 327742, 327742, 393278, 327742, 327742, -1, 458815, 196668, 983100, 1507388, 852028, 1507390, 983100, -1, 524351, 65596, 327740, 327740, 4915260, 60, 62 + + -1, 7 + + + -1, 1114174, 720956, 720956, 3211326, 262204, 983102, 62, -1, -1, -1, -1, 458815, 196668, 62, 60, -1, 917567, 589884, 458812, 4063295, 262204, 1048638, 1441852, -1, 524351, 131134, 327742, 327742, 4915261, 852028, 60, -1, 589887, 196668, 62, 852030, 852028, 983102, 983100, -1, 458815, 65596, 393276, 393276, 393276, 327740, 4915260, -1, 1114174, 720956, 720956, 720956, 720956, 3211326, 196668, -1, -1, -1, -1, -1, -1, 458815, 196668 + + 0, 7 + + + 852028, 852030, 1179710, 852028, 62, 852028, 1048638, 1048638, 62, 852028, 983100, 60, 1048636, 62, 1572926, 852030, 62, 1441852, 852028, 852028, 1572924, 983102, 1507390, 852028, 1441852, 852030, 1048638, 62, 1179708, 1048636, 1048638, 983102, 852030, 1048638, 1507388, 1048638, 1179708, 1441852, 983102, 1048636, 1572924, 62, 62, 1048636, 852028, 1048638, 983102, 4849724, 60, 983100, -1, -1, -1, 852028, 1507388, 262206, 852028, 1441852, -1, -1, -1, 852030, 852028, 196670 + + 1, 7 + + + 983100, 262206, 3211325, 720956, 720956, 1114173, -1, -1, 1048636, 196670, 458813, -1, -1, -1, -1, -1, 852028, 262206, 3604540, 458812, 458812, 1114172, -1, -1, 1572926, 4915262, 393278, 393278, 65598, 458813, -1, -1, 62, 1048638, 852030, 1572924, 262206, 458813, -1, -1, 327740, 327740, 393276, 327740, 131132, 589885, -1, -1, 3211325, 720956, 786492, 720956, 720956, 917565, -1, -1, 458813, -1, -1, -1, -1, -1, -1, -1 + + 0, 8 + + + 1048636, 62, -1, -1, -1, 60, 1441854, 196670, 393276, 393276, 393276, 327740, 327740, 327740, 327740, 131132, 786492, 720956, 720956, 720956, 720956, 720956, 720956, 720956, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 1, 8 + + + 589885, -1, -1, -1, -1, -1, -1, -1, 458813, -1, -1, -1, -1, -1, -1, -1, 917565, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -1, 8 + + + -1, -1, -1, -1, -1, -1, 589887, 262204, -1, -1, -1, -1, -1, -1, 524351, 65596, -1, -1, -1, -1, -1, -1, 1114174, 720956, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + + + + + Castle, Fire/Floor/Cobblestone 03 + + + + + Castle, Fire/Floor/Wall trim, corner In NW + + + + + Castle, Fire/Floor/Wall trim, corner In NE + + + + + Castle, Fire/Floor/Wall trim, West 2 + + + + + Castle, Fire/Floor/Wall trim, West 1 + + + + + Castle, Fire/Floor/Wall trim, North 2 + + + + + Castle, Fire/Floor/Wall trim, North 1 + + + + + Castle, Fire/Floor Edge/02 + + + + + Castle, Fire/Floor Edge/03 + + + + + Castle, Fire/Floor Edge/04 + + + + + Castle, Fire/Floor Edge/01 + + + + + Castle, Fire/Floor Edge/Back, flat + + + + + Castle, Fire/Floor Edge/Back, crenellation + + + + + Castle, Fire/Floor/Cobblestone 01 + + + + + Castle, Fire/Floor Edge/Corner Out 01 + + + + + Castle, Fire/Floor/Cobblestone 04 + + + + + Castle, Fire/Floor/Cobblestone 02 + + + + + Castle, Fire/Floor Edge/Corner Out 02 + + + + + Castle, Fire/Floor/Cobblestone 08, raised + + + + + Castle, Fire/Floor/Cobblestone, biege 03 + + + + + Castle, Fire/Floor/Transition 1, corner In NW + + + + + Castle, Fire/Floor/Transition 1, corner In NE + + + + + Castle, Fire/Floor/Cobblestone 07, raised + + + + + Castle, Fire/Floor/Cobblestone 06, raised + + + + + Castle, Fire/Floor/Cobblestone 05, raised + + + + + Castle, Fire/Floor/Transition 1, North 2 + + + + + Castle, Fire/Floor/Transition 1, North 1 + + + + + Castle, Fire/Floor/Transition 1, West 1 + + + + + Castle, Fire/Floor/Cobblestone, biege 01 + + + + + Castle, Fire/Floor/Cobblestone, biege 04 + + + + + Castle, Fire/Floor/Transition 1, West 2 + + + + + Castle, Fire/Floor/Cobblestone, biege 02 + + + + + Castle, Fire/Floor/Transition 1, corner Out NE + + + + + Castle, Fire/Floor/Transition 1, corner Out NW + + + + + Castle, Fire/Fence, high/Horizontal - short 01 + + + + + Castle, Fire/Fence, high/Cap, Vertical South + + + + + Castle, Fire/Fence, high/Horizontal - No Post 2 + + + + + Castle, Fire/Fence, high/Horizontal - No Post 1 + + + + + Castle, Fire/Fence, high/Horizontal - mid 01 + + + + + Castle, Fire/Fence, high/Horizontal - mid 02 + + + + + Castle, Fire/Fence, high/Horizontal - tall 01 + + + + + Castle, Fire/Fence, high/Horizontal - tall 02 + + + + + Castle, Fire/Wall/Roof 01 + + + + + Castle, Fire/Fence, low/Horizontal 03 + + + + + Castle, Fire/Fence, low/Horizontal 01 + + + + + Castle, Fire/Wall/Back 01 + + + + + Castle, Fire/Fence, low/Horizontal 02 + + + + + Castle, Fire/Wall/Back, corner Out NE + + + + + Castle, Fire/Wall/Flat B + + + + + Castle, Fire/Floor Edge/Corner In 03 + + + + + Castle, Fire/Wall/Flat A + + + + + Castle, Fire/Wall/Back, corner Out NW + + + + + Castle, Fire/Wall/Corner OUT 02 + + + + + Castle, Fire/Wall/Corner IN 01 + + + + + Castle, Fire/Wall/Corner OUT 01 + + + + + Castle, Fire/Floor Edge/Corner In 01 + + + + + Castle, Fire/Fence, high/Crosser + + + + + Castle, Fire/Fence, high/Vertical - short 01 + + + + + Castle, Fire/Fence, high/Vertical - No Post 1 + + + + + Castle, Fire/Fence, high/Vertical - short 02 + + + + + Castle, Fire/Fence, high/Vertical - tall 01 + + + + + Castle, Fire/Fence, high/Vertical - mid 01 + + + + + Castle, Fire/Floor Edge/Corner In 02 + + + + + Castle, Fire/Fence, low/Cap, Horizontal Left + + + + + Castle, Fire/Wall/Back, corner IN NE + + + + + Castle, Fire/Fence, high/Crosser, Elbow + + + + + Castle, Fire/Fence, low/Cap, Vertical South + + + + + Castle, Fire/Fence, low/Vertical 01 + + + + + Castle, Fire/Fence, low/Vertical 03 + + + + + Castle, Fire/Fence, high/Crosser, T piece + + + + + Castle, Fire/Fence, low/Cap, Vertical North + + + + + Castle, Fire/Fence, low/Cap, Horizontal Right + + + + + Castle, Fire/Fence, low/Vertical 02 + + + + + Castle, Fire/Stairs/Edge, stair R 01 + + + + + Castle, Fire/Floor/Wall trim, corner Out NE + + + + + Castle, Fire/Floor/Wall trim, corner Out NW + + + + + Castle, Fire/Stairs/Edge, stair L 02 + + + + + Castle, Fire/Stairs/Edge, stair R 02 + + + + + Castle, Fire/Stairs/stair, Trim East + + + + + Castle, Fire/Stairs/stair, Trim West + + + + + Castle, Fire/Stairs/stair, Trim East 2 + + + + + Castle, Fire/Stairs/stair 02 + + + + + Castle, Fire/Stairs/stair 03 + + + + + Castle, Fire/Stairs/stair 01 + + + + + Castle, Fire/Fence, high/Cap, Horizontal Left + + + + + Castle, Fire/Fence, high/Cap, Horizontal Right + + + + + Castle, Fire/Stairs/stair, Trim West 3 + + + + + Castle, Fire/Stairs/stair, Trim East 3 + + + + + Castle, Fire/Stairs/stair, Trim West 2 + + + + + Castle, Fire/Stairs/Edge, stair L 01 + + + + 32 + %dungeon:m.firestorm_citadel_vanaduke + 112 + + + 279 + + Model Tester + + Model + + world/prop/castle_fire/flame_lick_01.dat + + Width Scale (X axis) + 1.2 + + + + + + -9.982704, 12.134836, 0.0 + + + + 283 + + Model Tester + + Model + + character/npc/monster/baron/parts/modelset_wooddebri-fx.dat + + Model + mesh_ladder + + + + + + -13.004647, -2.91819, 0.6799997 + 0.006488178, -0.10988842, -0.25372073, 0.9609934 + + + + 280 + + + 10.5, 12.5, 0.0 + + + + 287 + + Model Tester + + Model + + character/npc/monster/baron/parts/modelset_wooddebri-fx.dat + + Model + mesh_tripod + + + + + + 2.0 + 13.5, 9.5, 0.39999998 + 0.0, 0.0, -0.8526401, 0.5224987 + + + + 286 + + Model Tester + + Model + + character/npc/monster/baron/parts/modelset_wooddebri.dat + + Model + mesh_tripod + + + + + + 1.5899994 + -13.731427, 9.562487, 0.74999976 + 0.034789704, -0.03155557, 0.43857142, 0.89746815 + + + + 285 + + + 1.5899994 + 12.983782, 5.2962837, 0.74999976 + 0.034789704, -0.03155557, 0.43857142, 0.89746815 + + + + 284 + + + 10.5, 13.5, 0.0 + 0.0, 0.0, 0.8660255, 0.49999988 + + + + 288 + + + 1.4 + -10.928267, 13.736988, 0.35999998 + 0.0, 0.0, -0.25881904, 0.9659258 + + + + 290 + + Model Tester + + Model + + world/prop/castle_fire/flame_lick_01.dat + + Width Scale (X axis) + 1.0 + + + + + + 3.7937787, -15.781628, 0.0 + 0.0, 0.0, -0.03489951, 0.99939084 + + + + 291 + + + 5.880812, -15.734661, 0.0 + 0.0, 0.0, -0.078459114, 0.9969173 + + + + 292 + + Model Tester + + Model + + world/prop/castle_fire/flame_lick_01.dat + + Width Scale (X axis) + 0.59999996 + + + + + + 1.7299993 + 4.487813, -15.307364, 0.0 + 0.0, 0.0, -0.034899503, 0.99939084 + + + + 301 + + Dynamic/Elevator/Next Floor + + + 3.5, 63.5, 7.5 + + + + 342 + + Lights/Point Light + + Attenuation + + 0.2 + 0.2 + + Diffuse + 1.0, 0.7921569, 0.25490198, 1.0 + Extent + 16.0 + + + + 3.5, 63.5, 9.34 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 347 + + Camera + + Coords + 0.0, 0.7853982, 9.99 + FOV + 1.0471976 + Far + 55.0 + Near + 1.0 + + + + + 346 + + Trigger/Actor Removed + + Action + + + + open + + door_victory + + + + + music + + + + close + + door_end + + + + open + + floodgate + + + + + Actor Tag + boss_stage5 + + + + 1.5, 13.5, 0.0 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 327 + + Item/Heat/Scaled Ember + + + 7.5, 57.5, 7.5 + + + + 330 + + + -0.5, 57.5, 7.5 + + + + 328 + + + 7.5, 59.5, 7.5 + + + + 329 + + + -0.5, 59.5, 7.5 + + + + 373 + + Dynamic/Hazards/Firestorm Fire Tiles/Fire Tile - 1 unit + + Tag + fire_barrier + + + + 2.0, -2.5, 0.0 + + + + 372 + + + 2.0, -3.5, 0.0 + + + + 375 + + + 2.0, -1.5, 0.0 + + + + 369 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + false + Tag + door_barrier + + + + -2.5, -4.5, 0.0 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 368 + + + 1.5, -4.5, 0.0 + 0.0, 0.0, 0.70710665, 0.7071069 + + + + 371 + + + 2.0, -4.5, 0.0 + + + + 370 + + + 2.0, -5.5, 0.0 + + + + 110 + + Generic Marker + + Tag + vanaduke_path_2 + + + + 0.0, 11.0, 0.0 + + + + 381 + + + 0.0, -1.5, 0.0 + + + + 111 + + Environment/Model + + Model + + world/skybox/castle_firestorm/model.dat + + + + + + 383 + + + -2.0, -1.5, 0.0 + + + + 382 + + + -1.0, -1.5, 0.0 + + + + 377 + + Dynamic/Door/Iron Gate/Trigger 5 + + Open + false + Tag + door_barrier + + + + -0.5, -2.5, 0.0 + + + + 107 + + Generic Marker + + Tag + vanaduke_path_1 + + + + 0.0, 5.0, 0.0 + + + + 104 + + Generic Marker + + Tag + vanaduke_flame_marker + + + + 0.0, 8.5, 0.0 + + + + 378 + + + 1.0, -1.5, 0.0 + + + + 105 + + Character/Monster/Boss/Vanaduke + + + 0.0, 8.0, 0.0 + 0.0, 0.0, -1.0, 9.099629E-7 + + + + 118 + + Lights/Spot/Default + + Attenuation + + 0.72 + 0.02 + 0.0020 + + Color + 1.0, 0.6431373, 0.4509804, 1.0 + Direction + 0.0, -4.371139E-8, -1.0 + Extent + + 24.0 + 24.0 + 28.0 + + Falloff + + 12.0 + 44.0 + + Shape + + 24.0 + 24.0 + + + + + 0.0, 6.8000603, 10.0 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 117 + + Environment/Light + + Light + + + 0.3764706, 0.0, 0.1882353, 1.0 + + -0.69411504, 0.13492286, -0.7071068 + + + + + + 116 + + Environment/Light + + Light + + + 0.8745098, 0.65882355, 0.0, 1.0 + + 0.35355335, 0.61237234, -0.7071068 + + + + + + 115 + + Environment/Ambient + + Color + 0.28627452, 0.09411765, 0.0, 1.0 + + + + + 139 + + Lights/Prop/Sunbeam, tall + + + 2.1799989 + -3.6399434, 17.600002, 10.060138 + -8.571917E-7, 0.9426415, -8.571917E-7, -0.33380693 + + + + 138 + + + 2.1799989 + 11.490046, 17.760006, 9.330121 + 3.5998968E-7, -0.95881975, -6.367472E-8, 0.28401536 + + + + 140 + + Lights/Prop/Sunbeam, short + + + 2.1799989 + -15.629318, 7.712514, 5.6300364 + -6.624271E-7, 0.97437006, -6.624271E-7, -0.22495101 + + + + 143 + + + 6.4300528 + 8.180152, 31.110197, 20.450375 + -1.1615207E-6, 0.9426415, -1.1615207E-6, -0.33380693 + + + + 142 + + + 2.5399988 + 22.441504, -5.209717, 5.6800375 + -9.483675E-7, 0.97437006, -9.483675E-7, -0.22495098 + + + + 402 + + Dynamic/Block/Treasure/Firestorm Citadel, Rare + + + 6.5, 56.5, 7.5 + + + + 403 + + + 8.5, 56.5, 7.5 + + + + 400 + + + 6.5, 58.5, 7.5 + + + + 131 + + Lights/Point Light + + Attenuation + + 0.1 + 0.25 + + Diffuse + 1.0, 0.5568628, 0.1882353, 1.0 + Extent + 8.0 + + + + 13.2198715, 0.7000412, 1.0299997 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 401 + + + 8.5, 58.5, 7.5 + + + + 130 + + Lights/Point Light + + Attenuation + + 0.2 + 0.4 + + Diffuse + 1.0, 0.7921569, 0.25490198, 1.0 + Extent + 8.0 + + + + -15.350256, 4.360024, 1.4499993 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 133 + + Environment/Fog + + State + + 0.11372549, 0.0627451, 0.14117648, 0.0 + 12.0 + 30.0 + + + + + + 134 + + Environment/Model + + Model + + particle/world_floatingembers.dat + + + + + + 395 + + + -1.5, 58.5, 7.5 + + + + 394 + + + 0.5, 58.5, 7.5 + + + + 393 + + + 0.5, 56.5, 7.5 + + + + 392 + + + -1.5, 56.5, 7.5 + + + + 399 + + + 6.5, 60.5, 7.5 + + + + 398 + + + 8.5, 60.5, 7.5 + + + + 397 + + + 0.5, 60.5, 7.5 + + + + 396 + + + -1.5, 60.5, 7.5 + + + + 387 + + + -3.0, -5.5, 0.0 + + + + 386 + + + -3.0, -4.5, 0.0 + + + + 145 + + + 6.4300528 + 21.630505, 31.110197, 20.450375 + -1.1615207E-6, 0.9426415, -1.1615207E-6, -0.33380693 + + + + 385 + + + -3.0, -3.5, 0.0 + + + + 384 + + + -3.0, -1.5, 0.0 + + + + 150 + + Environment/Shadow Color + + Color + 0.101960786, 0.0, 0.02745098, 0.75 + + + + + 388 + + + -3.0, -2.5, 0.0 + + + + 171 + + + 1.5899994 + 15.607709, -2.8420744, 0.74999976 + 0.018399343, 0.00649265, 0.7193087, 0.6944165 + + + + 170 + + + 1.5899994 + 12.985209, 1.5808375, 0.74999976 + -0.037117325, -0.0287816, -0.95999074, 0.27606487 + + + + 168 + + Model Tester + + Model + + character/npc/monster/baron/parts/modelset_wooddebri.dat + + Model + mesh_shard3_l + + + + + + 1.4299996 + 10.785228, -7.0891523, 0.26000023 + 0.15192711, -0.064489245, 0.90788066, 0.38537255 + + + + 175 + + Model Tester + + Model + + character/npc/monster/baron/parts/modelset_wooddebri.dat + + Model + mesh_shard2_m + + + + + + 2.5399985 + 7.062666, -6.8605094, 0.74999976 + 0.32622704, -0.20059395, 0.76954895, 0.5110111 + + + + 445 + + Generic Marker + + Tag + boss_token + + + + 0.0, 9.5, 0.0 + + + + 174 + + + 1.5899994 + 4.2356787, -13.20338, 0.74999976 + -0.039484564, -0.025437098, -0.98039824, 0.19134583 + + + + 446 + + Dynamic/Recon Module/Alpha Module + + Artifact + + Artifact/Recon Module Citadel + + Clear Objective + m.mission_fc + Message + m.alpha_recon + Title + t.grantz_recon_1 + Title Color + 1.0, 1.0, 1.0, 1.0 + Visible Distance + 7.0 + + + + 3.5, 58.5, 7.5 + 0.0, 0.0, -0.38268337, 0.92387956 + + + + 447 + + Boss Dungeon + + Artifact + + Artifact/Recon Module Citadel + + Mail + firestorm_start + Mail Memory + start_fc + Objective + m.mission_fc + + + + + 172 + + + 1.5899994 + 7.354026, -8.821417, 0.74999976 + 0.034789704, -0.03155557, 0.43857142, 0.89746815 + + + + 163 + + + -5.334798, -8.209155, 0.6799997 + 0.006488178, -0.10988842, -0.25372073, 0.9609934 + + + + 167 + + Model Tester + + Model + + character/npc/monster/baron/parts/modelset_wooddebri.dat + + Model + mesh_ladder + + + + + + 0.8100002 + 12.8552065, -5.4891615, 1.2799993 + 0.22122884, 0.16733852, -0.25437334, 0.9264717 + + + + 165 + + + 1.2799997 + -7.550419, -7.5579395, 0.7 + 0.038909912, 0.13563879, -0.8388307, 0.5257863 + + + + 164 + + + 1.2499998 + 4.957077, -7.952526, 0.6799997 + 0.10782333, -0.022174114, 0.86258066, 0.49379876 + + + + 184 + + + 1.2299998 + -6.1051655, -14.810892, 0.83999956 + 0.29182637, -0.058381014, 0.017848866, 0.95452106 + + + + 426 + + Dynamic/Misc/Heal Pad + + Heart + 3 + Interval + 1.0 + + + + 6.5, 63.5, 7.5 + + + + 191 + + Model Tester + + Model + + world/prop/castle_fire/flame_lick_02.dat + + Width Scale (X axis) + 0.57 + + + + + + 1.8299992 + 13.266564, 2.2059999, 0.8699999 + 0.14780939, 0.0, 0.0, 0.9890159 + + + + 428 + + + 0.5, 63.5, 7.5 + + + + 188 + + Model Tester + + Model + + world/prop/castle_fire/flame_lick_01.dat + + Width Scale (X axis) + 1.4 + + + + + + -13.733436, -4.794, 0.8699999 + 0.1478094, 0.0, 0.0, 0.9890159 + + + + 178 + + + 1.5899994 + 3.476902, -9.122784, 0.74999976 + -0.026744623, -0.038610905, -0.83254504, 0.5519627 + + + + 419 + + + 1.5, -12.5, 0.0 + + + + 177 + + Model Tester + + Model + + character/npc/monster/baron/parts/modelset_wooddebri.dat + + Model + mesh_shard1_s + + + + + + 2.019999 + 8.288383, -7.660402, 0.11000016 + -0.005894242, -0.046597585, -0.4836083, 0.8740233 + + + + 421 + + + 1.5, -10.5, 0.0 + + + + 183 + + + 1.5899994 + -12.697529, -5.257742, 0.74999976 + 0.07520849, -0.14789315, 0.35608858, 0.91960436 + + + + 423 + + + -2.5, -12.5, 0.0 + + + + 180 + + + 2.2799988 + -10.829519, -8.688437, 0.1900002 + 2.3838691E-4, -0.046968285, -0.3653882, 0.9296695 + + + + 422 + + + -2.5, -10.5, 0.0 + + + + 204 + + Model Tester + + Model + + world/prop/castle_fire/flame_lick_02.dat + + Width Scale (X axis) + 0.84000003 + + + + + + 2.299999 + 11.690647, 23.042433, 3.2799976 + 0.0, 0.0, -0.11320318, 0.9935719 + + + + 201 + + + 2.9699984 + -14.823176, 21.115915, 3.2999976 + + + + 200 + + Model Tester + + Model + + world/prop/castle_fire/flame_lick_02.dat + + Width Scale (X axis) + 0.6700001 + + + + + + 3.3299978 + 11.296941, 16.106007, 0.21000004 + + + + 203 + + Model Tester + + Model + + world/prop/castle_fire/flame_lick_01.dat + + Width Scale (X axis) + 0.58000004 + + + + + + 3.7099977 + -15.751492, 23.988407, 3.5099974 + + + + 196 + + + 1.7299993 + -7.362275, -15.499544, 0.0 + 0.0, 0.0, 0.095845744, 0.9953962 + + + + 199 + + Model Tester + + Model + + world/prop/castle_fire/flame_lick_02.dat + + Width Scale (X axis) + 1.32 + + + + + + 1.8099992 + -11.663058, 16.826, 0.21000004 + + + + 193 + + Model Tester + + Model + + world/prop/castle_fire/flame_lick_02.dat + + Width Scale (X axis) + 0.96 + + + + + + 1.2099998 + 12.266564, -7.2739882, 0.0 + 0.14780937, 0.0, 0.0, 0.9890159 + + + + 466 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + true + Tag + door_end + + + + -0.4999994, -6.5, 0.0 + 0.0, 0.0, -1.4901156E-7, 1.0 + + + + 467 + + Dynamic/Door/Iron Gate/Monster 3 + + Open + true + Tag + floodgate + + + + -0.5, -6.5, 0.0 + + + + 195 + + Model Tester + + Model + + world/prop/castle_fire/flame_lick_02.dat + + Width Scale (X axis) + 0.96999997 + + + + + + 1.4599996 + 5.123817, -6.888324, 0.21000004 + 0.14780936, 0.0, 0.0, 0.9890159 + + + + 194 + + + 1.7799993 + -5.6735787, -7.996812, 0.20000003 + 0.0, 0.0, -0.026176952, 0.99965733 + + + + 460 + + Dynamic/Door/Iron Gate/Monster 3 + + Open + false + Tag + door_victory + + + + 3.5, 15.5, 0.0 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 216 + + Lights/Point Light + + Attenuation + + 0.15 + 0.3 + + Diffuse + 1.0, 0.5568628, 0.1882353, 1.0 + Extent + 8.0 + + + + -7.5465126, -8.08836, 0.9799998 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 457 + + Dynamic/Misc/Sprite Objects/Sprite Well + + Delay + 4000 + + + + 9.5, 9.5, 0.0 + + + + 219 + + Model Tester + + Model + + world/prop/castle_fire/flame_lick_01.dat + + Width Scale (X axis) + 0.63 + + + + + + 1.6199994 + 14.171212, -4.7149487, 0.8699999 + 0.14780939, 0.0, 0.0, 0.9890159 + + + + 456 + + + -9.5, 9.5, 0.0 + + + + 212 + + Patrol Path + + Path Tag + vanaduke_maskpath + + + + + -4.5 + 8.5 + + + -7.188225 + 5.13148 + + + -4.5 + 1.5 + + + 4.5 + 8.5 + + + 7.252995 + 4.955447 + + + 4.5 + 1.5 + + + -4.5 + 8.5 + + + + + 455 + + + -9.5, -4.5, 0.0 + + + + 454 + + + 9.5, -4.5, 0.0 + + + + 215 + + + 7.438655, -9.637732, 0.9799998 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 451 + + Dynamic/Block/Mineral/Class {tb}/Generic Mineral + + + -4.5, 60.5, 7.5 + + + + 450 + + + -4.5, 54.5, 7.5 + + + + 449 + + + 11.5, 60.5, 7.5 + + + + 448 + + + 11.5, 54.5, 7.5 + + + + 239 + + Prop/Castle, Firestorm/Brazier, float + + + -4.5, -28.5, -2.5 + + + + 236 + + Dynamic/Switch/Party Platform/Base + + Action + + + + close + + floodgate + + + + activate + + vanaduke + + + + + Environment/Music + + Destruction Transient + + model/scripted/play_sound_clip.dat + + File + sound/music/fanfare_victory_1.ogg + Gain + 1.0 + + + Fade In + 0.0 + Fade Out + 0.0 + File + sound/music/boss_1.ogg + Override + true + Stack + default + Tag + music + + + + + open + + door_barrier + + + + + + + + -0.5, -4.5, 0.0 + + + + 235 + + Environment/Music + + File + sound/music/citadel_ambient.ogg + Gain + 0.45 + + + + + 234 + + Prop/Castle, Firestorm/Furniture/Table, 1-tile 01 + + + 4.2750764, -10.260765, 0.0 + 0.0, 0.0, 0.53729963, 0.8433914 + + + + 232 + + + -4.817609, -10.7759285, 0.0 + 0.0, 0.0, -0.043619387, 0.99904823 + + + + 231 + + + -4.809083, -12.061192, 0.0 + + + + 230 + + + -13.030123, -9.944203, 0.0 + 0.0, 0.0, 0.043619387, 0.99904823 + + + + 229 + + + -12.937757, -8.246948, 0.0 + 0.0, 0.0, -0.34202012, 0.9396926 + + + + 248 + + Camera/Default + + Camera + + 55.0 + 0.0, 0.34906584, 6.0 + + Easing + + + Extent - X axis + 5.0 + Extent - Y axis + 5.0 + Extent - Z axis + 5.0 + Transition + 3.0 + + + + -0.52, -28.39002, -2.5 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 247 + + Dynamic/Elevator/Start Platform + + + -0.5, -28.5, -2.5 + + + + 242 + + Lights/Point Light + + Attenuation + + 0.15 + 0.3 + + Diffuse + 1.0, 0.8, 0.2, 1.0 + Extent + 8.0 + + + + -0.40999988, -28.369833, -0.86 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 240 + + + 3.5, -28.5, -2.5 + + + + + \ No newline at end of file diff --git a/scenes/356.xml b/scenes/356.xml new file mode 100644 index 0000000..37cb1fc --- /dev/null +++ b/scenes/356.xml @@ -0,0 +1,3951 @@ + + + + + moorcroft.jpg + + + + 356 + %dungeon:m.moorcroft + 1 + + + -4, 9 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5832724, 6881300, 5832724, 5701652, -1, -1, -1, -1, 8781844, 8585236, 9240596, 6029332, 6684692, 6750232, 6684700, 6881312, 5636118, 5636118, 5636118, 5636118, 7405591, 7405595, 7405599, 5636130 + + -5, 9 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6946839, 6881300, 6094868, 7077908, -1, -1, -1, -1, 6094871, 9240596, 8781844, 8585236, -1, -1, -1, -1, 5832727, 5570581, 5636118, 5636118 + + 0, 9 + + + 6422564, 6422564, 6553636, 6750245, -1, -1, -1, -1, 6422568, 6422568, 6553640, 6684713, -1, -1, -1, -1, 7012396, 7012396, 7274540, 5767212, 5832748, 6946860, -1, -1, 7012396, 7012396, 7274540, 6619182, 5570606, 6881325, -1, -1, 7012396, 7012396, 7274540, 6160428, 5636143, 5832749, -1, -1, 7012396, 7012396, 7274540, 5505068, 5636143, 6881325, -1, -1, 7143468, 7143468, 7209004, 6160428, 5636143, 5767212, 5898280, 6291492, -1, -1, 6815788, 6488108, 6619182, 5636142, 7405609, 7405605 + + -1, 9 + + + -1, -1, -1, -1, -1, 6291495, 6357028, 6422564, -1, -1, -1, -1, -1, 6291499, 6357032, 6422568, -1, -1, -1, 5701679, 5832748, 5767215, 7602220, 7012396, -1, -1, -1, 6881327, 5570605, 6619181, 7602220, 7012396, -1, -1, -1, 6094895, 5636141, 5505068, 7602220, 7012396, -1, -1, -1, 5832751, 5636141, 6488108, 7602220, 7012396, 6684704, 6750244, 6684712, 6029359, 5636141, 6488108, 7667756, 7143468, 7405603, 7405607, 7405611, 5636142, 6619181, 6815788, 6160428, -1 + + -2, 9 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6094880, 6881312, 6881312, 6881312, 5832736, 6094880, 5832736, 7077920, 5636130, 5636130, 5636130, 5636130, 5636130, 5636130, 5636130, 5636130 + + -3, 9 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5832736, 6881312, 6094880, 5832736, 6094880, 7077920, 6094880, 5832736, 5636130, 5636130, 5636130, 5636130, 5636130, 5636130, 5636130, 5636130 + + 4, 9 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6094868, 7077908, 5832724, 5832724, 6094868, 7077908, 6881300, 6094868, 8781844, 8585236, 8781844, 8781844, 8781844, 8781844, 8585236, 8781844, 12910612, 12648468, 12582932, 12648468, 12779540, 12779540, 12582932, 11599894, 12779540, 12582932, 12386324, 12517396, 12386324, 12648468, 12517396, 12582932, 8650772, 12648468, 12451860, 12517396, 12386324, 12648468, 12386324, 12648468 + + -1, 13 + + + 9502765, 5636141, 7667756, 6357039, 6357043, 7143476, 7143476, 7143476, 5963820, 5832750, 5832750, 5898286, 5898290, 7077942, 6094902, 7077942, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 3, 9 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5701655, 5832724, 5832724, 6094868, 5832724, 6094868, -1, -1, 5832727, 9240596, 8585236, 8781844, 8781844, 8585236, -1, -1, 5832727, 8650772, 8650772, 8650772, 12779540, 12582932, 6291480, 5898260, 8978455, 8912916, 8650772, 12648468, 8912916, 12386324, 7405593, 7405589, 8650772, 8650772, 8650772, 8650772, 8650772, 12582932 + + 0, 13 + + + 7143476, 7143476, 7143476, 7143476, 6553649, 6553645, 7209004, 5636143, 6094902, 7077942, 6094902, 7077942, 6684722, 6684718, 5832750, 5832750, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 2, 9 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6094880, 6881312, 5832736, 5832736, 6094880, 5832736, 6881312, 5898268, 5636130, 5636130, 5636130, 5636130, 5636130, 5636130, 5636130, 7405597 + + -3, 13 + + + 8060974, 7995436, 7995436, 7995436, 7995436, 7995436, 7995436, 7995436, 5963820, 5963820, 5963820, 5963820, 5963820, 5963820, 8388652, 5963820, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 1, 9 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5898272, 5832736, 6094880, 5832736, 6881312, 6094880, 5832736, 5832736, 7405601, 5636130, 5636130, 5636130, 5636130, 5636130, 5636130, 5636130 + + -2, 13 + + + 7995436, 7995436, 7995436, 7995436, 7995436, 7995436, 7995436, 7995436, 8388652, 5963820, 8388652, 5963820, 5963820, 5963820, 5963820, 5963820, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 6, 9 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6881300, 6094868, 6094868, 7077908, 5701652, -1, -1, -1, -1, -1, 8519700, 9109524, 5832725, -1, -1, -1, 7864340, 7864340, 7864340, 8126485, 6094869, -1, -1, -1, 7864340, 7864340, 7864340, 8126485, 6881301, -1, -1, -1, 7864340, 7864340, 7864340, 8126485, 7077909, -1, -1, -1 + + 1, 13 + + + 9502766, 7995436, 7995436, 7995436, 7995436, 7995436, 7995436, 7995436, 5963820, 5963820, 5963820, 8388652, 5963820, 5963820, 8388652, 5963820, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 5, 9 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5832724, 7077908, 6094868, 7077908, 7077908, 6881300, 5832724, 5832724, 8781844, 8585236, 8781844, 8781844, 9240596, 9109524, 8257556, 7929876, 11665430, 11665430, 11730966, 12124180, 12255252, 8192023, 7864340, 7864340, 12582932, 11403284, 11468823, 11665430, 12255252, 8519703, 7864340, 7864340, 12517396, 12451860, 10747924, 11403284, 11665431, 11272215, 7864340, 7864340 + + 2, 13 + + + 7995436, 7995436, 7995436, 7995436, 7995436, 7995436, 8060973, 5832749, 5963820, 5963820, 5963820, 5963820, 5963820, 8388652, 5963820, 5701677, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -2, 5 + + + -1, -1, -1, -1, -1, 10092567, 458773, 3211284, -1, -1, -1, -1, -1, -1, 2686997, 851988, -1, -1, 1900567, 2359316, 1638420, 131095, 1179670, 2293782, -1, -1, 1966103, 4915220, 5439509, 4915220, 2293781, 1048596, -1, -1, 1638423, 5439510, 1179670, 1376278, 22, 1048597, -1, -1, 1966103, 5439508, 2293781, 2162708, 917526, 2162708, -1, -1, 2359319, 5439510, 2293781, 917526, 1114134, 917524, -1, -1, 2359319, 9830422, 1507349, 1114134, 983062, 983060 + + -1, 5 + + + 589847, 10158101, -1, -1, -1, -1, -1, -1, 2686996, -1, -1, -1, -1, -1, -1, -1, 1179671, 131092, 1966100, 1966100, 1572884, 2359316, 1900564, -1, 1376279, 4915220, 13172759, 9961495, 13172759, 4915220, 1638421, -1, 23, 1245206, 1507350, 1310742, 1179671, 13172758, 2359317, -1, 983060, 983062, 917527, 917524, 2293783, 13238294, 131092, 2359316, 917525, 1048599, 917527, 983060, 1507351, 4915220, 13172757, 5439509, 983062, 1048598, 983060, 917525, 23, 1441814, 1310742, 1245206 + + 0, 5 + + + 3145730, 1835010, 1835010, 2818050, 2818050, 524290, 1835010, 1835010, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1638420, 1638420, 1638420, 1638420, 2359316, 1638420, 1572884, 1900564, 9830421, 13238295, 13172757, 9830421, 13172759, 5439509, 4915220, 1638421, 1376278, 1245206, 1376278, 2293782, 1310742, 1179671, 10027028, 2359317 + + 1, 5 + + + 3145729, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -4, 13 + + + 6488084, 5636119, 10944532, 5832725, -1, -1, -1, 5832751, 6160404, 5636119, 10878996, 6094869, -1, -1, -1, 5701678, 5505044, 5636119, 10944532, 5832725, -1, -1, -1, -1, 5505044, 5636119, 10944532, 5832725, -1, -1, -1, -1, 6488084, 5636119, 10944532, 6881301, -1, -1, -1, -1, 6488084, 5636119, 10878996, 5832725, -1, -1, -1, -1, 6160404, 5636119, 10878996, 5832725, -1, -1, -1, -1, 6815764, 5636119, 10944532, 6881301, -1, -1, -1, -1 + + -5, 13 + + + -1, -1, -1, -1, 6881303, 5636117, 5505044, 6488087, -1, -1, -1, -1, 6094871, 5636117, 6815764, 6488087, -1, -1, -1, -1, 6881303, 5636117, 6160404, 6160404, -1, -1, -1, -1, 6094871, 5636117, 6488084, 6160407, -1, -1, -1, -1, 6094871, 5636117, 6160404, 6488087, -1, -1, -1, -1, 5832727, 5636117, 6160404, 6160404, -1, -1, -1, -1, 7077911, 5636117, 6160404, 6815764, -1, -1, -1, -1, 6094871, 5636117, 5505044, 5505044 + + -5, 10 + + + -1, -1, -1, -1, 5832727, 5636117, 5505044, 6815764, -1, -1, -1, -1, 6094871, 5636117, 6160404, 6160407, -1, -1, -1, -1, 6094871, 5636117, 6488084, 6488087, -1, -1, -1, -1, 6881303, 5636117, 6815764, 6160407, -1, -1, -1, -1, 6881303, 5636117, 6160404, 6488087, -1, -1, -1, -1, 6881303, 5636117, 6488084, 6160407, -1, -1, -1, -1, 6881303, 5636117, 6815764, 5505044, -1, -1, -1, -1, 6881303, 5636117, 6160404, 6160404 + + -3, 10 + + + 5505056, 6488096, 6815776, 6488096, 6160416, 6160416, 6160416, 6488096, 6619168, 6815776, 6619171, 5636128, 5636128, 6619168, 6160416, 6160416, 5636129, 6815776, 5636131, 5767201, 8978466, 5636129, 6488096, 5505056, 7405600, 7405600, 7405600, 6684705, 7077923, 5636129, 6160416, 6488096, 7405604, 7405604, 7405604, 6750245, 7077923, 5570592, 5636128, 5636128, 7405608, 7405608, 7405608, 6684713, 6946850, 8388640, 5963808, 8388640, 5636141, 6488108, 5636143, 8978476, 5832748, 6881324, 5832748, 6094892, 6619181, 6488108, 6619182, 5636142, 5636142, 5636142, 5636142, 5636142 + + -4, 10 + + + 6160404, 6160404, 6160404, 6815764, 7405591, 7405595, 7405599, 5505056, 5505044, 6619159, 5636116, 5636116, 7405591, 7405595, 7405599, 5636128, 6488084, 5636119, 9240596, 8978453, 5898262, 6291482, 5898270, 6029346, 6160404, 5636119, 10878996, 7077909, -1, -1, -1, 5898275, 6488084, 5636119, 10944532, 5832725, -1, -1, -1, 6291495, 5505044, 5636119, 10944532, 7077909, -1, -1, -1, 5898283, 6815764, 5636119, 10944532, 5832725, -1, -1, 5701679, 8978479, 6160404, 5636119, 10878996, 5832725, -1, -1, 6094895, 5570605 + + -1, 10 + + + 7405603, 7405607, 7405611, 5505068, 5505068, 6815788, 6815788, -1, 7405603, 7405607, 7405611, 5636140, 6619180, 6160428, 6815788, -1, 5898274, 6291494, 5898282, 6029358, 5636141, 6488108, 7536684, 6225964, -1, -1, -1, 5832751, 5636141, 6488108, 7602220, 7012396, -1, -1, -1, 5832751, 5636141, 6815788, 7602220, 7012396, -1, -1, -1, 7077935, 5636141, 6488108, 7602220, 7012396, 6881324, 6881324, 5832748, 8978479, 5636141, 6160428, 7602220, 7012396, 5636142, 5636142, 5636142, 5636142, 6619181, 6488108, 7667756, 7143468 + + -2, 10 + + + 6488096, 6488096, 6815776, 5505056, 6160416, 6815776, 6488096, 6815776, 6488096, 6488096, 6488096, 6160416, 5505056, 5505056, 6619171, 5636128, 5505056, 6488096, 5505056, 6488096, 6488096, 6488096, 5636131, 8978465, 6815776, 6160416, 5505056, 6160416, 5505056, 6815776, 5636131, 7077921, 5636128, 5636128, 5636128, 5636128, 5636128, 5636128, 5570595, 6881313, 5963808, 5963808, 5963808, 5963808, 5963808, 5963808, 5963808, 6946849, 5832748, 6881324, 7077932, 6094892, 5832748, 6094892, 7077932, 5832748, 5636142, 5636142, 5636142, 5636142, 5636142, 5636142, 5636142, 5636142 + + 1, 10 + + + 7405601, 6488096, 6815776, 6815776, 7536672, 6225952, 6225952, 7733280, 7405601, 5636128, 5636128, 6619168, 7602208, 7012384, 7012384, 7274528, 6684706, 6029346, 12976160, 5636129, 7602208, 7012384, 7012384, 7274528, -1, 6881315, 9306144, 5636129, 7667744, 7143456, 7143456, 7208992, -1, 6881315, 9306144, 5570592, 5636128, 5636128, 5636128, 5636128, -1, 6946850, 9109536, 13041696, 13107232, 13107232, 13041696, 13107232, 6094892, 6881324, 6881324, 5832748, 6881324, 6881324, 6094892, 7077932, 5636142, 5636142, 5636142, 5636142, 5636142, 5636142, 5636142, 5636142 + + 0, 10 + + + -1, -1, 6815788, 6488108, 6815788, 5505068, 7405609, 7405605, -1, -1, 5505068, 5505068, 6619183, 5636140, 7405609, 7405605, 6225964, 6225964, 7733292, 6488108, 5636143, 5767213, 6684714, 6750246, 7012396, 7012396, 7274540, 6160428, 5636143, 5832749, -1, -1, 7012396, 7012396, 7274540, 5505068, 5636143, 6881325, -1, -1, 7012396, 7012396, 7274540, 6488108, 5636143, 7077933, -1, -1, 7012396, 7012396, 7274540, 6160428, 5636143, 5767212, 5832748, 6881324, 7143468, 7143468, 7209004, 6160428, 6619182, 5636142, 5636142, 5636142 + + 3, 10 + + + 7405593, 7405589, 8650772, 8650772, 8650772, 8650772, 8847380, 12386324, 7405593, 7405589, 8650772, 8650772, 8716308, 12648468, 9437204, 10616852, 6750234, 6684694, 8978454, 9109524, 12582932, 12582932, 10682388, 9437204, -1, -1, 7077911, 9371668, 12648468, 10616852, 6160404, 12648468, -1, -1, 5832727, 9306132, 8650772, 12845076, 8650772, 12845076, -1, -1, 6094871, 9371668, 8650772, 12779540, 8650772, 12451860, 5701676, -1, 5832727, 9371668, 8716308, 12451860, 8650772, 12648468, 5832749, -1, 5832727, 9371668, 8650772, 12582932, 11403284, 12582932 + + 2, 10 + + + 6488096, 6488096, 6488096, 5505056, 6488096, 6488096, 6488096, 7405597, 6619171, 5636128, 5636128, 6619168, 6488096, 6619171, 5636128, 7405597, 5636131, 12976160, 6029346, 5636129, 6815776, 5636131, 6029345, 6684702, 5636131, 9306144, 5898275, 7405600, 7405600, 7405600, 6684705, -1, 5570595, 9371680, 6291495, 7405604, 7405604, 7405604, 6750245, -1, 13107232, 9109536, 5898283, 7405608, 7405608, 7405608, 6684713, -1, 6881324, 5832748, 5767215, 5636141, 6488108, 5636143, 5767212, 6094892, 5636142, 5636142, 5636142, 6619181, 6488108, 6619182, 5636142, 5570606 + + 5, 10 + + + 12910612, 12648468, 10813460, 10747924, 11468823, 9175063, 7864340, 7864340, 12582932, 12779540, 12779540, 11403284, 11862039, 11141143, 7864340, 7864340, 12582932, 12910612, 10616852, 9437204, 11468823, -1, 7864340, 7864340, 11599895, 11468820, 11796500, 11403284, 11993111, 9175063, 7864340, 7864340, 11337748, 11862039, 11599893, 9437204, 11862039, 11272215, 7864340, 7864340, 11599895, 11534359, 11927572, 11993108, 11730967, 8257559, 7864340, 7864340, 11730967, 12189716, 12058644, 12189716, 12189716, 8192023, 7864340, 7864340, 9175060, 11075604, 9175060, 11272212, 8519700, 9109524, 7864340, 7864340 + + 4, 10 + + + 10682388, 11010068, 10813460, 12451860, 10747924, 10813460, 12648468, 12582932, 10813460, 11796503, 11993108, 11796500, 11337748, 12779540, 11403284, 12779540, 12582932, 11665431, 12714004, 11862037, 10682388, 12779540, 10616852, 12386324, 12779540, 11796502, 12320788, 11599893, 12517396, 12779540, 12517396, 12517396, 12386324, 12648468, 8650772, 12386324, 12517396, 12517396, 12648468, 12779540, 12451860, 12779540, 8650772, 12779540, 12517396, 12845076, 9437204, 9437204, 12582932, 12779540, 8650772, 12386324, 12779540, 10813460, 11796503, 11665428, 12910612, 8650772, 12779540, 12386324, 10747924, 9109524, 8257556, 11272212 + + 6, 10 + + + 7864340, 7864340, 7864340, 8192021, 6881301, -1, -1, -1, 7864340, 7864340, 7864340, 8192021, 5832725, -1, -1, -1, 7864340, 7864340, 7864340, 8192021, 6094869, -1, -1, -1, 7864340, 7864340, 7864340, 8192021, 6881301, -1, -1, -1, 7864340, 7864340, 7864340, 8126485, 5832725, -1, -1, -1, 7864340, 7864340, 7864340, 8192021, 6881301, -1, -1, -1, 7864340, 7864340, 7864340, 8126485, 6094869, -1, -1, -1, 7864340, 7864340, 7864340, 8126485, 5832725, -1, -1, -1 + + 0, 6 + + + 196631, 1048598, 1114134, 1114133, 983061, 1507351, -1, 1638421, 917526, 1048597, 1114134, 1114133, 1114135, 1376279, 5439508, 2359317, 917527, 1048598, 196629, 1048599, 2424855, 1376279, 5439510, 1966101, 1114134, 1114132, 1114132, 65556, 917526, 1376279, 13303828, 2359317, 1114135, 1114133, 1048596, 65556, 917525, 1245207, 4915220, 131092, 1048599, 1114135, 983063, 983063, 917524, 1441815, 4718615, 4456468, 1114135, 983060, 1114132, 983060, 983062, 1310743, 4653079, 4390956, 983060, 1048599, 1114135, 65557, 1114135, 1310743, 10223639, 5177388 + + 1, 6 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1638420, 1966100, 2359316, 1900564, -1, -1, -1, -1, 4849684, -1, 4718612, 1638421, -1, -1, -1, -1, 4522028, 4390956, 5111829, 1966101, -1, -1, -1, -1, -1, 4522028, 5111829, 1572885, -1, -1, -1, -1 + + -2, 6 + + + -1, -1, 2359319, 5439510, 1376277, 196628, 1048598, 1048596, -1, -1, 1966103, 9961494, 1507349, 1048599, -1, -1, -1, -1, 2359319, 5439510, 2293781, 917524, -1, -1, -1, -1, 2359319, 5439510, 1376277, 983060, -1, -1, -1, -1, 1638423, 4915220, 1179669, 1441812, 1376276, 1441812, -1, -1, 1638423, 4718615, 5046292, 5308436, 4980756, 10354708, -1, -1, 1638423, 4784151, 4390956, 5177388, -1, 5177388, -1, -1, 1638423, -1, 4390956, -1, -1, -1 + + -1, 6 + + + 917524, 983061, 1114134, 1048597, 983061, 1114132, 65556, 917525, -1, 23, 917527, 917525, 196630, 917526, 917524, 1114135, -1, 917527, 983061, 1048598, 1114134, 2424852, 983060, 1048598, -1, 1048596, 917526, 1114133, 983061, 983060, 983061, 983063, 1376276, 1310740, 1441812, 21, 983062, 65556, 1048599, 1114133, -1, -1, 4718612, 2293781, 1114132, 983063, 983060, 917525, -1, 4522028, 10223637, 1441813, 1114133, 983060, 983060, 983061, -1, 4390956, 10420245, 1507349, 917526, 983061, 1048596, 2162708 + + -5, 14 + + + -1, -1, -1, -1, 5832727, 5636117, 6815764, 6815764, -1, -1, -1, -1, 5832727, 5570580, 5636116, 5636116, -1, -1, -1, -1, 7077911, 9240596, 8781844, 8585236, -1, -1, -1, -1, 6946838, 5963796, 5963796, 5963796, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -4, 14 + + + 6160404, 5636119, 10878996, 7077909, -1, -1, -1, -1, 5636116, 5570583, 10944532, 7077909, -1, -1, -1, -1, 8781844, 8781844, 9240596, 5832725, -1, -1, -1, -1, 5963796, 8388628, 8388628, 6946837, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 2, 11 + + + 6225964, 6225964, 6225964, 6225964, 6225964, 6225964, 7733292, 5636143, 7012396, 7012396, 7012396, 7012396, 7012396, 7012396, 7274540, 5636143, 7143468, 7143468, 7143468, 7143468, 7143468, 7143468, 7209004, 5636143, 5505068, 6619183, 5636140, 5636140, 5636140, 5636140, 5636140, 5570607, 6488108, 5636143, 9502767, 7929900, -1, -1, 9502764, 5767213, 6488108, 5636143, 11206703, 7864364, 7864364, 7864364, 8192045, 7077933, 6488108, 5636143, -1, 7864364, 7864364, 7864364, 8192045, 5832749, 6488108, 5636143, -1, 7864364, 7864364, 7864364, 8192045, 5832749 + + 1, 11 + + + 7536684, 6225964, 6225964, 6225964, 6225964, 6225964, 6225964, 6225964, 7602220, 7012396, 7012396, 7012396, 7012396, 7012396, 7012396, 7012396, 7667756, 7143468, 7143468, 7143468, 7143468, 7143468, 7143468, 7143468, 5636140, 5636140, 5636140, 5636140, 5636140, 6619180, 6488108, 5505068, 9502767, 7929900, -1, -1, 9502764, 5636141, 6488108, 6488108, 11206703, 7864364, 7864364, 7864364, 11206701, 5636141, 6160428, 6160428, -1, 7864364, 7864364, 7864364, -1, 5636141, 6488108, 6160428, -1, 7864364, 7864364, 7864364, -1, 5636141, 6160428, 6488108 + + 0, 11 + + + 8847404, 9633836, 8650796, 9699372, 8650796, 9633836, 5505068, 6488108, 9633836, 8650796, 9633836, 8650796, 9633836, 8650796, 6815788, 5505068, 7012396, 7012396, 7012396, 9633836, 8912940, 9633836, 6488108, 6488108, 7012396, 7012396, 7012396, 7012396, 9633836, 8650796, 6160428, 6619183, 7012396, 7012396, 7012396, 7012396, 8650796, 9699372, 6815788, 5636143, 9633836, 8650796, 9633836, 8650796, 9633836, 8650796, 6488108, 5636143, 8650796, 7471148, 8650796, 9699372, 8912940, 9633836, 6160428, 5636143, 6225964, 6225964, 6225964, 7733292, 6488108, 6488108, 6488108, 5636143 + + -1, 11 + + + 7733292, 6160428, 5505068, 9633836, 8650796, 9633836, 8650796, 9633836, 7274540, 6815788, 5505068, 8847404, 9633836, 8650796, 9699372, 8650796, 7209004, 6160428, 5505068, 9699372, 8650796, 9633836, 7012396, 7012396, 5636140, 6619180, 6160428, 8650796, 7471148, 7012396, 7012396, 7012396, 9502764, 5636141, 6160428, 9633836, 8650796, 7012396, 7012396, 7012396, 11206701, 5636141, 5505068, 8847404, 9633836, 8650796, 9633836, 8650796, -1, 5636141, 6815788, 9633836, 8650796, 9633836, 8650796, 9633836, -1, 5636141, 6488108, 6488108, 6488108, 7536684, 6225964, 6225964 + + -2, 11 + + + 6225964, 6225964, 6225964, 6225964, 6225964, 6225964, 6225964, 6225964, 7012396, 7012396, 7012396, 7012396, 7012396, 7012396, 7012396, 7012396, 7143468, 7143468, 7143468, 7143468, 7143468, 7143468, 7143468, 7143468, 5505068, 6488108, 5505068, 6619183, 5636140, 5636140, 5636140, 5636140, 6488108, 6160428, 6815788, 5636143, 9502767, 7929900, -1, -1, 6160428, 5505068, 6488108, 5636143, 11141167, 7864364, 7864364, 7864364, 6160428, 5505068, 5505068, 5636143, -1, 7864364, 7864364, 7864364, 5636140, 5636140, 5636140, 5570607, 8257583, 7864364, 7864364, 7864364 + + -3, 11 + + + 7536684, 6225964, 6225964, 6225964, 6225964, 6225964, 6225964, 6225964, 7602220, 7012396, 7012396, 7012396, 7012396, 7012396, 7012396, 7012396, 7667756, 7143468, 7143468, 7143468, 7143468, 7143468, 7143468, 7143468, 5636140, 5636140, 5636140, 5636140, 5636140, 6619180, 6815788, 5505068, 9502767, 7929900, -1, -1, 9502764, 5636141, 6815788, 5505068, 8192047, 7864364, 7864364, 7864364, 11141165, 5636141, 6815788, 6160428, 8126511, 7864364, 7864364, 7864364, -1, 5636141, 6815788, 6488108, 8126511, 7864364, 7864364, 7864364, 8519725, 5570604, 5636140, 5636140 + + -4, 11 + + + 6160404, 5636119, 10878996, 5832725, -1, -1, 6094895, 5636141, 5505044, 5636119, 10878996, 6881301, -1, -1, 6881327, 5636141, 6488084, 5636119, 10944532, 5832725, -1, -1, 7077935, 5636141, 6160404, 5636119, 10944532, 5832725, -1, -1, 5832751, 5570604, 6160404, 5636119, 10878996, 6881301, -1, -1, 6946862, 8978478, 6488084, 5636119, 10944532, 6881301, -1, -1, -1, 5832751, 6160404, 5636119, 10878996, 6881301, -1, -1, -1, 5832751, 5505044, 5636119, 10878996, 5832725, -1, -1, -1, 5832751 + + -5, 11 + + + -1, -1, -1, -1, 6094871, 5636117, 5505044, 6815764, -1, -1, -1, -1, 5832727, 5636117, 6488084, 6488087, -1, -1, -1, -1, 5832727, 5636117, 6488084, 6160407, -1, -1, -1, -1, 6881303, 5636117, 6160404, 6488087, -1, -1, -1, -1, 6881303, 5636117, 6160404, 6160407, -1, -1, -1, -1, 5832727, 5636117, 6815764, 6160407, -1, -1, -1, -1, 5832727, 5636117, 6160404, 6488087, -1, -1, -1, -1, 5832727, 5636117, 5505044, 6160407 + + 6, 11 + + + 7864340, 7864340, 7864340, 8126485, 6881301, -1, -1, -1, 7864340, 7864340, 7864340, 8126485, 6094869, -1, -1, -1, 7864340, 7864340, 7864340, 8126485, 6094869, -1, -1, -1, 7864340, 7864340, 7864340, 8126485, 5832725, -1, -1, -1, 7864340, 7864340, 7864340, 8126485, 6094869, -1, -1, -1, 7864340, 7864340, 7864340, 8192021, 7077909, -1, -1, -1, 7864340, 7864340, 7864340, 8192021, 6881301, -1, -1, -1, 7864340, 7864340, 7864340, 8126485, 7077909, -1, -1, -1 + + 5, 11 + + + 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340 + + 4, 11 + + + 12910612, 12582932, 12648468, 8650772, 10813460, 8192023, 7864340, 7864340, 8650772, 8650772, 8650772, 8650772, 8847380, 8192023, 7864340, 7864340, 9175060, 9043988, -1, -1, 8519700, 8454164, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340, 7864340 + + 3, 11 + + + 6094893, -1, 6094871, 9306132, 12845076, 12517396, 12845076, 11403284, 5832749, -1, 6094871, 9306132, 9437204, 11010068, 10747924, 12517396, 6881325, -1, 6881303, 9109524, 8257556, 9043988, -1, -1, 6094893, -1, 5832727, 8126487, 7864340, 7864340, 7864340, 7864340, 5701677, -1, 5832727, 8126487, 7864340, 7864340, 7864340, 7864340, -1, -1, 5832727, 8192023, 7864340, 7864340, 7864340, 7864340, -1, -1, 6094871, 8126487, 7864340, 7864340, 7864340, 7864340, -1, -1, 6881303, 8126487, 7864340, 7864340, 7864340, 7864340 + + -1, 7 + + + 5177388, -1, -1, 1179669, 1507348, 1245204, 21, 1114132, -1, -1, 10485780, 4456468, 4653076, 4718612, 1441813, 917526, -1, 4522028, 4390956, 4390956, 4522028, 4849685, 1310741, 983060, -1, 4522028, 5177388, -1, 4522028, -1, 1376277, 917524, 5177388, -1, -1, -1, 4522028, 4784149, 1245205, 1114135, -1, -1, 4390956, 4390956, 4390956, -1, 1441813, 196629, 4587540, 4587540, 10551316, -1, 4587540, 4718613, 1245205, 1114134, 1769492, 655380, 1769492, 1769492, 1769492, 131094, 1376277, 1114133 + + 0, 7 + + + 917525, 917524, 20, 1507348, 1507348, 1179668, 5242903, -1, 1048596, 1048596, 2293783, 4718615, 5308436, 4980756, 5373972, 4522028, 1114132, 1048597, 1507351, 5111831, 4522028, 4522028, 5177388, -1, 1114135, 917525, 2293783, 4980759, 5177388, -1, -1, -1, 917527, 917525, 1310743, 4849687, -1, -1, 5177388, -1, 65558, 917526, 1507351, -1, 4522028, 4522028, -1, -1, 1048596, 1114133, 1507351, 4718614, 4587540, 4587540, 4587540, 10289172, 983062, 983061, 2293783, 1638421, 131093, 1703956, 655380, 1769492 + + 1, 7 + + + -1, 4390956, 10223637, 2359317, -1, -1, -1, -1, 5177388, -1, 5111829, 2359317, -1, -1, -1, -1, -1, -1, 10420245, 2359317, -1, -1, -1, -1, 5177388, -1, -1, 1638421, -1, -1, -1, -1, -1, -1, 4653077, 1572885, -1, -1, -1, -1, 4390956, 4390956, 4980757, 1638421, -1, -1, -1, -1, -1, -1, 4718613, 1638421, -1, -1, -1, -1, 1769492, 1769492, 1769492, 1900565, -1, -1, -1, -1 + + 0, 3 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 720896, 2490368, 2883584, 3080192, -1, -1, 2883584, 720896, 327682, 327682, 2555906, 851970, 589826, 589826, 458754, 2686979 + + -1, 3 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3080192, -1, -1, 720896, 262144, 2097152, -1, 458754, 589826, 327682, 589826, 589826, 327682, 589826, 851970 + + 1, 3 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3145728, -1, -1, -1, -1, -1, -1, -1, 720897, -1, -1, -1, -1, -1, -1, -1 + + -2, 7 + + + -1, -1, 1638423, 4849687, 5177388, -1, 5177388, -1, -1, -1, 2359319, -1, -1, -1, -1, -1, -1, -1, 1638423, 4653079, 5177388, -1, 4522028, 5177388, -1, -1, 1638423, 5242903, -1, -1, 4390956, -1, -1, -1, 1572887, 4784151, 4522028, 5177388, -1, 4522028, -1, -1, 2359319, -1, 4522028, -1, -1, 4522028, -1, -1, 2359319, 4718614, 4587540, 4587540, 4587540, 4587540, -1, -1, 1900566, 1769492, 1703956, 1769492, 1769492, 655380 + + -2, 3 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3145731, 720896, 2097152, -1, -1, -1, -1, -1, 262147, 2686978, 458754 + + 1, 12 + + + 9175087, 7864364, 7864364, 7864364, 8519725, 5636141, 6160428, 6160428, 8323116, 7864364, 7864364, 7864364, 8192045, 5570604, 5636140, 5636140, 8323116, 7864364, 7864364, 7864364, 8454188, 8257580, 8323116, 8323116, 8323116, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 9175087, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7929903, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, -1, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, -1, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364 + + 0, 12 + + + 6422572, 6422572, 6422572, 6553644, 7405612, 7340076, 6488108, 5636143, 6422576, 6422576, 6422576, 6553648, 7340080, 7405613, 6160428, 5636143, 7012404, 7012404, 7012404, 7798836, 6357041, 6357037, 7733292, 5636143, 7012404, 7012404, 7012404, 7012404, 6422577, 6422573, 7274540, 5636143, -1, -1, 7012404, 7012404, 6422577, 6422573, 7274540, 5636143, -1, -1, 7012404, 7012404, 6422577, 6422573, 7274540, 5636143, -1, -1, 7012404, 7012404, 6422577, 6422573, 7274540, 5636143, 7012404, 7012404, 7012404, 7012404, 6422577, 6422573, 7274540, 5636143 + + 3, 12 + + + -1, -1, 6881303, 9109524, 7995412, 7995412, 7995412, 7995412, -1, -1, 5701654, 5963796, 5963796, 5963796, 5963796, 8388628, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 2, 12 + + + 6160428, 5636143, 8257583, 7864364, 7864364, 7864364, 8192045, 5832749, 5636140, 5570607, 8126511, 7864364, 7864364, 7864364, 8192045, 6094893, 8323116, 8519724, 8454188, 7864364, 7864364, 7864364, 8192045, 5832749, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 8192045, 6881325, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 8192045, 6094893, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 8126509, 5832749, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 8126509, 5832749, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 8192045, 6094893 + + -3, 12 + + + 8192047, 7864364, 7864364, 7864364, 8454188, 8257580, 9568300, -1, 8192047, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 8126511, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 8126511, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 8192047, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 8192047, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 8192047, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 8126511, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364 + + -4, 12 + + + 6815764, 5636119, 10944532, 5832725, -1, -1, -1, 6094895, 6488084, 5636119, 10878996, 6094869, -1, -1, -1, 5832751, 5505044, 5636119, 10878996, 6881301, -1, -1, -1, 5832751, 6160404, 5636119, 10878996, 7077909, -1, -1, -1, 6094895, 6160404, 5636119, 10944532, 7077909, -1, -1, -1, 5832751, 6815764, 5636119, 10944532, 5832725, -1, -1, -1, 5832751, 6160404, 5636119, 10878996, 6094869, -1, -1, -1, 6094895, 5505044, 5636119, 10944532, 6094869, -1, -1, -1, 6094895 + + -1, 12 + + + 9175085, 5636141, 6488108, 7340079, 7405612, 6357036, 6422572, 6422572, 8323116, 5636141, 6160428, 7405615, 7340083, 6357040, 6422576, 6422576, 8323116, 5636141, 7536684, 6553647, 6553651, 9764916, 7012404, 7012404, 8323116, 5636141, 7602220, 6422575, 6422579, 7012404, 7012404, 7012404, 9175085, 5636141, 7602220, 6422575, 6422579, 7012404, 7012404, -1, 7929901, 5636141, 7602220, 6422575, 6422579, 7012404, 7012404, -1, -1, 5636141, 7602220, 6422575, 6422579, 7012404, 7012404, -1, -1, 5636141, 7602220, 6422575, 6422579, 7012404, 7012404, 7012404 + + -2, 12 + + + 9175084, 9568300, -1, 8519724, 8454188, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364, 7864364 + + 5, 12 + + + 7995412, 7995412, 7995412, 7995412, 7995412, 7995412, 7995412, 7995412, 5701653, 5963796, 5963796, 5963796, 6946838, 5963796, 5963796, 5963796, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 4, 12 + + + 7995412, 7995412, 7995412, 7995412, 7995412, 7995412, 7995412, 7995412, 5963796, 6946838, 5963796, 8388628, 5963796, 5963796, 5963796, 8388628, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 6, 12 + + + 7995412, 7995412, 7995412, 9109524, 6881301, -1, -1, -1, 8388628, 5963796, 5963796, 5963796, 6946837, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 0, 8 + + + 1114134, 2424852, 1310743, 1638421, -1, -1, -1, -1, 1441812, 1507348, 1179668, 1638421, -1, -1, -1, -1, 6225940, 6225940, 7733268, 10092565, -1, -1, -1, -1, 7012372, 7012372, 7274516, -1, -1, -1, -1, -1, 6422548, 6422548, 6553620, 6684693, -1, -1, -1, -1, 6422552, 6422552, 6553624, 6750233, -1, -1, -1, -1, 6422556, 6422556, 6553628, 6684701, -1, -1, -1, -1, 6422560, 6422560, 6553632, 6684705, -1, -1, -1, -1 + + -1, 8 + + + -1, -1, -1, -1, -1, 2359319, 1310741, 1114135, -1, -1, -1, -1, -1, 1638423, 1179669, 2293780, -1, -1, -1, -1, -1, 10158103, 7536660, 6225940, -1, -1, -1, -1, -1, -1, 7602196, 7012372, -1, -1, -1, -1, -1, 5898263, 6357012, 6422548, -1, -1, -1, -1, -1, 6291483, 6357016, 6422552, -1, -1, -1, -1, -1, 6291487, 6357020, 6422556, -1, -1, -1, -1, -1, 5898275, 6357024, 6422560 + + 1, 4 + + + 262145, -1, -1, -1, -1, -1, -1, -1, 262145, -1, -1, -1, -1, -1, -1, -1, 720897, -1, -1, -1, -1, -1, -1, -1, 262145, -1, -1, -1, -1, -1, -1, -1, 2883585, -1, -1, -1, -1, -1, -1, -1, 2883585, -1, -1, -1, -1, -1, -1, -1, 2883585, -1, -1, -1, -1, -1, -1, -1, 720897, -1, -1, -1, -1, -1, -1, -1 + + 0, 4 + + + 2949120, 393216, 2949120, 3407872, 3407872, 3276800, 2949120, 589827, 589824, 2752513, 2949120, 786432, 786432, 2949120, 393216, 327683, 3014658, 2555905, 3276800, 2949120, 2949120, 393216, 3211264, 327683, 720899, 589825, 393216, -1, -1, -1, 2228224, 851971, 2883587, 2555905, 2949120, -1, -1, -1, 3407872, 458755, 2883587, 2621441, 3342336, -1, -1, -1, 2228224, 589827, 720899, 458753, 2949120, 3211264, 3211264, 393216, 2031616, 589827, 720899, 2686977, 589824, 327680, 589824, 458752, 589824, 2686976 + + -5, 12 + + + -1, -1, -1, -1, 6094871, 5636117, 6160404, 6160407, -1, -1, -1, -1, 5832727, 5636117, 6815764, 6160407, -1, -1, -1, -1, 5832727, 5636117, 6815764, 6488087, -1, -1, -1, -1, 6881303, 5636117, 6815764, 6488087, -1, -1, -1, -1, 6881303, 5636117, 5505044, 6488087, -1, -1, -1, -1, 5832727, 5636117, 6160404, 6488087, -1, -1, -1, -1, 6881303, 5636117, 5505044, 6488087, -1, -1, -1, -1, 7077911, 5636117, 6815764, 6160407 + + -1, 4 + + + 2949120, 3342336, 3407872, 786432, 786432, 393216, 2228224, 2031616, 2752512, 458752, 327680, 589824, 327680, 458752, 458752, 589824, 458755, 3014657, 1835010, 524290, 524290, 524290, 1835010, 1835010, 4063235, 9895937, -1, -1, -1, -1, -1, -1, 3932167, 9895941, -1, -1, -1, -1, -1, -1, 3866635, 9895945, -1, -1, -1, -1, -1, -1, 4194319, 9895949, -1, -1, -1, -1, -1, -1, 3932179, 9895953, -1, -1, -1, -1, -1, -1 + + -2, 4 + + + -1, -1, -1, -1, -1, 2097155, 2621441, 2949120, -1, -1, -1, -1, -1, -1, 327681, 3211264, -1, -1, -1, -1, -1, 262147, 327681, 3342336, -1, -1, -1, -1, -1, 3473409, 3538945, 3735552, -1, -1, -1, -1, -1, 3473413, 3604485, 3801092, -1, -1, -1, -1, -1, 3473417, 3670025, 3735560, -1, -1, -1, -1, -1, 3473421, 3997709, 4128780, -1, -1, -1, -1, -1, 3473425, 4325393, 4259856 + + + + + + + Clockworks/Floor, base/Trim/Trim In 01 + + + + + Clockworks/Floor, base/Swirly 04 + + + + + Clockworks/Edge railing/Rail, base In 01 + + + + + Clockworks/Floor, base/Swirly 01 + + + + + Clockworks/Edge railing/Rail, catwalk 02 + + + + + Clockworks/Floor, catwalk/Trim/Trim 02 + + + + + Clockworks/Floor, catwalk/Catwalk 01 + + + + + Clockworks/Floor, catwalk/Trim/Trim 03 + + + + + Clockworks/Edge railing/Rail, catwalk Back indents + + + + + Clockworks/Floor, catwalk/Trim/Trim 01 + + + + + Clockworks/Edge railing/Rail, Back 03 + + + + + Clockworks/Edge railing/Rail, catwalk 01 + + + + + Clockworks/Floor, catwalk/Catwalk 08 + + + + + Clockworks/Floor, catwalk/Trim/Trim 05 + + + + + Clockworks/Floor, base/Base 02 + + + + + Clockworks/Floor, base/Base 04 + + + + + Clockworks/Floor, base/Base 01 + + + + + Clockworks/Floor, base/Base 03 + + + + + Clockworks/Floor, base/Trim/Trim Out 01 + + + + + Clockworks/Floor, base/Trim/Trim 04 + + + + + Clockworks/Floor, base/Trim/Trim 03 + + + + + Clockworks/Floor, base/Trim/Trim 01 + + + + + Clockworks/Floor, base/Trim/Trim 06 + + + + + Clockworks/Floor, base/Trim/Trim 02 + + + + + Clockworks/Edge railing/Rail, base 03 + + + + + Clockworks/Edge railing/Rail, base 01 + + + + + Clockworks/Edge railing/Rail, Back 02 + + + + + Clockworks/Edge railing/Rail, Back 01 + + + + + Clockworks/Edge railing/Rail, catwalk Back plain + + + + + Clockworks/Edge railing/Rail, base Out 01 + + + + + Clockworks/Edge railing/Rail, base 02 + + + + + Clockworks/Floor, catwalk/Catwalk 02 + + + + + Clockworks/Edge railing/Rail, catwalk x2 01 + + + + + Clockworks/Floor, base/Swirly 03 + + + + + Clockworks/Floor, catwalk/Catwalk 04 + + + + + Clockworks/Floor, base/Trim/Trim 05 + + + + + Clockworks/Edge railing/Rail, base 04 + + + + + Clockworks/Floor, base/Swirly 02 + + + + + Clockworks/Edge railing/Rail, catwalk 04 - lever valve + + + + + Clockworks/Floor, catwalk/Trim/Trim 06 + + + + + Clockworks/Floor, catwalk/Trim/Trim 04 + + + + + Clockworks/Floor, catwalk/Trim/Trim Out 01 + + + + + Clockworks/Floor, catwalk/Trim/Trim In 01 + + + + + Clockworks/Edge railing/Rail, catwalk Back seam + + + + + Clockworks/Edge railing/Rail, catwalk 03 + + + + + Clockworks/Floor, catwalk/Catwalk, solid + + + + + Clockworks/Edge railing/Rail, catwalk In 01 + + + + + Clockworks/Edge railing/Rail, catwalk x3 01 + + + + + Clockworks/Edge railing/Rail, catwalk Out 01 + + + + + Clockworks/Floor, catwalk/Catwalk 07 + + + + + Clockworks/Floor, catwalk/Catwalk 05 + + + + + Clockworks/Floor, catwalk/Catwalk 06 + + + + + Clockworks/Floor, catwalk/Catwalk 03 + + + + + Clockworks/Ramp/Rail/Rail left 01 + + + + + Clockworks/Ramp/Trim/Left 6, rivets + + + + + Clockworks/Ramp/Trim/Left 1 + + + + + Clockworks/Ramp/Trim/Left 2 + + + + + Clockworks/Ramp/North 02, circles + + + + + Clockworks/Ramp/North 05, - + + + + + Clockworks/Ramp/Trim/Right 5 + + + + + Clockworks/Ramp/Trim/Right 6, rivets + + + + + Clockworks/Ramp/Trim/Left 5 + + + + + Clockworks/Ramp/Trim/Right 2 + + + + + Clockworks/Ramp/North 04, panel + + + + + Clockworks/Ramp/Trim/Right 1 + + + + + Clockworks/Ramp/North 06, %SLASH% + + + + + Clockworks/Ramp/Trim/Left 3, loop + + + + + Clockworks/Floor, roof/Base 1unit, plate + + + + + Clockworks/Wall/Copper flat x1 02 + + + + + Clockworks/Floor, roof/Base 1unit, 01 + + + + + Clockworks/Wall/Back x1 01 + + + + + Clockworks/Wall/Iron bits x1, vent + + + + + Clockworks/Wall/Corner Out 01 + + + + + Clockworks/Wall/Blue panel x2 03 + + + + + Clockworks/Wall/Iron bits x2, iron + + + + + Clockworks/Fence, low/Crosser 01 + + + + + Clockworks/Wall/Blue panel x1 03 + + + + + Clockworks/Wall/Copper flat x1 03 + + + + + Clockworks/Wall/Blue panel x1 02 + + + + + Clockworks/Floor, roof/Base 2unit, 01 + + + + + Clockworks/Wall/Blue panel x1 01 + + + + + Clockworks/Wall/Copper flat x1 01 + + + + + Clockworks/Wall/Corner In NE 01 + + + + + Clockworks/Fence, low/01 + + + + + Castle/Floor/Cobblestone 03 + + + + + Castle/Floor/Wall runner corner IN 01 + + + + + Castle/Floor/Wall runner front, 01 + + + + + Castle/Floor Edge/Corner Out 01 + + + + + Castle/Floor Edge/Corner In 01 + + + + + Castle/Floor Edge/02 + + + + + Castle/Stairs/Edge, stair L 01 + + + + + Castle/Floor Edge/Back, flat + + + + + Castle/Floor Edge/Corner In 03 + + + + + Castle/Floor Edge/03 + + + + + Castle/Floor/Cobblestone 01 + + + + + Castle/Floor/Rug, side Front 01 + + + + + Castle/Stairs/Edge, stair L 02 + + + + + Castle/Stairs/Rug, stair edge Left 01 + + + + + Castle/Stairs/Rug, stair 01 + + + + + Castle/Floor/Cobblestone 02 + + + + + Castle/Stairs/Rug, stair edge Right 01 + + + + + Castle/Floor/Wall runner corner OUT 01 + + + + + Castle/Stairs/Edge, stair R 01 + + + + + Castle/Stairs/Edge, stair R 02 + + + + + Castle/Floor/Cobblestone 04 + + + + + Castle/Floor Edge/04 + + + + + Castle/Floor Edge/Corner Out 02 + + + + + Castle/Floor/Rug 01 + + + + + Castle/Floor Edge/01 + + + + + Castle/Floor/Rug, side Back 01 + + + + + Castle/Floor/Rug, corner NE + + + + + Castle/Floor/Rug, side East 01 + + + + + Castle/Stairs/stair, corner IN 01 + + + + + Castle/Stairs/stair 01 + + + + + Castle/Floor/Tile, light C + + + + + Castle/Floor/Rug, corner SW + + + + + Castle/Floor/Rug, side West 01 + + + + + Castle/Floor/Rug, corner NW + + + + + Castle/Floor/Rug, corner SE + + + + + Castle/Floor/Rug, corner_In SE + + + + + Castle/Wall/Wall, inner + + + + + Moorcroft/Arch Three-unit 04, brazier + + + + + Castle/Wall/Back 01 + + + + + Castle/Wall/Corner OUT 04 + + + + + Castle/Wall/Flat B + + + + + Castle/Wall/Flat A + + + + + Castle/Wall/Pillar R + + + + + Null, no-walk no-shoot + + + + + Castle/Floor Edge/Back, crenellation + + + + + Castle/Wall/Corner IN 01 + + + + + Castle/Wall/Pillar L + + + + + Castle/Low/Horizontal 02 + + + + + Castle/Floor/Tile, dark A + + + + + Castle/Floor/Tile, dark D + + + + + Castle/Low/Horizontal 01 + + + + + Castle/Floor/Tile, dark B + + + + + Castle/Floor/Tile, dark C + + + + + Castle/Floor Edge/Corner In 02 + + + + + Castle/Wall/Arch Three-unit 03, statue + + + + + Castle/Wall/Column 01 + + + + + Castle/Wall/Pillar 01 + + + + + Castle/Low/Corner + + + + + Castle/Wall/Thin, vertical A01 + + + + + Castle/Wall/Thin, vertical B01 + + + + + Graveyard/Floor, dirt/Dirt 01 + + + + + Castle/Wall/Corner OUT, pillar + + + + + Castle/Wall/Arch Two-unit 02, window + + + + + Castle/Floor/Tile, light A + + + + + Castle/Floor/Tile, light B + + + + + Castle/Floor/Rug, corner_In SW + + + + + Clockworks/Fence, low/02 + + + + + Clockworks/Ramp/Rail/Rail right 01 + + + + + Clockworks/Fence, low/03 + + + + + Clockworks/Fence, low/x2 01 + + + + + Clockworks/Edge railing/Rail, Transition L + + + + + Clockworks/Edge railing/Rail, Transition R + + + + + Clockworks/Wall/Blue panel x1 04 + + + + + Clockworks/Wall/Back x3 01 + + + + + Clockworks/Wall/Blue panel x3 01 + + + + + Clockworks/Wall/Blue panel x2 01 + + + + + Clockworks/Wall/Corner In NW 01 + + + + + Clockworks/Wall/Back x2 01 + + + + + Graveyard/Floor, dirt/Dirt 03 + + + + + Graveyard/Floor, dirt/Dirt 07, flat + + + + + Graveyard/Floor, dirt/Dirt 06, flat + + + + + Graveyard/Floor, dirt/Dirt 02 + + + + + Castle/Low/Vertical 01 + + + + + Castle/Low/Vertical 02 + + + + + Graveyard/Floor, dirt/Dirt 05, flat + + + + + Castle/Wall/Arch 01b + + + + + Castle/Wall/Arch Two-unit 01 + + + + + Castle/Wall/Arch Three-unit 01 + + + + + Moorcroft/Arch 04, brazier + + + + + Graveyard/Floor, dirt/Dirt 08, flat + + + + + Graveyard/Floor, dirt/Dirt 04 + + + + + Graveyard/Floor, dirt/Dirt, side 04 + + + + + Graveyard/Floor, dirt/Dirt, corner Out NW 01 + + + + + Graveyard/Floor, dirt/Dirt, corner_In NW 02 + + + + + Graveyard/Floor, dirt/Dirt, side 02 + + + + + Graveyard/Floor, dirt/Dirt, corner Out NW 02 + + + + + Graveyard/Floor, dirt/Dirt, corner_In NW 01 + + + + + Graveyard/Floor, dirt/Dirt, side 01 + + + + + Graveyard/Floor, dirt/Dirt, corner Out NW 03 + + + + + Graveyard/Floor, dirt/Dirt, side 03 + + + + + Graveyard/Floor/Grass 04 + + + + + Graveyard/Floor/Cobblestone, 2 bits diag01 + + + + + Graveyard/Floor/Grass 03 + + + + + Graveyard/Floor/Grass 02 + + + + + Graveyard/Floor Edge/Corner In 02 + + + + + Graveyard/Floor, Interior tiles/Sidewalk 04a + + + + + Graveyard/Floor, Interior tiles/Sidewalk 01a + + + + + Graveyard/Floor, Interior tiles/Sidewalk 01c + + + + + Graveyard/Floor, Interior tiles/Sidewalk 01b + + + + + Graveyard/Floor, Interior tiles/Sidewalk 02a + + + + + Graveyard/Floor/Cobblestone, large 2 + + + + + Graveyard/Floor, Interior tiles/Sidewalk 02b + + + + + Graveyard/Floor, Interior tiles/Sidewalk 03b + + + + + Graveyard/Floor, Interior tiles/Sidewalk 03a + + + + + Castle/Wall/Thin end + + + + + Castle/Wall/Thin, horizontal B01 + + + + + Castle/Wall/Thin, horizontal A01 + + + + + Clockworks/Fence, low/06 + + + + + Clockworks/Fence, low/05 + + + + + Clockworks/Fence, low/04 + + + + + + 1 + + Environment/Background Color + + Color + 0.0, 0.07450981, 0.14117648, 1.0 + + + + + 2 + + Environment/Fog + + State + + 0.03529412, 0.101960786, 0.18039216, 0.0 + 12.0 + 30.0 + + + + + + 1103 + + Prop/Town/Moorcroft/Counter Props/Counter x1 - Elbow Out 01 + + Model + bar_x1_out_01 + + + + -11.499992, 84.5, 4.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3 + + Environment/Ambient + + Color + 0.34509805, 0.27058825, 0.41960785, 1.0 + + + + + 6 + + Environment/Music + + File + sound/music/subtown_1.ogg + Gain + 0.6 + + + + + 558 + + Prop/City Base/Street markings/White, X box x2 + + + -32.5, 109.5, 2.5 + 0.0, 0.0, -0.70710677, -0.70710677 + + + + 559 + + Lights/Spot/Default + + Attenuation + + 0.6 + 0.0080 + + Color + 1.0, 0.8, 0.4, 1.0 + Direction + -0.42261824, -1.847323E-8, -0.9063078 + Extent + + 12.0 + 9.0 + 12.0 + + Falloff + + 10.0 + 40.0 + + Shape + + 7.0 + 7.0 + + + + + -30.0, 87.5, 6.0 + 0.0, 7.450575E-9, 0.0, 1.0 + + + + 9 + + Camera + + Coords + 0.0, 0.7853982, 9.99 + FOV + 1.0471976 + Far + 100.0 + Near + 1.0 + + + + + 556 + + + -32.5, 100.5, 2.5 + 0.0, 0.0, -0.70710677, -0.70710677 + + + + 10 + + Environment/Shadow Color + + Color + 0.078431375, 0.02745098, 0.101960786, 0.4 + + + + + 557 + + Prop/City Base/Litter, blowing paper + + Marker Color + 0.0, 0.72156864, 0.003921569, 0.75 + + + + -32.5, 108.5, 2.5700002 + 0.0, 0.0, -1.0, 3.5762787E-7 + + + + 554 + + + -32.5, 96.5, 2.5700002 + 0.0, 0.0, -1.0, 5.5233505E-7 + + + + 555 + + + -32.499996, 91.5, 2.5 + 0.0, 0.0, -0.70710677, -0.70710677 + + + + 1091 + + Prop/Town/Moorcroft/Bookcase 01 + + + -7.5, 98.5, 5.5 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 553 + + + -32.499996, 82.5, 2.5 + 0.0, 0.0, -0.70710677, -0.70710677 + + + + 1117 + + + 0.6 + 2.322367, 92.89528, 5.5 + + + + 17 + + Dynamic/Barrier/Sub-town Force Field + + + 0.5, 57.5, 2.5 + + + + 1116 + + Prop/General/Interior/Books/Small, worn + + + -1.324465, 92.51212, 6.0 + + + + 564 + + Prop/Clockworks/Lamp, tall rail-mounted + + + -28.5, 105.5, 2.5 + 0.0, 0.0, 0.7071068, 0.7071067 + + + + 1113 + + + -13.5317745, 84.48122, 5.2200003 + -0.29883623, 0.6408564, 0.29883623, 0.6408564 + + + + 563 + + + -28.5, 96.5, 2.5 + 0.0, 0.0, 0.7071068, 0.7071067 + + + + 562 + + + -28.499998, 87.5, 2.5 + 0.0, 0.0, 0.7071068, 0.7071067 + + + + 1108 + + Prop/General/Interior/Books/Large, violet + + + -13.593222, 84.854355, 5.0 + 0.29883623, 0.6408564, -0.29883623, 0.6408564 + + + + 1105 + + + -15.500008, 84.50001, 4.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 516 + + Prop/General/Nature/FireFlies + + + 15.5, 95.5, 5.5 + + + + 1135 + + Prop/General/Interior/Books/Medium, worn + + + 15.512, 98.105995, 7.47 + 0.0, 0.22495104, 0.0, 0.97437006 + + + + 517 + + Prop/General/Fiend/Sigil - Line, straight + + Sigil Color + 0.0, 1.0, 1.0, 1.0 + + + + 16.5, 95.5, 5.5 + + + + 518 + + Lights/Point Light + + Attenuation + + 0.0 + 0.8 + + Diffuse + 0.0, 1.0, 1.0, 1.0 + Extent + 7.0 + + + + 15.5, 95.5, 6.5 + + + + 1133 + + Prop/General/Interior/Books/Medium, red + + + 2.6747146, 91.63404, 5.92 + -0.29883623, 0.6408564, 0.29883623, 0.6408564 + + + + 519 + + Prop/General/Undead/Bone plane, jaw + + Color variant + Saturated 1 + + + + 0.88 + 14.69696, 96.1872, 5.5 + 0.0, 0.0, -0.0871557, 0.9961947 + + + + 1130 + + + 0.63 + 0.42072654, 92.87517, 5.5 + 0.0, 0.0, -5.960462E-8, 1.0 + + + + 512 + + Prop/General/Undead/Bone plane, pieces + + Color variant + Saturated 1 + + + + 15.829033, 95.98475, 5.5 + 0.0, 0.0, -0.34202006, 0.9396926 + + + + 1131 + + + 3.0340366, 92.16741, 5.69 + 0.62721133, 0.32650563, -0.62721133, 0.32650563 + + + + 513 + + Prop/General/Fiend/Sigil - Circle, medium half + + Sigil Color + 0.0, 1.0, 1.0, 1.0 + + + + 15.5, 95.5, 5.5 + + + + 1128 + + + -2.0165915, 92.45291, 6.52 + -0.52073574, 0.4691624, 0.5301897, 0.47709516 + + + + 514 + + Prop/General/Fiend/Sigil - Rune 02 + + Color + 0.0, 1.0, 1.0, 1.0 + + + + 14.527668, 95.00771, 5.5 + 0.0, 0.0, 0.7071069, 0.7071067 + + + + 1129 + + Prop/General/Interior/Books/Small, gold + + + 2.9834085, 92.45291, 6.9300003 + -0.5207356, 0.46916106, 0.53019106, 0.47709504 + + + + 515 + + Prop/General/Undead/Bone plane, chips + + Color variant + Saturated 1 + + + + 0.86 + 14.503841, 95.42383, 5.5 + 0.0, 0.0, -0.30070573, 0.953717 + + + + 524 + + Character/Monster/Undead/NPC/Spookat + + Actor + + Character/NPC/Moorcroft/Konjuring Kat + + + + + 16.244446, 92.57824, 5.5 + 0.0, 0.0, -0.25881904, 0.9659258 + + + + 525 + + Prop/General/Fiend/Sigil - Rune 07 + + Color + 0.0, 1.0, 1.0, 1.0 + + + + 1.5 + 17.25, 93.75, 5.5 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 526 + + Prop/General/Undead/Bones, bone 02 + + Color variant + Default + + + + 0.86 + 16.276707, 95.20781, 5.5 + 0.0, 0.0, -0.67559016, 0.7372774 + + + + 527 + + Prop/General/Fiend/Sigil - Rune 03 + + Color + 0.0, 1.0, 1.0, 1.0 + + + + 16.444271, 95.02335, 5.5 + 0.0, 0.0, 0.7071069, 0.7071067 + + + + 520 + + Prop/General/Fiend/Sigil - Rune 04 + + Color + 0.0, 1.0, 1.0, 1.0 + + + + 15.497574, 95.03903, 5.5 + 0.0, 0.0, 0.7071069, 0.7071067 + + + + 521 + + Prop/General/Undead/Bones, ribcage + + Color variant + Default + + + + 15.339142, 95.857216, 5.5 + 0.0, 0.0, 0.30070576, 0.95371693 + + + + 522 + + Prop/General/Undead/Bones, bone 01 + + Color variant + Default + + + + 0.83 + 15.264362, 95.464195, 5.5 + 0.0, 0.0, -0.30070576, 0.95371693 + + + + 523 + + Prop/General/Undead/Bones, skull + + Color variant + Default + + + + 1.35 + 14.672081, 96.48076, 5.5 + -0.2640333, -0.25523964, -0.36451998, 0.85572445 + + + + 1151 + + + 8.499991, 98.5, 5.5 + 0.0, 0.0, -0.7071068, 0.7071067 + + + + 529 + + Prop/General/Spiderweb, corner + + + 17.471283, 97.42709, 3.98 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 1146 + + + -11.409058, 91.176895, 5.92 + -0.29883623, 0.6408564, 0.29883623, 0.6408564 + + + + 528 + + + 0.86 + 16.541069, 96.96525, 5.5 + 0.0, 0.0, -0.0436193, 0.99904823 + + + + 1145 + + + -10.925466, 91.54899, 5.69 + 0.67437965, 0.21263127, -0.67437965, 0.21263127 + + + + 530 + + + 1.5 + 17.25, 97.25, 5.5 + 0.0, 0.0, 0.7071069, 0.7071067 + + + + 540 + + Prop/Town/Moorcroft/Brazier, ground + + + 3.5, 104.5, 6.5 + + + + 1141 + + Prop/Town/Moorcroft/Bench, antique 1 + + + 13.075134, 84.512474, 4.0 + 0.0, 0.0, -3.7252896E-9, 1.0 + + + + 1140 + + Character/Knight/Crew, general + + Actor + + Shop/Haven/Spiral Quartermaster + + + + + 14.358734, 82.77086, 4.0 + 0.0, 0.0, -0.22495101, 0.97437006 + + + + 1139 + + Prop/General/Interior/Books/Small, green + + + 0.81 + 2.3226995, 92.68044, 6.6800003 + 0.0, 0.22495098, 0.0, 0.97437006 + + + + 536 + + + -2.5, 98.5, 6.5 + + + + 539 + + + 3.5, 98.5, 6.5 + + + + 538 + + + -2.5, 104.5, 6.5 + + + + 1033 + + Null barrier, no-walk + + + -31.5, 113.5, 2.5 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 1034 + + + -30.5, 112.5, 2.5 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 1038 + + Prop/Town/Moorcroft/Luggage/Suitcase, brown + + + -30.877628, 112.770485, 2.7 + -0.7068645, -0.018509898, 0.018509898, 0.7068645 + + + + 1039 + + + -30.475677, 113.720566, 2.5 + 0.0, 0.0, -0.30070576, 0.95371693 + + + + 1024 + + + -13.0, 79.5, 4.0 + + + + 619 + + Prop/Graveyard/Rubble/Brick pile 02, graveyard + + + 36.484165, 89.47443, 2.5 + 0.0, 0.0, 0.30070588, -0.95371693 + + + + 1026 + + + 11.5, 84.5, 4.0 + + + + 1027 + + + 16.5, 83.5, 4.0 + + + + 1028 + + + 15.5, 98.5, 5.5 + + + + 620 + + + 36.511753, 89.65889, 2.5 + 0.0, 0.0, -0.70710677, 0.7071068 + + + + 1049 + + Dynamic/Elevator/Start Platform + + Default Entrance + false + Tag + tier_enabled + + + + 0.5, 80.5, 5.5 + + + + 1048 + + Shop/Haven/Alchemy + + + 4.4999957, 56.5, 2.5 + 0.0, 0.0, -1.3590017E-6, 1.0 + + + + 1051 + + Prop/Town/Moorcroft/Luggage/Briefcase, black + + + -30.288437, 92.0951, 2.5 + 0.0, 0.0, 0.9483236, 0.3173048 + + + + 1050 + + + -30.141464, 91.12052, 2.5 + 0.0, 0.0, 0.55919284, 0.8290376 + + + + 1040 + + + -30.242033, 112.70331, 2.5 + 0.0, 0.0, -0.8433914, 0.5372997 + + + + 1042 + + Prop/Town/Moorcroft/Luggage/Hatbox, gray + + + -30.831465, 113.2234, 2.9 + 0.0, 0.0, -0.309017, 0.95105654 + + + + 1064 + + + 2.2400136, 88.54595, 5.5 + 0.0, 0.0, 0.66261977, 0.74895597 + + + + 1065 + + + 1.1799998 + -2.5644226, 89.610825, 5.5 + 0.0, 0.0, 0.9816271, 0.19080952 + + + + 1060 + + + 1.7570726, 88.35464, 5.5 + 0.0, 0.0, 0.72537434, 0.68835473 + + + + 1083 + + Character/Knight/Crew, general + + Actor + + Shop/Haven/Token Trader + + + + + -16.777132, 82.826515, 4.0 + 0.0, 0.0, 0.2164396, 0.976296 + + + + 1081 + + + 0.5 + -0.98249626, 89.69267, 5.99 + + + + 1080 + + + 0.5 + 2.0175037, 89.69267, 5.99 + + + + 1084 + + Player Enter/Base + + Color + 0.2, 0.8, 0.0, 1.0 + Trigger Action + + + + + + + 15 + + + + + 2 + + + + + 2 + + + + + 2 + + + + + 2 + + + + + tier_clearance + + ~Talk to Spiral Warden to obtain Tier 2 clearance. + + + + Trigger Condition + + + + + + + 1.5 + 34.500004 + + + -3.5 + 34.500004 + + + -3.4999962 + 30.500004 + + + 1.5 + 30.500004 + + + + + 1074 + + + 0.6 + -1.4720694, 92.86702, 5.5 + 0.0, 0.0, -3.7252899E-9, 1.0 + + + + 1079 + + Prop/Town/Moorcroft/Counter Props/Counter 4x4 - Curved Elbow + + Model + bar_x4_curved_elbow + + + + 3.0, 90.5, 5.5 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 687 + + Prop/Town/Moorcroft/Chair, antique 1 + + + -6.10593, 95.1538, 5.5 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 686 + + + -6.1522427, 92.91523, 5.5 + 0.0, 0.0, 0.57357645, 0.81915206 + + + + 673 + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Night billboard, large 1 + + + 1.2899998 + 44.031357, 77.535934, 2.5 + -0.03676664, -0.028013311, 0.039834894, 0.9981366 + + + + 699 + + + -10.0, 84.5, 4.0 + + + + 694 + + Prop/Town/Moorcroft/Brazier, tall + + + -6.5, 104.5, 5.5 + + + + 693 + + + 7.5, 104.5, 5.5 + + + + 690 + + + -9.5, 91.5, 5.5 + + + + 689 + + + 10.5, 91.5, 5.5 + + + + 653 + + + 43.814804, 86.51078, 2.5 + 0.0, 0.0, 0.25881913, -0.9659258 + + + + 652 + + + 43.814804, 86.51078, 2.5 + 0.0, 0.0, 0.25881913, -0.9659258 + + + + 654 + + Prop/Gremlin/Tool, shovel + + Preset position + Upright 1 + + + + 43.024857, 86.454025, 2.3 + 0.015098062, -0.06810296, 0.21591236, 0.97391784 + + + + 175 + + Dynamic/Elevator/Haven + + + -8.5, 50.5, 2.5 + + + + 651 + + Prop/Graveyard/Rubble/Brick loose 01, graveyard + + + 42.952873, 86.174835, 2.5 + 0.0, 0.0, 0.25881913, -0.9659258 + + + + 640 + + Prop/Graveyard/Sarcophagus + + + 41.499996, 79.50001, 2.5 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 166 + + Dynamic/Elevator/Start Platform + + Default Entrance + true + Tag + (Entrance Tag) + + + + 4.5, 36.5, 0.0 + + + + 668 + + Prop/Graveyard/Rubble/Brick pile 01, graveyard + + + 39.43495, 80.47327, 2.5 + 0.0, 0.0, 0.30070576, -0.9537169 + + + + 669 + + + 39.43495, 80.47327, 2.5 + 0.0, 0.0, 0.30070576, -0.9537169 + + + + 670 + + Prop/Graveyard/Rubble/Brick loose 02, graveyard + + + 38.804695, 78.35559, 2.5 + 0.0, 0.0, 0.30070576, -0.9537169 + + + + 671 + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Night tuft 1 + + + 43.581253, 76.84112, 2.5 + 0.0, 0.0, 0.073753156, 0.99727654 + + + + 664 + + + 30.666458, 89.77391, 2.5 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + 666 + + + 32.5, 89.5, 2.5 + + + + 660 + + + 29.72837, 89.386185, 2.5 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + 662 + + + 28.5, 89.5, 1.0 + + + + 663 + + + 1.23 + 28.501686, 89.34742, 2.5 + 0.0, 0.0, 0.3826833, 0.92387956 + + + + 656 + + + 37.594284, 85.65963, 2.5 + 0.0, 0.0, 0.5, 0.8660254 + + + + 747 + + + 2.0 + 29.0, 90.0, 2.5 + + + + 1155 + + Dynamic/Portal/Level Start + + Default Entrance + true + + + + 4.5, 36.5, 0.0 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 745 + + + 2.0 + 44.0, 87.0, 2.5 + + + + 1157 + + Dynamic/Portal/Destination + + Default Entrance + false + Tag + tier_enabled + + + + 0.5, 80.5, 5.5 + 0.0, -0.0, -1.0, -4.371139E-8 + + + + 751 + + + 3.5, 104.5, 6.5 + + + + 748 + + + 36.5, 89.5, 2.5 + + + + 763 + + + 2.0 + -1.5, 105.0, 6.5 + + + + 761 + + + 2.0 + 0.5, 105.0, 6.5 + + + + 764 + + + 2.0 + 2.5, 105.0, 6.5 + + + + 765 + + Prop/Town/Moorcroft/Train tracks, huge + + + -39.0, 112.0, -1.0 + -0.0130894715, -5.7113954E-5, 0.004362935, 0.9999048 + + + + 752 + + + -2.5, 104.5, 6.5 + + + + 707 + + Lights/Spot/Default + + Attenuation + + 0.0080 + + Color + 1.0, 0.8, 0.4, 1.0 + Direction + -0.42261824, -1.847323E-8, -0.9063078 + Extent + + 12.0 + 9.0 + 12.0 + + Falloff + + 10.0 + 40.0 + + Shape + + 7.0 + 7.0 + + + + + -30.0, 96.5, 6.0 + 0.0, 7.450575E-9, 0.0, 1.0 + + + + 708 + + + -30.0, 105.5, 6.0 + 0.0, 7.4505766E-9, 0.0, 1.0 + + + + 729 + + + -18.5, 84.5, 4.0 + + + + 730 + + + 16.5, 84.5, 4.0 + + + + 726 + + + 20.5, 91.5, 5.5 + + + + 727 + + + -21.499992, 91.5, 5.5 + 0.0, 0.0, -1.0, 1.9470718E-7 + + + + 799 + + Prop/Town/Moorcroft/Counter Props/Counter x1 03 + + + 2.0, 93.5, 5.5 + 0.0, 0.0, -1.0, 5.5233505E-7 + + + + 795 + + Character/Monster/Undead/NPC/Spookat + + Actor + + Character/NPC/Moorcroft/Desk Clerk + + + + + 0.0, 91.0, 5.5 + 0.0, 0.0, 0.1305262, 0.9914449 + + + + 774 + + Prop/Town/Moorcroft/Counter Props/Counter x1 01 + + Model + bar_x1_01 + + + + 1.0, 93.5, 5.5 + 0.0, 0.0, -1.0, 4.3312576E-7 + + + + 772 + + Prop/Town/Moorcroft/Counter Props/Counter x1 02 + + + 0.0, 93.5, 5.5 + 0.0, 0.0, -1.0, 3.1391647E-7 + + + + 771 + + Prop/Town/Moorcroft/Counter Props/Counter x1 04 + + + -1.0, 93.5, 5.5 + 0.0, 0.0, -1.0, 5.5233505E-7 + + + + 780 + + + 3.0, 93.5, 5.5 + 0.0, 0.0, -1.0, 7.9075363E-7 + + + + 781 + + + -2.0, 90.5, 5.5 + + + + 779 + + + -2.0, 93.5, 5.5 + 0.0, 0.0, -1.0, 3.1391647E-7 + + + + 777 + + + -3.0, 93.5, 5.5 + 0.0, 0.0, -1.0, 4.3312576E-7 + + + + 881 + + + -13.0, 79.5, 4.0 + 0.0, 0.0, -0.9935719, 0.11320324 + + + + 880 + + + -16.0, 79.5, 4.0 + 0.0, 0.0, 0.9935719, 0.11320324 + + + + 883 + + + -14.230625, 79.53633, 4.130003 + -0.23662645, 0.27878645, -0.8995063, 0.23911193 + + + + 876 + + + -13.499992, 84.5, 4.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 855 + + + 4.0, 93.5, 5.5 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 858 + + + -13.2526, 95.47335, 5.9500103 + -0.2831692, -0.57342887, 0.34911633, 0.6849178 + + + + 856 + + + -13.047468, 94.84086, 5.630003 + -0.3655127, 0.010696813, -0.4241924, 0.8284606 + + + + 863 + + + 2.4 + -12.936298, 96.32182, 5.6000023 + + + + 956 + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Night billboard, large 2 + + + 44.171772, 85.584335, 2.5 + -0.043047026, -0.048780195, -0.079437636, 0.9947147 + + + + 957 + + + 0.6900003 + 36.008106, 85.94337, 2.5 + 0.0, 0.0, 0.07375317, 0.99727654 + + + + 958 + + Prop/General/Nature/Foliage/Grass variants/Sky Islands Night billboard, small 1 + + + 0.75000024 + 38.267235, 83.97128, 2.43 + -0.008901863, -0.045247175, 0.026510095, 0.9985843 + + + + 959 + + + 0.75000024 + 35.267456, 77.95531, 2.43 + -0.008901863, -0.045247175, 0.026510095, 0.9985843 + + + + 952 + + + 0.6100004 + 30.832047, 82.49876, 2.5 + 0.0, 0.0, -0.9537169, 0.30070603 + + + + 953 + + + 1.0799999 + 40.626083, 83.425964, 2.7299998 + 0.0, 0.0, 0.043619603, 0.99904823 + + + + 954 + + + 1.0799999 + 41.330193, 83.38771, 2.7299998 + 0.0, 0.0, 0.25881922, 0.96592575 + + + + 955 + + + 0.8800001 + 42.354908, 83.263985, 2.7299998 + 0.0, 0.0, -0.6427874, 0.7660446 + + + + 948 + + + 0.56 + 28.706455, 82.933, 2.3200002 + -0.008901863, -0.045247182, 0.026510097, 0.9985843 + + + + 949 + + + 0.6100004 + 30.514868, 82.2737, 2.5 + -0.054766662, -0.040133074, -0.18870644, 0.9796835 + + + + 950 + + + 0.7900002 + 30.900627, 82.37908, 2.5 + 0.01601604, -0.05255069, -0.14247485, 0.98827267 + + + + 951 + + + 31.738964, 82.726715, 2.5 + 0.0, 0.0, 0.46174878, 0.88701075 + + + + 944 + + + 0.8800001 + 42.421074, 77.35153, 2.5 + -0.07553353, 0.060855515, 0.21655306, 0.9714402 + + + + 945 + + + 33.72903, 82.34413, 2.5 + -0.013264712, -0.06658904, 0.5227355, 0.8497868 + + + + 946 + + + 34.44053, 81.27933, 2.5 + -0.046965614, -0.0490335, -0.015719535, 0.9975685 + + + + 947 + + + 0.75000024 + 35.014137, 81.242, 2.5 + 0.0, 0.0, 0.28785506, 0.95767397 + + + + 941 + + + 44.582886, 76.89415, 2.5 + -0.063933514, 0.0021702591, 0.075983256, 0.99505496 + + + + 940 + + + 44.010666, 78.50414, 2.5 + -0.035509724, -0.029590389, 0.08333509, 0.995449 + + + + 943 + + + 44.725285, 79.58678, 2.5 + -0.06350108, 0.007734173, -0.011030631, 0.99789083 + + + + 942 + + + 43.254948, 78.1175, 2.5 + -0.06310328, 0.010496691, -0.05454753, 0.99645996 + + + + 937 + + + 39.677105, 86.625885, 2.5 + -0.011667044, -0.038166173, -0.07315339, 0.99652183 + + + + 939 + + + 41.028034, 86.630844, 2.5 + -0.058187928, -0.039165176, 0.21298873, 0.97453386 + + + + 938 + + + 40.723812, 85.967995, 2.5 + 0.0, 0.0, 0.07375316, 0.99727654 + + + + 933 + + Dynamic/Door/Iron Gate/Trigger 5 + + Open + true + Tag + (Door Tag) + + + + 0.5, 74.5, 5.5 + + + + 935 + + + 35.097473, 81.677925, 2.5 + -0.04478209, -0.051035453, 0.027808977, 0.9973047 + + + + 934 + + + 34.62438, 81.829155, 2.5 + -0.052475084, -0.022877455, 0.106261276, 0.992689 + + + + 931 + + Character/Monster/Undead/NPC/Spookat + + Actor + + Character/NPC/Moorcroft/Bellhop + + + + + -1.5, 88.5, 5.5 + 0.0, 0.0, 0.17364816, 0.9848077 + + + + 441 + + + 41.26779, 76.91085, 2.5 + -0.0699422, 0.06720712, 0.13106243, 0.9866174 + + + + 925 + + Character/Knight/Crew, general + + Actor + + Character/NPC/Tier Guard/Tier 1 + + + + + -1.1487745, 55.84533, 2.5 + 0.0, 0.0, 0.30070573, 0.953717 + + + + 922 + + Lights/Point Light + + Attenuation + + 0.8 + 0.8 + + Diffuse + 1.0, 0.8, 0.2, 1.0 + Extent + 7.0 + + + + 4.5, 36.5, 1.5600001 + + + + 920 + + Lights/Point Light + + Attenuation + + 0.8 + 0.8 + + Diffuse + 0.0, 1.0, 1.0, 1.0 + Extent + 7.0 + + + + -0.829083, 55.346153, 3.3 + + + + 921 + + + -8.5, 50.5, 3.12 + + + + 918 + + Environment/Model + + Model + + world/skybox/clockwork_tunnels/model.dat + + Color Scheme + Spooky + + + + + + + 433 + + + 33.938473, 81.871346, 2.5 + 0.0, 0.0, -0.30070585, 0.95371693 + + + + 916 + + Environment/Model + + Model + + world/skybox/visionfog/skybox.dat + + Color + 0.023529412, 0.039215688, 0.039215688, 1.0 + Mode + Tunnel Fog + + + + + + + 917 + + Environment/Model + + Model + + world/skybox/visionfog/skybox.dat + + Color + 0.23921569, 0.38039216, 0.6, 1.0 + Mode + Ground Fog + + + + + + + 914 + + Lights/Spot/Default + + Attenuation + + 0.1 + + Color + 1.0, 0.4, 1.0, 1.0 + Direction + -0.0, 0.25881907, 0.9659258 + Extent + + 16.0 + 4.0 + 3.0 + + Falloff + + 8.0 + 60.0 + + Shape + + 12.0 + 2.0 + + + + + 12.0, 86.0, 0.0 + + + + 915 + + + -12.0, 86.0, 0.0 + + + + 439 + + + 38.1784, 76.71628, 2.5 + -0.038218573, 0.011708531, 0.010070313, 0.99915004 + + + + 910 + + Lights/Spot/Default + + Attenuation + + 0.1 + + Color + 1.0, 0.2, 1.0, 1.0 + Direction + -0.0, 0.25881907, 0.9659258 + Extent + + 16.0 + 16.0 + 36.0 + + Falloff + + 6.0 + 60.0 + + Shape + + 16.0 + 16.0 + + + + + 0.5, 68.0, 0.0 + + + + 424 + + Prop/Graveyard/Sarcophagus + + Lid + Ajar + + + + 30.5, 84.5, 2.5 + + + + 427 + + + 30.822252, 82.3716, 2.5 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 426 + + + 29.697063, 82.1269, 2.5 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 907 + + Lights/Spot/Default + + Attenuation + + 0.2 + 0.02 + 0.0060 + + Color + 0.0, 0.3019608, 0.45882353, 1.0 + Direction + 0.0, -4.371139E-8, -1.0 + Extent + + 16.0 + 16.0 + 36.0 + + Falloff + + 14.0 + 38.0 + + Shape + + 16.0 + 16.0 + + + + + 36.5, 82.5, 14.0 + + + + 906 + + Lights/Spot/Default + + Attenuation + + 0.6 + 0.04 + 0.0080 + + Color + 0.3372549, 0.27058825, 1.0, 1.0 + Direction + 0.0, -4.371139E-8, -1.0 + Extent + + 16.0 + 16.0 + 36.0 + + Falloff + + 14.0 + 38.0 + + Shape + + 16.0 + 16.0 + + + + + 15.5, 88.82028, 14.650061 + + + + 428 + + + 0.7000003 + 29.630596, 81.93456, 2.5 + 0.0, 0.0, 0.07375317, 0.99727654 + + + + 905 + + Lights/Spot/Default + + Attenuation + + 0.6 + 0.04 + 0.0040 + + Color + 0.34509805, 0.27450982, 1.0, 1.0 + Direction + 0.0, -4.371139E-8, -1.0 + Extent + + 16.0 + 16.0 + 36.0 + + Falloff + + 14.0 + 38.0 + + Shape + + 16.0 + 16.0 + + + + + -15.770006, 90.7607, 14.560059 + + + + 431 + + + 34.5, 84.5, 2.5 + 0.0, 0.0, 1.0, 3.1391647E-7 + + + + 904 + + Lights/Spot/Default + + Attenuation + + 0.0040 + + Color + 0.25490198, 0.5686275, 1.0, 1.0 + Direction + -0.0, 0.13052613, -0.9914449 + Extent + + 12.0 + 12.0 + 36.0 + + Falloff + + 12.0 + 48.0 + + Shape + + 12.0 + 12.0 + + + + + 0.5, 86.257065, 12.0 + + + + 902 + + Dynamic/Elevator/Next Floor (Subtown) + + + 0.5, 101.5, 6.5 + + + + 901 + + Lights/Spot/Default + + Attenuation + + 0.4 + 0.02 + 0.0010 + + Color + 0.6039216, 0.6, 1.0, 1.0 + Direction + -0.0, 0.2588192, -0.9659258 + Extent + + 15.0 + 15.0 + 24.0 + + Falloff + + 6.0 + 60.0 + + Shape + + 15.0 + 15.0 + + + + + 0.5, 98.0, 14.0 + + + + 419 + + + 29.07343, 76.82604, 2.5 + -0.063989446, -0.05261869, 0.06096663, 0.9946958 + + + + 897 + + Prop/Graveyard/Sarcophagus, opened lid + + + 41.499996, 83.50001, 2.5 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 1017 + + + 11.491028, 83.82088, 4.0 + 0.0, 0.0, 0.60876155, 0.7933533 + + + + 479 + + Shop/Moorcroft Manor/Armor 2 + + Actor + + Shop/Moorcroft Manor/Armor 2 + + + + + -14.0231, 93.66096, 5.5 + 0.0, 0.0, -0.30070573, 0.953717 + + + + 477 + + Shop/Moorcroft Manor/Armor 1 + + Actor + + Shop/Moorcroft Manor/Armor 1 + + + + + -16.998138, 93.609055, 5.5 + 0.0, 0.0, 0.1305262, 0.9914449 + + + + 1022 + + + -12.499992, 84.5, 4.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 1023 + + + -14.0, 79.5, 4.0 + + + + 1008 + + + 16.396368, 82.78427, 4.0 + 0.0, 0.0, -0.57357645, 0.819152 + + + + 1003 + + + 1.3299999 + 42.353294, 83.79761, 2.8400002 + -0.083391026, 0.18528253, -0.46454373, 0.8619254 + + + + 1002 + + Prop/General/Nature/Foliage/Variants - Graveyard/Ivy vine, Graveyard 01 + + + 1.1399999 + 44.59001, 82.68004, 2.5 + 0.0, 0.0, -0.49101317, 0.87115216 + + + + 1005 + + Prop/Graveyard/Underbase/Underbase x10 + + + 0.73000026 + 0.4299997, 79.149284, 1.9699984 + + + + 1004 + + + 41.404316, 83.46998, 2.7999997 + -0.2099047, -0.062369794, 0.426868, 0.8774017 + + + + 508 + + Prop/General/Fiend/Sigil - Circle, large quarter + + Model variant + Large, quarter + Shape + + 2.2 + + Sigil Color + 0.0, 1.0, 1.0, 1.0 + + + + 15.5, 95.5, 5.5 + + + + 986 + + + 40.36483, 86.41323, 2.5 + 0.0, 0.0, 0.93261814, -0.36086476 + + + + 509 + + + 1.5 + 13.75, 93.75, 5.5 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 987 + + + 41.4582, 86.406364, 2.5 + 0.0, 0.0, -0.36958915, -0.9291953 + + + + 510 + + + 14.5, 95.5, 5.5 + 0.0, 0.0, -1.0, 1.9470718E-7 + + + + 984 + + + 38.743004, 86.42342, 2.5 + 0.0, 0.0, -0.34194347, -0.9397205 + + + + 511 + + Prop/General/Fiend/Sigil - Rune 07 + + Color + 0.2, 1.0, 1.0, 1.0 + + + + 1.5 + 13.75, 97.25, 5.5 + 0.0, 0.0, -1.0, 4.3312576E-7 + + + + 985 + + + 39.399025, 86.419304, 2.5 + 0.0, 0.0, 0.90828496, -0.418352 + + + + 988 + + + 42.2007, 86.494835, 2.5 + 0.0, 0.0, -0.7620478, -0.64752066 + + + + 507 + + + 15.5, 95.5, 5.5 + 0.0, 0.0, -1.0, 1.9470718E-7 + + + + 982 + + + 37.378155, 86.50174, 2.5 + 0.0, 0.0, 0.8846066, -0.46633792 + + + + 983 + + + 37.96093, 86.451515, 2.5 + 0.0, 0.0, 0.37729412, -0.92609346 + + + + 963 + + + 42.5, 81.5, -0.5 + + + + 962 + + + 32.5, 81.5, -0.5 + + + + 961 + + + 32.5, 84.5, 2.5 + + + + 960 + + + 36.5, 81.5, 2.5 + + + + 966 + + + 0.83000016 + 43.7969, 77.361984, 2.5 + -0.06381856, 0.073047236, 0.044574335, 0.9942859 + + + + 965 + + Prop/General/Nature/Foliage/Variants - Graveyard/Ivy Wall, x1 - 01 + + + 44.802914, 86.64753, 2.5 + 0.0, 0.0, 0.38268343, -0.9238795 + + + + 964 + + Prop/General/Nature/Foliage/Variants - Graveyard/Ivy Wall, x3 - 01 + + + 41.1312, 87.03848, 2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + + \ No newline at end of file diff --git a/scenes/4.xml b/scenes/4.xml new file mode 100644 index 0000000..02fbab9 --- /dev/null +++ b/scenes/4.xml @@ -0,0 +1,9272 @@ + + + + + + + rescue_camp.jpg + + + + + + 0, -1 + + + 7143424, 3932160, 2883584, 2097152, 6094825, 589801, 5046223, 4849612, 7208960, 4325376, 2883584, + 6356970, 6029290, -1, 4915151, 5046222, 3473408, 2818048, 3145728, 327657, 917482, 65514, -1, -1, 3145728, + 9895936, 196608, 6422505, 131049, -1, -1, -1, 393216, 1376256, 458752, 327657, 1114089, -1, -1, -1, 3276800, + 393216, 393216, 6422505, 917481, 65513, -1, -1, 2883584, 9568256, 196608, 6356969, 6029289, 1114089, -1, -1, + 3014656, 3276800, 786433, 2097152, 327657, 131049, -1, -1 + + + 0, 0 + + + 3080192, 3014656, 3407872, 2424832, 655337, 131049, -1, -1, 4063232, 2752512, 3538944, 2359298, 1638377, + 917481, 1114088, 65513, 3932160, 3342336, 2752512, -1, -1, 3342312, 524264, 917481, 4325376, 2752512, 3473408, + 2490368, 655337, 3080168, 3473384, 3342312, 4653056, 2752512, 2883584, 2097152, 6094825, 4521960, 2818024, + 3080168, 3211264, 3080192, 3014656, 3276800, 6422505, 4521960, 3145704, 2818024, 2752512, 2949120, 3080192, + 2883584, 6356969, 6029289, 3669992, 2818024, 2752512, 2752512, 3342336, 2883584, 393216, 6094825, 4521960, + 2818024 + + + -1, -1 + + + 4980761, 4849688, 5046296, 4784152, 4980761, 589825, 7274496, 7077888, 4849690, 4980763, 4784152, + 4784152, 4980761, 6029313, 7340032, 7208960, 458776, 4849691, 4915226, 4980762, 4849690, 589825, 3604480, + 2752512, 5963801, 2949144, 3342360, 2883608, 6291458, 5963778, 4587520, 2818048, 589849, 2949144, 3473432, + 3145752, 983041, 2228224, 2097152, 2621440, 6291481, 5963801, 2883608, 655384, -1, 2097152, 3080192, 3014656, + 393264, 983065, 2883608, 327704, 6029313, 2490368, 2949120, 2752512, 458800, -1, 3014680, 3276824, 1507329, + 2555905, 4718592, 3080192 + + + 1, 0 + + + -1, -1, -1, -1, -1, 65512, 589800, -1, -1, -1, -1, -1, 65512, 917480, 5505002, 6619114, 131048, 786408, + -1, 131048, 917480, 5505002, 5439466, 5832680, 851947, 458728, 5505002, 5636074, 5636074, 5439466, 6488040, + 5963752, 3342312, 1441768, 5570537, 5373928, 5898216, 6750186, 6291432, 6684648, 3080168, 3342312, 5505001, + 5439465, 6750186, 6946794, 5898216, 6684648, 3145704, 3080168, 3342312, 5767145, 6946793, 6750187, 5701608, + 6815723, 4587496, 3014632, 2949096, 5505001, 5636072, 6619112, 6619112, 6619112 + + + 2, -1 + + + -1, -1, -1, -1, -1, -1, -1, -1, 4980707, 4849632, 4849632, -1, 4849612, 4849612, 5177293, 4980687, + 4915171, 4980706, 4980706, 4915170, 4849612, 4849612, -1, 5046223, -1, 5111759, 4849612, 4849612, 4849612, + 4849612, 5046221, 4915151, -1, 5308367, 4849612, 4849612, 5111758, 4980686, 4915150, -1, -1, -1, 4849612, + 4849612, 4980685, -1, -1, -1, -1, 4915151, 5308366, -1, 4915150, -1, -1, 65512, -1, -1, -1, -1, -1, 65512, + 1114088, 917480 + + + 2, 0 + + + 1114088, 1114088, 65513, -1, -1, 1114091, 720872, 4325352, 6619114, 5505003, 589801, -1, -1, 1114091, + 851947, 4521960, 6881258, 6160363, -1, -1, -1, 1114091, 458728, 4653032, 5439464, 5505000, 917481, 589800, -1, + 917480, 524264, 6029288, 5570539, 2097128, -1, -1, -1, -1, -1, 6356968, 5767147, -1, -1, -1, -1, -1, -1, + 4259840, 5636075, 1966056, -1, -1, -1, -1, -1, 4456448, 5505000, 2031592, -1, -1, -1, -1, -1, 4456448 + + + 1, -1 + + + 5111758, 4980686, 4980686, 5111759, 4849612, 4849612, -1, -1, 4915150, -1, -1, 4915151, 5111759, + 4849612, 4849612, 4849612, -1, -1, -1, -1, 5046223, 4849612, 4849612, 4849612, -1, -1, -1, -1, 4915151, + 4980686, 4980686, 5308366, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 3, 0 + + + 1900520, 3407848, 3080168, 3342312, 524264, 6029288, 6356968, 327680, 2818024, 3276776, 3014632, + 2949096, 393192, 6422507, 5963776, 262144, 2883560, 2883560, 2883560, 3211240, 6029288, 6356968, 262147, + 5963800, 1572840, -1, -1, -1, 6356968, 5963776, 6291456, 262171, 4259840, 3407872, 3407872, 3407872, 3276800, + 262147, 5963800, 6291480, 1835008, 2752512, 2752512, 2752512, 2883584, 262147, 1572891, 4849712, 2752512, + 3342336, 3211264, 3080192, 2883584, 6356995, -1, 5177395, 2752512, 2949120, 2752512, 3211264, 5963776, + 6291456, 6357019, -1 + + + 4, -1 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 131048, + 1114088, 589800, -1, 131048, 786408, -1, 131048, 6029288, 6094824, 6094824, 327656, 327656, 327656, 1048552, + -1, 6356968, 4849664, 4980736, 4849665, 393216, 327680, 458752, 4849664, 4849664, 5046272, 4784128, 5046273, + 4915200, 4915200, 4849665, 4980739, 4980739, 4784128, 4784128, 4784128, 4784128, 4784128, 4980737, 4980739 + + + 4, 0 + + + 4849667, 4980738, 4915202, 4980738, 4915202, 4980738, 4849666, 4849667, 6029312, 262144, 6029312, + 6029312, 589824, 1572864, -1, 262144, 1572888, -1, 6357016, 262168, 262168, 6029336, 6029336, 262168, 4849712, + 5177392, -1, 4915248, 4980784, 5242928, -1, 5111856, 4915251, 4784176, 4784176, 4784176, 4784176, 4784176, + 4784176, 4784176, 5046320, 4784176, 4784176, 4784176, 4784176, 4784176, 4784176, 4784176, 4784176, 4784176, + 4784176, 4784176, 4784176, 4784176, 4784176, 4784176, 4784176, 4784176, 4784176, 4784176, 4784176, 4784176, + 4784176, 4784176 + + + 3, -1 + + + -1, -1, -1, -1, -1, -1, -1, -1, 4849612, 4849612, 5111757, 4915149, -1, -1, -1, -1, 4849612, 4849612, + 4849612, 4980685, -1, -1, -1, -1, 5111759, 4849612, 4849612, 4980685, -1, -1, -1, 65512, 5046223, 4849612, + 4849612, 5046221, -1, -1, 65512, 917480, 4915151, 5046222, 4980686, 4915150, -1, -1, 131051, 6029288, 589800, + -1, 131048, 65513, -1, 65512, 917480, 327659, 4325352, 3473384, 3342312, 917481, 1114088, 917480, 6029288, + 6356968 + + + 5, 0 + + + 4915202, 4915202, 4849666, 6356969, 6094824, 6029289, 917481, 65513, 6356992, 983040, -1, 5963777, + 458752, 6356969, 6029289, 131049, 6029336, 6029336, 5963801, 6029313, 327680, 327680, 6094825, 1114089, -1, + 4849713, 262169, 262145, 327680, 393216, 6094825, 1114089, 4784176, 4980785, 6029337, 589825, 393216, 327680, + 327657, 131049, 4784176, 5177393, 262169, 589825, 393216, 393216, 327657, 1114089, 4784176, -1, 6357017, + 589825, 393216, 393216, 655337, 1114089, 4784176, 4980785, 6029337, 6356993, 327680, 458752, 6094825, 1114089 + + + -2, 9 + + + 6226016, 5374051, 11534433, 917554, 917554, 917554, 50, -1, 6160480, 1638496, 11731041, -1, -1, -1, -1, + -1, 5308512, 11665507, 11796577, -1, -1, -1, -1, -1, 6422624, 11337827, 11599969, -1, -1, -1, -1, -1, 6422624, + 11337827, -1, -1, -1, -1, -1, -1, 6619232, 10748003, -1, -1, -1, -1, -1, -1, 6160480, 11665507, 11796577, -1, + -1, -1, -1, -1, 6619232, 11272291, 11206752, 11403360, -1, -1, -1, -1 + + + -3, 9 + + + -1, 51, 852019, 5963827, 1179698, -1, 11534435, 1638497, -1, -1, 51, 1310770, -1, 917554, 11731043, + 11665505, -1, -1, -1, -1, -1, -1, 11796579, 11862113, -1, -1, -1, -1, -1, -1, 11599971, 11862113, -1, -1, -1, + -1, -1, -1, -1, 11862113, -1, -1, -1, -1, -1, -1, -1, 11337825, -1, -1, -1, -1, -1, -1, 11796579, 10748001, + -1, -1, -1, -1, -1, 11403363, 11206755, 11337825 + + + 5, -1 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 131048, + 1114088, 131048, 131048, 65513, -1, -1, -1, 6094824, 327656, 6422504, 6029289, 131049, -1, -1, -1, 4980736, + 4980736, 4849665, 327657, 131049, -1, -1, -1, 4784128, 4784128, 4915201, 6422505, 1114089, -1, -1, -1, + 4784128, 4784128, 4915201, 327657, 917481, 131048, 65513, -1 + + + 2, 9 + + + 196608, 393216, 327680, 327680, 6356970, 6029290, 917482, 65514, 327680, 393216, 393216, 393216, + 6094825, 917482, 65514, -1, 6356971, 393216, 327680, 393216, 327657, 1114089, -1, -1, 6029291, 196586, 196586, + 196586, 6029290, 131049, -1, -1, 983018, 1376234, -1, 1376234, -1, 65514, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 1, 9 + + + -1, -1, -1, 196608, 393216, 393216, 655360, 655360, -1, -1, -1, 196586, 6356971, 655360, 1376256, + 327680, -1, -1, -1, 917483, 6029291, 1245162, -1, 196586, -1, -1, -1, 65515, 1376234, -1, 983018, 917483, -1, + -1, -1, -1, -1, -1, -1, 65515, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1 + + + -4, 1 + + + 131051, 655339, 393216, 393216, 327680, 1114112, 393216, 6029315, 1114091, 655339, 393216, 458752, + 327680, 327680, 393216, 6029315, 131051, 6094827, 393216, 393216, 393216, 458752, 393216, 983043, 1114091, + 6094827, 393216, 393216, 393216, 393216, 196608, -1, 1114091, 6094827, 327680, 393216, 327680, 196608, 393216, + 6356995, 1114091, 327659, 327680, 393216, 393216, 393216, 393216, 6356995, 131051, 1048555, 1245186, -1, + 393216, 196608, 393216, 262147, 786411, -1, -1, -1, 393216, 327680, 327680, 1572867 + + + -4, 0 + + + 1114091, 327659, 458752, 393216, 393216, 327680, 393216, 6029315, 131051, 6094827, 393216, 393216, + 327680, 458752, 458752, 983043, 131051, 6422507, 196608, 393216, 393216, 458752, 458752, -1, 1114091, 327659, + 393216, 458752, 393216, 393216, 327680, 262147, 131051, 655339, 393216, 327680, 327680, 393216, 327680, + 262147, 1114091, 655339, 655360, 393216, 458752, 327680, 655360, 262147, 786411, 6094827, 393216, 393216, + 327680, 393216, 655360, 262147, -1, 6094827, 458752, 458752, 393216, 458752, 393216, 6356995 + + + -2, 1 + + + 393264, 393264, 393264, 655408, 786480, 196656, 393264, 458800, 393264, 393264, 393264, 393264, 327728, + 458800, 327728, 327728, 458800, 393264, 393264, 327728, 393264, 393264, 327728, 655408, 393264, 393264, + 458800, 327728, 327728, 458800, 393264, 393264, 393264, 327728, 327728, 458800, 393264, 1376304, 196656, + 4849712, 393264, 393264, 458800, 327728, 393264, 393264, 393264, 4915251, 393264, 393264, 786480, 393264, + 327728, 327728, 655408, 4980787, 327728, 327728, 327728, 458800, 393264, 458800, 458800, 4849715 + + + -3, 0 + + + 196632, 393240, 262171, 196656, 393264, 327728, 393264, 327728, 327704, 393240, 262171, 655408, 393264, + 393264, 327728, 327728, 327704, 393240, 6029339, 393264, 327728, 327728, 655408, 393264, 393240, 393240, + 6029339, 327728, 655408, 393264, 327728, 655408, 327704, 393240, 262171, 458800, 393264, 327728, 393264, + 458800, 393240, 393240, 262171, 393264, 196656, 393264, 393264, 196656, 393240, 458776, 6029339, 393264, + 327728, 393264, 393264, 327728, 458776, 393240, 1572891, 458800, 196656, 393264, 327728, 1376304 + + + -3, 1 + + + 393240, 327704, 851994, 393264, 196656, 327728, 393264, 327728, 327704, 327704, 1572891, 393264, 393264, + 393264, 655408, 393264, 393240, 327704, 262171, 393264, 393264, 196656, 327728, 393264, 458776, 1376280, + 1572891, 393264, 196656, 393264, 327728, 393264, 655384, 458776, 6357019, 458800, 393264, 458800, 458800, + 655408, 393240, 655384, 262171, 393264, 786483, 655408, 393264, 655408, 196632, 327704, 262171, 393264, + 393264, 327728, 393264, 393264, 393240, 393240, 589851, 458800, 393264, 655408, 393264, 393264 + + + 0, 1 + + + 2752512, 3080192, 3473408, 3145728, 393216, 6356969, 6029289, 3669992, 2752512, 2752512, 2883584, + 655360, 327680, 327680, 6094825, 4653032, 2752512, 3211264, 2883584, 327680, 9568256, 196608, 6356969, + 1048552, 2949120, 3080192, 3014656, 3276800, 393216, 9895936, 393216, 393216, 3604480, 4653056, 3080192, + 3014656, 3276800, 327680, 393216, 655360, 5963777, 3670016, 3342336, 3211264, 3014656, 3407872, 3276800, + 9371648, 6291457, 5963777, 2949120, 3080192, 2752512, 2949120, 3014656, 3276800, 2097176, 262145, 2818048, + 2818048, 2818048, 3604480, 2949120, 2883584 + + + -2, 0 + + + 458800, 327728, 655408, 458800, 393264, 327728, 393264, 327728, 196656, 393264, 655408, 327728, 458800, + 393264, 327728, 458800, 393264, 393264, 458800, 327728, 393264, 327728, 393264, 655408, 393264, 327728, + 393264, 393264, 393264, 393264, 327728, 327728, 393264, 393264, 327728, 393264, 393264, 393264, 393264, + 327728, 393264, 393264, 327728, 458800, 393264, 393264, 458800, 393264, 327728, 327728, 393264, 327728, + 196656, 458800, 393264, 393264, 327728, 327728, 393264, 327728, 327728, 393264, 393264, 393264 + + + -1, 1 + + + 393264, 262169, 4849691, 4980762, 4849690, -1, 3080192, 3080192, 327728, 983065, 2752536, 2883608, + 393240, -1, 3604480, 3211264, 393264, -1, 2752536, 2883608, 458776, 6291457, 5963777, 3211264, 393264, + 6291481, 5963801, 3014680, 3276824, 786459, 6291457, 5963777, 4980784, 4849713, 589849, 2752536, 3014680, + 3407896, 3276824, 262145, 4784176, 4915249, 6291481, 5963801, 2752536, 2752536, 2883608, 6291457, 4784176, + 5046321, 4849713, 262169, 2752536, 2752536, 3014680, 3276824, 5046323, 4784176, 4980785, 262169, 2228248, + 2097176, 2162712, 2162712 + + + -1, 0 + + + 458800, 1507353, 4915224, 4849689, -1, -1, 2752512, 3342336, 393264, -1, 4784152, 4980761, -1, 2424832, + 4128768, 3997696, 327728, -1, 4784152, 4915225, -1, 2359296, 3866624, 3735552, 393264, -1, 4784152, 4915225, + 983041, -1, 3538944, 3801088, 393264, 1507353, 4784152, 4915225, -1, 2097152, 3670016, 4325376, 393264, -1, + 4980762, 4849690, 6291457, 5963777, 2752512, 2752512, 393264, -1, 4849688, 4915224, 4849689, 1507329, 2949120, + 2752512, 393264, -1, 4980763, 4784152, 4915225, -1, 3211264, 4718592 + + + 3, 1 + + + 3080192, 3080192, 3211264, 5963776, 6291456, 393240, 6029339, 4980787, 2752512, 3211264, 2883584, + 262147, 393240, 5963800, 6291480, 4980787, 2752512, 3080192, 2883584, 589827, 393240, 589851, 458800, 4849715, + 4521984, 3080192, 2883584, 6356995, 327704, 983067, 4849712, 5177392, 3473408, 2818048, 5963776, 6291456, + 393240, -1, 4915251, 4784176, 5963776, 6029312, 6291456, 655384, 393240, 6029339, 4915251, 4784176, 6291456, + 327704, 196632, 458776, 393240, 262171, 4980787, 4784176, 393240, 393240, 5963800, 6357016, 6357016, 6291480, + 4980787, 4784176 + + + 1, -2 + + + 6029290, 131049, -1, -1, -1, -1, -1, -1, 917482, 65514, -1, -1, -1, -1, -1, -1, 1114089, 4915148, + 5046220, 5308364, -1, 4980684, -1, -1, 65514, 5046223, 4915168, 4980704, 4980704, 5046240, -1, -1, 4915148, + 5111756, 5046243, 4849632, 4849632, 4849632, -1, -1, 5111756, 4849612, 5308387, 4849632, 4849632, 4849632, -1, + -1, 4849612, 4849612, -1, 4849632, 4849632, 4849632, -1, -1, 4849612, 4849612, 4915171, 4980706, 5046242, + 5046242, -1, -1 + + + 4, 1 + + + 4784176, 4784176, 4784176, 4784176, 4784176, 4784176, 4784176, 4784176, 4784176, 4784176, 4784176, + 4784176, 4784176, 4784176, 4784176, 4784176, 5242930, -1, 5242930, -1, 4980786, 5111858, -1, 4980786, -1, + 5177392, -1, 4849713, 393264, 196656, 393264, 393264, 4784176, 4784176, 4784176, 5046321, 4980784, 4849713, + 393264, 393264, 4784176, 4784176, 4784176, 4784176, 4784176, 4980785, 655408, 393264, 4784176, 4784176, + 4784176, 4784176, 4784176, 4915249, 393264, 393264, 4784176, 4784176, 4784176, 4784176, 4784176, 5046321, + 4849713, 327728 + + + 0, -2 + + + 655360, 458752, 327680, 393216, 327680, 655360, 327680, 6356970, 458752, 393216, 458752, 196608, 393216, + 393216, 458752, 6094825, 393216, 393216, 393216, 393216, 458752, 1376256, 6356970, 6029290, 327680, 393216, + 393216, 393216, 393216, 6356970, 6029290, 917482, 393216, 393216, 393216, 327680, 327680, 327657, 917482, + 65514, 327680, 393216, 327680, 2686976, 6356970, 6029290, 131049, 4915148, 3997696, 4063232, 2883584, 2490368, + 6094825, 917482, 65514, 5046223, 7012352, 3932160, 2883584, 2490368, 6094825, 131049, 4915148, 5111756 + + + 1, 1 + + + 3145704, 3538920, 3211240, 458728, 458728, 6029288, 327656, 6422504, 2883560, 3211240, 458728, 458728, + 6029288, 6356968, 5439490, 6094850, -1, 655336, 1638376, -1, 6356968, 5439490, 5373954, 6422528, 393216, + 458752, 393216, 5439490, 6094850, 5373954, 6225920, 5898240, 458752, 327680, 393216, 6553601, 6160384, + 6422528, 5636096, 5308416, 196608, 393216, 393216, 5439489, 5373953, 5636096, 6160384, 6225920, 458752, + 10158080, 9568256, 393216, 5505025, 6881283, 6684674, 6225920, 327680, 9109507, 9109507, 393216, 5701633, + 6750209, 6881283, 6881283 + + + -3, 10 + + + -1, -1, -1, -1, -1, 11468899, 10616930, 1638498, -1, -1, -1, -1, -1, 11599971, 11665505, 5767264, -1, + -1, -1, -1, -1, -1, 11665505, 6422624, -1, -1, -1, -1, -1, -1, 10616929, 1638497, -1, -1, -1, -1, -1, + 11403362, 11206754, 10748001, -1, -1, -1, -1, -1, -1, 12058723, 11862113, -1, -1, -1, -1, -1, -1, -1, + 10616929, -1, -1, -1, -1, -1, -1, 12124259, 10616930 + + + -1, -2 + + + 6356992, 262144, 6356992, 6356992, 589824, 262144, 262144, 5963777, 327704, 393240, 393240, 393240, + 655384, 327704, 393240, 1507329, 393240, 393240, 393240, 393240, 393240, 393240, 393240, -1, 655384, 393240, + 4849688, 4915224, 4849689, 393240, 393240, -1, 393240, 393240, 4915227, 4784152, 4980761, 655384, 393240, -1, + 4915224, 4849689, 4849691, 4915226, 4849690, 393240, 6291458, 5963778, 4784152, 4980761, 4849688, 4980760, + 4849689, 6291458, 5963778, 3997696, 5046298, 4849690, 4915227, 4784152, 4980761, 6029313, 7274496, 7012352 + + + 2, 1 + + + 327656, -1, -1, -1, -1, -1, -1, 4456448, 5505026, 5439491, 327680, 393216, 4259840, 3407872, 3407872, + 1835008, 6422528, 5505027, 327680, 655360, 4456448, 2949120, 3080192, 3211264, 5636096, 5373955, 5439491, + 393216, 4587520, 3604480, 2752512, 3211264, 6225920, 6160384, 5373955, 6094850, 5439491, 4587520, 3604480, + 2752512, 6422528, 6225920, 6619136, 5636096, 5373955, 5439491, 4587520, 2818048, 5898240, 6160384, 6225920, + 5767168, 5308416, 5373955, 5439491, 5963776, 5308416, 5832704, 5898240, 6422528, 5898240, 5832704, 5701635, + 1572867 + + + -2, -2 + + + -1, -1, 786411, 6029288, 6356968, 1376256, 5963776, 6029312, -1, -1, -1, 327659, 655360, 5963776, + 6291456, 393240, -1, -1, 1114091, 1048555, 327680, 262147, 393240, 327704, -1, 65512, 917480, -1, 327680, + 262147, 1376280, 327704, 65512, 917480, 6029288, 6356968, 393216, 262147, 327704, 393240, 1114091, 6029288, + 6356968, 393216, 458752, 262147, 4849688, 4980760, 917480, 6094827, 327680, 393216, 393216, 6029315, 4915227, + 4784152, 6029288, 6356968, 393216, 327680, 393216, 589827, 4915227, 4784152 + + + -2, 10 + + + 6619232, 1638499, 10616931, 11468897, -1, -1, -1, -1, 5832800, 5832800, 10748003, 11599969, -1, -1, -1, + -1, 6422624, 5767264, 11665507, -1, -1, -1, -1, -1, 5898336, 1638496, 10616928, -1, -1, -1, -1, -1, 5636192, + 12320867, 11206753, 11403361, -1, -1, -1, -1, 5767264, 12320867, 12124257, -1, -1, -1, -1, -1, 10748000, + 10616928, -1, -1, -1, -1, -1, -1, 11337826, 10616931, 12058721, -1, -1, -1, -1, -1 + + + 5, 1 + + + 4784176, 4980785, 589849, 6029313, 655360, 196608, 655337, 131049, 4784176, 4915249, 262169, 6356993, + 393216, 196608, 327657, 131049, 4915250, 4849714, 6029337, 262145, 655360, 393216, 6094825, 131049, 196656, + 327728, 6357017, 6029313, 327680, 458752, 6422505, 131049, 458800, 327728, 262169, 589825, 393216, 393216, + 6094825, 1114089, 327728, 196656, 983065, 262145, 393216, 393216, 655337, 131049, 393264, 393264, -1, 6029313, + 327680, 393216, 655337, 131049, 393264, 458800, 6029337, 6356993, 327680, 393216, 6094825, 131049 + + + -3, 2 + + + 327704, 655384, 262171, 327728, 393264, 393264, 327728, 393264, 393240, 655384, 2293787, 327728, 196656, + 458800, 327728, 327728, 458776, 393240, -1, 327728, 458800, 393264, 393264, 327728, 393240, 393240, -1, + 458800, 458800, 393264, 327728, 458800, 393240, 327704, -1, 393264, 393264, 393264, 327728, 393264, 4587544, + 2818072, 6029339, 393264, 458800, 458800, 458800, 655408, 8847384, 8912920, 262171, 393264, 393264, 655408, + 393264, 458800, 655384, 9371672, 589851, 655408, 393264, 458800, 393264, 393264 + + + -4, 2 + + + -1, 1048555, 458752, 393216, 327680, 655360, 393216, -1, 786411, -1, 458752, 393216, 655360, 458752, + 458752, 589827, -1, 6422507, 393216, 393216, 393216, 458752, 1376256, 262147, 1114091, 1638379, 196608, + 196608, 393216, 393216, 393216, 6356995, 131051, -1, 327680, 393216, 393216, 327680, 655360, 6029315, 3211288, + 3211288, 4718616, 2883608, 9175066, 9633816, 9764888, 9699352, 5963801, 2818072, 2818072, 3145752, 2687000, + 9895960, 9568280, 9371672, 6291481, 262168, 6029336, 5963801, 2359320, 9568280, 786458, 1376280 + + + -5, 2 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4980787, 4784176, 4784176, 4980785, 6291481, 5963801, + 2818072, 3211288, 4849715, 4980786, 4980786, 4849714, 3276848, 6291481, 6029336, 262168, 6291483, 4849712, + 4915248, 4849713, 3014704, 3407920, 3407920, 3276848 + + + -6, 2 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1048603, 6029339, -1, -1, -1, + -1, -1, -1, 65563, 589851, -1, -1, -1, -1, -1, -1, 1048603, 5963803 + + + -3, -1 + + + 786408, -1, 1114088, 1114088, 131048, 1114088, 917480, 6029288, 6094824, 1638376, -1, 6422504, 327656, + 327656, 327656, 6356968, 393216, 327680, 393216, 393216, 393216, 327680, 393216, 393216, 262144, 6029312, + 262144, 983040, -1, 6029312, 589824, 1572864, 393240, 393240, 393240, 786458, 327704, 393240, 655384, 458776, + 655384, 655384, 393240, 458776, 327704, 393240, 393240, 458776, 393240, 458776, 5963800, 1572888, -1, 589848, + 1572888, -1, 393240, 327704, 589851, 393264, 393264, 393264, 393264, 393264 + + + 1, 2 + + + -1, 393216, 393216, 458752, 5439489, 5373953, 6488065, 6946816, -1, 655360, 9633792, 458752, 393216, + 5439489, 5505024, 6094848, -1, 9306112, 9895936, 9175040, 10027009, 393216, 393216, 393216, -1, 9568256, + 9371648, 9306112, 9109505, 327680, 458752, 327680, -1, 9764864, 9699329, 9961474, 9830402, 327680, 327680, + 393216, -1, 5963777, 8978434, 393216, 393216, 393216, 458752, 458752, 2621464, 6029313, 393216, 458752, + 458752, 196608, 458752, 327680, 8978457, 262145, 393216, 458752, 393216, 393216, 327680, 393216 + + + -2, -1 + + + 6356968, 393216, 393216, 5963776, 262144, 6291456, 4980763, 4784152, 655360, 393216, 393216, 262147, + 1376280, 393240, 4849691, 4980762, 458752, 393216, 5963776, 6291456, 327704, 393240, 327704, 393240, -1, + 589824, 6291456, 393240, 5963800, 6029336, 1572888, -1, 393240, 327704, 393240, 5963800, 6291480, 327728, + 393264, 458800, 393240, 393240, 5963800, 6291480, 458800, 196656, 327728, 393264, 6357016, 262168, 6291480, + 393264, 393264, 393264, 393264, 393264, 393264, 655408, 393264, 458800, 393264, 393264, 327728, 458800 + + + 0, 2 + + + 3145752, 6291457, 262144, 1769472, -1, -1, -1, -1, 9764888, 8781848, 9764888, -1, -1, -1, -1, -1, + 9175066, 9764888, 9633816, 1900546, -1, -1, -1, -1, 9699355, 9764888, 9502744, 1900546, -1, -1, -1, -1, + 9371672, 9175066, 9633816, 4390912, -1, -1, -1, -1, 655384, 9371672, 393240, 9830426, -1, -1, -1, -1, 458776, + 8781848, 196632, 327704, 8847384, 2162712, 2097176, 8912920, 3276824, 393240, 9764888, 327704, 9568280, + 9306136, 9699352, 9043992 + + + -1, 2 + + + 4915248, 4980786, 4849714, 6291481, 5963801, 4456472, 2752536, 3473432, 4784176, 4784176, 5046321, + 4849713, 6029337, 4456472, 3080216, 2883608, 4784176, 4784176, 4784176, 4980785, 6029337, 4587544, 3473432, + 3145752, 4784176, 4784176, 4784176, 4915249, 6291481, 5963801, 2883608, 196632, 4784176, 4784176, 4784176, + 5046321, 4849713, 262169, 3145752, 786458, 4784176, 4784176, 4784176, 4784176, 5177393, 6029337, 458776, + 327704, 4784176, 4784176, 4784176, 4784176, -1, 589849, 3276824, 327704, 4915250, 4980786, 5242930, -1, + 4849714, 6029337, 3014680, 3407896 + + + -4, -1 + + + -1, -1, 65512, 131048, 131048, 131048, 131048, 131048, 65512, 131048, 917480, 6029288, 327656, 327656, + 655336, 327656, 1507307, 6029288, 655336, 6356968, 393216, 327680, 327680, 393216, -1, 6094827, 393216, + 458752, 393216, 393216, 393216, 5963776, -1, 1638379, 655360, 458752, 458752, 327680, 393216, 589827, -1, -1, + 393216, 458752, 393216, 393216, 393216, 983043, 131051, 6094827, 458752, 393216, 327680, 327680, 393216, -1, + 1114091, 655339, 393216, 393216, 393216, 458752, 458752, 6029315 + + + -2, 2 + + + 327728, 393264, 196656, 393264, 458800, 4849712, 4980784, 5111856, 458800, 655408, 458800, 1376304, + 327728, 5111859, 4784176, 4784176, 327728, 458800, 393264, 327728, 327728, -1, 4784176, 4784176, 393264, + 327728, 196656, 196656, 327728, 4915251, 4784176, 4784176, 327728, 327728, 393264, 393264, 393264, 5177395, + 4784176, 4784176, 393264, 458800, 393264, 655408, 327728, -1, 4784176, 4784176, 327728, 458800, 458800, + 327728, 393264, 5242931, 4784176, 4784176, 393264, 393264, 393264, 393264, 327728, -1, 4784176, 4784176 + + + 1, -3 + + + 917481, 1114088, 65513, -1, -1, -1, -1, -1, 6094824, 6029289, 1114089, -1, -1, -1, -1, -1, 786432, + 6094825, 131049, -1, -1, -1, -1, -1, 393216, 6422505, 1114089, -1, -1, -1, -1, -1, 393216, 6422505, 589801, + -1, -1, -1, -1, -1, 393216, 6422505, -1, -1, -1, -1, -1, -1, 6356970, 6029290, 1114089, -1, -1, -1, -1, -1, + 6094825, 917482, 65514, -1, -1, -1, -1, -1 + + + 2, 2 + + + 5373952, 6553600, 6094848, 5373953, 6684672, 6750208, 5505027, -1, 5439488, 393216, 1376256, 5439489, + 5505024, 5701632, 5439488, 262147, 327680, 458752, 327680, 458752, 196608, 327680, 5963776, 6291456, 458752, + 458752, 655360, 393216, 655360, 655360, 6029315, 4259864, 458752, 327680, 327680, 327680, 327680, 327680, + 589827, 4456472, 393216, 327680, 393216, 393216, 393216, 393216, 6356995, 4456472, 393216, 393216, 327680, + 655360, 458752, 393216, 262147, 4456472, 393216, 393216, 393216, 327680, 393216, 393216, 6029315, 4456472 + + + -2, 11 + + + 5898336, 11665507, -1, -1, -1, -1, -1, -1, 5308512, 11665507, 11796577, -1, -1, -1, -1, -1, 6422624, + 11337827, 11599969, -1, -1, -1, -1, -1, 6422624, 11337827, -1, -1, -1, -1, -1, -1, 6619232, 10748003, -1, -1, + -1, -1, -1, -1, 6160480, 11665507, 11796577, -1, -1, -1, -1, -1, 6619232, 11665507, 11468897, -1, -1, -1, -1, + -1, 6619232, 12320867, 11796577, -1, -1, -1, -1, -1 + + + -2, -3 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65512, -1, + -1, -1, -1, -1, -1, 65512, 917480, -1, -1, -1, -1, 65512, 1114088, 917480, 6029288, -1, -1, -1, -1, 1114091, + 6029288, 6422504, 6356968, -1, -1, -1, 65512, 917480, 327659, 327680, 393216, -1, -1, 65512, 917480, 6029288, + 6356968, 393216, 393216 + + + 3, 2 + + + 393240, 458776, 589851, 4849712, 5111856, -1, 5046320, 4784176, 327704, 5963800, 6291480, 4915251, + 4784176, 4784176, 4784176, 4784176, 393240, 1507355, 4849712, 5046320, 4784176, 4784176, 4784176, 4784176, + 3407896, -1, 4980787, 4784176, 4784176, 4784176, 4784176, 4784176, 2949144, -1, 5111859, 4784176, 4784176, + 4784176, 4784176, 4784176, 3080216, -1, -1, 4784176, 4784176, 4784176, 4784176, 4784176, 2752536, 6357019, + 4915251, 4784176, 4784176, 4784176, 4784176, 4784176, 3211288, 6357019, 4849715, 5177394, -1, 4980786, + 4980786, 4915250 + + + -3, 11 + + + -1, -1, -1, -1, -1, -1, -1, 11272289, -1, -1, -1, -1, -1, -1, 11796579, 11862113, -1, -1, -1, -1, -1, + -1, 11599971, 11862113, -1, -1, -1, -1, -1, -1, -1, 11862113, -1, -1, -1, -1, -1, -1, -1, 11337825, -1, -1, + -1, -1, -1, -1, 11796579, 10748001, -1, -1, -1, -1, -1, -1, 11468899, 11272289, -1, -1, -1, -1, -1, -1, + 11796579, 12320865 + + + 4, 2 + + + 4784176, 4784176, 4784176, 4784176, 4784176, 4784176, 5111857, 458800, 4784176, 4784176, 4784176, + 4784176, 4784176, 4784176, -1, 327728, 4784176, 4784176, 4784176, 4784176, 4784176, 4784176, 4980785, 196656, + 4784176, 4784176, 4784176, 4784176, 4784176, 4784176, 4915249, 393264, 4784176, 4784176, 4784176, 4784176, + 4784176, 4784176, 4915249, 393264, 4784176, 4784176, 4784176, 4784176, 4784176, 4784176, 4915249, 393264, + 4784176, 5046322, 4915250, 5177394, -1, 4980786, 4849714, 393264, 4915250, 4849714, 458800, 327728, 393264, + 393264, 196656, 393264 + + + 0, -3 + + + 458752, 393216, 1376256, 393216, 6356969, 327656, 6422504, 6029289, 393216, 393216, 393216, 458752, + 393216, 327680, 655360, 6356969, 393216, 327680, 327680, 393216, 393216, 327680, 655360, 393216, 393216, + 393216, 393216, 655360, 393216, 393216, 393216, 327680, 327680, 393216, 327680, 327680, 393216, 196608, + 393216, 196608, 393216, 196608, 327680, 458752, 458752, 458752, 327680, 393216, 458752, 393216, 327680, + 393216, 393216, 327680, 393216, 327680, 327680, 458752, 393216, 327680, 393216, 393216, 327680, 655360 + + + 5, 2 + + + 327728, 327728, 983065, 6029313, 458752, 327680, 655337, 1114089, 655408, 327728, -1, 6029313, 393216, + 393216, 327657, 131049, 393264, 393264, 6029337, 262145, 393216, 393216, 1638377, 131049, 458800, 393264, + 262169, 6356993, 458752, 393216, -1, 131049, 393264, 458800, 6029337, 6029313, 393216, 458752, 327657, 131049, + 458800, 327728, 6029337, 6356993, 327680, 393216, 6422505, 1114089, 327728, 393264, 6357017, 6029313, 655360, + 1114112, 327657, 1114089, 327728, 327728, 6029337, 983041, 393216, 393216, 655337, 131049 + + + -1, -3 + + + 65512, 917480, 6029288, 6356968, 458752, 393216, 327680, 327680, 1114091, 6029288, 6356968, 393216, + 458752, 327680, 327680, 393216, 917480, 6094827, 196608, 655360, 655360, 458752, 458752, 393216, 6029288, + 6356968, 393216, 393216, 786435, 393216, 327680, 196608, 6356968, 393216, 458752, 393216, 393216, 458752, + 327680, 393216, 393216, 1114112, 393216, 458752, 393216, 196608, 393216, 393216, 327680, 327680, 393216, + 393216, 393216, 393216, 327680, 393216, 655360, 393216, 327680, 327680, 327680, 458752, 458752, 393216 + + + -6, 3 + + + -1, -1, -1, -1, -1, -1, 27, 65539, -1, -1, -1, -1, -1, -1, -1, 1048579, -1, -1, -1, -1, -1, -1, 0, + 851968, -1, -1, -1, -1, -1, 0, 851968, 5963776, -1, -1, -1, -1, -1, 1048579, 5963776, 6291456, -1, -1, -1, -1, + -1, 1048579, 6029315, 393240, -1, -1, -1, -1, 0, 851968, 6029315, 327704, -1, -1, -1, -1, 1048579, 5963776, + 6291456, 655384 + + + 0, 3 + + + 2883608, 393240, 393240, 9633816, 9371672, 8781848, 9633816, 8781848, 2883608, 393240, 393240, 393240, + 9502744, 9371672, 9240600, 9502744, 3014680, 3276824, 393240, 393240, 393240, 9175066, 8781848, 9371672, + 3538968, 2883608, 393240, 786457, 327704, 196632, 458776, 327704, 2621467, 3014680, 3276824, 393240, 393240, + 9633816, 196632, 393240, 2228248, 2555928, -1, 2621464, 1376280, 393240, 458776, 9633816, 589848, 983064, -1, + 5963801, 786456, 393240, 196632, 327704, 3407920, 3276848, 655408, 6291481, 5963801, 458776, 8388632, 9633816 + + + -1, 3 + + + 4456496, 3538992, 2752560, 3080240, 4456498, 6291481, 5963801, 3604504, 4456496, 2752560, 3211312, + 3080240, 3014704, 2687024, 262169, 4456472, 4456496, 2949168, 2949168, 2752560, 2752560, 2424880, 589849, + 4456472, 2097200, 2555952, -1, 2162736, 8912944, 2097200, 6029337, 4456472, 4456496, 2752560, 3080240, + 3080240, 2752560, 2883632, 6291481, 5963801, 4587568, 3604528, 2752560, 4718640, 3080240, 2883632, 393264, + 6029337, 4259888, 1835056, 2752560, 2949168, 3080240, 2883632, 1114160, 6291481, 2097200, 3080240, 2752560, + 2949168, 2752560, 3014704, 3276848, 4259888 + + + 2, 3 + + + 393216, 786435, 655360, 393216, 327680, 393216, 6356995, 4456472, 1376256, 393216, 393216, 327680, + 393216, 5963776, 6291456, 4456472, 393216, 327680, 655360, 393216, 5963776, 6291456, 393240, 4587544, -1, + 6356992, 262144, 262144, 6291456, 2097176, 2162712, 2097176, 5505050, 6553626, 6094874, 5570586, 5570586, + 5570586, 5701658, 5439515, 5832728, 8519704, 7602200, -1, 8257560, 7602200, -1, 7929880, 6619160, 8585240, + 7536667, 8126488, 8126488, 8126488, 7536664, 5570587, 5373977, -1, 7864347, 7536691, 7864368, 7536688, + 7798809, 5505051 + + + -3, -2 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 65512, -1, -1, -1, -1, -1, -1, 65512, 917480 + + + 1, 3 + + + 9109529, 6291457, 5963777, 393216, 196608, 393216, 458752, 458752, 9109529, 8781848, 262145, 393216, + 327680, 393216, 458752, 393216, 9764888, 458776, 6291457, 5963777, 393216, 393216, 393216, 327680, 9306136, + 9371672, 2097176, 6291457, 262144, 1507328, -1, -1, 8781848, 9502744, 2424856, 5963800, 262168, 589848, + 5963801, 5439514, 393240, 2621466, 2097176, 262171, 4849712, 4849713, 589849, 5570585, 4259864, 3407896, + 5963800, 6291480, 4849715, 4849714, 6357017, 5701657, 4456472, 3080216, 6029339, 4849712, 4915248, 4849713, + 5963802, 5439513 + + + -4, 3 + + + 3407920, 3407920, 3276848, 589849, 1048601, 327704, 5439514, 5570586, 4849713, 3473456, 3145776, + 6029337, 2424856, 655384, 6553625, 5832728, 4915249, 2883632, 6291482, 5963802, 2424856, 393240, 5439513, + 6553624, 5046321, 4849713, 6029337, 2228248, 2097176, 327704, 327704, 458776, 4784176, 4980785, 262169, + 11141144, 2883608, 1376280, 458776, 655384, 4915250, 4849714, 6357017, 11075608, 2883608, 786458, 393240, + 1376280, 589872, 5963825, 262169, 3473432, 3145752, 655384, 327704, 393240, 4849737, 262193, 6029337, 3145752, + 393240, 393240, 786458, 393240 + + + -5, 3 + + + 5963776, 4980787, 4784176, 4980785, 4849712, 4980784, 4849713, 3014704, 589827, 4849715, 4980786, + 4849714, 4915251, 4784176, 5046321, 4980784, 4849712, 4980784, 4980784, 4980784, 5046320, 4784176, 4784176, + 4784176, 4915251, 4784176, 4784176, 4784176, 4784176, 4784176, 4784176, 4784176, 4980787, 4784176, 4784176, + 4784176, 4784176, 4784176, 4784176, 4784176, 4980787, 4784176, 4784176, 4784176, 5046322, 4980786, 4915250, + 4915250, 4980787, 4784176, 4784176, 5046322, 4849714, 5963824, 6357040, 262192, 4980787, 4784176, 4784176, + 4915249, 327728, 262195, 4849736, 4980808 + + + -2, 3 + + + 327728, 458800, 327728, 393264, 327728, 4849715, 4980786, 4849714, 393264, 393264, 393264, 393264, + 393264, 393264, 393264, 393264, 1048626, 65586, 1048626, 65586, 1048626, 1048626, 1048626, 852019, -1, -1, -1, + -1, -1, -1, -1, 1048627, -1, -1, -1, -1, -1, -1, -1, 65587, 1441792, -1, -1, -1, 1048576, 1048576, 1048576, + 1048627, 6029312, 1572864, -1, 983040, -1, 983040, -1, 65587, 1114136, 5439514, 5570586, 5570586, 7405594, + 5439515, 327704, 4194355 + + + -3, 3 + + + 5439515, 393240, 2293761, -1, -1, -1, 393264, 327728, 5505051, 9568280, -1, -1, -1, -1, 393264, 393264, + 5439512, 655384, -1, -1, -1, -1, 1048626, 1048626, 1376280, 196632, -1, 851969, 1, -1, -1, -1, 786458, 393240, + 6291457, 5963777, 851969, 1, -1, -1, 1114136, 786457, 458776, 6291457, 5963777, 851969, 65536, 65536, 786457, + 786458, 786457, 655384, 6291457, 6356992, 262144, 262144, 786459, 393240, 1376280, 393240, 1114136, 786457, + 393240, 327704 + + + 1, -4 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 65513, -1, -1, -1, -1, -1, -1, -1 + + + 0, -4 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 589800, -1, 1114088, + 131048, 1114088, 65513, -1, -1, 655336, 6094824, 6422504, 327656, 6029289, 917481, 1114088, 1114088 + + + 5, 3 + + + 393264, 393264, 6029337, -1, 327680, 327680, 6094825, 1114089, 327728, 393264, 983065, 589825, 327680, + 393216, 327657, 1114089, 393264, 393264, -1, 6029313, 393216, 393216, 327657, 4259817, 458800, 393264, 589849, + 6029313, 393216, 786434, 1048553, -1, 393264, 327728, 1572889, 6029313, 327680, 458752, -1, -1, 393264, + 393264, -1, 589825, 393216, 393216, 6094825, -1, 327728, 458800, 262169, 6356993, 393216, 393216, 655337, + 786409, 327728, 393264, 262169, 6029313, 327680, 458752, 6094825, -1 + + + -3, 12 + + + -1, -1, -1, -1, -1, -1, 11927651, 11337825, -1, -1, -1, -1, -1, -1, 11731043, 10748001, -1, -1, -1, -1, + -1, -1, 12058723, 11665505, -1, -1, -1, -1, -1, -1, -1, 11337825, -1, -1, -1, 11993187, 12189792, 12255328, + 12386403, 10748001, -1, -1, -1, 12189795, 6160480, 9437282, 9437283, 11665505, -1, -1, 11993187, 12386403, + 9437282, 12451938, 12517475, 10616929, -1, -1, 12255331, 9437282, 12451938, 6750306, 12451939, 12517474 + + + -1, -4 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65512, 131048, + 1114088, 1114088, 131048, 131048, -1, 65512, 917480, 6029288, 655336, 6094824, 1048552, -1 + + + 3, 3 + + + 3080216, 262171, 196656, 458800, 327728, 327728, 393264, 327728, 2752536, 262171, 1114160, 4849712, + 4915248, 4980784, 4915248, 5242928, 2818072, 983067, 393264, 5111859, 4784176, 4784176, 4784176, 4784176, + 2228248, -1, 393264, -1, 4784176, 4784176, 4784176, 4784176, 5963800, 6291480, 4849712, 5046320, 4784176, + 4784176, 4784176, 4784176, 1507355, 4849712, 5046320, 4784176, 4784176, 4784176, 4784176, 4784176, -1, + 5111859, 4784176, 4784176, 4784176, 4784176, 4784176, 4784176, -1, -1, 4784176, 4784176, 4784176, 4784176, + 4784176, 4784176 + + + 4, 3 + + + 393264, 327728, 393264, 327728, 458800, 393264, 393264, 393264, -1, 4849713, 393264, 393264, 393264, + 393264, 327728, 393264, 4784176, 4915249, 393264, 393264, 393264, 655408, 393264, 393264, 4784176, 5242929, + 393264, 327728, 655408, 655408, 327728, 327728, 4784176, -1, 327728, 458800, 393264, 393264, 393264, 393264, + 4784176, 4980785, 327728, 393264, 327728, 458800, 327728, 655408, 5046322, 4849714, 393264, 393264, 393264, + 327728, 327728, 458800, 4915249, 458800, 458800, 393264, 327728, 327728, 327728, 1114160 + + + -2, 12 + + + 6619232, 11862115, 11927649, -1, -1, -1, -1, -1, 6619232, 10748003, 11731041, -1, -1, -1, -1, -1, + 5636192, 11337827, 12124257, -1, -1, -1, -1, -1, 6619232, 11862115, -1, -1, -1, -1, -1, -1, 6619232, 10748003, + 12386400, 12189792, 12189792, 11993184, -1, -1, 5636192, 11337827, 9437282, 9437283, 6619232, 12189793, -1, + -1, 11862112, 10616928, 12517473, 12451939, 9437283, 12386400, 11993184, -1, 12714082, 12517474, 12451938, + 6815842, 12451939, 9437283, 12189793, -1 + + + -5, 4 + + + 4849715, 4915250, 4915250, 4849714, 5963824, 6291504, 4980811, 4784200, 393240, 458800, 458800, 655408, + 262195, 4849736, 5046344, 4784200, 393240, 393264, 393264, 393264, 1572915, 4915275, 4784200, 5046346, 589851, + 393264, 196656, 393264, -1, 4849739, 4915274, 4849738, 262171, 196656, 393264, 5963824, 4849736, 5242952, -1, + 4980808, 6357019, 655408, 5963824, 6291504, 4980811, 4784200, 4784200, 4784200, 6291480, 655408, 589875, + 393288, 4849739, 5242954, -1, 4980810, 393264, 327728, 6357043, 5963848, 6029384, 6029384, 983112, -1 + + + -6, 4 + + + -1, -1, -1, -1, 65539, 6356995, 327704, 327704, -1, -1, -1, 0, 851968, 6029315, 393240, 327704, -1, -1, + -1, 65539, 5963776, 6291456, 458776, 393240, -1, -1, -1, 1048579, 262147, 196632, 327704, 393240, -1, -1, -1, + 1048579, 262147, 327704, 393240, 393240, -1, -1, -1, 1048579, 6356995, 393240, 327704, 393240, -1, -1, 0, + 851968, 6029315, 458776, 327704, 5963800, -1, -1, 65539, 5963776, 6291456, 196632, 393240, 6357019 + + + 3, 4 + + + -1, 4980787, 4784176, 4784176, 4784176, 4784176, 4784176, 5046322, 6357019, 4980787, 4784176, 4784176, + 4784176, 4784176, 4784176, 4915249, 262171, 4849715, 5111858, -1, 5111858, -1, 4915250, 4849714, 983067, + 393264, 327728, 4849712, 4915248, 4915248, 4849713, 393264, -1, 4259888, 3407920, 4980787, 4784176, 4784176, + 4980785, 327728, 6291480, 4456496, 3080240, 4980787, 4784176, 4784176, 4980785, 655408, 3407920, 1835056, + 4849712, 5046320, 4784176, 4784176, 4915249, 327728, 3080240, 2752560, 4980787, 4784176, 4784176, 5046322, + 4849714, 393264 + + + 2, 4 + + + 5373978, 8454168, 7864347, 7798835, 7471176, 7798833, 7995417, 6094875, 7798808, 7995416, 8323096, + 8716339, 7471176, 7864369, 7995417, 6094875, 7471152, 7733296, 7733296, 7536690, 7667760, 7536689, 7995417, + 8454168, 7667736, 7667736, 7667736, 7667736, 8192024, -1, 7536665, 5570587, 8650776, 8060952, 8060952, + 8060952, 8650776, 8650776, 7929880, 5439512, 393240, 5439513, 6094872, 5701656, 5439512, 655384, 5963800, + 262168, 393240, 327704, 327704, 327704, 393240, 5963800, 6291480, 4259888, 589848, 589848, 6357016, 983064, + -1, 6291480, 327728, 4456496 + + + 1, 4 + + + 4587544, 2818072, 589851, 4915251, 4784176, 4980785, 5439514, 6553626, 9764888, 5963800, 6291480, + 4849715, 4915250, 4849714, 5570585, 7536667, 4390939, 10289178, 4259888, 1835056, 2883632, 262169, 5701657, + 7798811, -1, -1, 4456496, 3342384, 2883632, 6029337, 7405593, 7536666, -1, -1, 4456496, 3211312, 2883632, + 589849, 8454168, 8060952, -1, -1, 4456496, 3211312, 2883632, 262169, 393240, 196632, -1, -1, 4456496, 3538992, + 2883632, 6291481, 262168, 5963801, -1, -1, 3670064, 2883632, 2883632, 393264, 393264, 6291481 + + + 0, 4 + + + 3080240, 3014704, 3276848, 393264, 6029337, 458776, 9764888, 9371672, 3604528, 3080240, 3014704, + 3276848, 6291481, 5963801, 9240600, 9371672, 4456496, 4522032, 2752560, 3014704, 3276848, 1966105, -1, + 1900569, 4456496, 2752560, 2752560, 3080240, 2883632, -1, -1, -1, 1835056, 3211312, 3211312, 3473456, 3145776, + -1, -1, -1, 2949168, 3211312, 3473456, 3145776, 327728, -1, -1, -1, 3080240, 3211312, 2883632, 196656, + 1114160, -1, -1, -1, 3080240, 3211312, 2883632, 327728, 9175090, -1, -1, -1 + + + -1, 4 + + + 2490416, 4653104, 2752560, 3211312, 3080240, 2752560, 2883632, 4456496, 2490416, 2752560, 2752560, + 2752560, 3342384, 3473456, 3145776, 4587568, 2228272, 2818096, 2818096, 3604528, 2949168, 2883632, 393264, + 393264, 524338, -1, 852019, 4587568, 2818096, 3145776, 393264, 458800, 6160408, 5373976, 65587, 2228272, + 8912944, 2097200, 393264, 4259888, 5373976, 5439512, 51, 2228256, 6291483, 2490416, 393264, 4456496, 10092568, + 7536664, 655384, 786458, 262171, 2359344, 3407920, 1835056, 7733296, 7995417, 393240, 458776, 262171, -1, + 3080240, 3080240 + + + -2, 4 + + + 5701658, 5373978, 5832728, 6619160, 6160408, 5373979, 5439515, -1, 5898264, 5636120, 6422552, 5898264, + 6422552, 6422552, 6094875, -1, 9437210, 10420250, 10223642, 10420250, 9437211, 6422552, 6094875, -1, -1, -1, + -1, -1, -1, 5636120, 5373979, 51, -1, -1, -1, -1, -1, 1638425, 6160408, 1638424, -1, -1, -1, -1, -1, 10616857, + 10747928, 10616856, -1, -1, -1, -1, -1, 7536667, 10813464, 10682392, -1, -1, -1, -1, -1, 7995419, 7471152, + 7733296 + + + -3, 4 + + + 458776, 1114136, 327704, 1114136, 786458, 786458, 1376280, 5439514, 5505050, 6553626, 6094874, 5439515, + 786459, 393240, 5439514, 5373978, 10223642, 10420250, 9437211, 6094875, 1376280, 5439514, 5373978, 5636120, + -1, -1, -1, 5373979, 6553626, 5373978, 6422552, 5636120, -1, -1, -1, 1638425, 6160408, 1638424, 6160408, + 5373976, -1, -1, -1, 10616857, 10747928, 10616856, 5373976, 5439512, -1, -1, -1, 7536667, 10092568, 10682392, + 10813464, 7536664, -1, -1, -1, 7995419, 7471152, 7733296, 7733296, 7995417 + + + -4, 4 + + + 4980809, 262193, 6029337, 5439514, 6094874, 5505050, 5439515, 1376280, 4915273, 6029361, 589849, + 5570585, 5636120, 6422552, 5373979, 6094874, 4849738, 262193, 6029337, 5439513, 5373977, 5898264, 9437210, + 10420250, 327752, 6029361, 6291481, 5963801, 6553625, 6422552, -1, -1, 4849737, 6029361, 327728, 6029337, + 5570585, 6422552, -1, -1, 4915273, 6029361, 327728, 6029337, 6553625, 5832728, -1, -1, 4849738, 6029361, + 327728, 6029337, 6553625, 6619160, -1, -1, 5963849, 262193, 327728, 6029337, 5439513, 6094872, -1, -1 + + + 5, 4 + + + 458800, 393264, 6029337, 6029313, 327680, 655360, 327657, 131049, 458800, 458800, 262169, 262145, + 393216, 393216, 6094825, 1114089, 327728, 393264, 6357017, 6029313, 393216, 458752, 6094825, 1114089, 393264, + 393264, 983065, 262145, 655360, 458752, 6094825, 1114089, 393264, 393264, -1, 262145, 393216, 1376256, + 6094825, 1114089, 393264, 655408, 6357017, 262145, 327680, 393216, 655337, 131049, 196656, 393264, 262169, + 589825, 393216, 327680, 327657, 131049, 393264, 393264, 983065, 262145, 327680, 393216, 6422505, 131049 + + + 4, 4 + + + 4849714, 327728, 393264, 393264, 786481, 655408, 393264, 327728, 393264, 393264, 327728, 393264, 393264, + 393264, 393264, 458800, 327728, 458800, 393264, 458800, 327728, 393264, 327728, 393264, 327728, 393264, + 393264, 393264, 1376304, 393264, 393264, 327728, 393264, 393264, 393264, 393264, 327728, 327728, 1376304, + 393264, 196656, 458800, 393264, 327728, 655408, 327728, 393264, 393264, 1114160, 327728, 393264, 393264, + 196656, 327728, 327728, 393264, 458800, 655408, 393264, 393264, 458800, 393264, 327728, 196656 + + + -3, 13 + + + -1, -1, 11534435, 12714081, 6750304, 6750305, 6750307, 6684769, -1, -1, 12189795, 12714081, 6684770, + 6881379, 6750305, 6815842, -1, -1, 12189795, 12517473, 6684770, 12648544, 6881379, 6750306, -1, -1, 11534435, + 9437281, 12517472, 12517472, 12451937, 6684769, -1, -1, 12845155, 6619232, 9437282, 9437283, -1, -1, -1, -1, + 11993186, 12386402, 9437281, 12451937, -1, -1, -1, -1, -1, 12189795, 6160480, 9437281, -1, -1, -1, -1, -1, + 11993186, 12189794, 12779616, -1, -1 + + + -2, 13 + + + 6684769, 6750306, 12583011, 6684771, 6881377, 10420323, 11534433, -1, 6881379, 6881377, 6684769, + 6815840, 6684770, 12517475, 12845153, -1, 6881377, 6684769, 6684769, 6881378, 6750304, 12910691, 12189793, -1, + 12648544, 6881379, 12451936, 12517472, 12517472, 9437280, 11534433, -1, -1, -1, -1, 9437282, 9437283, 6160480, + 12845153, -1, -1, -1, -1, 12451936, 9437280, 12386401, 11993185, -1, -1, -1, -1, 9437280, 6160480, 12189793, + -1, -1, -1, -1, -1, 12779616, 12189794, 11993185, -1, -1 + + + -3, 5 + + + -1, -1, 5963800, 2293784, -1, -1, -1, 6029336, 6029336, 6029336, 6291480, 393264, 393264, 393264, + 393264, 393264, 262192, 6029360, 6357040, 2293808, -1, -1, -1, 262192, -1, 6029384, 5963849, 4259912, 3407944, + 3407944, 3407944, 3276872, 3407968, 3276896, 1572937, 4456520, 4522056, 3080264, 3539016, 3014728, 4653152, + 2883680, -1, 4456520, 3080264, 2752584, 2949192, 3080264, 4849761, 2883680, 6029385, 10354760, 3670088, + 3539016, 3080264, 2949192, 4915297, 2883680, 6029385, 2228296, 11010120, 2228296, 2097224, 2555976 + + + -2, 5 + + + 5963801, -1, -1, -1, 5963800, 6029336, 7733296, 7733296, 6291481, 6029336, 6029336, 6029336, 6291480, + 786483, 5439538, 6553650, 5963825, 393264, 1376304, 1114160, 393264, 1114160, 6094897, 5832752, 6291505, + 1572912, -1, 6029360, 5963825, 5439538, 5374002, 5636144, 3407944, 3407944, 3407944, 3276872, 6029361, + 5439537, 5374001, 5832752, 3080264, 4718664, 3539016, 2883656, 1572913, 6094897, 5439537, 5374001, 3539016, + 3473480, 2818120, 3276873, -1, 5439537, 6422576, 5439537, -1, 2162760, 2162760, 2097224, 6291505, 1769520, -1, + -1 + + + -1, 5 + + + 7733296, 6029336, 5963801, 393240, 6029339, 2424880, 3604528, 2752560, 6094898, 5439539, 6291481, + 6029336, 6291480, 2097200, 2555952, -1, 6160432, 5374003, 5439539, 4259888, 3407920, 3276848, 9568304, + 9633840, 5308464, 5308464, 5570611, 4456496, 3080240, 2883632, 196656, 9568304, 5898288, 6619184, 6553651, + 4456496, 3473456, 3145776, 458800, 196656, 6225968, 5374000, 5439536, 4456496, 2883632, 9240624, 9371696, + 9568304, 6553648, 5439536, 327728, 4587568, 3145776, 9568304, 458800, 327728, -1, -1, -1, 327728, 8781872, + 9633840, 9371696, 327728 + + + 0, 5 + + + 3473456, 2818096, 3145776, 327728, 196656, 458800, 9240624, 9568304, 2097200, 8781872, 5439538, 5570610, + 5439539, 196656, 9175090, 9633840, 655408, 196656, 5701681, 6619184, 5505075, 393264, 8781872, 9568304, + 9240624, 327728, 5439537, 5505072, 5439536, 9371696, 327728, 393264, 9371696, 9568304, 9633840, 327728, + 5439538, 6094898, 6094898, 5701682, 458800, 5439538, 5570610, 7405618, 5374002, 6619184, 6422576, 6422576, + 9633840, 5570609, 6422576, 9437234, 10420274, 10223666, 10420274, 9437235, 5439538, 5374002, 6619184, -1, -1, + -1, -1, -1 + + + 1, 5 + + + 9764912, 9633840, 4456496, 2883632, 4849712, 4915248, 4980784, 4915248, 9699377, 9764912, 4456496, + 2883632, 5111859, 3538992, 4784176, 4784176, 196656, 393264, 4456496, 3080240, -1, 4784176, 5046322, 4980786, + 327728, 393264, 4587568, 2883632, 4849715, 4915250, 5963824, 589872, 5439539, 8781872, 5963824, 262192, + 6029360, 262192, 6291504, 393288, 5374003, 5439539, 589875, 196680, 458824, 4849736, 4980808, 4915272, + 6422576, 5570611, 262195, 4849736, 4915272, 4980811, 4784200, 4784200, 5374000, 6094896, 262195, 4915275, + 4784200, 4980809, 4784200, 5046345 + + + 2, 5 + + + 4849713, 3407920, 3407920, 4849712, 4980784, 4849713, 3407920, 1835056, 4915249, 3080240, 4849712, + 5046320, 4784176, 5046321, 4849713, 3080240, 4849714, 3080240, 4915251, 4784176, 4784176, 4784176, 5046321, + 4980784, 262192, 5963825, 4849715, 4915250, 4915250, 5046323, 4784176, 4784176, 458824, 6291505, 5963825, + 131098, 6291483, 4915251, 4784176, 4784176, 4980808, 4849737, 6291505, 6029360, 5963825, 4980787, 4784176, + 4784176, 4784200, 5046345, 4915272, 4849737, 6291505, 5963825, 4980786, 4980786, 4784200, 4784200, 4784200, + 4915273, 327752, 6291505, 6029360, 5963825 + + + 3, 5 + + + 3080240, 3080240, 4849715, 4980786, 4915250, 4849714, 4849712, 4915248, 3080240, 3080240, 4849712, + 4915248, 4980784, 4980784, 5046320, 4784176, 4915248, 4849713, 4915251, 4784176, 4784176, 4784176, 4784176, + 4784176, 4784176, 4980785, 4915251, 4784176, 4784176, 4784176, 4784176, 5046322, 4784176, 4915249, 4849715, + 4915250, 4980786, 4915250, 4980786, 4849714, 4784176, 4980785, 4849712, 4980784, 4980784, 4980784, 4980784, + 4849713, 4980786, 4849714, 4980787, 4784176, 4784176, 4784176, 4784176, 4980785, 393264, 393264, 4980787, + 4784176, 4784176, 4784176, 4784176, 4980785 + + + 4, 5 + + + 4849713, 393264, 327728, 393264, 458800, 458800, 393264, 327728, 4980785, 655408, 327728, 327728, + 393264, 393264, 327728, 393264, 4915249, 393264, 327728, 458800, 196656, 393264, 393264, 393264, 4849714, + 393264, 458800, 393264, 393264, 327728, 327728, 655408, 196656, 393264, 1114160, 393264, 393264, 655408, + 393264, 196656, 327728, 458800, 458800, 458800, 393264, 458800, 393264, 196656, 458800, 393264, 327728, + 393264, 196656, 458800, 458800, 196656, 655408, 393264, 393264, 393264, 196656, 393264, 327728, 327728 + + + -6, 5 + + + -1, -1, 65539, 262147, 393240, 327704, 655384, 6029339, -1, -1, 524291, 6029315, 196632, 327704, 327704, + 1572891, -1, -1, -1, 6356995, 393240, 327704, 393240, -1, -1, -1, 1048579, 262147, 655384, 393240, 393240, + 6029339, -1, -1, 524291, 262147, 655384, 327704, 786457, 6357019, -1, -1, -1, 1572867, 393240, 458776, 393240, + 262171, -1, -1, 524291, -1, 458776, 327704, 655384, 589851, -1, -1, -1, 6029315, 393240, 196632, 458776, + 6029339 + + + -5, 5 + + + 327728, 196656, 6029363, 6357067, 4259936, 3407968, 3407968, 3276896, 393264, 458800, 6029363, 262219, + 4456544, 2752608, 3080288, 2883680, 327728, 393264, 6029363, 6029387, 4456544, 2752608, 3080288, 3014752, + 393264, 393264, 262195, 6029387, 4456544, 2752608, 2949216, 4653152, 393264, 327728, 6357043, 6357067, + 4587616, 3604576, 3080288, 3080288, 393264, 327728, 589875, 6029387, 393312, 4587616, 2818144, 2818144, + 327728, 393264, 262195, 6029387, 1376352, 458848, 393312, 327776, 393264, 458800, 983091, 262219, 458848, + 458848, 458848, 655456 + + + -4, 5 + + + 262217, 6291505, 5963825, 6291481, 6029336, 6029336, 5963801, -1, 6291529, 5963849, 6291505, 5963825, + 393264, 393264, 6291481, 6029336, 3276896, 6291529, 5963849, 6291505, 262192, 6029360, 589872, 6357040, + 2883680, 393312, 6291529, 983112, -1, 2293832, -1, -1, 2883680, 327776, 393312, 4259936, 3407968, 3407968, + 3407968, 3407968, 3145824, 327776, 4259936, 1835104, 4718688, 4849760, 4980832, 4849761, 458848, 4259936, + 1835104, 4849760, 4915296, 5046368, 4784224, 5046369, 4259936, 1835104, 2752608, 4915299, 4784224, 4784224, + 4784224, 4784224 + + + 5, 5 + + + 393264, 393264, -1, 262145, 393216, 458752, 655337, 4259817, 458800, 393264, 6029337, 6356993, 655360, + 196608, 1638377, -1, 393264, 458800, 6029337, 262145, 393216, 393216, -1, -1, 393264, 393264, 6029337, 262145, + 196608, 393216, 327657, -1, 327728, 1376304, 262169, 6356993, 458752, 1376256, 655337, 131049, 1245233, -1, + 1572889, 6029313, 393216, 393216, 327657, 131049, -1, -1, -1, 6356993, 393216, 655360, 327657, 131049, 458800, + 393264, 6029337, 262145, 393216, 6356970, 6029290, 131049 + + + 0, 6 + + + 5570609, 5898288, 6422576, -1, -1, -1, -1, -1, 5570609, 6225968, 5636144, -1, -1, -1, -1, -1, 5439537, + 6094896, 5570608, -1, -1, -1, -1, -1, 6029360, 5963825, 8454192, -1, -1, -1, -1, -1, 393288, 6291505, 7536691, + 10092592, 10551344, -1, -1, 10092592, 393288, 393288, 5439561, 5505096, 6094920, 5570632, 6094920, 5505096, + 5963849, 393288, 393288, 393288, 393288, 393288, 393288, 655432, 6291529, 262216, 262216, 589896, 6357064, + 6029384, 262216, 6357064 + + + 1, 6 + + + 6094899, 6094899, 262195, 4849739, 4980810, 4980811, 4784200, 4784200, 6422576, 5570611, 589875, + 4456520, 3211336, 4915275, 4784200, 4784200, 5374000, 5439536, 589875, 4456520, 2752584, 4980811, 4784200, + 4784200, 8454192, 5963824, 6291504, 4456520, 3211336, 5177419, 4784200, 4784200, 7536688, 6291504, 4259912, + 1835080, 2752584, -1, 4784200, 4784200, 5439560, 393288, 4456520, 4849736, 4980808, 4784176, 4784200, 4784200, + 393288, 393288, 4587592, 4915275, 4784200, 4784200, 4784200, 4784200, 589896, 262216, 5963849, 4915275, + 4784200, 4784200, 4784200, 4784200 + + + -2, 6 + + + 327752, 327752, 10158152, 9175115, 9633864, -1, -1, -1, 1114184, 393288, 9175115, 9764936, 9764936, + 1900594, -1, -1, 327752, 393288, 9633864, 9699402, 8781896, 4390960, -1, -1, 9633864, 655432, 4259912, + 3407944, 3407944, -1, -1, -1, 3407944, 3407944, 3014731, 3080264, 3539016, 5963848, 262216, 6029384, 2752584, + 3211336, 2752584, 3539016, 10354760, 6029387, 4259936, 3407968, 2949192, 3473480, 5963848, 589896, 6029384, + 6291528, 4456544, 4128864, 1900617, 4390987, -1, 4259936, 3407968, 3407968, 1835104, 7274592 + + + -1, 6 + + + -1, -1, -1, 9633840, 9371696, 9568304, 458800, 393264, -1, -1, -1, 9764912, 9568304, 9175089, 655408, + 458800, -1, -1, -1, 8781872, 9371696, 10485809, 393264, 393264, -1, -1, -1, 6029360, 6357040, 983088, -1, + 6357040, 6357064, 6029384, 589896, 6029384, 589896, 983112, -1, 5963849, 3407968, 3407968, 3407968, 3407968, + 3276896, 327776, 393312, 6357065, 3997792, 4063328, 2752608, 2752608, 3014752, 3276896, 393312, 6291529, + 3735648, 10879072, 4063328, 2752608, 4653152, 3014752, 3407968, 3276896 + + + 4, 6 + + + 131098, 131098, 1179674, -1, 131098, 131098, 1179674, -1, 458776, 327704, 327704, 458776, 196632, + 393240, 393240, 393240, 393240, 393240, 393240, 393240, 655384, 327704, 327704, 393240, 196632, 393240, + 393240, 327704, 6291458, 131074, 131074, 131074, 393240, 393240, 393240, 393240, 589825, 393216, 393216, + 327680, 393240, 393240, 196632, 655384, 262145, 655360, 393216, 393216, 393240, 393240, 393240, 196632, + 6356993, 196608, 458752, 327680, 458776, 393240, 655384, 327704, 6029313, 393216, 327680, 458752 + + + 5, 6 + + + 1179674, -1, 5963802, 983041, 1376256, 327657, 917482, 65514, 393240, 393240, 393240, -1, 393216, + 327657, 1114089, -1, 393240, 393240, 327704, 589825, 393216, 6422505, 131049, -1, 131074, 131074, 131074, + 5963778, 393216, 327657, 1114089, -1, 393216, 393216, 393216, 393216, 327680, 6422505, 1114089, -1, 393216, + 327680, 393216, 1114112, 327680, 6422505, 131049, -1, 327680, 393216, 327680, 327680, 393216, 6094825, + 1114089, -1, 393216, 393216, 393216, 6356970, 196586, 6029290, 1114089, -1 + + + 2, 6 + + + 4784200, 4784200, 4784200, 5046345, 4849737, 393288, 393288, 262193, 4784200, 4784200, 4784200, 4784200, + 4915273, 327752, 393288, 393288, 4784200, 4784200, 4784200, 4784200, 5177417, 393288, 393288, -1, 4784200, + 4784200, 4784200, 4784200, -1, 393288, 393288, 458776, 4784200, 4784200, 4784200, 4784200, 4980809, 393288, + 655432, 393240, 4784200, 4784200, 5046346, 4915274, 4849738, 458824, 393288, 458776, 4784200, 4784200, + 4980809, 327752, 458776, 393240, 393240, 327704, 4784200, 4784200, 5046345, 655432, 393240, 327704, 458776, + 196632 + + + 3, 6 + + + 131098, 131098, 4849715, 4915250, 4980786, 4980786, 4980786, 4849714, 393288, 327704, 458776, 393240, + 393240, 393240, 393240, 393240, 786459, 393240, 327704, 393240, 393240, 458776, 327704, 393240, 393240, + 196632, 393240, 393240, 327704, 393240, 327704, 393240, 393240, 327704, 327704, 393240, 393240, 393240, + 327704, 327704, 393240, 655384, 327704, 393240, 327704, 327704, 393240, 327704, 327704, 393240, 393240, + 393240, 393240, 393240, 393240, 393240, 196632, 393240, 327704, 458776, 393240, 393240, 393240, 327704 + + + -4, 6 + + + 1835104, 3211360, 3211360, 4849763, 4980834, 5046371, 4784224, 5046370, 4980832, 4849761, 2949216, + 3080288, 3473504, 4849763, 4980834, 4849762, 4784224, 4915297, 3473504, 2818144, 3145824, 4456544, 2752608, + 2752608, 4915298, 4849762, 2883680, 327776, 327776, 4456544, 2752608, 3080288, 3473504, 2818144, 3145824, + 196704, 4259936, 1835104, 3211360, 3080288, 2883680, 393312, 393312, 327776, 4456544, 4849760, 4980832, + 4849761, 2883680, 393312, 196704, 4259936, 1835104, 4980835, 4784224, 4980833, 4849761, 3407968, 3407968, + 1835104, 3080288, 4849763, 4980834, 4849762 + + + -3, 6 + + + 4849762, 2883680, 6291529, 6029384, 262216, 5963849, 393288, 393288, 3080288, 3014752, 3407968, 3407968, + 3276896, 6029385, 327752, 655432, 4128864, 3997792, 3997792, 4063328, 2883680, 589897, 393288, 327752, + 7274592, 7077984, 7143520, 3932256, 2883680, 6357065, 393288, 393288, 7340128, 10944608, 7143520, 3932256, + 2883680, 262217, 4259912, 3407944, 2949216, 7340128, 7209056, 4325472, 2883680, 6029385, 3539016, 3080264, + 3080288, 3080288, 3080288, 2752608, 2883680, 6291529, 5963849, 3604552, 3211360, 2752608, 3080288, 4522080, + 3014752, 3276896, 1966153, -1 + + + -6, 6 + + + -1, -1, 1048579, 1572867, 393240, 393240, 393240, 6029339, -1, -1, 524291, -1, 393240, 196632, 458776, + 6029339, -1, -1, -1, 262147, 393240, 393240, 327704, 589851, -1, -1, 65539, 6029315, 393240, 458776, 393240, + 983067, -1, -1, 1048579, 589827, 393240, 1376280, 393240, -1, -1, -1, 1048579, 262147, 393240, 327704, 393240, + 6029339, -1, -1, 65539, 6029315, 393240, 393240, 196632, 589851, -1, -1, 1048579, 1572867, 393240, 393240, + 393240, 262171 + + + -5, 6 + + + 327728, 458800, 5963824, 5963851, 6291531, 393312, 4259936, 3407968, 196656, 852018, 262195, 393288, + 5963851, 6291531, 4456544, 4849760, 393264, 65585, 6029363, 393288, 327752, 6029387, 4456544, 4915299, 393264, + 1048625, 262195, 393288, 393288, 262219, 4456544, 4849763, 917554, 1048627, 6029363, 393288, 852042, 6029387, + 4456544, 4522080, -1, 1048627, 262195, 655432, 5963848, 6291528, 4456544, 2949216, -1, 1048627, 6029363, + 393288, 6029387, 4259936, 1835104, 3211360, -1, 65587, 6357043, 393288, 6029387, 4456544, 4849760, 4915296 + + + 3, 7 + + + 458776, 458776, 458776, 393240, 393240, 327704, 393240, 393240, 196632, 458776, 1245210, -1, 393240, + 327704, 327704, 327704, 393240, 327704, -1, -1, 6291458, 131074, 131074, 131074, 393240, 327704, 327704, + 655384, 589825, 458752, 393216, 393216, 131074, 131074, 1179650, -1, 5963778, 327680, 393216, 327680, 393216, + 327680, 327680, 458752, 196608, 393216, 458752, 393216, 196608, 458752, 393216, 327680, 458752, 393216, + 393216, 393216, 393216, 393216, 458752, 393216, 786434, 458752, 6356970, 196586 + + + 4, 7 + + + 393240, 458776, 196632, 393240, 6356993, 393216, 393216, 393216, 393240, 655384, 393240, 327704, + 6029313, 327680, 327680, 6356970, 1703938, -1, -1, -1, 5963778, 393216, 393216, 327657, 393216, 327680, + 327680, 393216, 393216, 393216, 6356970, 6029290, 393216, 393216, 393216, 786434, 393216, 6356970, 6029290, + 917482, 393216, 327680, 327680, 6356970, 196586, 6029290, 917482, 65514, 6356970, 196586, 196586, 6029290, + 917482, 983018, 65514, -1, 6029290, 917482, 983018, 983018, 65514, -1, -1, -1 + + + 5, 7 + + + 6356970, 1245162, -1, 6029290, 917482, 983018, 65514, -1, 6029290, 917482, 983018, 983018, 65514, -1, + -1, -1, 917482, 65514, -1, -1, -1, -1, -1, -1, 1114089, -1, -1, -1, -1, -1, -1, -1, 65514, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + -1, 7 + + + 7012448, 7012448, 3932256, 4849760, 4980832, 4849761, 2752608, 3014752, 7012448, 3801184, 4325472, + 4915299, 4784224, 4980833, 2949216, 4849760, 7209056, 4325472, 4849760, 5046368, 4784224, 4915297, 4849760, + 5046368, 4980832, 4849761, 4980835, 4784224, 4784224, 4915297, 4980835, 4784224, 4784224, 4915297, 4980835, + 4784224, 4784224, 4980833, 4849763, 5046371, 4784224, 4980833, 4849763, 4980834, 4915298, 4849762, 2949216, + 4849763, 5046370, 4849762, 2752608, 2752608, 3211360, 3080288, 3211360, 3211360, 4849762, 2818144, 3604576, + 2752608, 2949216, 3211360, 3473504, 2818144 + + + 0, 7 + + + 4849760, 4980832, 4915296, 4849761, 3407968, 3276896, 4259936, 3407968, 5046368, 4784224, 4784224, + 5046369, 4849761, 3014752, 1835104, 2949216, 4784224, 4784224, 4784224, 4784224, 4980833, 3342432, 4849760, + 4980832, 4784224, 4784224, 4784224, 4784224, 4915297, 4849760, 5046368, 4784224, 4784224, 4784224, 4784224, + 4784224, 4980833, 4915299, 4784224, 4784224, 4915298, 4980834, 4980834, 4915298, 4849762, 4849763, 5046371, + 4784224, 2752608, 2949216, 2752608, 2752608, 3080288, 3080288, 4849763, 4980834, 3604576, 3080288, 3080288, + 3342432, 3080288, 3080288, 3342432, 2752608 + + + 1, 7 + + + 3276896, 393312, 6029385, 4980811, 4784200, 4784200, 4784200, 4784200, 3014752, 3276896, 6357065, + 4915275, 4784200, 4784200, 4784200, 4784200, 4849761, 2883680, 589897, 4849739, 5046347, 4784200, 4784200, + 4784200, 5046369, 4849761, 262217, 393288, 4915275, 4784200, 4784200, 4784200, 4784224, 4915297, 262217, + 852042, 4980811, 4784200, 4784200, 4784200, 5046370, 4849762, 6029385, 65611, 4849739, 5046347, 4784200, + 4784200, 4849762, 2883680, 6357065, 65611, 393288, 4849739, 4915274, 4980810, 2949216, 2883680, 262217, 65611, + 393288, 393288, 458824, 458824 + + + 2, 7 + + + 4784200, 4784200, 4784200, 393240, 393240, 393240, 196632, 327704, 4784200, 4784200, 4784200, 458776, + 327704, 1114136, 327704, 327704, 4784200, 4784200, 4784200, 393240, 458776, 655384, 1376280, 327704, 4784200, + 4784200, 4784200, 655384, 655384, 327704, 393240, 458776, 4784200, 4784200, 4784200, 131074, 131074, 131074, + 131074, 131074, 4784200, 4784200, 4784200, 393216, 393216, 393216, 655360, 393216, 4915274, 4980810, 4915274, + 327680, 196608, 393216, 458752, 393216, 327752, 6291505, 589872, 393216, 1114112, 196608, 327680, 393216 + + + -5, 7 + + + -1, 65587, 6357043, 393288, 6357067, 4456544, 4980835, 4784224, 1048624, 65587, 589875, 458824, 262219, + 4456544, 4849763, 4980834, 393264, 852016, 262195, 458824, 262219, 4456544, 3080288, 2949216, 327728, 393264, + 6029363, 393288, 262219, 4456544, 2752608, 3473504, 327728, 262192, 6291504, 393288, 262219, 4587616, 2818144, + 3145824, 393288, 327752, 393288, 393288, 262219, 393312, 393312, 393312, 393288, 393288, 393288, 327752, + 5963851, 131146, 131146, 131146, 131122, 131122, 131122, 6291507, 393288, 393288, 393288, 196680 + + + -4, 7 + + + 4980833, 4849760, 4915296, 4980832, 4849761, 3080288, 4849760, 4980832, 4849762, 5242979, 4784224, + 4784224, 4980833, 2752608, 4980835, 4784224, 3080288, -1, 4784224, 4784224, 4915297, 4849760, 5046368, + 4784224, 3604576, 4849763, 4980834, 4980834, 4849762, 4980835, 4784224, 4784224, 4587616, 3604576, 3211360, + 2949216, 2752608, 4849763, 5046371, 4784224, 393312, 4587616, 2818144, 2818144, 2818144, 2818144, 4849763, + 4980834, 131146, 131146, 131146, 131146, 131146, 6291531, 4587616, 2818144, 1376328, 327752, 393288, -1, -1, + 5963851, 131146, 131146 + + + -3, 7 + + + 4849761, 3080288, 2949216, 2752608, 4718688, 2883680, -1, -1, 5046369, 4849761, 2752608, 3342432, + 2949216, 2883680, -1, -1, 4784224, 4915297, 4849760, 4980832, 4849761, 2883680, -1, -1, 4784224, 4915297, + 4980835, 4784224, 4980833, 2883680, -1, -1, 5046370, 4849762, 4980835, 4784224, 5046369, 4849761, -1, -1, + 4849762, 2752608, 4980835, 4784224, 4784224, 4915297, 2228320, 3407968, 2818144, 2818144, 4849763, 4915298, + 4980834, 4849762, 2359392, 2752608, 131146, 131146, 131146, 131146, 131146, 6291531, -1, 3604576 + + + -2, 7 + + + -1, -1, -1, 4456544, 4128864, 3997792, 3997792, 3866720, -1, -1, -1, 4456544, 7274592, 7012448, 3735648, + 7012448, -1, -1, -1, 4456544, 7274592, 7077984, 3801184, 7209056, -1, -1, -1, 4456544, 7340128, 7209056, + 4325472, 4849760, -1, -1, -1, 4456544, 2752608, 4849760, 4915296, 5046368, 3407968, 3407968, 2228320, 4456544, + 4849760, 5046368, 4784224, 4784224, 2752608, 2752608, 2424928, 4849760, 5046368, 4784224, 4784224, 4784224, + 2949216, 3539040, 2359392, 4915299, 4784224, 5046370, 4915298, 4915298 + + + -6, 7 + + + -1, -1, 65539, -1, 327704, 458776, 393240, 6029339, -1, -1, 1048579, 6356995, 393240, 327704, 458776, + 983067, -1, -1, -1, 6029315, 393240, 196632, 393240, -1, -1, -1, -1, 262147, 393240, 458824, 393240, 262171, + -1, -1, -1, 6029315, 393240, 393288, 327752, 6029339, -1, -1, -1, 1048627, 5963827, 6291507, 655432, 327752, + -1, -1, -1, 51, 852019, 589875, 393288, 327752, -1, -1, -1, -1, 65587, 5963827, 131122, 131122 + + + 4, 8 + + + 983018, 65514, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 2, 8 + + + 393288, 327752, 393288, 458752, 327680, 327680, 393216, 327680, 393288, 393288, 327752, 393216, 393216, + 393216, 393216, 393216, 131122, 131122, 131122, 458752, 393216, 393216, 458752, 458752, 917554, 917554, + 917554, 393216, 393216, 327680, 458752, 393216, 393216, 393216, 655360, 655360, 327680, 393216, 327680, + 327680, 458752, 393216, 327680, 327680, 393216, 196608, 327680, 6356970, 786435, 458752, 393216, 393216, + 393216, 393216, 6356970, 6029290, 327680, 393216, 393216, 458752, 327680, 6356970, 6029290, 917482 + + + 3, 8 + + + 393216, 393216, 458752, 6356970, 196586, 196586, 6029290, 917482, 327680, 327680, 393216, 6094825, + 917482, 983018, 983018, 65514, 393216, 458752, 6356970, 6029290, 1114089, -1, -1, -1, 393216, 6356970, + 6029290, 917482, 65514, -1, -1, -1, 6356970, 6029290, 917482, 65514, -1, -1, -1, -1, 6029290, 917482, 65514, + -1, -1, -1, -1, -1, 917482, 65514, -1, -1, -1, -1, -1, -1, 65514, -1, -1, -1, -1, -1, -1, -1 + + + 0, 8 + + + 4587616, 2818144, 2818144, 2818144, 2818144, 2818144, 2818144, 2818144, 131146, 131146, 131146, 131146, + 131146, 131146, 131146, 131146, 327752, 655432, 393288, 196680, 393288, 393288, 393288, 458824, 393288, + 6291506, 131122, 131122, 131122, 131122, 131122, 131122, 131122, 5963826, 852018, 917554, 917554, 917554, + 917554, 917554, 917554, 917554, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1 + + + 1, 8 + + + 2818144, 3145824, 6029385, 65611, 393288, 458824, 327752, 393288, 131146, 131146, 5963850, 852040, + 393288, 786506, 1376328, 1376328, 327752, 458824, 458824, 393288, 6291506, 1179698, -1, 131122, 131122, + 131122, 131122, 131122, 5963826, 852018, 393216, 917554, 917554, 917554, 917554, 917554, 917554, 50, 393216, + 393216, -1, -1, -1, 327680, 458752, 393216, 393216, 327680, -1, -1, -1, 786433, 393216, 327680, 327680, + 393216, -1, -1, -1, 393216, 393216, 393216, 458752, 393216 + + + -2, 8 + + + 3080288, 3473504, -1, 4849763, 4915298, 4849762, 2818144, 2818144, 2752608, 2883680, 2490464, 4587616, + 2818144, 3145824, 6291530, 131146, 3080288, 2883680, 2424928, 6291530, 131146, 131146, 5963850, 327752, + 3473504, 3145824, 2490464, 262217, 393288, 393288, 327752, 393288, 3145824, 655456, 2490464, 5963850, 393288, + 196680, 393288, 458824, 458848, 196704, 2556003, 393288, 393288, 327752, 458824, 458824, 1376352, 786531, -1, + 393288, 393288, 6291506, 131122, 131122, 6094946, 5439587, 2228320, 131122, 131122, 5963826, 852018, -1 + + + -1, 8 + + + 3145824, 458848, 4587616, 2818144, 2818144, 2818144, 3145824, 458848, 1179722, -1, 131146, 131146, + 131146, 131146, 131146, 131146, 327752, 393288, 458824, 393288, 393288, 327752, 393288, 458824, 327752, + 458824, 393288, 458824, 1376328, 458824, 393288, 393288, 458824, 458824, 6291506, 131122, 131122, 131122, + 131122, 131122, 458824, 458824, 131121, 852018, 917554, 917554, 1310770, -1, 131122, 131122, 5963826, 50, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + -4, 8 + + + 131122, 131122, 6291507, -1, -1, 458824, 655432, 327752, 917554, 852019, 5963827, -1, -1, 131122, + 131122, 6291507, -1, 51, 917554, -1, -1, 917554, 852019, 5963827, -1, -1, -1, -1, -1, -1, 51, 917554, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1 + + + -3, 8 + + + 393288, 196680, 327752, 327752, 196680, 6029387, 2490464, 4456544, 393288, 458824, 327752, 327752, + 196680, 6029387, 2424928, 1835104, 131122, 6291507, 393288, 327752, 393288, 6029387, 2359392, 2949216, 852019, + 262195, 393288, 393288, 458824, 6029387, -1, 3539040, 1048627, 5963827, 6291507, 393288, 393288, 5963851, + 2490464, 2818144, 51, 852019, 262195, 393288, 327752, 393288, 2424928, 393312, -1, 65587, 6357043, 458824, + 458824, 458824, 2490464, 655456, -1, 65587, 5963827, 6291507, 393288, 393288, 2097248, 5505122 + + + -6, 8 + + + -1, -1, -1, -1, 51, 917554, 917554, 917554, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + -5, 8 + + + 917554, 917554, 852019, 5963827, 131122, 131122, 131122, 131122, -1, -1, 51, 917554, 917554, 917554, + 917554, 917554, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + + + + + + Haven/Natural/Dirt/Abyss out SW + + + + + Haven/Natural/Dirt/Abyss edge S 01 + + + + + Haven/Natural/Cliff/Wall edge N 01 + + + + + Haven/Natural/Dirt/Dirt 07 weeds + + + + + Haven/Natural/Cliff/Wall edge S 01 + + + + + Haven/Natural/Dirt/Dirt 03 + + + + + Haven/Natural/Dirt/Dirt 04 + + + + + Haven/Natural/Dirt/Dirt 01 + + + + + Haven/Natural/Dirt/Abyss edge S x2 02 + + + + + Haven/Natural/Cliff/Wall edge S 04 Cube + + + + + Haven/Natural/Dirt/Dirt 06 weeds + + + + + Haven/Natural/Dirt/Abyss edge S x2 01 + + + + + Haven/Natural/Dirt/Cube 02 + + + + + Haven/Natural/Dirt/Abyss in SW + + + + + Haven/Natural/Dirt/Abyss edge N 01 + + + + + Haven/Natural/Cliff/Wall edge S x2 01 + + + + + Haven/Natural/Dirt/Abyss edge S 02 + + + + + Haven/Natural/Dirt/Cube 03 + + + + + Haven/Natural/Cliff/Wall edge N x2 01 + + + + + Haven/Natural/Dirt/Cube x2 01 + + + + + Haven/Natural/Dirt/Abyss edge N x2 01 + + + + + Haven/Natural/Dirt/Cube 01 + + + + + Haven/Natural/Dirt/Abyss edge S x4 02 + + + + + Haven/Natural/Cliff/Wall edge S x4 02 + + + + + Haven/Natural/Cliff/Wall edge S x2 02 + + + + + Clockworks/Floor, catwalk/Trim/Trim In 01 + + + + + Haven/Natural/Cliff/Wall edge N x4 01 + + + + + Haven/Natural/Stairway/Stair EW, Edge + + + + + Haven/Natural/Grass/Tall/Field in SW + + + + + Haven/Natural/Stairway/Stair WE, Middle + + + + + Haven/Natural/Stairway/Stair WE, Edge (Cliff) + + + + + Haven/Natural/Stairway/Stair WE, Edge + + + + + Haven/Wall, broken/Low/Column + + + + + Haven/Wall, broken/Low/Flat x1, horiz 01 + + + + + Haven/Wall, broken/Column + + + + + Haven/Natural/Cliff/Wall edge S x4 01 + + + + + Haven/Wall, broken/Low/Busted x2, verti 01 + + + + + Haven/Wall, broken/Low/Flat x1, verti 02 + + + + + Haven/Wall, broken/Low/Flat x1, verti 01 + + + + + Haven/Wall, broken/Low/Busted x2, horiz 02 + + + + + Haven/Wall, broken/Low/End, flat East + + + + + Haven/Wall, broken/Low/End, flat South + + + + + Haven/Natural/Grass/Tall/Field 03 + + + + + Haven/Natural/Grass/Tall/Field edge N + + + + + Haven/Natural/Grass/Tall/Field edge E + + + + + Haven/Natural/Grass/Tall/Field 01 + + + + + Haven/Natural/Grass/Tall/Field in SE + + + + + Haven/Natural/Grass/Tall/Field 04 + + + + + Haven/Natural/Grass/Tall/Field out NE + + + + + Haven/Natural/Grass/Tall/Field 02 + + + + + Haven/Natural/Grass/Tall/Field out SE + + + + + Haven/Natural/Grass/Tall/Flowers 01 + + + + + Haven/Natural/Grass/Tall/Field edge S + + + + + Haven/Natural/Grass/Tall/Field in NE + + + + + Haven/Natural/Grass/Cube low 01 + + + + + Haven/Natural/Grass/Tall/Field in NW + + + + + Haven/Natural/Grass/Cube high 02 + + + + + Haven/Natural/Grass/Short/Flowers 01 Short + + + + + Haven/Natural/Grass/Short/Field in NE Short + + + + + Haven/Natural/Grass/Short/Field in SW Short + + + + + Haven/Natural/Grass/Short/Field edge E Short + + + + + Haven/Natural/Grass/Short/Field edge S Short + + + + + Haven/Natural/Grass/Short/Field out SE Short + + + + + Haven/Natural/Grass/Short/Field out SW Short + + + + + Haven/Natural/Dirt/Abyss edge S x4 01 + + + + + Haven/Natural/Grass/Tall/Field out SW + + + + + Haven/Natural/Grass/Short/Field out NE Short + + + + + Haven/Natural/Stairway/Stair EW, Edge (Cliff) + + + + + Haven/Natural/Grass/Tall/Field edge W + + + + + Haven/Natural/Grass/Tall/Flowers 02 + + + + + Haven/Natural/Grass/Tall/Field out NW + + + + + Haven/Natural/Grass/Tall/Flowers 04 + + + + + Haven/Natural/Grass/Tall/Flowers 03 + + + + + Haven/Natural/Foliage/Null + + + + + Haven/Natural/Foliage/Wall out SW + + + + + Haven/Natural/Foliage/Wall edge S 02 + + + + + Haven/Natural/Foliage/Wall edge S 01 + + + + + Haven/Natural/Foliage/Wall in SW + + + + + Haven/Natural/Foliage/Wall edge S x2 01 + + + + + Haven/Natural/Foliage/Wall edge S x2 03 + + + + + Haven/Natural/Foliage/Wall edge S x2 02 + + + + + Clockworks/Floor, catwalk/Catwalk 06 + + + + + Haven/Natural/Dirt/Clockwork Trim/Trim In 01 + + + + + Haven/Natural/Dirt/Clockwork Trim/Trim Out 01 + + + + + Haven/Natural/Dirt/Clockwork Trim/Trim 05 + + + + + Haven/Natural/Dirt/Clockwork Trim/Trim 01 + + + + + Clockworks/Floor, catwalk/Catwalk 04 + + + + + Haven/Natural/Dirt/Clockwork Trim/Trim 03 + + + + + Clockworks/Floor, catwalk/Catwalk 05 + + + + + Clockworks/Floor, catwalk/Catwalk 03 + + + + + Clockworks/Floor, catwalk/Catwalk 01 + + + + + Haven/Natural/Cliff/Wall out SW + + + + + Haven/Natural/Cliff/Wall edge S 02 + + + + + Haven/Natural/Dirt/Clockwork Trim/Trim 02 + + + + + Clockworks/Floor, catwalk/Catwalk 07 + + + + + Clockworks/Floor, catwalk/Catwalk 08 + + + + + Haven/Natural/Cliff/Wall in SW + + + + + Haven/Natural/Cliff/Wall edge S 03 Cube + + + + + Clockworks/Floor, catwalk/Catwalk, solid + + + + + Clockworks/Floor, base/Swirly 03 + + + + + Haven/Natural/Dirt/Clockwork Trim/Trim 06 + + + + + Clockworks/Floor, catwalk/Catwalk 02 + + + + + Clockworks/Floor, base/Base 03 + + + + + Clockworks/Floor, base/Base 04 + + + + + Clockworks/Floor, base/Base 01 + + + + + Clockworks/Floor, base/Base 02 + + + + + Clockworks/Floor, base/Swirly 04 + + + + + Haven/Natural/Grass/Short/Field 01 Short + + + + + Haven/Natural/Grass/Short/Flowers 02 Short + + + + + Haven/Natural/Grass/Short/Field 02 Short + + + + + Haven/Natural/Grass/Short/Field edge N Short + + + + + Haven/Natural/Grass/Short/Field edge W Short + + + + + Haven/Natural/Grass/Short/Field out NW Short + + + + + Haven/Natural/Dirt/Clockwork Trim/Trim 04 + + + + + Clockworks/Floor, roof/Base 1unit, 01 + + + + + Clockworks/Wall/Corner Out 01 + + + + + Clockworks/Fence, high/Horizontal x2, 01 + + + + + Clockworks/Wall/Back x1 01 + + + + + Clockworks/Floor, roof/Base 1unit, plate + + + + + Clockworks/Wall/Blue panel x1 03 + + + + + Clockworks/Wall/Blue panel x1 02 + + + + + Clockworks/Fence, high/Corner 01, west + + + + + Clockworks/Wall/Blue panel x1 04 + + + + + Clockworks/Fence, high/Horizontal x1, copper flat 2 + + + + + Clockworks/Wall/Copper flat x1 02 + + + + + Clockworks/Wall/Back x2 01 + + + + + Clockworks/Fence, high/Horizontal x1, 03 + + + + + Clockworks/Wall/Corner In NE 01 + + + + + Haven/Natural/Dirt/Dirt 02 + + + + + Clockworks/Fence, high/Corner 01 + + + + + Clockworks/Fence, high/Corner 01, north + + + + + Clockworks/Fence, high/Vertical x2, 01 + + + + + Clockworks/Fence, high/Horizontal x1, 02 + + + + + Clockworks/Wall/Blue panel x1 01 + + + + + Haven/Urban/Cobblestone/Cobblestone 03 + + + + + Haven/Wall, broken/Low/End, flat West + + + + + Haven/Wall, broken/Low/Flat x1, horiz 02 + + + + + Haven/Urban/Cobblestone/Edge Out, SW 01 + + + + + Haven/Urban/Cobblestone/Edge S 03, weeds + + + + + Haven/Urban/Cobblestone/Edge S 02 + + + + + Haven/Urban/Cobblestone/Edge In, SE 01 + + + + + Haven/Urban/Cobblestone/Cobblestone, weeds 04 + + + + + Haven/Urban/Cobblestone/Cobblestone, weeds 01 + + + + + Haven/Urban/Cobblestone/Cobblestone 05 + + + + + Clockworks/Floor, base/Trim/Trim Out 01 + + + + + Haven/Urban/Cobblestone/Cobblestone, weeds 02 + + + + + Haven/Urban/Cobblestone/Cobblestone 04 + + + + + Haven/Urban/Cobblestone/Cobblestone 01 + + + + + Haven/Urban/Cobblestone/Edge In, SE 02 + + + + + Haven/Urban/Cobblestone/Cobblestone 02 + + + + + Haven/Urban/Cobblestone/Edge Out, NE 03, weeds + + + + + Haven/Urban/Cobblestone/Cobblestone, weeds 03 + + + + + Haven/Urban/Cobblestone/Edge N 01, weeds + + + + + Haven/Urban/Cobblestone/Edge Out, SE 03, weeds + + + + + Clockworks/Wall/Copper flat x1 03 + + + + + Haven/Urban/Cobblestone/Edge Out, SW 03, weeds + + + + + Clockworks/Floor, base/Trim/Trim 06 + + + + + Haven/Urban/Cobblestone/Edge Out, SW 02 + + + + + Haven/Natural/Grass/Cube high 01 + + + + + Clockworks/Floor, base/Trim/Trim 05 + + + + + Haven/Urban/Cobblestone/Edge S 01 + + + + + Clockworks/Wall/Blue panel x3 01 + + + + + Clockworks/Floor, catwalk/Trim/Trim Out 01 + + + + + Clockworks/Wall/Copper flat x1 01 + + + + + Clockworks/Floor, catwalk/Trim/Trim 02 + + + + + Clockworks/Wall/Iron bits x1, vent + + + + + Haven/Natural/Grass/Short/Field in SE Short + + + + + Haven/Natural/Grass/Short/Field in NW Short + + + + + Haven/Wall, broken/Flat x1, horiz 01 + + + + + Haven/Wall, broken/End, flat North + + + + + Haven/Wall, broken/Flat x1, verti 01 + + + + + Clockworks/Edge railing/Rail, catwalk In 01 + + + + + Clockworks/Floor, catwalk/Trim/Trim 04 + + + + + Clockworks/Floor, catwalk/Trim/Trim 06 + + + + + Clockworks/Edge railing/Rail, catwalk Out 01 + + + + + Clockworks/Edge railing/Rail, brace catwalk + + + + + Clockworks/Edge railing/Rail, brace + + + + + Clockworks/Edge railing/Rail, catwalk x3 01 + + + + + Clockworks/Floor, catwalk/Trim/Trim 01 + + + + + Clockworks/Edge railing/Rail, catwalk 01 + + + + + Clockworks/Edge railing/Rail, catwalk 02 + + + + + Clockworks/Floor, catwalk/Trim/Trim 05 + + + + + Clockworks/Edge railing/Rail, catwalk 03 + + + + + Clockworks/Edge railing/Rail, base Out 01 + + + + + Clockworks/Edge railing/Rail, Transition L + + + + + Clockworks/Edge railing/Rail, Transition R + + + + + Clockworks/Edge railing/Rail, base 01 + + + + + Clockworks/Edge railing/Rail, base 02 + + + + + Clockworks/Floor, catwalk/Trim/Trim 03 + + + + + Clockworks/Edge railing/Rail, base In 01 + + + + + Clockworks/Floor, base/Trim/Trim In 01 + + + + + Clockworks/Floor, base/Trim/Trim 01 + + + + + Clockworks/Floor, base/Swirly 01 + + + + + Clockworks/Floor, base/Swirly 02 + + + + + Clockworks/Floor, base/Trim/Trim 03 + + + + + Clockworks/Edge railing/Rail, Back 03 + + + + + Clockworks/Edge railing/Rail, base 03 + + + + + Clockworks/Floor, base/Trim/Trim 04 + + + + 4 + %town:m.rescue_camp_central + 35 + + + 1140 + + Prop/General/Nature/Foliage/Leaf, plane 04 + + + 9.433663, 9.437174, -3.0 + 0.0, 0.0, 0.77654624, -0.6300603 + + + + 1139 + + + 9.945935, 9.458779, -3.0 + 0.0, 0.0, 0.97901666, -0.20378031 + + + + 1138 + + + 10.434564, 9.307598, -3.0 + 0.0, 0.0, -0.19154045, -0.9814847 + + + + 1137 + + + 10.982469, 9.377966, -3.0 + 0.0, 0.0, 0.7088277, -0.70538175 + + + + 1136 + + + 11.641355, 9.497934, -3.0 + 0.0, 0.0, 0.10848655, -0.99409795 + + + + 2268 + + Prop/Haven/Foliage Top/Top 4x4 01 + + + 1.3299997 + -6.3521633, 66.75792, 6.199959 + 0.114003904, -0.07982641, 0.81118006, 0.5679945 + + + + 2269 + + Prop/Haven/Foliage Top/Top 2x2 01 + + + -11.5, 63.5, 12.0 + 0.0, 0.0, -0.53729963, -0.8433914 + + + + 1033 + + + 17.5, -1.5, -9.5 + 0.0, 0.0, 0.3826835, -0.9238795 + + + + 2270 + + + 1.3299997 + -16.443565, 70.16336, 6.7599716 + 0.08343234, -0.050088935, 0.53795147, 0.83734006 + + + + 1034 + + + 12.688925, -5.780159, -9.5 + 0.0, 0.0, 0.3826835, -0.9238795 + + + + 2264 + + Prop/General/Nature/Foliage/Grass variants/Dry billboard, small 1 + + + 1.3299997 + -16.672428, 63.804546, 12.0 + 0.0636133, -0.19553657, 0.51696604, 0.8309423 + + + + 1036 + + + 16.102615, -5.029907, -9.0 + 0.0, 0.0, 0.30070588, -0.95371693 + + + + 1038 + + + 7.9155607, -7.196389, -9.5 + 0.0, 0.0, 0.30070588, -0.95371693 + + + + 1024 + + + 10.501259, -12.386946, -6.5 + 0.0, 0.0, 0.3826835, -0.9238795 + + + + 2260 + + Prop/Haven/Nature/Boulder 01 + + + 0.8099995 + -29.124954, 25.633347, 6.0 + 0.0, 0.0, 0.5664063, 0.8241261 + + + + 2261 + + + -28.498173, 22.903162, 3.0 + 0.0, 0.0, -0.4226182, 0.9063078 + + + + 2262 + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, large 1 + + + -22.217096, 22.951353, 3.0 + -0.036529746, -0.028008416, 0.15967615, 0.9860957 + + + + 1027 + + + 14.330225, -6.6668453, -6.5 + 0.0, 0.0, -0.34202018, 0.9396926 + + + + 2263 + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, small 2 + + + -21.697353, 21.550716, 3.0 + -0.020384636, -0.040717576, 0.09836458, 0.99410814 + + + + 1028 + + + 19.192701, -3.8622723, -6.5 + 0.0, 0.0, 0.3420202, -0.9396926 + + + + 2256 + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, small 1 + + + -28.777905, 22.147022, 3.0 + -0.061483607, -0.029721811, -0.21276614, 0.9747138 + + + + 2257 + + + -29.56746, 21.86338, 3.0 + -0.011255737, 0.050943512, -0.07320587, 0.99595135 + + + + 2258 + + + -29.761215, 25.191607, 6.0 + -0.02256093, -0.007947342, -0.017234199, 0.99956536 + + + + 2259 + + + 1.1499999 + -29.705029, 26.156631, 6.0 + 0.0, 0.0, -0.60876125, 0.79335344 + + + + 1049 + + + 29.214167, -5.3449354, -4.3399734 + 0.1305262, 0.0, 0.0, 0.9914449 + + + + 3200 + + Shop/Rescue Camp/General Goods + + Actor + + Shop/Rescue Camp/General Goods + + + + + -0.95, 40.0, 6.0 + 0.0, 0.0, 0.25881904, 0.9659258 + + + + 2255 + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, large 2 + + + -30.70285, 24.653475, 6.0 + -0.045204535, -0.024462566, 0.0021415753, 0.9986758 + + + + 2254 + + + -37.5, 24.5, 6.0 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 1050 + + + 3.0099983 + 22.5, -1.3699992, -6.8700647 + 0.0, 0.0, 0.7071069, 0.7071067 + + + + 1053 + + + 3.0399983 + 29.41002, -1.2500002, -5.0300226 + -0.097830676, -0.0781984, 0.0792035, 0.9889596 + + + + 1054 + + + 1.19 + 29.815578, -2.383331, -4.400008 + -0.006170571, -0.16507079, 0.6875694, 0.70707977 + + + + 1041 + + + 19.039164, -8.271288, -6.5 + 0.0, 0.0, 0.30070588, -0.95371693 + + + + 1043 + + + 28.180082, -9.408346, -5.3499737 + 0.104528464, 0.0, 0.0, 0.9945219 + + + + 2243 + + + -14.696672, 62.874985, 12.0 + -0.0053723673, -0.06274719, -0.07605159, 0.99511313 + + + + 1047 + + + 29.66845, -5.392952, -6.81003 + 0.0, 0.0, -0.70710653, 0.70710707 + + + + 2302 + + Prop/Clockworks/Pipes, floor small/Blue, elbow L + + Color variant + Clockwork blue + + + + -15.5, 77.5, 12.0 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 2303 + + + -16.5, 80.5, 12.0 + 0.0, 0.0, 0.7071063, -0.70710725 + + + + 2300 + + + -16.5, 77.5, 12.0 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 1065 + + Prop/General/Nature/Foliage/Ivy & Vines/Vine, hanging 04 + + + 15.313895, -0.79, -7.1100254 + 0.026834587, 0.073727444, -0.34096572, 0.9367959 + + + + 2301 + + Prop/Clockworks/Pipes, floor small/Blue, straight x2 + + Color variant + Clockwork blue + + + + -16.5, 78.5, 12.0 + 0.0, 0.0, 1.0, -3.3776624E-7 + + + + 2298 + + + -14.5, 74.5, 12.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 1071 + + + 1.4899995 + 14.113449, -14.162899, -6.079892 + 0.0, 0.0, -0.21643959, 0.976296 + + + + 2299 + + + -14.5, 75.5, 12.0 + 0.0, 0.0, -1.0, -4.371139E-8 + + + + 1068 + + Lights/Point Light + + Attenuation + + 0.125 + 0.1 + + Diffuse + 1.0, 0.6, 0.0, 1.0 + Extent + 12.0 + + + + 16.225458, 21.054317, 1.4199991 + 0.0, 0.0, -0.34202006, 0.9396927 + + + + 2296 + + + -15.5, 75.5, 12.0 + 0.0, 0.0, 1.0, -3.3776624E-7 + + + + 2297 + + Prop/Clockworks/Pipes, floor small/Blue, T joint + + Color variant + Clockwork blue + + + + -15.5, 75.5, 12.0 + + + + 1069 + + + 22.71107, -6.2623415, -5.059967 + 0.11320321, 0.0, 0.0, 0.9935719 + + + + 2294 + + Prop/General/Nature/Foliage/Grass variants/Clockworks Base billboard, small 1 + + + -16.391281, 74.4942, 12.0 + -0.034438044, 0.01635401, 0.37120855, 0.9277666 + + + + 2295 + + + -16.5, 74.5, 12.0 + 0.0, 0.0, -0.70710653, 0.707107 + + + + 2292 + + Prop/General/Nature/Foliage/Variants - Clockworks Base/Ivy vine, Clockworks 01 + + + 1.5399995 + -18.085484, 78.24231, 9.519943 + 0.0, 0.0, -0.06722492, 0.9977378 + + + + 2293 + + + -15.5, 74.5, 12.0 + 0.0, 0.0, -0.7071069, -0.70710665 + + + + 2290 + + + -14.5, 72.5, 12.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2291 + + Prop/Clockworks/Understructure/Understructure x5 + + + -15.977432, 80.507675, 12.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2288 + + Prop/General/Nature/Foliage/Variants - Haven/Ivy vine, Haven 01 + + + -13.180866, 70.368, 12.480011 + 0.0013945308, -0.06974253, 0.019942721, 0.9973647 + + + + 2289 + + Prop/General/Nature/Foliage/Grass variants/Clockworks Base billboard, single 1 + + + -14.27972, 72.43474, 12.0 + -0.04808359, 0.009911093, -0.05223448, 0.9974273 + + + + 2287 + + + -14.5, 70.5, 12.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 1083 + + + 1.2399998 + 26.698498, -12.295753, -7.5699606 + 0.0, 0.0, -0.21643959, 0.976296 + + + + 2286 + + Prop/General/Nature/Foliage/Grass variants/Clockworks Base billboard, large 2 + + + -15.5, 71.5, 12.0 + -0.03877519, 7.45528E-4, 0.044258304, 0.998267 + + + + 2285 + + + -16.5, 72.5, 12.0 + 0.0, 0.0, 1.0, -3.3776624E-7 + + + + 2284 + + Prop/General/Nature/Foliage/Grass variants/Dry billboard, small 2 + + + -15.219395, 70.201485, 12.0 + 0.020674674, -0.086669445, 0.28947377, 0.9530298 + + + + 2283 + + Prop/General/Nature/Foliage/Grass variants/Dry billboard, large 1 + + + -14.887854, 70.91091, 11.969999 + -0.06883162, 0.0468641, 0.050621558, 0.99524045 + + + + 1087 + + Prop/General/Nature/Foliage/Variants - Haven/Ivy Wall, x3 - 01 + + + 9.5, 9.5, -3.0 + 0.0, 0.0, 2.384976E-8, 1.0 + + + + 2282 + + + -16.5, 70.5, 12.0 + 0.0, 0.0, 1.0, -3.3776624E-7 + + + + 2281 + + + -16.5, 69.5, 12.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 1085 + + + 6.9258084, 1.2191978, -6.38 + 0.0, 0.0, 0.21643972, 0.976296 + + + + 2280 + + + -14.5, 68.5, 12.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2279 + + Prop/General/Nature/Foliage/Grass variants/Dry billboard, single 1 + + + -14.327501, 64.936035, 12.0 + -0.030923093, 0.0220729, -0.19185932, 0.9806867 + + + + 2278 + + + -16.436085, 65.2129, 12.0 + -0.050727323, 0.060870595, 0.24427138, 0.9664641 + + + + 2277 + + + 1.3299997 + -12.076498, 69.64465, 6.8499737 + 0.107120186, -0.16814522, 0.5265127, 0.8264605 + + + + 1073 + + + 1.4899995 + 24.381775, -11.759628, -8.019937 + 0.0, 0.0, -0.21643959, 0.976296 + + + + 2276 + + + 1.3299997 + -16.443565, 70.16336, 6.7599716 + 0.08343234, -0.050088935, 0.53795147, 0.83734006 + + + + 1072 + + + 1.4899995 + 20.229065, -11.43075, -7.039914 + 0.0, 0.0, -0.21643959, 0.976296 + + + + 2275 + + + 1.8599992 + -11.916494, 72.64465, 0.33991218 + 0.07477757, -0.117377385, 0.5320703, 0.8351838 + + + + 2274 + + + 1.8599992 + -16.753658, 74.11421, 0.33991218 + 0.08945865, -0.10661278, 0.63653165, 0.7585896 + + + + 2273 + + Sounds/Positional/Tutorial/Clockworks Reveal + + Label + Clockworks Reveal + + + + -15.5, 80.5, 12.0 + + + + 1076 + + + 1.4899995 + 32.764427, -14.518054, -8.199941 + 0.0, 0.0, -0.21643959, 0.976296 + + + + 2272 + + + 1.8599992 + -5.2485275, 69.266815, 0.33991218 + 0.10260905, -0.094023995, 0.7301018, 0.6690158 + + + + 1230 + + + 7.146206, 2.5995216, -3.0 + -0.054150406, 0.071070515, 0.052520115, 0.9946147 + + + + 3155 + + Prop/Knights/Floor Mats/Floor Mat - 2x1 + + + 9.385708, 42.79409, 6.0 + 0.0, 0.0, -0.976296, -0.21643962 + + + + 1226 + + + 6.6073833, 1.9078441, -3.0 + 0.0064051156, -0.04682434, 0.16159606, 0.9857246 + + + + 3148 + + Prop/Knights/Computer 1, toughbox + + + 11.533145, 7.411698, -3.0 + 0.0, 0.0, 0.08715573, 0.9961947 + + + + 1236 + + + 24.180113, 0.69323254, -3.0 + -0.014725065, 0.04145213, -0.002701238, 0.9990284 + + + + 1237 + + + 8.385946, 8.39087, -3.0 + 0.0064051133, -0.04682433, 0.16159606, 0.9857246 + + + + 3150 + + + 10.41613, 42.937965, 6.0 + 0.0, 0.0, -0.30070576, 0.953717 + + + + 3151 + + Prop/Knights/Block - Toughbox + + + 11.316193, 41.748524, 6.0 + 0.0, 0.0, -0.6156617, 0.7880106 + + + + 1239 + + + 0.86000013 + 7.5444093, 8.96265, -3.0 + 0.0, 0.0, 0.3007058, 0.95371693 + + + + 1232 + + + 26.200201, 0.52074194, -3.0 + 0.02473348, 0.025045395, -0.048303753, -0.9982123 + + + + 1233 + + + 27.060163, 2.0552292, -3.0 + 0.041063003, 0.0061881007, 0.0036023594, -0.99913085 + + + + 1246 + + + 33.647533, 5.9925613, 6.0 + 0.0, 0.0, -0.043618686, -0.99904823 + + + + 1247 + + + 32.178917, 13.121477, 6.0 + 0.0, 0.0, -0.043618686, -0.99904823 + + + + 1240 + + + 10.066743, 8.444827, -3.0 + 0.02480715, 0.001455308, -0.014645744, -0.9995839 + + + + 3199 + + Actor 1x1 + + Actor + + Character/NPC/Rescue Camp/Greeter + + + + + 0.21, 6.739, 0.0 + 0.0, 0.0, 0.25881904, 0.9659258 + + + + 1255 + + + 1.2199998 + 36.39793, 5.239764, 4.9799767 + 0.0, 0.0, 0.043618683, 0.99904823 + + + + 1254 + + + 33.700455, 9.335396, 6.0 + 0.0, 0.0, -0.043618686, -0.99904823 + + + + 3198 + + Character/Knight/Crew, general + + Actor + + Character/NPC/Rescue Camp/Instructor + + + + + 9.282764, 42.561325, 6.0 + 0.0, 0.0, -0.21643944, 0.976296 + + + + 3197 + + Prop/Haven/Foliage Top/Top 1x1 01 + + + 1.1499999 + 13.038984, 40.691277, 5.469988 + 0.0, 0.0, -1.0, 3.1391647E-7 + + + + 1253 + + + 31.192266, 23.923666, 6.0 + 0.0, 0.0, -0.043618686, -0.99904823 + + + + 1252 + + + 26.753077, 30.384462, 6.0 + 0.0, 0.0, -0.043618686, -0.99904823 + + + + 3196 + + + 15.66221, 41.75924, 6.0 + 0.0, 0.0, -0.96592575, 0.2588194 + + + + 1251 + + + 28.888697, 26.72356, 6.0 + 0.0, 0.0, -0.043618686, -0.99904823 + + + + 3194 + + + -3.137597, 34.01881, 6.0 + -0.046202227, 0.061599728, -0.074385315, 0.99425226 + + + + 1250 + + + 28.373207, 21.316341, 6.0 + 0.0, 0.0, -0.043618686, -0.99904823 + + + + 3193 + + Character/Knight/Crew, general + + Actor + + Character/NPC/Rescue Camp/Nervous + + + + + -3.954763, 34.770267, 6.0 + 0.0, 0.0, -0.96592593, -0.2588189 + + + + 1249 + + + 32.133038, 16.964115, 6.0 + 0.0, 0.0, -0.043618686, -0.99904823 + + + + 1248 + + + 28.368214, 18.036934, 6.0 + 0.0, 0.0, 0.043618683, 0.99904823 + + + + 3191 + + Prop/Knights/Flare + + + 9.114403, 27.873045, 3.0 + 0.0, 0.0, 0.86602527, 0.5000001 + + + + 3190 + + Lights/Point Light + + Attenuation + + 0.4 + + Diffuse + 1.0, 0.3254902, 0.47058824, 1.0 + Extent + 4.0 + + + + 8.812671, 28.289524, 3.19 + 0.0, 0.0, -0.25881878, 0.9659259 + + + + 3187 + + + -3.5605025, 47.560043, 6.0 + 0.0, 0.0, 0.86602527, 0.5000001 + + + + 3186 + + + -3.862235, 47.97652, 6.19 + 0.0, 0.0, -0.25881878, 0.9659259 + + + + 1258 + + + 28.530073, 27.529945, 7.5 + 0.0, 0.0, -0.043618686, -0.99904823 + + + + 3184 + + + -5.331818, 47.767696, 6.0 + 0.0, 0.0, 0.9238795, 0.38268355 + + + + 3182 + + + 1.1899999 + -5.9814453, 47.57738, 6.0 + 0.0, 0.0, 0.34202015, 0.9396926 + + + + 3177 + + + -10.285518, 45.397976, 6.0 + 0.0, 0.0, 0.17364825, 0.9848077 + + + + 1279 + + + 1.4899995 + 33.66599, -7.8216085, -7.479924 + 0.19080897, 0.0, 0.0, 0.98162717 + + + + 1275 + + + 1.3399997 + 37.098515, -0.087286055, -1.1499993 + 0.0, 0.0, -0.08715644, 0.99619466 + + + + 1273 + + + 1.3399997 + 34.198055, -0.47761822, -1.1499993 + 0.0, 0.0, -0.087156445, 0.99619466 + + + + 3099 + + + 3.0516524, 36.01987, 6.0 + -0.06369533, -0.043087304, 0.102159485, 0.9917912 + + + + 3098 + + + 2.3466172, 34.635925, 6.0 + -0.018783035, -0.021772683, -0.13433032, 0.9905193 + + + + 3100 + + + 3.8525, 35.49934, 6.0 + -0.045444813, 0.0060316394, -0.016194593, 0.9988173 + + + + 3103 + + + -5.8823686, 29.023842, 6.0 + -0.046202224, 0.061599717, -0.074385315, 0.99425226 + + + + 3081 + + + -3.51164, 30.639893, 6.0 + -0.014725065, 0.04145213, -0.002701238, 0.9990284 + + + + 3082 + + + -4.2840223, 31.759268, 6.0 + -0.018783035, -0.021772683, -0.13433032, 0.9905193 + + + + 3083 + + + -4.019612, 43.55027, 6.0 + -0.067281865, -0.017416945, -0.0999527, 0.99256206 + + + + 3087 + + + 4.184152, 33.432087, 6.0 + 0.0, 0.0, 0.46174854, 0.8870109 + + + + 3072 + + Prop/General/Nature/Foliage/Variants - Haven/Leaves, Haven 03 + + + -4.671498, 35.7701, 8.55 + 0.2119263, 0.0072584376, -0.17268324, 0.96188104 + + + + 3073 + + Prop/General/Nature/Foliage/Variants - Haven/Ivy Wall, x1 - 01 + + + -4.5920925, 35.87376, 5.8900003 + + + + 1181 + + + 5.9904084, 1.8806329, -3.0 + 0.0, 0.0, -0.7470809, -0.6647331 + + + + 1182 + + + 6.9467945, 1.9815178, -3.0 + 0.0, 0.0, 0.3118784, -0.95012206 + + + + 1183 + + + 7.422388, 2.2880735, -3.0 + 0.0, 0.0, -0.52942246, -0.8483584 + + + + 3079 + + + -5.1229067, 32.981014, 6.0 + 0.0064051105, -0.046824314, 0.16159606, 0.9857246 + + + + 3130 + + + -0.95340604, 42.68674, 6.0 + 0.0, 0.0, 0.9832549, 0.18223563 + + + + 3129 + + + -2.3614144, 42.702698, 6.0 + 0.0, 0.0, -0.649448, 0.760406 + + + + 1191 + + + 8.182655, 2.2279391, -3.5 + 0.0, 0.0, -0.5253903, 0.8508613 + + + + 1195 + + + 11.646297, 2.0239263, -3.5 + 0.0, 0.0, 0.5860044, -0.81030786 + + + + 3127 + + + 0.761433, 40.51315, 6.0 + -0.018099777, 0.069724716, 0.03682647, 0.996722 + + + + 1197 + + + 12.960883, 1.9079638, -3.5 + 0.0, 0.0, -0.6455492, -0.7637187 + + + + 1375 + + Prop/Clockworks/Pipes, ground - Iron Large/Straight 3 unit + + + 17.5, 15.5, 0.0 + 0.0, 0.0, -0.7071065, 0.7071071 + + + + 1374 + + Prop/Clockworks/Pipes, ground - Iron Large/Cliff pipe, vertical + + + 22.5, 15.5, 0.0 + 0.0, 0.0, -0.7071055, 0.707108 + + + + 1362 + + Prop/Clockworks/Pipes, ground - Iron Large/Y Connector + + + 15.5, 11.5, 0.0 + 0.0, 0.0, -1.0, 5.9624405E-8 + + + + 1361 + + Prop/Clockworks/Pipes, ground - Iron Large/Diagonal 1unit + + + 16.5, 10.5, 0.0 + 0.0, 0.0, -0.70710707, -0.70710653 + + + + 1360 + + + 14.5, 10.5, 0.0 + 0.0, 0.0, -7.154928E-8, -1.0 + + + + 2458 + + Prop/Clockworks/Lamp, short rail-mounted + + Light Color + Golden (Clockworks) + + + + -22.5, 104.5, 12.0 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 1358 + + Prop/Clockworks/Pipes, ground - Iron Large/Elbow 45, right + + + 14.5, 10.5, 0.0 + 0.0, 0.0, 7.154927E-8, 1.0 + + + + 2459 + + + -22.5, 107.5, 12.0 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 1359 + + Prop/Clockworks/Pipes, ground - Iron Large/Elbow 45, left + + + 16.5, 10.5, 0.0 + 0.0, 0.0, 7.154927E-8, 1.0 + + + + 1356 + + Prop/Clockworks/Pipes, ground - Iron Large/Diagonal 2unit + + + 15.5, 2.5, -3.0 + 0.0, 0.0, -1.0, 5.9624405E-8 + + + + 2462 + + Prop/Clockworks/Pipes, floor small/Blue, elbow L + + Color variant + Clockwork iron + + + + -19.500008, 106.5, 12.0 + 0.0, 0.0, -3.5762784E-7, 1.0 + + + + 1354 + + Prop/Clockworks/Pipes, ground - Iron Large/Straight 2 unit + + + 16.5, 5.5, -3.0 + 0.0, 0.0, -1.0, 5.9624405E-8 + + + + 2463 + + Prop/Clockworks/Pipes, floor small/Blue, straight x2 + + Color variant + Clockwork iron + + + + -19.5, 107.5, 12.0 + 0.0, 0.0, 1.0, 4.3312576E-7 + + + + 1355 + + Prop/Clockworks/Pipes, ground - Iron Large/Bracket + + + 16.5, 6.5, -3.0 + 0.0, 0.0, -1.0, 5.9624405E-8 + + + + 2460 + + + -19.5, 103.5, 12.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 1352 + + + 14.5, 1.5, -3.0 + 0.0, 0.0, -1.3272152E-6, -1.0 + + + + 2461 + + Lights/Point Light + + Attenuation + + 0.4 + 0.1 + + Diffuse + 1.0, 0.8, 0.4, 1.0 + Extent + 9.0 + + + + -22.0, 106.0, 13.910226 + 0.0, 0.0, -0.25881878, 0.9659259 + + + + 1353 + + + 16.5, 3.5, -3.0 + 0.0, 0.0, -1.0, 5.9624405E-8 + + + + 1350 + + + 12.5, 4.5, -3.0 + 0.0, 0.0, 0.70710725, 0.7071063 + + + + 1351 + + Prop/Clockworks/Pipes, ground - Iron Large/Elbow 90 + + + 14.5, 4.5, -3.0 + 0.0, 0.0, -6.755325E-7, -1.0 + + + + 1349 + + + 11.5, 3.5, -3.0 + 0.0, 0.0, -6.755325E-7, -1.0 + + + + 1346 + + Prop/Clockworks/Pipes, ground - Iron Large/Abyss pipe, vertical + + + 14.5, 0.5, -3.0 + 0.0, 0.0, 6.755325E-7, 1.0 + + + + 1347 + + + 11.5, 3.5, -3.0 + 0.0, 0.0, 6.755325E-7, 1.0 + + + + 2473 + + + -12.5, 103.5, 12.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2472 + + Dynamic/Portal/Destination + + Default Entrance + false + Tag + from_final + + + + -15.5, 107.5, 12.0 + + + + 1404 + + + 1.8299992 + -15.866573, 4.2209854, 3.0 + 0.017452402, 0.0, 0.0, 0.9998477 + + + + 2475 + + + -13.50001, 102.50001, 12.0 + 0.0, 0.0, 0.70710653, 0.70710707 + + + + 2474 + + + -14.500008, 102.5, 12.0 + 0.0, 0.0, -0.7071069, 0.7071067 + + + + 2477 + + + -11.5, 102.5, 12.0 + 0.0, 0.0, 0.70710665, 0.7071069 + + + + 1401 + + + 1.4399996 + -7.9553614, 3.399086, 3.0 + 0.017452404, 0.0, 0.0, 0.9998477 + + + + 2476 + + Prop/General/Nature/Foliage/Variants - Clockworks Base/Leaves, Clockworks 03 + + + -14.180662, 102.88186, 12.0 + 0.0, 0.0, 0.8125543, 0.5828855 + + + + 1400 + + + 1.4399996 + -11.5, -0.5, 3.0 + 0.017452404, 0.0, 0.0, 0.9998477 + + + + 2479 + + Character/Knight/Crew, general + + Actor + + Character/NPC/Rescue Camp/Final Gate + + + + + -14.018841, 105.367004, 12.0 + 0.0, 0.0, -0.13052599, 0.9914449 + + + + 2478 + + + -11.5, 103.5, 12.0 + 0.0, 0.0, 1.0, 4.3312576E-7 + + + + 1402 + + + 1.4399996 + -8.797589, 8.869141, 3.0 + 0.017452402, 0.0, 0.0, 0.9998477 + + + + 2465 + + Prop/General/Nature/Foliage/Variants - Clockworks Base/Leaves, Clockworks 04 + + + -16.48955, 103.072754, 12.0 + 0.0, 0.0, -0.9986295, 0.052335974 + + + + 2464 + + Prop/Haven/Arcade/Static Gate Monitor + + Colorizations + + + 2 + + 0.147 + -0.064 + + + + 3 + + -1.0 + -0.413 + -0.816 + + + + Icon + ui/icon/gate/arrow_down.png + + + + -19.0, 108.0, 12.0 + + + + 1396 + + + -7.5, -8.5, 3.0 + 0.0, 0.0, -0.13052772, 0.99144465 + + + + 2467 + + + -18.50001, 103.50001, 12.0 + 0.0, 0.0, -5.9604638E-8, 1.0 + + + + 1399 + + + -7.4712934, -0.3480792, 3.0 + 0.0, 0.0, -0.13052772, 0.99144465 + + + + 2466 + + + -16.93647, 102.777824, 12.0 + 0.0, 0.0, -0.7203352, 0.6936261 + + + + 1398 + + + -8.656602, -3.0971484, 3.0 + 0.0, 0.0, -0.13052772, 0.99144465 + + + + 2469 + + + -18.5, 104.5, 12.0 + 0.0, 0.0, 1.0, 4.3312576E-7 + + + + 1393 + + + -5.4378943, 2.134916, 3.3299997 + 0.13798243, -0.018165946, -0.12925741, 0.98179597 + + + + 2468 + + + -17.5, 103.5, 12.0 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 1392 + + + -5.558182, 4.0934405, 3.0 + 0.0, 0.0, -0.13052772, 0.99144465 + + + + 2471 + + + -18.5, 106.5, 12.0 + 0.0, 0.0, 1.0, 4.3312576E-7 + + + + 1395 + + + -4.5, -11.5, 3.0 + 0.0, 0.0, -0.1305277, 0.99144465 + + + + 2470 + + + -15.5, 103.5, 12.0 + 0.0, 0.0, 1.0, 4.3312576E-7 + + + + 1394 + + + -5.5, -7.5, 3.0 + 0.0, 0.0, -0.13052772, 0.99144465 + + + + 2488 + + + -9.0, 106.0, 13.910226 + 0.0, 0.0, -0.25881878, 0.9659259 + + + + 2489 + + + -10.499994, 107.50001, 12.0 + 0.0, 0.0, -0.70710695, 0.7071066 + + + + 1389 + + + -4.6538186, 7.1677575, 3.0 + 0.0, 0.0, -0.13052772, 0.99144465 + + + + 2491 + + + 1.5199995 + 4.926814, 32.83271, 3.0 + 0.0, 0.0, 0.4226183, 0.90630776 + + + + 1384 + + + 23.001211, 25.801659, 3.0 + -0.046275556, -0.08216664, -0.113601014, 0.989041 + + + + 2492 + + + 9.543479, 32.56396, 3.0 + 0.0, 0.0, -0.08715588, -0.99619466 + + + + 1385 + + + 24.43098, 20.959127, 3.0 + -0.0036667692, 0.026289472, -0.16852325, 0.98534024 + + + + 2493 + + Prop/General/Nature/FireFlies + + + 12.443764, 32.73781, 6.0 + + + + 1386 + + + 23.936087, 21.688206, 3.0 + -0.02973978, 0.0940793, -0.15110701, 0.9835808 + + + + 1387 + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, single 2 + + + 24.224537, 26.178967, 3.0 + -0.021830454, -0.06851359, 0.029242977, 0.99698246 + + + + 1380 + + + 17.5, 15.5, 0.0 + 0.0, 0.0, -0.7071056, 0.70710796 + + + + 2480 + + + -11.499992, 106.5, 12.0 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 1381 + + Environment/Model + + Model + + world/skybox/outershell/skybox.dat + + Translation Scale + 0.0, 0.0, 0.0 + Variant + Night + + + + + + + 2481 + + Prop/Clockworks/Pipes, floor small/Blue, straight x1 + + Color variant + Clockwork iron + + + + -11.50001, 105.50001, 12.0 + 0.0, 0.0, -1.490116E-7, 1.0 + + + + 2482 + + Prop/Clockworks/Platform Rail + + + -15.5, 110.5, 12.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 1383 + + + 23.209093, 26.334705, 3.0 + -0.0050456305, 0.048722707, 0.048617613, 0.9976157 + + + + 2483 + + Dynamic/Gates/Control Panel (Fixed) + + Name + final_test_gate + + + + -15.5, 112.5, 12.0 + + + + 1376 + + + 15.5, 15.5, 0.0 + 0.0, 0.0, -1.0, 2.1020558E-6 + + + + 2484 + + Prop/Clockworks/Platform Lift + + + -15.5, 110.5, 12.0 + + + + 1377 + + + 15.5, 12.5, 0.0 + 0.0, 0.0, 9.5399045E-8, 1.0 + + + + 2485 + + + -8.5, 104.5, 12.0 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 1378 + + + 20.5, 15.5, 0.0 + 0.0, 0.0, -0.7071056, 0.70710796 + + + + 2486 + + + -8.5, 107.5, 12.0 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 1379 + + + 19.5, 15.5, 0.0 + 0.0, 0.0, -0.7071056, 0.70710796 + + + + 2487 + + + -10.50001, 106.50001, 12.0 + 0.0, 0.0, 0.70710653, 0.70710707 + + + + 2511 + + Model Tester + + Model + + world/tileset/clockworks/fence/fence_high.dat + + Model + fence_high_corner_01 + + + + + + 2.0, 52.0, 7.0 + + + + 2510 + + Prop/Clockworks/Pipes, wall small/Height 2 - Iron, straight x2 + + Color variant + Clockwork iron + + + + 1.5, 50.5, 6.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2509 + + + 0.9000001 + 0.3261156, 52.83026, 9.0 + 0.0, 0.0, 0.477159, 0.878817 + + + + 2508 + + + 1.7199993 + 1.1719751, 50.89823, 6.0 + 0.0, 0.0, 0.7933533, 0.6087615 + + + + 2507 + + + 0.34104633, 50.7597, 6.0 + 0.0, 0.0, 0.38268346, 0.9238795 + + + + 2506 + + + 1.5, 47.5, 6.0 + + + + 2505 + + + 2.5, 47.5, 6.0 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 2504 + + Lights/Point Light + + Attenuation + + 0.5 + + Diffuse + 1.0, 0.81960785, 0.43137255, 1.0 + Extent + 6.0 + + + + 2.031683, 46.966663, 6.6899996 + 0.0, 0.0, -0.25881878, 0.9659259 + + + + 2503 + + + 2.5, 46.5, 6.0 + + + + 2501 + + + 5.5, 49.5, 6.0 + + + + 2526 + + Prop/Clockworks/Pipes, floor small/Blue, elbow L + + + 3.5, 45.5, 6.0 + + + + 2527 + + + 4.5, 45.5, 6.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 2524 + + + 11.05035, 40.35392, 6.0 + -0.009180224, 0.021653794, 0.16233854, 0.9864548 + + + + 2525 + + Prop/Clockworks/Pipes, floor small/Blue, T joint + + + 3.5, 46.5, 6.0 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 2522 + + + 11.534853, 37.66994, 6.0 + -0.018110698, 0.004961854, -0.042777315, 0.9989081 + + + + 2523 + + + 10.719108, 38.474545, 6.0 + 0.016896807, -0.07009332, 0.28969386, 0.9543997 + + + + 2521 + + + 11.452444, 36.700787, 6.0 + -0.0090902485, -0.03293042, -0.15435353, 0.9874249 + + + + 2518 + + + 3.5, 60.5, 12.0 + 0.0, 0.0, -0.53729963, -0.8433914 + + + + 2516 + + + 1.9499991 + 0.085861206, 67.34543, 3.3699741 + 0.13503061, -0.060119495, 0.903511, 0.40226898 + + + + 1281 + + + 1.4899995 + 40.482956, -7.4033513, -7.639928 + 0.19008288, 0.01663009, 0.08555441, 0.9778918 + + + + 2515 + + + 1.9499991 + 8.061922, 66.53925, 7.869974 + 0.0, 0.0, 0.5, 0.8660254 + + + + 2513 + + + 1.3099997 + 1.4880829, 54.968803, 9.0 + 0.0, 0.0, 0.9659259, 0.25881895 + + + + 2541 + + + 9.752755, 45.055077, 6.0 + 0.0, 0.0, -0.34202006, 0.9396926 + + + + 2540 + + + 11.561209, 44.72977, 9.0 + -0.059172705, -0.005767333, 0.02855133, 0.99782276 + + + + 1339 + + Prop/Clockworks/Pipes, ground - Iron Large/Straight 1unit + + + 16.5, 6.5, -3.0 + 0.0, 0.0, 1.0, -3.577464E-8 + + + + 2543 + + + 8.5, 46.5, 6.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 1338 + + + 14.5, 6.5, -3.0 + 0.0, 0.0, 1.0, -3.577464E-8 + + + + 2542 + + Prop/Clockworks/Pipes, floor small/Blue, straight x1 + + Color variant + Clockwork blue + + + + 8.5, 45.5, 6.0 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + 1343 + + + 11.5, 2.5, -3.0 + 0.0, 0.0, 6.755325E-7, 1.0 + + + + 2533 + + Null barrier, no-walk + + + 9.5, 44.5, 6.0 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 1328 + + + 16.5, 7.5, -3.0 + 0.0, 0.0, 3.496911E-7, 1.0 + + + + 2532 + + + 13.5, 47.5, 9.0 + 0.0, 0.0, -0.53729963, -0.8433914 + + + + 1331 + + + 14.5, 7.5, -3.0 + 0.0, 0.0, 3.496911E-7, 1.0 + + + + 2534 + + + 10.5, 43.5, 6.0 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 2529 + + + 6.5, 45.5, 6.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 2528 + + + 4.5, 46.5, 6.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 2531 + + Dynamic/Portal/Destination + + Default Entrance + false + Tag + from_training_1 + + + + 5.5, 46.5, 6.0 + + + + 2530 + + + 6.5, 46.5, 6.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 2557 + + Dynamic/Gates/Control Panel (Fixed) + + Name + training_1 + + + + 5.5, 51.5, 6.0 + + + + 2558 + + Prop/Clockworks/Pipes, wall small/Height 3 - Iron, elbow-up L + + Color variant + Clockwork iron + + + + 4.5, 51.5, 6.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2559 + + Prop/Clockworks/Pipes, wall small/Height 3 - Iron, elbow-up R + + Color variant + Clockwork iron + + + + 3.5, 51.5, 6.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2552 + + Dynamic/Block/Unbreakable/Haven + + + 11.5, 39.5, 6.0 + + + + 2548 + + + 9.5, 45.5, 6.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 2549 + + + 9.5, 47.5, 6.0 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + 1314 + + + 25.249754, 12.186659, 0.0 + -6.368078E-4, 0.0013477947, -0.19280778, 0.9812354 + + + + 2550 + + + 10.69407, 48.49257, 9.0 + -0.0032338165, 0.096397854, -0.49545, 0.8632649 + + + + 1316 + + + 27.793348, 6.802822, 0.0 + -0.035111547, -0.003481158, -0.31307957, 0.9490712 + + + + 2544 + + + 1.7199993 + 9.352725, 48.82204, 6.0 + 0.0, 0.0, 0.38268346, 0.9238795 + + + + 1317 + + + 25.88484, 11.196759, 0.0 + -0.06666263, -0.010499684, -0.29479176, 0.95317554 + + + + 2545 + + + 8.487441, 48.56521, 6.0 + 0.0, 0.0, 0.17364825, 0.9848077 + + + + 2546 + + + 8.5, 47.5, 6.0 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + 1319 + + + 25.898315, 6.796503, 0.0 + -0.04180501, 0.038860083, -0.30552116, 0.95047307 + + + + 2547 + + + 9.5, 46.5, 6.0 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + 2306 + + + -14.592382, 79.86878, 12.0 + 0.0, 0.0, -0.93809223, 0.34638548 + + + + 1494 + + + 22.98981, 13.574185, 0.0 + -0.06081791, -0.018378472, -0.18479905, 0.9807206 + + + + 2307 + + + -14.408817, 79.39671, 12.0 + 0.0, 0.0, 0.017236993, 0.9998514 + + + + 2304 + + + -15.5, 80.5, 12.0 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 1492 + + + 1.1999998 + 22.255787, 18.302628, 0.0 + 0.0, 0.0, -5.960464E-8, 1.0 + + + + 2305 + + + -14.443827, 80.38198, 12.0 + 0.0, 0.0, -0.81245154, 0.58302873 + + + + 1493 + + + 1.1299999 + 22.73259, 14.5730095, 0.0 + 0.0, 0.0, 0.6427876, 0.7660445 + + + + 2310 + + Prop/General/Nature/Foliage/Grass variants/Clockworks Base billboard, small 2 + + + -13.376526, 80.10513, 12.0 + -0.060020957, 0.07504917, 0.18559147, 0.9779166 + + + + 1490 + + + 0.9200001 + 8.85677, 16.800701, 0.0 + 0.0, 0.0, 0.92718387, 0.37460664 + + + + 2311 + + + -13.7348175, 80.59814, 12.0 + -0.08225617, 0.13721395, 0.24431643, 0.9564078 + + + + 1491 + + + 1.3299997 + 21.519892, 18.883816, 0.0 + 0.0, 0.0, 0.6427876, 0.7660445 + + + + 2308 + + + -13.5, 80.5, 12.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 1488 + + + 1.3299997 + 8.066774, 16.280712, 0.0 + 0.0, 0.0, -0.88701105, 0.46174818 + + + + 2309 + + + -14.157373, 80.79751, 12.0 + 0.0, 0.0, 0.9350252, 0.35458127 + + + + 1489 + + + 1.3299997 + 10.0328865, 21.239498, 0.0 + 0.0, 0.0, 0.6427876, 0.7660445 + + + + 2314 + + + 1.8599992 + -5.2485275, 69.266815, 0.33991218 + 0.10260905, -0.094023995, 0.7301018, 0.6690158 + + + + 2315 + + + 1.3299997 + -6.3521633, 66.75792, 6.199959 + 0.114003904, -0.07982641, 0.81118006, 0.5679945 + + + + 2312 + + Lights/Point Light + + Attenuation + + 0.1 + + Diffuse + 1.0, 0.8, 0.4, 1.0 + Extent + 10.0 + + + + -13.578285, 80.55673, 13.050206 + 0.0, 0.0, -0.25881878, 0.9659259 + + + + 2313 + + + -13.5, 81.5, 12.0 + 0.0, 0.0, 1.0, -3.3776624E-7 + + + + 2318 + + + -11.085484, 79.86221, 12.0 + 0.0, 0.0, -0.06722492, 0.9977378 + + + + 1498 + + + 1.03 + 25.70284, 16.45233, 3.0 + 0.0, 0.0, 0.819152, 0.57357657 + + + + 1499 + + + 1.7899992 + 26.561049, 14.568075, 3.0 + 0.0, 0.0, 0.2164395, 0.976296 + + + + 2316 + + Prop/Clockworks/Lamp, tall rail-mounted + + Light Color + Golden (Clockworks) + + + + -11.5, 80.5, 12.0 + 0.0, 0.0, 0.70710653, 0.70710707 + + + + 2317 + + + 1.2299998 + -11.275986, 80.19299, 12.980022 + 0.0, 0.0, -0.36413905, 0.93134457 + + + + 1497 + + + 1.3299997 + 25.360603, 14.585446, 3.0 + 0.0, 0.0, 0.819152, 0.57357657 + + + + 1479 + + + 0.6900003 + 12.387924, 3.0489037, -3.04 + 0.0, 0.0, 0.04361876, 0.99904823 + + + + 1477 + + + 12.473911, 8.338661, -3.0 + 0.0, 0.0, 0.04361876, 0.99904823 + + + + 1475 + + + 24.192701, -4.8622723, -9.470068 + 0.0, 0.0, -0.34202018, 0.9396926 + + + + 1474 + + + -4.17984, -4.5654497, 3.0 + 0.0, 0.0, 0.34201837, 0.9396933 + + + + 1473 + + + 1.2499998 + -4.421632, -1.5849028, 3.0 + 0.0, 0.0, -0.37460598, 0.9271841 + + + + 1487 + + + 0.85000014 + 17.37402, 4.5498257, -3.0 + 0.0, 0.0, -0.30070633, 0.95371675 + + + + 1486 + + + 0.5700004 + 6.941129, 2.502, -3.04 + 0.0, 0.0, 0.04361876, 0.99904823 + + + + 1483 + + + 1.3299997 + 11.396156, 8.746939, -3.0 + 0.0, 0.0, -0.8870112, 0.46174797 + + + + 1480 + + + 18.450583, 4.095867, -3.0 + 0.0, 0.0, 0.04361876, 0.99904823 + + + + 1524 + + + 20.564083, 28.193932, 3.0 + 0.0, 0.0, 0.3007047, 0.9537173 + + + + 1525 + + + 15.385757, 32.017628, 3.0 + 0.0, 0.0, 0.3007047, 0.9537173 + + + + 1526 + + + 0.8000002 + 15.93335, 28.27178, 3.0 + 0.0, -0.0, -1.0, -4.371139E-8 + + + + 1527 + + + 24.38414, 25.908688, 3.0 + -0.0010526739, 0.043036908, -0.6553054, 0.7541364 + + + + 1522 + + Prop/Clockworks/Fan, x2 01 + + Variant + Copper + + + + 1.1999998 + 16.5, 34.5, 6.3800087 + 0.0, 0.0, 9.539904E-8, 1.0 + + + + 1523 + + + 1.3699996 + 15.089991, 28.5, 3.0 + 0.0, 0.0, 9.539904E-8, 1.0 + + + + 1533 + + + 1.2099998 + -1.994, 5.6159997, 0.020000193 + 0.0, 0.0, -0.99904823, 0.043619573 + + + + 1528 + + + 24.508566, 24.546682, 3.0 + -0.1373839, -0.112675175, -0.59090394, 0.78693235 + + + + 1529 + + + 1.3599997 + 23.751505, 24.651865, 3.0 + -0.046275552, -0.08216664, -0.113601014, 0.989041 + + + + 1530 + + + 23.695282, 23.947975, 3.0 + -0.013945402, 0.040728472, -0.39820272, 0.9162867 + + + + 1531 + + + 0.62000036 + 24.464361, 14.92862, 2.9599998 + -0.073157735, -0.04775076, -0.3558125, 0.9304651 + + + + 1508 + + + 1.3299997 + 11.690539, 25.546947, 0.0 + 0.0, 0.0, 0.087155655, 0.9961947 + + + + 1510 + + + 2.039999 + 11.090754, 25.057781, 0.0 + 0.0, 0.0, 0.258819, 0.9659258 + + + + 1507 + + + 1.3299997 + 10.6229105, 23.979862, 0.0 + 0.0, 0.0, 0.6427876, 0.7660445 + + + + 1517 + + + 0.75000024 + 11.649064, 20.969, 0.0 + 0.0, 0.0, -0.89879405, 0.43837115 + + + + 1516 + + + 0.6700003 + 19.8648, 19.351997, 0.0 + 0.0, 0.0, -0.9981348, 0.061048508 + + + + 1518 + + + 0.8200002 + 10.954928, 20.755527, 0.0 + 0.0, 0.0, 0.06975654, 0.997564 + + + + 1513 + + + 1.0999999 + 17.677393, 26.209724, 0.0 + 0.0, 0.0, 0.087155655, 0.9961947 + + + + 1512 + + + 1.3299997 + 21.642937, 22.194925, 0.0 + 0.0, 0.0, -0.7372773, 0.6755902 + + + + 1514 + + + 1.3299997 + 16.519592, 26.640814, 0.0 + 0.0, 0.0, 0.4226182, 0.9063078 + + + + 2374 + + + -17.629068, 83.71454, 12.0 + -0.050647173, 0.0028620716, 0.3332574, 0.94147015 + + + + 2375 + + + -17.004818, 83.228134, 12.0 + 0.0, 0.0, 0.41695446, 0.9089274 + + + + 2372 + + + -15.5, 92.5, 12.0 + + + + 1424 + + + 1.4299996 + -6.8612137, 19.820635, 4.7600164 + 0.01575228, -0.007513452, -0.43044552, 0.9024478 + + + + 2373 + + + -17.484299, 82.98616, 12.0 + 0.0, 0.0, -0.48413837, 0.8749915 + + + + 1431 + + + -10.293876, 23.75013, 6.0 + 0.0, 0.0, -0.5735774, 0.81915134 + + + + 2382 + + + 1.3299997 + -18.524, 93.61519, 9.899952 + -0.036204096, -0.035700686, 0.23449709, 0.97078615 + + + + 2383 + + + -16.499796, 96.50159, 12.0 + 0.0, 0.0, -0.3363655, 0.9417315 + + + + 2380 + + + -16.550058, 89.52118, 12.0 + 0.0, 0.0, -0.8592052, 0.5116312 + + + + 2381 + + + -18.5, 94.5, 12.0 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 1433 + + + 1.23 + -13.110383, 19.90848, 6.0 + 0.0, 0.0, -0.5735773, 0.8191514 + + + + 2378 + + + -16.551687, 88.45035, 12.0 + 0.0, 0.0, -0.651595, 0.75856704 + + + + 2379 + + + -16.458076, 88.97961, 12.0 + 0.0, 0.0, 0.93548673, 0.3533618 + + + + 1439 + + + 1.4299996 + -15.9714985, 24.60264, 4.7600164 + 0.016817665, -0.0046639508, -0.26719764, 0.9634837 + + + + 2376 + + + -16.551353, 83.5961, 12.0 + 0.0, 0.0, -0.7300557, 0.68338764 + + + + 2377 + + + -16.603165, 86.675, 12.0 + -0.041181356, 0.06354886, 0.2795421, 0.9571426 + + + + 2391 + + + -13.906113, 83.24563, 12.0 + -0.034617934, -0.022689901, -0.06445703, 0.9970617 + + + + 1411 + + + 26.5, 15.5, 3.0 + 0.0, 0.0, 2.1139804E-6, 1.0 + + + + 2390 + + + -17.23036, 101.054794, 12.0 + -0.016279632, 0.067273036, 0.17512125, 0.9821109 + + + + 2389 + + Prop/Clockworks/Understructure/Understructure x9 + + + -16.021751, 100.92034, 12.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2388 + + + -15.5, 105.5, 12.0 + + + + 2387 + + + -16.5, 97.5, 12.0 + 0.0, 0.0, 0.70710665, 0.7071069 + + + + 1415 + + + -1.54, 7.94, 0.0 + 0.0, 0.0, -0.13052768, 0.99144465 + + + + 2386 + + + -15.85256, 97.59681, 12.0 + 0.009597546, -0.053864453, 0.22965063, 0.9717339 + + + + 2385 + + + -16.301794, 97.07314, 12.0 + 0.0, 0.0, -0.89432985, 0.4474082 + + + + 2384 + + + -16.389523, 94.42174, 13.050206 + 0.0, 0.0, -0.25881878, 0.9659259 + + + + 2399 + + Prop/Clockworks/Pipes, floor small/Blue, T joint + + Color variant + Clockwork iron + + + + -15.5, 98.5, 12.0 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 1419 + + + -1.2202682, -9.767997, 1.5500014 + 0.22495103, 0.0, 0.0, 0.97437006 + + + + 2397 + + + -15.281851, 97.926254, 12.0 + 0.0, 0.0, 0.12192836, 0.99253887 + + + + 1417 + + + 0.63000035 + 0.19399312, 8.165173, 0.0 + -0.09466754, -0.13519897, -0.565711, 0.80791724 + + + + 2396 + + + -14.885036, 98.2312, 12.0 + 0.0, 0.0, -0.7795727, 0.6263117 + + + + 1416 + + + -0.5, 10.5, 0.0 + 0.0, 0.0, -0.1305277, 0.99144465 + + + + 2395 + + + -15.5, 97.5, 12.0 + 0.0, 0.0, 0.70710665, 0.7071069 + + + + 1423 + + + 1.1599998 + -8.102343, 14.63365, 4.220004 + 0.0, 0.0, -0.1305277, 0.99144465 + + + + 2394 + + Prop/General/Nature/Foliage/Grass variants/Clockworks Base billboard, single 2 + + + -14.168467, 86.45497, 12.0 + -0.08249655, -0.039446782, -0.27350503, 0.9575141 + + + + 2393 + + + -13.349638, 83.66438, 12.0 + -0.02759225, 0.0025860984, -0.12170772, 0.99217904 + + + + 1421 + + + 0.94999945 + -2.530267, -8.098004, 0.5600023 + 0.23188306, -0.013525348, 0.20735306, 0.95029044 + + + + 2392 + + + -13.5, 83.5, 12.0 + 0.0, 0.0, 0.7071063, -0.70710725 + + + + 2404 + + + -14.499994, 101.50001, 12.0 + 0.0, 0.0, 1.0, 3.1391647E-7 + + + + 2405 + + + -12.416966, 101.02481, 12.0 + -0.0054407334, 0.0070511405, 0.011714418, 0.9998917 + + + + 2400 + + + -15.5, 99.5, 12.0 + 0.0, 0.0, 1.0, 3.1391647E-7 + + + + 2401 + + + -14.5, 98.5, 12.0 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 1461 + + + -4.8657484, -0.9417119, 3.0 + 0.0, 0.0, 0.19766085, 0.98027045 + + + + 2402 + + + -14.5, 99.5, 12.0 + 0.0, 0.0, 1.0, 4.3312576E-7 + + + + 1462 + + + -5.074256, -1.4077117, 3.0 + 0.0, 0.0, -0.0048431456, 0.99998826 + + + + 2403 + + + -15.5, 101.5, 12.0 + 0.0, 0.0, 1.0, 3.1391647E-7 + + + + 1464 + + + 0.7900002 + -3.571812, 5.4421477, 3.0 + -0.074651346, 0.0204289, 0.40961936, 0.9089675 + + + + 1465 + + + -2.8623278, 5.908224, 3.0 + -0.015386507, -0.059317842, 0.34980205, 0.9348172 + + + + 1469 + + + -3.590209, 8.942219, 3.0 + -0.05117923, -0.056791876, 0.14301625, 0.9867633 + + + + 1443 + + Environment/Light + + Light + + + 0.007843138, 0.0, 0.21568628, 1.0 + + -0.8695337, -0.15332206, 0.4694715 + + + + + + 1442 + + Environment/Light + + Light + + + 0.0, 0.16470589, 0.21176471, 1.0 + + 0.9839298, 0.08608347, 0.15643448 + + + + + + 1444 + + Environment/Fog + + State + + 0.0, 0.078431375, 0.20392157, 0.0 + 15.0 + 40.0 + + + + + + 1447 + + + -5.0094404, -1.1683795, 3.0 + -0.07912161, 0.023083765, 0.44454005, 0.89195913 + + + + 1446 + + + -4.5, -0.5, 3.0 + -0.053471647, -0.04100228, 0.16295965, 0.9843291 + + + + 1449 + + + -4.181862, -1.0297351, 3.0 + -0.09233926, 0.07109478, 0.29755127, 0.94756633 + + + + 1448 + + + -5.2638617, -2.0905313, 3.0 + -0.036807023, 0.0029777512, 0.63979125, 0.7676611 + + + + 1450 + + + -4.6295986, -2.7424474, 3.0 + -0.02970303, -0.053205043, 0.40018594, 0.91440594 + + + + 1452 + + Prop/General/Nature/Foliage/Leaf, plane 03 + + + -4.696636, -2.9434962, 3.0 + 0.0, 0.0, -0.049504906, 0.9987739 + + + + 1641 + + Prop/Knights/Escape Pod - Static, Closed + + + 13.53861, 25.916296, -0.21 + -0.009502418, -0.054329295, 0.14668079, 0.9876451 + + + + 2738 + + + -33.805, 36.95869, 9.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2739 + + + 1.5099995 + -29.538658, 36.3519, 6.0 + 0.0, 0.0, -0.34202006, 0.9396926 + + + + 2736 + + + 1.4599996 + -37.892387, 47.073082, 8.540024 + 0.0, 0.0, 0.53729963, 0.8433914 + + + + 2737 + + + 1.9499991 + -38.092506, 50.623627, 7.869974 + 0.0, 0.0, -0.99619466, 0.08715627 + + + + 2735 + + + 1.3399997 + -39.687553, 37.79607, 5.4799767 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 2734 + + + 1.9499991 + -39.94346, 42.58789, 4.869974 + 0.0, 0.0, 0.53729963, 0.8433914 + + + + 1657 + + + 9.0365095, 30.929398, 3.0 + -0.00360453, -0.05964946, 0.16752817, -0.9840545 + + + + 2733 + + + -31.5, 28.5, 6.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2732 + + + -32.609932, 32.91055, 9.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 1656 + + + 11.548756, 30.530264, 6.0 + 0.07490293, 0.033788834, 0.16470632, -0.9829139 + + + + 2731 + + + -32.5, 26.5, 6.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2730 + + + -37.765575, 30.215792, 6.0 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 2729 + + + 1.3399997 + -38.5, 34.5, 5.4799767 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 2728 + + + -42.481853, 31.814026, 6.0 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 1651 + + + 12.324024, 31.959352, 6.0 + 0.0, 0.0, 0.9659258, 0.258819 + + + + 2727 + + + -35.5, 26.5, 6.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2726 + + + 1.3399997 + -41.5, 27.5, 4.7699604 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 2725 + + + 0.5, 61.5, 12.0 + 0.0, 0.0, -0.53729963, -0.8433914 + + + + 2724 + + + 1.7299993 + 0.80321026, 53.91532, 9.0 + 0.0, 0.0, -0.6087613, 0.79335344 + + + + 1655 + + + 13.04294, 38.592552, 6.0 + 0.04957445, 0.04379914, 0.11717378, -0.99090576 + + + + 2723 + + + 0.9000001 + 0.3261156, 52.83026, 9.0 + 0.0, 0.0, 0.477159, 0.878817 + + + + 2722 + + + 0.34104633, 50.7597, 6.0 + 0.0, 0.0, 0.38268346, 0.9238795 + + + + 1653 + + + 1.1899998 + 12.918246, 31.217445, 5.1500034 + 0.0, 0.0, -1.0, 1.9470718E-7 + + + + 2721 + + + -3.5, 57.5, 12.0 + 0.0, 0.0, -0.53729963, -0.8433914 + + + + 1652 + + + 1.1499999 + 12.918246, 29.927462, 5.469988 + 0.0, 0.0, -1.0, 1.9470718E-7 + + + + 2720 + + + 1.5, 58.5, 12.0 + 0.0, 0.0, -0.53729963, -0.8433914 + + + + 2716 + + + -10.339761, 59.643707, 12.0 + -0.037290554, 0.005637915, -0.12008455, 0.9920471 + + + + 2717 + + + 1.15 + -12.313005, 60.49094, 11.99 + 0.031253386, -0.20554927, 0.14703563, 0.96703327 + + + + 2718 + + + -3.5, 60.5, 12.0 + 0.0, 0.0, 0.53729963, 0.8433914 + + + + 2719 + + + -7.5, 60.5, 12.0 + 0.0, 0.0, -0.53729963, -0.8433914 + + + + 2712 + + + 1.9499991 + 0.085861206, 67.34543, 3.3699741 + 0.13503061, -0.060119495, 0.903511, 0.40226898 + + + + 2713 + + + -8.5, 62.5, 12.0 + 0.0, 0.0, -0.53729963, -0.8433914 + + + + 2714 + + + -11.940201, 60.754692, 12.0 + -0.011885124, 0.009875761, -0.20840067, 0.9779214 + + + + 2715 + + + -11.724344, 59.517838, 12.0 + -0.062125728, 0.05544751, -0.07971643, 0.9933334 + + + + 2708 + + + -12.164709, 55.799374, 12.0 + -0.04734059, -0.02330259, -0.276641, 0.95952356 + + + + 1601 + + + 1.4299996 + 32.122936, 36.883663, 5.7600164 + 0.014382983, 0.009885141, 0.5663195, 0.82400095 + + + + 2709 + + + -10.566013, 57.088757, 12.0 + + + + 2710 + + + -9.167655, 53.821198, 12.0 + -0.034550395, -0.051082972, -0.22366874, 0.9727123 + + + + 2711 + + + 1.1599998 + -3.2669888, 64.0589, 10.289961 + 0.093301095, -0.14645337, 0.52913684, 0.8305784 + + + + 2705 + + + -3.370387, 42.9402, 6.0 + -0.06465864, -0.05060114, -0.03057164, 0.99615467 + + + + 2706 + + + -12.434733, 52.498535, 9.0 + -0.04351345, 0.017399646, -0.24950089, 0.9672399 + + + + 2707 + + + -11.888719, 51.651516, 9.0 + -0.031754117, -0.047927655, -0.038228128, 0.9976137 + + + + 1625 + + + 1.6099994 + 27.98787, 48.003483, 6.0600004 + 0.0143829845, 0.009885138, 0.56631947, 0.824001 + + + + 2700 + + + -8.5, 43.5, 6.0 + + + + 2697 + + + -8.5, 42.5, 6.0 + + + + 2696 + + + -8.489003, 42.033463, 6.0 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 2699 + + + -7.5, 44.5, 6.0 + -0.0, 0.0, 1.0, -4.371139E-8 + + + + 2698 + + + -7.5, 44.5, 6.0 + 0.0, 0.0, 1.0, 1.1924881E-8 + + + + 2693 + + + -11.5, 42.5, 6.0 + + + + 2692 + + + -6.5, 37.5, 3.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2689 + + Prop/Clockworks/Pipes, wall small/Height 3 - Iron, straight half-unit + + Color variant + Clockwork iron + + + + -8.5, 37.5, 3.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2688 + + Prop/Clockworks/Pipes, wall small/Height 3 - Iron, elbow-down L + + Color variant + Clockwork iron + + + + -7.5, 37.5, 3.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 1580 + + + 20.66221, 42.75924, 6.0 + 0.0, 0.0, -0.96592575, 0.2588194 + + + + 1581 + + + 27.324234, 34.07842, 6.0 + 0.0, 0.0, -0.9659258, 0.25881913 + + + + 1570 + + + 1.2499998 + -2.728421, 18.804668, 3.0 + 0.0, 0.0, 0.7071071, 0.7071064 + + + + 2807 + + + 27.526342, 5.4831734, 0.17000198 + 0.0, 0.0, -0.70710623, 0.70710737 + + + + 1569 + + + -1.8450747, 23.89204, 3.0 + 0.0, 0.0, -0.98480785, -0.17364754 + + + + 1599 + + + 1.4299996 + 29.364977, 32.1748, 6.0600233 + 0.016689816, 0.0051025813, 0.29232666, 0.9561593 + + + + 2795 + + + 6.8343544, 6.452524, -3.0 + 0.0, 0.0, -0.78424263, -0.62045425 + + + + 1598 + + + 1.4299996 + 29.433414, 42.85028, 6.2400274 + 0.016293215, -0.0062543876, -0.35831386, 0.93343806 + + + + 2794 + + + 6.6345844, 6.1799564, -3.0 + 0.0, 0.0, 0.17194152, -0.98510724 + + + + 1597 + + + 1.1299999 + 28.66616, 38.932373, 5.8400183 + 0.017340213, 0.0019756597, 0.11318547, 0.9934206 + + + + 1596 + + + 1.4299996 + 24.701088, 44.225906, 5.130002 + 0.0173986, 0.0013692916, 0.07844662, 0.99676555 + + + + 2798 + + + 9.5853, 8.024467, -3.52 + 0.0, 0.0, -0.59482276, 0.8038569 + + + + 2791 + + + 6.630539, 5.9289846, -3.0 + 0.0, 0.0, -0.20817441, -0.9780917 + + + + 2789 + + + 6.2908936, 5.766321, -3.0 + 0.0, 0.0, -0.47536808, -0.8797871 + + + + 1548 + + Model Tester + + Model + + world/dynamic/block/breakable/outershell/model.dat + + Variant + Normal + + + + + + 2.5, -6.5, 0.0 + + + + 1549 + + + 2.5, -7.5, 0.0 + + + + 1538 + + + 1.2099998 + 2.5342057, 14.938446, 0.020000193 + 0.0, 0.0, -0.7933532, 0.6087617 + + + + 1560 + + + -0.6793039, 27.75069, 3.0 + + + + 1563 + + + 9.660757, 30.279251, 3.0 + 0.0, 0.0, -0.9659258, -0.25881904 + + + + 2767 + + + -7.0, 40.0, 4.5 + + + + 1562 + + + 5.1089683, 31.453896, 3.0 + 0.0, 0.0, -0.9659258, -0.25881904 + + + + 2766 + + + 1.5099995 + 3.3558393, 31.691568, 6.0 + + + + 2615 + + + 1.1599998 + -20.844973, 41.633347, 6.0 + 0.0, 0.0, -0.60876125, 0.79335344 + + + + 1763 + + + -0.87203217, 25.695595, 3.0 + 0.0, 0.0, -0.6427876, -0.7660445 + + + + 2614 + + + -27.5, 47.5, 12.0 + 0.0, 0.0, -0.53729963, -0.8433914 + + + + 2613 + + + -25.5, 47.5, 12.0 + 0.0, 0.0, -0.53729963, -0.8433914 + + + + 2612 + + + -21.0, 40.0, 4.5 + + + + 2611 + + + -23.5, 37.5, 3.0 + + + + 2610 + + + -21.5, 35.5, 3.0 + 0.0, 0.0, -0.70710653, 0.707107 + + + + 2609 + + + 1.0699999 + -26.186962, 41.52964, 6.0 + 0.0, 0.0, -1.0, 3.1391647E-7 + + + + 2608 + + + 1.3999996 + -26.669203, 39.980705, 3.0 + 0.0, 0.0, 0.42261824, 0.9063078 + + + + 2623 + + + -17.5, 35.5, 3.0 + 0.0, 0.0, -0.7071069, -0.70710665 + + + + 2622 + + + -17.5, 34.5, 3.0 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + 1770 + + + 0.99999994 + 27.32969, 2.548237, -3.0 + 0.0, 0.0, -0.26723832, 0.9636305 + + + + 2620 + + + -19.5, 36.5, 3.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 1768 + + + -0.19677973, 28.068253, 3.0 + 0.0, 0.0, 0.30070567, 0.953717 + + + + 2619 + + + -20.5, 35.5, 3.0 + 0.0, 0.0, -0.7071069, -0.70710665 + + + + 2618 + + + -20.5, 36.5, 3.0 + 0.0, 0.0, -0.70710653, 0.707107 + + + + 2616 + + + -19.668781, 46.885998, 8.629992 + 0.0, 0.0, 3.019916E-7, 1.0 + + + + 2598 + + + 0.62000036 + -28.681114, 34.760582, 3.0 + 0.0, 0.0, 0.3007058, 0.95371693 + + + + 1776 + + Dynamic/Misc/Border/Border (End) + + + 0.5, -3.5, 0.0 + + + + 2597 + + + -28.173592, 35.246887, 3.0 + 0.0, 0.0, -0.21643959, 0.976296 + + + + 1777 + + Dynamic/Misc/Border/Border (Start) + + + 1.5, -3.5, 0.0 + + + + 2594 + + + 1.9499991 + -34.94346, 62.58789, 7.869974 + 0.0, 0.0, 0.53729963, 0.8433914 + + + + 2595 + + + 1.8599992 + -25.300112, 66.7596, 0.33991218 + 0.11737734, -0.074777685, 0.8351834, 0.532071 + + + + 2592 + + + -29.5, 58.5, 12.0 + 0.0, 0.0, 0.53729963, 0.8433914 + + + + 2593 + + + 1.47 + -28.923811, 64.45528, 6.199959 + 0.11400388, -0.07982641, 0.81118, 0.56799453 + + + + 2606 + + + -26.992424, 39.21106, 3.0 + 0.0, 0.0, 1.490116E-8, 1.0 + + + + 2607 + + + 1.5099995 + -27.844973, 41.633347, 6.0 + 0.0, 0.0, -0.60876125, 0.7933535 + + + + 2605 + + + 1.3999996 + -27.594553, 39.538662, 3.0 + 0.0, 0.0, -0.21643959, 0.976296 + + + + 2602 + + + -26.5, 34.5, 3.0 + 0.0, 0.0, -1.0, 1.1924881E-8 + + + + 2603 + + + -26.5, 33.5, 3.0 + 0.0, 0.0, -0.7071069, -0.70710665 + + + + 2600 + + + -28.5, 33.5, 3.0 + 0.0, 0.0, -0.7071069, -0.70710665 + + + + 2581 + + + -16.5, 29.5, 0.0 + + + + 2580 + + + -27.890009, 29.76, 3.0 + -0.03326852, -0.004853414, 0.017388886, 0.99928343 + + + + 2583 + + + -16.5, 32.5, 3.0 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 2582 + + + -16.5, 29.5, 0.19000001 + + + + 2577 + + + 10.5, 53.5, 9.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 2576 + + + 1.4599996 + 8.620237, 54.612736, 9.0 + 0.0, 0.0, 0.32556838, 0.9455185 + + + + 2579 + + + 7.5, 60.5, 12.0 + 0.0, 0.0, -0.53729963, -0.8433914 + + + + 2578 + + + 9.5, 53.5, 9.0 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + 2588 + + + -9.5, 32.5, 3.0 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 2591 + + + 0.9200001 + -29.457722, 39.818, 6.0 + 0.0, 0.0, 0.76040596, 0.64944804 + + + + 2590 + + + 1.2299998 + -29.283726, 37.155586, 6.0 + 0.0, 0.0, -0.7372773, 0.6755902 + + + + 2585 + + + -9.5, 29.5, 0.0 + + + + 2584 + + + -16.5, 32.5, 3.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2587 + + + -9.5, 32.5, 3.0 + + + + 2564 + + + 3.5, 54.5, 9.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2565 + + + 4.5, 54.5, 9.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2566 + + + 1.0999999 + 6.5397797, 54.692104, 9.0 + 0.0, 0.0, 0.99904823, 0.043619454 + + + + 2567 + + + 13.5, 55.5, 9.0 + 0.0, 0.0, 0.53729963, 0.8433914 + + + + 2560 + + + 4.5, 51.5, 6.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2561 + + Sounds/Positional/Sounder + + Gain + 0.75 + Label + Machinery + Pitch + 0.75 + Size + Medium + Sound File + sound/effect/world/elevator_ambient_mono.ogg + + + + 5.4699306, 51.280136, 6.720014 + + + + 2562 + + + 5.5, 49.5, 6.0 + + + + 2563 + + Prop/Clockworks/Pipes, wall small/Height 3 - Iron, elbow-down R + + Color variant + Clockwork iron + + + + 5.5, 51.5, 6.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2572 + + + 10.5, 50.5, 6.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2573 + + + 1.4599996 + 11.074169, 49.755028, 9.0 + 0.0, 0.0, 0.32556838, 0.9455185 + + + + 2574 + + + 9.5, 52.5, 9.0 + 0.0, 0.0, -0.7071069, -0.70710665 + + + + 2575 + + + 13.574191, 59.71101, 9.0 + 0.0, 0.0, 0.34202015, 0.9396926 + + + + 2568 + + + 9.07123, 49.786427, 6.0 + 0.0, 0.0, -0.38268337, 0.92387956 + + + + 2569 + + + 1.6499994 + 9.5, 50.5, 6.0 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 2570 + + + 7.5, 51.5, 6.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2571 + + + 8.0, 52.0, 7.0 + + + + 2675 + + + -9.5, 35.5, 3.0 + + + + 2674 + + + -9.500002, 34.5, 3.0 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 2673 + + + -9.5, 34.5, 3.0 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 2672 + + + -12.5, 33.5, 3.0 + 0.0, 0.0, -0.7071069, -0.70710665 + + + + 2679 + + + -9.5, 37.5, 3.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2678 + + + -8.5, 37.5, 3.0 + + + + 2677 + + + -11.0, 40.0, 4.5 + + + + 2676 + + + -9.5, 35.5, 3.0 + + + + 2680 + + + -9.5, 37.5, 3.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2685 + + + -8.5, 36.5, 3.0 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 2658 + + + -16.762499, 53.714615, 9.0 + -0.07250046, 0.07903764, 0.36785397, 0.92367756 + + + + 2659 + + Lights/Point Light + + Attenuation + + 0.15 + + Diffuse + 1.0, 0.3254902, 0.47058824, 1.0 + Extent + 6.0 + + + + -16.582787, 51.1726, 9.45 + 0.0, 0.0, -0.25881878, 0.9659259 + + + + 2656 + + + -16.912746, 52.92158, 9.0 + -0.05473452, 0.0045568515, 0.2509386, 0.9664436 + + + + 2657 + + + -19.324846, 55.43959, 12.0 + + + + 2662 + + + -13.300037, 53.717934, 9.0 + 0.0, 0.0, -0.2164395, 0.976296 + + + + 2663 + + + -18.62668, 58.60013, 12.0 + 0.0018242076, -0.035438597, 0.20816237, 0.9774503 + + + + 2660 + + + -13.35372, 53.108265, 9.0 + -0.05510073, 0.058516663, -0.17756115, 0.98082197 + + + + 2661 + + Character/Knight/Crew, general + + Actor + + Character/NPC/Rescue Camp/Warning + + + + + -14.043341, 52.741463, 9.0 + 0.0, 0.0, -0.21643944, 0.97629607 + + + + 2666 + + + -19.5, 61.5, 12.0 + 0.0, 0.0, -0.53729963, -0.8433914 + + + + 2667 + + + -18.080214, 60.431313, 12.0 + 0.0, 0.0, 0.25881928, 0.96592575 + + + + 2664 + + + -18.402792, 59.247932, 12.0 + -0.028692357, 0.013575682, 0.36841738, 0.92911845 + + + + 2665 + + + -19.816168, 57.553032, 12.0 + 4.93431E-4, -0.07112537, 0.046814777, 0.996368 + + + + 2670 + + + -12.5, 34.5, 3.0 + 0.0, 0.0, -0.70710653, 0.707107 + + + + 2671 + + + -11.5, 34.5, 3.0 + 0.0, 0.0, -0.7071069, -0.70710665 + + + + 2668 + + + -14.775698, 61.246437, 12.0 + -0.0429371, 0.023031445, 0.038655143, 0.998064 + + + + 2641 + + + -13.5, 33.5, 3.0 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 2640 + + + -16.5, 35.5, 3.0 + 0.0, 0.0, -1.0, -4.371139E-8 + + + + 2643 + + + -13.5, 37.5, 3.0 + + + + 1670 + + + -0.16779077, 24.213722, 3.0 + -0.01666618, -0.026191607, 0.2438248, 0.96932226 + + + + 2645 + + + -17.01444, 46.432423, 9.0 + -0.012356232, 0.022445165, -0.0034632003, 0.9996657 + + + + 1665 + + + 0.8200002 + 1.2852094, 27.93834, 3.1 + -0.059775382, -0.028247051, 0.28053984, 0.95756274 + + + + 1664 + + + 1.8505259, 28.644485, 3.0 + 0.04772583, 0.035389956, -0.1317802, -0.9894967 + + + + 2647 + + + -16.058336, 45.70642, 9.0 + -0.050569367, 0.06426626, -0.004337799, 0.9966413 + + + + 2646 + + + 1.2999997 + -16.057384, 41.690556, 6.0 + 0.0, 0.0, 0.75470954, 0.656059 + + + + 1666 + + + -0.16739583, 27.196348, 3.0 + 0.0434941, -0.026698936, -0.27518153, -0.9600368 + + + + 2649 + + + -13.0633545, 46.337227, 9.0 + 0.007490382, 0.047603983, -0.21275967, 0.9759155 + + + + 2648 + + + -13.9142, 46.012074, 9.0 + -0.068657786, 0.006369802, -0.012279313, 0.99754435 + + + + 1676 + + + -1.5820189, 18.523687, 3.0 + -0.048706677, 0.048672672, 0.11388982, 0.9911043 + + + + 2651 + + + -24.5, 58.5, 12.0 + 0.0, 0.0, -0.53729963, -0.8433914 + + + + 2650 + + + -13.871397, 46.7061, 9.0 + -0.010813892, -0.0062624607, -0.037776478, 0.99920803 + + + + 2653 + + + 1.6499994 + -21.326622, 65.17167, 4.8699284 + 0.10260913, -0.09402397, 0.73010206, 0.6690155 + + + + 1673 + + + -1.8500936, 16.822004, 3.0 + -0.025042623, 0.01597835, 0.2664528, 0.96339 + + + + 2652 + + + -25.5, 54.5, 12.0 + 0.0, 0.0, -0.53729963, -0.8433914 + + + + 1672 + + + -0.9038086, 15.923444, 3.0 + -0.014000583, -0.015900262, 0.03259607, 0.99924403 + + + + 2655 + + + -16.997187, 50.775955, 9.0 + 0.0, 0.0, 0.5000001, 0.8660253 + + + + 1675 + + + -0.51353955, 16.459667, 3.0 + -0.015739879, -0.07302377, 0.13138275, 0.9885132 + + + + 2654 + + + -20.5, 59.5, 12.0 + 0.0, 0.0, -0.53729963, -0.8433914 + + + + 1674 + + + -1.1316999, 16.650593, 3.0 + -0.029060354, -0.0054879147, 0.34374014, 0.93859905 + + + + 2624 + + + -18.5, 36.5, 3.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2625 + + + -18.5, 35.5, 3.0 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 2627 + + + -19.5, 37.5, 3.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2628 + + + -19.5, 37.5, 3.0 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 2629 + + + -18.5, 37.5, 3.0 + + + + 2630 + + Prop/Clockworks/Pipes, wall small/Height 1 - Iron, straight x1 + + Color variant + Clockwork iron + + + + -19.5, 37.5, 3.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2631 + + Prop/Clockworks/Pipes, wall small/Height 3 - Iron, straight x1 + + Color variant + Clockwork iron + + + + -18.5, 37.5, 3.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2632 + + + -18.5, 37.5, 3.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 2633 + + + -18.5, 37.5, 3.0 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 2634 + + + -17.5, 37.5, 3.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2635 + + + -17.0, 40.0, 4.5 + + + + 2636 + + + 1.5200002 + -18.5, 40.59999, 6.1200027 + + + + 1688 + + Prop/General/Nature/Foliage/Variants - Haven/Ivy vine, Haven 02 + + + 4.5, 26.5, 3.0 + 0.0, 0.0, -0.887203, 0.46137932 + + + + 2637 + + + -16.5, 33.5, 3.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 2638 + + + -15.5, 34.5, 3.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 1690 + + + 6.5, 26.5, 3.0 + 0.0, 0.0, -0.9980552, 0.0623359 + + + + 2639 + + + -16.5, 34.5, 3.0 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 1913 + + + 2.4477496, -4.8550014, 0.0 + 0.0, 0.0, 0.99939084, 0.03489946 + + + + 1915 + + Lights/Point Light + + Attenuation + + 0.2 + + Diffuse + 1.0, 0.3254902, 0.47058824, 1.0 + Extent + 4.0 + + + + 1.4309342, -4.7103996, 0.19000003 + 0.0, 0.0, -0.25881878, 0.9659259 + + + + 1917 + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, small 1 + + Texture File + world/prop/generic/plants/grass.png + + + + 2.6367831, -2.7655358, 0.0 + -0.016708795, -0.05860431, 0.050095625, 0.9968836 + + + + 2977 + + Model Tester + + Model + + world/tileset/clockworks/fence/fence_low.dat + + Model + fence_low_corner + + + + + + -6.0, 37.0, 3.0 + + + + 1888 + + Sounds/Positional/Sounder + + Gain + 1.0 + Label + Machinery + Pitch + 0.6 + Range + Medium + Size + Large + Sound File + sound/effect/world/elevator_ambient_mono.ogg + + + + 16.639935, 32.210022, 3.0 + + + + 1890 + + + 5.438644, 9.208172, 0.0 + 0.0, 0.0, 0.8870109, 0.46174848 + + + + 2999 + + + -13.5, 37.5, 3.0 + + + + 1882 + + Sounds/Positional/Nature/Fire crackle, heavy + + Label + Fire crackle, heavy + Range + Medium + Size + Medium + + + + 16.27344, 21.026337, 0.76999956 + + + + 2949 + + + -11.0, 52.0, 7.0 + + + + 1872 + + + 0.6900003 + -3.896737, 0.9451462, 3.1599998 + -0.085216716, 0.11242817, 0.42916572, 0.8921406 + + + + 1876 + + + 16.5, 22.339813, 2.6899974 + 0.0, 0.0, -0.70710623, 0.70710737 + + + + 1866 + + + -0.8460038, 14.6663475, 3.0 + 0.01148038, -0.038384374, 0.28749323, 0.9569444 + + + + 1867 + + + -1.9587877, 14.448561, 3.0 + 2.9011117E-4, -0.045450024, 0.15161976, 0.9873934 + + + + 1864 + + + 1.4299996 + -15.9714985, 17.60264, 4.7600164 + 0.016817665, -0.0046639508, -0.26719764, 0.9634837 + + + + 1870 + + + 0.8100002 + -1.743352, 13.432132, 3.0 + 0.01148038, -0.038384374, 0.28749323, 0.9569444 + + + + 1871 + + + 0.9000001 + -2.8685148, 14.423938, 3.0 + -0.029060356, -0.0054879137, 0.34374014, 0.93859905 + + + + 1869 + + + -4.2269573, 12.546396, 3.0 + -0.029060356, -0.005487914, 0.34374014, 0.93859905 + + + + 1862 + + + 1.4299996 + -8.91262, 15.338758, 4.7600164 + 0.013752678, -0.010744771, -0.6155677, 0.7878908 + + + + 1863 + + + 1.8299992 + -14.75749, 11.754656, 3.0 + 0.0174524, 0.0, 0.0, 0.9998477 + + + + 2963 + + + -0.91096014, 49.885963, 6.0 + 0.0, 0.0, -0.13917306, 0.99026805 + + + + 1853 + + + 15.5, 4.5, -3.0 + 0.0, 0.0, -1.0, -3.3776624E-7 + + + + 1852 + + + 13.5, 3.5, -3.0 + 0.0, 0.0, -0.7071063, -0.70710725 + + + + 1854 + + + 14.5, 3.5, -3.0 + 0.0, 0.0, 0.707107, -0.70710653 + + + + 1851 + + + 14.5, 2.5, -3.0 + 0.0, 0.0, 2.3849761E-8, -1.0 + + + + 3055 + + Prop/General/Nature/Foliage/Variants - Haven/Leaves, Haven 04 + + + -7.0435057, 34.00946, 8.42 + 0.25613773, 0.10946675, 0.22853562, 0.93283546 + + + + 3041 + + + -9.0, 35.0, 3.0 + + + + 1844 + + + 12.5, 3.5, -3.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 1841 + + + 16.5, 5.5, -3.0 + 0.0, 0.0, 1.0, 1.1924881E-8 + + + + 3045 + + Prop/General/Nature/Foliage/Variants - Haven/Vine, hanging 02 + + Darkness adjust + Default + + + + -5.571207, 34.612934, 5.5499997 + 0.0, 0.0, 0.34202006, 0.9396926 + + + + 1840 + + + 16.5, 12.5, 0.0 + 0.0, 0.0, -0.7071063, -0.70710725 + + + + 1843 + + + 15.5, 3.5, -3.0 + 0.0, 0.0, -0.70710677, -0.70710677 + + + + 1842 + + + 15.5, 5.5, -3.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 1836 + + + 17.5, 12.5, 0.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 1837 + + + 17.5, 11.5, 0.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 3065 + + Prop/Haven/Arcade/Static Gate Monitor + + Colorizations + + + 2 + + -0.566 + -0.165 + + + + 3 + + -0.554 + 0.338 + -0.62 + + + + Icon + ui/icon/gate/pawn.png + + + + 2.0, 48.0, 6.0 + + + + 1838 + + + 16.5, 11.5, 0.0 + 0.0, 0.0, 0.7071069, -0.70710665 + + + + 1839 + + + 15.5, 12.5, 0.0 + 0.0, 0.0, -1.7484555E-7, 1.0 + + + + 1832 + + + 18.5, 13.5, 0.0 + 0.0, 0.0, -1.0, 6.636076E-7 + + + + 1833 + + + 18.5, 12.5, 0.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 3070 + + Lights/Point Light + + Attenuation + + 0.5 + + Diffuse + 1.0, 0.8, 0.2, 1.0 + Extent + 4.0 + + + + 0.72878075, 38.44881, 6.5 + 0.0, 0.0, -0.25881878, 0.9659259 + + + + 1835 + + + 18.5, 14.5, 0.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 3071 + + + -0.80738115, 34.07725, 6.170002 + 0.0, 0.0, -0.70710623, 0.70710737 + + + + 1828 + + + 21.5, 14.5, 0.0 + 0.0, 0.0, -0.7071069, -0.70710665 + + + + 1829 + + + 21.5, 15.5, 0.0 + 0.0, 0.0, 0.7071063, -0.70710725 + + + + 1831 + + + 20.5, 14.5, 0.0 + 0.0, 0.0, 0.7071063, -0.70710725 + + + + 1824 + + + 15.890905, -9.7532015, -4.279949 + 0.0, 0.0, -0.21643959, 0.976296 + + + + 3061 + + + -7.5328774, 33.39805, 6.5 + + + + 1823 + + + 1.3899996 + 8.439268, -8.318361, -7.7000275 + 0.0, 0.0, -0.34202018, 0.9396926 + + + + 1822 + + + 3.573441, -1.2896895, 0.0 + 0.07237033, -0.0055657057, 0.15254243, 0.9856279 + + + + 1821 + + + 27.600752, 14.574846, 3.0 + 0.0, 0.0, -0.77714586, -0.6293205 + + + + 3017 + + + 1.6499994 + -9.085644, 47.02891, 6.0 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 3021 + + Character/Knight/Crew, general + + Actor + + Character/NPC/Rescue Camp/Sleepy + + + + + -8.979084, 44.81686, 6.0 + 0.0, 0.0, 0.25881904, 0.9659259 + + + + 3020 + + + -9.345576, 46.069473, 6.0 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 3011 + + + 1.5200002 + -8.5, 40.59999, 6.1200027 + + + + 3009 + + + -23.5, 37.5, 3.0 + + + + 1807 + + Model Tester + + Model + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + model/conditional/marker.dat + + Model + + editor/marker/vertex/model.dat + + + + + + + particle/ambient_smokeplume.dat + + + + + + + + + 20.5, 32.5, 9.0 + 0.0, 0.0, -0.70710623, 0.7071073 + + + + 3035 + + + 0.32257104, 49.42774, 6.0 + 0.0, 0.0, -0.8910065, 0.45399052 + + + + 1798 + + + 2.2199998 + 24.554077, 16.689001, 1.950001 + 0.0, 0.0, -0.649448, 0.760406 + + + + 3026 + + + 1.7199993 + -10.241211, 46.588776, 6.0 + 0.0, 0.0, 0.38268346, 0.9238795 + + + + 1799 + + + 0.83000016 + 24.18927, 18.193495, 3.0 + 0.0, 0.0, 0.93969256, 0.34202027 + + + + 1796 + + + 1.2099998 + 24.77662, 18.802145, 3.0 + 0.0, 0.0, 0.01745227, 0.9998477 + + + + 1794 + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, single 1 + + + 0.65000033 + 0.13701783, 23.751076, 3.11 + -0.025569296, 0.12385082, 0.18515168, 0.97453886 + + + + 3031 + + + -7.5068803, 46.235214, 6.0 + 0.0, 0.0, -2.3841856E-7, 1.0 + + + + 3029 + + + -7.4999967, 46.500004, 6.0 + 0.0, 0.0, 1.0, 3.5762787E-7 + + + + 957 + + + -0.66459745, 9.245003, -0.35999992 + 0.047468416, -0.07309495, 0.54256654, 0.8354792 + + + + 2848 + + Character/Knight/Crew, general + + Actor + + Character/NPC/Rescue Camp/Soil + + + + + 2.1489365, 26.713345, 3.0 + 0.0, 0.0, -0.9537169, 0.30070603 + + + + 2860 + + Prop/General/Nature/Foliage/Leaf, plane 02 + + + -4.348531, 31.365215, 6.0 + 0.0, 0.0, -0.7097204, -0.70448345 + + + + 949 + + + 0.805547, 12.556335, 0.0 + -0.027890792, -0.013310502, 0.1366762, 0.9901336 + + + + 944 + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, large 2 + + Texture File + world/prop/generic/plants/grass.png + + + + 1.14 + 6.4757576, 15.581522, 0.0 + -0.040436257, -0.030225644, 0.011971197, 0.9986531 + + + + 2857 + + + -4.8682146, 31.221577, 6.0 + 0.0, 0.0, 0.8994388, -0.43704683 + + + + 2858 + + + -4.54387, 31.824448, 6.0 + 0.0, 0.0, -0.789638, -0.61357313 + + + + 946 + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, large 1 + + Texture File + world/prop/generic/plants/grass.png + + + + 0.85000014 + 3.1547544, 15.362887, 0.0 + -0.022852812, 0.044869903, 0.036542248, 0.9980627 + + + + 2859 + + + -4.914138, 31.67524, 6.0 + 0.0, 0.0, -0.35279468, -0.93570083 + + + + 947 + + + 4.6277876, 15.291878, 0.0 + -0.001387997, 0.032492988, 0.03300701, 0.9989258 + + + + 2869 + + + 13.5, 7.5, -3.0 + + + + 2017 + + Dynamic/Portal/Level Start + + Default Entrance + true + + + + 0.5, -0.5, 0.0 + + + + 2868 + + + 6.5, 2.5, -3.0 + + + + 2016 + + + 0.74000025 + 19.362001, 24.226, 0.0 + 0.0, 0.0, -0.4771587, 0.87881714 + + + + 2871 + + + 10.5, 7.5, -3.0 + + + + 2870 + + + 12.5, 7.5, -3.0 + + + + 2867 + + + 6.5, 3.5, -3.0 + + + + 939 + + + 0.5, -3.5, 0.0 + + + + 2866 + + + -3.1314304, 31.973495, 6.0 + -0.014725065, 0.04145213, -0.002701238, 0.9990284 + + + + 938 + + + 1.5, -3.5, 0.0 + + + + 2879 + + + -4.5, 21.5, 6.0 + 0.0, 0.0, -0.5735774, 0.81915134 + + + + 935 + + + 2.5, -3.5, 0.0 + + + + 2027 + + + 15.369999, 26.44, 0.0 + 0.0, 0.0, -0.13917309, 0.99026805 + + + + 928 + + + -1.2511563, -5.252814, 0.0 + -0.067098625, -0.07763212, -0.007677979, 0.9946919 + + + + 2031 + + + 2.4 + 17.48, 26.350012, 0.0 + 0.0, 0.0, -0.25881904, 0.9659258 + + + + 2030 + + + 2.4 + 15.0, 26.8, 0.0 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 2002 + + + 0.75000024 + 16.599287, 22.057556, -0.11 + 0.12164199, 0.007439925, -0.9906948, 0.060593344 + + + + 2003 + + + 0.52 + 16.045662, 22.1726, 0.0 + 0.0, 0.0, -0.5372997, 0.8433914 + + + + 2000 + + + 0.5900004 + 17.141996, 21.863546, 0.07999998 + -0.11685068, 0.034612764, 0.9516728, 0.28189844 + + + + 925 + + + -0.5, -4.5, 0.0 + -0.01946679, -0.043166883, 0.0013241279, 0.9988773 + + + + 2001 + + + 0.52 + 15.446112, 22.00602, -0.18 + 0.0, 0.0, -2.235174E-8, 1.0 + + + + 2830 + + + 0.75000024 + 8.002741, 5.1348724, -3.0 + 0.0, 0.0, -0.89879405, 0.43837115 + + + + 918 + + Camera + + Coords + 0.0, 0.7853982, 9.99 + FOV + 1.0471976 + Far + 250.0 + Near + 1.0 + + + + + 2831 + + + 0.8200002 + 7.308605, 4.9214, -3.0 + 0.0, 0.0, 0.06975654, 0.997564 + + + + 2011 + + Prop/Sky Islands, Day/Natural/Log (sml) + + + 20.300838, 18.551516, 0.0 + 0.0, 0.0, 0.5, 0.8660254 + + + + 2828 + + + 1.3299997 + 6.3865633, 5.4053707, -3.0 + 0.0, 0.0, 0.6427876, 0.7660445 + + + + 2008 + + Model Tester + + Model + + model/compound/model.dat + + Influences + + false + false + false + false + + Models + + + + model/conditional/marker.dat + + Model + + editor/marker/vertex/model.dat + + + + + 0.0, 0.0, 3.2099974 + + + + + world/environment/shadow/decal.dat + + Color + 0.0, 0.12156863, 0.29411766, 0.5500004 + + Size + 3.67 + Texture + particle/texture/circle.png + + + + + + + + + + 16.383999, 20.91621, 0.0 + + + + 2829 + + + 1.3299997 + 6.9765873, 8.145735, -3.0 + 0.0, 0.0, 0.6427876, 0.7660445 + + + + 917 + + Environment/Shadow Color + + Color + 0.0, 0.078431375, 0.16078432, 0.4 + + + + + 2009 + + + 0.42000055 + 17.142756, 19.60864, -0.050000012 + -0.052049305, -0.005470596, -0.99315894, 0.10438505 + + + + 2014 + + + 0.53000045 + 12.605788, 25.23352, 0.0 + 0.0, 0.0, -0.19080892, 0.9816272 + + + + 915 + + Environment/Music + + File + sound/music/subtown_1.ogg + Gain + 0.45 + + + + + 2015 + + + 0.64000034 + 14.612385, 25.460537, 0.0 + 0.0, 0.0, -0.1045284, 0.9945219 + + + + 912 + + Environment/Ambient + + Color + 0.0, 0.35686275, 0.5686275, 1.0 + + + + + 2012 + + Prop/Sky Islands, Day/Natural/Log (med) + + + 19.864408, 18.604897, 0.0 + 0.0, 0.0, 0.3826834, 0.92387956 + + + + 2825 + + + 14.5, 1.5, -0.5 + + + + 2013 + + + 0.8800001 + 20.137024, 18.446457, 0.36999992 + -0.024501657, 0.11051984, 0.21504828, 0.97002023 + + + + 2838 + + Prop/Haven/Tarp/Rope/Rope Stitch + + + 8.486395, 6.641184, -3.68 + 9.290315E-4, 0.04447078, -0.21585375, 0.975412 + + + + 1986 + + Prop/Knights/Static NPC + + Model + + character/npc/crew/model.dat + + Animation + + character/pc/emotes/animation_sit-loop.dat + + Helmet + Hood + + + + + + 12.852219, 21.51595, 0.0 + 0.0, 0.0, 0.6755901, 0.73727745 + + + + 2837 + + Prop/Haven/Tarp/Posts/Post, 2.5 units + + + 0.72 + 9.672465, 4.780298, -3.0 + 0.010010288, -0.014296172, 0.5734891, 0.8190273 + + + + 909 + + Environment/Background Color + + Color + 0.0, 0.12156863, 0.20392157, 1.0 + + + + + 1985 + + Prop/Knights/Static NPC + + Model + + character/npc/crew/model.dat + + Animation + + character/pc/emotes/animation_sit-loop.dat + + Helmet + Pig Nose + + + + + + 18.107933, 24.0074, 0.0 + 0.0, 0.0, -0.25881904, 0.9659258 + + + + 2836 + + + 0.72 + 10.119646, 5.979685, -3.0 + -0.010010289, 0.014296174, 0.5734891, 0.8190273 + + + + 1984 + + Character/Knight/Crew, general + + Actor + + Character/NPC/Rescue Camp/Bombs + + + + + 25.109184, 11.4274235, 0.0 + 0.0, 0.0, -0.38268337, 0.92387956 + + + + 1991 + + + 0.75000024 + 16.635998, 19.644772, 0.009999985 + 0.036755495, 0.10720957, -0.9647221, 0.23762648 + + + + 2834 + + Prop/Knights/Escape Pod - Static, No Door-hatch + + + 7.8351526, 6.170538, -3.22 + 0.0, 0.0, 0.57357645, 0.81915206 + + + + 1990 + + + 0.6700003 + 15.413838, 19.9237, 0.0 + 0.0, 0.0, 0.9876883, 0.15643471 + + + + 2833 + + + 8.03835, 5.410185, -3.68 + 0.017952178, 0.040696844, -0.21659696, 0.97524726 + + + + 2832 + + Prop/Haven/Tarp/Tarp 2x2 02 + + Color 1 + 1294 + Color 2 + 1550 + + + + 0.87 + 9.488866, 5.0769863, -3.34 + 0.0, 0.0, 0.57357645, 0.81915206 + + + + 1988 + + + 0.6000004 + 16.000067, 19.619957, 0.0 + 0.0, 0.0, 0.46174854, 0.8870109 + + + + 1995 + + + 0.6000004 + 14.941706, 20.947624, 0.0 + 0.0, 0.0, 0.6427874, 0.7660446 + + + + 2846 + + + 0.96 + 6.0040827, 3.0331445, -2.82 + 0.0, 0.0, 0.6156613, 0.78801084 + + + + 1994 + + + 0.6700003 + 15.052032, 20.426311, -0.14999998 + -0.08382009, -0.19099663, 0.92589724, 0.3149743 + + + + 1993 + + + 0.52 + 17.197767, 20.039, 0.0 + 0.0, 0.0, 0.043619365, 0.99904823 + + + + 2844 + + + 0.96 + 6.7995358, 4.067958, -2.82 + 0.0, 0.0, -0.33380687, 0.9426414 + + + + 1999 + + + 0.83 + 15.163709, 21.498201, -0.25000003 + 0.0, 0.0, 0.30070555, 0.95371705 + + + + 1998 + + + 0.66999984 + 17.764341, 20.835972, 0.0 + 0.0, 0.0, -0.19936793, 0.9799247 + + + + 1997 + + + 0.75000024 + 17.558916, 21.39053, -0.07000001 + -0.07031207, -0.12602115, -0.9870571, 0.06995048 + + + + 2840 + + Prop/Gremlin/Toolbox + + + 0.83 + 13.002596, 7.0589485, -3.0 + 0.0, 0.0, 0.21643959, 0.976296 + + + + 1996 + + + 0.52 + 17.596485, 20.375957, 0.0 + 0.0, 0.0, -0.17364821, 0.9848077 + + + + 1017 + + + 26.291105, -4.7723074, -5.849985 + 0.1478094, 0.0, 0.0, 0.9890159 + + + + 1018 + + + 20.018858, -5.7509375, -6.5 + + + + 1970 + + + 0.83 + 12.208029, 20.345438, 0.0 + 0.0, 0.0, 0.21643959, 0.976296 + + + + 2925 + + + 9.336365, 43.79466, 6.0 + 0.0, 0.0, 0.7313536, 0.68199855 + + + + 1014 + + + 12.414139, -10.132263, -4.0 + + + + 2927 + + + 11.5, 43.5, 6.0 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 1015 + + + 1.2299998 + 18.020319, -6.9962244, -4.7300167 + + + + 1957 + + Lights/Point Light + + Attenuation + + 0.5 + + Diffuse + 0.8, 0.8, 1.0, 1.0 + Extent + 4.0 + + + + 0.382446, 6.274267, 0.0 + 0.0, 0.0, -0.25881878, 0.9659259 + + + + 1001 + + + 12.132718, 22.475311, -0.68 + 9.290315E-4, 0.04447078, -0.21585375, 0.975412 + + + + 1000 + + + 0.72 + 13.765969, 21.813812, 0.0 + -0.010010289, 0.014296174, 0.5734891, 0.8190273 + + + + 2930 + + + 14.1555805, 42.53152, 6.0 + 0.0, 0.0, 0.9659258, 0.2588192 + + + + 1958 + + Lights/Point Light + + Attenuation + + 0.5 + + Diffuse + 0.8, 0.6, 0.0, 1.0 + Extent + 5.0 + + + + 2.382446, 26.274267, 3.5 + 0.0, 0.0, -0.25881878, 0.9659259 + + + + 2932 + + + 14.282298, 52.011482, 9.0 + 0.0, 0.0, 0.53729963, 0.8433914 + + + + 1004 + + Prop/Gremlin/Tool, shovel + + Preset position + Upright 1 + + + + 16.348814, 25.863953, -0.14999993 + -0.12495859, 0.14188589, -0.076018885, 0.9790173 + + + + 2934 + + + 1.6099994 + 17.094881, 50.066074, 7.93 + 0.012554203, 0.012123456, 0.6945526, 0.71923023 + + + + 993 + + + 18.06035, 25.275156, -0.68 + 0.042133175, 0.014258654, -0.8653585, 0.4991755 + + + + 992 + + + 18.83552, 25.411312, -0.22 + 0.0, 0.0, -0.2164396, 0.976296 + + + + 995 + + + 19.247612, 24.721527, -0.68 + 0.033414945, 0.029359069, -0.86497784, 0.49983475 + + + + 1966 + + + 0.84000003 + 2.5826602, 27.584553, 2.84 + -0.06089983, 0.06962636, 0.0042585307, 0.9957034 + + + + 994 + + + 0.72 + 18.446283, 23.152145, 0.0 + 0.0037773917, 0.017038714, -0.21640664, 0.97614735 + + + + 2941 + + Sounds/Positional/Sounder + + Gain + 1.0 + Label + Machinery + Pitch + 0.6 + Size + Large + Sound File + sound/effect/world/elevator_ambient_mono.ogg + + + + -8.530069, 37.290092, 4.720014 + + + + 1961 + + + 5.1582355, 9.581282, 0.19000003 + 0.0, 0.0, -0.25881878, 0.9659259 + + + + 997 + + + 0.87 + 13.135189, 20.911114, -0.34 + 0.0, 0.0, 0.57357645, 0.81915206 + + + + 996 + + + 0.72 + 13.318789, 20.614426, 0.0 + 0.010010288, -0.014296172, 0.5734891, 0.8190273 + + + + 999 + + + 11.684673, 21.244312, -0.68 + 0.017952178, 0.040696844, -0.21659696, 0.97524726 + + + + 998 + + + 11.481476, 22.004665, -0.22 + 0.0, 0.0, 0.57357645, 0.81915206 + + + + 990 + + + 0.72 + 17.290438, 23.702158, 0.0 + -0.0037773915, -0.017038712, -0.21640664, 0.97614735 + + + + 991 + + Prop/Haven/Tarp/Tarp 2x2 02 + + Color 1 + 1281 + Color 2 + 1537 + + + + 0.87 + 17.601997, 23.8592, -0.34 + 0.0, 0.0, -0.21643959, 0.976296 + + + + 968 + + + 20.507412, 20.16784, -0.13 + -0.023577757, 0.025730606, -0.7368282, 0.67517865 + + + + 1923 + + Prop/Haven/Snipe, Static/Snipe, Low Res + + Color 1 + 1289 + + + + 13.840031, 28.61, 6.1100025 + 0.26334882, -0.002604764, 0.18910347, 0.9459812 + + + + 1922 + + Prop/Knights/Camp Bonfire + + + 16.174143, 20.988594, 0.0 + + + + 967 + + + 20.532034, 23.540142, -0.21 + 0.0, 0.0, -0.5, 0.8660254 + + + + + \ No newline at end of file diff --git a/scenes/46.xml b/scenes/46.xml new file mode 100644 index 0000000..4a43c60 --- /dev/null +++ b/scenes/46.xml @@ -0,0 +1,7174 @@ + + + + + + + + + + + + -4, 9 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7995387, 8126456, 7995384, -1, -1, -1, -1, -1, 8257531, 8323064, 8257528, 8126456, 8388600, 8388600, 8126456, -1, 8454138, 8454138, 8454138, 8519674, 8585210, 8650746, 65529, -1, 8716280, 8781816, 8847352, 8912888, 8978424, 9043960, -1 + + -5, 9 + + + -1, -1, 8126459, 8519673, 9109496, 9175035, 9109496, 8126457, -1, -1, 8126459, 9175033, 9043960, 8650747, 8257529, 7995385, -1, -1, 8126459, 131064, -1, -1, 8126457, -1, -1, -1, 9240571, -1, -1, -1, 9306105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9371640, 9371640, 9437179, 9502713, 9568251, 9633787, 9437176, 9240568, 9699320, 9764858, 9633786, 9830394, 9895931, 9830395, 9961466, 65529, 9764858, 9830394, 10027000, 10027000, 10092537, 10158075, 10027003, -1 + + -6, 9 + + + -1, -1, -1, 10158096, 10289145, 10354681, -1, -1, -1, 10158096, 10354704, 10158096, 10485753, 10551289, -1, -1, -1, 10354704, 10551312, -1, 10682361, 10551289, -1, -1, -1, 10158096, -1, -1, 10289145, 10354681, -1, -1, -1, 10551312, -1, 10158096, 10289145, 9371641, -1, -1, -1, -1, -1, 10354704, 10747897, 9437176, 9371640, 10354680, -1, 10551312, -1, 10158096, 10813432, 10485752, 10485752, 10878968, -1, -1, -1, 10551312, -1, 10158096, 10158096, 10485753 + + -7, 9 + + + -1, -1, -1, -1, -1, 10354683, 10289147, -1, -1, -1, -1, -1, -1, 10551291, 10485755, 10551312, -1, -1, -1, -1, -1, 9371643, 10289147, -1, -1, -1, -1, -1, -1, 10354683, 10289147, 10551312, -1, -1, -1, -1, -1, 10551291, 10944507, -1, -1, -1, -1, -1, -1, 10354683, 10289147, 10551312, -1, -1, -1, -1, -1, 9371643, 10747899, -1, -1, -1, -1, -1, -1, 9371643, 10682363, 10551312 + + 0, 9 + + + 8323064, 8650747, 8126457, -1, -1, -1, 11010043, -1, 8323064, 8519675, 8126457, -1, -1, -1, 11010043, 11075576, 9043960, 8454139, 8126457, -1, -1, -1, 9371643, 10485755, 8650744, 11141112, 8126457, -1, -1, -1, 10354683, 11206651, 11272186, 11272186, 7995385, -1, -1, -1, 9371643, -1, -1, -1, -1, -1, -1, -1, 10551291, 10944507, -1, -1, -1, -1, -1, -1, 10354683, 10878970, -1, -1, -1, -1, -1, -1, 11010043, 11337720 + + -1, 9 + + + 9699321, 9633787, 9437176, 9240568, -1, 11403256, 8257531, 8454137, 9699322, 9830395, 9961466, 11468794, 8454138, 8454138, 8650746, 11534330, 10092536, 9699321, 9699323, 9699322, 9109496, 8323064, 8323064, 8912888, 11599864, 9633784, 11599864, 11599864, 8454136, 8650744, 8585208, 8454136, -1, 10878968, 9437177, 9306106, -1, 11665402, 11665402, 11665402, -1, 11730937, 10551289, -1, -1, -1, -1, -1, -1, -1, 9371641, -1, -1, -1, -1, -1, -1, 10747897, 10354681, -1, -1, -1, -1, -1 + + -2, 9 + + + 9240570, -1, 9437178, 9633785, 10027003, 8912888, 8912888, 8781816, 7995384, -1, 10354683, 9961465, 10092539, 11796472, 8781816, 8781816, 11862009, -1, 10354683, 9502713, 9699323, 8847352, 8847352, 8716280, 7995385, -1, 10354683, 9764857, 9961464, 9961464, 9502712, 11599864, -1, -1, 9371643, 10878971, 11927544, 11993080, -1, 12058616, 12124155, 9371640, 9437179, 10944507, 10354704, 10551312, -1, 10551312, 10551291, 10878971, 11927544, 12189688, 10158096, -1, -1, -1, 10551291, 10747899, 10354704, 10551312, -1, 10551312, -1, 10551312 + + -3, 9 + + + -1, 8126459, 8585209, 8912888, 9175035, 8257529, 12255226, 11272186, -1, 8126459, 12320761, 8716280, 9175035, 8388601, 7995387, 8126456, -1, 12386299, 8519673, 8912888, 9175035, 12451833, 8126459, 8781816, -1, -1, 12320761, 8912888, 8650747, -1, 7995386, 11272186, -1, -1, 8650745, 8716280, 8454139, 8126457, -1, -1, 8126456, 8257531, 8585209, 8716280, 8454139, 11862009, -1, -1, -1, 9175034, 11534330, 8716280, 12320763, 8257528, 7995384, -1, -1, 8781816, 8781816, 11796472, 8519675, 9043960, 8388601, -1 + + 4, 9 + + + 11010040, 11010040, 9437179, 12517368, 10354681, -1, -1, -1, 12582904, -1, -1, 12648440, 11010041, -1, -1, -1, 10485784, 10485784, 12058648, 11730937, 9371641, -1, -1, -1, 10551320, -1, 9306137, -1, 10354681, -1, -1, -1, -1, -1, 10944537, 11206649, 9371641, -1, -1, -1, 12648472, 12714008, 12058649, -1, 11010041, -1, -1, -1, 12845048, 12845048, 12845048, 10878969, 9371641, -1, -1, -1, 12713976, 12910584, 9437178, 11337720, 10551289, -1, -1, -1 + + 3, 9 + + + 8323064, 11796472, 9175035, 9437176, 10551288, 10551288, 9371640, 11010040, 9109496, 11796472, 11534331, 11599866, 11599866, 9764859, 10878971, 10485752, 10092536, 10092539, 12976120, 13041659, 9895929, 9633787, 12582907, 12058651, 10092538, 12976121, 10027001, 10027003, 10027000, 9502715, -1, 10289179, 9699320, 9699320, 9699320, 10158073, 10092537, 11468795, -1, 10289179, 9699320, 12976120, 9699323, 9568250, 9699320, 9961467, 10747899, 12058650, 9043960, 11796472, 11534328, 11468792, 11599864, 9764856, 10878970, 12845048, 8781816, 8912888, 8454139, 9437177, 12779512, 12779512, 12779512, 12713976 + + 2, 9 + + + 8585209, 8847352, 11796472, 8716280, 8847352, 8716280, 8912888, 11796472, 11534330, 8912888, 8323064, 9109496, 8847352, 8781816, 8323064, 11796472, 12976120, 10092536, 10092538, 12976123, 8912888, 8847352, 8847352, 10092537, 12976120, 10027000, 12976120, 12976121, 8323064, 11796472, 8781816, 10027003, 9699320, 10092538, 10092539, 12976122, 9109496, 8781816, 8912888, 12976122, 10158075, 9699320, 9895928, 10027001, 8847352, 9109496, 11796472, 12976123, 11534329, 8781816, 9109496, 9043960, 8716280, 8781816, 11796472, 9109496, 8650745, 8978424, 11796472, 11796472, 8847352, 9109496, 8978424, 8847352 + + 1, 9 + + + 9437176, 11010040, 11010040, 11010040, 9371640, 11010040, 10354680, 9437179, 11993080, -1, 10485752, 10289144, 10878968, 9764858, 11599866, 11468794, 12058651, 10485784, 10289176, 12058648, 10485753, 13107193, 9699320, 9699323, 10289179, 10551320, -1, 10485785, 11993081, 9961465, 12976123, 13041659, 10944539, -1, -1, 10485785, -1, 11599865, 12976120, 10027003, 12058650, 12714008, 12648472, 12058649, 10289145, 9961465, 10092536, 9699322, 13172728, -1, -1, 12845048, 10878969, 9764857, 11599864, 9502712, 9437177, 12713976, 12779512, 12779512, 12779512, 12779512, 12779512, 9437178 + + 9, 18 + + + 10420204, 10616812, -1, 10223596, 10813396, 12582868, -1, -1, 10223596, -1, -1, 10616812, -1, 10616812, -1, 10616812, 10616812, -1, 10420204, -1, -1, -1, -1, -1, -1, -1, 10616812, -1, 10616812, -1, 10616812, -1, 10420204, 10420204, -1, -1, -1, -1, -1, -1, 13172692, -1, -1, 12845012, 13172692, -1, -1, 13172692, 12779476, 12779476, 12779476, 12779476, 12779476, 12910548, 12779476, 12779476, -1, -1, -1, -1, -1, -1, -1, -1 + + 8, 18 + + + 10551245, -1, -1, -1, -1, -1, 10354647, -1, 9371597, -1, -1, -1, -1, -1, 10354647, 10944471, 12124109, -1, -1, -1, -1, -1, 10354647, 10289111, -1, -1, -1, -1, -1, -1, 10354647, 10747863, -1, -1, -1, -1, -1, -1, 10354647, 10485719, -1, -1, -1, -1, -1, -1, 10354647, 10878934, -1, -1, -1, -1, -1, -1, 12124118, 12779476, -1, -1, -1, -1, -1, -1, -1, -1 + + 7, 18 + + + -1, -1, -1, -1, -1, -1, 10420196, 13238221, 12845004, 12845004, 12845004, 12845004, 12845004, 12845004, 12845004, 10878925, 12779468, 12779468, 12779468, 12779468, 12779468, 12779468, 12779468, 12779468, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 6, 18 + + + -1, -1, -1, -1, -1, 10223588, -1, -1, 12845004, 12845004, 12845004, 12845004, 12845004, 12845004, 12845004, 12845004, 12779468, 12779468, 12779468, 12779468, 12779468, 12779468, 12713932, 12910540, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 5, 18 + + + -1, -1, 10223588, -1, -1, -1, -1, -1, 12845004, 12845004, 12845004, 12845004, 13303756, -1, 12845004, 12845004, 12779468, 12779468, 12910540, 12779468, 12779468, 12779468, 12779468, 12910540, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 4, 18 + + + -1, -1, 9371599, 10747855, -1, -1, 10223588, 10420196, -1, -1, 10354639, 10878926, 12845004, 12845004, 12845004, 12845004, -1, -1, 12124110, 12910540, 12910540, 12910540, 12779468, 12713932, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 11, 18 + + + -1, -1, -1, 10289109, 10551253, -1, -1, -1, -1, 10616812, -1, 11730901, 10354645, -1, -1, -1, -1, -1, -1, -1, 11010005, -1, -1, -1, 10616812, -1, 10223596, 10485717, 10354645, -1, -1, -1, -1, -1, 10420204, 10682325, 10354645, -1, -1, -1, 13303764, -1, 12845012, 10878933, 11010005, -1, -1, -1, 12910548, 12779476, 12779476, 12779476, 12124117, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 10, 18 + + + 10289108, 12058580, -1, 13238228, 13369300, 11927508, 12189652, -1, -1, 10616812, -1, 10223596, 10420204, 10616812, -1, 10616812, -1, -1, -1, 10616812, -1, -1, -1, -1, 10616812, -1, 10420204, -1, -1, 10616812, -1, 10420204, -1, -1, 10223596, 10223596, 10420204, -1, -1, 10420204, -1, -1, 12845012, 12845012, 12845012, 12845012, 12845012, 12845012, 12713940, 12779476, 12779476, 12779476, 12910548, 12779476, 12779476, 12779476, -1, -1, -1, -1, -1, -1, -1, -1 + + -5, 10 + + + 11599865, 12976122, 9699320, 12976120, 9699323, 9830392, 11599864, -1, 11468793, 12976120, 10158072, 10027000, 12976120, 11599867, 9437177, 9306106, 11599865, 9699323, 10158075, 10158072, 9699322, 11599867, 10354681, -1, 11599865, 10027003, 10092536, 12976122, 10092537, 11468795, 10354681, -1, 11599865, 10027003, 9699322, 12976121, 10027003, 11468795, 10354681, -1, 9961465, 10092537, 9699323, 10092538, 10092539, 11599867, 10551289, -1, 9764857, 9502712, 13107192, 11599864, 9633784, 9764856, 9437176, 10354680, 11993080, -1, 11927544, 11927544, 13238264, 12648440, 13434872, 13500408 + + -6, 10 + + + -1, 10551312, -1, -1, -1, 10551312, -1, 10682361, -1, -1, -1, 10354704, 10158096, -1, -1, 10944505, -1, 10158096, 10158096, 10158096, 10551312, -1, 10158096, 10944505, -1, 10354704, 10551312, -1, -1, -1, 10354704, 10485753, -1, 10354704, -1, -1, 10158096, 10551312, -1, 10682361, -1, 10158096, 10158096, 10354704, 10158096, -1, -1, 10944505, -1, 10551312, -1, 10158096, 10158096, 10551312, -1, 10289145, 10158096, -1, -1, 10158096, 10354704, -1, -1, 10813432 + + -3, 10 + + + -1, 8585208, 8585208, 8650744, 11141112, 8257529, 7995385, -1, 11665402, 12386298, -1, -1, 11665402, 7995385, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10551288, 10354680, 10354680, 10551288, 9371640, 9371640, 10551288, 9371640, 13434872, 13434872, 11075576, 13238264, 11927544, 11993080, -1, 10289144 + + -4, 10 + + + -1, 8454136, 9175032, 8650744, 9175032, 9175032, 8454136, -1, -1, 11665402, 12255226, 11665402, 8257530, 8912888, 8257529, 11665402, -1, -1, -1, -1, 7995386, 11665402, 7995385, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10354680, 10354680, 10354680, 10354680, 10551288, 9371640, 9371640, 10551288, -1, 13500408, -1, 13565944, 13434872, 13565944, 13631480, 13434872 + + -1, 10 + + + -1, 10485753, 10551289, -1, -1, -1, -1, -1, -1, 10289145, 10354681, -1, -1, -1, -1, -1, -1, 10682361, 10354681, -1, -1, -1, -1, -1, 10158096, 10944505, 10354681, -1, -1, -1, -1, -1, -1, 10289145, 9371641, -1, -1, -1, -1, -1, -1, 10289145, 10354681, -1, -1, -1, -1, -1, -1, 10747897, 10551289, -1, -1, -1, -1, -1, -1, 10485753, 9371641, -1, -1, -1, -1, -1 + + -2, 10 + + + 9371643, 10944507, 10354704, -1, -1, -1, -1, -1, 9371643, 10747899, 10551312, -1, 10158096, 10551312, -1, 10551312, 10551291, 10682363, -1, -1, 10354704, -1, -1, -1, 10354683, 10682363, 10354704, 10551312, -1, 10551312, -1, 10354704, 9371643, 10747899, 10354704, -1, -1, -1, -1, 10551312, 10354683, 10747899, 10354704, 10551312, -1, 10551312, -1, -1, 9437179, 10944507, 10354704, -1, -1, -1, -1, 10551312, 11927544, 12189688, 10354704, 10158096, 10551312, -1, 10158096, -1 + + 1, 10 + + + 9371641, -1, -1, -1, -1, -1, -1, 9306107, 10354681, -1, -1, -1, -1, -1, -1, -1, 11010041, -1, -1, -1, -1, -1, -1, 7995386, 11010041, -1, -1, -1, -1, -1, -1, -1, 9437176, 11010040, 10354680, 9371640, 11010040, 10354680, 9371640, 9240568, 13565944, 13500408, -1, 13565944, 13565944, 11075576, 13238264, 11730936, 12779512, 12779512, 12713976, 12779512, 9437178, 10485755, 12058651, 10485784, -1, -1, -1, -1, 10354683, 11993083, 10289179, 10551320 + + 0, 10 + + + -1, -1, -1, -1, -1, -1, 10354683, 13697016, -1, -1, -1, -1, -1, -1, 10354683, 13762552, -1, -1, -1, -1, -1, -1, 10551291, -1, -1, -1, -1, -1, -1, -1, 10354683, 13828088, -1, -1, -1, -1, -1, -1, 10354683, 13893624, -1, -1, -1, -1, -1, -1, 11010043, 13959160, -1, -1, -1, -1, -1, -1, 12124154, 12779512, -1, -1, -1, -1, -1, -1, -1, -1 + + 3, 10 + + + 8323064, 11796472, 8519675, 9240569, -1, -1, -1, -1, 11534328, 8585208, 11141112, -1, -1, -1, -1, -1, 8454139, 8257529, 11272186, 7995385, -1, -1, -1, -1, 8519675, 8126457, -1, -1, -1, -1, -1, -1, 11141112, 8257528, 9306104, -1, 11010040, 9371640, 9371640, 10354680, 10878971, 12582904, -1, -1, 13369336, 12648440, 14024696, 13500408, 11206651, 12058651, 10485784, 10485784, 12058648, 10747897, 9437177, 12779512, -1, 10289179, 10551320, -1, 9306137, 10944505, 11010041, -1 + + 2, 10 + + + 8454137, 9043960, 8781816, 8781816, 8716280, 8847352, 8323064, 11796472, 11141113, 8650744, 11534329, 8978424, 8716280, 8781816, 8978424, 9109496, 12255226, 8257530, 9175033, 11796472, 8716280, 9043960, 11796472, 8847352, -1, 8126459, 8585209, 8978424, 8978424, 8716280, 8716280, 9043960, -1, 8257531, 11141113, 11534329, 11796472, 8781816, 8978424, 11534328, -1, 11927544, 10878968, 9961465, 12976122, 12976122, 12976122, 9961467, 10485784, 12058648, 11206649, 11468793, 10027003, 10027003, 10092537, 11468795, -1, 9306137, 11010043, 11599865, 10027002, 9699322, 12976120, 9502715 + + 4, 10 + + + -1, -1, 9371643, 13828088, 10354681, -1, -1, -1, -1, -1, 10354683, 13828088, 10551289, -1, -1, -1, -1, -1, 10354683, 14090232, 11010041, -1, -1, -1, -1, -1, 10354683, 13697016, 9371641, -1, -1, -1, 9371640, 10354680, 9437179, 13893624, 11010041, -1, -1, -1, -1, 13434872, 13631480, 14155768, 11010041, -1, -1, -1, 12713976, 12779512, 12779512, 12779512, 12124153, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 6, 17 + + + 11665358, 11665358, 11665358, 12255182, 11665358, 11272142, 7995341, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9371596, 10354636, 10354636, 9371596, 10551244, 10354636, 10354636, 10354636, 12058572, -1, 11927500, 10747852, 14221260, -1, -1, 11993036, 10616804, -1, 10223588, 10616804, -1, 10420196, 10420196, 10616804, -1, -1, 10420196, -1, -1, 10420196, 10223588, -1, -1, 10616804, -1, 10616804, -1, 10223588, 10616804, -1 + + 5, 17 + + + 10485709, 9371597, -1, -1, 7995342, 11272142, 11665358, 11665358, 11206605, 10551245, -1, -1, -1, -1, -1, -1, -1, 10551245, -1, -1, -1, -1, -1, -1, 11927501, 9437132, 9371596, 10551244, 9371596, 9371596, 9371596, 10551244, 10813388, 13369292, 10747852, 12582860, -1, -1, 10289100, 13369292, 10616804, -1, 10616804, -1, 10616804, -1, 10616804, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10616804, -1, 10420196, 10616804, -1, 10616804, -1, 10616804 + + 8, 17 + + + 10354637, -1, -1, -1, -1, -1, 10354647, -1, 10551245, -1, -1, -1, -1, -1, 9371607, -1, 10551245, -1, -1, -1, -1, -1, 10551255, 10944471, 10354637, -1, -1, -1, -1, -1, 9371607, 10747863, 10551245, -1, -1, -1, -1, -1, 10551255, 10289111, 9371597, -1, -1, -1, -1, -1, 10551255, 12058583, 10354637, -1, -1, -1, -1, -1, 10354647, -1, 9371597, -1, -1, -1, -1, -1, 10354647, 12058583 + + 7, 17 + + + -1, 11009999, -1, 10420196, 10420196, 10616804, -1, -1, -1, 9371599, 11730895, 10616804, -1, -1, -1, -1, -1, 9371599, -1, -1, -1, 10420196, 10223588, 11993037, 10354636, 9437135, 10682319, 10616804, -1, 10223588, 10223588, -1, -1, 10682316, 12189644, -1, -1, 10223588, 10420196, 13238221, -1, 10616804, -1, 10616804, -1, 10616804, -1, 14221261, -1, -1, -1, -1, -1, -1, -1, -1, 10616804, -1, 10616804, -1, 10616804, -1, 10420196, -1 + + 4, 17 + + + -1, -1, 10354639, -1, -1, -1, 10616804, -1, -1, -1, 9371599, -1, 10616804, -1, -1, -1, -1, -1, 10551247, 13369295, -1, -1, 10616804, -1, -1, -1, 10551247, 11927503, 10616804, -1, -1, -1, -1, -1, 10551247, 11927503, -1, -1, 10616804, -1, -1, -1, 10354639, 11993039, 10616804, -1, -1, -1, -1, -1, 10354639, -1, -1, -1, 10616804, -1, -1, -1, 9371599, 10944463, 10616804, -1, -1, -1 + + 10, 17 + + + 10092502, 10092501, 9895895, 10026965, 10092503, 9961431, 12582871, -1, 10026967, 12976084, 10026964, 9699286, 10026967, 9961431, -1, 10616812, 9895892, 9699285, 12976087, 10026964, 10026966, 9961431, -1, -1, -1, -1, -1, 10026964, 12976084, 11468759, 13369303, 10616812, -1, -1, -1, 12976087, 9699286, 9502679, 10289111, -1, -1, -1, -1, 9699284, 12976087, 9961431, 11927511, 10616812, 10092500, 9699287, 12976085, 10026966, 10092502, 9502679, 10485719, -1, 9961428, 11599828, 9502676, 11468756, 11599828, 9764820, 10289111, 10616812 + + 1, 2 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5570534, 5570530, 5570526, 5570522, 5570518, 8388564, 9306068, 11403220, 5963750, 14286818, 14352350, 14417882, 14483414, 8454102, 8519638, 11141079 + + 9, 17 + + + 10616812, -1, 10616812, -1, -1, 9961429, 9699286, 10092503, -1, -1, -1, -1, -1, 9961429, 9699284, 12976087, 10616812, -1, 10616812, -1, 11927509, 9961429, 10092502, 9699286, -1, -1, -1, -1, 10747861, 11599829, 12976086, 12976086, 10223596, 10616812, -1, 10420204, 11206613, 9961429, 10092500, 10026965, 10223596, -1, -1, 10420204, -1, 9502677, 10026966, 10092502, 10616812, -1, 10616812, -1, 10289109, 9961429, 10026966, 12976086, -1, -1, -1, -1, 13369301, 9764821, 13107156, 9961428 + + 0, 2 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10354664, 10354664, 10551272, 10354664, 12124136, -1, -1, -1, 13107178, 11468778, 9961450, 9764843, 10354665, -1, -1, -1, 9699306, 10092520, 9699304, 13107179, 10354665, -1, -1, -1, 10092520, 10026985, 10092523, 11468779, 9437160, 9240552, -1, 11403240, -1, 10092520, 10092521, 9830379, 9764843, 11141098, 8454122, 8519658 + + -1, 2 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 12124139, 10354664, 10551272, 9371624, 10354664, 9371624, -1, -1, 9371627, 9764842, 11599850, 9961450, 9961450, 9502698, -1, -1, 10354667, 9961449, 9699306, 10092522, 10026984, 9699307, -1, -1, 10551275, 11599849, 10026987, 9895913, 12976106, 12976104, -1, -1, 10354667, 9961449, 9699305, 12976106, -1, -1 + + 11, 17 + + + -1, 10223596, 10420204, 12582869, 10354645, -1, -1, -1, -1, 10616812, -1, -1, 9371605, -1, -1, -1, -1, -1, -1, -1, 9371605, -1, -1, -1, -1, 10616812, -1, 11993045, 10354645, -1, -1, -1, -1, -1, -1, -1, 10354645, -1, -1, -1, -1, 10616812, -1, 11730901, 10354645, -1, -1, -1, -1, -1, -1, -1, 11010005, -1, -1, -1, -1, 10616812, -1, 10682325, 10354645, -1, -1, -1 + + -7, 10 + + + -1, -1, -1, -1, -1, 9371643, 10682363, -1, -1, -1, -1, -1, -1, 10551291, 10747899, 10551312, -1, -1, -1, -1, -1, 10551291, 10944507, -1, -1, -1, -1, -1, -1, 10551291, 10682363, 10551312, -1, -1, -1, -1, -1, 9371643, 10944507, -1, -1, -1, -1, -1, -1, 10354683, 10485755, 10551312, -1, -1, -1, -1, -1, 10354683, 10747899, -1, -1, -1, -1, -1, -1, 10551291, 10682363, 10354704 + + 2, 11 + + + -1, 10944537, 10485753, 11468793, 10027001, 12976122, 10027001, 9633787, 12714008, 12058649, 10944505, 11468793, 9699321, 10158074, 10027000, 9502715, 13303800, -1, 10878969, 9502713, 10092537, 9699320, 10027003, 9961467, 12713976, 12779512, 9437178, 9502713, 9699320, 10027001, 10092539, 11599867, -1, -1, 9371643, 9633785, 10027002, 9699322, 10092537, 9961467, -1, -1, 11010043, 9961465, 10027001, 12976122, 12976122, 11599867, -1, -1, 11010043, 11468793, 10027000, 9699322, 12976123, 9502715, -1, -1, 9371643, 9961465, 9699320, 9699323, 12976123, 9502715 + + 6, 2 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7995367, 8126436, -1, -1, -1, -1, -1, -1, 11861991, 11141094, -1, -1, -1, -1, -1, -1, 8126439, 9175013 + + 1, 11 + + + -1, -1, -1, -1, 10551291, -1, 10289179, -1, -1, -1, -1, -1, 9371643, 10682363, 12058650, 12648472, -1, -1, -1, -1, 9371643, 10878970, 13303800, -1, -1, -1, -1, -1, 12124154, 12779512, 12713976, 12713976, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 7, 2 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 11403236, 8388580, 11403236, 11861988, 7995364, -1, -1, -1, 12320742, 8454118, 8519654, 11141095, 12451813, -1, -1, -1, 8781796, 8978404, 8847332, 8585191, -1, -1, -1, -1 + + -1, 11 + + + -1, 10485753, 9371641, -1, -1, -1, -1, -1, -1, 10485753, 9371641, -1, -1, -1, -1, -1, 10158096, 10289145, 10354681, -1, -1, -1, -1, -1, 10158096, 10944505, 9371641, -1, -1, -1, -1, -1, 12845048, 10878969, 9371641, -1, -1, -1, -1, -1, 12779512, 12779512, 12124153, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -2, 11 + + + -1, 10354704, 10551312, -1, -1, -1, 10158096, 10551312, -1, 10354704, -1, -1, 10551312, -1, 10158096, -1, -1, 10551312, -1, 10354704, -1, -1, 10551312, -1, -1, -1, -1, 10158096, 10354704, 10354704, -1, -1, 12845048, 12845048, 12845048, 12845048, 12845048, 12845048, 12845048, 12845048, 12910584, 12713976, 12779512, 12779512, 12910584, 12713976, 12779512, 12779512, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 2, 2 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 12124119, 11010004, 10551252, 11010004, 10354644, 10551252, 9240532, -1, 10354647, 9764822, 9961430, 13107158, 11468758, 8585174, 8454102, 8650710, 11010007, 11599829, 9699287, 9699284, 8912852, 12976084, 11796436, 9109460, 9437143, 11599829, 12976086, 12976084, 13041622, 12976084, 12976084, 8912852, 9764822, 9830358, 10092500, 9699287, 12976087, 10092501, 9109460, 12976084 + + -3, 11 + + + 12779512, 9437178, 10682363, 10551312, -1, 10551312, -1, 10551312, -1, 10354683, 10485755, -1, -1, -1, -1, -1, -1, 10551291, 10682363, 10158096, 10354704, 10551312, -1, 10551312, -1, 9371643, 10747899, 10354704, 10354704, -1, -1, -1, -1, 10551291, 10878970, 12845048, 12845048, 12845048, 12845048, 12845048, -1, 12124154, 12910584, 12910584, 12779512, 12713976, 12713976, 12910584, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 3, 2 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 11403220, 8126420, 7995348, -1, -1, -1, -1, -1, 8650710, 11141079, 11861973, -1, -1, -1, -1, -1, 8912852, 8650711, 8126421, -1, -1, -1, -1, -1, 8323028, 8585175, 9306069, -1, -1, -1, -1, -1, 9830356, 11141076, -1, -1, -1, -1, -1, -1 + + -4, 11 + + + 12779512, 12910584, 12910584, 12779512, 12779512, 12779512, 12713976, 12713976, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -5, 11 + + + 10551312, -1, 10551312, -1, 10158096, 10289145, 9437177, 12910584, -1, -1, -1, -1, 10158096, 10682361, 9371641, -1, 10158096, 10551312, -1, 10551312, -1, 12058617, 9371641, -1, 10354704, -1, -1, -1, -1, -1, 9371641, -1, 12845048, 12845048, 12845048, 12845048, 12845048, 10878969, 9371641, -1, 12910584, 12713976, 12779512, 12779512, 12910584, 12779512, 12124153, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 3, 11 + + + 10944507, 10289179, -1, -1, 10944537, 11730937, 10354681, -1, 10747899, 12058650, 12648472, 12714008, 12058649, -1, 10354681, -1, 10878970, 13172728, -1, -1, 12845048, 10878969, 10354681, -1, 9437177, 12779512, 12779512, 12910584, 12779512, 12779512, 12124153, -1, 11010041, -1, -1, -1, -1, -1, -1, -1, 11010041, -1, -1, -1, -1, -1, -1, -1, 11010041, -1, -1, -1, -1, -1, -1, -1, 11010041, -1, -1, -1, -1, -1, -1, -1 + + -7, 11 + + + -1, -1, -1, -1, -1, 9371643, 10944507, 10354704, -1, -1, -1, -1, -1, 10354683, 10682363, 10354704, -1, -1, -1, -1, -1, 10354683, 10747899, 10551312, -1, -1, -1, -1, -1, 9371643, 10682363, -1, -1, -1, -1, -1, -1, 9371643, 10878970, 12845048, -1, -1, -1, -1, -1, 12124154, 12713976, 12910584, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 0, 3 + + + -1, 9699306, 12976107, 10026984, 11468779, 8454121, 8978408, 9043944, -1, 9699306, 10026985, 9830376, 9764840, 11141097, 8585192, 9175016, 12976106, 9699306, 12976105, 11599851, 9437161, 9306090, -1, 12255210, 9699307, 10026985, 13041640, 9633771, 10354665, -1, -1, -1, 9633768, 11599848, 11468776, 9764840, 9371625, -1, -1, -1, 12779496, 12910568, 12779496, 12779496, 12124137, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -6, 11 + + + 10551312, -1, 10551312, -1, 10551312, -1, 10551312, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10551312, -1, 10354704, 10551312, -1, 10551312, -1, -1, -1, -1, 10158096, -1, -1, -1, -1, 12845048, 12845048, 12845048, 12845048, 12845048, 13303800, -1, 12845048, 12713976, 12779512, 12779512, 12779512, 12713976, 12779512, 12910584, 12779512, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -1, 3 + + + -1, -1, 9371627, 9633769, 10092521, 10026986, -1, -1, -1, -1, 10551275, 9961449, 10026986, 12976107, -1, -1, -1, -1, 10354667, 9633769, 10026987, 9699304, 10026985, 9699306, -1, -1, 10551275, 9961449, 13041640, 10026986, 9699304, 10092523, -1, -1, 9371627, 9764841, 9633768, 9961448, 9961448, 11468776, -1, -1, 12124138, 12713960, 12779496, 12779496, 12779496, 12779496, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 2, 3 + + + 11599829, 12976084, 12976085, 10092503, 12976086, 10026966, 10092500, 10092501, 9764821, 9830357, 9895895, 10092502, 12976084, 12976084, 10092503, 9699285, 9437142, 9961429, 9699286, 10026967, 10092503, 12976084, 10026964, 10092502, 9371607, 11599829, 10092500, 10092502, 10026966, 9895892, 9699284, 12976086, 9437143, 9764821, 11468756, 9502676, 9830357, 12976085, 9830356, 9633748, 13369300, 11927508, 13238228, 10878932, 9502677, 10092501, 11468759, 10878935, 10551284, 11010036, 12124148, 12582869, 9961429, 9699287, 13107159, 11730903, 10616820, -1, 10551285, -1, 13107157, 10026966, 11599831, -1 + + 1, 3 + + + 4325349, 14548961, 14614493, 14680025, 14548949, 8847316, 11796436, 8650711, 14745572, 14811104, 14876636, 14745560, 14942164, 8519636, 8585172, 11141076, 15007718, 15007714, 15007710, 15007706, 15007702, 12255190, 9240534, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 12124119, 10354644, 9371604, -1, -1, -1, -1, -1, 11010007, 10878935, 10485716, -1, -1, -1, -1, -1, 10354647, 10747863, 12124151, -1, -1, -1, -1, -1, 9371607, 10747863, 9371639 + + 1, 12 + + + -1, -1, -1, -1, -1, -1, -1, -1, 8126432, 8388576, 15007712, 15007716, 15007720, 15007724, 15007728, 15007732, 8454114, 8585186, 14745570, 14942182, 14745578, 14876654, 14811122, 14745590, 8978400, 8978400, 4325347, 14614503, 14680043, 14614511, 14548979, 4325367, 9175008, 8454112, 5963744, 14483428, 14417896, 14352364, 14286832, 5963764, 8257505, 11272162, 5570528, 5570532, 5570536, 5570540, 5570544, 5570548, 11861985, -1, -1, -1, -1, -1, -1, -1, 8126433, -1, -1, -1, -1, -1, -1, -1 + + 0, 12 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7995363, 8126432, 8126432, 11403232, -1, -1, -1, -1, 12451811, 11141090, 8585186, 8585186, -1, -1, -1, -1, -1, 8519649, 8978400, 8323040, -1, -1, -1, -1, 11861987, 8519649, 8323040, 11534304, -1, -1, -1, -1, 8388579, 8650721, 9043936, 9175011, -1, -1, -1, -1, 8126435, 8519649, 8323040, 8454115, -1, -1, -1, -1, 8126435, 8585185, 8978400, 9175011 + + 3, 12 + + + 10354681, -1, -1, -1, -1, -1, -1, -1, 10551289, -1, -1, -1, -1, -1, -1, -1, 10354681, -1, -1, -1, -1, -1, -1, -1, 9371641, -1, -1, -1, -1, -1, -1, -1, 10551289, -1, -1, -1, -1, -1, -1, -1, 12124153, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 7, 3 + + + 11796452, 9109476, 8912868, 12320743, 9306085, -1, -1, -1, 8912868, 8716260, 9109476, 8519655, -1, -1, -1, -1, 11796452, 8978404, 12976101, 9175015, 9437156, 10551268, 10551268, 10354660, 9699303, 12976101, 8912868, 9502695, 15073252, 15138791, 15204327, -1, 10026981, 10026981, 9699303, 9830375, 11599846, 9633766, 9961446, 9502694, 9699303, 10026983, 12976101, 12976101, 10092516, 10092517, 9699301, 12976101, 9699301, 12976102, 12976102, 10092516, 10092516, 9699300, 8781796, 8847332, 12976103, 12976103, 12976102, 9699302, 10092517, 10092519, 8847332, 9043940 + + 2, 12 + + + -1, -1, 11010043, 9633785, 12976120, 12976123, 10092536, 11599867, 9306104, -1, 9437179, 9961465, 10027002, 12976122, 12976121, 11599867, 12320762, 11141115, 9764858, 9830394, 10092537, 9699321, 10092538, 11468795, 8781816, 8650747, 13107193, 9895931, 12976120, 13041658, 12976123, 9633787, 8585208, 11141112, 9764857, 9502712, 9633784, 11468792, 11468792, 9764856, 9240570, -1, 12910584, 12779512, 12910584, 12779512, 12713976, 12910584, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 8, 3 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10551268, 10551268, 10551268, 12124132, -1, -1, -1, -1, 15269861, 15073252, 11337700, 10354661, -1, -1, -1, -1, 9961446, 9764839, 13696996, 10551269, -1, -1, -1, -1, 12976101, 9502695, 13828068, 10354661, -1, -1, -1, -1, 11796452, 11468775, 13696996, 10354661, -1, -1, -1, -1, 8912868, 11599847, 13696996, 9371621, -1, -1, -1, -1 + + 5, 3 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 12124135, 10354660, 10551268, 10354660, 10354660, 9371620, -1, -1, 10551271, 11337700, 15073252, 15138791, 15138789, 15335399, -1, -1, 10354663, 12517348, 9764838, 9764838, 9633766, 9502694, -1, -1, 9371623, 13893604, 9764838, 9830374, 10092518, 12976103, -1, -1, 10354663, 13828068, 11468773, 10092516, 9568229, 9699302, -1, -1, 10354663, 13762532, 9961445, 10092517, 12976103, 10026981 + + 6, 3 + + + -1, -1, -1, -1, -1, -1, 9240551, 9175013, -1, -1, -1, -1, -1, -1, -1, 12320741, 10551268, 9371620, 10354660, 10354660, 10354660, 9371620, 9437159, 9961445, 15138791, 15269863, 15269861, 15400935, -1, 15335397, 15073252, 9961445, 11599846, 9633766, 11468774, 9633766, 9961446, 11599846, 9961446, 9830374, 13041636, 10092518, 12976101, 12976103, 9699300, 10092519, 10026981, 9699302, 9699303, 10026983, 9699303, 10092518, 10092518, 12976101, 12976103, 10026982, 9699300, 10092516, 9699300, 12976100, 10026980, 12976102, 12976102, 10092518 + + 3, 3 + + + 9830359, 9764823, 11010005, -1, -1, -1, -1, -1, 10026966, 11468759, 11010005, -1, -1, -1, -1, -1, 13041621, 9961431, 10551253, -1, -1, -1, -1, -1, 10026966, 9502679, 10354645, -1, -1, -1, -1, -1, 13107156, 9764820, 9437140, 10551252, 11010004, 12124116, -1, -1, 10485716, 13369300, 11927508, 10747860, 10878932, 10551253, -1, -1, 12124151, 10354676, 10551284, 12124148, 10944469, 11010005, -1, -1, 11010039, 10616820, -1, 10354677, 14221269, 11010005, -1, -1 + + 3, 4 + + + 11010039, -1, -1, 9371637, 10682325, 11010005, -1, -1, 12124150, 12910580, 12713972, 12124149, -1, 11010005, -1, -1, 13172692, 13303764, -1, 12845012, 10878933, 9371605, -1, -1, 12779476, 12713940, 12910548, 12713940, 12910548, 12124117, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 2, 4 + + + -1, -1, 11010037, -1, 9961429, 10026967, 11468759, 10944471, 12779508, 12713972, 12124149, 10289109, 9502677, 10026965, 13107159, 10944471, -1, 13303764, -1, 10878933, 11599829, 9699285, 9961431, 10878934, 12779476, 12713940, 12713940, 9437142, 9961429, 10092500, 11599831, 9437141, -1, -1, -1, 10354647, 9961429, 10026964, 9961431, 9371605, -1, -1, -1, 9306071, 9764821, 11599828, 9764820, 9240533, -1, -1, -1, -1, 11141078, 8650710, 11141079, -1, -1, -1, -1, 12451799, 12320725, 9109460, 8585175, 8388565 + + 1, 4 + + + -1, -1, -1, -1, -1, 11010007, 11730903, 10354679, -1, -1, -1, -1, -1, 11010007, -1, 12124150, -1, -1, -1, -1, -1, 10551255, 10878934, 13303764, -1, -1, -1, -1, -1, 12124118, 12910548, 12779476, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 5, 4 + + + -1, -1, 9371623, -1, 9961445, 12976102, 10092516, 9699300, -1, -1, 10354663, 13893604, 9633765, 10092518, 12976103, 12976101, -1, -1, 10551271, 13762532, 11599845, 12976100, 10026980, 9699300, -1, -1, 10354663, -1, 11468773, 9699302, 9699303, 10092517, -1, -1, 10551271, 12517348, 9502693, 9699300, 9699300, 10026980, -1, -1, 10551271, 13762532, 11468773, 9568230, 9699303, 12976103, -1, -1, 10354663, -1, 9764837, 9502692, 9961444, 13107172, -1, -1, 10354663, 13762532, 15073252, 15335397, 15138791, 15269863 + + 0, 13 + + + -1, -1, -1, -1, 11861987, 12320737, 8978400, 9175011, -1, -1, -1, -1, 8126435, 8519649, 9109472, 8585187, -1, -1, -1, -1, 8126435, 8585185, 8978400, 8650723, -1, -1, -1, -1, 8126435, 8650721, 11796448, 8454115, -1, -1, -1, -1, 8126435, 8650721, 8847328, 8650723, -1, -1, -1, -1, 11861987, 8454113, 11796448, 8585187, -1, -1, -1, -1, 8126435, 8454113, 11796448, 8454115, -1, -1, -1, -1, 8126435, 8519649, 9109472, 8585187 + + 7, 4 + + + 11599844, 9961444, 9502692, 9633764, 9633764, 9633764, 8585188, 9175012, 15335399, 15269863, 15400935, -1, 15138789, 15138789, 15269863, 15335397, 11468774, 9502694, 11468774, 11468774, 13107174, 9502694, 9961446, 9633766, 9699300, 10158054, 9699300, 12976102, 10092518, 9895910, 9699302, 10026983, 9895911, 10026980, 10092516, 9699301, 9699300, 9699302, 10026981, 9699303, 12976100, 10092518, 12976101, 9699301, 10092519, 12976103, 10092518, 12976102, 11599844, 11599844, 9961444, 11468772, 11468772, 9830373, 10026981, 12976101, 15335399, 15138789, 15400935, -1, 15073252, 11468773, 10026982, 10026981 + + 6, 4 + + + 9830372, 9961444, 9502692, 11599844, 11468772, 9961444, 9633764, 9633764, 9502695, 15073252, 15400935, -1, 15204327, -1, 15138789, 15073252, 9830375, 9502694, 9961446, 11599846, 11468774, 11468774, 11599846, 11599846, 12976102, 9895911, 9568229, 10092516, 12976100, 12976100, 10092517, 10026980, 10026981, 10092519, 10092517, 12976103, 10026980, 9699302, 12976101, 9895910, 10026983, 10092516, 10026981, 10026982, 9699302, 10092516, 10026981, 10026981, 11599844, 9633764, 9961444, 9502692, 11468772, 9961444, 11468772, 13107172, 15335399, 15204325, -1, 15138789, 15138789, 15335399, 15269861, 15073252 + + 3, 13 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10354636, 11009996, 10354636, 10551244, 10354636, 10354636, 9371596, 10354636, 15138767, 15269837, 15138765, 15400911, -1, 15400909, -1, 15138765, 8454094, 9174990, 9502670, 9961422, 13107150, 9633742, 9633742, 13107150, 8978380, 9699276, 9895887, 12976078, 10158028, 12976078, 10026957, 10092494 + + 4, 13 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10354636, 10551244, 12124108, -1, -1, -1, -1, -1, 15073228, 11337676, 11009997, -1, -1, -1, -1, -1, 9764815, 13696972, 10354637, -1, -1, -1, -1, -1, 11599823, 13893580, 10354637, -1, -1, -1, -1, -1 + + 8, 4 + + + 8650724, 9764836, 14090212, 9371621, -1, -1, -1, -1, 15335399, 15073252, 13762532, 10354661, -1, -1, -1, -1, 11599846, 9764839, -1, 9371621, -1, -1, -1, -1, 9568231, 11599847, 13696996, 10354661, -1, -1, -1, -1, 10026980, 11468775, 13893604, 10354661, -1, -1, -1, -1, 9699303, 9502695, 13762532, 10354661, -1, -1, -1, -1, 9699302, 11599847, -1, 10354661, -1, -1, -1, -1, 10158054, 11599847, 13762532, 9371621, -1, -1, -1, -1 + + 1, 13 + + + 8126433, -1, -1, -1, -1, -1, -1, -1, 8126433, -1, -1, -1, -1, -1, -1, -1, 8126433, -1, -1, -1, -1, -1, -1, -1, 8126433, -1, -1, -1, -1, -1, -1, -1, 8388577, -1, -1, -1, -1, -1, -1, -1, 8126433, -1, -1, -1, -1, -1, -1, -1, 8126433, -1, -1, -1, -1, -1, -1, -1, 8126433, -1, -1, -1, -1, -1, -1, -1 + + 2, 13 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 12124111, 11009996, 10354636, 10354636, 10354636, -1, -1, -1, 10551247, 15073228, 15138765, 15204301, -1, -1, -1, -1, 10354639, 15269836, 9764814, 11468750, 8519630, -1, -1, -1, 11009999, 15138766, 11468749, 12976079, 9043916 + + -3, 5 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7995363, 11403232, 11403232, 8388576, 12451808, -1, 8126432, -1, 12451811, 11141090, 8650722, 8519650, 8585186, 8454114, 8585186, -1, -1, 9175009, 9043936, 8912864, 11796448, 8716256, 9109472, -1, 8126435, 8454113, 8847328, 9109472, 9109472, 9043936, 8323040, 8126432, 8257507, 8454113, 9043936, 8912864, 9895906, 8781792, 8781792 + + -2, 5 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 11403232, 8126432, 12386272, -1, -1, 8126432, 11861984, 8126432, 8454114, 8585186, 8454114, 8454114, 8454114, 8585186, 9175010, 11141091, 8978400, 11796448, 11796448, 8847328, 8847328, 9043936, 8847328, 8454115, 11796448, 8978400, 8716256, 11796448, 8847328, 8978400, 8781792, 8454115, 9699299, 8912864, 8716256, 9043936, 10026979, 8716256, 8912864, 8519651 + + -1, 5 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7995360, -1, -1, -1, -1, -1, -1, -1, 11861985, -1, -1, -1, -1, -1, -1, -1, 8126433, -1, -1, -1, -1, -1, -1, -1, 8126433, -1, -1, -1, -1, -1, -1, -1, 8257504, 8126432, 12386272, -1, -1, 15007712, 15007716, 15007720 + + 0, 5 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 8126444, 12451820, -1, 8126444, 8388588, 7995372, -1, -1 + + 2, 5 + + + -1, -1, -1, -1, 8650709, 9109460, 8519639, 8388565, -1, -1, -1, 8126423, 9174997, 8781780, 12320727, 8388565, -1, -1, -1, 8388567, 8454101, 11796436, 8650711, 8126421, -1, -1, -1, 5570517, 14483413, 14614484, 14942167, 15007701, -1, -1, -1, 5570521, 14417881, 14680024, 14745563, 15007705, -1, -1, -1, 5570525, 14352349, 14614492, 14876639, 15007709, -1, -1, -1, 5570529, 14286817, 14548960, 14811107, 15007713, -1, -1, -1, 5570533, 5963749, 4325348, 14745575, 15007717 + + -5, 5 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 12124143, 11010028, 9371628, 10354668, 9240556, -1 + + -4, 5 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 11403244, 8126444, 11403244, 8126444, 8388588, 5570538, 5570534, 5570530 + + 8, 5 + + + 12976100, 9502695, -1, 10354661, -1, -1, -1, -1, 9699301, 9502695, 12517348, 10354661, -1, -1, -1, -1, 12976101, 11468775, 13696996, 10354661, -1, -1, -1, -1, 9830372, 9764836, 12517348, 10354661, -1, -1, -1, -1, 9764836, 9764836, 14090212, 10551269, -1, -1, -1, -1, 13434852, 13631460, 14155748, 10551269, -1, -1, -1, -1, 12779492, 12779492, 12779492, 12124133, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 7, 5 + + + 13107174, 9633766, 9502694, 11468774, 13107174, 9830374, 9699300, 10026980, 9699303, 10026983, 10026980, 13041638, 9699300, 10026980, 10092519, 10092516, 10092518, 9699300, 12976101, 9568230, 10026981, 10026980, 12976100, 9699303, 9895910, 10026980, 10092517, 10026982, 10092516, 12976103, 12976101, 9699302, 9961444, 9502692, 13107172, 9961444, 11468772, 9961444, 11468772, 9961444, 13434852, 13565924, 13631460, 4849636, 13565924, 13434852, 13500388, -1, 12779492, 12779492, 12779492, 12779492, 12713956, 12779492, 12779492, 12910564, -1, -1, -1, -1, -1, -1, -1, -1 + + 6, 5 + + + 11468774, 9633766, 11468774, 11468774, 9633766, 11599846, 9961446, 11599846, 10026981, 10092518, 9699302, 9568230, 13041637, 9568230, 13041638, 9699302, 12976102, 12976100, 12976101, 9895910, 10026983, 9699302, 10026981, 10092519, 12976102, 10026983, 10092519, 9699302, 9699301, 10026982, 9699302, 12976102, 11468772, 9633764, 9830373, 10026982, 9699300, 9699302, 9830372, 9633764, 14024676, 14155748, 9764837, 9961444, 9961444, 9961444, 9764836, 13959140, 12779492, 12910564, 9437158, 11141094, 8519654, 11141095, 9437157, 12779492, -1, -1, 9306087, 8454117, 8912868, 9175015, 9240549, -1 + + 0, 14 + + + -1, -1, -1, -1, 8126435, 8585185, 8978400, 8650723, -1, -1, -1, -1, 8126435, 8650721, 11796448, 8454115, -1, -1, -1, -1, 8126435, 9175009, 8847328, 8650723, -1, -1, -1, -1, 8126435, 9175009, 8323040, 8519651, -1, -1, -1, -1, 8126435, 8585185, 8978400, 9175011, -1, -1, -1, -1, 12451811, 8650721, 8781792, 11534307, -1, -1, -1, -1, -1, 9175009, 9043936, 9109472, -1, -1, -1, -1, 8126435, 11141089, 8650720, 8454112 + + 5, 5 + + + -1, -1, 9371623, -1, 9764838, 12320742, 8650726, 8650726, -1, -1, 9371623, 12517348, 9502693, 8716260, 8847332, 8912868, -1, -1, 10354663, 13696996, 11468773, 11796452, 11796452, 9109476, -1, -1, 10354663, 13893604, 9633765, 10026983, 10092517, 9699303, -1, -1, 9371623, 12517348, 9764837, 9961444, 11599844, 11599844, -1, -1, 10354663, 13959140, 13500388, -1, 14024676, 13631460, -1, -1, 12124134, 12910564, 12779492, 12779492, 12779492, 12910564, -1, -1, -1, -1, -1, -1, -1, -1 + + 1, 14 + + + 8126433, -1, -1, -1, -1, -1, -1, -1, 8126433, -1, -1, -1, -1, -1, -1, -1, 8126433, -1, -1, -1, -1, -1, -1, -1, 8126433, -1, -1, -1, -1, -1, -1, -1, 8257504, 8126432, 5570526, 5570522, 5570518, 5570514, 5570510, 11861964, 8519650, 8585186, 5963742, 14286810, 14352342, 14417874, 14483406, 9174990, 9109472, 8912864, 4325341, 14548953, 14614485, 14680017, 14614477, 8912844, 8519648, 8585184, 14745564, 14811096, 14876628, 14745552, 14942156, 8650700 + + 2, 14 + + + -1, -1, -1, 9371599, 15269838, 11468749, 12976076, 8847308, -1, -1, -1, 10354639, 15138766, 11468749, 11796428, 10026959, -1, -1, -1, 9371599, 15269836, 13107149, 9895887, 10092495, -1, -1, -1, 11009999, 15269838, 11599821, 12976079, 9699277, 11403212, 9306060, -1, 9437135, 15073228, 11599821, 9699278, 12976078, 8585166, 11141071, 9764814, 11468750, 9961422, 9830350, 10092494, 10026958, 8912844, 9174991, 9502669, 10158028, 10092495, 9895884, 9699277, 9699278, 8519628, 11141068, 9764813, 11599820, 11599820, 9830349, 12976078, 12976076 + + 3, 14 + + + 8716236, 9043916, 12976078, 12976079, 10026959, 9699279, 10092492, 12976078, 8781772, 10092492, 9568205, 12976077, 10158031, 9568206, 9830348, 11468748, 9699276, 10026959, 9895886, 10092492, 13041613, 9699276, 9961423, 10878927, 10026956, 12976078, 9830348, 9961420, 9830349, 9699276, 9961423, 11993039, 10026958, 12976077, 9961423, 11337676, 9633741, 10026959, 9961423, -1, 13041615, 10026957, 9633743, 13893580, 9502669, 10026957, 9633743, 10682319, 10092492, 10092493, 13107151, 13828044, 9633741, 9699278, 9502671, 10944463, 10026959, 10092493, 9174991, 13762508, 13107149, 12976078, 11599823, 10878926 + + 4, 14 + + + 9633743, 13762508, 10354637, -1, -1, -1, -1, -1, 9764812, -1, 9437132, 9371596, 10551244, 12124108, -1, -1, 11927500, 5046220, 10289100, 13369292, 10878924, 10551245, -1, -1, 10616804, -1, 10616804, -1, 10485709, 11009997, -1, -1, -1, -1, -1, -1, 10289101, 11009997, -1, -1, 10616804, -1, 10223588, 10420196, 11206605, 11009997, -1, -1, -1, -1, 10420196, 10223588, -1, 9371597, -1, -1, 13172684, -1, -1, 12845004, 10878925, 9371597, -1, -1 + + 0, 6 + + + 8519662, 8454126, 8519662, 8454126, 11141103, 8126445, -1, -1, 8912876, 9043948, 8978412, 9043948, 9175023, 8126445, -1, -1, 8519660, 12320748, 11534317, 8847340, 9175023, 8388589, -1, -1, 11272174, 8257518, 9175021, 8323052, 8650735, 8388589, -1, -1, -1, 8126447, 8454125, 8978412, 8519663, 8126445, -1, -1, -1, 8388591, 8519661, 9109484, 9175023, 8126445, -1, -1, -1, 8126447, 8519661, 11796460, 8650735, 11861997, -1, -1, -1, 12386287, 8585197, 8978412, 8650735, 8257516, 11403244, 9306092 + + 1, 6 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 12124143, 11010028, 11010028, 9371628, 11010028, 10551276, 10354668, -1, 9371631, 15073260, 15400941, -1, 15138797, 15138799, 15138797, -1, 10354671, 15335406, 196588, 196588, 262125, 11599854, 11599854, -1, 9371631, 15335404, 262125, 12976109, -1, 10092524, 9699308, -1, 9437167, 15073260, -1, 196588, 196588, 10092524, 196588 + + -2, 6 + + + 10158051, 10158051, 8978400, 10026976, 8781792, 8716256, 8323040, 11534307, 9109472, 12976097, 12976097, 10026977, 8847328, 9568226, 8716256, 9043936, 10026977, 10026976, 10092514, 8323040, 9830368, 8650720, 8585184, 8519648, 10026978, 9699297, 9895904, 9699299, 9502691, 10878947, 11993056, -1, 9502688, 9961440, 11468768, 9961440, 9764832, 10289123, 10420216, 10223608, 12713952, 12779488, 12910560, 12779488, 9437154, 10878946, 12845024, 12845024, -1, -1, -1, -1, 12124130, 12779488, 12713952, 12779488, -1, -1, -1, -1, -1, -1, -1, -1 + + -1, 6 + + + 8519650, 8454114, 8454114, 9175010, 8650722, 14942178, 14745574, 14876650, 8716256, 8847328, 9043936, 11796448, 8323040, 14614499, 14680039, 14614507, 9175008, 8650720, 8454112, 9175008, 9175008, 14483424, 14417892, 14352360, 10878944, 9437153, 9306082, -1, 11665378, 5570528, 5570532, 5570536, 10485729, 10551265, -1, -1, -1, -1, -1, -1, 10878945, 10354657, -1, -1, -1, -1, -1, -1, 12779488, 12124129, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 4, 6 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 11010028, 12124140, -1, -1, 7995375, 8126444, 8126444, 12451820, 15073260, 9371629, -1, -1, 12386287, 11141102, 8519662, 8454126, 15204334, 11010029, -1, -1, -1, 8650733, 8781804, 11796460, -1, 11010029, -1, -1, -1, 8650733, 11796460, 11534316, 15073260, 9437164, 9240556, -1, 8257519, 9175021, 8978412, 8650735 + + 5, 6 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 8126444, 11861996, 12451820, -1, 8126444, 8126444, 12451820, 8519662, 9175022, 12320750, 8585198, 8519662, 8519662, 9175022, 8585198, 8781804, 8912876, 8716268, 8781804, 8912876, 11796460, 8978412, 8716268, 8585196, 8585196, 12320748, 9175020, 8585196, 8650732, 8454124, 9175020, 8257517, 12255214, 11665390, 12386286, -1, -1, 11665390, 11665390 + + 2, 6 + + + -1, -1, -1, 5570537, 14352361, 14548968, 14811115, 15007721, -1, -1, -1, 8126447, 8454125, 8716268, 8454127, 8126445, -1, -1, -1, 8126447, 8585197, 9043948, 9175023, 8126445, 10354668, 9240556, -1, 8257519, 8585197, 8912876, 8454127, 8257516, 15335407, 15138797, 15335407, 15073260, 8454125, 11796460, 8585199, 15073260, 11599854, 11599854, 9633774, 12320750, 11534318, 9109484, 11534319, 12320750, 10092527, 10026990, 10026989, 9109484, 8912876, 8323052, 11796460, 8978412, 196588, 262125, 10026991, 11796460, 8716268, 9043948, 8781804, 9043948 + + 3, 6 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9306092, -1, 10354668, 10354668, 10551276, 11010028, 11010028, 10551276, 15335407, 15269869, 15138797, 15204333, -1, 15269871, 15269871, 15138797, 9502702, 9502702, 196588, 196588, 262125, 9633774, 9502702, 9764847, 10026991, 9568238, 262125, 9699311, -1, 9699309, 10026990, 9502703, 9699309, 9699308, -1, 196588, 196588, 9699309, 12976109, 9830383 + + -4, 6 + + + 8454126, 8454126, 8519662, 8454126, 8519662, 14352362, 14417894, 14483426, 8978412, 11796460, 8912876, 8323052, 8716268, 14614505, 14680037, 14614497, 8978412, 8323052, 11534316, 8519660, 9175020, 14876648, 14745572, 14942176, 8323052, 8978412, 8519663, 8257517, 12255214, 15007722, 15007718, 15007714, 8781804, 8847340, 12320751, 8126445, -1, -1, -1, -1, 8781804, 8978412, 8519663, 8126445, -1, -1, -1, -1, 9043948, 8781804, 8454127, 8126445, -1, -1, -1, -1, 8585196, 9175020, 11141100, 11861997, -1, -1, -1, -1 + + -3, 6 + + + 8650722, 8519650, 11534306, 11796448, 11796448, 11796448, 12976099, 8847328, 8912864, 11796448, 8716256, 8912864, 9109472, 8912864, 9699297, 9699297, 8585184, 8454112, 8454112, 8454112, 9175008, 9830369, 9699298, 10092512, 9437154, 10878947, 13369312, 11927520, 10878944, 9961441, 9699299, 12976096, 10551267, 10289123, 10223608, 10420216, 10485729, 9764833, 9961440, 9961440, 10354659, 10878946, 12845024, 12845024, 10878945, 9437153, 12779488, 12779488, 12124130, 12779488, 12713952, 12779488, 12910560, 12124129, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -5, 6 + + + -1, -1, 10551279, 9764846, 9961454, 11599854, 11599854, 9502702, -1, -1, 10551279, 11599853, 10026988, 9699309, 10026991, 11796460, -1, -1, 9371631, 9633773, 13041647, 12976108, 8323052, 9568236, -1, -1, 9306095, 8454125, 10026989, 10092524, 10026990, 10092524, -1, -1, -1, 11599853, 11796460, 8978412, 9699310, 8323052, -1, -1, 12451823, 8454125, 8978412, 8912876, 8323052, 11796460, -1, -1, -1, 8585197, 8781804, 11796460, 8912876, 8978412, -1, -1, 8126447, 9175021, 9109484, 11534316, 9175020, 8650732 + + 9, 15 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 8126412, 11403212, 8126412, 8126412, 15007692, 15007696, 8126420, 8126420, 8650702, 8454094, 8454094, 8585166, 14811086, 14745554, 8650710, 9174998, 8716236, 8978380, 9109452, 11796428, 14548943, 4325331, 8978388, 8847316, 8519628, 8454092, 8454092, 8519628, 14286796, 5963728, 8454100, 9174996 + + 10, 15 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 8388564, 11403220, 8126420, 7995348, -1, -1, -1, -1, 9174998, 8650710, 11141079, 8126421, -1, -1, -1, -1, 11796436, 8978388, 9174999, 8388565, -1, -1, -1, -1, 11534293, 9109460, 8585175, 8388565, -1, -1, -1, -1 + + 7, 15 + + + -1, -1, -1, -1, -1, -1, -1, -1, 9371596, 10551244, 10551244, 12124108, -1, -1, -1, -1, 15269837, 15335373, 15073228, 10551245, -1, -1, -1, -1, 9502670, 9764815, 15335374, 10354637, -1, -1, -1, -1, 10092495, 11468751, 15073228, 9437132, 9371596, 10354636, 10551244, 9371596, 10092494, 9830351, 9633742, 9633742, 9502670, 11468750, 9502670, 9633742, 9699279, 9699279, 10092495, 12976077, 9699277, 13041614, 10026959, 9699277, 9502668, 9961420, 9502668, 9830349, 10092493, 9699276, 10092495, 9830348 + + 8, 15 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10354636, 9240524, -1, 11861964, 11861964, 8388556, 11861964, 11403212, 9633742, 8519630, 8454094, 9174990, 9174990, 8585166, 9174990, 8585166, 9699279, 11796428, 9109452, 8912844, 8847308, 11796428, 8978380, 8323020, 11599820, 9174988, 12320716, 8519628, 8585164, 9174988, 8585164, 8519628 + + 5, 15 + + + -1, -1, -1, -1, -1, -1, -1, -1, 10354636, 10354636, 10551244, 9371596, 9371596, 9371596, 10551244, 9371596, 15073228, 15335375, 15335373, 15138765, 15335375, 15269839, 15138765, 15335373, 15269836, 9764814, 9961422, 8519630, 8585166, 8519630, 11468750, 9633742, 15073228, 9502669, 10026959, 9043916, 8716236, 9043916, 10092495, 9699278, 11599822, 9830350, 9699278, 8781772, 11796428, 9043916, 8847308, 8781772, 10026959, 10158030, 9699276, 12976079, 8912844, 9109452, 9043916, 8847308, 11599820, 9961420, 9961420, 9961420, 9961420, 11534285, 8978380, 10026959 + + 6, 15 + + + -1, -1, -1, -1, -1, -1, -1, -1, 10354636, 10354636, 9371596, 10551244, 10354636, 10354636, 10354636, 10354636, 15138767, 15269837, 15269837, 15138767, 15335375, 15335375, 15138765, 15335373, 9961422, 11599822, 9961422, 9633742, 9961422, 11468750, 9502670, 11468750, 10092495, 9568207, 9699279, 10092495, 9568205, 9568205, 9699277, 9699278, 10026957, 12976077, 12976077, 10158030, 10092494, 9699276, 10026958, 10158031, 8847308, 10092495, 9568207, 12976077, 10026958, 10092492, 10092493, 10158029, 10026956, 10026959, 9699276, 9699279, 12976079, 9830348, 13107148, 11599820 + + 3, 15 + + + 8323020, 8978380, 9174991, -1, 9502669, 10092493, 9502671, 9437133, 10092494, 8781772, 8519631, 13762508, 11599821, 9699277, 11599823, 11009997, 8454092, 8519628, 11141068, -1, 9502669, 9699279, 11599823, 9371597, 12058572, -1, 13369292, 12648396, 11599821, 12976078, 9502671, 10354637, 10420196, 10223588, 10420196, 10289101, 9633741, 12976077, 9502671, 9437132, 10616804, -1, 10223588, 10944461, 9502669, 9699277, 9830351, 11599822, -1, -1, 10223588, 10289101, 9961421, 10092492, 12976076, 12976076, 12845004, 12845004, 12845004, 10878925, 9764813, 11599820, 13107148, 9502668 + + 4, 15 + + + 12779468, 12779468, 12779468, 12779468, 12910540, 12124109, -1, -1, -1, -1, -1, -1, -1, -1, -1, 12124111, -1, -1, -1, -1, -1, -1, -1, 10354639, -1, -1, -1, -1, -1, -1, -1, 10354639, 11009996, 10354636, 10354636, 9371596, 10354636, 10354636, 9371596, 9437135, 11599822, 11599822, 11599822, 9502670, 8585166, 8519630, 9174990, 11599822, 12976076, 12976076, 10026957, 8847308, 8847308, 9043916, 8912844, 9043916, 11599820, 11599820, 9961420, 9830349, 9568206, 11796428, 9109452, 11534284 + + 1, 15 + + + -1, -1, 15007710, 15007706, 15007702, 15007698, 15007694, 11665358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 2, 15 + + + 11272142, 9240526, -1, 9437134, 15073228, 11468749, 10092494, 10092492, -1, -1, -1, 10354639, 15269838, 9502669, 10092495, 11796428, -1, -1, -1, 9371599, 15073228, 9764813, 9502668, 11599820, -1, -1, -1, 9371599, 10878927, 13369292, 10289100, 11927500, -1, -1, -1, 10551247, 10944463, 10420196, 10616804, -1, -1, -1, -1, 10551247, 10747855, 10420196, -1, -1, -1, -1, -1, 10354639, 10682319, 10223588, 10420196, 10223588, -1, -1, -1, 9371599, 10878926, 12845004, 12845004, 12845004 + + 6, 6 + + + -1, -1, -1, 8454117, 11796452, 9175015, -1, -1, -1, -1, 5570533, 14286821, 14548964, 14811111, 15007717, -1, -1, -1, 5570537, 5963753, 4325352, 14745579, 15007721, -1, -1, 8126444, 8257519, 9175021, 8716268, 8650735, 8126445, -1, 8585198, 8585198, 9175022, 11534318, 8781804, 8454127, 8126445, -1, 11796460, 8716268, 8912876, 8323052, 11796460, 9175023, 8126445, -1, 8454124, 8519660, 9175020, 12320748, 8519660, 11141100, 8388589, -1, 11665390, 11665390, 11665390, 11272174, 11665390, 12255214, 7995373, -1 + + 0, 15 + + + -1, -1, -1, -1, 7995362, 11665378, 11665378, 12386274, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 3, 7 + + + 10026990, 12976108, 10026991, 10092524, 9699309, 9699309, 12976109, 12976108, 9699309, 9699309, 10092524, 12976110, 10092525, 10092525, 9699310, 12976108, 196588, 196588, 262125, 10092526, 9699309, 12976108, 12976109, 12976108, 262125, 10092524, -1, 10092526, 10092526, 10092526, 9568239, 9830380, -1, 196588, 196588, 10092524, 10026989, 10092525, 10026988, 9961455, 9699309, 10026988, 10158061, 9699309, 9699309, 196588, 196588, 262125, 9699308, 10092524, 12976110, 9699310, 12976110, 262125, 9699308, -1, 9633772, 9961452, 9961452, 9961452, 9961452, -1, 196588, 196588 + + 4, 7 + + + 9699310, 11141102, 8454126, 8519662, 8650734, 11534318, 8978412, 8650735, 9699309, 8650733, 9043948, 9109484, 11796460, 9109484, 8323052, 8454127, 12976111, 11141101, 9175020, 8650732, 8454124, 8585196, 8519660, 11141100, 11337708, 9437165, 9306094, -1, 11665390, 12255214, 11665390, 11665390, 12517356, 9371629, -1, -1, -1, -1, -1, -1, 12517356, 11010029, -1, -1, -1, -1, -1, -1, 13762540, 11010029, -1, -1, -1, -1, -1, -1, -1, 10551277, -1, -1, -1, -1, -1, -1 + + 5, 7 + + + 12386285, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7995373, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -1, 7 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7995375, 11861996, -1, -1, -1, -1, -1, -1, 11861999, 11141102 + + 0, 7 + + + -1, -1, 8650733, 11796460, 11534319, 8519662, 8519662, 8519662, -1, -1, 12320749, 9043948, 8323052, 9109484, 8323052, 8912876, -1, 8126447, 11141101, 11534317, 11796460, 11534316, 8454124, 8650732, -1, 7995374, 8257518, 8519661, 8716268, 8454127, 8257517, 9240558, -1, -1, 8126447, 8454125, 8716268, 9175023, 8126445, -1, -1, -1, 11861999, 9175021, 8323052, 8519663, 12451821, -1, 8126444, 8388588, 8257519, 8585197, 8912876, 8519663, -1, -1, 12320750, 8519662, 8519662, 11534318, 8716268, 8454127, 8126445, -1 + + 1, 7 + + + 8650734, 11141103, 9699310, 12976108, 10026991, 12976111, 10026989, 262125, 11796463, 8650735, 13041646, 12976108, 10026990, 9568239, 12976109, -1, 8454124, 11141100, 13041647, 12976108, 13041646, 9568237, 10026990, 10092527, -1, 9437166, 11337708, 9830381, 12976111, 9699309, 9699308, 9699311, -1, 9371631, 13828076, 9961453, 10026991, 12976111, 9699311, 12976110, -1, 10354671, 13893612, 9502701, 12976110, 196588, 196588, 262125, -1, 11010031, 13762540, 9961453, 10092526, 262125, 12976108, -1, -1, 10354671, -1, 9764845, 9633772, -1, 196588, 196588 + + 2, 7 + + + 10026988, -1, 10092524, 8716268, 8716268, 8716268, 8847340, 8781804, 196588, 196588, 12976109, 8978412, 8716268, 8847340, 8716268, 8912876, 10092525, 10092525, 10092524, 9699309, 9109484, 11796460, 8912876, 12976111, 9699308, 10026989, 10026991, 12976110, 12976108, 10092526, 9699311, 9699310, 12976111, 10026988, 9699308, 9699310, 10092525, 9699309, 10092527, 10026988, 10092524, 12976110, 10092527, 8847340, 8781804, 12976108, 8781804, 11796460, 9699308, 10026991, 9699309, 9043948, 10026991, 12976110, 12976108, 8781804, 9961452, 9961452, 9633772, 11534317, 11796460, 8912876, 11796460, 11534316 + + -5, 7 + + + -1, -1, 8126447, 8519661, 8978412, 8585199, 8257517, 11272174, -1, -1, 5570541, 14352365, 14614508, 14876655, 15007725, -1, -1, -1, 5570545, 14286833, 14548976, 14811123, 15007729, -1, -1, -1, 5570549, 5963765, 4325364, 14745591, 15007733, -1, -1, -1, 8126459, 8585209, 8847352, 8650747, 12451833, -1, -1, -1, 8388603, 9175033, 9109496, 8519675, -1, -1, -1, -1, 11862011, 131064, -1, -1, 8126457, -1, -1, -1, 8388603, -1, -1, -1, 8126457, -1 + + -4, 7 + + + 11665390, 11272174, 12255214, 7995373, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 8, 16 + + + 9437133, 9306062, -1, 11665358, 11665358, 11665358, 11665358, 12255182, 10354637, -1, -1, -1, -1, -1, -1, -1, 10354637, -1, -1, -1, -1, -1, -1, -1, 10354637, -1, -1, -1, -1, -1, -1, -1, 9371597, -1, -1, -1, -1, -1, 12124119, 10354644, 10354637, -1, -1, -1, -1, -1, 10354647, 10878935, 10354637, -1, -1, -1, -1, -1, 10354647, 10289111, 10551245, -1, -1, -1, -1, -1, 10354647, 12582871 + + 9, 16 + + + 11665358, 11665358, 11272142, 12255182, 5570508, 5570512, 11272150, 8257494, -1, -1, -1, -1, -1, -1, -1, 9240535, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9371607, 9371604, 10354644, 9371604, 10551252, 10551252, 9371604, 10551252, 9437143, 13369300, 11993044, -1, 11927508, 10878932, 15073236, 15335381, 15073236, 10616812, -1, 10616812, -1, 10944469, 9764822, 9961430, 9961430, -1, -1, -1, -1, 12582869, 9502677, 10026967, 9699285 + + 10, 16 + + + 8519637, 9043924, 8585175, 8126421, -1, -1, -1, -1, 8454101, 11796436, 9174999, 9306069, -1, -1, -1, -1, 11141077, 8519636, 11141076, -1, -1, -1, -1, -1, 9764822, 11468758, 9764823, 10551253, -1, -1, -1, -1, 9633749, 12976085, 11468759, 9437140, 10354644, 10354644, 10354644, 10354644, 9502677, 9699287, 9633751, 15073236, 15269845, 15073236, 10878935, 13369300, 9830358, 9699287, 9830359, 9961430, 9502678, 9764823, 10289111, 10420204, 9568215, 9699287, 13041622, 10092500, 10092503, 11468759, 11927511, 10616812 + + 11, 16 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10551252, 10551252, 10354644, 10354644, 12124116, -1, -1, -1, 11206612, -1, 11927508, 10878932, 9371605, -1, -1, -1, 10223596, 10616812, -1, 10289109, 10551253, -1, -1, -1, -1, -1, -1, 10485717, 9371605, -1, -1, -1 + + 4, 16 + + + 15335373, 15335375, 15073228, 9961421, 11796428, 8781772, 11796428, 9174991, 12779468, 9437134, 15138766, 9502669, 9699278, 9895884, 8847308, 11468751, -1, 10354639, 15073228, 9633741, 10026957, 10092493, 10026956, 11468751, -1, 10354639, 11337676, 9502669, 12976079, 10026959, 9568207, 9633743, -1, 10354639, 14090188, 9764813, 11468748, 11468748, 13107148, 9764812, -1, 10551247, 13959116, 10878927, 10747852, 14221260, -1, -1, -1, 12124110, 9437134, 10289103, 10223588, 10223588, 10616804, -1, -1, -1, 10354639, 12582863, 10616804, -1, -1, -1 + + 5, 16 + + + 11337676, 9437133, 12779468, 12779468, 9437134, 11468749, 9699278, 13041612, 13762508, 10354637, -1, -1, 9306063, 9502669, 10026956, 10026958, -1, 10354637, -1, -1, -1, 8454093, 10026958, 9043916, 14090188, 10551245, -1, -1, 8388559, 8650701, 8978380, 9043916, 13696972, 10354637, -1, -1, 8126415, 9174989, 8912844, 8978380, 12648396, 10354637, -1, -1, 8126415, 8519629, 8323020, 8323020, 11993037, 10354637, -1, -1, 11861967, 9174989, 8323020, 11796428, -1, 10354637, -1, -1, 8388559, 11141069, 8454092, 9174988 + + 6, 16 + + + 12976078, 9699276, 9699277, 9699278, 9895884, 9174991, 9437133, 12779468, 9109452, 12976079, 10092492, 10092494, 8978380, 8650703, 9240525, -1, 9699277, 12976078, 10026956, 8912844, 11796428, 8585167, -1, -1, 12976077, 10158029, 10026959, 12976077, 9109452, 9633743, 8126413, -1, 9699276, 12976078, 8847308, 8716236, 8847308, 9174991, 8126413, -1, 8847308, 8847308, 9109452, 10158030, 12976077, 9174991, 8126413, -1, 8716236, 8781772, 8716236, 8847308, 9699277, 13107151, 11861965, -1, 8650700, 9174988, 8650700, 9961420, 9174988, 9764812, 8126413, -1 + + 7, 16 + + + 12779468, 9437134, 11337676, 9961421, 10026956, 10026956, 8716236, 8519631, -1, 10551247, 13762508, 11599821, 12976078, 8323020, 8978380, 9174991, -1, 9371599, -1, 9633741, 8912844, 8716236, 8847308, 8650703, -1, 11009999, 13696972, 9633741, 11796428, 8912844, 11796428, 8454095, -1, 9371599, 14090188, 9764813, 9961420, 8585164, 9174988, 11141068, -1, 11009999, 11075532, 11927500, 13369292, 11993036, -1, 10878924, -1, 10354639, 10485711, 10616804, -1, 10616804, -1, 10944461, -1, 11009999, 12058575, -1, -1, -1, -1, 12582861 + + 2, 16 + + + -1, -1, -1, 12124110, 12779468, 12779468, 12910540, 12779468, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 3, 16 + + + 12910540, 12779468, 9437134, 13959116, 13631436, 13565900, 14155724, 15073228, -1, -1, 12124110, 12779468, 10354638, 12779468, 12910540, 12779468, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 4, 8 + + + 14155756, 10551277, -1, -1, -1, -1, -1, -1, 12779500, 12124141, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10354680, 11010040, 9371640, 11010040, 12124152, -1, -1, -1, -1, 15138809, 15073272, 11337720, 11010041, -1, -1, -1, 12779512, 12713976, 9437178, 13697016, 11010041, -1, -1, -1, -1, -1, 9371643, 13893624, 11010041, -1, -1, -1, -1, -1, 11010043, 13893624, 11010041, -1, -1, -1 + + 2, 8 + + + 13631468, 13631468, 14155756, 8454125, 11796460, 8912876, 11796460, 8454127, 11665390, 11665390, 8257518, 8585197, 8978412, 9109484, 8781804, 8519663, -1, -1, 5570541, 14417901, 786413, 14680044, 14614508, 14942191, -1, -1, 5570545, 14417905, 851953, 14614512, 14680048, 14745587, -1, -1, 5570549, 14417909, 786421, 851957, 14614516, 14876663, 8126456, 8126456, 8257531, 8650745, 9109496, 8716280, 9043960, 8454139, 11141114, 8454138, 8454138, 11534330, 9109496, 11796472, 9043960, 11534331, 8650745, 8847352, 8978424, 8847352, 11796472, 8978424, 9043960, 11796472 + + 3, 8 + + + 13959148, 13631468, 13631468, 4849644, 13631468, 13500396, -1, 4849644, 8257517, 11665390, 11665390, 12255214, 11665390, 12713964, 12779500, 12713964, 15007725, -1, -1, -1, -1, -1, -1, -1, 15007729, -1, -1, -1, -1, 12124155, 9371640, 11010040, 15007733, -1, -1, -1, -1, 10354683, 15073272, 15400955, 8257528, 8126456, 8126456, 7995384, -1, 12124154, 12713976, 12779512, 8454138, 8454138, 11141115, 9306105, -1, -1, -1, -1, 8912888, 8847352, 8454139, -1, -1, -1, -1, -1 + + 0, 8 + + + 9109484, 11796460, 11796460, 8323052, 8978412, 8519663, 8126445, -1, 8978412, 11534316, 8454124, 8585196, 8454124, 11141100, 11861997, -1, 8323052, 8585199, 8257517, 12255214, 11665390, 11665390, 7995373, -1, 9043948, 9175023, 12451821, -1, -1, -1, 12124155, 10354680, 8323052, 8650735, -1, -1, -1, -1, 10354683, 11337720, 14614508, 14942191, 15007725, -1, -1, -1, 10354683, 12517368, 14680048, 14745587, 15007729, -1, -1, -1, 10354683, 12517368, 14614516, 14876663, 15007733, -1, -1, -1, 10354683, 13762552 + + 1, 8 + + + -1, 11010031, 13959148, 13434860, 13565932, 13631468, 13500396, -1, -1, 12124142, 12713964, 12779500, 12779500, 12713964, 11272174, 11272174, -1, -1, -1, -1, -1, -1, -1, -1, 10551288, 11010040, 10354680, 11010040, 10551288, 12124152, -1, -1, 15073272, 15269881, 15204347, -1, 15073272, 9371641, -1, -1, 9437177, 12713976, 12779512, 12910584, 12713976, 12124153, -1, 7995387, 9371641, -1, -1, -1, -1, -1, -1, 9240571, 9371641, -1, -1, -1, -1, -1, -1, -1 + + -2, 8 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7995384, -1, -1, -1, -1, -1, -1, -1, 8257528, 9306104, -1, 10551288, 10354680, 10354680, 10354680, 10354680, 8519674, 8519674, 8585210, 11599866, 9502714, 9633786, 9633786, 11599866, 8781816, 9109496, 8716280, 9699321, 10027001, 9568248, 10092538, 12976123, 8585208, 8585208, 12320760, 9830393, 9699322, 9699321, 10092536, 9699322 + + -1, 8 + + + -1, -1, -1, -1, -1, -1, 8388591, 8585197, -1, -1, -1, -1, -1, -1, 8388591, 8519661, -1, -1, -1, -1, -1, -1, 11861999, 8519661, -1, -1, -1, -1, -1, -1, 8126447, 8650733, 9371640, 10354680, 12124152, -1, -1, -1, 11861999, 8454125, 9961466, 9764859, 10354681, -1, -1, -1, 5570541, 14483437, 10092538, 9961467, 9371641, -1, -1, -1, 5570545, 14417905, 12976120, 11599867, 10354681, -1, -1, -1, 5570549, 14352373 + + -3, 8 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7995387, 11403256, -1, 7995387, 8126456, 8126456, 8126456, 8126456, 8257531, 8781816, -1, 12451835, 131064, -1, -1, 9175034, 8650746, 8585210, -1, -1, -1, -1, -1, 11796472, 8323064, 11796472, -1, 8126459, -1, -1, -1, 8454136, 8585208, 9175032 + + -6, 8 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10354680, 10354680, 10354680, 10354680, 10354680, 12124152, -1, -1, 11927544, 11993080, -1, 10944504, 10878968, 10551289, -1, -1, -1, 10551312, -1, 10354704, 10682361, 10354681, -1, -1 + + -5, 8 + + + -1, -1, 8126459, -1, -1, -1, 11862009, -1, -1, -1, 8126459, 9175033, 8978424, 8454139, 8126457, -1, -1, -1, 8126459, 9175033, 11796472, 9175035, 8126457, -1, -1, 7995387, 8257531, 9175033, 8978424, 8650747, 8126457, -1, -1, 8126459, 8978424, 8650745, 11796472, 8454139, 12451833, -1, -1, 7995386, 8257530, 8650745, 9109496, 9175035, -1, -1, -1, -1, 11862011, 9175033, 11796472, 8454139, 8126457, -1, -1, -1, 8126459, 8454137, 11796472, 8454139, 8257528, 7995384 + + -7, 8 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 12124155, 10551288, 10354680, -1, -1, -1, -1, -1, 10354683, 10878971, 10682360, -1, -1, -1, -1, -1, 10354683, 10682363, 10551312 + + + + + + + Traps and Hazards/Floor/Spike/3x2 + + Cycle + A + Tag + + + + + + + Traps and Hazards/Floor/Spike/3x3 + + Cycle + A + Tag + + + + + + + Traps and Hazards/Floor/Spike/1x1 + + Cycle + A + Tag + + + + + + + Traps and Hazards/Floor/Spike/2x1 + + Cycle + A + Tag + + + + + + + + + + + + + + Clockworks Poison/Ramp/East 01, diamond + + + + + Clockworks Poison/Ramp/East 04, panel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Clockworks Poison/Ramp/North 06, %SLASH% + + + + + + + + + + + + Clockworks Poison/Fence, high/Horizontal x1, copper flat 2 + + + + + + + Clockworks Poison/Wall/Fence connector + + + + + + + + + + + + Clockworks Poison/Ramp/Rail/Rail left 01 + + + + + + + + + + Clockworks Poison/Ramp/Trim/Left 3, loop + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Clockworks Poison/Edge railing/Rail, catwalk Out 01 + + + + + + Clockworks Poison/Edge railing/Rail, catwalk 01 + + + + + + Clockworks Poison/Edge railing/Rail, catwalk In 01 + + + + + Clockworks Poison/Floor, catwalk/Catwalk 01 + + + + + Clockworks Poison/Edge railing/Rail, catwalk 03 + + + + + Clockworks Poison/Floor, catwalk/Trim/Trim 02 + + + + + Clockworks Poison/Floor, catwalk/Trim/Trim 03 + + + + + Clockworks Poison/Floor, catwalk/Trim/Trim 05 + + + + + Clockworks Poison/Floor, catwalk/Trim/Trim 06 + + + + + Clockworks Poison/Floor, catwalk/Catwalk 03 + + + + + Clockworks Poison/Floor, catwalk/Catwalk 05 + + + + + Clockworks Poison/Floor, catwalk/Catwalk 07 + + + + + Clockworks Poison/Floor, catwalk/Catwalk 02 + + + + + Clockworks Poison/Floor, catwalk/Catwalk 04 + + + + + Clockworks Poison/Floor, catwalk/Catwalk 08 + + + + + Clockworks Poison/Floor, catwalk/Catwalk 06 + + + + + Clockworks Poison/Floor, catwalk/Trim/Trim 01 + + + + + Clockworks Poison/Edge railing/Rail, Transition L + + + + + Clockworks Poison/Edge railing/Rail, Transition R + + + + + Clockworks Poison/Edge railing/Rail, base 03 + + + + + Clockworks Poison/Edge railing/Rail, base In 01 + + + + + Clockworks Poison/Floor, base/Trim/Trim 03 + + + + + Clockworks Poison/Floor, base/Swirly 01 + + + + + Clockworks Poison/Floor, base/Trim/Trim 06 + + + + + Clockworks Poison/Floor, base/Base 03 + + + + + Clockworks Poison/Floor, base/Trim/Trim Out 01 + + + + + Clockworks Poison/Floor, base/Trim/Trim In 01 + + + + + Clockworks Poison/Floor, base/Swirly 03 + + + + + Clockworks Poison/Floor, base/Trim/Trim 01 + + + + + Clockworks Poison/Floor, base/Base 04 + + + + + Clockworks Poison/Floor, base/Base 02 + + + + + Clockworks Poison/Floor, base/Swirly 02 + + + + + Clockworks Poison/Floor, roof/Base 1unit, plate + + + + + Clockworks Poison/Wall/Blue panel x1 01 + + + + + Clockworks Poison/Edge railing/Rail, base 01 + + + + + Clockworks Poison/Floor, roof/Base 1unit, 01 + + + + + Clockworks Poison/Wall/Blue panel x1 04 + + + + + Clockworks Poison/Edge railing/Rail, base 02 + + + + + Clockworks Poison/Floor, roof/Base 2unit, 01 + + + + + Clockworks Poison/Wall/Blue panel x1 02 + + + + + Clockworks Poison/Wall/Iron bits x1, vent + + + + + Clockworks Poison/Wall/Corner In NW 01 + + + + + Clockworks Poison/Wall/Corner Out 01 + + + + + Clockworks Poison/Wall/Blue panel x1 03 + + + + + Clockworks Poison/Edge railing/Rail, base 04 + + + + + Clockworks Poison/Wall/Fence connector, corner SW + + + + + Clockworks Poison/Floor, catwalk/Trim/Trim Out 01 + + + + + Clockworks Poison/Wall/Blue panel x2 03 + + + + + Clockworks Poison/Edge railing/Rail, catwalk Back seam + + + + + Clockworks Poison/Fence, high/Corner 01, north + + + + + Clockworks Poison/Edge railing/Rail, catwalk 04 - lever valve + + + + + Clockworks Poison/Floor, base/Trim/Trim 05 + + + + + Clockworks Poison/Floor, catwalk/Trim/Trim In 01 + + + + + Clockworks Poison/Floor, base/Trim/Trim 02 + + + + + Clockworks Poison/Edge railing/Rail, catwalk Back plain + + + + + Clockworks Poison/Wall/Blue panel x2 01 + + + + + Clockworks Poison/Floor, catwalk/Catwalk, solid + + + + + Clockworks Poison/Edge railing/Rail, catwalk 02 + + + + + Clockworks Poison/Wall/Copper flat x1 03 + + + + + Clockworks Poison/Wall/Iron bits x2, iron + + + + + Clockworks Poison/Wall/Blue panel x2 02 + + + + + Clockworks Poison/Edge railing/Rail, base Out 01 + + + + + Clockworks Poison/Wall/Corner In NE 01 + + + + + Clockworks Poison/Edge railing/Rail, catwalk Back indents + + + + + Clockworks Poison/Floor, catwalk/Trim/Trim 04 + + + + + Clockworks Poison/Edge railing/Rail, catwalk x3 01 + + + + + Clockworks Poison/Edge railing/Rail, catwalk x2 01 + + + + + Clockworks Poison/Fence, high/Vertical x1, 02 + + + + + Clockworks Poison/Wall/Blue panel x3 01 + + + + + Clockworks Poison/Wall/Fence connector, corner SE + + + + + Clockworks Poison/Edge railing/Rail, Back 03 + + + + + Clockworks Poison/Edge railing/Rail, Back 01 + + + + + Clockworks Poison/Wall/Back x1 01 + + + + + Clockworks Poison/Edge railing/Rail, Back 02 + + + + + Clockworks Poison/Floor, base/Base 01 + + + + + Clockworks Poison/Floor, base/Swirly 04 + + + + + Clockworks Poison/Floor, base/Trim/Trim 04 + + + + + Clockworks Poison/Wall/Back x3 01 + + + + + Clockworks Poison/Wall/Copper flat x1 01 + + + + + Clockworks Poison/Wall/Back x2 01 + + + + + Clockworks Poison/Wall/Copper flat x1 02 + + + + + Clockworks Poison/Fence, high/Horizontal x1, 03 + + + + + Clockworks Poison/Fence, high/Horizontal x2, 01 + + + + + Clockworks Poison/Fence, high/Horizontal x1, 01 + + + + + Clockworks Poison/Fence, high/Horizontal x1, 02 + + + + + Clockworks Poison/Fence, high/Vertical x1, 03 + + + + + Clockworks Poison/Fence, high/Vertical x2, 01 + + + + + Clockworks Poison/Fence, high/Vertical x1, copper flat 2 + + + + + Clockworks Poison/Fence, high/Vertical x1, 01 + + + + + Clockworks Poison/Fence, high/Corner 01 + + + + + Clockworks Poison/Fence, high/Horizontal x1, copper flat 1 + + + + + Clockworks Poison/Fence, high/Vertical x1, copper flat 1 + + + + + Clockworks Poison/Fence, high/Corner 01, west + + + + + Clockworks Poison/Wall/Blue panel x3 02 + + + + + Clockworks Poison/Ramp/Trim/Left 5 + + + + + Clockworks Poison/Ramp/Trim/Left 2 + + + + + Clockworks Poison/Ramp/Trim/Left 1 + + + + + Clockworks Poison/Ramp/Trim/Left 6, rivets + + + + + Clockworks Poison/Ramp/North 04, panel + + + + + Clockworks Poison/Ramp/North 02, circles + + + + + Clockworks Poison/Ramp/North 05, - + + + + + Clockworks Poison/Ramp/Trim/Right 6, rivets + + + + + Clockworks Poison/Ramp/Trim/Right 1 + + + + + Clockworks Poison/Ramp/Trim/Right 5 + + + + + Clockworks Poison/Ramp/Trim/Right 2 + + + + + Clockworks Poison/Ramp/Rail/Rail right 01 + + + + + Clockworks Poison/Fence, low/Crosser 01 + + + + + Clockworks Poison/Fence, low/02 + + + + + Clockworks Poison/Fence, low/x2 01 + + + + + Clockworks Poison/Fence, low/03 + + + + + Clockworks Poison/Fence, low/01 + + + + + Clockworks Poison/Fence, low/x2 02 + + + + 46 + %dungeon:m.final_test + 35 + + + 3284 + + Prop/General/Undead/Bone plane, ribs + + Color variant + Default + + + + 24.56365, 117.45029, -6.5 + 0.0, 0.0, 0.08715594, -0.99619466 + + + + 3285 + + Prop/General/Undead/Bone plane, pieces + + Color variant + Default + + + + 25.708193, 119.6989, -6.5 + 0.0, 0.0, 0.17364785, -0.9848078 + + + + 3286 + + Prop/General/Undead/Bones, bone 02 + + Color variant + Default + + + + 23.27314, 119.7949, -6.5 + 0.0, 0.0, 0.7933533, -0.6087614 + + + + 3287 + + Prop/General/Undead/Bone plane, jaw + + Color variant + Default + + + + 22.903704, 120.44806, -6.5 + 0.0, 0.0, 0.7660442, -0.64278793 + + + + 3282 + + + 24.04667, 118.63583, -6.5 + 0.0, 0.0, -0.04361933, 0.99904823 + + + + 3283 + + + 25.634596, 117.930214, -6.5 + 0.0, 0.0, 0.73727685, -0.6755907 + + + + 3292 + + + 24.610752, 122.47316, -6.5 + 0.0, 0.0, 0.08715594, -0.99619466 + + + + 3288 + + + 24.18043, 120.996704, -6.5 + 0.0, 0.0, -0.9961947, -0.08715531 + + + + 3289 + + + 22.365335, 121.560616, -6.5 + 0.0, 0.0, 0.53729975, 0.8433913 + + + + 3290 + + Prop/General/Undead/Bone plane, chips + + Color variant + Default + + + + 23.56047, 121.86749, -6.5 + 0.0, 0.0, 0.34202015, 0.9396926 + + + + 3291 + + Prop/General/Undead/Bones, bone 01 + + Color variant + Default + + + + 25.567589, 121.33603, -6.5 + 0.0, 0.0, 0.3007058, -0.953717 + + + + 4384 + + Character/Monster/Generic/Wave Spawn + + Spawn Table + + Monster/Tutorial/Training Grounds/Dust Zombie + + Tag + wave 3x + + + Spawn Tag + spawn 3x + Wave Number + 3x + + + + 45.712135, 133.4908, -6.5 + 0.0, 0.0, 0.30070588, 0.95371693 + + + + 4386 + + + 46.643192, 134.95819, -6.5 + 0.0, 0.0, 0.30070585, 0.95371693 + + + + 4370 + + Dynamic/Block/Treasure/Training Grounds + + + 62.5, 129.5, -6.5 + + + + 4371 + + Character/Monster/Generic/Single Spawn + + Spawn Table + + Monster/Tutorial/Training Grounds/Jelly Cube + + Tag + (Wave Tag) + + + Spawn Tag + spawn 1d + Wave Number + 1d + + + + -15.5, 47.5, -4.0 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 4368 + + + 61.5, 130.5, -6.5 + + + + 4369 + + + 60.5, 129.5, -6.5 + + + + 3317 + + + 37.495193, 129.2556, -6.5 + 0.0, 0.0, 0.21643978, -0.97629595 + + + + 3314 + + + 22.08024, 112.1383, -6.5 + 0.0, 0.0, 0.9537169, -0.3007062 + + + + 3315 + + + 36.22562, 129.36183, -6.5 + 0.0, 0.0, -0.8433911, 0.53730005 + + + + 3312 + + + 21.87582, 112.43379, -6.5 + 0.0, 0.0, 0.2164397, -0.97629607 + + + + 4373 + + Character/Monster/Generic/Wave Spawn + + Spawn Table + + Monster/Tutorial/Training Grounds/Dust Zombie + + Tag + wave 1x + + + Spawn Tag + spawn 1x + Wave Number + 1x + + + + 46.458824, 129.51828, -6.5 + 0.0, 0.0, 0.17364544, 0.9848082 + + + + 3313 + + + 22.486258, 113.305695, -6.5 + 0.0, 0.0, 0.17364845, 0.9848078 + + + + 4378 + + Character/Monster/Generic/Wave Spawn + + Spawn Table + + Monster/Tutorial/Training Grounds/Dust Zombie + + Tag + wave 2x + + + Spawn Tag + spawn 2x + Wave Number + 2x + + + + 50.368034, 134.30426, -6.5 + 0.0, 0.0, -0.13052556, 0.99144495 + + + + 3326 + + Prop/General/Spiderweb, corner + + + 26.187597, 122.18024, -8.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 3327 + + + 39.229794, 132.26454, -8.0 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 4379 + + + 47.091713, 133.57149, -6.5 + 0.0, 0.0, 0.17364877, 0.9848076 + + + + 4376 + + + 52.368034, 133.30426, -6.5 + 0.0, 0.0, -0.13052556, 0.99144495 + + + + 3325 + + + 26.706118, 122.638855, -7.5 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 4382 + + + 44.592285, 125.33307, -6.5 + 0.0, 0.0, 0.67559004, 0.73727745 + + + + 3320 + + + 36.492813, 130.44992, -6.5 + 0.0, 0.0, 0.7933535, -0.6087613 + + + + 4381 + + + 44.23401, 126.98266, -6.5 + 0.0, 0.0, 0.6755903, 0.73727727 + + + + 3303 + + + 29.785618, 111.165016, -6.5 + 0.0, 0.0, 0.97629595, 0.21643963 + + + + 4355 + + Player Enter/Base + + Color + 0.2, 0.8, 0.0, 1.0 + Trigger Action + + + + + explore_rescue_camp + + + + + explore_rescue_camp + KNIGHT + + + cross_the_chasm + KNIGHT + + m.cross_the_chasm + + + + + + Trigger Condition + + + + + + + 78.5 + 131.5 + -5.5 + + + 84.5 + 131.5 + -5.5 + + + 84.5 + 135.5 + -5.5 + + + 78.5 + 135.5 + -5.5 + + + + + 3302 + + + 30.121586, 113.30447, -6.5 + 0.0, 0.0, 0.90630776, -0.4226183 + + + + 3301 + + + 27.88707, 111.78964, -6.5 + 0.0, 0.0, -0.8660253, 0.5 + + + + 4358 + + Dynamic/Door/Iron Gate/Monster 3 + + Open + true + Tag + door 3x + + + + 58.5, 126.5, -6.5 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 4356 + + Player Enter/Base + + Color + 0.2, 0.8, 0.0, 1.0 + Trigger Action + + + + + cross_the_chasm + + + + + cross_the_chasm + KNIGHT + + + head_north_arcade_a + KNIGHT + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/play_sound_clip.dat + + File + sound/feedback/objective_end.ogg + Gain + 1.0 + + + + + + + + + + + Trigger Condition + + + + + + + 83.499985 + 141.50002 + -5.5 + + + 79.499985 + 141.50002 + -5.5 + + + 79.499985 + 138.50002 + -5.5 + + + 83.499985 + 138.50002 + -5.5 + + + + + 3311 + + + 23.370981, 111.62348, -6.5 + 0.0, 0.0, -0.88701105, -0.46174818 + + + + 4363 + + + 21.5, 97.5, -1.0 + + + + 3310 + + + 23.001724, 110.322876, -6.5 + 0.0, 0.0, 0.81915206, 0.57357645 + + + + 4362 + + + -19.5, 45.5, -4.0 + + + + 3309 + + + 32.23796, 113.58173, -6.5 + 0.0, 0.0, 0.7660445, -0.6427876 + + + + 4361 + + + -16.5, 52.5, -4.0 + + + + 4360 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + false + Tag + door 2x + + + + 58.5, 126.5, -6.5 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 3308 + + + 31.443754, 113.33605, -6.5 + 0.0, 0.0, -0.9238796, 0.38268328 + + + + 3307 + + + 31.88281, 112.359604, -6.5 + 0.0, 0.0, 0.9537169, 0.30070585 + + + + 4367 + + + 62.5, 131.5, -6.5 + + + + 4366 + + + 60.5, 131.5, -6.5 + + + + 3306 + + + 30.691902, 111.62764, -6.5 + 0.0, 0.0, -0.13052621, 0.9914449 + + + + 4365 + + + 21.5, 93.5, -1.0 + + + + 3305 + + + 29.651672, 112.4254, -6.5 + 0.0, 0.0, 0.8870108, -0.46174854 + + + + 4364 + + + 21.5, 95.5, -1.0 + + + + 3304 + + + 29.18368, 112.05036, -6.5 + 0.0, 0.0, -0.8870109, 0.4617485 + + + + 2065 + + Character/Monster/Generic/Subset Spawn + + Tag + subset 2b + Wave Number + 2b + + + + 63.5, 37.500004, -3.5 + 0.0, 0.0, -1.0, 5.5233505E-7 + + + + 2064 + + + 64.5, 38.500004, -3.5 + 0.0, 0.0, -1.0, 4.3312576E-7 + + + + 2069 + + Character/Monster/Generic/Subset Spawn + + Tag + subset 3b + Wave Number + 3b + + + + 46.5, 37.5, -3.5 + 0.0, 0.0, 0.70710695, 0.70710665 + + + + 2071 + + + 46.5, 35.5, -3.5 + 0.0, 0.0, 0.70710695, 0.70710665 + + + + 2070 + + + 47.5, 36.5, -3.5 + 0.0, 0.0, 0.70710695, 0.70710665 + + + + 2073 + + + 59.544266, 35.51394, -3.5 + 0.0, 0.0, -0.92387974, -0.38268298 + + + + 2072 + + + 45.5, 34.5, -3.5 + 0.0, 0.0, 0.70710695, 0.70710665 + + + + 2075 + + + 63.499996, 35.500004, -3.5 + 0.0, 0.0, -1.0, 4.7683716E-7 + + + + 2074 + + + 61.499996, 35.500004, -3.5 + 0.0, 0.0, -1.0, 5.5233505E-7 + + + + 2079 + + Character/Monster/Generic/Subset Spawn + + Tag + subset 4b + Wave Number + 4b + + + + 63.5, 29.5, -3.5 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 2078 + + + 61.5, 29.5, -3.5 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 2050 + + + 64.5, 36.500004, -3.5 + 0.0, 0.0, -1.0, 4.3312576E-7 + + + + 2052 + + Dynamic/Misc/Respawn Pad + + Actor + + Dynamic/Lift Objects/Clay Pot + + Delay + 3000 + + + + 65.5, 44.5, -3.5 + + + + 2053 + + Character/Monster/Generic/Subset Spawn + + Tag + subset 1b + Wave Number + 1b + + + + 48.5, 41.5, -3.5 + 0.0, 0.0, 0.7071069, 0.7071067 + + + + 2054 + + + 46.5, 42.5, -3.5 + 0.0, 0.0, 0.7071069, 0.7071067 + + + + 2056 + + + 57.5, 43.5, -3.5 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 2058 + + + 58.5, 41.5, -3.5 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 2059 + + Dynamic/Door/Iron Gate/Trigger 5 + + Open + false + Tag + door toggle b + + + + 49.5, 30.5, -3.5 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 2060 + + Dynamic/Door/Iron Gate/Trigger 5 + + Open + true + Tag + door toggle b + + + + 57.500004, 27.500004, -3.5 + 0.0, 0.0, -2.086162E-7, 1.0 + + + + 2099 + + Generic Marker + + Tag + button 1a + + + + 12.5, 54.5, -2.5 + + + + 2098 + + + 16.5, 56.5, -2.5 + + + + 2101 + + Generic Marker + + Tag + button 2a + + + + 25.5, 59.5, -2.5 + + + + 2100 + + + 14.5, 62.5, -2.5 + + + + 2107 + + Dynamic/Block/Breakable/Random/Clockworks, base + + + 31.5, 55.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2106 + + + 31.5, 54.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2105 + + + 30.5, 53.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2104 + + + 31.5, 53.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2111 + + + 27.5, 59.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2110 + + + 27.5, 57.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2109 + + + 30.5, 58.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2108 + + + 31.5, 59.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2082 + + + 56.5, 29.5, -3.5 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 2083 + + Dynamic/Switch/Lever/Toggle + + Actor + + Dynamic/Switch/Lever/Damage Toggle + + (State 0 Signal) + toggle + (State 0 Tag) + door toggle b + (State 1 Signal) + toggle + (State 1 Tag) + door toggle b + + + + + + 46.5, 41.5, -3.5 + + + + 2081 + + + 58.5, 30.5, -3.5 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 2087 + + Character/Monster/Generic/Single Spawn + + Spawn Table + + Monster/Tutorial/Training Grounds/Lumber + + Tag + (Wave Tag) + + + Spawn Tag + spawn 4b + Wave Number + 4b + + + + 60.5, 30.5, -3.5 + 0.0, 0.0, -0.7071069, 0.7071067 + + + + 2084 + + + 63.5, 31.5, -3.5 + + + + 3097 + + Prop/Clockworks/Pipes, ground - Blue Large/Diagonal 1unit + + + 26.5, 75.5, -1.0 + 0.0, 0.0, -9.5399045E-8, 1.0 + + + + 2132 + + + 14.5, 53.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 3099 + + Prop/Clockworks/Pipes, ground - Blue Large/Elbow 45, left + + + 24.5, 79.5, -1.0 + 0.0, 0.0, 1.0, 2.0146726E-6 + + + + 3098 + + Prop/Clockworks/Pipes, ground - Blue Large/Elbow 45, right + + + 26.5, 75.5, -1.0 + 0.0, 0.0, 1.3749147E-6, -1.0 + + + + 3101 + + Prop/Clockworks/Pipes, ground - Blue Large/Straight 1unit + + + 24.5, 80.5, -1.0 + 0.0, 0.0, 1.1924881E-7, -1.0 + + + + 2128 + + + 20.5, 55.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 3100 + + Prop/Clockworks/Pipes, ground - Blue Large/Diagonal 3unit + + + 25.5, 78.5, -1.0 + 0.0, 0.0, 0.70710665, -0.70710695 + + + + 3103 + + Prop/Clockworks/Pipes, ground - Blue Large/Y Connector + + + 27.5, 76.5, -1.0 + 0.0, 0.0, 0.7071056, 0.70710796 + + + + 2131 + + + 24.5, 54.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 3102 + + Prop/Clockworks/Pipes, ground - Blue Large/Elbow 90 + + + 24.5, 82.5, -1.0 + 0.0, 0.0, -0.7071056, -0.70710796 + + + + 2130 + + + 25.5, 53.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 3089 + + Prop/Clockworks/Pipes, ground - Iron Large/Elbow 45, right + + + 16.5, 79.5, -1.0 + 0.0, 0.0, -0.70710707, 0.70710653 + + + + 2141 + + + 11.5, 63.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 3088 + + Prop/Clockworks/Pipes, ground - Iron Large/Diagonal 1unit + + + 16.5, 79.5, -1.0 + 0.0, 0.0, -0.70710707, 0.70710653 + + + + 2140 + + + 12.5, 63.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 3091 + + Prop/Clockworks/Pipes, ground - Iron Large/Diagonal 2unit + + + 18.5, 76.5, -1.0 + 0.0, 0.0, -0.70710564, -0.70710796 + + + + 2143 + + + 11.5, 61.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 3090 + + Prop/Clockworks/Pipes, ground - Iron Large/Y Connector + + + 17.5, 77.5, -1.0 + 0.0, 0.0, 1.0, 5.9624405E-8 + + + + 2142 + + + 12.5, 62.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 3093 + + Prop/Clockworks/Pipes, ground - Blue Large/Straight 5 unit + + + 18.5, 82.5, -1.0 + 0.0, 0.0, 0.70710844, -0.7071051 + + + + 2137 + + + 14.5, 55.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2136 + + + 13.5, 56.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 3092 + + Prop/Clockworks/Pipes, ground - Iron Large/Elbow 45, left + + + 17.5, 78.5, -1.0 + 0.0, 0.0, -1.327215E-6, 1.0 + + + + 2139 + + + 11.5, 62.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2138 + + + 11.5, 59.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2116 + + + 26.5, 62.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 3084 + + Prop/Clockworks/Pipes, ground - Iron Large/Bracket + + + 14.5, 73.5, -1.0 + 0.0, 0.0, -1.351065E-6, 1.0 + + + + 2112 + + + 28.5, 61.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 3085 + + Prop/Clockworks/Pipes, ground - Iron Large/Straight 1unit + + + 14.5, 73.5, -1.0 + 0.0, 0.0, -1.351065E-6, 1.0 + + + + 2113 + + + 29.5, 60.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 3086 + + + 14.5, 74.5, -1.0 + 0.0, 0.0, -1.351065E-6, 1.0 + + + + 2114 + + + 27.5, 63.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 3087 + + Prop/Clockworks/Pipes, ground - Iron Large/Diagonal 3unit + + + 15.5, 75.5, -1.0 + 0.0, 0.0, -1.351065E-6, 1.0 + + + + 2124 + + + 18.5, 58.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2125 + + + 18.5, 53.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2127 + + + 19.5, 54.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2120 + + + 21.5, 61.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2121 + + Character/Monster/Generic/Single Spawn + + Spawn Table + + Spawn Tag + (Monster Spawn) + Wave Number + AREA A + + + + 21.5, 58.5, -2.5 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 2122 + + + 18.5, 57.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2123 + + + 17.5, 58.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2160 + + Character/Monster/Generic/Subset Spawn + + Tag + subset 1a + Wave Number + 1a + + + + 25.499992, 54.5, -2.5 + 0.0, 0.0, 1.0, 1.9470718E-7 + + + + 2144 + + + 17.5, 61.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 3116 + + Dynamic/Elevator/Next Floor + + + 81.5, 140.5, -5.5 + + + + 3117 + + Prop/Clockworks/Lamp, short rail-mounted + + Light Color + Deconstruction Zone + + + + 84.5253, 131.73587, -5.5 + 0.0, 0.0, 0.38268548, 0.92387867 + + + + 2158 + + + 14.500006, 56.500004, -2.5 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 2159 + + + 30.499998, 54.500004, -2.5 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 2156 + + + 25.5, 62.5, -2.5 + + + + 3104 + + Prop/Clockworks/Pipes, ground - Blue Large/Straight 2 unit + + + 29.5, 76.5, -1.0 + 0.0, 0.0, 0.7071056, 0.70710796 + + + + 2157 + + + 11.500006, 60.500004, -2.5 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 2154 + + + 18.5, 61.5, -2.5 + + + + 2155 + + + 22.5, 61.5, -2.5 + + + + 2152 + + + 28.5, 59.5, -2.5 + + + + 2153 + + + 18.5, 56.5, -2.5 + + + + 4128 + + Prop/Clockworks/Lamp, tall rail-mounted + + Light Color + Deconstruction Zone + + + + 18.857, 64.806, -2.5 + 0.0, 0.0, -0.97629595, 0.21643999 + + + + 3535 + + Dynamic/Switch/Party Platform/Base + + Action + + + + close + + door 1x + + + + activate + + spawn 1x + + + + + Environment/Music + + Destruction Transient + + model/scripted/play_sound_clip.dat + + File + sound/music/fanfare_victory_1.ogg + Gain + 1.0 + + + Fade In + 0.0 + Fade Out + 3.0 + File + sound/music/battle_1.ogg + Override + true + Stack + default + Tag + music 1x + + + + + close + + door 3x + + + + open + + door 2x + + + + + + + + 49.5, 125.5, -6.5 + 0.0, 0.0, -2.70213E-6, 1.0 + + + + 4139 + + Prop/Clockworks/Pipes, ground - Blue Large/Bracket + + + 26.488905, 69.6981, -1.0 + 0.0, 0.0, -1.3749145E-6, 1.0 + + + + 4138 + + + 26.5, 74.5, -1.0 + 0.0, 0.0, -1.3749146E-6, 1.0 + + + + 3533 + + Dynamic/Block/Breakable/Clockworks, base + + + 37.5, 130.5, -6.5 + 0.0, 0.0, -2.6782802E-6, 1.0 + + + + 3532 + + Dynamic/Switch/Button/One-Time + + Actor + + Dynamic/Switch/Button/One-Time + + (On Signal) + open + (On Tag) + door 1x + Tag + button 1x + + + + + + 37.5, 130.5, -6.5 + + + + 4136 + + + 26.5, 74.5, -1.0 + 0.0, 0.0, 1.0, 9.099629E-7 + + + + 3530 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + false + Tag + door 1x + + + + 40.5, 126.5, -6.5 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 4147 + + Prop/Clockworks/Pipes, ground - Blue Large/Abyss pipe, vertical + + + 26.5, 69.5, -1.0 + 0.0, 0.0, -2.0563602E-6, 1.0 + + + + 4148 + + Prop/Clockworks/Pipes, ground - Iron Large/Abyss pipe, vertical + + + 17.5, 69.500015, -1.0 + 0.0, 0.0, -1.9967554E-6, 1.0 + + + + 4159 + + + 19.499992, 72.5, -1.0 + 0.0, 0.0, 1.0, 1.6252187E-6 + + + + 4157 + + + 19.5, 75.5, -1.0 + 0.0, 0.0, -1.327215E-6, 1.0 + + + + 4096 + + + -15.5, 52.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4099 + + Lights/Point Light + + Attenuation + + 0.0 + 0.9 + + Diffuse + 1.0, 0.6, 0.0, 1.0 + Extent + 7.0 + + + + -12.5, 49.5, -3.0 + + + + 4098 + + Character/Monster/Generic/Single Spawn + + Spawn Table + + Spawn Tag + (Monster Spawn) + Wave Number + AREA D + + + + -14.5, 51.5, -4.0 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 4101 + + + -11.06826, 50.888798, -4.0 + 0.0, 0.0, 0.9238795, 0.38268343 + + + + 4100 + + + -11.5, 51.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4103 + + + -11.5, 52.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4102 + + + -12.5, 52.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4109 + + + 1.1938782, 51.934296, -2.5 + 0.0, 0.0, -0.95371693, 0.30070594 + + + + 4108 + + Player Enter/Spawn Activate + + Trigger Action + + activate + + spawn 1d + + + + + + + -9.5 + 51.5 + -4.0 + + + -9.5 + 47.5 + -4.0 + + + -6.5 + 47.5 + -4.0 + + + -6.5 + 51.5 + -4.0 + + + + + 4110 + + Trigger/Master Signal Trigger + + Number + 2 + Spawn Table + + Monster/Tutorial/Training Grounds/Gun Puppy + + Tag + wave 1e + + + Spawn Tag + spawn 1e + Tag + subset 1e + Wave Number + turrets e + + + + -32.5, 85.5, -1.0 + + + + 4127 + + + 24.262136, 64.93167, -2.5 + 0.0, 0.0, 0.93969256, 0.34202027 + + + + 3459 + + + 26.5, 113.5, -6.5 + 0.0, 0.0, 2.6782802E-6, -1.0 + + + + 4199 + + + -16.5, 75.5, -1.0 + 0.0, 0.0, 1.0, 4.3312576E-7 + + + + 4198 + + + -23.165562, 76.7314, -1.0 + 0.0, 0.0, -0.30070597, 0.9537169 + + + + 4197 + + Character/Monster/Generic/Subset Spawn + + Tag + subset 1e + Wave Number + 1e + + + + -26.5, 81.5, -1.0 + + + + 4196 + + + -29.5, 77.5, -1.0 + 0.0, 0.0, -1.0, -4.371139E-8 + + + + 3463 + + Prop/Clockworks/Pipes, ground - Blue Large/Straight 3 unit + + + 21.5, 115.5, -6.5 + 0.0, 0.0, -0.70710844, 0.7071051 + + + + 3462 + + + 24.5, 115.5, -6.5 + 0.0, 0.0, -0.70710844, 0.7071051 + + + + 4194 + + + -18.50001, 79.50001, -1.0 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 3461 + + Prop/Clockworks/Pipes, ground - Blue Large/Diagonal 2unit + + + 25.5, 114.5, -6.5 + 0.0, 0.0, 0.70710754, -0.707106 + + + + 3460 + + + 26.5, 110.5, -6.5 + 0.0, 0.0, 2.6782802E-6, -1.0 + + + + 3467 + + + 30.5, 117.5, -6.5 + 0.0, 0.0, 1.0, 2.062372E-6 + + + + 3465 + + Prop/Clockworks/Pipes, ground - Blue Large/Diagonal 4unit + + + 29.5, 116.5, -6.5 + 0.0, 0.0, -1.0, -7.828564E-7 + + + + 3464 + + + 23.5, 115.5, -6.5 + 0.0, 0.0, -0.70710844, 0.7071051 + + + + 3471 + + + 30.5, 117.5, -6.5 + 0.0, 0.0, -2.70213E-6, 1.0 + + + + 3470 + + + 28.5, 122.5, -6.5 + 0.0, 0.0, 0.7071065, 0.7071071 + + + + 4202 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + false + Tag + door 3e + + + + -13.500009, 70.50001, -1.0 + 0.0, 0.0, -0.707107, -0.70710653 + + + + 3469 + + + 30.5, 122.5, -6.5 + 0.0, 0.0, -0.7071046, -0.7071089 + + + + 4201 + + + -16.5, 68.5, -1.0 + + + + 3468 + + + 30.5, 120.5, -6.5 + 0.0, 0.0, 1.0, 2.062372E-6 + + + + 4200 + + Dynamic/Switch/Lever/One-Time + + (Activate Signal) + open + (Activate Tag) + door 3e + + + + -16.5, 74.5, -1.0 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 4214 + + Environment/Background Color + + Color + 0.03529412, 0.18039216, 0.12156863, 1.0 + + + + + 4215 + + Environment/Model + + Model + + world/skybox/catacombs/skybox.dat + + Translation Origin + 0.0, 0.0, 0.0 + + + + + + + 4222 + + Dynamic/Block/Treasure/Hearts + + + 55.5, 23.5, -3.5 + + + + 4223 + + + 55.5, 25.5, -3.5 + + + + 4220 + + Environment/Shadow Color + + Color + 0.011764706, 0.101960786, 0.12156863, 0.4 + + + + + 4221 + + Camera + + Coords + 0.0, 0.7853982, 9.99 + FOV + 1.0471976 + Far + 250.0 + Near + 1.0 + + + + + 4218 + + Environment/Light + + Light + + + 0.078431375, 0.26666668, 0.15686275, 1.0 + + 0.8627299, -0.49809742, -0.08715571 + + + + + + 4219 + + Environment/Light + + Light + + + 0.32156864, 0.24313726, 0.05490196, 1.0 + + -0.41317606, -0.49240378, 0.7660444 + + + + + + 4216 + + Environment/Fog + + State + + 0.03529412, 0.18039216, 0.12156863, 0.0 + 10.0 + 30.0 + + + + + + 4217 + + Environment/Ambient + + Color + 0.08235294, 0.19607843, 0.15686275, 1.0 + + + + + 4165 + + + 18.499994, 71.50001, -1.0 + 0.0, 0.0, -1.6391276E-6, 1.0 + + + + 4164 + + + 17.49998, 70.499985, -1.0 + 0.0, 0.0, -1.0728836E-6, 1.0 + + + + 4167 + + + 19.5, 74.5, -1.0 + 0.0, 0.0, -1.327215E-6, 1.0 + + + + 4163 + + Prop/Clockworks/Pipes, ground - Iron Large/Straight 2 unit + + + 19.5, 74.5, -1.0 + 0.0, 0.0, 1.0, 9.099629E-7 + + + + 4173 + + Dynamic/Door/Iron Gate/Gold 5 + + Tag + (Door Tag) + + + + 21.5, 65.5, -2.5 + + + + 4172 + + + 21.5, 64.5, -2.5 + + + + 4175 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + false + Tag + door 1a + + + + 10.499991, 57.500008, -2.5 + 0.0, 0.0, 0.7071068, 0.7071067 + + + + 4174 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + false + Tag + door 2a + + + + 32.499992, 57.500008, -2.5 + 0.0, 0.0, 0.7071068, 0.7071067 + + + + 4168 + + + 19.5, 72.5, -1.0 + 0.0, 0.0, -1.327215E-6, 1.0 + + + + 4170 + + + 17.512411, 69.68134, -0.96000004 + 0.0, 0.0, -1.327215E-6, 1.0 + + + + 4180 + + Dynamic/Lift Objects/Gold Key + + + 57.5, 24.5, -3.5 + + + + 4182 + + + -9.5, 73.5, -1.0 + + + + 4183 + + + 30.5, 62.5, -2.5 + + + + 4177 + + Trigger/Master Signal Trigger + + Number + 3 + Spawn Table + + Monster/Tutorial/Training Grounds/Jelly Cube + + Tag + (Wave Tag) + + + Spawn Tag + spawn 1a + Tag + subset 1a + Wave Number + 1a + + + + 18.5, 63.5, -2.5 + + + + 4178 + + Trigger/Start Up Trigger + + Actor + + Dynamic/Switch/Lever/One-Time + + (Activate Signal) + open + (Activate Tag) + door 1a + + + Marker Tag + button 1a + Number + 1 + + + + 16.5, 63.5, -2.5 + + + + 4179 + + Trigger/Start Up Trigger + + Actor + + Dynamic/Switch/Lever/One-Time + + (Activate Signal) + open + (Activate Tag) + door 2a + + + Marker Tag + button 2a + Number + 1 + + + + 25.5, 63.5, -2.5 + + + + 4188 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + true + Tag + door 2e + + + + -33.5, 79.50001, -1.0 + 0.0, 0.0, -0.70710653, 0.70710707 + + + + 4184 + + + 27.5, 54.5, -2.5 + + + + 4186 + + Dynamic/Switch/Lever/Toggle + + Actor + + Dynamic/Switch/Lever/Damage Toggle + + (State 0 Signal) + toggle + (State 0 Tag) + door 2e + (State 1 Signal) + toggle + (State 1 Tag) + door 2e + + + + + + -37.5, 68.5, -1.0 + + + + 4187 + + + -39.5, 78.5, -1.0 + + + + 4264 + + + 17.5, 70.5, -1.0 + + + + 4270 + + + 15.5, 78.5, -1.0 + + + + 4271 + + + 14.5, 78.5, -1.0 + + + + 4269 + + + 13.5, 74.5, -1.0 + + + + 4258 + + Dynamic/Recon Module/Info Bubble + + Message + m.pressure_pads + Title + t.pressure_pads + Title Color + 1.0, 1.0, 1.0, 1.0 + Variant + General + Visible Distance + 7.0 + + + + 25.5, 76.5, -1.0 + 0.0, 0.0, 1.0, 9.099629E-7 + + + + 4256 + + Dynamic/Switch/Button/Pressure Plate + + Actor + + Dynamic/Switch/Pressure Plate/Base + + (Off Signal) + close + (On Signal) + open + (Target Tag) + door_main_b + Tag + (Button Tag) + + + + + + 19.5, 77.5, -1.0 + + + + 4257 + + Dynamic/Lift Objects/Heavy Statue + + + 24.5, 78.5, -1.0 + + + + 4262 + + + 17.5, 71.5, -1.0 + + + + 4263 + + + 18.5, 70.5, -1.0 + + + + 4260 + + Dynamic/Switch/Button/Pressure Plate + + Actor + + Dynamic/Switch/Pressure Plate/Base + + (Off Signal) + close + (On Signal) + open + (Target Tag) + door_main_a + Tag + (Button Tag) + + + + + + 23.5, 77.5, -1.0 + + + + 4283 + + + 28.5, 73.5, -1.0 + + + + 4282 + + + 27.5, 73.5, -1.0 + + + + 4281 + + + 28.5, 74.5, -1.0 + + + + 4280 + + + 29.5, 75.5, -1.0 + + + + 4287 + + + 14.5, 73.5, -1.0 + + + + 4286 + + + 29.5, 73.5, -1.0 + + + + 4284 + + + 29.5, 74.5, -1.0 + + + + 4275 + + + 26.5, 80.5, -1.0 + + + + 4274 + + + 16.5, 81.5, -1.0 + + + + 2330 + + Dynamic/Block/Stone + + + -21.5, 76.5, -1.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4273 + + + 17.5, 81.5, -1.0 + + + + 2329 + + + -20.5, 76.5, -1.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4272 + + + 14.5, 77.5, -1.0 + + + + 2328 + + + -19.5, 76.5, -1.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4279 + + + 29.5, 77.5, -1.0 + + + + 4278 + + + 29.5, 78.5, -1.0 + + + + 4277 + + + 28.5, 78.5, -1.0 + + + + 4276 + + + 26.5, 79.5, -1.0 + + + + 4232 + + + -11.5, 73.5, -1.0 + + + + 4233 + + + -11.5, 72.5, -1.0 + + + + 4234 + + + -7.5, 74.5, -1.0 + + + + 4235 + + + -7.5, 73.5, -1.0 + + + + 4236 + + + -7.5, 72.5, -1.0 + + + + 4237 + + + -12.5, 51.5, -4.0 + + + + 2343 + + + -9.5, 75.5, -1.0 + 0.0, 0.0, 1.0, 1.9470718E-7 + + + + 4224 + + + 55.5, 24.5, -3.5 + + + + 4228 + + + 59.5, 25.5, -3.5 + + + + 4229 + + + 59.5, 24.5, -3.5 + + + + 4230 + + + 59.5, 23.5, -3.5 + + + + 4231 + + + -11.5, 74.5, -1.0 + + + + 4250 + + + 19.5, 53.5, -2.5 + + + + 4253 + + Dynamic/Door/Iron Gate/Trigger 5 + + Open + false + Tag + door_main_a + + + + 21.5, 85.5, -1.0 + + + + 4254 + + Dynamic/Door/Iron Gate/Trigger 5 + + Open + false + Tag + door_main_b + + + + 21.5, 86.5, -1.0 + + + + 4245 + + Character/Monster/Generic/Single Spawn + + Spawn Table + + Monster/Tutorial/Training Grounds/Lumber + + Tag + (Wave Tag) + + + Spawn Tag + spawn 1d + Wave Number + 1d + + + + -17.5, 48.5, -4.0 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 4244 + + Character/Monster/Generic/Single Spawn + + Spawn Table + + Monster/Tutorial/Training Grounds/Silkwing + + Tag + (Wave Tag) + + + Spawn Tag + spawn 1d + Wave Number + 1d + + + + -19.5, 48.5, -4.0 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 4246 + + + -15.5, 49.5, -4.0 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 3336 + + + 18.178978, 115.49574, -9.5 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 3337 + + + 21.721645, 122.3199, -8.0 + 0.0, 0.0, -5.9604645E-8, 0.99999994 + + + + 4330 + + + 24.5, 73.5, -1.0 + + + + 3342 + + + 28.361153, 127.70612, -7.18 + 0.0, 0.0, 5.9604634E-8, 1.0 + + + + 3343 + + + 32.179443, 123.735344, -8.5 + 0.0, 0.0, 5.9604638E-8, 1.0 + + + + 4329 + + + 23.5, 72.5, -1.0 + + + + 4326 + + + 28.5, 75.5, -1.0 + + + + 4327 + + + 27.5, 74.5, -1.0 + + + + 3331 + + + 32.706116, 113.638855, -6.5 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 4324 + + + 26.5, 81.5, -1.0 + + + + 3328 + + + 39.70119, 132.71182, -7.0 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 4325 + + + 27.5, 78.5, -1.0 + + + + 3329 + + + 32.209866, 113.10489, -8.0 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 4322 + + + 17.5, 80.5, -1.0 + + + + 3334 + + + 21.658794, 110.56701, -8.0 + 0.0, 0.0, 0.7071069, 0.7071067 + + + + 4323 + + + 25.5, 81.5, -1.0 + + + + 4321 + + + 16.5, 80.5, -1.0 + + + + 3355 + + + 25.5, 120.5, -6.5 + 0.0, 0.0, 2.6782802E-6, -1.0 + + + + 3354 + + + 22.5, 120.5, -6.5 + 0.0, 0.0, 2.6782802E-6, -1.0 + + + + 4348 + + + + 18.500004 + 85.5 + -1.0 + + + 24.5 + 85.5 + -1.0 + + + 24.5 + 89.5 + -1.0 + + + 18.500004 + 89.5 + -1.0 + + + + + 3359 + + + 25.5, 112.5, -6.5 + 0.0, 0.0, 2.6782802E-6, -1.0 + + + + 4346 + + + + -2.4999962 + 22.5 + -3.0 + + + 1.5000038 + 22.5 + -3.0 + + + 1.5000038 + 26.5 + -3.0 + + + -2.4999962 + 26.5 + -3.0 + + + + + 3358 + + + 22.5, 112.5, -6.5 + 0.0, 0.0, 2.6782802E-6, -1.0 + + + + 3357 + + + 25.5, 116.5, -6.5 + 0.0, 0.0, 2.6782802E-6, -1.0 + + + + 4344 + + + + 19.500004 + 49.5 + -2.5 + + + 23.500004 + 49.5 + -2.5 + + + 23.500004 + 53.5 + -2.5 + + + 19.500004 + 53.5 + -2.5 + + + + + 3344 + + + 35.361153, 132.70612, -7.5 + 0.0, 0.0, 5.9604634E-8, 1.0 + + + + 4338 + + Dynamic/Elevator/Start Platform + + + -0.5, 24.5, -3.0 + + + + 4300 + + + 24.5, 72.5, -1.0 + + + + 4301 + + + 18.5, 71.5, -1.0 + + + + 4302 + + + 16.5, 72.5, -1.0 + + + + 4303 + + + 16.5, 71.5, -1.0 + + + + 4296 + + + 25.5, 72.5, -1.0 + + + + 4297 + + + 24.5, 71.5, -1.0 + + + + 4298 + + + 24.5, 70.5, -1.0 + + + + 4299 + + + 25.5, 71.5, -1.0 + + + + 3360 + + + 28.5, 112.5, -6.5 + 0.0, 0.0, -2.6782802E-6, 1.0 + + + + 4293 + + + 17.5, 75.5, -1.0 + + + + 3361 + + + 31.5, 112.5, -6.5 + 0.0, 0.0, 2.6782802E-6, -1.0 + + + + 4294 + + + 16.5, 74.5, -1.0 + + + + 4295 + + + 18.5, 74.5, -1.0 + + + + 4288 + + + 13.5, 73.5, -1.0 + + + + 4290 + + + 16.5, 70.5, -1.0 + + + + 4291 + + + 25.5, 70.5, -1.0 + + + + 4317 + + + 15.5, 75.5, -1.0 + + + + 4316 + + + 13.5, 78.5, -1.0 + + + + 4319 + + + 13.5, 75.5, -1.0 + + + + 4318 + + + 15.5, 74.5, -1.0 + + + + 4313 + + + 16.5, 77.5, -1.0 + + + + 4312 + + + 15.5, 77.5, -1.0 + + + + 4315 + + + 13.5, 77.5, -1.0 + + + + 4314 + + + 14.5, 76.5, -1.0 + + + + 4309 + + + 17.5, 72.5, -1.0 + + + + 4308 + + + 18.5, 72.5, -1.0 + + + + 4311 + + + 15.5, 76.5, -1.0 + + + + 4310 + + + 16.5, 75.5, -1.0 + + + + 4305 + + + 16.5, 73.5, -1.0 + + + + 4304 + + + 17.5, 74.5, -1.0 + + + + 4307 + + + 18.5, 73.5, -1.0 + + + + 4306 + + + 17.5, 73.5, -1.0 + + + + 3826 + + Dynamic/Misc/Respawn Pad + + Actor + + Dynamic/Lift Objects/Fire Pot + + Delay + 3000 + + + + 49.5, 129.5, -6.5 + + + + 3813 + + + 53.23516, 128.01996, -6.5 + 0.0, 0.0, -0.7372773, 0.6755902 + + + + 3806 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + false + Tag + door 4e + + + + -5.5, 74.5, -1.0 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 3807 + + + 4.499997, 59.5, -2.5 + 0.0, 0.0, -1.0, 3.1391647E-7 + + + + 3783 + + Trigger/Actor Removed + + Action + + activate + + spawn 3x + + + Actor Tag + wave 2x + + + + 55.5, 131.5, -6.5 + 0.0, 0.0, -3.9816446E-6, 1.0 + + + + 3782 + + Trigger/Actor Removed + + Action + + activate + + spawn 2x + + + Actor Tag + wave 1x + + + + 55.5, 129.5, -6.5 + 0.0, 0.0, -3.9816446E-6, 1.0 + + + + 3784 + + Trigger/Actor Removed + + Action + + + + open + + door 3x + + + + + music 1x + + + + + + + Actor Tag + wave 3x + + + + 55.5, 133.5, -6.5 + 0.0, 0.0, -3.9816446E-6, 1.0 + + + + 3764 + + + 56.304264, 124.63197, -6.5 + 0.0, 0.0, -0.79335284, 0.608762 + + + + 3760 + + + 53.94355, 127.10988, -6.5 + 0.0, 0.0, -0.57357866, 0.8191505 + + + + 3757 + + + 43.778675, 129.19257, -8.5 + 0.0, 0.0, 1.0, 1.9470718E-7 + + + + 3756 + + + 56.080032, 129.92798, -9.23 + 0.0, 0.0, 1.0, 1.9470718E-7 + + + + 3755 + + + 57.58713, 139.54964, -7.2299995 + 0.0, 0.0, -0.7071068, 0.7071067 + + + + 3754 + + + 42.309937, 138.65485, -8.23 + 0.0, 0.0, -5.9604638E-8, 1.0 + + + + 3752 + + + 41.603386, 123.54166, -8.0 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 3732 + + + 83.5, 136.5, -5.5 + 0.0, 0.0, -0.70710754, 0.707106 + + + + 3733 + + + 84.5, 135.5, -5.5 + 0.0, 0.0, 0.7071046, 0.7071089 + + + + 3734 + + + 85.5, 135.5, -5.5 + 0.0, 0.0, 0.7071046, 0.7071089 + + + + 3735 + + + 85.5, 135.5, -5.5 + 0.0, 0.0, 0.7071046, 0.7071089 + + + + 3728 + + + 78.5, 139.5, -5.5 + 0.0, 0.0, -0.7071075, 0.70710605 + + + + 3729 + + + 77.5, 140.5, -5.5 + 0.0, 0.0, -0.7071075, 0.70710605 + + + + 3730 + + + 81.5, 137.5, -5.5 + 0.0, 0.0, 0.7071066, -0.70710695 + + + + 3731 + + + 82.5, 137.5, -5.5 + 0.0, 0.0, 0.7071066, -0.70710695 + + + + 3713 + + + 56.243053, 125.68233, -6.5 + 0.0, 0.0, 0.42261833, -0.9063078 + + + + 3712 + + + 56.95096, 124.62471, -6.5 + 0.0, 0.0, 0.9914449, -0.13052613 + + + + 3725 + + + 79.5, 136.5, -5.5 + 0.0, 0.0, -6.993822E-7, 1.0 + + + + 3724 + + + 79.5, 134.5, -5.5 + 0.0, 0.0, -6.993822E-7, 1.0 + + + + 3727 + + + 80.5, 137.5, -5.5 + 0.0, 0.0, -0.7071065, -0.7071071 + + + + 3726 + + + 79.5, 136.5, -5.5 + 0.0, 0.0, -6.993822E-7, 1.0 + + + + 3723 + + + 79.5, 135.5, -5.5 + 0.0, 0.0, -6.993822E-7, 1.0 + + + + 3705 + + + 46.806797, 133.81494, -6.5 + 0.0, 0.0, -0.9848077, -0.17364828 + + + + 3704 + + + 47.365093, 133.19897, -6.5 + 0.0, 0.0, 0.9914449, -0.13052619 + + + + 1767 + + + -3.5, 21.5, -3.0 + 0.0, 0.0, -9.5399045E-8, 1.0 + + + + 3711 + + + 55.920753, 124.916016, -6.5 + 0.0, 0.0, -0.6755903, 0.73727727 + + + + 1766 + + + -4.5, 23.5, -3.0 + 0.0, 0.0, -6.993822E-7, 1.0 + + + + 3710 + + + 55.095062, 123.882866, -6.5 + 0.0, 0.0, 0.6427876, -0.7660445 + + + + 1765 + + + -4.5, 21.5, -3.0 + 0.0, 0.0, -6.993822E-7, 1.0 + + + + 1771 + + + 2.5, 21.5, -3.0 + 0.0, 0.0, -6.993822E-7, 1.0 + + + + 3699 + + + 53.3938, 128.44302, -6.5 + 0.0, 0.0, 0.64278775, -0.76604444 + + + + 3698 + + + 53.84485, 126.88113, -6.5 + 0.0, 0.0, 0.67558986, -0.7372777 + + + + 1769 + + + -1.5, 20.5, -3.0 + 0.0, 0.0, -6.993822E-7, 1.0 + + + + 3697 + + + 53.046432, 127.73131, -6.5 + 0.0, 0.0, -0.043619208, -0.99904823 + + + + 1768 + + + -3.5, 23.5, -3.0 + 0.0, 0.0, -9.5399045E-8, 1.0 + + + + 3696 + + + 45.33048, 127.68466, -6.5 + 0.0, 0.0, -0.99904823, -0.043619454 + + + + 1775 + + + 2.5, 20.5, -3.0 + 0.0, 0.0, -9.5399045E-8, 1.0 + + + + 3703 + + + 47.406044, 134.93347, -6.5 + 0.0, 0.0, -0.64278764, 0.76604444 + + + + 1774 + + + 3.5, 21.5, -3.0 + 0.0, 0.0, -1.0, -7.351569E-7 + + + + 3702 + + + 46.21939, 134.9999, -6.5 + 0.0, 0.0, 0.9914448, 0.13052613 + + + + 1773 + + + 2.5, 20.5, -3.0 + 0.0, 0.0, -9.5399045E-8, 1.0 + + + + 3701 + + + 46.107395, 133.00436, -6.5 + 0.0, 0.0, 0.6427875, 0.7660445 + + + + 1772 + + + 3.5, 20.5, -3.0 + 0.0, 0.0, -6.993822E-7, 1.0 + + + + 3700 + + + 54.997448, 127.42392, -6.5 + 0.0, 0.0, -0.043619208, -0.99904823 + + + + 1778 + + + 3.5, 22.5, -3.0 + 0.0, 0.0, -6.993822E-7, 1.0 + + + + 3690 + + + 47.412003, 126.32722, -6.5 + 0.0, 0.0, -0.8191521, 0.5735764 + + + + 1779 + + + -4.5, 27.5, -3.0 + 0.0, 0.0, -6.993822E-7, 1.0 + + + + 3691 + + + 48.26275, 127.54575, -6.5 + 0.0, 0.0, -0.6755904, 0.73727715 + + + + 1776 + + + 2.5, 20.5, -3.0 + 0.0, 0.0, -1.0, -7.351569E-7 + + + + 3688 + + + 46.725224, 127.579285, -6.5 + 0.0, 0.0, 0.73727757, 0.6755899 + + + + 1777 + + + 3.5, 21.5, -3.0 + 0.0, 0.0, -9.5399045E-8, 1.0 + + + + 3689 + + + 45.867058, 125.76768, -6.5 + 0.0, 0.0, -0.73727715, 0.6755904 + + + + 1782 + + + -4.5, 27.5, -3.0 + 0.0, 0.0, 0.7071065, 0.70710707 + + + + 1783 + + + -4.5, 28.5, -3.0 + 0.0, 0.0, -6.993822E-7, 1.0 + + + + 3695 + + + 47.405872, 128.40349, -6.5 + 0.0, 0.0, 0.30070588, -0.9537169 + + + + 1780 + + + -4.5, 27.5, -3.0 + 0.0, 0.0, 0.70710754, -0.70710605 + + + + 3692 + + + 45.864822, 128.6705, -6.5 + 0.0, 0.0, -0.99904823, 0.043619774 + + + + 1781 + + + -4.5, 27.5, -3.0 + 0.0, 0.0, -0.70710844, 0.70710516 + + + + 3693 + + + 46.80014, 129.47849, -6.5 + 0.0, 0.0, 0.08715556, -0.9961947 + + + + 1786 + + + -3.5, 26.5, -3.0 + 0.0, 0.0, -9.5399045E-8, 1.0 + + + + 1787 + + + -2.5, 27.5, -3.0 + 0.0, 0.0, 1.0, -5.443588E-7 + + + + 1784 + + + -2.5, 27.5, -3.0 + 0.0, 0.0, 0.7071056, 0.70710796 + + + + 1785 + + + -3.5, 26.5, -3.0 + 0.0, 0.0, -6.993822E-7, 1.0 + + + + 1790 + + + -1.5, 27.5, -3.0 + 0.0, 0.0, 0.70710754, -0.70710605 + + + + 3686 + + + 44.139576, 125.38099, -6.5 + 0.0, 0.0, -0.99619466, 0.08715635 + + + + 3687 + + + 44.41017, 127.097435, -6.5 + 0.0, 0.0, -0.6427876, 0.76604444 + + + + 1791 + + + -2.5, 28.5, -3.0 + 0.0, 0.0, -6.993822E-7, 1.0 + + + + 1788 + + + -2.5, 27.5, -3.0 + 0.0, 0.0, 0.70710754, -0.70710605 + + + + 3685 + + + 43.398838, 126.291245, -6.5 + 0.0, 0.0, -0.6755904, 0.73727715 + + + + 3672 + + + 50.212563, 135.22977, -6.5 + 0.0, 0.0, 0.043619454, -0.99904823 + + + + 3665 + + + 52.004288, 132.32057, -6.5 + 0.0, 0.0, -0.2588191, 0.9659258 + + + + 3667 + + + 51.460968, 134.98248, -6.5 + 0.0, 0.0, 0.8660254, -0.4999999 + + + + 3666 + + + 50.526512, 134.46, -6.5 + 0.0, 0.0, -0.34202027, 0.93969256 + + + + 3669 + + + 52.293945, 133.85991, -6.5 + 0.0, 0.0, 0.6427876, 0.7660445 + + + + 3668 + + + 50.673218, 133.1456, -6.5 + 0.0, 0.0, 0.30070573, -0.95371693 + + + + 3671 + + + 52.83381, 132.99739, -6.5 + 0.0, 0.0, 0.81915206, -0.57357633 + + + + 3670 + + + 51.58988, 132.75409, -6.5 + 0.0, 0.0, 0.25881904, -0.9659258 + + + + 4067 + + + -21.5, 44.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4069 + + + -21.5, 47.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4068 + + + -21.5, 45.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4071 + + + -19.5, 44.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4070 + + + -20.5, 45.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 2980 + + Player Enter/Spawn Activate + + Trigger Action + + + + activate + + spawn 1a + + + + + + + + + 19.5 + 52.5 + -2.5 + + + 19.5 + 50.5 + -2.5 + + + 23.5 + 50.5 + -2.5 + + + 23.5 + 52.5 + -2.5 + + + + + 4072 + + + -20.5, 44.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4075 + + + -15.5, 45.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4074 + + + -18.338585, 42.813473, -4.0 + 0.0, 0.0, -0.17364812, 0.9848078 + + + + 4077 + + + -15.5, 44.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4076 + + + -16.5, 44.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4079 + + + -9.5, 45.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4078 + + + -14.5, 44.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4080 + + + -10.5, 44.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4081 + + + -9.5, 44.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 3006 + + + 5.3843946, 21.630224, -3.0 + 0.0, 0.0, 0.42261824, 0.9063078 + + + + 4082 + + + -8.5, 44.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 3007 + + + 15.486054, 21.625774, -5.5 + 0.0, 0.0, -0.34202003, 0.9396927 + + + + 4083 + + + -8.5, 45.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4084 + + + -8.5, 46.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4085 + + + -21.5, 48.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4086 + + + -22.5, 48.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4087 + + + -21.5, 49.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4088 + + + -22.5, 49.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4089 + + + -22.5, 50.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4090 + + + -20.5, 49.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4091 + + + -19.5, 50.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4092 + + + -20.5, 50.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4093 + + + -18.5, 51.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4094 + + + -17.5, 52.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4095 + + + -18.5, 52.5, -4.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4043 + + + -36.5, 49.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4047 + + + -35.5, 49.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4046 + + + -36.5, 50.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4045 + + + -36.5, 51.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4044 + + + -36.5, 48.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4050 + + + -34.5, 49.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4051 + + + -35.5, 51.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4048 + + + -34.5, 48.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4049 + + + -35.5, 48.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4054 + + + -33.5, 48.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4055 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + false + Tag + door 1e + + + + -35.500008, 56.500004, -2.5 + 0.0, 0.0, 1.0, 7.9075363E-7 + + + + 4052 + + + -35.5, 50.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4053 + + + -32.5, 48.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4058 + + + -31.5, 56.5, -2.5 + 0.0, 0.0, 1.0, 4.3312576E-7 + + + + 4059 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + true + Tag + door 1e + + + + -28.5, 49.5, -2.5 + 0.0, 0.0, -0.7071069, 0.7071067 + + + + 4056 + + + -36.5, 52.5, -2.5 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 4057 + + + -38.174812, 60.417595, -1.0 + 0.0, 0.0, -0.53729963, 0.8433914 + + + + 4060 + + Dynamic/Switch/Party Platform/Base + + Action + + + + toggle + + door 1e + + + + activate + + spawn 1e + + + + + spawn 2e + + + + + + + + -31.5, 53.5, -2.5 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 4061 + + + -31.5, 54.5, -1.5 + + + + 3040 + + + 25.470398, 82.50461, -1.0 + 0.0, 0.0, 0.93969285, 0.34201947 + + + + 3042 + + + 14.508264, 71.61161, -1.0 + 0.0, 0.0, -0.30070552, 0.95371705 + + + + 3975 + + Character/Monster/Generic/Subset Spawn + + Tag + subset 2e + Wave Number + 2e + + + + -35.5, 84.5, -1.0 + + + + 3974 + + Dynamic/Block/Explosive + + + -36.5, 85.5, -1.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 3973 + + + -36.5, 84.5, -1.0 + + + + 3971 + + + -37.5, 84.5, -1.0 + 0.0, 0.0, 8.742278E-8, -1.0 + + + + 3970 + + + -38.5, 84.5, -1.0 + + + + 3969 + + + -37.5, 85.5, -1.0 + + + + 3983 + + + -32.90584, 66.03881, -1.0 + 0.0, 0.0, 0.46174848, 0.88701093 + + + + 3015 + + + 18.5, 37.5, -5.5 + 0.0, 0.0, -0.7071069, 0.7071067 + + + + 3978 + + Trigger/Master Signal Trigger + + Number + 2 + Spawn Table + + Monster/Tutorial/Training Grounds/Jelly Cube + + Tag + (Wave Tag) + + + Spawn Tag + spawn 2e + Tag + subset 2e + Wave Number + 2e + + + + -32.5, 84.5, -1.0 + + + + 3013 + + + 27.578617, 24.769253, -5.5 + 0.0, 0.0, 0.5735764, 0.81915206 + + + + 1806 + + + 2.5, 28.5, -3.0 + 0.0, 0.0, 1.0, -5.443588E-7 + + + + 3034 + + + 61.52449, 25.473324, -3.5 + 0.0, 0.0, 0.3826834, 0.92387956 + + + + 1804 + + + 2.5, 28.5, -3.0 + 0.0, 0.0, 1.3749147E-6, -1.0 + + + + 1805 + + + 2.5, 28.5, -3.0 + 0.0, 0.0, 1.0, -5.443588E-7 + + + + 3033 + + + 53.38218, 25.450304, -3.5 + 0.0, 0.0, -0.38268328, 0.9238796 + + + + 1802 + + + 3.5, 28.5, -3.0 + 0.0, 0.0, -6.993822E-7, 1.0 + + + + 1803 + + + 2.5, 28.5, -3.0 + 0.0, 0.0, -6.993822E-7, 1.0 + + + + 1800 + + Dynamic/Recon Module/Info Bubble + + Message + m.final_test + Title + t.final_test + Title Color + 1.0, 1.0, 1.0, 1.0 + Variant + General + Visible Distance + 7.0 + + + + 3.5, 26.5, -3.0 + 0.0, 0.0, 1.0, 4.3312576E-7 + + + + 1801 + + + 1.5, 28.5, -3.0 + 0.0, 0.0, -6.993822E-7, 1.0 + + + + 1798 + + + 2.5, 27.5, -3.0 + 0.0, 0.0, -6.993822E-7, 1.0 + + + + 1799 + + + 2.5, 26.5, -3.0 + 0.0, 0.0, -0.70710844, 0.70710516 + + + + 3027 + + + 55.25248, 47.109276, -3.5 + 0.0, 0.0, 0.953717, 0.30070558 + + + + 1796 + + + 3.5, 25.5, -3.0 + 0.0, 0.0, -9.5399045E-8, 1.0 + + + + 3024 + + + 35.78698, 54.73104, -2.5 + 0.0, 0.0, -0.34201977, 0.93969274 + + + + 1797 + + + 3.5, 24.5, -3.0 + 0.0, 0.0, -9.5399045E-8, 1.0 + + + + 1794 + + + 1.5, 27.5, -3.0 + 0.0, 0.0, 0.70710754, -0.70710605 + + + + 1795 + + + 3.5, 24.5, -3.0 + 0.0, 0.0, -1.0, -7.351569E-7 + + + + 1792 + + + -0.5, 29.5, -3.5 + 0.0, 0.0, 1.0, 3.1391647E-7 + + + + 1793 + + + -0.5, 28.5, -3.0 + 0.0, 0.0, -6.993822E-7, 1.0 + + + + 2032 + + + 48.5, 37.5, -3.5 + 0.0, 0.0, 0.70710695, 0.70710665 + + + + 2033 + + Character/Monster/Generic/Single Spawn + + Spawn Table + + Spawn Tag + (Monster Spawn) + Wave Number + AREA B + + + + 51.5, 38.5, -3.5 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 2034 + + + 55.5, 36.5, -3.5 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 2035 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + false + Tag + door 0b + + + + 50.5, 43.5, -3.5 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 2036 + + Dynamic/Door/Iron Gate/Trigger 5 + + Open + false + Tag + door 0b + + + + 52.5, 41.5, -3.5 + 0.0, 0.0, 1.0, 9.099629E-7 + + + + 2038 + + + 48.5, 43.5, -3.5 + 0.0, 0.0, 0.7071069, 0.7071067 + + + + 2039 + + Dynamic/Door/Iron Gate/Trigger 5 + + Open + true + Tag + door 1b + + + + 52.500004, 45.500004, -3.5 + 0.0, 0.0, -2.0861619E-7, 1.0 + + + + 2040 + + + 54.5, 43.5, -3.5 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 2041 + + Dynamic/Switch/Party Platform/Base + + Action + + + + close + + door 1b + + + + open + + door 0b + + + + activate + + spawn 1b + + + + + + + + 52.5, 43.5, -3.5 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 2042 + + Player Enter/Spawn Activate + + Trigger Action + + activate + + spawn 2b + + + + + + + 63.5 + 45.5 + -3.5 + + + 63.5 + 39.5 + -3.5 + + + 60.5 + 39.5 + -3.5 + + + 60.5 + 45.5 + -3.5 + + + + + 2043 + + + 60.5, 42.5, -3.5 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 3965 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + false + Tag + door 2e + + + + -35.500004, 77.5, -1.0 + 0.0, 0.0, -1.0, 5.5233505E-7 + + + + 2020 + + + 61.5, 31.5, -3.5 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 3964 + + + -38.446217, 76.438576, -1.0 + 0.0, 0.0, -0.25881904, 0.9659258 + + + + 2029 + + Player Enter/Spawn Activate + + Trigger Action + + activate + + spawn 3b + + + + + + + 55.5 + 39.5 + -3.5 + + + 55.5 + 33.5 + -3.5 + + + 52.5 + 33.5 + -3.5 + + + 52.5 + 39.5 + -3.5 + + + + + 3914 + + + 24.102655, 80.908775, 0.0 + + + + 3913 + + + -9.5, 73.5, 0.5 + + + + 3918 + + Lights/Point Light + + Attenuation + + 0.0 + 0.9 + + Diffuse + 0.0, 0.6, 0.4, 1.0 + Extent + 7.0 + + + + 24.5, 118.5, -5.5 + + + + 3919 + + + 46.5, 133.5, -5.5 + + + + 2010 + + + 44.5, 28.5, -3.5 + + + + 2011 + + Player Enter/Spawn Activate + + Trigger Action + + activate + + spawn 4b + + + + + + + 52.5 + 33.5 + -3.5 + + + 52.5 + 27.5 + -3.5 + + + 49.5 + 27.5 + -3.5 + + + 49.5 + 33.5 + -3.5 + + + + + 2009 + + Trigger/Master Signal Trigger + + Number + 2 + Spawn Table + + Monster/Tutorial/Training Grounds/Jelly Cube + + Tag + (Wave Tag) + + + Spawn Tag + spawn 1b + Tag + subset 1b + Wave Number + 1b + + + + 47.5, 26.5, -3.5 + + + + 3905 + + + 53.5, 44.5, -3.0 + + + + 2014 + + Trigger/Master Signal Trigger + + Number + 3 + Spawn Table + + Monster/Tutorial/Training Grounds/Jelly Cube + + Tag + (Wave Tag) + + + Spawn Tag + spawn 3b + Tag + subset 3b + Wave Number + 3b + + + + 51.5, 26.5, -3.5 + + + + 2015 + + Trigger/Master Signal Trigger + + Number + 3 + Spawn Table + + Monster/Tutorial/Training Grounds/Jelly Cube + + Tag + (Wave Tag) + + + Spawn Tag + spawn 4b + Tag + subset 4b + Wave Number + 4b + + + + 53.5, 26.5, -3.5 + + + + 2013 + + Trigger/Master Signal Trigger + + Number + 2 + Spawn Table + + Monster/Tutorial/Training Grounds/Jelly Cube + + Tag + (Wave Tag) + + + Spawn Tag + spawn 2b + Tag + subset 2b + Wave Number + 2b + + + + 49.5, 26.5, -3.5 + + + + 3923 + + Lights/Point Light + + Attenuation + + 0.0 + 0.9 + + Diffuse + 1.0, 0.4, 0.2, 1.0 + Extent + 8.0 + + + + 81.5, 139.5, -4.5 + + + + 3922 + + Lights/Point Light + + Attenuation + + 0.0 + 0.9 + + Diffuse + 0.49803922, 0.0, 0.7490196, 1.0 + Extent + 7.0 + + + + 31.5, 110.5, -5.5 + + + + 3920 + + + 55.5, 124.5, -5.5 + + + + 3926 + + Character/Monster/Generic/Single Spawn + + Spawn Table + + Spawn Tag + (Monster Spawn) + Wave Number + AREA E + + + + -12.5, 73.5, -1.0 + 0.0, 0.0, -8.742277E-8, 1.0 + + + + 3925 + + + 24.5, 62.5, -2.0 + + + + 3924 + + Prop/General/Undead/Ground Fog + + Color + 0.19215687, 0.5803922, 0.3647059, 1.0 + Density + 1000 + Radius + 12.0 + + + + 36.5, 115.5, -6.0 + + + + 3879 + + + 22.5, 116.5, -6.5 + 0.0, 0.0, -2.6782802E-6, 1.0 + + + + 3901 + + + 21.5, 37.5, -5.0 + + + + 3902 + + + 18.060219, 62.192112, -2.0 + + + + 3897 + + Player Enter/Spawn Activate + + Trigger Action + + + + open + + door 4e + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/play_sound_clip.dat + + File + sound/music/fanfare_discovery_1.ogg + Gain + 1.0 + + + + + + + open + + door 1e + + + + + + + + + -8.5 + 74.5 + -1.0 + + + -8.5 + 72.5 + -1.0 + + + -10.5 + 72.5 + -1.0 + + + -10.5 + 74.5 + -1.0 + + + + + 3899 + + + -0.54566574, 25.95397, -2.1100001 + + + + 3891 + + Player Enter/Spawn Activate + + Trigger Action + + + + open + + door toggle b + + + + open + + door 1b + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/play_sound_clip.dat + + File + sound/music/fanfare_discovery_1.ogg + Gain + 1.0 + + + + + + + + + + + + 58.5 + 25.5 + -3.5 + + + 58.5 + 23.5 + -3.5 + + + 56.5 + 23.5 + -3.5 + + + 56.5 + 25.5 + -3.5 + + + + + 3851 + + Environment/Music Mix + + Cross Fade + 0.0 + Files + + + sound/music/clockwork_ambient.ogg + 1.75 + + + sound/music/clockwork_ambient_2.ogg + 1.75 + + + sound/music/clockwork_action.ogg + + + Gain + 0.45 + + + + + 1950 + + Dynamic/Switch/Party Platform/Base + + Action + + + + open + + door 0a + + + + + + + + 21.5, 24.5, -5.5 + + + + 1951 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + false + Tag + door 0a + + + + 21.5, 29.5, -5.5 + + + + 3870 + + + 26.5, 115.5, -6.0 + + + + 3869 + + + 49.5, 129.5, -6.0 + + + + + \ No newline at end of file diff --git a/scenes/51.xml b/scenes/51.xml new file mode 100644 index 0000000..26de0d5 --- /dev/null +++ b/scenes/51.xml @@ -0,0 +1,8337 @@ + + + + + + + + + + + + 0, -1 + + + 655360, 524288, -1, -1, -1, -1, -1, -1, 131075, 327681, -1, -1, -1, -1, -1, -1, 983043, 7929857, -1, -1, + -1, -1, -1, -1, 196611, 327681, -1, -1, -1, -1, -1, -1, 1310723, 393216, 327680, 655360, 524288, -1, -1, -1, + 1048579, 196610, 786434, 131075, 327681, -1, -1, -1, 720896, 720898, 262145, 65539, 327681, -1, -1, -1, + 262147, 720898, 851969, 983043, 655361, -1, -1, -1 + + + 15, 26 + + + 2883728, 3408016, 3473529, 327801, -1, -1, -1, -1, 2883728, 3408016, 4063353, 327801, -1, -1, -1, -1, + 3408016, 2883728, -1, 327801, -1, -1, -1, -1, 2883728, 2883728, -1, 589945, -1, -1, -1, -1, 3408016, 2883728, + 3342457, 327801, -1, -1, -1, -1, 3735672, 3735672, 2949241, 589945, -1, -1, -1, -1, 1114232, 1114232, 1114232, + 524409, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 0, 0 + + + 2, 262145, 917504, 196611, 327681, -1, -1, -1, 65536, 1048577, 720899, 196611, 589825, -1, -1, -1, + 2949120, 1310721, 3, 196611, 327681, -1, -1, -1, 3801089, 196609, 262144, 196611, 327681, -1, -1, -1, 3342337, + 786433, 262147, 983043, 327681, -1, -1, -1, 3604481, 786433, 851969, 983043, 655361, -1, -1, -1, 2949121, + 196609, 851969, 65539, 589825, -1, -1, -1, 393218, 786433, 1, 1245187, 589825, -1, -1, -1 + + + 14, 26 + + + -1, -1, -1, 655483, -1, 2883728, 3408016, 2883728, 589944, 655480, 327800, 393339, 3801211, 3408016, + 3408016, 2883728, 7209080, 6881400, 7209080, 6881400, 8388731, 2883728, 2883728, 3408016, 2228344, 1114232, + 1114232, 393338, 3801211, 3408016, 3408016, 2883728, -1, -1, -1, 589947, 3604603, 3408016, 2883728, 3408016, + -1, -1, -1, 589947, 2949242, 3735672, 4128888, -1, -1, -1, -1, 524410, 1114232, 458872, 1114232, 458872, -1, + -1, -1, -1, -1, -1, -1, -1 + + + -1, -1 + + + 655360, 589824, 327680, 655360, 655360, 327680, 655360, 7929856, 983042, 1310722, 65538, 65538, 983042, + 196610, 983042, 196610, 851970, 1, 3, 851968, 720898, 2, 262144, 851970, 851968, 262147, 851969, 2818050, + 262147, 262145, 851970, 851968, 720898, 262144, -1, -1, -1, 851970, 262144, 1, 262146, 262144, -1, -1, -1, + 262146, 720896, 851968, 2818048, 851970, -1, -1, -1, 851971, 3, 720899, 262147, 262144, 720897, 720898, + 720896, 262145, 851968, 2424832 + + + 11, 26 + + + 3408016, 2883728, 4784272, -1, -1, 327801, -1, -1, 4784272, -1, -1, -1, -1, 393336, 655480, 327800, -1, + -1, 2883728, 3408016, 8388729, 6881400, 7143544, 7405688, 3408016, 2883728, 3408016, 2883728, 3801209, 393337, + 1114232, 2228344, 2883728, 3408016, 2883728, 2883728, 3342457, 589945, -1, -1, 3735672, 3735672, 3735672, + 3735672, 2949241, 327801, -1, -1, 1114232, 1114232, 1114232, 458872, 1114232, 524409, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1 + + + 19, 17 + + + -1, -1, -1, -1, 327761, -1, -1, -1, 4784232, -1, 2883688, -1, 327761, -1, -1, -1, -1, -1, 3407976, + 4063313, 327761, -1, -1, -1, -1, 4784232, -1, -1, 589905, -1, -1, -1, -1, -1, -1, -1, 655441, -1, -1, -1, -1, + 4784232, -1, 6946897, 327761, -1, -1, -1, -1, -1, -1, -1, 655441, -1, -1, -1, -1, 4128848, -1, 2949201, + 655441, -1, -1, -1 + + + 10, 26 + + + -1, -1, -1, -1, -1, 589947, 3473531, 3408016, -1, -1, -1, -1, -1, 589947, 4063355, 3408016, -1, -1, -1, + -1, -1, 589947, -1, 3408016, -1, -1, -1, -1, -1, 589947, -1, 2883728, -1, -1, -1, -1, -1, 589947, 3801211, + 3408016, -1, -1, -1, -1, -1, 655483, 2949242, 3735672, -1, -1, -1, -1, -1, 524410, 2228344, 1114232, -1, -1, + -1, -1, -1, -1, -1, -1 + + + 13, 26 + + + 262267, 1310843, 589945, -1, -1, -1, -1, -1, 721019, 65659, 393336, 589944, 589944, 327800, 655480, + 327800, 123, 786555, 6357112, 6881400, 7078008, 7143544, 7340152, -1, 122, 65659, 655481, 458872, 1114232, + 1114232, 2228344, 1114232, 852091, 196731, 327801, -1, -1, -1, -1, -1, 262266, 786555, 1704057, -1, -1, -1, + -1, -1, 1572984, 2490491, -1, -1, -1, -1, -1, -1, 5374072, 5832827, 5898361, -1, -1, -1, -1, -1 + + + 17, 17 + + + 852048, 852048, 720979, 852048, 720979, 82, 852049, 852049, 196688, 65616, 65616, 65616, 1048657, + 2818131, 1048656, 786512, -1, -1, 3014736, 2949200, 196689, 83, 196691, 2949203, 2883688, 4784232, -1, + 3604561, 196689, 852050, 786515, 7536723, -1, -1, -1, 6488145, 1310801, 720976, 983123, -1, -1, 4784232, -1, + -1, 196689, 81, 786515, 3801171, 3407976, -1, -1, -1, 983121, 917586, 196691, 3801171, -1, 3735632, 3735632, + 2949201, 983121, 80, 1245267, 2949202 + + + 12, 26 + + + -1, -1, -1, -1, -1, -1, 589947, 196729, 589944, 327800, 589944, 655480, 327800, 589944, 393339, 65657, + 7078008, 7143544, 7340152, -1, 7209080, 6881400, 7274616, 983161, 1114232, 1114232, 1114232, 1114232, 1114232, + 458872, 655483, 1310841, -1, -1, -1, -1, -1, -1, 589947, 786553, -1, -1, -1, -1, -1, -1, 1376379, 786553, -1, + -1, -1, -1, -1, -1, -1, 1638521, -1, -1, -1, -1, -1, -1, 4980857, 5243001 + + + 18, 17 + + + 262225, 852049, 852049, 917584, 1048656, 131152, 6946899, -1, 786512, 1310800, 983120, 196688, 131152, + 131152, -1, 3407976, 3932240, 5963856, -1, 3473488, 3604560, 3932240, 3539024, 3407976, 3407976, 2883688, + 3407976, 2883688, 2883688, 2883688, 3407976, 4784232, 4784232, -1, 4784232, -1, 2883688, 3407976, 2883688, -1, + -1, -1, -1, -1, 2883688, 3407976, 3407976, 4784232, 3407976, 2883688, 3407976, 3407976, 2883688, 2883688, + 3407976, -1, 3735632, 3735632, 3735632, 3735632, 3735632, 3735632, 7602256, -1 + + + 4, 9 + + + 2293801, -1, -1, -1, -1, -1, -1, -1, 4325417, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 3, 9 + + + 1638440, 4849705, 2359336, 4849704, 1441832, 2490408, 1638440, 4259880, 4915242, 2162729, 1507368, + 2162731, 4915241, 1966122, -1, -1, 2097195, 1900585, 1507368, 2162731, 2293801, -1, -1, -1, 2555947, 1638441, + 1769512, 2162731, 2097193, -1, -1, -1, -1, 2490409, 2359336, 1900587, 2097193, -1, -1, -1, 2097195, 2162729, + 1835048, 1638443, 2097193, -1, -1, -1, 1703979, 1900585, 2359336, 1441835, 1376297, -1, -1, -1, -1, 1900585, + 1769512, 1441835, -1, -1, -1, -1 + + + 2, 9 + + + -1, 4325419, 4915243, 4194345, 1769512, 4849704, 1900584, 1441832, -1, 2293803, 1507368, 2162729, + 2687016, 2162731, 4915241, 3080234, -1, 4325418, 4915242, 4259881, 1441832, 4259880, 2097193, -1, -1, -1, + 4325418, 1966122, -1, -1, 4325417, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4325419, 2293800, + 4325416, -1, -1, -1, -1, -1, 2031659, 2359336, 2031657, -1, -1, -1, -1, -1, 4325418, 3145770, 4325417, -1 + + + 17, 18 + + + 2228304, 2228304, 2228304, 393298, 983121, 262225, 196691, 393297, -1, -1, -1, 327763, 1310801, 720978, + 65619, 327761, -1, -1, -1, 2031699, 2162769, 1507408, 1900627, 2293841, -1, -1, -1, 4980817, 5242961, 5374032, + 5832787, 5898321, -1, -1, -1, 4980821, 5308501, 5570644, 5767255, 5898325, -1, -1, -1, 4980825, 5046361, + 5374040, 5636187, 5898329, -1, -1, -1, 4980829, 5111901, 5439580, 5701727, 5898333, -1, -1, -1, 4980833, + 5177441, 5505120, 5767267, 5898337 + + + 16, 18 + + + 1114192, 2228304, 1114192, 458832, 2228304, 1114192, 1114192, 458832, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 15, 18 + + + -1, -1, -1, -1, -1, -1, 524370, 1114192, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 0, 1 + + + 1376259, 1441793, 2686976, 1638403, 1703937, -1, -1, -1, -1, 2490369, 2752512, 2490371, -1, -1, -1, -1, + 4980737, 5242881, 5373952, 5832707, 5898241, -1, -1, -1, 4980741, 5308421, 5570564, 5767175, 5898245, -1, -1, + -1, 4980745, 5046281, 5373960, 5636107, 5898249, -1, -1, -1, 4980749, 5111821, 5439500, 5701647, 5898253, -1, + -1, -1, 4980753, 5177361, 5505040, 5767187, 5898257, -1, -1, -1, 2097175, 1638421, 2621460, 1638423, 4915220, + 2031636, 2097172, 2555924 + + + -2, 0 + + + 327683, 3670019, 3407896, 2883608, 3407896, 5963777, 196609, 262144, 589827, 7536643, 2883608, 4784152, + -1, -1, 131073, 196608, 327683, -1, 3407896, -1, -1, 3866624, 3014656, 3670016, 327683, 3670019, 4784152, -1, + 3407896, 3407896, 4784152, -1, 327683, 3473411, -1, -1, 4784152, -1, -1, -1, 327683, 3604483, 3407896, + 2883608, -1, -1, 3407896, 2883608, 327683, 2949122, 3735552, 3735552, 3735552, 3735552, 3735552, 3735552, + 524290, 1114112, 1114112, 458752, 1114112, 458752, 2228224, 1114112 + + + -1, 0 + + + 2, 262144, 851968, 3, 720896, 262146, 720896, 851968, 196608, 196608, 196608, 983040, 1310720, 196608, + 1245184, 1310720, 7536640, -1, 3014656, 3342336, 3801088, 4063232, -1, -1, 2883608, 2883608, 3407896, 3407896, + 2883608, 3407896, 4784152, -1, 3407896, 4784152, -1, 4784152, -1, 2883608, -1, -1, 3407896, -1, -1, -1, -1, + 3407896, 3407896, 2883608, 3735552, 3735552, 3735552, 3735552, 3735552, 3735552, 3735552, 3735552, 458752, + 1114112, 2228224, 1114112, 1114112, 2228224, 1114112, 1114112 + + + 15, 25 + + + 3408016, 3408016, -1, 327801, -1, -1, -1, -1, 2883728, 2883728, -1, 655481, -1, -1, -1, -1, 2883728, + 2883728, 3342457, 327801, -1, -1, -1, -1, -1, 3408016, 3801209, 589945, -1, -1, -1, -1, -1, 2883728, 3342457, + 589945, -1, -1, -1, -1, 2883728, 3408016, 4063353, 655481, -1, -1, -1, -1, 3408016, 2883728, -1, 327801, -1, + -1, -1, -1, 3408016, 2883728, -1, 327801, -1, -1, -1, -1 + + + 1, 1 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 6225940, 4325396, -1, -1, -1, -1, -1 + + + 14, 25 + + + 589945, -1, -1, 327803, -1, -1, -1, 3408016, 655481, -1, -1, 589947, 3801211, 2883728, 2883728, 2883728, + 327801, -1, -1, 589947, 3604603, 2883728, 2883728, 3408016, 589945, -1, -1, 655483, 6946939, 2883728, 2883728, + 4784272, 327801, -1, -1, 327803, -1, 2883728, 3408016, -1, 327801, -1, -1, 655483, 3801211, 2883728, 2883728, + 2883728, 524409, -1, -1, 589947, 6488187, 4784272, -1, 2883728, -1, -1, -1, 655483, -1, -1, -1, 2883728 + + + 13, 25 + + + 721018, 721016, 1835128, 262267, 122, 122, 852090, 196731, 262266, 120, 721017, 262266, 721017, 852088, + 721018, 983163, 852091, 721019, 852091, 121, 2424952, 721018, 262266, 983163, 852090, 262267, 121, 852089, + 262266, 721016, 721017, 1310843, 852089, 262266, 262265, 122, 721019, 852088, 852090, 65659, 852089, 1048696, + 1310840, 65656, 1245304, 786552, 196728, 131192, 121, 196731, 393337, 1114232, 1114232, 1114232, 2228344, + 2228344, 122, 1310843, 589945, -1, -1, -1, -1, -1 + + + -1, 10 + + + -1, -1, -1, -1, -1, -1, -1, 4325419, -1, -1, -1, -1, -1, -1, -1, 2097195, -1, -1, -1, -1, -1, -1, -1, + 2031659, -1, -1, -1, -1, -1, 524331, 7929896, 655400, -1, -1, -1, -1, -1, 7929899, 2949163, 3932200, -1, -1, + -1, -1, -1, 7929899, 3473451, 4784192, -1, -1, -1, -1, -1, 327723, 7536683, -1, -1, -1, -1, -1, -1, 7929899, + -1, 4784192 + + + 12, 25 + + + 589947, 983161, 721019, 120, 262266, 2424952, 1572984, 1572984, 327803, 1310841, 721018, 262266, 852088, + 120, 262265, 1835128, 655483, 983161, 721016, 262267, 852089, 262267, 262264, 120, 589947, 1245305, 721019, + 262265, 121, 121, 852090, 262266, 655483, 196729, 123, 2424954, 721019, 852090, 852089, 721019, 327803, + 131193, 196728, 983160, 196728, 196728, 196728, 1048697, 524410, 2228344, 1114232, 2228344, 1114232, 1114232, + 393338, 786553, -1, -1, -1, -1, -1, -1, 589947, 196729 + + + 16, 16 + + + 4784232, -1, 4784232, -1, 7536721, 196689, 83, 852049, -1, -1, -1, -1, -1, 8454224, -1, -1, 3407976, + 2883688, 2883688, 2883688, 3670097, -1, -1, -1, 4784232, -1, 4784232, -1, 3473489, -1, -1, -1, -1, -1, -1, -1, + 3342417, 1245265, 720977, 2424913, 3407976, 2883688, 4784232, -1, 6946897, 65617, 262227, 852050, 3407976, + 3407976, -1, -1, -1, 1310801, 262224, 82, 2883688, 2883688, 3407976, 3407976, 6488145, 983121, 852051, 852049 + + + 17, 16 + + + 852049, 852049, 1572944, 2752592, 2687056, 3276880, 2752592, 2687056, 8454224, -1, -1, 2621520, 3276880, + 1835088, 1572944, 1572944, -1, -1, -1, 1507408, 2359376, 2687056, 2621520, 2752592, -1, -1, -1, 3276880, + 1835088, 1835088, 2359376, 1835088, 720976, 852050, 720976, 852050, 83, 262227, 262226, 1835088, 83, 720978, + 852049, 262226, 81, 852050, 82, 262227, 82, 720978, 720977, 81, 852051, 82, 852048, 720978, 852049, 262225, + 2818128, 83, 852051, 82, 262225, 720979 + + + 11, 25 + + + -1, 2883728, 3408016, 2883728, 3670137, 589945, -1, -1, -1, 2883728, 2883728, 3408016, 3670137, 327801, + -1, -1, -1, 4784272, -1, 3408016, 6488185, 327801, -1, -1, 2883728, -1, -1, 3408016, -1, 589945, -1, -1, + 3408016, 2883728, 2883728, 3408016, -1, 327801, -1, -1, 3408016, 3408016, 3408016, 3408016, 3342457, 655481, + -1, -1, 4784272, -1, 3408016, 3408016, 3473529, 327801, -1, -1, -1, -1, 2883728, 2883728, 6488185, 589945, -1, + -1 + + + 18, 16 + + + 720977, 82, 720976, 720978, 82, 983123, -1, -1, 8454224, -1, -1, 8454224, -1, -1, 3670099, 4784232, -1, + -1, -1, -1, -1, -1, 3473491, -1, -1, -1, -1, -1, -1, -1, 3342419, 2883688, 2359376, 83, 917584, 82, 83, + 1245267, 3801171, 2883688, 720978, 262225, 81, 720977, 852049, 983123, 3670099, 4784232, 852050, 262224, + 262225, 262226, 80, 983123, 5963859, -1, 720979, 852050, 262226, 262225, 81, 65619, -1, 4784232 + + + 10, 25 + + + -1, -1, -1, -1, -1, 655483, 6488187, -1, -1, -1, -1, -1, -1, 589947, -1, 4784272, -1, -1, -1, -1, -1, + 327803, -1, -1, -1, -1, -1, -1, -1, 327803, 3801211, 2883728, -1, -1, -1, -1, -1, 655483, 3473531, 2883728, + -1, -1, -1, -1, -1, 327803, 6488187, 2883728, -1, -1, -1, -1, -1, 655483, -1, 2883728, -1, -1, -1, -1, -1, + 327803, -1, 2883728 + + + 1, 10 + + + 327720, 327720, 327720, 327720, 327720, 655400, 1703976, -1, 983082, 983082, 983082, 196650, 786474, + 196650, 786474, 2162730, 852009, 43, 852011, 1572904, 852008, 852011, 852008, 3276840, 262186, 2818091, + 1572904, 1507368, 43, 2424874, 1048616, 2162728, 41, 262187, 262184, 1769512, 43, 720936, 1310763, 2949163, + 2621480, 41, 262187, 720939, 1507368, 262184, 65579, 3473451, 3276840, 2359336, 262185, 262185, 852009, + 852008, 983083, 7536683, 1572904, 852010, 2621480, 852010, 40, 720938, 983083, -1 + + + 19, 16 + + + -1, -1, -1, -1, 327761, -1, -1, -1, -1, 3407976, 2883688, -1, 327761, -1, -1, -1, -1, 2883688, 3407976, + 3604561, 327761, -1, -1, -1, 2883688, 2883688, 2883688, 3342417, 327761, -1, -1, -1, 2883688, 2883688, + 3407976, 4063313, 327761, -1, -1, -1, -1, 4784232, -1, -1, 327761, -1, -1, -1, -1, -1, -1, -1, 589905, -1, -1, + -1, -1, 4784232, -1, 4063313, 327761, -1, -1, -1 + + + 0, 10 + + + 2097192, 2097192, 6225960, 1376296, -1, 589864, 327720, 327720, 4259882, 1900586, 1638442, 1441834, + 65578, 1310762, 1310762, 65578, 4194345, 1769512, 2752552, 2359336, 917545, 852010, 262184, 262187, 4259881, + 1441832, 1638440, 4194344, 1048617, 42, 41, 1769512, 3997736, 3014696, 3997736, 2949160, 65577, 852008, + 1179688, 262186, -1, 2883648, 3407936, 4063273, 786473, 1572904, 1179689, 2752552, -1, 4784192, -1, -1, + 1310761, 262185, 2359336, 1572904, -1, -1, -1, -1, 983081, 1507368, 2687016, 1769512 + + + 3, 10 + + + 393259, 65577, 720939, 983083, 393256, 655400, 7929896, 1703976, 65578, 1048618, 720936, 1048619, + 196650, 786474, 196650, 983082, 262187, 852009, 43, 852011, 42, 852008, 852011, 852009, 852010, 262186, + 2818091, 2818088, 262184, 43, 2424874, 1048616, 262186, 41, 262187, 262184, 262187, 43, 720936, 1310763, + 720938, 40, 41, 262187, 720939, 720936, 262184, 65579, 262185, 2424875, 262186, 262185, 262185, 852009, + 852008, 983083, 262187, 1179688, 852010, 720938, 852010, 40, 720938, 983083 + + + 2, 10 + + + 2097192, 6225960, 2097192, 1376296, -1, 7929896, 327720, 655400, 2162730, 1638442, 2162730, 1900586, + 2490410, 196650, 983082, 1310762, 1572904, 3276840, 2687016, 1572904, 1572904, 42, 852010, 262184, 1638440, + 1441832, 2162728, 2490408, 2162728, 1048617, 42, 41, 3932200, 6488104, -1, -1, 2949160, 65577, 852008, + 1179688, 4784192, -1, 2883648, 3407936, 4063273, 786473, 262185, 1179689, -1, -1, 4784192, -1, -1, 1310761, + 262185, 42, 4784192, -1, -1, -1, -1, 983081, 1179688, 852011 + + + 5, 10 + + + 7929896, 327720, 327720, 327720, 327720, 327720, 7929896, 327720, 65578, 65578, 196650, 1310762, 196650, + 196650, 786474, 65578, 262184, 262187, 852009, 1507368, 852011, 42, 852008, 1507368, 41, 852010, 262186, + 2818091, 2818088, 262184, 43, 2424874, 1179688, 262186, 41, 262187, 262184, 262187, 43, 720936, 1179689, + 720938, 40, 2621480, 262187, 720939, 720936, 1572904, 42, 262185, 2424875, 262186, 262185, 262185, 852009, + 852008, 852011, 262187, 1179688, 852010, 852011, 262185, 42, 720938 + + + 4, 10 + + + -1, 2555944, -1, 2031656, 2293800, 1376296, -1, 7929896, 2162730, 2162730, 1638442, 2162730, 1638442, + 2162730, 65578, 196650, 2621480, 1572904, 1572904, 1835048, 2359336, 1572904, 1179691, 1572904, 1441832, + 2162728, 1441832, 1441832, 1638440, 4194344, 1048617, 42, 2949163, 3014696, 3604520, 3473448, 3014696, + 2949160, 65577, 852008, 6488107, 4784192, -1, 4784192, -1, 4063273, 786473, 2687016, 327721, -1, -1, -1, -1, + -1, 1310761, 262185, -1, 2883648, 4784192, -1, 3407936, -1, 983081, 1179688 + + + 6, 10 + + + 589864, 524328, -1, -1, -1, -1, -1, -1, 131115, 327721, -1, -1, -1, -1, -1, -1, 1310763, 589865, -1, -1, + -1, -1, -1, -1, 1310763, 393256, 655400, 655400, 589864, 655400, 327720, 524328, 1310763, 2949163, 3014696, + 3604520, 6946856, -1, 2949160, 327721, 65579, 6488107, 4784192, -1, 4784192, -1, 5963817, 7929897, 983083, -1, + -1, -1, -1, -1, -1, 7929897, 983083, -1, 2883648, 4784192, -1, 3407936, 3801129, 327721 + + + 16, 17 + + + 4784232, -1, 4784232, -1, -1, 131153, 1048657, 83, -1, -1, -1, -1, -1, 131153, 131153, 196688, 2883688, + 4784232, -1, 3407976, 3866704, 3014736, 3014736, 6488144, 2883688, -1, -1, 3407976, 2883688, 2883688, 2883688, + 3407976, 3407976, 2883688, 2883688, 3407976, 2883688, 3407976, 3407976, 4784232, 2883688, 3407976, 3407976, + 2883688, 3407976, 2883688, 3407976, -1, 3407976, 2883688, 2883688, 2883688, 3407976, 3407976, 2883688, + 3407976, 3735632, 3735632, 3735632, 3735632, 3735632, 3735632, 3735632, 4128848 + + + 15, 17 + + + -1, -1, -1, -1, -1, -1, 327763, 6946899, -1, -1, -1, -1, -1, -1, 327763, -1, -1, -1, -1, -1, -1, -1, + 327763, 4063315, -1, -1, -1, -1, -1, -1, 589907, -1, -1, -1, -1, -1, -1, -1, 655443, -1, -1, -1, -1, -1, -1, + -1, 327763, 3473491, -1, -1, -1, -1, -1, -1, 327763, 3604563, -1, -1, -1, -1, -1, -1, 327763, 2949202 + + + 1, 2 + + + 2162710, 4259863, 2097173, -1, -1, -1, -1, -1, 1572884, 2162711, 2293781, -1, -1, -1, -1, -1, 2752532, + 1900567, 393236, 327700, 327700, 327700, 589844, 327700, 1179668, 1048599, 786454, 1310742, 983062, 1310742, + 1310742, 196630, 21, 23, 851988, 22, 1572884, 1835028, 2359316, 1572884, 1179671, 851989, 21, 20, 262165, + 1835028, 2686996, 1507348, 851990, 2818071, 22, 720917, 2818070, 20, 851991, 3276820, 2621460, 1572884, 22, + 720917, 720919, 262166, 20, 23 + + + 0, 2 + + + 2097175, 1441813, 1769492, 4849687, 1638422, 1441814, 4194326, 1638422, 2293783, 1638421, 1572884, + 2621460, 1835028, 1572884, 2686996, 2621460, 524311, 4259861, 1441812, 2162708, 1441812, 1900564, 1638420, + 4849685, 327703, 2949143, 3342356, 3014676, 3342356, 3014676, 2949140, 1310741, 655383, 7536663, 4784172, -1, + 4784172, -1, 4063253, 196629, 589847, -1, -1, -1, -1, -1, -1, 1310741, 655383, 6488087, 4784172, -1, 4784172, + -1, -1, 65557, 327703, -1, -1, -1, -1, -1, 7536661, 196629 + + + -2, -1 + + + 524291, 327680, 655360, 589824, 327680, 655360, 655360, 589824, 655363, 2949123, 4063232, -1, -1, + 2949120, 131074, 1245186, 589827, 3014659, 4784152, -1, 3407896, 3670017, 65537, 0, 589827, 6488067, -1, -1, + 3407896, 3932161, 196609, 851969, 655363, -1, 2883608, 4784152, -1, 3670017, 196609, 3, 327683, -1, 3407896, + -1, -1, 6488065, 786433, 720897, 655363, 3932163, 4784152, -1, 2883608, -1, 1310721, 262145, 327683, 3997699, + -1, -1, 3407896, -1, 1245185, 262145 + + + 13, 28 + + + 3276940, 2162831, 2097293, -1, -1, -1, -1, -1, 1573004, 1638543, 2097293, -1, -1, -1, -1, -1, 3276940, + 1900687, 2293901, -1, -1, -1, -1, -1, 1507468, 2162831, 2097293, -1, -1, -1, -1, -1, 2687116, 1441935, + 2097293, -1, -1, -1, -1, -1, 2752652, 1638543, 2097293, -1, -1, -1, -1, -1, 2359436, 2162831, 2031757, -1, -1, + -1, -1, -1, 2621580, 1638543, 2097293, -1, -1, -1, -1, -1 + + + 2, 11 + + + -1, -1, 2883648, 2883648, 3801129, 131113, 1310760, 1310760, 3735592, 4128808, -1, 3735592, 2949161, + 4390952, 4653099, -1, 1114152, 1114152, 458792, 1114152, 2228264, 1114152, 1114152, 1114152, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 12, 28 + + + -1, -1, -1, -1, -1, -1, 2031759, 1441933, -1, -1, -1, -1, -1, -1, 2097295, 1441933, -1, -1, -1, -1, -1, + -1, 2031759, 1900685, -1, -1, -1, -1, -1, -1, 2293903, 2490509, -1, -1, -1, -1, -1, -1, 2293903, 1638541, -1, + -1, -1, -1, -1, -1, 2031759, 2490509, -1, -1, -1, -1, -1, -1, 2097295, 1638541, -1, -1, -1, -1, -1, -1, + 2556047, 2490509 + + + 1, 11 + + + 4194344, 983080, 196648, 196648, 983080, 196648, 131112, 3604523, 7340072, -1, 7143464, 7340072, -1, + 7209000, 6881320, 8257579, 1114152, 1114152, 1114152, 1114152, 1114152, 1114152, 2228264, 1114152, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 0, 11 + + + -1, 2883648, 2883648, 3801129, 131113, 1310760, 2162728, 2162728, 4128808, -1, 3735592, 8192041, + 7405608, 7143464, 7143464, 7143464, 1114152, 458792, 1114152, 2228264, 1114152, 1114152, 1114152, 2228264, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + -1, 11 + + + -1, -1, -1, -1, -1, 589867, 3604523, -1, -1, -1, -1, -1, -1, 7929899, 2949162, 3735592, -1, -1, -1, -1, + -1, 524330, 1114152, 1114152, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 2, 2 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 524311, 589844, 327700, 1703956, -1, + 2031636, 1376276, -1, 393239, 1245206, 196630, 1310742, 1900566, 1441814, 2162710, 196630, 786454, 1179668, + 262165, 2424852, 2621460, 2752532, 1835028, 262165, 851988, 1048596, 196628, 1310740, 1441812, 2162708, + 1638420, 196628, 196628, 196631, 393237, 1376278, -1, 3211286, 1703958, -1, 393238, 786455, 589845, -1, -1, + -1, -1, -1, 524310 + + + 3, 2 + + + -1, -1, -1, -1, -1, -1, -1, -1, 589844, 655380, 327700, 655380, 655380, 524308, -1, -1, 131094, 196630, + 1310742, 196630, 131095, 393236, 1703956, 2031636, 1048598, 21, 720918, 262166, 1048599, 1441814, 2490390, + 2490390, 851990, 21, 720919, 720919, 851988, 1572884, 2686996, 2621460, 1048597, 262165, 21, 262164, 1048596, + 1638420, 1638420, 2162708, 131093, 1310740, 65556, 196628, 131092, 393237, 1376278, 3145750, 1114132, 1114132, + 2228244, 1114132, 1114132, 524309, -1, -1 + + + 4, 2 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6225940, 2097172, 6225940, 6225940, + 6225940, 2097172, 2097172, 2097172, 2490390, 1441814, 1638422, 1638422, 1638422, 1900566, 1638422, 2162710, + 2621460, 1572884, 2359316, 2752532, 2621460, 1572884, 2359316, 2621460, 1900564, 1638420, 1441812, 1441812, + 1900564, 1638420, 4849685, 1507348, 3080214, 3080214, 3080214, 3211286, 3145750, 4915222, 2490389, 1835028, + -1, -1, -1, -1, -1, 1703959, 1441813, 1572884 + + + 5, 2 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2097172, 4325396, -1, -1, -1, -1, -1, + -1, 4259863, 2097173, -1, -1, -1, -1, -1, -1, 1900567, 2293781, -1, -1, -1, -1, -1, -1, 2490391, 2031637, -1, + -1, -1, -1, -1, -1, 1638423, 2555925, -1, -1, -1, -1, -1, -1, 1900567, 1376277, -1, -1, -1, -1, -1, -1 + + + 6, 11 + + + 983083, 3670059, 3407936, -1, -1, 2883648, 3801129, 327721, 131112, 2949162, 7602216, -1, -1, 3735592, + 2949161, 655401, 2228264, 458792, 1114152, 1114152, 1114152, 1114152, 1114152, 524329, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1 + + + 5, 11 + + + 262186, 720939, 852010, 1572904, 42, 720937, 720937, 1835048, 1310760, 1245224, 983080, 983080, 1048617, + 852008, 1048616, 196648, 1114152, 2228264, 1114152, 393258, 1900585, 1835048, 2490411, 393257, -1, -1, -1, + 1376299, 1441833, 1572904, 1638443, 1703977, -1, -1, -1, -1, 2490409, 1507368, 1638443, -1, 4980782, 6815786, + 2097192, 4915243, 1900585, 1769512, 1638443, 2097193, 5308462, 5308458, 1638442, 1441834, 4849706, 1507368, + 2490411, 2097193, 6160428, 6029352, 1835048, 1572904, 2752552, 1572904, 2490411, 2097193 + + + 4, 11 + + + 3342379, 3407936, -1, -1, 2883648, 3670057, 786473, 2359336, 2949162, 7602216, -1, -1, 3735592, 2949161, + 131113, 1310760, 458792, 1114152, 1114152, 1114152, 458792, 2228264, 1114152, 1114152, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6225980, 2097212, 2097212, 2097212, 2097212, 4980794, 6684722, -1, + 6094908, 4259902, 4194366, 2162750, 2490430, 5308474, 5308470, 5308466, 6291516, 2490429, 1572924, 2687036, + 1572924, 6029368, 6160436, 6750256 + + + 3, 11 + + + 1245224, 983080, 983080, 196648, 196648, 983080, 196648, 131112, 8323113, 4718633, -1, 8323115, 8781867, + 4587563, 4522025, 4390952, 2228264, 1114152, 1114152, 1114152, 1114152, 1114152, 1114152, 2228264, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4325439, -1, -1, -1, -1, -1, + -1, -1, 2097215, -1, -1, -1, -1, -1, -1, -1, 2097215 + + + 15, 20 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2031716, + 2097252, 6226020, 1966180, -1, -1, 2097252, 1376356, 1638502, 1441894, 2490470, 1638502, 2490470, 2162790, + 1900646, 1638502, 2687076, 1572964, 2359396, 1835108, 1769572, 3276900, 2359396, 2621540, 1441892, 2162788, + 1638500, 2162788, 4194404, 1900644, 4194404, 2490468, 3211366, 3080294, 3211366, 3080294, 3145830, 3080294, + 3080294, 1704038 + + + 0, 3 + + + 589847, -1, 2883628, 3407916, 2883628, 2883628, -1, 196629, 589847, 3342359, 3407916, 2883628, 2883628, + 3407916, 3801109, 983061, 655383, 3801111, 2883628, 3407916, 2883628, 3407916, 3473429, 983061, 655383, + 3604503, 2883628, 2883628, 2883628, 3407916, 6488085, 196629, 589847, 3342359, 4784172, -1, 4784172, -1, -1, + 131093, 327703, 4063255, -1, -1, -1, -1, -1, 393237, 655383, -1, 4784172, -1, 4784172, -1, 6488085, 327701, + 327703, -1, -1, -1, -1, -1, -1, 327701 + + + 14, 20 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6226020, + 6226020, 2097252, 2293860, 1966180, 2031716, -1, 2097252, 1900646, 1638502, 2490470, 2162790, 1638502, + 2490470, 2162790, 2162790, 2621540, 3276900, 1507428, 2687076, 3276900, 1572964, 1835108, 2359396, 2490468, + 2162788, 1638500, 2162788, 2162788, 2162788, 2162788, 1638500, 3080294, 3080294, 3145830, 3145830, 3080294, + 3211366, 3145830, 3145830 + + + 2, 3 + + + 196631, 655381, -1, -1, -1, -1, -1, -1, 196631, 327701, -1, -1, -1, -1, -1, -1, 786455, 327701, -1, -1, + -1, -1, -1, -1, 1310743, 327701, -1, -1, -1, -1, -1, -1, 131092, 327701, -1, -1, -1, -1, -1, -1, 1114132, + 524309, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 13, 20 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2556004, + -1, 6226020, 2097252, 2097252, 2097252, 6226020, 2293860, 1441894, 1638502, 2490470, 1638502, 2490470, + 1900646, 2162790, 1638502, 2359396, 1835108, 1507428, 2752612, 1769572, 1769572, 1572964, 1572964, 2359396, + 4849764, 2490468, 4194404, 1441892, 2490468, 1441892, 1441892, 2621540, 2162791, 4915301, 3211366, 3145830, + 3211366, 3145830, 3211366 + + + 1, 3 + + + 2752532, 1769492, 1572884, 2752532, 2818069, 20, 851988, 720916, 2752532, 2359316, 2686996, 851989, + 262165, 262166, 21, 22, 1572884, 720918, 851991, 20, 917524, 720919, 851991, 851988, 1835028, 1572884, 720917, + 21, 23, 851991, 851989, 262164, 786452, 196628, 1310740, 786452, 786452, 1310740, 786452, 1245204, 1114132, + 1114132, 1114132, 1114132, 1114132, 1114132, 1114132, 2228244, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1 + + + 12, 20 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 4325479, 2293860, -1, -1, -1, -1, -1, -1, 2293863, 4259942, -1, -1, -1, -1, -1, -1, 2293863, + 1638501, -1, -1, -1, -1, -1, -1, 2556007, 1441893, -1, 4325479, 2097252, 4325476, -1, -1, -1, 2490469 + + + 17, 20 + + + -1, -1, -1, -1, -1, -1, -1, -1, 655460, 7929956, 7929956, 589924, 327780, 524388, -1, -1, 786534, + 786534, 196710, 196710, 131175, 589925, -1, -1, 720998, 102, 852070, 262246, 196711, 327781, -1, -1, 720996, + 262244, 720997, 720996, 196711, 7929957, -1, -1, 852069, 720997, 100, 720998, 786535, 655461, -1, -1, 720997, + 852071, 262245, 720997, 65639, 327781, -1, -1, 196708, 196708, 983140, 196708, 131172, 7929957, -1, -1 + + + 16, 20 + + + -1, -1, -1, -1, 2490469, 3276900, 2162791, -1, -1, 524391, 655460, 393319, 786533, 262247, 983143, + 393316, -1, 327783, 131174, 196710, 1048678, 852069, 1048679, 65638, -1, 393319, 786533, 262246, 101, 262245, + 720998, 262246, 1900646, 1310822, 1048678, 917606, 720996, 2818150, 262244, 852069, 2359396, 101, 100, 100, + 852070, 720997, 102, 720997, 1441892, 65636, 196708, 1048677, 262245, 852068, 852068, 852070, -1, 393318, + 1769572, 65637, 262244, 262245, 852069, 1048676 + + + 18, 18 + + + 458832, 1114192, 1114192, 2228304, 1114192, 1114192, 2228304, 2228304, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 13, 27 + + + 5570684, 5767295, 5898365, -1, -1, -1, -1, -1, 5374080, 5636227, 5898369, -1, -1, -1, -1, -1, 5439620, + 5701767, 5898373, -1, -1, -1, -1, -1, 5505160, 5767307, 5898377, -1, -1, -1, -1, -1, 1835148, 1441935, + 2031757, -1, -1, -1, -1, -1, 3276940, 2162831, 2293901, -1, -1, -1, -1, -1, 2687116, 1441935, 2293901, -1, -1, + -1, -1, -1, 2359436, 1638543, 2031757, -1, -1, -1, -1, -1 + + + 19, 18 + + + 1114192, 1114192, 458832, 1114192, 524369, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 3, 12 + + + -1, -1, -1, -1, -1, -1, -1, 2097215, -1, -1, -1, -1, -1, -1, -1, 2293823, -1, -1, -1, -1, -1, -1, -1, + 2097215, -1, -1, -1, -1, -1, -1, -1, 2097215, -1, -1, -1, -1, -1, -1, -1, 2097215, -1, -1, -1, -1, -1, -1, -1, + 2097215, -1, -1, -1, -1, -1, -1, -1, 2031679, -1, -1, -1, -1, -1, -1, -1, 4325438 + + + 12, 27 + + + -1, -1, -1, -1, -1, -1, 4980861, 5308541, -1, -1, -1, -1, -1, -1, 4980865, 5046401, -1, -1, -1, -1, -1, + -1, 4980869, 5111941, -1, -1, -1, -1, -1, -1, 4980873, 5177481, -1, -1, -1, -1, -1, -1, 2293903, 1900685, -1, + -1, -1, -1, -1, -1, 2097295, 4194445, -1, -1, -1, -1, -1, -1, 2097295, 1441933, -1, -1, -1, -1, -1, -1, + 2097295, 2490509 + + + 5, 3 + + + 1638423, -1, -1, -1, -1, -1, -1, -1, 1900567, 393236, 327700, 589844, 589844, 524308, -1, -1, 1048599, + 1245206, 196630, 8585236, -1, 655381, -1, -1, 21, 720916, 851989, -1, -1, 655381, -1, -1, 720919, 851990, 23, + 8585236, -1, 655381, -1, -1, 1507348, 23, 262165, -1, -1, 589845, -1, -1, 3276820, 2752532, 20, 8585236, -1, + 589845, -1, -1, 1572884, 1507348, 2621460, -1, -1, 655381, -1, -1 + + + 4, 3 + + + -1, -1, -1, -1, -1, -1, 1900565, 1572887, -1, 524311, 327700, 655380, 327700, 393239, 2162709, 3276820, + -1, 589847, 8585236, -1, 983062, 983062, 1048598, 851990, -1, 327703, -1, -1, 2686996, 1835028, 1572884, + 262164, -1, 589847, 8585236, -1, 720916, 1572884, 1835028, 720916, -1, 655383, -1, -1, 720919, 1835028, + 1769492, 2621460, -1, 327703, 8585236, -1, 720918, 262164, 2621460, 2686996, -1, 327703, -1, -1, 262166, + 262165, 20, 720919 + + + 9, 12 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4325459, 2097232, -1, -1, -1, + -1, -1, -1, 2097235, 4259922, -1, -1, -1, -1, -1, -1, 2031699, 4194385 + + + 8, 12 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 589904, + 327760, 589904, 327760, 589904, 327760, 524368, -1, 196690, 1245266, 983122, 983122, 1310802, 131155, 327761, + -1, 82, 720977, 83, 262225, 82, 196691, 327761, -1, 80, 852050, 720976, 82, 720978, 1310803, 655441, -1, 81, + 83, 917587, 262227, 2424915, 983123, 589905, -1 + + + 11, 12 + + + 2555984, -1, 2293840, 6226000, 2097232, 2097232, 2097232, 2031696, 1441874, 2162770, 1900626, 1900626, + 2490450, 2490450, 1900626, 1638482, 3276880, 1507408, 1835088, 2621520, 2687056, 1835088, 2752592, 2621520, + 1638480, 4194384, 1638480, 1638480, 2162768, 1900624, 2490448, 1441872, 4915281, 3145810, 3080274, 3080274, + 3211346, 3145810, 3080274, 3211346, 2097233, -1, -1, -1, -1, -1, -1, -1, 2555985, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 + + + 10, 12 + + + -1, -1, -1, -1, 4325459, 2031696, 2293840, 2097232, -1, -1, -1, -1, 2031699, 4259922, 1638482, 4194386, + -1, -1, -1, -1, 2097235, 2162769, 2359376, 3276880, -1, -1, -1, -1, 2031699, 1900625, 2359376, 4849744, -1, + -1, -1, -1, 2097235, 2162769, 1769552, 1441875, 2097232, 2097232, 2031696, 2097232, 4915283, 2490449, 2359376, + 1441875, 1900626, 2162770, 2162770, 1900626, 2490450, 4849746, 2621520, 1441875, 1572944, 2359376, 2752592, + 2752592, 2752592, 1769552, 1572944, 4194387 + + + 5, 12 + + + 5701676, 5701672, 2490408, 2162728, 1441832, 1638440, 4259880, 2097193, 6553646, 5898282, 3080234, + 3080234, 1966122, -1, -1, 4325417, -1, -1, -1, -1, -1, -1, -1, -1, 5898312, 5898316, 2097232, 2555984, -1, + 2097232, 2097232, 2097232, 5701706, 5767246, 2162770, 2162770, 1638482, 1900626, 1441874, 2162770, 8061000, + 7471180, 3276880, 1572944, 1507408, 1572944, 2752592, 1835088, 5111880, 5177420, 1900624, 1441872, 4194384, + 1441872, 2162768, 1638480, 4980808, 4980812, 3080274, 3080274, 3080274, 3080274, 3145810, 3211346 + + + 4, 12 + + + -1, 1638461, 2752572, 4849724, 4194364, 5701688, 5701684, 5701680, 6422588, 1441853, 2687036, 2490431, + 4915261, 5898298, 6553654, 5898290, 8716348, 1441853, 1572924, 1441855, 2097213, -1, -1, -1, 6619196, 2162749, + 2621500, 2490431, 4915260, 5898300, 5898304, 5898308, 8650812, 4194365, 2359356, 4849727, 1441854, 5832766, + 5767234, 5636166, 6422588, 1638461, 1507388, 2621500, 3276860, 7012412, 7471168, 8126532, 6357052, 4259901, + 2162748, 1638460, 4194364, 5242940, 5308480, 5046340, 3211326, 3080254, 3145790, 3080254, 3211326, 4980796, + 4980800, 4980804 + + + 7, 12 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 655440, + 327760, 589904, 655440, 589904, 589904, 327760, 327760, 65618, 1245266, 983122, 786514, 65618, 65618, 65618, + 196690, 852048, 83, 852049, 81, 82, 262224, 80, 852050, 2818130, 852048, 852048, 80, 720977, 81, 80, 720977, + 720976, 262227, 720976, 82, 262224, 852051, 81, 81 + + + 6, 12 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2293840, + 6226000, 1376336, -1, 589904, 655440, 655440, 589904, 2490450, 2490450, 1638482, 786514, 786514, 786514, + 196690, 983122, 1835088, 2359376, 1572944, 262226, 720978, 852050, 262224, 83, 1900624, 2162768, 2490448, + 1310800, 786512, 1310800, 1048657, 80, 3211346, 3211346, 1704018, -1, 393298, 6094928, 1310801, 262225 + + + 15, 11 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 327740, 524348, -1, -1, -1, -1, -1, -1 + + + 13, 11 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 524351, 327740, 655420 + + + 14, 11 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 655420, 655420, 327740, 327740, 589884, 327740, 327740, 327740 + + + 3, 4 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 327700, 327700, 327700, 655380, 1703956, + -1, 2031636, 1376276, 1310742, 1310742, 196630, 1310742, 1310742, 1900566, 1441814, 2162710, 2818070, 720917, + 262165, 851991, 2424852, 2621460, 2752532, 1835028, 23, 851990, 1048596, 196628, 1310740, 1441812, 2162708, + 1638420, 21, 720918, 983063, 393237, 1376278, -1, 3211286, 1703958, 262167, 2818069, 1310743, 327701, -1, -1, + -1, -1 + + + 2, 4 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 524311, 327700, 327700, + 655380, 655380, -1, -1, -1, 7929879, 131094, 1245206, 196630, 196630, -1, -1, -1, 589847, 1310741, 851988, + 262167, 720916, -1, -1, -1, 655383, 786453, 851988, 851991, 851988, -1, -1, -1, 7929879, 1245205, 720917, 20, + 262165, 327700, 655380, 327700, 393239, 786453, 262164, 720917, 720919 + + + 1, 4 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 524311, 589844, 7929876, 327700, 327700 + + + 0, 4 + + + 655383, 6488087, 2883628, 3407916, 3407916, 3407916, -1, 327701, 327703, -1, 3407916, 2883628, 2883628, + 3407916, 3342357, 655381, 327703, -1, 3407916, 2883628, 3407916, 2883628, 5963797, 327701, 589847, 6488087, + 4784172, -1, 2883628, 2883628, -1, 327701, 655383, -1, -1, -1, 4784172, -1, 3473429, 327701, 327703, -1, + 4784172, -1, -1, -1, 3473429, 655381, 327703, 6946839, -1, -1, 3407916, 3407916, 3801109, 327701, 589847, -1, + 4784172, -1, 4784172, -1, 6488085, 327701 + + + 16, 19 + + + -1, -1, -1, 4325479, 6226020, 2293860, 2031716, 6226020, -1, -1, -1, 2097255, 4259942, 1638502, 1900646, + 2162790, -1, -1, -1, 2031719, 1441893, 2621540, 2687076, 1769572, -1, -1, -1, 2031719, 1441893, 3276900, + 4849764, 4194404, -1, -1, -1, 2556007, 1441893, 1572964, 2490471, 4915301, -1, -1, -1, -1, 2490469, 2752612, + 1638503, 2293861, -1, -1, -1, 2097255, 2162789, 1572964, 4194407, 2031717, -1, -1, -1, 1704039, 4194405, + 3276900, 1441895, 1376357 + + + 17, 19 + + + 2097252, 2097252, 2097252, 4915303, 2490469, 1572964, 2490471, 2097253, 2490470, 2162790, 1900646, + 2490470, 4849766, 3276900, 2162791, 2097253, 1835108, 1769572, 2359396, 1572964, 2621540, 1835108, 1900647, + 2293861, 1638500, 1638500, 2162788, 2162788, 2490468, 2162788, 4259940, 2293861, 3211366, 3145830, 3080294, + 3080294, 3080294, 3080294, 3145830, 4325477, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 + + + 7, 13 + + + 852048, 262227, 82, 81, 81, 262225, 82, 720976, 720978, 262227, 720979, 720977, 852049, 720976, 262227, + 852051, 81, 720978, 82, 720979, 720978, 82, 2424913, 720976, 262225, 852051, 2818128, 262227, 852049, 81, + 2818128, 720978, 80, 720978, 81, 852050, 852051, 80, 82, 852050, 81, 852050, 262225, 262227, 720977, 852049, + 262227, 852049, 852048, 852050, 81, 720976, 720977, 80, 262225, 80, 81, 262226, 720978, 262226, 2818128, + 720979, 262227, 852049 + + + 8, 13 + + + 262224, 720977, 81, 2818128, 81, 1310803, 327761, -1, 80, 2818130, 82, 852048, 720976, 786515, 327761, + -1, 262225, 852050, 852049, 720976, 720976, 196691, 327761, -1, 852051, 917586, 262227, 852051, 83, 1310803, + 589905, -1, 720979, 720977, 82, 720978, 81, 196691, 327761, -1, 720978, 852050, 720977, 720977, 720978, + 983123, 327761, -1, 262224, 262227, 917586, 852049, 83, 983123, 589905, -1, 720976, 852048, 262225, 262226, + 720977, 196691, 589905, -1 + + + 5, 13 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 524371, -1, -1, -1, -1, -1, -1, -1, 655443, -1, -1, -1, + -1, -1, -1, -1, 327763, -1, -1, -1, -1, -1, -1, -1, 327763 + + + 6, 13 + + + -1, -1, -1, -1, 655443, 6291536, 65617, 262224, -1, -1, -1, -1, 327763, -1, 65617, 262224, -1, -1, -1, + -1, 327763, 6422608, 1245265, 83, -1, -1, -1, -1, 327763, 6619216, 196689, 262227, 327760, 655440, 327760, + 655440, 393299, 6357072, 983121, 852049, 2949203, 6488144, -1, -1, 3342416, 2949200, 196689, 852048, 3604563, + 3407976, 2883688, 4784232, -1, 6488145, 786513, 262226, 6488147, 3407976, 2883688, -1, -1, -1, 983121, 1179731 + + + 11, 13 + + + 2097233, -1, -1, -1, -1, -1, -1, -1, 4325457, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 9, 13 + + + -1, -1, -1, -1, -1, -1, 2031699, 1900625, -1, -1, -1, -1, -1, -1, 2097235, 1900625, -1, -1, -1, -1, -1, + -1, 2031699, 2490449, -1, -1, -1, -1, -1, -1, 2097235, 1900625, -1, -1, -1, -1, -1, -1, 2031699, 1441873, -1, + -1, -1, -1, -1, -1, 2031699, 2490449, -1, -1, -1, -1, -1, -1, 1704019, 2490449, -1, -1, -1, -1, -1, -1, -1, + 196689 + + + 10, 13 + + + 2752592, 4849744, 1638480, 4194384, 1900624, 1441872, 2490448, 4259920, 1769552, 1638483, 4915281, + 3145810, 1966162, -1, -1, 3080274, 2359376, 2162771, 2097233, -1, -1, -1, -1, -1, 1507408, 1441875, 2097233, + -1, -1, -1, -1, -1, 1572944, 2490451, 2097233, -1, -1, -1, -1, -1, 1769552, 1638483, 2293841, -1, -1, -1, -1, + -1, 2687056, 2162771, 1376337, -1, -1, -1, -1, -1, 262226, 65619, -1, -1, -1, -1, -1, -1 + + + 5, 4 + + + 262166, 2424853, 1572884, 1572884, 983063, 655381, -1, -1, 851988, 20, 2359316, 1572884, 196631, 655381, + -1, -1, 262166, 851991, 262166, 2621460, 786455, 327701, -1, -1, 22, 851988, 262164, 1769492, 65559, 327701, + -1, -1, 21, 22, 2818070, 851991, 786455, 327701, -1, -1, 983060, 1245204, 983060, 983060, 131092, 589845, -1, + -1, 3997716, 3604500, 6946836, -1, 2949140, 327701, -1, -1, 4784172, -1, 4784172, -1, 6488085, 655381, -1, -1 + + + 4, 4 + + + -1, 327703, 8519700, -1, -1, -1, -1, 720918, -1, 327703, -1, -1, -1, -1, -1, 720917, -1, 393239, 983061, + 23, 720919, 720917, 851991, 22, 196630, 786454, 1048598, 262166, 262165, 720917, 720916, 720918, 262165, + 262165, 21, 720917, 851991, 720919, 851990, 720919, 196628, 786452, 786452, 1310740, 983060, 983060, 1310740, + 983060, -1, 1114132, 1114132, 1114132, 1114132, 2228244, 393238, 2949143, -1, -1, -1, -1, -1, -1, 589847, + 3801111 + + + 14, 30 + + + -1, -1, -1, -1, -1, -1, -1, -1, 327820, 589964, 327820, 655500, 589964, 524428, -1, -1, 3014796, + 6946956, -1, 3997836, 2949260, 655501, -1, -1, 4784292, -1, 4784292, -1, 3604621, 655501, -1, -1, -1, -1, -1, + -1, 4063373, 327821, -1, -1, 4784292, -1, 4784292, -1, -1, 327821, -1, -1, -1, -1, -1, -1, -1, 655501, -1, -1, + 2883748, 2883748, 3408036, 2883748, 3473549, 327821, -1, -1 + + + 11, 30 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 524431, 327820, 589964, 589964, 589964, -1, -1, -1, 589967, + 2949263, 7733388, -1, 3014796, -1, -1, -1, 655503, 3670159, 4784292, -1, 4784292, -1, -1, -1, 655503, 6946959, + -1, -1, -1, -1, -1, -1, 327823, -1, 4784292, -1, 4784292, -1, -1, -1, 327823, 4063375, -1, -1, -1, -1, -1, -1, + 589967, -1, 2883748, 2883748, 3408036 + + + 13, 30 + + + 2359436, 2490511, -1, -1, -1, -1, -1, -1, 852109, 1310863, 393356, 655500, 655500, 655500, 655500, + 589964, 140, 65679, 4391052, 4653197, -1, 4456591, 4391052, 2949263, 721038, 1048719, 983182, 1310862, 786574, + 983182, 131215, 3473551, 143, 2424974, 852109, 1573004, 721038, 2359436, 1310863, 7536783, 143, 143, 721038, + 262284, 917646, 721039, 786575, -1, 142, 262284, 721036, 2621580, 721038, 2687116, 983183, 3604623, 140, + 262285, 852110, 721037, 262287, 262284, 65679, 3473551 + + + 0, 5 + + + 327703, 6946839, -1, -1, -1, -1, -1, 327701, 327703, -1, 4784172, -1, 4784172, -1, -1, 589845, 327703, + 6488087, -1, -1, -1, -1, 3473429, 327701, 327703, -1, 2883628, 3407916, 4784172, -1, 3670037, 655381, 589847, + -1, 3407916, 3407916, -1, -1, 3342357, 589845, 655383, 6488087, 3407916, 2883628, 3407916, 3407916, 3604501, + 589845, 327703, -1, 3407916, 3407916, 2883628, 3407916, 6946837, 327701, 327703, -1, 2883628, 3407916, + 4784172, -1, -1, 327701 + + + 12, 30 + + + -1, -1, -1, -1, -1, -1, -1, 1441933, 589964, 655500, 327820, 327820, 327820, 589964, 393359, 65677, + 3932300, 2949260, 4391052, 8781965, 8847503, 4522127, 4391052, 1310861, -1, 3670157, 131214, 1310862, 1245326, + 65678, 786574, 1048718, -1, 7536781, 196749, 1507468, 143, 2687116, 852109, 2424972, -1, -1, 65677, 721038, + 142, 2424974, 143, 262284, -1, 3342477, 65677, 1573004, 143, 1769612, 262285, 2424975, 2883748, 3670157, + 196749, 2424972, 721038, 852111, 143, 852111 + + + 1, 5 + + + -1, -1, -1, 7929879, 131094, 1310742, 196630, 65558, -1, -1, -1, 655383, 983061, 851990, 851988, 262167, + -1, -1, -1, 327703, 786453, 720919, 851991, 21, -1, -1, -1, 7929879, 65557, 262166, 262166, 851990, -1, -1, + -1, 7929879, 786453, 720918, 21, 262167, -1, -1, -1, 327703, 1310741, 720917, 720919, 720916, -1, -1, -1, + 589847, 1310741, 851988, 262167, 21, -1, -1, -1, 327703, 983061, 851988, 1179669, 23 + + + 2, 5 + + + 983062, 196630, 196630, 196630, 1048598, 262166, 1507348, 23, 262164, 1769492, 2359316, 2752532, 21, + 851989, 1572884, 1835028, 262166, 1572884, 2752532, 1507348, 2752532, 20, 1572884, 2686996, 2752532, 2621460, + 2686996, 1507348, 3276820, 1769492, 3276820, 2359316, 851991, 851991, 21, 720919, 2752532, 1835028, 1769492, + 3276820, 262166, 262165, 262165, 23, 22, 720919, 2686996, 1507348, 2424854, 262167, 262165, 23, 851991, + 851991, 23, 1572884, 851989, 851991, 262166, 262164, 1179670, 2424854, 262167, 1572884 + + + 3, 5 + + + 20, 262167, 65559, 327701, -1, -1, -1, -1, 1179670, 851988, 65559, 589845, -1, -1, -1, -1, 2686996, + 851990, 196631, 327701, -1, -1, -1, -1, 3276820, 720918, 983063, 655381, -1, -1, -1, -1, 1572884, 1769492, + 983063, 589845, -1, -1, -1, -1, 1572884, 1572884, 786455, 589845, -1, -1, -1, -1, 720919, 2621460, 786455, + 327701, -1, -1, -1, -1, 1769492, 2359316, 65559, 327701, -1, -1, -1, -1 + + + 4, 5 + + + -1, -1, -1, -1, -1, -1, 327703, 3801111, -1, -1, -1, -1, -1, -1, 327703, 6488087, -1, -1, -1, -1, -1, + -1, 655383, -1, -1, -1, -1, -1, -1, -1, 327703, -1, -1, -1, -1, -1, -1, -1, 327703, 3473431, -1, -1, -1, -1, + -1, -1, 589847, 3604503, -1, -1, -1, -1, -1, -1, 327703, 6488087, -1, -1, -1, -1, -1, -1, 655383, -1 + + + 12, 22 + + + -1, -1, -1, -1, -1, -1, 4980837, 5242981, -1, -1, -1, -1, -1, -1, 4980841, 5308521, -1, -1, -1, -1, -1, + -1, 4980845, 5046381, -1, -1, -1, -1, -1, -1, 4980849, 5111921, -1, -1, -1, -1, -1, -1, 4980853, 5177461, -1, + -1, -1, -1, -1, -1, 1704059, 1441913, -1, -1, -1, -1, -1, -1, -1, 1441913, -1, -1, -1, -1, -1, -1, 655483, + 65657 + + + 15, 12 + + + 4390972, 393276, 1703996, -1, 2293820, 2097212, 2097212, 2031676, 983102, 983102, 2490430, 1638462, + 1441854, 2162750, 1638462, 1900606, 262206, 852030, 1835068, 1769532, 2687036, 1507388, 3276860, 3276860, + 1048636, 65596, 2162748, 4194364, 1638460, 2490428, 2162748, 2490428, 65599, 393277, 1376318, -1, 3080254, + 3080254, 3145790, 3211326, 983103, 589885, -1, -1, -1, -1, -1, -1, 1245247, 393276, 655420, 327740, 589884, + 327740, 524348, -1, 65599, 2949183, 6488124, -1, -1, 2949180, 327741, -1 + + + 13, 22 + + + 5374052, 5832807, 5898341, -1, -1, -1, -1, -1, 5570664, 5767275, 5898345, -1, -1, -1, -1, -1, 5374060, + 5636207, 5898349, -1, -1, -1, -1, -1, 5439600, 5701747, 5898353, -1, -1, -1, -1, -1, 5505140, 5767287, + 5898357, -1, -1, -1, -1, -1, 1572984, 1638523, 1376377, -1, -1, -1, -1, -1, 1507448, 1441915, -1, -1, -1, -1, + -1, -1, 123, 983163, 327801, -1, -1, -1, -1, -1 + + + 14, 12 + + + 4653119, -1, 8781885, 4522047, 4456509, 4456509, 4718653, -1, 65598, 1245246, 1310782, 786494, 65598, + 1310782, 1310782, 983102, 852031, 60, 720958, 63, 63, 60, 60, 1179711, 262206, 3276860, 262205, 720959, + 720956, 1572924, 262205, 2752572, 852030, 63, 720958, 852028, 720959, 852029, 852029, 720957, 852028, 1572924, + 2424892, 262204, 63, 1769532, 262204, 3276860, 60, 60, 262206, 262204, 262207, 720958, 262206, 917566, 720956, + 1507388, 262205, 63, 63, 2621500, 852030, 2752572 + + + 13, 12 + + + 2097212, 2097212, 2097212, 1376316, -1, 393279, 4390972, 4456509, 2162750, 2162750, 1900606, 2490430, + 2162750, 196670, 1310782, 786494, 2621500, 2621500, 3276860, 1835068, 1769532, 720956, 852029, 63, 2490428, + 2490428, 2490428, 2162748, 2162748, 1310780, 1048637, 3276860, 3080254, 3080254, 3211326, 1703998, -1, 393278, + 65597, 62, -1, -1, -1, -1, -1, 327743, 983101, 1835068, 524351, 655420, 327740, 327740, 327740, 393279, 65597, + 852029, 327743, 2949183, 6946876, -1, 3014716, 2949180, 786493, 1572924 + + + 12, 12 + + + 4980814, 4980810, 4980806, 4980802, 4980798, 6225980, 2031676, 2097212, 5177422, 5111882, 5046342, + 5308482, 5242942, 1441854, 1900606, 1900606, 6160460, 7995464, 7864388, 6750272, 7798844, 2621500, 3276860, + 3276860, 5767244, 5701704, 5636164, 5767232, 5832764, 1900604, 2490428, 2162748, 5898318, 5898314, 5898310, + 5898306, 5898302, 3145790, 3211326, 3211326, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 + + + 17, 12 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4325447, 6225988, 6225988, 2097220, + 4325444, -1, -1, -1, 2097223, 4259910, 2490438, 4259911, 2097221, -1, -1, -1, 2293831, 1900613, 1572932, + 2162759, 2097221 + + + 16, 12 + + + 2097212, 2555964, 4325439, 2097212, 1966140, -1, -1, 4325436, 1900606, 1638462, 1638462, 1441854, + 1441854, 1638462, 4259903, 2293821, 3276860, 3276860, 1507388, 2687036, 1507388, 3276860, 2490431, 2555965, + 2162748, 1900604, 1638460, 1638460, 4849725, 1769532, 1441855, -1, 3211326, 3211326, 3080254, 4915262, + 2162749, 2687036, 1900607, 2097213, -1, -1, -1, 4980797, 5242941, 5374012, 5832767, 5898301, -1, -1, -1, + 4980801, 5308481, 5570624, 5767235, 5898305, -1, -1, -1, 2097223, 1638469, 1769540, 2490439, 2293829 + + + 6, 14 + + + -1, 4784232, -1, 3407976, 3407976, -1, 786513, 720977, -1, -1, -1, 3407976, 3407976, 3670097, 983121, + 852048, 7536723, 3407976, 3407976, 4784232, -1, 3604561, 196689, 81, -1, 3407976, 3407976, -1, -1, 5963857, + 196689, 720977, 6488147, 4784232, -1, 3407976, 2883688, -1, 131153, 1310800, -1, -1, -1, 2883688, 2883688, + 3866704, 3997776, 3014736, -1, 3407976, 2883688, 4784232, -1, 4784232, -1, 3407976, 3342419, 3407976, 2883688, + -1, -1, -1, -1, 2883688 + + + 7, 14 + + + 262226, 262227, 83, 1179730, 852050, 720976, 720979, 2818131, 720976, 720977, 852050, 852050, 81, + 720977, 720977, 720979, 262227, 80, 720979, 83, 852050, 720979, 720977, 852048, 262226, 852051, 720978, 83, + 852048, 852048, 83, 720976, 786512, 65616, 786512, 196688, 65616, 983120, 983120, 983120, 5963856, -1, + 3473488, 3670096, 3997776, 5963856, -1, 3932240, 2883688, 3407976, 3407976, 4784232, -1, 3407976, 2883688, + 4784232, 3407976, 3407976, 3407976, -1, -1, 3407976, 3407976, -1 + + + 8, 14 + + + 81, 852048, 720978, 720976, 262225, 1310803, 327761, -1, 720979, 720978, 720978, 81, 720979, 983123, + 393296, 589904, 262225, 1179731, 262225, 917584, 720979, 1048659, 65618, 786514, 262226, 720977, 720979, + 720978, 720979, 1179729, 720979, 852049, 65616, 983120, 65616, 1310800, 786512, 65616, 786512, 983120, + 6946896, -1, 6488144, -1, -1, 2949200, 393297, 1114192, -1, 3407976, 2883688, 4784232, -1, 5963857, 655441, + -1, -1, 3407976, 3407976, -1, -1, -1, 327761, -1 + + + 9, 14 + + + -1, -1, -1, -1, -1, 524371, 393299, 65617, 589904, 655440, 655440, 327760, 655440, 393299, 131154, + 1048658, 1310802, 983122, 196690, 196690, 1310802, 983122, 1048658, 2359376, 720978, 1179728, 81, 81, 262227, + 83, 2424915, 852048, 65616, 983120, 196688, 983120, 1310800, 196688, 1048657, 1507408, 458832, 2228304, + 1114192, 458832, 1114192, 393298, 131153, 1310800, -1, -1, -1, -1, -1, 327763, 2949203, 6946896, -1, -1, -1, + -1, -1, 589907, 5963859, 2883688 + + + 10, 14 + + + 852048, 1310803, 393296, 524368, -1, -1, -1, -1, 852048, 1048659, 131155, 327761, -1, -1, -1, -1, 80, + 2687056, 196691, 327761, -1, -1, -1, -1, 2687056, 852051, 196691, 327761, -1, -1, -1, -1, 852051, 2687056, + 1310803, 327761, -1, -1, -1, -1, 786512, 983120, 131152, 327761, -1, -1, -1, -1, -1, 3670096, 2949200, 327761, + -1, -1, -1, -1, 4784232, -1, 3670097, 589905, -1, -1, -1, -1 + + + 13, 14 + + + 327743, 2949182, 3735612, 3735612, 3735612, 3735612, 3735612, 3735612, 524350, 458812, 1114172, 1114172, + 1114172, 1114172, 1114172, 1114172, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1 + + + 5, 5 + + + -1, -1, -1, -1, -1, 327701, -1, -1, 3407916, 4784172, -1, 2883628, -1, 327701, -1, -1, 3407916, -1, -1, + 2883628, 6488085, 327701, -1, -1, 2883628, 2883628, 2883628, 3407916, -1, 327701, -1, -1, 3407916, 2883628, + 2883628, 2883628, -1, 655381, -1, -1, 2883628, 2883628, 3407916, 3407916, 3670037, 327701, -1, -1, 2883628, + 2883628, 3407916, 3407916, 3342357, 655381, -1, -1, 2883628, 2883628, 2883628, 2883628, 3801109, 655381, -1, + -1 + + + 13, 29 + + + 2687116, 1441935, 2097293, -1, -1, -1, -1, -1, 2359436, 2162831, 2097293, -1, -1, -1, -1, -1, 1573004, + 1441935, 2097293, -1, -1, -1, -1, -1, 1573004, 2490511, 2097293, -1, -1, -1, -1, -1, 1507468, 1638543, + 2097293, -1, -1, -1, -1, -1, 1507468, 2162831, 2031757, -1, -1, -1, -1, -1, 3276940, 1900687, 2293901, -1, -1, + -1, -1, -1, 2621580, 2162831, 1376397, -1, -1, -1, -1, -1 + + + 5, 14 + + + -1, -1, -1, -1, -1, -1, -1, 327763, -1, -1, -1, -1, -1, -1, -1, 589907, -1, -1, -1, -1, -1, -1, -1, + 589907, -1, -1, -1, -1, -1, -1, -1, 655443, -1, -1, -1, -1, -1, -1, -1, 589907, -1, -1, -1, -1, -1, -1, -1, + 327763, -1, -1, -1, -1, -1, -1, -1, 327763, -1, -1, -1, -1, -1, -1, -1, 655443 + + + 0, 6 + + + 327703, 6488087, 3407916, 3407916, -1, -1, 3801109, 393236, 589847, -1, 2883628, 2883628, 2883628, + 3407916, 3866644, 3932180, 589847, -1, 2883628, 4784172, -1, 4784172, -1, 4784172, 655383, 6488087, 2883628, + -1, -1, -1, -1, -1, 327703, -1, 3407916, 3407916, 3407916, 4784172, -1, 4784172, 327703, -1, 2883628, 2883628, + 3407916, -1, -1, -1, 655383, 2949142, 4128788, -1, 3735572, 3735572, 4128788, -1, 524310, 1114132, 458772, + 2228244, 2228244, 1114132, 1114132, 1114132 + + + 17, 21 + + + 393317, 1114212, 1114212, 1114212, 458852, 524389, -1, -1, 7929957, -1, -1, -1, -1, -1, -1, -1, 7929957, + -1, -1, -1, -1, -1, -1, -1, 327781, -1, -1, -1, -1, -1, -1, -1, 327781, -1, -1, -1, -1, -1, -1, -1, 524389, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 12, 29 + + + -1, -1, -1, -1, -1, -1, -1, 1900685, -1, -1, -1, -1, -1, -1, 2097295, 1638541, -1, -1, -1, -1, -1, -1, + 2097295, 2490509, -1, -1, -1, -1, -1, -1, 2293903, 2162829, -1, -1, -1, -1, -1, -1, 2031759, 1441933, -1, -1, + -1, -1, -1, -1, 2097295, 2490509, -1, -1, -1, -1, -1, -1, 2097295, 1441933, -1, -1, -1, -1, -1, -1, 1704079, + 2490509 + + + 1, 6 + + + 589844, 327700, 327700, 393239, 131093, 1310740, 983060, 1310740, 3932180, 6488084, -1, -1, 5963796, -1, + 3342356, 3014676, -1, 3407916, 3407916, 4784172, -1, 4784172, -1, 2883628, -1, 2883628, 2883628, -1, -1, -1, + -1, 3407916, -1, 2883628, 2883628, 4784172, -1, 4784172, -1, 2883628, -1, 3407916, 2883628, -1, -1, -1, -1, + 2883628, 3735572, 3735572, 3735572, 4128788, -1, 3735572, 3735572, 3735572, 1114132, 1114132, 2228244, + 1114132, 1114132, 458772, 1114132, 1114132 + + + 4, 6 + + + 589844, 655380, 327700, 655380, 327700, 589844, 393239, -1, 6488084, -1, -1, 3932180, 3604500, 3932180, + 3997716, 3538964, 2883628, 2883628, 3407916, 3407916, 3407916, 3407916, 4784172, -1, 3407916, 2883628, + 2883628, 3407916, 2883628, 2883628, -1, -1, 3407916, 2883628, 3407916, 2883628, 2883628, 2883628, 3407916, + 4784172, 3407916, 2883628, 3407916, 3407916, 3407916, 3407916, 2883628, -1, 3735572, 3735572, 3735572, + 3735572, 3735572, 3735572, 4128788, -1, 1114132, 1114132, 458772, 1114132, 1114132, 1114132, 1114132, 1114132 + + + 13, 21 + + + 2359396, 2490471, 2556005, -1, -1, -1, -1, -1, 1835108, 1638503, -1, -1, -1, -1, -1, -1, 1507428, + 2162791, 2097253, -1, -1, -1, 4325479, 2097252, 3276900, 1638503, 2097253, -1, -1, -1, 2097255, 1769572, + 3276900, 1900647, 2097253, -1, -1, -1, 4325478, 3145830, 3276900, 1900647, 2097253, -1, -1, -1, -1, -1, + 2359396, 2490471, 2031717, -1, -1, -1, -1, -1, 2752612, 1900647, 2097253, -1, -1, -1, -1, -1 + + + 5, 6 + + + 2883628, 3407916, 3407916, 3407916, 3342357, 393236, 655380, 327700, 3407916, 3407916, 2883628, 3407916, + 3866644, 3997716, 3014676, 6488084, 3407916, 3407916, 4784172, -1, 2883628, 2883628, 3407916, 4784172, + 3407916, 3407916, -1, -1, 3407916, 4784172, -1, -1, -1, 3407916, 4784172, -1, 3407916, -1, -1, 2883628, -1, + 2883628, -1, -1, 2883628, 2883628, 2883628, 2883628, 4128788, -1, 3735572, 3735572, 4128788, -1, 4128788, -1, + 1114132, 1114132, 1114132, 2228244, 458772, 458772, 458772, 1114132 + + + 14, 21 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4325476, -1, -1, -1, 4325479, 2097252, + 4325476, -1, 2097253, -1, -1, -1, 2097255, 1769572, 2031717, -1, 4325477, -1, -1, -1, 4325478, 3211366, + 4325477, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 2, 6 + + + 983060, 983060, 983060, 1048597, 851991, 1048596, 983060, 1310740, 3932180, 3932180, 2949140, 1310741, + 851989, 65559, 2949143, 3670036, 4784172, -1, 6946837, 65557, 720917, 1245207, 5963799, 2883628, -1, -1, -1, + 196629, 262165, 196631, -1, 3407916, 4784172, -1, 3604501, 196629, 20, 983063, 3801111, 2883628, -1, -1, + 3670037, 983061, 851988, 983063, 3604503, 2883628, 3735572, 3735572, 2949141, 983061, 851988, 786455, 2949142, + 3735572, 2228244, 2228244, 393238, 983061, 851991, 1310743, 393237, 1114132 + + + 15, 21 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4325479, 2031716, 4325476, -1, + -1, -1, -1, -1, 2097255, 1507428, 2031717, -1, -1, -1, -1, -1, 4325478, 3145830, 4325477, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 3, 6 + + + 196628, 1310740, 131092, 393236, 589844, 327700, 327700, 327700, 3473428, 3932180, 5963796, -1, 6946836, + -1, 3473428, 3997716, 3407916, 4784172, -1, 3407916, 3407916, 2883628, 4784172, -1, 2883628, -1, -1, 3407916, + 4784172, -1, -1, -1, 4784172, -1, 4784172, -1, -1, -1, 4784172, -1, -1, -1, -1, -1, 2883628, 3407916, -1, -1, + 7602196, -1, -1, 7602196, -1, -1, 4128788, -1, 1114132, 458772, 1114132, 1114132, 458772, 1114132, 458772, + 1114132 + + + 16, 21 + + + -1, 589927, 131174, 1048678, 262245, 852071, 262247, 196711, -1, 327783, 786533, 852071, 262245, 262246, + 100, 196711, -1, 327783, 65637, 262247, 720998, 720996, 262247, 196711, -1, 327783, 786533, 101, 720996, + 720996, 720997, 983143, -1, 589927, 131173, 196708, 786532, 983140, 983140, 131172, -1, 524390, 1114212, + 1114212, 1114212, 1114212, 2228324, 1114212, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 14, 13 + + + 65596, 196668, 983100, 786492, 786492, 983100, 983100, 1310780, -1, -1, 3997756, 3801148, 3801148, + 5963836, -1, 3670076, 4784212, -1, 4784212, -1, 4784212, -1, 4784212, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 2883668, 4784212, -1, 4784212, -1, 3407956, 2883668, -1, 2883668, -1, -1, -1, -1, 2883668, 3407956, -1, + 3407956, 2883668, 3407956, 3407956, 2883668, 4784212, -1, -1, 2883668, 3407956, 2883668, 3407956, 2883668, -1, + -1 + + + 13, 13 + + + 327743, 6488127, 2883668, 4784212, -1, 3473469, 131133, 786492, 327743, -1, 2883668, -1, -1, 3866684, + 3014716, 6488124, 589887, -1, 3407956, 4784212, -1, 2883668, 4784212, -1, 327743, 3801151, 2883668, -1, -1, + 2883668, -1, -1, 589887, 3604543, 2883668, 3407956, 2883668, 4784212, -1, 4784212, 327743, 6488127, 2883668, + 2883668, 2883668, -1, -1, -1, 589887, -1, 4784212, -1, 3407956, 2883668, 3407956, 4784212, 655423, -1, -1, -1, + 3407956, 3407956, 3407956, -1 + + + 16, 13 + + + -1, -1, -1, 2031687, 1638469, 2752580, 1441863, 4915268, -1, -1, -1, 2031687, 1441861, 2752580, 4849735, + 1441862, -1, -1, -1, 2097223, 2162757, 2687044, 3276868, 2359364, -1, -1, -1, 2097223, 1441861, 1835076, + 4849732, 2490436, -1, -1, -1, 2097223, 1900613, 3276868, 2490439, 4915269, -1, -1, -1, 2097223, 4259909, + 1638468, 4259908, 2097221, -1, -1, -1, 4325446, 3080262, 3080262, 3211334, 4325445, -1, -1, -1, -1, -1, -1, + -1, -1 + + + 12, 21 + + + -1, 2097255, 1769572, 2097253, -1, -1, 2097255, 2162789, -1, 4325478, 3145830, 4325477, -1, -1, 2097255, + 1638501, -1, -1, -1, -1, -1, -1, 2097255, 2162789, -1, -1, -1, -1, -1, -1, 2031719, 1441893, -1, -1, -1, -1, + -1, -1, 2097255, 1441893, -1, 4325479, 2097252, 4325476, -1, -1, 2097255, 1900645, -1, 2097255, 1769572, + 2031717, -1, -1, 2556007, 1638501, -1, 4325478, 3211366, 4325477, -1, -1, -1, 2162789 + + + 15, 13 + + + 131132, 3604543, 3407956, 4784212, -1, 6488125, 589885, -1, 3932220, 3539004, 3407956, -1, -1, -1, + 327741, -1, 4784212, -1, 2883668, 4784212, -1, -1, 655421, -1, -1, -1, 2883668, -1, -1, 3604541, 327741, -1, + 3407956, 4784212, -1, 3407956, 3407956, 3604541, 327741, -1, 2883668, -1, -1, 2883668, 3407956, 6488125, + 655421, -1, 3407956, 3407956, 2883668, 4784212, -1, -1, 327741, -1, 3407956, 2883668, 3407956, -1, -1, -1, + 589885, -1 + + + 17, 13 + + + 2293828, 2097220, 2031684, 4915271, 1900613, 2687044, 1638471, 2293829, 1441862, 2162758, 2490438, + 1441862, 4849734, 2359364, 2490439, 2097221, 2359364, 1507396, 1572932, 2621508, 2621508, 2752580, 2490439, + 2031685, 1441860, 1638468, 1638468, 2162756, 4849733, 1572932, 1441863, 2293829, 3145798, 3080262, 3145798, + 4915270, 1441861, 2687044, 1900615, 2031685, -1, -1, -1, 2555975, 1900613, 2752580, 1638471, 1966149, -1, -1, + -1, -1, 2162757, 1507396, 2162759, -1, -1, -1, -1, 2097223, 1900613, 2359364, 1638471, -1 + + + 9, 15 + + + -1, -1, -1, -1, -1, 327763, -1, 3407976, -1, -1, -1, -1, -1, 327763, 3604563, 4784232, 327760, 327760, + 655440, 327760, 589904, 393299, 3473491, -1, 6946896, -1, 6488144, -1, -1, 3014736, 3539024, 2883688, 3407976, + 3407976, 4784232, -1, 3407976, 4784232, -1, 3407976, 4784232, -1, -1, -1, 3407976, -1, -1, 2883688, -1, -1, + 3407976, 2883688, 3407976, 3407976, 3407976, 3407976, 3735632, 3735632, 3735632, 3735632, 3735632, 3735632, + 3735632, 3735632 + + + 10, 15 + + + -1, -1, 3670097, 327761, -1, -1, -1, -1, -1, 3407976, 6488145, 589905, -1, -1, -1, -1, -1, 2883688, -1, + 327761, -1, -1, -1, -1, 3407976, 3407976, -1, 327761, -1, -1, -1, -1, 2883688, 3407976, 6488145, 327761, -1, + -1, -1, -1, 4784232, -1, -1, 327761, -1, -1, -1, -1, -1, -1, -1, 327761, -1, -1, -1, -1, 3735632, 3735632, + 2949201, 327761, -1, -1, -1, -1 + + + 7, 15 + + + -1, 4784232, -1, 2883688, 3407976, 4784232, -1, 3407976, -1, -1, -1, 2883688, 2883688, -1, -1, 3407976, + 3407976, 2883688, 3407976, 2883688, 3407976, 2883688, 3407976, 4784232, 3735632, 3735632, 3735632, 7667792, + 3407976, 3407976, 3407976, -1, 1114192, 1114192, 393298, 6488147, 4784232, -1, 2883688, 2883688, -1, -1, + 327763, -1, -1, -1, 4784232, -1, -1, -1, 327763, -1, 2883688, 3407976, -1, -1, -1, -1, 589907, 2949202, + 3735632, 3735632, 3735632, 3735632 + + + 8, 15 + + + 2883688, 4784232, -1, 2883688, 2883688, 5963857, 327761, -1, 2883688, -1, -1, 3407976, 3407976, -1, + 589905, -1, -1, 3407976, 2883688, 4784232, -1, 3801169, 393296, 655440, -1, 3407976, 3407976, -1, -1, 3866704, + 3801168, 3604560, 3407976, 3407976, 2883688, 2883688, 2883688, 4784232, -1, 2883688, 3407976, 3407976, + 4784232, -1, 3407976, -1, -1, 2883688, 2883688, 3407976, -1, -1, 2883688, 3407976, 3407976, 3407976, 3735632, + 3735632, 3735632, 3735632, 3735632, 3735632, 3735632, 3735632 + + + 5, 15 + + + -1, -1, -1, -1, -1, -1, -1, 327763, -1, -1, -1, -1, -1, -1, -1, 589907, -1, -1, -1, -1, -1, -1, -1, + 589907, -1, -1, -1, -1, -1, -1, -1, 655443, -1, -1, -1, -1, -1, -1, -1, 524370, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 6, 15 + + + 6488147, 4784232, -1, 4784232, -1, 3407976, 2883688, 4784232, -1, -1, -1, -1, -1, 3407976, 3407976, -1, + -1, 3407976, 3407976, 3407976, 3407976, 2883688, 3407976, 2883688, 2949202, 3735632, 3735632, 3735632, + 3735632, 3735632, 3735632, 3735632, 1114192, 1114192, 2228304, 1114192, 1114192, 1114192, 2228304, 1114192, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 6, 6 + + + 327700, 327700, 589844, 327700, 524308, -1, -1, -1, -1, -1, 3932180, 2949140, 655381, -1, -1, -1, -1, + 4784172, -1, 4063253, 655381, -1, -1, -1, -1, -1, -1, -1, 655381, -1, -1, -1, 4784172, -1, 3407916, -1, + 327701, -1, -1, -1, -1, -1, 2883628, 3801109, 327701, -1, -1, -1, 7602196, -1, -1, 2949141, 655381, -1, -1, + -1, 1114132, 1114132, 1114132, 458772, 524309, -1, -1, -1 + + + 11, 32 + + + -1, -1, -1, 327823, -1, 2883748, 3408036, 2883748, -1, -1, -1, 327823, -1, 2883748, 2883748, 3408036, + -1, -1, -1, 589967, 3604623, 3408036, 2883748, 2883748, -1, -1, -1, 327823, 3801231, 2883748, 2883748, + 2883748, -1, -1, -1, 589967, 2949262, 3735692, 3735692, 3735692, -1, -1, -1, 524430, 458892, 1114252, 2228364, + 2228364, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 13, 32 + + + 2883748, 2883748, 3408036, 3408036, 2883748, 2883748, 3408036, 2883748, 2883748, 3408036, 2883748, + 3408036, 3408036, 2883748, 3408036, 3408036, 2883748, 3408036, 3408036, 2883748, 3408036, 3408036, 2883748, + 3408036, 3408036, 3408036, 2883748, 2883748, 3408036, 3408036, 3408036, 2883748, 3735692, 3735692, 3735692, + 3735692, 3735692, 3735692, 3735692, 3735692, 2228364, 1114252, 1114252, 1114252, 1114252, 1114252, 1114252, + 1114252, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 12, 32 + + + 2883748, 2883748, 3408036, 2883748, 2883748, 2883748, 4784292, -1, 3408036, 3408036, 3408036, 3408036, + 4784292, -1, -1, -1, 3408036, 2883748, 3408036, 3408036, -1, -1, 4784292, -1, 2883748, 2883748, 2883748, + 2883748, 2883748, 3408036, -1, -1, 3735692, 3735692, 3735692, 3735692, 7602316, -1, -1, 3735692, 458892, + 458892, 1114252, 1114252, 1114252, 1114252, 2228364, 1114252, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1 + + + 2, 7 + + + -1, -1, 1376279, 1310741, 851988, 983063, 1703957, -1, -1, -1, -1, 1900565, 2621460, 1441815, -1, -1, + -1, -1, 1966103, 1638421, 3276820, 2490391, 2097173, -1, -1, -1, -1, 1638421, 2359316, 2162711, 2293781, -1, + -1, -1, -1, 2162709, 1572884, 2162711, 2293781, -1, -1, -1, 4980757, 5242901, 5373972, 5832727, 5898261, -1, + -1, -1, 4980761, 5308441, 5570584, 5767195, 5898265, -1, -1, -1, 4980765, 5046301, 5373980, 5636127, 5898269, + -1 + + + 14, 32 + + + 4784292, -1, 4784292, -1, 4063373, 589965, -1, -1, -1, -1, -1, -1, -1, 327821, -1, -1, 3408036, 3408036, + 3408036, 2883748, -1, 655501, -1, -1, 2883748, 3408036, 3408036, 2883748, 3670157, 327821, -1, -1, 4128908, + -1, 4128908, -1, 2949261, 327821, -1, -1, 1114252, 458892, 1114252, 1114252, 1114252, 524429, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 10, 24 + + + -1, -1, -1, -1, -1, 589947, 6488187, 2883728, -1, -1, -1, -1, -1, 327803, -1, 2883728, -1, -1, -1, -1, + -1, 327803, -1, 2883728, -1, -1, -1, -1, -1, 589947, 3342459, 2883728, -1, -1, -1, -1, -1, 327803, 6488187, + 3408016, -1, -1, -1, -1, -1, 327803, -1, 3408016, -1, -1, -1, -1, -1, 327803, -1, 2883728, -1, -1, -1, -1, -1, + 327803, 3342459, 4784272 + + + 11, 24 + + + 2883728, 2883728, 3408016, 3408016, 3604601, 655481, -1, -1, 3408016, 4784272, -1, 2883728, 3342457, + 655481, -1, -1, 2883728, -1, -1, 2883728, 6488185, 327801, -1, -1, 4784272, -1, 2883728, 3408016, -1, 327801, + -1, -1, -1, -1, 3408016, 3408016, -1, 327801, -1, -1, 3408016, 2883728, 2883728, 3408016, 3801209, 327801, -1, + -1, 2883728, 2883728, 2883728, 3408016, 6946937, 327801, -1, -1, -1, 3408016, 3408016, 3408016, -1, 655481, + -1, -1 + + + 14, 24 + + + 327801, -1, -1, 655483, -1, 3408016, 2883728, 3408016, 327801, -1, -1, 327803, -1, 3408016, 2883728, + 2883728, 655481, -1, -1, 655483, 6946939, 3408016, 2883728, 3408016, 327801, -1, -1, 327803, -1, 3408016, + 3408016, 2883728, 327801, -1, -1, 655483, 3670139, 2883728, 2883728, 2883728, 327801, -1, -1, 589947, 3604603, + 4784272, -1, 4784272, 327801, -1, -1, 589947, 6488187, -1, -1, -1, 327801, -1, -1, 327803, -1, 4784272, -1, + 2883728 + + + 17, 14 + + + -1, -1, -1, 1966151, 1638469, 3276868, 1638471, 1966149, -1, -1, -1, -1, 2490437, 2359364, 1638471, -1, + -1, -1, -1, -1, 1638469, 2359364, 2490439, -1, -1, -1, -1, 4980805, 5046341, 5374020, 5636167, 5898309, -1, + -1, -1, 4980809, 5111881, 5439560, 5701707, 5898313, -1, -1, -1, 4980813, 5177421, 5505100, 5767247, 5898317, + -1, -1, -1, 1704019, 2162769, 1507408, 2162771, 1376337, -1, -1, -1, -1, 196689, 852049, 196691, -1 + + + 15, 24 + + + 2883728, 2883728, 3670137, 327801, -1, -1, -1, -1, 3408016, 3408016, 3473529, 327801, -1, -1, -1, -1, + 3408016, 3408016, 4063353, 327801, -1, -1, -1, -1, 2883728, 3408016, -1, 327801, -1, -1, -1, -1, 3408016, + 3408016, -1, 589945, -1, -1, -1, -1, -1, 3408016, 3342457, 589945, -1, -1, -1, -1, -1, 3408016, 3670137, + 655481, -1, -1, -1, -1, 3408016, 3408016, 4063353, 327801, -1, -1, -1, -1 + + + 12, 24 + + + 327803, 786553, 121, 262265, 721018, 2818170, 262267, 1179768, 655483, 1310841, 721017, 721019, 1572984, + 121, 262264, 3276920, 327803, 196729, 120, 262266, 721018, 1835128, 2621560, 2752632, 589947, 983161, 852089, + 852088, 721017, 721018, 1769592, 1572984, 589947, 786553, 262264, 120, 2621560, 120, 2359416, 1572984, 327803, + 786553, 721018, 721016, 1769592, 1507448, 1835128, 2621560, 655483, 65657, 721016, 852088, 852088, 122, + 1769592, 1507448, 327803, 196729, 721017, 852090, 121, 2752632, 3276920, 1507448 + + + 15, 14 + + + 4128828, -1, 3735612, 3735612, 3735612, 2949181, 327741, -1, 1114172, 1114172, 1114172, 2228284, + 2228284, 1114172, 524349, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 13, 24 + + + 262265, 852089, 120, 852090, 123, 721017, 721018, 983163, 262265, 1835128, 721019, 721019, 2752632, + 262266, 122, 983163, 1507448, 852090, 852090, 2621560, 2424952, 917627, 852091, 1310843, 1572984, 2621560, + 3276920, 1835128, 262264, 721016, 262267, 65659, 3276920, 2621560, 1769592, 721019, 721018, 721017, 852088, + 1310843, 2687096, 1835128, 2621560, 2359416, 721017, 262267, 721016, 65659, 2359416, 2687096, 2621560, + 1769592, 1507448, 852088, 262265, 786555, 2687096, 1835128, 2752632, 2359416, 262264, 262267, 852091, 1245307 + + + 14, 14 + + + 3735612, 3735612, 3735612, 3735612, 3735612, 3735612, 3735612, 3735612, 458812, 1114172, 1114172, + 1114172, 1114172, 1114172, 1114172, 458812, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1 + + + 15, 16 + + + -1, -1, -1, -1, -1, -1, 589907, -1, -1, -1, -1, -1, -1, -1, 589907, -1, -1, -1, -1, -1, -1, -1, 655443, + 3670099, -1, -1, -1, -1, -1, -1, 589907, 3604563, -1, -1, -1, -1, -1, -1, 327763, 6488147, -1, -1, -1, -1, -1, + -1, 327763, -1, -1, -1, -1, -1, -1, -1, 327763, -1, -1, -1, -1, -1, -1, -1, 327763, 3604563 + + + 8, 16 + + + 458832, 1114192, 2228304, 458832, 1114192, 1114192, 1114192, 2228304, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 9, 16 + + + 1114192, 1114192, 458832, 1114192, 1114192, 458832, 2228304, 1114192, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 10, 16 + + + 1114192, 458832, 2228304, 524369, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 7, 16 + + + -1, -1, 524370, 2228304, 458832, 458832, 1114192, 2228304, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 15, 23 + + + 327800, 589944, 655480, 524408, -1, -1, -1, -1, -1, 3014776, 2949240, 655481, -1, -1, -1, -1, -1, + 2883728, 3670137, 589945, -1, -1, -1, -1, -1, 3408016, 3473529, 327801, -1, -1, -1, -1, 3408016, 2883728, + 4063353, 589945, -1, -1, -1, -1, 2883728, 2883728, -1, 589945, -1, -1, -1, -1, 2883728, 3408016, -1, 327801, + -1, -1, -1, -1, 3408016, 3408016, 3670137, 327801, -1, -1, -1, -1 + + + 4, 8 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4325416, -1, -1, -1, -1, -1, -1, -1, 2555945, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 2, 8 + + + -1, -1, 4980769, 5111841, 5439520, 5701667, 5898273, -1, -1, -1, 4980773, 5177381, 5505060, 5767207, + 5898277, -1, -1, -1, 2097195, 2162729, 2359336, 1441835, 2293801, -1, -1, -1, 2097195, 1638441, 2621480, + 2162731, 2097193, -1, -1, -1, 2031659, 1441833, 2752552, 2162731, 2031657, -1, -1, -1, 2097195, 1638441, + 1769512, 2490411, 4915240, 2293800, -1, -1, 2097195, 1441833, 2621480, 4849707, 1900586, 1441834, -1, -1, + 2097195, 2162729, 2621480, 2621480, 2359336, 3276840 + + + 14, 31 + + + 3408036, 2883748, 2883748, 3408036, 3342477, 327821, -1, -1, 3408036, 3408036, 2883748, 2883748, + 3473549, 327821, -1, -1, 3408036, 2883748, 3408036, 2883748, 4063373, 327821, -1, -1, 3408036, 2883748, + 3408036, 2883748, -1, 589965, -1, -1, 2883748, 3408036, 2883748, 2883748, -1, 655501, -1, -1, 3408036, + 2883748, 3408036, 2883748, 4063373, 655501, -1, -1, 4784292, -1, 4784292, -1, -1, 589965, -1, -1, -1, -1, -1, + -1, -1, 655501, -1, -1 + + + 3, 8 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2293800, 2097192, 2097192, 6225960, 2097192, 2031656, + 2097192, 2097192, 2162730, 1441834, 1441834, 1638442, 1638442, 2162730, 1638442, 4259883, 2359336, 2621480, + 1835048, 1835048, 2687016, 1572904, 1769512, 1900587 + + + 13, 31 + + + 852109, 262284, 852110, 852108, 262285, 721037, 983183, 3014799, 852110, 2424974, 142, 143, 721037, + 852111, 65679, 6946959, 852108, 721038, 142, 142, 262287, 721039, 983183, -1, -1, -1, 852109, 721036, 1573004, + 262287, 983183, 6946959, -1, -1, 262285, 262287, 852109, 262286, 1310863, -1, -1, -1, 262286, 262284, 1507468, + 852108, 1310863, 7733391, 196748, 196748, 983180, 65676, 65676, 196748, 131212, -1, -1, 3604620, 3932300, + 4063372, -1, -1, 3932300, 3539084 + + + 12, 31 + + + 2883748, 3342477, 1310861, 852108, 140, 852111, 2818191, 143, 3408036, 3604621, 196749, 262287, 143, + 852108, 262285, 852111, 3408036, 7536781, 786573, 262287, 721039, 852111, 262284, 143, 2883748, -1, 983181, + 262284, 1573004, 141, 852109, -1, 2883748, 5963917, 65677, 262286, 140, 262285, 143, -1, 2883748, -1, 65677, + 2424974, 1769612, 721037, 142, -1, 2883748, 3670157, 131213, 196748, 1310860, 1310860, 65676, 196748, 3408036, + 3866764, 3932300, 3342476, 4063372, -1, -1, 6946956 + + + 11, 31 + + + -1, -1, -1, 327823, -1, 3408036, 3408036, 3408036, -1, -1, -1, 327823, 4063375, 2883748, 3408036, + 3408036, -1, -1, -1, 327823, -1, 3408036, 3408036, 3408036, -1, -1, -1, 327823, -1, 3408036, 4784292, -1, -1, + -1, -1, 589967, 4063375, 3408036, -1, -1, -1, -1, -1, 327823, -1, 2883748, 3408036, 3408036, -1, -1, -1, + 589967, -1, 2883748, 2883748, 3408036, -1, -1, -1, 655503, 4063375, 2883748, 3408036, 2883748 + + + 19, 15 + + + 327760, 655440, 327760, 327760, 524368, -1, -1, -1, -1, -1, 3014736, 2949200, 327761, -1, -1, -1, -1, + 3407976, 2883688, 3473489, 589905, -1, -1, -1, -1, 4784232, -1, 4063313, 327761, -1, -1, -1, -1, -1, -1, -1, + 327761, -1, -1, -1, -1, 2883688, 3407976, -1, 589905, -1, -1, -1, 3407976, 2883688, 2883688, 3801169, 589905, + -1, -1, -1, -1, 4784232, -1, 4063313, 327761, -1, -1, -1 + + + 10, 23 + + + -1, -1, -1, -1, -1, 524411, 589944, 589944, -1, -1, -1, -1, -1, 589947, 2949243, 3997816, -1, -1, -1, + -1, -1, 327803, 3604603, 4784272, -1, -1, -1, -1, -1, 327803, 3473531, -1, -1, -1, -1, -1, -1, 655483, + 5963899, 4784272, -1, -1, -1, -1, -1, 327803, -1, -1, -1, -1, -1, -1, -1, 655483, 3342459, 2883728, -1, -1, + -1, -1, -1, 655483, 3670139, 3408016 + + + 11, 23 + + + 589944, 327800, 327800, 327800, 327800, 524408, -1, -1, 5963896, -1, 3014776, 3473528, 2949240, 393336, + 655480, 655480, -1, 4784272, -1, 3408016, 8388729, 6881400, 7078008, 7340152, -1, -1, -1, 3408016, 5963897, + 393337, 1114232, 1114232, -1, 4784272, -1, 3408016, -1, 589945, -1, -1, -1, -1, -1, 2883728, 6488185, 655481, + -1, -1, 4784272, -1, 3408016, 3408016, -1, 655481, -1, -1, -1, -1, 2883728, 2883728, -1, 327801, -1, -1 + + + 16, 15 + + + 655440, 327760, 327760, 327760, 655440, 327760, 327760, 327760, 7733328, -1, 5963856, -1, 2949200, + 4390992, 4718675, -1, 2883688, 3407976, 2883688, 3407976, 3604561, 131154, 196690, 786514, 4784232, -1, + 4784232, -1, 4063313, 196689, 1769552, 262225, -1, -1, -1, -1, -1, 983121, 720976, 81, 4784232, -1, 4784232, + -1, -1, 1310801, 852050, 80, -1, -1, -1, -1, 3342417, 983121, 82, 852050, 2883688, 2883688, 2883688, 2883688, + 3670097, 196689, 262224, 720976 + + + 12, 23 + + + -1, -1, -1, -1, -1, -1, 589947, 983161, 589944, 327800, 327800, 327800, 655480, 589944, 393339, 65657, + -1, 7078008, 7143544, 7340152, -1, 6881400, 7274616, 196729, 1114232, 1114232, 1114232, 1114232, 1114232, + 458872, 393338, 196729, -1, -1, -1, -1, -1, -1, 589947, 786553, -1, -1, -1, -1, -1, -1, 655483, 983161, + 524411, 327800, 327800, 655480, 327800, 327800, 393339, 196729, 327803, 131194, 1310842, 1310842, 196730, + 1310842, 983162, 1048698 + + + 15, 15 + + + -1, -1, -1, -1, -1, -1, 524371, 327760, -1, -1, -1, -1, -1, -1, 589907, 2949203, -1, -1, -1, -1, -1, -1, + 327763, 4063315, -1, -1, -1, -1, -1, -1, 589907, -1, -1, -1, -1, -1, -1, -1, 655443, -1, -1, -1, -1, -1, -1, + -1, 327763, 7536723, -1, -1, -1, -1, -1, -1, 327763, -1, -1, -1, -1, -1, -1, -1, 327763, 4063315 + + + 13, 23 + + + 852090, 65659, 327801, -1, -1, -1, -1, -1, 262266, 1310843, 393336, 589944, 327800, 589944, 327800, + 589944, 852089, 65659, 6357112, 7405688, 7143544, 7209080, 7405688, 7340152, 262267, 983163, 393337, 1114232, + 1114232, 458872, 1114232, 1114232, 721018, 786555, 655481, -1, -1, -1, -1, -1, 721019, 65659, 589945, -1, -1, + -1, -1, -1, 123, 1310843, 393336, 655480, 327800, 655480, 327800, 327800, 852090, 1048699, 65658, 786554, + 196730, 196730, 786554, 131195 + + + 18, 15 + + + 655440, 655440, 655440, 589904, 589904, 655440, 589904, 327760, 4456529, 4718675, -1, 8323153, 8323153, + 4390992, 2949203, 4063312, 983122, 1310802, 983122, 65618, 1310802, 131155, 7536723, 4784232, 917586, 852048, + 82, 720979, 1835088, 196691, -1, -1, 852051, 82, 720978, 82, 81, 1245267, 7536723, 4784232, 852050, 83, + 720977, 917584, 81, 1310803, -1, -1, 852048, 852051, 720978, 262226, 852049, 983123, 6488147, 3407976, 852049, + 720977, 852050, 720978, 1179729, 65619, -1, 4784232 + + + 14, 23 + + + -1, -1, -1, 524411, 655480, 655480, 655480, 655480, 655480, 589944, 327800, 393339, 2949243, 3997816, + 4063352, -1, -1, 6881400, 6881400, 6881400, 8388731, 4784272, -1, 4784272, 1114232, 1114232, 1114232, 393338, + 3342459, -1, -1, -1, -1, -1, -1, 327803, 5963899, 2883728, 4784272, -1, -1, -1, -1, 327803, -1, 2883728, -1, + -1, 524408, -1, -1, 327803, 3473531, 4784272, -1, 2883728, 327801, -1, -1, 327803, 6488187, -1, -1, 2883728 + + + 17, 15 + + + 589904, 327760, 327760, 393299, 196689, 852050, 1310803, 393296, 8781907, 4522065, 4456531, 4390992, + 1310801, 720979, 65619, 4390992, 786514, 983122, 65618, 65618, 1048658, 720979, 1048659, 786514, 852049, + 852051, 81, 1179728, 720979, 81, 720978, 720976, 852050, 720976, 852049, 83, 852048, 262226, 80, 262225, + 720979, 720979, 720976, 720976, 80, 852051, 83, 852048, 83, 852050, 2359376, 2687056, 3276880, 81, 720977, + 852048, 852050, 720979, 3276880, 1572944, 2687056, 1769552, 2621520, 1835088 + + + + + + + + Clockworks/Floor, base/Base 02 + + + + + Clockworks/Floor, base/Trim/Trim 06 + + + + + Clockworks/Floor, base/Trim/Trim Out 01 + + + + + Clockworks/Floor, base/Trim/Trim 01 + + + + + Clockworks/Floor, base/Base 04 + + + + + Clockworks/Edge railing/Rail, base 01 + + + + + Clockworks/Edge railing/Rail, base In 01 + + + + + Clockworks/Edge railing/Rail, Back 03 + + + + + Clockworks/Edge railing/Rail, base Out 01 + + + + + Clockworks/Edge railing/Rail, base 03 + + + + + Clockworks/Edge railing/Rail, base 02 + + + + + Clockworks/Floor, base/Base 03 + + + + + Clockworks/Floor, base/Trim/Trim 03 + + + + + Clockworks/Floor, base/Base 01 + + + + + Clockworks/Floor, base/Swirly 04 + + + + + Clockworks/Floor, base/Trim/Trim 02 + + + + + Clockworks/Floor, base/Trim/Trim In 01 + + + + + Clockworks/Edge railing/Rail, Back 01 + + + + + Clockworks/Floor, base/Swirly 03 + + + + + Clockworks/Floor, base/Trim/Trim 04 + + + + + Clockworks/Floor, base/Trim/Trim 05 + + + + + Clockworks/Edge railing/Rail, Transition R + + + + + Clockworks/Floor, catwalk/Trim/Trim 05 + + + + + Clockworks/Floor, catwalk/Catwalk 03 + + + + + Clockworks/Floor, catwalk/Catwalk, solid + + + + + Clockworks/Floor, catwalk/Trim/Trim 02 + + + + + Clockworks/Edge railing/Rail, Transition L + + + + + Clockworks/Floor, catwalk/Catwalk 04 + + + + + Clockworks/Floor, catwalk/Catwalk 08 + + + + + Clockworks/Floor, catwalk/Trim/Trim 06 + + + + + Clockworks/Edge railing/Rail, catwalk x3 01 + + + + + Clockworks/Edge railing/Rail, catwalk 03 + + + + + Clockworks/Edge railing/Rail, catwalk 01 + + + + + Clockworks/Floor, catwalk/Trim/Trim 01 + + + + + Clockworks/Edge railing/Rail, Back 02 + + + + + Clockworks/Edge railing/Rail, catwalk 02 + + + + + Clockworks/Floor, catwalk/Catwalk 02 + + + + + Clockworks/Floor, base/Swirly 02 + + + + + Clockworks/Floor, catwalk/Trim/Trim 03 + + + + + Clockworks/Edge railing/Rail, catwalk x2 01 + + + + + Clockworks/Floor, catwalk/Catwalk 06 + + + + + Clockworks/Floor, catwalk/Catwalk 01 + + + + + Clockworks/Floor, catwalk/Catwalk 07 + + + + + Clockworks/Floor, base/Swirly 01 + + + + + Clockworks/Floor, roof/Base 1unit, plate + + + + + Clockworks/Wall/Corner Out 01 + + + + + Clockworks/Wall/Copper flat x1 03 + + + + + Clockworks/Edge railing/Rail, catwalk Back plain + + + + + Clockworks/Edge railing/Rail, catwalk Back seam + + + + + Clockworks/Edge railing/Rail, catwalk Back indents + + + + + Clockworks/Floor, catwalk/Catwalk 05 + + + + + Clockworks/Wall/Blue panel x1 02 + + + + + Clockworks/Floor, roof/Base 1unit, 01 + + + + + Clockworks/Wall/Blue panel x1 03 + + + + + Clockworks/Wall/Corner In NE 01 + + + + + Clockworks/Wall/Blue panel x1 01 + + + + + Clockworks/Wall/Iron bits x1, vent + + + + + Clockworks/Wall/Back x1 01 + + + + + Clockworks/Wall/Blue panel x1 04 + + + + + Clockworks/Wall/Corner In NW 01 + + + + + Clockworks/Wall/Copper flat x1 02 + + + + + Clockworks/Wall/Copper flat x1 01 + + + + + Clockworks/Wall/Blue panel x3 02 + + + + + Clockworks/Wall/Back x2 01 + + + + + Clockworks/Floor, catwalk/Trim/Trim 04 + + + + + Clockworks/Floor, catwalk/Trim/Trim Out 01 + + + + + Clockworks/Edge railing/Rail, catwalk Out 01 + + + + + Clockworks/Fence, low/Crosser 01 + + + + + Clockworks/Fence, low/01 + + + + + Clockworks/Fence, low/02 + + + + + Clockworks/Fence, low/03 + + + + + Clockworks/Fence, low/x2 01 + + + + + Clockworks/Fence, low/x2 02 + + + + + Clockworks/Floor, roof/Base 2unit, 01 + + + + + Clockworks/Floor, catwalk/Trim/Trim In 01 + + + + + Clockworks/Edge railing/Rail, catwalk In 01 + + + + + Clockworks/Ramp/Rail/Rail left 01 + + + + + Clockworks/Ramp/Trim/Left 2 + + + + + Clockworks/Ramp/Trim/Left 5 + + + + + Clockworks/Ramp/Trim/Left 3, loop + + + + + Clockworks/Ramp/Trim/Left 6, rivets + + + + + Clockworks/Ramp/Trim/Left 1 + + + + + Clockworks/Ramp/North 02, circles + + + + + Clockworks/Ramp/North 04, panel + + + + + Clockworks/Ramp/North 06, %SLASH% + + + + + Clockworks/Ramp/North 05, - + + + + + Clockworks/Ramp/Trim/Right 5 + + + + + Clockworks/Ramp/Trim/Right 1 + + + + + Clockworks/Ramp/Trim/Right 6, rivets + + + + + Clockworks/Ramp/Trim/Right 2 + + + + + Clockworks/Ramp/Rail/Rail right 01 + + + + + Clockworks/Wall/Blue panel x2 02 + + + + + Clockworks/Ramp/West 05, - + + + + + Clockworks/Fence, high/Corner 01, north + + + + + Clockworks/Ramp/West 06, %SLASH% + + + + + Clockworks/Edge railing/Rail, catwalk 04 - lever valve + + + + + Clockworks/Fence, high/Vertical x2, 01 + + + + + Clockworks/Fence, high/Corner 01 + + + + + Clockworks/Fence, high/Vertical x1, copper flat 1 + + + + + Clockworks/Wall/Blue panel x3 01 + + + + + Clockworks/Ramp/Rail/Rail right 02 + + + + + Clockworks/Fence, high/Vertical x1, 02 + + + + + Clockworks/Ramp/Rail/Rail left, x2 01 + + + + + Clockworks/Ramp/West 02, circles + + + + + Clockworks/Ramp/Rail/Rail left 02 + + + + + Clockworks/Fence, high/Horizontal x1, 03 + + + + + Clockworks/Wall/Iron bits x2, iron + + + + + Clockworks/Ramp/East 01, diamond + + + + + Clockworks/Fence, high/Horizontal x1, copper flat 1 + + + + + Clockworks/Fence, high/Horizontal x1, 01 + + + + + Clockworks/Fence, high/Horizontal x1, 02 + + + + + Clockworks/Fence, high/Corner 01, west + + + + + Clockworks/Fence, high/Horizontal x2, 01 + + + + + Clockworks/Fence, high/Horizontal x1, copper flat 2 + + + + + Clockworks/Ramp/East 04, panel + + + + + Clockworks/Wall/Blue panel x2 03 + + + + + Clockworks/Wall/Back x3 01 + + + + + Clockworks/Wall/Corner In SE + + + + + Clockworks/Wall/Blue panel x2 01 + + + + + Clockworks/Ramp/West 01, diamond + + + + + Clockworks/Ramp/West 03, + + + + + + Clockworks/Edge railing/Rail, base 04 + + + + + Clockworks/Ramp/West 04, panel + + + + + Clockworks/Ramp/East 06, %SLASH% + + + + + Clockworks/Ramp/East 03, + + + + + + Clockworks/Wall/Fence connector, corner SE + + + + + Clockworks/Wall/Fence connector, corner SW + + + + + Clockworks/Fence, low/05 + + + + + Clockworks/Wall/Fence connector + + + + + Traps and Hazards/Floor/Spike/3x3 + + Cycle + A + Tag + + + + + + + Traps and Hazards/Floor/Spike/5x2 + + Cycle + A + Tag + + + + + + + Traps and Hazards/Floor/Spike/2x2 + + Cycle + A + Tag + + + + + + + Clockworks/Fence, high/Vertical x1, copper flat 2 + + + + + Clockworks/Fence, high/Vertical x1, 01 + + + + + Clockworks/Fence, low/06 + + + + + Clockworks/Fence, low/04 + + + + 51 + %dungeon:m.training_grounds_1 + 33 + + + 3284 + + Dynamic/Block/Breakable/Clockworks, base + + + 13.5, 88.5, 5.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3285 + + + 14.5, 88.5, 5.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3280 + + + 12.5, 88.5, 5.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3281 + + + 4.5, 88.5, 5.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3282 + + + 4.5, 87.5, 5.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3283 + + + 5.5, 88.5, 5.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3288 + + Player Enter/Spawn Activate + + Trigger Action + + + + close + + door 3a + + + + activate + + spawn 3a + + + + + + + + + 15.500008 + 80.5 + 5.0 + + + 12.500008 + 80.5 + 5.0 + + + 12.500008 + 84.5 + 5.0 + + + 15.500008 + 84.5 + 5.0 + + + + + 3291 + + Character/Monster/Generic/Single Spawn + + Spawn Table + + Monster/Tutorial/Training Grounds/Scuttlebot + + Tag + (Wave Tag) + + + Spawn Tag + spawn 1c + Wave Number + 1c + + + + 147.5, 125.50001, 10.0 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 3270 + + Dynamic/Block/Breakable/Random/Clockworks, base + + + 14.5, 87.5, 5.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3277 + + Dynamic/Block/Breakable/Random/Clockworks, base (Respawn) + + + 4.5, 85.5, 5.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3276 + + + 7.5, 88.5, 5.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3279 + + + 14.5, 86.5, 5.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3278 + + + 13.5, 87.5, 5.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3273 + + + 4.5, 86.5, 5.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3275 + + + 5.5, 87.5, 5.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3274 + + + 6.5, 88.5, 5.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3316 + + Character/Monster/Generic/Subset Spawn + + Tag + spawn 3e + Wave Number + 3e + + + + 98.5, 196.5, 15.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 3314 + + + 97.5, 195.5, 15.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 3315 + + + 99.5, 194.5, 15.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 3313 + + Dynamic/Block/Treasure/Hearts + + + 97.5, 192.5, 15.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3326 + + + 109.5, 196.5, 15.0 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 3324 + + + 111.5, 192.5, 15.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3325 + + + 110.5, 194.5, 15.0 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 3321 + + Character/Monster/Generic/Subset Spawn + + Tag + spawn 2e + Wave Number + 2e + + + + 103.5, 192.5, 15.0 + 0.0, 0.0, -1.0, -4.371139E-8 + + + + 3302 + + + 97.5, 204.5, 15.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3301 + + + 111.5, 204.5, 15.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3305 + + Dynamic/Block/Unbreakable/Clockworks, base + + + 97.5, 191.5, 15.0 + + + + 3217 + + Dynamic/Block/Explosive + + + 142.5, 139.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3218 + + Dynamic/Block/Explosive Timed + + + 142.5, 140.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3220 + + + 144.5, 137.5, 10.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3222 + + + 142.5, 136.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3223 + + + 143.5, 136.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3224 + + + 144.5, 136.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3225 + + + 145.5, 136.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3226 + + + 146.5, 137.5, 10.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3227 + + + 136.5, 137.5, 10.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3201 + + + 141.5, 137.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3200 + + + 141.5, 136.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3203 + + + 141.5, 139.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3202 + + + 141.5, 138.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3205 + + Dynamic/Block/Ghost + + + 140.5, 141.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3204 + + + 141.5, 140.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3207 + + + 142.5, 141.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3206 + + + 141.5, 141.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3215 + + + 142.5, 137.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3251 + + + 24.5, 87.5, 5.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3249 + + + 37.5, 37.5, 2.5 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3254 + + Player Enter/Spawn Activate + + Trigger Action + + activate + + spawn 2a + + + + + + + 24.5 + 80.5 + 5.0 + + + 24.5 + 83.5 + 5.0 + + + 28.5 + 83.5 + 5.0 + + + 28.5 + 80.5 + 5.0 + + + + + 3252 + + Dynamic/Misc/Respawn Pad + + Actor + + Dynamic/Lift Objects/Clay Pot + + Delay + 3000 + + + + 26.5, 87.5, 5.0 + + + + 3253 + + + 28.5, 87.5, 5.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3236 + + + 44.5, 36.5, 2.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3243 + + Character/Monster/Generic/Single Spawn + + Spawn Table + + Monster/Tutorial/Training Grounds/Scuttlebot + + Tag + (Wave Tag) + + + Spawn Tag + spawn 1a + Wave Number + 1a + + + + 36.5, 29.5, 2.5 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 3240 + + + 41.5, 26.5, 2.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3245 + + + 43.5, 32.5, 2.5 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3244 + + Item/Crowns/Scaled Crown + + + 42.5, 32.5, 2.5 + 0.0, 0.0, 1.4901154E-7, 1.0 + + + + 3165 + + + 143.5, 127.5, 10.0 + + + + 3164 + + + 140.5, 131.5, 10.0 + + + + 3167 + + + 143.5, 129.5, 10.0 + + + + 3166 + + + 143.5, 126.5, 10.0 + + + + 3161 + + + 140.5, 130.5, 10.0 + + + + 3160 + + + 139.5, 131.5, 10.0 + + + + 3163 + + + 141.5, 131.5, 10.0 + + + + 3162 + + + 141.5, 130.5, 10.0 + + + + 3157 + + + 141.5, 128.5, 10.0 + + + + 3156 + + + 140.5, 129.5, 10.0 + + + + 3159 + + + 139.5, 130.5, 10.0 + + + + 3158 + + + 140.5, 128.5, 10.0 + + + + 3153 + + + 139.5, 128.5, 10.0 + + + + 3152 + + + 139.5, 126.5, 10.0 + + + + 3155 + + + 141.5, 129.5, 10.0 + + + + 3154 + + + 139.5, 129.5, 10.0 + + + + 3148 + + + 143.5, 124.5, 10.0 + + + + 3149 + + + 143.5, 125.5, 10.0 + + + + 3150 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + false + Tag + door 1c + + + + 141.5, 127.5, 10.0 + 0.0, 0.0, -1.0, 9.099629E-7 + + + + 3151 + + + 139.5, 127.5, 10.0 + + + + 3144 + + + 139.5, 125.5, 10.0 + + + + 3145 + + Dynamic/Switch/Party Platform/Base + + Action + + + + toggle + + door 1c + + + + activate + + spawn 1c + + + + + + + + 141.5, 125.5, 10.0 + + + + 3146 + + + 143.5, 122.5, 10.0 + + + + 3147 + + + 143.5, 123.5, 10.0 + + + + 3141 + + + 139.5, 122.5, 10.0 + + + + 3142 + + + 139.5, 123.5, 10.0 + + + + 3143 + + + 139.5, 124.5, 10.0 + + + + 3199 + + + 140.5, 136.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3198 + + + 139.5, 136.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3197 + + + 138.5, 136.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3196 + + + 137.5, 136.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3195 + + + 140.5, 139.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3194 + + + 140.5, 140.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3193 + + + 140.5, 137.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3189 + + + 138.5, 137.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3180 + + + 134.5, 123.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3179 + + + 148.5, 123.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3174 + + + 142.5, 130.5, 10.0 + + + + 3172 + + + 142.5, 131.5, 10.0 + + + + 3173 + + + 143.5, 130.5, 10.0 + + + + 3170 + + + 142.5, 128.5, 10.0 + + + + 3171 + + + 143.5, 131.5, 10.0 + + + + 3168 + + + 142.5, 129.5, 10.0 + + + + 3169 + + + 143.5, 128.5, 10.0 + + + + 3526 + + + 30.5, 71.5, 5.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 2447 + + + 24.5, 40.5, 2.5 + 0.0, 0.0, 1.4901154E-7, 1.0 + + + + 3523 + + + 36.5, 31.5, 2.5 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3522 + + Character/Monster/Generic/Single Spawn + + Spawn Table + + Monster/Tutorial/Training Grounds/Gun Puppy + + Tag + (Wave Tag) + + + Spawn Tag + spawn 1a + Wave Number + 1a + + + + 39.500004, 33.5, 2.5 + 0.0, 0.0, -2.0861619E-7, 1.0 + + + + 2444 + + + 23.5, 40.5, 2.5 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3535 + + Dynamic/Block/Crystal/Blue + + + 13.5, 47.5, 2.5 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3534 + + + 14.5, 47.5, 2.5 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3533 + + + 16.5, 47.5, 2.5 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 2432 + + Prop/Clockworks/Girder props/Girder, Brass - walkable, x8 + + + 1.4 + 26.5, 24.5, 2.1 + 0.0, 0.0, 2.384976E-8, 1.0 + + + + 3542 + + Dynamic/Block/Crystal/Gray + + + 39.5, 88.5, 5.0 + + + + 3543 + + + 40.5, 88.5, 5.0 + + + + 3540 + + + 47.5, 85.5, 5.0 + + + + 3541 + + Dynamic/Block/Crystal/Gold + + + 43.5, 88.5, 5.0 + + + + 2462 + + Prop/General/Undead/Ground Fog + + Color + 0.4, 0.4, 0.4, 1.0 + Density + 500 + Radius + 12.0 + + + + 21.5, 20.5, 3.0 + + + + 2461 + + + 21.5, 39.5, 3.0 + + + + 2450 + + Dynamic/Barrier/Force Field x3 + + + 20.5, 54.5, 2.5 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 3550 + + Dynamic/Block/Crystal/Green + + + 41.5, 87.5, 5.0 + + + + 3551 + + + 41.5, 88.5, 5.0 + + + + 3548 + + + 40.5, 86.5, 5.0 + + + + 2449 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + false + Tag + door 1a + + + + 20.5, 49.5, 2.5 + + + + 3549 + + + 41.5, 86.5, 5.0 + + + + 3546 + + + 39.5, 85.5, 5.0 + + + + 3547 + + + 39.5, 86.5, 5.0 + + + + 3544 + + + 40.5, 87.5, 5.0 + + + + 2453 + + + 39.5, 30.5, 3.0 + + + + 3545 + + + 39.5, 87.5, 5.0 + + + + 3556 + + + 45.5, 83.5, 5.0 + + + + 3559 + + + 46.5, 83.5, 5.0 + + + + 3558 + + + 45.5, 82.5, 5.0 + + + + 3553 + + + 42.5, 87.5, 5.0 + + + + 3552 + + + 42.5, 88.5, 5.0 + + + + 3555 + + + 46.5, 82.5, 5.0 + + + + 3554 + + + 47.5, 82.5, 5.0 + + + + 3565 + + + 42.5, 85.5, 5.0 + + + + 3564 + + + 42.5, 86.5, 5.0 + + + + 3567 + + + 44.5, 85.5, 5.0 + + + + 3566 + + + 43.5, 85.5, 5.0 + + + + 2466 + + Prop/Clockworks/Lamp, tall rail-mounted + + Light Color + Golden (Clockworks) + + + + 48.0, 95.5, 5.0 + 0.0, 0.0, 0.70710665, 0.7071069 + + + + 3561 + + + 44.5, 87.5, 5.0 + + + + 3560 + + + 43.5, 87.5, 5.0 + + + + 2468 + + Dynamic/Breakable Objects/Clockworks/Bucket o bolts + + + 45.921494, 96.54311, 5.0 + 0.0, 0.0, -0.9762961, 0.21643895 + + + + 3563 + + + 43.5, 86.5, 5.0 + + + + 3562 + + + 44.5, 86.5, 5.0 + + + + 3572 + + + 41.5, 84.5, 5.0 + + + + 3573 + + + 41.5, 85.5, 5.0 + + + + 3574 + + + 41.5, 83.5, 5.0 + + + + 3575 + + + 40.5, 83.5, 5.0 + + + + 3568 + + + 39.5, 82.5, 5.0 + + + + 3569 + + + 39.5, 83.5, 5.0 + + + + 3570 + + + 39.5, 84.5, 5.0 + + + + 3571 + + + 40.5, 84.5, 5.0 + + + + 3580 + + + 45.5, 84.5, 5.0 + + + + 3581 + + + 46.5, 85.5, 5.0 + + + + 3582 + + + 46.5, 84.5, 5.0 + + + + 3583 + + + 47.5, 84.5, 5.0 + + + + 3576 + + + 42.5, 84.5, 5.0 + + + + 3577 + + + 43.5, 84.5, 5.0 + + + + 3578 + + + 44.5, 84.5, 5.0 + + + + 3579 + + + 45.5, 85.5, 5.0 + + + + 3459 + + + 139.5, 137.5, 10.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3458 + + + 140.5, 138.5, 10.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3457 + + + 142.5, 138.5, 10.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3456 + + + 143.5, 137.5, 10.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3463 + + + 149.5, 137.5, 10.0 + + + + 3462 + + + 133.5, 137.5, 10.0 + + + + 3461 + + + 145.5, 137.5, 10.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3460 + + + 137.5, 137.5, 10.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3475 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.tg_doors + Tags + + Title + t.tg_doors + Visible Distance + 10.0 + Width + 250 + + + + 22.5, 48.5, 2.5 + + + + 3486 + + + 105.5, 192.5, 15.0 + 0.0, 0.0, 1.0, 4.3312576E-7 + + + + 3487 + + Trigger/Master Signal Trigger + + Number + 3 + Spawn Table + + Monster/Tutorial/Training Grounds/Scuttlebot + + Tag + wave 2e + + + Spawn Tag + spawn 2e + Tag + spawn 2e + Wave Number + 2e + + + + 98.5, 201.5, 15.0 + + + + 3484 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + true + Tag + door 1e + + + + 104.5, 190.5, 15.0 + 0.0, 0.0, -1.0, 9.099629E-7 + + + + 3489 + + Dynamic/Elevator/Haven + + + 104.5, 252.5, 17.5 + + + + 3488 + + Trigger/Master Signal Trigger + + Number + 3 + Spawn Table + + Monster/Tutorial/Training Grounds/Scuttlebot + + Tag + wave 3e + + + Spawn Tag + spawn 3e + Tag + spawn 3e + Wave Number + 3e + + + + 99.5, 202.5, 15.0 + + + + 3493 + + Prop/Clockworks/Pipes, ground - Iron Large/Elbow 90 + + + 109.5, 198.5, 15.0 + 0.0, 0.0, -1.0, 3.1391647E-7 + + + + 3492 + + Prop/Clockworks/Pipes, ground - Iron Large/Straight 1unit + + + 111.49999, 198.50002, 15.0 + 0.0, 0.0, 0.7071069, 0.7071067 + + + + 3495 + + + 109.5, 193.5, 15.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3494 + + Prop/Clockworks/Pipes, ground - Iron Large/Straight 2 unit + + + 109.50002, 195.50002, 15.0 + 0.0, 0.0, 5.9604634E-8, 1.0 + + + + 3497 + + Prop/Clockworks/Pipes, ground - Iron Large/Elbow 45, right + + + 102.5, 193.5, 15.0 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 3496 + + Prop/Clockworks/Pipes, ground - Iron Large/Straight 5 unit + + + 103.5, 193.5, 15.0 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 3499 + + Prop/Clockworks/Pipes, ground - Iron Large/Diagonal 2unit + + + 101.5, 194.5, 15.0 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 3498 + + Prop/Clockworks/Pipes, ground - Iron Large/Bracket + + + 103.5, 193.5, 15.0 + 0.0, 0.0, 0.7071069, 0.7071067 + + + + 3501 + + + 100.5, 195.5, 15.0 + 0.0, 0.0, 0.7071069, 0.7071067 + + + + 3500 + + + 100.5, 195.5, 15.0 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 3502 + + Prop/Clockworks/Pipes, ground - Iron Large/Straight 3 unit + + + 97.5, 195.5, 15.0 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 3504 + + Prop/Clockworks/Pipes, ground - Iron Large/Abyss pipe, vertical + + + 112.49999, 198.50002, 15.0 + 0.0, 0.0, 0.7071069, 0.7071067 + + + + 3505 + + + 96.499985, 195.49997, 15.0 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 3506 + + + 97.5, 193.5, 15.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3511 + + + 15.5, 41.5, 2.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3512 + + + 14.5, 41.5, 2.5 + 0.0, 0.0, 1.4901154E-7, 1.0 + + + + 3513 + + + 23.5, 46.5, 2.5 + 0.0, 0.0, 1.4901154E-7, 1.0 + + + + 3514 + + + 24.5, 46.5, 2.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3517 + + + 21.5, 36.5, 2.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3518 + + + 21.5, 37.5, 2.5 + 0.0, 0.0, 1.4901154E-7, 1.0 + + + + 3406 + + Item/Heat/Scaled Ember + + + 105.5, 245.5, 17.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3407 + + + 104.5, 244.5, 17.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3404 + + + 103.5, 245.5, 17.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3405 + + + 104.5, 246.5, 17.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3402 + + + 108.5, 245.5, 17.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3403 + + + 100.5, 245.5, 17.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3400 + + + 109.5, 245.5, 17.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3401 + + + 108.5, 244.5, 17.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3398 + + + 107.5, 245.5, 17.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3399 + + + 108.5, 246.5, 17.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3396 + + + 101.5, 245.5, 17.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3397 + + + 100.5, 244.5, 17.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3394 + + + 99.5, 245.5, 17.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3395 + + + 100.5, 246.5, 17.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3453 + + + 106.5, 99.5, 7.5 + + + + 3452 + + + 106.5, 98.5, 7.5 + + + + 3455 + + + 105.5, 98.5, 7.5 + + + + 3454 + + + 105.5, 99.5, 7.5 + + + + 3449 + + + 104.5, 98.5, 7.5 + + + + 3451 + + + 106.5, 97.5, 7.5 + + + + 3450 + + + 105.5, 97.5, 7.5 + + + + 3442 + + + 104.5, 245.5, 17.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3339 + + Trigger/Actor Removed + + Action + + activate + + spawn 2e + + + Actor Tag + wave 1e + + + + 108.5, 189.5, 15.0 + + + + 3337 + + Trigger/Actor Removed + + Action + + + + open + + door 3e + + + + + music 1e + + + + + Actor Tag + wave 3e + + + + 110.5, 189.5, 15.0 + + + + 3343 + + Trigger/Actor Removed + + Action + + activate + + spawn 3e + + + Actor Tag + wave 2e + + + + 109.5, 189.5, 15.0 + + + + 3331 + + + 111.5, 191.5, 15.0 + + + + 3355 + + + 97.5, 203.5, 15.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3353 + + + 98.5, 192.5, 15.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3359 + + + 110.5, 204.5, 15.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3358 + + + 109.5, 205.5, 15.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3357 + + + 99.5, 205.5, 15.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3356 + + + 98.5, 204.5, 15.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3350 + + + 110.5, 192.5, 15.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3349 + + + 111.5, 193.5, 15.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3348 + + Character/Monster/Generic/Wave Spawn + + Spawn Table + + Monster/Tutorial/Training Grounds/Scuttlebot + + Tag + wave 1e + + + Spawn Tag + spawn 1e + Wave Number + 1e + + + + 99.500046, 197.49997, 15.0 + 0.0, 0.0, 0.70710695, 0.70710665 + + + + 3372 + + Lights/Prop/Sunbeam, tall + + + 104.5, 197.5, 15.0 + + + + 3360 + + + 111.5, 203.5, 15.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3361 + + + 109.5, 191.5, 15.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3362 + + + 99.5, 191.5, 15.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3363 + + + 110.5, 191.5, 15.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3364 + + + 110.5, 205.5, 15.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3365 + + + 98.5, 205.5, 15.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3366 + + + 98.5, 191.5, 15.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2421 + + + 9.5, 21.5, 2.5 + 0.0, 0.0, 8.742278E-8, 1.0 + + + + 2420 + + + 8.5, 21.5, 2.5 + 0.0, 0.0, 1.4901154E-7, 1.0 + + + + 2423 + + + 14.5, 22.5, 2.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2418 + + Dynamic/Elevator/Start Platform + + + -4.5, -2.5, 0.0 + + + + 2425 + + + 13.5, 25.5, 2.5 + 0.0, 0.0, 8.742278E-8, 1.0 + + + + 2424 + + + 9.5, 26.5, 2.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2426 + + + 12.5, 25.5, 2.5 + 0.0, 0.0, 1.4901154E-7, 1.0 + + + + 2745 + + + 111.5, 205.5, 15.0 + + + + 2737 + + + 110.49999, 200.50002, 15.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 2734 + + + 108.5, 203.5, 15.0 + + + + 2733 + + + 108.5, 201.5, 15.0 + + + + 2720 + + + 106.5, 201.5, 15.0 + + + + 2716 + + + 111.5, 199.5, 15.0 + 0.0, 0.0, -0.70710677, 0.7071068 + + + + 2713 + + + 111.5, 197.5, 15.0 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 2695 + + Dynamic/Switch/Party Platform/Base + + Action + + + + open + + door 2e + + + + close + + door 3e + + + + activate + + spawn 1e + + + + close + + door 1e + + + + + Environment/Music + + Destruction Transient + + model/scripted/play_sound_clip.dat + + File + sound/music/fanfare_victory_1.ogg + Gain + 1.0 + + + Fade In + 0.0 + Fade Out + 0.0 + File + sound/music/battle_1.ogg + Override + true + Stack + default + Tag + music 1e + + + + + + + + + 104.5, 197.5, 15.0 + + + + 3751 + + + 104.5, 228.5, 17.5 + + + + 3750 + + + 104.5, 226.5, 17.5 + + + + 3749 + + + 104.5, 224.5, 17.5 + + + + 3748 + + + 104.5, 222.5, 17.5 + + + + 3747 + + Prop/Clockworks/Lamp, short rail-mounted + + Light Color + Golden (Clockworks) + + + + 102.0, 225.0, 17.5 + 0.0, 0.0, -0.70710653, 0.70710707 + + + + 3745 + + Character/Monster/Generic/Single Spawn + + Spawn Table + + Monster/Tutorial/Training Grounds/Retrode + + Tag + (Wave Tag) + + + Spawn Tag + spawn 1c + Wave Number + 1c + + + + 148.50003, 127.500046, 10.0 + 0.0, 0.0, -0.70710653, 0.70710707 + + + + 3744 + + + 119.5, 103.5, 7.5 + + + + 3755 + + + 104.5, 232.5, 17.5 + + + + 3754 + + + 102.0, 235.0, 17.5 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 3753 + + + 107.0, 230.0, 17.5 + 0.0, 0.0, 0.70710725, 0.7071063 + + + + 3752 + + + 104.5, 230.5, 17.5 + + + + 3732 + + + 111.5, 99.5, 7.5 + + + + 2776 + + Prop/Clockworks/Lamp, short rail-mounted + + Light Color + Default (incandescent) + + + + 2.5163908, -4.4206467, 0.0 + 0.0, 0.0, 0.42261824, 0.9063078 + + + + 3733 + + + 111.5, 101.5, 7.5 + + + + 2777 + + Prop/Clockworks/Lamp, tall rail-mounted + + Light Color + Default (incandescent) + + + + 0.5, 9.5, 0.0 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + 3734 + + + 111.5, 103.5, 7.5 + + + + 2778 + + Player Enter/Spawn Activate + + Trigger Action + + activate + + spawn 1a + + + + + + + 0.5 + 5.5 + + + 0.5 + 7.5 + + + 4.5 + 7.5 + + + 4.5 + 5.5 + + + + + 3735 + + + 113.5, 99.5, 7.5 + + + + 3740 + + + 119.5, 101.5, 7.5 + + + + 3741 + + + 113.5, 103.5, 7.5 + + + + 3742 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.tg_heat + Tags + + Title + t.tg_heat + Visible Distance + 10.0 + Width + 250 + + + + 115.5, 102.5, 7.5 + + + + 2770 + + + 107.5, 244.5, 17.5 + + + + 3743 + + + 117.5, 103.5, 7.5 + + + + 2771 + + + 107.5, 246.5, 17.5 + + + + 3736 + + + 113.5, 101.5, 7.5 + + + + 2772 + + + 109.5, 244.5, 17.5 + + + + 3737 + + + 117.5, 99.5, 7.5 + + + + 2773 + + + 109.5, 246.5, 17.5 + + + + 3738 + + + 117.5, 101.5, 7.5 + + + + 3739 + + + 119.5, 99.5, 7.5 + + + + 3717 + + + 79.5, 114.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3716 + + Item/Consumable/Vitapod + + + 80.5, 115.5, 10.0 + + + + 3719 + + + 79.5, 116.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2763 + + + 99.5, 244.5, 17.5 + + + + 3718 + + + 81.5, 114.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2762 + + + 109.5, 240.5, 17.5 + 0.0, 0.0, 0.014808922, 0.9998903 + + + + 3713 + + + 68.5, 113.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2765 + + + 101.5, 244.5, 17.5 + + + + 3712 + + + 67.5, 113.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2764 + + + 99.5, 246.5, 17.5 + + + + 3715 + + + 69.5, 113.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3714 + + + 69.5, 112.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2766 + + + 101.5, 246.5, 17.5 + + + + 3720 + + + 81.5, 116.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2759 + + + 99.5, 240.5, 17.5 + 0.0, 0.0, 0.014808922, 0.9998903 + + + + 3707 + + + 63.5, 113.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3706 + + + 64.5, 113.5, 10.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3705 + + + 61.5, 113.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3704 + + + 62.5, 113.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3711 + + + 70.5, 115.5, 10.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 3710 + + + 65.5, 113.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3709 + + + 66.5, 113.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3708 + + + 64.5, 112.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3699 + + + 69.5, 110.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3698 + + + 69.5, 109.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3697 + + + 69.5, 108.5, 10.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3696 + + + 67.5, 110.5, 10.0 + + + + 3703 + + + 60.5, 113.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3702 + + + 59.5, 113.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3701 + + + 59.5, 112.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2617 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + true + Tag + door 1c + + + + 141.5, 121.5, 10.0 + 0.0, 0.0, -1.0, 9.099629E-7 + + + + 3700 + + + 69.5, 111.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3690 + + + 69.5, 104.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3691 + + + 69.5, 107.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3688 + + Character/Monster/Generic/Subset Spawn + + Tag + subset 1b + Wave Number + 1b + + + + 67.5, 105.5, 10.0 + 0.0, 0.0, 1.4901154E-7, 1.0 + + + + 3689 + + + 69.5, 105.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3694 + + + 68.5, 108.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3695 + + + 67.5, 111.5, 10.0 + + + + 3692 + + + 69.5, 106.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3693 + + + 67.5, 108.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3682 + + Character/Monster/Generic/Subset Spawn + + Tag + subset 2b + Wave Number + 2b + + + + 66.5, 111.5, 10.0 + 0.0, 0.0, 1.4901154E-7, 1.0 + + + + 3683 + + Trigger/Master Signal Trigger + + Number + 2 + Spawn Table + + Monster/Tutorial/Training Grounds/Gun Puppy + + Tag + wave 2b + + + Spawn Tag + spawn 1b + Tag + subset 2b + Wave Number + 2b + + + + 68.5, 101.5, 10.0 + + + + 3680 + + + 66.5, 108.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3681 + + + 66.5, 110.5, 10.0 + + + + 3686 + + + 67.5, 103.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3687 + + + 69.5, 103.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3684 + + Trigger/Master Signal Trigger + + Number + 4 + Spawn Table + + Monster/Tutorial/Training Grounds/Jelly Cube + + Tag + wave 1b + + + Spawn Tag + spawn 1b + Tag + subset 1b + Wave Number + 1b + + + + 67.5, 101.5, 10.0 + + + + 3685 + + + 68.5, 103.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3673 + + + 66.5, 106.5, 10.0 + 0.0, 0.0, 1.4901154E-7, 1.0 + + + + 3672 + + + 64.5, 106.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3675 + + + 64.5, 109.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3674 + + + 64.5, 108.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3677 + + + 64.5, 110.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3676 + + + 63.5, 108.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3679 + + + 65.5, 108.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3678 + + + 64.5, 111.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3665 + + + 62.5, 110.5, 10.0 + 0.0, 0.0, 1.4901154E-7, 1.0 + + + + 3664 + + + 61.5, 108.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3667 + + + 62.5, 111.5, 10.0 + + + + 3666 + + + 61.5, 111.5, 10.0 + 0.0, 0.0, 1.4901154E-7, 1.0 + + + + 3669 + + + 64.5, 105.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3668 + + + 61.5, 110.5, 10.0 + + + + 3671 + + + 64.5, 107.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3670 + + + 64.5, 104.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3656 + + + 61.5, 106.5, 10.0 + 0.0, 0.0, 1.4901154E-7, 1.0 + + + + 3657 + + + 61.5, 107.5, 11.0 + + + + 3658 + + + 59.5, 109.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3659 + + + 60.5, 108.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3660 + + + 59.5, 108.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3661 + + + 59.5, 111.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3662 + + + 59.5, 110.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3663 + + + 62.5, 108.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3648 + + + 66.5, 103.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3649 + + + 59.5, 104.5, 10.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3650 + + + 59.5, 105.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3651 + + + 59.5, 107.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3652 + + + 59.5, 106.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3653 + + + 62.5, 105.5, 10.0 + + + + 3654 + + + 61.5, 105.5, 10.0 + + + + 3655 + + + 62.5, 106.5, 10.0 + + + + 2675 + + + 100.5, 201.5, 15.0 + + + + 3647 + + + 65.5, 103.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3646 + + + 63.5, 103.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3645 + + + 64.5, 103.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3644 + + + 61.5, 103.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3643 + + + 62.5, 103.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3642 + + + 60.5, 103.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3641 + + + 59.5, 103.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2676 + + + 101.5, 203.5, 15.0 + + + + 3640 + + + 57.5, 113.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3639 + + + 58.5, 113.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3638 + + + 56.5, 113.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3637 + + + 55.5, 113.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3636 + + + 54.5, 112.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3635 + + + 54.5, 113.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3634 + + + 57.5, 110.5, 10.0 + 0.0, 0.0, 1.4901154E-7, 1.0 + + + + 3633 + + + 57.5, 111.5, 10.0 + + + + 3632 + + + 57.5, 108.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3630 + + + 56.5, 111.5, 10.0 + + + + 3631 + + + 58.5, 108.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3628 + + + 55.5, 108.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2656 + + + 98.5, 199.5, 15.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 3629 + + + 56.5, 110.5, 10.0 + + + + 3626 + + + 57.5, 105.5, 10.0 + 0.0, 0.0, 1.4901154E-7, 1.0 + + + + 3627 + + + 56.5, 108.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3624 + + + 54.5, 111.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3625 + + + 56.5, 106.5, 10.0 + 0.0, 0.0, 1.4901154E-7, 1.0 + + + + 2666 + + + 97.5, 205.5, 15.0 + + + + 3622 + + + 54.5, 109.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3623 + + + 54.5, 110.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3620 + + + 54.5, 106.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3621 + + + 54.5, 108.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3618 + + + 54.5, 104.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3619 + + + 54.5, 107.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3616 + + + 57.5, 103.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3617 + + + 54.5, 105.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3613 + + + 55.5, 103.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3612 + + + 54.5, 103.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3615 + + + 58.5, 103.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3614 + + + 56.5, 103.5, 10.0 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3611 + + Player Enter/Spawn Activate + + Trigger Action + + activate + + spawn 1b + + + + + + + 53.5 + 103.5 + 10.0 + + + 53.5 + 99.5 + 10.0 + + + 56.5 + 99.5 + 10.0 + + + 56.5 + 103.5 + 10.0 + + + + + 2646 + + + 96.5, 193.5, 15.0 + 0.0, 0.0, -0.70710653, 0.707107 + + + + 3605 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.tg_pots + Tags + + Title + t.tg_pots + Visible Distance + 10.0 + Width + 250 + + + + 18.5, 73.5, 5.0 + + + + 3604 + + + 45.5, 86.5, 5.0 + + + + 3601 + + + 45.5, 88.5, 5.0 + + + + 2652 + + + 97.5, 198.5, 15.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 3600 + + + 46.5, 88.5, 5.0 + + + + 3603 + + + 44.5, 88.5, 5.0 + + + + 3596 + + + 47.5, 86.5, 5.0 + + + + 3597 + + + 46.5, 86.5, 5.0 + + + + 3598 + + + 45.5, 87.5, 5.0 + + + + 3599 + + + 46.5, 87.5, 5.0 + + + + 3592 + + + 41.5, 82.5, 5.0 + + + + 3593 + + + 42.5, 82.5, 5.0 + + + + 3594 + + + 47.5, 88.5, 5.0 + + + + 3595 + + + 47.5, 87.5, 5.0 + + + + 3588 + + + 44.5, 83.5, 5.0 + + + + 3589 + + + 43.5, 83.5, 5.0 + + + + 3590 + + + 42.5, 83.5, 5.0 + + + + 3591 + + + 40.5, 82.5, 5.0 + + + + 3584 + + + 40.5, 85.5, 5.0 + + + + 3585 + + + 47.5, 83.5, 5.0 + + + + 3586 + + + 43.5, 82.5, 5.0 + + + + 3587 + + + 44.5, 82.5, 5.0 + + + + 2984 + + + 140.5, 102.5, 8.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2981 + + + 133.5, 108.5, 8.5 + + + + 2983 + + + 140.5, 103.5, 8.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2982 + + + 140.5, 104.5, 8.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2978 + + + 16.5, 83.5, 5.0 + + + + 2959 + + Dynamic/Block/Stone + + + 26.5, 20.5, 2.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2958 + + + 26.5, 21.5, 2.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 4033 + + + 19.5, 74.5, 5.0 + + + + 4032 + + + 38.5, 87.5, 5.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 4039 + + + 44.5, 37.5, 2.5 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 4038 + + + 44.5, 48.5, 2.5 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 4037 + + + 26.5, 48.5, 2.5 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 4036 + + + 12.5, 40.5, 2.5 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 4043 + + Dynamic/Block/Treasure/Training Grounds + + + 30.5, 70.5, 5.0 + + + + 4042 + + + 30.5, 72.5, 5.0 + + + + 4045 + + + 80.5, 103.5, 10.0 + + + + 4044 + + + 86.5, 103.5, 10.0 + + + + 4050 + + + 135.5, 171.5, 12.5 + + + + 4051 + + + 130.5, 171.5, 12.5 + + + + 4048 + + + 139.5, 167.5, 12.5 + + + + 4049 + + + 139.5, 162.5, 12.5 + + + + 2970 + + + 28.5, 18.5, 2.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 4054 + + + 100.5, 253.5, 17.5 + + + + 4055 + + + 100.5, 251.5, 17.5 + + + + 2968 + + + 26.5, 18.5, 2.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 4052 + + + 108.5, 253.5, 17.5 + + + + 2969 + + + 27.5, 18.5, 2.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 4053 + + + 108.5, 251.5, 17.5 + + + + 2966 + + + 24.5, 18.5, 2.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2967 + + + 25.5, 18.5, 2.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2964 + + + 27.5, 22.5, 2.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2965 + + + 28.5, 22.5, 2.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2962 + + + 25.5, 22.5, 2.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2963 + + + 26.5, 22.5, 2.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2960 + + + 26.5, 19.5, 2.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 4060 + + + 46.611, 96.003, 5.0 + 0.0, 0.0, -0.9762961, 0.21643895 + + + + 2961 + + + 24.5, 22.5, 2.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3049 + + + 142.5, 107.5, 8.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3048 + + + 140.5, 110.5, 8.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3051 + + + 140.5, 108.5, 8.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3050 + + + 142.5, 108.5, 8.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 4001 + + + 109.49994, 197.50006, 15.0 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 3053 + + + 139.5, 107.5, 8.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3052 + + + 140.5, 107.5, 8.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3041 + + + 138.5, 106.5, 8.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 4012 + + + 104.5, 201.5, 15.0 + + + + 3040 + + + 139.5, 105.5, 8.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 4015 + + + 102.5, 201.5, 15.0 + + + + 3043 + + + 141.5, 108.5, 8.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3042 + + + 137.5, 107.5, 8.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3045 + + + 141.5, 106.5, 8.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3044 + + + 141.5, 107.5, 8.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 4011 + + Character/Monster/Generic/Wave Spawn + + Spawn Table + + Monster/Tutorial/Training Grounds/Retrode + + Tag + wave 2e + + + Spawn Tag + spawn 2e + Wave Number + 2e + + + + 104.49996, 204.49995, 15.0 + 0.0, 0.0, 1.4901154E-7, 1.0 + + + + 3047 + + + 140.5, 109.5, 8.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3046 + + + 141.5, 109.5, 8.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 4020 + + Character/Monster/Generic/Wave Spawn + + Spawn Table + + Monster/Tutorial/Training Grounds/Retrode + + Tag + wave 3e + + + Spawn Tag + spawn 3e + Wave Number + 3e + + + + 105.49996, 203.49995, 15.0 + 0.0, 0.0, 1.4901154E-7, 1.0 + + + + 4028 + + + 48.5, 89.5, 5.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 4031 + + + 48.5, 87.5, 5.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 4024 + + + 104.49996, 203.49995, 15.0 + 0.0, 0.0, 2.0861619E-7, 1.0 + + + + 4026 + + Character/Monster/Generic/Wave Spawn + + Spawn Table + + Monster/Tutorial/Training Grounds/Lumber + + Tag + wave 3e + + + Spawn Tag + spawn 3e + Wave Number + 3e + + + + 108.50284, 202.51842, 15.0 + 0.0, 0.0, -0.34201998, 0.9396927 + + + + 4027 + + + 38.5, 89.5, 5.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3019 + + + 129.5, 97.5, 7.5 + + + + 3975 + + + 139.5, 164.5, 12.5 + + + + 3018 + + + 128.5, 97.5, 7.5 + + + + 3974 + + + 139.5, 165.5, 12.5 + + + + 3017 + + + 126.5, 98.5, 7.5 + + + + 3973 + + + 138.5, 166.5, 12.5 + + + + 3016 + + + 127.5, 98.5, 7.5 + + + + 3972 + + + 137.5, 167.5, 12.5 + + + + 3023 + + + 129.5, 99.5, 7.5 + + + + 3971 + + + 135.5, 169.5, 12.5 + + + + 3022 + + + 128.5, 99.5, 7.5 + + + + 3970 + + + 134.5, 170.5, 12.5 + + + + 3021 + + + 129.5, 98.5, 7.5 + + + + 3969 + + + 133.5, 171.5, 12.5 + + + + 3020 + + + 128.5, 98.5, 7.5 + + + + 3968 + + + 132.5, 171.5, 12.5 + + + + 3982 + + + 15.500004, 45.5, 2.5 + 0.0, 0.0, -2.0861619E-7, 1.0 + + + + 3981 + + + 16.5, 41.5, 2.5 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 3980 + + + 23.500004, 45.5, 2.5 + 0.0, 0.0, -2.0861623E-7, 1.0 + + + + 3015 + + + 127.5, 99.5, 7.5 + + + + 3979 + + Item/Heat/Ember 2 + + + 116.500015, 165.50003, 12.5 + 0.0, 0.0, 0.99999994, 0.0 + + + + 3014 + + + 126.5, 99.5, 7.5 + + + + 3978 + + Item/Heat/Ember 1 + + + 118.500015, 165.50003, 12.5 + 0.0, 0.0, 0.99999994, 0.0 + + + + 3013 + + + 127.5, 97.5, 7.5 + + + + 3977 + + + 137.5, 162.5, 12.5 + + + + 3012 + + + 126.5, 97.5, 7.5 + + + + 3976 + + + 138.5, 163.5, 12.5 + + + + 3990 + + Character/Monster/Generic/Single Spawn + + Spawn Table + + Monster/Tutorial/Training Grounds/Retrode + + Tag + wave 3a + + + Spawn Tag + spawn 3a + Wave Number + 3a + + + + 7.500005, 86.50001, 5.0 + 0.0, 0.0, 0.38268346, 0.9238795 + + + + 3991 + + + 135.5, 125.499985, 10.0 + 0.0, 0.0, 0.7071069, 0.7071067 + + + + 3035 + + + 138.5, 107.5, 8.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3989 + + + 6.500005, 85.50001, 5.0 + 0.0, 0.0, 0.38268346, 0.9238795 + + + + 3987 + + Character/Monster/Generic/Single Spawn + + Spawn Table + + Monster/Tutorial/Training Grounds/Scuttlebot + + Tag + wave 3a + + + Spawn Tag + spawn 3a + Wave Number + 3a + + + + 5.5000057, 83.50001, 5.0 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 3984 + + Character/Monster/Generic/Single Spawn + + Spawn Table + + Monster/Tutorial/Training Grounds/Scuttlebot + + Tag + (Wave Tag) + + + Spawn Tag + spawn 2a + Wave Number + 2a + + + + 22.500004, 86.5, 5.0 + 0.0, 0.0, -2.0861619E-7, 1.0 + + + + 3985 + + + 30.499994, 84.50001, 5.0 + 0.0, 0.0, -0.7071069, 0.7071067 + + + + 3037 + + + 139.5, 106.5, 8.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3026 + + + 131.5, 98.5, 7.5 + + + + 3999 + + Player Enter/Base + + Color + 0.2, 0.8, 0.0, 1.0 + Trigger Action + + firing + + wave 2c + + + false + + + Trigger Condition + + + + + + + 131.50002 + 163.5 + 12.5 + + + 131.50002 + 167.5 + 12.5 + + + 129.50002 + 167.5 + 12.5 + + + 129.50002 + 163.5 + 12.5 + + + + + 3027 + + + 131.5, 99.5, 7.5 + + + + 3996 + + Character/Monster/Generic/Single Spawn + + Spawn Table + + Monster/Tutorial/Training Grounds/Scuttlebot + + Tag + (Wave Tag) + + + Spawn Tag + spawn 2c + Wave Number + 2c + + + + 137.50002, 164.5, 12.5 + 0.0, 0.0, -0.7071065, 0.7071071 + + + + 3024 + + + 130.5, 97.5, 7.5 + + + + 3025 + + + 131.5, 97.5, 7.5 + + + + 3994 + + + 141.49998, 134.50003, 10.0 + 0.0, 0.0, 4.1723246E-7, 1.0 + + + + 3030 + + + 140.5, 105.5, 8.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3995 + + + 133.5, 169.50002, 12.5 + 0.0, 0.0, 4.1723237E-7, 1.0 + + + + 3031 + + + 140.5, 106.5, 8.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3992 + + + 134.49997, 127.49997, 10.0 + 0.0, 0.0, 0.70710707, 0.7071065 + + + + 3028 + + + 130.5, 99.5, 7.5 + + + + 3029 + + + 130.5, 98.5, 7.5 + + + + 2852 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + false + Tag + door 2a + + + + 26.499994, 80.50001, 5.0 + 0.0, 0.0, -1.0, 1.9470718E-7 + + + + 2854 + + Dynamic/Switch/Lever/Toggle + + Actor + + Dynamic/Switch/Lever/Damage Toggle + + (State 0 Signal) + toggle + (State 0 Tag) + door 2a + (State 1 Signal) + toggle + (State 1 Tag) + door 2a + + + + + + 21.5, 78.5, 5.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 2850 + + Dynamic/Lift Objects/Gold Key + + + 1.5, 82.5, 5.0 + 0.0, 0.0, 1.0, -4.371139E-8 + + + + 3936 + + Dynamic/Door/Iron Gate/Monster 3 + + Open + true + Tag + door 3e + + + + 104.5, 206.5, 15.0 + 0.0, 0.0, -1.0, 9.099629E-7 + + + + 3961 + + + 133.5, 172.5, 12.5 + + + + 3960 + + + 134.5, 171.5, 12.5 + + + + 3963 + + + 131.5, 171.5, 12.5 + + + + 3962 + + + 132.5, 172.5, 12.5 + + + + 3965 + + + 130.5, 169.5, 12.5 + + + + 3964 + + + 130.5, 170.5, 12.5 + + + + 3967 + + + 131.5, 170.5, 12.5 + + + + 3953 + + + 138.5, 167.5, 12.5 + + + + 3955 + + + 140.5, 165.5, 12.5 + + + + 3954 + + + 139.5, 166.5, 12.5 + + + + 3957 + + + 139.5, 163.5, 12.5 + + + + 3956 + + + 140.5, 164.5, 12.5 + + + + 3959 + + + 135.5, 170.5, 12.5 + + + + 3958 + + + 138.5, 162.5, 12.5 + + + + 2822 + + Generic Marker + + Tag + button 1a + + + + 13.5, 47.5, 2.5 + + + + 2823 + + Trigger/Start Up Trigger + + Actor + + Dynamic/Switch/Button/One-Time + + (On Signal) + open + (On Tag) + door 1a + Tag + (Button Tag) + + + Marker Tag + button 1a + Number + 1 + + + + 23.5, 48.5, 2.5 + + + + 3912 + + + 104.50002, 167.50002, 12.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 2820 + + + 17.5, 47.5, 2.5 + + + + 3913 + + + 104.50002, 169.50002, 12.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 2821 + + + 15.5, 47.5, 2.5 + + + + 3918 + + + + 106.50003 + 189.50002 + 15.0 + + + 102.50003 + 189.50002 + 15.0 + + + 102.500015 + 187.50002 + 15.0 + + + 106.500015 + 187.50002 + 15.0 + + + + + 3919 + + + 104.50002, 186.50002, 15.0 + 0.0, 0.0, -2.9802322E-8, -1.0 + + + + 3917 + + Player Enter/Base + + Color + 0.2, 0.8, 0.0, 1.0 + Trigger Action + + firing + + wave 2c + + + true + + + Trigger Condition + + + + + + + 106.500015 + 185.50002 + 15.0 + + + 102.500015 + 185.50002 + 15.0 + + + 102.500015 + 183.50002 + 15.0 + + + 106.500015 + 183.50002 + 15.0 + + + + + 3906 + + + 104.5, 165.5, 12.5 + + + + 3907 + + + 106.5, 165.5, 12.5 + + + + 3910 + + + 112.5, 165.5, 12.5 + + + + 2826 + + + 13.5, 47.5, 2.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3911 + + + 114.5, 165.5, 12.5 + + + + 3908 + + + 108.5, 165.5, 12.5 + + + + 2824 + + + 17.5, 47.5, 2.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3909 + + + 110.5, 165.5, 12.5 + + + + 2825 + + + 15.5, 47.5, 2.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3931 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.tg_shield + Tags + + Title + t.tg_shield + Visible Distance + 10.0 + Width + 250 + + + + 130.5, 167.5, 12.5 + + + + 3929 + + + 38.5, 37.5, 2.5 + 0.0, 0.0, 1.4901154E-7, 1.0 + + + + 3932 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + false + Tag + door 2e + + + + 104.5, 206.5, 15.0 + 0.0, 0.0, -1.0, 9.099629E-7 + + + + 3923 + + Character/Monster/Generic/Single Spawn + + Spawn Table + + Monster/Tutorial/Training Grounds/Gun Puppy (firing) + + Tag + wave 2c + + + Spawn Tag + spawn 2c + Wave Number + 2c + + + + 98.50001, 174.5, 12.5 + 0.0, 0.0, 0.70710707, 0.7071065 + + + + 3922 + + + 128.5, 165.5, 12.5 + 0.0, 0.0, 0.70710677, -0.7071068 + + + + 2846 + + Dynamic/Door/Iron Gate/Monster 3 + + Open + true + Tag + door 3a + + + + 3.5000076, 82.50001, 5.0 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 3920 + + + + 127.500015 + 163.5 + 12.5 + + + 127.500015 + 167.5 + 12.5 + + + 125.500015 + 167.5 + 12.5 + + + 125.500015 + 163.5 + 12.5 + + + + + 2844 + + Dynamic/Door/Iron Gate/Gold 3 + + Tag + (Door Tag) + + + + 32.5, 82.5, 5.0 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + 3927 + + + 123.5, 171.50002, 12.5 + 0.0, 0.0, 4.1723243E-7, 1.0 + + + + 3926 + + + 117.5, 171.50002, 12.5 + 0.0, 0.0, 4.1723243E-7, 1.0 + + + + 3925 + + + 111.5, 171.50002, 12.5 + 0.0, 0.0, 4.1723243E-7, 1.0 + + + + 3924 + + + 98.50001, 168.5, 12.5 + 0.0, 0.0, 0.70710707, 0.70710653 + + + + 2912 + + Generic Marker + + Tag + button 4a + + + + 39.5, 82.5, 5.0 + + + + 3882 + + + 122.0, 179.49998, 15.0 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 3876 + + + 134.5, 154.5, 12.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3877 + + + 136.5, 154.5, 12.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2922 + + + 49.50001, 104.00001, 10.5 + 0.0, 0.0, 1.0, 4.3312576E-7 + + + + 3872 + + + 140.5, 166.5, 12.5 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3873 + + + 140.5, 167.5, 12.5 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3874 + + + 138.5, 154.5, 12.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 3875 + + + 140.5, 154.5, 12.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 1000 + + Environment/Skybox + + Model + + world/skybox/visionfog/skybox.dat + + Color + 0.14901961, 0.101960786, 0.050980393, 1.0 + Mode + Ground Fog + + + + + + + 993 + + Environment/Ambient + + Color + 0.34117648, 0.3254902, 0.2627451, 1.0 + + + + + 992 + + Environment/Fog + + State + + 0.2784314, 0.23137255, 0.24313726, 0.0 + 12.0 + 30.0 + + + + + + 995 + + Environment/Light + + Light + + + 0.32941177, 0.31764707, 0.2509804, 1.0 + + 0.3860816, -0.82795304, 0.40673667 + + + + + + 994 + + Environment/Light + + Light + + + 0.08627451, 0.28627452, 0.33333334, 1.0 + + -0.9240239, 0.2649601, 0.2756373 + + + + + + 997 + + Environment/Model + + Model + + world/skybox/clockwork_tunnels/model.dat + + Color Scheme + Surface + + + + + + + 996 + + Environment/Music Mix + + Cross Fade + 0.0 + Files + + + sound/music/clockwork_ambient.ogg + 2.0 + + + sound/music/clockwork_action.ogg + + + Gain + 0.45 + + + + + 999 + + Environment/Shadow Color + + Color + 0.10980392, 0.03137255, 0.03137255, 0.4 + + + + + 998 + + Camera + + Coords + 0.0, 0.7853982, 9.99 + FOV + 1.0471976 + Far + 60.0 + Near + 1.0 + + + + + 3855 + + Player Enter/Spawn Activate + + Trigger Action + + activate + + spawn 2c + + + + + + + 135.5 + 156.5 + 12.5 + + + 135.5 + 152.5 + 12.5 + + + 131.5 + 152.5 + 12.5 + + + 131.5 + 156.5 + 12.5 + + + + + 2883 + + Dynamic/Door/Iron Gate/Multi Trigger 3 + + Open + false + Tag + door 4a + Triggers + 3 + + + + 45.5, 90.5, 5.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3852 + + + 14.5, 23.5, 2.5 + 0.0, 0.0, -0.70710695, 0.70710665 + + + + 2880 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + true + Tag + door 2a + + + + 20.5, 82.5, 5.0 + 0.0, 0.0, 0.7071069, 0.7071067 + + + + 2881 + + Trigger/Actor Removed + + Action + + open + + door 3a + + + Actor Tag + wave 3a + + + + 14.5, 85.5, 5.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 991 + + Environment/Background Color + + Color + 0.2784314, 0.23137255, 0.24313726, 1.0 + + + + + 3871 + + + 140.5, 162.5, 12.5 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 2899 + + + 39.5, 88.5, 5.0 + + + + 3870 + + + 140.5, 163.5, 12.5 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 2898 + + Trigger/Start Up Trigger + + Actor + + Dynamic/Switch/Button/One-Time + + (On Signal) + open + (On Tag) + door 4a + Tag + (Button Tag) + + + Marker Tag + button 4a + Number + 3 + + + + 48.5, 89.5, 5.0 + + + + 3867 + + + 135.5, 172.5, 12.5 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3866 + + + 134.5, 172.5, 12.5 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 2907 + + + 43.5, 88.5, 5.0 + + + + 3863 + + + 130.5, 172.5, 12.5 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 3862 + + + 131.5, 172.5, 12.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 2906 + + + 47.5, 85.5, 5.0 + + + + 2905 + + + 47.5, 88.5, 5.0 + + + + 2911 + + + 39.5, 85.5, 5.0 + + + + 3858 + + + 142.19678, 155.22574, 12.5 + 0.0, 0.0, -0.7071075, -0.70710605 + + + + 2910 + + + 47.5, 82.5, 5.0 + + + + 3857 + + + 144.0, 154.5, 12.5 + 0.0, 0.0, 0.7071075, 0.7071061 + + + + 2909 + + + 43.5, 82.5, 5.0 + + + + 2908 + + + 43.5, 85.5, 5.0 + + + + + \ No newline at end of file diff --git a/scenes/57.xml b/scenes/57.xml new file mode 100644 index 0000000..a554cc2 --- /dev/null +++ b/scenes/57.xml @@ -0,0 +1,2779 @@ + + + + + + + + + + + + 3, -5 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4915248, 4980784, 4980784, 4915248, 4915248, 4915248, 4915248, 4915248, 4980784, 4915248, 4980784, 4980784, 4915248, 4980784, 4915248, 4915248, 4915248, 4915248, 4915248, 4980784, 4915248, 4980784, 4915248, 4915248, 4980784, 4915248, 4915248, 4980784, 786480, -1, 786480, -1 + + 0, -1 + + + 589826, 720896, 589827, 131075, 5505025, -1, -1, -1, -1, -1, -1, 917507, 458753, -1, -1, -1, -1, -1, -1, 65539, 4718593, -1, -1, -1, -1, -1, -1, 1310723, 458753, -1, -1, -1, 589825, 0, 589824, 131072, 5505025, -1, -1, -1, 262145, 851968, 1310723, 1048577, 655361, -1, -1, -1, 4849665, 1441792, 1114115, 458753, -1, -1, -1, -1, 1310721, 3014656, 1114115, 524289, -1, -1, -1, -1 + + 0, 0 + + + 131073, 1310720, 131072, -1, -1, -1, -1, -1, 131074, 1310722, 131075, 4784129, -1, -1, -1, -1, 1310721, 1441792, 1114115, -1, -1, -1, -1, -1, 1310721, 851968, 1114115, 458753, -1, -1, -1, -1, -1, -1, -1, 1048576, 655360, -1, -1, -1, 589826, 1441792, 589827, 131075, 458753, -1, -1, -1, 983040, 720896, 1376256, 1310723, 524289, -1, -1, -1, 5636096, 1966080, 1441792, 917507, -1, -1, -1, -1 + + 4, -5 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4915248, 4980784, 4980784, 4980784, 4980784, 4915248, 4915248, 4915248, 4980784, 4980784, 4980784, 4980784, 4980784, 4980784, 4915248, 4980784, 4980784, 4980784, 4915248, 4980784, 4915248, 4980784, 4980784, 4915248, 786480, -1, 4980784, 4980784, 4915248, 4915248, 4980784, 4915248 + + -1, -1 + + + -1, -1, -1, -1, -1, -1, 5505027, 131074, -1, -1, -1, -1, -1, -1, 458755, 262145, -1, -1, -1, -1, -1, -1, 4718595, 917505, -1, -1, -1, -1, -1, -1, 458755, 917505, -1, -1, -1, -1, -1, -1, 5505027, 131073, -1, -1, -1, -1, -1, -1, 655362, 1048578, -1, -1, -1, -1, -1, -1, -1, 458755, -1, -1, -1, -1, -1, -1, -1, 4784131 + + 5, -5 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4915248, 4980784, 4915248, 4915248, 4980784, 4980784, -1, -1, 4980784, 4915248, 4915248, 4980784, 4915248, 4980784, -1, -1, 4915248, 4980784, 4915248, 4915248, 4915248, 4915248, -1, -1, 4980784, 4915248, 4915248, 4980784, 4915248, 4915248, -1, -1 + + -5, -5 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4915248, 4980784, 4980784, 4980784, 4980784, 4915248, 4915248, 4915248, 4980784, 4980784, 4980784, 4980784, 4980784, 4980784, 4915248, 4980784, 4980784, 4980784, 4915248, 4980784, 4915248, 4980784, 4980784, 4915248, 786480, -1, 4980784, 4980784, 4915248, 4915248, 4980784, 4915248 + + -4, -5 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4915248, 4980784, 4915248, 4915248, 4980784, 4980784, 4915248, 4915248, 4980784, 4915248, 4915248, 4980784, 4915248, 4980784, 4980784, 4980784, 4915248, 4980784, 4915248, 4915248, 4915248, 4915248, 4980784, 4980784, 4980784, 4915248, 4915248, 4980784, 4915248, 4915248, 4980784, 4980784 + + -3, -5 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4915248, 4915248, 4915248, 4915248, 4980784, 4980784, 4980784, 4980784, 4980784, 4915248, 4915248, 4980784, 4980784, 4980784, 4980784, 4980784, 4980784, 4915248, 4915248, 4980784, 4980784, 4915248, 4980784, 4915248, 4980784, 786480, -1, 786480, -1, 4980784, 4980784, 4915248 + + -2, -5 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4915248, 4915248, 4915248, 4915248, 4980784, 4915248, 4915248, 4980784, 4980784, 4915248, 4980784, 4980784, 4915248, 4915248, 4980784, 4915248, 4980784, 4980784, 4915248, 4915248, 4980784, 4915248, 4915248, 4915248, 4915248, 4980784, 4915248, 4980784, 4915248, 4915248, 4980784, 4915248 + + -1, -5 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4980784, 4915248, 4915248, 4915248, 4915248, 4980784, 4980784, 4980784, 4980784, 4980784, 4915248, 4915248, 4980784, 4980784, 4980784, 4980784, 4915248, 4980784, 4915248, 4915248, 4980784, 4980784, 4915248, 4980784, 4915248, 4980784, 786480, -1, 786480, -1, 4980784, 4980784 + + 0, -5 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4980784, 4915248, 4915248, 4915248, 4915248, 4980784, 4915248, 4915248, 4980784, 4980784, 4915248, 4980784, 4980784, 4915248, 4915248, 4980784, 4915248, 4980784, 4980784, 4915248, 4915248, 4980784, 4915248, 4915248, 4915248, 4915248, 4980784, 4915248, 4980784, 4915248, 4915248, 4980784 + + 1, -5 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4980784, 4980784, 4915248, 4915248, 4915248, 4915248, 4980784, 4980784, 4915248, 4980784, 4980784, 4915248, 4915248, 4980784, 4980784, 4980784, 4915248, 4915248, 4980784, 4915248, 4915248, 4980784, 4980784, 4915248, 4915248, 4915248, 4980784, 786480, -1, 786480, -1, 4980784 + + 2, -5 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4980784, 4980784, 4915248, 4915248, 4915248, 4915248, 4980784, 4915248, 4980784, 4980784, 4980784, 4915248, 4980784, 4980784, 4915248, 4915248, 4980784, 4915248, 4980784, 4980784, 4915248, 4915248, 4980784, 4915248, 4980784, 4915248, 4915248, 4980784, 4915248, 4980784, 4915248, 4915248 + + -5, -4 + + + -1, -1, 4980784, 4980784, 4980784, 4915248, 786480, -1, 786480, -1, 4980784, 4980784, 4980784, 4980784, -1, -1, -1, -1, 4915248, 4980784, 4915248, 4980784, 4980784, 786480, 4980784, 4915248, 4980784, 4980784, 4915248, 4915248, 4980784, -1, 4980784, 4915248, 4980784, 4980784, 4915248, 4980784, 4915248, 4915248, 4915248, 4915248, 4980784, 4915248, 4980784, 4980784, 4980784, 4980784, 4915248, 4980784, 4980784, 4980784, 4980784, 4915248, 4915248, 4915248, 4980784, 4980784, 4980784, 4980784, 4980784, 4980784, 4915248, 4980784 + + -6, -4 + + + -1, -1, -1, -1, -1, 4915248, -1, -1, -1, -1, -1, -1, -1, 4980784, 4980784, 4980784, -1, -1, -1, -1, -1, 4980784, 4980784, 4980784, -1, -1, -1, -1, -1, 4980784, 4915248, 4980784, -1, -1, -1, -1, -1, 4915248, 4980784, 4915248, -1, -1, -1, -1, -1, 4915248, 4915248, 4915248, -1, -1, -1, -1, -1, 4915248, 4915248, 4915248, -1, -1, -1, -1, -1, 4980784, 4915248, 4915248 + + 0, 1 + + + 0, 720896, 851968, 4849667, 3604480, 2031616, 4718592, 2097152, 0, 2293761, 1441792, 589827, 1835010, 2621442, 1179650, 1835010, 1769474, 1966083, 2490368, 1769475, 1376256, 0, 0, 1966080, 2424832, 2424832, 1966083, 1769473, 5570560, 0, 720896, 2424835, 2424832, 2424832, 1966083, 1769473, 5570560, 0, 720896, 2424835, -1, -1, -1, 2490369, 2424832, 5636096, 0, 720896, -1, -1, -1, 2424833, 3866624, 2752513, 0, 0, -1, -1, -1, 1769475, 4587520, 1835009, 720896, 720896 + + -1, 1 + + + -1, 2228227, 2097152, 2031616, 4718592, 2031616, 3604483, 1114113, -1, 2031619, 1900546, 1835010, 1179650, 1703938, 2621442, 589826, -1, 2097155, 1835009, 1966083, 1769475, 0, 1769472, 0, -1, 4718595, 2621441, 2293763, 0, 1769473, 1966080, 2424833, -1, 4718595, 2621441, 2293763, 0, 1769473, 1966080, 2424833, -1, 2359299, 1835009, 2424833, 1769474, 2424833, 1966081, 2424834, -1, 2359299, 1835009, 2424833, 1769474, 2752512, 3866624, 1966082, -1, 2097155, 2621441, 2424833, 2686977, 1835011, 4587520, 1572866 + + -1, 0 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 524291, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 458755, -1, -1, -1, -1, -1, -1, 655363, 1048579, -1, -1, -1, -1, -1, -1, 458755, 131074, -1, -1, -1, -1, -1, -1, 4784131, 65537, -1, -1, -1, -1, -1, -1, -1, 65537 + + 1, -2 + + + 196632, -1, 3080216, 3080216, 3080216, 3080216, 3080216, 3080216, 3997716, 3997716, 4259860, 4653076, 4653076, 4063252, 4063252, 4259860, 4980760, 4915224, 4980760, 4915224, 5308416, 3080192, 3080192, 3080192, 3735576, 4063256, 4653080, 4128792, 3407873, 3604481, 2818048, 2162688, 3080192, 3080192, 3080192, 3080192, 2883585, 2359297, -1, -1, 2818048, 2162688, 3538944, 2162688, 2162688, 2228225, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 0, -2 + + + 3080216, 3080216, 3080216, 3080216, 3080216, 3080216, 3080216, 3080216, 3997716, 4063252, 3801108, 3997716, 3997716, 3997716, 3801108, 4653076, 3080192, 3080192, 3080192, 3080192, 3080192, 3080192, 3080192, 5439488, 2818048, 2162688, 2162688, 2162688, 2818048, 2818048, 3604482, 3670019, -1, -1, -1, -1, -1, -1, 2097155, 2883586, -1, -1, -1, -1, -1, -1, 2228226, 2162688, 1507328, -1, -1, 655360, -1, -1, -1, -1, 131074, 1114114, 131075, 1048576, 655360, -1, -1, -1 + + 1, 1 + + + 2031616, 2228224, -1, -1, -1, -1, -1, -1, 1900547, 2097153, -1, -1, -1, -1, -1, -1, 1835011, 2031617, -1, -1, -1, -1, -1, -1, 2621443, 4718593, -1, -1, -1, -1, -1, -1, 2621443, 4718593, -1, -1, -1, -1, -1, -1, 1703939, 2097153, -1, -1, -1, -1, -1, -1, 1835011, 2097153, -1, -1, -1, -1, -1, -1, 1835011, 2031617, -1, -1, -1, -1, -1, -1 + + -1, -2 + + + -1, 3080216, 3080216, 3080216, 3080216, 3080216, 3080216, 3080216, 3997716, 4653076, 4259860, 4653076, 4653076, 4063252, 4063252, 4259860, 4915224, 4980760, 4915224, 5308416, 3080192, 3080192, 3080192, 3080192, 4063256, 4653080, 4128792, 3407873, 3604481, 2818048, 2162688, 2818048, 3080192, 3080192, 3080192, 2883585, 2359297, -1, -1, -1, 2162688, 3538944, 2162688, 2162688, 2228225, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 655363, -1, -1, -1, -1, -1, -1, 655363, 1048579 + + -2, -2 + + + 3080216, 3080216, 3080216, 3080216, 3080216, 3080216, 3080216, 196632, 4063252, 3801108, 3997716, 3997716, 3997716, 3801108, 4653076, 3997716, 3080192, 3080192, 3080192, 3080192, 3080192, 3080192, 5439488, 4980760, 2162688, 2162688, 2162688, 2818048, 2818048, 3604482, 3670019, 3735576, -1, -1, -1, -1, -1, 2097155, 2883586, 3080192, -1, -1, -1, -1, -1, 2228226, 2162688, 2818048, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 5, -2 + + + 3080216, 3080216, 3080216, 3080216, 196632, -1, -1, -1, 3997716, 3801108, 4653076, 3997716, 3997716, 3997716, -1, -1, 3080192, 3080192, 3080192, 5439488, 4980760, 4915224, -1, -1, 2818048, 2818048, 3604482, 3670019, 3735576, 4063256, -1, -1, -1, -1, 2097155, 2883586, 3080192, 3080192, -1, -1, -1, -1, 2228226, 2162688, 2818048, 2162688, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 4, -2 + + + 3080216, 3080216, 3080216, 3080216, 3080216, 3080216, 3080216, 3080216, 4063252, 4063252, 4259860, 3997716, 4063252, 3801108, 3997716, 3997716, 3080192, 3080192, 3080192, 3080192, 3080192, 3080192, 3080192, 3080192, 3604481, 2818048, 2162688, 2818048, 2818048, 2162688, 2162688, 2162688, 2359297, -1, -1, -1, -1, -1, -1, -1, 2228225, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 3, -2 + + + 3080216, 196632, -1, 196632, -1, 3080216, 3080216, 3080216, 3997716, 3997716, 3997716, 3997716, 3997716, 4259860, 4653076, 4653076, 5439488, 4980760, 4915224, -1, -1, 4980760, 4915224, 5308416, 3670019, 3735576, 4063256, 4063256, 4653080, 4653080, 4128792, 3407873, 2883586, 3080192, 3080192, 3080192, 3080192, 3080192, 3080192, 2883585, 2162688, 2818048, 2162688, 2162688, 2162688, 3538944, 2162688, 2162688, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 2, -2 + + + 3080216, 3080216, 3080216, 3080216, 3080216, 3080216, 3080216, 3080216, 3997716, 4063252, 3801108, 3997716, 3997716, 3997716, 3801108, 4653076, 3080192, 3080192, 3080192, 3080192, 3080192, 3080192, 3080192, 3080192, 2818048, 2818048, 2162688, 2162688, 2162688, 2818048, 2818048, 3604482, -1, -1, -1, -1, -1, -1, -1, 2097155, -1, -1, -1, -1, -1, -1, -1, 2228226, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -6, -5 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4915248, 4915248, 4915248, -1, -1, -1, -1, -1, 4980784, 4915248, 4915248, -1, -1, -1, -1, -1, 4980784, 4915248, 4915248, -1, -1, -1, -1, -1, 4980784, 786480, -1 + + 1, 2 + + + 1900544, 2031617, -1, -1, -1, -1, -1, -1, 4325376, 2097153, -1, -1, -1, -1, -1, -1, 4194304, 2097153, -1, -1, -1, -1, -1, -1, 5046272, 2359297, -1, -1, -1, -1, -1, -1, 4456448, 2031617, -1, -1, -1, -1, -1, -1, 4587520, 2031617, -1, -1, -1, -1, -1, -1, -1, 2031617, -1, -1, -1, -1, -1, -1, 4194304, 2359297, -1, -1, -1, -1, -1, -1 + + 0, 2 + + + 1769474, 1966083, 2752515, 1769473, -1, 1900545, 1835008, 1835008, 1245184, 3276800, 1245184, 2883584, 3735552, 4259840, 3997696, 4653056, 4849690, 917530, 4849690, 3932160, 3211264, 2883584, 1835009, 2686979, 3014680, 24, 24, 589851, 131099, 3211265, 1835009, 1769475, 983064, 1376280, 3014680, 24, 65563, 3473409, 2555905, 1966083, 1376280, 3145752, 3014680, 3014680, 65563, 3407873, 2555905, 1769473, 1638424, 851992, 24, 983064, 1310747, 3407873, 2555905, 2424835, 3014680, 1376280, 851992, 720920, 917531, 3211265, 1179649, 2686977 + + -1, 2 + + + -1, 2031619, 1900545, 1835008, 1835008, 1900544, -1, 2424832, -1, 2359299, 3866624, 4063232, 3801088, 4259840, 4128768, 2883587, -1, 2031619, 4456448, 1769473, 1835011, 2883587, 3276800, 4521984, -1, 2031619, 5111808, 1966080, 1179651, 3670019, 131098, 589850, -1, 2359299, 4456448, 2686978, 2555907, 3407875, 917529, 24, -1, 2031619, 5046272, 2424835, 1835011, 3670019, 917529, 720920, -1, 2359299, 4194304, 1966083, 2555907, 3473411, 262169, 983064, -1, 2359299, 5242880, 2293762, 2621443, 3342339, 65561, 720920 + + 2, -3 + + + 4980784, 4915248, 4980784, 4980784, 4915248, 4915248, 4980784, 4915248, 4980784, 4915248, 4915248, 4980784, 4915248, 4980784, 4915248, 4915248, 4980784, 4980784, 4915248, 786480, -1, 786480, -1, 4915248, 4980784, 4980784, 4980784, -1, -1, -1, -1, 4915248, 4980784, 4915248, 4980784, 4980784, 786480, -1, 4980784, 4980784, 4980784, 4915248, 4915248, 4980784, -1, -1, 4915248, 4980784, 4980784, 4915248, 4980784, 4915248, 4915248, 4980784, 4980784, 4980784, 4915248, 4980784, 4980784, 4980784, 4980784, 4980784, 4915248, 4980784 + + 1, -3 + + + 4915248, 4915248, 4980784, 4915248, 4915248, 4980784, 4980784, 4915248, 4915248, 4915248, 4980784, 786480, -1, 786480, -1, 4980784, 4915248, 4980784, 4915248, -1, -1, -1, -1, 4980784, 4915248, 4980784, 4980784, 4980784, 4980784, 786480, -1, 4980784, 4980784, 4915248, 4980784, 4980784, 4980784, -1, -1, 4915248, 4980784, 4915248, 4980784, 4915248, 4980784, 4980784, 4915248, 4980784, 4915248, 4915248, 4915248, 4980784, 4915248, 4980784, 4915248, 4980784, 4915248, 4915248, 4915248, 4915248, 4915248, 4915248, 4915248, 4980784 + + 4, -3 + + + 4980784, 4980784, 4915248, 4980784, 4915248, 4980784, 4980784, 4915248, 786480, -1, 4980784, 4980784, 4915248, 4915248, 4980784, 4915248, -1, -1, 4980784, 4980784, 4980784, 4915248, 786480, -1, 786480, -1, 4980784, 4980784, 4980784, 4980784, -1, -1, -1, -1, 4915248, 4980784, 4915248, 4980784, 4980784, 786480, 4980784, 4915248, 4980784, 4980784, 4915248, 4915248, 4980784, -1, 4980784, 4915248, 4980784, 4980784, 4915248, 4980784, 4915248, 4915248, 4915248, 4915248, 4980784, 4915248, 4980784, 4980784, 4980784, 4980784 + + 3, -3 + + + 4915248, 4915248, 4915248, 4980784, 4915248, 4980784, 4915248, 4915248, 4980784, 4915248, 4915248, 4980784, 786480, -1, 786480, -1, 4915248, 4915248, 4980784, 4915248, -1, -1, -1, -1, 4980784, 4915248, 4980784, 4980784, 4980784, 4980784, 4980784, 4980784, 4980784, 4980784, 4915248, 4980784, 4980784, 4980784, 4980784, 4980784, 4915248, 4980784, 4915248, 4980784, 4915248, 4980784, 4915248, 4980784, 4915248, 4915248, 4915248, 4915248, 4980784, 4915248, 4980784, 4915248, 4915248, 4915248, 4915248, 4915248, 4915248, 4915248, 4915248, 4915248 + + -2, -3 + + + 4980784, 4980784, 4915248, 4915248, 4980784, 4915248, 4915248, 4915248, 4915248, 4980784, 4915248, 4980784, 4915248, 4915248, 4980784, 4915248, 4915248, 786480, -1, 786480, -1, 4915248, 4915248, 4915248, 4980784, -1, -1, -1, -1, 4915248, 4980784, 4915248, 4980784, 4980784, 786480, -1, 4980784, 4980784, 4980784, 4980784, 4915248, 4980784, -1, -1, 4915248, 4980784, 4915248, 4980784, 4980784, 4915248, 4915248, 4980784, 4980784, 4980784, 4915248, 4915248, 4980784, 4980784, 4980784, 4980784, 4915248, 4980784, 4915248, 4915248 + + -3, -3 + + + 4980784, 4915248, 4915248, 4980784, 4980784, 4915248, 4980784, 4915248, 4980784, 786480, -1, 786480, -1, 4980784, 4980784, 4915248, 4915248, -1, -1, -1, -1, 4980784, 4980784, 4980784, 4980784, 4980784, 4980784, 786480, -1, 4980784, 4980784, 4980784, 4980784, 4980784, 4980784, -1, -1, 4915248, 4980784, 4915248, 4980784, 4915248, 4980784, 4980784, 4915248, 4980784, 4980784, 4915248, 4915248, 4980784, 4915248, 4980784, 4915248, 4980784, 4980784, 4915248, 4915248, 4915248, 4915248, 4915248, 4915248, 4980784, 4915248, 4980784 + + 0, -3 + + + 4915248, 4980784, 4980784, 4915248, 4915248, 4980784, 4915248, 4915248, 4915248, 4915248, 4980784, 4915248, 4980784, 4915248, 4915248, 4980784, 4980784, 4915248, 786480, -1, 786480, -1, 4915248, 4915248, 4980784, 4980784, -1, -1, -1, -1, 4915248, 4980784, 4915248, 4980784, 4980784, 786480, -1, 4980784, 4980784, 4980784, 4915248, 4915248, 4980784, -1, -1, 4915248, 4980784, 4915248, 4915248, 4980784, 4915248, 4915248, 4980784, 4980784, 4980784, 4915248, 4980784, 4980784, 4980784, 4980784, 4980784, 4915248, 4980784, 4915248 + + -1, -3 + + + 4915248, 4980784, 4915248, 4915248, 4980784, 4980784, 4915248, 4980784, 4915248, 4980784, 786480, -1, 786480, -1, 4980784, 4980784, 4980784, 4915248, -1, -1, -1, -1, 4980784, 4980784, 4980784, 4980784, 4980784, 4980784, 786480, -1, 4980784, 4980784, 4915248, 4980784, 4980784, 4980784, -1, -1, 4915248, 4980784, 4915248, 4980784, 4915248, 4980784, 4980784, 4915248, 4980784, 4980784, 4915248, 4915248, 4980784, 4915248, 4980784, 4915248, 4980784, 4980784, 4915248, 4915248, 4915248, 4915248, 4915248, 4915248, 4980784, 4915248 + + 5, -3 + + + 4915248, 4980784, 4915248, 4915248, 4915248, 4915248, -1, -1, 4980784, 4915248, 4915248, 4980784, 4915248, 4915248, -1, -1, 786480, -1, 4915248, 4915248, 4915248, 4980784, -1, -1, -1, -1, 4915248, 4980784, 4915248, 4980784, -1, -1, -1, 4980784, 4980784, 4980784, 4980784, 4915248, -1, -1, -1, 4915248, 4980784, 4915248, 4980784, 4915248, -1, -1, 4980784, 4980784, 4980784, 4915248, 4915248, 4915248, -1, -1, 4980784, 4915248, 4980784, 4915248, 4915248, 4915248, -1, -1 + + 0, 3 + + + 1114136, 1114136, 917528, 262168, 131096, 3473409, 1835009, 2424833, 3080192, 3080192, 3080192, 3080192, 3080192, 2883585, 1900545, 1835008, 3538944, 2818048, 2162688, 2883584, 2818048, 2162688, 3604482, 2883587, -1, -1, -1, -1, -1, -1, 2031619, 3211267, 2359296, 2359296, 2359296, 2031616, 2097152, 2031616, 3604483, 3670019, 3342336, 1245184, 3407872, 3276800, 3276800, 3407872, 5177344, 4521984, 4915224, 4980760, 4980760, 4980760, 4980760, 4915224, 4915224, 4980760, 3080192, 3080192, 3080192, 3080192, 3080192, 3080192, 3080192, 3080192 + + -6, -2 + + + -1, -1, -1, -1, -1, 3080216, 3080216, 3080216, -1, -1, -1, -1, -1, 4259860, 4653076, 4653076, -1, -1, -1, -1, -1, 4980760, 4915224, 5308416, -1, -1, -1, -1, -1, 4653080, 4128792, 3407873, -1, -1, -1, -1, -1, 3080192, 3080192, 2883585, -1, -1, -1, -1, -1, 3538944, 2162688, 2162688, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -1, 3 + + + -1, 2097155, 5046272, 2293763, 2949123, 3211267, 131097, 262168, 2228227, 2097152, 3735552, 2621440, 1900544, 2883586, 3080192, 3080192, 2097155, 2883587, 1245184, 2883584, 3604481, 2818048, 2162688, 2162688, 2097155, 3342339, 4980760, 3670017, 2031617, -1, -1, -1, 2031619, 3473411, 4915224, 3473409, 3604480, 2097152, 2097152, 2031616, 2031619, 3407875, 4915224, 3932160, 3276800, 3407872, 1245184, 3276800, 2031619, 3473411, 4980760, 4980760, 4915224, 4980760, 4915224, 4980760, 2359299, 2883586, 3080192, 3080192, 3080192, 3080192, 3080192, 3080192 + + -5, -2 + + + 3080216, 3080216, 3080216, 3080216, 3080216, 3080216, 3080216, 3080216, 4063252, 4063252, 4259860, 3997716, 4063252, 3801108, 3997716, 3997716, 3080192, 3080192, 3080192, 3080192, 3080192, 3080192, 3080192, 3080192, 3604481, 2818048, 2162688, 2818048, 2818048, 2162688, 2162688, 2162688, 2359297, -1, -1, -1, -1, -1, -1, -1, 2228225, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -4, -2 + + + 3080216, 3080216, 3080216, 3080216, 196632, -1, 3080216, 3080216, 3997716, 3801108, 4653076, 3997716, 3997716, 3997716, 3997716, 3997716, 3080192, 3080192, 3080192, 5439488, 4980760, 4915224, 4915224, 4980760, 2818048, 2818048, 3604482, 3670019, 3735576, 4063256, 4063256, 4653080, -1, -1, 2097155, 2883586, 3080192, 3080192, 3080192, 3080192, -1, -1, 2228226, 2162688, 2818048, 2162688, 3538944, 2162688, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -3, -2 + + + 3080216, 3080216, 3080216, 3080216, 3080216, 3080216, 3080216, 3080216, 3997716, 4259860, 4653076, 4653076, 4063252, 4063252, 4259860, 3997716, 4980760, 4915224, 5308416, 3080192, 3080192, 3080192, 3080192, 3080192, 4653080, 4128792, 3407873, 3604481, 2818048, 2162688, 2818048, 2818048, 3080192, 3080192, 2883585, 2359297, -1, -1, -1, -1, 3538944, 2162688, 2162688, 2228225, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 1, 3 + + + 5111808, 2097153, -1, -1, -1, -1, -1, -1, 3735552, 2097152, 2228224, -1, -1, -1, -1, -1, 1245184, 2883584, 2031617, -1, -1, -1, -1, -1, 4915224, 3211265, 2031617, -1, -1, -1, -1, -1, 4915224, 4390913, 2031617, -1, -1, -1, -1, -1, 4915224, -1, 2031617, -1, -1, -1, -1, -1, 4915224, 3342337, 2097153, -1, -1, -1, -1, -1, 3080192, 2883585, 2031617, -1, -1, -1, -1, -1 + + 3, -4 + + + 4915248, 4915248, 4980784, 4915248, -1, -1, -1, -1, 4980784, 4915248, 4980784, 4980784, 4980784, 4980784, 4980784, 4980784, 4980784, 4980784, 4915248, 4980784, 4980784, 4980784, 4980784, 4980784, 4915248, 4980784, 4915248, 4980784, 4915248, 4980784, 4915248, 4980784, 4915248, 4915248, 4915248, 4915248, 4980784, 4915248, 4980784, 4915248, 4915248, 4915248, 4915248, 4915248, 4915248, 4915248, 4915248, 4915248, 4915248, 4980784, 4980784, 4915248, 4915248, 4915248, 4915248, 4915248, 4980784, 4915248, 4980784, 4980784, 4915248, 4980784, 4915248, 4915248 + + 2, -4 + + + 4980784, 4980784, 4915248, 786480, -1, 786480, -1, 4915248, 4980784, 4980784, 4980784, -1, -1, -1, -1, 4915248, 4980784, 4915248, 4980784, 4980784, 786480, -1, 4980784, 4980784, 4980784, 4915248, 4915248, 4980784, -1, -1, 4915248, 4980784, 4980784, 4915248, 4980784, 4915248, 4915248, 4980784, 4980784, 4980784, 4915248, 4980784, 4980784, 4980784, 4980784, 4980784, 4915248, 4980784, 4980784, 4980784, 4915248, 4915248, 4915248, 4915248, 4980784, 4915248, 4980784, 4980784, 4980784, 4915248, 4980784, 4980784, 4915248, 4915248 + + 1, -4 + + + 4915248, 4980784, 4915248, -1, -1, -1, -1, 4980784, 4915248, 4980784, 4980784, 4980784, 4980784, 786480, -1, 4980784, 4980784, 4915248, 4980784, 4980784, 4980784, -1, -1, 4915248, 4980784, 4915248, 4980784, 4915248, 4980784, 4980784, 4915248, 4980784, 4915248, 4915248, 4915248, 4980784, 4915248, 4980784, 4915248, 4980784, 4915248, 4915248, 4915248, 4915248, 4915248, 4915248, 4915248, 4980784, 4980784, 4980784, 4915248, 4915248, 4915248, 4915248, 4980784, 4980784, 4915248, 4980784, 4980784, 4915248, 4915248, 4980784, 4980784, 4980784 + + 0, -4 + + + 4980784, 4915248, 786480, -1, 786480, -1, 4915248, 4915248, 4980784, 4980784, -1, -1, -1, -1, 4915248, 4980784, 4915248, 4980784, 4980784, 786480, -1, 4980784, 4980784, 4980784, 4915248, 4915248, 4980784, -1, -1, 4915248, 4980784, 4915248, 4915248, 4980784, 4915248, 4915248, 4980784, 4980784, 4980784, 4915248, 4980784, 4980784, 4980784, 4980784, 4980784, 4915248, 4980784, 4915248, 4980784, 4915248, 4915248, 4915248, 4915248, 4980784, 4915248, 4915248, 4980784, 4980784, 4915248, 4980784, 4980784, 4915248, 4915248, 4980784 + + -1, -4 + + + 4980784, 4915248, -1, -1, -1, -1, 4980784, 4980784, 4980784, 4980784, 4980784, 4980784, 786480, -1, 4980784, 4980784, 4915248, 4980784, 4980784, 4980784, -1, -1, 4915248, 4980784, 4915248, 4980784, 4915248, 4980784, 4980784, 4915248, 4980784, 4980784, 4915248, 4915248, 4980784, 4915248, 4980784, 4915248, 4980784, 4980784, 4915248, 4915248, 4915248, 4915248, 4915248, 4915248, 4980784, 4915248, 4980784, 4915248, 4915248, 4915248, 4915248, 4980784, 4980784, 4980784, 4980784, 4980784, 4915248, 4915248, 4980784, 4980784, 4980784, 4980784 + + -2, -4 + + + 4915248, 786480, -1, 786480, -1, 4915248, 4915248, 4915248, 4980784, -1, -1, -1, -1, 4915248, 4980784, 4915248, 4980784, 4980784, 786480, -1, 4980784, 4980784, 4980784, 4980784, 4915248, 4980784, -1, -1, 4915248, 4980784, 4915248, 4980784, 4980784, 4915248, 4915248, 4980784, 4980784, 4980784, 4915248, 4915248, 4980784, 4980784, 4980784, 4980784, 4915248, 4980784, 4915248, 4915248, 4915248, 4915248, 4915248, 4915248, 4980784, 4915248, 4915248, 4980784, 4980784, 4915248, 4980784, 4980784, 4915248, 4915248, 4980784, 4915248 + + -3, -4 + + + 4915248, -1, -1, -1, -1, 4980784, 4980784, 4980784, 4980784, 4980784, 4980784, 786480, -1, 4980784, 4980784, 4980784, 4980784, 4980784, 4980784, -1, -1, 4915248, 4980784, 4915248, 4980784, 4915248, 4980784, 4980784, 4915248, 4980784, 4980784, 4915248, 4915248, 4980784, 4915248, 4980784, 4915248, 4980784, 4980784, 4915248, 4915248, 4915248, 4915248, 4915248, 4915248, 4980784, 4915248, 4980784, 4915248, 4915248, 4915248, 4915248, 4980784, 4980784, 4980784, 4980784, 4980784, 4915248, 4915248, 4980784, 4980784, 4980784, 4980784, 4980784 + + -4, -4 + + + 786480, -1, 4915248, 4915248, 4915248, 4980784, 4915248, 4915248, -1, -1, 4915248, 4980784, 4915248, 4980784, 4980784, 4980784, -1, 4980784, 4980784, 4980784, 4980784, 4915248, 4980784, 4980784, -1, 4915248, 4980784, 4915248, 4980784, 4915248, 4980784, 4980784, 4980784, 4980784, 4980784, 4915248, 4915248, 4915248, 4915248, 4915248, 4980784, 4915248, 4980784, 4915248, 4915248, 4915248, 4915248, 4915248, 4915248, 4980784, 4915248, 4915248, 4980784, 4980784, 4915248, 4915248, 4980784, 4915248, 4915248, 4980784, 4915248, 4980784, 4980784, 4980784 + + 5, -4 + + + 786480, -1, 4915248, 4915248, 4915248, 4980784, -1, -1, -1, -1, 4915248, 4980784, 4915248, 4980784, -1, -1, -1, 4980784, 4980784, 4980784, 4980784, 4915248, -1, -1, -1, 4915248, 4980784, 4915248, 4980784, 4915248, -1, -1, 4980784, 4980784, 4980784, 4915248, 4915248, 4915248, -1, -1, 4980784, 4915248, 4980784, 4915248, 4915248, 4915248, -1, -1, 4915248, 4980784, 4915248, 4915248, 4980784, 4980784, -1, -1, 4980784, 4915248, 4915248, 4980784, 4915248, 4980784, -1, -1 + + 4, -4 + + + -1, -1, 4980784, 4980784, 4980784, 4915248, 786480, -1, 786480, -1, 4980784, 4980784, 4980784, 4980784, -1, -1, -1, -1, 4915248, 4980784, 4915248, 4980784, 4980784, 786480, 4980784, 4915248, 4980784, 4980784, 4915248, 4915248, 4980784, -1, 4980784, 4915248, 4980784, 4980784, 4915248, 4980784, 4915248, 4915248, 4915248, 4915248, 4980784, 4915248, 4980784, 4980784, 4980784, 4980784, 4915248, 4980784, 4980784, 4980784, 4980784, 4915248, 4915248, 4915248, 4980784, 4980784, 4980784, 4980784, 4980784, 4980784, 4915248, 4980784 + + -5, -3 + + + 4980784, 4980784, 4915248, 4980784, 4915248, 4980784, 4980784, 4915248, 786480, -1, 4980784, 4980784, 4915248, 4915248, 4980784, 4915248, -1, -1, 4980784, 4980784, 4980784, 4915248, 786480, -1, 786480, -1, 4980784, 4980784, 4980784, 4980784, -1, -1, -1, -1, 4915248, 4980784, 4915248, 4980784, 4980784, 786480, 4980784, 4915248, 4980784, 4980784, 4915248, 4915248, 4980784, -1, 4980784, 4915248, 4980784, 4980784, 4915248, 4980784, 4915248, 4915248, 4915248, 4915248, 4980784, 4915248, 4980784, 4980784, 4980784, 4980784 + + -4, -3 + + + 4915248, 4980784, 4915248, 4915248, 4915248, 4915248, 4980784, 4980784, 4980784, 4915248, 4915248, 4980784, 4915248, 4915248, 4980784, 4980784, 786480, -1, 4915248, 4915248, 4915248, 4980784, 4915248, 4915248, -1, -1, 4915248, 4980784, 4915248, 4980784, 4980784, 4980784, -1, 4980784, 4980784, 4980784, 4980784, 4915248, 4980784, 4980784, -1, 4915248, 4980784, 4915248, 4980784, 4915248, 4980784, 4980784, 4980784, 4980784, 4980784, 4915248, 4915248, 4915248, 4915248, 4915248, 4980784, 4915248, 4980784, 4915248, 4915248, 4915248, 4915248, 4915248 + + 1, 4 + + + 2162688, 2818048, 2228225, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 0, 4 + + + 3538944, 2162688, 2818048, 2162688, 2162688, 2162688, 2162688, 2162688, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -6, -3 + + + -1, -1, -1, -1, -1, 4980784, 4915248, 4915248, -1, -1, -1, -1, -1, 4980784, 786480, -1, -1, -1, -1, -1, -1, 4915248, -1, -1, -1, -1, -1, -1, -1, 4980784, 4980784, 4980784, -1, -1, -1, -1, -1, 4980784, 4980784, 4980784, -1, -1, -1, -1, -1, 4980784, 4915248, 4980784, -1, -1, -1, -1, -1, 4915248, 4980784, 4915248, -1, -1, -1, -1, -1, 4915248, 4915248, 4915248 + + -1, 4 + + + 2228226, 2162688, 2162688, 2162688, 2162688, 2162688, 3538944, 2162688, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + + + + + Clockworks/Floor, catwalk/Catwalk, solid + + + + + Clockworks/Floor, catwalk/Trim/Trim 02 + + + + + Clockworks/Floor, catwalk/Trim/Trim Out 01 + + + + + Clockworks/Wall/Back x2 01 + + + + + Clockworks/Floor, catwalk/Trim/Trim 04 + + + + + + + Clockworks/Edge railing/Rail, catwalk 01 + + + + + Clockworks/Edge railing/Rail, Transition R + + + + + Clockworks/Floor, catwalk/Trim/Trim In 01 + + + + + Clockworks/Edge railing/Rail, catwalk Out 01 + + + + + Clockworks/Floor, catwalk/Catwalk 05 + + + + + Clockworks/Floor, roof/Base 2unit, 01 + + + + + Clockworks/Floor, catwalk/Catwalk 06 + + + + + Clockworks/Floor, catwalk/Trim/Trim 03 + + + + + Clockworks/Floor, catwalk/Catwalk 01 + + + + + Clockworks/Edge railing/Rail, catwalk In 01 + + + + + Clockworks/Floor, catwalk/Trim/Trim 06 + + + + + Clockworks/Floor, base/Trim/Trim 05 + + + + + Clockworks/Wall/Copper flat x1 02 + + + + + Clockworks/Floor, catwalk/Trim/Trim 01 + + + + + Clockworks/Floor, catwalk/Catwalk 02 + + + + + Clockworks/Floor, catwalk/Catwalk 08 + + + + + Clockworks/Edge railing/Rail, catwalk x3 01 + + + + + Clockworks/Floor, base/Swirly 04 + + + + + Clockworks/Floor, catwalk/Catwalk 07 + + + + + Clockworks/Floor, base/Trim/Trim 06 + + + + + Clockworks/Floor, base/Base 03 + + + + + Clockworks/Floor, base/Trim/Trim 01 + + + + + Clockworks/Floor, base/Trim/Trim Out 01 + + + + + Clockworks/Floor, base/Base 01 + + + + + Clockworks/Edge railing/Rail, base 01 + + + + + Clockworks/Edge railing/Rail, base 02 + + + + + Clockworks/Edge railing/Rail, Back 01 + + + + + Clockworks/Edge railing/Rail, base Out 01 + + + + + Clockworks/Floor, base/Swirly 01 + + + + + Clockworks/Edge railing/Rail, base 03 + + + + + Clockworks/Floor, base/Base 04 + + + + + Clockworks/Floor, base/Swirly 02 + + + + + Clockworks/Floor, base/Trim/Trim 02 + + + + + Clockworks/Floor, base/Trim/Trim 03 + + + + + Clockworks/Floor, base/Base 02 + + + + + Clockworks/Floor, base/Trim/Trim In 01 + + + + + Clockworks/Edge railing/Rail, Back 03 + + + + + Clockworks/Wall/Corner Out 01 + + + + + Clockworks/Floor, base/Trim/Trim 04 + + + + + Clockworks/Floor, catwalk/Catwalk 04 + + + + + Clockworks/Wall/Back x1 01 + + + + + Clockworks/Floor, catwalk/Catwalk 03 + + + + + Clockworks/Wall/Blue panel x1 01 + + + + + Clockworks/Wall/Copper flat x1 01 + + + + + Clockworks/Wall/Blue panel x1 03 + + + + + Clockworks/Wall/Blue panel x1 02 + + + + + Clockworks/Wall/Iron bits x1, vent + + + + + Clockworks/Edge railing/Rail, Back 02 + + + + + Clockworks/Edge railing/Rail, base In 01 + + + + + Clockworks/Wall/Blue panel x1 04 + + + + + Clockworks/Fence, high/Corner 01 + + + + + Clockworks/Fence, high/Horizontal x1, copper flat 2 + + + + + Clockworks/Fence, high/Corner 01, north + + + + + Clockworks/Wall/Corner In NW 01 + + + + + Clockworks/Fence, high/Horizontal x1, copper flat 1 + + + + + Clockworks/Fence, high/Horizontal x1, 01 + + + + + Clockworks/Fence, high/Corner 01, west + + + + + Clockworks/Fence, high/Vertical x1, 03 + + + + + Clockworks/Fence, high/Horizontal x1, 02 + + + + + Clockworks/Fence, high/Corner 01, north n west + + + + + Clockworks/Wall/Blue panel x2 02 + + + + + Clockworks/Fence, high/Vertical x1, copper flat 1 + + + + + Clockworks/Wall/Corner In NE 01 + + + + + Clockworks/Fence, high/Vertical x2, 01 + + + + + Clockworks/Fence, high/Horizontal x1, 03 + + + + + Clockworks/Edge railing/Rail, brace catwalk + + + + + Clockworks/Edge railing/Rail, Transition L + + + + + Clockworks/Floor, catwalk/Trim/Trim 05 + + + + + Clockworks/Floor, roof/Base 1unit, 01 + + + + + Clockworks/Floor, roof/Base 1unit, plate + + + + + Clockworks/Fence, high/Vertical x1, 02 + + + + + Clockworks/Fence, high/Vertical x1, 01 + + + + + Clockworks/Wall/Copper flat x1 03 + + + + + Clockworks/Fence, high/Vertical x1, copper flat 2 + + + + + Clockworks/Wall/Corner In SW + + + + + + Clockworks/Wall/Corner In SE + + + + + Clockworks/Edge railing/Rail, catwalk 02 + + + + + Clockworks/Floor, base/Floor Plate angled + + + + + Clockworks/Floor, base/Floor Plate 01 + + + + 57 + %dungeon:m.finaltest_lobby + 35 + + + 551 + + Sounds/Positional/Sounder + + Gain + 1.0 + Label + ClockWorks + Pitch + 1.0 + Size + Large + Sound File + sound/effect/world/environmental_clockworks_01.ogg + + + + -3.5, -5.5, 0.0 + + + + 548 + + Prop/General/Nature/Foliage/Variants - Clockworks Base/Ivy vine, Clockworks 01 + + + -1.0031135, -4.537502, -0.30000007 + 0.0, 0.0, 0.60720164, 0.7945478 + + + + 549 + + + 5.1467953, -5.2466793, -0.30000007 + 0.0, 0.0, -0.0019646287, 0.9999981 + + + + 547 + + + -2.5, -5.1699924, 0.7999995 + 0.0, 0.0, 0.21452127, 0.9767193 + + + + 545 + + Prop/General/Nature/Foliage/Variants - Clockworks Base/Ivy Wall, x1 - 01 + + + -2.5587387, -4.714, -0.86999965 + 0.0, 0.0, 0.1391731, 0.99026805 + + + + 558 + + Environment/Light + + Light + + + 0.0, 0.16470589, 0.21176471, 1.0 + + 0.9839298, 0.08608347, 0.15643448 + + + + + + 559 + + Environment/Light + + Light + + + 0.007843138, 0.0, 0.21568628, 1.0 + + -0.8695337, -0.15332206, 0.4694715 + + + + + + 556 + + Environment/Shadow Color + + Color + 0.0, 0.078431375, 0.16078432, 0.4 + + + + + 557 + + Environment/Model + + Model + + world/skybox/outershell/skybox.dat + + Translation Scale + 0.0, 0.0, 0.0 + Variant + Night + + + + + + + 554 + + Environment/Ambient + + Color + 0.0, 0.35686275, 0.5686275, 1.0 + + + + + 12 + + Dynamic/Elevator/Start Platform + + Default Entrance + true + Tag + (Entrance Tag) + + + + 1.5, -5.5, 0.0 + + + + 555 + + Environment/Music + + File + sound/music/clockwork_ambient_2.ogg + Gain + 0.5 + + + + + 13 + + Prop/Clockworks/Understructure/Understructure x5 + + + 1.004788, 6.172305, 0.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 14 + + + 0.9683151, -7.0227356, 0.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 553 + + Environment/Background Color + + Color + 0.0, 0.12156863, 0.20392157, 1.0 + + + + + 565 + + Player Enter/Base + + Color + 0.2, 0.8, 0.0, 1.0 + Trigger Action + + + + + cross_the_chasm_a + + + + + cross_the_chasm_a + KNIGHT + + + cross_the_chasm + KNIGHT + + m.cross_the_chasm + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/play_sound_clip.dat + + File + sound/feedback/objective_start.ogg + Gain + 1.0 + + + + + + + + + + + Trigger Condition + + + + + + + 3.5 + 3.5000038 + + + -0.49999905 + 3.5000038 + + + -0.49999905 + 0.5000038 + + + 3.5 + 0.5000038 + + + + + 564 + + Player Enter/Base + + Color + 0.2, 0.8, 0.0, 1.0 + Trigger Action + + + + + explore_rescue_camp + + + + + explore_rescue_camp + KNIGHT + + + cross_the_chasm_a + KNIGHT + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/play_sound_clip.dat + + File + sound/feedback/objective_end.ogg + Gain + 1.0 + + + + + + + + + + + Trigger Condition + + + + + + + -0.5 + -7.5 + + + 3.5 + -7.5 + + + 3.5 + -3.500001 + + + -0.49999952 + -3.500001 + + + + + 561 + + Lights/Point Light + + Attenuation + + 0.5 + 0.25 + + Diffuse + 0.6, 1.0, 1.0, 1.0 + Extent + 12.0 + + + + 1.4240046, 12.826523, 1.7099993 + 0.0, 0.0, 1.0, 9.099629E-7 + + + + 560 + + Environment/Fog + + State + + 0.0, 0.078431375, 0.20392157, 0.0 + 15.0 + 40.0 + + + + + + 26 + + + 0.9200001 + 0.9683151, -6.582611, -2.7799978 + -0.551937, -4.825186E-8, 7.290061E-8, 0.83388585 + + + + 516 + + Prop/Haven/Foliage Top/Top 4x4 01 + + + 1.8499992 + 21.054556, -10.472811, -7.430075 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 517 + + + 1.06 + 15.981014, -13.555084, -0.5 + 0.016312554, -0.07674458, 0.20727064, 0.9751323 + + + + 518 + + + 1.06 + -11.5, -12.780006, -0.5 + 0.016312554, -0.07674458, 0.20727064, 0.9751323 + + + + 519 + + + 1.8499992 + -11.3015, -13.05703, -7.430075 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 514 + + + 1.06 + 12.5, -11.780006, -0.5 + 0.016312556, -0.07674458, 0.20727067, 0.9751323 + + + + 515 + + + 1.8499992 + 13.960033, -12.0600815, -7.430075 + 0.0, 0.0, 0.70710665, 0.7071069 + + + + 524 + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, small 1 + + + 8.357, -12.202, 3.0 + 0.009187781, -0.08875679, 0.11278305, 0.9896049 + + + + 526 + + + -5.3023005, -12.211414, 3.0 + -0.010384782, -5.5852236E-4, 0.16404888, 0.98639745 + + + + 527 + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, large 2 + + + -3.160439, -14.313216, 3.0 + -0.019134218, -0.0026620608, -0.04279589, 0.998897 + + + + 520 + + + 1.8499992 + -18.316675, -10.02397, -7.430075 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 521 + + + 1.8499992 + -14.525503, -8.472811, -9.42012 + 0.18488663, 0.1066374, -0.35563177, 0.9099294 + + + + 522 + + + 8.828993, -12.174335, 3.0 + -0.06502468, -0.03482821, 0.050880622, 0.99597687 + + + + 51 + + Prop/Haven/Ground pipes, brass/Abyss pipe, vertical + + Color variant + Clockwork Iron + + + + 1.5, -9.5, 0.0 + 0.0, 0.0, 6.755325E-7, 1.0 + + + + 533 + + + 8.33607, -13.423383, 3.0 + -0.014101334, 0.104348436, -0.42192018, 0.9004976 + + + + 532 + + + -5.267006, -13.8583145, 3.0 + -0.038799636, -0.10317277, 0.28761938, 0.95138067 + + + + 535 + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, single 2 + + + 8.731825, -13.732117, 3.0 + -0.1383871, -0.1572345, -0.48974, 0.846334 + + + + 49 + + Prop/Haven/Ground pipes, brass/Abyss pipe, vertical + + Color variant + Clockwork Blue + + + + 1.6099995 + 9.5, 20.5, 0.0 + 0.0, 0.0, 0.70710695, 0.70710665 + + + + 534 + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, small 2 + + + 8.363124, -13.9165745, 3.0 + -0.055463783, -0.06266208, -0.33799845, 0.93741906 + + + + 48 + + + 9.5, 19.5, 0.0 + 0.0, 0.0, 0.70710695, 0.7071066 + + + + 529 + + + -5.500114, -13.652898, 3.0 + -0.015742313, -0.09503347, 0.5218896, 0.8475564 + + + + 528 + + + -6.04631, -13.3519335, 3.0 + -0.01728959, -0.0040858397, 0.040034503, 0.99904037 + + + + 531 + + + -6.404334, -13.82053, 3.0 + 0.0073977895, -0.071700305, 0.37106308, 0.92580587 + + + + 530 + + + -6.139681, -13.512051, 3.0 + -0.088582024, 0.07164605, 0.3260911, 0.938448 + + + + 540 + + Prop/General/Nature/Foliage/Grass variants/Clockworks Base billboard, small 2 + + + 0.5453497, -8.977119, 0.0 + -0.015904654, -0.0487996, -0.035679948, 0.9980445 + + + + 543 + + Prop/General/Nature/Foliage/Grass variants/Clockworks Base billboard, small 1 + + + -0.6712373, -8.070199, 0.0 + -0.060052272, 0.038675807, 0.007662855, 0.99741626 + + + + 542 + + Prop/General/Nature/Foliage/Grass variants/Clockworks Base tuft 1 + + + 3.7100744, -7.9439116, 0.0 + 0.0, 0.0, 0.25881904, 0.9659258 + + + + 537 + + + 9.068768, -13.655428, 3.0 + -0.06760998, -0.12228998, -0.39622426, 0.9074582 + + + + 62 + + Prop/Clockworks/Pipes, ground - Iron Large/Elbow 45, right + + + -0.5000007, -6.5, 0.0 + 0.0, 0.0, 0.70710695, -0.7071066 + + + + 536 + + + 8.907025, -13.939551, 3.0 + 0.02220806, 0.0947271, -0.39823413, 0.9121092 + + + + 539 + + + 0.29752517, -9.053775, 0.0 + -0.056019463, -0.07687669, -0.049895015, 0.9942144 + + + + 61 + + Prop/Clockworks/Pipes, ground - Iron Large/Elbow 45, left + + + 1.5, -8.5, 0.0 + 0.0, 0.0, 1.327215E-6, 1.0 + + + + 538 + + + 2.6910534, -9.03041, 0.0 + -0.049847063, -0.07195999, 0.02917797, 0.9957338 + + + + 71 + + + 1.4299996 + -6.5, 23.5, 0.0 + 0.0, 0.0, -0.70710653, 0.70710707 + + + + 64 + + + 9.5, 23.5, 0.0 + 0.0, 0.0, 0.70710695, 0.70710665 + + + + 76 + + Prop/Haven/Metal objects/Water drum, cylindrical + + + 1.0700002 + 5.4573474, 19.828428, 1.4599991 + 0.70710677, -1.3767877E-7, 0.70710677, 1.3767877E-7 + + + + 73 + + + 1.25 + 6.924818, 21.835596, 0.5 + + + + 87 + + Prop/Clockworks/Pipes, wall small/Height 2 - Iron, elbow-down L + + Color variant + Clockwork iron + + + + 6.5, 16.5, 0.5 + 0.0, 0.0, 6.993822E-7, 1.0 + + + + 92 + + Prop/Clockworks/Pipes, wall small/Height 3 - Iron, elbow-down R + + Color variant + Clockwork iron + + + + 1.5, 16.5, 0.5 + 0.0, 0.0, 6.993822E-7, 1.0 + + + + 95 + + Prop/Clockworks/Pipes, wall small/Height 2 - Iron, elbow-down R + + Color variant + Clockwork iron + + + + 0.5, 16.5, 0.5 + 0.0, 0.0, 6.993822E-7, 1.0 + + + + 94 + + Prop/Clockworks/Pipes, wall small/Height 3 - Iron, straight x2 + + Color variant + Clockwork iron + + + + 0.5, 16.5, 0.5 + 0.0, 0.0, 6.993822E-7, 1.0 + + + + 89 + + Prop/Clockworks/Pipes, wall small/Height 2 - Iron, straight x1 + + Color variant + Clockwork iron + + + + -0.5, 16.5, 0.5 + 0.0, 0.0, 6.993822E-7, 1.0 + + + + 88 + + + 7.5, 16.5, 0.5 + 0.0, 0.0, 6.993822E-7, 1.0 + + + + 102 + + + -3.5, 16.5, 0.5 + 0.0, 0.0, 6.993822E-7, 1.0 + + + + 98 + + + -4.5, 16.5, 0.5 + 0.0, 0.0, 6.993822E-7, 1.0 + + + + 96 + + + 3.5, 16.5, 0.5 + 0.0, 0.0, 6.993822E-7, 1.0 + + + + 97 + + + -2.5, 16.5, 0.5 + 0.0, 0.0, 6.993822E-7, 1.0 + + + + 110 + + Prop/Clockworks/Pipes, floor small/Blue, elbow L + + Color variant + Clockwork blue + + + + -0.5, 11.5, 0.0 + 0.0, 0.0, 1.0, -1.9908227E-6 + + + + 111 + + + -2.5, 11.5, 0.0 + 0.0, 0.0, -2.6305806E-6, -1.0 + + + + 109 + + + -2.5, 13.5, 0.0 + 0.0, 0.0, 1.0, -1.9908227E-6 + + + + 106 + + Prop/Clockworks/Pipes, floor small/Blue, straight x2 + + Color variant + Clockwork blue + + + + -3.5, 14.5, 0.0 + 0.0, 0.0, -1.0, 7.113071E-7 + + + + 107 + + + -3.5, 13.5, 0.0 + 0.0, 0.0, 1.351065E-6, 1.0 + + + + 104 + + Prop/Clockworks/Pipes, floor small/Blue, T joint + + Color variant + Clockwork blue + + + + -3.5, 16.5, 0.0 + 0.0, 0.0, -7.154928E-8, -1.0 + + + + 105 + + Prop/Clockworks/Pipes, floor small/Blue, straight x1 + + Color variant + Clockwork blue + + + + -2.5, 16.5, 0.0 + 0.0, 0.0, -0.70710707, -0.70710653 + + + + 119 + + + 0.5, 3.5, 0.0 + 0.0, 0.0, -0.70710665, -0.70710695 + + + + 118 + + + 1.5, 3.5, 0.0 + 0.0, 0.0, -0.70710665, -0.70710695 + + + + 117 + + + 2.5, 4.5, 0.0 + 0.0, 0.0, -1.3749147E-6, -1.0 + + + + 116 + + + -0.5, 6.5, 0.0 + 0.0, 0.0, 0.70710844, 0.70710516 + + + + 115 + + + -0.5, 8.5, 0.0 + 0.0, 0.0, 2.6305804E-6, 1.0 + + + + 114 + + + -0.5, 10.5, 0.0 + 0.0, 0.0, -2.6305806E-6, -1.0 + + + + 113 + + + -1.5, 11.5, 0.0 + 0.0, 0.0, -0.70710754, -0.70710605 + + + + 127 + + + 1.5, 10.5, 0.0 + 0.0, 0.0, -1.0, 2.0146726E-6 + + + + 126 + + + 3.5, 9.5, 0.0 + 0.0, 0.0, -0.70710665, -0.70710695 + + + + 125 + + + 2.5, 9.5, 0.0 + 0.0, 0.0, 0.7071056, -0.70710796 + + + + 124 + + + 1.5, 8.5, 0.0 + 0.0, 0.0, -1.0, 2.0146726E-6 + + + + 123 + + + 1.5, 6.5, 0.0 + 0.0, 0.0, -1.0, 2.0146726E-6 + + + + 122 + + + 2.5, 7.5, 0.0 + 0.0, 0.0, -1.0, 2.0146726E-6 + + + + 121 + + + 1.5, 4.5, 0.0 + 0.0, 0.0, -1.0, 2.0146726E-6 + + + + 120 + + + 2.5, 5.5, 0.0 + 0.0, 0.0, -1.0, 2.0146726E-6 + + + + 137 + + + 0.5, 11.5, 0.0 + 0.0, 0.0, -1.3749147E-6, -1.0 + + + + 136 + + + 3.5, 11.5, 0.0 + 0.0, 0.0, -1.0, 2.0146726E-6 + + + + 139 + + + 3.5, 10.5, 0.0 + 0.0, 0.0, 9.5399045E-8, 1.0 + + + + 138 + + + 1.5, 11.5, 0.0 + 0.0, 0.0, 0.70710844, 0.70710516 + + + + 140 + + + 0.5, 12.5, 0.0 + 0.0, 0.0, 9.5399045E-8, 1.0 + + + + 128 + + + 0.5, 10.5, 0.0 + 0.0, 0.0, -1.3749147E-6, -1.0 + + + + 131 + + + 3.5, 13.5, 0.0 + 0.0, 0.0, -1.3749147E-6, -1.0 + + + + 133 + + + -2.5, 12.5, 0.0 + 0.0, 0.0, -1.3749147E-6, -1.0 + + + + 135 + + + -1.5, 13.5, 0.0 + 0.0, 0.0, 2.6544303E-6, 1.0 + + + + 134 + + + -1.5, 12.5, 0.0 + 0.0, 0.0, 0.70710754, 0.70710605 + + + + 152 + + Prop/Clockworks/Pipes, ground - Iron Large/Straight 2 unit + + + 3.5, 5.5, 0.0 + 0.0, 0.0, -2.6305806E-6, -1.0 + + + + 154 + + Prop/Clockworks/Pipes, ground - Iron Large/Diagonal 3unit + + + 2.5, 8.5, 0.0 + 0.0, 0.0, 0.7071066, 0.70710695 + + + + 155 + + + 0.5, 10.5, 0.0 + 0.0, 0.0, -1.0, 7.113071E-7 + + + + 156 + + + 0.5, 12.5, 0.0 + 0.0, 0.0, -1.0, 7.113071E-7 + + + + 157 + + Prop/Clockworks/Pipes, ground - Iron Large/Bracket + + + 0.5, 12.5, 0.0 + 0.0, 0.0, -1.0, 7.113071E-7 + + + + 158 + + + 3.5, 6.5, 0.0 + 0.0, 0.0, -1.0, 7.113071E-7 + + + + 159 + + + 0.5, -1.5, 0.0 + 0.0, 0.0, 0.70710564, -0.70710796 + + + + 144 + + Prop/Clockworks/Understructure/Understructure x9 + + + 5.5, 24.5, 0.0 + 0.0, 0.0, 9.5399045E-8, 1.0 + + + + 145 + + + -3.5, 24.5, 0.0 + 0.0, 0.0, 9.5399045E-8, 1.0 + + + + 147 + + + 6.5, 19.5, 0.0 + 0.0, 0.0, 9.539903E-8, 1.0 + + + + 148 + + + -4.5, 19.5, 0.0 + 0.0, 0.0, 9.5399045E-8, 1.0 + + + + 151 + + + 3.5, 7.5, 0.0 + 0.0, 0.0, -2.6305806E-6, -1.0 + + + + 173 + + Prop/Clockworks/Pipes, ground - Iron Large/Diagonal 2unit + + + 0.5, -7.5, 0.0 + 0.0, 0.0, -0.70710707, -0.70710653 + + + + 172 + + + 1.5, 3.5, 0.0 + 0.0, 0.0, -7.154928E-8, -1.0 + + + + 163 + + + 1.5, 5.5, 0.0 + 0.0, 0.0, -7.154928E-8, -1.0 + + + + 160 + + Prop/Clockworks/Pipes, ground - Iron Large/Diagonal 1unit + + + 0.5, -1.5, 0.0 + 0.0, 0.0, 6.993822E-7, 1.0 + + + + 167 + + + 1.4634444, 0.8180829, 0.0 + 0.0, 0.0, -7.154928E-8, -1.0 + + + + 166 + + + 1.472875, 0.31477693, 0.0 + 0.0, 0.0, -7.154928E-8, -1.0 + + + + 164 + + + 2.5, 6.5, 0.0 + 0.0, 0.0, -7.154928E-8, -1.0 + + + + 186 + + Prop/Clockworks/Pipes, ground - Blue Large/Elbow 45, right + + + 6.5, 11.5, 0.0 + 0.0, 0.0, -1.0, 7.113071E-7 + + + + 187 + + Prop/Clockworks/Pipes, ground - Blue Large/Straight 3 unit + + + 6.5, 14.5, 0.0 + 0.0, 0.0, -1.0, 7.113071E-7 + + + + 184 + + Prop/Clockworks/Pipes, ground - Blue Large/Diagonal 1unit + + + 5.5, 10.5, 0.0 + 0.0, 0.0, 1.351065E-6, 1.0 + + + + 185 + + + 5.5, 10.5, 0.0 + 0.0, 0.0, 1.351065E-6, 1.0 + + + + 190 + + + 7.5, 13.5, 0.0 + 0.0, 0.0, 0.7071066, 0.70710695 + + + + 191 + + + 6.5, 13.5, 0.0 + 0.0, 0.0, 0.7071065, -0.70710707 + + + + 188 + + Prop/Clockworks/Pipes, ground - Blue Large/Bracket + + + 6.465973, 12.94448, 0.0 + 0.0, 0.0, -1.0, 7.113071E-7 + + + + 189 + + + 6.5054035, 14.928681, 0.0 + 0.0, 0.0, -1.0, 7.113071E-7 + + + + 178 + + + 7.5, 16.5, 0.0 + 0.0, 0.0, 1.0, -1.3391401E-6 + + + + 179 + + + 6.5, 15.5, 0.0 + 0.0, 0.0, 1.351065E-6, 1.0 + + + + 180 + + + 6.5, 15.5, 0.0 + 0.0, 0.0, 1.351065E-6, 1.0 + + + + 205 + + + 8.5, 14.5, 0.0 + 0.0, 0.0, 0.7071065, -0.70710707 + + + + 204 + + + 7.5, 14.5, 0.0 + 0.0, 0.0, -2.6305806E-6, -1.0 + + + + 207 + + + 6.5, 15.5, 0.0 + 0.0, 0.0, 0.7071065, -0.70710707 + + + + 197 + + + 8.5, 16.5, 0.0 + 0.0, 0.0, 1.0, -1.9908227E-6 + + + + 196 + + + 8.5, 15.5, 0.0 + 0.0, 0.0, 0.7071066, 0.70710695 + + + + 192 + + + 7.5, 15.5, 0.0 + 0.0, 0.0, 0.7071065, -0.70710707 + + + + 216 + + Prop/Catacombs/Rubble/Brick pile 02, catacombs + + + 8.505465, 16.086327, 0.0 + 0.0, 0.0, 0.130529, -0.99144447 + + + + 215 + + Prop/Catacombs/Rubble/Brick pile 01, catacombs + + + 5.6488805, 16.233706, 0.0 + 0.0, 0.0, 0.087155476, -0.9961947 + + + + 225 + + Prop/Catacombs/Rubble/Brick loose 01, catacombs + + + 8.319571, 14.503155, 0.0 + 0.0, 0.0, -2.6305806E-6, -1.0 + + + + 309 + + Prop/Clockworks/Fan, x2 01 + + Variant + Copper + + + + 1.15 + 8.5, 27.5, 3.4200006 + + + + 312 + + + 1.15 + -5.5, 27.5, 3.4200006 + + + + 343 + + Dynamic/Gates/Gate Display + + Gate Index + 0 + + + + 1.25 + 1.5, 23.0, 3.0 + + + + 342 + + + 1.5, 26.5, 3.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 341 + + + 1.5, 25.5, 3.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 340 + + + 1.5, 26.5, 3.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 351 + + + 0.5, 19.5, 3.0 + 0.0, 0.0, -0.70710653, 0.707107 + + + + 350 + + + 0.5, 18.5, 3.0 + 0.0, 0.0, -0.7071069, -0.70710665 + + + + 349 + + + 4.5, 20.5, 3.0 + 0.0, 0.0, 1.0, -3.3776624E-7 + + + + 347 + + + 4.5, 19.5, 3.0 + 0.0, 0.0, -2.3849761E-8, -1.0 + + + + 346 + + + 2.1325135, 18.63331, 3.0 + 0.0, 0.0, 1.0, -3.3776624E-7 + + + + 344 + + + 1.5, 19.5, 3.0 + + + + 373 + + + 5.5, 9.5, 0.0 + 0.0, 0.0, -1.0, 6.7154434E-7 + + + + 372 + + Prop/Clockworks/Pipes, ground - Blue Large/Straight 1unit + + + 5.5, 9.5, 0.0 + 0.0, 0.0, -1.0, 6.7154434E-7 + + + + 370 + + Dynamic/Elevator/Next Floor + + + 1.5, 14.5, 0.0 + + + + 383 + + Item/Consumable/Vitapod + + + 4.5, 11.5, 0.0 + + + + 382 + + + -1.5, 11.5, 0.0 + + + + 379 + + + -2.5, 9.5, 0.0 + 0.0, 0.0, 9.539903E-8, 1.0 + + + + 378 + + + 4.5, 9.5, 0.0 + 0.0, 0.0, 9.539904E-8, 1.0 + + + + 358 + + + 1.2299998 + -3.915861, 23.46775, 0.0 + + + + 352 + + + -1.5, 20.5, 3.0 + 0.0, 0.0, -0.7071069, -0.70710665 + + + + 407 + + Character/Monster/Generic/Rare Spawn + + Spawn Table + + Spawn Tag + (Monster Spawn) + Wave Number + objective trigger + + + + 4.5, 1.5, 0.0 + + + + 399 + + + 5.4999957, -8.499997, 0.0 + + + + 387 + + + 5.5, 11.5, 0.0 + + + + 386 + + Dynamic/Gates/Lobby Console + + + 4.5, 12.5, 0.0 + + + + 385 + + + -1.5, 12.5, 0.0 + + + + 388 + + + -2.5, 11.5, 0.0 + + + + 440 + + Null barrier, no-walk + + + -0.5, -5.5, 0.0 + + + + 441 + + + -0.5, -4.5, 0.0 + + + + 442 + + + -0.5, -3.5, 0.0 + + + + 447 + + + 1.5, -0.5, 0.0 + 0.0, 0.0, -1.0, 1.744428E-6 + + + + 433 + + + 3.5, -3.5, 0.0 + + + + 434 + + + 3.5, -4.5, 0.0 + + + + 435 + + + 3.5, -5.5, 0.0 + + + + 436 + + + 3.5, -6.5, 0.0 + + + + 437 + + + 3.5, -7.5, 0.0 + + + + 438 + + + -0.5, -7.5, 0.0 + + + + 439 + + + -0.5, -6.5, 0.0 + + + + 431 + + Prop/Clockworks/Lamp, short rail-mounted + + Light Color + Blue + + + + 0.8 + -1.3437506, 0.7790363, 0.0 + 0.0, 0.0, -0.70710623, 0.70710737 + + + + 422 + + Camera + + Coords + 0.0, 0.9599311, 8.0 + FOV + 1.0471976 + Far + 75.0 + Near + 0.01 + + + + + 474 + + Camera/Default + + Camera + + 3 + 0.1 + 0.0, 0.5235988, 14.0 + 0.0, 0.0, 2.0 + + Easing + + + Extent - X axis + 20.0 + Extent - Y axis + 20.0 + Extent - Z axis + 20.0 + Transition + 1.5 + + + + 1.5, 13.5, 1.0 + + + + 472 + + Prop/Clockworks/Girder props/Girder, Blue - walkable, x8 + + + 1.5 + -1.2286415, -3.9949079, 4.559925 + 0.5, 0.49999964, 0.5, 0.5000004 + + + + 471 + + + 1.5 + 6.7713585, -3.9949079, 4.559925 + 0.5, 0.49999967, 0.5, 0.5000004 + + + + 468 + + + 1.5 + 6.7713585, -3.9949079, -7.440075 + 0.50000006, 0.4999996, 0.49999997, 0.5000004 + + + + 469 + + + 1.5 + -1.2286415, -3.9949079, -7.440075 + 0.49999997, 0.49999976, 0.49999997, 0.50000024 + + + + 461 + + Prop/Clockworks/Pipes, ground - Iron Large/Straight 1unit + + + 1.5, 4.5, 0.0 + 0.0, 0.0, -1.0, 1.8636373E-6 + + + + 459 + + + 1.5, 3.5, 0.0 + 0.0, 0.0, -1.0, 1.744428E-6 + + + + 458 + + + 1.5, 1.5, 0.0 + 0.0, 0.0, -1.0, 1.6252187E-6 + + + + 457 + + Model Tester + + Model + + world/tileset/clockworks/floor/floor_base.dat + + Model + catwalk_09 + + + + + + 0.0, 4.0, 0.0 + + + + 456 + + + 1.0, 4.0, 0.0 + + + + 455 + + + 2.0, 4.0, 0.0 + + + + 500 + + Lights/Point Light + + Attenuation + + 0.5 + 0.5 + + Diffuse + 0.6, 0.8, 1.0, 1.0 + Extent + 6.0 + + + + -0.98849297, 1.1665416, 1.0999999 + 0.0, 0.0, 1.0, 7.9075363E-7 + + + + 498 + + + 0.8 + 5.368829, -5.8593993, 0.0 + 0.0, 0.0, 0.70710695, 0.70710665 + + + + 499 + + + 5.0369678, -6.0366855, 1.0999999 + 0.0, 0.0, 1.0, 6.7154434E-7 + + + + 493 + + Prop/Clockworks/Girder props/Girder, Blue - walkable, x4 + + + 5.5, 1.5, -0.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 492 + + + 0.5, 1.5, -0.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 495 + + + 5.5, -7.5, -0.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 494 + + + 0.5, -7.5, -0.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 485 + + + -2.5, -11.5, -1.0 + + + + 484 + + + 5.5, -12.5, -1.0 + + + + 487 + + Prop/Clockworks/Girder props/Girder, Blue - walkable, x6 + + + 5.5, -2.5, -1.0 + + + + 486 + + + -2.5, -2.5, -1.0 + + + + + \ No newline at end of file diff --git a/scenes/69.xml b/scenes/69.xml new file mode 100644 index 0000000..959e5a0 --- /dev/null +++ b/scenes/69.xml @@ -0,0 +1,176 @@ + + + + + + + tutorial.jpg + + + + 69 + 1 + + + 0, 0 + + + 2, 2, 65536, 5, 5, -1, -1, -1, 2, 2, 1, 5, 5, -1, -1, -1, 65537, 1, 1, 131074, -1, -1, -1, -1, 5, 5, + 131074, 131074, -1, -1, -1, -1, 5, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 0, -1 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, 5, + -1, -1, -1, -1, -1, -1, 5, 5, 131074, 131074, -1, -1, -1, -1, 65539, 1, 1, 131074, -1, -1, -1, -1, 2, 2, 1, + 5, 5, -1, -1, -1, 2, 2, 65536, 5, 5, -1, -1, -1 + + + -1, -1 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 5, 5, -1, -1, -1, -1, 131074, 131074, 5, 5, -1, -1, -1, -1, 131074, 1, 1, 65539, -1, -1, + -1, 5, 5, 1, 2, 2, -1, -1, -1, 5, 5, 65538, 2, 2 + + + -1, 0 + + + -1, -1, -1, 5, 5, 65538, 2, 2, -1, -1, -1, 5, 5, 1, 2, 2, -1, -1, -1, -1, 131074, 1, 1, 65537, -1, -1, + -1, -1, 131074, 131074, 5, 5, -1, -1, -1, -1, -1, -1, 5, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + + + + + + 000_Dev/Floor/Floor, gray + + + + + 000_Dev/Floor/Floor, stair, gray + + + + + 000_Dev/Fence, Low/Fence low, cap + + + + + + 19 + + Portals/Portal + + Portal + + from_sixty_nine + + Scene ID + 80085 + Tag + to_boobs + + + + + -6.499995 + -3.5000014 + 0.5 + + + -4.499996 + -4.500001 + 0.5 + + + -4.4999948 + 4.4999957 + 0.5 + + + -6.4999948 + 3.4999971 + 0.5 + + + + + 21 + + Dynamic/Misc/Border/Border (Middle) + + + -3.4999995, -0.49999952, 0.5 + 0.0, 0.0, 0.7071067, -0.7071067 + + + + 20 + + Dynamic/Misc/Border/Border (Start) + + + -3.4999998, -1.4999995, 0.5 + 0.0, 0.0, 0.7071067, -0.7071067 + + + + 23 + + Dynamic/Misc/Border/Border (End) + + + -3.499999, 1.5000002, 0.5 + 0.0, 0.0, 0.7071067, -0.7071067 + + + + 22 + + Dynamic/Misc/Border/Border (Label) + + Label + Back home + Off Center + True + + + + -3.4999995, 0.5000005, 0.5 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 25 + + Prop/Knights/Camp Bonfire + + + 1.5, -1.5, 0.0 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + 24 + + + 1.5, 1.5, 0.0 + 0.0, 0.0, 0.70710677, -0.70710677 + + + + + diff --git a/scenes/80085.xml b/scenes/80085.xml new file mode 100644 index 0000000..4e53a0d --- /dev/null +++ b/scenes/80085.xml @@ -0,0 +1,1473 @@ + + + + + + + tutorial.jpg + + + + 80085 + 1 + + + 0, -1 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 7, 7, -1, + -1, -1, 0, 0, 131072, 7, 7, -1, -1, -1 + + + 0, 0 + + + 0, 0, 131072, 7, 7, -1, -1, -1, 0, 0, -1, 7, 7, -1, -1, -1, 131073, -1, -1, -1, -1, -1, -1, -1, 7, 7, + -1, -1, -1, -1, -1, -1, 7, 7, -1, -1, -1, -1, -1, -1, 7, 7, 7, -1, -1, -1, -1, -1, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7 + + + 6, 2 + + + 7, 7, 7, 7, 7, 7, 7, -1, 7, 7, 7, 7, 7, 7, 7, -1, 7, 7, 7, 7, 7, 7, 7, -1, 7, 7, 7, 7, 7, 7, 7, -1, 7, + 7, 7, 7, 7, 7, 7, -1, 7, 7, 7, 7, 7, 7, 7, -1, 7, 7, 7, 7, 7, 7, 7, -1, 7, 7, 7, 7, 7, 7, 7, -1 + + + 1, 0 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7 + + + -1, -1 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0 + + + 2, 0 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7 + + + 3, 0 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7 + + + 2, 2 + + + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 + + + 4, 0 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7 + + + 3, 2 + + + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 + + + 5, 0 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7 + + + 6, 0 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7, 7, 7, 7, 7, 7, 7, + -1, 7, 7, 7, 7, 7, 7, 7, -1 + + + 4, 2 + + + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 + + + 5, 2 + + + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 + + + 0, 3 + + + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 + + + -1, 3 + + + -1, -1, 7, 7, 7, 7, 7, 7, -1, -1, 7, 7, 7, 7, 7, 7, -1, -1, 7, 7, 7, 7, 7, 7, -1, -1, 7, 7, 7, 7, 7, 7, + -1, -1, 7, 7, 7, 7, 7, 7, -1, -1, 7, 7, 7, 7, 7, 7, -1, -1, 7, 7, 7, 7, 7, 7, -1, -1, 7, 7, 7, 7, 7, 7 + + + 2, 3 + + + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1 + + + 1, 3 + + + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, -1, -1, -1, -1, 7, 7, 7, 7, -1, -1, -1, -1, + 7, 7, 7, 7, -1, -1, -1, -1, 7, 7, 7, 7, -1, -1, -1, -1, 7, 7, 7, 7, -1, -1, -1, -1, 7, 7, 7, 7, -1, -1, -1, -1 + + + 0, 1 + + + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 + + + -1, 1 + + + -1, -1, 7, 7, 7, 7, 7, 7, -1, -1, 7, 7, 7, 7, 7, 7, -1, -1, 7, 7, 7, 7, 7, 7, -1, -1, 7, 7, 7, 7, 7, 7, + -1, -1, 7, 7, 7, 7, 7, 7, -1, -1, 7, 7, 7, 7, 7, 7, -1, -1, 7, 7, 7, 7, 7, 7, -1, -1, 7, 7, 7, 7, 7, 7 + + + -1, 0 + + + -1, -1, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 131073, -1, -1, + -1, -1, -1, -1, 7, 7, -1, -1, -1, -1, -1, -1, 7, 7, -1, -1, -1, -1, -1, 7, 7, 7, -1, -1, 7, 7, 7, 7, 7, 7, -1, + -1, 7, 7, 7, 7, 7, 7 + + + 3, 1 + + + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 + + + 4, 1 + + + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 + + + 1, 1 + + + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 + + + 2, 1 + + + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 + + + 5, 3 + + + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1 + + + 6, 3 + + + 7, 7, 7, 7, 7, 7, 7, -1, 7, 7, 7, 7, 7, 7, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 + + + 3, 3 + + + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1 + + + 5, 1 + + + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 + + + 4, 3 + + + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1 + + + 6, 1 + + + 7, 7, 7, 7, 7, 7, 7, -1, 7, 7, 7, 7, 7, 7, 7, -1, 7, 7, 7, 7, 7, 7, 7, -1, 7, 7, 7, 7, 7, 7, 7, -1, 7, + 7, 7, 7, 7, 7, 7, -1, 7, 7, 7, 7, 7, 7, 7, -1, 7, 7, 7, 7, 7, 7, 7, -1, 7, 7, 7, 7, 7, 7, 7, -1 + + + 1, 4 + + + 7, 7, 7, 7, -1, -1, -1, -1, 7, 7, 7, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1 + + + 0, 4 + + + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1 + + + 1, 2 + + + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 + + + -1, 4 + + + -1, -1, 7, 7, 7, 7, 7, 7, -1, -1, 7, 7, 7, 7, 7, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 + + + 0, 2 + + + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 + + + -1, 2 + + + -1, -1, 7, 7, 7, 7, 7, 7, -1, -1, 7, 7, 7, 7, 7, 7, -1, -1, 7, 7, 7, 7, 7, 7, -1, -1, 7, 7, 7, 7, 7, 7, + -1, -1, 7, 7, 7, 7, 7, 7, -1, -1, 7, 7, 7, 7, 7, 7, -1, -1, 7, 7, 7, 7, 7, 7, -1, -1, 7, 7, 7, 7, 7, 7 + + + + + + + + 000_Dev/Floor/Floor, gray + + + + + + 000_Dev/Floor/Floor, stair, gray + + + + + + 3 + + Portals/Portal + + Portal + + from_boobs + + Scene ID + 69 + Tag + to_sixty_nine + + + + + 6.499996 + 3.5000026 + 0.5 + + + 4.499996 + 4.5000024 + 0.5 + + + 4.499996 + -4.499996 + 0.5 + + + 6.499996 + -3.4999971 + 0.5 + + + + + 4894 + + Dynamic/Block/Crystal/Purple + + + 28.5, 23.5, 0.5 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 4895 + + + 29.5, 23.5, 0.5 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 10 + + Dynamic/Misc/Border/Border (Label) + + Label + Gulag + Off Center + True + + + + 3.5, -0.5, 0.5 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 11 + + Dynamic/Misc/Border/Border (End) + + + 3.5, -1.5, 0.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 4893 + + + 27.5, 23.5, 0.5 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 12 + + Dynamic/Misc/Border/Border (Middle) + + + 3.5, 0.5, 0.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 13 + + Dynamic/Misc/Border/Border (Start) + + + 3.5, 1.5, 0.5 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 4864 + + Dynamic/Barrier/One-Way Wall + + + 17.5, 23.5, 0.5 + + + + 4877 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + + Tags + + Title + Custom Tiled Force Field + Visible Distance + 15.0 + Width + 200 + + + + 22.5, 24.5, 0.5 + + + + 4876 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + + Tags + + Title + One-Way Force Field + Visible Distance + 15.0 + Width + 200 + + + + 17.5, 24.5, 0.5 + + + + 29 + + Environment/Ambient + + Color + 0.8, 0.8, 0.8, 1.0 + + + + + 4875 + + Dynamic/Barrier/Force Field (endfull) + + + 23.5, 23.5, 0.5 + 0.0, 0.0, -1.0, 1.1924881E-8 + + + + 4874 + + Dynamic/Barrier/Force Field + + + 22.5, 23.5, 0.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 4873 + + + 21.5, 23.5, 0.5 + 0.0, 0.0, -8.742278E-8, -1.0 + + + + 4901 + + Dynamic/Block/Crystal/Green + + + 27.5, 24.5, 0.5 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 4900 + + + 34.5, 23.5, 0.5 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 4903 + + + 29.5, 24.5, 0.5 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 4902 + + + 28.5, 24.5, 0.5 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 4897 + + + 31.5, 23.5, 0.5 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 4896 + + + 30.5, 23.5, 0.5 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 4899 + + + 33.5, 23.5, 0.5 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 4898 + + + 32.5, 23.5, 0.5 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 4908 + + + 34.5, 24.5, 0.5 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 4905 + + + 31.5, 24.5, 0.5 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 4904 + + + 30.5, 24.5, 0.5 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 4907 + + + 33.5, 24.5, 0.5 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 4906 + + + 32.5, 24.5, 0.5 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 4931 + + Dynamic/Block/Crystal/Gold + + + 34.5, 22.5, 0.5 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 4935 + + + 30.5, 22.5, 0.5 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 4934 + + + 31.5, 22.5, 0.5 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 4933 + + + 32.5, 22.5, 0.5 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 4932 + + + 33.5, 22.5, 0.5 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 4938 + + + 27.5, 22.5, 0.5 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 4937 + + + 28.5, 22.5, 0.5 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 4936 + + + 29.5, 22.5, 0.5 + 0.0, 0.0, 1.7484555E-7, 1.0 + + + + 4978 + + Character/Monster/Beast/Chromalisk Whelp (Tut) + + + 0.5, 9.5, 0.5 + + + + 4961 + + Dynamic/Hazards/Firestorm Fire Tiles/Fire Tile - 1 unit + + + 41.5, 24.5, 0.5 + + + + 4960 + + + 41.5, 23.5, 0.5 + + + + 4963 + + + 42.5, 23.5, 0.5 + + + + 4962 + + + 42.5, 24.5, 0.5 + + + + 4965 + + + 41.5, 22.5, 0.5 + + + + 4964 + + + 42.5, 22.5, 0.5 + + + + 4967 + + + 43.5, 22.5, 0.5 + + + + 4966 + + + 42.5, 22.5, 0.5 + + + + 4969 + + + 43.5, 24.5, 0.5 + + + + 4968 + + + 43.5, 23.5, 0.5 + + + + 4972 + + Dynamic/Misc/Sprite Objects/Sprite Well + + Delay + 1000 + + + + 37.5, 23.5, 1.0 + 0.0, 0.0, 1.7484554E-7, 1.0 + + + + 4764 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + false + Tag + door1l + + + + -0.5, 14.5, 0.5 + + + + 4776 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + Should open the gate besides it, unless I messed up something. DO NOT FORGET: + Set SIGNAL to "open" for gates + + Tags + + Title + One-Time Lever Switch + Visible Distance + 15.0 + Width + 200 + + + + -4.5, 15.5, 0.5 + + + + 4777 + + Environment/Skybox + + Model + + world/skybox/simplebox/skybox_skydome.dat + + Variant + Day + + + + + + + 4772 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + Should open the gate besides it, unless I messed up something. DO NOT FORGET: + Set SIGNAL to "open" for gates + + Tags + + Title + One-Time Button Switch + Visible Distance + 15.0 + Width + 200 + + + + 4.5, 15.5, 0.5 + + + + 4770 + + Dynamic/Switch/Button/One-Time + + Actor + + Dynamic/Switch/Button/One-Time + + (On Signal) + open + (On Tag) + door2b + Tag + door2b (button) + + + + + + 5.5, 14.5, 0.5 + + + + 4769 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + false + Tag + door2b + + + + 8.5, 14.5, 0.5 + + + + 4799 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + Use the buttons to reset the test above + Tags + + Title + Reset + Visible Distance + 5.0 + Width + 200 + + + + -3.5, 8.5, 0.5 + + + + 4797 + + Dynamic/Switch/Button/Timer + + Actor + + Dynamic/Switch/Button/Timed + + (On Signal) + prev + (On Tag) + door1l (lever) + Delay + 4000 + Tag + reset door1l (lever) + + + + + + -3.5, 7.5, 0.5 + + + + 4796 + + + 4.5, 8.5, 0.5 + + + + 4791 + + Dynamic/Switch/Button/Timer + + Actor + + Dynamic/Switch/Button/Timed + + (Off Signal) + + (Off Tag) + + (On Signal) + prev + (On Tag) + door2b (button) + Delay + 4000 + Tag + reset doorb2 (button) + + + + + + 4.5, 7.5, 0.5 + + + + 4811 + + Dynamic/Switch/Lever/Toggle + + Actor + + Dynamic/Switch/Lever/Damage Toggle + + (State 0 Signal) + close + (State 0 Tag) + door4tl + (State 1 Signal) + open + (State 1 Tag) + door4tl + + + + + + 23.5, 14.5, 0.5 + + + + 4812 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + Should open the gate besides it, unless I messed up something. DO NOT FORGET: + Set STATE 1 to "open" and STATE 0 to "close" + + Tags + + Title + Toggle Lever Switch + Visible Distance + 15.0 + Width + 200 + + + + 22.5, 15.5, 0.5 + + + + 4813 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + false + Tag + door4tl + + + + 26.5, 14.5, 0.5 + + + + 4814 + + Dynamic/Switch/Lever/Timed Toggle + + Actor + + Dynamic/Switch/Lever/Damage Timed Toggle + + Delay + 3000 + Start 1 Signal + open + State 0 Signal + close + State 0 Tag + door5timed_lever + State 1 Tag + door5timed_lever + + + + + + 32.5, 14.5, 0.5 + + + + 4815 + + + 26.5, 14.5, 0.5 + + + + 4800 + + Dynamic/Switch/Lever/One-Time + + (Activate Signal) + open + (Activate Tag) + door1l + Tag + door1l (lever) + + + + -3.5, 14.5, 0.5 + + + + 4801 + + Dynamic/Switch/Button/Timer + + Actor + + Dynamic/Switch/Button/Timed + + (Off Signal) + close + (Off Tag) + door3tb + (On Signal) + open + (On Tag) + door3tb + Delay + 3000 + Tag + door3tb (timed button) + + + + + + 14.5, 14.5, 0.5 + + + + 4803 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + Should open the gate besides it, unless I messed up something. DO NOT FORGET: + Set SIGNAL to "open" for gates + + Tags + + Title + Timed Button Switch + Visible Distance + 15.0 + Width + 200 + + + + 13.5, 15.5, 0.5 + + + + 4807 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + false + Tag + door3tb + + + + 17.5, 14.5, 0.5 + + + + 4825 + + Dynamic/Lift Objects/Heavy Statue + + + 43.5, 12.5, 0.5 + + + + 4824 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + false + Tag + door6pressure_plate + + + + 44.5, 14.5, 0.5 + + + + 4826 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + Should open the gate besides it, unless I messed up something. + Tags + + Title + Pressure Switch + Visible Distance + 15.0 + Width + 200 + + + + 40.5, 15.5, 0.5 + + + + 4829 + + Dynamic/Door/Iron Gate/Gold 3 + + + -0.5, 23.5, 0.5 + + + + 4816 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + false + Tag + door5timed_lever + + + + 35.5, 14.5, 0.5 + + + + 4819 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + Should open the gate besides it, unless I messed up something. DO NOT FORGET: + Set STATE 1 to "open" and STATE 0 to "close" + + Tags + + Title + Timed Lever Switch + Visible Distance + 15.0 + Width + 200 + + + + 31.5, 15.5, 0.5 + + + + 4822 + + Dynamic/Switch/Button/Pressure Plate + + Actor + + Dynamic/Switch/Pressure Plate/Base + + (Off Signal) + close + (On Signal) + open + (Target Tag) + door6pressure_plate + Tag + pressure_plate1 + + + + + + 41.5, 14.5, 0.5 + + + + 4843 + + Dynamic/Lift Objects/Gold Key + + + -3.500002, 22.500002, 0.5 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 4846 + + Dynamic/Door/Iron Gate/Gold 5 + + + 4.5, 25.5, 0.5 + + + + 4847 + + + 4.5, 26.5, 0.5 + + + + 4844 + + + 4.5, 23.5, 0.5 + + + + 4845 + + + 4.5, 24.5, 0.5 + + + + 4835 + + + -3.500002, 23.500002, 0.5 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 4839 + + + 4.5, 23.5, 0.5 + + + + 4859 + + + -4.5, 19.5, 0.5 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 4858 + + + -4.5, 20.5, 0.5 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 4857 + + + -3.5, 20.5, 0.5 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 4856 + + + -4.5, 21.5, 0.5 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 4863 + + + -2.5, 21.5, 0.5 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 4862 + + + -2.5, 20.5, 0.5 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 4861 + + + -2.5, 19.5, 0.5 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 4860 + + + -3.5, 19.5, 0.5 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 4851 + + + 4.5, 30.5, 0.5 + + + + 4850 + + + 4.5, 29.5, 0.5 + + + + 4849 + + + 4.5, 28.5, 0.5 + + + + 4848 + + + 4.5, 27.5, 0.5 + + + + 4855 + + + -4.5, 22.5, 0.5 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 4854 + + + -4.5, 23.5, 0.5 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 4853 + + + -3.5, 21.5, 0.5 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 4852 + + + -3.5, 22.5, 0.5 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + + diff --git a/scenes/82.xml b/scenes/82.xml new file mode 100644 index 0000000..6bb5e2d --- /dev/null +++ b/scenes/82.xml @@ -0,0 +1,10001 @@ + + + + + + + tutorial.jpg + + + + + + 0, 0 + + + 655360, 393216, 327680, 786433, 196608, 327680, 393216, 6094825, 458752, 196608, 393216, 393216, 393216, 393216, 393216, 327657, 196608, 393216, 327680, 393216, 458752, 196608, 327680, 6422505, 393216, 393216, 196608, 327680, 393216, 655360, 393216, 6094825, 458752, 196608, 327680, 327680, 458752, 458752, 393216, 6356969, 2293760, 327680, 786433, 327680, 1245184, 786432, 393216, 393216, 1900544, 2293760, 655360, 327680, 327680, 786432, 327680, 458752, 2621440, 2359296, 458752, 327680, 786433, 1376256, 393216, 196608 + + 1, 0 + + + 1834984, 1834984, 1834984, 1834984, 1834984, 2293736, 1900520, 6029288, 1834984, 2031592, 1834984, 2293736, 1834984, 2293736, 2424808, 1245163, 2031592, 1834984, 2686952, 2686952, 2031592, 2818024, 2424808, 1638379, 2162664, 3014632, 1834984, 3080168, 2293736, 2293736, 1966056, -1, 6029289, 2555880, 2031592, 2031592, 1900520, 3014632, 2293736, 6094827, 6094825, 2555880, 2031592, 2293736, 2424808, 2555880, 1834984, 6029291, 6094825, 2555880, 2031592, 1900520, 2228200, 2752488, 3014632, 2031592, 6356969, 6029289, 1834984, 1966056, 2359272, 458728, 2752488, 2162664 + + 2, 0 + + + 6356968, 4587523, 720896, 4587521, 1835008, 2162688, 6356970, 6029290, 2555904, -1, 720896, -1, 6356970, 983018, 6029290, 2490344, 4259840, 4456448, 720896, 4390913, 1245161, 2555880, 1834984, 2818024, 4390915, 720896, 4456450, 4259842, 6029290, 2490344, 2293736, 3080168, 4259843, 4521986, 4259842, 6422505, 2490344, 2293736, 1834984, 1900520, 1507306, -1, 983018, 6029290, 1834984, 2293736, 3080168, 2424808, 3080168, 2424808, 2621416, 2490344, 1834984, 1834984, 1900520, 2228200, 2162664, 2228200, 2555880, 1834984, 2293736, 1834984, 2424808, 2621416 + + 3, 0 + + + 1834984, 1834984, 2031592, 1966056, 2359272, 524264, 524264, 1310696, 2686952, 2031592, 2293736, 2686952, 1966056, 2097128, 2359272, 458728, 2686952, 2293736, 2686952, 2031592, 2293736, 2686952, 1966056, 2097128, 1834984, 1834984, 1834984, 2031592, 2686952, 2293736, 2031592, 2293736, 2162664, 2162664, 2162664, 2162664, 3014632, 1834984, 2949096, 2293736, 2621416, 2097128, 2097128, 2359272, 2752488, 2162664, 3014632, 2293736, 2555880, 2293736, 2883560, 1966056, 2097128, 2359272, 2752488, 2162664, 2490344, 2686952, 1834984, 2031592, 1834984, 1966056, 2097128, 2097128 + + 4, 0 + + + 458728, 1441768, 2555880, 1834984, 1900520, 2228200, 8323049, 8454120, 1310696, 851946, 2555880, 2949096, 2424808, 7995370, 8519658, 8650728, 2359272, 2621416, 2490344, 1834984, 2424808, 8323049, 8454120, 8716264, 1966056, 2490344, 2293736, 2031592, 2424808, 7995369, 8519657, 7929832, 1834984, 2686952, 2293736, 2031592, 1966056, 2359272, 8126441, 7929832, 2293736, 2293736, 2031592, 2686952, 1834984, 2424808, 8912873, 8716264, 2162664, 3014632, 2293736, 2686952, 1834984, 2424808, 8060905, 8847336, 2359272, 2752488, 2162664, 2162664, 2162664, 2228200, 8912873, 8650728 + + 5, 0 + + + 8912875, 6029288, 6356968, 655360, 458752, 393216, 458752, 6029315, 8191979, 6094827, 393216, 393216, 327680, 196608, 393216, 524291, 8060907, 6422507, 458752, 655360, 393216, 655360, 393216, -1, 8912875, 327659, 393216, 327680, 393216, 327680, 393216, 6029315, 8191979, 6029291, 6356971, 327680, 458752, 327680, 393216, 5963779, 8126443, 524264, 6029291, 6356971, 393216, 655360, 393216, 327680, 8191979, 1441768, 2621416, 6029291, 6356971, 327680, 393216, 196608, 8191979, 1310696, 2555880, 2686952, 327659, 393216, 458752, 393216 + + 6, 0 + + + 393240, 458776, 393240, 393240, 327704, 393240, 393240, 327704, 327704, 458776, 393240, 655384, 458776, 393240, 327704, 327704, 393240, 458776, 327704, 393240, 393240, 327704, 327704, 393240, 327704, 655384, 393240, 393240, 393240, 458776, 327704, 458776, 6291459, 327704, 655384, 393240, 196632, 327704, 393240, 655384, 1179651, 196632, 4784154, -1, 327704, 327704, 393240, 327704, 5963779, 6291459, -1, -1, 393240, 393240, 393240, 393240, 393216, 1179651, 393240, 327704, 393240, 393240, 393240, 327704 + + 7, 0 + + + 6291457, 5963777, 458752, 655360, 393216, 393216, 393216, 6356969, 327704, 6029313, 393216, 393216, 393216, 655360, 393216, 458752, 458776, 1179649, 393216, 327680, 458752, 458752, 393216, 393216, 393240, 6291457, 5963777, 393216, 393216, 393216, 393216, 393216, 393240, 393240, 6291457, 5963777, 458752, 393216, 393216, 393216, 327704, 393240, 327704, 6029313, 327680, 786433, 393216, 393216, 655384, 393240, 393240, 1572865, 393216, 458752, 393216, 393216, 393240, 458776, 327704, -1, 327680, 196608, 393216, 393216 + + 8, 0 + + + 6029289, 917481, 65513, -1, -1, -1, -1, -1, 6356969, 6029289, 1114089, -1, -1, -1, -1, -1, 393216, 6094825, 917481, 65513, -1, -1, -1, -1, 393216, 6356969, 6029289, 1114089, -1, -1, -1, -1, 393216, 393216, 1245161, 131049, -1, -1, -1, -1, 458752, 393216, 6094825, 1114089, -1, -1, -1, -1, 458752, 458752, 1245161, 655337, -1, -1, -1, -1, 655360, 393216, 1245161, -1, -1, -1, -1, -1 + + 9, 18 + + + 7995393, 8781824, 8060931, 1376256, 6356969, 6029289, 458728, 917481, 8847361, 8585216, 8454147, 7995394, 7929859, 327657, 458728, 458728, 8519681, 8323072, 8716288, 8585216, 7995395, 6356969, 6029289, 458728, 7929857, 8454145, 8781824, 8454144, 7929856, 786435, 6356969, 6422504, 393216, 8847361, 8716288, 7995395, 7929858, 8847362, 7929859, 327680, 1245184, 7929857, 8519680, 7929856, 8847361, 8650752, 8257539, 393216, 393216, 7929858, 8257538, 7929859, 7929857, 8847360, 7929856, 196608, 786433, 8257537, 8650752, 8454147, 8257538, 7995394, 7929859, 393216 + + 8, 18 + + + 393240, 393240, 393240, 393240, 393240, 6291458, 5963778, 327680, 327704, 655384, 458776, 393240, 393240, 1572865, 393216, 393216, 327704, 393240, 393240, 458776, 393240, -1, 393216, 786435, 2555928, 2031640, 2031640, 2031640, 2293784, 6029313, 1245184, 655360, 2424856, 2228248, 2621464, 2883608, 2359320, 6356993, 393216, 1376256, 2228248, 1769496, 1835032, 2097176, 2162712, 6356993, 327680, 1376256, 1835032, 2097176, 5963800, 262168, 5963801, 262145, 196608, 393216, 5963800, 6029336, 6291480, 393264, 1179673, 6356993, 1376256, 786432 + + 7, 18 + + + 327704, 393240, 393240, 327704, 327704, 6684696, 393240, 393240, 458776, 458776, 393240, 1245208, 6488088, 6094872, 1245208, 393240, 393240, 327704, 393240, 393240, 327704, 6750232, 6488088, 393240, 2031640, 2031640, 2293784, 6422552, 393240, 6422552, 6225944, 393240, 1769496, 2228248, 2359320, 6094872, 6094872, 6684696, 6488088, 2555928, 2818072, 2621464, 2359320, 786456, 2555928, 2031640, 2031640, 2424856, 1769496, 2228248, 1900568, 2031640, 2424856, 1769496, 2752536, 2228248, 2949144, 1769496, 1966104, 2228248, 4194328, 2228248, 2228248, 1835032 + + 6, 18 + + + 3145728, 3145728, 5963776, 6291456, 655384, 393240, 1376280, 393240, 3145728, 3145728, 262147, 393240, 393240, 393240, 393240, 655384, 3932160, 3145728, 1179651, 2555928, 2031640, 2031640, 2031640, 2293784, 3538944, 3997696, 6029315, 2490392, 2228248, 3014680, 1769496, 1900568, 1769472, 1835008, 6356995, 2687000, 2097176, 2949144, 1769496, 2621464, 1769472, 2359296, 6029315, 5963800, 6357016, 5963801, 2949144, 1769496, 2752512, 5963776, 6291456, 1179675, 393264, 6291481, 5963801, 2949144, 1179648, 6291456, 5963800, 6291480, 5570608, 5832752, 6291481, 5963801 + + 5, 18 + + + 786432, -1, -1, 393216, 2686976, 2949120, 3407872, 3145728, 5963777, 327680, 458752, 327680, 393216, 2490368, 3538944, 3932160, 6029313, 393216, 393216, 786434, 327680, 2686976, 2949120, 3538944, 1179649, 393216, 655360, 1376256, 1376256, 196608, 2686976, 2949120, 6291457, 5963777, 327680, 327680, 786435, 655360, 393216, 2490368, 393240, 6291457, 262144, 5963777, 327680, 327680, 2555904, 2424832, 4259865, 393240, 393240, 6291457, 5963777, 458752, 2490368, 2228224, 4390937, 4259864, 4390936, 4259865, 6291457, 6029312, 1179648, 262144 + + -10, 1 + + + -1, 655339, 458728, 458728, 393192, 851947, 720872, 393192, -1, -1, 458728, 524264, 458728, 458728, 458728, 458728, -1, 196587, 262120, 524264, 458728, 851946, 393192, 458728, -1, -1, 458728, 458728, 720872, 393192, 524264, 524264, -1, 131051, 458728, 458728, 458728, 458728, 524264, 458728, -1, 131051, 262120, 524264, 393192, 262120, 458728, 393192, -1, 131051, 458728, 262120, 524264, 458728, 524264, 458728, -1, 65515, 917483, 393192, 524264, 458728, 458728, 458728 + + 4, 18 + + + 6029315, 458776, 327704, 327704, 393240, 327704, 6356993, 458752, 262147, 393240, 393240, 393240, 393240, 393240, 6291457, 262144, 1179651, 196632, 393240, 655384, 327704, 393240, 458776, 393240, 6356995, 393240, 4259864, 4522008, 4522008, 4259865, 458776, 458776, 6356995, 196632, 4522011, 720920, 720920, 4456473, 4259865, 196632, 6356995, 458776, 4522011, 720920, 720920, 720920, 4456473, 4259865, 5963779, 6291459, 4259867, 4456475, 720920, 720920, 720920, 4456473, 6356971, 5963779, 6291459, 4390939, 720920, 720920, 720920, 720920 + + 3, 18 + + + -1, 65515, 917483, 524264, 458728, -1, 327680, 458752, -1, -1, 131051, 393192, 720872, 6029291, 6356971, 327680, -1, -1, 65515, 917483, 524264, 458728, 327659, 393216, -1, -1, -1, 131051, 458728, 458728, 6094827, 393216, -1, -1, -1, 65515, 917483, 458728, 6029291, 6356971, -1, -1, -1, -1, 1114091, 851945, 262120, 1245163, -1, -1, -1, -1, 131051, 458728, 393192, 6422507, -1, -1, -1, -1, 65515, 917483, 458728, 6029291 + + -8, 1 + + + 458752, 393216, 393216, 458752, 393216, 327680, 196608, 327680, 393216, 393216, 327680, 393216, 393216, 393216, 196608, 393216, 458752, 196608, 393216, 393216, 327680, 393216, 458752, 393216, 327680, 655360, 196608, 327680, 655360, 458752, 393216, 393216, 6356971, 327680, 393216, 655360, 458752, 393216, 327680, 393216, 6029291, 6356971, 458752, 393216, 327680, 393216, 393216, 327680, 1441768, 6029291, 983018, 6356971, 327680, 393216, 393216, 786433, 524264, 458728, 458728, 6029291, 983018, 983018, 983018, 983018 + + -9, 1 + + + 524264, 458728, 393192, 6029291, 6356971, 393216, 393216, 393216, 458728, 458728, 458728, 458728, 6029291, 6356971, 458752, 393216, 393192, 458728, 458728, 720872, 458728, 6029291, 6356971, 393216, 458728, 393192, 262120, 458728, 458728, 458728, 6029291, 6356971, 458728, 458728, 262120, 393192, 458728, 393192, 458728, 6029291, 262120, 458728, 458728, 458728, 458728, 720872, 458728, 458728, 720872, 393192, 524264, 524264, 1310696, 458728, 720872, 458728, 393192, 458728, 458728, 524264, 393192, 458728, 524264, 393192 + + -6, 1 + + + 327680, 393216, 393216, 458752, 393216, 196608, 393216, 393216, 327680, 655360, 393216, 393216, 458752, 1245184, 458752, 786435, 655360, 393216, 327680, 393216, 393216, 393216, 393216, 458752, 458752, 196608, 393216, 655360, 393216, 327680, 393216, 5963776, 393216, 196608, 327680, 458752, 393216, 393216, 655360, 1179651, 393216, 393216, 327680, 393216, 327680, 393216, 393216, 1179651, 393216, 393216, 393216, 327680, 393216, 327680, 393216, 262147, 327680, 327680, 393216, 393216, 393216, 327680, 393216, 5963779 + + -7, 1 + + + 655360, 393216, 786432, 393216, 327680, 327680, 393216, 458752, 458752, 393216, 393216, 327680, 327680, 458752, 393216, 458752, 327680, 393216, 458752, 393216, 196608, 393216, 327680, 327680, 655360, 393216, 393216, 393216, 393216, 196608, 393216, 327680, 393216, 393216, 393216, 327680, 393216, 458752, 196608, 327680, 393216, 458752, 327680, 393216, 458752, 393216, 393216, 393216, 393216, 458752, 327680, 393216, 458752, 393216, 196608, 393216, 6356971, 393216, 393216, 327680, 393216, 393216, 393216, 327680 + + 15, 18 + + + 720920, 720920, 4587545, 1048577, -1, -1, -1, -1, 327704, 720920, -1, 1048577, -1, -1, -1, -1, -1, 4390938, 4259866, 2, -1, -1, -1, -1, 5963778, 851970, 2, -1, -1, -1, -1, -1, 1114114, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -4, 1 + + + 1179648, 6029312, 6291456, 393240, 4259864, 4522008, 4390936, 4259865, 196632, 393240, 458776, 4259864, 4456472, 720920, 720920, 4456473, 4259864, 4522008, 4390936, 4456472, 720920, 720920, 720920, 720920, 4456472, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 4456474, 720920, 720920, 720920, 720920, 720920, 720920, 4456474, 4259866, 4522010, 4390938, 4390938, 4522010, 4653082, -1, 4259866, 655384 + + 14, 18 + + + 393240, 393240, 393240, 393240, 327704, -1, 720920, 720920, 393240, 1245208, 393240, 393240, 458776, 4390939, 720920, 720920, 4259864, 4522008, 4522008, 4653080, -1, 4259865, 4522010, 4325402, 4456472, 720920, 720920, 720920, 720920, 4325401, 917506, 917506, 720920, 720920, 720920, 720920, 720920, -1, 851970, 1114114, 720920, 720920, 720920, 4456474, 4390938, 4259866, 65537, -1, 4456475, 720920, 720920, 4522009, 5963778, 851970, 2, -1, 4259867, 4390938, 4390938, 4259866, 1114114, 2, -1, -1 + + -5, 1 + + + 393216, 458752, 393216, 393216, 327680, 393216, 196608, 5963776, 393216, 327680, 393216, 458752, 393216, 393216, 5963776, 6291456, 458752, 327680, 5963776, 6029312, 1179648, 262144, 6291456, 1245208, 6356992, 262144, 6291456, 393240, 393240, 393240, 4259864, 4522008, 327704, 458776, 327704, 393240, 4259864, 4390936, 4456472, 720920, 393240, 393240, 393240, 393240, 4653083, 720920, 720920, 720920, 393240, 393240, 393240, 393240, -1, 720920, 720920, 720920, 917506, 917506, 6291459, 393240, 4259867, 4653082, -1, 4522010 + + 13, 18 + + + 6029315, 458776, 458776, 655384, 393240, 458776, 393240, 458776, 6029315, 393240, 393240, 196632, 4259864, 4653080, -1, 4259865, 6291456, 4259864, 4587544, -1, 4456472, 720920, 720920, 4522009, 393240, 4390939, 720920, 720920, 720920, 720920, 720920, 4456473, 4522008, 4456472, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 4456474, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 4390937, 720920, 720920, 4456474, 4653082, -1, 720920, 4456474, 4390939, 720920, 720920, 4390937, 5963778, 851970 + + -2, 1 + + + 6029315, 4259864, 4390936, 4456472, 720920, 720920, 720920, 720920, 6291456, 4390939, 720920, 720920, 720920, 720920, 720920, 720920, 4259864, 4456472, 720920, 720920, 720920, 720920, 720920, 720920, 4522011, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 4718619, 720920, 720920, 720920, 720920, 720920, 720920, 720920, -1, 720920, 720920, 720920, 720920, 720920, 720920, 720920, -1, 720920, 720920, 720920, 720920, 720920, 720920, 720920, -1, 720920, 720920, 720920, 720920, 720920, 720920, 720920 + + 12, 18 + + + 131048, 917480, 6029288, 1245160, 1638376, -1, 589800, -1, 1245160, 327656, 6356968, 327680, 655360, 1245184, 458752, 393216, 458752, 458752, 458752, 655360, 393216, 393216, 5963776, 6356992, 5963776, 262144, 5963777, 327680, 393216, 5963776, 6291456, 327704, 6291456, 393240, 6291457, 524288, -1, 6291456, 4259864, 4522008, 393240, 393240, 393240, 4259864, 4390936, 4390936, 4456472, 720920, 4522008, 4522008, 4259865, 4522011, 720920, 720920, 720920, 720920, 720920, 720920, 4522009, 4522011, 720920, 720920, 327680, 720920 + + -3, 1 + + + 393240, 1376280, 262145, 4390915, 720896, 720896, 4456450, 4259842, 4259865, 393240, 6029313, 4521987, 720896, 4456450, 4259842, 5963776, 4587545, 393240, 262145, 4259843, 4390914, 4259842, 5963776, 6291456, -1, 327704, 6291457, 5963777, 393216, 196608, 6356995, 393240, 4522009, 458776, 196632, 262145, 393216, 655360, 6029315, 393240, 4259866, 327704, 393240, 6029313, 393216, 393216, 1179651, 393240, 327704, 393240, 655384, 6356993, 393216, 327680, 262147, 327704, 458776, 327704, 393240, 6356993, 393216, 327680, 262147, 327704 + + 11, 18 + + + 131048, 655336, -1, 5046248, -1, -1, -1, 131048, 6029288, 5308392, -1, -1, -1, 6422504, 1245160, 327656, 6356968, 327680, 393216, 393216, 458752, 393216, 393216, 393216, 458752, 393216, 327680, 327680, 655360, 393216, 393216, 196608, 5963777, 393216, 327680, 327680, 5963776, 6356992, 1179648, 6029312, 5242881, 393216, 5963776, 1179648, 6291456, 393240, 458776, 655384, -1, 5963776, 6291456, 393240, 458776, 393240, 327704, 4259864, -1, 262147, 327704, 393240, 458776, 4259864, 4390936, 4456472 + + 0, 1 + + + 1835008, 2162688, 393216, 196608, 393216, 393216, 393216, 393216, 393216, 458752, 458752, 458752, 393216, 393216, 458752, 327680, 262144, 262144, 5963777, 393216, 458752, 393216, 786434, 393216, 2031640, 2293784, 6029313, 393216, 458752, 458752, 393216, 327680, 4259865, 2359320, 6291457, 5963777, 393216, 327680, 786435, 393216, 4390937, 2359320, 393240, 6291457, 5963777, 393216, 393216, 458752, 4456473, 4390936, 4259865, 327704, 6291457, 5963777, 196608, 458752, 720920, 720920, 4456473, 4259865, 458776, 6291457, 1179648, 6029312 + + 10, 18 + + + 65513, -1, -1, -1, -1, -1, -1, 65512, 917481, 65513, -1, -1, -1, 65512, 131048, 917480, 458728, 917481, 1114088, 131048, 1114088, 917480, 6029288, 327656, 327656, 5242856, -1, -1, -1, 327656, 6356968, 327680, 327680, 5963776, 5242880, 524288, -1, 6356992, 1572864, -1, 393216, 6029315, 2555928, 2031640, 2293784, 2555928, 2031640, 2293784, 5963776, 6291456, 2490392, 1769496, 1900568, 2424856, 1769496, 2359320, 1179651, 2555928, 2424856, 2228248, 1769496, 2621464, 2228248, 2359320 + + -1, 1 + + + 4456473, 4259865, 327704, 6291457, 1179648, 6029312, 5963777, 1769472, 720920, 4456473, 4259865, 2031640, 2031640, 2293784, 6291457, 5963777, 720920, 720920, 4456473, 4522008, 4259865, 1900568, 2293784, 6291457, 720920, 720920, 720920, 720920, 4456473, 4390936, 4259865, 2031640, 720920, 720920, 720920, 720920, 720920, 720920, 4456473, 4522008, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920 + + 3, 1 + + + 1834984, 1834984, 1834984, 2818024, 2293736, 2293736, 1834984, 2293736, 2162664, 2162664, 2162664, 6029288, 6094824, 327656, 1245160, 6094824, 327656, 6422504, 327656, 6356968, 393216, 393216, 458752, 393216, 327680, 327680, 2555904, 2031616, 2031616, 2031616, 2031616, 2031616, 393216, 2555904, 2424832, 3670016, 3342336, 3604480, 1966080, 1769472, 393216, 2490368, 1769472, 3407872, 3080192, 3473408, 1769472, 2228224, 393216, 2686976, 2949120, 3538944, 3997696, 3801088, 3342336, 3604480, 458752, 393216, 2686976, 2949120, 1966080, 3407872, 3866624, 3211264 + + 4, 1 + + + 2424808, 393192, 1441768, 851947, 1310696, 851947, 8060905, 8650728, 1245160, 6029289, 393192, 1441768, 1310696, 458728, 8126441, 8454120, 327680, 6356969, 6029289, 851946, 458728, 1441768, 8060905, 8716264, 2293760, 393216, 6356969, 6029289, 262120, 1310696, 8585193, 7929832, 1900544, 2031616, 2293760, 6356969, 6029289, 393192, 8126441, 8454120, 1769472, 1769472, 2359296, 393216, 327657, 7995370, 8519658, 8781800, 2228224, 2228224, 1900544, 2293760, 327657, 8191977, 8716264, 8781800, 3342336, 3604480, 2621440, 2359296, 6422505, 7995369, 8519657, 8650728 + + 1, 1 + + + 393216, 6422505, 2031592, 1834984, 1966056, 2097128, 2359272, 458728, 655360, 6356969, 6029289, 3014632, 2293736, 2031592, 1966056, 2097128, 1245184, 393216, 6356969, 6029289, 2162664, 3014632, 2031592, 2818024, 786435, 393216, 196608, 6356969, 327656, 6029289, 2162664, 2162664, 393216, 327680, 393216, 393216, 327680, 6356969, 1245160, 327656, 393216, 393216, 393216, 393216, 393216, 393216, 327680, 393216, 327680, 393216, 393216, 393216, 327680, 458752, 458752, 393216, 6356992, 1179648, 5963777, 393216, 393216, 393216, 327680, 458752 + + 2, 1 + + + 2621416, 2097128, 2490344, 2293736, 1834984, 2686952, 2424808, 2555880, 2490344, 2293736, 2293736, 2293736, 1900520, 2162664, 2228200, 2752488, 2686952, 1834984, 2293736, 1900520, 2228200, 524264, 458728, 6029288, 2162664, 2162664, 2162664, 2228200, 458728, 6029288, 327656, 6356968, 6094824, 6422504, 6422504, 327656, 6422504, 6356968, 196608, 393216, 393216, 1376256, 458752, 393216, 458752, 196608, 327680, 393216, 393216, 655360, 458752, 393216, 393216, 458752, 393216, 196608, 393216, 786433, 393216, 196608, 327680, 393216, 786433, 1376256 + + 7, 1 + + + 393240, 327704, 393240, 1179649, 327680, 393216, 327680, 393216, 393240, 655384, 6291458, 5963778, 458752, 393216, 393216, 393216, 786457, 393240, 1179649, 393216, 393216, 393216, 393216, 786434, 393240, 393240, 1179649, 393216, 393216, 458752, 393216, 655360, 327704, 393240, 6029313, 327680, 393216, 196608, 393216, 393216, 327704, 393240, 6356993, 393216, 458752, 196608, 393216, 393216, 327704, 393240, 262145, 393216, 393216, 327680, 327680, 393216, 2293784, 393240, 1179649, 393216, 655360, 393216, 458752, 393216 + + 8, 1 + + + 393216, 393216, 327657, 1114089, -1, -1, -1, -1, 196608, 458752, 1245161, 1769449, -1, -1, -1, -1, 327680, 327680, 589801, -1, -1, -1, -1, -1, 655360, 393216, -1, -1, -1, -1, -1, -1, 458752, 786432, 6422505, -1, -1, -1, -1, -1, 327680, 655360, 6094825, 1114089, -1, -1, -1, -1, 327680, 393216, 327657, 131049, -1, -1, -1, -1, 393216, 655360, 6094825, 1114089, -1, -1, -1, -1 + + 5, 1 + + + 8519659, 7995371, 2555880, 1834984, 6029291, 983018, 6356971, 393216, 8454120, 8323051, 2752488, 3014632, 1834984, 2424808, 327659, 393216, 8978408, 8519659, 7995371, 2555880, 2686952, 1966056, 6029291, 6356971, 8388584, 8847336, 8126443, 2752488, 3014632, 2293736, 2424808, 6422507, 8716264, 8978408, 8519659, 7995371, 2752488, 2162664, 2228200, 6029291, 8978408, 8716264, 8388584, 8519659, 8323050, 8126442, 8912874, 7995371, 8978408, 8257512, 8978408, 8650728, 8257512, 8781800, 8454120, 8585195, 8781800, 8454120, 8978408, 8454120, 8454120, 8454120, 8650728, 8126443 + + 6, 1 + + + 393216, 5963779, 6291459, 327704, 393240, 393240, 393240, 655384, 327680, 327680, 5963779, 6291459, 458776, 327704, 393240, 196632, 327680, 458752, 393216, 6029315, 393240, 327704, 393240, 393240, 393216, 196608, 458752, 6029315, 393240, 196632, 1245208, 393240, 6356971, 393216, 196608, 262147, 393240, 393240, 393240, 655384, 1245163, 393216, 327680, 1179651, 393240, 2555928, 2031640, 2293784, 6094827, 327680, 393216, 1179651, 2555928, 2424856, 2621464, 2359320, 589803, 458752, 196608, 6356995, 2490392, 2621464, 2228248, 1900568 + + 6, 17 + + + 917506, 917506, 5963778, 2621440, 2621440, 1900544, 2031616, 2293760, 3866624, 3473408, 1769472, 2752512, 2228224, 1966080, 2621440, 1900544, 3735552, 3801088, 1966080, 2228224, 2883584, 2228224, 1769472, 1769472, 3211264, 3604480, 2621440, 2228224, 1769472, 5963776, 6029312, 6029312, 3145728, 3473408, 2228224, 1769472, 5963776, 6291456, 393240, 458776, 3145728, 3211264, 3604480, 1835008, 6029315, 393240, 393240, 393240, 3276800, 3080192, 3211264, 3604480, 6029315, 327704, 458776, 393240, 3145728, 3145728, 3145728, 5963776, 6291456, 458776, 327704, 393240 + + 5, 17 + + + 917506, 917506, 917506, 917506, 917506, 917506, 917506, 917506, 327680, 2490368, 1966080, 3407872, 3145728, 3145728, 3145728, 3145728, 393216, 2686976, 2949120, 3538944, 3997696, 3932160, 3080192, 3145728, 1376256, 327680, 2686976, 2949120, 2228224, 3538944, 3932160, 3145728, 786434, 393216, 393216, 2490368, 2228224, 1769472, 3538944, 3932160, 393216, 393216, 1245184, 2686976, 2949120, 1966080, 3670016, 4915200, 786433, 393216, 393216, 458752, 2490368, 1966080, 3407872, 3080192, 1245184, 4849664, -1, 393216, 2490368, 1966080, 3407872, 3080192 + + 8, 17 + + + 2228248, 2228248, 3407896, 3276824, 3473432, 2359320, 6291458, 5963778, 2949144, 2883608, 3538968, 3997720, 3801112, 2359320, 1572865, 458752, 2687000, 2949144, 1769496, 1769496, 1769496, 2359320, -1, 458752, 6225944, 2687000, 2097176, 2949144, 1966104, 2359320, 262145, 1376256, 327704, 393240, 1376280, 2490392, 1769496, 2359320, 262145, 196608, 458776, 327704, 458776, 2687000, 2097176, 2162712, 262145, 393216, 6750232, 393240, 458776, 458776, 327704, 196632, 262145, 393216, 393240, 393240, 393240, 393240, 393240, 327704, 6356993, 327680 + + 7, 17 + + + 393216, 327680, 5963776, 6356992, 6029312, 6291456, 196632, 2490392, 2293760, 5963776, 6291456, 655384, 327704, 327704, 393240, 2687000, 5963776, 6291456, 393240, 327704, 393240, 327704, 327704, 6750232, 6291456, 196632, 327704, 196632, 393240, 458776, 393240, 327704, 393240, 655384, 393240, 655384, 393240, 327704, 6750232, 458776, 393240, 327704, 327704, 655384, 393240, 6422552, 6422552, 393240, 327704, 655384, 393240, 393240, 655384, 458776, 6553624, 655384, 393240, 393240, 393240, 393240, 6225944, 393240, 6619160, 393240 + + 2, 17 + + + -1, -1, -1, -1, -1, -1, -1, 131051, -1, -1, -1, -1, -1, -1, -1, 1114091, -1, -1, -1, -1, -1, -1, -1, 1114091, -1, -1, -1, -1, -1, -1, -1, 131051, -1, -1, -1, -1, -1, -1, -1, 1114091, -1, -1, -1, -1, -1, -1, -1, 65515, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -7, 2 + + + 6029291, 983018, 1507306, -1, 6356971, 458752, 393216, 393216, 720872, 458728, 524264, 458728, 6029291, 983018, 6356971, 327680, 393192, 393192, 393192, 262120, 262120, 458728, 6029291, 983018, 458728, 524264, 458728, 1441768, 524264, 458728, 458728, 393192, 458728, 458728, 458728, 393192, 1310696, 458728, 458728, 458728, 458728, 393192, 458728, 458728, 458728, 458728, 458728, 393192, 458728, 393192, 393192, 1310696, 458728, 458728, 393192, 524264, 458728, 262120, 458728, 458728, 458728, 524264, 393192, 458728 + + -8, 2 + + + 458728, 262120, 720872, 458728, 393192, 524264, 458728, 393192, 458728, 458728, 524264, 458728, 458728, 524264, 458728, 458728, 393192, 524264, 458728, 458728, 458728, 262120, 458728, 851946, 458728, 458728, 262120, 393192, 393192, 458728, 1441768, 524264, 458728, 393192, 393192, 458728, 458728, 524264, 393192, 393192, 524264, 458728, 458728, 393192, 458728, 458728, 720872, 458728, 393192, 458728, 1441768, 262120, 393192, 393192, 720872, 458728, 524264, 458728, 393192, 458728, 524264, 458728, 393192, 458728 + + 4, 17 + + + 262147, 327704, 393240, 393240, 458776, 393240, 6291458, 917506, 262147, 458776, 393240, 393240, 458776, 458776, 6356993, 393216, 1179651, 393240, 393240, 327704, 393240, 393240, 6029313, 327680, 262147, 393240, 327704, 393240, 393240, 393240, 262145, 786434, 262147, 458776, 327704, 327704, 393240, 393240, 6356993, 327680, 6029315, 393240, 327704, 327704, 327704, 393240, 1179649, 1376256, 6029315, 393240, 327704, 458776, 196632, 458776, 1179649, 196608, 262147, 393240, 393240, 393240, 458776, 393240, 6029313, 393216 + + -9, 2 + + + 458728, 393192, 393192, 458728, 458728, 851946, 393192, 458728, 458728, 393192, 262120, 393192, 393192, 458728, 393192, 262120, 458728, 393192, 1310696, 524264, 393192, 458728, 393192, 524264, 458728, 393192, 393192, 458728, 524264, 524264, 458728, 393192, 720872, 458728, 458728, 393192, 458728, 720872, 524264, 393192, 458728, 393192, 458728, 458728, 393192, 720872, 458728, 458728, 524264, 524264, 4849640, -1, 393192, 262120, 1441768, 458728, 524264, 720872, -1, -1, 524264, 458728, 524264, 262120 + + 3, 17 + + + 458728, 458728, 6029291, 6356971, 458752, 458752, 786434, 196608, 458728, 458728, 458728, 6094827, 393216, 458752, 458752, 458752, 393192, 458728, 524264, 6029291, 6356971, 327680, 655360, 327680, 262120, 458728, 458728, 458728, 1245163, 393216, 458752, 393216, 1441768, 393192, 458728, 524264, 589803, 393216, 458752, 393216, 917483, 458728, 262120, 393192, -1, 393216, 393216, 655360, 131051, 393192, 458728, 524264, 6029291, 6356971, 393216, 393216, 65515, 917483, 393192, 851946, 524264, 589803, 458752, 393216 + + -10, 2 + + + -1, -1, 131051, 458728, 393192, 524264, 393192, 458728, -1, -1, 1114091, 524264, 458728, 524264, 524264, 720872, -1, -1, 655339, 458728, 393192, 262120, 524264, 393192, -1, -1, -1, 458728, 393192, 458728, 458728, 393192, -1, -1, 196587, 393192, 458728, 458728, 393192, 524264, -1, -1, -1, 524264, 458728, 1441768, 458728, 458728, -1, -1, 1114091, 393192, 393192, 393192, 458728, 393192, -1, -1, 65515, 917483, 393192, 458728, 524264, 458728 + + 14, 17 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 65536, 131072, -1, -1, -1, -1, -1, 65539, 5963776, 1572864, -1, 1, -1, -1, -1, 65539, 262147, 196632, 5963777, 1048577, -1, 0, 65536, 851968, 262147, 458776, 262145, 65537, 0, 851968, 5963776, 1179648, 6291456, 4259864, 6356993, 851969, 851968, 5963776, 6291456, 4259864, 4390936, 4456472, 6291457, 262144, 262144, 6291456, 327704, 4587547, 393240, 720920 + + -3, 2 + + + 327704, 327704, 6291458, 5963778, 393216, 327680, 1179651, 655384, 917506, 917506, 5963778, 196608, 327680, 393216, 6029315, 655384, 327680, 393216, 393216, 393216, 196608, 393216, 1179651, 393240, 786435, 393216, 327680, 393216, 327680, 5963776, 6291456, 393240, 327680, 393216, 327680, 393216, 393216, 6029315, 327704, 1376280, 393216, 393216, 327680, 458752, 458752, 6029315, 393240, 393240, 196608, 393216, 393216, 327680, 327680, 6356995, 327704, 393240, 6356971, 655360, 393216, 393216, 393216, 5963779, 6291459, 655384 + + 13, 17 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 65536, 589824, -1, -1, -1, -1, 0, 851968, 5963776, 1179648, -1, -1, 0, 1048576, 851968, 5963776, 6291456, 327704, 1048576, 65536, 851968, 5963776, 6029312, 6291456, 196632, 393240, 5963776, 6029312, 262144, 6291456, 393240, 393240, 327704, 458776 + + -4, 2 + + + 917506, 6291459, 393240, 458776, 393240, 393240, 393240, 327704, 327680, 5963779, 917506, 1441794, -1, 917506, 1441794, -1, 458752, 655360, 327680, 458752, 393216, 393216, 327680, 1376256, 393216, 327680, 393216, 327680, 393216, 393216, 393216, 327680, 393216, 327680, 393216, 393216, 327680, 327680, 458752, 393216, 458752, 393216, 393216, 327680, 327680, 327680, 327680, 393216, 983018, 983018, 983018, 983018, 6356971, 393216, 458752, 393216, 393192, 393192, 458728, 393192, 6029291, 983018, 983018, 983018 + + -5, 2 + + + 327680, 327680, 5963779, 917506, 917506, 917506, 917506, 917506, 458752, 655360, 327680, 393216, 393216, 393216, 393216, 393216, 655360, 393216, 655360, 393216, 393216, 327680, 327680, 327680, 393216, 327680, 393216, 393216, 393216, 393216, 393216, 393216, 327680, 393216, 458752, 393216, 458752, 393216, 458752, 655360, 5505002, -1, -1, -1, 6356971, 196608, 458752, 786434, 458728, 1441768, 458728, 458728, 6029291, 983018, 983018, 983018, 458728, 393192, 458728, 458728, 524264, 458728, 393192, 393192 + + 15, 17 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, 65536, 1, -1, -1, -1, -1, -1, -1, 5963777, 65537, -1, -1, -1, -1, -1, 458776, 262145, 851969, 1, -1, -1, -1, -1, 393240, 6291457, 5963777, 131073, -1, -1, -1, -1, 4587544, 327704, 4259865, -1, -1, -1, -1, -1, 720920, 720920, 4522009, 65537, -1, -1, -1, -1, 720920, 720920, 4390937, 65537, -1, -1, -1, -1 + + -6, 2 + + + 393216, 458752, 655360, 327680, 327680, 393216, 458752, 458752, 393216, 393216, 393216, 655360, 327680, 327680, 458752, 327680, 6356971, 458752, 458752, 393216, 393216, 393216, 327680, 327680, 6029291, 983018, 983018, 6356971, 393216, 327680, 786433, 393216, 458728, 458728, 524264, 6029291, 983018, 983018, 983018, 6356971, 393192, 458728, 458728, 393192, 393192, 458728, 458728, 6029291, 524264, 524264, 393192, 393192, 458728, 458728, 393192, 393192, 262120, 393192, 458728, 458728, 524264, 458728, 262120, 393192 + + 10, 17 + + + -1, -1, 0, 65536, 65536, 1048576, 1, -1, -1, 0, 851968, 5963776, 6029312, 5963777, 851969, 1, 0, 851968, 5963776, 6291456, 393240, 6291457, 5963777, 131073, 589827, 5963776, 6291456, 196632, 393240, 327704, 6356993, -1, -1, 262147, 393240, 327704, 393240, 6291458, 5963778, 65537, 65539, 5963779, 1441794, -1, 917506, 5963778, 851970, 2, 3, 983042, -1, 1114114, 1114114, 1114114, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 1, 2 + + + 4522008, 4259865, 6291457, 1572864, -1, 6029312, 5963777, 458752, 720920, 4456473, 4522008, 4587544, -1, 4259865, 6291457, 262144, 720920, 720920, 720920, 720920, 720920, 4456473, 4390936, 4259865, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 4456473, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920 + + 9, 17 + + + 1245184, 458752, 327657, 458728, 1114089, -1, -1, -1, 458752, 786432, 1245161, 393192, 917481, 65513, -1, -1, 1245184, 786434, 6356969, 6029289, 393192, 917481, 65513, -1, 7929858, 8060930, 7929859, 1245161, 458728, 458728, 1114089, -1, 8126465, 8716288, 8847363, 6356969, 6029289, 458728, 131049, -1, 8847361, 8716288, 8454147, 7929859, 6094825, 524264, 131049, -1, 8060929, 8388608, 8716288, 8257539, 1245161, 458728, 1114089, -1, 8519681, 8388608, 8454144, 7929856, 6094825, 458728, 917481, 65513 + + 0, 2 + + + 720920, 720920, 720920, 4456473, 4522008, 4325400, -1, 4522008, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920 + + 12, 17 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 65512, 655336, -1, 131048, 131048, 131048, 65539 + + -1, 2 + + + 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 4390938, 4456475, 720920, 720920, 720920, 720920, 720920, 720920, 327704, 4259867, 4390938, 4390938, 4522010, 4390938, 4456475, 720920 + + -2, 2 + + + 4390939, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 4522011, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 4522011, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 4522011, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 4522011, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 4259867, 4390938, 4390938, 4522010, 4390938, 4456475, 720920, 720920, 393240, 393240, 327704, 196632, 458776, 4259867, 4522010, 4390938, 393240, 393240, 393240, 393240, 393240, 393240, 458776, 458776 + + 6, 2 + + + -1, 458752, 327680, 262147, 2687000, 2949144, 2228248, 2228248, 327659, 393216, 5963776, 6291456, 196632, 2490392, 1769496, 1769496, 6356968, 393216, 6356995, 458776, 2555928, 2424856, 2621464, 1769496, 393216, 5963776, 6291456, 2555928, 2424856, 2621464, 2621464, 2228248, 393216, 262147, 393240, 2490392, 1769496, 2228248, 2228248, 2228248, 5963776, 6291456, 4259864, 4390936, 4522008, 4390936, 4259865, 2097176, 6291456, 4259864, 4456472, 720920, 720920, 720920, 4522009, 393240, 4259864, 4456472, 720920, 720920, 720920, 4456474, 4259866, 393240 + + 7, 2 + + + 2359320, 655384, 6356993, 458752, 458752, 1245184, 327680, 327680, 2359320, 393240, 524289, 458752, 393216, 327680, 458752, 393216, 2359320, 393240, -1, 196608, 393216, 458752, 458752, 327680, 2359320, 6291458, 5963778, 393216, 327680, 393216, 393216, 393216, 2359320, 1179649, 327680, 393216, 655360, 458752, 393216, 393216, 2162712, 262145, 458752, 393216, 393216, 327680, 655360, 458752, 6291458, 5963778, 393216, 393216, 393216, 458752, 196608, 196608, 6356993, 327680, 393216, 458752, 458752, 393216, 393216, 327680 + + 8, 2 + + + 393216, 393216, 327657, 1114089, -1, -1, -1, -1, 393216, 655360, 6094825, 1114089, -1, -1, -1, -1, 393216, 655360, 1245161, 1114089, -1, -1, -1, -1, 458752, 458752, 327657, 1114089, -1, -1, -1, -1, 1376256, 393216, 327657, 196585, -1, -1, -1, -1, 1245184, 393216, 327657, -1, -1, -1, -1, -1, 393216, 393216, 1245161, 655337, -1, -1, -1, -1, 393216, 393216, 1638377, -1, -1, -1, -1, -1 + + 2, 2 + + + 393216, 393216, 327680, 393216, 393216, 393216, 786432, 458752, 5963777, 393216, 393216, 327680, 393216, 393216, 393216, 1245184, 6291457, 6029312, 6356992, 1179648, 5963777, 327680, 393216, 393216, 4390936, 4522008, 4390936, 4259865, 6291457, 5963777, 458752, 327680, 720920, 720920, 720920, 4456473, 4259865, 6029313, 393216, 196608, 720920, 720920, 720920, 720920, 4522009, 6291457, 5963777, 458752, 720920, 720920, 720920, 720920, 4522009, 393240, 6356993, 458752, 720920, 720920, 720920, 720920, 4456473, 4259865, 262145, 786434 + + 3, 2 + + + 1245184, 393216, 393216, 2686976, 2949120, 3538944, 3932160, 3276800, 786434, 4063232, 327680, 393216, 2490368, 1769472, 3407872, 3080192, 1376256, 393216, 786432, 1245184, 2490368, 2621440, 3538944, 3932160, 393216, 786433, 1376256, 1376256, 2686976, 2949120, 1966080, 3538944, 786432, 393216, 327680, 458752, 393216, 2686976, 2097152, 2097152, 393216, 458752, 1376256, 786433, 7929858, 8257538, 8257538, 8060930, 458752, 458752, 1245184, 7929858, 8454146, 8650752, 8716288, 8192000, 458752, 7929858, 8847362, 8454146, 8323072, 8388608, 7864320, 8388608 + + 4, 2 + + + 3080192, 3211264, 3604480, 2359296, 6356969, 6029289, 8191977, 8847336, 3145728, 3080192, 3473408, 2359296, 393216, 6094825, 8191977, 8454120, 3866624, 3735552, 3801088, 2359296, 196608, 327657, 7995369, 8519657, 3997696, 3801088, 1835008, 2162688, 1376256, 6356969, 6029289, 8323049, 2097152, 2097152, 2162688, 7929858, 8060930, 7929859, 6422505, 8060905, 8060930, 8257538, 8257538, 8454146, 8388608, 8847363, 1638377, 8323049, 7864320, 8781824, 8388608, 8323072, 8454144, 7929856, -1, 8323049, 8388608, 8454144, 8126464, 8519680, 7929856, 6356970, 6029290, 7995369 + + 5, 2 + + + 7929832, 8716264, 8847336, 8650728, 8454120, 8847336, 8650728, 8323051, 8388584, 8257512, 8519656, 8585192, 8191976, 8323048, 8060904, 7995368, 8781800, 8847336, 8912875, 393192, 851947, 524264, 6029288, 6094824, 8781800, 8519656, 7995368, 851946, 1310696, 6029288, 6356968, 458752, 8257512, 8323051, 262120, 851944, 851945, 6094827, 393216, 393216, 8978408, 8323051, 1310696, 458728, 851945, 6094827, 1376256, 327680, 7929832, 8126443, 851945, 1441768, 458728, 6094827, 393216, 5963776, 8323048, 7995368, 851945, 393192, 6029288, 6356968, 393216, 262147 + + 7, 20 + + + 5963825, 5570608, 2031664, 2293808, 6160432, 6422576, 2490416, 2228272, 6291505, 5963825, 1769520, 2359344, 6422576, 6750256, 2490416, 1769520, 458824, 6357041, 1769520, 2359344, 6225968, 6815793, 2687024, 2949168, 327752, 6029361, 1835056, 2162736, 6488112, 6422576, 2555952, 2424880, 6291506, 5963826, 2359344, 6225968, 6815793, 7012402, 2490416, 1966128, 5963826, 2228272, 2359344, 6881330, 7143475, 6750256, 2490416, 2228272, 2621488, 1835056, 2162736, 6225968, 6225968, 2555952, 2424880, 1769520, 2621488, 2359344, 7405616, 6881328, 2555952, 2424880, 2228272, 2228272 + + -8, 3 + + + 393192, 458728, 393192, 458728, 458728, 393192, 458728, 393192, 458728, 458728, 458728, 524264, 458728, 458728, 458728, 458728, 262120, 524264, 393192, 393192, 458728, 524264, 458728, 524264, 1179626, 917483, 458728, 458728, 458728, 524264, 393192, 393192, -1, 65515, 1179626, 917483, 458728, 458728, 458728, 393192, -1, -1, -1, 65515, 1179626, 1179626, 1179626, 1179626, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -9, 3 + + + 524264, 458728, 458728, 393192, 458728, 393192, 393192, 458728, 458728, 720872, 458728, 393192, 524264, 524264, 458728, 458728, 720872, 524264, 720872, 458728, 458728, 458728, 262120, 262120, 1179626, 1179626, 1179626, 1179626, 1179626, 1179626, 1179626, 1179626, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 6, 20 + + + 262171, 5111856, 852016, 5963824, 262192, 262192, 262192, 6029360, 6029336, 852016, 5963824, 6291504, 458824, 5963848, 6357064, 5963849, 4259889, 5963824, 6291504, 393288, 458824, 6029387, 458848, 6029385, 4522033, 1179699, 4259912, 4390984, 4259913, 5963851, 917578, 5963850, 4522033, 6029363, 4390987, 720968, 4456521, 4522056, 4259913, 655432, 4522033, 262195, 4259915, 4456523, 720968, 720968, 4390985, 6291506, 4259890, 262195, 458824, 4390987, 720968, 720968, 4390985, 6029361, 393264, 5963827, 6291507, 4390987, 720968, 720968, 4522057, 6029361 + + -6, 3 + + + 262120, 524264, 262120, 458728, 524264, 393192, 458728, 720872, 458728, 851944, 458728, 720872, 458728, 458728, 524264, 393192, 393192, 262120, 393192, 393192, 393192, 458728, 458728, 458728, 524264, 458728, 393192, 524264, 262120, 524264, 393192, 720872, 458728, 458728, 720872, 458728, 458728, 393192, 458728, 720872, 458728, 458728, 262120, 458728, 393192, 458728, 393192, 1441768, 1179626, 1179626, 1179626, 1179626, 1179626, 1179626, 1179626, 917483, -1, -1, -1, -1, -1, -1, -1, 65515 + + 5, 20 + + + 720944, 720944, 4522033, 393264, 393264, 393264, 6357017, 655384, 720944, 720944, 4456497, 4390960, 4522032, 4259889, 6291481, 6029336, 4456499, 720944, 720944, 720944, 720944, 4456497, 4390960, 4390960, 4259891, 4456499, 720944, 720944, 720944, 720944, 720944, 720944, -1, 4259891, 4390962, 4390962, 4390962, 4456499, 720944, 720944, -1, -1, -1, -1, 524315, 4259891, 4456499, 720944, -1, -1, -1, 131099, -1, 327728, 4259891, 4390962, -1, -1, -1, -1, 5963803, 6291483, 327728, 327728 + + 4, 20 + + + -1, -1, -1, -1, -1, -1, -1, 4522035, -1, -1, -1, -1, -1, -1, -1, 4390963, -1, -1, -1, -1, -1, -1, -1, 4259891, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -7, 3 + + + 458728, 720872, 458728, 458728, 458728, 458728, 720872, 393192, 393192, 458728, 458728, 393192, 393192, 1310696, 458728, 524264, 1441768, 524264, 458728, 851944, 524264, 524264, 458728, 458728, 262120, 458728, 458728, 720872, 458728, 524264, 393192, 458728, 524264, 458728, 524264, 458728, 458728, 458728, 458728, 458728, 1179626, 1179626, 1179626, 1179626, 917483, 262120, 393192, 1441768, -1, -1, -1, -1, 65515, 1179626, 1179626, 1179626, -1, -1, -1, -1, -1, -1, -1, -1 + + 11, 20 + + + 5963801, 393216, 1245184, 327680, 1376256, 655360, 393216, 393216, 6357017, 458752, 393216, 393216, 327680, 393216, 655360, 393216, 4259889, 196608, 393216, 458752, 393216, 327680, 327680, 655360, 4390961, 393216, 393216, 393216, 458752, 393216, 458752, 458752, 4259890, 393216, 458752, 393216, 4784130, -1, 393216, 458752, 393216, 458752, 393216, 393216, -1, -1, 327680, 393216, 458752, 458752, 327680, 393216, 196608, 393216, 393216, 393216, 393216, 393216, 458752, 458752, 393216, 327680, 393216, 393216 + + 10, 20 + + + 4259866, 4522010, 4259866, 5963800, 6357016, 6357016, 6029336, 262168, 1179672, 1179672, 6029336, 6291480, 393264, 4259888, 4390960, 4259889, 4259888, 4522032, 4259889, 393264, 4259888, 4456496, 720944, 4456497, 4522035, 720944, 4390961, 458800, 4390963, 720944, 720944, 720944, 4456496, 720944, 4390961, 327728, 4259891, 4522034, 4522034, 4522034, 720944, 720944, 4456497, 4259889, 327680, 327680, 393216, 393216, 720944, 720944, 720944, 4522033, 327680, 393216, 393216, 1376256, 720944, 720944, 4456498, 4259890, 196608, 393216, 327680, 393216 + + -10, 3 + + + -1, -1, -1, 65515, 917483, 1441768, 262120, 458728, -1, -1, -1, -1, 65515, 1179626, 917483, 458728, -1, -1, -1, -1, -1, -1, 65515, 917483, -1, -1, -1, -1, -1, -1, -1, 65515, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 9, 20 + + + 1179696, 5963825, -1, 4390939, 720920, 720920, 4456474, 4325402, 5963849, 6029361, 6357017, 4259867, 4390938, 4390938, 4259866, 5963800, 6357065, 6029361, 1048625, 262168, 262168, 262168, 6029336, 6291480, 5963850, 6357041, 4259888, 4390960, 4522032, 4390960, 4259889, 393264, 6029361, 5963826, 4390963, 720944, 720944, 720944, 4456497, 4522032, 1179697, 852018, 4390963, 720944, 720944, 720944, 720944, 720944, 262193, 1048625, 4390963, 720944, 720944, 720944, 720944, 720944, 6029361, 1048625, 4390963, 720944, 720944, 720944, 720944, 720944 + + 8, 20 + + + 6357043, 1572939, 327776, 6357065, 5963848, 262216, 5963849, 6291505, 262195, -1, 393312, 6291529, 6291528, 393312, 6291529, 6357064, 262195, 6029387, 393312, 4259936, 4522080, 4259937, 393312, 393312, 1179699, 5963851, 6291531, 4391011, 720992, 4456545, 4259937, 6291530, 1179699, 393288, 6357067, 4259939, 4456547, 720992, 4522081, 6029385, 524339, 393288, 262219, 655456, 4259939, 4522082, 4259938, 1179721, -1, 393288, 6029387, 4259936, 4522080, 4259937, 6291530, 5963850, 5963827, 6291507, 262219, 4325475, 720992, 4522081, 6291529, 5963849 + + 0, 3 + + + 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 4522010, 4522010, 4390938, 4522010, 4390938, 4390938, 4456475, 720920, 327704, 327704, 393240, 458776, 393240, 393240, 4259867, 4522010, 393240, 393240, 393240, 393240, 393240, 327704, 393240, 1245208, 327704, 1376280, 458776, 327704, 327704, 458776, 458776, 393240, 917506, 917506, 917506, 917506, 917506, 917506, 917506, 917506, 393216, 393216, 393216, 327680, 393216, 393216, 393216, 393216, 393216, 327680, 393216, 327680, 327680, 655360, 458752, 327680 + + -1, 3 + + + 393240, 458776, 393240, 327704, 393240, 393240, 4522011, 720920, 917506, 917506, 917506, 6291459, 458776, 1376280, 4259867, 4390938, 327680, 327680, 393216, 5963779, 917506, 6291459, 393240, 393240, 458752, 393216, 327680, 327680, 458752, 5963779, 917506, 6291459, 6356971, 393216, 393216, 393216, 196608, 655360, 393216, 6029315, 6422507, 655360, 393216, 393216, 393216, 393216, 393216, 5963779, 6029291, 983018, 6356971, 327680, 393216, 458752, 458752, 196608, 524264, 458728, 6029291, 983018, 6356971, 393216, 1376256, 458752 + + 13, 20 + + + 393216, 393216, -1, 131049, -1, -1, -1, -1, 458752, 393216, 1638377, 196585, -1, -1, -1, -1, 327680, 393216, -1, -1, -1, -1, -1, -1, 458752, 393216, 6094825, 1114089, -1, -1, -1, -1, 458752, 327680, 6422505, 1114089, -1, -1, -1, -1, 393216, 196608, 327657, 131049, -1, -1, -1, -1, 393216, 327680, 6094825, 196585, -1, -1, -1, -1, 393216, 393216, 6094825, -1, -1, -1, -1, -1 + + 2, 3 + + + 720920, 720920, 720920, 720920, 720920, 4522009, 6291457, 5963777, 720920, 720920, 720920, 720920, 720920, 4456473, 4259865, 262145, 720920, 720920, 720920, 4456475, 720920, 720920, 4522009, 6291457, 720920, 720920, 720920, 720920, 720920, 720920, 4390937, 327704, 720920, 720920, 720920, 720920, 720920, 720920, 4456473, 4259865, 4522010, 4456475, 720920, 720920, 720920, 720920, 720920, 4456473, 393240, 4522011, 720920, 720920, 720920, 720920, 720920, 720920, 393240, 4259867, 4390938, 4456475, 720920, 720920, 720920, 720920 + + 12, 20 + + + 393216, 327680, 393216, 655360, 327680, 393216, 393216, 393216, 327680, 458752, 327680, 327680, 327680, 393216, 393216, 327680, 393216, 393216, 327680, 393216, 393216, 393216, 327680, 393216, 393216, 327680, 458752, 393216, 196608, 393216, 458752, 196608, 327680, 393216, 458752, 393216, 393216, 393216, 393216, 393216, 327680, 327680, 458752, 393216, 458752, 393216, 393216, 393216, 393216, 393216, 327680, 393216, 458752, 393216, 393216, 458752, 458752, 327680, 786435, 393216, 655360, 393216, 458752, 458752 + + 1, 3 + + + 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 4390938, 4456475, 720920, 720920, 720920, 720920, 720920, 720920, 458776, 4259867, 4522010, 4522010, 4456475, 720920, 720920, 720920, 327704, 655384, 393240, 393240, 4259867, 4456475, 720920, 720920, 917506, 917506, 6291459, 393240, 393240, 4259867, 4522010, 4390938, 393216, 393216, 5963779, 917506, 6291459, 327704, 327704, 393240, 393216, 458752, 458752, 393216, 5963779, 917506, 917506, 6291459 + + -4, 3 + + + 458728, 458728, 458728, 524264, 458728, 458728, 262120, 458728, 524264, 458728, 393192, 458728, 458728, 458728, 1310696, 524264, 393192, 458728, 458728, 393192, 524264, 458728, 720872, 458728, 458728, 458728, 458728, 458728, 458728, 524264, 393192, 393192, 720872, 1441768, 458728, 1441768, 524264, 458728, 524264, 393192, 458728, 720872, 262120, 458728, 458728, 458728, 458728, 458728, 458728, 851944, 393192, 458728, 524264, 458728, 458728, 458728, 393192, 393192, 458728, 458728, 524264, 393192, 393192, 720872 + + -5, 3 + + + 393192, 458728, 458728, 458728, 393192, 393192, 458728, 262120, 458728, 458728, 524264, 524264, 262120, 1441768, 393192, 524264, 458728, 458728, 458728, 393192, 458728, 458728, 524264, 524264, 393192, 524264, 458728, 458728, 458728, 458728, 458728, 458728, 393192, 393192, 393192, 458728, 393192, 262120, 1441768, 393192, 393192, 720872, 458728, 458728, 458728, 393192, 458728, 393192, 393192, 458728, 458728, 458728, 458728, 458728, 458728, 458728, 917483, 524264, 458728, 393192, 458728, 458728, 458728, 393192 + + -2, 3 + + + 917506, 917506, 917506, 917506, 6291459, 393240, 655384, 327704, 655360, 393216, 393216, 458752, 5963779, 917506, 917506, 917506, 393216, 393216, 393216, 393216, 458752, 655360, 393216, 327680, 983018, 983018, 6356971, 458752, 1376256, 393216, 393216, 786433, 458728, 458728, 6029291, 983018, 983018, 983018, 983018, 983018, 458728, 524264, 524264, 720872, 524264, 524264, 458728, 458728, 393192, 458728, 393192, 458728, 393192, 458728, 393192, 458728, 458728, 458728, 393192, 393192, 393192, 458728, 720872, 524264 + + -3, 3 + + + 6029291, 983018, 983018, 6356971, 393216, 327680, 5963779, 917506, 393192, 393192, 393192, 6029291, 6356971, 458752, 393216, 393216, 524264, 458728, 1441768, 458728, 6029291, 6356971, 393216, 393216, 458728, 458728, 1441768, 458728, 458728, 6029291, 983018, 983018, 393192, 393192, 524264, 458728, 458728, 458728, 1441768, 262120, 458728, 524264, 720872, 458728, 720872, 393192, 458728, 458728, 524264, 458728, 524264, 720872, 524264, 458728, 458728, 524264, 720872, 393192, 458728, 393192, 458728, 524264, 262120, 458728 + + 7, 3 + + + 5963778, 393216, 458752, 655360, 196608, 393216, 458752, 655360, 196608, 393216, 393216, 327680, 458752, 458752, 327680, 393216, 393216, 458752, 327680, 196608, 393216, 393216, 393216, 393216, 393216, 1245184, 393216, 327680, 393216, 393216, 393216, 393216, 458752, 393216, 393216, 196608, 458752, 393216, 393216, 327680, 393216, 458752, 393216, 327680, 393216, 655360, 458752, 327680, 458752, 458752, 393216, 393216, 393216, 655360, 393216, 393216, 393216, 393216, 458752, 458752, 393216, 393216, 393216, 458752 + + 8, 3 + + + 196608, 327680, -1, 655337, -1, -1, -1, -1, 327680, 393216, 6094825, -1, -1, -1, -1, -1, 393216, 458752, 327657, 131049, -1, -1, -1, -1, 1245184, 458752, 327657, 131049, -1, -1, -1, -1, 327680, 458752, 6422505, 131049, -1, -1, -1, -1, 458752, 6356970, 6029290, 131049, -1, -1, -1, -1, 393216, 1245161, 917482, 65514, -1, -1, -1, -1, 393216, 327657, 131049, -1, -1, -1, -1, -1 + + 5, 3 + + + 1441768, 851945, 262120, 6029288, 6356968, 655360, 327680, 262147, 1310696, 393192, 6029288, 6356968, 393216, 5963776, 6356992, 6291456, 6094824, 1245160, 6356968, 393216, 393216, 262147, 327704, 4259864, 655360, 393216, 393216, 393216, 5963776, 6291456, 393240, 4390939, 6356992, 1179648, 262144, 6029312, 6291456, 4259864, 4390936, 4456472, 4390936, 4390936, 4390936, 4390936, 4390936, 4456472, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920 + + 6, 3 + + + 4390939, 720920, 720920, 720920, 720920, 4522009, 327704, 6291458, 4390939, 720920, 720920, 720920, 720920, 4390937, 393240, 6029313, 4456472, 720920, 720920, 720920, 4456474, 4259866, 6291458, 5963778, 720920, 720920, 720920, 4456474, 4259866, 6291458, 5963778, 196608, 720920, 720920, 720920, 4522009, 393240, 262145, 458752, 327680, 720920, 720920, 720920, 4522009, 6291458, 5963778, 327680, 196608, 720920, 720920, 4456474, 4259866, 262145, 393216, 196608, 327680, 4456474, 4390938, 4259866, 393240, 6029313, 393216, 327680, 393216 + + 3, 3 + + + 393216, 8060929, 8388608, 8716288, 8650752, 8781824, 8192000, 7864320, 393216, 7929857, 8454145, 7864320, 8781824, 8454144, 8126464, 7995392, 5963777, 393216, 7929857, 8454145, 8192000, 8847363, 393216, 1376256, 6291457, 1179648, 5963777, 7929857, 8847360, 7929856, 786432, 458752, 196632, 1376280, 6029313, 393216, 786432, 1376256, 393216, 1376256, 4259865, 196632, 6291457, 5963777, 196608, 393216, 1376256, 786432, 4456473, 4390936, 4259865, 6029313, 458752, 393216, 4784130, -1, 720920, 720920, 4390937, 262145, 393216, 393216, -1, -1 + + 4, 3 + + + 8454144, 7929856, 393216, 1245184, 393216, 6422505, 458728, 851947, 7929856, 1376256, 786433, 393216, 6356970, 6029290, 1310696, 393192, 393216, 393216, 393216, 458752, 1245161, 458728, 458728, 6029288, 1376256, 393216, 786434, 786432, 6356969, 1638376, -1, 6356968, 1245184, 393216, 393216, 1376256, 5963776, 524288, -1, 262144, 1376256, 655360, 393216, 458752, 262147, 327704, 4259864, 4390936, 393216, 327680, 393216, 5963776, 6291456, 393240, 4522011, 720920, 393216, 458752, 458752, 262147, 393240, 4259864, 4456472, 720920 + + -5, 4 + + + 65515, 917483, 720872, 393192, 524264, 458728, 458728, 458728, -1, 65515, 917483, 458728, 458728, 458728, 458728, 458728, -1, -1, 1114091, 458728, 458728, 720872, 458728, 458728, -1, -1, 655339, 393192, 458728, 458728, 262120, 262120, -1, -1, -1, 458728, 262120, 458728, 524264, 458728, -1, -1, 1114091, 393192, 524264, 720872, 393192, 720872, -1, -1, 65515, 917483, 1441768, 458728, 458728, 458728, -1, -1, -1, 131051, 524264, 458728, 458728, 393192 + + 4, 19 + + + 6029291, 851971, 262147, 4259867, 4456475, 720920, 720920, 720920, 458728, 327659, 5963779, 6291459, 4259867, 4390938, 4522010, 4390938, 458728, 6029291, 6356971, 5963779, 5963800, 6357016, 6029336, 1179672, -1, -1, -1, 65563, 4259888, 4522032, 4390960, 4259889, -1, -1, -1, 65563, 4390963, 720944, 720944, 4390961, -1, -1, -1, 27, 4522035, 720944, 4456498, 4259890, -1, -1, -1, -1, 4522035, 720944, 4522033, 4259888, -1, -1, -1, -1, 4259891, 4522034, 4259890, 4522035 + + 3, 19 + + + -1, -1, -1, -1, -1, 131051, 458728, 393192, -1, -1, -1, -1, -1, -1, -1, 458728, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 6, 19 + + + 4259865, 393240, 262171, 6422576, 6488112, 393264, 6619184, 1179673, 4390937, 393240, 6357019, 6553648, 327728, 393264, 458800, 6291481, 4259866, 5963800, 6291480, 5111856, 5570608, 5898288, -1, 5701680, 5963800, 6291480, 6488112, 6160432, 2555952, 2031664, 2293808, 6422576, 6029339, 5505072, 6422576, 2555952, 2424880, 2883632, 2359344, 458800, 262171, 5308464, 2031664, 2424880, 1769520, 2621488, 1900592, 2031664, 262171, 5308464, 2228272, 2621488, 2228272, 1769520, 2228272, 1769520, 6029339, 5308464, 1769520, 1769520, 2228272, 2883632, 1769520, 2228272 + + 5, 19 + + + 4390937, 4390939, 720920, 4456473, 4259865, 393240, 4259864, 4522008, 4259866, 4522011, 720920, 720920, 4390937, 393240, 4522011, 720920, 5963801, 4259867, 4587546, 4259866, 4259866, 393240, 4259867, 4390938, 6291481, 262168, 262168, 5963801, 327704, 4259864, 4522008, 4259865, 458800, 458800, 393264, 6291481, 5963801, 4390939, 720920, 4390937, 393264, 4259888, 4390960, 4259889, 1179673, 4259867, 4390938, 4259866, 4522032, 4456496, 720944, 4390961, 6291481, 6029336, 5963801, 393240, 720944, 720944, 4456498, 4259890, 327728, 393264, 6029337, 458776 + + 8, 19 + + + 262171, 5570608, 327728, 393264, 6357017, 6291457, 5963777, 1376256, 6291480, 393264, 393264, 458800, 6029337, 655384, 6291457, 6029312, 5963824, 262192, 262192, 5963825, 6357017, 327704, 655384, 393240, 262195, 393288, 393288, 262193, 6029337, 393240, 655384, 655384, 6291504, 393288, 393288, 262193, 6291481, 1179672, 5963801, 327704, 393288, 327752, 196680, 6291505, 5963825, 196656, 6291481, 5963801, 393288, 5963848, 1179720, 5963849, 6291505, 5963825, 2293808, 6291481, 6291507, 6029387, 393312, 262217, 327752, 6291505, 6357040, 5963825 + + 7, 19 + + + 2687000, 2949144, 1769496, 2228248, 1966104, 1769496, 1769496, 2359320, 524312, -1, 5963801, 2949144, 1769496, 2228248, 5963800, 262168, 5636144, 5570608, 1310745, -1, 1638425, 1507355, -1, 1376304, 6094896, 5767216, -1, -1, -1, -1, -1, 393264, 6225968, 6160432, -1, -1, -1, -1, -1, 5963824, 2031664, 2293808, -1, -1, -1, -1, -1, 524339, 1769520, 1769520, -1, -1, -1, -1, -1, -1, 1769520, 2359344, -1, -1, -1, -1, -1, 5963827 + + 10, 19 + + + 1179651, 2490392, 2228248, 1769496, 2228248, 1769496, 2228248, 2359320, 6291456, 2490392, 2621464, 2228248, 2228248, 2621464, 2228248, 2359320, 393240, 2687000, 2097176, 4259864, 4390936, 4259865, 1835032, 2162712, 4259864, 4390936, 4522008, 4456472, 720920, 4390937, 2359320, 6291458, 4522011, 720920, 720920, 720920, 720920, 4390937, 2359320, 6356993, 4522011, 720920, 720920, 4456474, 4390938, 4259866, 2359320, 1179649, 4456472, 720920, 4456474, 4259866, 2490392, 2228248, 2359320, 262145, 720920, 720920, 4390937, 327704, 2687000, 2097176, 2162712, 6356993 + + 9, 19 + + + 327680, 8847361, 7864320, 8323072, 8323072, 8912896, 8519683, 393216, 5963777, 8847361, 8716288, 8912896, 8716288, 7864320, 8519683, 5963776, 262145, 7929857, 8257536, 8454145, 8388608, 7864320, 8257539, 1179651, 1179649, 393216, 327680, 7929857, 8847360, 8060928, 7929856, 6029315, 6291457, 524288, -1, 5963777, 393216, 5963776, 262144, 6291456, 458776, 393240, 393240, 6291457, 5963777, 1179651, 458776, 458776, 6029336, 6029336, 5963801, 327704, 6291457, 6291456, 4259864, 4390936, 196656, 327728, 524313, 4259864, 4390936, 4390936, 4456472, 720920 + + 12, 19 + + + 720920, 720920, 4390937, 4259867, 4522010, 4390938, 4259866, 4587546, 720920, 4456474, 4259866, 393216, 393216, 327680, 393216, 393216, 4390938, 4259866, 327680, 196608, 393216, 458752, 1245184, 393216, 393216, 393216, 458752, 327680, 327680, 393216, 393216, 393216, 393216, 327680, 327680, 393216, 327680, 327680, 393216, 393216, 393216, 458752, 327680, 393216, 1245184, 458752, 393216, 393216, 393216, 458752, 393216, 393216, 327680, 327680, 393216, 393216, 327680, 655360, 327680, 393216, 393216, 393216, 458752, 393216 + + 3, 4 + + + 720920, 720920, 4522009, 6356993, 393216, 1376256, 393216, 786433, 720920, 720920, 4522009, 1179649, 393216, 393216, 786432, 393216, 4456475, 720920, 4522009, 524289, 393216, 786433, 1376256, 786434, 4390939, 720920, 4522009, -1, 393216, 1245184, 327680, 1245184, 4259867, 4522010, 4259866, 262145, 458752, 1376256, 4849664, -1, 917506, 917506, 917506, 5963778, 458752, 1376256, -1, -1, -1, -1, 983018, 983018, 6356971, 1245184, 786435, 1376256, 2097128, 2097128, 2097128, 2359272, 6094827, 327680, 393216, 458752 + + 11, 19 + + + -1, 5963779, 917506, 917506, 6291459, 4390939, 720920, 720920, 6029313, 4259864, 4522008, 4522008, 4522008, 4456472, 720920, 720920, 6356993, 4522011, 720920, 720920, 720920, 720920, 4456474, 4522010, 5963778, 4522011, 720920, 720920, 720920, 720920, 4522009, 393216, 4259864, 4456472, 720920, 720920, 720920, 720920, 4390937, 393216, 4390939, 720920, 720920, 4456474, 4522010, 4390938, 4259866, 393216, 4390939, 720920, 720920, 4390937, 327680, 393216, 393216, 327680, 4259867, 4325402, -1, 4259866, 393216, 327680, 393216, 655360 + + 2, 4 + + + 6291459, 393240, 655384, 4259867, 4522010, 4522010, 4456475, 720920, 5963779, 917506, 917506, 917506, 6291459, 327704, 4390939, 720920, 393216, 393216, 458752, 393216, 5963779, 6291459, 4259867, 4390938, 458752, 393216, 327680, 393216, 196608, 5963779, 917506, 6291459, 6356971, 393216, 393216, 327680, 458752, 393216, 393216, 262147, 6029291, 983018, 983018, 983018, 6356971, 393216, 393216, 5963779, 2097128, 2097128, 2097128, 2359272, 6029291, 983018, 5505002, -1, 4325352, 4456424, 4325353, 1966056, 2097128, 2359272, 458728, 2621416 + + 1, 4 + + + 458752, 458752, 393216, 327680, 196608, 393216, 393216, 5963779, 983018, 983018, 983018, 6356971, 786433, 327680, 393216, 393216, 393192, 393192, 458728, 6029291, 983018, 6356971, 393216, 393216, 1441768, 458728, 393192, 393192, 524264, 6029291, 983018, 6356971, 458728, 2621416, 2097128, 2097128, 2097128, 2097128, 2359272, 6029291, 2097128, 2490344, 4325352, 4587496, 4587496, 4325353, 1966056, 2359272, 3080168, 4325352, 4521960, 786408, 786408, 4587497, 1834984, 1966056, 3080168, 4587499, 786408, 4521962, 4587498, 4325354, 2031592, 1834984 + + 13, 19 + + + -1, 4259866, 4259867, 4587546, -1, 4259866, -1, 2, 327680, 6422505, 196585, -1, -1, -1, -1, -1, 458752, 6094825, -1, -1, -1, -1, -1, -1, 327680, 327657, 1114089, -1, -1, -1, -1, -1, 393216, 327657, 131049, -1, -1, -1, -1, -1, 393216, 1245161, 917481, 65513, -1, -1, -1, -1, 458752, 6356969, 6029289, 655337, -1, -1, -1, -1, 393216, 655360, 589801, -1, -1, -1, -1, -1 + + 0, 4 + + + 983018, 983018, 983018, 983018, 983018, 983018, 6356971, 196608, 262120, 524264, 458728, 393192, 458728, 262120, 6029291, 983018, 458728, 458728, 720872, 1310696, 458728, 262120, 524264, 458728, 524264, 458728, 458728, 458728, 393192, 458728, 720872, 393192, 393192, 458728, 458728, 458728, 458728, 262120, 458728, 458728, 2359272, 393192, 458728, 2621416, 2097128, 2097128, 2097128, 2097128, 1966056, 2097128, 2097128, 2490344, 2031592, 2293736, 2686952, 2293736, 1834984, 1834984, 1834984, 2293736, 2293736, 1834984, 2031592, 2293736 + + -1, 4 + + + 458728, 458728, 458728, 524264, 6029291, 983018, 983018, 983018, 458728, 393192, 458728, 458728, 458728, 524264, 458728, 393192, 262120, 458728, 524264, 851947, 720872, 458728, 524264, 458728, 2097128, 2359272, 524264, 458728, 458728, 720872, 458728, 458728, 2293736, 1966056, 2097128, 2359272, 458728, 458728, 720872, 458728, 2031592, 1834984, 2686952, 1966056, 2097128, 2097128, 2097128, 2097128, 1834984, 1834984, 2031592, 2293736, 2293736, 2293736, 2293736, 2293736, 2818024, 1834984, 2293736, 2293736, 2031592, 2686952, 2293736, 2031592 + + -2, 4 + + + 524264, 393192, 393192, 393192, 393192, 458728, 393192, 458728, 458728, 458728, 393192, 458728, 458728, 393192, 458728, 393192, 458728, 458728, 458728, 720872, 458728, 458728, 524264, 458728, 524264, 458728, 458728, 458728, 2621416, 2097128, 2097128, 2097128, 393192, 1310696, 458728, 2621416, 2490344, 2293736, 1834984, 2686952, 458728, 458728, 2621416, 2490344, 1834984, 1834984, 2293736, 2293736, 458728, 458728, 2555880, 1834984, 2686952, 2686952, 2293736, 2818024, 458728, 458728, 2555880, 1834984, 1834984, 1834984, 1834984, 2293736 + + -3, 4 + + + 720872, 458728, 458728, 393192, 458728, 458728, 393192, 720872, 393192, 393192, 393192, 458728, 458728, 458728, 524264, 393192, 524264, 393192, 524264, 1441768, 393192, 393192, 524264, 393192, 458728, 458728, 393192, 720872, 458728, 458728, 393192, 393192, 262120, 524264, 458728, 720872, 393192, 1441768, 524264, 393192, 458728, 458728, 393192, 262120, 458728, 458728, 458728, 458728, 458728, 393192, 851947, 458728, 524264, 458728, 393192, 458728, 458728, 393192, 458728, 851947, 524264, 458728, 458728, 393192 + + -4, 4 + + + 720872, 393192, 458728, 393192, 458728, 851945, 393192, 458728, 458728, 393192, 393192, 524264, 393192, 524264, 524264, 458728, 524264, 458728, 524264, 524264, 393192, 393192, 458728, 458728, 458728, 458728, 458728, 458728, 458728, 458728, 458728, 458728, 458728, 524264, 524264, 458728, 458728, 458728, 393192, 524264, 458728, 393192, 524264, 393192, 524264, 458728, 458728, 720872, 458728, 393192, 458728, 458728, 458728, 458728, 393192, 458728, 458728, 851947, 458728, 458728, 458728, 458728, 458728, 393192 + + 5, 22 + + + -1, -1, -1, -1, -1, -1, -1, 196632, -1, 65515, 917483, 458728, 6422507, 327680, 5963779, 1441794, -1, -1, 131051, 851944, 6029291, 6356971, 393216, 327680, -1, -1, 1114091, 262120, 458728, 1245163, 458752, 393216, -1, -1, 131051, 393192, 458728, 720872, 6356971, 327680, -1, -1, 1114091, 458728, 393192, 393192, 6029291, 6356971, -1, -1, 1114091, 524264, 262120, 458728, 393192, 327659, -1, -1, 131051, 262120, 458728, 458728, 458728, 1245163 + + 5, 4 + + + 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 4456474, 4390938, 720920, 4456474, 4522010, 4522010, 4522010, 4390938, 4259866, 393240, 4456474, 4259866, 393240, 393240, 327704, 393240, 393240, 6291458, 4259866, 393240, 393240, 393240, 393240, 393240, 327704, 6029313, 6291458, 917506, 917506, 917506, 917506, 917506, 917506, 5963778, 5963778, 458752, 393216, 196608, 196608, 196608, 196608, 1376256, 327680, 393216, 655360, 6356970, 983018, 983018, 983018, 983018 + + 4, 4 + + + 393216, 1376256, 5963776, 6291456, 4259864, 4456472, 720920, 720920, 327680, 393216, 1572867, 4259864, 4456472, 720920, 720920, 720920, 393216, 393216, -1, 4390939, 720920, 720920, 720920, 720920, 327680, 393216, 6029315, 4390939, 720920, 720920, 720920, 720920, 393216, 196608, 6356995, 4390939, 720920, 720920, 720920, 4456474, 327680, 458752, 262147, 4390939, 720920, 4456474, 4522010, 4259866, 786435, 393216, 6029315, 4522011, 720920, 4522009, 6291458, 917506, 655360, 327680, 6029315, 4259867, 4522010, 4259866, 262145, 327680 + + 7, 4 + + + 393216, 458752, 393216, 393216, 327680, 393216, 393216, 327680, 393216, 393216, 196608, 327680, 393216, 393216, 393216, 393216, 327680, 327680, 393216, 393216, 458752, 327680, 393216, 6356970, 393216, 393216, 393216, 6356970, 983018, 983018, 983018, 6029290, 1376256, 6356970, 983018, 6029290, 2097128, 2097128, 2097128, 2359272, 983018, 6029290, 2490344, 2686952, 1834984, 3080168, 2293736, 2424808, 2097128, 2490344, 1834984, 1834984, 2686952, 2293736, 2293736, 2424808, 1834984, 2031592, 1834984, 1834984, 4259816, 2293736, 2031592, 2424808 + + 6, 4 + + + 4390937, 393240, 393240, 6291458, 5963778, 393216, 458752, 458752, 4259866, 6291458, 917506, 5963778, 393216, 327680, 393216, 393216, 6291458, 5963778, 655360, 196608, 393216, 327680, 786432, 393216, 5963778, 327680, 458752, 393216, 327680, 393216, 1376256, 458752, 6356968, 655360, 393216, 393216, 393216, 655360, 393216, 327680, 393216, 393216, 393216, 393216, 393216, 458752, 393216, 6356970, 6356970, 983018, 983018, 983018, 983018, 983018, 983018, 6029290, 6029290, 2097128, 2097128, 2097128, 2490344, 2293736, 2031592, 1834984 + + 8, 4 + + + 327680, 327657, 131049, 65512, 1114088, -1, -1, -1, 6356970, 6029290, 917481, 917480, 393192, -1, -1, -1, 6029290, 458728, 458728, 720872, 458728, -1, -1, -1, 393192, 458728, 458728, 262120, 262120, -1, -1, -1, 458728, 524264, 524264, 458728, 458728, -1, -1, -1, 458728, 1441768, 262120, 458728, 458728, -1, -1, -1, 1441768, 458728, 458728, 393192, 458728, -1, -1, -1, 524264, 458728, 458728, 262120, 524264, -1, -1, -1 + + -3, 5 + + + 458728, 393192, 458728, 458728, 458728, 393192, 458728, 393192, 458728, 458728, 393192, 458728, 393192, 458728, 720872, 524264, 262120, 458728, 458728, 458728, 720872, 458728, 458728, 851945, 458728, 720872, 458728, 393192, 458728, 458728, 458728, 458728, 458728, 458728, 393192, 393192, 458728, 458728, 458728, 458728, 458728, 262120, 458728, 458728, 393192, 393192, 458728, 393192, 524264, 262120, 458728, 458728, 458728, 458728, 393192, 262120, 524264, 458728, 1441768, 524264, 393192, 458728, 524264, 524264 + + -2, 5 + + + 393192, 458728, 2555880, 2686952, 2686952, 2031592, 1834984, 1834984, 524264, 458728, 2752488, 3014632, 1834984, 2031592, 2949096, 2293736, 393192, 524264, 458728, 2752488, 2162664, 3014632, 2293736, 2293736, 262120, 393192, 458728, 458728, 393192, 2752488, 3014632, 2293736, 458728, 393192, 851946, 1441768, 458728, 458728, 2752488, 3014632, 524264, 524264, 393192, 458728, 458728, 458728, 458728, 2752488, 393192, 524264, 458728, 458728, 458728, 458728, 458728, 524264, 458728, 917482, 1179626, 1179626, 1179626, 1179626, 1179626, 1179626 + + -1, 5 + + + 1834984, 2293736, 2293736, 2293736, 2686952, 1834984, 1834984, 1834984, 2293736, 2293736, 1834984, 2293736, 2686952, 1834984, 2031592, 2293736, 1834984, 1834984, 2293736, 2031592, 2293736, 2293736, 1834984, 1834984, 2686952, 2293736, 2031592, 2293736, 2949096, 2686952, 2686952, 1834984, 1834984, 2293736, 2686952, 1834984, 2686952, 1834984, 2293736, 1834984, 3014632, 2686952, 2031592, 3080168, 1834984, 1834984, 1834984, 2293736, 2752488, 2162664, 3014632, 1834984, 2031592, 2293736, 2293736, 1834984, 1179626, 917483, 2555880, 2686952, 1834984, 2686952, 2293736, 1834984 + + 0, 5 + + + 1834984, 2293736, 2293736, 2031592, 2686952, 1834984, 2293736, 1834984, 2293736, 1834984, 1834984, 1834984, 1834984, 1834984, 1834984, 2031592, 1834984, 2293736, 4325352, 4587496, 4456424, 4456424, 4325353, 1834984, 2031592, 1834984, 4587499, 786408, 786408, 786408, 4718569, 2686952, 2293736, 1834984, 4456427, 786408, 786408, 786408, -1, 2883560, 1834984, 2031592, 4325355, 4521963, 786408, 4521962, 4325354, 2293736, 2031592, 1834984, 1834984, 4325355, 4456426, 4325354, 1900520, 2162664, 2293736, 2293736, 1834984, 1900520, 2162664, 2162664, 2228200, 917482 + + 1, 5 + + + 4325352, 4521960, 786408, 4456425, 2293736, 2686952, 4325352, 4456424, 4587499, 786408, 786408, 4587497, 1834984, 4325352, 4521960, 786408, 4325355, 4587498, 4587498, 4325354, 2818024, 4456427, 786408, 786408, 2686952, 2293736, 2293736, 2293736, 1834984, 4325355, 4587498, 4587498, 2686952, 2293736, 2293736, 2293736, 1900520, 2162664, 2228200, 2162664, 1900520, 2162664, 2162664, 2162664, 2228200, 917482, 1179626, 1179626, 2228200, 917482, 1179626, 1048554, -1, 65514, -1, -1, 1179626, 65514, -1, -1, -1, -1, -1, -1 + + 2, 5 + + + 4521960, 786408, 4521961, 4325353, 2293736, 1966056, 2097128, 2490344, 786408, 786408, 786408, 4521961, 4325353, 2686952, 1834984, 2686952, 4521962, 4456426, 4521963, 786408, 4521961, 4587496, 4325353, 1834984, 4325354, 1834984, 4325355, 4521963, 786408, 786408, 4521961, 4325353, 2162664, 2162664, 2162664, 4587499, 786408, 786408, 786408, 4587497, 1179626, 1179626, 917483, 4325355, 4521963, 786408, 4521962, 4325354, -1, -1, 131051, 2752488, 4325355, 4587498, 4325354, 2686952, -1, -1, 65515, 917483, 2752488, 2162664, 3014632, 1834984 + + 3, 5 + + + 3735528, 3407848, 3669992, 1966056, 327659, 196608, 458752, 393216, 3473384, 3932136, 3276776, 3669992, 6029291, 6356971, 327680, 393216, 3604456, 3997672, 3211240, 3538920, 2424808, 1245163, 327680, 327680, 2293736, 3473384, 3211240, 3538920, 2424808, 6094827, 393216, 458752, 2686952, 3604456, 4063208, 3866600, 2424808, 1245163, 458752, 393216, 1834984, 2293736, 2293736, 2031592, 2424808, 6094827, 393216, 327680, 3735528, 3407848, 3669992, 1900520, 2228200, 327659, 393216, 458752, 3473384, 3342312, 3538920, 2424808, 6029288, 6356968, 393216, 327680 + + 4, 5 + + + 327680, 458752, 5963779, 917506, 917506, 917506, 5963778, 458752, 327680, 393216, 655360, 6356970, 983018, 983018, 983018, 1507306, 393216, 393216, 6356970, 6029290, 1834984, 2293736, 4325352, 4456424, 458752, 458752, 6094825, 3735528, 3407848, 3669992, 4456427, 786408, 327680, 6356970, 6029290, 4980712, 3145704, 3538920, 4325355, 4456426, 393216, 589801, 3473384, 3211240, 3801064, 3866600, 2293736, 2293736, 393216, -1, 3604456, 4063208, 3866600, 1900520, 2162664, 3014632, 393216, 327657, 2162664, 2162664, 2162664, 2228200, 393192, 2752488 + + 12, 22 + + + 327680, 393216, 327680, 393216, 196608, 4784130, -1, 327680, 393216, 393216, 327680, 393216, 393216, -1, -1, 393216, 196608, 393216, 327680, 393216, 393216, 393216, 393216, 327680, 1376256, 458752, 458752, 393216, 393216, 458752, 327680, 393216, 655360, 393216, 458752, 655360, 393216, 393216, 1376256, 393216, 393216, 327680, 655360, 655360, 196608, 655360, 393216, 458752, 393216, 393216, 327680, 393216, 458752, 196608, 393216, 655360, 393216, 393216, 458752, 327680, 393216, 196608, 393216, 393216 + + 13, 22 + + + 393216, 327680, -1, 1769449, -1, -1, -1, -1, 393216, 327680, 5242857, -1, -1, -1, -1, -1, 393216, 1376256, -1, -1, -1, -1, -1, -1, 655360, 458752, -1, -1, -1, -1, -1, -1, 393216, 393216, -1, 131049, -1, -1, -1, -1, 655360, 393216, 1638377, 1114089, -1, -1, -1, -1, 655360, 393216, -1, 131049, -1, -1, -1, -1, 1376256, 393216, 6094825, 1769449, -1, -1, -1, -1 + + 10, 22 + + + 393216, 458752, 327680, 393216, 786434, 393216, 393216, 458752, 327680, 458752, 1376256, 393216, 458752, 393216, 327680, 393216, 393216, 458752, 393216, 393216, 786432, 393216, 393216, 393216, 458752, 393216, 393216, 393216, 393216, 393216, 458752, 393216, 458752, 327680, 393216, 393216, 393216, 393216, 393216, 327680, 458752, 393216, 327680, 655360, 327680, 1245184, 327680, 786433, 327680, 393216, 327680, 393216, 393216, 393216, 786433, 458752, 458752, 393216, 1245184, 393216, 327680, 655360, 327680, 393216 + + 11, 22 + + + 327680, 458752, 1376256, 196608, 458752, 458752, 393216, 458752, 458752, 393216, 327680, 458752, 327680, 393216, 393216, 655360, 458752, 327680, 393216, 393216, 393216, 393216, 393216, 393216, 393216, 327680, 393216, 393216, 393216, 393216, 393216, 393216, 327680, 393216, 1245184, 393216, 327680, 327680, 196608, 327680, 393216, 393216, 458752, 327680, 393216, 393216, 393216, 393216, 458752, 786432, 393216, 393216, 458752, 393216, 458752, 327680, 327680, 458752, 393216, 458752, 458752, 393216, 393216, 327680 + + 8, 22 + + + 2293808, 6750256, 6422576, 7012401, 327728, 393264, 393264, 393264, 1900592, 2031664, 2031664, 2031664, 2293808, 655408, 458800, 2555952, 2228272, 2228272, 1966128, 2621488, 1900592, 2031664, 2031664, 2424880, 262192, 262192, 5963825, 2949168, 2621488, 1769520, 1769520, 2883632, 4390984, 4259913, 6291505, 1179696, 1179696, 1179696, 262192, 6029360, 720968, 4390985, 327752, 4259912, 4390984, 4522056, 4522056, 4259913, 720968, 4456521, 4259913, 4390987, 720968, 720968, 720968, 4522057, 720968, 720968, 4456521, 4456520, 720968, 720968, 720968, 4522057 + + 9, 22 + + + 327728, 393264, 6029337, 196632, 262145, 458752, 393216, 393216, 2031664, 2293808, 6029337, 327704, 262145, 6356971, 393216, 458752, 1769520, 2359344, 131121, 393240, 1179649, 6422507, 393216, 1376256, 1769520, 2359344, -1, 917506, 5963778, 6356968, 327680, 458752, 5963825, 2162736, 65585, 393216, 393216, 393216, 393216, 458752, 6291505, 5963825, 65585, 458752, 327680, 393216, 327680, 393216, 393288, 262193, 1048625, 458752, 458752, 393216, 458752, 655360, 6291506, 5963826, 65585, 196608, 655360, 393216, 393216, 393216 + + -5, 5 + + + -1, -1, -1, 131051, 720872, 458728, 720872, 458728, -1, -1, -1, 1114091, 458728, 458728, 393192, 458728, -1, -1, -1, 131051, 524264, 524264, 262120, 393192, -1, -1, -1, 131051, 393192, 393192, 458728, 720872, -1, -1, -1, 131051, 458728, 393192, 720872, 524264, -1, -1, -1, 1114091, 393192, 393192, 393192, 458728, -1, -1, -1, 1114091, 458728, 458728, 720872, 393192, -1, -1, -1, 65515, 917483, 458728, 458728, 458728 + + 6, 22 + + + 5963803, 6029363, 393288, 458824, 393288, 4522059, 720968, 4456521, -1, 5963827, 6291507, 393288, 786507, 4390987, 720968, 720968, 393216, 5963779, 6291459, 393240, 327752, 4390987, 720968, 720968, 393216, 458752, 262147, 393240, 393288, 4259915, 4522058, 4390986, 458752, 196608, 524291, 327704, 393288, 393288, 327752, 4259912, 1376256, 327680, -1, 327704, 393240, 393240, 196680, 4390987, 393216, 393216, 5963779, 6291459, 393240, 393240, 6291507, 4522059, 327680, 196608, 393216, 5963779, 917506, 6291459, 5963827, 4259915 + + -4, 5 + + + 458728, 458728, 524264, 393192, 393192, 393192, 720872, 720872, 458728, 458728, 458728, 524264, 458728, 458728, 458728, 393192, 393192, 458728, 393192, 458728, 458728, 524264, 393192, 458728, 524264, 458728, 458728, 458728, 458728, 458728, 458728, 458728, 524264, 393192, 524264, 458728, 458728, 458728, 458728, 393192, 458728, 851946, 458728, 458728, 393192, 1441768, 524264, 393192, 458728, 393192, 393192, 524264, 720872, 458728, 262120, 524264, 393192, 458728, 393192, 524264, 458728, 524264, 458728, 393192 + + 7, 22 + + + 4456520, 720968, 4456521, 4259913, 393288, 6291505, 5963825, 2031664, 720968, 720968, 720968, 4456521, 4390984, 4259913, 6029361, 2228272, 720968, 720968, 720968, 720968, 720968, 4522057, 6291505, 5963825, 4390986, 4522058, 4390986, 4390986, 4390986, 4259914, 1245256, 6291505, 4522056, 4390984, 4259913, 4259912, 4522056, 4259913, 4259912, 4522056, 720968, 720968, 4522057, 4522059, 720968, 4456521, 4456520, 720968, 720968, 720968, 4390985, 4259915, 4456523, 720968, 720968, 720968, 4390986, 4522058, 4259914, 393288, 4522059, 720968, 720968, 720968 + + 8, 5 + + + 458728, 393192, 393192, 393192, 458728, -1, -1, -1, 524264, 524264, 524264, 393192, 262120, -1, -1, -1, 458728, 393192, 458728, 720872, 458728, -1, -1, -1, 458728, 458728, 393192, 262120, 393192, -1, -1, -1, 393192, 458728, 262120, 458728, 458728, -1, -1, -1, 393192, 458728, 458728, 524264, 458728, -1, -1, -1, 458728, 458728, 720872, 393192, 393192, -1, -1, -1, 458728, 458728, 458728, 458728, 458728, -1, -1, -1 + + 7, 5 + + + 2293736, 2686952, 2293736, 2686952, 2031592, 2293736, 1900520, 2228200, 2293736, 1834984, 2293736, 1834984, 1834984, 1834984, 2424808, 458728, 2293736, 1834984, 2818024, 2031592, 2293736, 1900520, 2228200, 458728, 2293736, 4259816, 2293736, 2031592, 2293736, 2949096, 2424808, 393192, 2949096, 1834984, 2686952, 2686952, 4259816, 2031592, 2424808, 458728, 1834984, 1834984, 2293736, 2293736, 2686952, 2293736, 2424808, 393192, 2031592, 2686952, 2686952, 2293736, 1834984, 3080168, 2424808, 458728, 3014632, 2293736, 3080168, 2293736, 2949096, 1834984, 2424808, 524264 + + 6, 5 + + + 2490344, 4325352, 4587496, 4325353, 2293736, 1834984, 2293736, 2031592, 2031592, 4456427, 786408, 4521961, 4325353, 2031592, 2818024, 3080168, 2293736, 4325355, 4521963, 786408, 4521961, 4325353, 1834984, 2818024, 1834984, 1834984, 4456427, 786408, 786408, 4456425, 2293736, 1834984, 1834984, 1834984, 4325355, 4521963, 786408, 4456425, 1834984, 1834984, 2949096, 2883560, 2293736, 4325355, 4456426, 4325354, 2293736, 2686952, 2883560, 2031592, 1900520, 2162664, 3014632, 2686952, 2293736, 2293736, 2293736, 1834984, 2424808, 393192, 2555880, 1834984, 2293736, 1900520 + + 5, 5 + + + 393216, 6356970, 983018, 6029290, 2097128, 2097128, 2097128, 2097128, -1, 6029290, 2097128, 2490344, 4325352, 4456424, 4325353, 2293736, 4325353, 2293736, 4325352, 4456424, 4521960, 786408, 4521961, 4325353, 4456425, 2031592, 4587499, 786408, 786408, 786408, 786408, 4390889, 4325354, 2686952, 4587499, 786408, 786408, 786408, 786408, -1, 2686952, 2686952, 4456427, 786408, 786408, 786408, 4521962, 4325354, 2293736, 1900520, 4325355, 4587498, 4456426, 4587498, 4325354, 2293736, 2162664, 2228200, 458728, 2752488, 2162664, 3014632, 1834984, 1834984 + + 0, 6 + + + 2293736, 2031592, 1900520, 2228200, 917482, 1048554, -1, 65514, 2162664, 2162664, 2228200, 917482, 65514, -1, -1, -1, 1048554, -1, 1179626, 65514, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -2, 6 + + + 1179626, 65514, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -1, 6 + + + -1, 1114091, 2752488, 2162664, 2162664, 3014632, 2293736, 2293736, -1, 65515, 1179626, 1179626, 917483, 2752488, 2162664, 2162664, -1, -1, -1, -1, 65515, 1179626, 1048554, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 13, 21 + + + 393216, 393216, 1245161, 1114089, -1, -1, -1, -1, 393216, 393216, 327657, 131049, -1, -1, -1, -1, 655360, 327680, 327657, 131049, -1, -1, -1, -1, 393216, 393216, 1245161, 1114089, -1, -1, -1, -1, 393216, 196608, 327657, 1114089, -1, -1, -1, -1, 327680, 458752, 1638377, 1114089, -1, -1, -1, -1, 1245184, 393216, -1, 1114089, -1, -1, -1, -1, 393216, 327680, 589801, 131049, -1, -1, -1, -1 + + 4, 6 + + + 393216, 1638377, 524264, 524264, 917482, 1179626, 1179626, 1179626, 393216, -1, 393192, 917482, 65514, -1, -1, -1, 6356970, 6029290, 917482, 65514, -1, -1, -1, -1, 6029290, 917482, 65514, -1, -1, -1, -1, -1, 917482, 65514, -1, -1, -1, -1, -1, -1, 131049, -1, -1, -1, -1, -1, -1, -1, 1114089, -1, -1, -1, -1, -1, -1, -1, 131049, -1, -1, -1, -1, -1, -1, -1 + + 5, 6 + + + 1179626, 1179626, 1179626, 917483, 458728, 2752488, 3014632, 1834984, -1, -1, -1, 65515, 917483, 458728, 2752488, 3014632, -1, -1, -1, -1, 65515, 1179626, 917483, 2752488, -1, -1, -1, -1, -1, -1, 65515, 1179626, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 2, 6 + + + -1, -1, -1, 65515, 1179626, 917483, 2752488, 3014632, -1, -1, -1, -1, -1, 65515, 917483, 2752488, -1, -1, -1, -1, -1, -1, 65515, 917483, -1, -1, -1, -1, -1, -1, -1, 65515, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 3, 6 + + + 3604456, 4063208, 3866600, 2424808, 327659, 393216, 786434, 327680, 3014632, 1834984, 1900520, 2228200, 6094827, 458752, 327680, 393216, 2752488, 2162664, 2228200, 6029288, 6356968, 393216, 327680, 327680, 917483, 720872, 458728, 6422507, 393216, 327680, 393216, 6356970, 131051, 720872, 720872, 1245163, 393216, 393216, 458752, 6422505, 1114091, 524264, 524264, 327659, 327680, 393216, 655360, 1245161, 655339, 458728, 393192, 1245163, 393216, 327680, 196608, 1245161, -1, 393192, 6029288, 6356968, 1245184, 393216, 327680, 6422505 + + 9, 21 + + + 6029361, 1048625, 4390963, 720944, 720944, 720944, 720944, 720944, 6029361, 65585, 6029337, 196632, 393240, 6029313, 393216, 458752, 262193, 65585, 6029337, 327704, 393240, 524289, 393216, 458752, 262193, 65585, 6029337, 786456, 393240, -1, 393216, 393216, 1179697, 65585, 1179673, 393240, 393240, 262145, 393216, 458752, 1179697, -1, 6029337, 655384, 393240, 6029313, 393216, 458752, 5963826, 852017, 262169, 655384, 6291458, 5963778, 393216, 393216, 393264, 393264, 6357017, 393240, 262145, 327680, 393216, 393216 + + 10, 21 + + + 4456498, 4522034, 4259890, 327680, 393216, 393216, 327680, 327680, 4259890, 1245184, 393216, 458752, 327680, 327680, 196608, 393216, 458752, 393216, 327680, 393216, 393216, 786434, 327680, 196608, 786435, 393216, 393216, 393216, 327680, 327680, 393216, 786433, 393216, 327680, 393216, 393216, 393216, 393216, 393216, 393216, 393216, 393216, 393216, 458752, 393216, 327680, 393216, 655360, 327680, 458752, 393216, 393216, 327680, 458752, 458752, 655360, 393216, 458752, 393216, 327680, 327680, 1245184, 196608, 393216 + + 11, 21 + + + 393216, 327680, 393216, 393216, 393216, 393216, 458752, 327680, 393216, 393216, 393216, 393216, 458752, 196608, 393216, 393216, 393216, 393216, 327680, 393216, 393216, 393216, 786434, 393216, 327680, 393216, 393216, 458752, 327680, 327680, 393216, 393216, 393216, 393216, 393216, 327680, 393216, 393216, 393216, 393216, 393216, 393216, 393216, 393216, 393216, 393216, 458752, 393216, 196608, 393216, 327680, 327680, 393216, 393216, 458752, 458752, 458752, 458752, 393216, 196608, 327680, 393216, 458752, 393216 + + 12, 21 + + + 1245184, 393216, 393216, 393216, 655360, 393216, 458752, 393216, 4849664, 6356971, 393216, 393216, 393216, 393216, 196608, 393216, -1, 6356968, 393216, 327680, 327680, 393216, 327680, 393216, 393216, 393216, 393216, 327680, 655360, 196608, 327680, 393216, 393216, 393216, 393216, 393216, 327680, 327680, 4784129, -1, 458752, 393216, 393216, 458752, 196608, 393216, -1, -1, 393216, 327680, 655360, 393216, 393216, 393216, 458752, 458752, 196608, 327680, 393216, 327680, 458752, 393216, 393216, 196608 + + -4, 6 + + + 458728, 262120, 393192, 393192, 393192, 458728, 458728, 1441768, 458728, 458728, 458728, 524264, 393192, 393192, 458728, 458728, 1179626, 1179626, 1179626, 1179626, 1179626, 1179626, 1048554, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 5, 21 + + + -1, -1, -1, 27, 851995, 5963803, 6291483, 327728, -1, -1, -1, -1, 27, 851995, 1179675, 458800, -1, -1, -1, -1, -1, 65563, 5963803, 393240, -1, -1, -1, -1, -1, 27, 851995, 393240, -1, -1, -1, -1, -1, -1, -1, 393240, -1, -1, -1, -1, -1, -1, -1, 393240, -1, -1, -1, -1, -1, -1, -1, 458776, -1, -1, -1, -1, -1, -1, -1, 393240 + + -3, 6 + + + 458728, 458728, 393192, 458728, 458728, 458728, 524264, 917482, 458728, 393192, 393192, 458728, 917482, 1179626, 1179626, 65514, 1179626, 1048554, -1, 1179626, 65514, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 6, 21 + + + 393264, 852019, 6029363, 4390987, 720968, 720968, 4390985, 6291505, 6291482, 65587, 6029363, 4259915, 4522058, 4390986, 4259914, 393288, 5963802, 65587, 6029363, 655432, 4259912, 4522056, 4390984, 4259913, 1179675, 852016, 6357043, 4259912, 4456520, 720968, 720968, 4390985, 6357019, 5963824, 6291504, 4522059, 720968, 720968, 720968, 4456521, 6029339, 6357043, 786504, 4259915, 4456523, 720968, 720968, 720968, 262171, 6357043, 393288, 196680, 4259915, 4456523, 720968, 4456522, 262171, 1179699, 327752, 393288, 327752, 4522059, 720968, 4522057 + + 7, 21 + + + 5963825, 2162736, 6750256, 6422576, 2490416, 1966128, 1769520, 2228272, 262193, 2031664, 2293808, 6619184, 2687024, 2949168, 2818096, 5963824, 6357041, 2228272, 1900592, 2293808, 6881328, 2490416, 1966128, 6357043, 6291505, 5963825, 1966128, 2359344, 6750256, 2687024, 2097200, 6029363, 4259913, 6029361, 2883632, 1900592, 2293808, 6619184, 6553648, 5963827, 4390985, 6291505, 5963825, 1769520, 1900592, 2293808, 6750256, 7077937, 4259914, 655432, 6291505, 5963825, 2621488, 2359344, 7209010, 7012400, 4259912, 4522056, 4259913, 6291505, 6029360, 5963825, 7143475, 6619184 + + 8, 21 + + + 5963824, 6291504, 6029387, -1, 720992, 4456545, 4259937, 262217, 6291504, 5963848, 6291528, 4391011, 720992, 720992, 4522081, 262217, 393288, 262219, 327776, 4259939, 4456547, 720992, 4522081, 6357065, 393288, 5963851, 917578, 6291531, 4259939, 4522082, 4259938, 1179721, 6291507, 393288, 458824, 6291506, 917554, 917578, 917578, 5963850, 5963827, 917554, 917554, 5963826, 852019, 5963827, 6291507, 786507, 7274545, 6881328, 7274545, 393264, 393264, 327728, 5963827, 917554, 7077937, 6225968, 6946864, 7340081, 655408, 327728, 655408, 393264 + + -5, 6 + + + -1, -1, -1, -1, 65515, 917483, 524264, 458728, -1, -1, -1, -1, -1, 1114091, 393192, 458728, -1, -1, -1, -1, -1, 65515, 1179626, 1179626, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 7, 24 + + + 1179626, 1179626, 1179626, 1179626, 1179626, 1179626, 1179626, 1179626, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 6, 24 + + + 65515, 1179626, 1179626, 1179626, 1179626, 1179626, 1179626, 1179626, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 7, 6 + + + 2752488, 2162664, 2162664, 2162664, 2162664, 2162664, 2228200, 458728, 393192, 458728, 458728, 458728, 524264, 393192, 524264, 524264, 720872, 720872, 393192, 393192, 458728, 524264, 458728, 458728, 458728, 458728, 720872, 393192, 393192, 458728, 458728, 458728, 458728, 262120, 393192, 458728, 393192, 458728, 458728, 458728, 917483, 458728, 524264, 458728, 458728, 458728, 524264, 458728, 1114091, 524264, 458728, 1441768, 458728, 524264, 524264, 458728, 65515, 1048554, -1, 917483, 458728, 458728, 393192, 393192 + + 6, 6 + + + 1834984, 1900520, 2228200, 262120, 2752488, 3014632, 2686952, 2424808, 3080168, 2424808, 524264, 458728, 851945, 2752488, 2162664, 2228200, 2162664, 2228200, 917482, 917483, 720872, 458728, 458728, 458728, 1179626, 1179626, 65514, 65515, 1179626, 917483, 458728, 458728, -1, -1, -1, -1, -1, 65515, 917483, 262120, -1, -1, -1, -1, -1, -1, 65515, 1179626, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 8, 6 + + + 524264, 393192, 458728, 458728, 524264, -1, -1, -1, 458728, 393192, 458728, 458728, 393192, -1, -1, -1, 524264, 393192, 1441768, 458728, 458728, -1, -1, -1, 458728, 524264, 262120, 458728, 393192, -1, -1, -1, 458728, 393192, 524264, 393192, 524264, -1, -1, -1, 458728, 524264, 458728, 917482, 1179626, -1, -1, -1, 458728, 393192, 458728, 1114089, -1, -1, -1, -1, 720872, 917482, 1179626, 65514, -1, -1, -1, -1 + + 3, 7 + + + 65515, 917483, 6094827, 196608, 786434, 327680, 393216, 6094825, -1, 1114091, 1245163, 458752, 393216, 458752, 458752, 1245161, -1, 131051, 589803, 393216, 393216, 327680, 196608, 327657, -1, 655339, -1, 393216, 393216, 327680, 393216, 327657, -1, -1, 1245163, 327680, 393216, 393216, 327680, 6356969, -1, 1114091, 6029291, 6356971, 393216, 327680, 393216, 196608, -1, 65515, 917483, 6029291, 6356971, 393216, 393216, 393216, -1, -1, 65515, 917483, 6029291, 6356971, 655360, 458752 + + 4, 7 + + + 1114089, -1, -1, -1, -1, -1, -1, -1, 1114089, -1, -1, -1, -1, -1, -1, -1, 131049, -1, -1, -1, -1, -1, -1, -1, 917481, 65513, -1, -1, -1, -1, -1, -1, 6029289, 917481, 65513, -1, -1, -1, -1, -1, 6356969, 6029289, 917481, 65513, -1, -1, -1, -1, 393216, 6356969, 6029289, 1769449, -1, -1, -1, -1, 458752, 393216, 6094825, -1, -1, -1, -1, -1 + + 10, 24 + + + -1, 983018, 983018, 983018, 983018, 983018, 983018, 983018, -1, -1, 1179626, 1179626, 1048554, -1, 1179626, 5439466, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 11, 24 + + + 983018, 5505002, -1, -1, -1, 983018, 6029290, 917482, -1, -1, -1, 5439466, -1, -1, -1, 65514, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 8, 24 + + + 1179626, 1179626, 1179626, 1179626, 1179626, 65514, 65515, 1179626, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 9, 24 + + + 1179626, 1048554, -1, 1048554, -1, 917483, 6029291, 1507306, -1, -1, -1, -1, -1, 65515, 5439466, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 12, 24 + + + 1179626, 1179626, 5439466, -1, -1, -1, 1048554, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 13, 24 + + + 1179626, 65514, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 6, 23 + + + 6356971, 393216, 1376256, 327680, 393216, 5963779, 1114162, 1114162, 1245163, 327680, 327680, 393216, 393216, 458752, -1, -1, 6029291, 6356971, 393216, 655360, 393216, 393216, -1, -1, 458728, 6029291, 6356971, 393216, 393216, 655360, 196608, 458752, 393192, 524264, 6029291, 6356971, 327680, 393216, 458752, 327680, 393192, 458728, 720872, 6029291, 983018, 983018, 983018, 6356971, 917483, 393192, 393192, 524264, 262120, 524264, 720872, 6029291, 1114091, 720872, 1441768, 393192, 1441768, 393192, 458728, 393192 + + 5, 23 + + + -1, -1, 131051, 458728, 458728, 458728, 393192, 6029291, -1, -1, 65515, 917483, 458728, 458728, 720872, 393192, -1, -1, -1, 1114091, 458728, 458728, 393192, 1441768, -1, -1, -1, 65515, 917483, 458728, 458728, 458728, -1, -1, -1, -1, 131051, 458728, 458728, 458728, -1, -1, -1, -1, 65515, 1179626, 917483, 458728, -1, -1, -1, -1, -1, -1, 65515, 1179626, -1, -1, -1, -1, -1, -1, -1, -1 + + 8, 7 + + + 1179626, 65514, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 7, 7 + + + -1, -1, -1, 65515, 1048554, -1, 1179626, 1179626, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + 4, 8 + + + 458752, 393216, 6094825, -1, -1, -1, -1, -1, 458752, 327680, 327657, -1, -1, -1, -1, -1, 393216, 327680, 327657, 1114089, -1, -1, -1, -1, 327680, 393216, 1245161, 131049, -1, -1, -1, -1, 327680, 458752, 327657, 1114089, -1, -1, -1, -1, 393216, 6356970, 6029290, 131049, -1, -1, -1, -1, 393216, 6094825, 393192, 917481, 65513, -1, -1, -1, 393216, 327657, 1441768, 524264, 131049, -1, -1, -1 + + 3, 8 + + + -1, -1, -1, 65515, 917483, 6422507, 393216, 393216, -1, -1, -1, -1, 131051, 327659, 327680, 393216, -1, -1, -1, -1, 131051, 1245163, 458752, 327680, -1, -1, -1, -1, 655339, 327659, 655360, 327680, -1, -1, -1, -1, -1, 1638379, 327680, 393216, -1, -1, -1, -1, 131051, -1, 458752, 393216, -1, -1, -1, -1, 1114091, 1245163, 458752, 393216, -1, -1, -1, -1, 131051, 6094827, 393216, 327680 + + 7, 23 + + + 1114162, 852019, 1179699, 327752, 4259915, 4390986, 4390986, 4390986, -1, 1048627, 5963827, 917554, 917554, 917554, 917554, 5963826, -1, 51, 1114162, 1114162, 1114162, 983090, -1, 1114162, 1245184, 393216, 393216, 458752, 393216, 393216, 393216, 458752, 327680, 393216, 786435, 327680, 1376256, 393216, 327680, 393216, 655360, 458752, 393216, 327680, 393216, 458752, 458752, 393216, 983018, 983018, 983018, 983018, 983018, 983018, 983018, 983018, 458728, 458728, 262120, 458728, 458728, 458728, 393192, 524264 + + 8, 23 + + + 4456523, 720968, 720968, 720968, 720968, 720968, 720968, 4390985, 4259915, 4522058, 4390986, 4390986, 4522058, 4390986, 4522058, 4259914, 50, -1, -1, -1, -1, -1, -1, -1, 327680, 393216, 655360, 393216, 393216, 393216, 393216, 6356970, 393216, 327680, 327680, 327680, 327680, 6356970, 983018, 327659, 458752, 393216, 6356970, 983018, 983018, 458728, 458728, 589803, 983018, 983018, 6029290, 917480, 458728, 458728, 917482, -1, 458728, 393192, 458728, 458728, 393192, 917482, 1114091, 6029291 + + 9, 23 + + + 5963826, 852018, 50, 393216, 655360, 393216, 393216, 458752, 1114162, 50, -1, 393216, 393216, 393216, 393216, 458752, -1, -1, -1, 786435, 393216, 327680, 393216, 393216, 393216, 458752, 393216, 393216, 393216, 327680, 458752, 458752, 393216, 393216, 393216, 393216, 393216, 327680, 196608, 327680, 327680, 327680, 458752, 327680, 458752, 327680, 458752, 393216, 393216, 393216, 327680, 393216, 1376256, 393216, 327680, 458752, 983018, 983018, 1507306, -1, 1507306, -1, 6356971, 393216 + + 10, 23 + + + 393216, 786433, 393216, 393216, 393216, 393216, 327680, 327680, 458752, 393216, 393216, 458752, 393216, 393216, 458752, 393216, 655360, 458752, 393216, 393216, 393216, 327680, 458752, 655360, 327680, 1245184, 196608, 393216, 655360, 196608, 327680, 393216, 393216, 393216, 393216, 393216, 393216, 393216, 393216, 393216, 393216, 655360, 393216, 327680, 393216, 327680, 393216, 393216, 393216, 458752, 393216, 393216, 327680, 327680, 327680, 393216, 393216, 393216, 393216, 393216, 458752, 458752, 393216, 393216 + + 11, 23 + + + 327680, 393216, 393216, 393216, 655360, 327680, 393216, 327680, 327680, 393216, 393216, 327680, 196608, 4849664, -1, 458752, 327680, 327680, 4784128, -1, 327680, -1, -1, 458752, 393216, 393216, -1, -1, 327680, 393216, 655360, 327680, 393216, 327680, 393216, 393216, 393216, 458752, 327680, 393216, 393216, 393216, 458752, 327680, 393216, 393216, 327680, 393216, 327680, 393216, 196608, 196608, 393216, 393216, 393216, 458752, 327680, 393216, 458752, 393216, 327680, 196608, 6356970, 983018 + + 12, 23 + + + 458752, 393216, 327680, 327680, 393216, 393216, 393216, 196608, 458752, 786432, 393216, 196608, 393216, 327680, 327680, 393216, 327680, 327680, 327680, 1376256, 458752, 393216, 393216, 393216, 393216, 393216, 327680, 4784131, -1, 393216, 393216, 393216, 655360, 393216, 458752, -1, -1, 458752, 458752, 393216, 458752, 393216, 393216, 458752, 393216, 458752, 327680, 393216, 655360, 393216, 327680, 393216, 196608, 327680, 458752, 458752, 983018, 983018, 1507306, -1, 983018, 983018, 983018, 983018 + + 13, 23 + + + 393216, 393216, 327657, -1, -1, -1, -1, -1, 393216, 393216, 327657, -1, -1, -1, -1, -1, 393216, 196608, 6094825, -1, -1, -1, -1, -1, 458752, 6356970, 6029290, 1114089, -1, -1, -1, -1, 327680, 6094825, 917482, 65514, -1, -1, -1, -1, 458752, 1245161, 131049, -1, -1, -1, -1, -1, 6356970, 6029290, 1114089, -1, -1, -1, -1, -1, 6029290, 917482, 65514, -1, -1, -1, -1, -1 + + 0, -1 + + + 327680, 393216, 327657, 524264, 458728, 458728, 458728, 458728, 393216, 393216, 6422505, 720872, 458728, 524264, 458728, 524264, 393216, 458752, 6356969, 6422504, 6029289, 393192, 458728, 1441768, 393216, 327680, 196608, 393216, 6356969, 6029289, 458728, 393192, 458752, 1376256, 458752, 458752, 393216, 6356969, 6029289, 524264, 393216, 393216, 327680, 393216, 393216, 393216, 327657, 458728, 1376256, 327680, 327680, 393216, 458752, 327680, 6356969, 6029289, 393216, 393216, 1376256, 393216, 458752, 327680, 393216, 6094825 + + -1, -1 + + + 3342312, 3145704, 3538920, 2031592, 1834984, 1900520, 6094827, 393216, 3211240, 3801064, 3866600, 4259816, 2293736, 2424808, 327659, 327680, 4063208, 3866600, 2031592, 1900520, 6029288, 327656, 6356968, 458752, 2686952, 2686952, 2293736, 6029288, 6356968, 393216, 393216, 458752, 6029288, 327656, 6094824, 6356968, 393216, 393216, 393216, 655360, 6356968, 393216, 655360, 458752, 196608, 458752, 655360, 786432, 2293760, 458752, 458752, 393216, 393216, 327680, 393216, 196608, 2359296, 327680, 393216, 327680, 458752, 327680, 196608, 393216 + + 2, -1 + + + 1966080, 4259843, 4456451, 720896, 720896, 720896, 720896, 720896, 2949120, 2818048, 4259843, 4521986, 4456451, 720896, 720896, 4456450, 2686976, 2949120, 2621440, 1900544, 4259843, 4390914, 4521986, 4259842, 327680, 2490368, 1769472, 2883584, 1900544, 2424832, 2228224, 2228224, 6356971, 2490368, 2228224, 1966080, 2621440, 1966080, 1769472, 1835008, 6094827, 2686976, 2097152, 2097152, 2949120, 2883584, 1769472, 2359296, 6094827, 2555904, 2031616, 2031616, 2424832, 1769472, 1835008, 2162688, 6094827, 4259840, 4390912, 4259841, 1769472, 1835008, 2162688, 6356970 + + 1, -1 + + + 524264, 2752488, 3014632, 2031592, 6029291, 6356971, 196608, 2490368, 393192, 458728, 2555880, 1834984, 1834984, 6029291, 6356971, 2686976, 720872, 458728, 2555880, 2686952, 2293736, 1834984, 6029291, 6356971, 393192, 2621416, 2490344, 2031592, 2686952, 2293736, 2424808, 6094827, 524264, 2555880, 2031592, 2293736, 2031592, 2293736, 1966056, 6029291, 2621416, 2490344, 2031592, 2293736, 2686952, 2883560, 1834984, 1966056, 2490344, 2818024, 2031592, 2293736, 2686952, 1834984, 1834984, 2031592, 2031592, 1834984, 2883560, 1834984, 2293736, 2031592, 2686952, 1900520 + + 4, -1 + + + 1966056, 2097128, 2097128, 2097128, 2359272, 524264, 393192, 393192, 2686952, 1834984, 2883560, 1834984, 2424808, 393192, 458728, 458728, 2162664, 3014632, 1834984, 2293736, 1966056, 2359272, 393192, 2621416, 262120, 2752488, 3014632, 2293736, 2686952, 1966056, 2097128, 2490344, 458728, 262120, 2752488, 3014632, 1834984, 2031592, 1834984, 1834984, 458728, 458728, 524264, 2555880, 2686952, 2293736, 1900520, 2162664, 458728, 1441768, 720872, 2555880, 2293736, 1900520, 2228200, 851946, 851945, 851947, 2621416, 2490344, 2293736, 2424808, 7995370, 8912874 + + 3, -1 + + + 720896, 4390913, 2097152, 2162688, 6422505, 2555880, 1834984, 2293736, 4521986, 4259842, 458752, 6356970, 6029290, 2490344, 2293736, 2686952, 3014656, 2359296, 196608, 1245161, 2490344, 1834984, 1834984, 1900520, 1835008, 2162688, 6356970, 6029290, 2686952, 2686952, 1900520, 2228200, 2162688, 6356970, 6029290, 2490344, 2293736, 1900520, 2228200, 458728, 458752, 1245161, 2555880, 1834984, 1900520, 2228200, 393192, 524264, 6356970, 6029290, 2490344, 2686952, 2424808, 524264, 458728, 262120, 6029290, 2293736, 2293736, 1900520, 2228200, 458728, 458728, 458728 + + 6, -1 + + + 327680, 327680, 393216, 393216, 393216, 327680, 6356969, 6029289, 393216, 393216, 327680, 327680, 458752, 1376256, 393216, 6356969, 458752, 393216, 393216, 393216, 327680, 327680, 196608, 327680, 393216, 327680, 327680, 327680, 393216, 458752, 458752, 393216, 196608, 393216, 196608, 393216, 393216, 393216, 393216, 327680, 5963776, 6029312, 524288, -1, 262144, 5963777, 393216, 393216, 6356995, 393240, 327704, 458776, 393240, 6291457, 6029312, 5963777, 6291456, 393240, 393240, 393240, 393240, 393240, 327704, 6291457 + + 5, -1 + + + 720872, 2621416, 2490344, 1834984, 6029288, 6356968, 327680, 393216, 458728, 2555880, 1834984, 1900520, 327659, 196608, 393216, 327680, 2097128, 2490344, 2686952, 2424808, 1245163, 393216, 327680, 458752, 1834984, 2293736, 6029288, 6422504, 6356968, 458752, 655360, 327680, 2031592, 1900520, 1245163, 327680, 458752, 327680, 458752, 393216, 3014632, 2293736, 327659, 393216, 327680, 393216, 327680, 1376256, 2752488, 2162664, 6422507, 327680, 655360, 327680, 327680, 393216, 7995371, 524264, 6422507, 393216, 393216, 458752, 196608, 5963776 + + 8, -1 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65513, -1, -1, -1, -1, -1, -1, -1, 131049, -1, -1, -1, -1, -1, -1, -1, 917481, 65513, -1, -1, -1, -1, -1, -1 + + 4, 9 + + + 393216, 327657, 458728, 458728, 131049, -1, -1, -1, 393216, 6422505, 524264, 1441768, 131049, -1, -1, -1, 393216, 1245161, 524264, 524264, 917481, 65513, -1, -1, 393216, 327657, 524264, 458728, 524264, 917481, 65513, -1, 393216, 327657, 7995370, 8126442, 8585194, 7995371, 917481, 131048, 786433, 1245161, 8585193, 8388584, 8454120, 8519659, 8323050, 7995371, 327680, 327657, 7995369, 8519657, 8847336, 8388584, 8454120, 8585195, 196608, 6094825, 458728, 7995369, 8126440, 8519657, 8978408, 8191979 + + 7, -1 + + + 917481, 65513, -1, -1, -1, -1, -1, -1, 6029289, 917481, 65513, -1, -1, -1, -1, -1, 6356969, 6029289, 917481, 1114088, 1114088, 65513, -1, -1, 458752, 6356969, 327656, 327656, 6029289, 917481, 65513, -1, 393216, 458752, 393216, 393216, 6356969, 6029289, 917481, 65513, 393216, 393216, 393216, 393216, 786435, 6356969, 6029289, 917481, 327680, 393216, 1245184, 1376256, 393216, 393216, 6356969, 6029289, 5963777, 393216, 458752, 327680, 393216, 393216, 196608, 6094825 + + 3, 9 + + + -1, -1, -1, 65512, 917480, 1245163, 327680, 786434, -1, -1, 65512, 917480, 262120, 1245163, 393216, 393216, -1, 65512, 917480, 458728, 458728, 6422507, 458752, 393216, 65512, 917480, 262120, 2621416, 2097128, 1245163, 327680, 393216, 917480, 458728, 2621416, 2490344, 2883560, 327659, 393216, 393216, 2621416, 2097128, 2490344, 2293736, 1900520, 6094827, 393216, 655360, 2490344, 3735528, 3407848, 3669992, 2031592, 6422507, 786435, 393216, 3735528, 4980712, 3211240, 3538920, 2293736, 1245163, 196608, 393216 + + 2, 9 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65512, 1114088, 1114088, -1, -1, -1, 65512, 1114088, 917480, 458728, 458728, -1, -1, 65512, 917480, 458728, 2621416, 2097128, 2097128, -1, 65512, 917480, 524264, 458728, 2555880, 2031592, 1834984 + + 5, 9 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65513, -1, -1, -1, -1, -1, -1, -1, 917481, 65513, -1, -1, -1, -1, -1, -1, 458728, 917481, 1114088, 65513, -1, -1, -1, -1, 458728, 1441768, 262120, 917481, 131048, 65513, -1, -1 + + -10, 0 + + + -1, 1114091, 458728, 458728, 524264, 458728, 458728, 458728, -1, 1114091, 458728, 458728, 458728, 393192, 458728, 393192, -1, 131051, 1310696, 524264, 458728, 393192, 262120, 458728, -1, 131051, 458728, 458728, 458728, 458728, 393192, 458728, -1, 1114091, 458728, 458728, 393192, 524264, 458728, 458728, -1, 131051, 262120, 1310696, 458728, 458728, 393192, 393192, -1, 1114091, 458728, 458728, 393192, 524264, 458728, 524264, -1, 1114091, 458728, 458728, 524264, 393192, 458728, 458728 + + -9, 0 + + + 458728, 393192, 1245163, 393216, 393216, 327680, 327680, 1376256, 458728, 393192, 6422507, 327680, 393216, 327680, 393216, 1376256, 393192, 393192, 6422507, 393216, 393216, 393216, 327680, 393216, 262120, 458728, 1638379, 327680, 327680, 327680, 327680, 393216, 393192, 458728, -1, 393216, 393216, 393216, 393216, 393216, 262120, 393192, 6422507, 327680, 327680, 393216, 196608, 1245184, 524264, 458728, 327659, 393216, 458752, 196608, 393216, 393216, 458728, 458728, 6029291, 6356971, 393216, 393216, 327680, 393216 + + -8, 0 + + + 196608, 393216, 196608, 327680, 655360, 393216, 1179651, 458776, 327680, 327680, 458752, 327680, 196608, 393216, 6029315, 327704, 393216, 393216, 393216, 393216, 393216, 393216, 6356995, 196632, 196608, 393216, 327680, 393216, 1376256, 655360, 5963779, 6291459, 393216, 393216, 196608, 327680, 458752, 393216, 458752, 5963779, 327680, 393216, 655360, 327680, 393216, 327680, 393216, 458752, 393216, 393216, 393216, 393216, 327680, 393216, 458752, 393216, 786433, 327680, 393216, 393216, 393216, 327680, 393216, 393216 + + -7, 0 + + + 1376280, 4259867, 4456475, 720920, 720920, 720920, 720920, 720920, 393240, 393240, 4259867, 4522010, 4456475, 720920, 720920, 720920, 327704, 196632, 327704, 327704, 4259867, 4456475, 720920, 720920, 393240, 393240, 393240, 327704, 393240, 4259867, 4522010, 4522010, 6291459, 458776, 458776, 393240, 327704, 655384, 393240, 196632, 5963779, 917506, 6291459, 327704, 327704, 196632, 393240, 393240, 327680, 393216, 5963779, 1441794, -1, 6291459, 393240, 393240, 786433, 327680, 196608, 327680, 196608, 5963779, 917506, 917506 + + -6, 0 + + + 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 4456475, 720920, 720920, 720920, 720920, 4456474, 4390938, 4390938, 4259867, 4522010, 4390938, 4325402, -1, 4259866, 393240, 327704, 393240, 458776, 1376280, 458776, 327704, 393240, 393240, 327704, 393240, 327704, 327704, 458776, 655384, 393240, 458776, 393240, 917506, 917506, 1441794, -1, 917506, 917506, 917506, 1441794 + + -5, 0 + + + 720920, 720920, 720920, 720920, 720920, 4456474, 4259866, 1376280, 720920, 720920, 4456474, 4522010, 4390938, 4259866, 327704, 458776, 4456474, 4390938, 4259866, 393240, 393240, 327704, 327704, 393240, 4259866, 458776, 458776, 393240, 393240, 393240, 393240, 393240, 327704, 458776, 196632, 393240, 327704, 393240, 327704, 6291458, 655384, 393240, 458776, 393240, 393240, 6291458, 917506, 5963778, 327704, 393240, 327704, 393240, 6291458, 5963778, 393216, 393216, -1, 917506, 917506, 917506, 5963778, 393216, 393216, 393216 + + -4, 0 + + + 655384, 262145, 393216, 6422505, 3014632, 2293736, 4325352, 4456424, 393240, 6029313, 196608, 6422505, 2555880, 1834984, 4587499, 786408, 6291458, 5963778, 393216, 6356969, 6029289, 3014632, 4325355, 4456426, 262145, 393216, 4259840, 4259841, 6356969, 6029289, 2162664, 3014632, 5963778, 393216, 4521987, 4456449, 4259841, 6356969, 327656, 327656, 393216, 327680, 4521987, 720896, 4390913, 655360, 4259840, 4259841, 4259840, 4259841, 4259843, 4390914, 4259842, 458752, 4259843, 4259842, 4259843, 4259842, 5963776, 6356992, 6356992, 6029312, 262144, 6029312 + + -3, 0 + + + 4521960, 786408, 786408, 786408, 786408, 786408, 4521961, 4587496, 786408, 786408, 786408, 786408, 786408, 786408, 786408, 786408, 4456426, 4521963, 786408, 786408, 786408, 786408, 4521962, 4456426, 2031592, 4325355, 4456426, 4456426, 4456426, 4587498, 4325354, 2424808, 6029289, 3014632, 1834984, 1834984, 1834984, 2031592, 1900520, 6029288, 6356969, 327656, 327656, 327656, 327656, 1638376, -1, 6356968, 327680, 327680, 327680, 4259840, 4390912, 4653056, -1, 4259841, 1572864, -1, 5963777, 4390915, 720896, 720896, 720896, 4521985 + + -2, 0 + + + 4456424, 4325353, 458728, 6422507, 5963776, 6291456, 458776, 6029313, 786408, 4587497, 6029288, 6356968, 262147, 2555928, 2293784, 6291457, 4587498, 4325354, 327659, 5963776, 6291456, 2490392, 1900568, 2293784, 6029288, 327656, 6356968, 262147, 2555928, 2424856, 2228248, 2359320, 6356968, 327680, 393216, 6029315, 4259864, 4587544, -1, 4259865, 458752, 393216, 5963776, 6291456, 4653083, 720920, 720920, 4522009, 393216, 5963776, 6291456, 393240, -1, 720920, 720920, 4390937, 5963776, 6291456, 458776, 4259864, 4456472, 720920, 720920, 4456473 + + -1, 0 + + + 1900544, 2293760, 1245184, 786435, 393216, 393216, 196608, 393216, 5963777, 1900544, 2031616, 2293760, 1376256, 393216, 393216, 393216, 1572865, 1966080, 2228224, 2359296, 393216, 393216, 458752, 1376256, -1, 2949120, 2752512, 1900544, 2293760, 786433, 393216, 458752, 6291457, 5963777, 3014656, 1769472, 1900544, 2293760, 393216, 393216, 2293784, 1179649, 2949120, 1966080, 2228224, 1900544, 2031616, 2031616, 2359320, 6291457, 5963777, 1966080, 2228224, 2228224, 2228224, 1769472, 4259865, 2293784, 6291457, 5963777, 2949120, 4194304, 2228224, 2228224 + + 1, -2 + + + 3080168, 1834984, 6029288, 6356968, 458752, 4259840, 4456448, 720896, 2293736, 2686952, 6094827, 458752, 4259840, 4456448, 720896, 720896, 2031592, 2031592, 1638379, 393216, 4390915, 720896, 720896, 720896, 2293736, 2883560, -1, 393216, 4390915, 720896, 720896, 720896, 2031592, 1900520, 6094827, 655360, 4259843, 4521986, 4456451, 720896, 2293736, 1834984, 6029291, 6356971, 393216, 2555904, 4259843, 4456451, 3014632, 2293736, 2293736, 6029291, 6356971, 2490368, 2621440, 4521987, 2752488, 3014632, 1834984, 1834984, 327659, 2686976, 2097152, 4259843 + + 0, -2 + + + 786433, 786433, 393216, 393216, 393216, 393216, 1245161, 2555880, 4063232, 1376256, 393216, 393216, 393216, 6356970, 6029290, 2490344, 1376256, 1376256, 393216, 393216, 6356970, 6029290, 2818024, 2293736, 196608, 327680, 458752, 6356970, 6029290, 2293736, 1834984, 1834984, 458752, 393216, 393216, 6422505, 2555880, 1834984, 1834984, 2293736, 327680, 458752, 6356970, 6029290, 2752488, 2162664, 3014632, 1834984, 393216, 458752, 6094825, 458728, 458728, 458728, 2752488, 2162664, 393216, 393216, 1245161, 458728, 720872, 524264, 393192, 393192 + + -3, 10 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65512, -1, -1, -1, -1, 65512, 1114088, 131048, 917480, -1, -1, -1, -1, 655339, 393192, 458728, 393192 + + -1, -2 + + + 6356971, 2686976, 2949120, 1769472, 1900544, 2031616, 2293760, 786435, 6029291, 6356971, 2686976, 2949120, 2228224, 2228224, 2359296, 1245184, 458728, 6029291, 6356971, 2686976, 2097152, 2097152, 2162688, 458752, 524264, 458728, 6029291, 983018, 983018, 6356971, 393216, 458752, 458728, 393192, 458728, 2621416, 2097128, 6029291, 6356971, 327680, 458728, 393192, 2621416, 2490344, 2031592, 1834984, 6094827, 327680, 2097128, 2097128, 2490344, 2031592, 2293736, 2293736, 6422507, 393216, 3407848, 3407848, 3669992, 2293736, 1834984, 2686952, 6422507, 393216 + + -2, -2 + + + 2359272, 458728, 262120, 458728, 393192, 6029291, 983018, 983018, 1966056, 2359272, 393192, 458728, 458728, 458728, 393192, 458728, 1834984, 1966056, 2359272, 458728, 524264, 720872, 393192, 458728, 1834984, 3080168, 1966056, 2097128, 2359272, 458728, 458728, 458728, 3407848, 3669992, 2293736, 1834984, 1966056, 2097128, 2359272, 524264, 3145704, 3276776, 3407848, 3407848, 3407848, 3669992, 1966056, 2359272, 3211240, 3145704, 3145704, 3145704, 3342312, 3538920, 1834984, 1966056, 3145704, 3145704, 3211240, 3145704, 3145704, 3276776, 3407848, 3407848 + + -1, 10 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65512, -1, -1, -1, -1, -1, -1, 65512, 917480, -1, -1, -1, -1, 65512, 131048, 917480, 458728, -1, -1, 65512, 1114088, 917480, 458728, 393192, 393192 + + 5, -2 + + + 524264, 524264, 851945, 458728, 917481, 65513, -1, -1, 458728, 458728, 458728, 393192, 524264, 917481, 1114088, 655336, 458728, 458728, 393192, 458728, 524264, 6029288, 327656, 589800, 524264, 393192, 458728, 458728, 458728, 6094827, 393216, 458752, 458728, 393192, 458728, 393192, 524264, 327659, 393216, 393216, 458728, 393192, 393192, 720872, 1441768, 1638379, 327680, 786432, 458728, 458728, 458728, 720872, 458728, -1, 655360, 327680, 458728, 262120, 2621416, 2097128, 2359272, 6094827, 393216, 327680 + + -2, 10 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1114088, 131048, 65513, -1, -1, -1, -1, -1, 393192, 458728, 917481, 1114088, 131048, 65513, -1, -1, 458728, 851945, 2621416, 2097128, 2359272, 917481, 131048, 65513 + + 4, -2 + + + 393192, 393192, 393192, 524264, 524264, 524264, 393192, 458728, 458728, 458728, 458728, 524264, 458728, 458728, 524264, 720872, 458728, 524264, 458728, 524264, 720872, 720872, 458728, 393192, 458728, 393192, 458728, 524264, 458728, 393192, 393192, 458728, 393192, 524264, 458728, 720872, 458728, 393192, 524264, 393192, 458728, 458728, 524264, 524264, 524264, 262120, 524264, 458728, 393192, 262120, 458728, 458728, 393192, 458728, 458728, 458728, 2359272, 458728, 524264, 393192, 458728, 458728, 458728, 458728 + + 3, -2 + + + 720896, 4390913, 1966080, 2359296, 6422505, 2097128, 2359272, 393192, 720896, 4456449, 4259841, 2162688, 327657, 2293736, 1966056, 2359272, 720896, 720896, 4390913, 327680, 327657, 2031592, 2686952, 2424808, 720896, 720896, 4521985, 327680, 6094825, 1834984, 2031592, 2424808, 720896, 720896, 4390913, 393216, 327657, 1834984, 1900520, 2228200, 720896, 720896, 4390913, 1376256, 327657, 2293736, 2424808, 393192, 720896, 4456450, 4259842, 2293760, 327657, 2031592, 1966056, 2359272, 720896, 4521985, 3014656, 2359296, 6422505, 3014632, 1834984, 1966056 + + 0, 10 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65512, 196584, -1, 1114088, 65513, -1, -1, -1, 917480, 2621416, 2097128, 2359272, 1114089, -1, -1, -1, 393192, 2555880, 2293736, 2424808, 131049, -1, -1, -1, 393192, 2752488, 2162664, 2228200, 1114089, -1, -1, -1, 720872, 458728, 851946, 393192, 917481, 65513, -1, -1 + + 2, -2 + + + 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 4390914, 4456451, 720896, 720896, 720896, 720896, 720896, 720896 + + 3, 10 + + + 3473384, 3145704, 3801064, 3866600, 6029288, 6356968, 393216, 393216, 4980712, 3145704, 3538920, 6029288, 6356968, 393216, 393216, 327680, 3145704, 3801064, 3866600, 327659, 458752, 327680, 393216, 1245184, 4063208, 3866600, 1900520, 1245163, 327680, 655360, 393216, 393216, 2818024, 1900520, 6029288, 6356968, 393216, 655360, 393216, 393216, 1900520, 6029288, 6356968, 327680, 393216, 458752, 393216, 458752, 2293736, 6094827, 458752, 393216, 458752, 393216, 393216, 327680, 2883560, 1245163, 196608, 393216, 1376256, 393216, 327680, 196608 + + 2, 10 + + + -1, 131051, 393192, 458728, 458728, 2555880, 2293736, 1834984, 65512, 917480, 393192, 393192, 2621416, 2490344, 1834984, 3735528, 1114091, 393192, 2621416, 2097128, 2490344, 2031592, 1834984, 3473384, 1114091, 458728, 2555880, 1834984, 2293736, 2686952, 3080168, 3604456, 131051, 458728, 2555880, 3080168, 2686952, 1834984, 2293736, 1834984, 1114091, 262120, 2752488, 2162664, 2162664, 3014632, 2293736, 2293736, 1114091, 393192, 2621416, 2097128, 2359272, 2752488, 3014632, 1834984, 131051, 458728, 2555880, 1834984, 1966056, 2359272, 2555880, 1834984 + + 5, 10 + + + 458728, 524264, 524264, 524264, 851945, 917481, 65513, -1, 7995371, 393192, 458728, 458728, 393192, 458728, 917481, 65513, 8585195, 458728, 458728, 458728, 458728, 1441768, 393192, 917481, 8323051, 458728, 393192, 458728, 720872, 458728, 458728, 458728, 8519659, 8912874, 8323050, 7995371, 393192, 458728, 393192, 458728, 8388584, 8454120, 8650728, 8191979, 524264, 458728, 262120, 458728, 8781800, 8781800, 8454120, 8519659, 8585194, 8060906, 8323050, 8126442, 8257512, 7929832, 8388584, 8454120, 8781800, 7929832, 8257512, 8716264 + + 7, -2 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65513, -1, -1, -1, -1, -1, -1, -1 + + 6, -2 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, 196584, -1, 65513, -1, -1, -1, -1, -1, 6422504, 6029289, 917481, 65513, -1, -1, -1, 393216, 393216, 6356969, 6029289, 131049, -1, -1, -1, 393216, 327680, 393216, 327657, 917481, 65513, -1, -1, 393216, 458752, 327680, 6356969, 6029289, 131049, -1, -1, 327680, 327680, 1376256, 393216, 1245161, 917481, 131048, 65513, 327680, 393216, 393216, 458752, 6356969, 327656, 6029289, 917481 + + 4, 10 + + + 655360, 6356969, 6029289, 393192, 262120, 8060905, 8978408, 8585195, 786434, 393216, 6422505, 458728, 524264, 8585193, 8781800, 8519659, 393216, 393216, 6356969, 6029289, 458728, 8323049, 8847336, 8847336, 393216, 196608, 393216, 589801, 524264, 8323049, 8388584, 8716264, 393216, 458752, 1245184, -1, 393192, 8126441, 8716264, 8781800, 393216, 655360, 327680, 6356969, 6029289, 8585193, 8650728, 8978408, 393216, 327680, 393216, 327680, 1638377, 8191977, 8847336, 7929832, 393216, 327680, 196608, 393216, -1, 7995369, 8519657, 8847336 + + 6, 10 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1114088, 65513, -1, -1, -1, -1, -1, -1, 524264, 917481, 65513, -1, -1, -1, -1, -1, 720872, 393192, 917481, 1114088, 65513, -1, -1, -1, 393192, 262120, 524264, 458728, 1114089, -1, -1, -1, 7995371, 1441768, 524264, 458728, 1114089, -1, -1, -1, 8323051, 720872, 458728, 458728, 917481, 131048, 65513, -1 + + -10, -1 + + + -1, 1114091, 458728, 458728, 262120, 458728, 393192, 393192, -1, 131051, 524264, 458728, 393192, 393192, 393192, 524264, -1, 131051, 851944, 524264, 458728, 458728, 393192, 524264, -1, 196587, 720872, 524264, 393192, 720872, 458728, 458728, -1, -1, 393192, 393192, 720872, 524264, 262120, 524264, -1, 131051, 393192, 524264, 458728, 458728, 458728, 458728, -1, 196587, 458728, 524264, 458728, 458728, 458728, 393192, -1, -1, 458728, 458728, 458728, 458728, 458728, 393192 + + -7, -1 + + + 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 4456475, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 4522011, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 4259867, 4456475, 720920, 720920, 720920, 720920, 720920, 720920, 393240, 4522011, 720920, 720920, 720920, 720920, 720920, 720920, 196632, 4390939, 720920, 720920, 720920, 720920, 720920, 720920 + + -6, -1 + + + 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920 + + -9, -1 + + + 393192, 327659, 393216, 196608, 655360, 655360, 393216, 458752, 458728, 327659, 393216, 393216, 655360, 393216, 327680, 327680, 458728, 327659, 393216, 393216, 393216, 393216, 393216, 327680, 393192, 327659, 327680, 393216, 393216, 393216, 393216, 393216, 458728, 1638379, 393216, 458752, 655360, 393216, 393216, 393216, 393192, -1, 458752, 327680, 393216, 393216, 393216, 458752, 393192, 6029291, 6356971, 393216, 458752, 327680, 327680, 393216, 458728, 393192, 1245163, 393216, 393216, 458752, 327680, 655360 + + -8, -1 + + + 393216, 393216, 458752, 393216, 6356995, 2490392, 3014680, 4653083, 393216, 655360, 393216, 393216, 6029315, 2687000, 2097176, -1, 327680, 655360, 458752, 393216, 5963779, 6291459, 327704, 4390939, 393216, 393216, 393216, 327680, 393216, 262147, 393240, 4259867, 655360, 393216, 393216, 393216, 393216, 262147, 327704, 393240, 393216, 393216, 393216, 327680, 393216, 262147, 393240, 393240, 393216, 1376256, 393216, 393216, 393216, 262147, 393240, 327704, 196608, 458752, 327680, 393216, 393216, 5963779, 6291459, 196632 + + -3, -1 + + + 2686952, 4325352, 4587496, 4521960, 786408, 786408, 4456425, 3604456, 4325352, 4521960, 786408, 786408, 786408, 4521962, 4325354, 1834984, 4587499, 786408, 786408, 786408, 786408, 4456425, 2293736, 4325352, 4325355, 4456426, 4587498, 4587498, 4587498, 4325354, 4325352, 4521960, 1834984, 4325352, 4587496, 4456424, 4325353, 2162664, 4587499, 786408, 2686952, 4456427, 786408, 786408, 4521961, 4325353, 4325355, 4521963, 4325352, 4521960, 786408, 786408, 786408, 4456425, 458728, 4325355, 4587499, 786408, 786408, 786408, 786408, 4521961, 4325353, 458728 + + -2, -1 + + + 4063208, 3997672, 3145704, 3211240, 3211240, 3342312, 3145704, 3211240, 2293736, 3604456, 4063208, 4063208, 3997672, 3145704, 3145704, 3342312, 4587496, 4325353, 2031592, 2883560, 3604456, 3997672, 3211240, 3801064, 786408, 4521961, 4325353, 2031592, 4259816, 3604456, 4063208, 3866600, 786408, 786408, 4456425, 3014632, 5111784, 1900520, 2162664, 2162664, 786408, 4521962, 4325354, 2752488, 6029288, 589800, -1, 327656, 4587498, 4325354, 524264, 262120, 327659, 5963776, 262144, 5963777, 458728, 524264, 458728, 6029288, 6356968, 6356995, 393240, 262145 + + -5, -1 + + + 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 4456474, 4390938, 720920, 720920, 720920, 720920, 720920, 720920, 4587545, 393240, 720920, 720920, 720920, 720920, 720920, 720920, -1, 393240 + + -4, -1 + + + 720920, 720920, 720920, 4390937, 1245208, 6291458, 5963778, 6422505, 720920, 720920, 4456474, 4259866, 393240, 1179649, 6356970, 6029290, 4456474, 4390938, 4259866, 458776, 6291458, 5963778, 6094825, 2555880, 4522009, 393240, 393240, 327704, 262145, 393216, 327657, 2555880, 4522009, 655384, 393240, 6291458, 5963778, 6356970, 6029290, 2490344, 4259866, 393240, 6291458, 5963778, 6356970, 6029290, 2490344, 1834984, 393240, 327704, 1179649, 6356970, 6029290, 2490344, 1834984, 2031592, 327704, 6291458, 5963778, 327657, 2293736, 1834984, 2293736, 1834984 + + 2, -3 + + + 1769472, 2621440, 1769472, 2883584, 1835008, 2097152, 2949120, 1966080, 2883584, 2228224, 1769472, 2621440, 1900544, 2293760, 2490368, 2228224, 1966080, 2228224, 2228224, 1769472, 2621440, 1900544, 2424832, 2752512, 4259840, 4521984, 4259841, 1769472, 1769472, 2883584, 2228224, 1769472, 4456448, 720896, 4456449, 4390912, 4390912, 4521984, 4521984, 4259841, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 4521985, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 4456449, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896 + + 2, 11 + + + 1114091, 458728, 2555880, 2293736, 1834984, 2424808, 2752488, 3014632, 65515, 917483, 2555880, 2293736, 1900520, 2228200, 458728, 2752488, -1, 1114091, 2752488, 2162664, 2228200, 2621416, 2097128, 2359272, -1, 65515, 917483, 458728, 524264, 2555880, 2293736, 1966056, -1, -1, 1114091, 458728, 458728, 2752488, 3014632, 1834984, 65513, -1, 65515, 917483, 458728, 524264, 2555880, 2686952, 917481, 65513, -1, 65515, 917483, 720872, 2555880, 2293736, 458728, 655337, -1, -1, 1114091, 458728, 2752488, 2162664 + + 1, 11 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65513, -1, 65512, 1114088, 196584, -1, 65513, -1, 917481, 131048, 917480, 524264, 262120, 458728, 917481, 1114088, 524264, 458728, 458728, 2621416, 2097128, 2097128, 2359272, 851944, 2359272, 2621416, 2097128, 2490344, 2686952, 1834984, 2424808, 458728 + + 1, -3 + + + 2293736, 2424808, 458728, 393192, 6094827, 2490368, 1966080, 2621440, 2818024, 1966056, 2359272, 458728, 327659, 2490368, 2228224, 1769472, 2293736, 2031592, 2424808, 458728, 1638379, 2490368, 2621440, 2228224, 3080168, 1834984, 1966056, 2097128, -1, 2686976, 2949120, 2228224, 2293736, 2883560, 2883560, 2686952, 6029291, 6356971, 4259840, 4521984, 1834984, 1834984, 1834984, 2293736, 2424808, 327659, 4521987, 720896, 2686952, 2293736, 2293736, 2686952, 6029288, 6356968, 4521987, 720896, 1834984, 2686952, 1900520, 6029288, 6356968, 327680, 4390915, 720896 + + 0, 11 + + + 458728, 1441768, 458728, 458728, 393192, 1114089, -1, -1, 2097128, 2097128, 2097128, 2359272, 458728, 917481, 65513, -1, 2293736, 2293736, 2031592, 2424808, 393192, 524264, 131049, -1, 3407848, 3407848, 3669992, 1966056, 2359272, 458728, 917481, 65513, 3145704, 3211240, 3538920, 3080168, 1966056, 2359272, 262120, 917481, 3145704, 4259816, 3276776, 3407848, 3669992, 1966056, 2359272, 458728, 3997672, 3145704, 3145704, 3145704, 3538920, 2031592, 1966056, 2359272, 3604456, 4063208, 3997672, 3932136, 3276776, 3669992, 1834984, 1966056 + + 4, -3 + + + 458728, 393192, 524264, 393192, 262120, 393192, 393192, 917481, 458728, 458728, 458728, 720872, 458728, 393192, 458728, 720872, 458728, 458728, 458728, 720872, 524264, 524264, 524264, 458728, 458728, 458728, 393192, 393192, 524264, 458728, 524264, 393192, 458728, 524264, 720872, 393192, 524264, 393192, 458728, 393192, 458728, 524264, 458728, 393192, 524264, 458728, 458728, 458728, 393192, 458728, 1310696, 458728, 458728, 458728, 458728, 1441768, 458728, 524264, 458728, 458728, 458728, 393192, 393192, 458728 + + -1, 11 + + + 655336, -1, 917480, 393192, 393192, 720872, 458728, 458728, 393192, 458728, 524264, 720872, 458728, 458728, 393192, 2621416, 458728, 2621416, 2097128, 2097128, 2359272, 458728, 2621416, 2490344, 2621416, 2490344, 4259816, 2031592, 2424808, 2621416, 2490344, 3735528, 2490344, 3604456, 4063208, 3866600, 2424808, 2555880, 2293736, 3473384, 3735528, 4980712, 3145704, 3538920, 2424808, 2555880, 2031592, 3473384, 4980712, 3211240, 3342312, 3538920, 2424808, 2752488, 3014632, 3604456, 3145704, 3801064, 4063208, 3866600, 2424808, 458728, 2752488, 3014632 + + 3, -3 + + + 2359296, 6356969, 6029289, 393192, 458728, 458728, 393192, 458728, 1900544, 2293760, 327657, 458728, 524264, 458728, 720872, 458728, 2228224, 2359296, 6094825, 458728, 458728, 524264, 458728, 393192, 1966080, 2359296, 6094825, 393192, 524264, 524264, 458728, 458728, 2228224, 2359296, 6356969, 6029289, 458728, 458728, 458728, 524264, 1769472, 1900544, 2293760, 6094825, 393192, 458728, 458728, 393192, 4259841, 1769472, 2359296, 6356969, 6029289, 393192, 393192, 262120, 4456449, 4259841, 2031616, 2293760, 327657, 393192, 851946, 458728 + + -2, 11 + + + 458728, 458728, 2555880, 2031592, 1966056, 2359272, 458728, 917481, 458728, 393192, 2555880, 2293736, 1834984, 1966056, 2359272, 720872, 393192, 393192, 2555880, 1834984, 2031592, 1834984, 1966056, 2359272, 458728, 458728, 2555880, 2293736, 2293736, 2293736, 1834984, 2424808, 524264, 262120, 2555880, 1834984, 1834984, 2031592, 2293736, 2424808, 262120, 524264, 2555880, 1834984, 3735528, 3407848, 3669992, 1966056, 393192, 262120, 2555880, 2686952, 3473384, 3211240, 3276776, 3407848, 6029289, 458728, 2555880, 2293736, 3604456, 3997672, 3145704, 3342312 + + -2, -3 + + + 786434, 393216, 327680, 327680, 393216, 393216, 1376256, 655360, 1245184, 786434, 1376256, 458752, 393216, 458752, 327680, 786434, 1376256, 327680, 786433, 393216, 327680, 1376256, 786433, 327680, 327680, 458752, 1376256, 458752, 786435, 393216, 393216, 393216, 983018, 6356971, 458752, 393216, 458752, 2555904, 2031616, 2031616, 393192, 6029291, 6356971, 458752, 458752, 2490368, 1769472, 2228224, 458728, 458728, 6029291, 983018, 6356971, 2686976, 2949120, 1769472, 262120, 458728, 393192, 393192, 6029291, 6356971, 2686976, 2097152 + + -3, 11 + + + -1, -1, -1, -1, -1, 524264, 393192, 524264, -1, -1, -1, -1, 196587, 524264, 458728, 262120, -1, -1, -1, -1, -1, 458728, 393192, 524264, -1, -1, -1, -1, 131051, 458728, 458728, 458728, -1, -1, -1, -1, 1114091, 393192, 458728, 524264, -1, -1, -1, -1, 655339, 458728, 393192, 458728, -1, -1, -1, -1, -1, 6029289, 131048, 458728, -1, -1, -1, -1, -1, 6356969, 1245160, 327656 + + -3, -3 + + + -1, 327656, 6094824, 327656, 327656, 327656, 6356968, 393216, 393216, 393216, 393216, 327680, 327680, 458752, 393216, 1376256, 327680, 458752, 393216, 1245184, 458752, 4784128, -1, 1245184, 327680, 393216, 327680, 393216, 393216, -1, -1, 1376256, 6356970, 983018, 983018, 983018, 983018, 983018, 983018, 983018, 6029290, 2686952, 2293736, 1834984, 2031592, 1834984, 2424808, 720872, 2555880, 4259816, 1834984, 2293736, 1834984, 1834984, 2424808, 393192, 6029289, 3014632, 2949096, 3735528, 3407848, 3669992, 1966056, 2359272 + + 0, -3 + + + 393216, 458752, 6356969, 6029289, 2293736, 2031592, 2031592, 2293736, 393216, 1245184, 393216, 6356969, 6029289, 2031592, 2949096, 2293736, 196608, 393216, 196608, 458752, 6356969, 6029289, 3014632, 2686952, 393216, 393216, 393216, 393216, 393216, 6422505, 2555880, 2686952, 393216, 1376256, 458752, 393216, 458752, 6356969, 6029289, 2293736, -1, 327680, 393216, 458752, 196608, 393216, 6094825, 3014632, -1, 786434, 458752, 196608, 196608, 393216, 6422505, 2555880, 393216, 1376256, 393216, 393216, 458752, 458752, 6422505, 2555880 + + -1, -3 + + + 458752, 458752, 393216, 393216, 458752, 458752, 393216, 393216, 393216, 1376256, 1245184, 786434, 1376256, 393216, 393216, 458752, 393216, 1245184, 1376256, 327680, 786433, 393216, 786433, 393216, 393216, 1376256, 327680, 458752, 4784128, -1, 393216, 393216, 2293760, 393216, 327680, 786433, -1, -1, 4063232, 393216, 1900544, 2031616, 2293760, 393216, 327680, 458752, 1245184, 4784129, 2228224, 2228224, 1900544, 2293760, 786433, 4784129, -1, -1, 2097152, 2949120, 2883584, 1900544, 2293760, -1, -1, 786434 + + 7, 11 + + + -1, -1, -1, -1, -1, -1, -1, -1, 65513, -1, -1, -1, -1, -1, -1, -1, 917481, 65513, -1, -1, -1, -1, -1, -1, 720872, 917481, 131048, 65513, -1, -1, -1, -1, 458728, 458728, 393192, 655337, -1, -1, -1, -1, 458728, 720872, 720872, -1, -1, -1, -1, -1, 458728, 458728, 458728, 131049, -1, -1, -1, -1, 393192, 458728, 1441768, 131049, -1, -1, -1, -1 + + 6, 11 + + + 7995368, 458728, 393192, 458728, 458728, 458728, 917481, 65513, 327656, 6029289, 458728, 458728, 393192, 851946, 524264, 917481, 393216, 6356969, 327656, 1245160, 6029289, 458728, 524264, 458728, 393216, 458752, 327680, 393216, 6356969, 6029289, 393192, 720872, 393216, 393216, 393216, 393216, 393216, 327657, 393192, 458728, 2031616, 2031616, 2031616, 2031616, 2293760, 6422505, 458728, 393192, 2228224, 2228224, 2228224, 1769472, 2359296, 327657, 458728, 524264, 1966080, 2228224, 1835008, 4194304, 2162688, 6356969, 327656, 6029289 + + 5, 11 + + + 8781800, 8716264, 8716264, 8519656, 8585192, 8060904, 8323048, 8323048, 8126440, 8323048, 8060904, 7995368, 6029288, 1245160, 1638376, -1, 6422504, 327656, 6094824, 327656, 6356968, 458752, 327680, 458752, 655360, 393216, 393216, 393216, 393216, 327680, 393216, 393216, 393216, 393216, 393216, 655360, 393216, 393216, 393216, 393216, 6225920, 458752, 393216, 393216, 393216, 393216, 393216, 2555904, 458752, 393216, 6422528, 327680, 458752, 393216, 196608, 2490368, 393216, 6160384, 458752, 393216, 1376256, 327680, 2555904, 2424832 + + 5, -3 + + + 65513, -1, -1, -1, -1, -1, -1, -1, 917481, 131048, 65513, -1, -1, -1, -1, -1, 393192, 458728, 1114089, -1, -1, -1, -1, -1, 458728, 393192, 131049, -1, -1, -1, -1, -1, 458728, 524264, 917481, 65513, -1, -1, -1, -1, 524264, 393192, 720872, 917481, 65513, -1, -1, -1, 1441768, 524264, 262120, 524264, 131049, -1, -1, -1, 458728, 458728, 458728, 458728, 1114089, -1, -1, -1 + + 4, 11 + + + 393216, 327680, 327680, 327680, 6356969, 6029289, 7995369, 8519657, 327680, 393216, 458752, 1376256, 393216, 6356969, 6029289, 7995369, 655360, 327680, 393216, 393216, 327680, 393216, 6356969, 327656, 458752, 393216, 393216, 393216, 327680, 393216, 393216, 393216, 1376256, 393216, 393216, 327680, 196608, 393216, 393216, 393216, 2031616, 2293760, 393216, 393216, 458752, 327680, 393216, 327680, 2228224, 1900544, 2031616, 2293760, 327680, 327680, 458752, 393216, 1966080, 2621440, 1769472, 1900544, 2031616, 2293760, 458752, 458752 + + 3, 11 + + + 2293736, 6094827, 393216, 393216, 458752, 393216, 393216, 393216, 2162664, 327659, 393216, 327680, 393216, 196608, 196608, 327680, 524264, 6094827, 327680, 458752, 327680, 393216, 655360, 393216, 2359272, 1245163, 393216, 458752, 393216, 393216, 458752, 393216, 2424808, 6094827, 327680, 327680, 393216, 327680, 458752, 393216, 2424808, 6094827, 393216, 393216, 458752, 393216, 2555904, 2031616, 2424808, 6422507, 458752, 393216, 458752, 2555904, 2424832, 1769472, 2228200, 6029291, 983018, 6356971, 393216, 2490368, 1769472, 2752512 + + -6, -2 + + + 2293784, -1, 1900544, 2293760, -1, -1, -1, -1, 2359320, 6291457, 5963777, 2359296, -1, -1, -1, -1, 2359320, 393240, 262145, 2359296, 458752, -1, -1, -1, 4259865, 2293784, 6291457, 5963777, 2031616, 2293760, 393216, 393216, 4390937, 2359320, 393240, 6291457, 262144, 5963777, 2031616, 2031616, 4456473, 4259865, 2293784, 393240, 327704, 6291457, 6029312, 524288, 720920, 4456473, 4522008, 4522008, 4259865, 2293784, 458776, 393240, 720920, 720920, 720920, 720920, 4456473, 4522008, 4522008, 4522008 + + -5, -2 + + + -1, -1, 393216, 393216, 393216, 393216, 393216, 458752, -1, -1, 458752, 458752, 393216, 2555904, 2031616, 2031616, -1, -1, 393216, 458752, 393216, 2686976, 2097152, 2949120, 393216, 393216, 393216, 458752, 5963776, 262144, 1179648, 6029312, 2031616, 2031616, 5963776, 6029312, 6291456, 393240, 2555928, 4259864, -1, 6029312, 6291456, 393240, 2555928, 4259864, 4522008, 4456472, 2555928, 4259864, 4653080, -1, 4390936, 4456472, 720920, 720920, 4522008, 4456472, 720920, 720920, 720920, 720920, 720920, 720920 + + -4, -2 + + + 2490368, 1245184, 1572867, 2555928, 2031640, 2293784, 6291457, 5963777, 2424832, 2228224, 327657, 2490392, 2228248, 1900568, 2293784, 6029313, 2228224, 5963776, 6291456, 2490392, 4259864, 4259865, 2359320, 1179649, 262144, 6291456, 393240, 2490392, 4259867, 4259866, 2359320, 1179649, 4522008, 4522008, 4390936, 4259865, 1769496, 1835032, 2162712, 6356993, 720920, 720920, 720920, 4390937, 1769496, 2359320, 6291458, 5963778, 720920, 720920, 720920, 4653081, 1966104, 2359320, 1179649, 6356970, 720920, 720920, 720920, -1, 2097176, 2162712, 6029313, 6094825 + + -3, -2 + + + 6094825, 5111784, 4259816, 3473384, 3932136, 3276776, 3669992, 1966056, 1245161, 1834984, 1834984, 3473384, 3211240, 3211240, 3538920, 2031592, 6094825, 2293736, 1834984, 3604456, 4063208, 4063208, 3866600, 2883560, 1638377, 1834984, 3080168, 1834984, 2293736, 2031592, 2293736, 1834984, -1, 3014632, 1834984, 2031592, 1834984, 2031592, 1834984, 3735528, 6094825, 2555880, 2686952, 2031592, 2031592, 1834984, 2686952, 3473384, 6029290, 2490344, 2293736, 4325352, 4456424, 4325353, 2686952, 3473384, 2490344, 2686952, 2293736, 4587499, 786408, 4521961, 4325353, 3473384 + + -10, -2 + + + -1, 131051, 458728, 393192, 393192, 720872, 524264, 524264, -1, 1114091, 524264, 458728, 524264, 458728, 458728, 262120, -1, 131051, 393192, 524264, 393192, 458728, 524264, 393192, -1, 131051, 458728, 262120, 458728, 524264, 524264, 458728, -1, 131051, 720872, 458728, 458728, 458728, 851945, 262120, -1, 131051, 458728, 851947, 458728, 393192, 393192, 524264, -1, 131051, 262120, 458728, 524264, 458728, 393192, 524264, -1, 131051, 393192, 458728, 458728, 458728, 458728, 458728 + + -9, -2 + + + 6422507, 393216, 458752, 327680, 393216, 393216, 327680, 6356969, 6094827, 458752, 327680, 4259840, 4390912, 4390912, 4259841, 393216, 6094827, 458752, 393216, 4521987, 720896, 720896, 4456449, 4390912, 6094827, 458752, 458752, 4259843, 4456451, 720896, 720896, 720896, 6029291, 6356971, 1245184, 327680, 4259843, 4521986, 4456451, 720896, 393192, 6422507, 327680, 393216, 393216, 393216, 4521987, 720896, 458728, 6094827, 393216, 393216, 327680, 327680, 4259843, 4521986, 458728, 6094827, 393216, 393216, 327680, 327680, 393216, 393216 + + -8, -2 + + + 6029289, 393192, 262120, 2752488, 6029288, 6356968, 6356995, 2555928, 6356969, 1638376, -1, 327656, 6356968, 5963776, 6291456, 2490392, 4521984, 4390912, 4259841, 393216, 5963776, 6291456, 393240, 2687000, 720896, 720896, 4521985, 393216, 524291, 2555928, 2031640, 4259864, 720896, 720896, 4521985, 393216, -1, 2490392, 1966104, 4522011, 720896, 4456450, 4259842, 327680, 262147, 2490392, 1966104, 4587547, 4390914, 4259842, 1376256, 393216, 524291, 2490392, 2228248, -1, 327680, 458752, 393216, 393216, -1, 2490392, 1769496, 4390939 + + -7, -2 + + + 2424856, 1769496, 4390939, 720920, 720920, 720920, 4456473, 4259865, 2228248, 4259864, 4456472, 720920, 720920, 720920, 720920, 4325401, 2097176, 4522011, 720920, 720920, 720920, 720920, 720920, -1, 4522008, 4456472, 720920, 720920, 720920, 720920, 720920, 4456473, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920, 720920 + + 1, 12 + + + 1966056, 2490344, 3735528, 3407848, 3669992, 2686952, 2424808, 458728, 4325353, 1834984, 3473384, 3211240, 3276776, 3669992, 2424808, 524264, 4521961, 4456424, 4325353, 3342312, 3145704, 3538920, 1966056, 2359272, 786408, 786408, 4456425, 3997672, 3342312, 3538920, 2031592, 2424808, 786408, 786408, 4587497, 3604456, 4063208, 3866600, 2686952, 2424808, 4587498, 4587498, 4325354, 3014632, 2031592, 2031592, 1900520, 2228200, -1, 6094824, 6029289, 2752488, 2162664, 2162664, 2228200, 393192, 4521984, 4259841, 6356969, 6094824, 6422504, 327656, 6094824, 6029289 + + 3, -4 + + + 458728, 458728, 393192, 458728, 524264, 720872, 524264, 524264, 393192, 458728, 458728, 458728, 720872, 458728, 393192, 458728, 458728, 458728, 393192, 458728, 393192, 458728, 1441768, 458728, 458728, 851946, 458728, 720872, 458728, 262120, 458728, 1441768, 6029289, 393192, 524264, 458728, 458728, 851945, 524264, 458728, 6422505, 458728, 458728, 1441768, 524264, 458728, 458728, 458728, 6356969, 6029289, 524264, 458728, 720872, 458728, 393192, 393192, 2293760, 327657, 393192, 458728, 524264, 524264, 393192, 524264 + + 0, 12 + + + 2162664, 3014632, 3473384, 3932136, 3342312, 3538920, 2686952, 2686952, 2097128, 2490344, 3473384, 3211240, 3211240, 3538920, 4325352, 4587496, 2031592, 2031592, 3604456, 4063208, 4063208, 3866600, 4587499, 786408, 1834984, 1834984, 1834984, 2031592, 2293736, 4325352, 4521960, 786408, 2031592, 2949096, 1834984, 1900520, 2162664, 4587499, 786408, 786408, 2162664, 2162664, 2162664, 2228200, 524264, 4325355, 4653034, -1, 1245160, 6422504, 327656, 6422504, 6094824, 6094824, 6094824, 589800, 4521984, 4259841, 458752, 393216, 327680, 4259840, 4521984, 4390912 + + 2, -4 + + + 2424832, 2228224, 1900544, 2293760, 6356969, 327656, 6029289, 458728, 2228224, 1966080, 1769472, 1900544, 2031616, 2293760, 6356969, 6029289, 2097152, 2949120, 2228224, 4194304, 1966080, 1900544, 2293760, 327657, 2293760, 2490368, 1966080, 1769472, 1769472, 2228224, 2359296, 327657, 2359296, 2490368, 2228224, 2228224, 2228224, 1769472, 2359296, 6356969, 2359296, 2686976, 2097152, 2949120, 2228224, 1835008, 2162688, 458752, 1900544, 2293760, 2555904, 2424832, 1769472, 1900544, 2031616, 2293760, 2621440, 1900544, 2424832, 1769472, 1769472, 2228224, 2621440, 1900544 + + 3, 12 + + + 2097128, 2359272, 851944, 6029291, 6356971, 2686976, 2949120, 1966080, 1834984, 1966056, 2359272, 393192, 6029291, 6356971, 2686976, 5963776, 3014632, 2031592, 2424808, 262120, 262120, 1245163, 458752, 6029315, 2752488, 2162664, 2228200, 458728, 458728, 6029291, 6356971, 1179651, 2621416, 2097128, 2097128, 2097128, 2359272, 458728, 327659, 262147, 2490344, 4325352, 4456424, 4325353, 1966056, 2359272, 6422507, 1179651, 4325352, 4521960, 786408, 4587497, 2949096, 2424808, 6094827, 262147, 4456427, 786408, 786408, 4521961, 4325353, 2424808, 327659, 6029315 + + 1, -4 + + + 2883560, 2031592, 2031592, 2424808, 393192, 6029288, 6356968, 2555904, 1834984, 2293736, 1900520, 2228200, 458728, 327659, 393216, 2490368, 1834984, 1900520, 2228200, 393192, 393192, 1245163, 393216, 2686976, 1900520, 2228200, 393192, 524264, 6029288, 6356968, 2555904, 2031616, 2424808, 458728, 393192, 524264, 6094827, 393216, 2490368, 1769472, 2424808, 524264, 851945, 524264, 1245163, 2555904, 2424832, 1769472, 2424808, 458728, 524264, 458728, 1245163, 2490368, 1769472, 2621440, 1966056, 2359272, 393192, 458728, 1245163, 2490368, 3014656, 2818048 + + 2, 12 + + + 458728, -1, -1, -1, 131051, 720872, 458728, 2621416, 917482, 65514, -1, -1, 65515, 917483, 393192, 2555880, 1114089, -1, -1, -1, -1, 1114091, 393192, 2752488, 917481, 65513, -1, -1, -1, 1114091, 458728, 393192, 393192, 917481, 131048, 65513, -1, 196587, 393192, 1441768, 720872, 393192, 524264, 1114089, -1, -1, 458728, 2621416, 458728, 393192, 458728, 917481, 65513, 1114091, 393192, 2555880, 720872, 393192, 458728, 393192, 131049, 65515, 917483, 2555880 + + 0, -4 + + + 2555880, 2949096, 3735528, 3407848, 4980712, 3211240, 3276776, 3669992, 2490344, 3735528, 4980712, 3145704, 3145704, 3145704, 3342312, 3538920, 2293736, 3473384, 3145704, 3932136, 3211240, 3211240, 3801064, 3866600, 2293736, 3473384, 3211240, 3211240, 3932136, 3801064, 3866600, 1834984, 1834984, 3604456, 4063208, 3997672, 3211240, 3538920, 2031592, 2293736, 6029289, 1834984, 2686952, 3604456, 4063208, 3866600, 2031592, 1834984, 6356969, 327656, 6029289, 1834984, 2293736, 2031592, 2031592, 1834984, 393216, 393216, 327657, 3014632, 2031592, 1834984, 1834984, 1834984 + + -3, 12 + + + -1, -1, -1, -1, -1, 327680, 786432, 327680, -1, -1, -1, -1, -1, 327680, 327680, 393216, -1, -1, -1, -1, -1, 393216, 393216, 393216, -1, -1, -1, -1, -1, 393216, 393216, 393216, -1, -1, -1, -1, -1, 327680, 458752, 393216, -1, -1, -1, -1, -1, 655360, 458752, 196608, -1, -1, -1, -1, -1, 393216, 458752, 458752, -1, -1, -1, -1, -1, 393216, 1245184, 655360 + + -1, -4 + + + 3473384, 3145704, 3932136, 3801064, 3866600, 2424808, 720872, 393192, 4325352, 4325353, 4063208, 3866600, 1900520, 2228200, 458728, 2621416, 4325355, 4325354, 2162664, 2162664, 2228200, 2621416, 2097128, 2490344, 2162664, 2228200, 2621416, 2097128, 2097128, 2490344, 2293736, 2686952, 2097128, 2097128, 2490344, 2293736, 1834984, 1834984, 2031592, 1834984, 1834984, 2686952, 2686952, 6029288, 327656, 6422504, 6094824, 6422504, 2031592, 6029288, 6094824, 6356968, 393216, 393216, 393216, 393216, 327656, 6356968, 196608, 393216, 196608, 393216, 393216, 458752 + + -2, -4 + + + 2555880, 2293736, 2293736, 2293736, 1834984, 2424808, 2752488, 3014632, 2490344, 1834984, 1834984, 2818024, 2293736, 1966056, 2359272, 2555880, 2293736, 2949096, 2883560, 2031592, 2686952, 3080168, 2424808, 2555880, 2293736, 2293736, 2293736, 2293736, 2031592, 1900520, 2228200, 2752488, 2293736, 1900520, 3014632, 2293736, 1900520, 2228200, 458728, 2621416, 2162664, 2228200, 2752488, 2162664, 2228200, 458728, 2621416, 2490344, 458728, 524264, 1310696, 458728, 458728, 458728, 2555880, 1834984, 1638376, -1, 1245160, 6094824, 1245160, 1245160, 1245160, 6422504 + + -1, 12 + + + 4063208, 3866600, 1900520, 2162664, 2228200, 393192, 524264, 2752488, 1834984, 2686952, 2424808, 2621416, 2097128, 2097128, 2097128, 2097128, 2162664, 2162664, 2228200, 2555880, 1834984, 3080168, 1834984, 2031592, 524264, 393192, 393192, 2555880, 2293736, 1834984, 1834984, 1834984, 393192, 393192, 458728, 2752488, 2162664, 3014632, 2686952, 1834984, 393192, 1441768, 458728, 720872, 393192, 2752488, 2162664, 2162664, 458728, 458728, 524264, 262120, 524264, 393192, 6029288, 1245160, 6029289, 458728, 6029288, 6094824, 6094824, 6422504, 6356968, 4259840 + + -3, -4 + + + 2228224, 1966080, 2621440, 1769472, 1835008, 2097152, 2162688, 6422505, 2097152, 2097152, 2097152, 2097152, 2162688, 6356970, 983018, 6029290, 1507306, -1, 983018, 983018, 983018, 6029290, 2293736, 2293736, 2621416, 2097128, 2097128, 2359272, 458728, 2752488, 3014632, 2031592, 2490344, 1834984, 1834984, 1966056, 2097128, 2097128, 2490344, 2031592, 2293736, 1834984, 4259816, 2686952, 2293736, 2949096, 2293736, 1900520, 2686952, 2293736, 1834984, 1834984, 2293736, 2031592, 1900520, 2228200, 1834984, 2686952, 2818024, 1900520, 2162664, 2162664, 6029288, 1245160 + + -2, 12 + + + 6356969, 6029289, 2555880, 1834984, 2031592, 3604456, 4063208, 4063208, 327680, 6356969, 6029289, 917481, 1900520, 2162664, 2162664, 3014632, 327680, 393216, 6356969, 6422504, 327656, 6029289, 524264, 2752488, 393216, 393216, 196608, 458752, 393216, 6422505, 458728, 458728, 393216, 327680, 458752, 393216, 393216, 6356969, 327656, 6029289, 458752, 196608, 393216, 393216, 458752, 393216, 393216, 1245161, 655360, 458752, 393216, 393216, 458752, 393216, 393216, 327657, 327680, 393216, 393216, 393216, 393216, 393216, 327680, 6356969 + + -4, -4 + + + 6029291, 983018, 6356971, 2686976, 2949120, 4259843, 4390914, 4259842, 393192, 458728, 6029291, 6356971, 2686976, 2097152, 2097152, 2097152, 720872, 458728, 458728, 6029291, 983018, 983018, 983018, 983018, 458728, 458728, 458728, 2621416, 2097128, 2097128, 2359272, 458728, 2359272, 524264, 2621416, 2490344, 2293736, 2293736, 1966056, 2097128, 1966056, 2359272, 2555880, 2031592, 1834984, 4259816, 2949096, 2293736, 2293736, 2424808, 2555880, 2293736, 2883560, 2686952, 2031592, 2293736, 6029289, 2228200, 2752488, 3014632, 2686952, 1834984, 2293736, 1834984 + + 8, 12 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 131048, 65513, -1, -1, -1, -1, -1, -1, 458728, 1114089, -1, -1, -1, -1, -1, -1 + + 5, 12 + + + 393216, 393216, 6422528, 6225920, 393216, 458752, 2490368, 1966080, 393216, 393216, 393216, 393216, 6422528, 6422528, 2490368, 1966080, 393216, 393216, 393216, 6422528, 6488064, 6619136, 2490368, 1966080, 262144, 262144, 5963777, 393216, 393216, 393216, 5963776, 6356992, 327704, 458776, 1310721, -1, 1638401, 1507331, -1, 393240, 458776, 393240, -1, -1, -1, -1, -1, 196632, 6029336, 5963801, -1, -1, -1, -1, -1, 393240, 327728, 6029337, -1, -1, -1, -1, -1, 393240 + + 4, 12 + + + 2228224, 4194304, 1769472, 2818048, 2621440, 2359296, 393216, 458752, 1179648, 1179648, 5963777, 2949120, 1769472, 2359296, 458752, 393216, 327704, 196632, 6291457, 1572864, -1, 5963777, 327680, 327680, 458776, 1245208, 327704, 327704, 393240, 6291457, 6029312, 6356992, 393240, 393240, 655384, 458776, 393240, 327704, 458776, 196632, 458776, 5963800, 1179672, 1179672, 5963801, 458776, 655384, 458776, 5963800, 6291480, 393264, 327728, 6291481, 6357016, 6029336, 1179672, 262171, 327728, 327728, 393264, 393264, 458800, 393264, 458800 + + 7, 12 + + + 6029289, 393192, 524264, 1114089, -1, -1, -1, -1, 327657, 458728, 458728, 1114089, -1, -1, -1, -1, 327657, 524264, 524264, 917481, 65513, -1, -1, -1, 327657, 458728, 524264, 393192, 1114089, -1, -1, -1, 327657, 524264, 458728, 458728, 917481, 131048, 65513, -1, 327657, 458728, 458728, 393192, 458728, 458728, 917481, 65513, 6356969, 6029289, 458728, 458728, 393192, 458728, 393192, 917481, 327680, 6356969, 6029289, 458728, 393192, 524264, 393192, 458728 + + 4, -4 + + + 393192, 458728, 917481, 131048, 1114088, 65513, -1, -1, 524264, 458728, 393192, 458728, 458728, 131049, -1, -1, 393192, 458728, 393192, 458728, 393192, 655337, -1, -1, 458728, 524264, 393192, 524264, 720872, -1, -1, -1, 393192, 458728, 524264, 458728, 851947, 917481, 65513, -1, 458728, 524264, 458728, 458728, 524264, 458728, 917481, 65513, 458728, 393192, 393192, 458728, 393192, 524264, 720872, 196585, 458728, 393192, 393192, 524264, 524264, 458728, 458728, -1 + + 6, 12 + + + 3014656, 5963776, 6356992, 1179648, 262144, 1179648, 5963777, 6356969, 5963776, 6291456, 327704, 327704, 327704, 327704, 6291457, 5963777, 6029315, 327704, 1376280, 786459, 1376280, 786457, 786458, 262145, 6291456, 458776, 786458, 1376280, 786459, 1245208, 393240, 6029313, 327704, 393240, 1376280, 786459, 1376280, 786458, 786457, 524289, 458776, 393240, 196632, 393240, 458776, 393240, 458776, -1, 327704, 196632, 393240, 327704, 327704, 393240, 6291458, 5963778, 786458, 327704, 196632, 6291458, 1441794, -1, 5963778, 2293760 + + -5, -3 + + + 1835008, 2097152, 2949120, 1769472, 1900544, 2031616, 2031616, 2293760, 2162688, 393216, 2686976, 2949120, 1966080, 1966080, 2228224, 1900544, 393216, 327680, 393216, 2686976, 2097152, 2949120, 1769472, 2228224, 393216, 393216, 393216, 327680, 327680, 2686976, 2097152, 2097152, 393216, 393216, 458752, 393216, 655360, 393216, 327680, 458752, -1, 458752, 393216, 393216, 196608, 655360, 458752, 655360, -1, -1, 393216, 393216, 458752, 393216, 196608, 458752, -1, -1, 393216, 393216, 458752, 458752, 393216, 458752 + + -4, -3 + + + 6356969, 6029289, 393192, 2752488, 2162664, 2162664, 6029288, 1638376, 2293760, 6356969, 6094824, 6094824, 327656, 6094824, 6356968, 393216, 2359296, 393216, 393216, 327680, 393216, 655360, 196608, 327680, 2162688, 327680, 393216, 393216, 393216, 393216, 327680, 393216, 393216, 327680, 196608, 393216, 458752, 393216, 393216, 393216, 393216, 393216, 458752, 393216, 327680, 458752, 393216, 6356970, 327680, 196608, 327680, 655360, 393216, 327680, 458752, 6422505, 2555904, 2031616, 5963776, 262144, 524288, -1, 5963777, 6356969 + + -7, -3 + + + 2490344, 4325352, 4325353, 2818024, 2686952, 1834984, 1834984, 2293736, 2293736, 4325355, 4325354, 1900520, 1834984, 1900520, 5111784, 4194280, 2162664, 2162664, 2162664, 6029288, 1638376, -1, 6094824, 327656, 589800, -1, 327656, 6356968, 5963776, 1572864, -1, 262144, 5963776, 262144, 1179648, 6029312, 6291456, 2555928, 2031640, 2293784, 6291456, 327704, 393240, 393240, 327704, 2490392, 2621464, 2359320, 2555928, 2031640, 4259864, 4325400, -1, 4522008, 4259865, 2162712, 2490392, 2621464, 4390939, 720920, 720920, 720920, 4390937, 327704 + + -6, -3 + + + 4259816, 6029288, 1245160, 6356968, 327680, 1245184, 2490368, 1966080, 6029288, 6356968, 2555904, 2293760, 393216, 393216, 2686976, 2097152, 6356968, 393216, 2686976, 2162688, 393216, 393216, 393216, 393216, 5963777, 393216, 393216, 327680, 327680, 393216, 458752, 393216, 6029313, 327680, 655360, 458752, -1, -1, -1, -1, 6029313, 2293760, 327680, -1, -1, -1, -1, -1, 6291457, 5963777, 2293760, -1, -1, -1, -1, -1, 327704, 1572865, 2359296, -1, -1, -1, -1, -1 + + -9, -3 + + + 327659, 393216, 4390915, 720896, 720896, 720896, 720896, 4390913, 589803, 393216, 4390915, 720896, 720896, 720896, 4456450, 4259842, -1, 655360, 4259843, 4456451, 720896, 720896, 4521985, 393216, 6029291, 6356971, 327680, 4259843, 4587522, -1, 4259842, 458752, 393192, 327659, 327680, 393216, 196608, 786432, 327680, 6356970, 458728, 6094827, 327680, 4259840, 4390912, 4259841, 393216, 1245161, 6029288, 6356968, 327680, 4521987, 720896, 4521985, 327680, 327657, 6094827, 393216, 196608, 4259843, 4521986, 4259842, 327680, 327657 + + -8, -3 + + + 327680, 393216, 6356970, 6029290, 458728, 393192, 2621416, 2097128, 393216, 6356970, 6029290, 458728, 458728, 2621416, 2490344, 2293736, 6356970, 6029290, 393192, 458728, 2621416, 2490344, 2031592, 1900520, 327657, 524264, 458728, 393192, 2555880, 1834984, 2293736, 6029288, 6029290, 393192, 1441768, 2621416, 2490344, 2293736, 6029288, 6356968, 458728, 458728, 393192, 2555880, 1834984, 2293736, 1245163, 5963776, 458728, 393192, 1441768, 2555880, 2293736, 6029288, 6356968, 262147, 458728, 458728, 393192, 2555880, 2031592, 327659, 5963776, 6291456 + + -10, -3 + + + -1, -1, -1, 1114091, 393192, 458728, 458728, 524264, -1, -1, -1, 1114091, 458728, 458728, 458728, 458728, -1, -1, -1, 131051, 458728, 524264, 262120, 524264, -1, -1, 65512, 917480, 393192, 524264, 393192, 851945, -1, 65512, 917480, 458728, 458728, 262120, 262120, 458728, -1, 1114091, 458728, 458728, 458728, 524264, 262120, 393192, -1, 655339, 262120, 458728, 393192, 393192, 524264, 393192, -1, -1, 524264, 720872, 458728, 458728, 393192, 458728 + + 7, 13 + + + 327680, 327680, 327657, 393192, 458728, 458728, 393192, 458728, 2031616, 2293760, 6356969, 6029289, 458728, 524264, 720872, 458728, 2621440, 2359296, 393216, 6094825, 458728, 458728, 458728, 720872, 1769472, 1900544, 2293760, 6356969, 6029289, 393192, 393192, 393192, 1769472, 1769472, 2359296, 327680, 6356969, 1638376, -1, 6422504, 3342336, 3604480, 1900544, 2031616, 2293760, 458752, 196608, 393216, 3276800, 3211264, 3342336, 3604480, 1900544, 2031616, 2031616, 2293760, 3145728, 3866624, 3080192, 3473408, 1966080, 1769472, 1769472, 1900544 + + 3, -5 + + + 917481, 1114088, 1114088, 131048, 65513, -1, -1, -1, 458728, 524264, 458728, 393192, 917481, 65513, -1, -1, 393192, 458728, 524264, 524264, 393192, 1114089, -1, -1, 458728, 458728, 458728, 393192, 524264, 917481, 1114088, 131048, 262120, 458728, 524264, 458728, 458728, 458728, 458728, 458728, 393192, 458728, 458728, 458728, 262120, 458728, 458728, 458728, 458728, 458728, 458728, 458728, 458728, 393192, 458728, 458728, 458728, 393192, 524264, 458728, 458728, 458728, 458728, 458728 + + 4, -5 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 131048, 1114088, 65513, -1, -1, -1, -1, -1, 393192, 393192, 655337, -1, -1, -1, -1, -1, 458728, 458728, -1, -1, -1, -1, -1, -1, 458728, 458728, 1114089, -1, -1, -1, -1, -1, 393192, 393192, 1114089, -1, -1, -1, -1, -1 + + 8, 13 + + + 458728, 917481, 131048, 65513, -1, -1, -1, -1, 1441768, 393192, 524264, 917481, 1114088, 65513, -1, -1, 458728, 458728, 458728, 393192, 458728, 917481, 1114088, 65513, 458728, 393192, 458728, 458728, 393192, 458728, 393192, 917481, 6029289, 393192, 458728, 458728, 393192, 458728, 458728, 458728, 6356969, 1245160, 1245160, 327656, 1245160, 589800, -1, 6422504, 393216, 327680, 327680, 393216, 393216, 458752, 327680, 327680, 2293760, 327680, 327680, 327680, 327680, 393216, 393216, 458752 + + 5, 13 + + + 327728, 6357017, -1, -1, -1, -1, -1, 196632, 196656, 6029337, -1, -1, -1, -1, -1, 393240, 327728, 262169, 458776, 6553624, 6422552, 6160408, 393240, 327704, 393264, 6357017, 393240, 6488088, 6160408, 6422552, 393240, 393240, 4259889, 262169, 393240, 6488088, 393240, 6488088, 6160408, 458776, 4390961, 6291481, 5963801, 2555928, 2031640, 2293784, 393240, 6160408, 4390961, 393264, 262169, 2490392, 1769496, 1900568, 2293784, 196632, 4522033, 393264, 262169, 2490392, 2228248, 2228248, 1900568, 2293784 + + 6, 13 + + + 458776, 458776, 393240, 6029313, 2228224, 1769472, 2228224, 2359296, 327704, 327704, 393240, 6029313, 2228224, 1769472, 1769472, 1900544, 196632, 655384, 6291458, 5963778, 2228224, 2228224, 1769472, 2228224, 393240, 393240, 6029313, 2490368, 1769472, 4194304, 2752512, 1769472, 655384, 393240, 262145, 2490368, 2228224, 3997696, 3342336, 3604480, 393240, 393240, 262145, 2490368, 3670016, 4915200, 3080192, 3211264, 393240, 393240, 262145, 2490368, 3407872, 3145728, 4194304, 3145728, 6684696, 458776, 262145, 2490368, 3538944, 3997696, 3932160, 3276800 + + 9, 13 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 131048, 131048, 131048, 65513, -1, -1, -1, -1, 458728, 458728, 458728, 917481, 65513, -1, -1, -1, 6029289, 458728, 524264, 393192, 917481, 65513, -1, -1, 6356969, 6422504, 6029289, 458728, 393192, 917481, 65513, -1, 393216, 393216, 6356969, 6029289, 458728, 524264, 1114089, -1 + + -1, 13 + + + 6356969, 327656, 6356968, 327680, 327680, 458752, 393216, 4521987, 393216, 393216, 393216, 393216, 393216, 393216, 327680, 4259843, 458752, 393216, 393216, 196608, 327680, 655360, 458752, 327680, 327680, 393216, 458752, 327680, 393216, 196608, 393216, 393216, 393216, 327680, 327680, 458752, 393216, 393216, 327680, 458752, 393216, 327680, 196608, 327680, 393216, 393216, 393216, 327680, 327680, 393216, 327680, 458752, 327680, 786433, 393216, 327680, 458752, 327680, 393216, 458752, 393216, 327680, 393216, 393216 + + -5, -5 + + + 458728, 4325355, 4456426, 4325354, 851945, 6422507, 327680, 4521987, 2097128, 4325352, 4456424, 4325353, 2359272, 327659, 458752, 4259843, 1834984, 4456427, 786408, 4587497, 2424808, 6029291, 6356971, 2490368, 2031592, 4325355, 4587498, 4325354, 1966056, 2359272, 1245163, 2490368, 2162664, 2162664, 3014632, 2031592, 2293736, 2424808, 589803, 2490368, 458728, 458728, 2752488, 2162664, 2162664, 2228200, -1, 2686976, 458728, 1441768, 393192, 393192, 458728, 458728, 6029291, 6356971, 458728, 393192, 458728, 524264, 524264, 524264, 393192, 6029291 + + 0, 13 + + + 720896, 4521985, 4259840, 4521984, 4390912, 4456448, 720896, 720896, 4390914, 4259842, 4390915, 720896, 720896, 720896, 720896, 720896, 327680, 458752, 4259843, 4456451, 720896, 720896, 720896, 720896, 393216, 327680, 393216, 4259843, 4390914, 4521986, 4390914, 4521986, 327680, 327680, 393216, 393216, 327680, 327680, 196608, 327680, 393216, 458752, 393216, 458752, 393216, 327680, 393216, 393216, 327680, 458752, 393216, 393216, 196608, 327680, 327680, 458752, 393216, 327680, 327680, 393216, 393216, 393216, 393216, 393216 + + -4, -5 + + + 720896, 720896, 720896, 4521985, 393216, 393216, 393216, 4259840, 4390914, 4521986, 4521986, 4259842, 196608, 393216, 4259840, 4456448, 2228224, 4259840, 4521984, 4390912, 4259841, 393216, 4390915, 720896, 1966080, 4390915, 720896, 720896, 4456449, 4259841, 4259843, 4521986, 2228224, 4259843, 4456451, 720896, 720896, 4521985, 327680, 327680, 2097152, 2949120, 4259843, 4390914, 4521986, 4259842, 4259840, 4390912, 458752, 2490368, 1769472, 2228224, 3014656, 4259840, 4456448, 720896, 6356971, 2686976, 2097152, 2949120, 2228224, 4390915, 720896, 4456450 + + -3, 13 + + + -1, -1, -1, -1, -1, 393216, 393216, 327680, -1, -1, -1, -1, -1, 327680, 458752, 393216, -1, -1, -1, -1, -1, 393216, 393216, 458752, -1, -1, -1, -1, -1, 393216, 327680, 393216, -1, -1, -1, -1, -1, 458752, 393216, 786433, -1, -1, -1, -1, -1, 393216, 458752, 327680, -1, -1, -1, -1, -1, 393216, 458752, 196608, -1, -1, -1, -1, -1, 196608, 458752, 458752 + + -3, -5 + + + 4390912, 4259841, 393216, 458752, 1245184, 393216, 458752, 6356969, 720896, 4456449, 4259841, 196608, 393216, 393216, 2555904, 2031616, 720896, 720896, 4390913, 393216, 4259840, 4390912, 4259841, 1966080, 4390914, 4521986, 4259842, 4259840, 4456448, 720896, 4653057, 1966080, 196608, 1245184, 393216, 4390915, 720896, 720896, -1, 1769472, 4521984, 4521984, 4259841, 4521987, 720896, 4456450, 4259842, 2818048, 720896, 720896, 4521985, 4390915, 720896, 4390913, 1835008, 2097152, 4521986, 4390914, 4259842, 4259843, 4521986, 4259842, 2359296, 6356970 + + -2, 13 + + + 196608, 393216, 393216, 327680, 458752, 393216, 393216, 1245184, 393216, 393216, 327680, 327680, 458752, 393216, 393216, 327680, 393216, 393216, 393216, 786432, 327680, 786433, 393216, 393216, 327680, 393216, 1376256, 393216, 393216, 393216, 1376256, 327680, 786432, 327680, 458752, 393216, 327680, 196608, 393216, 327680, 327680, 393216, 655360, 327680, 327680, 393216, 393216, 196608, 458752, 393216, 1376256, 327680, 393216, 786433, 327680, 655360, 327680, 458752, 393216, 458752, 393216, 327680, 327680, 1376256 + + -2, -5 + + + 327656, 6029289, 2097128, 2359272, 458728, 458728, 458728, 458728, 2293760, 6094825, 2031592, 1966056, 2359272, 393192, 458728, 458728, 2359296, 1638377, 4325352, 4325353, 2424808, 458728, 720872, 524264, 2359296, -1, 4325355, 4325354, 2228200, 458728, 524264, 458728, 2359296, 6094825, 2293736, 2424808, 393192, 524264, 393192, 524264, 2359296, 6094825, 2293736, 2424808, 458728, 1310696, 458728, 2621416, 2162688, 327657, 2293736, 1966056, 2359272, 393192, 2621416, 2490344, 983018, 6029290, 2031592, 1834984, 1966056, 2359272, 2555880, 1834984 + + 3, 13 + + + 4325355, 4587498, 4521963, 786408, 4587497, 2424808, 6094827, 262147, 2752488, 3014632, 4325355, 4587498, 4325354, 2424808, 6422507, 6356995, 458728, 2752488, 2162664, 2162664, 2162664, 2228200, 1245163, 5963779, 6029289, 458728, 458728, 917482, 6029288, 6094824, 6356968, 327680, 6356969, 327656, 327656, 6094824, 6356968, 4259840, 4521984, 4259841, 4521984, 4390912, 4390912, 4390912, 4390912, 4456448, 720896, 4521985, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 4390913, 4390914, 4390914, 4521986, 4521986, 4521986, 4390914, 4521986, 4259842 + + -1, -5 + + + 524264, 393192, 458728, 1441768, 458728, 458728, 393192, 458728, 458728, 458728, 393192, 458728, 524264, 393192, 458728, 393192, 524264, 458728, 458728, 524264, 851946, 458728, 458728, 458728, 524264, 458728, 458728, 524264, 393192, 458728, 262120, 458728, 2621416, 2097128, 2097128, 2097128, 2359272, 458728, 524264, 393192, 2490344, 3735528, 3407848, 3669992, 1966056, 2359272, 458728, 393192, 3735528, 4980712, 3211240, 3276776, 3669992, 2424808, 393192, 458728, 3473384, 3145704, 3932136, 3145704, 3538920, 2424808, 458728, 262120 + + 4, 13 + + + 5963803, 6291483, 393264, 393264, 4259888, 4390960, 4259889, 393264, 327704, 6357019, 393264, 393264, 4390963, 720944, 4456497, 4259889, 6291459, 262171, 4259888, 4390960, 4456496, 720944, 720944, 4390961, 6029315, 1179675, 4522035, 720944, 720944, 720944, 720944, 4390961, 262147, 6357019, 4259891, 4456499, 720944, 720944, 720944, 4456497, 6029315, 6029339, 655408, 4390963, 720944, 720944, 720944, 720944, 6029315, 262171, 196656, 4522035, 720944, 720944, 720944, 720944, 6356995, 6029339, 393264, 4522035, 720944, 720944, 720944, 720944 + + 0, -5 + + + 393192, 458728, 458728, 458728, 458728, 458728, 458728, 524264, 393192, 458728, 458728, 2621416, 2097128, 2097128, 2097128, 2097128, 458728, 458728, 458728, 2555880, 2949096, 3735528, 3407848, 3669992, 524264, 458728, 458728, 2555880, 3735528, 4980712, 3211240, 3276776, 458728, 393192, 2621416, 2490344, 3473384, 3211240, 3145704, 3145704, 524264, 2621416, 2490344, 1834984, 3604456, 3997672, 3211240, 3211240, 2621416, 2490344, 2293736, 2818024, 2686952, 3604456, 4063208, 3997672, 2555880, 2686952, 2293736, 1834984, 3735528, 3407848, 3669992, 3604456 + + 1, 13 + + + 720896, 4521985, 393216, 327680, 4259840, 4390912, 4259841, 6356969, 720896, 4521985, 4259840, 4521984, 4456448, 720896, 4456449, 4259841, 720896, 4390913, 4390915, 720896, 720896, 720896, 720896, 4456449, 4521986, 4259842, 4259843, 4456451, 720896, 720896, 720896, 720896, 393216, 327680, 393216, 4259843, 4521986, 4456451, 720896, 720896, 393216, 458752, 393216, 327680, 458752, 4259843, 4456451, 720896, 458752, 393216, 393216, 393216, 655360, 786435, 4521987, 720896, 393216, 327680, 393216, 327680, 393216, 393216, 4259843, 4521986 + + 1, -5 + + + 1441768, 458728, 262120, 458728, 524264, 458728, 458728, 458728, 2359272, 458728, 458728, 524264, 524264, 458728, 458728, 393192, 1966056, 2359272, 393192, 458728, 458728, 393192, 458728, 458728, 3669992, 1966056, 2359272, 458728, 393192, 262120, 458728, 393192, 3276776, 3669992, 1966056, 2359272, 1441768, 393192, 524264, 458728, 3211240, 3538920, 2293736, 2424808, 458728, 458728, 524264, 524264, 3145704, 3538920, 2293736, 2424808, 393192, 458728, 458728, 6029288, 4063208, 3866600, 2686952, 2424808, 458728, 458728, 6029288, 6356968 + + 2, 13 + + + 327656, 6029289, 393192, 458728, 917481, 65513, 1114091, 2752488, 327680, 6356969, 6029289, 458728, 458728, 917481, 917480, 524264, 4390912, 4259841, 6356969, 589800, -1, 6422504, 327656, 6029289, 720896, 4456449, 4521984, 4390912, 4390912, 4521984, 4259841, 6356969, 720896, 720896, 720896, 720896, 720896, 720896, 4456449, 4259841, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 4456449, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 4390914, 4521986, 4390914, 4390914, 4521986, 4521986, 4390914, 4521986 + + 2, -5 + + + 393192, 393192, 458728, 458728, 458728, 720872, 851944, 458728, 458728, 393192, 458728, 458728, 524264, 458728, 458728, 393192, 458728, 458728, 458728, 393192, 393192, 1441768, 458728, 458728, 393192, 393192, 458728, 524264, 458728, 458728, 393192, 1310696, 458728, 458728, 458728, 458728, 524264, 458728, 458728, 458728, 458728, 524264, 458728, 458728, 524264, 458728, 458728, 458728, 589800, -1, 6094824, 6029289, 458728, 262120, 458728, 393192, 2555904, 2031616, 2293760, 6356969, 6029289, 458728, 393192, 458728 + + -9, -4 + + + 458728, 524264, 327659, 393216, 393216, 458752, 4259840, 4456448, 458728, 393192, 327659, 393216, 655360, 655360, 4521987, 720896, 524264, 393192, 6094827, 393216, 393216, 327680, 4390915, 720896, 458728, 458728, 327659, 327680, 655360, 327680, 4259843, 4456451, 458728, 6029288, 6356968, 393216, 196608, 327680, 458752, 4259843, 6029288, 6356968, 327680, 4259840, 4521984, 4521984, 4521984, 4259841, 6094827, 458752, 4259840, 4456448, 720896, 720896, 720896, 4653057, 1245163, 327680, 4390915, 720896, 720896, 720896, 720896, -1 + + -10, -4 + + + -1, -1, -1, 131051, 393192, 720872, 524264, 262120, -1, -1, -1, 131051, 524264, 458728, 458728, 458728, -1, -1, -1, 1114091, 720872, 393192, 458728, 524264, -1, -1, -1, 1114091, 1441768, 524264, 393192, 524264, -1, -1, -1, 655339, 458728, 458728, 458728, 458728, -1, -1, -1, -1, 524264, 524264, 458728, 458728, -1, -1, -1, 1114091, 458728, 458728, 458728, 458728, -1, -1, -1, 1114091, 458728, 524264, 458728, 458728 + + -7, -4 + + + 720896, 4456450, 4390914, 4587522, -1, 4521986, 4259842, 6356970, 4390914, 4259842, 393216, 6356970, 983018, 983018, 983018, 6029290, 327680, 6356970, 983018, 6029290, 2293736, 1834984, 2686952, 2293736, 983018, 6029290, 2293736, 2293736, 2949096, 2686952, 3735528, 3407848, 2031592, 2686952, 1834984, 2949096, 3735528, 3407848, 4980712, 3211240, 2293736, 2293736, 2686952, 2293736, 3473384, 3145704, 4259816, 3211240, 3014632, 1834984, 2031592, 1834984, 3473384, 3211240, 3932136, 3801064, 2555880, 1834984, 2031592, 3080168, 3604456, 4063208, 4063208, 3866600 + + -8, -4 + + + 720896, 720896, 720896, 4521985, -1, 720896, 720896, 720896, 720896, 720896, 720896, 4521985, 4521987, 720896, 720896, 4456450, 720896, 720896, 720896, 4653057, 4259843, 4390914, 4390914, 4259842, 720896, 720896, 720896, -1, 393216, 458752, 196608, 6356970, 4653058, -1, 4390914, 4259842, 393216, 327680, 6356970, 6029290, 4259840, 4390912, 4259841, 393216, 196608, 6356970, 6029290, 2555880, 4521987, 720896, 4390913, 393216, 6356970, 6029290, 262120, 2752488, 4259843, 4390914, 4259842, 6356970, 6029290, 458728, 393192, 393192 + + -5, -4 + + + 2097128, 2359272, 458728, 458728, 458728, 524264, 458728, 458728, 4325353, 1966056, 2097128, 2359272, 262120, 458728, 524264, 458728, 4325354, 2686952, 2883560, 1966056, 2097128, 2359272, 393192, 524264, 1834984, 2031592, 2293736, 3080168, 1834984, 1966056, 2359272, 458728, 3014632, 5111784, 2031592, 2686952, 2293736, 3080168, 1966056, 2097128, 327656, 327656, 327656, 6094824, 6029289, 1834984, 1834984, 2293736, 2031616, 2031616, 2031616, 2293760, 6356969, 6029289, 2293736, 2293736, 1769472, 1966080, 1769472, 1900544, 2293760, 6356969, 6094824, 327656 + + -6, -4 + + + 6029290, 2293736, 4325352, 4587496, 4325353, 2293736, 2686952, 1966056, 2686952, 2293736, 4456427, 786408, 4587497, 3407848, 3669992, 4325352, 2686952, 2293736, 4325355, 4587498, 4325354, 3211240, 3538920, 4325355, 3407848, 3669992, 2031592, 3473384, 3145704, 3801064, 3866600, 1834984, 3211240, 3538920, 1834984, 3604456, 4063208, 3866600, 1900520, 4259816, 3932136, 3538920, 2293736, 1834984, 2686952, 3080168, 6029288, 327656, 4063208, 3866600, 2293736, 1900520, 2162664, 6029288, 6356968, 2555904, 2031592, 2293736, 1900520, 6029288, 6094824, 6356968, 2555904, 2424832 + + 6, 14 + + + 393240, 655384, 6291457, 5963777, 2097152, 2949120, 3538944, 3932160, 6225944, 6750232, 458776, 6291457, 6356992, 5963777, 2949120, 3538944, 6094872, 393240, 6684696, 1376280, 6750232, 6291457, 6356992, 5963777, 2555928, 2031640, 2293784, 393240, 6422552, 6225944, 393240, 6291457, 2424856, 2228248, 1900568, 2031640, 2293784, 655384, 6225944, 393240, 1769496, 2228248, 2228248, 1966104, 1900568, 2293784, 393240, 786458, 2097176, 2097176, 2949144, 3014680, 1966104, 1900568, 2293784, 327704, 262168, 6029336, 5963801, 2949144, 2621464, 2621464, 1900568, 2293784 + + 7, 14 + + + 3145728, 3080192, 3735552, 3801088, 2752512, 4194304, 1966080, 2621440, 3997696, 3997696, 3801088, 1769472, 4194304, 2228224, 5963776, 6356992, 2228224, 1769472, 2228224, 1966080, 1769472, 1835008, 6029315, 393240, 5963777, 2097152, 2097152, 2097152, 2097152, 5963776, 6291456, 327704, 6291457, 262144, 1572864, -1, 6356992, 6291456, 327704, 655384, 393240, 655384, 393240, 327704, 327704, 393240, 327704, 196632, 393240, 393240, 458776, 393240, 458776, 393240, 327704, 393240, 6750232, 393240, 393240, 393240, 1245208, 393240, 327704, 327704 + + 8, 14 + + + 5963776, 6029312, 262144, 524288, -1, 262144, 6029312, 5963777, 6291456, 327704, 393240, 196632, 327704, 393240, 458776, 6291457, 393240, 393240, 393240, 327704, 393240, 327704, 458776, 393240, 393240, 327704, 458776, 393240, 393240, 393240, 327704, 458776, 327704, 327704, 393240, 327704, 393240, 655384, 393240, 458776, 393240, 327704, 458776, 2555928, 2031640, 2293784, 1376280, 655384, 6488088, 393240, 393240, 2490392, 3014680, 2359320, 458776, 393240, 458776, 327704, 393240, 2687000, 2097176, 2162712, 327704, 327704 + + 2, -6 + + + -1, -1, -1, -1, -1, -1, -1, -1, 1114088, 131048, 131048, 131048, 1114088, 1114088, 65513, -1, 458728, 524264, 458728, 393192, 393192, 524264, 196585, -1, 720872, 393192, 458728, 393192, 1310696, 458728, -1, -1, 458728, 393192, 393192, 524264, 393192, 393192, 131049, -1, 458728, 1441768, 458728, 458728, 524264, 458728, 917481, 131048, 458728, 458728, 458728, 524264, 393192, 262120, 458728, 458728, 524264, 720872, 524264, 458728, 524264, 458728, 393192, 458728 + + 9, 14 + + + 393216, 655360, 393216, 6356969, 6029289, 720872, 1114089, -1, 6029312, 5963777, 327680, 655360, 1245161, 458728, 1114089, -1, 327704, 6029313, 327680, 393216, 1245161, 458728, 917481, 65513, 458776, 6291457, 5963777, 393216, 1245161, 393192, 458728, 1114089, 327704, 327704, 6356993, 393216, 6356969, 6029289, 458728, 1114089, 327704, 458776, 6029313, 393216, 327680, 327657, 458728, 1114089, 327704, 393240, 6356993, 393216, 327680, 6422505, 1441768, 131049, 393240, 327704, 262145, 393216, 458752, 6094825, 524264, 131049 + + 3, -6 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65513, -1, -1, -1, -1, -1, -1, -1, 131049, -1, -1, -1, -1, -1, -1, -1, 1114089, -1, -1, -1, -1, -1, -1, -1 + + -2, 14 + + + 393216, 327680, 393216, 196608, 327680, 393216, 393216, 393216, -1, 1376256, 655360, 327680, 393216, 655360, 393216, 393216, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -4, -6 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1114088, 131048, 131048, 1114088, 1114088, 131048, 262120, 458728, 393192, 524264, 458728, 393192, 393192, 458728, 393192, 524264, 720872, 720872, 458728, 458728, 393192, 458728, 393192, 6029288, 589800, -1, 6422504, 6094824, 6029289, 393192, 6094824, 6356968, 4259840, 4521984, 4521984, 4259841, 6356969, 6029289, 4521984, 4390912, 4456448, 720896, 720896, 4390913, 393216, 6356969, 720896, 720896, 720896, 4456450, 4390914, 4259842, 393216, 458752 + + -1, 14 + + + 327680, 393216, 393216, 327680, 196608, 393216, 393216, 655360, 327680, 393216, 327680, 393216, 458752, 327680, 458752, 393216, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -3, -6 + + + -1, -1, -1, -1, -1, -1, -1, -1, 131048, 131048, 131048, 1114088, 131048, 131048, 131048, 131048, 458728, 393192, 458728, 458728, 393192, 458728, 458728, 393192, 458728, 393192, 458728, 524264, 458728, 458728, 458728, 458728, 458728, 262120, 458728, 720872, 458728, 393192, 458728, 458728, 458728, 720872, 262120, 458728, 458728, 524264, 262120, 262120, 1245160, 1638376, -1, 1638376, -1, 327656, 6029289, 524264, 655360, 393216, 327680, 327680, 327680, 458752, 6356969, 6029289 + + 0, 14 + + + 458752, 393216, 327680, 393216, 393216, 327680, 327680, 393216, 393216, 327680, 393216, 393216, 393216, 393216, 458752, 458752, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -6, -6 + + + -1, -1, -1, -1, -1, -1, -1, -1, 1114088, 1114088, 1114088, 131048, 131048, 131048, 1114088, 131048, 458728, 524264, 720872, 458728, 458728, 458728, 1441768, 393192, 458728, 458728, 458728, 458728, 1441768, 393192, 393192, 524264, 458728, 524264, 458728, 524264, 524264, 393192, 851944, 458728, 393192, 524264, 524264, 1441768, 524264, 458728, 458728, 4325352, 2097128, 2359272, 393192, 458728, 393192, 458728, 458728, 4456427, 2031592, 1966056, 4325352, 4587496, 4587496, 4325353, 458728, 4325355 + + 1, 14 + + + 393216, 327680, 393216, 458752, 393216, 393216, 327680, 393216, 327680, 393216, 458752, 393216, 393216, 393216, 1245184, 458752, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -5, -6 + + + -1, -1, -1, -1, -1, -1, -1, -1, 131048, 1114088, 655336, -1, 1114088, 131048, 1769448, -1, 458728, 458728, 393192, 458728, 458728, 393192, 458728, 393192, 458728, 524264, 393192, 393192, 1441768, 393192, 458728, 524264, 4325352, 4587496, 4325353, 393192, 393192, 458728, 524264, 458728, 4521960, 786408, 4521961, 4325353, 524264, 524264, 6029288, 1245160, 786408, 786408, 786408, 4587497, 917483, 6029288, 6356968, 4259840, 4456426, 4521963, 786408, 4587497, 917481, 6094827, 458752, 4390915 + + 2, 14 + + + 393216, 393216, 327680, 327680, 327680, 327680, 393216, 393216, 393216, 327680, 458752, 786433, 458752, 393216, 393216, 393216, -1, -1, -1, -1, -1, 393216, 655360, 393216, -1, -1, -1, -1, -1, 393216, 393216, 393216, -1, -1, -1, -1, -1, 458752, 393216, 327680, -1, -1, -1, -1, -1, 458752, 327680, 327680, -1, -1, -1, -1, -1, 393216, 458752, 1376256, -1, -1, -1, -1, -1, 327680, 393216, 393216 + + 0, -6 + + + -1, -1, -1, -1, -1, -1, -1, -1, 1114088, 131048, 196584, -1, 1114088, 1114088, 131048, 1114088, 458728, 458728, 393192, 393192, 524264, 458728, 524264, 524264, 393192, 524264, 458728, 458728, 393192, 458728, 458728, 458728, 393192, 458728, 393192, 458728, 524264, 393192, 458728, 458728, 458728, 458728, 458728, 458728, 458728, 393192, 393192, 393192, 458728, 524264, 458728, 458728, 524264, 1441768, 262120, 458728, 393192, 458728, 458728, 458728, 458728, 458728, 458728, 393192 + + 3, 14 + + + 393216, 393216, 393216, 458752, 458752, 393216, 327680, 393216, 327680, 327680, 458752, 393216, 393216, 458752, 393216, 5963776, 393216, 393216, 327680, 196608, 393216, 327680, 393216, 1179651, 1376256, 393216, 458752, 393216, 393216, 655360, 5963776, 6291456, 458752, 1376256, 327680, 458752, 655360, 393216, 1572867, 5963800, 327680, 327680, 327680, 458752, 393216, 458752, -1, 1572891, 1245184, 1376256, 327680, 458752, 458752, 393216, 6029315, -1, 327680, 393216, 458752, 393216, 393216, 393216, 262147, 262171 + + 1, -6 + + + -1, -1, -1, -1, -1, -1, -1, -1, 131048, 131048, 1114088, 131048, 1114088, 655336, -1, 131048, 393192, 458728, 262120, 458728, 524264, 524264, 458728, 393192, 458728, 524264, 393192, 393192, 458728, 393192, 458728, 393192, 458728, 720872, 393192, 458728, 458728, 524264, 458728, 458728, 1441768, 1310696, 458728, 458728, 393192, 458728, 393192, 720872, 458728, 458728, 393192, 458728, 458728, 458728, 458728, 458728, 262120, 393192, 458728, 458728, 458728, 458728, 458728, 458728 + + 4, 14 + + + 262147, 262171, 327728, 4653107, 720944, 720944, 720944, 720944, 6291456, 1179675, 1376304, -1, 720944, 720944, 720944, 720944, 5963800, 6291480, 393264, 4522035, 720944, 720944, 720944, 720944, 6029339, 393264, 4259888, 4456496, 720944, 720944, 720944, 720944, 6291480, 393264, 4390963, 720944, 720944, 720944, 720944, 720944, 327728, 4259888, 4456496, 720944, 720944, 720944, 720944, 720944, 786481, 4522035, 720944, 720944, 720944, 720944, 720944, 720944, 393264, 4259891, 4456499, 720944, 720944, 720944, 720944, 720944 + + -2, -6 + + + -1, -1, -1, -1, -1, -1, -1, -1, 131048, 131048, 131048, 131048, 196584, -1, 1114088, 1114088, 458728, 458728, 524264, 458728, 524264, 458728, 524264, 458728, 458728, 720872, 524264, 393192, 393192, 524264, 458728, 458728, 262120, 524264, 524264, 262120, 458728, 393192, 458728, 458728, 458728, 393192, 393192, 458728, 1441768, 393192, 524264, 458728, 524264, 458728, 720872, 262120, 458728, 262120, 458728, 458728, 720872, 393192, 458728, 458728, 458728, 458728, 458728, 458728 + + 5, 14 + + + 4390961, 458800, 262169, 2490392, 2883608, 1966104, 2228248, 2359320, 4390961, 393264, 6291481, 5963801, 2949144, 3014680, 1966104, 2359320, 4522033, 393264, 458800, 6029337, 2490392, 2228248, 1835032, 2162712, 4456497, 4259889, 458800, 6291481, 5963801, 1769496, 1900568, 2293784, 720944, 4456497, 4259889, 393264, 262169, 2949144, 1769496, 1900568, 720944, 720944, 4390961, 393264, 6291481, 5963801, 2949144, 2228248, 720944, 720944, 4456497, 4259889, 393264, 6291481, 6357016, 5963801, 720944, 720944, 720944, 4456497, 4259889, 393264, 393264, 6291481 + + -1, -6 + + + -1, -1, -1, -1, -1, -1, -1, -1, 1114088, 1114088, 196584, -1, 196584, -1, 1114088, 131048, 458728, 262120, 720872, 524264, 458728, 393192, 393192, 393192, 524264, 720872, 458728, 393192, 458728, 393192, 262120, 524264, 4849640, -1, 393192, 524264, 458728, 393192, 851945, 393192, -1, -1, 720872, 458728, 458728, 393192, 458728, 458728, 458728, 393192, 393192, 458728, 458728, 262120, 720872, 458728, 393192, 720872, 458728, 393192, 458728, 393192, 458728, 458728 + + -10, -5 + + + -1, -1, -1, 131051, 262120, 458728, 458728, 393192, -1, -1, -1, 1114091, 262120, 524264, 524264, 458728, -1, -1, -1, 131051, 458728, 458728, 458728, 458728, -1, -1, -1, 131051, 458728, 720872, 458728, 524264, -1, -1, -1, 131051, 458728, 720872, 524264, 458728, -1, -1, -1, 131051, 458728, 458728, 720872, 458728, -1, -1, -1, 131051, 524264, 458728, 524264, 458728, -1, -1, -1, 131051, 458728, 458728, 720872, 393192 + + -6, -5 + + + 1834984, 2686952, 4456427, 786408, 786408, 4587497, 458728, 458728, 6029289, 1834984, 4325355, 4521963, 786408, 4521961, 4456424, 4325353, 6356969, 6029289, 1834984, 4325355, 4521963, 786408, 786408, 4587497, 4259841, 6356969, 6029289, 2031592, 4456427, 786408, 4521962, 4325354, 4521985, 327680, 6094825, 2293736, 4325355, 4456426, 4325354, 1900520, 4390913, 327680, 6094825, 3080168, 2293736, 1900520, 2162664, 2228200, 4259842, 6356970, 6029290, 4259816, 2293736, 1966056, 2359272, 720872, 6356970, 6029290, 1834984, 1834984, 2293736, 3080168, 1966056, 2359272 + + -7, -5 + + + 196608, 393216, 327680, 393216, 6356969, 6094824, 6029289, 3014632, 393216, 393216, 393216, 393216, 327680, 393216, 6356969, 6094824, 4259840, 4587520, 458752, 4259841, 393216, 4259840, 4390912, 4259841, 4521987, 720896, 720896, 4521985, 327680, 4521987, 720896, 4456449, 4456448, 720896, 720896, 4456449, 4521984, 4456448, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 720896, 4456450, 720896, 720896, 720896, 720896, 720896, 720896, 4456450, 4259842 + + -3, 14 + + + -1, -1, -1, -1, -1, 393216, 393216, 393216, -1, -1, -1, -1, -1, 393216, 196608, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + + -8, -5 + + + 524264, 6029288, 327656, 6356968, 327680, 458752, 458752, 393216, 327656, 6356968, 327680, 393216, 393216, 786434, 327680, 327680, 4784131, -1, 327680, 393216, 458752, 393216, 393216, 393216, -1, -1, 393216, 458752, 393216, 393216, 458752, 393216, 393216, 327680, 393216, 458752, 327680, 458752, 393216, 4259840, 393216, 393216, 458752, 327680, 393216, 4259840, 4521984, 4456448, 393216, 393216, 458752, 196608, 4259840, 4456448, 720896, 720896, 4521984, 4521984, 4521984, 4259841, 4325379, 720896, 720896, 720896 + + -9, -5 + + + 458728, 458728, 393192, 458728, 393192, 458728, 524264, 458728, 524264, 393192, 458728, 458728, 458728, 458728, 720872, 6029288, 524264, 393192, 458728, 458728, 458728, 524264, 524264, 327659, 524264, 458728, 393192, 393192, 458728, 6029288, 6094824, 6356968, 393192, 458728, 393192, 393192, 6029288, 6356968, 458752, 393216, 458728, 393192, 524264, 6029288, 6356968, 327680, 393216, 458752, 393192, 262120, 458728, 327659, 393216, 458752, 393216, 393216, 458728, 393192, 6029288, 6356968, 458752, 327680, 393216, 4259840 + + 9, 15 + + + 458776, 393240, 6029313, 393216, 458752, 327657, 458728, 131049, 393240, 393240, 6029313, 196608, 327680, 6094825, 458728, 1114089, 196632, 196632, 262145, 393216, 327680, 327657, 458728, 131049, 458776, 6291458, 5963778, 458752, 6356970, 6029290, 458728, 131049, 393240, 262145, 327680, 458752, 6422505, 1441768, 458728, 1114089, 917506, 5963778, 327680, 393216, 6094825, 458728, 917482, 65514, 655360, 393216, 393216, 6356970, 6029290, 458728, 1114089, -1, 196608, 786432, 1376256, 327657, 524264, 262120, 1114089, -1 + + 7, 15 + + + 655384, 393240, 327704, 393240, 393240, 196632, 458776, 393240, 458776, 786458, 6291458, 1441794, -1, 917506, 6291459, 327704, 5963801, 6291458, 5963778, 2883584, 1769472, 1769472, 5963779, 6291459, 6357017, 6029313, 3342336, 3604480, 1966080, 3014656, 1900544, 6029315, 262169, 1572865, 3145728, 3211264, 3342336, 3342336, 3342336, 262147, 1179673, -1, 3932160, 3145728, 3145728, 3145728, 3145728, 5963779, 262169, 1572865, 3538944, 3997696, 3932160, 3145728, 3735552, 3801088, 5963802, -1, 2097152, 2949120, 3538944, 3997696, 3801088, 2883584 + + 8, 15 + + + 1245211, 458776, 393240, 393240, 327704, 393240, 393240, 393240, 393240, 393240, 655384, 786458, 393240, 458776, 393240, 393240, 393240, 196632, 196632, 393240, 6553624, 393240, 458776, 458776, 393240, 196632, 327704, 6422552, 458776, 6422552, 393240, 458776, 327704, 327704, 393240, 655384, 2555928, 2031640, 2293784, 327704, 6291459, 393240, 6553624, 2555928, 2424856, 2621464, 2359320, 6291458, 5963779, 6291459, 2555928, 2424856, 2228248, 2228248, 2359320, 262145, 2359296, 262147, 2490392, 2621464, 2883608, 1769496, 2359320, 262145 + + 5, 15 + + + 720944, 720944, 720944, 720944, 4522033, 327728, 393264, 458800, 720944, 720944, 720944, 720944, 4456497, 4390960, 4259889, 327728, 720944, 720944, 720944, 720944, 720944, 720944, 4456497, 4259889, 720944, 720944, 720944, 720944, 720944, 720944, 720944, 4390961, 720944, 720944, 720944, 720944, 720944, 720944, 720944, 4390961, 720944, 720944, 720944, 720944, 720944, 720944, 720944, 4390961, 720944, 720944, 720944, 720944, 720944, 720944, 4456498, 4259890, 4456499, 720944, 720944, 720944, 4456498, 4522034, 4259890, 458800 + + 6, 15 + + + 458800, 393264, 6291481, 5963801, 2949144, 1769496, 1769496, 2359320, 393264, 393264, 393264, 6291481, 262168, 5963801, 2097176, 2162712, 393264, 458800, 393264, 327728, 393264, 6291481, 6357016, 1179672, 196656, 655408, 4259888, 4522032, 4390960, 4259889, 458800, 393264, 327728, 327728, 4522035, 720944, 720944, 4456497, 4259889, 393264, 327728, 393264, 4390963, 720944, 720944, 720944, 4390961, 327728, 393264, 4259888, 4456496, 720944, 720944, 4456498, 4259890, 327728, 327728, 4390963, 720944, 720944, 4456498, 4259890, 327728, 6291482 + + 3, 15 + + + 327680, 327680, 393216, 393216, 655360, 5963776, 6291456, 6029339, 458752, 393216, 458752, 393216, 393216, 262147, 393240, 262171, 327680, 393216, 327680, 393216, 458752, 1179651, 393240, 1572891, 458752, 393216, 458752, 393216, 393216, 262147, 327704, -1, 393216, 458752, 327680, 196608, 393216, 6356995, 393240, 1179675, -1, 393216, 327680, 327680, 393216, 6029315, 393240, 5963803, -1, 458752, 393216, 393216, 393216, 6029315, 393240, 393240, 327680, 327680, 327680, 327680, 196608, 5963779, 6291459, 196632 + + 4, 15 + + + 393264, 393264, 4390963, 720944, 720944, 720944, 720944, 720944, 327728, 393264, 4259891, 4456499, 720944, 720944, 720944, 720944, 327728, 393264, 393264, 4259891, 4456499, 720944, 720944, 720944, 393264, 393264, 393264, 327728, 4390963, 720944, 720944, 720944, 458800, 393264, 393264, 655408, 4259891, 4456499, 720944, 720944, 6291483, 393264, 458800, 327728, 655408, 4522035, 720944, 720944, 6357019, 327728, 393264, 327728, 458800, 4259891, 4456499, 720944, 5963803, 6291483, 327728, 393264, 393264, 327728, 4259891, 4522034 + + 2, 15 + + + -1, -1, -1, -1, -1, 327680, 393216, 327680, -1, -1, -1, -1, -1, 393216, 393216, 458752, -1, -1, -1, -1, -1, 655360, 458752, 327680, -1, -1, -1, -1, -1, 393216, 393216, 327680, -1, -1, -1, -1, -1, 327680, 393216, 458752, -1, -1, -1, -1, -1, 393216, 458752, 4784130, -1, -1, -1, -1, -1, 327680, 393216, -1, -1, -1, -1, -1, -1, 393216, 327680, 458752 + + -9, -6 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65512, 131048, 131048, 131048, 1114088, 1114088, -1, 131048, 917480, 393192, 458728, 393192, 458728, 458728, 458728, 393192, 4849640, -1, 720872, 458728, 524264, 458728, 458728, 458728, -1, -1, 458728, 458728, 458728, 393192, 458728, 393192, 458728, 458728, 458728, 458728, 458728, 524264, 524264, 458728, 851944, 524264, 393192, 524264, 393192, 393192, 458728, 393192, 393192, 458728, 851946, 458728, 458728, 720872 + + -10, -6 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65512, 655336, -1, -1, -1, 65512, 131048, 1114088, 917480, 720872, -1, -1, -1, 196587, 1310696, 393192, 720872, 720872, -1, -1, -1, -1, 458728, 524264, 393192, 458728, -1, -1, -1, 131051, 1441768, 720872, 720872, 524264, -1, -1, -1, 131051, 458728, 851945, 458728, 458728 + + -7, -6 + + + -1, -1, -1, -1, -1, -1, -1, -1, 1114088, 1114088, 131048, 131048, 1114088, 1114088, 131048, 131048, 458728, 1310696, 393192, 458728, 458728, 458728, 458728, 458728, 393192, 458728, 458728, 524264, 524264, 720872, 524264, 458728, 524264, 262120, 393192, 720872, 393192, 458728, 458728, 458728, 458728, 458728, 458728, 393192, 458728, 393192, 393192, 458728, 393192, 524264, 458728, 458728, 393192, 2621416, 2097128, 2097128, 327656, 1638376, -1, 327656, 6029289, 2555880, 3080168, 1834984 + + -8, -6 + + + -1, -1, -1, -1, -1, -1, -1, -1, 131048, 1114088, 655336, -1, 5046248, -1, -1, -1, 524264, 458728, 720872, 458728, 458728, 458728, 720872, 458728, 458728, 720872, 1310696, 458728, 524264, 720872, 393192, 458728, 720872, 458728, 1310696, 393192, 524264, 524264, 720872, 458728, 524264, 458728, 458728, 524264, 851947, 458728, 524264, 524264, 524264, 393192, 1310696, 458728, 458728, 524264, 458728, 458728, 458728, 458728, 393192, 6029288, 1638376, -1, 327656, 327656 + + 8, 16 + + + 2359296, 6356995, 2490392, 3670040, 3342360, 3604504, 2359320, 262145, 1900544, 6029315, 2490392, 3407896, 3276824, 3473432, 2359320, 6029313, 2621440, 6029315, 2490392, 3538968, 3997720, 3801112, 2359320, 6356993, 1966080, 262147, 2490392, 3014680, 1966104, 2228248, 2359320, 1179649, 5963776, 6291456, 2490392, 1966104, 2228248, 2228248, 2359320, 262145, 6291456, 2555928, 2424856, 2621464, 1769496, 4194328, 2359320, 262145, 2555928, 2424856, 3670040, 3342360, 3604504, 2228248, 2359320, 524289, 2424856, 2228248, 3407896, 3080216, 3473432, 1835032, 2162712, -1 + + 9, 16 + + + 1376256, 1245184, 6356970, 6029290, 524264, 917482, 65514, -1, 786432, 786434, 6422505, 458728, 458728, 131049, -1, -1, 1245184, 786433, 6094825, 458728, 917482, 65514, -1, -1, 393216, 1245184, 327657, 393192, 131049, -1, 65524, 1114100, 786433, 393216, 6422505, 458728, 131049, -1, 196599, 6029300, 196608, 1245184, 6094825, 458728, 1114089, -1, -1, 327671, 327680, 327680, 1245161, 458728, 1114089, -1, 131063, 6029303, 393216, 1376256, 6094825, 458728, 131049, -1, 65527, 1048566 + + 10, 16 + + + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 131060, 131060, 65525, -1, -1, -1, -1, -1, 6094836, 6029301, 1114101, -1, -1, -1, -1, -1, 393228, 6094837, 655349, -1, -1, -1, -1, -1, 983030, 6029302, -1, -1, -1, -1, -1, -1, -1, 1179638, 65526, -1, -1, -1, -1, -1 + + 4, 16 + + + 458776, 5963803, 6291483, 458800, 393264, 458800, 393264, 458800, 655384, 327704, 5963803, 6291483, 393264, 393264, 393264, 327728, 458776, 393240, 393240, 5963803, 917530, 917530, 6291483, 393264, 6291459, 458776, 393240, 458776, 393240, 393240, 5963803, 917530, 6029315, 458776, 458776, 393240, 458776, 196632, 393240, 327704, 6029315, 393240, 393240, 458776, 393240, 327704, 393240, 393240, 6029315, 327704, 327704, 393240, 393240, 458776, 393240, 393240, 1179651, 393240, 327704, 393240, 327704, 393240, 196632, 393240 + + 5, 16 + + + 4259891, 4522034, 4390962, 4390962, 4259890, 393264, 393264, 393264, 393264, 327728, 393264, 655408, 327728, 393264, 393264, 327728, 458800, 327728, 196656, 458800, 393264, 393264, 393264, 655408, 917530, 6291483, 196656, 327728, 327728, 393264, 196656, 6291482, 393240, 5963803, 917530, 917530, 917530, 917530, 917530, 5963802, 393240, 393240, 458776, 393240, 458776, 393240, 458776, 458776, 458776, 655384, 393240, 458776, 393240, 393240, 393240, 327704, 393240, 393240, 393240, 393240, 393240, 655384, 327704, 393240 + + 6, 16 + + + 196656, 4259891, 4522034, 4390962, 4259890, 393264, 6291482, 5963802, 393264, 393264, 458800, 393264, 6291482, 917530, 5963802, 6291458, 6291482, 1441818, -1, 917530, 5963802, 393240, 6291458, 5963778, 5963802, 393240, 393240, 327704, 327704, 6291458, 5963778, 393216, 327704, 327704, 393240, 393240, 6291458, 5963778, 458752, 393216, 655384, 393240, 458776, 327704, 6029313, 327680, 393216, 393216, 458776, 393240, 393240, 6291458, 5963778, 2293760, 393216, 393216, 196632, 327704, 6291458, 5963778, 1769472, 2359296, 196608, 393216 + + 7, 16 + + + 6291458, 5963778, 196608, 2686976, 2949120, 2621440, 1966080, 1769472, 5963778, 458752, 393216, 393216, 2686976, 2949120, 2818048, 2621440, 458752, 393216, 1245184, 393216, 393216, 2490368, 2818048, 1769472, 393216, 393216, 458752, 1245184, 393216, 2686976, 2949120, 1966080, 327680, 1376256, 393216, 1376256, 393216, 393216, 2490368, 2228224, 327680, 786433, 1245184, 1376256, 393216, 1245184, 2686976, 5963776, 786433, 1245184, 327680, 786435, 458752, 393216, 5963776, 6291456, 327680, 1376256, 4063232, 393216, 458752, 5963776, 6291456, 2555928 + + 2, 16 + + + -1, -1, -1, -1, -1, 458752, 393216, 393216, -1, -1, -1, -1, -1, 458752, 393216, 393216, -1, -1, -1, -1, -1, 393216, 393216, 327680, -1, -1, -1, -1, -1, 393216, 393216, 393216, -1, -1, -1, -1, -1, 983018, 1507306, -1, -1, -1, -1, -1, -1, 1179626, 1179626, 917483, -1, -1, -1, -1, -1, -1, -1, 131051, -1, -1, -1, -1, -1, -1, -1, 1114091 + + 3, 16 + + + 655360, 327680, 393216, 327680, 393216, 393216, 6356995, 393240, 393216, 393216, 327680, 393216, 458752, 196608, 6356995, 393240, 327680, 393216, 393216, 393216, 327680, 393216, 5963779, 6291459, 327680, 458752, 327680, 393216, 655360, 196608, 393216, 5963779, 983018, 6356971, 393216, 327680, 393216, 393216, 393216, 393216, 524264, 6094827, 393216, 458752, 393216, 393216, 393216, 196608, 393192, 6029291, 6356971, 327680, 393216, 327680, 458752, 393216, 458728, 458728, 327659, 655360, 393216, 393216, 327680, 458752 + + + + + + + Haven/Natural/Dirt/Abyss out SW + + + + + Haven/Natural/Dirt/Abyss edge S 01 + + + + + Haven/Natural/Dirt/Abyss edge S x2 01 + + + + + Haven/Natural/Dirt/Dirt 07 weeds + + + + + Haven/Natural/Cliff/Wall edge S 01 + + + + + Haven/Natural/Dirt/Dirt 03 + + + + + Haven/Natural/Dirt/Dirt 04 + + + + + Haven/Natural/Dirt/Dirt 01 + + + + + Haven/Natural/Cliff/Wall edge S x2 02 + + + + + Haven/Natural/Dirt/Abyss edge S x2 02 + + + + + Haven/Natural/Dirt/Dirt 06 weeds + + + + + Haven/Natural/Foliage/Null + + + + + Haven/Natural/Dirt/Cube 02 + + + + + Haven/Natural/Dirt/Abyss in SW + + + + + Haven/Natural/Cliff/Wall edge N 01 + + + + + Haven/Natural/Dirt/Abyss edge N x2 01 + + + + + Haven/Natural/Dirt/Abyss edge S 02 + + + + + Haven/Natural/Dirt/Abyss edge N 01 + + + + + Haven/Natural/Cliff/Wall edge S 04 Cube + + + + + Haven/Natural/Dirt/Cube 03 + + + + + Haven/Natural/Stairway/Stair WE, Edge (Cliff) + + + + + Haven/Natural/Dirt/Cube 01 + + + + + Haven/Natural/Cliff/Wall edge N x2 01 + + + + + Haven/Natural/Stairway/Stair EW, Edge (Cliff) + + + + + Haven/Natural/Cliff/Wall edge S x2 01 + + + + + Haven/Natural/Stairway/Stair WE, Middle + + + + + Haven/Natural/Dirt/Abyss edge S x4 02 + + + + + Haven/Natural/Grass/Tall/Field 04 + + + + + Haven/Natural/Grass/Tall/Field in NE + + + + + Haven/Natural/Grass/Tall/Field in SE + + + + + Haven/Natural/Grass/Tall/Field 01 + + + + + Haven/Natural/Grass/Tall/Field edge S + + + + + Haven/Natural/Grass/Tall/Field edge N + + + + + Haven/Natural/Grass/Tall/Field out NE + + + + + Haven/Natural/Grass/Tall/Field 03 + + + + + Haven/Natural/Grass/Tall/Field out SE + + + + + Haven/Natural/Grass/Tall/Field edge E + + + + + Haven/Natural/Grass/Tall/Field in SW + + + + + Haven/Natural/Grass/Tall/Field edge W + + + + + Haven/Natural/Grass/Tall/Field out SW + + + + + Haven/Natural/Grass/Tall/Field 02 + + + + + Haven/Natural/Grass/Tall/Field out NW + + + + + Haven/Natural/Grass/Tall/Flowers 03 + + + + + Haven/Natural/Grass/Tall/Flowers 02 + + + + + Haven/Natural/Grass/Tall/Flowers 04 + + + + + Haven/Natural/Grass/Tall/Field in NW + + + + + Haven/Natural/Grass/Tall/Flowers 01 + + + + + Haven/Natural/Grass/Short/Field 01 Short + + + + + Haven/Natural/Grass/Short/Field 02 Short + + + + + Haven/Natural/Grass/Short/Field in SE Short + + + + + Haven/Natural/Grass/Short/Flowers 01 Short + + + + + Haven/Natural/Grass/Short/Field edge S Short + + + + + Haven/Natural/Grass/Short/Field edge W Short + + + + + Haven/Natural/Grass/Short/Field edge E Short + + + + + Haven/Natural/Grass/Short/Field out NW Short + + + + + Haven/Natural/Grass/Short/Field out SE Short + + + + + Haven/Natural/Grass/Short/Field out SW Short + + + + + Haven/Natural/Grass/Short/Field in NE Short + + + + + Haven/Natural/Grass/Short/Field out NE Short + + + + + Haven/Natural/Grass/Short/Flowers 02 Short + + + + + Haven/Natural/Grass/Short/Field in NW Short + + + + + Haven/Natural/Grass/Short/Field edge N Short + + + + + Haven/Natural/Dirt/Dirt 02 + + + + + Haven/Natural/Grass/Cube high 02 + + + + + Haven/Natural/Grass/Cube low 01 + + + + + Haven/Natural/Foliage/Wall out SW + + + + + Haven/Natural/Foliage/Wall edge S x2 01 + + + + + Haven/Natural/Foliage/Wall edge S 01 + + + + + Haven/Natural/Foliage/Wall in SW + + + + + Haven/Natural/Foliage/Wall edge S 02 + + + + + Haven/Natural/Foliage/Wall edge S x2 03 + + + + + Haven/Natural/Foliage/Wall edge S x2 02 + + + + + Haven/Natural/Foliage/Wall edge S x4 01 + + + + + Haven/Natural/Dirt/Cube x2 01 + + + + + Haven/Natural/Dirt/Cube x2 02 + + + + + Haven/Natural/Grass/Short/Field in SW Short + + + + + Haven/Natural/Dirt/Abyss edge S x4 01 + + + + + Haven/Natural/Grass/Cube high 01 + + + + + Haven/Wall, broken/Column + + + + + Haven/Natural/Cliff/Wall edge S x4 02 + + + + + Haven/Natural/Cliff/Wall edge S x4 01 + + + + + Haven/Wall, broken/Flat x1, verti 01 + + + + + Haven/Natural/Dirt/Abyss edge N x4 01 + + + + + Haven/Natural/Cliff/Wall edge N x4 01 + + + + + Haven/Wall, broken/End, flat South + + + + + Haven/Wall, broken/Low/Column + + + + + Haven/Wall, broken/Low/Flat x1, horiz 02 + + + + + Haven/Wall, broken/Low/Flat x1, horiz 01 + + + + + Haven/Wall, broken/Low/End, flat North + + + + + Haven/Wall, broken/Low/End, flat East + + + + + Haven/Wall, broken/Low/Busted x2, horiz 02 + + + + + Haven/Natural/Cliff/Wall out SW + + + + + Haven/Natural/Cliff/Wall edge S 02 + + + + + Haven/Urban/Cobblestone/Cobblestone, weeds 02 + + + + + Haven/Urban/Cobblestone/Cobblestone 03 + + + + + Haven/Urban/Cobblestone/Cobblestone 02 + + + + + Haven/Natural/Cliff/Wall in SW + + + + + Haven/Natural/Cliff/Wall edge S 03 Cube + + + + + Haven/Urban/Cobblestone/Cobblestone 05 + + + + + Haven/Urban/Cobblestone/Cobblestone 01 + + + + + Haven/Urban/Cobblestone/Cobblestone, weeds 03 + + + + + Haven/Urban/Cobblestone/Cobblestone, weeds 04 + + + + + Haven/Urban/Cobblestone/Cobblestone, weeds 01 + + + + + Haven/Urban/Cobblestone/Cobblestone 04 + + + + + Haven/Urban/Cobblestone/Edge In, SE 01 + + + + + Haven/Urban/Cobblestone/Edge S 01 + + + + + Haven/Urban/Cobblestone/Edge In, SE 02 + + + + + Haven/Urban/Cobblestone/Edge S 02 + + + + + Haven/Urban/Cobblestone/Edge E 01, weeds + + + + + Haven/Urban/Cobblestone/Edge W 01, weeds + + + + + Haven/Urban/Cobblestone/Edge N 01, weeds + + + + + Haven/Urban/Cobblestone/Edge Out, SE 03, weeds + + + + + Haven/Urban/Cobblestone/Edge Out, SW 02 + + + + + Haven/Urban/Cobblestone/Edge S 03, weeds + + + + + + + + + + + Clockworks/Floor, catwalk/Catwalk 03 + + + + + Haven/Natural/Dirt/Clockwork Trim/Trim Out 01 + + + + + Haven/Natural/Dirt/Clockwork Trim/Trim 03 + + + + + Haven/Natural/Dirt/Clockwork Trim/Trim 01 + + + + + Haven/Natural/Dirt/Clockwork Trim/Trim 04 + + + + + Clockworks/Floor, catwalk/Catwalk 06 + + + + + Haven/Natural/Dirt/Clockwork Trim/Trim 02 + + + + + Clockworks/Floor, catwalk/Catwalk 05 + + + + + Clockworks/Floor, catwalk/Catwalk, solid + + + + + Haven/Natural/Dirt/Clockwork Trim/Trim In 01 + + + + + Haven/Natural/Dirt/Clockwork Trim/Trim 06 + + + + + Clockworks/Floor, catwalk/Catwalk 04 + + + + + Clockworks/Floor, catwalk/Catwalk 07 + + + + + Clockworks/Floor, catwalk/Catwalk 02 + + + + + Clockworks/Floor, catwalk/Catwalk 01 + + + + + Haven/Natural/Dirt/Clockwork Trim/Trim 05 + + + + + Clockworks/Floor, catwalk/Catwalk 08 + + + + 82 + %dungeon:m.tutorial + 18 + + + 2200 + + Prop/Haven/Foliage Top/Top 4x4 01 + + + -18.611374, 8.438841, 0.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 2202 + + + 16.813234, 3.7701445, 0.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 2203 + + + 17.882044, 1.6912522, 0.0 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 2206 + + + 1.1299999 + 17.972277, 3.3098593, 0.44999987 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 2207 + + + 19.70643, 5.8177066, -0.68999964 + 0.12885995, 0.12886, -0.69526607, 0.6952663 + + + + 2192 + + Prop/Haven/Foliage Top/Top 1x1 01 + + + -40.045868, -30.062271, -3.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 2193 + + + -27.045868, -13.062271, 3.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 2194 + + + -54.045868, -23.062271, -3.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 2195 + + + -7.045868, -30.062271, -3.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 2196 + + + -13.045868, -37.06227, -3.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 2197 + + + -24.990389, 5.940608, 0.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 2198 + + + -30.893248, 6.740146, 0.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 2199 + + Prop/Haven/Foliage Top/Top 2x2 01 + + + -28.65253, 4.7966905, 0.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 2185 + + + -37.5, -37.5, -3.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 2184 + + + -44.5, -30.5, -3.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 2187 + + + -41.5, -37.5, -3.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 2186 + + + -42.5, -36.5, -3.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 2189 + + + -38.516426, -41.272396, -3.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 2188 + + + 1.2999997 + -44.13102, -38.955605, -3.9099994 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 2177 + + + -23.344313, 1.9866877, -3.0 + + + + 2176 + + + -17.025, 1.4890156, -3.0 + + + + 2179 + + + 1.1399999 + -19.105415, -7.729001, -3.4299996 + + + + 2178 + + + 1.1799998 + -20.135952, 2.8303308, -3.0 + -0.07714529, -0.014298035, 0.18167375, 0.98022383 + + + + 2181 + + + 1.2599998 + -19.356148, -5.021435, -4.120002 + -0.06104854, 0.0, 0.0, 0.9981348 + + + + 2180 + + + -21.995768, -6.2024, -3.0 + + + + 2183 + + + 18.5, 2.5, 0.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 2182 + + + 17.5, 3.5, 0.0 + + + + 2219 + + + 1.3599997 + -44.63891, -2.9842677, 3.0 + 0.0, 0.0, 0.42261827, 0.90630776 + + + + 2218 + + + -67.43876, -12.722539, 0.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 2217 + + + -63.428387, -11.59885, 0.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 2216 + + + -67.5, -17.5, 0.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 2222 + + Prop/General/Nature/Foliage/Variants - Haven/Ivy Wall, x1 - 01 + + + -30.865795, -14.025622, 0.0 + 0.0, 0.0, -0.38268343, 0.92387956 + + + + 2221 + + Prop/General/Nature/Foliage/Variants - Haven/Ivy Wall, x3 - 01 + + + -32.95024, -13.54525, 0.0 + + + + 2220 + + + 1.3599997 + -53.75484, -6.422943, 3.0 + 0.0, 0.0, 0.46174857, 0.8870109 + + + + 2211 + + + -57.5, -31.5, 0.0 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 2209 + + + 1.1999998 + -19.055998, 15.962069, -0.009999985 + 0.0, 0.0, -0.57357633, 0.8191521 + + + + 2208 + + + 1.1999998 + -20.5, 12.5, -0.009999985 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 2215 + + + -62.5, -25.5, 0.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 2214 + + + -62.8641, -29.894688, 0.0 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 2213 + + + 1.4099996 + -67.40256, -23.788988, -1.0799993 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 2212 + + + 1.4099996 + -51.5, -34.549824, -1.0799993 + 0.0, 0.0, -0.7071067, 0.7071068 + + + + 2065 + + + 47.894913, 32.1146, 3.0 + 0.0, 0.0, -0.6087614, 0.7933533 + + + + 2064 + + + 53.09766, 22.874475, 3.0 + 0.0, 0.0, -0.6087614, 0.7933533 + + + + 2067 + + + 21.295221, 31.708849, 3.0 + 0.0, 0.0, -0.6087614, 0.7933533 + + + + 2066 + + + 43.702435, 33.333397, 3.0 + 0.0, 0.0, -0.6087614, 0.7933533 + + + + 2069 + + + 15.341152, 28.480143, 3.0 + 0.0, 0.0, -0.6087614, 0.7933533 + + + + 2068 + + + 18.533283, 30.520971, 3.0 + 0.0, 0.0, -0.6087614, 0.7933533 + + + + 2071 + + + -9.633254, 21.173027, 3.0 + 0.0, 0.0, -0.57357645, 0.81915206 + + + + 2070 + + + 13.739254, 27.41512, 3.0 + 0.0, 0.0, -0.57357645, 0.81915206 + + + + 2073 + + + -27.585169, 14.556046, 3.0 + 0.0, 0.0, -0.6087614, 0.7933533 + + + + 2072 + + + -5.299006, 22.256332, 3.0 + 0.0, 0.0, -0.6087614, 0.7933533 + + + + 2074 + + + -29.992592, 14.583332, 3.0 + 0.0, 0.0, -0.6087614, 0.7933533 + + + + 2051 + + + 16.813797, -17.669779, 0.0 + 0.0, 0.0, -0.7372773, 0.6755902 + + + + 2052 + + + 14.6049595, -13.359911, 0.0 + 0.0, 0.0, -0.7372773, 0.6755902 + + + + 2053 + + + 17.477562, -10.663359, 0.0 + 0.0, 0.0, -0.67559016, 0.7372773 + + + + 2054 + + + 1.4199996 + 18.04343, -13.985641, 0.0 + 0.0, 0.0, -0.6755901, 0.73727745 + + + + 2055 + + + 20.441633, -17.107716, 0.0 + 0.0, 0.0, -0.3007058, 0.95371693 + + + + 2056 + + + 22.699333, -15.237993, 0.0 + 0.0, 0.0, -0.3007058, 0.95371693 + + + + 2057 + + + 1.4999995 + 20.731628, -12.230507, 0.0 + 0.0, 0.0, -0.30070576, 0.95371693 + + + + 2058 + + + 19.614777, -8.99608, 0.0 + 0.0, 0.0, -0.34202012, 0.9396926 + + + + 2059 + + + 21.765644, -8.10232, 0.0 + 0.0, 0.0, -0.34202012, 0.9396926 + + + + 2060 + + + 23.748522, -13.204525, 0.0 + 0.0, 0.0, 0.1305262, 0.9914449 + + + + 2061 + + + 23.910854, -10.696795, 0.0 + 0.0, 0.0, 0.1305262, 0.9914449 + + + + 2062 + + + 15.812824, -16.013847, 0.0 + 0.0, 0.0, -0.67559016, 0.7372774 + + + + 2063 + + + 51.486866, 22.833767, 3.0 + 0.0, 0.0, -0.67559016, 0.7372774 + + + + 2098 + + Trigger/One Time Action + + Action + + + + next + + tut move + + + + n.tut_intro + + character/npc/crew/model.dat + + Animation + + character/pc/idle.dat + + Armor + Doublet + Gear + Empty + Helmet + Pig Nose + Pack + None + Weapon Equip + + + + + + + Tutorial/Rescue Agent Intro + + + + + Block/Explosive Block - Explosion + + + + + Model + + editor/marker/flag/model.dat + + Variant + One Time Action + + + Tag + tut_welcome + + + + -37.341747, -16.600721, 0.0 + + + + 2097 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.tut_treasure + Tags + + tut treasure + + Title + t.tut_treasure + Visible Distance + 6.0 + + + + 51.516155, 102.50736, 3.0 + + + + 2096 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.tut_chromalisks + Tags + + tut chromalisks + + Title + t.tut_chromalisks + Visible Distance + 7.0 + + + + 28.362278, 82.41516, 0.0 + + + + 2103 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.tut_attack + Tags + + tut attack + + Title + t.tut_attack + Visible Distance + 8.0 + + + + -6.2318096, -17.753822, 0.0 + + + + 2102 + + Player Enter/Spawn Activate + + Trigger Action + + next + + tut move + + + + + + + -29.5 + -17.5 + + + -30.2213 + -22.328634 + + + -28.2213 + -22.328634 + + + -27.5 + -17.5 + + + + + 2107 + + Dynamic/Block/Breakable/Haven + + + 19.5, 15.5, 0.0 + + + + 2106 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.tut_move + Tags + + tut move + + Title + t.tut_move + Visible Distance + 12.0 + + + + -33.5, -18.5, 0.0 + + + + 2111 + + + 5.5, -17.5, 0.0 + + + + 2109 + + + 18.5, 16.5, 0.0 + + + + 2090 + + Dynamic/Portal/Level Start + + Default Entrance + true + + + + -39.500004, -19.499998, 0.0 + 0.0, 0.0, 5.9604638E-8, 1.0 + + + + 2094 + + + 0.5, -9.5, 0.0 + + + + 2116 + + Item/Crowns/Copper Crown + + + 30.5, 15.5, 0.0 + + + + 2117 + + + 31.5, 16.5, 0.0 + + + + 2118 + + + 31.5, 14.5, 0.0 + + + + 2112 + + + 1.5, -24.5, 0.0 + + + + 2113 + + + 1.5, -12.5, 0.0 + + + + 2114 + + + 0.5, -13.5, 0.0 + + + + 2115 + + + -0.5, -12.5, 0.0 + + + + 2121 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.tut_breakable + Tags + + tut breakable + + Title + t.tut_breakable + Visible Distance + 8.0 + + + + 0.5, -8.5, 0.0 + + + + 2122 + + + 0.5, -8.5, 0.0 + + + + 2123 + + Character/Monster/Generic/Single Spawn + + Spawn Table + + Monster/Tutorial/Intro/Jelly Cube + + Tag + (Wave Tag) + + + Spawn Tag + spawn 1b + Wave Number + 1b + + + + 31.5, 15.5, 0.0 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 2167 + + + -28.479038, -36.296528, 0.0 + + + + 2166 + + + 1.1799998 + -22.784737, -33.255672, -0.5 + 0.11320321, 0.0, 0.0, 0.9935719 + + + + 2165 + + + 1.0699999 + -19.56398, -32.85356, -0.5 + 0.11320321, 0.0, 0.0, 0.9935719 + + + + 2164 + + + 1.0699999 + -25.56398, -31.853561, -0.5 + 0.11320321, 0.0, 0.0, 0.9935719 + + + + 2175 + + + -20.671822, -1.0041895, -3.0 + + + + 2174 + + + -15.421158, -3.1362925, -3.0 + + + + 2173 + + + -30.279764, -39.344624, 0.0 + + + + 2172 + + + -27.977505, -40.19504, 0.0 + + + + 2169 + + + -19.825747, -36.275192, 0.0 + + + + 2168 + + + -23.624187, -37.224895, 0.0 + + + + 2150 + + Prop/Knights/Flare + + + 57.38261, 156.76614, 6.0 + 0.0, 0.0, 0.34202012, 0.9396926 + + + + 2156 + + Camera/Default + + Camera + + 0.9599311 + 0.0, 1.0471976, 16.0 + + Easing + + + Extent + + 28.0 + 20.0 + 5.0 + + Extent - X axis + 22.0 + Extent - Y axis + 8.0 + Extent - Z axis + 6.0 + Transition + 5.0 + + + + 30.5, 51.5, 0.0 + 0.0, 0.0, 0.70710665, 0.70710695 + + + + 2447 + + + -35.085865, -26.709599, -3.0 + 0.0, 0.0, 0.3007058, 0.95371693 + + + + 2445 + + + -37.441032, -27.131857, -3.0 + 0.0, 0.0, -0.043619316, 0.99904823 + + + + 2444 + + Prop/General/Nature/Foliage/Variants - Haven/Leaves, Haven 04 + + + -39.15456, -15.052019, 0.0 + 0.0, 0.0, 0.5836833, 0.8119814 + + + + 2458 + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, small 1 + + + -31.801683, -25.656162, -3.0 + -0.056017905, 0.076421894, 0.028630033, 0.995089 + + + + 2459 + + + -38.12658, -29.229584, -3.0 + -0.029477004, -0.10262598, -0.005035877, 0.99427044 + + + + 2456 + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, large 1 + + + -37.100765, -28.23907, -3.0 + -0.03098322, 0.031258572, 0.14248653, 0.9888178 + + + + 2457 + + + -33.24077, -26.043098, -3.0 + -0.06625394, 0.028185956, -0.13565812, 0.98813605 + + + + 2462 + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, small 2 + + + -36.938408, -28.55708, -3.0 + -0.040939484, -0.069739155, 0.1707738, 0.9819861 + + + + 2460 + + + -44.303062, -27.198639, -3.0 + -0.021838026, 0.048882265, -0.029648378, 0.99812555 + + + + 2450 + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, large 2 + + + -46.79303, -25.335909, -3.0 + -0.056766942, 0.053988192, -0.055397965, 0.99538624 + + + + 2451 + + + -49.898884, -24.011406, -3.0 + -0.05440246, -0.0026694722, 0.25294304, 0.96594673 + + + + 2448 + + + -44.68644, -25.014404, -3.0 + 0.0, 0.0, -0.17364785, 0.9848078 + + + + 2449 + + + -41.661297, -27.512953, -3.0 + -0.0055613485, 0.0013047686, -0.21686196, 0.9761855 + + + + 2454 + + + -43.56682, -26.349545, -3.0 + -0.03510158, -0.003124632, -0.1480063, 0.98835844 + + + + 2452 + + + -51.04136, -22.558834, -3.0 + -0.03745193, 0.0021134624, 0.0077394582, 0.99926627 + + + + 2453 + + + -48.03071, -24.027998, -3.0 + -0.047313508, 0.046791203, -0.14787056, 0.98676556 + + + + 2473 + + + -12.515183, -12.048722, -3.0 + -0.0010811472, -0.007716564, 0.0092574945, 0.9999268 + + + + 2472 + + + -8.498491, -3.2026863, -1.0699999 + -0.21636544, -0.025556518, -0.0056654345, 0.97596145 + + + + 2475 + + + -3.3394723, -7.0030813, -3.0 + -0.041478787, 0.04913874, -0.019461395, 0.99774057 + + + + 2474 + + + -7.429595, -9.273538, -3.0 + -0.041193735, -0.01563939, -0.039007083, 0.99826694 + + + + 2477 + + + -17.214985, -15.581285, -3.0 + -0.036981035, 0.0056606256, 0.034431767, 0.99870664 + + + + 2476 + + + -5.0132866, -10.242916, -3.0 + -0.017908884, 0.041780014, 0.0097931195, 0.9989183 + + + + 2479 + + + -15.868616, -6.497223, -3.0 + -0.02338218, 0.017248401, 0.043223236, 0.99864286 + + + + 2478 + + + -18.95779, -12.029532, -3.0 + -0.055675637, 0.060109798, -0.006797958, 0.9966147 + + + + 2464 + + + -33.809074, -27.18145, -3.0 + -0.009648697, 0.038930055, 0.040523473, 0.99837327 + + + + 2467 + + + -12.587666, -25.181087, -3.0 + 0.0, 0.0, 3.019916E-7, 1.0 + + + + 2469 + + + -6.726728, -4.25113, -3.0 + 0.0, 0.0, 3.019916E-7, 1.0 + + + + 2468 + + + -9.834301, -3.3284883, -3.0 + 0.0, 0.0, 3.019916E-7, 1.0 + + + + 2470 + + + -7.8108654, -3.9614754, -3.0 + 0.0, 0.0, -0.25881872, 0.96592593 + + + + 2488 + + + 1.2422273, -28.317537, -3.0 + -0.03009116, 0.0049357335, -0.015263, 0.99941844 + + + + 2489 + + + 6.7147393, -21.687063, -3.0 + -0.001834335, -0.088744946, -0.019366594, 0.99586445 + + + + 2490 + + + 8.74543, -20.105946, -3.0 + -0.02469487, 0.03026339, 0.007312448, 0.99921006 + + + + 2491 + + + -24.36432, -24.625015, -3.0 + -0.011114413, 0.10421169, 1.9337735E-4, 0.994493 + + + + 2492 + + + -21.29213, -25.939632, -3.0 + -0.01397367, -0.038765073, 0.018820025, 0.9989734 + + + + 2493 + + Prop/Haven/Nature/Boulder 01 + + + -10.094985, -25.217678, -3.0 + 0.0, 0.0, 3.019916E-7, 1.0 + + + + 2494 + + + -10.753131, -26.71688, -3.0 + 0.0, 0.0, -0.21643952, 0.976296 + + + + 2495 + + + -15.736228, -25.652355, -3.0 + 0.0, 0.0, -0.087155424, 0.9961947 + + + + 2480 + + + -18.758339, -24.995834, -3.0 + -0.026840482, 0.023187794, -0.029723672, 0.99892867 + + + + 2481 + + + -8.404641, -25.742336, -3.0 + -0.061978467, 0.073287375, -0.021173565, 0.99515796 + + + + 2482 + + + -3.6452088, -27.593307, -3.0 + -0.06294938, 0.011767868, 0.018318161, 0.99777925 + + + + 2483 + + + 2.129242, -26.666431, -3.0 + -0.037184037, 0.015137787, -0.011049546, 0.99913263 + + + + 2484 + + + 0.46507636, -27.524708, -3.0 + -0.056902323, -0.039626367, 0.21746321, 0.97360235 + + + + 2485 + + + 4.194357, -24.156616, -3.0 + -0.04780089, 0.016191741, 0.2187222, 0.97448117 + + + + 2486 + + + -2.4301455, -28.399654, -3.0 + -0.03654617, -0.032835767, -0.033237524, 0.99823916 + + + + 2511 + + + 1.3699996 + 13.313314, 7.4840775, -3.0 + 0.0, 0.0, 0.81915206, 0.5735764 + + + + 2509 + + + 7.064836, -4.931075, -3.0 + 0.0, 0.0, 0.8191521, 0.5735763 + + + + 2507 + + + 7.5183544, -2.4769616, -3.0 + 0.0, 0.0, 0.50000006, 0.8660253 + + + + 2504 + + + 3.5625098, -6.4311085, -3.0 + 0.0, 0.0, 0.5372998, 0.8433913 + + + + 2503 + + + 1.7599993 + 8.332, -3.252962, -3.0 + 0.0, 0.0, 0.46947172, 0.8829475 + + + + 2500 + + + 7.3625956, -9.903834, -3.0 + -0.00828276, -0.04445687, -0.0036538579, 0.9989703 + + + + 2499 + + + 7.9461823, -15.248931, -3.0 + -0.052826244, -0.08150799, -0.011838842, 0.99520135 + + + + 2498 + + + 10.065308, -16.307537, -3.0 + -0.06102492, -0.029498667, -0.18021582, 0.98128897 + + + + 2496 + + + 1.5099995 + -10.8847475, -25.450628, -3.0 + 0.0, 0.0, 0.3826834, 0.92387956 + + + + 2526 + + + -4.8296065, 5.8586645, 0.0 + -0.0060227234, 7.217729E-4, 0.22787583, 0.9736713 + + + + 2527 + + + 0.6918919, 7.2844152, 0.0 + -0.06542161, -0.032771353, 0.12754065, 0.98913074 + + + + 2524 + + + -1.1549709, 7.5575895, 0.0 + -0.061223373, -0.031942673, 0.33848533, 0.9384343 + + + + 2525 + + + -3.4641876, 7.161945, 0.0 + -0.06843123, -3.1006895E-4, 0.25594628, 0.96426576 + + + + 2522 + + + 0.62000036 + -17.433392, -20.079819, 0.0 + -0.031267036, 0.0040876707, -0.013603251, 0.99941015 + + + + 2523 + + + -0.12779903, 8.329847, 0.0 + -0.062216256, -0.01925011, 0.115338266, 0.991189 + + + + 2520 + + + 0.5500004 + -3.1886954, -16.992052, 0.0 + -0.039618082, 0.0781506, 0.15457354, 0.9840883 + + + + 2516 + + + -4.4340935, -16.531933, 0.0 + -0.05898917, -0.08962919, -0.1016701, 0.98901474 + + + + 2514 + + + -3.510075, -15.030571, 0.0 + -0.044909485, 0.072949626, -0.17968002, 0.97998816 + + + + 2515 + + + -1.7763443, -14.118943, 0.0 + 0.0071175536, -0.104961, 0.2451422, 0.9637623 + + + + 2512 + + + -7.5092125, -16.466377, 0.0 + -0.06822729, -0.012743813, 0.0070398552, 0.9975636 + + + + 2513 + + + -2.649841, -13.470851, 0.0 + -0.035226256, -0.028555466, 0.010869123, 0.99891216 + + + + 2541 + + + 44.38605, 22.4527, -3.0 + 0.0, 0.0, -0.7372773, 0.6755902 + + + + 2540 + + + 1.4999995 + 37.62627, 12.792116, -3.0 + 0.0, 0.0, -0.34202006, 0.9396926 + + + + 2543 + + + 1.4999995 + 44.004345, 23.506224, -3.0 + + + + 2542 + + + 41.486637, 25.518692, -3.0 + 0.0, 0.0, -0.53729963, 0.8433914 + + + + 2537 + + + 21.365993, 18.83855, 0.0 + 0.0, 0.0, -0.57357633, 0.8191521 + + + + 2536 + + + 24.663845, 25.1777, 0.0 + 0.0, 0.0, -0.46174848, 0.88701093 + + + + 2539 + + + 1.2299998 + 14.921621, 16.169838, 0.0 + 0.0, 0.0, -0.46174848, 0.88701093 + + + + 2538 + + + 0.8100002 + 15.53002, 16.745985, 0.0 + 0.0, 0.0, -0.819152, 0.57357657 + + + + 2533 + + + 1.4999995 + 24.376848, 25.823212, 0.0 + + + + 2532 + + + 1.3899996 + 22.422564, 20.655088, 0.0 + + + + 2535 + + + 27.452272, 28.499947, 0.0 + 0.0, 0.0, -0.34202006, 0.9396926 + + + + 2534 + + + 1.4499996 + 25.598003, 26.44006, 0.0 + + + + 2529 + + + -5.972593, 3.7677536, 0.0 + -0.06999611, 0.024278726, 0.21925911, 0.97284967 + + + + 2528 + + + 0.92472243, 8.172108, 0.0 + -0.04601585, 0.014933838, -0.029052868, 0.9984064 + + + + 2531 + + + -3.4432585, 4.508004, 0.0 + -0.059323672, -0.04578142, -0.052281376, 0.99581707 + + + + 2530 + + + -5.2373114, 4.853503, 0.0 + -0.060938757, -0.04235799, -0.019554459, 0.9970506 + + + + 2556 + + + 31.288464, 8.170839, -3.0 + -0.060246784, 0.012624368, -0.03419982, 0.99751765 + + + + 2557 + + + 26.719883, 8.692782, -3.0 + -0.028124131, 0.029958444, -0.080420285, 0.9959136 + + + + 2558 + + + 30.150692, 8.111856, -3.0 + -0.06360247, 0.022059374, -0.08388435, 0.9941989 + + + + 2559 + + + 31.258492, 7.7440543, -3.0 + -0.012903378, -0.07708744, -0.09136472, 0.9927454 + + + + 2553 + + + 28.406591, 8.93535, -3.0 + 0.0, 0.0, -0.043619387, 0.99904823 + + + + 2554 + + + 26.623333, 9.590579, -3.0 + 0.0, 0.0, -0.2164396, 0.976296 + + + + 2555 + + + 31.489052, 8.7619, -3.0 + + + + 2549 + + + 2.079999 + 44.06387, 26.38398, -0.74999964 + + + + 2550 + + + 1.5299995 + 43.691345, 27.97566, 0.0 + 0.0, 0.0, 0.21643959, 0.976296 + + + + 2551 + + + 1.4999995 + 36.278275, 28.072826, 0.0 + + + + 2545 + + + 1.4999995 + 41.5325, 27.533298, 0.0 + + + + 2327 + + + -32.124523, -20.890568, 0.0 + -0.017260179, 0.10122692, -0.16327539, 0.98122185 + + + + 2326 + + + -33.00835, -20.468197, 0.0 + -0.05119606, 0.047485553, 0.024140578, 0.99726695 + + + + 2325 + + + -33.99975, -23.36948, 0.0 + -0.015879475, -0.01654027, 0.016256206, 0.99960494 + + + + 2324 + + + -30.954836, -16.148502, 0.0 + -0.032302335, -0.038397443, -0.22388124, 0.97332376 + + + + 2331 + + Prop/General/Nature/Foliage/Grass variants/Grass billboard, single 2 + + + 0.6700003 + -36.23227, -21.96914, 0.0 + 7.402152E-6, -0.12862206, 0.3056654, 0.94341147 + + + + 2330 + + + -34.924797, -23.278606, 0.0 + -0.07916251, 0.083831675, 0.17713015, 0.97741014 + + + + 2329 + + + -38.771004, -24.631397, 0.0 + -0.0036103677, -0.0187372, 0.12354703, 0.9921553 + + + + 2328 + + + -40.097828, -23.151638, 0.0 + -0.057822857, -0.0055878316, -0.17025754, 0.98368585 + + + + 2344 + + + -45.132656, -22.044006, 0.0 + -0.048530903, 0.03245449, 0.101315066, 0.99313986 + + + + 2345 + + + -44.825752, -15.103237, 0.0 + -0.01326851, -0.011182048, 0.16626786, 0.9859279 + + + + 2348 + + + -39.079384, -11.707028, 0.0 + -0.020452818, -0.0020093252, 0.007578467, 0.99976003 + + + + 2349 + + + -35.88968, -10.826966, 3.0 + -0.047694646, 0.020778378, -0.15989469, 0.98576224 + + + + 2350 + + + -34.1009, -11.774927, 3.0 + -0.01867665, -0.030419903, -0.061536238, 0.9974663 + + + + 2351 + + + -32.502228, -12.349746, 3.0 + -0.033162855, -0.013806654, -0.026046116, 0.9990151 + + + + 2353 + + + -39.441933, -10.02308, 3.0 + 9.775003E-4, 0.03939942, -0.17047492, 0.9845735 + + + + 2352 + + + -40.941574, -9.327029, 3.0 + -0.040366665, 0.04714578, -0.012355914, 0.9979956 + + + + 2355 + + + -43.20287, -10.330756, 3.0 + -0.050113354, 0.03021155, 0.21809764, 0.9741711 + + + + 2354 + + + -37.075798, -11.017677, 3.0 + -0.041882742, 0.08979516, -0.044559594, 0.9940811 + + + + 2356 + + + -40.635563, -9.786807, 3.0 + -0.016228454, -0.056934357, 0.21422324, 0.97498894 + + + + 2363 + + + -28.426449, -12.440687, 3.0 + -0.09092724, -0.082148686, -0.24076696, 0.9628162 + + + + 2365 + + + -48.682003, -17.752748, 3.0 + -0.040865634, -0.025677115, -0.40970606, 0.91093993 + + + + 2364 + + + -49.143764, -19.096851, 3.0 + -0.03995476, -0.062288534, 0.22375888, 0.97183114 + + + + 2367 + + + -44.60342, -10.640647, 3.0 + 0.0, 0.0, -0.38268343, 0.92387956 + + + + 2374 + + + 0.8000002 + -46.40631, -22.330425, 0.0 + 0.0, 0.0, -0.9914448, 0.1305266 + + + + 2375 + + + 0.8000002 + -36.407646, -12.535866, 0.0 + 0.0, 0.0, -0.99144477, 0.1305267 + + + + 2372 + + + -46.558853, -18.320387, 0.0 + 0.0, 0.0, 0.86602545, 0.49999997 + + + + 2373 + + + 1.3699996 + -46.905266, -21.444424, 0.0 + 0.0, 0.0, 0.46174857, 0.8870109 + + + + 2370 + + + 1.4099996 + -29.392178, -12.704011, 2.5700004 + 0.0, 0.0, 0.1391731, 0.99026805 + + + + 2369 + + + 1.4699996 + -45.455437, -11.561466, 3.0 + 0.0, 0.0, -0.8870108, 0.4617487 + + + + 2383 + + + 1.0799999 + -39.156025, -14.337765, -0.58999974 + 0.11061604, -0.23021135, -0.66858304, -0.6984007 + + + + 2380 + + + 1.5699995 + -37.657158, -11.964509, 0.0 + 0.0, 0.0, 0.76604474, 0.6427872 + + + + 2376 + + + 1.7399993 + -35.53402, -13.499206, 0.0 + 0.0, 0.0, 0.11320321, 0.9935719 + + + + 2377 + + + 1.4399996 + -37.923637, -14.217049, 0.0 + 0.0, 0.0, 0.42261863, 0.90630764 + + + + 2389 + + + 0.5000005 + -39.51327, -12.478561, 0.0 + 0.0, 0.0, 0.86602575, 0.49999946 + + + + 2386 + + + 1.2799997 + -38.477303, -22.691, 0.0 + 0.0, 0.0, 0.42261872, 0.9063076 + + + + 2399 + + + 0.95000005 + -41.443684, -12.976002, -0.34999993 + 0.1039107, 0.06367656, 0.5186039, 0.8462847 + + + + 2398 + + + 1.1599998 + -40.284637, -13.267335, -0.3899999 + 0.019011706, 0.025059069, -0.06147434, 0.99761295 + + + + 2397 + + + 1.1999998 + -37.42057, -11.44704, 1.3599991 + 0.110711455, -0.48782486, 0.56377006, 0.6572162 + + + + 2396 + + + 1.5699995 + -37.673492, -10.731316, 0.99999934 + -0.30671155, -0.36552495, 0.67321324, 0.5648924 + + + + 2395 + + + 1.0799999 + -36.62113, -14.0362015, -0.32999998 + -0.15329415, 0.19691326, 0.031188672, 0.9678602 + + + + 2404 + + Prop/General/Nature/Foliage/Variants - Haven/Leaves, Haven 01 + + + -40.767513, -13.520795, 0.0 + 0.0, 0.0, 0.45213228, 0.89195085 + + + + 2406 + + + -42.872005, -20.321495, 0.0 + 0.0, 0.0, 0.23353024, 0.9723495 + + + + 2400 + + + 0.95000005 + -41.733543, -11.576315, 0.0 + 0.0, 0.0, 0.5591928, 0.82903767 + + + + 2401 + + Prop/General/Nature/Foliage/Variants - Haven/Leaves, Haven 02 + + + -37.134903, -14.846999, 0.0 + 0.0, 0.0, 0.016121468, 0.99987006 + + + + 2402 + + + -38.85037, -14.957419, 0.0 + 0.0, 0.0, -0.9986644, 0.051666036 + + + + 2403 + + + -39.774956, -17.56158, 0.0 + 0.0, 0.0, -0.7891502, 0.6142002 + + + + 2412 + + + -41.41738, -21.588436, 0.0 + 0.0, 0.0, 0.96206963, 0.2728039 + + + + 2408 + + + -44.057404, -18.701424, 0.0 + 0.0, 0.0, -0.530309, 0.8478044 + + + + 2409 + + + -44.696743, -18.931114, 0.0 + 0.0, 0.0, 0.055444703, 0.9984617 + + + + 2422 + + + -36.5, -15.5, 0.0 + 0.0, 0.0, 0.71611804, 0.69797915 + + + + 2429 + + Prop/General/Nature/Foliage/Variants - Haven/Leaves, Haven 03 + + + -39.92313, -12.786743, 0.0 + 0.0, 0.0, -0.9874321, 0.15804341 + + + + 2428 + + + -40.51839, -12.697018, 0.0 + 0.0, 0.0, 0.6418902, 0.76679647 + + + + 2431 + + + -43.975098, -22.51632, 0.0 + 0.0, 0.0, -0.9950591, 0.09928462 + + + + 2430 + + + -39.473515, -13.052024, 0.0 + 0.0, 0.0, 0.6276813, 0.7784704 + + + + 2425 + + + -38.403324, -12.964239, 0.0 + 0.0, 0.0, 0.9397622, 0.34182888 + + + + 2424 + + + -38.737488, -12.238298, 0.0 + 0.0, 0.0, -0.9955644, -0.094082825 + + + + 2746 + + + 50.885254, 159.91212, 6.0 + 0.0, 0.0, 0.13052632, -0.9914448 + + + + 2744 + + + 56.18777, 159.9006, 6.0 + 0.0, 0.0, -0.38268343, -0.9238795 + + + + 2743 + + + 1.2799997 + 56.5, 160.34953, 6.3200073 + 0.2962734, 0.008407205, -0.5833333, 0.75622326 + + + + 2740 + + + 1.04 + 52.5, 157.43004, 5.6799927 + 0.0, 0.0, 0.043619227, 0.99904823 + + + + 2741 + + + 1.01 + 54.76544, 156.90752, 5.429987 + 0.0, 0.0, -0.5591928, 0.82903767 + + + + 2738 + + + 1.0899999 + 53.033905, 160.34227, 6.2000046 + 0.50576425, -0.026709646, -0.36315787, 0.7820521 + + + + 2739 + + + 0.63000035 + 53.76544, 157.90752, 6.0 + 0.0, 0.0, -0.55919284, 0.8290376 + + + + 2736 + + + 1.0899999 + 55.572132, 160.29654, 8.050047 + 0.4609515, 0.20984423, 0.038986452, 0.86137635 + + + + 2737 + + + 0.7900002 + 52.881638, 160.16016, 8.050047 + 0.49955666, 0.08339092, -0.18528259, 0.84211606 + + + + 2735 + + + 1.0899999 + 54.24035, 160.97389, 9.05007 + 0.16926853, 0.20412113, 0.09811707, 0.95919544 + + + + 2734 + + + 1.3099997 + 53.805515, 160.15463, 6.090002 + 0.2344975, 0.12380707, -0.2764198, 0.9237287 + + + + 2733 + + + 1.04 + 54.5, 159.43004, 6.0 + 0.0, 0.0, 0.043619227, 0.99904823 + + + + 2731 + + Prop/Knights/Escape Pod - Static, Closed + + + 53.72288, 159.94994, 7.3499966 + -0.28401545, 1.2414709E-8, -0.9588197, -4.191134E-8 + + + + 2729 + + + 2.139999 + 55.5, 160.34953, 6.3200073 + 0.2745668, 0.11163195, -0.28155708, 0.9126209 + + + + 2728 + + + 1.0899999 + 55.22356, 161.0939, 9.05007 + 0.16926852, 0.20412113, 0.09811707, 0.95919544 + + + + 2727 + + + 1.3099997 + 53.615547, 161.1241, 9.05007 + 0.2344975, 0.12380707, -0.2764198, 0.9237287 + + + + 2726 + + + 0.63000035 + 55.152496, 159.20422, 6.0 + 0.0, 0.0, -0.91706014, 0.39874896 + + + + 2725 + + + 0.63000035 + 53.76544, 158.90752, 6.0 + 0.0, 0.0, -0.55919296, 0.82903755 + + + + 2721 + + + 63.396053, 154.3704, 6.0 + 0.0, 0.0, 0.88701093, 0.4617486 + + + + 2718 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.tut_victory + Tags + + tut victory + + Title + t.tut_victory + Visible Distance + 8.0 + + + + 57.567883, 158.69183, 6.0 + + + + 2712 + + + 63.950245, 112.30705, 0.0 + 0.0, 0.0, -0.34202012, 0.9396926 + + + + 2708 + + + 47.03189, 96.75154, 0.0 + -0.06298189, 0.056093957, 0.25536913, 0.963158 + + + + 2709 + + + 47.132053, 97.90746, 0.0 + -0.03996884, 0.08971698, -0.0870253, 0.9913526 + + + + 2710 + + + 58.208794, 115.905426, 0.0 + + + + 2711 + + + 61.173637, 115.18914, 0.0 + 0.0, 0.0, -0.34202012, 0.9396926 + + + + 2705 + + + 48.77056, 93.55701, 0.0 + -0.033976853, -0.04005528, -0.015921967, 0.99849266 + + + + 2706 + + + 47.63842, 94.91645, 0.0 + -0.0013872795, 0.0506383, -0.46825987, 0.8821374 + + + + 2707 + + + 50.687035, 93.83181, 0.0 + -0.0047955215, -0.016022371, -0.100516096, 0.99479485 + + + + 2701 + + + 50.586044, 95.084, 0.0 + -0.052877896, -0.06282179, -0.29268807, 0.9526757 + + + + 2700 + + + 1.4399996 + 46.5, 171.5, 6.0 + 0.0, 0.0, 0.7660444, 0.6427877 + + + + 2703 + + + 48.95583, 95.81833, 0.0 + -0.066580616, -0.015956923, -0.2581768, 0.9636685 + + + + 2702 + + + 47.816326, 96.84065, 0.0 + -0.05048695, 0.034996685, -0.24290505, 0.968103 + + + + 2697 + + + 1.1899998 + 42.703655, 167.12146, 6.0 + 0.0, 0.0, 0.6755901, 0.73727745 + + + + 2696 + + + 1.1899998 + 39.5, 163.5, 6.0 + 0.0, 0.0, 0.7660444, 0.6427877 + + + + 2699 + + + 1.1899998 + 35.25204, 160.99959, 6.0 + 0.0, 0.0, 0.7660444, 0.6427877 + + + + 2698 + + + 1.1899998 + 47.87885, 168.41292, 6.0 + 0.0, 0.0, 0.7660444, 0.6427877 + + + + 2693 + + + 40.59321, 160.5269, 6.0 + 0.0, 0.0, -0.76604444, -0.64278764 + + + + 2692 + + + 37.272316, 157.73228, 6.0 + 0.0, 0.0, -0.76604444, -0.64278764 + + + + 2695 + + + 43.13273, 163.18936, 6.0 + 0.0, 0.0, -0.76604444, -0.64278764 + + + + 2694 + + + 46.557724, 164.49123, 6.0 + 0.0, 0.0, -0.76604444, -0.64278764 + + + + 2689 + + + 38.696968, 151.45792, 3.0 + 0.0, 0.0, -0.76604444, -0.64278764 + + + + 2688 + + + 42.540752, 153.5281, 3.0 + 0.0, 0.0, -0.7933533, -0.6087614 + + + + 2691 + + + 1.1799998 + 34.9723, 153.32497, 3.0 + 0.09678005, -0.047223732, 0.76334566, 0.6369513 + + + + 2690 + + + 35.75699, 149.44783, 3.0 + 0.0, 0.0, -0.76604444, -0.64278764 + + + + 2810 + + + 1.4399996 + 70.5, 187.5, 7.5400352 + 0.0, 0.0, 0.7660444, 0.6427877 + + + + 2811 + + + 68.5, 163.5, 12.0 + 0.0, 0.0, 0.57357645, -0.81915206 + + + + 2808 + + + 1.4399996 + 53.5, 182.5, 7.5400352 + 0.0, 0.0, 0.7660444, 0.6427877 + + + + 2809 + + + 1.4399996 + 59.5, 186.5, 7.5400352 + 0.0, 0.0, 0.7660444, 0.6427877 + + + + 2814 + + + 69.5, 169.5, 12.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 2815 + + + 70.5, 167.5, 12.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 2812 + + + 69.5, 164.5, 12.0 + 0.0, 0.0, 0.57357645, -0.81915206 + + + + 2813 + + + 68.5, 167.5, 12.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 2802 + + + 53.52857, 165.79399, 9.0 + 0.0, 0.0, 0.57357645, -0.81915206 + + + + 2803 + + + 58.950638, 181.29823, 9.0 + 0.0, 0.0, 0.57357645, -0.81915206 + + + + 2800 + + + 60.428925, 178.20575, 9.0 + 0.0, 0.0, 0.30070588, -0.95371693 + + + + 2801 + + + 51.313164, 164.55688, 9.0 + 0.0, 0.0, 0.30070588, -0.95371693 + + + + 2806 + + + 52.146404, 168.3049, 9.0 + 0.0, 0.0, 0.57357645, -0.81915206 + + + + 2807 + + + 1.4399996 + 49.5, 174.5, 7.5400352 + 0.0, 0.0, 0.7660444, 0.6427877 + + + + 2804 + + + 65.6772, 185.53885, 9.0 + 0.0, 0.0, 0.57357645, -0.81915206 + + + + 2805 + + + 52.946114, 177.60782, 9.0 + 0.0, 0.0, 0.57357645, -0.81915206 + + + + 2795 + + + 68.056755, 149.18439, 3.0 + 9.7553E-4, -0.031868204, 0.08546609, -0.99583083 + + + + 2793 + + + 58.08495, 147.65189, 3.0 + 0.085772745, -0.090817094, -0.17716916, -0.9762205 + + + + 2799 + + + 57.54011, 177.17479, 9.0 + 0.0, 0.0, 0.30070588, -0.95371693 + + + + 2798 + + + 63.572243, 181.87297, 9.0 + 0.0, 0.0, 0.30070588, -0.95371693 + + + + 2797 + + + 69.1256, 182.94908, 9.0 + 0.0, 0.0, 0.30070588, -0.95371693 + + + + 2796 + + + 54.01465, 172.71225, 9.0 + 0.0, 0.0, 0.08715588, -0.99619466 + + + + 2786 + + + 57.88234, 147.96053, 3.0 + 0.0573691, 0.010052612, -0.17463195, -0.98290974 + + + + 2785 + + + 67.37508, 147.74448, 3.0 + 0.05151307, -0.0061833477, -0.003579598, -0.99864674 + + + + 2790 + + + 60.574783, 152.18759, 3.0 + 0.040537618, 0.04276564, 0.083585165, -0.99475676 + + + + 2789 + + + 59.00196, 152.7036, 3.0 + 0.03249571, 5.9909374E-4, -0.21105179, -0.97693443 + + + + 2788 + + + 56.030575, 150.69115, 3.0 + -0.0020445306, 0.0524388, -0.26626742, -0.9624696 + + + + 2777 + + + 56.749702, 157.76144, 6.0 + 0.04052382, 0.026760265, -0.18430495, -0.98166865 + + + + 2778 + + + 50.534836, 158.12079, 6.0 + -0.018770918, 0.049183886, -0.58506036, -0.8092793 + + + + 2779 + + + 49.928535, 158.5989, 6.0 + 0.0, 0.0, 0.6427876, 0.7660445 + + + + 2780 + + + 57.182095, 152.79408, 3.0 + 0.0, 0.0, -0.043619227, -0.99904823 + + + + 2781 + + + 55.190163, 150.6574, 3.0 + 0.0, 0.0, -0.34201995, -0.9396927 + + + + 2783 + + + 63.3675, 152.30077, 3.0 + 0.064414345, 0.094641626, 0.012671856, -0.9933444 + + + + 2768 + + + 56.956493, 159.43675, 6.0 + 0.05887523, 0.0065537742, -0.14114892, -0.9882145 + + + + 2769 + + + 56.863674, 158.75664, 6.0 + 0.041817598, 0.09860632, -0.13469712, -0.98508114 + + + + 2770 + + + 53.311096, 158.97353, 6.0 + 0.05698324, -0.033664636, -0.14028136, -0.9878971 + + + + 2771 + + + 54.434647, 157.50981, 6.0 + 0.008938368, 0.09159941, -0.17238156, -0.9807213 + + + + 2772 + + + 52.2557, 159.33421, 6.0 + 0.04447278, -0.050848816, -0.027047751, -0.99734896 + + + + 2773 + + + 50.52241, 159.46072, 6.0 + 0.005813267, -0.03557743, -0.15862556, -0.9866805 + + + + 2774 + + + 52.219604, 157.75514, 6.0 + 0.0077352123, 0.02418045, -0.121917404, -0.99221545 + + + + 2767 + + + 54.68506, 158.73409, 6.4500103 + -0.055142567, 0.030160453, 0.088802695, 0.9940642 + + + + 2615 + + + 37.368263, 45.370625, -3.0 + -0.04357652, -0.006193388, -0.119995266, 0.9917983 + + + + 2614 + + + 27.047987, 49.21303, -3.0 + -0.029732972, -0.03554848, -0.08537243, 0.9952707 + + + + 2613 + + + 25.2476, 48.19991, -3.0 + -0.018625742, 0.029586604, 0.2056915, 0.9779922 + + + + 2612 + + + 24.72, 48.303635, -3.0 + -0.05079107, 0.028127536, 0.3845256, 0.9212867 + + + + 2611 + + + 25.407503, 50.543556, -3.0 + -0.0066440506, 0.050785072, 0.063576296, 0.9966618 + + + + 2610 + + + 24.100391, 49.61825, -3.0 + -0.062767744, 0.057800163, 0.42235988, 0.90240324 + + + + 2609 + + + 36.66611, 46.804276, -3.0 + -0.0075029163, -0.09152788, -0.026418053, 0.9954238 + + + + 2608 + + + 35.28159, 47.310425, -3.0 + -0.034967177, -0.024638481, -0.023291167, 0.9988132 + + + + 2623 + + + 16.583298, 107.42549, 0.0 + 0.0, 0.0, 0.38268343, 0.92387956 + + + + 2622 + + + 7.704591, 105.491035, 0.0 + 0.0, 0.0, 0.38268343, 0.92387956 + + + + 2621 + + + 13.486693, 106.54107, 0.0 + 0.0, 0.0, 0.38268343, 0.92387956 + + + + 2620 + + + 20.914606, 109.71591, 0.0 + 0.0, 0.0, 0.38268343, 0.92387956 + + + + 2619 + + + 30.166368, 110.56139, 0.0 + 0.0, 0.0, 0.38268343, 0.92387956 + + + + 2618 + + + 23.252325, 42.647137, -3.0 + 0.0, 0.0, 0.38268343, 0.92387956 + + + + 2617 + + + 27.547157, 49.690834, -3.0 + 0.0, 0.0, -0.53729963, 0.8433914 + + + + 2616 + + + 28.138655, 47.25005, -3.0 + 0.0, 0.0, -0.53729963, 0.8433914 + + + + 2598 + + + 1.4200001 + 43.53031, 35.819214, -1.0600017 + 0.12186935, 0.0, 0.0, 0.99254614 + + + + 2599 + + + 1.5 + 42.623173, 40.533237, -2.6400003 + 0.16504759, 0.0, 0.0, 0.9862856 + + + + 2597 + + + 1.5 + 9.8077965, 26.639091, 1.0199968 + 0.15979043, -0.041324615, -0.2469462, 0.9548701 + + + + 2594 + + + 1.5 + 19.875423, 34.129276, -0.41000247 + 0.16081743, 0.037127625, 0.22186598, 0.9610072 + + + + 2595 + + + 1.5 + 7.120721, 28.817911, -0.41000247 + 0.16441955, -0.014384846, -0.08596045, 0.98253256 + + + + 2593 + + + 1.5 + 13.623174, 31.533237, -0.41000247 + 0.1650476, 0.0, 0.0, 0.9862856 + + + + 2606 + + + 1.45 + 34.625515, 47.401123, -10.990153 + + + + 2607 + + + 1.45 + 41.60522, 47.882122, -10.990153 + + + + 2604 + + + 1.45 + 21.940308, 47.45336, -10.990153 + + + + 2605 + + + 1.8199995 + 11.273678, 45.24189, -10.990153 + + + + 2602 + + + 25.5, 35.5, 3.0 + + + + 2603 + + + 1.9099994 + 18.5, 46.129894, -12.570189 + + + + 2600 + + + 1.5 + 47.82314, 41.903008, -4.3600073 + 0.16504759, 0.0, 0.0, 0.9862856 + + + + 2601 + + + 36.5, 38.5, 3.0 + + + + 2581 + + + 51.37022, 43.5073, -3.0 + + + + 2580 + + + 39.326847, 43.45643, -3.0 + + + + 2583 + + + 1.4399996 + 50.965736, 37.961002, -3.0 + + + + 2577 + + + 9.508964, 40.53869, -3.0 + + + + 2576 + + + 11.209088, 39.28665, -3.0 + + + + 2579 + + + 44.573677, 44.62232, -3.0 + + + + 2578 + + + 4.3610077, 44.479515, -3.0 + + + + 2589 + + + 1.2199998 + 4.2464924, 40.946136, -3.0 + + + + 2588 + + + 1.2199998 + 5.4561996, 37.014843, -3.0 + + + + 2591 + + + 1.3 + 4.4561996, 31.014843, -3.0 + + + + 2590 + + + 1.2199998 + -0.54380035, 45.014843, -3.0 + + + + 2585 + + + 1.4399996 + 55.726116, 34.051617, -3.0 + + + + 2584 + + + 1.4399996 + 56.13313, 41.435093, -3.0 + + + + 2587 + + + 1.4399996 + 10.520424, 33.159916, -3.0 + + + + 2586 + + + 1.4399996 + 16.586113, 36.221123, -3.0 + + + + 2566 + + + 1.3099997 + -29.734999, -29.61478, 0.0 + 0.15628561, 0.043082364, -0.006823579, 0.98674834 + + + + 2560 + + + 18.976517, 11.20578, -3.0 + -0.06574272, 0.013002398, -0.05917304, 0.99599564 + + + + 2561 + + + 14.963842, 11.209365, -3.0 + -0.0054283133, -0.04513828, 0.09823127, 0.99412465 + + + + 2572 + + + 1.3099997 + -20.89502, -28.97827, -2.699998 + 0.16139248, 0.015289135, -0.17806701, 0.9705725 + + + + 2573 + + + 21.237082, 44.832603, -3.0 + + + + 2574 + + + 17.837704, 42.227356, -3.0 + + + + 2575 + + + 14.412322, 42.705383, -3.0 + + + + 2568 + + + 1.3099997 + -23.198448, -29.427849, -0.6599997 + 0.16211085, 0.0011646897, -0.26198032, 0.95135957 + + + + 2569 + + + 1.3099997 + -27.129723, -27.127552, -2.699998 + 0.15193604, 0.056539625, 0.079203136, 0.9835882 + + + + 2570 + + + 1.3099997 + -17.198448, -30.687923, -0.6599997 + 0.16182773, 0.009647321, -0.21183099, 0.9637668 + + + + 2571 + + + 1.5499995 + -25.198448, -33.42785, -0.6599997 + 0.16211085, 0.0011646897, -0.26198032, 0.95135957 + + + + 2675 + + + 84.78266, 168.2002, 6.0 + 0.0, 0.0, -0.7660444, 0.6427877 + + + + 2674 + + + 1.3499997 + 76.81247, 168.78654, 6.0 + 0.0, 0.0, -0.7660444, 0.6427877 + + + + 2673 + + + 81.23985, 166.48479, 6.0 + 0.0, 0.0, -0.7660444, 0.6427877 + + + + 2679 + + + 90.332565, 158.57994, 3.0 + 0.0, 0.0, -0.819152, 0.57357657 + + + + 2677 + + + 75.680145, 161.9722, 3.2599998 + 0.0, 0.0, 0.96592575, 0.2588193 + + + + 2676 + + + 1.3499997 + 81.282265, 170.63472, 6.0 + 0.0, 0.0, -0.42261815, 0.9063078 + + + + 2683 + + + 1.4299996 + 91.77708, 166.94107, 1.930001 + 0.0, 0.0, -0.819152, 0.57357657 + + + + 2682 + + + 1.4299996 + 95.55316, 158.69453, 1.930001 + 0.0, 0.0, -0.819152, 0.57357657 + + + + 2681 + + + 96.044426, 152.93059, 3.0 + 0.0, 0.0, -0.819152, 0.57357657 + + + + 2680 + + + 90.84983, 162.27112, 3.0 + 0.0, 0.0, -0.819152, 0.57357657 + + + + 2687 + + + 46.33181, 156.2938, 3.0 + 0.0, 0.0, -0.7933533, -0.6087614 + + + + 2686 + + + 47.528893, 153.41763, 3.0 + 0.0, 0.0, -0.9063079, -0.42261812 + + + + 2685 + + + 42.5, 158.5, 6.0 + 0.0, 0.0, -0.9659258, -0.25881904 + + + + 2684 + + + 1.4299996 + 96.829926, 163.31908, 1.930001 + 0.0, 0.0, -0.819152, 0.57357657 + + + + 2658 + + + 41.746216, 101.88992, 3.0 + 0.0, 0.0, -0.53729963, 0.8433914 + + + + 2659 + + + 0.86000013 + 32.201954, 98.31209, 2.89 + 0.0, 0.0, -0.6087614, 0.7933533 + + + + 2657 + + + 35.705376, 100.59206, 3.0 + 0.0, 0.0, -0.92387956, -0.3826834 + + + + 2662 + + + 1.3999996 + 36.44219, 82.47618, -3.0 + 0.0, 0.0, 0.87035567, 0.49242356 + + + + 2663 + + + 76.525986, 165.59515, 6.0 + 0.0, 0.0, -0.7660444, 0.64278764 + + + + 2660 + + + 1.5799994 + 34.5, 79.5, -3.0 + + + + 2661 + + + 1.6599994 + 35.596455, 81.74342, -3.0 + 0.0, 0.0, -0.42261824, 0.9063078 + + + + 2666 + + + 91.8262, 155.73694, 3.0 + 0.0, 0.0, -0.819152, 0.5735765 + + + + 2667 + + + 79.09233, 159.10321, 3.0 + 0.0, 0.0, -0.81915206, 0.57357645 + + + + 2664 + + + 86.28505, 163.89302, 6.0 + 0.0, 0.0, -0.7660444, 0.6427877 + + + + 2665 + + + 82.25459, 157.8118, 3.0 + 0.0, 0.0, -0.81915206, 0.57357645 + + + + 2670 + + + 81.48156, 160.53554, 3.12 + -0.00958959, -0.19406338, 0.8944383, 0.40277484 + + + + 2671 + + + 78.64931, 161.3084, 3.12 + -0.00958962, -0.1940634, 0.89443827, 0.40277493 + + + + 2668 + + + 84.388695, 155.65274, 3.0 + 0.0, 0.0, -0.95371693, 0.30070582 + + + + 2669 + + + 76.680145, 159.9722, 3.0 + 0.0, 0.0, 0.9659258, 0.2588192 + + + + 2641 + + + 30.564817, 103.490944, 0.0 + 0.0, 0.0, -0.57357645, 0.81915206 + + + + 2640 + + + 1.1699998 + 26.368248, 105.60062, -2.030001 + 0.09229595, -0.0061705858, 0.7070798, 0.7010574 + + + + 2643 + + + 35.719383, 97.825775, 0.0 + 0.0, 0.0, -0.043619387, 0.99904823 + + + + 2645 + + + 36.811813, 97.0027, 0.0 + -0.0012997177, 0.0053413366, -0.06603932, 0.99780184 + + + + 2644 + + + 31.29108, 97.13368, 0.0 + 0.0, 0.0, -0.25881904, 0.9659258 + + + + 2647 + + + 37.161144, 96.09997, 0.0 + -0.052627034, -0.02258751, -0.3261909, 0.94356745 + + + + 2646 + + + 30.962399, 96.57366, 0.0 + -0.07432704, 0.056434147, 0.33607355, 0.9372008 + + + + 2648 + + + 33.39548, 95.73608, 0.0 + -0.03497793, 0.029996406, -0.039932247, 0.9981394 + + + + 2651 + + + 1.7699993 + 40.5, 101.760056, 3.0 + 0.0, 0.0, 0.23344536, 0.9723699 + + + + 2653 + + + 32.5, 101.5, 3.0 + + + + 2655 + + + 1.6699994 + 34.79132, 100.78994, 3.0 + + + + 2624 + + + 23.253923, 109.86055, 0.0 + 0.0, 0.0, 0.38268343, 0.92387956 + + + + 2625 + + + 26.972248, 110.05306, 0.0 + 0.0, 0.0, 0.38268343, 0.92387956 + + + + 2626 + + + 25.074404, 111.811455, 0.0 + 0.0, 0.0, 0.5, 0.8660254 + + + + 2627 + + + 16.310175, 110.63002, 0.0 + 0.0, 0.0, 0.5, 0.8660254 + + + + 2628 + + + 1.2199998 + 20.5, 113.5, 0.0 + 0.034878235, -0.060410876, 0.49878204, 0.8639158 + + + + 2629 + + + 1.2199998 + 28.011765, 114.39165, 0.0 + + + + 2630 + + + 1.04 + 24.171854, 115.844444, 0.0 + 0.0, 0.0, 0.5, 0.8660254 + + + + 2631 + + + 1.2199998 + 10.501625, 109.56261, -0.48999983 + 0.0, 0.0, 0.1736482, 0.9848077 + + + + 2632 + + + 1.2199998 + 2.508503, 106.34169, 0.0 + 0.0, 0.0, 0.5, 0.8660254 + + + + 2633 + + + 1.2199998 + 5.4227, 109.90366, 0.0 + 0.0, 0.0, 0.5, 0.8660254 + + + + 2634 + + + 26.368248, 103.60062, -3.0 + 0.0, 0.0, 0.5, 0.8660254 + + + + 2635 + + + 8.244539, 99.77286, -3.0 + 0.0, 0.0, 0.5, 0.8660254 + + + + 2636 + + + 1.2899997 + 28.512669, 107.47423, -3.0 + 0.046900608, -0.14017116, 0.31381932, 0.93790716 + + + + 2637 + + + 25.066298, 106.03479, -3.0 + 0.0, 0.0, 0.5, 0.8660254 + + + + 2639 + + + 28.234112, 104.4526, -3.0 + -0.007209819, -0.074588284, 0.49628627, 0.86491877 + + + + 2852 + + + 1.6599994 + 118.44883, 154.053, 2.070001 + + + + 2853 + + Dynamic/Barrier/Force Field x3 + + + 60.5, 152.8598, 3.07 + + + + 2855 + + Prop/Knights/Crash site + + + -42.5, -17.5, 0.0 + + + + 959 + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 1, yellow-green + + + 3.5, -14.5, 0.0 + + + + 2848 + + + 1.3299997 + 105.64213, 154.55728, 2.070001 + + + + 2850 + + + 1.6599994 + 110.926285, 153.82047, 2.070001 + + + + 2851 + + + 1.6599994 + 102.07411, 160.77103, 2.070001 + + + + 944 + + + 1.5, -8.5, 0.0 + + + + 945 + + + -0.5, -9.5, 0.0 + + + + 2858 + + Character/Monster/Generic/Rare Spawn + + Spawn Table + + Spawn Tag + (Monster Spawn) + Wave Number + objective trigger + + + + 33.5, 31.5, 0.0 + + + + 947 + + + -0.5, -10.5, 0.0 + + + + 2869 + + Dynamic/Block/Treasure/Hearts + + + 34.5, 83.5, 0.0 + + + + 2868 + + + 32.5, 96.5, 0.0 + + + + 2871 + + + 73.5, 120.5, 3.0 + + + + 943 + + + -0.5, -8.5, 0.0 + + + + 2870 + + + 73.5, 121.5, 3.0 + + + + 2865 + + + -1.5, 5.5, 0.0 + + + + 2867 + + + 34.5, 96.5, 0.0 + + + + 2866 + + + -3.5, 5.5, 0.0 + + + + 2877 + + Player Enter/Base + + Color + 0.2, 0.8, 0.0, 1.0 + Trigger Action + + + + + find_rescue_camp + + + + + find_rescue_camp + KNIGHT + + + explore_rescue_camp_a + KNIGHT + + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/play_sound_clip.dat + + File + sound/feedback/objective_end.ogg + Gain + 1.0 + + + + + + + + + + + Trigger Condition + + + + + + + 62.5 + 162.5 + 6.0 + + + 58.5 + 162.5 + 6.0 + + + 58.5 + 159.5 + 6.0 + + + 62.5 + 159.5 + 6.0 + + + + + 2878 + + + + 61.5 + 170.5 + 6.0 + + + 57.5 + 170.5 + 6.0 + + + 57.5 + 167.5 + 6.0 + + + 61.5 + 167.5 + 6.0 + + + + + 2873 + + + 55.5, 149.5, 3.0 + + + + 2874 + + + 65.5, 149.5, 3.0 + + + + 2823 + + Null barrier, no-walk + + + 63.5, 165.5, 6.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 2818 + + Lights/Point Light + + Attenuation + + 0.2 + + Diffuse + 1.0, 0.2, 0.2, 1.0 + Extent + 12.0 + + + + 63.839924, 175.49055, 6.210005 + 0.0, 0.0, 0.7071067, 0.7071068 + + + + 2819 + + Lights/Point Light + + Attenuation + + 0.2 + + Diffuse + 1.0, 0.2, 0.2, 1.0 + Extent + 8.0 + + + + 58.870438, 157.3985, 6.5800133 + 0.0, 0.0, 0.70710665, 0.7071069 + + + + 2817 + + + 58.46291, 167.58757, 6.0 + 0.0, 0.0, 0.38268363, 0.9238795 + + + + 2830 + + Dynamic/Misc/Border/Border (End) + + + 58.5, 162.5, 6.0 + + + + 2831 + + Dynamic/Misc/Border/Border (Start) + + + 63.5, 162.5, 6.0 + + + + 2828 + + + 58.5, 165.5, 6.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 2829 + + + 57.5, 165.5, 6.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 2826 + + + 60.5, 165.5, 6.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 2827 + + + 59.5, 165.5, 6.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 2824 + + + 62.5, 165.5, 6.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 2825 + + + 61.5, 165.5, 6.0 + 0.0, 0.0, 0.70710677, 0.70710677 + + + + 2839 + + Character/Snipe/Snipe, Walk + + Color 1 + 1283 + Scale + 1.0 + + + + 55.50002, 156.50002, 6.0 + 0.0, 0.0, 0.7071068, 0.7071067 + + + + 2838 + + Character/Snipe/Snipe, Walk + + Color 1 + 1291 + Scale + 1.0 + + + + 66.5, 152.5, 6.0 + 0.0, 0.0, 8.742277E-8, 1.0 + + + + 2837 + + + 59.63296, 173.93872, 5.829996 + 0.0, 0.0, 0.30070555, 0.95371705 + + + + 2836 + + Portals/Next Floor + + + + 58.5 + 163.5 + 6.0 + + + 63.5 + 163.5 + 6.0 + + + 63.5 + 165.5 + 6.0 + + + 58.5 + 165.5 + 6.0 + + + + + 2835 + + Dynamic/Misc/Border/Border (Label) + + Label + m.border_rescue_camp + Off Center + False + + + + 60.5, 162.5, 6.0 + + + + 2834 + + Dynamic/Misc/Border/Border (Middle) + + + 61.5, 162.5, 6.0 + + + + 2833 + + + 59.5, 162.5, 6.0 + + + + 2832 + + + 62.5, 162.5, 6.0 + + + + 2847 + + + 1.3299997 + 120.54546, 149.48611, 2.070001 + + + + 2846 + + + 1.3299997 + 119.85739, 144.72809, 2.070001 + + + + 2845 + + + 1.3299997 + 114.72989, 149.21786, 2.070001 + + + + 2844 + + + 1.3299997 + 100.39282, 156.22447, 2.070001 + + + + 2843 + + + 1.3299997 + 108.926285, 148.82047, 2.070001 + + + + 2841 + + + 104.45563, 150.23067, 3.0 + + + + 2840 + + + 101.29318, 151.72018, 3.0 + + + + 1019 + + + 3.5, 9.5, 0.0 + + + + 1022 + + + 8.5, 8.5, 0.0 + + + + 1023 + + + 7.5, 8.5, 0.0 + + + + 1009 + + + 6.5, -0.5, 0.0 + + + + 1011 + + + -6.5, -1.5, 0.0 + + + + 1013 + + + -5.5, -2.5, 0.0 + + + + 1001 + + + 1.5, -7.5, 0.0 + + + + 1007 + + + 5.5, 0.5, 0.0 + + + + 994 + + + 3.5, -19.5, 0.0 + + + + 997 + + + -0.5, -7.5, 0.0 + + + + 996 + + + 4.5, -20.5, 0.0 + + + + 998 + + + 0.5, -7.5, 0.0 + + + + 2883 + + Player Enter/Spawn Activate + + Trigger Action + + activate + + tut_welcome + + + + + + + -38.5 + -18.5 + + + -40.5 + -18.5 + + + -40.5 + -20.5 + + + -38.5 + -20.5 + + + -38.5 + -20.5 + + + -38.5 + -20.5 + + + + + 2881 + + Player Enter/Base + + Color + 0.2, 0.8, 0.0, 1.0 + Trigger Action + + + + + + + find_rescue_camp + false + + + + + find_rescue_camp + KNIGHT + + m.find_rescue_camp + + + + + Basic + + Lifespan + 1000 + Model + + model/scripted/play_sound_clip.dat + + File + sound/feedback/objective_start.ogg + Gain + 1.0 + + + + + + + + + + + + + Trigger Condition + + + + + + + 27.5 + 36.5 + + + 27.500002 + 33.5 + + + 34.5 + 33.5 + + + 34.5 + 36.5 + + + + + 976 + + + -12.5, -18.5, 0.0 + + + + 977 + + + -11.5, -19.5, 0.0 + + + + 974 + + + -0.5, -25.5, 0.0 + + + + 973 + + + -1.5, -24.5, 0.0 + + + + 960 + + + 4.5, -15.5, 0.0 + + + + 1092 + + Dynamic/Block/Unbreakable/Haven + + + 3.5, 11.5, 0.0 + + + + 1093 + + + 8.5, 9.5, 0.0 + + + + 1094 + + + 7.5, 14.5, 0.0 + + + + 1088 + + + 23.5, 21.5, 0.0 + + + + 1091 + + + 20.5, 17.5, 0.0 + + + + 1024 + + + 6.5, 9.5, 0.0 + + + + 1026 + + + 4.5, 10.5, 0.0 + + + + 1028 + + + 5.5, 10.5, 0.0 + + + + 1051 + + + 20.5, 13.5, 0.0 + + + + 1050 + + + 17.5, 17.5, 0.0 + + + + 1053 + + + 1.5, -10.5, 0.0 + + + + 1054 + + + 7.5, 9.5, 0.0 + + + + 1043 + + + 19.5, 17.5, 0.0 + + + + 1045 + + + 20.5, 14.5, 0.0 + + + + 1044 + + + 20.5, 16.5, 0.0 + + + + 1047 + + + 20.5, 15.5, 0.0 + + + + 1046 + + + 19.5, 13.5, 0.0 + + + + 1070 + + Dynamic/Block/Explosive + + + 18.5, 15.5, 0.0 + + + + 1058 + + + 5.5, 13.5, 0.0 + + + + 1059 + + + 5.5, 9.5, 0.0 + + + + 1056 + + + 4.5, 11.5, 0.0 + + + + 1057 + + + 4.5, 12.5, 0.0 + + + + 1060 + + + 2.5, 9.5, 0.0 + + + + 1061 + + + 0.5, 9.5, 0.0 + + + + 1164 + + + -3.5, -25.5, 0.0 + + + + 1306 + + + -11.238478, 8.475146, 3.0 + 0.0, 0.0, 0.53729963, 0.8433914 + + + + 1305 + + + 21.138908, 26.886051, 3.0 + 0.0, 0.0, 0.6427876, 0.76604444 + + + + 1311 + + + -0.21067429, 13.29414, 3.0 + 0.0, 0.0, 0.043619387, 0.99904823 + + + + 1297 + + + -5.695812, 15.165931, 3.0 + 0.0, 0.0, 0.08715574, 0.9961947 + + + + 1296 + + + -9.271593, 13.1685295, 3.0 + 0.0, 0.0, 0.08715574, 0.9961947 + + + + 1303 + + + 19.096607, 24.987211, 3.0 + 0.0, 0.0, 0.34202012, 0.9396926 + + + + 1302 + + + 18.276264, 22.10629, 3.0 + 0.0, 0.0, 0.08715574, 0.9961947 + + + + 1290 + + + -12.296268, 10.857552, 3.0 + -0.0, -0.0, -0.17364818, 0.9848077 + + + + 1291 + + + -12.751371, 13.442417, 3.0 + -0.0, -0.0, -0.42261824, 0.9063078 + + + + 1288 + + + 0.58086777, 16.519947, 3.0 + -0.0, -0.0, -0.17364818, 0.9848077 + + + + 1294 + + + -6.1640043, 17.060623, 3.0 + -0.0, -0.0, -0.42261824, 0.9063078 + + + + 1295 + + + -3.1336904, 17.135427, 3.0 + 0.0, 0.0, 0.08715574, 0.9961947 + + + + 1292 + + + -11.792715, 15.011107, 3.0 + -0.0, -0.0, -0.42261824, 0.9063078 + + + + 1293 + + + -8.635225, 16.754997, 3.0 + -0.0, -0.0, -0.42261824, 0.9063078 + + + + 1282 + + + 7.5, 5.5, 0.0 + + + + 1286 + + + -6.2792244, 12.109505, 3.0 + + + + 1287 + + + -2.8258367, 13.983087, 3.0 + -0.0, -0.0, -0.17364818, 0.9848077 + + + + 1284 + + + 6.5, 6.5, 0.0 + + + + 1285 + + + -9.229179, 9.498467, 3.0 + + + + 1487 + + Player Enter/Spawn Activate + + Trigger Action + + next + + tut shrubs + + + + + + + 3.0739515 + -18.831886 + + + 2.92572 + -21.154133 + + + 4.9257193 + -21.154133 + + + 5.0739517 + -18.831886 + + + + + 1430 + + Player Enter/Spawn Activate + + Trigger Action + + next + + tut breakable + + + + + + + 2.5666327 + -6.6381197 + + + -1.755612 + -6.48989 + + + -1.755612 + -8.489888 + + + 2.5666327 + -8.63812 + + + + + 1438 + + Player Enter/Spawn Activate + + Trigger Action + + activate + + spawn 1b + + + + + + + 20.361881 + 13.433367 + + + 20.51011 + 17.755611 + + + 18.510113 + 17.755611 + + + 18.361881 + 13.433367 + + + + + 1437 + + Player Enter/Spawn Activate + + Trigger Action + + activate + + spawn 1a + + + + + + + 2.5666327 + -5.6381197 + + + -1.755612 + -5.48989 + + + -1.755612 + -7.489888 + + + 2.5666327 + -7.6381197 + + + + + 1423 + + + 4.5, 8.5, 0.0 + + + + 1655 + + Character/Monster/Generic/Single Spawn + + Spawn Table + + Monster/Tutorial/Intro/Jelly Cube + + Tag + (Wave Tag) + + + Spawn Tag + spawn 1a + Wave Number + 1a + + + + 2.5, 4.5, 0.0 + + + + 1614 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.tut_weapons + Tags + + tut weapons + + Title + t.tut_weapons + Visible Distance + 6.0 + + + + 12.207814, 15.101397, 0.0 + + + + 1615 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.tut_explosive + Tags + + tut explosive + + Title + t.tut_explosive + Visible Distance + 6.0 + + + + 18.513687, 16.468292, 0.0 + + + + 1607 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.tut_shrubs + Tags + + tut shrubs + + Title + t.tut_shrubs + Visible Distance + 8.0 + + + + 4.0661006, -18.243176, 0.0 + + + + 1625 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.tut_hearts + Tags + + + Title + t.tut_hearts + Visible Distance + 8.0 + + + + -2.5343723, 6.903782, 0.0 + + + + 1624 + + Player Enter/Spawn Activate + + Trigger Action + + next + + tut jelly cubes + + + + + + + 7.548435 + 15.933492 + + + 5.6200724 + 13.635359 + + + 10.216339 + 9.778633 + + + 12.144703 + 12.076767 + + + + + 1623 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.tut_jelly_cubes + Tags + + tut jelly cubes + + Title + t.tut_jelly_cubes + Visible Distance + 8.0 + + + + 4.4656277, -3.096218, 0.0 + + + + 1755 + + Environment/Model + + Model + + world/skybox/outershell/skybox.dat + + Translation Scale + 0.0, 0.0, 0.0 + Variant + Day + + + + + + + 1698 + + Dynamic/Breakable Objects/Sky Islands, Day/Shrub 1, green + + + 7.5, 6.5, 0.0 + + + + 1697 + + + 6.5, 5.5, 0.0 + + + + 1696 + + + 6.5, 0.5, 0.0 + + + + 1718 + + + 4.5, 9.5, 0.0 + + + + 1719 + + Player Enter/Spawn Activate + + Trigger Action + + next + + tut explosive + + + + + + + 21.563028 + 13.037441 + + + 21.711258 + 17.359684 + + + 21.062912 + 17.427197 + + + 20.901543 + 13.039255 + + + + + 1717 + + + -0.5, 4.5, 0.0 + + + + 1726 + + + 32.5, 17.5, 0.0 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 1725 + + + 33.5, 14.5, 0.0 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 1677 + + Environment/Light + + Light + + + 0.1254902, 0.4117647, 0.42352942, 1.0 + + 0.9065239, -0.38478678, -0.17364812 + + + + + + 1676 + + Environment/Light + + Light + + + 0.4745098, 0.3764706, 0.2627451, 1.0 + + -0.54500747, -0.31466025, 0.7771459 + + + + + + 1679 + + Environment/Model + + Model + + particle/world_spiral_wind.dat + + Gain + 0.25 + Leaves + true + Pitch + 0.8 + Sound + sound/effect/world/environmental_wind_light_stereo.ogg + + + + + + + 1678 + + Environment/Music + + File + sound/music/main_theme.ogg + Gain + 0.45 + + + + + 1672 + + Environment/Background Color + + Color + 0.1254902, 0.09019608, 0.047058824, 1.0 + + + + + 1675 + + Environment/Ambient + + Color + 0.34901962, 0.14117648, 0.0627451, 1.0 + + + + + 1674 + + Environment/Fog + + State + + 0.23137255, 0.16078432, 0.1254902, 0.0 + 10.0 + 37.5 + + + + + + 1685 + + + -12.5, -19.5, 0.0 + + + + 1686 + + + -11.5, -18.5, 0.0 + + + + 1687 + + + -1.5, -25.5, 0.0 + + + + 1680 + + Environment/Shadow Color + + Color + 0.03529412, 0.07058824, 0.105882354, 0.333 + + + + + 1681 + + Camera + + Coords + 0.0, 0.7853982, 9.99 + FOV + 1.0471976 + Far + 60.0 + Near + 1.0 + + + + + 1692 + + + 4.5, -14.5, 0.0 + + + + 1693 + + + -5.5, -1.5, 0.0 + + + + 1694 + + + -6.5, -2.5, 0.0 + + + + 1695 + + + 5.5, -0.5, 0.0 + + + + 1688 + + + -0.5, -24.5, 0.0 + + + + 1689 + + + 3.5, -20.5, 0.0 + + + + 1690 + + + 4.5, -19.5, 0.0 + + + + 1691 + + + 3.5, -15.5, 0.0 + + + + 1913 + + + 73.5, 118.5, 3.0 + + + + 1912 + + + 73.5, 119.5, 3.0 + + + + 1917 + + + 72.5, 124.5, 3.0 + + + + 1916 + + + 71.5, 124.5, 3.0 + + + + 1919 + + Player Enter/Spawn Activate + + Trigger Action + + activate + + spawn 1e + + + + + + + 70.556915 + 128.9667 + 3.0 + + + 66.23467 + 129.11493 + 3.0 + + + 66.23467 + 127.11493 + 3.0 + + + 70.556915 + 126.966705 + 3.0 + + + + + 1918 + + + 73.5, 122.5, 3.0 + + + + 1905 + + + 70.5, 118.5, 3.0 + + + + 1904 + + + 68.5, 120.5, 3.0 + + + + 1907 + + + 69.5, 118.5, 3.0 + + + + 1906 + + + 70.5, 119.5, 3.0 + + + + 1909 + + + 70.5, 120.5, 3.0 + + + + 1908 + + + 69.5, 120.5, 3.0 + + + + 1911 + + + 73.5, 116.5, 3.0 + + + + 1910 + + + 73.5, 117.5, 3.0 + + + + 1896 + + + 66.5, 120.5, 3.0 + + + + 1897 + + + 64.5, 123.5, 3.0 + + + + 1898 + + + 64.5, 124.5, 3.0 + + + + 1899 + + + 67.5, 118.5, 3.0 + + + + 1900 + + + 68.5, 119.5, 3.0 + + + + 1902 + + Character/Monster/Generic/Single Spawn + + Spawn Table + + Monster/Tutorial/Intro/Jelly Cube + + Tag + (Wave Tag) + + + Spawn Tag + spawn 1d + Wave Number + 1d + + + + 67.5, 119.5, 3.0 + 0.0, 0.0, -0.70710665, 0.70710695 + + + + 1903 + + + 67.5, 120.5, 3.0 + + + + 1888 + + + 68.5, 117.5, 3.0 + + + + 1889 + + + 67.5, 117.5, 3.0 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 1890 + + + 69.5, 116.5, 3.0 + + + + 1891 + + + 70.5, 117.5, 3.0 + + + + 1892 + + + 70.5, 116.5, 3.0 + + + + 1893 + + + 69.5, 117.5, 3.0 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 1894 + + + 66.5, 118.5, 3.0 + + + + 1895 + + + 66.5, 119.5, 3.0 + + + + 1883 + + + 50.69687, 127.59955, 6.0 + 0.0, 0.0, -0.2164396, 0.976296 + + + + 1882 + + + 61.5, 120.5, 3.0 + + + + 1881 + + + 61.5, 119.5, 3.0 + + + + 1880 + + + 61.5, 118.5, 3.0 + + + + 1887 + + + 67.5, 116.5, 3.0 + + + + 1886 + + + 68.5, 116.5, 3.0 + + + + 1885 + + + 66.5, 116.5, 3.0 + + + + 1884 + + + 66.5, 117.5, 3.0 + + + + 1875 + + + 60.5, 118.5, 3.0 + + + + 1874 + + + 59.5, 119.5, 3.0 + + + + 1873 + + + 60.5, 119.5, 3.0 + + + + 1872 + + + 58.5, 120.5, 3.0 + + + + 1878 + + + 60.5, 120.5, 3.0 + + + + 1877 + + + 59.5, 120.5, 3.0 + + + + 1876 + + + 59.5, 118.5, 3.0 + + + + 1866 + + + 58.5, 117.5, 3.0 + + + + 1867 + + + 60.5, 117.5, 3.0 + + + + 1864 + + Player Enter/Spawn Activate + + Trigger Action + + next + + tut charge bomb + + + + + + + 64.564415 + 114.92715 + 3.0 + + + 64.5 + 121.5 + 3.0 + + + 62.5 + 121.5 + 3.0 + + + 62.564415 + 114.92715 + 3.0 + + + + + 1865 + + Player Enter/Spawn Activate + + Trigger Action + + activate + + spawn 1d + + + + + + + 60.854618 + 116.866554 + 3.0 + + + 61.002842 + 121.1888 + 3.0 + + + 59.00285 + 121.1888 + 3.0 + + + 58.854618 + 116.866554 + 3.0 + + + + + 1870 + + + 58.5, 119.5, 3.0 + + + + 1871 + + + 58.5, 118.5, 3.0 + + + + 1868 + + + 59.5, 117.5, 3.0 + + + + 1869 + + + 61.5, 117.5, 3.0 + + + + 1858 + + + 44.81185, 123.709, 6.0 + 0.0, 0.0, -0.2164396, 0.976296 + + + + 1859 + + + 42.77449, 126.01288, 6.0 + 0.0, 0.0, -0.2164396, 0.976296 + + + + 1856 + + + 39.898823, 124.845924, 6.0 + 0.0, 0.0, -0.2164396, 0.976296 + + + + 1857 + + + 41.520443, 120.81854, 6.0 + 0.0, 0.0, -0.1305262, 0.9914449 + + + + 1863 + + + 52.117764, 125.91897, 6.0 + 0.0, 0.0, -0.2164396, 0.976296 + + + + 1860 + + + 44.239048, 121.38199, 6.0 + 0.0, 0.0, -0.2164396, 0.976296 + + + + 1861 + + + 45.38092, 126.063385, 6.0 + 0.0, 0.0, -0.2164396, 0.976296 + + + + 1853 + + + 41.196472, 123.645065, 6.0 + 0.0, 0.0, -0.2164396, 0.976296 + + + + 1852 + + + 39.95056, 117.96649, 6.0 + 0.0, 0.0, 0.08715574, 0.9961947 + + + + 1855 + + + 39.066517, 120.682236, 6.0 + 0.0, 0.0, -0.2164396, 0.976296 + + + + 1854 + + + 38.68843, 122.67221, 6.0 + 0.0, 0.0, -0.2164396, 0.976296 + + + + 1849 + + + 36.17316, 118.33747, 6.0 + 0.0, 0.0, -0.2164396, 0.976296 + + + + 1848 + + + 37.10987, 120.49138, 6.0 + 0.0, 0.0, -0.2164396, 0.976296 + + + + 1851 + + + 36.81937, 114.38575, 6.0 + 0.0, 0.0, -0.2164396, 0.976296 + + + + 1850 + + + 38.311077, 115.6054, 6.0 + 0.0, 0.0, 0.42261824, 0.9063078 + + + + 1845 + + + 36.02855, 107.77487, 6.0 + 0.0, 0.0, -0.2164396, 0.976296 + + + + 1844 + + + 37.46409, 108.63564, 6.0 + 0.0, 0.0, 0.17364818, 0.9848077 + + + + 1847 + + + 38.962814, 110.22879, 6.0 + 0.0, 0.0, -0.2164396, 0.976296 + + + + 1846 + + + 38.096325, 111.75707, 6.0 + 0.0, 0.0, 0.42261824, 0.9063078 + + + + 1843 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.tut_miniboss + Tags + + tut miniboss + + Title + t.tut_miniboss + Visible Distance + 7.0 + + + + 70.23033, 134.89423, 3.0 + + + + 1842 + + + 58.5, 138.5, 3.0 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 1836 + + + 69.5, 143.5, 3.0 + + + + 1837 + + + 67.5, 146.5, 3.0 + + + + 1838 + + + 68.5, 146.5, 3.0 + + + + 1839 + + + 67.5, 149.5, 3.0 + + + + 1833 + + + 68.5, 143.5, 3.0 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 1834 + + + 68.5, 145.5, 3.0 + + + + 1835 + + + 67.5, 145.5, 3.0 + + + + 1828 + + + 62.5, 152.5, 3.0 + + + + 1829 + + Character/Monster/Generic/Single Spawn + + Spawn Table + + Monster/Tutorial/Intro/Chromalisk Whelp + + Tag + (Wave Tag) + + + Spawn Tag + spawn 1e + Wave Number + 1e + + + + 63.652596, 146.30307, 3.0 + 0.0, 0.0, 0.08715574, 0.9961947 + + + + 1830 + + + 65.5, 146.5, 3.0 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 1825 + + Player Enter/Spawn Activate + + Trigger Action + + next + + tut miniboss + + + + + + + 62.657944 + 155.01523 + 3.0 + + + 58.3357 + 155.16345 + 3.0 + + + 58.3357 + 153.16345 + 3.0 + + + 62.657944 + 153.01523 + 3.0 + + + + + 1826 + + + 57.5, 151.5, 3.0 + + + + 1823 + + + 60.58363, 146.58372, 3.0 + 0.0, 0.0, 0.21643959, 0.976296 + + + + 1821 + + + 56.5, 146.5, 3.0 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 1820 + + + 58.29484, 143.78369, 3.0 + 0.0, 0.0, 0.3826834, 0.92387956 + + + + 1817 + + + 52.5, 148.5, 3.0 + + + + 1816 + + + 53.5, 145.5, 3.0 + + + + 1815 + + + 53.5, 144.5, 3.0 + + + + 1814 + + + 52.5, 144.5, 3.0 + + + + 1813 + + + 52.5, 145.5, 3.0 + + + + 1812 + + + 55.5, 141.5, 3.0 + + + + 1811 + + + 55.5, 140.5, 3.0 + + + + 1810 + + + 54.5, 140.5, 3.0 + + + + 1809 + + + 53.5, 141.5, 3.0 + + + + 1808 + + + 54.5, 141.5, 3.0 + + + + 2032 + + + -33.244503, -8.042341, 3.0 + 0.0, 0.0, -0.9396926, 0.34202015 + + + + 2033 + + + -36.59863, -7.195077, 3.0 + 0.0, 0.0, -1.0, 7.54979E-8 + + + + 2034 + + + -40.578297, -6.3855953, 3.0 + 0.0, 0.0, -0.976296, -0.21643962 + + + + 2035 + + + -44.68674, -7.1378655, 3.0 + 0.0, 0.0, -0.8660254, -0.50000006 + + + + 2036 + + + -48.33319, -9.410338, 3.0 + 0.0, 0.0, -0.92387956, -0.3826834 + + + + 2037 + + + -50.36908, -12.846672, 3.0 + 0.0, 0.0, -0.976296, -0.21643962 + + + + 2038 + + + -51.660225, -15.155133, 3.0 + 0.0, 0.0, -0.6755902, -0.7372773 + + + + 2039 + + + 1.2799997 + -52.92756, -11.423194, 3.0 + 0.0, 0.0, 0.67559016, 0.7372773 + + + + 2042 + + + 1.3599997 + -48.372726, -5.576299, 3.0 + 0.0, 0.0, 0.6427876, 0.76604444 + + + + 2044 + + + 1.4599996 + -38.768997, -3.5168014, 3.0 + 0.0, 0.0, 0.6427876, 0.76604444 + + + + 2045 + + + 1.3599997 + -33.701572, -4.7413764, 3.0 + 0.0, 0.0, 0.46174863, 0.8870108 + + + + 2046 + + + -30.777975, -6.667465, 3.0 + 0.0, 0.0, 0.5, 0.8660254 + + + + 2047 + + + -55.5467, -11.1362295, 3.0 + 0.0, 0.0, 0.5, 0.8660254 + + + + 2017 + + + -3.5662313, 20.285465, 3.0 + 0.0, 0.0, -0.57357645, 0.81915206 + + + + 2016 + + + 0.5359707, 20.231144, 3.0 + 0.0, 0.0, -0.57357645, 0.81915206 + + + + 2019 + + + -13.166515, 19.430069, 3.0 + 0.0, 0.0, -0.8433914, 0.5372997 + + + + 2018 + + + -13.170983, 16.820818, 3.0 + 0.0, 0.0, -0.8433914, 0.5372997 + + + + 2021 + + + -7.219037, 20.160736, 3.0 + 0.0, 0.0, -0.8433914, 0.5372997 + + + + 2020 + + + -10.427132, 18.617325, 3.0 + 0.0, 0.0, -0.8433914, 0.5372997 + + + + 2023 + + + -28.950909, 12.457815, 3.0 + 0.0, 0.0, -0.7660444, 0.64278764 + + + + 2022 + + + -25.902145, 10.962849, 3.0 + 0.0, 0.0, -0.8433914, 0.5372997 + + + + 2025 + + + -26.114655, 13.801418, 3.0 + 0.0, 0.0, 0.5, 0.8660254 + + + + 2024 + + + -32.863426, 13.76502, 3.0 + 0.0, 0.0, -0.7660444, 0.64278764 + + + + 2027 + + + -10.78012, 6.0184336, 3.0 + 0.0, 0.0, 0.5, 0.8660254 + + + + 2026 + + + -24.459915, 12.990539, 3.0 + 0.0, 0.0, 0.5, 0.8660254 + + + + 2029 + + + -10.121009, 7.7160926, 3.0 + 0.0, 0.0, 0.5, 0.8660254 + + + + 2031 + + + -30.512314, -9.141027, 3.0 + 0.0, 0.0, -0.7660444, 0.64278764 + + + + 2030 + + + -9.552, 6.017002, 3.0 + 0.0, 0.0, -0.67559016, 0.7372773 + + + + 2002 + + + 39.44881, 33.174316, 3.0 + 0.0, 0.0, -0.1305262, 0.9914449 + + + + 2003 + + + 41.81058, 31.81854, 3.0 + 0.0, 0.0, -0.043619387, 0.99904823 + + + + 2000 + + + 14.659523, 21.08118, 3.0 + 0.0, 0.0, -0.08715574, 0.9961947 + + + + 2001 + + + 37.46822, 35.671513, 3.0 + 0.0, 0.0, -0.1305262, 0.9914449 + + + + 2006 + + + 48.97423, 28.994589, 3.0 + 0.0, 0.0, -0.043619387, 0.99904823 + + + + 2007 + + + 50.70533, 24.756725, 3.0 + 0.0, 0.0, 0.17364818, 0.9848077 + + + + 2004 + + + 39.63259, 30.668177, 3.0 + 0.0, 0.0, 0.6427876, 0.76604444 + + + + 2005 + + + 45.25435, 31.463697, 3.0 + 0.0, 0.0, 0.25881904, 0.9659258 + + + + 2010 + + + 11.454306, 19.880346, 3.0 + 0.0, 0.0, -0.2164396, 0.976296 + + + + 2011 + + + 7.7326922, 18.720222, 3.0 + 0.0, 0.0, -0.3007058, 0.95371693 + + + + 2008 + + + 17.658264, 27.909357, 3.0 + 0.0, 0.0, 0.17364818, 0.9848077 + + + + 2009 + + + 15.047101, 24.874775, 3.0 + 0.0, 0.0, 0.17364818, 0.9848077 + + + + 2014 + + + 8.394004, 21.525352, 3.0 + 0.0, 0.0, -0.57357645, 0.81915206 + + + + 2015 + + + 4.705946, 21.309729, 3.0 + 0.0, 0.0, -0.57357645, 0.81915206 + + + + 2012 + + + 3.5785818, 18.353409, 3.0 + 0.0, 0.0, -0.38268343, 0.92387956 + + + + 2013 + + + 11.747392, 23.294052, 3.0 + 0.0, 0.0, -0.38268343, 0.92387956 + + + + 1993 + + Sounds/Positional/Tutorial/Clockworks Reveal + + Label + Clockworks Reveal + + + + 30.5, 51.5, 0.0 + + + + 1999 + + + 21.047344, 29.589067, 3.0 + 0.0, 0.0, 0.08715574, 0.9961947 + + + + 1998 + + + 24.325651, 32.053753, 3.0 + 0.0, 0.0, 0.08715574, 0.9961947 + + + + 1972 + + Dynamic/Block/Treasure/Tutorial + + + 52.5, 100.5, 3.0 + + + + 1973 + + Prop/Sky Islands, Day/Puppy Statue + + + 54.5, 99.5, 3.0 + 0.0, 0.0, -0.70710677, 0.70710677 + + + + 1975 + + Player Enter/Spawn Activate + + Trigger Action + + activate + + spawn 1c + + + + + + + 33.566635 + 80.36188 + + + 29.244392 + 80.51011 + + + 29.244392 + 78.51012 + + + 33.566635 + 78.36188 + + + + + 1968 + + Player Enter/Spawn Activate + + Trigger Action + + next + + tut switches + + + + + + + 43.16103 + 100.35716 + + + 43.074028 + 99.38668 + + + 45.693287 + 99.41415 + + + 45.693287 + 100.41415 + + + + + 1969 + + + 50.5, 98.5, 3.0 + + + + 1970 + + + 50.5, 100.5, 3.0 + + + + 1971 + + + 52.5, 98.5, 3.0 + + + + 1980 + + + 32.5, 78.5, 0.0 + + + + 1981 + + + 32.5, 79.5, 0.0 + + + + 1982 + + + 31.5, 78.5, 0.0 + + + + 1976 + + + 30.5, 79.5, 0.0 + + + + 1977 + + + 30.5, 78.5, 0.0 + + + + 1979 + + + 31.5, 79.5, 0.0 + + + + 1957 + + + 39.5, 97.5, 0.0 + + + + 1956 + + + 37.180233, 105.23984, 6.0 + 0.0, 0.0, -0.2164396, 0.976296 + + + + 1959 + + Dynamic/Switch/Button/One-Time + + Actor + + Dynamic/Switch/Button/One-Time + + (On Signal) + open + (On Tag) + door 1c + + + + + + 41.5, 97.5, 0.0 + + + + 1958 + + + 40.5, 97.5, 0.0 + + + + 1953 + + + 38.5, 96.5, 0.0 + + + + 1952 + + + 38.5, 97.5, 0.0 + + + + 1955 + + + 37.94811, 106.30094, 6.0 + 0.0, 0.0, -0.2164396, 0.976296 + + + + 1954 + + + 38.5, 98.5, 0.0 + + + + 1965 + + + 41.5, 98.5, 0.0 + + + + 1964 + + + 39.5, 98.5, 0.0 + + + + 1967 + + Dynamic/Help Bubble/Help Bubble + + Icon + + Message + m.tut_switches + Tags + + tut switches + + Title + t.tut_switches + Visible Distance + 7.0 + + + + 44.536087, 98.45133, 0.0 + + + + 1966 + + Character/Monster/Generic/Single Spawn + + Spawn Table + + Monster/Tutorial/Intro/Chromalisk Whelp + + Tag + (Wave Tag) + + + Spawn Tag + spawn 1c + Wave Number + 1b + + + + 46.5, 94.5, 0.0 + 0.0, 0.0, -0.70710665, 0.7071069 + + + + 1961 + + Dynamic/Door/Iron Gate/Trigger 3 + + Open + false + Tag + door 1c + + + + 44.5, 99.5, 0.0 + + + + 1960 + + + 41.5, 97.5, 0.0 + + + + 1963 + + + 40.5, 98.5, 0.0 + + + + 1962 + + Player Enter/Spawn Activate + + Trigger Action + + next + + tut chromalisks + + + + + + + 46.643436 + 100.79175 + + + 42.321194 + 100.93997 + + + 42.321194 + 98.93998 + + + 46.643436 + 98.79175 + + + + + 1942 + + + 48.5, 90.5, 0.0 + + + + 1943 + + + 47.5, 90.5, 0.0 + + + + 1940 + + + 46.5, 90.5, 0.0 + + + + 1941 + + + 45.5, 90.5, 0.0 + + + + 1938 + + + 41.5, 91.5, 0.0 + + + + 1939 + + + 43.5, 91.5, 0.0 + + + + 1936 + + + 40.5, 91.5, 0.0 + + + + 1937 + + + 42.5, 91.5, 0.0 + + + + 1948 + + + 26.5, 94.5, 0.0 + + + + 1949 + + + 27.5, 94.5, 0.0 + + + + 1946 + + + 51.5, 91.5, 0.0 + + + + 1947 + + + 51.5, 92.5, 0.0 + + + + 1944 + + + 50.5, 91.5, 0.0 + + + + 1945 + + + 50.5, 92.5, 0.0 + + + + 1927 + + + 27.5, 86.5, 0.0 + + + + 1926 + + + 26.5, 93.5, 0.0 + + + + 1925 + + + 26.5, 90.5, 0.0 + + + + 1924 + + + 26.5, 91.5, 0.0 + + + + 1923 + + + 26.5, 88.5, 0.0 + + + + 1922 + + + 26.5, 89.5, 0.0 + + + + 1921 + + + 26.5, 86.5, 0.0 + + + + 1920 + + + 26.5, 87.5, 0.0 + + + + 1935 + + + 35.5, 87.5, 0.0 + + + + 1934 + + + 35.5, 86.5, 0.0 + + + + 1933 + + + 33.5, 91.5, 0.0 + + + + 1932 + + + 31.5, 93.5, 0.0 + + + + 1931 + + + 34.5, 86.5, 0.0 + + + + 1930 + + + 34.5, 87.5, 0.0 + + + + 1929 + + + 27.5, 93.5, 0.0 + + + + 1928 + + + 27.5, 87.5, 0.0 + + + + + \ No newline at end of file diff --git a/scenes/scene-index.txt b/scenes/scene-index.txt new file mode 100644 index 0000000..2579548 --- /dev/null +++ b/scenes/scene-index.txt @@ -0,0 +1,11 @@ +1=Haven - Town Square +4=Rescue Camp - Pod Town +32=Throne Room +46=The Final Test - Crossing The Chasm +51=Abadoned Depot +57=The Clockworks - Party Lobby +69=Lucas' Testing Scene - Gulag Portal +82=Crash Site +294=Advanced Training Hall +80085=Lucas' Testing Scene +202101=Super Brawl - Twelve Point Arena diff --git a/sql-queries/gates.sql b/sql-queries/gates.sql new file mode 100644 index 0000000..796ed48 --- /dev/null +++ b/sql-queries/gates.sql @@ -0,0 +1,7 @@ +ALTER TABLE snarbolax_projectxdb.gates MODIFY wheels TEXT NOT NULL; + +INSERT INTO `gates` (`gateId`, `internalId`, `name`, `icon`, `backgroundColorization`, `iconColorization`, `priority`, `tokens`, `flags`, `sourceId`, `sourcePortal`, `destinationId`, `depth`, `wheels`, `description`) VALUES (1, 'training_1', 'm.training_1', 'pawn', '\r\n\r\n787\r\n\r\n','\r\n\r\n532\r\n\r\n', 0, 0, 0, 1, 'from_training_1', 0, 0, '116.2831855316.2831855', 'm.training_1_desc'); + +INSERT INTO `gates` (`gateId`, `internalId`, `name`, `icon`, `backgroundColorization`, `iconColorization`, `priority`, `tokens`, `flags`, `sourceId`, `sourcePortal`, `destinationId`, `depth`, `wheels`, `description`) VALUES (2, 'tutorial', '~Tutorial Gate', 'locked', ' 772','515', 0, 0, 1, 0, '', 0, 0, ' 226.2831855','~New knights are sent to this gate to start their journey with Spiral Knights.'); + +INSERT INTO `gates` (`gateId`, `internalId`, `name`, `icon`, `backgroundColorization`, `iconColorization`, `priority`, `tokens`, `flags`, `sourceId`, `sourcePortal`, `destinationId`, `depth`, `wheels`, `description`) VALUES (3, 'final_test_gate', 'm.final_test_gate', 'arrow_down', '\n\n524\n\n','\n\n779\n\n', 0, 0, 0, 1, '', 2, 0, '116.2831855416.2831855', 'm.final_test_desc'); diff --git a/sql-queries/items.sql b/sql-queries/items.sql new file mode 100644 index 0000000..69df57d --- /dev/null +++ b/sql-queries/items.sql @@ -0,0 +1 @@ +ALTER TABLE snarbolax_projectxdb.items MODIFY configRef TEXT NOT NULL; \ No newline at end of file diff --git a/sql-queries/levels.sql b/sql-queries/levels.sql new file mode 100644 index 0000000..cf22b8b --- /dev/null +++ b/sql-queries/levels.sql @@ -0,0 +1,7 @@ +INSERT INTO `levels` (`levelId`,`internalId`,`name`,`defaultSceneId`,`description`,`icon`,`iconColorization`,`backgroundColorization`) VALUES (1,'lobby_general','m.lobby_general',57,'m.lobby_desc','lobby','\r\n\r\n 524\r\n\r\n','\r\n\r\n 779\r\n\r\n'); + +INSERT INTO `levels` (`levelId`,`internalId`,`name`,`defaultSceneId`,`description`,`icon`,`iconColorization`,`backgroundColorization`) VALUES (2,'tutorial','m.tutorial',82,'','clockwork','\r\n\r\n 524\r\n\r\n','\r\n\r\n 779\r\n\r\n'); + +INSERT INTO `levels` (`levelId`,`internalId`,`name`,`defaultSceneId`,`description`,`icon`,`iconColorization`,`backgroundColorization`) VALUES (3,'abandoned_depot','m.training_grounds_1',51,'m.training_grounds_desc','clockwork','\n\n 524\n\n','\n\n 779\n\n'); + +INSERT INTO `levels` (`levelId`,`internalId`,`name`,`defaultSceneId`,`description`,`icon`,`iconColorization`,`backgroundColorization`) VALUES (4,'crossing_the_chasm','m.final_test',46,'m.training_grounds_desc','clockwork','\n\n 524\n\n','\n\n 779\n\n'); diff --git a/src/com/github/thetya/server/ConversationProvider.java b/src/com/github/thetya/server/ConversationProvider.java new file mode 100644 index 0000000..d9ec0c4 --- /dev/null +++ b/src/com/github/thetya/server/ConversationProvider.java @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server; + +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationProvider; + +/** + * Defines the server-side of {@link com.threerings.projectx.client.ConversationService}. Method + * signatures declared here are reversely looked up (via the help of corresponding Marshaller) to + * invocation method codes. + */ +public interface ConversationProvider extends InvocationProvider { + + // ID 1 + void respond(ClientObject caller, int response, ConfirmListener cl) throws InvocationException; +} diff --git a/src/com/github/thetya/server/DeploymentConfig.java b/src/com/github/thetya/server/DeploymentConfig.java new file mode 100644 index 0000000..6856753 --- /dev/null +++ b/src/com/github/thetya/server/DeploymentConfig.java @@ -0,0 +1,23 @@ +// +// $Id: thetya-server 2020-11-11 13:45 micha $ +// +// Copyright (C) 2013-2020 Thetya Team +// https://github.com/Thetya +// + +package com.github.thetya.server; + +import com.samskivert.util.Config; + +public class DeploymentConfig { + + protected static Config _config = new Config("deployment"); + protected static Config _build = new Config("build"); + + public DeploymentConfig() { + } + + public static long getVersion() { + return _build.getValue("version", 0L); + } +} diff --git a/src/com/github/thetya/server/InvitationProvider.java b/src/com/github/thetya/server/InvitationProvider.java new file mode 100644 index 0000000..ec08da1 --- /dev/null +++ b/src/com/github/thetya/server/InvitationProvider.java @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server; + +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationProvider; +import com.threerings.projectx.client.InvitationService; +import javax.annotation.Generated; + +/** + * Defines the server-side of the {@link InvitationService}. + */ +@Generated(value = {"com.threerings.presents.tools.GenServiceTask"}, + comments = "Derived from InvitationService.java.") +public interface InvitationProvider extends InvocationProvider { + + /** + * Handles a {@link InvitationService#grantInvitation} request. + */ + void grantInvitation(ClientObject caller); + + /** + * Handles a {@link InvitationService#sendInvitation} request. + */ + void sendInvitation(ClientObject caller, String name, String email, ConfirmListener cl) + throws InvocationException; + + /** + * Handles a {@link InvitationService#sendLocaleInvitation} request. + */ + void sendLocaleInvitation(ClientObject caller, String name, String email, String locale, + ConfirmListener cl) throws InvocationException; +} diff --git a/src/com/github/thetya/server/KnightLocator.java b/src/com/github/thetya/server/KnightLocator.java new file mode 100644 index 0000000..bcfbd19 --- /dev/null +++ b/src/com/github/thetya/server/KnightLocator.java @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server; + +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.threerings.crowd.data.BodyObject; +import com.threerings.crowd.server.BodyLocator; +import com.threerings.util.Name; + +/** + * Used to lookup {@link BodyObject} instances by knight names. + */ +@Singleton +public class KnightLocator extends BodyLocator { + + /* Dependencies */ + @Inject + private KnightManager _knightMgr; + + /** + * Returns the body object for the user with the specified visible name, or null if they are + * not online. + */ + @Override + public BodyObject lookupBody(Name visibleName) { + return _knightMgr.getPlayer(visibleName); + } +} diff --git a/src/com/github/thetya/server/KnightManager.java b/src/com/github/thetya/server/KnightManager.java new file mode 100644 index 0000000..d073133 --- /dev/null +++ b/src/com/github/thetya/server/KnightManager.java @@ -0,0 +1,586 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server; + +import com.github.thetya.server.admin.ThetyaAdminManager; +import com.github.thetya.server.coin.ThetyaCoinManager; +import com.github.thetya.server.dungeon.DungeonManager; +import com.github.thetya.server.dungeon.Gate; +import com.github.thetya.server.peer.ThetyaPeerManager; +import com.github.thetya.server.peer.ThetyaPeerManager.KnightAction; +import com.github.thetya.server.persist.*; +import com.github.thetya.server.social.SocialManager; +import com.github.thetya.server.town.TownManager; +import com.github.thetya.server.uplink.UplinkManager; +import com.github.thetya.server.util.PersistUtil; +import com.github.thetya.server.zone.ThetyaZoneRegistry; +import com.google.common.base.Objects; +import com.google.common.collect.Maps; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.samskivert.jdbc.RepositoryListenerUnit; +import com.samskivert.util.*; +import com.threerings.config.ConfigManager; +import com.threerings.config.ConfigReference; +import com.threerings.crowd.chat.server.SpeakUtil; +import com.threerings.crowd.data.OccupantInfo.Updater; +import com.threerings.crowd.server.BodyManager; +import com.threerings.crowd.server.PlaceRegistry; +import com.threerings.media.image.ColorPository; +import com.threerings.media.image.ColorPository.ColorRecord; +import com.threerings.presents.annotation.MainInvoker; +import com.threerings.presents.client.InvocationService; +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.dobj.DSet; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationManager; +import com.threerings.projectx.config.ObjectiveConfig; +import com.threerings.projectx.config.Persistence; +import com.threerings.projectx.data.*; +import com.threerings.projectx.item.config.ItemConfig; +import com.threerings.projectx.item.data.Item; +import com.threerings.projectx.item.data.ItemCodes; +import com.threerings.projectx.item.util.ItemUtil; +import com.threerings.projectx.server.ProjectXEvent.SpendEnergy; +import com.threerings.projectx.uplink.data.SystemSender; +import com.threerings.tudey.server.TudeySceneManager; +import com.threerings.tudey.server.logic.ActorLogic; +import com.threerings.util.MessageBundle; +import com.threerings.util.Name; + +import java.util.List; +import java.util.Map; + +import static com.github.thetya.server.Log.log; + +/** + * Used to manage knight-specific bits. + */ +@Singleton +public class KnightManager implements KnightProvider { + + @Inject protected KnightRepository _knightRepo; + @Inject protected ItemRepository _itemRepo; + @Inject protected FriendRepository _friendRepo; + + @Inject protected ThetyaZoneRegistry _zoneRegistry; + @Inject protected PlaceRegistry _placeRegistry; + @Inject protected ColorPository _colorPository; + + @Inject protected ConfigManager _configMgr; + @Inject protected TownManager _townMgr; + @Inject protected DungeonManager _dungeonMgr; + @Inject protected BodyManager _bodyMgr; + @Inject protected UplinkManager _uplinkMgr; + @Inject protected ThetyaPeerManager _peerMgr; + @Inject protected ThetyaAdminManager _adminMgr; + @Inject protected ThetyaCoinManager _coinMgr; + @Inject protected SocialManager _socialMgr; + + private final Map _knightToPlayerMap = Maps.newHashMap(); + + @MainInvoker @Inject protected Invoker _invoker; + + @Inject + public KnightManager(InvocationManager invocationManager) { + invocationManager.registerProvider(this, KnightMarshaller.class, "presents"); + } + + /** + * Responds to knight pick request, activates the knight and configures the Player Object. + */ + @Override + public void chooseKnight(ClientObject caller, final Name knight, + final InvocationService.ConfirmListener cl) + throws InvocationException { + PlayerObject playerObject = (PlayerObject) caller; + KnightRecord knightRecord = _knightRepo.loadKnight(knight.toString()); + + if (knightRecord == null || knightRecord.playerId != playerObject.playerId) { + throw new InvocationException("m.internal_error"); + } + + activateKnight(playerObject, knightRecord, cl); + } + + /** + * Creates a new knight with given configuration, activates it and configures the Player Object. + */ + @Override + public void createKnight(ClientObject caller, Name oldName, Name name, String helm, String armor, + String variant, int color, final String steamName, + final List> steamFriends, + final ConfirmListener cl) + throws InvocationException { + PlayerObject playerObject = (PlayerObject) caller; + + if (oldName != null) { + throw new InvocationException("m.internal_error"); + } + + if (playerObject.availableKnights.length == 3) { + log.warning("User already at maximum number of knights", "who", playerObject.who()); + throw new InvocationException("m.internal_error"); + } + + if (!ListUtil.contains(ItemCodes.STARTER_VARIANTS, variant)) { + log.warning("User requested illegal start variant", "who", playerObject.who()); + throw new InvocationException("m.internal_error"); + } + + ColorRecord colorRecord = _colorPository.getClassRecord("player").colors.get(color); + + if (colorRecord == null || !colorRecord.starter) { + log.warning("User requested illegal start color", "who", playerObject.who()); + throw new InvocationException("m.internal_error"); + } + + ConfigReference helmReference = new ConfigReference<>(helm, "Variant", variant); + ItemConfig helmConfig = _configMgr.getConfig(ItemConfig.class, helmReference); + ItemConfig.Original helmOriginal = + helmConfig == null ? null : helmConfig.getOriginal(_configMgr); + + if (!(helmOriginal instanceof ItemConfig.Helm) || !((ItemConfig.Helm) helmOriginal).starter) { + log.warning("User requested illegal starter helm", "who", playerObject.who()); + throw new InvocationException("m.internal_error"); + } + + ConfigReference armorReference = new ConfigReference<>(armor, "Variant", variant); + ItemConfig armorConfig = _configMgr.getConfig(ItemConfig.class, armorReference); + ItemConfig.Original armorOriginal = + armorConfig == null ? null : armorConfig.getOriginal(_configMgr); + //log.info(PersistUtil.exportableToXmlString(armorOriginal)); +// + //if (true) { + // throw new InvocationException("~Check the server console."); + //} + + if (!(armorOriginal instanceof ItemConfig.Armor) + || !((ItemConfig.Armor) armorOriginal).starter) { + log.warning("User requested illegal starter armor", "who", playerObject.who()); + throw new InvocationException("m.internal_error"); + } + + final Item helmItem = helmOriginal.createItem(helmReference, _configMgr); + helmItem.setPermanent(true); + + final Item armorItem = armorOriginal.createItem(armorReference, _configMgr); + armorItem.setPermanent(true); + + ItemConfig swordConfig = _configMgr.getConfig(ItemConfig.class, + new ConfigReference<>("Weapon/Sword/Proto Sword")); + final Item swordItem = swordConfig.getOriginal(_configMgr).createItem(new ConfigReference<>("Weapon/Sword/Proto Sword"), _configMgr); + swordItem.setPermanent(true); + + ItemConfig gunConfig = _configMgr.getConfig(ItemConfig.class, + new ConfigReference<>("Weapon/Handgun/Proto Gun")); + final Item gunItem = gunConfig.getOriginal(_configMgr).createItem(new ConfigReference<>("Weapon/Handgun/Proto Gun"), _configMgr); + gunItem.setPermanent(true); + + ItemConfig shieldConfig = _configMgr.getConfig(ItemConfig.class, + new ConfigReference<>("Gear/Shield/Proto Shield")); + final Item shieldItem = shieldConfig.getOriginal(_configMgr).createItem(new ConfigReference<>("Gear/Shield/Proto Shield"), _configMgr); + shieldItem.setPermanent(true); + + KnightRecord knightRecord = new KnightRecord(); + knightRecord.playerId = playerObject.playerId; + knightRecord.name = name.toString(); + knightRecord.color = colorRecord.getColorPrint(); + + // For now, let's keep it like so - unless we figure out how to set indexes in depot + if (_knightRepo.loadKnight(name.toString()) != null) { + throw new InvocationException("m.name_in_use"); + } + + knightRecord.equippedItems = new long[13]; + knightRecord.updateModel(ItemUtil.createPlayerModel(color, false, false, helmOriginal, armorOriginal)); + _knightRepo.insertKnight(knightRecord); + + // Create a bag and insert it + BagRecord bagRecord = new BagRecord(); + bagRecord.knightId = knightRecord.knightId; + _itemRepo.insert(bagRecord); + + // Add the items to knight's bag + long equippedHelmId = _itemRepo.insertItem(helmItem, bagRecord.bagId).itemId; + long equippedArmorId = _itemRepo.insertItem(armorItem, bagRecord.bagId).itemId; + long equippedShieldId = _itemRepo.insertItem(shieldItem, bagRecord.bagId).itemId; + long equippedSwordId = _itemRepo.insertItem(swordItem, bagRecord.bagId).itemId; + long equippedGunId = _itemRepo.insertItem(gunItem, bagRecord.bagId).itemId; + + // Set the rest knight attributes and update + knightRecord.bagId = bagRecord.bagId; + knightRecord.crowns = 0; + knightRecord.equippedItems[0] = equippedHelmId; + knightRecord.equippedItems[1] = equippedArmorId; + knightRecord.equippedItems[2] = equippedShieldId; + knightRecord.equippedItems[ItemCodes.WEAPON_SLOTS[0]] = equippedSwordId; + knightRecord.equippedItems[ItemCodes.WEAPON_SLOTS[1]] = equippedGunId; + knightRecord.homeTownId = 1; + _knightRepo.updateKnight(knightRecord); + + // And finally activate the knight + activateKnight(playerObject, knightRecord, cl); + } + + public void activateKnight(PlayerObject playerObject, KnightRecord knightRecord, ConfirmListener cl) { + playerObject.availableKnights = null; + playerObject.startTransaction(); + + try { + playerObject.setKnightId(knightRecord.knightId); + playerObject.setKnight(knightRecord.getName()); + playerObject.setColor(knightRecord.color); + playerObject.setBagId(knightRecord.bagId); + playerObject.setEquipment(knightRecord.equippedItems); + playerObject.setLevelTokens(new int[ProjectXCodes.LEVEL_TYPES]); + playerObject.setItems(new DSet<>(_itemRepo.getItems(knightRecord.bagId))); + playerObject.setNewMailInfo(new DSet<>(_uplinkMgr.getNewMailInfo(knightRecord.knightId, "en"))); + playerObject.setRecipes(new DSet<>()); + playerObject.setCrowns(knightRecord.crowns); + playerObject.setFlags(knightRecord.flags); + + playerObject.setProgressFlags(0); + playerObject.setHomeTown(_townMgr.getTownSummary(knightRecord.homeTownId)); + + if (knightRecord.lastPermanentZoneId != 0 && knightRecord.lastPermanentSceneName != null) { + playerObject.setLastPermanentZoneId(knightRecord.lastPermanentZoneId); + playerObject.setLastPermanentSceneId(knightRecord.lastPermanentSceneId); + playerObject.setLastPermanentName(knightRecord.lastPermanentSceneName); + } else { + playerObject.setLastPermanentZoneId(playerObject.homeTown.getZoneId()); + playerObject.setLastPermanentSceneId(playerObject.homeTown.defaultSceneId); + playerObject.setLastPermanentName(MessageBundle.qualify("town", playerObject.homeTown.name)); + } + + } finally { + playerObject.commitTransaction(); + } + + this._socialMgr.initFriends(playerObject, this._friendRepo.loadFriends(playerObject.knightId)); + + finishActivation(playerObject); + } + + /** + * Finishes knight activation and places them in the game world. + */ + public void finishActivation(PlayerObject playerObject) { + // Map the knight to the controlling player + mapPlayer(playerObject.knight, playerObject); + // If the player has the 32 flag (finished tutorial) set, or if a tutorial dungeon gate isn't + // accessible, send them to last permanent zone and scene - their home town. + if (playerObject.isSet(32) || !startTutorial(playerObject)) { + _zoneRegistry.moveBody(playerObject, playerObject.lastPermanentZoneId, playerObject.lastPermanentSceneId); + // The following line will take you to instanced rescue camp directly. + // Uncomment it if you have any troubles while in dev. + // _zoneRegistry.moveBody(playerObject, ZoneUtil.qualifyZoneId((byte) 1, 1), 4); + } + } + + /** + * Attempts to start tutorial for given player. Returns true if started, false if it was not + * possible to start it. + */ + public boolean startTutorial(PlayerObject playerObject) { + for (Gate gate : this._dungeonMgr.getVisibleGates()) { + if (gate.getSummary().isSet(1)) { + gate.createParty( + playerObject, + 1, + true, + false, + false, + 0, + new ComplainingListener<>(Log.log, "Tutorial gate inaccessible.")); + return true; + } + } + + Log.log.warning("No tutorial gate available for new player.", "who", playerObject.who()); + return false; + } + + public void tutorialComplete(PlayerObject playerObject) { + setFlag(playerObject, 32, true, (ResultListener) new ResultListener.NOOP()); + this._uplinkMgr.deliverSystem(SystemSender.ORIENTATION, playerObject.knightId, playerObject.knight, "s.tut_complete", "m.tut_complete", null, null); + } + + /** + * Responds to knight deletion request. + */ + @Override + public void deleteKnight(ClientObject caller, final Name knight, final ConfirmListener cl) + throws InvocationException { + PlayerObject player = (PlayerObject) caller; + int guildId = player.availableKnights[ensureKnightAvailable(player, knight)].getGuildId(); + if (guildId == 0) { + removeKnightFromPlay(player, knight, 0, cl); + } + } + + /** + * Returns the knight to last permanent zone -> last permanent scene. Or to their home town. + */ + @Override + public void returnToLast(ClientObject caller) { + PlayerObject playerObject = (PlayerObject) caller; + _zoneRegistry.moveBody(playerObject, playerObject.lastPermanentZoneId, playerObject.lastPermanentSceneId); + } + + /** + * Sets the 1024 flag on the Player Object, which says whether a full inspect of calling player is + * available for others. + */ + @Override + public void setShowEquipment(ClientObject caller, boolean show) { + PlayerObject playerObject = (PlayerObject) caller; + setFlag(playerObject, 1024, show, (ResultListener) new ResultListener.NOOP()); + } + + protected int ensureKnightAvailable(PlayerObject player, Name name) throws InvocationException { + int idx = player.getAvailableKnightIndex(name); + if (idx == -1) { + Log.log.warning("User requested unknown knight.", "who", player.who(), "knight", name); + throw new InvocationException("m.internal_error"); + } + return idx; + } + + protected void removeKnightFromPlay(final PlayerObject player, final Name name, int guildId, + InvocationService.ConfirmListener cl) { + + int knightId = player.availableKnights[player.getAvailableKnightIndex(name)].getId(); + KnightRecord record = this._knightRepo.loadKnight(knightId); + + if (record == null) { + Log.log.error("Missing knight record for " + name); + cl.requestFailed("m.internal_error"); + return; + } + + // TODO: Implement a new method to avoid completely deleting all of the knight's data, and rather just "disable" it? + this._knightRepo.purgeKnight(record); + this._friendRepo.deleteFriends(knightId); + + int index = player.getAvailableKnightIndex(name); + player.setAvailableKnights(ArrayUtil.splice(player.availableKnights, index, 1)); + + cl.requestProcessed(); + } + + /** + * Returns the player controlling the given knight. + */ + public PlayerObject getPlayer(Name knightName) { + return _knightToPlayerMap.get(knightName); + } + + /** + * Removes a player from the knight-player map. Called when the controlling player gets + * disconnected from the server. + */ + public void unmapPlayer(Name knightName) { + _knightToPlayerMap.remove(knightName); + } + + /** + * Maps a knight to the controlling player. + */ + protected void mapPlayer(Name knightName, PlayerObject playerObject) { + _knightToPlayerMap.put(knightName, playerObject); + } + + public void reactivateKnight(PlayerObject playerObject, ResultListener rl) { + playerObject.removePlaceBoundNotifications(); + mapPlayer(playerObject.knight, playerObject); + rl.requestCompleted(null); + } + + public void setObjective(PlayerObject plobj, String name, ObjectiveConfig config, Persistence persistence) { + ResultListener rl = (ResultListener) new ResultListener.NOOP(); + Objective oobjective = plobj.getObjective(name); + ObjectiveConfig oconfig = null; + Persistence opersistence = null; + if (oobjective != null) { + oconfig = oobjective.config; + opersistence = oobjective.persistence; + } + if (Objects.equal(oconfig, config) && (config == null || opersistence == persistence)) { + rl.requestCompleted(null); + return; + } + plobj.setObjective(name, config, persistence); + if (opersistence != Persistence.KNIGHT && persistence != Persistence.KNIGHT) { + rl.requestCompleted(null); + return; + } + rl.requestCompleted(null); + + // TODO: Store objectives. + + //final List objectives = Lists.newArrayList(); + //for (Objective objective : plobj.objectives) { + // if (objective.persistence == Persistence.KNIGHT) objectives.add(new StoredObjective(objective.getName(), objective.config)); + //} + //this._invoker.postUnit((Invoker.Unit)new RepositoryListenerUnit("setObjective", rl) { + // public Void invokePersistResult() throws Exception { KnightManager.this._knightrepo.updateObjectives(plobj.knightId, objectives); return null; } + //}); + } + + public void grantCrowns(Name knight, int crowns) { + grantCrowns(knight, crowns, null, null); + } + + public void grantCrowns(final Name knight, final int crowns, String bundle, String msg) { + this._knightRepo.grantCrowns(knight, crowns); + } + + public void grantCrowns(PlayerObject plobj, int crowns) { + plobj.adjustCrowns(crowns); + } + + public void useEnergy(final PlayerObject plobj, int amount, final int type, final String description, final com.samskivert.util.ResultListener rl) { + if (amount == 0) { + rl.requestCompleted(null); + } else { + long now = System.currentTimeMillis(); + if (plobj.getEnergy(now) < amount) { + rl.requestFailed(new InvocationException("m.nsf_energy")); + } else { + Object plmgr = _placeRegistry.getPlaceManager(plobj.getPlaceOid()); + if (plmgr instanceof TudeySceneManager && plobj.pawnId > 0) { + TudeySceneManager scmgr = (TudeySceneManager)plmgr; + ActorLogic target = scmgr.getActorLogic(plobj.pawnId); + scmgr.fireEffect(scmgr.getNextTimestamp(), target, target.getTranslation(), target.getRotation(), "Energy Spent"); + } + + int current = plobj.getVapor(now); + final int vapor = Math.min(current, amount); + plobj.addVapor(now, -vapor); + PlayerLocal local = plobj.getLocal(PlayerLocal.class); + local.vaporUsed += vapor; + int cost = _adminMgr.getServerObject().getElevatorCost(0, false); + if (current >= cost && current - vapor < cost) { + local.drainedVapor = true; + } + + if (vapor == amount) { + try { + rl.requestCompleted(null); + if (!plobj.isUnlimited()) { + // this._evlog.log(new SpendEnergy(plobj.playerId, type, vapor, 0, description)); + } + } catch (Throwable var14) { + plobj.addVapor(now, vapor); + } + + } else { + final int crystal = amount - vapor; + plobj.setCrystal(plobj.crystal - crystal); + local.crystalUsed += crystal; + _coinMgr.reserveCoins(plobj.username.toString(), crystal, new IntResultListener() { + public void requestCompleted(int result) { + KnightManager.this.finishUseEnergy(plobj, vapor, crystal, result, type, description, rl); + } + + public void requestFailed(Exception cause) { + KnightManager.this.returnEnergy(plobj, vapor, crystal); + rl.requestFailed(cause); + } + }); + } + } + } + } + + protected void finishUseEnergy(PlayerObject plobj, int vapor, int crystal, int reservationId, int type, String descrip, com.samskivert.util.ResultListener rl) { + try { + rl.requestCompleted(null); + } catch (Throwable var9) { + this.returnEnergy(plobj, vapor, crystal); + this._coinMgr.returnReservation(reservationId, new ComplainingListener<>( + com.threerings.projectx.Log.log, "Failed to return reservation.", "who", plobj.who(), + "type", type, "descrip", descrip, "amount", crystal)); + return; + } + + this._coinMgr.spendReservation(reservationId, type, descrip, new ComplainingListener<>( + com.threerings.projectx.Log.log, "Failed to spend reservation.", "who", plobj.who(), "type", + type, "descrip", descrip, "amount", crystal)); + //this._evlog.log(new SpendEnergy(plobj.playerId, type, vapor, crystal, descrip)); + } + + protected void returnEnergy(PlayerObject plobj, int vapor, int crystal) { + plobj.startTransaction(); + + try { + plobj.addVapor(System.currentTimeMillis(), vapor); + plobj.setCrystal(plobj.crystal + crystal); + } finally { + plobj.commitTransaction(); + } + + } + + public void setFlag(final PlayerObject playerObject, int flag, boolean value, ResultListener rl) { + if (playerObject.isSet(flag) == value) { + rl.requestCompleted(null); + return; + } + playerObject.set(flag, value); + this._bodyMgr.updateOccupantInfo(playerObject, (Updater) info -> { + ProjectXOccupantInfo ninfo = new ProjectXOccupantInfo(playerObject); + if (info.type != ninfo.type) { + info.type = ninfo.type; + return true; + } + return false; + }); + final int flags = playerObject.flags; + this._invoker.postUnit(new RepositoryListenerUnit("setFlag", rl) { + public Void invokePersistResult() throws Exception { + KnightManager.this._knightRepo.updateFlags(playerObject.knightId, flags); + return null; + } + }); + } + + public void updateLastPermanents(Name knightName) { + //PlayerObject player = getPlayer(knightName); + //_knightRepo.updateLastPermanents(knightName, player.lastPermanentZoneId, + // player.lastPermanentSceneId, player.lastPermanentName); + } + + public void sendInfo(Name knight, String bundle, String msg) { + _peerMgr.invokeKnightAction(knight, new KnightMessage(knight, bundle, msg)); + } + + public void sendInfo(Iterable knights, String bundle, String msg) { + for (Name knight : knights) { + this.sendInfo(knight, bundle, msg); + } + } + + public static class KnightMessage extends KnightAction { + protected String _bundle; + protected String _msg; + + public KnightMessage(Name name, String bundle, String msg) { + super(name); + this._bundle = bundle; + this._msg = msg; + } + + protected void execute(PlayerObject player) { + SpeakUtil.sendInfo(player, this._bundle, this._msg); + } + } + +} diff --git a/src/com/github/thetya/server/KnightProvider.java b/src/com/github/thetya/server/KnightProvider.java new file mode 100644 index 0000000..d8f4605 --- /dev/null +++ b/src/com/github/thetya/server/KnightProvider.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server; + +import com.samskivert.util.Tuple; +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationProvider; +import com.threerings.util.Name; +import java.util.List; + +/** + * Defines the server-side of {@link com.threerings.projectx.client.KnightService}. Method + * signatures declared here are reversely looked up (via the help of corresponding Marshaller) to + * invocation method codes. + */ +public interface KnightProvider extends InvocationProvider { + + // ID 1 + void chooseKnight(ClientObject caller, Name knight, ConfirmListener cl) + throws InvocationException; + + // ID 2 + void createKnight(ClientObject caller, Name oldName, Name name, String helm, String armor, + String variant, int color, final String steamName, + final List> steamFriends, final ConfirmListener cl) + throws InvocationException; + + // ID 3 + void deleteKnight(ClientObject caller, Name knight, ConfirmListener cl) + throws InvocationException; + + // ID 4 + void returnToLast(ClientObject caller); + + // ID 5 + void setShowEquipment(ClientObject caller, boolean show); +} diff --git a/src/com/github/thetya/server/Log.java b/src/com/github/thetya/server/Log.java new file mode 100644 index 0000000..b1cd211 --- /dev/null +++ b/src/com/github/thetya/server/Log.java @@ -0,0 +1,22 @@ +// +// $Id: thetya-server 2020-11-03 18:30 micha $ +// +// Copyright (C) 2013-2020 Thetya Team +// https://github.com/Thetya +// + +package com.github.thetya.server; + +import com.samskivert.util.Logger; + +/** + * Contains a reference to the {@link Logger} object used by the main server package. + */ +@SuppressWarnings("unused") +public class Log { + + /** + * The {@link Logger} reference. + */ + public static Logger log = Logger.getLogger("com.github.thetya.server"); +} diff --git a/src/com/github/thetya/server/PlayerLocal.java b/src/com/github/thetya/server/PlayerLocal.java new file mode 100644 index 0000000..7b12aae --- /dev/null +++ b/src/com/github/thetya/server/PlayerLocal.java @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server; + +import com.github.thetya.server.scene.ThetyaSceneRegistry.Instance; +import com.google.common.collect.Maps; +import com.threerings.crowd.server.BodyLocal; +import com.threerings.projectx.data.CatalogPurchase; +import com.threerings.projectx.data.ProjectXCredentials; +import java.util.Map; + +public class PlayerLocal extends BodyLocal { + public ProjectXCredentials credentials; + public int userId; + public long connectStamp; + public int secondsInTown; + public int secondsInDungeon; + public int dungeonCrowns; + public int lootCrowns; + public boolean gateComplete; + public boolean madePurchase; + public boolean madeFriend; + public boolean sentToBilling; + public boolean drainedVapor; + public int vaporUsed; + public int crystalUsed; + public int tabEnergyPaid; + public int levelsEntered; + public int levelsCompleted; + public int floors; + public long lastFlush; + public Map> catPurchases = Maps.newHashMap(); + public transient Instance instance; + public transient long enteredInstance; + public transient TransferState transferState; + + public PlayerLocal() { + this.transferState = TransferState.NONE; + } + + public void addCatalogPurchase(CatalogPurchase cp) { + Map catMap = catPurchases.get(cp.catalog); + if (catMap == null) { + catMap = Maps.newHashMap(); + this.catPurchases.put(cp.catalog, catMap); + } else if (catMap.containsKey(cp.good)) { + CatalogPurchase ocp = catMap.get(cp.good); + if (!ocp.isExpired()) { + cp.purchased += ocp.purchased; + cp.setDirty(true); + } + } + + catMap.put(cp.good, cp); + } + + public int getCatalogAvailable(String catalog, String good, int max) { + Map catMap = catPurchases.get(catalog); + if (catMap == null) { + return max; + } else { + CatalogPurchase cp = (CatalogPurchase)catMap.get(good); + return cp != null && !cp.isExpired() ? max - cp.purchased : max; + } + } + + public enum TransferState { + NONE, + IN_PROGRESS, + COMPLETE; + + TransferState() {} + } +} diff --git a/src/com/github/thetya/server/ServerConfig.java b/src/com/github/thetya/server/ServerConfig.java new file mode 100644 index 0000000..4e6f9ff --- /dev/null +++ b/src/com/github/thetya/server/ServerConfig.java @@ -0,0 +1,96 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server; + +import com.samskivert.util.Config; +import com.samskivert.util.StringUtil; +import com.threerings.presents.server.Authenticator; + +import java.util.Properties; + +import static com.github.thetya.server.Log.log; + +/** + * The main configuration for a Thetya server instance. + */ +public class ServerConfig { + + /** + * The config object. + **/ + private static final Config CONFIG = new Config("server"); + + /** + * Returns the private key to encrypt, decrypt and securely authenticate. + */ + public static String getPrivateKey() { + return CONFIG.getValue("key.private", (String) null); + } + + /** + * Returns the hostname to which the server will bind. + */ + public static String getBindHostname() { + return CONFIG.getValue("hostname.bind", "127.0.0.1"); + } + + /** + * Returns the hostname this server will bind to. + */ + public static String getDatagramHostname() { + return CONFIG.getValue("hostname.datagram", getBindHostname()); + } + + /** + * Returns the ports this server will listen on. + */ + public static int[] getListenPorts() { + return CONFIG.getValue("ports.listen", new int[]{47624}); + } + + /** + * Returns the ports this server will listen to datagrams on. + */ + public static int[] getDatagramPorts() { + return CONFIG.getValue("ports.datagram", new int[]{47625}); + } + + /** + * Returns whether debug logging (all levels) should be enabled. + */ + public static boolean isVerboseLoggingOn() { + return CONFIG.getValue("debug.verboselog", false); + } + + /** + * Returns the {@link Authenticator} class to use on this server. + */ + @SuppressWarnings("unchecked") + public static Class getAuthenticator() { + String authenticatorClassName = CONFIG.getValue("server.authenticator", ""); + + try { + if (!StringUtil.isBlank(authenticatorClassName)) { + return (Class) Class.forName(authenticatorClassName); + } + } catch (Exception e) { + log.warning("Cannot instantiate server's authenticator", + "className", authenticatorClassName, e); + } + + log.warning("Server authenticator class is set to null - double check the main config!"); + return null; + } + + /** + * Returns the database configuration for this server. + */ + public static Properties getJdbcConfig() { + return CONFIG.getSubProperties("db"); + } +} diff --git a/src/com/github/thetya/server/ServerSwitchSender.java b/src/com/github/thetya/server/ServerSwitchSender.java new file mode 100644 index 0000000..9ce350f --- /dev/null +++ b/src/com/github/thetya/server/ServerSwitchSender.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server; + +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationSender; +import com.threerings.projectx.client.ServerSwitchDecoder; +import com.threerings.projectx.client.ServerSwitchReceiver; + +/** + * An invocation sender being a wrapper for the server-switch notification which can be sent to the + * client at any time. Decoded on the client side by {@link ServerSwitchDecoder} and processed by an + * implementation of {@link ServerSwitchReceiver}. + */ +public class ServerSwitchSender extends InvocationSender { + + /** + * Receiver code for the server-switch notification. Should be mirrored from {@link + * ServerSwitchDecoder#RECEIVER_CODE} so that the notification can be parsed and processed on the + * client. + */ + private static final String RECEIVER_CODE = "752177d413f28e3cd1e22609e79f3604"; + + /** + * Requests target client to switch the server they're currently on. + * + * @param client The client we want to force to move to another server. + * @param hostname The public hostname of the target server. + * @param ports TCP ports the target server listens on. + * @param datagramPorts UDP (datagram) ports the target server listens on. + */ + public static void forcedServerSwitch(ClientObject client, String hostname, int[] ports, + int[] datagramPorts) { + sendNotification(client, RECEIVER_CODE, 1, new Object[]{hostname, ports, datagramPorts}); + } +} \ No newline at end of file diff --git a/src/com/github/thetya/server/ThetyaAuthenticator.java b/src/com/github/thetya/server/ThetyaAuthenticator.java new file mode 100644 index 0000000..0c09805 --- /dev/null +++ b/src/com/github/thetya/server/ThetyaAuthenticator.java @@ -0,0 +1,141 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server; + +import com.github.thetya.server.peer.PeerConfig; +import com.samskivert.util.ObjectUtil; +import com.samskivert.util.StringUtil; +import com.threerings.presents.net.AuthRequest; +import com.threerings.presents.net.AuthResponse; +import com.threerings.presents.net.AuthResponseData; +import com.threerings.presents.net.Credentials; +import com.threerings.presents.server.Authenticator; +import com.threerings.presents.server.net.AuthingConnection; +import com.threerings.projectx.Log; +import com.threerings.projectx.data.ProjectXAuthResponseData; +import com.threerings.projectx.data.ProjectXCredentials; +import com.threerings.projectx.util.DeploymentConfig; +import com.threerings.util.IdentUtil; +import com.threerings.util.MessageBundle; +import com.threerings.util.Name; +import java.util.Arrays; + +import static com.github.thetya.server.Log.log; + +/** + * The authenticator is a pluggable component of the Presents authentication framework. The base + * class handles the basic mechanics of authentication and Thetya extends the base authenticator to + * add code that does the actual client authentication. + *

+ * This very authenticator class does only basic sanity checks. For actual user authentication + * against a database, please see {@link com.github.thetya.server.ooo.OOOAuthenticator}. + */ +public abstract class ThetyaAuthenticator extends Authenticator { + + /** + * Processes the authentication for the specified connection. The method may return after it has + * stuffed a valid response code in responseData.code. + * + * @param connection The client connection. + * @param authResponse The response to the client, which will already contain an AuthResponseData + * created by {@link #createResponseData()}. + */ + @Override + protected void processAuthentication(AuthingConnection connection, AuthResponse authResponse) + throws Exception { + AuthRequest authRequest = connection.getAuthRequest(); + ProjectXAuthResponseData responseData = (ProjectXAuthResponseData) authResponse.getData(); + + long clientVersion = 0; + long serverVersion = 0; + + try { + clientVersion = Long.parseLong(authRequest.getVersion()); + serverVersion = DeploymentConfig.getVersion(); + } catch (NumberFormatException exception) { + if (clientVersion == 0) { + log.warning("Received authentication request with null version field.", + "credentials", authRequest.getCredentials()); + } + } + + // We're not on the same version with the client, drop the authentication + if (serverVersion != clientVersion) { + log.info("Refusing wrong client version.", + "credentials", authRequest.getCredentials(), + "client", clientVersion, "server", serverVersion); + + // If the client version is higher than server's, respond that the servers are still in the + // process of being updated. Otherwise, respond with composed version mismatch message which + // in production environment should trigger Getdown redownload. + responseData.code = clientVersion > serverVersion ? ThetyaAuthCodes.NEWER_VERSION + : MessageBundle.tcompose(ThetyaAuthCodes.VERSION_MISMATCH, String.valueOf(serverVersion)); + return; + } + + // Fetch the credentials sent by the client, cast them to the correct type + Credentials credentials = authRequest.getCredentials(); + ProjectXCredentials pxCredentials = ObjectUtil.as(credentials, ProjectXCredentials.class); + + // Discrepancy between correct credentials class and the provided, drop the authentication + if (pxCredentials == null) { + log.warning("Invalid credentials supplied.", "credentials", credentials); + responseData.code = ThetyaAuthCodes.SERVER_ERROR; + return; + } + + // Client wants to use a language not supported by the server + if (!Arrays.asList(PeerConfig.getSupportedLocales()).contains(pxCredentials.getLanguage())) { + log.warning("Refusing unsupported language.", "language", pxCredentials.getLanguage()); + responseData.code = ThetyaAuthCodes.SERVER_ERROR; + return; + } + + // Blank machine identifier, drop the authentication + if (StringUtil.isBlank(pxCredentials.ident)) { + log.warning("Received blank ident.", "credentials", pxCredentials); + responseData.code = ThetyaAuthCodes.SERVER_ERROR; + return; + } + + // Process known non-unique machine identifiers + if (IdentUtil.isBogusIdent(pxCredentials.ident.substring(1))) { + String spoofedIdent = StringUtil.md5hex("" + Math.random() + System.currentTimeMillis()); + pxCredentials.ident = "S" + IdentUtil.encodeIdent(spoofedIdent); + responseData.ident = pxCredentials.ident; + } + + Name username = pxCredentials.getUsername(); + + try { + String session = pxCredentials.ident.substring(0, 1); + pxCredentials.ident = session + IdentUtil.decodeIdent(pxCredentials.ident.substring(1)); + } catch (Exception e) { + Log.log.warning("Received spoofed ident.", "who", username, "error", e.getMessage()); + responseData.code = ThetyaAuthCodes.SERVER_ERROR; + } + } + + /** + * Creates a new {@link AuthResponseData} instance to use for authenticating a connection. + */ + @Override + protected AuthResponseData createResponseData() { + return new ProjectXAuthResponseData(); + } + + /** + * Codes and constants relating to the authentication. + */ + private interface ThetyaAuthCodes { + + String NEWER_VERSION = "m.newer_version"; + String VERSION_MISMATCH = "m.version_mismatch"; + String SERVER_ERROR = "m.server_error"; + } +} diff --git a/src/com/github/thetya/server/ThetyaClientManager.java b/src/com/github/thetya/server/ThetyaClientManager.java new file mode 100644 index 0000000..0f026cd --- /dev/null +++ b/src/com/github/thetya/server/ThetyaClientManager.java @@ -0,0 +1,174 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server; + +import com.github.thetya.server.admin.ThetyaAdminManager; +import com.github.thetya.server.peer.ThetyaPeerManager; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.samskivert.util.ChainedResultListener; +import com.samskivert.util.Lifecycle; +import com.samskivert.util.ResultListener; +import com.threerings.presents.client.InvocationService; +import com.threerings.presents.server.ClientManager; +import com.threerings.presents.server.PresentsSession; +import com.threerings.presents.server.ReportManager; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.util.Name; + +import static com.github.thetya.server.Log.log; + +/** + * Customizes the Presents client manager to work with our {@link ThetyaSession}. + */ +@Singleton +public class ThetyaClientManager extends ClientManager { + + /** The peer manager in use. */ + @Inject protected ThetyaPeerManager _peerMgr; + + /** The admin manager in use. */ + @Inject protected ThetyaAdminManager _adminMgr; + + /** + * Constructs a client manager that will interact with the supplied report manager. + */ + @Inject + public ThetyaClientManager(ReportManager reportMgr, Lifecycle lifecycle) { + super(reportMgr, lifecycle); + } + + /** + * Adds a new client and inits a session for them. Used by the peer framework. + */ + @SuppressWarnings("SynchronizeOnNonFinalField") + public void addClient(PlayerObject playerObject, Object[] locals, + ResultListener rl) { + // Let's first check if there is an outdated session object stored by the client manager + ThetyaSession outdatedSession = (ThetyaSession) getClient(playerObject.username); + + // Yep there is, so just end the transfer and we're ready + if (outdatedSession != null) { + log.info("Closing out-of-date session for transfer.", "session", outdatedSession); + outdatedSession.endTransferSession(); + } + + log.info("Creating transfer session.", "who", playerObject.who()); + ThetyaSession session = _injector.getInstance(ThetyaSession.class); + + synchronized (_usermap) { + _usermap.put(playerObject.username, session); + } + + session.startSession(playerObject, locals, new ChainedResultListener(rl) { + @Override + public void requestCompleted(Void result) { + _target.requestCompleted(session); + } + }); + } + + /** + * Reactivates the given client. + */ + @SuppressWarnings("SynchronizeOnNonFinalField") + public ThetyaSession reactivateClient(Name username) { + synchronized (_usermap) { + // Let's see if there is a session for the given username + PresentsSession session = this.getClient(username); + + if (!(session instanceof ThetyaSession)) { + // Nope there isn't + return null; + } + + // Yes there is, and if there is, it automatically means that it is a ThetyaSession. + // So let's reactivate it + ThetyaSession thetyaSession = (ThetyaSession) session; + thetyaSession.willBeReactivated(); + return thetyaSession; + } + } + + /** + * Called by {@link ThetyaSession} when it has started its session. + */ + @Override + public void clientSessionDidStart(PresentsSession session) { + super.clientSessionDidStart(session); + + // Don't handle non-thetyish sessions such as peer sessions + if (!(session instanceof ThetyaSession)) { + return; + } + + ThetyaSession thetyaSession = (ThetyaSession) session; + PlayerObject playerObject = (PlayerObject) session.getClientObject(); + + // If we're not experiencing high load or if we're letting an insider or higher in, + // skip the queue insertion + if (playerObject.queuePosition == 0 || !_adminMgr.clusterAtCapacity() || playerObject.tokens.isInsiderPlus()) { + playerObject.queuePosition = 0; + + _adminMgr.noteLogon(); + thetyaSession.didLogon(); + + return; + } + + // Otherwise we're putting the player into a waiting queue + _adminMgr.noteQueueAddition(); + _peerMgr.getQueueTicket(null, new InvocationService.ResultListener() { + + @Override + public void requestProcessed(Object result) { + if (!playerObject.isActive()) { + return; + } + + playerObject.queueTicket = (Integer) result; + ThetyaClientManager.this._peerMgr.queueTicketUpdated(0, playerObject); + } + + @Override + public void requestFailed(String cause) { + log.warning("Failed to acquire queue ticket.", "who", playerObject.who(), + "cause", cause); + } + }); + } + + /** + * Called by {@link ThetyaSession} when it has ended its session. + */ + @Override + protected void clientSessionDidEnd(PresentsSession session) { + super.clientSessionDidEnd(session); + + // Don't handle non-thetyish sessions such as peer sessions + if (!(session instanceof ThetyaSession)) { + return; + } + + ThetyaSession thetyaSession = (ThetyaSession) session; + PlayerObject playerObject = (PlayerObject) session.getClientObject(); + + // Zero queue position means that the player was let on the server. So, that's just a log off. + if (playerObject.queuePosition == 0) { + _adminMgr.noteLogoff(thetyaSession.getLogonStamp()); + return; + } + + // Otherwise, we're handling a player who jumped out of the queue and left. + _adminMgr.noteQueueRemoval(thetyaSession.getSessionStamp(), true); + + if (playerObject.queueTicket != 0) { + _peerMgr.queueTicketUpdated(playerObject.queueTicket, null); + } + } +} diff --git a/src/com/github/thetya/server/ThetyaClientResolver.java b/src/com/github/thetya/server/ThetyaClientResolver.java new file mode 100644 index 0000000..5b5b18f --- /dev/null +++ b/src/com/github/thetya/server/ThetyaClientResolver.java @@ -0,0 +1,203 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server; + +import com.github.thetya.server.coin.ThetyaCoinManager; +import com.github.thetya.server.persist.KnightRecord; +import com.github.thetya.server.persist.KnightRepository; +import com.github.thetya.server.persist.MachIdentRecord; +import com.github.thetya.server.persist.MachIdentRepository; +import com.github.thetya.server.persist.PlayerRecord; +import com.github.thetya.server.persist.PlayerRepository; +import com.github.thetya.server.persist.UplinkRepository; +import com.github.thetya.server.uplink.UplinkManager; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; +import com.google.inject.Inject; +import com.google.inject.Injector; +import com.threerings.crowd.server.CrowdClientResolver; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.ClientLocal; +import com.threerings.presents.server.PresentsSession; +import com.threerings.projectx.data.AvailableKnight; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.data.ProjectXCodes; +import com.threerings.projectx.data.ProjectXCredentials; +import com.threerings.projectx.social.data.Notification.Warning; +import com.threerings.util.Name; +import java.sql.Timestamp; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + * Used to configure Thetya-specific client object data. Customizes the Crowd client resolver to use + * our {@link PlayerObject} + */ +public class ThetyaClientResolver extends CrowdClientResolver implements ProjectXCodes { + + /** + * Used to temporarily store player records during resolution. + */ + private static final Map PLAYER_STASH = Maps.newHashMap(); + + /* Dependencies */ + @Inject + protected PlayerRepository _playerRepo; + @Inject + protected KnightRepository _knightRepo; + @Inject + protected MachIdentRepository _identRepo; + @Inject + protected UplinkRepository _uplinkRepo; + @Inject + protected ThetyaCoinManager _coinMgr; + @Inject + protected UplinkManager _uplinkMgr; + + /** + * This is called earlier in the authentication process where we have to load an account's player + * record, so we stash it here to avoid loading it again when the time comes to resolve their + * data. + */ + public static void stashPlayer(PlayerRecord player) { + synchronized (PLAYER_STASH) { + PLAYER_STASH.put(player.username, player); + } + } + + @Override + protected void resolveClientData(ClientObject client) throws Exception { + // Let Crowd resolve what it must resolve + super.resolveClientData(client); + + // Let's fetch the username we'll be resolving for + String username = _username.toString(); + + // Cast our player object + PlayerObject playerObject = (PlayerObject) client; + + // Let's unstash the player record. If it's not there, we'll get null + PlayerRecord playerRecord; + synchronized (PLAYER_STASH) { + playerRecord = PLAYER_STASH.remove(username); + } + + // It's missing from the stash. But hey no worries, maybe it's in the db? + if (playerRecord == null) { + playerRecord = _playerRepo.loadPlayer(username); + } + + // We'll declare the player's knights here because we don't yet know if there is such a player + // or not really. + List knights; + + // Well it turns out there's no such player. Let's create one now + if (playerRecord == null) { + playerRecord = new PlayerRecord(); + playerRecord.username = username; + // Set their vapor (mist) timestamp to such that they'll have the full gauge + playerRecord.vaporStamp = new Timestamp(System.currentTimeMillis() - MAX_VAPOR_TIME); + // And insert them into db + _playerRepo.insertPlayer(playerRecord); + + // In that case, there will be no knights. So the list should be a new empty one + knights = Collections.emptyList(); + } else { + // Okay there is such a player. Load up his knights. + knights = _knightRepo.loadKnights(playerRecord.playerId); + } + + // Fetch the session... + PresentsSession session = _clmgr.getClient(_username); + // Because we'll want the credentials. And this operation can, for reasons unknown to me, yield + // a NPE. So let's sort it out. + ProjectXCredentials credentials; + try { + credentials = (ProjectXCredentials) session.getCredentials(); + } catch (NullPointerException exception) { + session.endSession(); + return; + } + + // And the machine identifier. + String machIdent = credentials.getMachineIdent(); + + // If we (yet) don't have such a mach ident in our database, let's put it there + MachIdentRecord machIdentRecord = _identRepo.loadMachIdent(machIdent); + if (machIdentRecord == null && machIdent != null) { + machIdentRecord = new MachIdentRecord(); + machIdentRecord.ident = machIdent; + // Set the vapor (mist) to full gauge + machIdentRecord.vaporStamp = new Timestamp(System.currentTimeMillis() - MAX_VAPOR_TIME); + // And insert into db + _identRepo.insertMachIdent(machIdentRecord); + } + + // Fetch the local bologna, we'll need it later + PlayerLocal playerLocal = playerObject.getLocal(PlayerLocal.class); + // And set what we need on the player object + playerObject.playerId = playerRecord.playerId; + playerObject.machineIdent = machIdent; + playerObject.siteId = 204; // 204 = ProjectX + playerObject.sessions = playerRecord.sessions; + playerObject.crystal = _coinMgr.getCoinRepository().getCoinCount(username); + playerObject.playerVaporStamp = playerRecord.vaporStamp.getTime(); + playerObject.machineVaporStamp = machIdent == null ? 0L : machIdentRecord.vaporStamp.getTime(); + playerLocal.connectStamp = System.currentTimeMillis(); + playerLocal.floors = playerRecord.floors; + playerObject.invitations = playerRecord.invitations; + + playerObject.availableKnights = new AvailableKnight[knights.size()]; + + for (int i = 0; i < knights.size(); ++i) { + KnightRecord knight = knights.get(i); + + playerObject.availableKnights[i] = new AvailableKnight( + knight.knightId, + knight.getName(), + null, + knight.getModel(), + loadSenders(knight.knightId, credentials.getLanguage()), + knight.lastPermanentSceneName, + null, + 0, + knight.sessionSeconds + ); + } + + if (playerRecord.warning != null) { + playerObject.addToNotifications(new Warning("m.warning", playerRecord.warning)); + } + } + + @Override + public ClientObject createClientObject() { + return new PlayerObject(); + } + + @Override + public ClientLocal createLocalAttribute() { + return new PlayerLocal(); + } + + /** + * Loads up uplink and messages for the specified knight. If there are any, their senders are + * returned. In the UI, senders attribute on the {@link AvailableKnight} object determines whether + * the mail icon should appear underneath the knight model. + */ + protected Set loadSenders(int knightId, String language) { + Set announcementIds = _uplinkMgr.getAnnouncementIds(language); + return (announcementIds.isEmpty() + || _uplinkRepo.readAnnouncementIds(knightId).containsAll(announcementIds)) + && _uplinkRepo.hasUnreadSystemMail(knightId) + ? Sets.newHashSet(_uplinkRepo.getUnreadSenders(knightId)) + : Collections.singleton(null); + } +} diff --git a/src/com/github/thetya/server/ThetyaRebootManager.java b/src/com/github/thetya/server/ThetyaRebootManager.java new file mode 100644 index 0000000..339f209 --- /dev/null +++ b/src/com/github/thetya/server/ThetyaRebootManager.java @@ -0,0 +1,135 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server; + +import com.github.thetya.server.peer.ThetyaPeerManager; +import com.google.inject.Inject; +import com.threerings.crowd.chat.server.ChatProvider; +import com.threerings.presents.dobj.RootDObjectManager; +import com.threerings.presents.peer.data.NodeObject; +import com.threerings.presents.peer.server.PeerManager.NodeAction; +import com.threerings.presents.server.RebootManager; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.data.ProjectXCodes; +import com.threerings.util.MessageBundle; + +/** + * Manages server reboots, extending the base presents reboot manager with Thetya bits. + */ +public class ThetyaRebootManager extends RebootManager implements ProjectXCodes { + + /* Dependencies */ + @Inject + protected ThetyaPeerManager _peerMgr; + @Inject + protected ChatProvider _chatProvider; + + protected String _customRebootMessage; + + /** + * Constructs a new reboot manager for the server. + */ + @Inject + public ThetyaRebootManager(ThetyaServer server, RootDObjectManager distributedObjectsMgr) { + super(server, distributedObjectsMgr); + } + + /** + * Schedules a reboot. + */ + public void scheduleReboot(PlayerObject playerObject, int delay, String msg, boolean shutdown) { + _peerMgr.invokeNodeAction(new ScheduleRebootAction( + playerObject == null ? null : playerObject.knight.toString(), + delay, + msg == null ? null : MessageBundle.taint(msg), + shutdown) + ); + } + + /** + * Performs a server-wide broadcast about the upcoming reboot. + */ + @Override + protected void broadcast(String message) { + _chatProvider.broadcast(null, "projectx", message, true, false); + } + + /** + * Returns the customized reboot message. + */ + @Override + protected String getCustomRebootMessage() { + return _customRebootMessage; + } + + /** + * Returns how frequently the server should auto-reboot. + */ + @Override + protected int getDayFrequency() { + return -1; + } + + /** + * Returns on which hour should the server auto-reboot. + */ + @Override + protected int getRebootHour() { + return 0; + } + + /** + * Whether to skip rebooting in the weekend or not. + */ + @Override + protected boolean getSkipWeekends() { + return false; + } + + /** + * An executable node action for scheduling a reboot. + */ + public static class ScheduleRebootAction extends NodeAction { + + /* Dependencies */ + @Inject + protected transient ThetyaRebootManager _rebootMgr; + + public String _initiator; + public int _delay; + protected String _message; + protected boolean _shutdown; + + /** + * Constructs a new instance of this action. + */ + public ScheduleRebootAction(String initiator, int delay, String message, boolean shutdown) { + _initiator = initiator; + _delay = delay; + _message = message; + _shutdown = shutdown; + } + + /** + * Whether this action should be applied to given node object. + */ + @Override + public boolean isApplicable(NodeObject nodeObject) { + return true; + } + + /** + * Executes the action on a node. + */ + @Override + protected void execute() { + _rebootMgr._customRebootMessage = _message; + _rebootMgr.scheduleReboot(System.currentTimeMillis() + (long) _delay * 60L * 1000L, _initiator); + } + } +} \ No newline at end of file diff --git a/src/com/github/thetya/server/ThetyaServer.java b/src/com/github/thetya/server/ThetyaServer.java new file mode 100644 index 0000000..2f57802 --- /dev/null +++ b/src/com/github/thetya/server/ThetyaServer.java @@ -0,0 +1,208 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server; + +import com.github.thetya.server.admin.ThetyaAdminManager; +import com.github.thetya.server.billing.BillingManager; +import com.github.thetya.server.board.BoardManager; +import com.github.thetya.server.coin.ThetyaCoinManager; +import com.github.thetya.server.dungeon.DungeonManager; +import com.github.thetya.server.dungeon.arena.ArenaPartyHost; +import com.github.thetya.server.exchange.ThetyaCoinExchangeManager; +import com.github.thetya.server.item.ItemManager; +import com.github.thetya.server.peer.PeerConfig; +import com.github.thetya.server.peer.ThetyaPeerManager; +import com.github.thetya.server.persist.ItemRepository; +import com.github.thetya.server.persist.KnightRepository; +import com.github.thetya.server.persist.PlayerRepository; +import com.github.thetya.server.persist.TownRepository; +import com.github.thetya.server.pvp.PvpManager; +import com.github.thetya.server.scene.ThetyaSceneRegistry; +import com.github.thetya.server.scene.ThetyaSceneRepository; +import com.github.thetya.server.social.SocialManager; +import com.github.thetya.server.support.ThetyaSupportManager; +import com.github.thetya.server.town.TownManager; +import com.github.thetya.server.uplink.UplinkManager; +import com.github.thetya.server.util.LaunchUtil; +import com.github.thetya.server.util.PrettyLogFormatter; +import com.google.inject.Guice; +import com.google.inject.Inject; +import com.google.inject.Injector; +import com.google.inject.Singleton; +import com.samskivert.util.AuditLogger; +import com.threerings.admin.server.ConfigRegistry; +import com.threerings.config.dist.server.DConfigManager; +import com.threerings.nio.conman.ServerSocketChannelAcceptor; +import com.threerings.presents.net.AuthRequest; +import com.threerings.presents.server.ClientResolver; +import com.threerings.presents.server.PresentsSession; +import com.threerings.presents.server.SessionFactory; +import com.threerings.tudey.server.TudeyServer; +import com.threerings.util.Name; + +import java.io.File; +import java.io.IOException; +import java.nio.channels.ServerSocketChannel; +import java.util.Locale; + +import static com.github.thetya.server.Log.log; + +/** + * The base Thetya server. + */ +@Singleton +public class ThetyaServer extends TudeyServer { + + @Inject protected PlayerRepository _playerRepo; + @Inject protected KnightRepository _knightRepo; + @Inject protected ItemRepository _itemRepo; + @Inject protected TownRepository _townRepo; + @Inject protected ThetyaSceneRepository _sceneRepo; + + @Inject protected ConfigRegistry _configRegistry; + + @Inject protected DConfigManager _distributedConfigMgr; + @Inject protected ThetyaAdminManager _adminMgr; + @Inject protected ThetyaCoinManager _coinMgr; + @Inject protected ThetyaCoinExchangeManager _exchangeMgr; + @Inject protected BillingManager _billingMgr; + @Inject protected KnightManager _knightMgr; + @Inject protected UplinkManager _uplinkMgr; + @Inject protected ItemManager _itemMgr; + @Inject protected PvpManager _pvpMgr; + @Inject protected ThetyaSceneRegistry _sceneRegistry; + @Inject protected TownManager _townMgr; + @Inject protected BoardManager _boardMgr; + @Inject protected ThetyaSupportManager _supportMgr; + @Inject protected ThetyaPeerManager _peerMgr; + @Inject protected DungeonManager _dungeonMgr; + @Inject protected SocialManager _socialMgr; + @Inject protected ArenaPartyHost _arenaPartyHost; + + @Inject protected Injector _injector; + + public static void main(String[] args) { + // Configure pretty logging + PrettyLogFormatter.configureDefaultHandler(); + System.setProperty("com.samskivert.util.JDK14Logger.noFormatter", "true"); + + // Configure Three Rings enum policy + System.setProperty("com.threerings.io.enumPolicy", "ORDINAL"); + + // Set the application wide locale to English so that Narya doesn't complain + Locale.setDefault(Locale.ENGLISH); + + LaunchUtil.printAsciiLogo(); + LaunchUtil.setupDebugLogging(); + + try { + Injector injector = Guice.createInjector(new ThetyaServerModule()); + ThetyaServer server = injector.getInstance(ThetyaServer.class); + server.init(injector); + server.run(); + System.exit(0); + } catch (Exception exception) { + log.error("Thetya server initialization failed.", exception); + System.exit(-1); + } + } + + @Override + public void init(Injector injector) throws Exception { + initRepositories(); + + super.init(injector); + + _conmgr.setPrivateKey(ServerConfig.getPrivateKey()); + _clmgr.setDefaultSessionFactory(new SessionFactory() { + @Override + public Class getSessionClass(AuthRequest areq) { + return ThetyaSession.class; + } + + @Override + public Class getClientResolverClass(Name username) { + return ThetyaClientResolver.class; + } + }); + + initManagers(); + } + + /** + * Initializes Depot repositories. + */ + private void initRepositories() { + _playerRepo.init(); + _knightRepo.init(); + _itemRepo.init(); + _townRepo.init(); + _sceneRepo.init(); + } + + /** + * Initializes various game services' managers. + */ + private void initManagers() { + _peerMgr.init(); + _adminMgr.init(); + // TODO: init Pulse Manager + _sceneRegistry.init(); + _socialMgr.init(); + // TODO: init Guild Manager + _townMgr.init(); + // TODO: init Guildhall Manager + _dungeonMgr.init(); + _exchangeMgr.init(); + _pvpMgr.init(_injector); + _uplinkMgr.init(); + // TODO: init Lottery Manager + // TODO: init Support Manager + // TODO: init Reward Manager + // TODO: init Knight Manager + _arenaPartyHost.init(); + + log.info("Thetya server v" + DeploymentConfig.getVersion() + " initialized."); + } + + @Override + protected String getBindHostname() { + return ServerConfig.getBindHostname(); + } + + @Override + protected String getDatagramHostname() { + return ServerConfig.getDatagramHostname(); + } + + @Override + protected int[] getListenPorts() { + return ServerConfig.getListenPorts(); + } + + @Override + protected int[] getDatagramPorts() { + return ServerConfig.getDatagramPorts(); + } + + @Override + protected ServerSocketChannelAcceptor createSocketAcceptor() { + return new ServerSocketChannelAcceptor(getBindHostname(), getListenPorts(), _conmgr) { + @Override + protected void configureSocket(ServerSocketChannel serverSocketChannel) throws IOException { + super.configureSocket(serverSocketChannel); + serverSocketChannel.socket().setReuseAddress(true); + } + }; + } + + public static AuditLogger createAuditLogger(String name) { + return new AuditLogger(new File(System.getProperty("user.dir")), + name + "_" + PeerConfig.getNode() + ".log"); + } +} diff --git a/src/com/github/thetya/server/ThetyaServerModule.java b/src/com/github/thetya/server/ThetyaServerModule.java new file mode 100644 index 0000000..e769e9e --- /dev/null +++ b/src/com/github/thetya/server/ThetyaServerModule.java @@ -0,0 +1,126 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server; + +import com.github.thetya.server.admin.ThetyaAdminManager; +import com.github.thetya.server.peer.ThetyaPeerManager; +import com.github.thetya.server.scene.ThetyaSceneRegistry; +import com.github.thetya.server.scene.ThetyaSceneRepository; +import com.github.thetya.server.zone.ThetyaZoneMoveHandler; +import com.github.thetya.server.zone.ThetyaZoneRegistry; +import com.google.inject.name.Names; +import com.samskivert.depot.PersistenceContext; +import com.samskivert.jdbc.ConnectionProvider; +import com.samskivert.jdbc.StaticConnectionProvider; +import com.threerings.admin.server.AdminManager; +import com.threerings.admin.server.ConfigRegistry; +import com.threerings.admin.server.ExportDatabaseConfigRegistry; +import com.threerings.crowd.server.BodyLocator; +import com.threerings.presents.peer.server.PeerManager; +import com.threerings.presents.server.Authenticator; +import com.threerings.presents.server.ClientManager; +import com.threerings.presents.server.RebootManager; +import com.threerings.tudey.data.TudeySceneModel; +import com.threerings.tudey.server.TudeySceneRegistry; +import com.threerings.tudey.server.TudeyServer; +import com.threerings.tudey.server.TudeyServer.TudeyModule; +import com.threerings.tudey.server.TudeyZoneMoveHandler; +import com.threerings.tudey.server.TudeyZoneRegistry; +import com.threerings.user.depot.AccountActionRepository; +import com.threerings.user.depot.DepotUserRepository; +import com.threerings.user.depot.ExternalAuthRepository; +import com.threerings.whirled.server.SceneRegistry; +import com.threerings.whirled.server.persist.SceneRepository; +import java.util.concurrent.Executor; +import java.util.concurrent.Executors; + +/** + * Configures dependencies needed by the Thetya server. + */ +public class ThetyaServerModule extends TudeyModule { + + /** + * Configures a {@link com.google.inject.Binder} via the exposed methods. + */ + @Override + protected void configure() { + // Configure parent Tudey dependencies + super.configure(); + + // Bind our main server class + bind(TudeyServer.class).to(ThetyaServer.class); + + // Run the rest configuration code + setupDepot(); + setupGameServices(); + setupPresents(); + } + + /** + * Configures Depot and database-related dependencies. This must be run first so that the other + * server components can function properly. + */ + private void setupDepot() { + // Initiate Depot connection provider and instruct it to use server-config-provided credentials + StaticConnectionProvider connectionProvider = new StaticConnectionProvider( + ServerConfig.getJdbcConfig()); + bind(ConnectionProvider.class).toInstance(connectionProvider); + + // Initialize the OOO-User database and wire its dependencies + PersistenceContext userDbContext = new PersistenceContext("userdb", connectionProvider, null); + bind(DepotUserRepository.class).toInstance(new DepotUserRepository(userDbContext)); + bind(ExternalAuthRepository.class).toInstance(new ExternalAuthRepository(userDbContext)); + + // Initialize the account-action database and wire its dependencies + PersistenceContext actionDbContext = new PersistenceContext("actiondb", connectionProvider, + null); + bind(AccountActionRepository.class).toInstance(new AccountActionRepository(actionDbContext)); + + // Initialize the game database and bind the general Persistence Context class to the game db's one + PersistenceContext projectxDbContext = new PersistenceContext("projectxdb", connectionProvider, + null); + bind(PersistenceContext.class).toInstance(projectxDbContext); + } + + /** + * Configures Tudey and other OOO libraries to use Thetya implementations of their components. + */ + @SuppressWarnings("UninstantiableBinding") + private void setupGameServices() { + bind(Authenticator.class).to(ThetyaAuthenticator.class); + bind(ThetyaAuthenticator.class).to(ServerConfig.getAuthenticator()); + + bind(PeerManager.class).to(ThetyaPeerManager.class); + bind(RebootManager.class).to(ThetyaRebootManager.class); + bind(AdminManager.class).to(ThetyaAdminManager.class); + bind(ConfigRegistry.class).to(ExportDatabaseConfigRegistry.class); + + bind(ClientManager.class).to(ThetyaClientManager.class); + + bind(SceneRepository.class).to(ThetyaSceneRepository.class); + bind(TudeyZoneRegistry.class).to(ThetyaZoneRegistry.class); + bind(TudeySceneRegistry.class).to(ThetyaSceneRegistry.class); + + bind(SceneRegistry.ConfigFactory.class) + .toInstance(model -> ((TudeySceneModel) model).getPlaceConfig()); + + bind(BodyLocator.class).to(KnightLocator.class); + } + + /** + * Tweaks the distributed objects framework (Presents). + */ + private void setupPresents() { + bind(Integer.class) + .annotatedWith(Names.named("presents.net.selectLoopTime")) + .toInstance(5); + bind(Executor.class) + .annotatedWith(Names.named("PresentsExecutor::Executor")) + .toInstance(Executors.newFixedThreadPool(15)); + } +} diff --git a/src/com/github/thetya/server/ThetyaSession.java b/src/com/github/thetya/server/ThetyaSession.java new file mode 100644 index 0000000..889733b --- /dev/null +++ b/src/com/github/thetya/server/ThetyaSession.java @@ -0,0 +1,481 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server; + +import com.github.thetya.server.PlayerLocal.TransferState; +import com.github.thetya.server.admin.ThetyaAdminManager; +import com.github.thetya.server.exchange.ThetyaCoinExchangeManager; +import com.github.thetya.server.persist.ItemRepository; +import com.github.thetya.server.persist.KnightRepository; +import com.github.thetya.server.persist.MachIdentRepository; +import com.github.thetya.server.persist.PlayerRepository; +import com.github.thetya.server.pvp.PvpManager; +import com.github.thetya.server.scene.ThetyaSceneRegistry; +import com.github.thetya.server.social.SocialManager; +import com.google.common.collect.Lists; +import com.google.inject.Inject; +import com.samskivert.util.Interval; +import com.samskivert.util.Invoker; +import com.samskivert.util.Invoker.Unit; +import com.samskivert.util.ResultListener; +import com.threerings.config.ConfigManager; +import com.threerings.config.ConfigReference; +import com.threerings.config.dist.server.DConfigManager; +import com.threerings.crowd.data.TokenRing; +import com.threerings.crowd.server.CrowdSession; +import com.threerings.opengl.model.config.ModelConfig; +import com.threerings.presents.annotation.MainInvoker; +import com.threerings.presents.dobj.DSet; +import com.threerings.presents.net.AuthRequest; +import com.threerings.presents.net.BootstrapData; +import com.threerings.presents.server.Authenticator; +import com.threerings.presents.server.PresentsObjectAccess; +import com.threerings.presents.server.PresentsSession; +import com.threerings.projectx.config.Persistence; +import com.threerings.projectx.data.CatalogPurchase; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.data.ProjectXBootstrapData; +import com.threerings.projectx.data.ProjectXCredentials; +import com.threerings.projectx.item.data.Item; +import com.threerings.projectx.social.data.Whereabouts; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.util.stream.StreamSupport; + +import static com.github.thetya.server.Log.log; + +/** + * Represents a client session in the server. It is associated with a connection instance (while the + * client is connected) and acts as the intermediary for the remote client in terms of passing along + * events forwarded by the client, ensuring that subscriptions are maintained on behalf of the + * client and that events are forwarded to the client. + *

+ * A note on synchronization: the client object is structured so that its + * Subscriber implementation (which is called from the distributed objects manager + * thread) can proceed without synchronization. This does not overlap with its other client duties + * which are called from the connection manager thread and therefore also need not be synchronized. + *

+ * Builds upon {@link CrowdSession}, extending {@link PresentsSession} with crowd-specific session + * handling and Thetya-specific session handling. + */ +public class ThetyaSession extends CrowdSession { + + /* Dependencies */ + @Inject + private ThetyaAdminManager _adminMgr; + @Inject + private ThetyaCoinExchangeManager _exchangeMgr; + @Inject + private PvpManager _pvpMgr; + @Inject + private DConfigManager _distributedConfigMgr; + @Inject + private ConfigManager _configMgr; + @Inject + private KnightManager _knightMgr; + @Inject + private SocialManager _socialMgr; + + @Inject + private PlayerRepository _playerRepo; + @Inject + private MachIdentRepository _identRepo; + @Inject + private KnightRepository _knightRepo; + @Inject + private ItemRepository _itemRepo; + + @Inject + @MainInvoker + private Invoker _invoker; + + /** + * Timestamp of user logon. + */ + private long _logonStamp; + + /** + * Marks that the user tied to this session has just logged on, setting the logon stamp to now. + */ + public void didLogon() { + _logonStamp = System.currentTimeMillis(); + } + + /** + * Returns the timestamp of user logon. + */ + public long getLogonStamp() { + return _logonStamp; + } + + /** + * An interval for flushing the session data to the database. + */ + private Interval _flusher; + + /** + * Time period between each session flush to the database. + */ + private static final long DATABASE_FLUSH_INTERVAL = 900000L; + + /** + * Initiates and starts the session after successful transfer. + */ + @SuppressWarnings("unchecked") + public void startSession(PlayerObject player, Object[] locals, ResultListener rl) { + // Set the locals + for (Object local : locals) { + Class clazz = (Class) local.getClass(); + player.setLocal(clazz, local); + } + + // Set all the initial values for a brand-new session that local server would automatically + // set up for us but we're running peered so it's more work + player.receivers = DSet.newDSet(); + player.location = null; + player.pawnId = 0; + player.guildOid = player.officerOid = 0; + player.zoneId = 0; + player.instanceId = 0; + player.zoneGeneralOid = player.zoneTradeOid = 0; + player.partyOid = 0; + player.sceneDialog = null; + player.whereabouts = Whereabouts.NOWHERE; + + player.items = new DSet<>( + StreamSupport.stream(player.items.spliterator(), false).filter(item -> !item.isTransient()) + .collect(Collectors.toList())); + + for(int ii = 0; ii < player.equipment.length; ++ii) { + if (player.equipment[ii] < 0L) { + player.equipment[ii] = 0L; + } + } + + player.memories = new DSet<>(StreamSupport.stream(player.memories.spliterator(), false).filter( + memory -> memory.persistence == Persistence.KNIGHT + || memory.persistence == Persistence.SESSION).collect(Collectors.toList())); + + player.objectives = new DSet<>( + StreamSupport.stream(player.objectives.spliterator(), false).filter(objective -> + objective.persistence == Persistence.KNIGHT + || objective.persistence == Persistence.SESSION).collect(Collectors.toList())); + + // Register the player object within the distributed objects manager + _omgr.registerObject(player); + // And reference the object + player.reference(); + + // Mark the client as resolved, set some inner session values + _clmgr.clientResolved(player.username, player); + _clobj = player; + _authname = player.username; + _areq = new AuthRequest(player.getLocal(PlayerLocal.class).credentials, null, null); + setConnection(null); + _sessionStamp = System.currentTimeMillis(); + + // Set the client access controller + player.setAccessController(PresentsObjectAccess.CLIENT); + + // Set the occupant status to 2 - disconnected + _bodyman.updateOccupantStatus(player, (byte) 2); + + // Inform the client manager that we've started the session + ((ThetyaClientManager) _clmgr).clientSessionDidStart(this); + + // Create the db flusher + long interval = player.getLocal(PlayerLocal.class).lastFlush + DATABASE_FLUSH_INTERVAL - System.currentTimeMillis(); + _flusher = createFlusher(); + _flusher.schedule(Math.max(60000L, interval), DATABASE_FLUSH_INTERVAL); + + // Reactivate the knight if one has been chosen, complete the request with null otherwise + if (player.knight != null) { + _knightMgr.reactivateKnight(player, rl); + } else { + rl.requestCompleted(null); + } + } + + @Override + protected void sessionWillStart() { + // Superman, supermaaaan... *sigh* + super.sessionWillStart(); + + PlayerObject playerObject = (PlayerObject) _clobj; + + // How would that happen? Anyhow, if the passed auth data is not + // Thetyish, don't resolve tokens and don't populate playerlocal. + if (!(_authdata instanceof ThetyaAuthData)) { + log.warning("Missing or fake AuthData.", "who", _authname, "authData", _authdata); + return; + } + + // Get our token ring + ThetyaAuthData authData = (ThetyaAuthData) _authdata; + TokenRing tokenRing = authData.tokenRing; + + // Set playerlocal stuff + PlayerLocal playerLocal = playerObject.getLocal(PlayerLocal.class); + playerLocal.userId = authData.userId; + playerLocal.credentials = (ProjectXCredentials) getCredentials(); + + // Assign tokens directly on playerobject if they're present in authoritative authdata + for (int i = 0; i < 31; ++i) { + int token = 1 << i; + + if (tokenRing.holdsToken(i)) { + log.debug("Setting token on PlayerObject's token ring.", "who", _authname, + "token", token); + playerObject.tokens.setToken(i); + } + } + + // Set last flush timestamp to now, create the periodic database flusher and start it + playerLocal.lastFlush = System.currentTimeMillis(); + //_flusher = new + } + + @Override + protected void sessionDidEnd() { + // Cancel the database flusher, because once the session's ended, + // we'll have nothing to persist to the database, right? + if (_flusher != null) { + _flusher.cancel(); + } + + // Call the super to clear out + super.sessionDidEnd(); + + // Handle our SK-specific bits such as zone instance removal and knight manager unmap + PlayerObject playerObject = (PlayerObject) _clobj; + + if (playerObject != null && playerObject.knight != null) { + ThetyaSceneRegistry.removeFromInstance(playerObject); + _socialMgr.setWhereabouts(playerObject, Whereabouts.OFFLINE); + _knightMgr.updateLastPermanents(playerObject.knight); + _knightMgr.unmapPlayer(playerObject.knight); + } + + recordEndedSession(); + } + + /** + * Ends the transfer session and sets transfer state to complete. + */ + public void endTransferSession() { + _clobj.getLocal(PlayerLocal.class).transferState = TransferState.COMPLETE; + endSession(); + } + + /** + * Marks the session as one to be reactivated setting the presents connection to null. + */ + public void willBeReactivated() { + setConnection(null); + } + + @Override + public void shutdown() { + super.shutdown(); + recordEndedSession(); + } + + @Override + protected BootstrapData createBootstrapData() { + return new ProjectXBootstrapData(); + } + + @Override + protected void populateBootstrapData(BootstrapData bootstrapData) { + // Populate lower level (presents, crowd etc) stuff + super.populateBootstrapData(bootstrapData); + + ProjectXBootstrapData xBootstrapData = (ProjectXBootstrapData) bootstrapData; + PlayerObject playerObject = (PlayerObject) _clobj; + + // Set up mandatory fields and DObject IDs + xBootstrapData.hostname = ServerConfig.getBindHostname(); + xBootstrapData.ports = ServerConfig.getListenPorts(); + xBootstrapData.datagramPorts = ServerConfig.getDatagramPorts(); + xBootstrapData.dconfigOid = _distributedConfigMgr.getConfigObject().getOid(); + xBootstrapData.serverOid = _adminMgr.getServerObject().getOid(); + xBootstrapData.exchangeOid = _exchangeMgr.getExchangeObject().getOid(); + xBootstrapData.pvpOid = _pvpMgr.getPvpObject().getOid(); + + // Admin chat... for admins only + if (playerObject.getTokens().isAdmin()) { + xBootstrapData.adminOid = _adminMgr.getAdminObject().getOid(); + } + + // Server status & place browser for Support members + if (playerObject.getTokens().isSupportPlus()) { + xBootstrapData.statusOid = _adminMgr.getStatusObject().getOid(); + xBootstrapData.placeBrowserOid = _adminMgr.getPlaceBrowserObject().getOid(); + } + } + + /** + * Creates a flusher that periodically persists session data to the database. + */ + protected Interval createFlusher() { + // We're basically creating a new Interval with + // our custom method tied to the #expired() method. + return new Interval(_omgr) { + public void expired() { + flushToDatabase(); + } + }; + } + + /** + * Attempts to persist session data to the database. + */ + protected void flushToDatabase() { + // Fetch the player + PlayerObject playerObject = (PlayerObject) _clobj; + + // If they haven't chosen a knight, why would we persist anything into the db? + if (playerObject.knightId == 0) { + return; + } + + // Fetch the local player + PlayerLocal playerLocal = playerObject.getLocal(PlayerLocal.class); + + // We also don't want to flush if the player has just been transfered to another node + if (playerLocal.transferState == TransferState.COMPLETE) { + return; + } + + // Do the actual flushing + playerLocal.lastFlush = System.currentTimeMillis(); + performDatabaseSaves(playerObject, false, 0); + } + + protected void recordEndedSession() { + PlayerObject user = (PlayerObject) this._clobj; + if (user == null) { + return; + } + PlayerLocal local = user.getLocal(PlayerLocal.class); + if (local.transferState == TransferState.COMPLETE) { + return; + } + int secondsOnline = (int)((System.currentTimeMillis() - local.connectStamp) / 1000L); + user.sessions++; + //this._evlog.log(new ProjectXEvent.SessionEnded(user.playerId, secondsOnline, local.secondsInTown, local.secondsInDungeon, local.dungeonCrowns, local.lootCrowns, user.isSet(32), local.gateComplete, local.madePurchase, local.madeFriend, local.sentToBilling, local.drainedVapor, local.vaporUsed, local.crystalUsed, local.tabEnergyPaid, local.levelsEntered, local.levelsCompleted)); + + performDatabaseSaves(user, true, secondsOnline); + } + + /** + * Performs actual session data persistence to the database during flushing. + */ + protected void performDatabaseSaves(PlayerObject playerObject, boolean endSession, int secondsOnline) { + PlayerLocal playerLocal = playerObject.getLocal(PlayerLocal.class); + + long playerVaporStamp = playerObject.playerVaporStamp; + long machineVaporStamp = playerObject.machineVaporStamp; + + ConfigReference model = playerObject.createPlayerModel(_configMgr); + long[] equipment = model == null ? null : playerObject.equipment.clone(); + int[] levelTokens = model == null ? null : playerObject.levelTokens.clone(); + + int crownDelta = playerObject.getAndClearCrownDelta(); + int lastPermanentZoneId = playerObject.lastPermanentZoneId; + int lastPermanentSceneId = playerObject.lastPermanentSceneId; + int sessions = playerObject.sessions; + int invitations = playerObject.invitations; + int floors = playerLocal.levelsCompleted; + + List items = Lists.newArrayList(); + List catalogPurchases = Lists.newArrayList(); + + if (model != null) { + + for (Item item : playerObject.items) { + if (item.isDirty() && !item.isTransient()) { + item.setDirty(false); + items.add(item.clone()); + } + } + + for (Map catalogPurchaseMap : playerLocal.catPurchases.values()) { + for (CatalogPurchase catalogPurchase : catalogPurchaseMap.values()) { + if (catalogPurchase.updateDB()) { + catalogPurchase.setDirty(false); + catalogPurchases.add(catalogPurchase.clone()); + } + } + } + } + + String unitName = endSession ? "recordEndedSession:" : "flushToDatabase:"; + + this._invoker.postUnit(new Unit(unitName + playerObject.username) { + public boolean invoke() { + try { + if (endSession) { + _playerRepo.noteSessionEnded(playerObject.playerId, secondsOnline, playerVaporStamp, sessions, invitations, floors); + } else { + _playerRepo.flushPlayer(playerObject.playerId, playerVaporStamp, invitations, floors); + } + + String ident = ((ProjectXCredentials) getCredentials()).ident; + if (ident != null) { + _identRepo.updateVaporStamp(ident, machineVaporStamp, false); + } + + if (model != null) { + if (endSession) { + _knightRepo.noteSessionEnded(playerObject.knightId, secondsOnline, model, equipment, crownDelta, lastPermanentZoneId, lastPermanentSceneId, levelTokens); + _knightRepo.updateHomeTown(playerObject.knightId, playerObject.homeTown.getTownId()); + } else { + _knightRepo.flushKnight(playerObject.knightId, model, equipment, crownDelta, lastPermanentZoneId, lastPermanentSceneId, levelTokens); + } + + int ii = 0; + + int nn; + for(nn = items.size(); ii < nn; ++ii) { + _itemRepo.updateItem(items.get(ii)); + } + + ii = 0; + + for(nn = catalogPurchases.size(); ii < nn; ++ii) { + // _knightRepo.updateCatalogRecord(playerObject.knightId, (CatalogPurchase)catalogPurchases.get(ii)); + } + } + } catch (Exception cause) { + log.warning("Failed to " + unitName, "user", playerObject.who(), cause); + } + + return false; + } + }); + } + + /** + * Contains a {@link TokenRing} for a specific user ID, created by the {@link Authenticator} in + * use and passed onto to the session init code so that we can set the tokens on the + * {@link PlayerObject}. + */ + public static class ThetyaAuthData { + + public final int userId; + public final TokenRing tokenRing; + + public ThetyaAuthData(int userId, TokenRing tokenRing) { + this.userId = userId; + this.tokenRing = tokenRing; + } + } +} diff --git a/src/com/github/thetya/server/admin/Log.java b/src/com/github/thetya/server/admin/Log.java new file mode 100644 index 0000000..4fabb1a --- /dev/null +++ b/src/com/github/thetya/server/admin/Log.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.admin; + +import com.samskivert.util.Logger; + +/** + * Contains a reference to the {@link Logger} object used by the admin package. + */ +@SuppressWarnings("unused") +public class Log { + + /** + * The {@link Logger} reference. + */ + public static Logger log = Logger.getLogger("com.github.thetya.server.admin"); +} diff --git a/src/com/github/thetya/server/admin/ProjectXAdminProvider.java b/src/com/github/thetya/server/admin/ProjectXAdminProvider.java new file mode 100644 index 0000000..2c87e04 --- /dev/null +++ b/src/com/github/thetya/server/admin/ProjectXAdminProvider.java @@ -0,0 +1,123 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.admin; + +import com.threerings.config.ConfigReference; +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.client.InvocationService.ResultListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.tudey.data.TudeySceneModel; +import com.threerings.util.Name; + +public interface ProjectXAdminProvider { + + // CRAFT_RECIPE = 4; + // GIVE_ITEM_PACK = 10; + // HANDLE_DEBUG_COMMAND = 12; + // LANGUAGE_BROADCAST = 14; + // MOVE_TO_PARTY = 15; + // MOVE_TO_SCENE = 17; + // MOVE_TO_ZONE = 19; + // PEER_BROADCAST = 20; + // REGISTER_RECIPE = 22; + // SET_LEVEL_TOKENS = 29; + // SET_PROGRESS_FLAG = 30; + + // ID 1 + void addVariant(ClientObject caller, int slot, String variant, ConfirmListener cl) + throws InvocationException; + + // ID 2 + void cancelPeerShutdown(ClientObject caller, String nodeName, ConfirmListener cl) + throws InvocationException; + + // ID 3 + void clearVariants(ClientObject caller, int slot, ConfirmListener cl) + throws InvocationException; + + // ID 5 + void createItem(ClientObject caller, ConfigReference config, int quantity, int expireDays, + ConfirmListener cl) throws InvocationException; + + // ID 6 + void drainPlayer(ClientObject caller, Name name, ConfirmListener cl) + throws InvocationException; + + // ID 7 + void fireEffect(ClientObject caller, ConfigReference config, ConfirmListener cl) + throws InvocationException; + + // ID 8 + void gc(ClientObject caller, ConfirmListener cl) + throws InvocationException; + + // ID 9 + void getPrefabInfo(ClientObject caller, ResultListener rl) + throws InvocationException; + + // ID 11 + void grantCrowns(ClientObject caller, int number, ConfirmListener cl) + throws InvocationException; + + // ID 13 + void kickPlayer(ClientObject caller, Name name, ConfirmListener cl) + throws InvocationException; + + // ID 16 + void moveToPlayer(ClientObject caller, Name name, ConfirmListener cl) + throws InvocationException; + + // ID 18 + void moveToSceneInstance(ClientObject caller, final int zoneId, int instanceId, final int sceneId, + ConfirmListener listener) throws InvocationException; + + // ID 21 + void rechargePlayer(ClientObject caller, Name name, ConfirmListener cl) + throws InvocationException; + + // ID 23 + void schedulePeerShutdown(ClientObject caller, String nodeName, boolean reboot, int minDelay, + int maxDelay, int earlyPlayers, String msg, ConfirmListener cl) throws InvocationException; + + // ID 24 + void scheduleReboot(ClientObject caller, int delay, String msg, ConfirmListener cl) + throws InvocationException; + + // ID 25 + void setDepth(ClientObject caller, int depth, ConfirmListener cl) + throws InvocationException; + + // ID 26 + void setFlag(ClientObject caller, int flag, boolean toggle, ConfirmListener cl) + throws InvocationException; + + // ID 27 + void setHeat(ClientObject caller, int slot, int heat, ConfirmListener cl) + throws InvocationException; + + // ID 28 + void setLevel(ClientObject caller, int slot, int level, ConfirmListener cl) + throws InvocationException; + + // ID 31 + void spawnActor(ClientObject caller, ConfigReference config, ConfirmListener cl) + throws InvocationException; + + // ID 32 + void summonPlayer(ClientObject caller, Name name, ConfirmListener cl) + throws InvocationException; + + // ID 33 + void testPrefab(ClientObject caller, String proto, String fab, final int depth, + ConfirmListener cl) throws InvocationException; + + // ID 34 + void testScene(ClientObject caller, final TudeySceneModel scene, ResultListener rl) + throws InvocationException; +} diff --git a/src/com/github/thetya/server/admin/ThetyaAdminManager.java b/src/com/github/thetya/server/admin/ThetyaAdminManager.java new file mode 100644 index 0000000..896d3f5 --- /dev/null +++ b/src/com/github/thetya/server/admin/ThetyaAdminManager.java @@ -0,0 +1,1198 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.admin; + +import com.github.thetya.server.KnightManager; +import com.github.thetya.server.PlayerLocal; +import com.github.thetya.server.ThetyaClientManager; +import com.github.thetya.server.ThetyaRebootManager; +import com.github.thetya.server.dungeon.DungeonManager; +import com.github.thetya.server.dungeon.LevelSceneManager; +import com.github.thetya.server.dungeon.Party; +import com.github.thetya.server.item.ItemManager; +import com.github.thetya.server.peer.PeerConfig; +import com.github.thetya.server.peer.ProjectXPeerProvider; +import com.github.thetya.server.peer.ThetyaPeerManager; +import com.github.thetya.server.peer.ThetyaPeerManager.KnightAction; +import com.github.thetya.server.peer.util.ProviderPlayerTransfer; +import com.github.thetya.server.persist.ItemRepository; +import com.github.thetya.server.persist.KnightRecord; +import com.github.thetya.server.persist.KnightRepository; +import com.github.thetya.server.scene.ThetyaSceneManager; +import com.github.thetya.server.scene.ThetyaSceneRegistry; +import com.github.thetya.server.zone.ThetyaZoneRegistry; +import com.google.common.collect.ImmutableSet; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.samskivert.util.ComplainingListener; +import com.samskivert.util.Interval; +import com.threerings.admin.data.ConfigObject; +import com.threerings.admin.server.AdminManager; +import com.threerings.config.ConfigManager; +import com.threerings.config.ConfigReference; +import com.threerings.crowd.chat.data.SpeakMarshaller; +import com.threerings.crowd.chat.server.ChatProvider; +import com.threerings.crowd.chat.server.SpeakProvider; +import com.threerings.crowd.chat.server.SpeakUtil; +import com.threerings.crowd.data.OccupantInfo.Updater; +import com.threerings.crowd.server.BodyManager; +import com.threerings.crowd.server.PlaceManager; +import com.threerings.crowd.server.PlaceRegistry; +import com.threerings.math.Vector2f; +import com.threerings.presents.client.InvocationService; +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.client.InvocationService.ResultListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.data.InvocationMarshaller; +import com.threerings.presents.dobj.*; +import com.threerings.presents.peer.data.NodeObject; +import com.threerings.presents.peer.server.PeerManager.NodeAction; +import com.threerings.presents.server.*; +import com.threerings.presents.server.net.PresentsConnectionManager; +import com.threerings.presents.util.ConfirmAdapter; +import com.threerings.presents.util.IgnoreConfirmAdapter; +import com.threerings.projectx.admin.data.*; +import com.threerings.projectx.data.PlayerData; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.data.ProjectXOccupantInfo; +import com.threerings.projectx.data.ServerObject; +import com.threerings.projectx.dungeon.server.logic.MonsterLogic; +import com.threerings.projectx.dungeon.server.random.RandomLevelData; +import com.threerings.projectx.item.config.ItemConfig; +import com.threerings.projectx.item.data.Item; +import com.threerings.projectx.peer.data.ProjectXNodeObject; +import com.threerings.projectx.server.InstancedZoneManager; +import com.threerings.projectx.util.Resulting; +import com.threerings.tudey.config.ActorConfig; +import com.threerings.tudey.config.EffectConfig; +import com.threerings.tudey.data.TudeySceneModel; +import com.threerings.tudey.server.TudeySceneManager; +import com.threerings.tudey.server.logic.ActorLogic; +import com.threerings.tudey.server.util.SceneTicker; +import com.threerings.util.Name; + +import java.util.Iterator; +import java.util.List; +import java.util.Set; + +import static com.github.thetya.server.admin.Log.log; + +@Singleton +public class ThetyaAdminManager extends AdminManager implements ProjectXAdminProvider, + AccessController, EventListener, SpeakProvider { + + /* Whether we're currently in the process of shutting down */ + protected volatile boolean _shuttingDown; + + /* Time of server startup in milliseconds */ + protected long _started; + + /* Key distributed objects */ + protected ServerObject _serverObject; + protected AdminObject _adminObject; + + /* Distributed objects for exclusive admin tools */ + protected StatusObject _statusObject; + protected PlaceBrowserObject _placeBrowserObject; + + /* Distributed configs */ + protected ServerConfigObject _serverConfig; + protected DebugConfigObject _debugConfig; + protected AnnouncementConfigObject _announcementConfig; + protected CostsConfigObject _costsConfig; + protected DungeonConfigObject _dungeonConfig; + protected PvpConfigObject _pvpConfig; + protected LotteryConfigObject _lotteryConfig; + protected ItemPackConfigObject _itemPackConfig; + + protected final InvocationManager _invocationMgr; + protected Interval _shutdowner; + + /* Dependencies */ + @Inject protected PresentsDObjectMgr _distributedObjectsMgr; + @Inject protected ThetyaRebootManager _rebootMgr; + @Inject protected ConfigManager _configMgr; + @Inject protected PresentsConnectionManager _connectionMgr; + @Inject protected ClientManager _clientMgr; + @Inject protected BodyManager _bodyMgr; + @Inject protected KnightManager _knightMgr; + @Inject protected ItemManager _itemMgr; + @Inject protected DungeonManager _dungeonMgr; + + @Inject protected PlaceRegistry _placeRegistry; + @Inject protected ChatProvider _chatProvider; + // @Inject protected RandomLevelCreator _randomLevelCreator; + + /* Repositories */ + @Inject protected KnightRepository _knightRepo; + @Inject protected ItemRepository _itemRepo; + + /* Thetya */ + @Inject protected ThetyaPeerManager _peerMgr; + @Inject protected ThetyaSceneRegistry _sceneRegistry; + @Inject protected ThetyaZoneRegistry _zoneRegistry; + + protected static final Set PUBLISHED_COSTS = ImmutableSet + .of("coinExchangeFee", + "guildFormationCrowns", + "guildFormationEnergy", + "elevatorCosts", + "cheapElevatorCosts", + "gateSegmentCosts", + "baseMineralDepositCost", + "deeperMineralDepositCost", + "gateSubsidyFeePercent", + "mailFee", + "mailAttachFee"); + + @Inject + public ThetyaAdminManager(InvocationManager invocationMgr) { + super(invocationMgr); + _invocationMgr = invocationMgr; + _invocationMgr.registerProvider(this, ProjectXAdminMarshaller.class, "presents.admin"); + } + + public void init() { + // Set the launch time. Used to calculate uptime + _started = System.currentTimeMillis(); + + // Register and initialize the Admin Object (used mainly for admin chat and server info) + _distributedObjectsMgr.registerObject(_adminObject = new AdminObject()); + _adminObject.setSpeakService(_invocationMgr.registerProvider(this, SpeakMarshaller.class)); + _adminObject.addToNodeInfo(new NodeInfo(getLocalNodeName())); + _adminObject.setAccessController(this); + + // Register our runtime-editable module configs + _serverConfig = registerConfigObject("server", new ServerConfigObject()); + _debugConfig = registerConfigObject("debug", new DebugConfigObject()); + _announcementConfig = registerConfigObject("announce", new AnnouncementConfigObject()); + _costsConfig = registerConfigObject("costs", new CostsConfigObject()); + _dungeonConfig = registerConfigObject("dungeon", new DungeonConfigObject()); + _pvpConfig = registerConfigObject("pvp", new PvpConfigObject()); + _lotteryConfig = registerConfigObject("lottery", new LotteryConfigObject()); + _itemPackConfig = registerConfigObject("item_pack", new ItemPackConfigObject()); + + // Register and initialize the Place Browser Object which provides our admins with the ability + // to see and act on all the running places + _distributedObjectsMgr.registerObject(_placeBrowserObject = new PlaceBrowserObject()); + _placeBrowserObject.setAccessController(this); + + // Register and initialize the Status Object providing us with various runtime information + _distributedObjectsMgr.registerObject(_statusObject = new StatusObject()); + _statusObject.addToNodeStatus(new NodeStatus("(all)")); + _statusObject.addToNodeStatus(new NodeStatus(getLocalNodeName())); + _statusObject.setAccessController(this); + + // Register the server object containing basic info about the server and various in-game costs + // and set the node name accordingly + _distributedObjectsMgr.registerObject(_serverObject = new ServerObject()); + _serverObject.nodeName = getLocalNodeName(); + + for (final String publishedCost : PUBLISHED_COSTS) { + _serverObject.setAttribute(publishedCost, _costsConfig.getAttribute(publishedCost)); + } + + // Post a new interval to update periodical stats + _distributedObjectsMgr.newInterval(this::updatePeriodicStats).schedule(30000L, true); + } + + /** + * Returns the {@link ServerObject} containing basic information about the running Thetya + * instance. + */ + public ServerObject getServerObject() { + return _serverObject; + } + + /** + * Adds an item variant for given slot. + */ + @Override + public void addVariant(ClientObject caller, int slot, String variant, ConfirmListener cl) throws InvocationException { + PlayerObject playerObject = (PlayerObject) caller; + ensureSupport(playerObject); + ensureSelected(playerObject); + this._itemMgr.addVariant(playerObject, slot, variant, new ConfirmAdapter(cl)); + } + + /** + * Cancels a scheduled peer shutdown. + */ + @Override + public void cancelPeerShutdown(ClientObject caller, String nodeName, ConfirmListener cl) + throws InvocationException { + PlayerObject playerObject = (PlayerObject) caller; + ensureAdmin(playerObject); + _peerMgr.requireProjectXPeerProvider(nodeName).cancelShutdown(null, cl); + } + + /** + * Clears item variants for given slot. + */ + @Override + public void clearVariants(ClientObject caller, int slot, ConfirmListener cl) throws InvocationException { + PlayerObject playerObject = (PlayerObject) caller; + ensureSupport(playerObject); + ensureSelected(playerObject); + this._itemMgr.clearVariants(playerObject, slot, new ConfirmAdapter(cl)); + } + + /** + * Creates a new item with specified configuration and inserts it into caller's bag. + */ + @Override + public void createItem(ClientObject caller, ConfigReference config, int quantity, + int expireDays, ConfirmListener cl) throws InvocationException { + PlayerObject playerObject = (PlayerObject) caller; + ItemConfig itemConfig = _configMgr + .getConfig(ItemConfig.class, (ConfigReference) config); + ItemConfig.Original itemOriginal = + itemConfig == null ? null : itemConfig.getOriginal(_configMgr); + + if (itemOriginal == null) { + throw new InvocationException("m.internal_error"); + } + + Item item = itemOriginal.createItem((ConfigReference) config, _configMgr); + item.setCount(quantity); + KnightRecord knightRecord = _knightRepo.loadKnight(playerObject.getKnight().toString()); + item.setBagId(knightRecord.bagId); + + if (knightRecord == null) { + throw new InvocationException("m.internal_error"); + } + + _itemRepo.insertItem(item, knightRecord.bagId); + playerObject.addToItems(item); + + log.info("Admin created a new item", "who", caller.who(), "what", itemConfig); + SpeakUtil.sendFeedback(playerObject, null, "Item created and added to equipment."); + cl.requestProcessed(); + } + + /** + * Drains given player from vapor. + */ + @Override + public void drainPlayer(ClientObject caller, Name name, ConfirmListener cl) throws InvocationException { + PlayerObject playerObject = (PlayerObject) caller; + ensureSupport(playerObject); + + if (!playerObject.knight.equals(name)) { + ensureAdmin(playerObject); + } + + if (!this._peerMgr.invokeKnightAction(name, new AddVaporAction(name, -100))) { + throw new InvocationException("m.user_not_online"); + } + + cl.requestProcessed(); + } + + /** + * Fires an effect in the caller's scene. + */ + @Override + public void fireEffect(ClientObject caller, ConfigReference config, ConfirmListener cl) throws InvocationException { + PlayerObject playerObject = (PlayerObject) caller; + ensureAdmin(playerObject); + + PlaceManager placeManager = _placeRegistry.getPlaceManager(playerObject.getPlaceOid()); + + if (!(placeManager instanceof TudeySceneManager)) { + log.warning("Admin tried firing effect, but not in scene", "who", caller.who(), "what", + config); + throw new InvocationException("m.internal_error"); + } + + TudeySceneManager sceneManager = (TudeySceneManager) placeManager; + Vector2f actorTranslation = Vector2f.ZERO; + float actorRotation = 0.0f; + + ActorLogic playerLogic = sceneManager.getTarget(playerObject); + if (playerLogic != null) { + actorTranslation = playerLogic.getTranslation(); + actorRotation = playerLogic.getRotation(); + } + + sceneManager.fireEffect(sceneManager.getNextTimestamp(), playerLogic, actorTranslation, actorRotation, + (ConfigReference) config); + SpeakUtil.sendFeedback(playerObject, null, "Effect fired."); + log.info("Admin fired an effect", "who", caller.who(), "what", config); + cl.requestProcessed(); + } + + /** + * Performs manual garbage collection and finalization. + */ + @Override + public void gc(ClientObject caller, ConfirmListener cl) throws InvocationException { + PlayerObject playerObject = (PlayerObject) caller; + ensureAdmin(playerObject); + + System.gc(); + System.runFinalization(); + + log.info("Admin performed manual GC", "who", caller.who()); + SpeakUtil.sendFeedback(caller, null, "Manual GC and finalization performed."); + cl.requestProcessed(); + } + + /** + * Returns server prefab information. + */ + @Override + public void getPrefabInfo(ClientObject caller, ResultListener rl) throws InvocationException { + // PlayerObject playerObject = (PlayerObject) caller; + // ensureSupport(playerObject); + // ensureSelected(playerObject); + // final Map protoToFabset = Maps.newHashMap(); + // final Set fabsets = Sets.newHashSet(); + // for (Map.Entry entry : this._dungeonMgr.getRandomLevelData().entrySet()) { + // String fabset = entry.getValue().get(RandomLevelData.fabset); + // fabsets.add(fabset); + // protoToFabset.put(entry.getKey(), fabset); + // } + // this._randomLevelCreator.getPrefabInfo(new Resulting(rl) { + // public void requestCompleted(Prefabs.GlobalInfo info) { + // boolean dev = DeploymentConfig.isDevDeployment(); + // Map> fabsetInfo = Maps.newHashMap(); + // Map> devsetInfo = dev ? Maps.newHashMap() : Collections.emptyMap(); + // for (String fabset : fabsets) { + // Prefabs.Fabset fabs = info.fabsets.get(fabset); + // if (fabs == null) { + // fabsetInfo.put(fabset, Collections.emptyList()); + // if (dev) + // devsetInfo.put(fabset, Collections.emptyList()); + // continue; + // } + // Iterable allFabs = fabs.allFabs(); + // if (dev) { + // Iterable devFabs = Iterables.filter(allFabs, (Predicate) PrefabFilter.IS_DEV); + // devsetInfo.put(fabset, Lists.newArrayList(Iterables.transform(devFabs, Functions.toStringFunction()))); + // allFabs = Iterables.filter(allFabs, Predicates.not((Predicate) PrefabFilter.IS_DEV)); + // } + // fabsetInfo.put(fabset, Lists.newArrayList(Iterables.transform(allFabs, Functions.toStringFunction()))); + // } + // rl.requestProcessed(Arrays.asList(protoToFabset, fabsetInfo, devsetInfo)); + // } + // }); + } + + /** + * Grants the caller given amount of crowns. + */ + @Override + public void grantCrowns(ClientObject caller, int number, ConfirmListener cl) throws InvocationException { + PlayerObject playerObject = (PlayerObject) caller; + ensureAdmin(playerObject); + this._knightMgr.grantCrowns(playerObject, number); + log.info("Admin granted crowns themself", "who", caller.who(), "amount", number); + cl.requestProcessed(); + } + + /** + * Kicks the specified player out of the server. + */ + @Override + public void kickPlayer(ClientObject caller, Name name, ConfirmListener cl) + throws InvocationException { + PlayerObject playerObject = (PlayerObject) caller; + ensureSupport(playerObject); + ensureSelected(playerObject); + + if (!_peerMgr.invokeKnightAction(name, new KickAction(name))) { + throw new InvocationException("m.user_not_online"); + } else { + cl.requestProcessed(); + } + } + + /** + * Moves the caller to given player's location. + */ + @Override + public void moveToPlayer(ClientObject caller, Name name, ConfirmListener cl) throws InvocationException { + PlayerObject playerObject = (PlayerObject) caller; + + this.ensureSupport(playerObject); + this.ensureSelected(playerObject); + + if (playerObject.knight.equals(name)) { + cl.requestProcessed(); + return; + } + + this.movePlayer(playerObject, name, cl); + } + + public void movePlayer(PlayerObject player, final Name name, ConfirmListener cl) throws InvocationException { + PlayerData data = this._peerMgr.getKnight(name); + if (data == null) { + throw new InvocationException("m.user_not_online"); + } + + (new ProviderPlayerTransfer(player, data.getNodeName(PeerConfig.getNode()), cl) { + @Override + protected void requestTransfer(ProjectXPeerProvider provider, PlayerObject player, Object[] locals) throws InvocationException { + provider.moveToPlayer(null, player, locals, name, this); + } + }).invoke(this._peerMgr); + } + + /** + * Moves the caller to given scene instance. + */ + @Override + public void moveToSceneInstance(ClientObject caller, final int zoneId, int instanceId, final int sceneId, ConfirmListener listener) throws InvocationException { + final PlayerObject plobj = (PlayerObject)caller; + ensureAdmin(plobj); + Object zmgr = this._zoneRegistry.getZoneManager(zoneId); + if (!(zmgr instanceof InstancedZoneManager)) { + log.warning("Got zone move request for non-instanced zone.", + "who", plobj.who(), "zoneId", zoneId); + throw new InvocationException("m.internal_error"); + } else { + IgnoreConfirmAdapter rl = new IgnoreConfirmAdapter(listener) { + @Override + public void requestCompleted(Boolean result) { + if (result) { + _zoneRegistry.moveBody(plobj, zoneId, sceneId, null); + super.requestCompleted(result); + } else { + InvocationMarshaller.setNoResponse(this._listener); + } + + } + }; + boolean result = ((InstancedZoneManager) zmgr).addToInstance(plobj, zoneId, instanceId, sceneId, null, true, rl); + if (!result) { + throw new InvocationException("m.no_such_zone"); + } + } + } + + /** + * Recharges player with vapor. + */ + @Override + public void rechargePlayer(ClientObject caller, Name name, InvocationService.ConfirmListener cl) throws InvocationException { + PlayerObject playerObject = (PlayerObject) caller; + ensureSupport(playerObject); + + if (!playerObject.knight.equals(name)) { + ensureAdmin(playerObject); + } + + if (!this._peerMgr.invokeKnightAction(name, new AddVaporAction(name, 100))) { + throw new InvocationException("m.user_not_online"); + } + + cl.requestProcessed(); + } + + /** + * Schedules a peer shutdown. + */ + @Override + public void schedulePeerShutdown(ClientObject caller, String nodeName, boolean reboot, + int minDelay, int maxDelay, int earlyPlayers, String msg, ConfirmListener cl) + throws InvocationException { + PlayerObject playerObject = (PlayerObject) caller; + ensureAdmin(playerObject); + _peerMgr.requireProjectXPeerProvider(nodeName).scheduleShutdown(null, reboot, minDelay, + maxDelay, earlyPlayers, msg, cl); + } + + /** + * Schedules a peer reboot. + */ + @Override + public void scheduleReboot(ClientObject caller, int delay, String msg, ConfirmListener cl) + throws InvocationException { + PlayerObject playerObject = (PlayerObject) caller; + ensureAdmin(playerObject); + ensureSelected(playerObject); + _rebootMgr.scheduleReboot(playerObject, delay, msg, false); + cl.requestProcessed(); + } + + /** + * Sets given flag on caller's PlayerObject. + */ + @Override + public void setFlag(ClientObject caller, int flag, boolean toggle, ConfirmListener cl) + throws InvocationException { + PlayerObject playerObject = (PlayerObject) caller; + ensureAdmin(playerObject); + + if (playerObject.isSet(flag) == toggle) { + cl.requestProcessed(); + return; + } + + playerObject.set(flag, toggle); + _bodyMgr.updateOccupantInfo(playerObject, (Updater) occupantInfo -> { + ProjectXOccupantInfo newOccupantInfo = new ProjectXOccupantInfo(playerObject); + + if (occupantInfo.type != newOccupantInfo.type) { + occupantInfo.type = newOccupantInfo.type; + return true; + } + + return false; + }); + + cl.requestProcessed(); + } + + /** + * Sets the caller party's depth. + */ + @Override + public void setDepth(ClientObject caller, int depth, ConfirmListener cl) throws InvocationException { + PlayerObject playerObject = (PlayerObject) caller; + ensureSupport(playerObject); + ensureSelected(playerObject); + Party party = Party.getParty(playerObject); + if (party != null) { + party.setDepth(depth); + cl.requestProcessed(); + } else { + throw new InvocationException("m.internal_error"); + } + } + + /** + * Sets heat for item in given slot. + */ + @Override + public void setHeat(ClientObject caller, int slot, int heat, InvocationService.ConfirmListener cl) throws InvocationException { + PlayerObject playerObject = (PlayerObject)caller; + ensureSupport(playerObject); + ensureSelected(playerObject); + this._itemMgr.setHeat(playerObject, slot, heat, new ConfirmAdapter(cl)); + } + + /** + * Sets the level of item in given slot. + */ + @Override + public void setLevel(ClientObject caller, int slot, int level, InvocationService.ConfirmListener cl) throws InvocationException { + PlayerObject playerObject = (PlayerObject)caller; + ensureSupport(playerObject); + ensureSelected(playerObject); + this._itemMgr.setLevel(playerObject, slot, level, new ConfirmAdapter(cl)); + } + + /** + * Spawns a new actor with given configuration in player's current scene. + */ + @Override + public void spawnActor(ClientObject caller, ConfigReference config, ConfirmListener cl) + throws InvocationException { + PlayerObject playerObject = (PlayerObject) caller; + ensureAdmin(playerObject); + + PlaceManager placeManager = _placeRegistry.getPlaceManager(playerObject.getPlaceOid()); + + if (!(placeManager instanceof TudeySceneManager)) { + log.warning("Admin tried spawning actor, but not in scene", "who", caller.who(), "what", + config); + throw new InvocationException("m.internal_error"); + } + + TudeySceneManager sceneManager = (TudeySceneManager) placeManager; + Vector2f actorTranslation = Vector2f.ZERO; + float actorRotation = 0.0f; + + ActorLogic playerLogic = sceneManager.getTarget(playerObject); + if (playerLogic != null) { + actorTranslation = playerLogic.getTranslation(); + actorRotation = playerLogic.getRotation(); + } + + ActorLogic spawnedActorLogic = sceneManager.spawnActor(sceneManager.getNextTimestamp(), actorTranslation, actorRotation, + (ConfigReference) config); + SpeakUtil.sendFeedback(playerObject, null, "Actor spawned."); + if (spawnedActorLogic instanceof MonsterLogic) { + ((MonsterLogic) spawnedActorLogic).activate(sceneManager.getNextTimestamp()); + } + log.info("Admin spawned an actor", "who", caller.who(), "what", config); + cl.requestProcessed(); + } + + /** + * Moves specified player to caller's location. + */ + @Override + public void summonPlayer(ClientObject caller, Name name, ConfirmListener cl) throws InvocationException { + PlayerObject playerObject = (PlayerObject) caller; + ensureSupport(playerObject); + ensureSelected(playerObject); + if (playerObject.knight.equals(name)) { + cl.requestProcessed(); + return; + } + this._peerMgr.requireProjectXPeerProvider(name).summonPlayer(null, name, playerObject.knight, cl); + } + + /** + * Performs a test for given prefab. + */ + @Override + public void testPrefab(ClientObject caller, String proto, String fab, final int depth, ConfirmListener cl) throws InvocationException { + final PlayerObject playerObject = (PlayerObject) caller; + ensureSupport(playerObject); + ensureSelected(playerObject); + final RandomLevelData clone = (RandomLevelData) this._dungeonMgr.getRandomLevelData(proto).copy(RandomLevelData.createMutable()); + clone.set(RandomLevelData.testPrefab, fab); + this._peerMgr.getTestGateId(null, new Resulting("getTestGateId", cl) { + @Override + public void requestCompleted(Integer gateId) { + if (!playerObject.isActive()) + return; + ThetyaAdminManager.this._peerMgr.invokeNodeAction(new ThetyaAdminManager.CreateTestGateAction(playerObject.knight, gateId, clone, depth)); + cl.requestProcessed(); + ThetyaAdminManager.this._dungeonMgr.getGate(gateId).joinParty(playerObject, 0, true, true, new Resulting<>("testgate", Log.log, "who", playerObject)); + } + }); + } + + /** + * Handles a scene file upload, initiates the scene on a special gate and moves the caller to it. + */ + @Override + public void testScene(ClientObject caller, final TudeySceneModel scene, final ResultListener rl) + throws InvocationException { + final PlayerObject player = (PlayerObject) caller; + this.ensureAdmin(player); + this.ensureSelected(player); + this._peerMgr.getTestGateId(null, new ResultListener() { + @Override + public void requestProcessed(Object result) { + if (player.isActive()) { + int gateId = (Integer)result; + scene.sceneId = 2147450880 - gateId; + scene.invalidate(); + ThetyaAdminManager.this._peerMgr.invokeNodeAction + (new CreateTestGateAction(player.knight, gateId, scene)); + rl.requestProcessed(scene.sceneId); + ThetyaAdminManager.this._dungeonMgr.getGate(gateId).joinParty(player, 0, true, true, new ComplainingListener<>( + Log.log, "Failed to join test gate party.", new Object[]{"who", player})); + } + } + + @Override + public void requestFailed(String cause) { + Log.log.warning("Failed to get test gate id.", "who", player.who(), + "cause", cause); + } + }); + } + + public void languageBroadcast(ClientObject caller, String language, String message, ConfirmListener cl) throws InvocationException { + PlayerObject playerObject = (PlayerObject) caller; + ensureSupport(playerObject); + ensureSelected(playerObject); + _peerMgr.invokeNodeAction(new LanguageBroadcastAction(playerObject.getVisibleName(), language, message)); + cl.requestProcessed(); + } + + public void peerBroadcast(ClientObject caller, String message, ConfirmListener cl) throws InvocationException { + PlayerObject playerObject = (PlayerObject) caller; + ensureSupport(playerObject); + ensureSelected(playerObject); + _chatProvider.broadcast(playerObject.knight, null, message, true, false); + cl.requestProcessed(); + } + + /** + * Sends a message to all admins. + */ + @Override + public void speak(ClientObject caller, String message, byte mode) { + PlayerObject playerObject = (PlayerObject) caller; + + if (!playerObject.tokens.isAdmin()) { + Log.log.warning("Non-admin tried to access admin speak service", "who", playerObject.who()); + return; + } + + SpeakUtil.sendSpeak(_adminObject, playerObject.knight, null, message, (byte) 0); + } + + @Override + public boolean allowSubscribe(DObject dObject, Subscriber subscriber) { + if (!(subscriber instanceof ProxySubscriber)) { + return true; + } else { + Object clobj = ((ProxySubscriber) subscriber).getClientObject(); + if (!(clobj instanceof PlayerObject)) { + return false; + } else { + PlayerObject plobj = (PlayerObject) clobj; + return dObject != this._statusObject && dObject != this._placeBrowserObject ? plobj.tokens + .isAdmin() : plobj.tokens.isSupportPlus(); + } + } + } + + @Override + public boolean allowDispatch(DObject dObject, DEvent dEvent) { + Object clientObject = _distributedObjectsMgr.getObject(dEvent.getSourceOid()); + + return !(clientObject instanceof PlayerObject) || ((PlayerObject) clientObject).tokens + .isAdmin(); + } + + @Override + public void eventReceived(DEvent distributedEvent) { + if (!(distributedEvent instanceof NamedEvent)) { + return; + } + + final String eventName = ((NamedEvent) distributedEvent).getName(); + if (PUBLISHED_COSTS.contains(eventName)) { + _serverObject.changeAttribute(eventName, _costsConfig.getAttribute(eventName)); + } + } + + /** + * Makes sure passed player is an admin, throws an {@link InvocationException} if not. + */ + private void ensureAdmin(PlayerObject playerObject) throws InvocationException { + if (!playerObject.tokens.isAdmin()) { + Log.log.warning("Non-admin tried to access admin services", "who", playerObject.who()); + throw new InvocationException("m.access_denied"); + } + } + + /** + * Makes sure passed player is at least a Support member, + * throws an {@link InvocationException} if not. + */ + private void ensureSupport(PlayerObject playerObject) throws InvocationException { + if (!playerObject.tokens.isSupportPlus()) { + Log.log.warning("Non-support tried to access support services.", "who", playerObject.who()); + throw new InvocationException("m.access_denied"); + } + } + + /** + * Makes sure passed player has already chosen an available knight, + * throws an {@link InvocationException} if not. + */ + protected void ensureSelected(PlayerObject playerObject) throws InvocationException { + if (playerObject.knightId == 0) { + Log.log.warning("User has yet to select a knight.", "who", playerObject.who()); + throw new InvocationException("m.internal_error"); + } + } + + /** + * Updates periodic stats for the status viewer tool. + */ + private void updatePeriodicStats() { + NodeStatus serverStatus = _statusObject.nodeStatus.get(getLocalNodeName()); + serverStatus.connStats = _connectionMgr.getStats(); + + Runtime runtime = Runtime.getRuntime(); + serverStatus.freeMemory = (int) (runtime.freeMemory() / 1024); + serverStatus.totalMemory = (int) (runtime.totalMemory() / 1024); + serverStatus.maxMemory = (int) (runtime.maxMemory() / 1024); + + List sceneTickers = _sceneRegistry.getBaseTickers(); + serverStatus.baseTickers = sceneTickers.size(); + serverStatus.totalBaseTickInterval = getTotalTickInterval(sceneTickers); + + List dungeonTickers = _sceneRegistry.getDungeonTickers(); + serverStatus.dungeonTickers = dungeonTickers.size(); + serverStatus.totalDungeonTickInterval = getTotalTickInterval(dungeonTickers); + + serverStatus.baseScenes = serverStatus.dungeonScenes = 0; + serverStatus.baseActors = serverStatus.dungeonActors = 0; + serverStatus.baseTickParticipants = serverStatus.dungeonTickParticipants = 0; + + for (Iterator it = _placeRegistry.enumeratePlaceManagers(); it.hasNext(); ) { + PlaceManager placeMgr = it.next(); + + if (placeMgr instanceof LevelSceneManager) { + LevelSceneManager sceneMgr = (LevelSceneManager) placeMgr; + ++serverStatus.dungeonScenes; + serverStatus.dungeonActors += sceneMgr.getActorCount(); + serverStatus.dungeonTickParticipants += sceneMgr.getTickParticipantCount(); + continue; + } + + if (placeMgr instanceof ThetyaSceneManager) { + ThetyaSceneManager sceneMgr = (ThetyaSceneManager) placeMgr; + ++serverStatus.baseScenes; + serverStatus.baseActors += sceneMgr.getActorCount(); + serverStatus.baseTickParticipants += sceneMgr.getTickParticipantCount(); + } + } + + serverStatus.load = _peerMgr.getLocalLoad(); + serverStatus.uptime = System.currentTimeMillis() - _started; + + nodeStatusUpdated(serverStatus); + maybePublishNodeStatus(serverStatus); + } + + protected int getTotalTickInterval(List sceneTickers) { + int total = 0; + int ii = 0; + + for(int nn = sceneTickers.size(); ii < nn; ++ii) { + total += (sceneTickers.get(ii)).getActualInterval(); + } + + return total; + } + + public void nodeStatusUpdated(NodeStatus status) { + this._statusObject.updateNodeStatus(status); + updateCombinedNodeStatus(); + } + + protected void updateCombinedNodeStatus() { + NodeStatus status = this._statusObject.nodeStatus.get("(all)"); + status.reset(); + + for (NodeStatus otherStatus : this._statusObject.nodeStatus) { + if (otherStatus != status) { + status.merge(otherStatus); + } + } + _statusObject.updateNodeStatus(status); + _peerMgr.maybeReleaseFromLogonQueue(); + } + + protected void maybePublishNodeStatus(NodeStatus status) { + Object nodeobj = this._peerMgr.getNodeObject(); + if (nodeobj != null) + ((ProjectXNodeObject) nodeobj).setStatus(status); + } + + protected void maybePublishNodeInfo(NodeInfo info) { + Object nodeobj = this._peerMgr.getNodeObject(); + if (nodeobj != null) + ((ProjectXNodeObject) nodeobj).setInfo(info); + } + + public void nodeAdded(NodeInfo info, NodeStatus status) { + this._adminObject.addToNodeInfo(info); + this._statusObject.addToNodeStatus(status); + updateCombinedNodeStatus(); + } + + public void nodeRemoved(String nodeName) { + this._adminObject.removeFromNodeInfo(nodeName); + this._statusObject.removeFromNodeStatus(nodeName); + updateCombinedNodeStatus(); + } + + private T registerConfigObject(String name, T configObject) { + _registry.registerObject("projectx." + name, "/com/threerings/projectx/admin/" + name, _distributedObjectsMgr.registerObject(configObject)); + + configObject.setAccessController(this); + configObject.addListener(this); + + return configObject; + } + + public void nodeInfoUpdated(NodeInfo info) { + this._adminObject.updateNodeInfo(info); + } + + public boolean clusterAtCapacity() { + return (getLoggedOnCount() >= getMaxConcurrentUsers()); + } + + public int getLoggedOnCount() { + return this._statusObject.nodeStatus.get("(all)").logonStats.getCurrent(); + } + + public int getMaxConcurrentUsers() { + return this._peerMgr.getNodeCount() * this._serverConfig.maxPerNode; + } + + public ServerConfigObject getServerConfigObject() { + return _serverConfig; + } + + public DungeonConfigObject getDungeonConfigObject() { + return _dungeonConfig; + } + + public DebugConfigObject getDebugConfigObject() { + return _debugConfig; + } + + public PvpConfigObject getPvpConfigObject() { + return _pvpConfig; + } + + public AnnouncementConfigObject getAnnouncementConfigObject() { + return _announcementConfig; + } + + public AdminObject getAdminObject() { + return _adminObject; + } + + public PlaceBrowserObject getPlaceBrowserObject() { + return _placeBrowserObject; + } + + public StatusObject getStatusObject() { + return _statusObject; + } + + protected String getLocalNodeName() { + String name = PeerConfig.getNode(); + return (name == null) ? "local" : name; + } + + public void noteQueueAddition() { + NodeStatus status = _statusObject.nodeStatus.get(getLocalNodeName()); + status.queueStats.noteAddition(); + nodeStatusUpdated(status); + maybePublishNodeStatus(status); + } + + public void noteQueueRemoval(long added, boolean abandoned) { + NodeStatus status = _statusObject.nodeStatus.get(getLocalNodeName()); + status.queueStats.noteRemoval(added, abandoned); + nodeStatusUpdated(status); + maybePublishNodeStatus(status); + } + + public void noteLogon() { + NodeStatus status = _statusObject.nodeStatus.get(getLocalNodeName()); + status.logonStats.noteAddition(); + nodeStatusUpdated(status); + maybePublishNodeStatus(status); + } + + public void noteLogoff(long loggedOn) { + NodeStatus status = _statusObject.nodeStatus.get(getLocalNodeName()); + status.logonStats.noteRemoval(loggedOn); + nodeStatusUpdated(status); + maybePublishNodeStatus(status); + } + + public void notePartyFormed() { + NodeStatus status = _statusObject.nodeStatus.get(getLocalNodeName()); + status.partyStats.noteAddition(); + nodeStatusUpdated(status); + maybePublishNodeStatus(status); + } + + public void notePartyDissolved(long formed, int floors) { + NodeStatus status = _statusObject.nodeStatus.get(getLocalNodeName()); + status.partyStats.noteRemoval(formed, floors); + nodeStatusUpdated(status); + maybePublishNodeStatus(status); + } + + public void scheduleShutdown(boolean reboot, int minDelay, int maxDelay, int earlyPlayers, String msg) { +// final NodeInfo info = (NodeInfo)this._adminObject.nodeInfo.get(getLocalNodeName()); +// if (this._shutdowner == null) +// (this._shutdowner = new Interval((RunQueue)this._distributedObjectsMgr) { +// public void expired() { +// long now = System.currentTimeMillis(); +// if (now >= info.maxShutdownTime || (now >= info.minShutdownTime && this._clmgr.getConnectionCount() <= info.earlyShutdownPlayers)) { +// this.shutdown(info.reboot); +// return; +// } +// int minutes = (int)(info.maxShutdownTime - now) / 60000; +// if (!IntListUtil.contains(RebootManager.WARNINGS, minutes)) +// return; +// String msg = MessageBundle.compose("m.shutdown_warning", MessageBundle.taint(Integer.valueOf(minutes)), StringUtil.isBlank(this.val$info.shutdownMessage) ? "m.shutdown_message_default" : MessageBundle.taint(this.val$info.shutdownMessage)); +// ThetyaAdminManager._chatProvider.broadcast(null, "projectx", msg, true, false); +// } +// }).schedule(1000L, 60000L, true); +// long now = System.currentTimeMillis(); +// info.minShutdownTime = now + minDelay * 60L * 1000L; +// info.maxShutdownTime = now + maxDelay * 60L * 1000L; +// info.earlyShutdownPlayers = earlyPlayers; +// info.shutdownMessage = msg; +// info.reboot = reboot; +// nodeInfoUpdated(info); +// maybePublishNodeInfo(info); + } + + public void cancelShutdown() { + if (this._shutdowner != null) { + this._shutdowner.cancel(); + this._shutdowner = null; + } + NodeInfo info = this._adminObject.nodeInfo.get(getLocalNodeName()); + info.minShutdownTime = 0L; + nodeInfoUpdated(info); + maybePublishNodeInfo(info); + } + + public boolean willShutdown() { + return (this._shutdowner != null); + } + + public boolean isShuttingDown() { + return this._shuttingDown; + } + + public static class AddVaporAction + extends ThetyaPeerManager.KnightAction { + protected int _amount; + + public AddVaporAction(Name name, int amount) { + super(name); + this._amount = amount; + } + + @Override + protected void execute(PlayerObject playerObject) { + playerObject.addVapor(System.currentTimeMillis(), this._amount); + } + } + + public static class LanguageBroadcastAction extends NodeAction { + + protected Name _speaker; + protected String _language; + protected String _message; + @Inject protected transient KnightManager _knightMgr; + + public LanguageBroadcastAction(Name speaker, String language, String message) { + _speaker = speaker; + _language = language; + _message = message; + } + + public LanguageBroadcastAction() { + } + + @Override + public boolean isApplicable(NodeObject nodeObject) { + return true; + } + + @Override + protected void execute() { + //Iterator i$ = this._knightMgr.getPlayers().iterator(); +// + //while(i$.hasNext()) { + // PlayerObject plobj = (PlayerObject)i$.next(); +// + // if ((plobj.getLocal(PlayerLocal.class)).credentials.language.equals(_language)) { + // SpeakUtil.sendSpeak(plobj, _speaker, null, _message, (byte) 4); + // } + //} + + } + } + + public static class AdminSpeakAction extends NodeAction { + + protected Name _speaker; + protected String _bundle; + protected String _message; + protected byte _mode; + @Inject protected transient ThetyaAdminManager _adminMgr; + + public AdminSpeakAction(Name speaker, String bundle, String message) { + this(speaker, bundle, message, (byte) 0); + } + + public AdminSpeakAction(Name speaker, String bundle, String message, byte mode) { + _speaker = speaker; + _bundle = bundle; + _message = message; + _mode = mode; + } + + public AdminSpeakAction() { + } + + @Override + public boolean isApplicable(NodeObject nodeObject) { + return true; + } + + @Override + protected void execute() { + SpeakUtil.sendSpeak(_adminMgr.getAdminObject(), new Name("[Admin Chat] " + _speaker.toString()), _bundle, _message, _mode); + } + } + + public static class CreateTestGateAction extends NodeAction { + protected Name _creator; + protected int _gateId; + protected int _depthOffset; + protected TudeySceneModel _scene; + protected RandomLevelData _data; + @Inject protected transient ThetyaSceneRegistry _screg; + @Inject protected transient DungeonManager _dungeonmgr; + + public CreateTestGateAction() {} + + public CreateTestGateAction(Name creator, int gateId, TudeySceneModel scene) { + this._creator = creator; + this._gateId = gateId; + this._scene = scene; + } + + public CreateTestGateAction(Name creator, int gateId, RandomLevelData data, int depthOffset) { + this._creator = creator; + this._gateId = gateId; + this._data = data; + this._depthOffset = depthOffset; + } + + @Override + public boolean isApplicable(NodeObject nodeobj) { + return true; + } + + @Override + protected void execute() { + int sceneId; + if (this._scene != null) { + this._screg.registerTestScene(this._scene); + sceneId = this._scene.sceneId; + } else { + sceneId = /*this._screg.registerRandomLevel(this._data)*/4; + } + + this._dungeonmgr.createTestGate(this._creator, this._gateId, sceneId, this._depthOffset); + } + } + + public static class KickAction extends KnightAction { + @Inject protected transient ThetyaClientManager _clmgr; + + public KickAction(Name name) { + super(name); + } + + public KickAction() { + } + + protected void execute(PlayerObject player) { + PresentsSession session = _clmgr.getClient(player.username); + if (session != null) { + session.endSession(); + } else { + log.warning("Missing session for user.", "username", player.username); + } + + } + } +} diff --git a/src/com/github/thetya/server/admin/commands/ChatCommandHandler.java b/src/com/github/thetya/server/admin/commands/ChatCommandHandler.java new file mode 100644 index 0000000..d56cb63 --- /dev/null +++ b/src/com/github/thetya/server/admin/commands/ChatCommandHandler.java @@ -0,0 +1,92 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.admin.commands; + +import com.google.common.collect.Maps; +import com.google.inject.Singleton; +import com.threerings.projectx.data.PlayerObject; +import java.util.Map; + +import static com.github.thetya.server.admin.Log.log; + +/** + * Handles custom, server-side commands which are easy to implement because they do not require + * client code ingerence. They unfortunately are not displayed in the help message and are required + * to be invoked via the use of alternate prefix. + * + * All the command classes should be marked as singletons. + */ +@Singleton +public class ChatCommandHandler { + + /** The command map, mapping the command name to its instance. */ + protected Map _commandMap; + + /** The prefix for our custom commands. */ + protected static final String CUSTOM_PREFIX = "."; + + /** + * Constructs a new chat command handler. + */ + public ChatCommandHandler() { + _commandMap = Maps.newHashMap(); + + // Register custom commands here, eg. registerCommand(new BanCommand()); + + if (!_commandMap.isEmpty()) { + log.debug("Registered a total of " + _commandMap.size() + " server-side admin commands."); + } + } + + /** + * Parses given message looking for valid, registered command. If there is such a command, it + * is instantly being executed. + * + * @param caller The calling player. + * @param originalMessage The original message containing the probable command. + * + * @return True if the message contains a valid command, false otherwise. + */ + public boolean handleCommand(PlayerObject caller, String originalMessage) { + // We don't want to handle messages which do not start with our custom prefix + if (!originalMessage.startsWith(CUSTOM_PREFIX)) { + return false; + } + + // Remove the leading prefix + String command = originalMessage + .substring(CUSTOM_PREFIX.length()) + .split(" ")[0] + .toLowerCase(); + + String[] args = originalMessage + .substring(CUSTOM_PREFIX.length()) + .replaceFirst(String.format("%s ", command), "") + .split(" "); + + System.out.println("CMD: " + command + "ARGS: " + (args.length > 1 ? String.join("|", args) : "NONE")); + + if (_commandMap.containsKey(command)) { + _commandMap.get(command).execute(caller, args); + return true; + } + + return false; + } + + /** + * Registers a command by its name, putting it into the command map. + * + * @param command The command to register. + */ + protected void registerCommand(Command command) { + log.debug("Registering server-side command", "which", command.getName(), + "description", command.getDescription()); + _commandMap.put(command.getName(), command); + } +} diff --git a/src/com/github/thetya/server/admin/commands/Command.java b/src/com/github/thetya/server/admin/commands/Command.java new file mode 100644 index 0000000..b21bd0c --- /dev/null +++ b/src/com/github/thetya/server/admin/commands/Command.java @@ -0,0 +1,84 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.admin.commands; + +import com.google.inject.Singleton; +import com.threerings.crowd.chat.server.SpeakUtil; +import com.threerings.projectx.data.PlayerObject; + +/** + * An abstract class all custom command implementations should derive from (extend). + * + * What you should have in mind implementing your own commands: + *
    + *
  1. You do not have to override the {@link #checkPermissions(PlayerObject)} method.
  2. + *
  3. Always call the {@link #execute(PlayerObject, String[])} method's super.
  4. + *
+ */ +@Singleton +public abstract class Command implements Executable { + + /** Command name. */ + protected String _name; + + /** Command description. */ + protected String _description; + + /** Command usage. */ + protected String _usage; + + public Command(String name, String description, String usage) { + _name = name; + _description = description; + _usage = usage; + } + + @Override + public boolean checkPermissions(PlayerObject caller) { + return caller.getTokens().isSupportPlus(); + } + + @Override + public void execute(PlayerObject caller, String[] args) { + // Sanity check + if (!checkPermissions(caller)) { + SpeakUtil.sendFeedback(caller, "global", "m.access_denied"); + } + + // Here goes the rest of the implementation. Remember to call super on this method! + } + + /** + * Sends the usage message to target player. + */ + protected void sendUsageMessage(PlayerObject target) { + String usageMessage = String.format("%s\nUsage: %s", getDescription(), getUsage()); + SpeakUtil.sendFeedback(target, null, usageMessage); + } + + /** + * Returns the name of this command. + */ + public String getName() { + return _name; + } + + /** + * Returns the description of this command. + */ + public String getDescription() { + return _description; + } + + /** + * Returns the usage of this command. + */ + public String getUsage() { + return _usage; + } +} diff --git a/src/com/github/thetya/server/admin/commands/Executable.java b/src/com/github/thetya/server/admin/commands/Executable.java new file mode 100644 index 0000000..95c9745 --- /dev/null +++ b/src/com/github/thetya/server/admin/commands/Executable.java @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.admin.commands; + +import com.threerings.projectx.data.PlayerObject; + +/** + * Base interface all {@link Command} classes must extend. + */ +public interface Executable { + + /** + * Checks whether the caller should be allowed to use this command. + * + * @param caller The calling player. + * + * @return True if they are allowed, false otherwise. + */ + boolean checkPermissions(PlayerObject caller); + + /** + * Executes the command logic. + * + * @param caller The calling player. + * + * @param args Supplied command arguments. + */ + void execute(PlayerObject caller, String[] args); +} diff --git a/src/com/github/thetya/server/billing/BillingManager.java b/src/com/github/thetya/server/billing/BillingManager.java new file mode 100644 index 0000000..ac04d6b --- /dev/null +++ b/src/com/github/thetya/server/billing/BillingManager.java @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.billing; + +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.client.InvocationService.ResultListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationManager; +import com.threerings.projectx.billing.data.BillingMarshaller; +import com.threerings.projectx.billing.data.BillingResponseCode; +import com.threerings.util.MessageBundle; + +@Singleton +public class BillingManager implements BillingProvider { + + @Inject + public BillingManager(InvocationManager invocationMgr) { + invocationMgr.registerProvider(this, BillingMarshaller.class, "presents"); + } + + @Override + public void buy(ClientObject caller, String cardSecurityCode, int coinPackageId, boolean save, + ResultListener rl) throws InvocationException { + rl.requestProcessed(BillingResponseCode.ERROR.getCode()); + } + + @Override + public void buyWithCard(ClientObject caller, String cardholder, String cardNumber, int month, + int year, String postalCode, String cardSecurityCode, int coinPackageId, boolean save, + ResultListener rl) throws InvocationException { + rl.requestProcessed(BillingResponseCode.ERROR.getCode()); + } + + @Override + public void getEnergyPacks(ClientObject caller, ResultListener rl) throws InvocationException { + rl.requestFailed(MessageBundle.taint("Sorry, but P2W features are disabled on this server.")); + } + + @Override + public void getLastFour(ClientObject caller, ResultListener rl) throws InvocationException { + rl.requestFailed(MessageBundle.taint("Sorry, but P2W features are disabled on this server.")); + } + + @Override + public void initMicroTxn(ClientObject caller, int packageId, ConfirmListener cl) + throws InvocationException { + cl.requestFailed(MessageBundle.taint("Sorry, but P2W features are disabled on this server.")); + } + + @Override + public void respondToMicroTxnRequest(ClientObject caller, long orderId, boolean authorized, + ConfirmListener cl) throws InvocationException { + cl.requestFailed(MessageBundle.taint("Sorry, but P2W features are disabled on this server.")); + } +} diff --git a/src/com/github/thetya/server/billing/BillingProvider.java b/src/com/github/thetya/server/billing/BillingProvider.java new file mode 100644 index 0000000..13073e6 --- /dev/null +++ b/src/com/github/thetya/server/billing/BillingProvider.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.billing; + +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.client.InvocationService.ResultListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationProvider; + +/** + * Defines the server-side of {@link com.threerings.projectx.billing.client.BillingService}. Method + * signatures declared here are reversely looked up (via the help of corresponding Marshaller) to + * invocation method codes. + * + * OOO were probably the happiest when writing this specific code, weren't they? :-P + */ +public interface BillingProvider extends InvocationProvider { + + // ID 1 + void buy(ClientObject caller, String cardSecurityCode, int coinPackageId, boolean save, ResultListener rl) throws InvocationException; + + // ID 2 + void buyWithCard(ClientObject caller, String cardholder, String cardNumber, int month, int year, String postalCode, String cardSecurityCode, int coinPackageId, boolean save, ResultListener rl) throws InvocationException; + + // ID 3 + void getEnergyPacks(ClientObject caller, ResultListener rl) throws InvocationException; + + // ID 4 + void getLastFour(ClientObject caller, ResultListener rl) throws InvocationException; + + // ID 5 + void initMicroTxn(ClientObject caller, int packageId, ConfirmListener cl) throws InvocationException; + + // ID 6 + void respondToMicroTxnRequest(ClientObject caller, long orderId, boolean authorized, ConfirmListener cl) throws InvocationException; +} diff --git a/src/com/github/thetya/server/billing/Log.java b/src/com/github/thetya/server/billing/Log.java new file mode 100644 index 0000000..b590e64 --- /dev/null +++ b/src/com/github/thetya/server/billing/Log.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.billing; + +import com.samskivert.util.Logger; + +/** + * Contains a reference to the {@link Logger} object used by the billing package. + */ +@SuppressWarnings("unused") +public class Log { + + /** + * The {@link Logger} reference. + */ + public static Logger log = Logger.getLogger("com.github.thetya.server.billing"); +} diff --git a/src/com/github/thetya/server/board/BoardManager.java b/src/com/github/thetya/server/board/BoardManager.java new file mode 100644 index 0000000..16cadb1 --- /dev/null +++ b/src/com/github/thetya/server/board/BoardManager.java @@ -0,0 +1,157 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.board; + +import com.github.thetya.server.admin.ThetyaAdminManager; +import com.github.thetya.server.dungeon.DungeonManager; +import com.github.thetya.server.dungeon.Gate; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.client.InvocationService.ResultListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationManager; +import com.threerings.presents.util.IgnoreConfirmAdapter; +import com.threerings.presents.util.ResultAdapter; +import com.threerings.projectx.board.data.BoardMarshaller; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.dungeon.data.GateSummary; + +import static com.github.thetya.server.board.Log.log; + +/** + * A manager for the adventure board service. It is responsible for creating and joining dungeon + * parties by our players. + */ +@Singleton +public class BoardManager implements BoardProvider { + + /* Dependencies */ + @Inject protected DungeonManager _dungeonMgr; + @Inject protected ThetyaAdminManager _adminMgr; + + /** + * Constructs a new board manager instance. + * + * @param invocationMgr The invocation manager (for presents provider registration). + */ + @Inject + public BoardManager(InvocationManager invocationMgr) { + // Boot along with presents due to this service's importance + invocationMgr.registerProvider(this, BoardMarshaller.class, "presents"); + } + + /** + * Attempts to find and join a public party matching given criteria. + * + * @param caller The calling player. + * @param gateId Desired gate identifier. + * @param segment Desired gate segment. + * @param floor Desired floor. + * @param anyLanguage Whether to look for parties of all languages or only those matching the + * caller's credentials' language property. + * @param autoCreate Whether to create a new party if there are none matching the criteria + * specified by the caller. + * @param rl Operation result listener. + */ + @Override + public void joinParty(ClientObject caller, int gateId, int segment, int floor, + boolean anyLanguage, boolean autoCreate, ResultListener rl) throws InvocationException { + PlayerObject player = (PlayerObject) caller; + Gate gate = getGateForPlayer(player, gateId, segment); + GateSummary gateSummary = gate.getSummary(); + + if (gateSummary.isSet(2)) { + log.warning("Player tried join a party on a solo gate via adventure board", + "who", player.who(), "gate", gate.getData().getName()); + throw new InvocationException("m.internal_error"); + } + + if (player.getEnergy(System.currentTimeMillis()) < gate.getEnergy(segment)) { + throw new InvocationException("m.nsf_energy"); + } + + if (player.crowns < gateSummary.getCrowns(player, segment, _adminMgr.getServerObject())) { + throw new InvocationException("m.nsf_crowns"); + } + + if (floor == -1) { + floor = gateSummary.getFloorForSegment(segment); + } + + if (!player.tokens.isSupportPlus()) { + log.warning("Non-admin tried to join a party on a custom floor via adventure board", + "who", player.who(), "gate", gate.getData().getName(), "floor", floor); + throw new InvocationException("m.internal_error"); + } + + gate.joinParty(player, floor, anyLanguage, autoCreate, new ResultAdapter<>(rl)); + } + + /** + * Attempts to create a new dungeon party. + * + * @param caller The calling player. + * @param gateId Desired gate identifier. + * @param segment Desired gate segment. + * @param inviteOnly Whether to allow only explicitly invited players to this party or everyone. + * @param friendsAllowed Whether to permit the party leader's friends to join this party without + * prior explicit invite. + * @param guildAllowed Whether to permit the party leader's guild members to join this party + * without prior explicit invite. + * @param cl Operation confirmation listener. + */ + @Override + public void createParty(ClientObject caller, int gateId, int segment, boolean inviteOnly, + boolean friendsAllowed, boolean guildAllowed, ConfirmListener cl) throws InvocationException { + PlayerObject player = (PlayerObject) caller; + Gate gate = getGateForPlayer(player, gateId, segment); + GateSummary gateSummary = gate.getSummary(); + + // Check if it isn't a solo gate, set the max party size accordingly + int partySize = gateSummary.isSet(2) ? 1 : 4; + + if (player.getEnergy(System.currentTimeMillis()) < gate.getEnergy(segment)) { + throw new InvocationException("m.nsf_energy"); + } + + if (player.crowns < gateSummary.getCrowns(player, segment, _adminMgr.getServerObject())) { + throw new InvocationException("m.nsf_crowns"); + } + + gate.createParty(player, partySize, inviteOnly, friendsAllowed, guildAllowed, + gateSummary.getFloorForSegment(segment), new IgnoreConfirmAdapter<>(cl)); + } + + protected Gate getGateForPlayer(PlayerObject player, int gateId, int segment) + throws InvocationException { + Gate gate = _dungeonMgr.getGate(gateId); + + if (gate == null) { + log.warning("Player tried entering non-existent gate via adventure board", + "who", player.who(), "desiredGateId", gateId); + throw new InvocationException("m.internal_error"); + } + + if (!gate.isVisible()) { + log.warning("Player tried entering invisible gate via adventure board", + "who", player.who(), "desiredGateId", gateId); + throw new InvocationException("m.gate_closed"); + } + + GateSummary gateSummary = gate.getSummary(); + if (!gateSummary.canAccess(player, gateSummary.getFloorForSegment(segment))) { + log.warning("Player tried entering gate they have no access to via adventure board", + "who", player.who(), "desiredGateId", gateId); + throw new InvocationException("m.access_denied"); + } + + return gate; + } +} diff --git a/src/com/github/thetya/server/board/BoardProvider.java b/src/com/github/thetya/server/board/BoardProvider.java new file mode 100644 index 0000000..d3b2b05 --- /dev/null +++ b/src/com/github/thetya/server/board/BoardProvider.java @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.board; + +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.client.InvocationService.ResultListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationProvider; +import com.threerings.projectx.board.client.BoardService; +import javax.annotation.Generated; + +/** + * Defines the server-side of the {@link BoardService}. + */ +@Generated(value = {"com.threerings.presents.tools.GenServiceTask"}, + comments = "Derived from BoardService.java.") +public interface BoardProvider extends InvocationProvider { + + /** + * Handles a {@link BoardService#joinParty} request. + */ + void joinParty(ClientObject caller, int gateId, int segment, int floor, boolean anyLanguage, + boolean autoCreate, ResultListener rl) throws InvocationException; + + /** + * Handles a {@link BoardService#createParty} request. + */ + void createParty(ClientObject caller, int gateId, int segment, boolean inviteOnly, + boolean friendsAllowed, boolean guildAllowed, ConfirmListener cl) throws InvocationException; +} diff --git a/src/com/github/thetya/server/board/Log.java b/src/com/github/thetya/server/board/Log.java new file mode 100644 index 0000000..a9e3ad0 --- /dev/null +++ b/src/com/github/thetya/server/board/Log.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.board; + +import com.samskivert.util.Logger; + +/** + * Contains a reference to the {@link Logger} object used by the board package. + */ +@SuppressWarnings("unused") +public class Log { + + /** + * The {@link Logger} reference. + */ + public static Logger log = Logger.getLogger("com.github.thetya.server.board"); +} diff --git a/src/com/github/thetya/server/coin/Log.java b/src/com/github/thetya/server/coin/Log.java new file mode 100644 index 0000000..535af29 --- /dev/null +++ b/src/com/github/thetya/server/coin/Log.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.coin; + +import com.samskivert.util.Logger; + +/** + * Contains a reference to the {@link Logger} object used by the coin package. + */ +@SuppressWarnings("unused") +public class Log { + + /** + * The {@link Logger} reference. + */ + public static Logger log = Logger.getLogger("com.github.thetya.server.coin"); +} \ No newline at end of file diff --git a/src/com/github/thetya/server/coin/ThetyaCoinManager.java b/src/com/github/thetya/server/coin/ThetyaCoinManager.java new file mode 100644 index 0000000..7666920 --- /dev/null +++ b/src/com/github/thetya/server/coin/ThetyaCoinManager.java @@ -0,0 +1,123 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.coin; + +import com.github.thetya.server.ThetyaServer; +import com.github.thetya.server.peer.ThetyaPeerManager; +import com.github.thetya.server.peer.ThetyaPeerManager.LeadInterval; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.samskivert.depot.PersistenceContext; +import com.samskivert.io.PersistenceException; +import com.samskivert.jdbc.RepositoryListenerUnit; +import com.samskivert.jdbc.RepositoryUnit; +import com.samskivert.jdbc.WriteOnlyUnit; +import com.samskivert.util.AuditLogger; +import com.samskivert.util.IntResultListener; +import com.samskivert.util.Invoker; +import com.samskivert.util.ResultListener; +import com.threerings.coin.server.CoinManager; +import com.threerings.presents.annotation.MainInvoker; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.PresentsDObjectMgr; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.user.depot.AccountActionRepository; +import java.io.File; + +@Singleton +public class ThetyaCoinManager extends CoinManager { + + public static final String MAIL_ACCOUNT_NAME = "@@MAIL@@"; + protected static AuditLogger _auditLogger = ThetyaServer.createAuditLogger("coin"); + + public static AuditLogger getAuditLogger() { + return _auditLogger; + } + + @Inject + public ThetyaCoinManager(PersistenceContext ctx, @MainInvoker Invoker invoker, + PresentsDObjectMgr omgr, ThetyaPeerManager peermgr) throws PersistenceException { + + super(ctx, null, _auditLogger, null, invoker, false); + peermgr.addLeadInterval(new LeadInterval(omgr) { + + @Override + public void schedule() { + this.schedule(21600000L, true); + } + + @Override + public void expired() { + ThetyaCoinManager.this._invoker.postUnit(new WriteOnlyUnit("CoinManager:summarizeCoinHistory") { + + @Override + public void invokePersist() throws Exception { + ThetyaCoinManager.this.summarizeCoinHistory(true); + } + }); + } + }); + } + + public void grantCoins(PlayerObject player, int coins, int type, String descrip, + ResultListener rl) { + + this._invoker.postUnit(new RepositoryListenerUnit("grantCoins", rl) { + + @Override + public Void invokePersistResult() throws Exception { + ThetyaCoinManager.this._coinRepo.addCoins(player.username.toString(), coins, type, descrip); + return null; + } + + @Override + public void handleSuccess() { + player.setCrystal(player.crystal + coins); + super.handleSuccess(); + } + }); + } + + public void updateCoinCount(final PlayerObject user) { + this._invoker.postUnit(new RepositoryUnit("updateCoinCount") { + protected int _coins; + + @Override + public void invokePersist() throws Exception { + this._coins = ThetyaCoinManager.this._coinRepo.getCoinCount(user.username.toString()); + } + + @Override + public void handleSuccess() { + user.setCrystal(this._coins); + } + + @Override + public void handleFailure(Exception e) { + Log.log.warning("Error updating coin count.", "user", user.who(), e); + } + }); + } + + @Override + public void reserveCoins(String accountName, int coins, final IntResultListener rl) { + super.reserveCoins(accountName, coins, new IntResultListener() { + + @Override + public void requestCompleted(int result) { + rl.requestCompleted(result); + } + + @Override + public void requestFailed(Exception cause) { + rl.requestFailed(cause instanceof InsufficientFundsException + ? new InvocationException("m.nsf_energy") : cause); + } + }); + } +} \ No newline at end of file diff --git a/src/com/github/thetya/server/craft/CraftManager.java b/src/com/github/thetya/server/craft/CraftManager.java new file mode 100644 index 0000000..8ffcf60 --- /dev/null +++ b/src/com/github/thetya/server/craft/CraftManager.java @@ -0,0 +1,391 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.craft; + +import com.github.thetya.server.KnightManager; +import com.github.thetya.server.item.ItemManager; +import com.github.thetya.server.persist.ItemRepository; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.samskivert.jdbc.RepositoryListenerUnit; +import com.samskivert.util.ChainedResultListener; +import com.samskivert.util.Invoker; +import com.samskivert.util.ResultListener; +import com.samskivert.util.ResultListener.NOOP; +import com.threerings.config.ConfigManager; +import com.threerings.config.ConfigReference; +import com.threerings.presents.annotation.MainInvoker; +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.util.ConfirmAdapter; +import com.threerings.projectx.craft.config.IngredientConfig; +import com.threerings.projectx.craft.config.IngredientConfig.LevelItem; +import com.threerings.projectx.craft.config.IngredientConfig.UpgradeType; +import com.threerings.projectx.craft.config.RecipeConfig; +import com.threerings.projectx.craft.config.RecipePropertyConfig.RecipeProps; +import com.threerings.projectx.craft.data.Recipe; +import com.threerings.projectx.craft.util.CraftUtil; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.data.ProjectXCodes; +import com.threerings.projectx.item.config.ItemConfig; +import com.threerings.projectx.item.config.ItemConfig.Original; +import com.threerings.projectx.item.data.Item; +import com.threerings.projectx.item.data.ItemCodes; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Set; + +@Singleton +public class CraftManager implements ProjectXCodes, RecipeProvider, ItemCodes { + + /* Dependencies */ + @Inject protected ConfigManager _cfgmgr; + @Inject protected ItemManager _itemmgr; + @Inject protected KnightManager _knightmgr; + + @Inject protected ItemRepository _itemrepo; + //@Inject protected RecipeRepository _reciperepo; + + @Inject @MainInvoker protected Invoker _invoker; + + @Override + public void registerRecipe(ClientObject caller, long itemId, ConfirmListener cl) + throws InvocationException { + PlayerObject playerObject = (PlayerObject) caller; + ResultListener crl = new ChainedResultListener(new ConfirmAdapter(cl)) { + + @Override + public void requestCompleted(Recipe result) { + _target.requestCompleted(null); + } + }; + + registerRecipe(playerObject, itemId, crl); + } + + public void registerRecipe(PlayerObject playerObject, long itemId, ResultListener rl) { + Item item = playerObject.items.get(itemId); + + if (item == null) { + Log.log.warning("Missing recipe to register.", "who", playerObject.who(), + "itemId", itemId); + rl.requestFailed(new InvocationException("m.internal_error")); + return; + } + + ItemConfig.Original original = item.getOriginal(this._cfgmgr); + + if (!(original instanceof ItemConfig.Recipe)) { + Log.log.warning("Tried to register non-recipe item.", "who", playerObject.who(), + "itemId", itemId); + rl.requestFailed(new InvocationException("m.internal_error")); + return; + } + + ConfigReference recipeConfig = ((ItemConfig.Recipe) original).recipe; + registerRecipe(playerObject, recipeConfig, itemId, rl); + } + + public void registerRecipe(PlayerObject playerObject, String recipe, ResultListener rl) { + ConfigReference recipeConfig = new ConfigReference<>(recipe); + + if (_cfgmgr.getConfig(RecipeConfig.class, recipeConfig) == null) { + rl.requestFailed(new InvocationException("m.internal_error")); + } else { + registerRecipe(playerObject, recipeConfig, -1, rl); + } + } + + public void registerRecipe(PlayerObject playerObject, ConfigReference recipeConfig) { + registerRecipe(playerObject, recipeConfig, -1, new NOOP()); + } + + public void registerRecipe(PlayerObject playerObject, ConfigReference recipeConfig, + long itemId, ResultListener rl) { + RecipeConfig config = _cfgmgr.getConfig(RecipeConfig.class, recipeConfig); + RecipeConfig.Original original = config == null ? null : config.getOriginal(this._cfgmgr); + + if (original == null) { + Log.log.warning("Could not find recipe.", "who", playerObject.who(), + "recipe", recipeConfig); + rl.requestFailed(new InvocationException("m.internal_error")); + return; + } + + Recipe recipe = original.createRecipe(recipeConfig); + Recipe playerLearntRecipe = playerObject.getRecipe(recipeConfig); + if (playerLearntRecipe == null) { + _invoker.postUnit(new RepositoryListenerUnit("registerRecipe", rl) { + + @Override + public Recipe invokePersistResult() throws Exception { + if (itemId >= 0L) { + //CraftManager.this._itemrepo.deleteItem(itemId); + } + + //CraftManager.this._reciperepo.insertRecipe(playerObject.knightId, recipe); + return recipe; + } + + @Override + public void handleSuccess() { + playerObject.startTransaction(); + + try { + if (itemId >= 0L) { + playerObject.removeFromItems(itemId); + } + + playerObject.addToRecipes(recipe); + } finally { + playerObject.commitTransaction(); + } + + super.handleSuccess(); + } + }); + + return; + } + + if (!original.canCraft(playerLearntRecipe) || !playerLearntRecipe.hasExpired(System.currentTimeMillis())) { + Log.log.warning("Tried to re-register recipe.", "who", playerObject.who(), + "recipe", recipeConfig); + rl.requestFailed(new InvocationException("m.internal_error")); + return; + } + + playerObject.updateRecipes(recipe); + rl.requestCompleted(recipe); + } + + public void craftRecipe(PlayerObject playerObject, String recipe, ResultListener rl) { + ConfigReference recipeConfig = new ConfigReference<>(recipe); + + if (_cfgmgr.getConfig(RecipeConfig.class, recipeConfig) == null) { + rl.requestFailed(new InvocationException("m.internal_error")); + return; + } + + craftRecipe(playerObject, recipeConfig, rl); + } + + public void craftRecipe(PlayerObject playerObject, ConfigReference recipeConfig, + long[] itemIds, ResultListener rl) { + craftRecipe(playerObject, recipeConfig, itemIds, false, rl); + } + + public void craftRecipe(PlayerObject playerObject, ConfigReference recipeConfig, + long[] itemIds, boolean upgrade, ResultListener rl) { + Recipe recipe = getRecipe(playerObject, recipeConfig, rl); + RecipeConfig.Original original = recipe == null ? null : getOriginal(playerObject, recipe, rl); + + if (original == null) { + return; + } + + if (!verifyItems(playerObject, original, itemIds)) { + Log.log.warning("Supplied items do not meet recipe requirements.", + "who", playerObject.who()); + rl.requestFailed(new InvocationException("m.internal_error")); + return; + } + + craftRecipeWithItems(playerObject, original, recipe, itemIds, upgrade, rl); + } + + public void craftRecipe(PlayerObject playerObject, ConfigReference recipeConfig, + ResultListener rl) { + Recipe recipe = getRecipe(playerObject, recipeConfig, rl); + RecipeConfig.Original original = recipe == null ? null : getOriginal(playerObject, recipe, rl); + + if (original == null) { + return; + } + + Map> itemMap = CraftUtil + .getIngredients(playerObject, original, _cfgmgr); + + long[] itemIds = CraftUtil.createItemIds(playerObject, itemMap, original); + + if (itemIds == null) { + Log.log.warning("Missing required ingredients.", "who", playerObject.who()); + rl.requestFailed(new InvocationException("m.internal_error")); + return; + } + + craftRecipeWithItems(playerObject, original, recipe, itemIds, false, rl); + } + + protected void craftRecipeWithItems(PlayerObject playerObject, RecipeConfig.Original original, + Recipe recipe, long[] itemIds, boolean upgrade, ResultListener rl) { + int energy = playerObject.getEnergy(System.currentTimeMillis()); + final RecipeProps props = original.getProps(this._cfgmgr); + + if (props.crowns <= playerObject.crowns && props.energy <= energy) { + final ConfigReference itemRef = new ConfigReference<>(); + original.item.copy(itemRef); + boolean useTable = true; + final Map deletes = Maps.newHashMap(); + Map result = Maps.newHashMap(); + + for(int ii = 0; ii < itemIds.length; ++ii) { + Item item = (Item)playerObject.items.get(itemIds[ii]); + deletes.put(itemIds[ii], 0); + IngredientConfig[] arr$ = original.ingredients; + int len$ = arr$.length; + + for(int i$ = 0; i$ < len$; ++i$) { + IngredientConfig ingredient = arr$[i$]; + if (ingredient.validItem(this._cfgmgr, item)) { + Original o = item.getOriginal(this._cfgmgr); + if (ingredient.count <= 1 && !o.isCraft()) { + if (ingredient instanceof LevelItem) { + LevelItem ling = (LevelItem) ingredient; + if (ling.upgrade == UpgradeType.ALWAYS || ling.upgrade == UpgradeType.CHOICE && upgrade) { + itemRef.getArguments().put("_setVariants", ((com.threerings.projectx.item.data.LevelItem)item).getVariants()); + useTable = false; + } + + if (ling.keepHeat) { + itemRef.getArguments().put("_setHeat", + ((com.threerings.projectx.item.data.LevelItem) item).getHeat()); + } + } + } else { + Integer value = (Integer)result.get(ingredient); + if (value == null) { + value = 0; + } + + int need = ingredient.count - value; + deletes.put(itemIds[ii], Math.min(item.getCount(), need)); + result.put(ingredient, item.getCount() + value); + } + } + } + } + + if (original.variantTable != null) { + itemRef.getArguments().put("_setVariantTable", original.variantTable); + } + + ResultListener crl = new ChainedResultListener(rl) { + public void requestCompleted(Void v) { + playerObject.adjustCrowns(-props.crowns); + CraftManager.this._itemmgr.createAndDeleteItems(playerObject, Collections.singleton(itemRef), deletes, new ChainedResultListener, Item>(rl) { + public void requestCompleted(List items) { + recipe.incCrafted(); + playerObject.updateRecipes(recipe); + this._target.requestCompleted(items.get(0)); + } + }); + } + }; + this._knightmgr.useEnergy(playerObject, props.energy, 204, "m.crafted", crl); + } else { + Log.log.warning("Player short crowns or energy", "who", playerObject.who(), "cost", props.crowns, + "crowns", playerObject.crowns, "recipe energy", props.energy, "player energy", energy); + rl.requestFailed(new InvocationException("m.internal_error")); + } + } + + protected Recipe getRecipe(PlayerObject plobj, ConfigReference ref, ResultListener rl) { + Recipe recipe; + if (ref != null && (recipe = plobj.getRecipe(ref)) != null) { + if (recipe.hasExpired(System.currentTimeMillis())) { + Log.log.warning("Recipe has expired", new Object[]{"who", plobj.who(), "ref", ref}); + rl.requestFailed(new InvocationException("m.internal_error")); + return null; + } else { + return recipe; + } + } else { + Log.log.warning("Tried craft invalid recipe.", new Object[]{"who", plobj.who(), "ref", ref}); + rl.requestFailed(new InvocationException("m.internal_error")); + return null; + } + } + + protected com.threerings.projectx.craft.config.RecipeConfig.Original getOriginal(PlayerObject plobj, Recipe recipe, ResultListener rl) { + RecipeConfig config = (RecipeConfig)this._cfgmgr.getConfig(RecipeConfig.class, recipe.getConfig()); + com.threerings.projectx.craft.config.RecipeConfig.Original original = config == null ? null : config.getOriginal(this._cfgmgr); + if (original == null) { + Log.log.warning("Could not find recipe.", new Object[]{"who", plobj.who(), "ref", recipe.getConfig()}); + rl.requestFailed(new InvocationException("m.internal_error")); + return null; + } else if (!original.canCraft(recipe)) { + Log.log.warning("Recipe can not be crafted.", new Object[]{"who", plobj.who(), "ref", recipe.getConfig()}); + rl.requestFailed(new InvocationException("m.internal_error")); + return null; + } else { + return original; + } + } + + protected boolean verifyItems(PlayerObject plobj, com.threerings.projectx.craft.config.RecipeConfig.Original recipe, long[] itemIds) { + List ingredients = IngredientConfig.PRIORITY_ORDERING.sortedCopy(Arrays.asList(recipe.ingredients)); + Map result = Maps.newHashMap(); + int filled = 0; + Set used = Sets.newHashSet(); + long[] arr$ = itemIds; + int len$ = itemIds.length; + + for(int i$ = 0; i$ < len$; ++i$) { + long itemId = arr$[i$]; + Item item = (Item)plobj.items.get(itemId); + if (item == null || plobj.isEquipped(item) || used.contains(itemId)) { + return false; + } + + int ii = 0; + + for(int ll = ingredients.size(); ii < ll; ++ii) { + IngredientConfig ingredient = (IngredientConfig)ingredients.get(ii); + if (ingredient.validItem(this._cfgmgr, item)) { + Long value = (Long)result.get(ingredient); + if (ingredient.count <= 1 && !item.getOriginal(this._cfgmgr).isCraft()) { + if (value == null) { + result.put(ingredient, itemId); + ++filled; + used.add(itemId); + break; + } + + Item oitem = (Item)plobj.items.get(value); + if (CraftUtil.ITEM_COMPARATOR.compare(oitem, item) < 0) { + result.put(ingredient, itemId); + item = oitem; + } + } else { + if (value == null) { + value = (long)item.getCount(); + } else { + value = value + (long)item.getCount(); + } + + result.put(ingredient, value); + used.add(itemId); + if (value >= (long)ingredient.count) { + ingredients.remove(ii); + ++filled; + break; + } + } + } + } + } + + return used.size() == itemIds.length && filled == recipe.ingredients.length; + } +} \ No newline at end of file diff --git a/src/com/github/thetya/server/craft/CraftProvider.java b/src/com/github/thetya/server/craft/CraftProvider.java new file mode 100644 index 0000000..8547b4e --- /dev/null +++ b/src/com/github/thetya/server/craft/CraftProvider.java @@ -0,0 +1,12 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.craft; + +public interface CraftProvider { + +} diff --git a/src/com/github/thetya/server/craft/Log.java b/src/com/github/thetya/server/craft/Log.java new file mode 100644 index 0000000..b112530 --- /dev/null +++ b/src/com/github/thetya/server/craft/Log.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.craft; + +import com.samskivert.util.Logger; + +/** + * Contains a reference to the {@link Logger} object used by the craft package. + */ +@SuppressWarnings("unused") +public class Log { + + /** + * The {@link Logger} reference. + */ + public static Logger log = Logger.getLogger("com.github.thetya.server.craft"); +} diff --git a/src/com/github/thetya/server/craft/RecipeProvider.java b/src/com/github/thetya/server/craft/RecipeProvider.java new file mode 100644 index 0000000..c973412 --- /dev/null +++ b/src/com/github/thetya/server/craft/RecipeProvider.java @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.craft; + +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.projectx.craft.client.RecipeService; +import javax.annotation.Generated; + +/** + * Defines the server-side of the {@link RecipeService}. + */ +@Generated(value = {"com.threerings.presents.tools.GenServiceTask"}, + comments = "Derived from RecipeService.java.") +public interface RecipeProvider { + + void registerRecipe(ClientObject caller, long itemId, ConfirmListener cl) + throws InvocationException; +} diff --git a/src/com/github/thetya/server/discord/DiscordProvider.java b/src/com/github/thetya/server/discord/DiscordProvider.java new file mode 100644 index 0000000..ec2f560 --- /dev/null +++ b/src/com/github/thetya/server/discord/DiscordProvider.java @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.discord; + +import com.threerings.presents.client.InvocationService.ResultListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationProvider; +// import com.threerings.projectx.discord.client.DiscordService; + +import javax.annotation.Generated; + +/** + * Defines the server-side of the {@link DiscordService}. + */ +@Generated(value = {"com.threerings.presents.tools.GenServiceTask"}, + comments = "Derived from DiscordService.java.") +public interface DiscordProvider extends InvocationProvider { + + /** + * Handles a {@link DiscordService#fetchLevelIcon} request. + */ + void fetchLevelIcon(ClientObject caller, ResultListener rl); +} diff --git a/src/com/github/thetya/server/discord/Log.java b/src/com/github/thetya/server/discord/Log.java new file mode 100644 index 0000000..c48c777 --- /dev/null +++ b/src/com/github/thetya/server/discord/Log.java @@ -0,0 +1,22 @@ +// +// $Id: thetya-server 2020-11-03 18:30 micha $ +// +// Copyright (C) 2013-2020 Thetya Team +// https://github.com/Thetya +// + +package com.github.thetya.server.discord; + +import com.samskivert.util.Logger; + +/** + * Contains a reference to the {@link Logger} object used by the discord package. + */ +@SuppressWarnings("unused") +public class Log { + + /** + * The {@link Logger} reference. + */ + public static Logger log = Logger.getLogger("com.github.thetya.server.discord"); +} diff --git a/src/com/github/thetya/server/dungeon/DungeonManager.java b/src/com/github/thetya/server/dungeon/DungeonManager.java new file mode 100644 index 0000000..d83c70d --- /dev/null +++ b/src/com/github/thetya/server/dungeon/DungeonManager.java @@ -0,0 +1,423 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.dungeon; + +import com.github.thetya.server.KnightManager; +import com.github.thetya.server.admin.ThetyaAdminManager; +import com.github.thetya.server.dungeon.data.GateData; +import com.github.thetya.server.dungeon.data.GateData.Constant; +import com.github.thetya.server.dungeon.data.GateData.Test; +import com.github.thetya.server.dungeon.data.GateData.Wedge; +import com.github.thetya.server.dungeon.data.GateData.Wheel; +import com.github.thetya.server.item.ItemManager; +import com.github.thetya.server.peer.ThetyaPeerManager; +import com.github.thetya.server.persist.DungeonRepository; +import com.github.thetya.server.persist.GateProgressRecord; +import com.github.thetya.server.persist.LevelRecord; +import com.github.thetya.server.scene.ThetyaSceneRegistry; +import com.github.thetya.server.zone.ThetyaZoneManager; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableMap.Builder; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.inject.Inject; +import com.google.inject.Injector; +import com.google.inject.Singleton; +import com.samskivert.jdbc.RepositoryUnit; +import com.samskivert.jdbc.WriteOnlyUnit; +import com.samskivert.util.*; +import com.samskivert.util.ObserverList.ObserverOp; +import com.threerings.crowd.data.BodyObject; +import com.threerings.opengl.renderer.config.ColorizationConfig; +import com.threerings.presents.annotation.MainInvoker; +import com.threerings.presents.dobj.AttributeChangeListener; +import com.threerings.presents.dobj.AttributeChangedEvent; +import com.threerings.presents.server.PresentsDObjectMgr; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.dungeon.data.DungeonCodes; +import com.threerings.projectx.dungeon.server.random.RandomLevelData; +import com.threerings.projectx.peer.data.PartyInfo; +import com.threerings.util.MessageBundle; +import com.threerings.util.Name; +import com.threerings.whirled.zone.data.ZoneSummary; +import com.threerings.whirled.zone.util.ZoneUtil; + +import java.util.Collection; +import java.util.List; +import java.util.Map; + +@Singleton +public class DungeonManager extends ThetyaZoneManager implements DungeonCodes { + protected IntMap _levels = IntMaps.newHashIntMap(); + protected IntMap _gates = IntMaps.newHashIntMap(); + protected Map _gatesByInternalId = Maps.newHashMap(); + protected Map _randomLevelDatas; + protected List _visibleGates = Lists.newArrayList(); + protected IntMap _parties = IntMaps.newHashIntMap(); + protected ObserverList _gateObservers = ObserverList.newFastUnsafe(); + protected int _mineralsPerFloor = 10; + @Inject + protected Injector _injector; + @Inject + @MainInvoker + protected Invoker _invoker; + @Inject + protected PresentsDObjectMgr _omgr; + @Inject + protected KnightManager _knightmgr; + @Inject + protected ThetyaAdminManager _adminmgr; + @Inject + protected ThetyaPeerManager _peermgr; + @Inject + protected ThetyaSceneRegistry _scenereg; + @Inject + protected DungeonRepository _dungeonrepo; + @Inject + protected ItemManager _itemmgr; + + public DungeonManager() { + } + + public void init() { + Builder builder = ImmutableMap.builder(); +// Iterator i$ = this._dungeonrepo.loadRandomLevelDatas().iterator(); +// +// while(i$.hasNext()) { +// RandomLevelDataRecord rec = (RandomLevelDataRecord)i$.next(); +// builder.put(rec.id, rec.data); +// } + + this._randomLevelDatas = builder.build(); + + for (LevelRecord level : _dungeonrepo.loadLevels()) { + _levels.put(level.levelId, level); + } + + List gates = this._dungeonrepo.loadGates(); + int ii = 0; + + for (int nn = gates.size(); ii < nn; ++ii) { + this.createGate(gates.get(ii)); + } + + this._zoneRegistry.registerZoneManager((byte) 2, this); + this._zoneRegistry.registerZoneManager((byte) 3, this); + (new Interval(this._omgr) { + public void expired() { +// this.updateMineralsPerFloor(); + this.schedule(Calendars.now().zeroTime().addDays(1).addMinutes(5).toDate()); + } + }).expired(); + this._adminmgr.getDungeonConfigObject().addListener(new AttributeChangeListener() { + public void attributeChanged(AttributeChangedEvent event) { + String name = event.getName(); + if ("dailyMineralFloorPercent".equals(name) || "mineralsPerFloorOverride".equals(name)) { +// this.updateMineralsPerFloor(); + } + + } + }); + } + + public LevelRecord getLevelRecord(int levelId) { + return this._levels.get(levelId); + } + + public Gate getGate(int gateId) { + return this._gates.get(gateId); + } + + public Gate getGate(String internalId) { + return this._gatesByInternalId.get(internalId); + } + + public RandomLevelData getRandomLevelData(String id) { + return this._randomLevelDatas.get(id); + } + + public Map getRandomLevelData() { + return this._randomLevelDatas; + } + + public Collection getGates() { + return this._gates.values(); + } + + public List getVisibleGates() { + return this._visibleGates; + } + + public void addGateObserver(GateObserver observer) { + this._gateObservers.add(observer); + } + + public void removeGateObserver(GateObserver observer) { + this._gateObservers.remove(observer); + } + + public void createTestGate(Name creator, int gateId, int sceneId, int depthOffset) { + GateData data = new GateData() { + public Class getGateClass() { + return TestGate.class; + } + }; + data.setGateId(gateId); + data.setName(MessageBundle.taint(creator + "'s Gate (#" + -gateId + ")")); + data.setDescription(MessageBundle.taint("")); + data.setIcon("pawn"); + data.setColorizations(new ColorizationConfig[0]); + data.setTokens(9); + Constant wheel = new Constant(); + Test wedge = new Test(); + wedge.setSceneId(sceneId); + wedge.setDepthOffset(depthOffset); + wheel.setWedges(new Wedge[]{wedge}); + wheel.setLengths(new float[]{6.2831855F}); + data.setWheels(new Wheel[]{wheel}); + this.createGate(data); + } + + public Gate createGate(GateData data) { + Gate gate = this.getInstance(data.getGateClass()); + if (gate != null) { + gate.init(data); + this._gates.put(data.getGateId(), gate); + String internalId = data.getInternalId(); + if (!StringUtil.isBlank(internalId)) { + this._gatesByInternalId.put(internalId, gate); + Log.log.debug("Registering a fixed gate with the internal ID of " + internalId); + } + } + + return gate; + } + + public Party getParty(int partyOid) { + return this._parties.get(partyOid); + } + + public Collection getParties() { + return this._parties.values(); + } + + public int getMineralsPerFloor() { + return this._mineralsPerFloor; + } + + public void initPlayer(PlayerObject player, List gateProgress) { +// int ii = 0; +// +// for(int nn = gateProgress.size(); ii < nn; ++ii) { +// GateProgressRecord progress = (GateProgressRecord)gateProgress.get(ii); +// player.addToGateProgress(new GateProgress(progress.gateId, progress.flags)); +// } + + } + + public void setGateProgressFlag(final PlayerObject plobj, final int gateId, int flag, boolean value) { + if (plobj.hasGateProgress(gateId, flag) != value) { + plobj.setGateProgress(gateId, flag, value); + final int flags = plobj.getGateProgressFlags(gateId); + this._invoker.postUnit(new WriteOnlyUnit("setGateProgressFlag") { + public void invokePersist() { +// this._dungeonrepo.setGateProgress(plobj.knightId, gateId, flags); + } + }); + } + } + + /** + * Resolves a specific level. + */ + @Override + public void resolveZone(int zoneId, ResolutionListener listener) { + int levelId = ZoneUtil.zoneId(zoneId); + if (levelId == 0) { + ZoneSummary summary = new ZoneSummary(); + summary.zoneId = zoneId; + summary.name = new Name(MessageBundle.taint("Test")); + listener.zoneWasResolved(summary); + } else { + LevelRecord level = this._levels.get(levelId); + if (level == null) { + listener.zoneFailedToResolve(zoneId, new Exception("No such level: " + levelId)); + } else { + listener.zoneWasResolved(level.createZoneSummary()); + } + } + } + + @Override + public void resolveZones(String partialName, Collection zones) { + + } + + /** + * Ratifies body entry. + */ + @Override + public String ratifyBodyEntry(BodyObject body, int zoneId) { + Party party = Party.getParty((PlayerObject)body); + return party != null && party.getFloor().zoneId == zoneId ? null : "m.access_denied"; + } + + protected T getInstance(Class clazz) { + try { + return _injector.getInstance(clazz); + } catch (Exception ex) { + Log.log.warning("Failed to create instance.", "class", clazz, ex); + return null; + } + } + + /** + * Fired when a gate's visibility was changed to shown. + */ + protected void gateShown(final Gate gate) { + _visibleGates.add(gate); + _adminmgr.getServerObject().addToGates(gate.getSummary()); + _gateObservers.apply(observer -> { + observer.gateShown(gate); + return true; + }); + } + + /** + * Fired when a gate's been updated. + */ + protected void gateUpdated(final Gate gate) { + _adminmgr.getServerObject().updateGates(gate.getSummary()); + _gateObservers.apply(observer -> { + observer.gateUpdated(gate); + return true; + }); + } + + /** + * Fired when a gate's visibility was changed to hidden. + */ + protected void gateHidden(final Gate gate) { + _visibleGates.remove(gate); + _adminmgr.getServerObject().removeFromGates(gate.getSummary().getKey()); + _gateObservers.apply(observer -> { + observer.gateHidden(gate); + return true; + }); + } + + /** + * Fired when a gate's been removed. + */ + protected void gateRemoved(Gate gate) { + GateData data = gate.getData(); + _gates.remove(data.getGateId()); + + String internalId = data.getInternalId(); + if (!StringUtil.isBlank(internalId)) { + _gatesByInternalId.remove(internalId); + } + } + + /** + * Fired when a party has been created. + */ + protected void partyCreated(Party party) { + this._parties.put(party.getPartyObject().getOid(), party); + } + + /** + * Fired when a party has been destroyed. + */ + protected void partyDestroyed(Party party) { + this._parties.remove(party.getPartyObject().getOid()); + } + + protected void updateMineralsPerFloor() { + int override = this._adminmgr.getDungeonConfigObject().mineralsPerFloorOverride; + if (override > 0) { + this._mineralsPerFloor = override; + } else { + this._invoker.postUnit(new RepositoryUnit("updateMineralsPerFloor") { + protected int _averageDailyMinerals; + + public void invokePersist() { +// List records = this._dungeonrepo.loadDailyMinerals(); +// int nrecords = records.size(); + int nrecords = 0; + if (nrecords == 0) { + this._averageDailyMinerals = 100; + } else { + int total = 0; + + for (int ii = 0; ii < nrecords; ++ii) { +// total += ((DailyMineralsRecord)records.get(ii)).getMinerals().size(); + } + + this._averageDailyMinerals = total / nrecords; + } + } + + public void handleSuccess() { +// this._mineralsPerFloor = Math.max(10, Math.round( +// this._adminmgr.getDungeonConfigObject().dailyMineralFloorPercent * (float)this._averageDailyMinerals)); + } + }); + } + } + + protected static class TestGate extends Gate { + protected Interval _remover; + @Inject + protected ThetyaPeerManager _peermgr; + @Inject + protected ThetyaSceneRegistry _scenereg; + + protected TestGate() { + } + + public void partyRemoved(String nodeName, PartyInfo info) { + super.partyRemoved(nodeName, info); + this.checkEmpty(); + } + + protected void didInit() { + super.didInit(); + (this._remover = new Interval(this._omgr) { + public void expired() { + TestGate.this.checkEmpty(); + } + }).schedule(5000L, 60000L); + } + + public void partyShutdown(Party party) { + super.partyShutdown(party); + this.checkEmpty(); + } + + protected void checkEmpty() { + if (this._peermgr.getPartyCount(this.getGateId()) == 0) { + this._remover.cancel(); + this.setVisible(false); + this._dungeonmgr.gateRemoved(this); + Wheel wheel = this._data.getWheels()[0]; + Test test = (Test)wheel.getWedges()[0]; + this._scenereg.clearTestScene(test.getSceneId()); + } + + } + } + + public interface GateObserver { + void gateShown(Gate var1); + + void gateUpdated(Gate var1); + + void gateHidden(Gate var1); + } +} \ No newline at end of file diff --git a/src/com/github/thetya/server/dungeon/Gate.java b/src/com/github/thetya/server/dungeon/Gate.java new file mode 100644 index 0000000..0db9597 --- /dev/null +++ b/src/com/github/thetya/server/dungeon/Gate.java @@ -0,0 +1,213 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.dungeon; + +import com.github.thetya.server.admin.ThetyaAdminManager; +import com.github.thetya.server.dungeon.data.GateData; +import com.github.thetya.server.dungeon.data.GateData.Wheel; +import com.github.thetya.server.persist.DungeonRepository; +import com.google.common.collect.Multiset; +import com.google.inject.Inject; +import com.google.inject.Injector; +import com.samskivert.jdbc.WriteOnlyUnit; +import com.samskivert.util.Interval; +import com.samskivert.util.Invoker; +import com.threerings.presents.annotation.MainInvoker; +import com.threerings.presents.server.PresentsDObjectMgr; +import com.threerings.projectx.dungeon.data.GateSummary; +import com.threerings.projectx.item.data.Mineral; +import com.threerings.whirled.zone.util.ZoneUtil; + +public class Gate extends LevelPartyHost { + + protected int _gateId; + protected GateData _data; + protected GateSummary _summary; + protected boolean _visible; + protected Interval _visibilityInterval; + + @Inject @MainInvoker protected Invoker _invoker; + @Inject protected PresentsDObjectMgr _omgr; + @Inject protected DungeonRepository _dungeonrepo; + @Inject protected ThetyaAdminManager _adminmgr; + @Inject protected Injector _injector; + @Inject protected DungeonManager _dungeonMgr; + + public Gate() { + } + + public void init(GateData data) { + this._gateId = data.getGateId(); + this._data = data; + this._summary = data.createSummary(this._injector); + this.didInit(); + this.updateVisible(); + } + + public GateData getData() { + return this._data; + } + + public GateSummary getSummary() { + return this._summary; + } + + public boolean isVisible() { + return this._visible; + } + + public Floor resolveFloor(int idx, float position) { + Wheel[] wheels = this._data.getWheels(); + if (idx >= wheels.length) { + return null; + } else { + Wheel wheel = wheels[idx]; + int widx = wheel.getWedgeIndex(position, System.currentTimeMillis()); + Floor floor = wheel.getWedges()[widx].resolve(this._injector); + floor._wedgeIndex = widx; + return floor; + } + } + + public void update(GateData data) { + this._data = data; + this._summary = data.createSummary(this._injector); + this.updateVisible(); + if (this._visible) { + this._dungeonmgr.gateUpdated(this); + } + + } + + public void remove() { + if (this._visibilityInterval != null) { + this._visibilityInterval.cancel(); + } + + this.setVisible(false); + this._dungeonmgr.gateRemoved(this); + } + + public void lootGranted(final int crowns, final float heat, final Multiset minerals) { + this._invoker.postUnit(new WriteOnlyUnit("lootGranted") { + public void invokePersist() { + Gate.this.persistGrantedLoot(crowns, heat, minerals); + } + }); + } + + protected void persistGrantedLoot(int crowns, float heat, Multiset minerals) { + if (!minerals.isEmpty()) { +// this._dungeonrepo.addToDailyMinerals(minerals); + } + + } + + public String which() { + return "[gateId=" + this._gateId + ", name=" + this._data.getName() + "]"; + } + + public int getEnergy(int segment) { + return this._adminmgr.getServerObject().getElevatorCost(segment, this._summary.isSet(4)); + } + + protected void initParty(Party party) { + party.setGate(this); + } + + protected GateSummary getGateSummary() { + return this._summary; + } + + protected int getGateId() { + return this._gateId; + } + + protected void didInit() { + } + + protected void updateVisible() { + if (this._visibilityInterval != null) { + this._visibilityInterval.cancel(); + } + + this.setVisible(true); + +// Wheel[] wheels = this._data.getWheels(); +// if (wheels != null && wheels.length != 0 && (!(this._data instanceof RotatingGateData) || ((RotatingGateData)this._data).getCountdown() <= 0)) { +// Wheel first = wheels[0]; +// float position = first.getRelativePosition(0.0F, System.currentTimeMillis()); +// this.setVisible(first.getWedge(position).isResolvable()); +// long delay = first.getResolvableUpdateDelay(position); +// if (delay < 9223372036854775807L) { +// (this._visibilityInterval = this._omgr.newInterval(new Runnable() { +// public void run() { +// Gate.this.updateVisible(); +// } +// })).schedule(delay); +// } +// +// } else { +// this.setVisible(true); +// } + } + + protected void setVisible(boolean visible) { + if (this._visible != visible) { + if (this._visible = visible) { + this._dungeonMgr.gateShown(this); + } else { + this._dungeonMgr.gateHidden(this); + } + } + + } + + public static class Floor { + public final String name; + public final String translatedName; + public final String internalId; + public final int zoneId; + public final int defaultSceneId; + public final int depthOffset; + public final boolean lobby; + public final boolean free; + public final boolean restricted; + public final int matchSeconds; + protected int _wedgeIndex; + + public Floor(String name, String translatedName, String internalId, int zoneId, int defaultSceneId, int depthOffset, int matchSeconds) { + this(name, translatedName, internalId, zoneId, defaultSceneId, depthOffset, matchSeconds, false); + } + + public Floor(String name, String translatedName, String internalId, int zoneId, int defaultSceneId, int depthOffset, int matchSeconds, boolean lobby) { + this(name, translatedName, internalId, zoneId, defaultSceneId, depthOffset, matchSeconds, lobby, lobby, false); + } + + public Floor(String name, String translatedName, String internalId, int zoneId, int defaultSceneId, int depthOffset, int matchSeconds, boolean lobby, boolean free, boolean restricted) { + this.name = name; + this.translatedName = translatedName; + this.internalId = internalId; + this.zoneId = zoneId; + this.defaultSceneId = defaultSceneId; + this.depthOffset = depthOffset; + this.matchSeconds = matchSeconds; + this.lobby = lobby; + this.free = free; + this.restricted = restricted; + } + + public int getWedgeIndex() { + return this._wedgeIndex; + } + + public boolean dissolvesParty() { + return ZoneUtil.zoneType(this.zoneId) == 1; + } + } +} \ No newline at end of file diff --git a/src/com/github/thetya/server/dungeon/LevelClientLiaison.java b/src/com/github/thetya/server/dungeon/LevelClientLiaison.java new file mode 100644 index 0000000..6fcb2ae --- /dev/null +++ b/src/com/github/thetya/server/dungeon/LevelClientLiaison.java @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.dungeon; + +import com.github.thetya.server.scene.ThetyaClientLiaison; +import com.threerings.crowd.data.BodyObject; +import com.threerings.crowd.server.CrowdSession; +import com.threerings.projectx.data.PlayerObject; + +/** + * Handles Tudey interaction with a single client. Extended by basic Spiral Knights bits. + * Also adjusted to boot (kick) inactive players from their parties, basing on last input timestamp. + */ +public class LevelClientLiaison extends ThetyaClientLiaison { + + /** + * The time period after which we should kick the inactive players out. + */ + private static final int IDLE_BOOT_TIME = 600000; + + /** + * Constructs a new client liaison for the level type of scene. + */ + public LevelClientLiaison(LevelSceneManager sceneMgr, BodyObject bodyObject, CrowdSession session) { + super(sceneMgr, bodyObject, session); + } + + /** + * Posts the scene delta for this client, informing it of all relevant changes to the scene + * since its last acknowledged delta. + */ + @Override + public void postDelta() { + // _lastInput is the timestamp of the last input frame received from the client (or zero if none + // have yet been received). Here we check if input has been yet received from the client, and if + // the time between last input and current timestamp exceeds idle boot time. + if (_lastInput != 0 && _scenemgr.getTimestamp() - _lastInput > IDLE_BOOT_TIME) { + // We're in the level scene type, so just cast the scene manager to the one in use + LevelSceneManager _levelSceneMgr = (LevelSceneManager) _scenemgr; + // And fetch the party. + Party party = _levelSceneMgr.getInstance().getParty(); + + // Remove the player from party if they've been idling for too long. Don't kick out tutorial + // players as they'll have no place to be sent to (theoretically) and we want to be easy on + // them, they're still learning. Probably. + if (!party.isTutorial()) { + PlayerObject playerObject = (PlayerObject) _bodyobj; + party.removePlayer(playerObject, true); + } + } + + // Call the super, as we don't entirely override but just stick a simple hook + super.postDelta(); + } +} diff --git a/src/com/github/thetya/server/dungeon/LevelParty.java b/src/com/github/thetya/server/dungeon/LevelParty.java new file mode 100644 index 0000000..543a501 --- /dev/null +++ b/src/com/github/thetya/server/dungeon/LevelParty.java @@ -0,0 +1,1773 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.dungeon; + +import com.github.thetya.server.PlayerLocal; +import com.github.thetya.server.dungeon.Gate.Floor; +import com.github.thetya.server.dungeon.data.GateData; +import com.github.thetya.server.peer.PeerConfig; +import com.github.thetya.server.persist.TownRecord; +import com.github.thetya.server.scene.ThetyaSceneManager; +import com.github.thetya.server.town.TownManager; +import com.google.common.base.Objects; +import com.google.common.collect.*; +import com.google.common.collect.Multiset.Entry; +import com.google.inject.Inject; +import com.samskivert.util.*; +import com.threerings.config.ConfigReference; +import com.threerings.crowd.chat.server.SpeakUtil; +import com.threerings.math.FloatMath; +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.dobj.AttributeChangedEvent; +import com.threerings.presents.dobj.DSet; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.util.ConfirmAdapter; +import com.threerings.projectx.data.PlayerData; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.data.ProjectXCodes; +import com.threerings.projectx.dungeon.data.*; +import com.threerings.projectx.dungeon.data.Energy.Payer; +import com.threerings.projectx.dungeon.server.logic.DungeoneerLogic; +import com.threerings.projectx.item.config.ItemConfig; +import com.threerings.projectx.item.config.ItemConfig.MetaMineral; +import com.threerings.projectx.item.config.ItemConfig.Original; +import com.threerings.projectx.item.config.ItemPropertyConfig.ItemProps; +import com.threerings.projectx.item.data.Item; +import com.threerings.projectx.item.data.LevelItem; +import com.threerings.projectx.item.data.Mineral; +import com.threerings.projectx.peer.data.LevelPartyInfo; +import com.threerings.projectx.peer.data.PartyInfo; +import com.threerings.projectx.social.data.Notification.PartyInvite; +import com.threerings.projectx.social.data.Whereabouts; +import com.threerings.projectx.town.data.TownSummary; +import com.threerings.tudey.server.logic.ActorLogic; +import com.threerings.tudey.server.logic.Logic; +import com.threerings.util.MessageBundle; +import com.threerings.util.Name; +import com.threerings.whirled.server.SceneManager; +import com.threerings.whirled.zone.util.ZoneUtil; + +import java.util.Collections; +import java.util.*; +import java.util.concurrent.Executor; +import java.util.stream.Collectors; + +public class LevelParty extends Party implements ProjectXCodes, LevelPartyProvider { + protected int _pendingAdvance; + protected int _nextZoneId; + protected int _nextSceneId; + protected Executor _floorFinisher; + protected int _floorCount; + protected int _startSegment; + protected LevelPartyObject _partyobj; + protected List _earlyMembers = Lists.newArrayList(); + protected Interval _nextFloorInterval; + protected Map _currentHealth = Maps.newHashMap(); + protected Map _reviveCosts = Maps.newHashMap(); + protected Map _knightProgress = Maps.newHashMap(); + protected Map>> _loots = Maps.newHashMap(); + protected boolean _open; + protected int _floorCrowns; + protected float _floorLootCrowns; + protected boolean _elevator; + protected boolean _noEnergy; + protected int _floorHeat; + protected int _totalCrowns; + protected float _totalLootCrowns; + protected int _totalHeat; + protected ArrayIntSet _votedToContinue = new ArrayIntSet(); + protected ArrayIntSet _votedToLeave = new ArrayIntSet(); + protected int _oldParty = -1; + protected int _copierOid; + protected Integer _matchSeconds; + protected long _seed; + //@Inject + //protected ThetyaEventLogger _evlog; + @Inject + protected TownManager _townmgr; + protected static final int EARLY_MEMBER = 2; + protected static final long NEXT_FLOOR_WAIT = 10000L; + protected static final long LAST_FLOOR_WAIT = 70000L; + protected static final long ELEVATOR_CHOICE_WAIT = 15000L; + protected static final long DROP_WAIT = 2400L; + protected static final List REVIVE_COSTS = ImmutableList.of(2, 5, 10, 20); + protected static final int MAX_REVIVE_COST = 1000; + protected static final Set INVITE_FLOORS = ImmutableSet.of(10, 30, 80, 150, 300); + protected static final int INVITE_FLOOR_LOOP = 500; + + public LevelParty() { + } + + public static LevelParty getParty(PlayerObject player) { + return Party.getParty(player, LevelParty.class); + } + + public static LevelParty getParty(SceneManager scenemgr) { + return Party.getParty(scenemgr, LevelParty.class); + } + + protected PartyObject createPartyObject() { + return this._partyobj = new LevelPartyObject(); + } + + public void init(PlayerObject leader, int memberLimit, boolean inviteOnly, boolean friendsAllowed, boolean guildAllowed, int floor) throws InvocationException { + this._partyobj.inviteOnly = inviteOnly; + this._partyobj.allowFriends = friendsAllowed; + this._partyobj.allowGuild = guildAllowed; + this._partyobj.memberLimit = memberLimit; + this._language = (leader.getLocal(PlayerLocal.class)).credentials.language; + this._partyobj.levelPartyService = this._invmgr.registerProvider(this, LevelPartyMarshaller.class); + this.init(floor); + this._startSegment = this._gateSegment; + this._partyobj.gateId = this._gate.getData().getGateId(); + this._partyobj.floor = floor; + this._partyobj.free = this._floor.free; + this._partyobj.lobby = this._floor.lobby; + this._partyobj.restricted = this._floor.restricted; + this._partyobj.autoRespawn = this.isTutorial(); + TownSummary ts = this._townmgr.getTownSummary(this._gate.getSummary().getSourceId()); + this._partyobj.hasPickups = !this.isTutorial() && (ts == null || !ts.isSet(1)); + this._partyobj.wedgeIndices = new int[floor + 1]; + this._partyobj.wedgeIndices[floor] = this._floor.getWedgeIndex(); + this._partyobj.elevatorCost = this.getElevatorCost(); + this._seed = Calendars.now().addDays(1).toTime(); + this.addMember(leader, true); + } + + public void initFromParty(LevelParty other, Floor gateFloor, PlayerObject leader, List invites) { + LevelPartyObject oPartyobj = other._partyobj; + this._oldParty = oPartyobj.getOid(); + this._partyobj.memberLimit = oPartyobj.memberLimit; + this._partyobj.inviteOnly = oPartyobj.inviteOnly; + this._partyobj.allowFriends = oPartyobj.allowFriends; + this._partyobj.allowGuild = oPartyobj.allowGuild; + this._copierOid = leader.getOid(); + this._matchSeconds = other._matchSeconds; + this._seed = other._seed; + this._startSegment = other._startSegment; + this._reviveCosts = other._reviveCosts; + this._knightProgress = other._knightProgress; + int floor = oPartyobj.floor; + if (gateFloor == null) { + gateFloor = other._floor; + this._partyobj.wedgeIndices = oPartyobj.wedgeIndices; + } else { + ++floor; + this._partyobj.wedgeIndices = ArrayUtil.append(oPartyobj.wedgeIndices, gateFloor.getWedgeIndex()); + } + + this._partyobj.levelPartyService = this._invmgr.registerProvider(this, LevelPartyMarshaller.class); + this.init(floor, gateFloor); + boolean advancing = floor != oPartyobj.floor; + if (!advancing) { + ThetyaSceneManager oscenemgr = other.getSceneManager(leader); + if (oscenemgr != null) { + ThetyaSceneManager nscenemgr = this._instance.copySceneManager(oscenemgr); + if (nscenemgr != null) { + ActorLogic logic = oscenemgr.getActorLogic(leader.pawnId); + if (logic != null) { + nscenemgr.mapEnteringBody(leader, logic.getTransform()); + } + } + } + } + + this._partyobj.gateId = this._gate.getData().getGateId(); + this._partyobj.floor = floor; + this._floorIndex = this._partyobj.floor; + this._partyobj.free = this._floor.free; + this._partyobj.lobby = this._floor.lobby; + this._partyobj.restricted = this._floor.restricted; + this._partyobj.elevatorCost = oPartyobj.elevatorCost; + if (invites != null && !invites.isEmpty()) { + oPartyobj.addToSplitInvites(new SplitInvite(this._partyobj.getOid(), leader.knight, invites)); + } + + this.addPlayer(leader, true, false, true, advancing); + } + + public int getCopierOid() { + return this._copierOid; + } + + public void shutdown() { + super.shutdown(); + (new Interval(this._omgr) { + public void expired() { + LevelParty.this._invmgr.clearDispatcher( + LevelParty.this._partyobj.levelPartyService); + } + }).schedule(5000L); + if (this._floorCrowns > 0 || (float)this._floorHeat > 0.0F) { + this._gate.lootGranted(this._floorCrowns, (float)this._floorHeat, ImmutableMultiset.of()); + } + + this.removeSplitInvites(); + this.logLevelComplete(true); + this.setOpen(false); + } + + public boolean maybeAddMember(PlayerObject player, int segment, boolean anyLanguage) { + if (!this._floor.restricted && + this.checkSegment(segment) && + !this._bootedIds.contains(player.knightId) && + this.checkProgress(player.knightId) == null && + this.hasAccess(player) && + this.activeLeader() && + (System.currentTimeMillis() - this._floorEntered) / 1000L < (long)this.getMatchSeconds() && + (anyLanguage || (player.getLocal(PlayerLocal.class)).credentials.language.equals(this._language))) { + this.addMember(player, true); + return true; + } else { + return false; + } + } + + protected void validateInvitedPlayer(PlayerObject player) throws InvocationException { + super.validateInvitedPlayer(player); + if (player.getEnergy(System.currentTimeMillis()) < this.getEnergy()) { + throw new InvocationException("m.nsf_energy"); + } else { + Integer progress = this.checkProgress(player.knightId); + if (progress != null) { + throw new InvocationException(MessageBundle.tcompose("m.knight_progress", progress)); + } + } + } + + public int getEnergy() { + return this._gate.getEnergy(this._gateSegment); + } + + public void splitParty(final PlayerObject player, final List invites, boolean advance, ResultListener rl) { + if (!advance) { + this._gate.cloneLocalParty(this, null, player, invites); + rl.requestCompleted(null); + } else { + float position = this._gate + .getData() + .getWheels()[this._partyobj.floor] + .getWedgePosition(this._partyobj.getCurrentWedgeIndex(), System.currentTimeMillis()); + final Floor gateFloor = this._gate.resolveFloor(this._partyobj.floor + 1, position); + if (gateFloor == null) { + rl.requestCompleted(null); + } else { + int cost = this._partyobj.elevatorCost; + this.useEnergy(player, cost, 200, "m.elevator", new ChainedResultListener(rl) { + public void requestCompleted(Void result) { + LevelParty.this._gate.cloneLocalParty( + LevelParty.this, gateFloor, player, invites); + this._target.requestCompleted(null); + } + }); + } + } + } + + public void nextFloor() { + this.nextFloor(1); + } + + public void nextFloor(int advance) { + this.nextFloor(advance, Runnable::run); + } + + public void nextFloor(Executor finisher) { + this.nextFloor(1, finisher); + } + + public void nextFloor(int advance, Executor finisher) { + this.updateMemberCount(); + this._elevator = true; + this._floorFinisher = finisher; + if (advance == -1) { + this._pendingFloor = null; + } else { + float position = this._gate.getData().getWheels()[this._partyobj.floor].getWedgePosition(this._partyobj.getCurrentWedgeIndex(), System.currentTimeMillis()); + this._pendingFloor = this._gate.resolveFloor(this._partyobj.floor + (this._pendingAdvance = advance), position); + } + + Multiset minerals = EnumMultiset.create(Mineral.class); + Multiset> minRefs = HashMultiset.create(Mineral.COUNT); + int ii = 0; + + PlayerObject playerobject; + for(int nn = this._members.size(); ii < nn; ++ii) { + playerobject = this._members.get(ii); + Item item = playerobject.getEquipmentItem(5); + if (item != null) { + playerobject.removeFromItems(item.getKey()); + MetaMineral metamin = (MetaMineral)item.getOriginal(this._cfgmgr); + ConfigReference minref = metamin.mineral; + Original config = Item.getOriginal(this._cfgmgr, minref); + if (!(config instanceof com.threerings.projectx.item.config.ItemConfig.Mineral)) { + Log.log.warning("Invalid mineral in meta-mineral config.", "item", item, "mineral", + minref); + } else { + int mincount = metamin.mineralCount; + minerals.add(((com.threerings.projectx.item.config.ItemConfig.Mineral)config).type, mincount * nn); + minRefs.add(minref, mincount); + } + } + } + + Iterator i$ = minRefs.entrySet().iterator(); + + int nn; + PlayerObject plobj; + while(i$.hasNext()) { + Entry> entry = (Entry>)i$.next(); + ii = 0; + + for(nn = this._members.size(); ii < nn; ++ii) { + plobj = this._members.get(ii); + this.addLoot(plobj, entry.getElement(), entry.getCount()); + this._itemmgr.createItems(plobj, entry.getElement(), entry.getCount()); + //this._evlog.log(new LootAcquired(plobj.playerId, this.getFloorId(this._floor), this._memberCount, this.getGateId(), ((ConfigReference)entry.getElement()).getName(), entry.getCount())); + } + } + + if (this._floorCrowns > 0 || (float)this._floorHeat > 0.0F || !minerals.isEmpty()) { + this._gate.lootGranted(this._floorCrowns, (float)this._floorHeat, minerals); + } + + this.removeSplitInvites(); + long intervalWait = 10000L; + this._partyobj.startTransaction(); + + try { + if (this._pendingFloor != null && !this._pendingFloor.dissolvesParty()) { + this._partyobj.setShowLoot(false); + } else { + this._nextZoneId = -1; + this._nextSceneId = -1; + playerobject = null; + TownRecord town; + if (this._pendingFloor == null) { + town = advance == -1 ? null : this._townmgr.getTownRecord(this._gate.getData().getDestId()); + if (town != null) { + this._nextZoneId = ZoneUtil.qualifyZoneId((byte)1, town.townId); + this._nextSceneId = town.defaultSceneId; + } + } else { + this._nextZoneId = this._pendingFloor.zoneId; + this._nextSceneId = this._pendingFloor.defaultSceneId; + if (ZoneUtil.zoneType(this._nextZoneId) == 1) { + town = this._townmgr.getTownRecord(ZoneUtil.zoneId(this._nextZoneId)); + } + } + + intervalWait = 70000L; + if (!this.isTutorial()) { + this._partyobj.setShowLoot(true); + } + } + + if (!this.isTutorial()) { + this._partyobj.setLoot(new DSet<>()); + ii = 0; + + for(nn = this._members.size(); ii < nn; ++ii) { + plobj = this._members.get(ii); + Loot loot = new Loot(this._partyobj.getMember(plobj.getOid()).getMemberId()); + List> refs = this._loots.get(plobj); + ConfigReference[] arr = (ConfigReference[])(new ConfigReference[refs.size()]); + loot.loot = refs.toArray(arr); + this._partyobj.addToLoot(loot); + } + } + + this._partyobj.setPlayFanfare(!this.isTutorial() && !this._floor.lobby); + this._partyobj.setShowElevatorChoice(this._pendingFloor != null && !this._pendingFloor.free); + if (intervalWait == 10000L && this._partyobj.showElevatorChoice) { + intervalWait += 15000L; + } + + this._partyobj.setPendingFloorName(this._pendingFloor == null ? null : this._pendingFloor.translatedName); + } finally { + this._partyobj.commitTransaction(); + } + + (this._nextFloorInterval = new Interval(this._omgr) { + public void expired() { + if (!LevelParty.this._abandoned) { + LevelParty.this.continueNextFloor(); + } + + } + }).schedule(intervalWait); + } + + public boolean hasPendingFloor() { + return this._pendingFloor != null; + } + + protected void maybeContinueNextFloor(final PlayerObject player, boolean descend) { + if (this._nextFloorInterval != null) { + boolean doContinue = true; + int ii = 0; + + for(int nn = this._members.size(); ii < nn; ++ii) { + if (!this._votedToContinue.contains((this._members.get(ii)).getOid())) { + doContinue = false; + break; + } + } + + if (player != null && (this._pendingFloor == null || this._pendingFloor.dissolvesParty() || !descend)) { + if (this._votedToLeave.contains(player.getOid())) { + (new Interval(this._omgr) { + public void expired() { + LevelParty.this.dropPlayer(player); + LevelParty.this._votedToLeave.remove(player.getOid()); + if (!LevelParty.this._abandoned) { + LevelParty.this.maybeContinueNextFloor(null, true); + } + + } + }).schedule(2400L); + } else { + this.dropPlayer(player); + } + } + + if (doContinue && !this._members.isEmpty() && this._nextFloorInterval != null) { + this._nextFloorInterval.cancel(); + this.continueNextFloor(); + } + + } + } + + protected void dropPlayer(PlayerObject player) { + this.updateHeat(player); + this.removePlayer(player, true, this._nextZoneId, this._nextSceneId); + } + + protected void continueNextFloor() { + if (this._votedToLeave.isEmpty()) { + this._votedToContinue.clear(); + this._nextFloorInterval = null; + this._partyobj.startTransaction(); + + int ii; + try { + ii = 0; + + for(ii = this._members.size(); ii < ii; ++ii) { + this.updateHeat(this._members.get(ii)); + } + } finally { + this._partyobj.commitTransaction(); + } + + if (this._pendingFloor != null && !this._pendingFloor.dissolvesParty()) { + if (this.canFinishNextFloor()) { + this.executeFinishNextFloor(); + } else { + ElevatorDialogInfo info = new ElevatorDialogInfo(); + ii = 0; + + for(int nn = this._players.size(); ii < nn; ++ii) { + (this._players.get(ii)).setSceneDialog(info); + } + + } + } else { + if (!this.isTutorial()) { + ii = 0; + + for(ii = this._earlyMembers.size(); ii < ii; ++ii) { + ((this._earlyMembers.get(ii)).getLocal(PlayerLocal.class)).gateComplete = true; + } + } + + this.logLevelComplete(true); + if (this._floorFinisher != null) { + Executor finisher = this._floorFinisher; + this._floorFinisher = null; + finisher.execute(() -> LevelParty.this.dissolve( + LevelParty.this._nextZoneId, LevelParty.this._nextSceneId)); + } + + } + } + } + + public LevelPartyObject getPartyObject() { + return this._partyobj; + } + + public boolean canResurrect(int healerOid) { + PartyMember member = this._partyobj.getMember(healerOid); + if (member == null) { + return false; + } else { + Comparable healerKey = member.getKey(); + Health healerHealth = this._partyobj.health.get(healerKey); + return healerHealth.current >= 40; + } + } + + public int resurrectMember(int bodyOid, int healerOid) { + Comparable healerKey = this._partyobj.getMember(healerOid).getKey(); + Health healerHealth = this._partyobj.health.get(healerKey); + if (healerHealth.current < 40) { + return 0; + } else { + PartyMember member = this._partyobj.getMember(bodyOid); + if (member == null) { + return 0; + } else { + Comparable key = member.getKey(); + Heat healerHeat = this._partyobj.heat.get(healerKey); + Heat heat = this._partyobj.heat.get(key); + Status status = this._partyobj.status.get(key); + status.set(2, true); + int amount = healerHealth.current / 2; + this._partyobj.startTransaction(); + + try { + healerHealth.current -= amount; + this._partyobj.updateHealth(healerHealth); + float heatAmount = heat.amount * 0.3F; + heat.amount -= heatAmount; + healerHeat.amount += heatAmount; + this._partyobj.updateHeat(heat); + this._partyobj.updateStatus(status); + this._partyobj.updateHeat(healerHeat); + } finally { + this._partyobj.commitTransaction(); + } + + return amount; + } + } + } + + public void grantCrowns(PlayerObject player, int number) { + this._floorCrowns += number; + this._totalCrowns += number; + + for (PlayerObject member : this._members) { + this.logCrowns(member, number); + } + + } + + public void grantHeat(PlayerObject player, int amount) { + this._floorHeat += amount; + this._totalHeat += amount; + this._partyobj.startTransaction(); + + try { + + for (PartyMember member : this._partyobj.members) { + Heat heat = this._partyobj.heat.get(member.getKey()); + heat.amount += (float) amount; + this._partyobj.updateHeat(heat); + } + } finally { + this._partyobj.commitTransaction(); + } + + } + + public boolean useEnergy(PlayerObject member, int amount, int type, String description, final ResultListener rl) { + Energy energy = this._partyobj.getEnergy(member.getOid()); + List payers = Lists.newArrayList(); + int total = 0; + long now = System.currentTimeMillis(); + Payer[] arr$ = energy.payers; + int len$ = arr$.length; + + int ii; + for(ii = 0; ii < len$; ++ii) { + Payer payer = arr$[ii]; + if (type == 200 || payer.fullRide) { + PlayerObject player = this.getPlayerByOid(payer.playerOid); + total += player.getEnergy(now); + payers.add(player); + } + } + + final int npayers = payers.size(); + if (npayers == 0) { + if (member.getEnergy(now) < amount) { + return false; + } else { + this._knightmgr.useEnergy(member, amount, type, description, rl); + return true; + } + } else if (total < amount) { + return false; + } else if (npayers == 1) { + this.useEnergyForTab(payers.get(0), amount, type, description, rl); + return true; + } else { + int[] energies = new int[npayers]; + + for(ii = 0; ii < npayers; ++ii) { + energies[ii] = (payers.get(ii)).getEnergy(now); + } + + int[] amounts = new int[npayers]; + int remaining = npayers; + + int jj; + while(amount > 0) { + int each = Math.max(amount / remaining, 1); + remaining = 0; + + for(ii = 0; ii < npayers && amount > 0; ++ii) { + int extract = Math.min(energies[ii], each); + amount -= extract; + amounts[ii] += extract; + if ((energies[ii] -= extract) > 0) { + ++remaining; + } + } + } + + ResultListener crl = new ResultListener() { + protected int _completed; + protected Exception _cause; + + public void requestCompleted(Void result) { + if (++this._completed == npayers) { + rl.requestCompleted(null); + } + + } + + public void requestFailed(Exception cause) { + if (this._cause == null) { + rl.requestFailed(this._cause = cause); + } + + } + }; + + for(ii = 0; ii < npayers; ++ii) { + this.useEnergyForTab(payers.get(ii), amounts[ii], type, description, crl); + } + + return true; + } + } + + public void addPlayer(PlayerObject player, boolean move, boolean watcher, boolean transfer, boolean charge) { + super.addPlayer(player, move, watcher, transfer, charge); + if (!watcher) { + if (move && !this._floor.lobby && !transfer) { + this.logPlayerStartGate(player); + } + + this.updateOpen(); + if (charge) { + GateSummary summary = this._gate.getSummary(); + int crowns = summary.getCrowns(player, summary.getSegmentForFloor(this._partyobj.floor), + this._adminmgr.getServerObject()); + if (player.crowns < crowns) { + Log.log.warning("Adding player with insufficient crowns.", "who", player.who()); + crowns = player.crowns; + } + + player.adjustCrowns(-crowns); + if (!this._floor.lobby) { + if (!this._floor.free) { + ++player.getLocal(PlayerLocal.class).levelsEntered; + } + + int energy = player.getEnergy(System.currentTimeMillis()); + int required = this.getEnergy(); + if (energy < required) { + Log.log.warning("Adding player with insufficient energy.", "who", player.who(), "energy", + energy, "required", required); + required = energy; + } + + this._knightmgr.useEnergy(player, required, 206, "m.join_party", new ComplainingListener<>( + Log.log, "Failed to extract energy to join party.", "who", player.who())); + } + + } + } + } + + public void removePlayer(PlayerObject player, boolean move, int zoneId, int sceneId) { + boolean member = this._members.contains(player); + super.removePlayer(player, move, zoneId, sceneId); + this._loots.remove(player); + if (member) { + this._earlyMembers.remove(player); + if (!this._members.isEmpty()) { + this.maybeFinishNextFloor(); + this.updateOpen(); + } + } + + } + + public int nextItemRecipientOid() { + int nmembers = this._members.size(); + if (nmembers > 0) { + Randoms rand = Randoms.threadLocal(); + int idx = rand.getInt(nmembers); + PlayerObject plobj = this._members.get(idx); + if (this.canReceiveItem(plobj)) { + return plobj.getOid(); + } + + plobj = rand.pick( + this._members.stream().filter(LevelParty.this::canReceiveItem) + .collect(Collectors.toList()), null); + if (plobj != null) { + return plobj.getOid(); + } + } + + return 0; + } + + public boolean hurtMember(int bodyOid, int amount, DungeoneerLogic target, Logic source) { + Health health = this._partyobj.getHealth(bodyOid); + if (health != null && amount >= health.current && health.current > 40 && amount * 4 > health.maximum) { + amount = health.current - 40; + } + + return super.hurtMember(bodyOid, amount, target, source); + } + + public void setInviteOnly(ClientObject caller, boolean inviteOnly, ConfirmListener cl) throws InvocationException { + PlayerObject player = (PlayerObject)caller; + this.ensureLeader(player); + this._partyobj.setInviteOnly(inviteOnly); + this.updatePartyState(); + cl.requestProcessed(); + } + + public void setAllowFriends(ClientObject caller, boolean allowFriends, ConfirmListener cl) throws InvocationException { + PlayerObject player = (PlayerObject)caller; + this.ensureLeader(player); + this._partyobj.setAllowFriends(allowFriends); + this.updatePartyState(); + cl.requestProcessed(); + } + + public void setAllowGuild(ClientObject caller, boolean allowGuild, ConfirmListener cl) throws InvocationException { + PlayerObject player = (PlayerObject)caller; + this.ensureLeader(player); + this._partyobj.setAllowGuild(allowGuild); + this.updatePartyState(); + cl.requestProcessed(); + } + + public void inviteMember(ClientObject caller, Name name, ConfirmListener cl) throws InvocationException { + PlayerObject player = (PlayerObject)caller; + this.ensureInParty(player); + boolean leader = this.isLeader(player); + if (!this._partyobj.canInvite(leader)) { + Log.log.warning("Member cannot invite.", "who", player.who(), "name", name, "which", + this.which()); + throw new InvocationException("m.internal_error"); + } else if (this.getMember(name) != null) { + throw new InvocationException(MessageBundle.tcompose("m.already_in_party", name)); + } else if (this._invited.contains(name)) { + throw new InvocationException(MessageBundle.tcompose("m.already_invited", name)); + } else { + PlayerData data = this._peermgr.getKnight(name); + if (data == null) { + throw new InvocationException(MessageBundle.tcompose("m.not_online", name)); + } else { + int knightId = data.getKnightId(); + Integer progress = this.checkProgress(knightId); + if (progress != null) { + throw new InvocationException(MessageBundle.tcompose("m.party_progress", name, progress)); + } else if (!leader && this._bootedIds.contains(knightId)) { + throw new InvocationException(MessageBundle.tcompose("m.booted", name)); + } else { + this._bootedIds.remove(knightId); + this.updatePeers(); + if (data.getEnergy(System.currentTimeMillis()) < this.getEnergy()) { + throw new InvocationException(MessageBundle.tcompose("m.cannot_afford", name)); + } else { + this._peermgr.invokeKnightAction(name, new InviteExtendedAction(name, new PartyInvite( + PeerConfig.getNode(), this._partyobj.getOid(), player.knight))); + this._invited.add(name); + cl.requestProcessed(); + } + } + } + } + } + + public void addToTab(ClientObject caller, Name name, boolean full, ConfirmListener cl) throws InvocationException { + PlayerObject player = (PlayerObject)caller; + this.ensureInParty(player); + PlayerObject member = this.getMember(name); + if (member != null && member != player) { + long time = System.currentTimeMillis(); + Energy energy = this._partyobj.getEnergy(member.getOid()); + if (!this._partyobj.canAddToTab(player, time, energy)) { + Log.log.warning("Can't afford to add member to tab.", "who", player.who(), "name", name); + throw new InvocationException("m.internal_error"); + } else { + energy.addPayer(player.getOid(), full); + this._partyobj.updateEnergy(energy); + SpeakUtil.sendInfo(member, "dungeon", MessageBundle.compose("m.added_notification", + MessageBundle.taint(player.knight), full ? "m.full_ride" : "m.elevators_only")); + this.maybeFinishNextFloor(); + cl.requestProcessed(); + } + } else { + Log.log.warning("Tried to add invalid member to tab.", "who", player.who(), "name", name); + throw new InvocationException("m.internal_error"); + } + } + + public void removeFromTab(ClientObject caller, Name name, ConfirmListener cl) throws InvocationException { + PlayerObject player = (PlayerObject)caller; + this.ensureInParty(player); + PlayerObject member = this.getMember(name); + Energy energy = member == null ? null : this._partyobj.getEnergy(member.getOid()); + if (energy != null && energy.isPayer(player.getOid())) { + this.removeFromTab(player, member, energy); + cl.requestProcessed(); + } else { + Log.log.warning("Tried to remove member not on tab.", "who", player.who(), "name", name); + throw new InvocationException("m.internal_error"); + } + } + + public void revive(ClientObject caller, Name name, int approvedCost, final ConfirmListener cl) throws InvocationException { + PlayerObject player = (PlayerObject)caller; + this.ensureInParty(player); + int actualCost = 0; + final List revivees = name == null ? Lists.newArrayListWithCapacity(this._partyobj.members.size()) : Collections + .singletonList(name); + if (name == null) { + + for (PartyMember member : this._partyobj.members) { + int cost = this._partyobj.getReviveCost(member.getKey()); + if (cost >= 0) { + (revivees).add(member.name); + actualCost += cost; + } + } + + if ((revivees).isEmpty()) { + throw new InvocationException("m.no_revive"); + } + } else { + PartyMember member = this._partyobj.getMember(name); + if (member == null) { + throw new InvocationException("m.no_revive"); + } + + actualCost = this._partyobj.getReviveCost(member.getKey()); + if (actualCost < 0) { + throw new InvocationException("m.no_revive"); + } + } + + if (actualCost == 0) { + this.finishRevive(player.knight, revivees, cl); + } else if (actualCost > approvedCost) { + throw new InvocationException("m.costupdate"); + } else { + final Name reviver = player.knight; + ResultListener rl = new ResultListener() { + public void requestCompleted(Void result) { + LevelParty.this.finishRevive(reviver, revivees, cl); + } + + public void requestFailed(Exception cause) { + LevelParty.this.invertReviveCost(revivees); + cl.requestFailed("m.nsf_energy"); + LevelParty.this.checkPartyDead(); + } + }; + this.invertReviveCost(revivees); + if (!this.useEnergy(player, actualCost, 208, "revivePlayer", rl)) { + rl.requestFailed(null); + } + + } + } + + public void continueOn(ClientObject caller, ConfirmListener cl) throws InvocationException { + PlayerObject player = (PlayerObject)caller; + this.ensureInParty(player); + this._votedToContinue.add(player.getOid()); + this.maybeFinishNextFloor(); + cl.requestProcessed(); + } + + public void bootMember(ClientObject caller, Name name, ConfirmListener cl) throws InvocationException { + PlayerObject player = (PlayerObject)caller; + boolean selfBoot = player.knight.equals(name); + if (!selfBoot) { + this.ensureLeader(player); + } + + PlayerObject member = this.getMember(name); + if (member == null) { + cl.requestProcessed(); + } else if (selfBoot && this._members.size() == 1) { + Log.log.warning("Solo member tried to boot self.", "who", player.who()); + throw new InvocationException("m.internal_error"); + } else if (member.isVisibleSupportPlus() && !player.tokens.isSupportPlus()) { + throw new InvocationException("m.access_denied"); + } else { + if (this._adminmgr.getDungeonConfigObject().cloneForBooted) { + this._gate.cloneLocalParty(this, null, member, null); + } else { + this.removePlayer(member, true); + } + + if (!selfBoot) { + this._bootedIds.add(member.knightId); + } + + this.updatePeers(); + cl.requestProcessed(); + } + } + + public void advance(ClientObject caller, int floors, ConfirmListener cl) throws InvocationException { + PlayerObject player = (PlayerObject)caller; + this.ensureInParty(player); + if (!player.tokens.isSupportPlus()) { + Log.log.warning("Non-admin tried to advance floor.", "who", player.who()); + throw new InvocationException("m.access_denied"); + } else if (floors < 1) { + Log.log.warning("Invalid floor count.", "who", player.who(), "floors", floors); + throw new InvocationException("m.internal_error"); + } else { + this.nextFloor(floors); + cl.requestProcessed(); + } + } + + public void split(ClientObject caller, List invites, boolean advance, ConfirmListener cl) throws InvocationException { + PlayerObject player = (PlayerObject)caller; + this.ensureInParty(player); + if (!player.tokens.isSupportPlus()) { + Status status = this._partyobj.getStatus(player.getOid()); + if (status == null || !status.isSet(4)) { + Log.log.warning("Non-admin tried to split party.", "who", player.who()); + throw new InvocationException("m.access_denied"); + } + + if (!advance) { + Log.log.warning("Non-admin tried to split without advancing.", "who", player.who()); + throw new InvocationException("m.access_denied"); + } + + if (!this._floor.lobby) { + Log.log.warning("Non-admin tried to split from non-lobby floor", "who", player.who()); + throw new InvocationException("m.access_denied"); + } + } + + this.splitParty(player, invites, advance, new ConfirmAdapter(cl)); + } + + public void join(ClientObject caller, int partyOid, ConfirmListener cl) throws InvocationException { + PlayerObject player = (PlayerObject)caller; + this.ensureInParty(player); + PartyMember member = this._partyobj.getMember(player.getOid()); + if (member == null) { + Log.log.warning("Non-member tried to join split party.", "who", player.who()); + throw new InvocationException("m.access_denied"); + } else { + SplitInvite invite = this._partyobj.splitInvites.get(partyOid); + if (invite != null && invite.memberIds.contains(member.getMemberId())) { + Party oparty = this._dungeonmgr.getParty(partyOid); + if (oparty == null) { + Log.log.warning("Party no longer exists to join", "who", player.who(), "partyOid", + partyOid); + this._partyobj.removeFromSplitInvites(partyOid); + throw new InvocationException("m.access_denied"); + } else { + oparty.addPlayer(player, true, false, true); + cl.requestProcessed(); + } + } else { + Log.log.warning("Member tried to join non-invited split party.", "who", player.who(), + "partyOid", partyOid); + throw new InvocationException("m.access_denied"); + } + } + } + + public void reportComplete(ClientObject caller, boolean descend) { + PlayerObject player = (PlayerObject)caller; + if (player.partyOid == this._partyobj.getOid() && this._nextFloorInterval != null && this._members.contains(player)) { + if (descend) { + this._votedToContinue.add(player.getOid()); + } else { + this._votedToLeave.add(player.getOid()); + } + + this.maybeContinueNextFloor(player, descend); + } + + } + + public void attributeChanged(AttributeChangedEvent event) { + String name = event.getName(); + if (!name.equals("crystal") && !name.equals("playerVaporStamp")) { + super.attributeChanged(event); + } else { + this.updateEnergy(this.getPlayerByOid(event.getTargetOid())); + } + + } + + public float getPower() { + float power = 0.0F; + int ii = 0; + + for(int nn = this._members.size(); ii < nn; ++ii) { + power += 10.0F; + PlayerObject member = this._members.get(ii); + float max1 = 0.0F; + float max2 = 0.0F; + + int jj; + LevelItem item; + float value; + for(jj = 0; jj < GEAR_SLOTS.length; ++jj) { + item = member.getEquipmentItem(GEAR_SLOTS[jj]); + if (item != null) { + value = item.getValue(this._cfgmgr); + if (value > max1) { + max2 = max1; + max1 = value; + } else if (value > max2) { + max2 = value; + } + } + } + + power += (max1 + max2) / 2.8F; + max1 = 0.0F; + max2 = 0.0F; + + for(jj = 0; jj < WEAPON_SLOTS.length; ++jj) { + item = member.getEquipmentItem(WEAPON_SLOTS[jj]); + if (item != null) { + value = item.getValue(this._cfgmgr); + if (value > max1) { + max2 = max1; + max1 = value; + } else if (value > max2) { + max2 = value; + } + } + } + + power += (max1 + max2) / 4.0F; + } + + return Math.max(0.0F, (power - 10.0F) / 90.0F); + } + + public long getSeed() { + return this._seed + (long)this.getDepth(); + } + + protected void addMemberToObj(PlayerObject player, Party oldParty) { + super.addMemberToObj(player, oldParty); + LevelParty old = (LevelParty)oldParty; + if (old != null && old._earlyMembers.contains(player) || this._floorCount < 2) { + this._earlyMembers.add(player); + } + + Integer reviveCost; + if (old != null) { + this._loots.put(player, old._loots.get(player)); + reviveCost = old._reviveCosts.get(player.knightId); + } else { + this._loots.put(player, Lists.newArrayList()); + reviveCost = this._reviveCosts.get(player.knightId); + } + + if (reviveCost == null) { + reviveCost = this.getBaseReviveCost(); + } + + this._reviveCosts.put(player.knightId, reviveCost); + this._partyobj.addToEnergy(new Energy(player, this._lastMemberId, reviveCost)); + this._partyobj.addToHeat(new Heat(this._lastMemberId, 0.0F)); + if (this._currentHealth.containsKey(player.playerId)) { + Health health = this._partyobj.health.get(this._lastMemberId); + health.current = Math.min(health.maximum, this._currentHealth.get(player.playerId)); + this._partyobj.updateHealth(health); + } + + } + + protected void removeMemberFromObj(PlayerObject player, Comparable key) { + Health health = this._partyobj.health.get(key); + if (health != null) { + this._currentHealth.put(player.playerId, health.current); + } + + super.removeMemberFromObj(player, key); + this._partyobj.removeFromEnergy(key); + this._partyobj.removeFromHeat(key); + this._partyobj.setDangerLevel(this.getDangerLevel()); + this.removeAllFromTab(player); + } + + protected boolean canReceiveItem(PlayerObject player) { + return !player.isSet(256); + } + + protected void updateEnergy(PlayerObject player) { + int playerOid = player.getOid(); + Energy energy = this._partyobj.getEnergy(playerOid); + long now = System.currentTimeMillis(); + energy.energyStamp = player.getEnergyStamp(now); + this._partyobj.updateEnergy(energy); + this.ensureCanAffordTab(player); + this.maybeFinishNextFloor(); + } + + protected void ensureCanAffordTab(PlayerObject player) { + long now = System.currentTimeMillis(); + if (player.getEnergy(now) < this._partyobj.getTotalElevatorCost(player.getOid())) { + this.removeAllFromTab(player); + } + + } + + protected void removeAllFromTab(PlayerObject player) { + this._partyobj.startTransaction(); + + try { + int ii = 0; + + for(int nn = this._members.size(); ii < nn; ++ii) { + PlayerObject member = this._members.get(ii); + if (member != player) { + Energy energy = this._partyobj.getEnergy(member.getOid()); + if (energy.isPayer(player.getOid())) { + this.removeFromTab(player, member, energy); + } + } + } + } finally { + this._partyobj.commitTransaction(); + } + + } + + protected void removeFromTab(PlayerObject player, PlayerObject member, Energy energy) { + energy.removePayer(player.getOid()); + this._partyobj.updateEnergy(energy); + SpeakUtil.sendInfo(member, "dungeon", MessageBundle.tcompose("m.removed_notification", player.knight)); + Payer[] arr$ = energy.payers; + int len$ = arr$.length; + + for (Payer payer : arr$) { + this.ensureCanAffordTab(this.getPlayerByOid(payer.playerOid)); + } + + } + + protected void invertReviveCost(List revivees) { + this._partyobj.startTransaction(); + + try { + + for (Name name : revivees) { + PartyMember member = this._partyobj.getMember(name); + if (member != null) { + Energy energy = this._partyobj.energy.get(member.getKey()); + if (energy.reviveCost != 0) { + energy.reviveCost = -energy.reviveCost; + this._partyobj.updateEnergy(energy); + } + } + } + } finally { + this._partyobj.commitTransaction(); + } + + } + + protected void finishRevive(Name reviver, List revivees, ConfirmListener cl) { + if (this._members.isEmpty()) { + Log.log.warning("No more members!", "reviver", reviver); + cl.requestFailed(null); + } else { + ThetyaSceneManager scenemgr = (ThetyaSceneManager)this._instance.getSceneManager(this.getSceneId(this._members.get(0), this._floor.defaultSceneId)); + this._partyobj.startTransaction(); + + try { + Iterator i$ = revivees.iterator(); + + label75: + while(true) { + while(true) { + if (!i$.hasNext()) { + break label75; + } + + Name name = i$.next(); + PlayerObject player = this._knightmgr.getPlayer(name); + PartyMember member = this._partyobj.getMember(name); + if (member == null) { + Log.log.warning("Revived party member that has since left", "name", name); + } else { + Health health = this._partyobj.health.get(member.getKey()); + Energy energy = this._partyobj.energy.get(member.getKey()); + if (health.current == 0 && energy.reviveCost < 0) { + DungeoneerLogic logic = (DungeoneerLogic)scenemgr.getActorLogic(player.pawnId); + if (reviver.equals(name)) { + health.current = health.maximum; + this._partyobj.updateHealth(health); + logic.setRevivedSelf(scenemgr.getTimestamp()); + } else { + logic.setRevived(health.maximum, true); + Status status = this._partyobj.status.get(member.getKey()); + status.set(2, true); + this._partyobj.updateStatus(status); + SpeakUtil.sendInfo(player, "dungeon", + MessageBundle.tcompose("m.revived_by", reviver)); + } + + int newCost = Math.min(1000, -2 * energy.reviveCost); + energy.reviveCost = newCost; + this._partyobj.updateEnergy(energy); + this._reviveCosts.put(player.knightId, newCost); + } else { + Log.log.warning("Revived party member is already revived? Ideally we'd refund...", + "name", name, "health", health.current, "reviveCost", energy.reviveCost); + } + } + } + } + } finally { + this._partyobj.commitTransaction(); + } + + cl.requestProcessed(); + this.checkPartyDead(); + } + } + + protected void updateOpen() { + this.setOpen(this._partyobj.isOpen()); + } + + protected void setOpen(boolean open) { + if (this._open != open) { + if (this._open = open) { + this._gate.partyOpened(this); + } else { + this._gate.partyClosed(this); + this.removeSplitInvites(); + } + } + + } + + protected boolean allMembersDead() { + boolean maybeAllDead = super.allMembersDead(); + if (!maybeAllDead) { + return false; + } else { + Iterator i$ = this._partyobj.energy.iterator(); + + Energy energy; + do { + if (!i$.hasNext()) { + return true; + } + + energy = (Energy)i$.next(); + } while(energy.reviveCost >= 0); + + return false; + } + } + + protected void maybeFinishNextFloor() { + if (this._nextFloorInterval != null) { + this.maybeContinueNextFloor(null, true); + } else if (this._floorFinisher != null && this.canFinishNextFloor()) { + this.executeFinishNextFloor(); + } + + } + + protected boolean canFinishNextFloor() { + if (this._pendingFloor.free) { + return true; + } else { + boolean allCovered = true; + boolean anyCovered = false; + boolean allCoveredVoted = true; + long now = System.currentTimeMillis(); + int cost = this._partyobj.elevatorCost; + int ii = 0; + + for(int nn = this._members.size(); ii < nn; ++ii) { + PlayerObject member = this._members.get(ii); + int memberOid = member.getOid(); + if (this._partyobj.getEnergy(memberOid).canAffordCost(now, cost)) { + anyCovered = true; + if (!this._votedToContinue.contains(memberOid)) { + allCoveredVoted = false; + } + } else { + allCovered = false; + } + } + + if (!anyCovered) { + this._noEnergy = true; + } + + return allCovered || anyCovered && allCoveredVoted; + } + } + + protected void executeFinishNextFloor() { + Executor finisher = this._floorFinisher; + this._floorFinisher = null; + finisher.execute(new Runnable() { + public void run() { + LevelParty.this.finishNextFloor(); + } + }); + } + + protected void finishNextFloor() { + this._oldFloor = this._floor; + this._oldFloorEntered = this._floorEntered; + this._floor = this._pendingFloor; + this._pendingFloor = null; + this._votedToContinue.clear(); + this._votedToLeave.clear(); + this._floorEntered = System.currentTimeMillis(); + int cost; + int newReviveCost; + if (this._floor.free) { + cost = 0; + + for(newReviveCost = this._players.size(); cost < newReviveCost; ++cost) { + this._zonereg.moveBody(this._players.get(cost), this._floor.zoneId, this._floor.defaultSceneId); + } + } else { + cost = this._partyobj.elevatorCost; + + for(newReviveCost = this._players.size() - 1; newReviveCost >= 0; --newReviveCost) { + final PlayerObject player = this._players.get(newReviveCost); + if (!this.isMember(player)) { + this._zonereg.moveBody(player, this._floor.zoneId, this._floor.defaultSceneId); + } else if (!this._partyobj.getEnergy(player.getOid()).canAffordCost(this._floorEntered, cost)) { + this.removePlayer(player, true); + SpeakUtil.sendAttention(player, "dungeon", "m.couldnt_afford"); + SpeakUtil.sendAttention(this._partyobj, "dungeon", + MessageBundle.tcompose("m.member_couldnt_afford", player.knight)); + } else { + this.useEnergy(player, cost, 200, "m.elevator", new ResultListener() { + public void requestCompleted(Void result) { + if (player.isActive()) { + LevelParty.this._zonereg.moveBody(player, LevelParty.this._floor.zoneId, + LevelParty.this._floor.defaultSceneId); + } + + } + + public void requestFailed(Exception cause) { + Log.log.warning("Failed to extract energy.", "who", player.who(), cause); + LevelParty.this.removePlayer(player, true); + } + }); + ++(player.getLocal(PlayerLocal.class)).levelsEntered; + } + } + } + + if (!this._dissolving) { + this.logLevelComplete(false); + this._floorCount += this._pendingAdvance; + } + + cost = this._gateSegment; + this._gateSegment = this._gate.getSummary().getSegmentForFloor(this._partyobj.floor + this._pendingAdvance); + newReviveCost = -1; + int newDepth; + if (this._gateSegment > cost) { + newReviveCost = this.getBaseReviveCost(); + this._reviveCosts = Maps.newHashMap(); + newDepth = 0; + + for(int nn = this._members.size(); newDepth < nn; ++newDepth) { + PlayerObject member = this._members.get(newDepth); + this._dungeonmgr.setGateProgressFlag(member, this._gate.getData().getGateId(), + 1 << this._gateSegment - 1, true); + this._reviveCosts.put(member.knightId, newReviveCost); + } + } + + this._partyobj.startTransaction(); + + try { + newDepth = this._partyobj.depth + this._pendingAdvance; + + for (PartyMember member : this._partyobj.members) { + Health health = this._partyobj.health.get(member.getKey()); + if (this._floor.lobby) { + health.current = health.maximum; + } else if (health.current < 120) { + health.current = 120; + } + + this._partyobj.updateHealth(health); + Status status = this._partyobj.status.get(member.getKey()); + status.set(1, false); + status.set(4, false); + status.conditions = null; + status.expires = null; + this._partyobj.updateStatus(status); + if (newReviveCost != -1) { + Energy energy = this._partyobj.energy.get(member.getKey()); + energy.reviveCost = newReviveCost; + this._partyobj.updateEnergy(energy); + } + + PlayerObject plobj = this.getPlayerByOid(member.playerOid); + this._knightProgress.put(plobj.knightId, newDepth); + } + + this._partyobj.setFloor(this._partyobj.floor + this._pendingAdvance); + this._floorIndex = this._partyobj.floor; + if (this._floor.lobby) { + this._matchSeconds = null; + } else if (this._partyobj.free && !this._partyobj.lobby) { + this._matchSeconds = 0; + } + + this._partyobj.setFree(this._floor.free); + this._partyobj.setLobby(this._floor.lobby); + this._partyobj.setRestricted(this._floor.restricted); + int[] indices = new int[this._pendingAdvance]; + indices[this._pendingAdvance - 1] = this._floor.getWedgeIndex(); + this._partyobj.setWedgeIndices(ArrayUtil.concatenate(this._partyobj.wedgeIndices, indices)); + this._partyobj.setDepth(newDepth); + this._partyobj.mapEntries.clear(); + this._partyobj.setMapEntries(this._partyobj.mapEntries); + this._partyobj.setMapActors(new DSet<>()); + if (this._partyobj.splitInvites.size() > 0) { + this._partyobj.setSplitInvites(new DSet<>()); + } + + this._partyobj.setElevatorCost(this.getElevatorCost()); + } finally { + this._partyobj.commitTransaction(); + } + + this.updatePartyState(); + } + + protected int getElevatorCost() { + return this._adminmgr.getServerObject().getElevatorCost(this._gateSegment, this._gate.getSummary().isSet(4)); + } + + protected int getBaseReviveCost() { + return REVIVE_COSTS.get(this._gateSegment) / (this._gate.getSummary().isSet(4) ? 2 : 1); + } + + protected PartyInfo createPartyInfo() { + return new LevelPartyInfo(this._partyobj.getOid(), this._gate.getData().getGateId(), this._floorIndex, this._floor.translatedName, this.getMemberNames(), this._partyobj.memberLimit, this._partyobj.inviteOnly, this._partyobj.allowFriends, this.getGuildId(), this._language, this._floor.lobby, this._floorEntered, this.getMatchSeconds(), this._bootedIds.toIntArray(), this._partyobj.restricted); + } + + protected boolean updateCurrentHealth() { + return this._partyobj.lobby; + } + + protected void useEnergyForTab(PlayerObject payer, int amount, int type, String description, ResultListener rl) { + PlayerLocal var10000 = payer.getLocal(PlayerLocal.class); + var10000.tabEnergyPaid += amount; + this._knightmgr.useEnergy(payer, amount, type, description, rl); + } + + protected void updateWhereabouts() { + Whereabouts.Party whereabouts = (Whereabouts.Party) this._whereabouts; + GateData data = this._gate.getData(); + whereabouts.name = data.getName(); + whereabouts.energy = this.getEnergy(); + whereabouts.inviteOnly = this._partyobj.inviteOnly; + PlayerObject leader = this._partyobj.inviteOnly ? this.getLeader() : null; + whereabouts.friend = this._partyobj.allowFriends && leader != null ? leader.knight : null; + whereabouts.guildId = this.getGuildId(); + if (this._gate.getSummary().hasSegments()) { + whereabouts.name = MessageBundle.compose("m.segment_name", whereabouts.name, + MessageBundle.taint(String.valueOf(this._gateSegment + 1))); + } + + whereabouts.gateId = this._gate.getData().getGateId(); + whereabouts.floor = this._partyobj.floor; + whereabouts.wedgeIndex = this._partyobj.getCurrentWedgeIndex(); + whereabouts.members = this._members.size(); + whereabouts.limit = this._partyobj.restricted ? 0 : this._partyobj.memberLimit; + int ii = 0; + + for(int nn = this._members.size(); ii < nn; ++ii) { + this._socialmgr.setWhereabouts(this._members.get(ii), whereabouts); + } + + } + + protected int goCreateItem(PlayerObject plobj, ConfigReference ref, boolean loot, boolean distribute, boolean announce, Original original) { + int oid = -1; + int divisor; + if (distribute && !original.isTransient()) { + divisor = this._members.size(); + if (divisor > 0) { + Randoms rand = Randoms.threadLocal(); + int idx = rand.getInt(divisor); + oid = this.awardItem(this._members.get(idx), ref, original, loot, announce); + if (oid == -1) { + List list = Lists.newArrayList(this._members); + rand.shuffle(list); + + for (PlayerObject player : list) { + oid = this.awardItem(player, ref, original, loot, announce); + if (oid != -1) { + break; + } + } + } + } + } else { + oid = this.awardItem(plobj, ref, original, loot, announce); + } + + if (oid != -1 && (loot || original.isTransient())) { + if (plobj.getOid() != oid) { + plobj = this.getPlayerByOid(oid); + } + + divisor = Math.max(1, this._members.size()); + //this._evlog.log(new LootAcquired(plobj.playerId, this.getFloorId(this._floor), divisor, this.getGateId(), ref.getName())); + if (original.isValidIndex(-1)) { + this.addLoot(plobj, ref, 1); + ItemProps props = original.getProps(this._cfgmgr); + this._floorLootCrowns += (float)props.sellPrice / (float)divisor; + this._totalLootCrowns += (float)props.sellPrice / (float)divisor; + PlayerLocal var10000 = plobj.getLocal(PlayerLocal.class); + var10000.lootCrowns += props.sellPrice; + } + } + + return oid; + } + + protected int awardItem(PlayerObject plobj, ConfigReference ref, Original original, boolean announce, boolean global) { + if (this.canReceiveItem(plobj) && this._itemmgr.createItem(plobj, ref)) { + if (announce) { + SpeakUtil.sendMessage((global ? this._partyobj : plobj), + new LootMessage(MessageBundle.compose("m.item_awarded", MessageBundle.taint(plobj.knight), + MessageBundle.qualify("item", original.getType()), + MessageBundle.qualify("item", original.getNameKey(ref))))); + } + + return plobj.getOid(); + } else { + return -1; + } + } + + protected void logCrowns(PlayerObject plobj, int number) { + this._knightmgr.grantCrowns(plobj, number); + PlayerLocal var10000 = plobj.getLocal(PlayerLocal.class); + var10000.dungeonCrowns += number; + } + + protected void markLevelComplete(PlayerObject plobj) { + if (!this._floor.free) { + PlayerLocal pl = plobj.getLocal(PlayerLocal.class); + ++pl.levelsCompleted; + int floors = pl.floors + pl.levelsCompleted; + if ((INVITE_FLOORS.contains(floors) || floors % 500 == 0) && plobj.invitations < 5) { + plobj.setInvitations(plobj.invitations + 1); + } + + //if (StringUtil.isBlank(this._gate.getData().getInternalId())) { + int depth = this.getDepth(false); + LevelTokenType token = null; + + for (LevelTokenType type : LEVEL_TOKENS) { + if (depth <= type.getMaxDepth()) { + token = type; + break; + } + } + + plobj.setLevelTokensAt(token.getTokens(plobj) + 15, token.ordinal()); + //} + } else if (this._floor.lobby) { + this.logPlayerStartGate(plobj); + } + + } + + protected void updateHeat(PlayerObject plobj) { + PartyMember member = this._partyobj.getMember(plobj.getOid()); + if (member == null) { + Log.log.warning("Missing member entry for player.", + "who", plobj.who(), "which", this.which()); + } else { + Comparable key = member.getKey(); + Heat heat = this._partyobj.heat.get(key); + Health health = this._partyobj.health.get(key); + if (heat != null) { + if (health.current > 0) { + this._itemmgr.applyHeat(plobj, heat.amount); + } + + heat.amount = 0.0F; + this._partyobj.updateHeat(heat); + } + + this.markLevelComplete(plobj); + } + } + + protected void logLevelComplete(boolean logGate) { + if (this._oldFloor != null) { + long now = System.currentTimeMillis(); + //this._evlog.log(new LevelCompleted(this.getFloorId(this._oldFloor), this._memberCount, this._memberIds, this.getGateId(), (int)((now - this._oldFloorEntered) / 1000L), this._floorCrowns, (int)this._floorLootCrowns, this._floorDeaths, this._floorHeat, this._elevator, this._noEnergy, this._abandoned, this._defeated, this.getDepth(false))); + if (logGate) { + //this._evlog.log(new GateCompleted(this.getGateId(), this._memberCount, this._memberIds, (int)((now - this._formed) / 1000L), this._totalCrowns, (int)this._totalLootCrowns, this._totalDeaths, this._totalHeat, this._elevator, this._noEnergy, this._abandoned, this._defeated, this.getDepth(false))); + } + + this._oldFloor = null; + this._floorCrowns = 0; + this._floorDeaths = 0; + this._floorHeat = 0; + this._elevator = false; + this._floorLootCrowns = 0.0F; + } + + } + + protected void logPlayerStartGate(PlayerObject plobj) { + List equipped = Lists.newArrayList(); + + for(int ii = 0; ii < 13; ++ii) { + Item item = plobj.getEquipmentItem(ii); + if (item != null) { + equipped.add(item.getConfig().getName()); + } + } + + //this._evlog.log(new PlayerStartGate(plobj.playerId, this.getGateId(), equipped)); + } + + protected int getDangerLevel() { + return FloatMath.round(this.getPower() * 6.0F); + } + + protected void addLoot(PlayerObject plobj, ConfigReference ref, int count) { + List> list = this._loots.get(plobj); + if (list != null) { + for(int ii = 0; ii < count; ++ii) { + list.add(ref); + } + } + + } + + protected void removeSplitInvites() { + if (this._oldParty != -1) { + Party oParty = this._dungeonmgr.getParty(this._oldParty); + if (oParty instanceof LevelParty) { + LevelPartyObject oPartyobj = ((LevelParty)oParty).getPartyObject(); + if (oPartyobj.splitInvites.containsKey(this._partyobj.getOid())) { + oPartyobj.removeFromSplitInvites(this._partyobj.getOid()); + } + } + + this._oldParty = -1; + } + + } + + protected void updatePartyState() { + this.updateOpen(); + this.updateWhereabouts(); + this.updatePeers(); + } + + protected int getMatchSeconds() { + return this._floor == null ? 0 : Objects.firstNonNull(this._matchSeconds, this._floor.matchSeconds); + } + + public PlayerObject getLeader() { + return this._members.isEmpty() ? null : this._members.get(0); + } + + public Integer checkProgress(int knightId) { + Integer progress = this._knightProgress.get(knightId); + return progress != null && progress > this._partyobj.depth ? progress : null; + } + + protected void ensureLeader(PlayerObject player) throws InvocationException { + if (!this.isLeader(player)) { + Log.log.warning("Non-leader tried to make request.", "who", player.who(), + "which", this.which()); + throw new InvocationException("m.internal_error"); + } + } + + protected boolean isLeader(PlayerObject player) { + return player.equals(this.getLeader()) || player.tokens.isSupportPlus(); + } + + protected boolean activeLeader() { + PlayerObject plobj = this.getLeader(); + return plobj != null && plobj.status != 1; + } + + protected boolean hasAccess(PlayerObject player) { + return !this._partyobj.inviteOnly || this.friendAllowed(player.knight) || player.guildId != 0 + && player.guildId == this.getGuildId(); + } + + protected boolean friendAllowed(Name name) { + return this._partyobj.allowFriends && this.getLeader().friends.containsKey(name); + } + + protected int getGuildId() { + if (!this._partyobj.allowGuild) { + return 0; + } else { + PlayerObject leader = this.getLeader(); + return leader == null ? 0 : leader.guildId; + } + } + + protected boolean checkSegment(int segment) { + if ((segment != 0 || this._gateSegment != 0) && this._startSegment != segment) { + return segment == this._gateSegment && !this._floor.lobby; + } else { + return true; + } + } +} \ No newline at end of file diff --git a/src/com/github/thetya/server/dungeon/LevelPartyHost.java b/src/com/github/thetya/server/dungeon/LevelPartyHost.java new file mode 100644 index 0000000..2a5956e --- /dev/null +++ b/src/com/github/thetya/server/dungeon/LevelPartyHost.java @@ -0,0 +1,173 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.dungeon; + +import com.github.thetya.server.PlayerLocal; +import com.github.thetya.server.admin.ThetyaAdminManager; +import com.github.thetya.server.dungeon.Gate.Floor; +import com.github.thetya.server.peer.PeerConfig; +import com.github.thetya.server.peer.ThetyaPeerManager; +import com.github.thetya.server.peer.util.NodePlayerTransfer; +import com.google.common.base.Objects; +import com.google.common.collect.Lists; +import com.google.inject.Inject; +import com.samskivert.util.ChainedResultListener; +import com.samskivert.util.ResultListener; +import com.threerings.presents.client.Client; +import com.threerings.presents.server.InvocationException; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.dungeon.data.GateSummary; +import com.threerings.projectx.peer.data.LevelPartyInfo; +import com.threerings.projectx.peer.data.PartyInfo; +import com.threerings.projectx.peer.data.ProjectXNodeObject; +import java.util.Iterator; +import java.util.List; + +public abstract class LevelPartyHost extends PartyHost { + public static final int MAX_PARTY_SIZE = 4; + protected List _openParties = Lists.newArrayList(); + @Inject + protected ThetyaAdminManager _adminmgr; + @Inject + protected ThetyaPeerManager _peermgr; + + public LevelPartyHost() { + } + + public void joinParty(final PlayerObject player, final int floor, final boolean anyLanguage, + final boolean autoCreate, final ResultListener rl) { + final GateSummary gate = this.getGateSummary(); + final int gateSegment = gate.getSegmentForFloor(floor); + if (!this._adminmgr.willShutdown()) { + int ii = 0; + + for(int nn = this._openParties.size(); ii < nn; ++ii) { + if (this._openParties.get(ii).maybeAddMember(player, gateSegment, anyLanguage)) { + rl.requestCompleted(true); + return; + } + } + } + + ChainedResultListener crl = new ChainedResultListener(rl) { + public void requestCompleted(Boolean result) { + this._target.requestCompleted(true); + } + }; + final String language = (player.getLocal(PlayerLocal.class)).credentials.language; + NodePlayerTransfer transfer = new NodePlayerTransfer(player, crl) { + protected int _partyOid; + + protected boolean shouldTransfer(ProjectXNodeObject nodeobj) { + if (nodeobj.info.willShutdown()) { + return false; + } else { + int gateId = LevelPartyHost.this.getGateId(); + long now = System.currentTimeMillis(); + Iterator i$ = nodeobj.parties.iterator(); + + LevelPartyInfo info; + do { + do { + do { + do { + do { + do { + PartyInfo party; + do { + if (!i$.hasNext()) { + return false; + } + + party = i$.next(); + } while(!(party instanceof LevelPartyInfo)); + + info = (LevelPartyInfo)party; + } while(info.getGateId() != gateId); + } while(!info.isOpen()); + } while(!info.isMatch(player)); + } while(gate.getSegmentForFloor(info.floor) != gateSegment); + } while((now - info.floorEntered) / 1000L + 10L >= (long)info.matchSeconds); + } while(!anyLanguage && !info.getLanguage().equals(language)); + + this._partyOid = info.getPartyOid(); + return true; + } + } + + protected void requestTransfer(Client client, ProjectXNodeObject nodeobj, PlayerObject playerx, + Object[] locals) { + nodeobj.projectXPeerService.addToParty(playerx, locals, this._partyOid, false, false, this); + } + + protected void handleFailure(String cause) { + if (player.isActive()) { + LevelPartyHost.this.joinParty(player, floor, anyLanguage, autoCreate, rl); + } + + } + }; + if (!transfer.invoke(this._peermgr)) { + if (autoCreate) { + this.createParty(player, MAX_PARTY_SIZE, false, false, false, floor, crl); + } else { + rl.requestCompleted(false); + } + + } + } + + public void createParty(PlayerObject leader, final int memberLimit, final boolean inviteOnly, + final boolean friendsAllowed, final boolean guildAllowed, final int floor, + ResultListener rl) { + String node = this._peermgr.getLeastLoadedNode(); + if (Objects.equal(node, PeerConfig.getNode())) { + try { + this.createLocalParty(leader, memberLimit, inviteOnly, friendsAllowed, guildAllowed, floor); + rl.requestCompleted(true); + } catch (InvocationException var10) { + rl.requestFailed(var10); + } + + } else { + (new NodePlayerTransfer(leader, node, rl) { + protected void requestTransfer(Client client, ProjectXNodeObject nodeobj, + PlayerObject player, Object[] locals) { + nodeobj.projectXPeerService.createParty(player, locals, LevelPartyHost.this.getGateId(), + memberLimit, inviteOnly, friendsAllowed, guildAllowed, floor, this); + } + }).invoke(this._peermgr); + } + } + + public void createLocalParty(PlayerObject leader, int memberLimit, boolean inviteOnly, + boolean friendsAllowed, boolean guildAllowed, int floor) throws InvocationException { + LevelParty party = this.createLocalParty(LevelParty.class); + this.initParty(party); + party.init(leader, memberLimit, inviteOnly, friendsAllowed, guildAllowed, floor); + this.partyStartup(party); + } + + public void cloneLocalParty(LevelParty oldParty, Floor gateFloor, PlayerObject player, + List invites) { + LevelParty party = this.createLocalParty(LevelParty.class); + this.initParty(party); + party.initFromParty(oldParty, gateFloor, player, invites); + this.partyStartup(party); + } + + public abstract int getEnergy(int var1); + + protected void partyOpened(LevelParty party) { + this._openParties.add(party); + } + + protected void partyClosed(LevelParty party) { + this._openParties.remove(party); + } +} diff --git a/src/com/github/thetya/server/dungeon/LevelPartyProvider.java b/src/com/github/thetya/server/dungeon/LevelPartyProvider.java new file mode 100644 index 0000000..b0b16c8 --- /dev/null +++ b/src/com/github/thetya/server/dungeon/LevelPartyProvider.java @@ -0,0 +1,96 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.dungeon; + +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationProvider; +import com.threerings.projectx.dungeon.client.LevelPartyService; +import com.threerings.util.Name; +import java.util.List; +import javax.annotation.Generated; + +/** + * Defines the server-side of the {@link LevelPartyService}. + */ +@Generated(value = {"com.threerings.presents.tools.GenServiceTask"}, + comments = "Derived from LevelPartyService.java.") +public interface LevelPartyProvider extends InvocationProvider { + + /** + * Handles a {@link LevelPartyService#addToTab} request. + */ + void addToTab(ClientObject caller, Name name, boolean full, ConfirmListener cl) + throws InvocationException; + + /** + * Handles a {@link LevelPartyService#advance} request. + */ + void advance(ClientObject caller, int floors, ConfirmListener cl) throws InvocationException; + + /** + * Handles a {@link LevelPartyService#bootMember} request. + */ + void bootMember(ClientObject caller, Name name, ConfirmListener cl) throws InvocationException; + + /** + * Handles a {@link LevelPartyService#continueOn} request. + */ + void continueOn(ClientObject caller, ConfirmListener cl) throws InvocationException; + + /** + * Handles a {@link LevelPartyService#inviteMember} request. + */ + void inviteMember(ClientObject caller, Name name, ConfirmListener cl) throws InvocationException; + + /** + * Handles a {@link LevelPartyService#join} request. + */ + void join(ClientObject caller, int partyOid, ConfirmListener cl) throws InvocationException; + + /** + * Handles a {@link LevelPartyService#removeFromTab} request. + */ + void removeFromTab(ClientObject caller, Name name, ConfirmListener cl) throws InvocationException; + + /** + * Handles a {@link LevelPartyService#reportComplete} request. + */ + void reportComplete(ClientObject caller, boolean descend); + + /** + * Handles a {@link LevelPartyService#revive} request. + */ + void revive(ClientObject caller, Name name, int approvedCost, final ConfirmListener cl) + throws InvocationException; + + /** + * Handles a {@link LevelPartyService#setAllowFriends} request. + */ + void setAllowFriends(ClientObject caller, boolean allowFriends, ConfirmListener cl) + throws InvocationException; + + /** + * Handles a {@link LevelPartyService#setAllowGuild} request. + */ + void setAllowGuild(ClientObject caller, boolean allowGuild, ConfirmListener cl) + throws InvocationException; + + /** + * Handles a {@link LevelPartyService#setInviteOnly} request. + */ + void setInviteOnly(ClientObject caller, boolean inviteOnly, ConfirmListener cl) + throws InvocationException; + + /** + * Handles a {@link LevelPartyService#split} request. + */ + void split(ClientObject caller, List invites, boolean advance, ConfirmListener cl) + throws InvocationException; +} diff --git a/src/com/github/thetya/server/dungeon/LevelSceneManager.java b/src/com/github/thetya/server/dungeon/LevelSceneManager.java new file mode 100644 index 0000000..7379611 --- /dev/null +++ b/src/com/github/thetya/server/dungeon/LevelSceneManager.java @@ -0,0 +1,153 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.dungeon; + +import com.github.thetya.server.scene.ThetyaSceneManager; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Lists; +import com.google.common.collect.Sets; +import com.threerings.config.ConfigReference; +import com.threerings.crowd.data.BodyObject; +import com.threerings.math.Vector2f; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.dungeon.server.DungeonModifiers; +import com.threerings.projectx.dungeon.server.logic.BlocksDamage; +import com.threerings.projectx.dungeon.server.logic.DamageLogic; +import com.threerings.projectx.dungeon.server.logic.Damageable; +import com.threerings.projectx.dungeon.util.DamageSummary; +import com.threerings.tudey.config.ActorConfig; +import com.threerings.tudey.data.TudeySceneModel; +import com.threerings.tudey.server.logic.ActorLogic; +import com.threerings.tudey.server.logic.Logic; +import com.threerings.tudey.shape.Segment; +import com.threerings.tudey.shape.Shape; +import com.threerings.tudey.space.SpaceElement; + +import java.util.Collection; +import java.util.Iterator; +import java.util.List; +import java.util.Set; + +public class LevelSceneManager extends ThetyaSceneManager { + + private final DungeonModifiers _modifiers = new DungeonModifiers(); + + @Override + public ConfigReference getPawnConfig(BodyObject body) { + return new ConfigReference<>("Character/PC/Level", "Model", + ((PlayerObject) body).createPlayerModel(_cfgmgr, false, false, -1, true)); + } + + public DungeonModifiers getModifiers() { + return _modifiers; + } + + public int inflictDamage(int timestamp, Shape shape, DamageLogic damage, Logic source) { + return this.inflictDamage(timestamp, ImmutableList.of(shape), damage, source); + } + + public int inflictDamage(int timestamp, Collection shapes, DamageLogic damage, Logic source) { + return this.inflictDamage(timestamp, shapes, damage, source, 0, null, false, null); + } + + public int inflictDamage(int timestamp, Collection shapes, DamageLogic damage, Logic source, int collisionMask, Vector2f origin, boolean area, List results) { + int damaged = 0; + List oelements = null; + Set elements = Sets.newHashSet(); + + for (Shape shape : shapes) { + this._actorSpace.getIntersecting(shape, elements); + } + + Vector2f nearPoint = new Vector2f(); + source = source.resolveTarget(); + Logic usource = damage.getUltimateSource(); + Iterator i$ = elements.iterator(); + + while(true) { + SpaceElement element; + ActorLogic logic; + label85: + while(true) { + do { + do { + do { + if (!i$.hasNext()) { + if (source instanceof ActorLogic) { + int flags = damage.getSensorFlags(); + if (flags != 0) { + damaged += this.triggerSensors( + DamageSensor.class, timestamp, shapes, flags, (ActorLogic)source); + } + } + + return damaged; + } + + element = i$.next(); + logic = (ActorLogic)element.getUserObject(); + } while(logic.isDestroyed()); + } while(!(logic instanceof Damageable)); + } while(logic == usource); + + if (origin == null) { + break; + } + + element.getNearestPoint(origin, nearPoint); + if (origin.equals(nearPoint)) { + break; + } + + nearPoint.subtractLocal(origin).multLocal(0.99F).addLocal(origin); + Segment sightLine = new Segment(origin, nearPoint); + if (!((TudeySceneModel)this._scene.getSceneModel()).collides(collisionMask, sightLine)) { + if (oelements == null) { + oelements = Lists.newArrayList(); + } else { + oelements.clear(); + } + + this._actorSpace.getIntersecting(sightLine, oelements); + int jj = 0; + int mm = oelements.size(); + + while(true) { + if (jj >= mm) { + break label85; + } + + SpaceElement oelement = oelements.get(jj); + if (element != oelement && oelement != source) { + ActorLogic ologic = (ActorLogic)oelement.getUserObject(); + if (ologic != usource && ologic instanceof BlocksDamage && ((BlocksDamage)ologic).blockDamage(timestamp, area) && (ologic.getActor().getCollisionFlags() & collisionMask) != 0) { + break; + } + } + + ++jj; + } + } + } + + DamageSummary summary = new DamageSummary(); + if (damage.inflict(timestamp, origin, (Damageable)logic, summary)) { + if (results != null) { + results.add(damaged, element); + } + + ++damaged; + } else if (results != null && !summary.isEmpty()) { + results.add(element); + } + } + } + + public interface DamageSensor extends Sensor { + } +} diff --git a/src/com/github/thetya/server/dungeon/Log.java b/src/com/github/thetya/server/dungeon/Log.java new file mode 100644 index 0000000..94d8d47 --- /dev/null +++ b/src/com/github/thetya/server/dungeon/Log.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.dungeon; + +import com.samskivert.util.Logger; + +/** + * Contains a reference to the {@link Logger} object used by the dungeon package. + */ +@SuppressWarnings("unused") +public class Log { + + /** + * The {@link Logger} reference. + */ + public static Logger log = Logger.getLogger("com.github.thetya.server.dungeon"); +} \ No newline at end of file diff --git a/src/com/github/thetya/server/dungeon/Party.java b/src/com/github/thetya/server/dungeon/Party.java new file mode 100644 index 0000000..2694553 --- /dev/null +++ b/src/com/github/thetya/server/dungeon/Party.java @@ -0,0 +1,892 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.dungeon; + +import com.github.thetya.server.KnightManager; +import com.github.thetya.server.PlayerLocal; +import com.github.thetya.server.admin.ThetyaAdminManager; +import com.github.thetya.server.dungeon.Gate.Floor; +import com.github.thetya.server.item.ItemManager; +import com.github.thetya.server.peer.PeerConfig; +import com.github.thetya.server.peer.ThetyaPeerManager; +import com.github.thetya.server.peer.ThetyaPeerManager.KnightAction; +import com.github.thetya.server.scene.ThetyaSceneManager; +import com.github.thetya.server.scene.ThetyaSceneRegistry; +import com.github.thetya.server.scene.ThetyaSceneRegistry.Instance; +import com.github.thetya.server.scene.ThetyaSceneRegistry.InstanceObserver; +import com.github.thetya.server.social.SocialManager; +import com.google.common.collect.Lists; +import com.google.common.collect.Sets; +import com.google.inject.Inject; +import com.samskivert.util.*; +import com.threerings.config.ConfigManager; +import com.threerings.config.ConfigReference; +import com.threerings.crowd.chat.data.SpeakMarshaller; +import com.threerings.crowd.chat.server.SpeakHandler; +import com.threerings.crowd.chat.server.SpeakHandler.SpeakerValidator; +import com.threerings.crowd.chat.server.SpeakUtil; +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.dobj.*; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationManager; +import com.threerings.presents.server.PresentsDObjectMgr; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.dungeon.Log; +import com.threerings.projectx.dungeon.data.*; +import com.threerings.projectx.dungeon.server.logic.DungeoneerLogic; +import com.threerings.projectx.dungeon.util.DamageUtil; +import com.threerings.projectx.item.config.ItemConfig; +import com.threerings.projectx.item.config.ItemConfig.Original; +import com.threerings.projectx.item.data.Item; +import com.threerings.projectx.item.data.ItemCodes; +import com.threerings.projectx.peer.data.PartyInfo; +import com.threerings.projectx.social.data.Notification.PartyInvite; +import com.threerings.projectx.social.data.Whereabouts; +import com.threerings.projectx.util.DeploymentConfig; +import com.threerings.tudey.server.TudeyZoneRegistry; +import com.threerings.tudey.server.logic.Logic; +import com.threerings.util.Name; +import com.threerings.whirled.data.ScenePlace; +import com.threerings.whirled.server.SceneManager; + +import java.util.Iterator; +import java.util.List; +import java.util.Set; + +public class Party implements PartyProvider, SpeakerValidator, InstanceObserver, + AttributeChangeListener, ElementUpdateListener, ObjectDeathListener, ItemCodes, DungeonCodes { + protected Gate _gate; + protected String _language = DeploymentConfig.getDefaultLocale(); + protected int _floorIndex; + protected Floor _floor; + protected Floor _pendingFloor; + protected Floor _oldFloor; + protected int _gateSegment; + protected int _depthModifier; + protected PartyObject _partyobj = this.createPartyObject(); + protected List _members = Lists.newArrayList(); + protected List _players = Lists.newArrayList(); + protected long _formed; + protected Instance _instance; + protected int _lastMemberId; + protected Interval _dissolveInterval; + protected Whereabouts _whereabouts; + protected ArrayIntSet _bootedIds = new ArrayIntSet(); + protected Set _invited = Sets.newHashSet(); + protected long _floorEntered; + protected long _oldFloorEntered; + protected int _floorDeaths; + protected int _memberCount; + protected List _memberIds = Lists.newArrayList(); + protected boolean _abandoned; + protected boolean _defeated; + protected int _totalDeaths; + protected boolean _dissolving; + @Inject + protected ConfigManager _cfgmgr; + @Inject + protected PresentsDObjectMgr _omgr; + @Inject + protected InvocationManager _invmgr; + @Inject + protected ThetyaPeerManager _peermgr; + @Inject + protected ThetyaAdminManager _adminmgr; + @Inject + protected ThetyaSceneRegistry _screg; + @Inject + protected TudeyZoneRegistry _zonereg; + @Inject + protected DungeonManager _dungeonmgr; + @Inject + protected KnightManager _knightmgr; + @Inject + protected SocialManager _socialmgr; + @Inject + protected ItemManager _itemmgr; + + public static Party getParty(PlayerObject player) { + Instance instance = ThetyaSceneRegistry.getInstance(player); + return instance == null ? null : instance.getParty(); + } + + public static

P getParty(PlayerObject player, Class

clazz) { + return ObjectUtil.as(getParty(player), clazz); + } + + public static Party getParty(SceneManager scenemgr) { + if (!(scenemgr instanceof ThetyaSceneManager)) { + return null; + } else { + Instance instance = ((ThetyaSceneManager)scenemgr).getInstance(); + return instance == null ? null : instance.getParty(); + } + } + + public static

P getParty(SceneManager scenemgr, Class

clazz) { + return ObjectUtil.as(getParty(scenemgr), clazz); + } + + public Party() { + } + + protected PartyObject createPartyObject() { + return new PartyObject(); + } + + public void setGate(Gate gate) { + this._gate = gate; + } + + public Gate getGate() { + return this._gate; + } + + protected Whereabouts createWhereabouts() { + return new com.threerings.projectx.social.data.Whereabouts.Party(); + } + + public void init(int floor) throws InvocationException { + Floor gateFloor = this._gate.resolveFloor(floor, 0.0F); + if (gateFloor == null) { + throw new InvocationException("m.gate_closed"); + } else { + this.init(floor, gateFloor); + } + } + + public void init(int floor, Floor gateFloor) { + this._floor = gateFloor; + this._floorIndex = floor; + this._oldFloor = this._floor; + this._whereabouts = this.createWhereabouts(); + this._gateSegment = this._gate.getSummary().getSegmentForFloor(floor); + this._partyobj.partyService = this._invmgr.registerProvider(this, PartyMarshaller.class); + this._partyobj.speakService = this._invmgr.registerProvider(new SpeakHandler(this._partyobj, this), SpeakMarshaller.class); + this._partyobj.depth = this._gate.getSummary().getFloorDepth(floor); + this._omgr.registerObject(this._partyobj); + this._instance = this._screg.createInstance(this); + this._instance.addObserver(this); + this._formed = this._floorEntered = System.currentTimeMillis(); + this._dungeonmgr.partyCreated(this); + this._peermgr.partyCreated(this.createPartyInfo()); + this._adminmgr.notePartyFormed(); + } + + public boolean isOpen() { + return this._partyobj.isOpen(); + } + + public boolean isOpen(PlayerObject player) { + return this.isOpen(); + } + + public void dissolve() { + this.dissolve(-1, -1); + } + + public void dissolve(int zoneId, int sceneId) { + this._dissolving = true; + + while(!this._players.isEmpty()) { + this.removePlayer(this._players.get(0), true, zoneId, sceneId); + } + + } + + public void shutdown() { + this._abandoned = true; + this._oldFloor = this._floor; + this._oldFloorEntered = this._floorEntered; + this.rescindInvites(); + this._gate.partyShutdown(this); + this._adminmgr.notePartyDissolved(this._formed, this._floorIndex); + this._dungeonmgr.partyDestroyed(this); + this._peermgr.partyDestroyed(this._partyobj.getOid()); + (new Interval(this._omgr) { + public void expired() { + Party.this._instance.shutdown(); + Party.this._invmgr.clearDispatcher( + Party.this._partyobj.partyService); + Party.this._invmgr.clearDispatcher( + Party.this._partyobj.speakService); + Party.this._partyobj.destroy(); + } + }).schedule(5000L); + } + + public Floor getFloor() { + return this._floor; + } + + public int getGateSegment() { + return this._gateSegment; + } + + public PartyObject getPartyObject() { + return this._partyobj; + } + + public Instance getInstance() { + return this._instance; + } + + public Whereabouts getWhereabouts() { + return this._whereabouts; + } + + public int getMemberCount() { + return this._members.size(); + } + + public int getLivingMemberCount() { + int count = 0; + Iterator i$ = this._partyobj.health.iterator(); + + while(i$.hasNext()) { + Health health = (Health)i$.next(); + if (health.current > 0) { + ++count; + } + } + + return count; + } + + public PlayerObject getMember(int idx) { + return this._members.get(idx); + } + + public PlayerObject getMember(Name name) { + int ii = 0; + + for(int nn = this._members.size(); ii < nn; ++ii) { + PlayerObject member = this._members.get(ii); + if (member.knight.equals(name)) { + return member; + } + } + + return null; + } + + public boolean isMember(PlayerObject player) { + return this.getMemberIndex(player) >= 0; + } + + public int getMemberIndex(PlayerObject player) { + return this._members.indexOf(player); + } + + public ArrayIntSet getBootedIds() { + return this._bootedIds; + } + + public boolean hurtMember(int bodyOid, int amount, DungeoneerLogic target, Logic source) { + Health health = this._partyobj.getHealth(bodyOid); + if (health == null) { + return false; + } else { + health.current = Math.max(0, health.current - amount); + this._partyobj.updateHealth(health); + boolean alive = health.current > 0; + if (!alive) { + ++this._floorDeaths; + ++this._totalDeaths; + this.checkPartyDead(); + } + + return alive; + } + } + + public boolean isMemberAlive(int bodyOid) { + PartyMember member = this._partyobj.getMember(bodyOid); + if (member == null) { + return false; + } else { + Comparable key = this._partyobj.getMember(bodyOid).getKey(); + return this._partyobj.health.get(key).current > 0; + } + } + + public boolean healMember(int bodyOid, int current, int maximum, boolean force) { + PartyMember member = this._partyobj.getMember(bodyOid); + if (member == null) { + return false; + } else { + Comparable key = member.getKey(); + Health health = this._partyobj.health.get(key); + if (health.current <= 0 && !force) { + return false; + } else { + Status status = this._partyobj.status.get(key); + boolean wasRezzed = status.isSet(2); + status.set(2, false); + int oldCurrent = health.current; + int oldMax = health.maximum; + health.maximum = Math.min(health.maximum + maximum, 3200); + health.current = Math.min(health.current + current, health.maximum); + boolean healed = oldCurrent != health.current || oldMax != health.maximum; + if (!healed && !wasRezzed) { + return false; + } else { + this._partyobj.startTransaction(); + + try { + this._partyobj.updateHealth(health); + this._partyobj.updateStatus(status); + } finally { + this._partyobj.commitTransaction(); + } + + return healed; + } + } + } + } + + public void updateHealthBonus(PlayerObject plobj) { + Health health = this._partyobj.getHealth(plobj.getOid()); + if (health != null && health.updateBonus(DamageUtil.getHealthIncrease(plobj, this._cfgmgr, this.getDepth()), this.updateCurrentHealth())) { + this._partyobj.updateHealth(health); + } + + } + + public boolean canResurrect(int healerOid) { + return false; + } + + public void addMember(PlayerObject player, boolean move) { + this.addPlayer(player, move, false); + } + + public void addPlayer(PlayerObject player, boolean move, boolean watcher) { + this.addPlayer(player, move, watcher, false); + } + + public void addPlayer(PlayerObject player, boolean move, boolean watcher, boolean transfer) { + this.addPlayer(player, move, watcher, transfer, true); + } + + public void addPlayer(PlayerObject player, boolean move, boolean watcher, boolean transfer, boolean charge) { + Party oldParty = getParty(player); + if (oldParty != this) { + Comparable key = this.getPartyInviteKey(); + if (player.notifications.containsKey(key)) { + player.removeFromNotifications(key); + this._invited.remove(player.knight); + } + + if (!watcher) { + this._members.add(player); + this._partyobj.startTransaction(); + + try { + this.addMemberToObj(player, transfer ? oldParty : null); + this._partyobj.addToMembers(new PartyMember(this._cfgmgr, player, this._lastMemberId)); + } finally { + this._partyobj.commitTransaction(); + } + } + + if (oldParty != null) { + oldParty.removePlayer(player, !move, -1, -1, transfer); + } + + this._instance.addPlayer(player); + this._players.add(player); + player.startTransaction(); + + try { + player.setPartyOid(this._partyobj.getOid()); + } finally { + player.commitTransaction(); + } + + player.addListener(this); + if (move) { + int sceneId = this.getSceneId(this.getFirstLivingMember(player), this._floor.defaultSceneId); + if (!watcher) { + this._itemmgr.applyUpgrades(player); + } + + if (this._floor.lobby && this._gateSegment > 0 && player.hasProgress(1 << this._gateSegment - 1)) { + this._zonereg.moveBody(player, this._floor.zoneId, sceneId, "tier_enabled"); + } else { + this._zonereg.moveBody(player, this._floor.zoneId, sceneId); + } + } + + if (!watcher) { + this._gate.memberAdded(); + this.updateWhereabouts(); + this.updatePeers(); + if (this._members.size() >= 4) { + this.rescindInvites(); + } + + } + } + } + + public void removePlayer(PlayerObject player, boolean move) { + this.removePlayer(player, move, -1, -1); + } + + public void removePlayer(PlayerObject player, boolean move, int zoneId, int sceneId) { + this.removePlayer(player, move, zoneId, sceneId, false); + } + + public void removePlayer(PlayerObject player, boolean move, int zoneId, int sceneId, boolean transfer) { + this._players.remove(player); + boolean member = this._members.remove(player); + this._instance.removePlayer(player); + if (member) { + Comparable key = this._partyobj.getMember(player.getOid()).getKey(); + this._partyobj.startTransaction(); + + try { + this._partyobj.removeFromMembers(key); + this.removeMemberFromObj(player, key); + } finally { + this._partyobj.commitTransaction(); + } + + this._gate.memberRemoved(); + if (player.isActive() && this.isTutorial() && move) { + this._knightmgr.tutorialComplete(player); + } + + if (player.isActive() || !this._dissolving) { + List items = Lists.newArrayList(); + if (!transfer) { + Iterator i$ = player.items.iterator(); + + while(i$.hasNext()) { + Item item = (Item)i$.next(); + if (item.isTransient()) { + items.add(item); + } + } + } + + if (player.isActive()) { + player.startTransaction(); + + try { + int ii = 0; + + for(int nn = items.size(); ii < nn; ++ii) { + this._itemmgr.removeItem(player, (Item)items.get(ii)); + } + + player.setPartyOid(0); + } finally { + player.commitTransaction(); + } + } + + if (!this._dissolving) { + PlayerObject dmember = player; + ThetyaSceneManager scenemgr = this.getSceneManager(player); + if (scenemgr == null) { + dmember = this.getFirstLivingMember(null); + scenemgr = dmember == null ? null : this.getSceneManager(dmember); + } + + if (scenemgr != null) { + int ii = 0; + + for(int nn = items.size(); ii < nn; ++ii) { + Item item = items.get(ii); + if (!item.isCursed()) { + scenemgr.dropItem(dmember, item); + } + } + } + } + } + } + + player.removeListener(this); + String portal = null; + if (zoneId <= 0) { + zoneId = player.lastPermanentZoneId; + sceneId = player.lastPermanentSceneId; + portal = this._gate.getData().getSourcePortal(); + } + + if (move && player.zoneId != zoneId) { + this._zonereg.moveBody(player, zoneId, sceneId, portal); + } + + this._socialmgr.updateWhereabouts(player); + this.updatePeers(); + if (this._players.isEmpty()) { + this.shutdown(); + } else if (member) { + this.updateWhereabouts(); + this.checkPartyDead(); + } + + } + + public int createItem(PlayerObject plobj, ConfigReference ref, boolean loot, boolean distribute, boolean announce) { + return this.goCreateItem(plobj, ref, loot, distribute, announce, Item.getOriginal(this._cfgmgr, ref)); + } + + public int nextItemRecipientOid() { + return 0; + } + + public void sendInfo(String message) { + SpeakUtil.sendInfo(this._partyobj, "dungeon", message); + } + + public String which() { + return "[gate=" + this._gate.which() + ", partyOid=" + this._partyobj.getOid() + "]"; + } + + public void leaveParty(ClientObject caller, ConfirmListener cl) throws InvocationException { + PlayerObject player = (PlayerObject)caller; + this.ensureInParty(player); + if (this.isTutorial() && this.isMember(player)) { + com.threerings.projectx.dungeon.Log.log.warning("Player in tutorial tried to leave party.", "who", player.who()); + throw new InvocationException("m.internal_error"); + } else { + this.removePlayer(player, true); + cl.requestProcessed(); + } + } + + public boolean isValidSpeaker(DObject speakobj, ClientObject speaker, byte mode) { + return ((PlayerObject)speaker).partyOid == this._partyobj.getOid(); + } + + public void playerAdded(Instance instance, PlayerObject player) { + } + + public void playerRemoved(Instance instance, PlayerObject player, int seconds) { + PlayerLocal var10000 = player.getLocal(PlayerLocal.class); + var10000.secondsInDungeon += seconds; + if (this._players.contains(player)) { + this.removePlayer(player, false); + } + + } + + public void instanceBecameEmpty(Instance instance) { + } + + public void attributeChanged(AttributeChangedEvent event) { + String name = event.getName(); + if (name.equals("zoneId")) { + int zoneId = event.getIntValue(); + if (zoneId != -1 && zoneId != this._floor.zoneId) { + this.removePlayer(event.getTargetOid(), false); + } + } + + } + + public void elementUpdated(ElementUpdatedEvent event) { + int idx = event.getIndex(); + if (event.getName().equals("equipment") && (idx == 0 || IntListUtil.contains(WEAPON_SLOTS, idx))) { + this.updateMember(event.getTargetOid()); + } + + } + + public void objectDestroyed(ObjectDestroyedEvent event) { + this.removePlayer(event.getTargetOid(), false); + } + + public boolean isTutorial() { + return this._gate.getSummary().isSet(1); + } + + public void acceptInvite(PlayerObject player) throws InvocationException { + this._invited.remove(player.knight); + this.validateInvitedPlayer(player); + this.addMember(player, true); + } + + protected void validateInvitedPlayer(PlayerObject player) throws InvocationException { + if (this._members.isEmpty()) { + throw new InvocationException("m.party_dissolved"); + } else if (this._members.size() >= 4) { + throw new InvocationException("m.party_full"); + } + } + + public void rejectInvite(Name name) { + this._invited.remove(name); + } + + public int getDepth() { + return this.getDepth(true); + } + + public int getDepth(boolean modified) { + return this._partyobj.depth + (modified ? this._depthModifier + this._floor.depthOffset : 0); + } + + public void setDepth(int depth) { + this._depthModifier = depth - this.getDepth(false); + } + + protected void addMemberToObj(PlayerObject player, Party oldParty) { + ++this._lastMemberId; + Health health = oldParty == null ? null : oldParty._partyobj.getHealth(player.getOid()); + health = health != null ? new Health(this._lastMemberId, health) : new Health(this._lastMemberId, 200, DamageUtil.getHealthIncrease(player, this._cfgmgr, this.getDepth())); + this._partyobj.addToHealth(health); + this._partyobj.addToStatus(new Status(this._lastMemberId)); + } + + protected void removeMemberFromObj(PlayerObject player, Comparable key) { + this._partyobj.removeFromHealth(key); + this._partyobj.removeFromStatus(key); + } + + protected void ensureInParty(PlayerObject player) throws InvocationException { + if (player.partyOid != this._partyobj.getOid()) { + Log.log.warning("Non-member tried to make request.", "who", player.who(), "which", this.which()); + throw new InvocationException("m.internal_error"); + } + } + + protected void updateMember(int bodyOid) { + this.updateMember(this.getPlayerByOid(bodyOid)); + } + + protected void removePlayer(int bodyOid, boolean move) { + this.removePlayer(this.getPlayerByOid(bodyOid), move); + } + + protected PlayerObject getPlayerByOid(int bodyOid) { + int ii = 0; + + for(int nn = this._players.size(); ii < nn; ++ii) { + PlayerObject player = this._players.get(ii); + if (player.getOid() == bodyOid) { + return player; + } + } + + return null; + } + + protected void updateMember(PlayerObject player) { + this._partyobj.updateMembers(new PartyMember(this._cfgmgr, player, this._partyobj.getMember(player.getOid()).getMemberId())); + } + + protected void checkPartyDead() { + if (!this.allMembersDead()) { + if (this._dissolveInterval != null) { + this._dissolveInterval.cancel(); + this._dissolveInterval = null; + } + + } else if (this._dissolveInterval == null) { + this.updateMemberCount(); + this._defeated = true; + (this._dissolveInterval = new Interval(this._omgr) { + public void expired() { + if (Party.this.allMembersDead()) { + if (Party.this.isTutorial()) { + int ii = 0; + + for(int nn = Party.this._members.size(); ii < nn; ++ii) { + Party.this.healMember(Party.this._members.get(ii).getOid(), 200, 0, true); + } + } else { + Party.this.dissolve(); + } + } + + Party.this._dissolveInterval = null; + } + }).schedule(this.isTutorial() ? 4000L : 180000L); + } + } + + protected boolean allMembersDead() { + Iterator i$ = this._partyobj.health.iterator(); + + Health health; + do { + if (!i$.hasNext()) { + i$ = this._partyobj.status.iterator(); + + Status status; + do { + if (!i$.hasNext()) { + return true; + } + + status = (Status)i$.next(); + } while(!status.isSet(2)); + + return false; + } + + health = (Health)i$.next(); + } while(health.current <= 0); + + return false; + } + + protected void rescindInvites() { + Comparable key = this.getPartyInviteKey(); + Iterator i$ = this._invited.iterator(); + + while(i$.hasNext()) { + Name name = (Name)i$.next(); + this._peermgr.invokeKnightAction(name, new Party.InviteRescindedAction(name, key)); + } + + this._invited.clear(); + } + + protected Comparable getPartyInviteKey() { + return PartyInvite.getKey(PeerConfig.getNode(), this._partyobj.getOid()); + } + + protected void updatePeers() { + this._peermgr.partyUpdated(this.createPartyInfo()); + } + + protected PartyInfo createPartyInfo() { + return new PartyInfo(this._partyobj.getOid(), this._gate.getData().getGateId(), this._language, this._floorIndex, this._floor.translatedName, this.getMemberNames()); + } + + protected Name[] getMemberNames() { + Name[] names = new Name[this._members.size()]; + + for(int ii = 0; ii < names.length; ++ii) { + names[ii] = this._members.get(ii).knight; + } + + return names; + } + + protected void updateWhereabouts() { + } + + protected int goCreateItem(PlayerObject plobj, ConfigReference ref, boolean loot, boolean distribute, boolean announce, Original original) { + return this._itemmgr.createItem(plobj, ref) ? plobj.getOid() : -1; + } + + protected PlayerObject getFirstLivingMember(PlayerObject exclude) { + PlayerObject plobj = null; + int ii = 0; + + for(int nn = this._members.size(); ii < nn; ++ii) { + PlayerObject member = this._members.get(ii); + if (member != exclude) { + int msceneId = ScenePlace.getSceneId(member); + if (msceneId != -1) { + if (this._partyobj.getHealth(member.getOid()).current > 0) { + return member; + } + + if (plobj == null) { + plobj = member; + } + } + } + } + + return plobj; + } + + protected ThetyaSceneManager getSceneManager(PlayerObject player) { + ThetyaSceneManager scenemgr = (ThetyaSceneManager)this._instance.getSceneManager(this.getSceneId(player, this._floor.defaultSceneId)); + return scenemgr != null && scenemgr.getInstance() == this._instance && scenemgr.hasPawn(player) ? scenemgr : null; + } + + protected int getSceneId(PlayerObject member, int defaultSceneId) { + int sceneId = member == null ? -1 : ScenePlace.getSceneId(member); + return sceneId == -1 ? defaultSceneId : sceneId; + } + + protected void updateMemberCount() { + this._memberCount = this._members.size(); + this._memberIds.clear(); + Iterator i$ = this._members.iterator(); + + while(i$.hasNext()) { + PlayerObject plobj = (PlayerObject)i$.next(); + this._memberIds.add(plobj.playerId); + } + + } + + protected String getGateId() { + String id = this._gate.getData().getInternalId(); + if (StringUtil.isBlank(id)) { + id = String.valueOf(this._gate.getData().getGateId()); + } + + return id; + } + + protected String getFloorId(Floor floor) { + String id = floor.internalId; + if (StringUtil.isBlank(id)) { + id = floor.name; + } + + return id; + } + + protected boolean updateCurrentHealth() { + return true; + } + + public static class InviteRescindedAction extends KnightAction { + protected Comparable _key; + + public InviteRescindedAction(Name name, Comparable key) { + super(name); + this._key = key; + } + + public InviteRescindedAction() { + } + + protected void execute(PlayerObject player) { + if (player.notifications.containsKey(this._key)) { + player.removeFromNotifications(this._key); + } + + } + } + + public static class InviteExtendedAction extends KnightAction { + protected PartyInvite _invite; + + public InviteExtendedAction(Name name, PartyInvite invite) { + super(name); + this._invite = invite; + } + + public InviteExtendedAction() { + } + + protected void execute(PlayerObject player) { + if (!player.notifications.contains(this._invite)) { + player.addToNotifications(this._invite); + } + + } + } +} diff --git a/src/com/github/thetya/server/dungeon/PartyHost.java b/src/com/github/thetya/server/dungeon/PartyHost.java new file mode 100644 index 0000000..165c075 --- /dev/null +++ b/src/com/github/thetya/server/dungeon/PartyHost.java @@ -0,0 +1,71 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.dungeon; + +import com.google.common.collect.Lists; +import com.google.inject.Inject; +import com.google.inject.Injector; +import com.threerings.projectx.dungeon.data.GateSummary; +import com.threerings.projectx.peer.data.PartyInfo; +import java.util.List; + +public abstract class PartyHost { + + protected List _parties = Lists.newArrayList(); + protected int _population; + @Inject protected Injector _injector; + @Inject protected DungeonManager _dungeonmgr; + + public int getPartyCount() { + return this._parties.size(); + } + + public int getPopulation() { + return this._population; + } + + protected

P createLocalParty(Class

clazz) { + P party = this._dungeonmgr.getInstance(clazz); + this.initParty(party); + return party; + } + + public void partyAdded(String nodeName, PartyInfo info) { + } + + public void partyUpdated(String nodeName, PartyInfo oinfo, PartyInfo ninfo) { + this._population += ninfo.members.length - oinfo.members.length; + } + + public void partyRemoved(String nodeName, PartyInfo info) { + } + + public void memberAdded() { + ++this._population; + } + + public void memberRemoved() { + --this._population; + } + + public void partyStartup(Party party) { + this._parties.add(party); + } + + public void partyShutdown(Party party) { + this._parties.remove(party); + } + + protected abstract void initParty(Party var1); + + protected GateSummary getGateSummary() { + return this._dungeonmgr.getGate(this.getGateId()).getSummary(); + } + + protected abstract int getGateId(); +} diff --git a/src/com/github/thetya/server/dungeon/PartyProvider.java b/src/com/github/thetya/server/dungeon/PartyProvider.java new file mode 100644 index 0000000..7aa67df --- /dev/null +++ b/src/com/github/thetya/server/dungeon/PartyProvider.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.dungeon; + +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationProvider; + +public interface PartyProvider extends InvocationProvider { + + // ID 1 + void leaveParty(ClientObject caller, ConfirmListener cl) throws InvocationException; +} diff --git a/src/com/github/thetya/server/dungeon/RotatingGate.java b/src/com/github/thetya/server/dungeon/RotatingGate.java new file mode 100644 index 0000000..ec61fde --- /dev/null +++ b/src/com/github/thetya/server/dungeon/RotatingGate.java @@ -0,0 +1,963 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.dungeon; + +import com.github.thetya.server.admin.ThetyaAdminManager; +import com.github.thetya.server.dungeon.data.GateData; +import com.github.thetya.server.dungeon.data.RotatingGateData; +import com.github.thetya.server.item.ItemManager; +import com.github.thetya.server.peer.ThetyaPeerManager; +import com.github.thetya.server.persist.TownRecord; +import com.github.thetya.server.town.TownManager; +import com.google.common.base.Function; +import com.google.common.base.Objects; +import com.google.common.collect.*; +import com.google.common.primitives.Ints; +import com.google.inject.Inject; +import com.samskivert.jdbc.WriteOnlyUnit; +import com.samskivert.util.*; +import com.threerings.config.ConfigManager; +import com.threerings.config.ConfigReference; +import com.threerings.presents.client.InvocationService; +import com.threerings.presents.dobj.AttributeChangedEvent; +import com.threerings.presents.dobj.DObject; +import com.threerings.presents.dobj.NamedAttributeListener; +import com.threerings.presents.peer.data.NodeObject; +import com.threerings.presents.peer.server.PeerManager; +import com.threerings.presents.peer.server.PeerNode; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.PresentsDObjectMgr; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.data.ServerObject; +import com.threerings.projectx.dungeon.data.DungeonCodes; +import com.threerings.projectx.dungeon.server.MuffinUtil; +import com.threerings.projectx.dungeon.server.data.Theme; +import com.threerings.projectx.item.config.ItemConfig; +import com.threerings.projectx.item.data.Alloy; +import com.threerings.projectx.item.data.Item; +import com.threerings.projectx.item.data.Mineral; +import com.threerings.projectx.item.data.Muffin; +import com.threerings.projectx.peer.data.PartyInfo; +import com.threerings.projectx.town.data.GateObject; +import com.threerings.projectx.town.data.SubtierInfo; +import com.threerings.projectx.town.data.actor.GateDisplay; +import com.threerings.projectx.util.MultisetUtil; +import com.threerings.projectx.util.Resulting; + +import java.util.*; + +public class RotatingGate extends Gate implements ThetyaPeerManager.LeadNodeObserver, DungeonCodes { + + public static final List SUBTIERS = ImmutableList.of(new SubTier(1, 1, 3, 0.5F), new SubTier(2, 5, 3, 0.6666667F), new SubTier(3, 9, 4, 0.6666667F), new SubTier(4, 14, 4, 0.6666667F), new SubTier(5, 19, 4, 0.75F), new SubTier(6, 24, 5, 0.75F)); + public static final int SUBTIER_COUNT = SUBTIERS.size(); + public static final int CONTENT_FLOORS = Folds.sum(0, Lists.transform(SUBTIERS, new Function() + { + public Integer apply(RotatingGate.SubTier s) { + return s.size; + } + })); + protected static final float THEME_DISPLAY_THRESHOLD = 0.1F; + @Inject + protected PresentsDObjectMgr _oMgr; + @Inject + protected ConfigManager _configMgr; + //@Inject + //protected ProjectXEventLogger _evlog; + @Inject + protected ThetyaAdminManager _adminMgr; + @Inject + protected ThetyaPeerManager _peerMgr; + @Inject + protected TownManager _townMgr; + @Inject + protected ItemManager _itemMgr; + protected List> _subtiers; + //protected GateSubsidyRecord _subsidy; + protected ObserverList _muffinObservers = ObserverList.newFastUnsafe(); + protected int _displayStratum; + protected String[] _displayThemes; + protected boolean _reachedCore; + + //protected static final Ordering BUCKET_ORDERING = new Ordering() { + // public int compare(BucketRecord a, BucketRecord b) { + // return Ints.compare(a.time, b.time); + // } + //}; + protected GateObject _gateObj; + protected NamedAttributeListener _cfgListener = new NamedAttributeListener("gateIntervalDivisor") + { + public void namedAttributeChanged(AttributeChangedEvent ace) { + RotatingGate.this.updateLaunchTime(); + } + }; + + public static Multiset spectrum(Multiset minerals, Multiset alloys) { + for (Multiset.Entry entry : MultisetUtil.ENTRY_COUNT_ORDERING.reverse().sortedCopy(alloys.entrySet())) { + switch (entry.getElement()) { + case BE_SLIME: + return Theme.SLIME.spectrum(); + case BE_BEAST: return Theme.BEAST.spectrum(); + case BE_UNDEAD: return Theme.UNDEAD.spectrum(); + case BE_FIEND: return Theme.FIEND.spectrum(); + case BE_GREMLIN: return Theme.GREMLIN.spectrum(); + case BE_CONSTRUCT: return Theme.CONSTRUCT.spectrum(); + case BE_FIRE: return Theme.FIRE.spectrum(); + case BE_FREEZE: return Theme.FREEZE.spectrum(); + case BE_SHOCK: return Theme.SHOCK.spectrum(); + case BE_POISON: return Theme.POISON.spectrum(); + } + } + return minerals; + } + + public static float[] getPercentages(Multiset spectrum) { + float[] percs = new float[Mineral.COUNT]; + float total = spectrum.size(); + if (total > 0.0F) { + for (int ii = 0; ii < Mineral.COUNT; ii++) { + percs[ii] = spectrum.count(Mineral.VALUES.get(ii)) / total; + } + } + return percs; + } + + public static List getStratums(/*List bucketRecords*/ List dungeons) { + //QuickSort.sort(bucketRecords, (Comparator)BUCKET_ORDERING); + + List stratums = Lists.newArrayList(); + List>> buckets = Lists.newArrayList(); int ii; + for (ii = 0; ii <= SUBTIER_COUNT; ii++) { + stratums.add(new StratumDistribution()); + buckets.add(Lists.newArrayList()); + } + + //for (BucketRecord rec : bucketRecords) { + // stratums.get(rec.subtier).alloys.addAll((Collection)MultisetUtil.filter(rec.muffins, Alloy.class)); + // buckets.get(rec.subtier).add(MultisetUtil.filter(rec.muffins, Mineral.class)); + //} + + for (ii = 0; ii < SUBTIER_COUNT; ii++) { + + if (!(Boolean) dungeons.get(ii)) { + + List> floors = stratums.get(ii).floorMinerals; + + SubTier subtier = SUBTIERS.get(ii); + List> subtierMinerals = buckets.get(ii); + int totalMinerals = Folds.sum(0, Iterables.transform(subtierMinerals, new Function() + { + public Integer apply(Collection c) + { + return c.size(); + } + })); + int mineralsPerFloor = totalMinerals / subtier.size; + int remainder = totalMinerals % subtier.size; + + Iterator> setIterator = subtierMinerals.iterator(); + Multiset working = null; + for (int floor = 0; floor < subtier.size; floor++) { + EnumMultiset enumMultiset = EnumMultiset.create(Mineral.class); + floors.add(enumMultiset); + int needed = mineralsPerFloor; + if (remainder > 0) { + needed++; + remainder--; + } + + if (needed > 0) { + do { + if (working != null && !working.isEmpty()) + continue; working = setIterator.next(); + } + while (!MultisetUtil.reassign(working, enumMultiset, needed - enumMultiset.size(), false)); + } + } + } + } + + stratums.get(SUBTIER_COUNT).floorMinerals.add(CollectionUtil.addAll((Multiset) EnumMultiset.create(Mineral.class), buckets.get(SUBTIER_COUNT))); + return stratums; + } + + public void addMuffinObserver(MuffinObserver observer) { + this._muffinObservers.add(observer); + } + + public void removeMuffinObserver(MuffinObserver observer) { + this._muffinObservers.remove(observer); + } + + public void update(GateDisplay gd) { + if (this._displayThemes == null) { + return; + } + + gd.gateId = this._gateId; + gd.stratum = this._displayStratum; + gd.themes = this._displayThemes; + gd.reachedCore = this._reachedCore; + gd.setDirty(true); + } + + public void optimizeAddMinerals(final PlayerObject plobj, final boolean hadFailure, final InvocationService.ResultListener rl) { + EnumMultiset enumMultiset = EnumMultiset.create(Mineral.class); + for (Item item : plobj.items) { + ItemConfig.Original orig = item.getOriginal(this._configMgr); + if (orig instanceof ItemConfig.Mineral) { + enumMultiset.add(((ItemConfig.Mineral)orig).type, item.getCount()); + } + } + + Tuple> result = optimizeGain((Multiset)enumMultiset); + if (result == null || (result.right).isEmpty()) { + rl.requestProcessed(0); + return; + } + final int subtier = result.left; + final Multiset opt = result.right; + + int shares = 0; + Map deletes = Maps.newHashMap(); + for (Item item : plobj.items) { + ItemConfig.Original orig = item.getOriginal(this._configMgr); + if (orig instanceof ItemConfig.Mineral) { + ItemConfig.Mineral mitem = (ItemConfig.Mineral)orig; + Mineral min = mitem.type; + int count = opt.count(min); + if (count > 0) { + deletes.put(item.getItemId(), count); + shares += (int)(count * mitem.getShareMultiplier()); + } + } + } + final int fshares = shares; + + this._itemMgr.createAndDeleteItems(plobj, null, deletes, new Resulting>(rl) { + public void requestCompleted(List result) { + RotatingGate.this._peermgr.invokeLeadRequest(new RotatingGate.AddMuffinsRequest(plobj.knightId, plobj.tokens.isAdmin(), plobj.guildId, RotatingGate.this._gateId, subtier, 0, opt, fshares), new Resulting(rl) + { + public void requestCompleted(final Integer cost) + { + //RotatingGate.this._evlog.log((ProjectXEvent)new TownEvent.AddMinerals(plobj.playerId, RotatingGate.this._gateId, opt)); + plobj.adjustCrowns(-cost); + RotatingGate.this.optimizeAddMinerals(plobj, false, new Resulting(rl) { + public void requestCompleted(Integer nextCost) { + super.requestCompleted(nextCost + cost); + } + }); + } + + public void requestFailed(Exception cause) { + Iterable> createRefs = Iterables.transform(opt, new Function>() + { + public ConfigReference apply(Muffin muf) + { + return muf.getItemConfig(); + } + }); + RotatingGate.this._itemMgr.createAndDeleteItems(plobj, createRefs, null, new Resulting>(rl) + { + public void requestCompleted(List its) { + if (hadFailure) { + rl.requestProcessed(0); + } else { + RotatingGate.this.optimizeAddMinerals(plobj, true, rl); + } + } + }); + } + }); + } + }); + } + + public void addMinerals(final PlayerObject plobj, final int subtier, final int approvedCost, long[] itemIds, int[] itemCounts, final InvocationService.ResultListener rl) throws InvocationException { + if (subtier < 0 || subtier > SUBTIER_COUNT) { + throw new InvocationException("m.internal_error"); + } + + + final int reservedCrowns = Math.max(0, approvedCost); + if (reservedCrowns > 0) { + if (plobj.crowns < reservedCrowns) { + throw new InvocationException("m.nsf_crowns"); + } + plobj.adjustCrowns(-reservedCrowns); + } + + + final HashMultiset muffins = HashMultiset.create(); + int shares = 0; + Map deletes = Maps.newHashMap(); + for (int ii = 0; ii < itemIds.length; ii++) { + long itemId = itemIds[ii]; + Item item = plobj.items.get(itemId); + ItemConfig.Original config = null; + config = item.getOriginal(this._configMgr); + if (item == null || !(config instanceof ItemConfig.Muffin)) { + Log.log.warning("Player tried to add invalid mineral.", "who", plobj.who(), "itemId", itemId, "item", item); + throw new InvocationException("m.internal_error"); + } + int count = itemCounts[ii]; + if (count <= 0 || count > item.getCount()) { + Log.log.warning("Player tried to add invalid amount of mineral.", "who", plobj.who(), "item", item, "count", count); + throw new InvocationException("m.internal_error"); + } + + ItemConfig.Muffin muffin = (ItemConfig.Muffin)config; + //hashMultiset.add(muffin.getMuffinType(), count); + shares += (int)(count * muffin.getShareMultiplier()); + deletes.put(itemId, count); + } + final int fshares = shares; + + + + this._itemMgr.createAndDeleteItems(plobj, null, deletes, new Resulting>(rl) { + public void requestCompleted(List result) { + RotatingGate.this._peermgr.invokeLeadRequest(new RotatingGate.AddMuffinsRequest(plobj.knightId, plobj.tokens.isAdmin(), plobj.guildId, RotatingGate.this._gateId, subtier, approvedCost, muffins, fshares), new Resulting(rl) { + public void requestCompleted(Integer actualCost) + { + int crownRefund = reservedCrowns - actualCost; + if (crownRefund > 0) { + plobj.adjustCrowns(crownRefund); + } + //RotatingGate.this._evlog.log((ProjectXEvent)new TownEvent.AddMinerals(plobj.playerId, RotatingGate.this._gateId, muffins)); + super.requestCompleted(actualCost); + } + + public void requestFailed(Exception cause) { + if (approvedCost > 0) { + plobj.adjustCrowns(approvedCost); + } + + Iterable> createRefs = Iterables.transform(muffins, new Function>() { + public ConfigReference apply(Muffin muf) + { + return muf.getItemConfig(); + } + }); + RotatingGate.this._itemMgr.createAndDeleteItems(plobj, createRefs, null, new ResultListener.NOOP()); + super.requestFailed(cause); + } + }); + } + }); + } + + public void addSubsidies(final PlayerObject plobj, int subtier, int[] crowns, final InvocationService.ConfirmListener cl) throws InvocationException { + boolean valid = (subtier >= 0 && ((subtier < SUBTIER_COUNT && crowns.length == Mineral.COUNT) || (subtier == 6 && crowns.length == 1))); + + if (!valid || !this._gateObj.canAdd(subtier)) { + throw new InvocationException("m.internal_error"); + } + + for (int boost : crowns) { + if (boost < 0 || boost > 10) { + Log.log.warning("Player submitted invalid boost", "player", plobj.who(), "boost", Ints.asList(crowns)); + + throw new InvocationException("m.internal_error"); + } + } + + final int estimatedCrowns = this._gateObj.calculateSubsidyCost(subtier, this._adminmgr.getServerObject(), crowns); + + if (estimatedCrowns == 0) { + throw new InvocationException("m.internal_error"); + } + + if (plobj.crowns < estimatedCrowns) { + throw new InvocationException("m.nsf_crowns"); + } + plobj.adjustCrowns(-estimatedCrowns); + + InvocationService.ResultListener peerRL = new InvocationService.ResultListener() { + public void requestProcessed(Object result) { + cl.requestProcessed(); + int actualCrowns = (Integer) result; + int refund = estimatedCrowns - actualCrowns; + if (refund > 0) { + plobj.adjustCrowns(refund); + } + } + + public void requestFailed(String cause) { + plobj.adjustCrowns(estimatedCrowns); + cl.requestFailed(cause); + } + }; + this._peermgr.invokeLeadRequest(new AddSubsidiesRequest(this._gateId, subtier, crowns), peerRL); + } + + public void leadNodeChanged(PeerNode leadNode) { + if (leadNode == null) { + initLeadNode(); + updateVisibleLeadNode(); + } else { + this._subtiers = null; + } + } + + public void update(GateData data) { + super.update(data); + maybeDelete(); + } + + public void remove() { + super.remove(); + this._peermgr.removeLeadNodeObserver(this); + } + + public void partyRemoved(String nodeName, PartyInfo info) { + super.partyRemoved(nodeName, info); + maybeDelete(); + } + + protected void didInit() { + super.didInit(); + + RotatingGateData rdata = (RotatingGateData)this._data; + boolean dormant = (0 < rdata.getCountdown()); + if (dormant) { + this._adminmgr.getDungeonConfigObject().addListener(this._cfgListener); + initGateObject(rdata); + } + + + this._peermgr.addLeadNodeObserver(this); + if (this._peermgr.isLeadNode()) { + initLeadNode(); + } + else if (dormant) { + + this._peermgr.invokeLeadAction(new RequestUpdateGateObjectAction(this._gateId)); + } + } + + protected void initGateObject(RotatingGateData rdata) { + List dungeons = rdata.getDungeons(); + Ordering tieBreaker = rdata.getMineralOrdering(); + + + this._gateObj = (GateObject) this._omgr.registerObject((DObject) new GateObject()); + this._gateObj.startTransaction(); + try { + this._gateObj.setCoreTotal(rdata.getMineralsToCore()); + updateLaunchTime(); + + + for (int ii = 0; ii < SUBTIER_COUNT; ii++) { + SubtierInfo info; + String dungeonName = dungeons.get(ii); + if (dungeonName != null) { + //PresetRecord dungeon = this._townmgr.getDungeon(dungeonName); + //String theme = dungeon.themes.isEmpty() ? null : ((Theme) Theme.orderingFor((Comparator) tieBreaker).min(dungeon.themes)).getKey(); + + //info = new SubtierInfo(ii, theme); + } else { + + info = new SubtierInfo(ii, -1, ImmutableMultiset.of(), null, null); + } + //this._gateObj.addToSubtiers(info); + } + } finally { + this._gateObj.commitTransaction(); + } + + this._adminmgr.getServerObject().addToGateObjects(new ServerObject.GateObjectInfo(this._gateId, this._gateObj.getOid())); + } + + protected void updateLaunchTime() { + int cycles = ((RotatingGateData)this._data).getCountdown(); + TownRecord town = this._townMgr.getTownRecord(this._data.getSourceId()); + if (town == null) { + return; + } + + //long interval = town.rotationInterval / Math.max(1, (this._adminmgr.getDungeonConfigObject()).gateIntervalDivisor); + + long now = System.currentTimeMillis(); + //long reference = town.getAdjustedReferenceTime(now); + //long previous = now - (now - reference) % interval; + //this._gateObj.setLaunchTime(previous + cycles * interval); + } + + protected void updateVisible() { + super.updateVisible(); + + if (this._peermgr.isLeadNode()) { + updateVisibleLeadNode(); + } + + RotatingGateData rdata = (RotatingGateData)this._data; + if (this._gateObj != null && rdata.getCountdown() <= 0) { + + this._adminmgr.getServerObject().removeFromGateObjects(this._gateId); + this._omgr.destroyObject(this._gateObj.getOid()); + this._gateObj = null; + this._adminmgr.getDungeonConfigObject().removeListener(this._cfgListener); + } + } + + public void partyShutdown(Party party) { + super.partyShutdown(party); + maybeDelete(); + } + + protected void maybeDelete() { + if (!this._summary.isSet(8) || !this._peermgr.isLeadNode() || this._peermgr.getPartyCount(this._gateId) != 0) { + return; + } + } + + protected void addSubsidies(int subtier, int[] crowns, InvocationService.ResultListener rl) { + if (!this._gateObj.canAdd(subtier)) { + rl.requestFailed("filled"); + return; + } + int cost = this._gateObj.calculateSubsidyCost(subtier, this._adminmgr.getServerObject(), crowns); + int remaining = (subtier == 6) ? (this._gateObj.coreTotal - this._gateObj.coreCount) : this._gateObj.subtiers.get(subtier).remaining; + + + //for (int ii = 0; ii < crowns.length; ii++) { + // this._subsidy.subsidies[Mineral.COUNT * subtier + ii] = this._subsidy.subsidies[Mineral.COUNT * subtier + ii] + crowns[ii] * remaining; + //} + updateSubtier(subtier); + //this._invoker.postUnit((Invoker.Unit)new WriteOnlyUnit("updateSubsidies") { + // public void invokePersist() { + // RotatingGate.this._dungeonrepo.saveSubsidy(RotatingGate.this._subsidy); + // } + //}); + rl.requestProcessed(cost); + } + + protected void addMuffins(final int knightId, boolean isAdmin, final int guildId, final int subtier, int approvedCost, final Multiset muffins, final int shares, InvocationService.ResultListener rl) { + if (!this._gateObj.canAdd(subtier, muffins, isAdmin)) { + rl.requestFailed("e.cant_add"); + return; + } + + int actualCost = this._gateObj.calculateCost(subtier, this._adminmgr.getServerObject(), muffins); + if (approvedCost < actualCost) { + rl.requestFailed("m.cost_updated"); + return; + } + + muffinsAdded(subtier, muffins); + rl.requestProcessed(actualCost); + this._invoker.postUnit(new WriteOnlyUnit("addMuffins") { + public void invokePersist() { + //RotatingGate.this._dungeonrepo.addMuffins(knightId, guildId, RotatingGate.this._gateId, subtier, muffins, shares); + //RotatingGate.this._dungeonrepo.saveSubsidy(RotatingGate.this._subsidy); + } + }); + } + + protected void muffinsAdded(int subtier, Multiset muffins) { + this._subtiers.get(subtier).addAll(muffins); + + if (subtier == 6) { + //this._subsidy.subsidies[Mineral.COUNT * SUBTIER_COUNT] = this._subsidy.subsidies[Mineral.COUNT * SUBTIER_COUNT] - this._gateObj.coreSubsidy * muffins.size(); + } + else { + + SubtierInfo info = this._gateObj.subtiers.get(Integer.valueOf(subtier)); + for (Multiset.Entry entry : muffins.entrySet()) { + Muffin muf = entry.getElement(); + if (muf instanceof Mineral) { + Mineral min = (Mineral)muf; + //this._subsidy.subsidies[subtier * Mineral.COUNT + min.ordinal()] = this._subsidy.subsidies[subtier * Mineral.COUNT + min.ordinal()] - info.getSubsidy(min) * entry.getCount(); + } + } + } + + + updateSubtier(subtier); + } + + protected Tuple> optimizeGain(Multiset inv) { + HashMultiset hashMultiset = null; + int defaultSubtier = this._gateObj.defaultSubtier(); + + if (defaultSubtier == -1) { + return null; + } + + if (defaultSubtier == 6) { + int count = this._gateObj.coreTotal - this._gateObj.coreCount; + int toTake = Math.min(count, inv.size()); + HashMultiset hashMultiset1 = HashMultiset.create(); + MultisetUtil.reassign(inv, hashMultiset1, toTake, true); + if (0 > this._gateObj.calculateCost(defaultSubtier, this._adminmgr.getServerObject(), hashMultiset1)) { + return Tuple.newTuple(Integer.valueOf(defaultSubtier), hashMultiset1); + } + return null; + } + + + Multiset best = null; + int bestCost = Integer.MAX_VALUE; + int bestTier = -1; + for (int subtier = defaultSubtier; subtier < 6; subtier++) { + if (this._gateObj.canAdd(subtier)) { + + + final SubtierInfo info = this._gateObj.subtiers.get(Integer.valueOf(subtier)); + Ordering byMaxSubsidy = new Ordering() + { + public int compare(Mineral m1, Mineral m2) { + return Ints.compare(info.subsidies[m2.ordinal()], info.subsidies[m1.ordinal()]); + } + }; + + int count = info.remaining; + HashMultiset hashMultiset1 = HashMultiset.create(); + Set invMins = Sets.newHashSet(inv.elementSet()); + while (!invMins.isEmpty()) { + + List minList = CollectionUtil.minList(invMins, byMaxSubsidy); + EnumMultiset enumMultiset = EnumMultiset.create(Mineral.class); + for (Mineral min : minList) { + if (0 > this._gateObj.calculateCost(subtier, this._adminmgr.getServerObject(), min)) { + enumMultiset.add(min, inv.count(min)); + } + } + invMins.removeAll(minList); + if (MultisetUtil.reassign(enumMultiset, hashMultiset1, count - hashMultiset1.size(), true)) { + break; + } + } + int cost = this._gateObj.calculateCost(subtier, this._adminmgr.getServerObject(), hashMultiset1); + if (cost < 0 && cost < bestCost) { + hashMultiset = hashMultiset1; + bestCost = cost; + bestTier = subtier; + } + } + } if (hashMultiset != null) { + return Tuple.newTuple(Integer.valueOf(bestTier), hashMultiset); + } + return null; + } + + protected void updateSubtier(int subtier) { + updateAll(); + } + + protected void updateAll() { + RotatingGateData rdata = (RotatingGateData)this._data; + Ordering tieBreaker = rdata.getMineralOrdering(); + int mineralsPerFloor = rdata.getMineralsPerFloor(); + List dungeons = rdata.getDungeons(); + List subtierInfos = Lists.newArrayList(); + + + String[] themes = new String[SUBTIER_COUNT]; + int stratum = SUBTIER_COUNT; + for (int subtierIdx = 0; subtierIdx < SUBTIER_COUNT; subtierIdx++) { + SubTier tier = SUBTIERS.get(subtierIdx); + String dungName = dungeons.get(subtierIdx); + if (dungName != null) { + + //PresetRecord dung = this._townmgr.getDungeon(dungName); + //Theme theme = (Theme)Theme.orderingFor((Comparator)tieBreaker).min(dung.themes); + //themes[subtierIdx] = theme.getKey(); + + } + else { + + Multiset subtier = this._subtiers.get(subtierIdx); + Multiset minerals = MultisetUtil.filter(subtier, Mineral.class); + Multiset alloys = MultisetUtil.filter(subtier, Alloy.class); + + Multiset spectrum = spectrum(minerals, alloys); + int size = minerals.size(); + int filled = mineralsPerFloor * tier.size; + String theme = (size == 0 || filled * 0.1F > size) ? null : Theme.primary(tier.id, spectrum, tieBreaker).getKey(); + + + themes[subtierIdx] = theme; + int remaining = Math.max(0, filled - size); + //subtierInfos.add(new SubtierInfo(subtierIdx, remaining, subtier, this._subsidy.subsidies, theme)); + + if (stratum == SUBTIER_COUNT && remaining > 0) { + stratum = subtierIdx; + } + } + } + + this._peermgr.invokeNodeAction(new UpdateAllDisplayAction(this._gateId, stratum, themes, false)); + + int coreCount = MultisetUtil.filter(this._subtiers.get(SUBTIER_COUNT), Mineral.class).size(); + //int coreRemaining = Math.max(0, rdata.getMineralsToCore() - coreCount); + //int coreSubsidy = (coreRemaining == 0) ? 0 : (this._subsidy.subsidies[Mineral.COUNT * SUBTIER_COUNT] / coreRemaining); + + //this._peermgr.invokeNodeAction(new UpdateGateObjectAction(this._gateId, coreCount, coreSubsidy, subtierInfos)); + } + + protected void pushUpdate() { + if (this._gateObj != null) { + this._peermgr.invokeNodeAction(new UpdateGateObjectAction(this._gateId, this._gateObj.coreCount, this._gateObj.coreSubsidy, this._gateObj.subtiers)); + } + } + + protected void notifyObservers() { + this._muffinObservers.apply(new ObserverList.ObserverOp() { + public boolean apply(RotatingGate.MuffinObserver observer) { + observer.muffinsUpdated(RotatingGate.this); + return true; + } + }); + } + + protected void initLeadNode() { + // RotatingGateData rdata = (RotatingGateData)this._data; + // if (rdata.getCountdown() > 0) + // { + // this._invoker.postUnit(new RepositoryUnit("initRotatingGate") { protected List _buckets; + // public void invokePersist() { + // this._buckets = RotatingGate.this._dungeonrepo.loadBuckets(RotatingGate.this._gateId); + // this._subsidy = RotatingGate.this._dungeonrepo.loadSubsidy(RotatingGate.this._gateId); + // } protected GateSubsidyRecord _subsidy; + // public void handleSuccess() { + // RotatingGate.this.setBuildData(this._buckets, this._subsidy); + // } } + // ); + // } + } + + protected void updateVisibleLeadNode() { + RotatingGateData rdata = (RotatingGateData)this._data; + if (rdata.getCountdown() == 0) { + this._subtiers = null; + String[] themes = Iterables.toArray(Lists.transform(rdata.getThemes(), Theme.TO_KEY), String.class); + + this._peermgr.invokeNodeAction(new UpdateAllDisplayAction(this._gateId, -1, themes, rdata.getReachedCore())); + } + } + + + + + + public interface MuffinObserver { + void muffinsUpdated(RotatingGate gate); + } + + public static class SubTier + { + public final int id; + public final int floor; + public final int size; + public final float presetProbability; + + public SubTier(int id, int floor, int size, float presetProbability) { + this.id = id; + this.floor = floor; + this.size = size; + this.presetProbability = presetProbability; + } + + public String toString() { + return Objects.toStringHelper(this).add("id", this.id).add("floor", this.floor).add("size", this.size).toString(); + } + } + + public static class AddMuffinsRequest + extends PeerManager.NodeRequest + { + protected int _knightId; + + protected boolean _isAdmin; + protected int _guildId; + protected int _gateId; + protected int _subtier; + protected int _approvedCost; + protected String _muffins; + protected int _shares; + @Inject + protected transient DungeonManager _dungeonmgr; + + public AddMuffinsRequest(int knightId, boolean isAdmin, int guildId, int gateId, int subtier, int approvedCost, Multiset muffins, int shares) { + this._knightId = knightId; + this._isAdmin = isAdmin; + this._guildId = guildId; + this._gateId = gateId; + this._subtier = subtier; + this._approvedCost = approvedCost; + this._muffins = MuffinUtil.flatten(muffins); + this._shares = shares; + } + + public AddMuffinsRequest() {} + + public boolean isApplicable(NodeObject nodeobj) { + return true; + } + + protected void execute(InvocationService.ResultListener listener) { + Gate gate = this._dungeonmgr.getGate(this._gateId); + if (!(gate instanceof RotatingGate)) { + Log.log.warning("Requested to add minerals to invalid gate.", "knightId", Integer.valueOf(this._knightId), "gateId", Integer.valueOf(this._gateId)); + + listener.requestFailed("m.internal_error"); + return; + } + ((RotatingGate)gate).addMuffins(this._knightId, this._isAdmin, this._guildId, this._subtier, this._approvedCost, MuffinUtil.unflatten(Muffin.class, this._muffins), this._shares, listener); + } + } + + public static class AddSubsidiesRequest + extends PeerManager.NodeRequest + { + protected int _gateId; + protected int _subtier; + protected int[] _crowns; + @Inject protected transient DungeonManager _dungeonmgr; + public AddSubsidiesRequest() {} + + public AddSubsidiesRequest(int gateId, int subtier, int[] crowns) { + this._gateId = gateId; + this._subtier = subtier; + this._crowns = crowns; + } + + public boolean isApplicable(NodeObject nodeobj) { + return true; + } + + protected void execute(InvocationService.ResultListener listener) { + Gate gate = this._dungeonmgr.getGate(this._gateId); + if (!(gate instanceof RotatingGate)) { + Log.log.warning("Requested to subsidize an invalid gate.", "gateId", Integer.valueOf(this._gateId)); + listener.requestFailed("m.internal_error"); + return; + } + ((RotatingGate)gate).addSubsidies(this._subtier, this._crowns, listener); + } + } + + public static class UpdateAllDisplayAction + extends RotatingGateNodeAction + { + protected int _stratum; + + protected String[] _themes; + + protected boolean _reachedCore; + + public UpdateAllDisplayAction(int gateId, int stratum, String[] themes, boolean reachedCore) { + this._gateId = gateId; + this._stratum = stratum; + this._themes = themes; + this._reachedCore = reachedCore; + } + + public UpdateAllDisplayAction() {} + + protected void execute(RotatingGate gate) { + gate._displayStratum = this._stratum; + gate._displayThemes = this._themes; + gate._reachedCore = this._reachedCore; + gate.notifyObservers(); + } + } + + public static class RequestUpdateGateObjectAction + extends RotatingGateNodeAction + { + public RequestUpdateGateObjectAction(int gateId) { + this._gateId = gateId; + } + + public RequestUpdateGateObjectAction() {} + + protected void execute(RotatingGate gate) { + gate.pushUpdate(); + } + } + + public static class StratumDistribution + { + public List> floorMinerals = Lists.newArrayList(); + public Multiset alloys = EnumMultiset.create(Alloy.class); + } + + //protected void setBuildData(List buckets, GateSubsidyRecord subsidy) { + // ImmutableList.Builder> builder = ImmutableList.builder(); + // for (int ii = 0; ii <= SUBTIER_COUNT; ii++) { + // builder.add(HashMultiset.create()); + // } + // this._subtiers = (List>)builder.build(); + + // for (BucketRecord bucket : buckets) { + // ((Multiset)this._subtiers.get(bucket.subtier)).addAll((Collection)bucket.muffins); + // } + // this._subsidy = subsidy; + // updateAll(); + //} + + public static class UpdateGateObjectAction + extends RotatingGateNodeAction + { + protected int _coreCount; + protected int _coreSubsidy; + protected SubtierInfo[] _infos; + + public UpdateGateObjectAction(int gateId, int coreCount, int coreSubsidy, Iterable infos) { + this._gateId = gateId; + this._coreCount = coreCount; + this._coreSubsidy = coreSubsidy; + this._infos = Iterables.toArray(infos, SubtierInfo.class); + } + + public UpdateGateObjectAction() {} + + protected void execute(RotatingGate gate) { + GateObject obj = gate._gateObj; + if (obj == null) { + Log.log.warning("Unable to update gate: this node thinks it's active?", "gateId", this._gateId); + return; + } + obj.startTransaction(); + try { + obj.setCoreCount(this._coreCount); + obj.setCoreSubsidy(this._coreSubsidy); + for (SubtierInfo info : this._infos) { + obj.updateSubtiers(info); + } + } finally { + obj.commitTransaction(); + } + } + } + + protected static abstract class RotatingGateNodeAction + extends PeerManager.NodeAction + { + protected int _gateId; + @Inject + protected transient DungeonManager _dungeonMgr; + + public final boolean isApplicable(NodeObject nodeObj) { + return true; + } + + protected final void execute() { + Gate gate = this._dungeonMgr.getGate(this._gateId); + if (gate instanceof RotatingGate) { + execute((RotatingGate)gate); + } else { + Log.log.warning("Invalid gate for rotating gate node action", "gateId", this._gateId, "gate", gate, "action", Objects.toStringHelper(this)); + } + } + + protected abstract void execute(RotatingGate param1RotatingGate); + } +} diff --git a/src/com/github/thetya/server/dungeon/arena/ArenaParty.java b/src/com/github/thetya/server/dungeon/arena/ArenaParty.java new file mode 100644 index 0000000..65f7523 --- /dev/null +++ b/src/com/github/thetya/server/dungeon/arena/ArenaParty.java @@ -0,0 +1,314 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.dungeon.arena; + +import com.github.thetya.server.dungeon.Party; +import com.github.thetya.server.pvp.PvpManager; +import com.google.common.collect.HashMultiset; +import com.google.common.collect.Iterables; +import com.google.common.collect.Maps; +import com.google.common.collect.Multiset; +import com.google.common.collect.Ordering; +import com.google.common.collect.Sets; +import com.google.inject.Inject; +import com.samskivert.util.Interval; +import com.samskivert.util.ResultListener; +import com.threerings.config.ConfigReference; +import com.threerings.presents.server.InvocationException; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.dungeon.arena.data.ArenaPartyObject; +import com.threerings.projectx.dungeon.arena.data.GameState; +import com.threerings.projectx.dungeon.arena.data.Score; +import com.threerings.projectx.dungeon.data.PartyObject; +import com.threerings.projectx.item.config.ItemConfig; +import com.threerings.projectx.item.config.ItemConfig.Original; +import com.threerings.projectx.pvp.data.PvpConfig; +import com.threerings.projectx.pvp.data.PvpPlayer; +import com.threerings.projectx.social.data.Whereabouts; +import com.threerings.projectx.social.data.Whereabouts.Pvp; +import com.threerings.util.Name; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public abstract class ArenaParty extends Party { + + @Inject protected PvpManager _pvpmgr; + @Inject protected ArenaPartyHost _partyHost; + + protected ArenaSceneManager _arena; + protected ArenaPartyObject _partyobj; + protected Set _ready = Sets.newHashSet(); + protected Map _players = Maps.newHashMap(); + protected Multiset _scores = HashMultiset.create(); + protected Set _dirtyScoreOids = Sets.newHashSet(); + protected Interval _gameInterval; + + protected static final long POST_GAME_TIME = 120000L; + + public void init(int floor, PvpConfig cfg, String language, Iterable players) + throws InvocationException { + + this._partyobj.config = cfg; + this._partyobj.state = GameState.PRE_GAME; + this._language = language; + + for (Name name : players) { + this._players.put(name, new PvpPlayer(name)); + } + + this.init(floor); + this.setDepth(cfg.depth); + } + + public void playerReady(PlayerObject plobj) { + if (this._ready != null) { + this._ready.add(plobj.knight); + this.checkReady(); + } + } + + @Override + public boolean isOpen(PlayerObject player) { + return this._players.containsKey(player.knight); + } + + @Override + public void shutdown() { + this.cancelInterval(); + this._partyHost.partyShutdown(this); + super.shutdown(); + } + + @Override + public void addPlayer(PlayerObject plobj, boolean move, boolean watcher) { + super.addPlayer(plobj, move, watcher); + if (!watcher) { + PvpPlayer player = this._players.get(plobj.knight); + if (player != null) { + player.oid = plobj.getOid(); + player.knightId = plobj.knightId; + player.withdrew = false; + } + } + + } + + @Override + public void removePlayer(PlayerObject plobj, boolean move, int zoneId, int sceneId) { + super.removePlayer(plobj, move, zoneId, sceneId); + PvpPlayer player = this._players.get(plobj.knight); + if (player != null) { + player.withdrew = true; + } + + if (this._ready != null) { + this._ready.remove(plobj.knight); + this.checkReady(); + } + + if (this._partyobj.state == GameState.PLAYING && this.shouldStopGame()) { + this.stopGame(); + } + + } + + @Override + protected Whereabouts createWhereabouts() { + return new Pvp(this._partyobj.config.key); + } + + protected void checkReady() { + Iterator i$ = this._players.values().iterator(); + + PvpPlayer player; + do { + if (!i$.hasNext()) { + this.preCountdown(); + return; + } + + player = i$.next(); + } while(player.withdrew || this._ready.contains(player.name)); + + } + + protected boolean shouldStopGame() { + return this._players.size() <= 1; + } + + public void setArena(ArenaSceneManager arena) { + this._arena = arena; + + this._gameInterval = new Interval(this._omgr) { + @Override + public void expired() { + ArenaParty.this.preCountdown(); + } + }; + + this._gameInterval.schedule(45000L); + } + + protected void preCountdown() { + this.cancelInterval(); + this._partyobj.setState(GameState.PRE_COUNTDOWN); + this._ready = null; + + this._gameInterval = new Interval(this._omgr) { + @Override + public void expired() { + ArenaParty.this.startCountdown(); + } + }; + + this._gameInterval.schedule(5000L); + } + + protected void startCountdown() { + this.cancelInterval(); + this._partyobj.setState(GameState.COUNTDOWN); + + this._gameInterval = new Interval(this._omgr) { + @Override + public void expired() { + ArenaParty.this.startGame(); + } + }; + + this._gameInterval.schedule(3200L); + } + + protected void startGame() { + this.cancelInterval(); + this._partyobj.setState(GameState.PLAYING); + this._arena.setGameOn(true); + } + + protected void adjustScore(int oid, int delta) { + if (delta > 0) { + this._scores.add(oid, delta); + } else if (delta < 0) { + if (0 == this._scores.remove(oid, -delta)) { + return; + } + } else { + return; + } + + this._dirtyScoreOids.add(oid); + } + + protected void flushScores() { + this._partyobj.startTransaction(); + + try { + + for (Integer oid : this._dirtyScoreOids) { + Score score = this._partyobj.getScore(oid); + score.score = this._scores.count(oid); + this._partyobj.updateScore(score); + } + + this._dirtyScoreOids.clear(); + } finally { + this._partyobj.commitTransaction(); + } + } + + protected void stopGame() { + if (this._partyobj.state == GameState.PLAYING) { + this.cancelInterval(); + this._arena.setGameOn(false); + this._partyobj.setState(GameState.GAME_OVER); + + PvpPlayer player; + for(Iterator i$ = this._players.values().iterator(); + i$.hasNext(); player.gameStats = this.getGameStats(player.oid)) { + + player = i$.next(); + player.score = this._scores.count(player.oid); + } + + final List players = Ordering.natural().immutableSortedCopy(this._players.values()); + this._pvpmgr.gameResults(this._partyobj.config, players, new ResultListener() { + @Override + public void requestCompleted(Void xxx) { + ArenaParty.this.showPostgame(players); + } + + @Override + public void requestFailed(Exception cause) { + Log.log.warning("Unable to transition to post-game!", cause); + } + }); + } + } + + protected void showPostgame(List players) { + this._partyobj.startTransaction(); + + try { + this._partyobj.setEndGameReport(Iterables.toArray(players, PvpPlayer.class)); + this._partyobj.setDismiss(System.currentTimeMillis() + POST_GAME_TIME); + this._partyobj.setState(GameState.POST_GAME); + } finally { + this._partyobj.commitTransaction(); + } + + this._gameInterval = new Interval(this._omgr) { + @Override + public void expired() { + ArenaParty.this.dissolve(); + } + }; + + this._gameInterval.schedule(POST_GAME_TIME); + } + + @Override + protected PartyObject createPartyObject() { + return this._partyobj = new ArenaPartyObject(); + } + + @Override + protected void addMemberToObj(PlayerObject player, Party oldParty) { + player.setPvpGame(this._partyobj.config); + super.addMemberToObj(player, oldParty); + Score score = new Score(this._lastMemberId); + score.score = this._scores.count(player.getOid()); + this._partyobj.addToScore(score); + } + + @Override + protected void removeMemberFromObj(PlayerObject player, Comparable key) { + player.setPvpGame(null); + super.removeMemberFromObj(player, key); + this._partyobj.removeFromScore(key); + } + + @Override + protected int goCreateItem(PlayerObject plobj, ConfigReference ref, boolean loot, + boolean distribute, boolean announce, Original original) { + return loot && !original.isTransient() ? -1 : super.goCreateItem(plobj, ref, loot, distribute, + announce, original); + } + + protected Object getGameStats(int oid) { + return null; + } + + protected void cancelInterval() { + if (this._gameInterval != null) { + this._gameInterval.cancel(); + this._gameInterval = null; + } + + } +} \ No newline at end of file diff --git a/src/com/github/thetya/server/dungeon/arena/ArenaPartyHost.java b/src/com/github/thetya/server/dungeon/arena/ArenaPartyHost.java new file mode 100644 index 0000000..a9577ff --- /dev/null +++ b/src/com/github/thetya/server/dungeon/arena/ArenaPartyHost.java @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.dungeon.arena; + +import com.github.thetya.server.dungeon.Gate; +import com.github.thetya.server.dungeon.Party; +import com.github.thetya.server.dungeon.PartyHost; +import com.github.thetya.server.dungeon.arena.superbrawl.SuperBrawlKAParty; +import com.github.thetya.server.dungeon.arena.superbrawl.SuperBrawlParty; +import com.google.inject.Singleton; +import com.samskivert.util.Randoms; +import com.threerings.presents.server.InvocationException; +import com.threerings.projectx.pvp.data.PvpConfig; +import com.threerings.projectx.pvp.data.PvpGame; +import com.threerings.util.Name; + +@Singleton +public class ArenaPartyHost extends PartyHost { + + protected Gate _gate; + + public void init() { + this._gate = this._dungeonmgr.getGate("pvp"); + } + + public ArenaParty createParty(PvpConfig cfg, String language, Iterable players) throws InvocationException { + ArenaParty party = this.createLocalParty(this.getPartyClass(cfg.game)); + int floor = /*Randoms.threadLocal().getInt(this._gate.getData().getWheels().length)*/0; + party.init(floor, cfg, language, players); + this.partyStartup(party); + return party; + } + + @Override + protected void initParty(Party party) { + party.setGate(this._gate); + } + + @Override + protected int getGateId() { + return this._gate.getData().getGateId(); + } + + protected Class getPartyClass(PvpGame game) { + switch(game) { + case SUPER_BRAWL: + return SuperBrawlParty.class; + case KILL_ASSIST_SUPER_BRAWL: + return SuperBrawlKAParty.class; + default: + Log.log.warning("Don't know party type for game.", "pvpGame", game); + return ArenaParty.class; + } + } +} \ No newline at end of file diff --git a/src/com/github/thetya/server/dungeon/arena/ArenaSceneManager.java b/src/com/github/thetya/server/dungeon/arena/ArenaSceneManager.java new file mode 100644 index 0000000..c7f20d6 --- /dev/null +++ b/src/com/github/thetya/server/dungeon/arena/ArenaSceneManager.java @@ -0,0 +1,114 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.dungeon.arena; + +import com.github.thetya.server.dungeon.LevelSceneManager; +import com.github.thetya.server.dungeon.Party; +import com.google.common.collect.Lists; +import com.samskivert.util.Randoms; +import com.threerings.config.ConfigReference; +import com.threerings.crowd.data.BodyObject; +import com.threerings.math.FloatMath; +import com.threerings.math.Vector2f; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.dungeon.arena.server.logic.GladiatorLogic; +import com.threerings.tudey.config.ActorConfig; +import com.threerings.tudey.server.logic.ActorLogic; +import com.threerings.tudey.server.logic.Logic; +import java.util.List; + +public class ArenaSceneManager extends LevelSceneManager { + + protected ArenaParty _party; + protected boolean _gameOn; + protected List _initialSpawnPoints; + + public boolean gladiatorReady(PlayerObject plobj) { + if (this._party != null) { + this._party.playerReady(plobj); + } + + return this._gameOn; + } + + public void setGameOn(boolean gameOn) { + this._gameOn = gameOn; + boolean halted = !gameOn; + int ii = 0; + + for(int nn = this._plobj.occupants.size(); ii < nn; ++ii) { + int oid = this._plobj.occupants.get(ii); + GladiatorLogic logic = (GladiatorLogic)this.getActorLogic(this._tsobj.getPawnId(oid)); + if (logic != null) { + logic.setHalted(halted); + } + } + + } + + public Logic getRespawnPoint(GladiatorLogic gladiator) { + Logic respawn = (Logic) Randoms + .threadLocal().pluck(this._defaultEntrances.subList(0, (int) FloatMath + .ceil((float)this._defaultEntrances.size() / 2.0F)), (Object)null); + this._defaultEntrances.add(respawn); + return respawn; + } + + @Override + public ConfigReference getPawnConfig(BodyObject body) { + Party party = this._instance.getParty(); + return party.isMember((PlayerObject)body) + ? new ConfigReference<>("Character/PC/Arena", "Model", + ((PlayerObject) body).createPlayerModel(this._cfgmgr, false, false, -1, true)) + : null; + } + + @Override + public ActorLogic spawnActor(int timestamp, Vector2f translation, float rotation, + ConfigReference ref) { + + return this.isBlocked(ref) ? null : super.spawnActor(timestamp, translation, rotation, ref); + } + + @Override + protected void didStartup() { + super.didStartup(); + this._party = Party.getParty(this, ArenaParty.class); + if (this._party != null) { + this._party.setArena(this); + } else { + this.setGameOn(true); + } + + } + + @Override + protected Logic getDefaultEntrance() { + if (this._initialSpawnPoints == null) { + this._initialSpawnPoints = Lists.newArrayList(this._defaultEntrances); + Randoms.threadLocal().shuffle(this._defaultEntrances); + } + + return this._initialSpawnPoints.isEmpty() + ? super.getDefaultEntrance() + : (Logic)Randoms.threadLocal().pluck(this._initialSpawnPoints, (Object) null); + } + + protected boolean isBlocked(ConfigReference ref) { + String name = ref.getName(); + if (name.equals("Item/Drop")) { + ConfigReference item = (ConfigReference) ref.getArguments().get("Item"); + String itemName = item.getName(); + return !itemName.startsWith("Pickup/"); + } else if (name.startsWith("Item/Consumable/")) { + return !name.endsWith("/Hearts/Heart"); + } else { + return false; + } + } +} \ No newline at end of file diff --git a/src/com/github/thetya/server/dungeon/arena/Log.java b/src/com/github/thetya/server/dungeon/arena/Log.java new file mode 100644 index 0000000..6cd497d --- /dev/null +++ b/src/com/github/thetya/server/dungeon/arena/Log.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.dungeon.arena; + +import com.samskivert.util.Logger; + +/** + * Contains a reference to the {@link Logger} object used by the arena package. + */ +@SuppressWarnings("unused") +public class Log { + + /** + * The {@link Logger} reference. + */ + public static Logger log = Logger.getLogger("com.github.thetya.server.dungeon.arena"); +} \ No newline at end of file diff --git a/src/com/github/thetya/server/dungeon/arena/superbrawl/SuperBrawlKAParty.java b/src/com/github/thetya/server/dungeon/arena/superbrawl/SuperBrawlKAParty.java new file mode 100644 index 0000000..9ee49d3 --- /dev/null +++ b/src/com/github/thetya/server/dungeon/arena/superbrawl/SuperBrawlKAParty.java @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.dungeon.arena.superbrawl; + +import com.google.common.base.Objects; +import com.google.common.collect.HashBasedTable; +import com.google.common.collect.HashMultiset; +import com.google.common.collect.Multiset; +import com.google.common.collect.Table; +import com.samskivert.util.CollectionUtil; +import com.threerings.projectx.dungeon.server.logic.DungeoneerLogic; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +@SuppressWarnings("UnstableApiUsage") +public class SuperBrawlKAParty extends SuperBrawlParty { + + protected Table _hurtTable = HashBasedTable.create(); + protected Multiset _assists = HashMultiset.create(); + protected static final int ASSIST_SCORE = 50; + + @Override + protected void memberHurt(DungeoneerLogic target, int bodyOid, int sourceOid, int amount, + boolean stillAlive) { + + super.memberHurt(target, bodyOid, sourceOid, amount, stillAlive); + + if (sourceOid != 0 && sourceOid != bodyOid) { + int newAmount = amount + Objects.firstNonNull(this._hurtTable.get(bodyOid, sourceOid), 0); + this._hurtTable.put(bodyOid, sourceOid, newAmount); + } + + if (!stillAlive) { + Map hurts = this._hurtTable.row(bodyOid); + List> maxList = + CollectionUtil.maxList(hurts.entrySet(), Entry.comparingByValue()); + + for (Entry integerIntegerEntry : maxList) { + int assisterOid = integerIntegerEntry.getKey(); + + if (assisterOid != sourceOid) { + this._assists.add(assisterOid); + this.adjustScore(assisterOid, ASSIST_SCORE); + } + } + + hurts.clear(); + } + + } +} \ No newline at end of file diff --git a/src/com/github/thetya/server/dungeon/arena/superbrawl/SuperBrawlParty.java b/src/com/github/thetya/server/dungeon/arena/superbrawl/SuperBrawlParty.java new file mode 100644 index 0000000..efc518e --- /dev/null +++ b/src/com/github/thetya/server/dungeon/arena/superbrawl/SuperBrawlParty.java @@ -0,0 +1,114 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.dungeon.arena.superbrawl; + +import com.github.thetya.server.dungeon.arena.ArenaParty; +import com.github.thetya.server.dungeon.arena.Log; +import com.google.common.collect.HashMultiset; +import com.google.common.collect.Multiset; +import com.samskivert.util.Interval; +import com.threerings.projectx.dungeon.arena.data.GameState; +import com.threerings.projectx.dungeon.arena.server.logic.GladiatorLogic; +import com.threerings.projectx.dungeon.data.Health; +import com.threerings.projectx.dungeon.data.Status; +import com.threerings.projectx.dungeon.server.logic.DungeoneerLogic; +import com.threerings.tudey.server.logic.Logic; + +public class SuperBrawlParty extends ArenaParty { + + protected Multiset _hits = HashMultiset.create(); + protected Multiset _kills = HashMultiset.create(); + protected Multiset _deaths = HashMultiset.create(); + + protected static final int GAME_DURATION = 300; + protected static final int KILL_SCORE = 100; + protected static final int HURT_SCORE = 10; + protected static final int DEATH_SCORE = -50; + + @Override + protected void startGame() { + super.startGame(); + + this._gameInterval = new Interval(this._omgr) { + public void expired() { + SuperBrawlParty.this.stopGame(); + } + }; + + this._gameInterval.schedule(GAME_DURATION * 1000); + } + + @Override + protected Object getGameStats(int oid) { + return new int[]{ this._kills.count(oid), this._deaths.count(oid), this._hits.count(oid) }; + } + + @Override + public boolean hurtMember(int bodyOid, int amount, DungeoneerLogic target, Logic source) { + this._partyobj.startTransaction(); + + boolean stillAlive; + + try { + boolean alive = super.hurtMember(bodyOid, amount, target, source); + int sourceOid; + + if (source == target) { + sourceOid = bodyOid; + } else if (source instanceof GladiatorLogic) { + sourceOid = ((GladiatorLogic)source).getPlayerObject().getOid(); + } else { + sourceOid = 0; + } + + if (this._partyobj.state == GameState.PLAYING) { + this.memberHurt(target, bodyOid, sourceOid, amount, alive); + this.flushScores(); + } + + stillAlive = alive; + } finally { + this._partyobj.commitTransaction(); + } + + return stillAlive; + } + + protected void memberHurt(DungeoneerLogic target, int bodyOid, int sourceOid, int amount, + boolean stillAlive) { + + if (amount > 0 && sourceOid != 0 && sourceOid != bodyOid) { + this._hits.add(sourceOid); + this.adjustScore(sourceOid, HURT_SCORE); + } + + if (!stillAlive) { + Status status = this._partyobj.getStatus(bodyOid); + if (status == null) { + Log.log.warning("Missing status for member.", "bodyOid", bodyOid, "sourceOid", sourceOid, + "party", this.which(), "members", this._partyobj.members); + return; + } + + status.set(2, true); + this._partyobj.updateStatus(status); + + Health health = this._partyobj.health.get(status.getKey()); + target.setRevived(health.maximum, false); + + this._deaths.add(bodyOid); + this.adjustScore(bodyOid, DEATH_SCORE); + + if (sourceOid != 0 && sourceOid != bodyOid) { + this._kills.add(sourceOid); + this.adjustScore(sourceOid, KILL_SCORE); + } + } + + } +} diff --git a/src/com/github/thetya/server/dungeon/data/GateData.java b/src/com/github/thetya/server/dungeon/data/GateData.java new file mode 100644 index 0000000..b91312d --- /dev/null +++ b/src/com/github/thetya/server/dungeon/data/GateData.java @@ -0,0 +1,598 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.dungeon.data; + +import com.github.thetya.server.dungeon.DungeonManager; +import com.github.thetya.server.dungeon.Gate; +import com.github.thetya.server.dungeon.Gate.Floor; +import com.github.thetya.server.persist.LevelRecord; +import com.github.thetya.server.persist.TownRecord; +import com.github.thetya.server.scene.ThetyaSceneRegistry; +import com.github.thetya.server.town.TownManager; +import com.google.common.base.Preconditions; +import com.google.inject.Injector; +import com.samskivert.util.Calendars; +import com.samskivert.util.Randoms; +import com.threerings.export.Exportable; +import com.threerings.io.ObjectInputStream; +import com.threerings.io.ObjectOutputStream; +import com.threerings.io.Streamable; +import com.threerings.math.FloatMath; +import com.threerings.opengl.renderer.config.ColorizationConfig; +import com.threerings.projectx.dungeon.data.DungeonCodes; +import com.threerings.projectx.dungeon.data.GateSummary; +import com.threerings.projectx.dungeon.server.random.RandomLevelData; +import com.threerings.projectx.dungeon.util.GateUtil; +import com.threerings.util.DeepObject; +import com.threerings.util.MessageBundle; +import com.threerings.whirled.zone.util.ZoneUtil; + +import java.io.IOException; + +public class GateData extends DeepObject implements Exportable, Streamable, DungeonCodes { + protected transient int _gateId; + protected transient String _internalId; + protected transient String _name; + protected String _icon; + protected ColorizationConfig[] _colorizations; + protected String _description; + protected int _priority; + protected int _tokens; + protected int _flags; + protected int _sourceId; + protected String _sourcePortal; + protected int _destId; + protected int _depth; + protected Wheel[] _wheels; + + public GateData() { } + + public void setGateId(int gateId) { + this._gateId = gateId; + } + + public int getGateId() { + return this._gateId; + } + + public void setInternalId(String internalId) { + this._internalId = internalId; + } + + public String getInternalId() { + return this._internalId; + } + + public void setName(String name) { + this._name = name; + } + + public String getName() { + return this._name; + } + + public void setIcon(String icon) { + this._icon = icon; + } + + public String getIcon() { + return this._icon; + } + + public void setColorizations(ColorizationConfig[] zations) { + this._colorizations = zations; + } + + public ColorizationConfig[] getColorizations() { + return this._colorizations; + } + + public void setDescription(String description) { + this._description = description; + } + + public String getDescription() { + return this._description; + } + + public void setPriority(int priority) { + this._priority = priority; + } + + public int getPriority() { + return this._priority; + } + + public void setTokens(int tokens) { + this._tokens = tokens; + } + + public int getTokens() { + return this._tokens; + } + + public void setFlags(int flags) { + this._flags = flags; + } + + public int getFlags() { + return this._flags; + } + + public boolean isSet(int flag) { + return (this._flags & flag) != 0; + } + + public void setSourceId(int sourceId) { + this._sourceId = sourceId; + } + + public int getSourceId() { + return this._sourceId; + } + + public void setSourcePortal(String portal) { + this._sourcePortal = portal; + } + + public String getSourcePortal() { + return this._sourcePortal; + } + + public void setDestId(int destId) { + this._destId = destId; + } + + public int getDestId() { + return this._destId; + } + + public void setDepth(int depth) { + this._depth = depth; + } + + public int getDepth() { + return this._depth; + } + + public void setWheels(Wheel[] wheels) { + this._wheels = wheels; + } + + public Wheel[] getWheels() { + return this._wheels; + } + + public Class getGateClass() { + return Gate.class; + } + + public GateSummary createSummary(Injector injector) { + return new GateSummary(this._gateId, this._name, this._icon, this._colorizations, this._description, this._sourceId, this._destId, this._depth, this._priority, this._tokens, this._flags, this.createWheelSummaries(injector)); + } + + public GateSummary.Wheel[] createWheelSummaries(Injector injector) { + GateSummary.Wheel[] summaries = new GateSummary.Wheel[this._wheels.length]; + + for(int ii = 0; ii < this._wheels.length; ++ii) { + summaries[ii] = this._wheels[ii].createSummary(injector); + } + + return summaries; + } + + public void writeObject(ObjectOutputStream out) throws IOException { + out.defaultWriteObject(); + out.writeInt(this._gateId); + out.writeUTF(this._internalId); + out.writeUTF(this._name); + } + + public void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { + in.defaultReadObject(); + this._gateId = in.readInt(); + this._internalId = in.readUTF(); + this._name = in.readUTF(); + } + + public static class None extends Wedge { + public None() { + } + + public GateSummary.Wedge createSummary(Injector injector) { + return new GateSummary.None(); + } + + public boolean isResolvable() { + return false; + } + + public Floor resolve(Injector injector) { + return null; + } + + public String getLogName(Injector injector) { + return "None:"; + } + } + + public static class Core extends GateData.Level { + public Core() { + } + + public GateSummary.Wedge createSummary(Injector injector) { + return new GateSummary.Core(); + } + + protected String logPrefix() { + return "Core:"; + } + } + + public static class Subtown extends Wedge { + public int townId; + + public Subtown() { + } + + public GateSummary.Wedge createSummary(Injector injector) { + return new GateSummary.Subtown(this.townId); + } + + public Floor resolve(Injector injector) { + TownRecord record = (injector.getInstance(TownManager.class)).getTownRecord(this.townId); + return new Floor(record.name, record.name, record.internalId, ZoneUtil + .qualifyZoneId((byte)1, this.townId), record.defaultSceneId, 0, 0); + } + + public String getLogName(Injector injector) { + TownRecord record = (injector.getInstance(TownManager.class)).getTownRecord(this.townId); + return "RandomLevel:" + record.name; + } + } + + public static class RandomLevel extends Wedge { + protected int _depthOffset; + protected int _matchSeconds = 120; + protected boolean _restricted; + protected String _proto; + + public RandomLevel() { + } + + public void configure(String proto, int depthOffset, int matchSeconds, boolean restricted) { + this._proto = proto; + this._depthOffset = depthOffset; + this._matchSeconds = matchSeconds; + this._restricted = restricted; + } + + public GateSummary.Wedge createSummary(Injector injector) { + RandomLevelData data = this.getData(injector); + return new GateSummary.Level(data.get(RandomLevelData.name), data.get(RandomLevelData.icon), data.get(RandomLevelData.iconColors), MessageBundle + .taint(""), false, false, this._restricted); + } + + public Floor resolve(Injector injector) { + RandomLevelData data = this.getData(injector); + String name = data.get(RandomLevelData.name); + //int sceneId = ((ThetyaSceneRegistry)injector.getInstance(ThetyaSceneRegistry.class)).registerRandomLevel(data); + int sceneId = 4; + return new Floor(name, MessageBundle.qualify("dungeon", name), name, ZoneUtil.qualifyZoneId((byte) 2, 0), sceneId, this._depthOffset, this._matchSeconds, false, false, this._restricted); + } + + public String getLogName(Injector injector) { + return "RandomLevel:" + this.getData(injector).get(RandomLevelData.name); + } + + protected RandomLevelData getData(Injector injector) { + return Preconditions.checkNotNull(injector.getInstance(DungeonManager.class).getRandomLevelData(this._proto), "Could not find prototype '%s'", new Object[]{this._proto}); + } + } + + public static class Terminal extends Level { + public Terminal() { + } + + protected String logPrefix() { + return "Terminal:"; + } + + protected Floor createFloor(LevelRecord level, ThetyaSceneRegistry sceneReg) { + return new Floor(level.name, sceneReg.getSceneName(level.defaultSceneId), level.internalId, level.getZoneId(), level.defaultSceneId, this._depthOffset, 2147483647, false, true, this._restricted); + } + + protected boolean isFree() { + return true; + } + } + + public static class Lobby extends Level { + public Lobby() { + } + + protected String logPrefix() { + return "Lobby:"; + } + + protected Floor createFloor(LevelRecord level, ThetyaSceneRegistry sceneReg) { + return new Floor(level.name, sceneReg.getSceneName(level.defaultSceneId), level.internalId, level.getZoneId(), level.defaultSceneId, this._depthOffset, 2147483647, this.isLobby(), this.isFree(), this._restricted); + } + + protected boolean isLobby() { + return true; + } + + protected boolean isFree() { + return true; + } + } + + public static class Level extends Wedge { + protected int _levelId; + protected int _depthOffset; + protected boolean _restricted; + + public Level() { + } + + public void setLevelId(int levelId) { + this._levelId = levelId; + } + + public void setDepthOffset(int depthOffset) { + this._depthOffset = depthOffset; + } + + public void setRestricted(boolean restricted) { + this._restricted = restricted; + } + + public GateSummary.Wedge createSummary(Injector injector) { + DungeonManager dungeonmgr = injector.getInstance(DungeonManager.class); + LevelRecord level = dungeonmgr.getLevelRecord(this._levelId); + return (level == null ? new GateSummary.None() : new GateSummary.Level(level.name, level.icon, + level.getColorizations(), level.description, this.isLobby(), this.isFree(), this._restricted)); + } + + public Floor resolve(Injector injector) { + DungeonManager dungeonmgr = injector.getInstance(DungeonManager.class); + LevelRecord level = dungeonmgr.getLevelRecord(this._levelId); + ThetyaSceneRegistry sceneReg = injector.getInstance(ThetyaSceneRegistry.class); + return level == null ? null : this.createFloor(level, sceneReg); + } + + public String getLogName(Injector injector) { + DungeonManager dungeonmgr = injector.getInstance(DungeonManager.class); + LevelRecord level = dungeonmgr.getLevelRecord(this._levelId); + return this.logPrefix() + level.name; + } + + protected Floor createFloor(LevelRecord level, ThetyaSceneRegistry sceneReg) { + return new Floor(level.name, sceneReg.getSceneName(level.defaultSceneId), level.internalId, + level.getZoneId(), level.defaultSceneId, this._depthOffset, 1, this.isLobby(), + this.isFree(), this._restricted); + } + + protected String logPrefix() { + return "Level:"; + } + + protected boolean isLobby() { + return false; + } + + protected boolean isFree() { + return false; + } + } + + public static class Test extends Wedge { + protected int _sceneId; + protected int _depthOffset; + + public Test() { + } + + public void setSceneId(int sceneId) { + this._sceneId = sceneId; + } + + public int getSceneId() { + return this._sceneId; + } + + public void setDepthOffset(int offset) { + this._depthOffset = offset; + } + + public GateSummary.Wedge createSummary(Injector injector) { + return new GateSummary.Test(); + } + + public Floor resolve(Injector injector) { + String name = MessageBundle.taint("Test"); + return new Floor(name, name, "test", ZoneUtil.qualifyZoneId((byte)2, 0), + this._sceneId, this._depthOffset, 2147483647); + } + + public String getLogName(Injector injector) { + return "Test:test"; + } + } + + public abstract static class Wedge extends DeepObject implements Exportable, Streamable { + public Wedge() { + } + + public abstract GateSummary.Wedge createSummary(Injector var1); + + public boolean isResolvable() { + return true; + } + + public abstract Floor resolve(Injector var1); + + public abstract String getLogName(Injector var1); + } + + public static class Random extends Wheel { + public Random() { + } + + public int getWedgeIndex(float position) { + return Randoms.RAND.getInt(this._wedges.length); + } + + public float getWedgePosition(int idx) { + return 0.0F; + } + + public float getRotation(long when) { + return 0.0F; + } + + public long getResolvableUpdateDelay(float position) { + return 9223372036854775807L; + } + + public GateSummary.Wheel createSummary(Injector injector) { + return new GateSummary.Random(this.createWedgeSummaries(injector)); + } + } + + public static class Constant extends Wheel { + protected float _velocity; + protected float[] _lengths; + protected transient long _start = Calendars.now().zeroTime().toTime(); + + public Constant() { + } + + public float getVelocity() { + return this._velocity; + } + + public void setVelocity(float velocity) { + this._velocity = velocity; + } + + public void setLengths(float[] lengths) { + this._lengths = lengths; + } + + public int getWedgeIndex(float position) { + return GateUtil.getWedgeIndex(this._lengths, position); + } + + public float getWedgePosition(int idx) { + return GateUtil.getWedgePosition(this._lengths, idx); + } + + public float getRotation(long when) { + return GateUtil.getRotation(this._velocity, this._start, when); + } + + public long getResolvableUpdateDelay(float position) { + float speed = Math.abs(this._velocity); + if (speed < 1.0E-6F) { + return 9223372036854775807L; + } else { + int idx = this.getWedgeIndex(position); + boolean resolvable = this._wedges[idx].isResolvable(); + float partial = this._velocity > 0.0F ? this._lengths[idx] - this.getWedgeOffset((float)idx) : this.getWedgeOffset((float)idx); + long delay = (long)(partial * 1000.0F / speed); + + for(int ii = 1; ii < this._wedges.length; ++ii) { + int offset = this._velocity > 0.0F ? ii : this._wedges.length - ii; + int oidx = (idx + offset) % this._wedges.length; + if (this._wedges[oidx].isResolvable() != resolvable) { + return delay; + } + + delay += (long)(this._lengths[oidx] * 1000.0F / speed); + } + + return 9223372036854775807L; + } + } + + public GateSummary.Wheel createSummary(Injector injector) { + return new GateSummary.Constant(this.createWedgeSummaries(injector), this._velocity, this._lengths, this._start); + } + + protected float getWedgeOffset(float position) { + position = FloatMath.normalizeAnglePositive(-position); + + for (float length : this._lengths) { + if (position < length) { + return position; + } + + position -= length; + } + + return position; + } + } + + public abstract static class Wheel extends DeepObject implements Exportable, Streamable { + protected Wedge[] _wedges; + + public Wheel() { + } + + public void setWedges(Wedge[] wedges) { + this._wedges = wedges; + } + + public Wedge[] getWedges() { + return this._wedges; + } + + public Wedge getWedge(float position) { + return this._wedges[this.getWedgeIndex(position)]; + } + + public int getWedgeIndex(float position, long when) { + return this.getWedgeIndex(this.getRelativePosition(position, when)); + } + + public abstract int getWedgeIndex(float var1); + + public float getWedgePosition(int index, long when) { + return this.getAbsolutePosition(this.getWedgePosition(index), when); + } + + public abstract float getWedgePosition(int var1); + + public float getRelativePosition(float absolute, long when) { + return FloatMath.normalizeAngle(absolute - this.getRotation(when)); + } + + public float getAbsolutePosition(float relative, long when) { + return FloatMath.normalizeAngle(this.getRotation(when) + relative); + } + + public abstract float getRotation(long var1); + + public abstract long getResolvableUpdateDelay(float var1); + + public abstract GateSummary.Wheel createSummary(Injector var1); + + protected GateSummary.Wedge[] createWedgeSummaries(Injector injector) { + GateSummary.Wedge[] summaries = new GateSummary.Wedge[this._wedges.length]; + + for(int ii = 0; ii < this._wedges.length; ++ii) { + summaries[ii] = this._wedges[ii].createSummary(injector); + } + + return summaries; + } + } +} \ No newline at end of file diff --git a/src/com/github/thetya/server/dungeon/data/RotatingGateData.java b/src/com/github/thetya/server/dungeon/data/RotatingGateData.java new file mode 100644 index 0000000..18475ea --- /dev/null +++ b/src/com/github/thetya/server/dungeon/data/RotatingGateData.java @@ -0,0 +1,144 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package com.github.thetya.server.dungeon.data; + +import com.github.thetya.server.dungeon.Gate; +import com.github.thetya.server.dungeon.RotatingGate; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; +import com.google.common.collect.Ordering; +import com.google.inject.Injector; +import com.threerings.projectx.dungeon.data.GateSummary; +import com.threerings.projectx.dungeon.data.RotatingGateSummary; +import com.threerings.projectx.dungeon.server.data.Theme; +import com.threerings.projectx.item.data.Mineral; +import com.threerings.util.DeepOmit; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.Set; + +public class RotatingGateData extends GateData { + protected int _countdown; + protected int _mineralsPerFloor; + protected Mineral[] _mineralOrder; + protected String[] _dungeons; + protected String[] _presets; + protected Theme[] _themes; + protected int _mineralsToCore; + protected boolean _core; + @DeepOmit + protected transient Ordering _mineralOrdering; + + public RotatingGateData() { + } + + public static RotatingGateData createDormant() { + RotatingGateData gate = new RotatingGateData(); + List minerals = Lists.newArrayList(Mineral.VALUES); + Collections.shuffle(minerals); + gate._mineralOrder = Iterables.toArray(minerals, Mineral.class); + return gate; + } + + public Ordering getMineralOrdering() { + if (this._mineralOrdering == null) { + if (this._mineralOrder == null) { + this._mineralOrder = Mineral.values(); + } + + this._mineralOrdering = Ordering.explicit(Arrays.asList(this._mineralOrder)); + } + + return this._mineralOrdering; + } + + public int getCountdown() { + return this._countdown; + } + + public void setCountdown(int countdown) { + this._countdown = countdown; + } + + public void setMineralsPerFloor(int mineralsPerFloor, float coreRacePercent) { + int totalMinerals = mineralsPerFloor * RotatingGate.CONTENT_FLOORS; + List dungeons = this.getDungeons(); + int actualFloors = 0; + + for(int ii = 0; ii < RotatingGate.SUBTIER_COUNT; ++ii) { + if (dungeons.get(ii) == null) { + actualFloors += RotatingGate.SUBTIERS.get(ii).size; + } + } + + this._mineralsPerFloor = (int)((1.0F - coreRacePercent) * (float)totalMinerals / (float)RotatingGate.CONTENT_FLOORS); + this._mineralsToCore = totalMinerals - this._mineralsPerFloor * actualFloors; + } + + public int getMineralsPerFloor() { + return this._mineralsPerFloor; + } + + public int getMineralsToCore() { + return this._mineralsToCore; + } + + public List getDungeons() { + return this._dungeons == null ? Collections.nCopies(6, (String)null) : Arrays.asList(this._dungeons); + } + + public void setDungeons(List dungeons) { + Preconditions.checkArgument(dungeons.size() == 6); + this._dungeons = Iterables.toArray(dungeons, String.class); + } + + public Set getPresets() { + return this._presets == null ? ImmutableSet.of() : ImmutableSet.copyOf(this._presets); + } + + public void setPresets(Set presets) { + this._presets = Iterables.toArray(presets, String.class); + } + + public List getThemes() { + return this._themes == null ? Collections.nCopies(6, Theme.FIRE) : Arrays.asList(this._themes); + } + + public void setThemes(List themes) { + this._themes = Iterables.toArray(themes, Theme.class); + } + + public boolean getReachedCore() { + return this._core; + } + + public void setReachedCore(boolean reachedCore) { + this._core = reachedCore; + } + + public Class getGateClass() { + return RotatingGate.class; + } + + public GateSummary createSummary(Injector injector) { + return new RotatingGateSummary(this._gateId, this._name, this._icon, this._colorizations, this._description, this._sourceId, this._destId, this._depth, this._priority, this._tokens, this._flags, this._countdown, this.createWheelSummaries(injector)); + } + + public GateSummary.Wheel[] createWheelSummaries(Injector injector) { + return this._countdown == 0 ? super.createWheelSummaries(injector) : new GateSummary.Wheel[0]; + } +} diff --git a/src/com/github/thetya/server/exchange/ExchangeProvider.java b/src/com/github/thetya/server/exchange/ExchangeProvider.java new file mode 100644 index 0000000..0b182a5 --- /dev/null +++ b/src/com/github/thetya/server/exchange/ExchangeProvider.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.exchange; + +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.client.InvocationService.ResultListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationProvider; +import com.threerings.projectx.exchange.client.ExchangeService; +import com.threerings.projectx.exchange.client.ExchangeService.OfferListener; +import javax.annotation.Generated; + +/** + * Defines the server-side of the {@link ExchangeService}. + */ +@Generated(value = {"com.threerings.presents.tools.GenServiceTask"}, + comments = "Derived from ExchangeService.java.") +public interface ExchangeProvider extends InvocationProvider { + + /** + * Handles a {@link ExchangeService#cancelOffer} request. + */ + void cancelOffer(ClientObject caller, int offerId, ConfirmListener cl) throws InvocationException; + + /** + * Handles a {@link ExchangeService#getMyOffers} request. + */ + void getMyOffers(ClientObject caller, OfferListener ol) throws InvocationException; + + /** + * Handles a {@link ExchangeService#postOffer} request. + */ + void postOffer(ClientObject caller, int volume, int pricePerUnit, boolean buying, + boolean immediate, ResultListener rl) throws InvocationException; +} diff --git a/src/com/github/thetya/server/exchange/Log.java b/src/com/github/thetya/server/exchange/Log.java new file mode 100644 index 0000000..dbc3fa6 --- /dev/null +++ b/src/com/github/thetya/server/exchange/Log.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.exchange; + +import com.samskivert.util.Logger; + +/** + * Contains a reference to the {@link Logger} object used by the exchange package. + */ +@SuppressWarnings("unused") +public class Log { + + /** + * The {@link Logger} reference. + */ + public static Logger log = Logger.getLogger("com.github.thetya.server.exchange"); +} diff --git a/src/com/github/thetya/server/exchange/ThetyaCoinExchangeManager.java b/src/com/github/thetya/server/exchange/ThetyaCoinExchangeManager.java new file mode 100644 index 0000000..905500c --- /dev/null +++ b/src/com/github/thetya/server/exchange/ThetyaCoinExchangeManager.java @@ -0,0 +1,296 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.exchange; + +import com.github.thetya.server.KnightManager; +import com.github.thetya.server.ThetyaClientManager; +import com.github.thetya.server.admin.ThetyaAdminManager; +import com.github.thetya.server.coin.ThetyaCoinManager; +import com.github.thetya.server.peer.ThetyaPeerManager; +import com.github.thetya.server.peer.ThetyaPeerManager.ClientAction; +import com.github.thetya.server.peer.ThetyaPeerManager.KnightRequest; +import com.github.thetya.server.peer.ThetyaPeerManager.LeadInterval; +import com.github.thetya.server.peer.ThetyaPeerManager.LeadNodeObserver; +import com.google.common.collect.Lists; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.samskivert.depot.PersistenceContext; +import com.samskivert.util.ComparableArrayList; +import com.samskivert.util.Invoker; +import com.samskivert.util.Invoker.Unit; +import com.threerings.coin.data.CoinExOfferInfo; +import com.threerings.coin.server.CoinExOffer; +import com.threerings.coin.server.CoinExchangeManager; +import com.threerings.presents.annotation.MainInvoker; +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.client.InvocationService.ResultListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.peer.data.NodeObject; +import com.threerings.presents.peer.server.PeerManager.NodeAction; +import com.threerings.presents.peer.server.PeerNode; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationManager; +import com.threerings.presents.server.PresentsDObjectMgr; +import com.threerings.presents.util.InvocationAdapter; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.exchange.client.ExchangeService.OfferListener; +import com.threerings.projectx.exchange.data.ConsolidatedOffer; +import com.threerings.projectx.exchange.data.ExchangeMarshaller; +import com.threerings.projectx.exchange.data.ExchangeObject; +import com.threerings.util.MessageBundle; +import com.threerings.util.Name; +import java.util.List; + +@Singleton +public class ThetyaCoinExchangeManager extends CoinExchangeManager implements LeadNodeObserver, ExchangeProvider { + @Inject + @MainInvoker + protected Invoker _invoker; + @Inject + protected ThetyaClientManager _clmgr; + @Inject + protected ThetyaAdminManager _adminmgr; + @Inject + protected ThetyaCoinManager _coinmgr; + @Inject + protected KnightManager _knightmgr; + protected ThetyaPeerManager _peermgr; + protected ExchangeObject _exchangeObj; + + @Inject + public ThetyaCoinExchangeManager(PersistenceContext ctx, PresentsDObjectMgr omgr, InvocationManager invmgr, ThetyaPeerManager peermgr) { + super(ctx, ""); + this._peermgr = peermgr; + omgr.registerObject(this._exchangeObj = new ExchangeObject()); + this._exchangeObj.exchangeService = invmgr.registerProvider(this, ExchangeMarshaller.class); + peermgr.addLeadNodeObserver(this); + peermgr.addLeadInterval(new LeadInterval(omgr) { + + @Override + public void expired() { + ThetyaCoinExchangeManager.this.periodicDeleteOffers(); + } + + @Override + public void schedule() { + this.schedule(300000L, 3600000L); + } + }); + } + + public void init() { + super.init(this._coinmgr, this._invoker, ThetyaCoinManager.getAuditLogger(), 5, 100); + this.updatePublishedInfo(true, true, this._lastPrice); + } + + public ExchangeObject getExchangeObject() { + return this._exchangeObj; + } + + public CoinExOfferInfo[] getPlayerOffers(String knight, boolean buy) { + return this.getPlayerOffers(buy ? this._bids : this._asks, knight); + } + + @Override + public void leadNodeChanged(PeerNode leadNode) { + if (leadNode == null) { + this._bids.clear(); + this._asks.clear(); + this._invoker.postUnit(new Unit("leadNodeChanged") { + + @Override + public boolean invoke() { + ThetyaCoinExchangeManager.this.init(); + return false; + } + }); + } + } + + @Override + public void getMyOffers(ClientObject caller, OfferListener ol) throws InvocationException { + PlayerObject player = (PlayerObject)caller; + this.ensurePostselection(player); + this._peermgr.getExchangeOffers(null, player.knight, ol); + } + + @Override + public void postOffer(ClientObject caller, int volume, int pricePerUnit, boolean buying, boolean immediate, ResultListener rl) throws InvocationException { + PlayerObject player = (PlayerObject)caller; + this.ensurePostselection(player); + if (volume >= 1 && pricePerUnit >= 1) { + this._peermgr.postExchangeOffer(null, player.username, player.knight, volume, pricePerUnit, buying, immediate, rl); + } else { + Log.log.warning("Invalid arguments for offer.", "who", player.who(), "volume", volume, + "pricePerUnit", pricePerUnit); + throw new InvocationException("m.internal_error"); + } + } + + @Override + public void cancelOffer(ClientObject caller, int offerId, ConfirmListener cl) throws InvocationException { + PlayerObject player = (PlayerObject)caller; + this.ensurePostselection(player); + this._peermgr.cancelExchangeOffer(null, player.knight, offerId, cl); + } + + @Override + protected void updatePublishedInfo(boolean buy, boolean sell, int lastPrice) { + this._peermgr.invokeNodeAction(new ThetyaCoinExchangeManager.UpdatePublishedInfoAction(lastPrice, buy ? this.consolidateOffers(this._bids) : null, sell ? this.consolidateOffers(this._asks) : null)); + } + + @Override + protected void reserveCurrency(Object user, int cost, com.samskivert.util.ResultListener listener) { + Name name = (Name)user; + this._peermgr.invokeKnightRequest(new ThetyaCoinExchangeManager.ReserveCurrencyRequest(name, cost), new InvocationAdapter(listener)); + } + + @Override + protected byte getFee() { + return this._adminmgr.getServerObject().coinExchangeFee; + } + + @Override + protected void updateUserCoins(String gameName, String accountName) { + Name username = new Name(accountName); + this._peermgr.invokeClientAction(username, new ThetyaCoinExchangeManager.UpdateCoinCountAction(username)); + } + + @Override + protected void distributeCurrency(CoinExOffer info, int currency, String msg) { + this._knightmgr.grantCrowns(new Name(info.gameName), currency, "exchange", MessageBundle.tcompose(msg, String.valueOf(currency))); + } + + protected void ensurePostselection(PlayerObject plobj) throws InvocationException { + if (plobj.knight == null) { + Log.log.warning("Player has not selected knight.", "who", plobj.who()); + throw new InvocationException("m.internal_error"); + } + } + + protected CoinExOfferInfo[] getPlayerOffers(ComparableArrayList offers, String knight) { + List info = Lists.newArrayList(); + int ii = 0; + + for(int nn = offers.size(); ii < nn; ++ii) { + CoinExOffer offer = offers.get(ii); + if (offer.gameName.equals(knight)) { + info.add(this.createInfo(offer)); + } + } + + return info.toArray(new CoinExOfferInfo[info.size()]); + } + + protected ConsolidatedOffer[] consolidateOffers(ComparableArrayList offers) { + List list = Lists.newArrayList(); + ConsolidatedOffer current = null; + int ii = 0; + + for(int nn = offers.size(); ii < nn; ++ii) { + CoinExOffer offer = offers.get(ii); + if (current == null || current.price != offer.price) { + if (list.size() == this._offersShown) { + break; + } + + list.add(current = new ConsolidatedOffer()); + current.price = offer.price; + } + + current.volume += offer.volume; + } + + return list.toArray(new ConsolidatedOffer[list.size()]); + } + + public static class UpdateCoinCountAction extends ClientAction { + + @Inject + protected transient ThetyaCoinManager _coinmgr; + + public UpdateCoinCountAction(Name username) { + super(username); + } + + public UpdateCoinCountAction() { + } + + @Override + protected void execute(PlayerObject player) { + this._coinmgr.updateCoinCount(player); + } + } + + public static class ReserveCurrencyRequest extends KnightRequest { + protected int _cost; + + public ReserveCurrencyRequest(Name name, int cost) { + super(name); + this._cost = cost; + } + + public ReserveCurrencyRequest() { + } + + @Override + protected void execute(PlayerObject player, ResultListener listener) { + if (player.crowns < this._cost) { + listener.requestFailed("m.nsf_crowns"); + } else { + player.adjustCrowns(-this._cost); + listener.requestProcessed(null); + } + } + } + + public static class UpdatePublishedInfoAction extends NodeAction { + protected int _lastPrice; + protected ConsolidatedOffer[] _buyOffers; + protected ConsolidatedOffer[] _sellOffers; + @Inject + protected transient ThetyaCoinExchangeManager _exchangemgr; + + public UpdatePublishedInfoAction(int lastPrice, ConsolidatedOffer[] buyOffers, ConsolidatedOffer[] sellOffers) { + this._lastPrice = lastPrice; + this._buyOffers = buyOffers; + this._sellOffers = sellOffers; + } + + public UpdatePublishedInfoAction() { + } + + @Override + public boolean isApplicable(NodeObject nodeobj) { + return true; + } + + @Override + protected void execute() { + ExchangeObject exchangeobj = this._exchangemgr.getExchangeObject(); + exchangeobj.startTransaction(); + + try { + if (this._lastPrice != -1) { + exchangeobj.setLastPrice(this._lastPrice); + } + + if (this._buyOffers != null) { + exchangeobj.setBuyOffers(this._buyOffers); + } + + if (this._sellOffers != null) { + exchangeobj.setSellOffers(this._sellOffers); + } + } finally { + exchangeobj.commitTransaction(); + } + + } + } +} diff --git a/src/com/github/thetya/server/guild/Log.java b/src/com/github/thetya/server/guild/Log.java new file mode 100644 index 0000000..b07ee9b --- /dev/null +++ b/src/com/github/thetya/server/guild/Log.java @@ -0,0 +1,22 @@ +// +// $Id: thetya-server 2020-11-03 18:30 micha $ +// +// Copyright (C) 2013-2020 Thetya Team +// https://github.com/Thetya +// + +package com.github.thetya.server.guild; + +import com.samskivert.util.Logger; + +/** + * Contains a reference to the {@link Logger} object used by the guild package. + */ +@SuppressWarnings("unused") +public class Log { + + /** + * The {@link Logger} reference. + */ + public static Logger log = Logger.getLogger("com.github.thetya.server.guild"); +} diff --git a/src/com/github/thetya/server/item/ItemManager.java b/src/com/github/thetya/server/item/ItemManager.java new file mode 100644 index 0000000..9176357 --- /dev/null +++ b/src/com/github/thetya/server/item/ItemManager.java @@ -0,0 +1,1660 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.item; + +import com.github.thetya.server.admin.ThetyaAdminManager; +import com.github.thetya.server.dungeon.LevelParty; +import com.github.thetya.server.dungeon.Party; +import com.github.thetya.server.persist.ItemRepository; +import com.github.thetya.server.persist.MachIdentRepository; +import com.github.thetya.server.scene.ThetyaSceneManager; +import com.github.thetya.server.town.TownManager; +import com.google.common.base.Function; +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; +import com.google.inject.Inject; +import com.google.inject.Injector; +import com.google.inject.Singleton; +import com.samskivert.jdbc.RepositoryListenerUnit; +import com.samskivert.jdbc.WriteOnlyUnit; +import com.samskivert.util.*; +import com.samskivert.util.Invoker.Unit; +import com.samskivert.util.ResultListener.NOOP; +import com.threerings.config.ConfigManager; +import com.threerings.config.ConfigReference; +import com.threerings.crowd.server.PlaceManager; +import com.threerings.crowd.server.PlaceRegistry; +import com.threerings.presents.annotation.MainInvoker; +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationManager; +import com.threerings.presents.util.ConfirmAdapter; +import com.threerings.projectx.admin.data.ItemPackConfigObject.ItemPack; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.data.ProjectXCodes; +import com.threerings.projectx.item.Log; +import com.threerings.projectx.item.config.ItemConfig; +import com.threerings.projectx.item.config.ItemConfig.Dungeon; +import com.threerings.projectx.item.config.ItemConfig.Energy; +import com.threerings.projectx.item.config.ItemConfig.ItemConfigReference; +import com.threerings.projectx.item.config.ItemConfig.Level; +import com.threerings.projectx.item.config.ItemConfig.Original; +import com.threerings.projectx.item.config.ItemConfig.TownPass; +import com.threerings.projectx.item.config.ItemConfig.Upgrade; +import com.threerings.projectx.item.config.VariantConfig; +import com.threerings.projectx.item.data.Item; +import com.threerings.projectx.item.data.ItemCodes; +import com.threerings.projectx.item.data.ItemMarshaller; +import com.threerings.projectx.item.data.LevelItem; +import com.threerings.projectx.item.data.SeedItem; +import com.threerings.projectx.item.data.UpgradeItem; +import com.threerings.projectx.item.server.logic.UseLogic; +import com.threerings.projectx.server.util.TransactionUnit.Element; +import com.threerings.projectx.social.data.Notification.ItemExpired; +import java.util.Collections; +import java.util.*; +import java.util.Map.Entry; +import java.util.stream.Collectors; + +@Singleton +public class ItemManager implements ItemProvider, ProjectXCodes, ItemCodes { + protected long _lastTransientItemId; + @Inject + protected Injector _injector; + @Inject + protected ConfigManager _cfgmgr; + @Inject + protected PlaceRegistry _plreg; + @Inject + protected ItemRepository _itemrepo; + @Inject + protected MachIdentRepository _identrepo; + @Inject + protected TownManager _townmgr; + //@Inject + //protected ProjectXEventLogger _evlog; + @Inject + protected ThetyaAdminManager _adminmgr; + @Inject + @MainInvoker + protected Invoker _invoker; + + @Inject + public ItemManager(InvocationManager invmgr) { + invmgr.registerProvider(this, ItemMarshaller.class, "presents"); + } + + public void createItem(ConfigReference config, ItemManager.ItemConfigurator configger, + final int bagId, ResultListener rl) { + final Item item = this.createItem(config); + if (item == null) { + rl.requestFailed(new Exception("Invalid config: " + config)); + } else { + configger.configure(item); + this._invoker.postUnit(new RepositoryListenerUnit("createItem", rl) { + public Item invokePersistResult() throws Exception { + ItemManager.this._itemrepo.assignItemId(item, bagId); + return item; + } + }); + } + } + + public boolean createItem(PlayerObject plobj, ConfigReference ref) { + return this.createItem(plobj, ref, new NOOP<>()); + } + + public boolean createItems(PlayerObject plobj, ConfigReference ref, int count) { + return this.createItems(plobj, ref, count, new NOOP<>()); + } + + public boolean createItem(PlayerObject plobj, ConfigReference ref, ResultListener rl) { + return this.createItems(plobj, ref, 1, rl); + } + + public boolean createItems(PlayerObject plobj, ConfigReference ref, int count, ResultListener rl) { + List> refs = Lists.newArrayListWithExpectedSize(count); + refs.add(ref); + + for(int ii = 1; ii < count; ++ii) { + ConfigReference copy = new ConfigReference<>(); + refs.add(copy); + ref.copy(copy); + } + + ResultListener> crl = new ChainedResultListener, Item>(rl) { + public void requestCompleted(List result) { + this._target.requestCompleted(result.get(0)); + } + }; + return this.createAndDeleteItems(plobj, refs, null, crl); + } + + public void deleteItem(ClientObject caller, long itemId, ConfirmListener cl) throws InvocationException { + PlayerObject plobj = (PlayerObject)caller; + if (!plobj.tokens.isSupportPlus()) { + Log.log.warning("Non-support tried to delete item", "who", plobj.who(), + "itemId", itemId); + throw new InvocationException("m.internal_error"); + } else { + this.deleteItem(plobj, itemId, (new ConfirmAdapter(cl))); + } + } + + protected void deleteItem(PlayerObject plobj, long itemId, ResultListener rl) { + this.deleteItem(plobj, itemId, 0, rl); + } + + protected void deleteItem(PlayerObject plobj, long itemId, int count, ResultListener rl) { + ResultListener> crl = new ChainedResultListener, Void>(rl) { + public void requestCompleted(List result) { + this._target.requestCompleted(null); + } + }; + this.createAndDeleteItems(plobj, null, Collections.singletonMap(itemId, count), crl); + } + + public void dropCount(PlayerObject plobj, long itemId) { + this.dropCount(plobj, itemId, new NOOP<>()); + } + + public void dropCount(PlayerObject plobj, long itemId, ResultListener rl) { + this.deleteItem(plobj, itemId, 1, rl); + } + + public Element createTransferElement(final PlayerObject p1, final Map i1, + final PlayerObject p2, final Map i2) { + return new Element() { + protected final List _r1 = Lists.newArrayList(); + protected final List _r2 = Lists.newArrayList(); + protected final Set _tids = Sets.newHashSet(); + + public void reserve() throws Exception { + if (p1.reserveItems.isEmpty() && p2.reserveItems.isEmpty()) { + if (!ItemManager.this.reserveTransfer(p1, i1, this._r1, p2, i2, this._r2, this._tids) + || !ItemManager.this.reserveTransfer(p2, i2, this._r2, p1, i1, this._r1, this._tids)) { + throw new InvocationException("m.inventory_full"); + } + } else { + Log.log.warning("Tried to initiate transfer when reservedItems aren't empty", "player 1", + p1.who(), "p1 empty", p1.reserveItems.isEmpty(), "player 2", p2.who(), "p2 empty", + p2.reserveItems.isEmpty()); + throw new InvocationException("m.internal_error"); + } + } + + public void unreserve() { + Iterator i$ = this._r1.iterator(); + + ItemManager.TransferReservation tr; + while(i$.hasNext()) { + tr = i$.next(); + p1.reserveItems.remove(tr.item); + } + + i$ = this._r2.iterator(); + + while(i$.hasNext()) { + tr = i$.next(); + p2.reserveItems.remove(tr.item); + } + + } + + public boolean modify() { + p1.startTransaction(); + p2.startTransaction(); + + try { + ItemManager.this.transientTransfer(p1, p2, this._r2, this._tids); + ItemManager.this.transientTransfer(p2, p1, this._r1, this._tids); + } finally { + p1.commitTransaction(); + p2.commitTransaction(); + } + + return !this._r1.isEmpty() || !this._r2.isEmpty(); + } + + public void unmodify() { + } + + public void persist() { + this.persistItems(p1.bagId, this._r1); + this.persistItems(p2.bagId, this._r2); + } + + public void unpersist() { + } + + public void complete() { + p1.startTransaction(); + p2.startTransaction(); + + try { + this.transfer(p1, p2, this._r2); + this.transfer(p2, p1, this._r1); + } finally { + p1.commitTransaction(); + p2.commitTransaction(); + } + + } + + protected void transfer(PlayerObject source, PlayerObject target, List items) { + for (TransferReservation tr : items) { + Item item; + if (!tr.partial) { + source.removeFromItems(tr.item.getKey()); + } else { + item = (Item) source.items.get(tr.sourceId); + item.incCount(-tr.item.getCount()); + item.setDirty(true); + source.updateItems(item); + } + + if (tr.targetId != 0L && !tr.partial) { + item = (Item) target.items.get(tr.targetId); + item.incCount(tr.item.getCount()); + item.setDirty(true); + target.updateItems(item); + } else { + target.addToItems(tr.item); + } + } + } + + protected void persistItems(int bagId, List items) { + List transferIds = Lists.newArrayList(); + List deleteIds = Lists.newArrayList(); + + for (TransferReservation tr : items) { + if (!tr.partial && tr.targetId == 0L) { + transferIds.add(tr.item.getItemId()); + tr.item.setBagId(bagId); + } else if (tr.partial) { + tr.item.setItemId(0L); + ItemManager.this._itemrepo.assignItemId(tr.item, bagId); + } else if (tr.targetId > 0L) { + deleteIds.add(tr.item.getItemId()); + } + } + + ItemManager.this._itemrepo.transferItems(bagId, transferIds); + ItemManager.this._itemrepo.deleteItems(deleteIds); + } + }; + } + + public void giveItemPack(final PlayerObject plobj, String pack, ResultListener rl) { + //ItemPack[] arr$ = this._adminmgr.getItemPackConfigObject().itemPacks; +// + //for (ItemPack ip : arr$) { + // if (ip.name.equals(pack)) { + // List> refs = Arrays.stream(ip.items) + // .map(ref -> ref.ref).collect(Collectors.toList()); + // final boolean locked = ip.locked; + // this.createAndDeleteItems(plobj, refs, null, + // new ChainedResultListener, Void>(rl) { + // public void requestCompleted(List result) { + // if (locked) { + // plobj.startTransaction(); +// + // try { +// + // for (Item item : result) { + // item.setLocked(true); + // plobj.updateItems(item); + // } + // } finally { + // plobj.commitTransaction(); + // } + // } +// + // this._target.requestCompleted(null); + // } + // }); + // return; + // } + //} +// + //rl.requestFailed(new InvocationException("m.internal_error")); + } + + public boolean createAndDeleteItems(final PlayerObject plobj, Iterable> createRefs, Map deletes, ResultListener> rl) { + if (createRefs == null) { + createRefs = Collections.emptyList(); + } + + if (deletes == null) { + deletes = Collections.emptyMap(); + } + + if (!this.validateItemDeletions(plobj, deletes, rl)) { + return false; + } else { + final List reserved = Lists.newArrayList(); + Set created = Sets.newHashSet(); + final List deleteItems = Lists.newArrayList(); + Map, Item> stackMap = Maps.newHashMap(); + boolean failedUnique = false; + Iterator> i$ = createRefs.iterator(); + + Original original; + Item oitem; + while(i$.hasNext()) { + ConfigReference ref = i$.next(); + Item item = this.createItem(ref); + if (item == null) { + plobj.reserveItems.removeAll(reserved); + rl.requestFailed(new InvocationException("m.internal_error")); + return false; + } + + int idx = this.getFirstAvailableIndex(plobj, 0, item, deletes); + if (idx == -2) { + plobj.reserveItems.removeAll(reserved); + rl.requestFailed(new InvocationException("m.inventory_full")); + return false; + } + + original = item.getOriginal(this._cfgmgr); + if (original.maxStack > 1) { + oitem = stackMap.get(ref); + if (oitem != null && oitem.getIndex() == idx) { + oitem.incCount(1); + item = null; + } else { + stackMap.put(ref, item); + } + } else if (original.isUnique()) { + oitem = this.getSimilarItem(plobj, item); + if (oitem != null) { + item = null; + failedUnique = true; + } + } + + if (item != null) { + item.setIndex(idx); + item.setDirty(true); + reserved.add(item); + plobj.reserveItems.add(item); + } + } + + long maxId = 0L; + plobj.startTransaction(); + + try { + Iterator iter = deletes.entrySet().iterator(); + + while(iter.hasNext()) { + Entry delete = (Entry)iter.next(); + long itemId = delete.getKey(); + int count = delete.getValue(); + Item item = plobj.items.get(itemId); + if (count != 0 && count != item.getCount()) { + item.incCount(-count); + item.setDirty(true); + plobj.updateItems(item); + } else if (item.isTransient()) { + this.removeItem(plobj, item); + } else { + deleteItems.add(itemId); + } + } + + iter = reserved.iterator(); + + while(iter.hasNext()) { + Item item = (Item)iter.next(); + original = item.getOriginal(this._cfgmgr); + if (original.maxStack > 1) { + oitem = this.getSimilarItem(plobj, item); + if (oitem != null) { + oitem.incCount(item.getCount()); + oitem.setDirty(true); + plobj.reserveItems.remove(item); + if (plobj.items.contains(oitem)) { + plobj.updateItems(oitem); + } + + item = null; + iter.remove(); + created.add(oitem); + maxId = Math.max(maxId, oitem.getItemId()); + } + } + + if (item != null) { + if (original.isTransient() || plobj.bagId <= 0) { + if (!this.autoEquipTransientItem(plobj, item, original.getAutoEquipSlot(), true)) { + item.setItemId(--this._lastTransientItemId); + plobj.addToItems(item); + } + + plobj.reserveItems.remove(item); + iter.remove(); + } + + created.add(item); + } + } + } finally { + plobj.commitTransaction(); + } + + final ArrayList items = Lists.newArrayList(created); + if (deleteItems.isEmpty() && reserved.isEmpty()) { + if (items.isEmpty() && failedUnique) { + rl.requestFailed(new InvocationException("m.inventory_full")); + return false; + } else { + rl.requestCompleted(items); + return true; + } + } else { + long finalMaxId = maxId; + this._invoker.postUnit(new RepositoryListenerUnit>("createAndDeleteItems", rl) { + public List invokePersistResult() throws Exception { + ItemManager.this._itemrepo.deleteItems(deleteItems); + Iterator i$ = items.iterator(); + + while(i$.hasNext()) { + Item item = (Item)i$.next(); + if (item.getItemId() == 0L) { + ItemManager.this._itemrepo.assignItemId(item, plobj.bagId); + } + } + + return items; + } + + public void handleSuccess() { + if (!plobj.isActive()) { + super.handleSuccess(); + } else { + plobj.startTransaction(); + + try { + Iterator i$ = deleteItems.iterator(); + + while(i$.hasNext()) { + long itemId = (Long)i$.next(); + if (itemId > 0L) { + plobj.removeFromItems(itemId); + } + + int eslot = plobj.getEquipmentIndex(itemId); + if (eslot > -1) { + plobj.setEquipmentAt(0L, eslot); + } + } + + i$ = items.iterator(); + + while(i$.hasNext()) { + Item item = (Item)i$.next(); + if (item.getItemId() > finalMaxId) { + plobj.addToItems(item); + } + } + + ItemManager.this.ensureEquipped(plobj); + } finally { + plobj.commitTransaction(); + } + + super.handleSuccess(); + } + } + + public void handleResult() { + super.handleResult(); + plobj.reserveItems.removeAll(reserved); + } + }); + return true; + } + } + } + + public boolean createAndEquipTransientItem(PlayerObject plobj, ConfigReference ref, int slot) { + Item item = this.createItem(ref); + return item != null && this.autoEquipTransientItem(plobj, item, slot, false); + } + + public boolean autoEquipTransientItem(PlayerObject plobj, Item item, int slot, boolean force) { + Original original = item.getOriginal(this._cfgmgr); + if (!original.isEquippable(slot)) { + return false; + } else { + Party party = Party + .getParty(plobj); + if (party == null) { + return false; + } else { + Item oitem = plobj.getEquipmentItem(slot); + if (!force && oitem != null) { + Original ooriginal = oitem.getOriginal(this._cfgmgr); + if (original instanceof Dungeon + && ooriginal instanceof Dungeon && ((Dungeon)ooriginal).count >= ((Dungeon)original).count) { + return false; + } + } + + item.setItemId(--this._lastTransientItemId); + plobj.startTransaction(); + + try { + plobj.addToItems(item); + if (oitem != null) { + plobj.removeFromItems(oitem.getKey()); + } + + plobj.setEquipmentAt(item.getItemId(), slot); + party.updateHealthBonus(plobj); + } finally { + plobj.commitTransaction(); + } + + if (oitem != null) { + PlaceManager placemgr = this._plreg.getPlaceManager(plobj.getPlaceOid()); + if (!(placemgr instanceof ThetyaSceneManager)) { + Log.log.warning("Tried to drop item in invalid place.", "who", plobj.who(), "where", + placemgr == null ? null : placemgr.where()); + return true; + } + + ThetyaSceneManager scenemgr = (ThetyaSceneManager)placemgr; + if (!scenemgr.canDropItem(plobj, oitem)) { + Log.log.warning("Can't drop item in scene,", "who", plobj.who(), "where", + scenemgr.where()); + return true; + } + + scenemgr.dropItem(plobj, oitem); + } + + return true; + } + } + } + + protected Item createTransientItem(String config) { + return this.createTransientItem(new ConfigReference<>(config)); + } + + protected Item createTransientItem(String config, String firstName, Object firstValue, Object... otherArgs) { + return this.createTransientItem(new ConfigReference<>(config, firstName, firstValue, otherArgs)); + } + + protected Item createTransientItem(ConfigReference ref) { + Item item = this.createItem(ref); + if (item != null) { + item.setItemId(--this._lastTransientItemId); + } + + return item; + } + + public void getItems(PlayerObject player, Class clazz, List results) { + for (Item item : player.items) { + if (item.getOriginal(this._cfgmgr).getClass() == clazz) { + results.add(item); + } + } + + } + + public void removeItem(PlayerObject plobj, Item item) { + int equipmentIdx = plobj.getEquipmentIndex(item); + plobj.startTransaction(); + + try { + if (equipmentIdx != -1) { + plobj.setEquipmentAt(0L, equipmentIdx); + Party party = Party + .getParty(plobj); + if (party != null) { + party.updateHealthBonus(plobj); + } + } + + plobj.removeFromItems(item.getItemId()); + } finally { + plobj.commitTransaction(); + } + + } + + public void useItem(PlayerObject plobj, long itemId) { + this.useItem(plobj, itemId, (new NOOP<>())); + } + + protected void useItem(PlayerObject plobj, long itemId, ResultListener rl) { + Item item = (Item)plobj.items.get(itemId); + if (item == null) { + if (itemId > 0L) { + Log.log.warning("Missing item to use.", "who", plobj.who(), "itemId", itemId); + rl.requestFailed(new InvocationException("m.internal_error")); + } else { + rl.requestCompleted(null); + } + + } else { + String cname = item.getOriginal(this._cfgmgr).getUseLogicClassName(); + if (cname == null) { + Log.log.warning("Item is not usable.", "who", plobj.who(), "item", item); + rl.requestFailed(new InvocationException("m.internal_error")); + } else { + UseLogic logic; + try { + logic = (UseLogic)this._injector.getInstance(Class.forName(cname)); + } catch (Exception var9) { + Log.log.warning("Failed to instantiate use logic.", "who", plobj.who(), "item", item, + var9); + rl.requestFailed(new InvocationException("m.internal_error")); + return; + } + + logic.use(plobj, item, rl); + } + } + } + + public void moveItem(ClientObject caller, long itemId, int index, ConfirmListener cl) throws InvocationException { + PlayerObject plobj = (PlayerObject)caller; + Item item = plobj.items.get(itemId); + if (item == null) { + Log.log.warning("Missing item to move.", "who", plobj.who(), "itemId", itemId); + throw new InvocationException("m.internal_error"); + } else if (item.isCursed()) { + Log.log.warning("Tried to move cursed item", "who", plobj.who(), "itemId", itemId); + throw new InvocationException("m.internal_error"); + } else { + Original original = item.getOriginal(this._cfgmgr); + if (!original.isValidIndex(index)) { + Log.log.warning("Tried to move item to illegal index.", "who", plobj.who(), "index", index); + throw new InvocationException("m.internal_error"); + } else { + int eslot = plobj.getEquipmentIndex(item); + if (eslot != -1) { + if (IntListUtil.contains(UNREMOVABLE_SLOTS, eslot)) { + Log.log.warning("Tried to remove from unremovable slot.", "who", plobj.who(), "slot", + eslot); + throw new InvocationException("m.internal_error"); + } + + this.ensureCanEquip(plobj, Party.getParty(plobj)); + } + + int idx = item.getIndex(); + if (index == -1) { + if (idx == -1 && eslot == -1) { + cl.requestProcessed(); + } else { + plobj.startTransaction(); + + try { + if (original.maxStack > 1) { + + for (Item oitem : plobj.items) { + if (oitem.getIndex() == -1 && !plobj.isEquipped(oitem) && item + .isEquivalent(oitem)) { + oitem.incCount(item.getCount()); + oitem.setDirty(true); + plobj.updateItems(oitem); + plobj.removeFromItems(item.getKey()); + item = null; + break; + } + } + } + + if (item != null) { + item.setIndex(index); + item.setDirty(true); + plobj.updateItems(item); + } + + if (eslot != -1) { + plobj.setEquipmentAt(0L, eslot); + } + } finally { + plobj.commitTransaction(); + } + + cl.requestProcessed(); + } + } else { + Item oitem = null; + if (original.isValidIndex(idx) && eslot == -1) { + oitem = plobj.getItem(index); + } + + if (oitem != null) { + if (oitem.isCursed()) { + Log.log.warning("Tried to place item in cursed index.", new Object[]{"who", plobj.who(), "item", item, "index", index}); + throw new InvocationException("m.internal_error"); + } + + if (!oitem.getOriginal(this._cfgmgr).isValidIndex(idx) || oitem.getCount() >= original.maxStack && item.isEquivalent(oitem)) { + oitem = null; + } + } + + if (oitem == null && index >= 0) { + index = this.getFirstAvailableIndex(plobj, index, item); + if (index == -2) { + Log.log.warning("Tried to put item into full inventory.", new Object[]{"who", plobj.who(), "index", index}); + throw new InvocationException("m.internal_error"); + } + + oitem = plobj.getItem(index); + } + + plobj.startTransaction(); + + try { + if (oitem != null) { + if (original.maxStack > 1 && item.isEquivalent(oitem)) { + int move = Math.min(original.maxStack - oitem.getCount(), item.getCount()); + oitem.incCount(move); + oitem.setDirty(true); + plobj.updateItems(oitem); + if (move == item.getCount()) { + plobj.removeFromItems(item.getKey()); + item = null; + } else { + oitem.incCount(-move); + index = idx; + } + } else { + oitem.setIndex(idx); + oitem.setDirty(true); + plobj.updateItems(oitem); + } + } + + if (item != null) { + item.setIndex(index); + item.setDirty(true); + plobj.updateItems(item); + } + + if (eslot != -1) { + plobj.setEquipmentAt(0L, eslot); + } + } finally { + plobj.commitTransaction(); + } + + cl.requestProcessed(); + } + } + } + } + + public void equipItem(ClientObject caller, long itemId, int slot, ConfirmListener cl) throws InvocationException { + PlayerObject plobj = (PlayerObject)caller; + Item item = plobj.items.get(itemId); + if (item == null) { + Log.log.warning("Missing item to equip.", "who", plobj.who(), "itemId", itemId); + throw new InvocationException("m.internal_error"); + } else if (item.isCursed()) { + Log.log.warning("Tried to equip cursed item.", "who", plobj.who(), "itemId", itemId); + throw new InvocationException("m.internal_error"); + } else if (!plobj.gearQualifies(this._cfgmgr, item, slot)) { + Log.log.warning("Tried to equip unqualified gear.", "who", plobj.who(), "item", item, "slot", + slot, "signups", plobj.pvpSignups); + throw new InvocationException("m.internal_error"); + } else { + Original original = item.getOriginal(this._cfgmgr); + if (plobj.isEquippable(slot) && original.isEquippable(slot)) { + Item oitem = plobj.getEquipmentItem(slot); + int oslot = plobj.getEquipmentIndex(item); + boolean olock = IntListUtil.contains(UNREMOVABLE_SLOTS, oslot); + boolean slock = IntListUtil.contains(UNREMOVABLE_SLOTS, slot); + Party party = Party + .getParty(plobj); + if (oslot == -1 || olock || slock) { + this.ensureCanEquip(plobj, party); + } + + if (oitem != null && oitem.isCursed()) { + Log.log.warning("Tried to equip item into cursed slot.", "who", plobj.who(), "slot", slot); + throw new InvocationException("m.internal_error"); + } else { + boolean swap = oitem != null && oslot != -1 && oitem.getOriginal(this._cfgmgr).isEquippable(oslot); + if (olock && !swap) { + Log.log.warning("Tried to move equipped item from unremoveable slot.", "who", plobj.who(), + "oslot", oslot); + throw new InvocationException("m.internal_error"); + } else { + plobj.startTransaction(); + + try { + if (!item.isLocked() && original instanceof Level && ((Level)original).lockOnEquip) { + item.setLocked(true); + item.setDirty(true); + plobj.updateItems(item); + } + + plobj.setEquipmentAt(item.getItemId(), slot); + if (oslot != -1) { + plobj.setEquipmentAt(swap ? oitem.getItemId() : 0L, oslot); + } + + if (oitem != null && !swap) { + int from = 0; + if (oslot == -1) { + from = item.getIndex(); + } + + oitem.setIndex(-1); + if (from > -1) { + oitem.setIndex(this.getFirstAvailableIndex(plobj, 0, oitem)); + } + + oitem.setDirty(true); + plobj.updateItems(oitem); + } + + if (party != null) { + party.updateHealthBonus(plobj); + } + } finally { + plobj.commitTransaction(); + } + + cl.requestProcessed(); + } + } + } else { + Log.log.warning("Tried to equip item in invalid slot.", "who", plobj.who(), "item", item, + "slot", slot); + throw new InvocationException("m.internal_error"); + } + } + } + + public void useItem(ClientObject caller, long itemId, ConfirmListener cl) throws InvocationException { + PlayerObject plobj = (PlayerObject)caller; + this.useItem(plobj, itemId, new ConfirmAdapter(cl)); + } + + public void dropItem(ClientObject caller, long itemId, ConfirmListener cl) throws InvocationException { + PlayerObject plobj = (PlayerObject)caller; + this.dropItem(plobj, itemId, new ConfirmAdapter(cl)); + } + + protected void dropItem(PlayerObject plobj, long itemId) { + this.dropItem(plobj, itemId, new NOOP<>()); + } + + protected void dropItem(final PlayerObject plobj, long itemId, ResultListener rl) { + final Item item = plobj.items.get(itemId); + if (item == null) { + Log.log.warning("Missing item to drop.", "who", plobj.who(), "itemId", itemId); + rl.requestFailed(new InvocationException("m.internal_error")); + } else { + int slot = plobj.getEquipmentIndex(item); + if (IntListUtil.contains(UNREMOVABLE_SLOTS, slot)) { + Log.log.warning("Tried to drop unremovable item.", "who", plobj.who(), "item", item); + rl.requestFailed(new InvocationException("m.internal_error")); + } else if (!item.canDrop()) { + Log.log.warning("Tried to drop undroppable item.", "who", plobj.who(), "item", item); + rl.requestFailed(new InvocationException("m.internal_error")); + } else if (item.isCursed()) { + Log.log.warning("Tried to drop cursed item.", "who", plobj.who(), "item", item); + rl.requestFailed(new InvocationException("m.internal_error")); + } else { + PlaceManager placemgr = this._plreg.getPlaceManager(plobj.getPlaceOid()); + if (!(placemgr instanceof ThetyaSceneManager)) { + Log.log.warning("Tried to drop item in invalid place.", "who", plobj.who(), "where", + placemgr); + rl.requestFailed(new InvocationException("m.internal_error")); + } else { + final ThetyaSceneManager scenemgr = (ThetyaSceneManager)placemgr; + if (!scenemgr.canDropItem(plobj, item)) { + Log.log.warning("Can't drop item in scene,", "who", plobj.who(), "where", + scenemgr.where()); + rl.requestFailed(new InvocationException("m.internal_error")); + } else { + ChainedResultListener crl = new ChainedResultListener(rl) { + public void requestCompleted(Void result) { + scenemgr.dropItem(plobj, item, 1); + this._target.requestCompleted(result); + } + }; + this.deleteItem(plobj, itemId, 1, crl); + } + } + } + } + } + + protected int getFirstAvailableIndex(PlayerObject player, int from, Item item) { + return this.getFirstAvailableIndex(player, from, item, null); + } + + protected int getFirstAvailableIndex(PlayerObject player, int from, Item item, Map ignore) { + if (ignore == null) { + ignore = Collections.emptyMap(); + } + + Original config = item.getOriginal(this._cfgmgr); + int maxStack = config.maxStack; + int minIndex = 2000; + int maxItems = 4; + if (config.isValidIndex(3000)) { + return 3000; + } else if (!config.isQuickbar()) { + return -1; + } else { + int maxIndex = minIndex + maxItems - 1; + BitSet taken = new BitSet(); + IntIntMap stackSizes = null; + if (maxStack > 1) { + stackSizes = new IntIntMap(); + } + + Iterator i$ = player.items.iterator(); + + Item oitem; + int idx; + while(i$.hasNext()) { + oitem = i$.next(); + idx = oitem.getIndex(); + if (oitem.getItemId() != item.getItemId() && idx >= minIndex && idx <= maxIndex && !player.isEquipped(oitem)) { + Integer count = ignore.get(oitem.getItemId()); + int offset = count == null ? 0 : (count == 0 ? oitem.getCount() : count); + if (oitem.getCount() != offset) { + taken.set(idx - minIndex); + if (maxStack > 1 && item.isEquivalent(oitem)) { + stackSizes.increment(idx, oitem.getCount() - offset); + } + } + } + } + + i$ = player.reserveItems.iterator(); + + while(i$.hasNext()) { + oitem = i$.next(); + idx = oitem.getIndex(); + if (idx >= minIndex && idx <= maxIndex) { + taken.set(idx - minIndex); + if (maxStack > 1 && item.isEquivalent(oitem)) { + stackSizes.increment(idx, oitem.getCount()); + } + } + } + + if (maxStack > 1) { + int[] arr$$ = stackSizes.getKeys(); + int len$$ = arr$$.length; + int i$$ = 0; + if (i$$ < len$$) { + idx = arr$$[i$$]; + if (stackSizes.get(idx) < maxStack) { + return idx; + } + + return -2; + } + } + + if (from >= minIndex) { + from -= minIndex; + } + + idx = taken.nextClearBit(from); + if (idx >= maxItems && from > 0) { + idx = taken.nextClearBit(0); + } + + return idx < maxItems ? idx + minIndex : -2; + } + } + + public void applyHeat(PlayerObject plobj, float heat) { + List equipped = Lists.newArrayList(); + + int size; + for(size = 0; size < HEAT_SLOTS.length; ++size) { + LevelItem item = plobj.getEquipmentItem(HEAT_SLOTS[size]); + if (item != null && !item.isMaxHeat(this._cfgmgr)) { + equipped.add(item); + } + } + + size = equipped.size(); + if (size > 0) { + LevelParty party = LevelParty + .getParty(plobj); + plobj.startTransaction(); + + try { + float each = heat / (float)size; + + for (LevelItem item : equipped) { + item.addHeat(each, this._cfgmgr); + plobj.updateItems(item); + } + + if (party != null) { + party.updateHealthBonus(plobj); + } + } finally { + plobj.commitTransaction(); + } + } + + } + + public void setLevel(PlayerObject plobj, int slot, int level, ResultListener rl) { + LevelItem item = plobj.getEquipmentItem(slot); + if (item != null) { + item.setLevel(this._cfgmgr, level); + plobj.updateItems(item); + rl.requestCompleted(null); + } else { + rl.requestFailed(new InvocationException("m.internal_error")); + } + } + + public void setHeat(PlayerObject plobj, int slot, int heat, ResultListener rl) { + LevelItem item = plobj.getEquipmentItem(slot); + if (item != null) { + item.setHeat((float)heat); + plobj.updateItems(item); + rl.requestCompleted(null); + } else { + rl.requestFailed(new InvocationException("m.internal_error")); + } + } + + public void clearVariants(PlayerObject plobj, int slot, ResultListener rl) { + LevelItem item = plobj.getEquipmentItem(slot); + if (item != null) { + item.setVariants(null); + plobj.updateItems(item); + rl.requestCompleted(null); + } else { + rl.requestFailed(new InvocationException("m.internal_error")); + } + } + + public void addVariant(PlayerObject plobj, int slot, String variant, ResultListener rl) { + LevelItem item = plobj.getEquipmentItem(slot); + ConfigReference ref = new ConfigReference<>(variant); + if (item != null && this._cfgmgr.getConfig(VariantConfig.class, ref) != null) { + ConfigReference[] oldConfigs = item.getVariants(); + ConfigReference[] newConfigs = new ConfigReference[1 + (oldConfigs == null ? 0 : oldConfigs.length)]; + if (oldConfigs != null) { + System.arraycopy(oldConfigs, 0, newConfigs, 0, oldConfigs.length); + } + + newConfigs[newConfigs.length - 1] = ref; + item.setVariants(newConfigs); + plobj.updateItems(item); + rl.requestCompleted(null); + } else { + rl.requestFailed(new InvocationException("m.internal_error")); + } + } + + protected boolean grantPass(PlayerObject plobj, ConfigReference ref) { + ItemConfig config = this._cfgmgr.getConfig(ItemConfig.class, ref); + TownPass pass = config == null ? null : (TownPass)config.getOriginal(this._cfgmgr); + if (pass == null) { + Log.log.warning("Tried to grant invalid pass", "who", plobj.who(), "ref", ref); + return false; + } else { + Item item = plobj.getItem(ref); + if (item != null) { + item.setExpire(Calendars.now().addDays(pass.days).toTime()); + plobj.updateItems(item); + return false; + } else { + return this.createItem(plobj, ref); + } + } + } + + public void useTownPass(PlayerObject plobj, ConfigReference ref, ConfirmListener cl) { + Item pass = plobj.getItem(ref); + if (pass == null) { + Log.log.warning("Tried to use missing town pass", "who", plobj.who(), "ref", ref); + cl.requestFailed("m.internal_error"); + } else { + this.useTownPass(plobj, pass, new ConfirmAdapter(cl)); + } + } + + public void useTownPass(PlayerObject plobj, Item item, ResultListener rl) { + TownPass pass = (TownPass)item.getOriginal(this._cfgmgr); + if (plobj.crowns < pass.cost) { + rl.requestFailed(new InvocationException("m.nsf_crowns")); + } else { + String result = this._townmgr.moveToTown(plobj, pass.town); + if (result != null && !result.equals("m.already_in_town")) { + Log.log.warning("Player failed to move to town", "who", plobj.who(), "town", pass.town, + "result", result); + rl.requestFailed(new InvocationException(result)); + } else { + if (result == null) { + plobj.adjustCrowns(-pass.cost); + } + + rl.requestCompleted(null); + } + } + } + + public void activateUpgrade(PlayerObject plobj, long itemId, ResultListener rl) { + Item item = plobj.items.get(itemId); + if (item == null) { + Log.log.warning("Missing item to activate.", "who", plobj.who(), "itemId", itemId); + rl.requestFailed(new InvocationException("m.internal_error")); + } else if (!(item instanceof UpgradeItem)) { + Log.log.warning("Tried to activate non-upgrade item.", "who", plobj.who(), "item", item); + rl.requestFailed(new InvocationException("m.internal_error")); + } else { + UpgradeItem ui = (UpgradeItem)item; + if (ui.isLocked()) { + Log.log.warning("Tried to activate already active upgrade.", "who", plobj.who(), "ui", ui); + rl.requestFailed(new InvocationException("m.internal_error")); + } else { + Upgrade upgrade = (Upgrade)ui.getOriginal(this._cfgmgr); + if (!upgrade.canBeApplied(plobj)) { + Log.log.warning("Upgrade cannot be applied to player.", "who", plobj.who(), "upgrade", + upgrade); + rl.requestFailed(new InvocationException("m.internal_error")); + } else { + ui.setExpire(Calendars.now().addDays(upgrade.days).toTime()); + ui.setLocked(true); + plobj.updateItems(ui); + this.applyUpgrades(plobj); + //this._evlog.log(new com.threerings.projectx.server.ProjectXEvent.Upgrade(plobj.playerId, item.getConfig().getName())); + rl.requestCompleted(null); + } + } + } + } + + public void extendUpgrade(ClientObject caller, long itemId, long upgradeId, ConfirmListener cl) throws InvocationException { + PlayerObject plobj = (PlayerObject)caller; + this.extendUpgrade(plobj, itemId, upgradeId, new ConfirmAdapter(cl)); + } + + protected void extendUpgrade(final PlayerObject plobj, long itemId, long upgradeId, ResultListener rl) { + Item item = plobj.items.get(itemId); + Item oitem = plobj.items.get(upgradeId); + if (item != null && oitem != null) { + if (item instanceof UpgradeItem && oitem instanceof UpgradeItem) { + final UpgradeItem ui = (UpgradeItem)item; + if (ui.isLocked()) { + Log.log.warning("Tried to extend with already active upgrade.", "who", plobj.who(), "ui", + ui); + rl.requestFailed(new InvocationException("m.internal_error")); + } else { + final UpgradeItem oui = (UpgradeItem)oitem; + if (!oui.isLocked()) { + Log.log.warning("Tried to extend unused upgrade.", "who", plobj.who(), "oui", oui); + rl.requestFailed(new InvocationException("m.internal_error")); + } else { + Upgrade upgrade = (Upgrade)ui.getOriginal(this._cfgmgr); + Upgrade oupgrade = (Upgrade)oui.getOriginal(this._cfgmgr); + if (!upgrade.canExtend(oupgrade)) { + Log.log.warning("Upgrade cannot extend other upgrade.", "who", plobj.who(), "upgrade", + upgrade, "oupgrade", oupgrade); + rl.requestFailed(new InvocationException("m.internal_error")); + } else { + final int days = upgrade.days; + ResultListener crl = new ChainedResultListener(rl) { + public void requestCompleted(Void result) { + oui.setExpire(Calendars.at(oui.getExpire()).addDays(days).toTime()); + plobj.startTransaction(); + + try { + plobj.updateItems(oui); + plobj.removeFromItems(ui.getKey()); + } finally { + plobj.commitTransaction(); + } + + this._target.requestCompleted(result); + } + }; + this.deleteItem(plobj, itemId, crl); + } + } + } + } else { + Log.log.warning("Tried to extend non-upgrade item.", "who", plobj.who(), "item", item, + "oitem", oitem); + rl.requestFailed(new InvocationException("m.internal_error")); + } + } else { + Log.log.warning("Missing upgrade to extend.", "who", plobj.who(), "itemId", itemId, + "upgradeId", upgradeId); + rl.requestFailed(new InvocationException("m.internal_error")); + } + } + + public void applyUpgrades(PlayerObject plobj) { + Set removals = null; + int trinketSlots = 0; + int weaponSlots = 2; + long now = System.currentTimeMillis(); + Iterator i$ = plobj.items.iterator(); + + Item item; + while(i$.hasNext()) { + item = (Item)i$.next(); + boolean isUpgrade = item instanceof UpgradeItem; + if (item.hasExpired(now) && (!isUpgrade || item.isLocked())) { + if (removals == null) { + removals = Sets.newHashSet(); + } + + removals.add(item); + } else if (item.isLocked() && isUpgrade) { + Upgrade upgrade = (Upgrade)item.getOriginal(this._cfgmgr); + trinketSlots += upgrade.trinketSlotBonus; + weaponSlots += upgrade.weaponSlotBonus; + } + } + + trinketSlots = Math.min(TRINKET_SLOTS.length, trinketSlots); + weaponSlots = Math.min(WEAPON_SLOTS.length, weaponSlots); + Log.log.debug("Upgrades applied", "trinketSlots", trinketSlots, "weaponSlots", weaponSlots); + plobj.startTransaction(); + + try { + plobj.setTrinketSlots(trinketSlots); + plobj.setWeaponSlots(weaponSlots); + int ii = trinketSlots; + + while(true) { + if (ii >= TRINKET_SLOTS.length) { + for(ii = weaponSlots; ii < WEAPON_SLOTS.length; ++ii) { + this.forceRemoveItem(plobj, WEAPON_SLOTS[ii]); + } + + if (removals != null) { + i$ = removals.iterator(); + + while(i$.hasNext()) { + item = (Item)i$.next(); + plobj.removeFromItems(item.getKey()); + plobj.addToNotifications(new ItemExpired(item)); + } + } + + this.ensureEquipped(plobj); + break; + } + + this.forceRemoveItem(plobj, TRINKET_SLOTS[ii]); + ++ii; + } + } finally { + plobj.commitTransaction(); + } + + if (removals != null) { + final List deletedIds = removals.stream().map(Item.ITEM_TO_ID::apply) + .collect(Collectors.toList()); + this._invoker.postUnit(new WriteOnlyUnit("deleteExpiredItems") { + public void invokePersist() throws Exception { + ItemManager.this._itemrepo.deleteItems(deletedIds); + } + }); + } + } + + public void deletePendingItems(PlayerObject plobj, final Map items, ResultListener rl) { + if (items.size() == 0) { + rl.requestCompleted(null); + } else { + this.createAndDeleteItems(plobj, null, items, new ChainedResultListener, Void>(rl) { + public void requestCompleted(List result) { + this._target.requestCompleted(null); + ItemManager.this._invoker.postUnit(new WriteOnlyUnit("removePendingDeletions") { + public void invokePersist() { + ItemManager.this._itemrepo.removePendingDeletions(items.keySet()); + } + }); + } + }); + } + } + + public void activateEnergyItem(final PlayerObject plobj, long itemId, ResultListener rl) { + Item item = plobj.items.get(itemId); + if (item == null) { + Log.log.warning("Missing item to activate.", "who", plobj.who(), "itemId", itemId); + rl.requestFailed(new InvocationException("m.internal_error")); + } else { + Original original = item.getOriginal(this._cfgmgr); + if (original instanceof Energy) { + final int mist = ((Energy)original).mist; + ResultListener crl = new ChainedResultListener(rl) { + public void requestCompleted(Void result) { + plobj.addVapor(System.currentTimeMillis(), mist); + final String machIdent = plobj.getMachineIdent(); + if (machIdent != null) { + ItemManager.this._invoker.postUnit(new Unit("Update vapor stamp") { + public boolean invoke() { + ItemManager.this._identrepo.updateVaporStamp(machIdent, plobj.machineVaporStamp, true); + return false; + } + }); + } + + //ItemManager.this._evlog.log(new EnergyItem(plobj.playerId, mist, 0)); + this._target.requestCompleted(result); + } + }; + this.deleteItem(plobj, itemId, crl); + } else { + Log.log.warning("Tried to activate non-energy item.", "who", plobj.who(), "item", item); + rl.requestFailed(new InvocationException("m.internal_error")); + } + } + } + + public void unstackItems(PlayerObject plobj, List items) { + Map invItems = Maps.newHashMap(); + Map, Item> arsItems = Maps.newHashMap(); + final List deletedItems = Lists.newArrayList(); + Iterator iter = items.iterator(); + + Item item; + do { + if (!iter.hasNext()) { + if (!deletedItems.isEmpty()) { + this._invoker.postUnit(new WriteOnlyUnit("unstackItems") { + public void invokePersist() throws Exception { + ItemManager.this._itemrepo.deleteItems(deletedItems); + } + }); + } + + return; + } + + item = (Item)iter.next(); + if (item.getCount() == 0) { + item.incCount(1); + item.setDirty(true); + } + } while(plobj.isEquipped(item)); + + Original original = item.getOriginal(this._cfgmgr); + if (original != ItemConfig.NULL_ORIGINAL && item.getIndex() <= 0) { + Item aitem; + if (item.getIndex() != -1) { + aitem = invItems.get(item.getIndex()); + if (aitem == null) { + invItems.put(item.getIndex(), item); + } else if (!item.isEquivalent(aitem) && aitem.getCount() < original.maxStack) { + aitem.incCount(1); + deletedItems.add(item.getItemId()); + iter.remove(); + } else { + item.setIndex(-1); + item.setDirty(true); + } + } + + if (item.getIndex() == -1 && original.maxStack != 1) { + aitem = arsItems.get(item.getConfig()); + if (aitem == null) { + arsItems.put(item.getConfig(), item); + } else { + aitem.incCount(1); + deletedItems.add(item.getItemId()); + iter.remove(); + } + } + } else { + deletedItems.add(item.getItemId()); + iter.remove(); + } + } + + public void activateItems(List items, PlayerObject plobj) { + Iterator iter = items.iterator(); + + while(iter.hasNext()) { + Item item = (Item)iter.next(); + Original original = item.getOriginal(this._cfgmgr); + if (original == ItemConfig.NULL_ORIGINAL) { + iter.remove(); + } else if (item instanceof SeedItem) { + ((SeedItem)item).setSeed(original.getSeed()); + } + } + + this.unstackItems(plobj, items); + } + + protected void ensureCanEquip(PlayerObject plobj, Party party) throws InvocationException { + if (!plobj.tokens.isSupportPlus()) { + if (party != null && (!(party instanceof LevelParty) || !((LevelParty)party).getPartyObject().free)) { + Log.log.warning("Non-admin tried to equip/unequip item in dungeon.", "who", plobj.who()); + throw new InvocationException("m.internal_error"); + } + } + } + + protected boolean validateItemDeletions(PlayerObject plobj, Map deletes, ResultListener> rl) { + boolean fail = false; + + for (Entry entry : deletes.entrySet()) { + Item item = plobj.items.get(entry.getKey()); + if (item == null) { + Log.log.warning("Item not found for deletion", "who", plobj.who(), "itemId", entry.getKey(), + "count", entry.getValue()); + fail = true; + } else if (entry.getValue() != 0 && item.getCount() < entry.getValue()) { + Log.log.warning("Item count too low for deletion", "who", plobj.who(), "itemId", + entry.getKey(), + "itemCount", item.getCount(), "count", entry.getValue()); + fail = true; + } else if (item.isPermanent()) { + Log.log.warning("Permanent item cannot be deleted", "who", plobj.who(), "itemId", + item.getItemId()); + fail = true; + } + } + + if (fail) { + rl.requestFailed(new InvocationException("m.internal_error")); + return false; + } + + return true; + } + + protected boolean reserveTransfer(PlayerObject source, Map sourceItems, List sourceReserved, PlayerObject target, Map targetItems, List targetReserved, Set partialTargetIds) { + + for (Entry longIntegerEntry : sourceItems.entrySet()) { + Entry sourceItem = longIntegerEntry; + Item item = source.items.get(sourceItem.getKey()); + int idx = this.getFirstAvailableIndex(target, 0, item, targetItems); + item = item.clone(); + item.setIndex(idx); + item.setDirty(true); + int sourceCount = sourceItem.getValue(); + boolean partial = sourceCount < item.getCount(); + if (partial) { + item.setCount(sourceCount); + } + + Original original = item.getOriginal(this._cfgmgr); + Item oitem = null; + if (original.maxStack > 1) { + oitem = this.getSimilarItem(target, item); + } + + long targetId = 0L; + if (oitem != null) { + targetId = oitem.getItemId(); + partialTargetIds.add(targetId); + } + + TransferReservation tr = new TransferReservation(item, targetId, partial); + targetReserved.add(tr); + target.reserveItems.add(item); + } + + return true; + } + + protected void transientTransfer(PlayerObject source, PlayerObject target, List targetReserved, Set targetIds) { + for(int ii = targetReserved.size() - 1; ii >= 0; --ii) { + ItemManager.TransferReservation tr = targetReserved.get(ii); + Item item = tr.item; + if (targetIds.contains(item.getItemId())) { + tr.partial = true; + } + + if (item.isTransient() || tr.partial && tr.targetId != 0L) { + Item oitem = null; + if (tr.targetId != 0L) { + oitem = target.items.get(tr.targetId); + } + + if (!tr.partial) { + source.removeFromItems(item.getKey()); + } else { + Item sitem = source.items.get(item.getKey()); + if (oitem == null) { + item.setItemId(--this._lastTransientItemId); + } + + sitem.incCount(-item.getCount()); + sitem.setDirty(true); + source.updateItems(sitem); + } + + if (oitem != null) { + oitem.incCount(item.getCount()); + oitem.setDirty(true); + target.updateItems(oitem); + } else { + target.addToItems(item); + } + + targetReserved.remove(ii); + target.reserveItems.remove(item); + } + } + + } + + protected Item createItem(ConfigReference ref) { + ItemConfig config = this._cfgmgr.getConfig(ItemConfig.class, ref); + Original original = config == null ? null : config.getOriginal(this._cfgmgr); + if (original == null) { + Log.log.warning("Tried to create invalid item.", "config", ref); + return null; + } else { + return original.createItem(ref, this._cfgmgr); + } + } + + protected void forceRemoveItem(PlayerObject plobj, int slot) { + if (!plobj.isEquippable(slot)) { + Item item = plobj.getEquipmentItem(slot); + if (item != null && item.getIndex() != -1) { + item.setIndex(-1); + item.setDirty(true); + plobj.updateItems(item); + } + + plobj.setEquipmentAt(0L, slot); + } + + } + + protected Item getSimilarItem(PlayerObject plobj, Item item) { + Original original = item.getOriginal(this._cfgmgr); + Iterator i$ = plobj.items.iterator(); + + Item pitem; + do { + if (!i$.hasNext()) { + i$ = plobj.reserveItems.iterator(); + + do { + if (!i$.hasNext()) { + return null; + } + + pitem = i$.next(); + } while(item == pitem || !original.isValidIndex(pitem.getIndex()) || !pitem.isEquivalent(item)); + + return pitem; + } + + pitem = i$.next(); + } while(!original.isValidIndex(pitem.getIndex()) || !pitem.isEquivalent(item)); + + return pitem; + } + + protected void ensureEquipped(PlayerObject plobj) { + int[] arr$ = UNREMOVABLE_SLOTS; + int len$ = arr$.length; + + for (int slot : arr$) { + if (plobj.getEquipmentItem(slot) == null) { + + for (Item item : plobj.items) { + if (item.isPermanent() && item.getOriginal(this._cfgmgr).isEquippable(slot)) { + plobj.setEquipmentAt(item.getItemId(), slot); + break; + } + } + } + } + + } + + protected static class TransferReservation { + public Item item; + public long targetId; + public long sourceId; + public boolean partial; + + public TransferReservation(Item item, long targetId, boolean partial) { + this.item = item; + this.sourceId = item.getItemId(); + this.targetId = targetId; + this.partial = partial; + } + } + + public interface ItemConfigurator { + ItemManager.ItemConfigurator NOOP = item -> { + }; + + void configure(Item item); + } +} diff --git a/src/com/github/thetya/server/item/ItemProvider.java b/src/com/github/thetya/server/item/ItemProvider.java new file mode 100644 index 0000000..3372225 --- /dev/null +++ b/src/com/github/thetya/server/item/ItemProvider.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.item; + +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationProvider; + +public interface ItemProvider extends InvocationProvider { + + // ID 1 + void deleteItem(ClientObject caller, long itemId, ConfirmListener cl) throws InvocationException; + + // ID 2 + void dropItem(ClientObject caller, long itemId, ConfirmListener cl) throws InvocationException; + + // ID 3 + void equipItem(ClientObject caller, long itemId, int slot, ConfirmListener cl) + throws InvocationException; + + // ID 4 + void extendUpgrade(ClientObject caller, long itemId, long upgradeId, ConfirmListener cl) + throws InvocationException; + + // ID 5 + void moveItem(ClientObject caller, long itemId, int index, ConfirmListener cl) + throws InvocationException; + + // ID 6 + void useItem(ClientObject caller, long itemId, ConfirmListener cl) throws InvocationException; +} diff --git a/src/com/github/thetya/server/item/Log.java b/src/com/github/thetya/server/item/Log.java new file mode 100644 index 0000000..3ebdb7d --- /dev/null +++ b/src/com/github/thetya/server/item/Log.java @@ -0,0 +1,22 @@ +// +// $Id: thetya-server 2020-11-03 18:30 micha $ +// +// Copyright (C) 2013-2020 Thetya Team +// https://github.com/Thetya +// + +package com.github.thetya.server.item; + +import com.samskivert.util.Logger; + +/** + * Contains a reference to the {@link Logger} object used by the item package. + */ +@SuppressWarnings("unused") +public class Log { + + /** + * The {@link Logger} reference. + */ + public static Logger log = Logger.getLogger("com.github.thetya.server.item"); +} diff --git a/src/com/github/thetya/server/ooo/OOOAuthenticator.java b/src/com/github/thetya/server/ooo/OOOAuthenticator.java new file mode 100644 index 0000000..5b9850a --- /dev/null +++ b/src/com/github/thetya/server/ooo/OOOAuthenticator.java @@ -0,0 +1,210 @@ +// +// $Id: thetya-server 2020-11-11 15:20 micha $ +// +// Copyright (C) 2013-2020 Thetya Team +// https://github.com/Thetya +// + +package com.github.thetya.server.ooo; + +import static com.github.thetya.server.Log.log; +import static com.github.thetya.server.ThetyaSession.ThetyaAuthData; + +import com.github.thetya.server.ThetyaAuthenticator; +import com.github.thetya.server.ThetyaClientResolver; +import com.github.thetya.server.admin.ThetyaAdminManager; +import com.github.thetya.server.persist.PlayerRecord; +import com.github.thetya.server.persist.PlayerRepository; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.threerings.presents.net.AuthResponse; +import com.threerings.presents.server.net.AuthingConnection; +import com.threerings.projectx.data.ProjectXAuthResponseData; +import com.threerings.projectx.data.ProjectXCredentials; +import com.threerings.projectx.data.ProjectXTokenRing; +import com.threerings.user.LoginThrottle; +import com.threerings.user.OOOUser; +import com.threerings.user.depot.DepotUserRepository; +import com.threerings.util.MessageBundle; +import com.threerings.util.Name; +import java.net.InetAddress; + +/** + * The authenticator is a pluggable component of the Presents authentication framework. The base + * class handles the basic mechanics of authentication and Thetya extends the base authenticator to + * add code that does the actual client authentication. + *

+ * This authenticator class authenticates our users against a OOOUser database. + */ +@Singleton +public class OOOAuthenticator extends ThetyaAuthenticator { + + /* Dependencies */ + @Inject protected DepotUserRepository _userRepository; + @Inject protected PlayerRepository _playerRepository; + @Inject protected ThetyaAdminManager _adminMgr; + + /** A throttle for failed logins' IP addresses. */ + protected final LoginThrottle _ipThrottle + = new LoginThrottle<>(OOOConfig.getMaxIpLogins(), OOOConfig.getIpTimeout()); + + /** A throttle for failed logins' usernames. */ + protected final LoginThrottle _userThrottle + = new LoginThrottle<>(OOOConfig.getMaxUserLogins(), OOOConfig.getUserTimeout()); + + /** + * Processes the authentication for the specified connection. The method may return after it has + * stuffed a valid response code in responseData.code. + * + * @param connection The client connection. + * @param authResponse The response to the client, which will already contain an AuthResponseData + * created by {@link #createResponseData()}. + */ + @Override + protected void processAuthentication(AuthingConnection connection, AuthResponse authResponse) + throws Exception { + super.processAuthentication(connection, authResponse); + ProjectXAuthResponseData responseData = (ProjectXAuthResponseData) authResponse.getData(); + + // Possible if the super has already authenticated the user, do nothing + if (responseData.code != null) { + return; + } + + // Weird but possible case, can happen during early server init when the player somehow + // accurately logs in when we're not yet fully operational. Drop them with a nice message + if (_userRepository == null) { + log.warning("User repository not initialized while open to authentication!"); + responseData.code = OOOAuthCodes.NETWORK_ERROR; + return; + } + + // Cast to SK-flavored credentials + ProjectXCredentials credentials = (ProjectXCredentials) connection.getAuthRequest() + .getCredentials(); + + // Drop all sega pass auth requests + if (credentials.segaPass) { + responseData.code = OOOAuthCodes.SEGA_PASS_ERROR; + return; + } + + String username = credentials.getUsername().toString(); + InetAddress userInetAddress = connection.getInetAddress(); + String ip = userInetAddress == null ? "" : userInetAddress.getHostAddress(); + + // Throw the spammers off the cliff + if (_ipThrottle.isLoginAttemptBlocked(ip) || _userThrottle + .isLoginAttemptBlocked(username.toLowerCase())) { + responseData.code = OOOAuthCodes.TOO_MANY_ATTEMPTS; + return; + } + + OOOUser user = _userRepository.loadUser(username, true); + + if (user == null) { + responseData.code = OOOAuthCodes.NO_SUCH_USER; + _ipThrottle.noteFailedLogin(ip); + _userThrottle.noteFailedLogin(username.toLowerCase()); + return; + } + + if (!user.password.equals(credentials.getPassword())) { + responseData.code = OOOAuthCodes.INVALID_PASSWORD; + _ipThrottle.noteFailedLogin(ip); + _userThrottle.noteFailedLogin(username.toLowerCase()); + return; + } + + if (!_adminMgr.getServerConfigObject().openToPublic + && !user.holdsToken((byte) 3) + && !user.holdsToken((byte) 4) + && !user.isSupportPlus()) { + responseData.code = OOOAuthCodes.NON_PUBLIC_SERVER; + return; + } + + if (!_adminMgr.getServerConfigObject().nonAdminsAllowed && !user.isSupportPlus()) { + responseData.code = OOOAuthCodes.UNDER_MAINTENANCE; + return; + } + + PlayerRecord player = _playerRepository.loadPlayer(username); + + switch (_userRepository.validateUser(204, user, credentials.ident, player == null)) { + case ACCOUNT_BANNED: // The account is banned permanently + String banReason = (player != null && player.warning != null) ? player.warning : ""; + responseData.code = MessageBundle.tcompose(OOOAuthCodes.BANNED, banReason); + return; + case DEADBEAT: // A reversed payment occurred + responseData.code = OOOAuthCodes.DEADBEAT; + return; + case NEW_ACCOUNT_TAINTED: // Using a machine that was banned before + responseData.code = OOOAuthCodes.MACHINE_TAINTED; + return; + case NO_NEW_FREE_ACCOUNT: // The user cannot create any more free accounts (?) + responseData.code = OOOAuthCodes.NO_NEW_FREE_ACCOUNT; + return; + } + + int tokens = 0; + + // Administrator + if (user.isAdmin()) { + tokens |= 1; + } + + // Customer support member + if (user.isSupport()) { + tokens |= 8; + } + + // Insider + if (user.holdsToken((byte) 3)) { + tokens |= 2; + } + + // Tester + if (user.holdsToken((byte) 4)) { + tokens |= 16; + } + + // Bought energy (coins) before + if (user.hasBoughtCoins()) { + tokens |= 4; + } + + // Construct new Thetyish AuthData for the user with the token ring they should have + authResponse.authdata = new ThetyaAuthData(user.userId, new ProjectXTokenRing(tokens)); + + // And set the auth name so that Narya doesn't go crazy about this connection + connection.setAuthName(new Name(user.username)); + + // Let 'em in + responseData.code = OOOAuthCodes.SUCCESS; + + // Stash the player in the client resolver if they exist in our database + if (player != null) { + ThetyaClientResolver.stashPlayer(player); + } + } + + /** + * Codes and constants relating to the authentication. + */ + private interface OOOAuthCodes { + + String NETWORK_ERROR = "m.network_error"; + String SEGA_PASS_ERROR = "m.sega_pass_error"; + String TOO_MANY_ATTEMPTS = "m.too_many_attempts"; + String NO_SUCH_USER = "m.no_such_user"; + String INVALID_PASSWORD = "m.invalid_password"; + String NON_PUBLIC_SERVER = "m.non_public_server"; + String UNDER_MAINTENANCE = "m.under_maintenance"; + String BANNED = "m.banned"; + String DEADBEAT = "m.deadbeat"; + String MACHINE_TAINTED = "m.machine_tainted"; + String NO_NEW_FREE_ACCOUNT = "m.no_new_free_account"; + String SUCCESS = "success"; + } +} diff --git a/src/com/github/thetya/server/ooo/OOOConfig.java b/src/com/github/thetya/server/ooo/OOOConfig.java new file mode 100644 index 0000000..a9d33ad --- /dev/null +++ b/src/com/github/thetya/server/ooo/OOOConfig.java @@ -0,0 +1,75 @@ +// +// $Id: thetya-server 2020-11-18 22:01 michael $ +// +// Copyright (C) 2013-2020 Thetya Team +// https://github.com/Thetya +// + +package com.github.thetya.server.ooo; + +import com.samskivert.util.Config; +import java.util.Properties; + +/** + * Configuration for Three Rings services. + */ +public class OOOConfig { + + /** + * The config object. + */ + private static final Config CONFIG = new Config("threerings"); + + /** + * Returns max subsequent failed logins for an IP address to perform. + */ + public static int getMaxIpLogins() { + return CONFIG.getValue("throttle.ip.maxlogins", 3); + } + + /** + * Returns the time period after which the throttle allows the IP address to log on again + * (in milliseconds). + */ + public static long getIpTimeout() { + return CONFIG.getValue("throttle.ip.timeout", 120000L); + } + + /** + * Returns the time period after which the throttle allows the given username to log on again + * (in milliseconds). + */ + public static int getMaxUserLogins() { + return CONFIG.getValue("throttle.user.maxlogins", 5); + } + + /** + * Returns max subsequent failed logins for a given username to perform. + */ + public static long getUserTimeout() { + return CONFIG.getValue("throttle.user.timeout", 120000L); + } + + /** + * Returns the mail configuration for the invitation service. + */ + public static Properties getMailConfig() { + Properties properties = new Properties(); + + String username = CONFIG.getValue("smtp.username", (String) null); + String password = CONFIG.getValue("smtp.password", (String) null); + + if (username != null && password != null) { + properties.put("mail.smtp.starttls.enable", "true"); + properties.put("mail.smtp.auth", "true"); + properties.put("mail.smtp.username", username); + properties.put("mail.smtp.password", password); + } + + String host = CONFIG.getValue("smtp.host", (String) null); + properties.put("mail.transport.protocol", "smtp"); + properties.put("mail.smtp.host", host == null ? "localhost" : host); + + return properties; + } +} diff --git a/src/com/github/thetya/server/ooo/OOOInvitationManager.java b/src/com/github/thetya/server/ooo/OOOInvitationManager.java new file mode 100644 index 0000000..46d083c --- /dev/null +++ b/src/com/github/thetya/server/ooo/OOOInvitationManager.java @@ -0,0 +1,151 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.ooo; + +import static com.github.thetya.server.Log.log; + +import com.github.thetya.server.InvitationProvider; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.samskivert.depot.PersistenceContext; +import com.samskivert.jdbc.ConnectionProvider; +import com.samskivert.util.Invoker; +import com.samskivert.util.ResultListener; +import com.samskivert.velocity.VelocityUtil; +import com.threerings.presents.annotation.MainInvoker; +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationManager; +import com.threerings.projectx.data.InvitationMarshaller; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.util.DeploymentConfig; +import com.threerings.user.depot.InvitationRepository; +import java.util.Properties; +import javax.mail.Authenticator; +import javax.mail.PasswordAuthentication; +import javax.mail.Session; +import org.apache.velocity.app.VelocityEngine; + +/** + * A manager for the invitation service. + */ +@Singleton +public class OOOInvitationManager implements InvitationProvider { + + private static final String INVITE_TEMPLATE = "invite.tmpl"; + private static final String SUBJECT_TEMPLATE = "subject.tmpl"; + /* Dependencies */ + @Inject + @MainInvoker + private Invoker _invoker; + private VelocityEngine[] _engines; + private Session _mailSession; + private InvitationRepository _invitationRepo; + + /** + * Constructs a new Three Rings invitation manager. + */ + public OOOInvitationManager(ConnectionProvider connectionProvider, + InvocationManager invocationMgr) { + // Initialize the invitation repository + _invitationRepo = new InvitationRepository( + new PersistenceContext("userdb", connectionProvider, null)); + + // Fetch the available languages + String[] languages = DeploymentConfig.getSupportedLocales(); + // For each one, we'll want to initialize an independent velocity engine + _engines = new VelocityEngine[languages.length]; + + for (int i = 0; i < languages.length; ++i) { + try { + _engines[i] = VelocityUtil.createEngine("rsrc/templates/" + languages[i]); + if (!_engines[i].resourceExists(INVITE_TEMPLATE) || !_engines[i] + .resourceExists(SUBJECT_TEMPLATE)) { + _engines[i] = null; + log.warning("Velocity is broken for language " + languages[i] + + " because either invite template or subject template is missing."); + } + } catch (Exception cause) { + log.warning("Failed to initialize Velocity for language " + languages[i], cause); + } + } + + // Register the provider and make it boot within the presents group - in the very first + // moments the server is started as presents is the first registered group + invocationMgr.registerProvider(this, InvitationMarshaller.class, "presents"); + + // Authenticate with the mail server, if needed + Properties mailConfig = OOOConfig.getMailConfig(); + Authenticator authenticator = null; + + if (mailConfig.getProperty("mail.smtp.auth").equals("true")) { + authenticator = new Authenticator() { + @Override + protected PasswordAuthentication getPasswordAuthentication() { + return new PasswordAuthentication(mailConfig.getProperty("mail.smtp.username"), + mailConfig.getProperty("mail.smtp.password")); + } + }; + } + + // And set the session field + _mailSession = Session.getInstance(mailConfig, authenticator); + } + + /** + * Increases the caller's invitation limit by 1. Requires the caller to be an administrative + * user. + */ + @Override + public void grantInvitation(ClientObject caller) { + PlayerObject playerObject = (PlayerObject) caller; + // Check the tokens. If successful, process the request. + if (playerObject.tokens.isAdmin()) { + playerObject.setInvitations(playerObject.invitations + 1); + return; + } + + // Log otherwise + log.warning("Non-admin tried to grant themself an invitation", "who", playerObject.who()); + } + + /** + * Attempts to send an invitation to provided e-mail address. + */ + @Override + public void sendInvitation(ClientObject caller, String name, String email, ConfirmListener cl) + throws InvocationException { + + } + + /** + * Attempts to send a localized invitation to provided e-mail address. + */ + @Override + public void sendLocaleInvitation(ClientObject caller, String name, String email, String locale, + ConfirmListener cl) throws InvocationException { + + } + + /** + * Prepares the invitation to be delivered with given parameters. + */ + private void prepareInvitation(PlayerObject playerObject, String name, String email, + String locale, ResultListener rl) { + + } + + /** + * Delivers the invitation as an actual e-mail. + */ + private void deliverInvitationMail(String name, String email, String inviteCode, + VelocityEngine velocity) { + + } +} diff --git a/src/com/github/thetya/server/peer/Log.java b/src/com/github/thetya/server/peer/Log.java new file mode 100644 index 0000000..12299d6 --- /dev/null +++ b/src/com/github/thetya/server/peer/Log.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.peer; + +import com.samskivert.util.Logger; + +/** + * Contains a reference to the {@link Logger} object used by the peer package. + */ +@SuppressWarnings("unused") +public class Log { + + /** + * The {@link Logger} reference. + */ + public static Logger log = Logger.getLogger("com.github.thetya.server.peer"); +} diff --git a/src/com/github/thetya/server/peer/PeerConfig.java b/src/com/github/thetya/server/peer/PeerConfig.java new file mode 100644 index 0000000..9b6b17c --- /dev/null +++ b/src/com/github/thetya/server/peer/PeerConfig.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.peer; + +import com.samskivert.util.Config; + +/** + * Peered environment configuration. + */ +public class PeerConfig { + + /** + * The config object. + */ + private static final Config CONFIG = new Config("peer"); + + /** + * Returns this server's node name. + */ + public static String getNode() { + return CONFIG.getValue("node", (String) null); + } + + /** + * Returns this server's external (public) IP address. + */ + public static String getExternalAddress() { + return CONFIG.getValue("external_address", (String) null); + } + + /** + * Returns the secret shared with other peers to securely authenticate within the peer network. + */ + public static String getSharedSecret() { + return CONFIG.getValue("shared_secret", (String) null); + } + + /** + * Returns locales supported by this peer. + */ + public static String[] getSupportedLocales() { + return CONFIG.getValue("supported_locales", new String[]{ "en" }); + } +} diff --git a/src/com/github/thetya/server/peer/ProjectXPeerProvider.java b/src/com/github/thetya/server/peer/ProjectXPeerProvider.java new file mode 100644 index 0000000..2ff2c8e --- /dev/null +++ b/src/com/github/thetya/server/peer/ProjectXPeerProvider.java @@ -0,0 +1,137 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.peer; + +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.client.InvocationService.ResultListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationProvider; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.exchange.client.ExchangeService.OfferListener; +import com.threerings.projectx.peer.client.ProjectXPeerService; +import com.threerings.util.Name; +import javax.annotation.Generated; + +/** + * Defines the server-side of the {@link ProjectXPeerService}. + */ +@Generated(value = {"com.threerings.presents.tools.GenServiceTask"}, + comments = "Derived from ProjectXPeerService.java.") +public interface ProjectXPeerProvider extends InvocationProvider { + + /** + * Handles a {@link ProjectXPeerService#acceptPartyInvite} request. + */ + void acceptPartyInvite(ClientObject var1, PlayerObject var2, Object[] var3, int var4, + ConfirmListener var5) throws InvocationException; + + /** + * Handles a {@link ProjectXPeerService#addToInstance} request. + */ + void addToInstance(ClientObject var1, PlayerObject var2, Object[] var3, int var4, int var5, + int var6, Object var7, ConfirmListener var8) throws InvocationException; + + /** + * Handles a {@link ProjectXPeerService#addToParty} request. + */ + void addToParty(ClientObject var1, PlayerObject var2, Object[] var3, int var4, boolean var5, + boolean var6, ConfirmListener var7) throws InvocationException; + + /** + * Handles a {@link ProjectXPeerService#cancelExchangeOffer} request. + */ + void cancelExchangeOffer(ClientObject var1, Name var2, int var3, ConfirmListener var4) + throws InvocationException; + + /** + * Handles a {@link ProjectXPeerService#cancelShutdown} request. + */ + void cancelShutdown(ClientObject var1, ConfirmListener var2) throws InvocationException; + + /** + * Handles a {@link ProjectXPeerService#createInstance} request. + */ + void createInstance(ClientObject var1, int var2, int var3, String var4, ConfirmListener var5) + throws InvocationException; + + /** + * Handles a {@link ProjectXPeerService#createLocalInstance} request. + */ + void createLocalInstance(ClientObject var1, int var2, int var3, String var4, ConfirmListener var5) + throws InvocationException; + + /** + * Handles a {@link ProjectXPeerService#createParty} request. + */ + void createParty(ClientObject var1, PlayerObject var2, Object[] var3, int var4, int var5, + boolean var6, boolean var7, boolean var8, int var9, ConfirmListener var10) + throws InvocationException; + + /** + * Handles a {@link ProjectXPeerService#exchangeUserWasDeleted} request. + */ + void exchangeUserWasDeleted(ClientObject var1, Name var2); + + /** + * Handles a {@link ProjectXPeerService#getExchangeOffers} request. + */ + void getExchangeOffers(ClientObject var1, Name var2, OfferListener var3) + throws InvocationException; + + /** + * Handles a {@link ProjectXPeerService#getGuildOids} request. + */ + void getGuildOids(ClientObject var1, int var2, ResultListener var3) throws InvocationException; + + /** + * Handles a {@link ProjectXPeerService#getQueueTicket} request. + */ + void getQueueTicket(ClientObject var1, ResultListener var2) throws InvocationException; + + /** + * Handles a {@link ProjectXPeerService#getTestGateId} request. + */ + void getTestGateId(ClientObject var1, ResultListener var2) throws InvocationException; + + /** + * Handles a {@link ProjectXPeerService#joinPlayer} request. + */ + void joinPlayer(ClientObject var1, PlayerObject var2, Object[] var3, Name var4, + ConfirmListener var5) throws InvocationException; + + /** + * Handles a {@link ProjectXPeerService#moveToPlayer} request. + */ + void moveToPlayer(ClientObject var1, PlayerObject var2, Object[] var3, Name var4, + ConfirmListener var5) throws InvocationException; + + /** + * Handles a {@link ProjectXPeerService#postExchangeOffer} request. + */ + void postExchangeOffer(ClientObject var1, Name var2, Name var3, int var4, int var5, boolean var6, + boolean var7, ResultListener var8) throws InvocationException; + + /** + * Handles a {@link ProjectXPeerService#rejectPartyInvite} request. + */ + void rejectPartyInvite(ClientObject var1, Name var2, int var3, ConfirmListener var4) + throws InvocationException; + + /** + * Handles a {@link ProjectXPeerService#scheduleShutdown} request. + */ + void scheduleShutdown(ClientObject var1, boolean var2, int var3, int var4, int var5, String var6, + ConfirmListener var7) throws InvocationException; + + /** + * Handles a {@link ProjectXPeerService#summonPlayer} request. + */ + void summonPlayer(ClientObject var1, Name var2, Name var3, ConfirmListener var4) + throws InvocationException; +} diff --git a/src/com/github/thetya/server/peer/ThetyaPeerManager.java b/src/com/github/thetya/server/peer/ThetyaPeerManager.java new file mode 100644 index 0000000..96fe476 --- /dev/null +++ b/src/com/github/thetya/server/peer/ThetyaPeerManager.java @@ -0,0 +1,1389 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.peer; + +import com.github.thetya.server.*; +import com.github.thetya.server.PlayerLocal.TransferState; +import com.github.thetya.server.admin.ThetyaAdminManager; +import com.github.thetya.server.dungeon.DungeonManager; +import com.github.thetya.server.dungeon.LevelParty; +import com.github.thetya.server.dungeon.LevelPartyHost; +import com.github.thetya.server.dungeon.Party; +import com.github.thetya.server.exchange.ThetyaCoinExchangeManager; +import com.github.thetya.server.scene.ThetyaSceneManager; +import com.github.thetya.server.scene.ThetyaSceneRegistry; +import com.github.thetya.server.scene.ThetyaSceneRegistry.Instance; +import com.github.thetya.server.zone.InstancedZoneManager; +import com.github.thetya.server.zone.ThetyaZoneRegistry; +import com.google.common.base.Objects; +import com.google.common.collect.HashMultiset; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.Multiset; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.samskivert.util.*; +import com.threerings.coin.server.CoinExOffer; +import com.threerings.config.dist.server.DConfigManager; +import com.threerings.crowd.peer.server.CrowdPeerManager; +import com.threerings.crowd.server.PlaceManager; +import com.threerings.crowd.server.PlaceRegistry; +import com.threerings.expr.MutableBoolean; +import com.threerings.expr.MutableInteger; +import com.threerings.math.Vector2f; +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.client.InvocationService.ResultListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.dobj.*; +import com.threerings.presents.net.DownstreamMessage; +import com.threerings.presents.net.EventNotification; +import com.threerings.presents.peer.data.ClientInfo; +import com.threerings.presents.peer.data.NodeObject; +import com.threerings.presents.peer.server.NodeRequestsListener; +import com.threerings.presents.peer.server.PeerNode; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.PresentsSession; +import com.threerings.presents.util.IgnoreConfirmAdapter; +import com.threerings.presents.util.ResultAdapter; +import com.threerings.projectx.admin.data.NodeInfo; +import com.threerings.projectx.admin.data.NodeStatus; +import com.threerings.projectx.admin.data.PartySummary.Key; +import com.threerings.projectx.admin.data.PlaceSummary; +import com.threerings.projectx.data.PlayerData; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.data.ProjectXCodes; +import com.threerings.projectx.exchange.client.ExchangeService.OfferListener; +import com.threerings.projectx.guild.data.GuildObject; +import com.threerings.projectx.guild.data.OfficerObject; +import com.threerings.projectx.peer.data.*; +import com.threerings.tudey.server.logic.ActorLogic; +import com.threerings.util.MessageBundle; +import com.threerings.util.Name; + +import java.util.Collections; +import java.util.*; + +import static com.github.thetya.server.peer.Log.log; + +@Singleton +public class ThetyaPeerManager extends CrowdPeerManager implements ProjectXPeerProvider, ProjectXCodes { + @Inject + protected ThetyaClientManager _clmgr; + @Inject + protected ThetyaAdminManager _adminmgr; + @Inject + protected DConfigManager _dcfgmgr; + @Inject + protected PlaceRegistry _plreg; + @Inject + protected ThetyaZoneRegistry _zonereg; + @Inject + protected ThetyaSceneRegistry _scenereg; + @Inject + protected KnightManager _knightmgr; + // @Inject +// protected GuildManager _guildmgr; + @Inject + protected DungeonManager _dungeonMgr; + @Inject + protected ThetyaCoinExchangeManager _exchangemgr; + @Inject + protected DObjectManager _dObjectMgr; + protected PeerNode _leadNode; + protected ObserverList _leadNodeObservers = ObserverList.newFastUnsafe(); + protected Map _knights = Maps.newHashMap(); + protected int _unpeeredLastQueueTicket; + protected int _unpeeredLastTestGateId; + protected Map> _instancePenders = Maps.newHashMap(); + protected SortableArrayList _logonQueue = new SortableArrayList<>(); + protected List _leadIntervals = Lists + .newArrayList(); + protected static final Comparator QUEUE_TICKET_COMP = Comparator + .comparingInt(PlayerData::getQueueTicket); + + @Inject + public ThetyaPeerManager(Lifecycle lifecycle) { + super(lifecycle); + this._stats = new ExtendedStats(); + } + + public void init() { + String node = PeerConfig.getNode(); + if (!StringUtil.isBlank(node)) { + log.info("Running in cluster mode as node '" + node + "'."); + this.init(node, PeerConfig.getSharedSecret(), PeerConfig.getExternalAddress(), PeerConfig.getExternalAddress(), ServerConfig.getListenPorts()[0]); + } + + } + + public PeerNode getLeadNode() { + return this._leadNode; + } + + public boolean isLeadNode() { + return this._leadNode == null; + } + + public void addLeadNodeObserver(LeadNodeObserver observer) { + this._leadNodeObservers.add(observer); + } + + public void removeLeadNodeObserver(LeadNodeObserver observer) { + this._leadNodeObservers.remove(observer); + } + + public void addLeadInterval(LeadInterval ival) { + this._leadIntervals.add(ival); + if (this.isLeadNode()) { + ival.schedule(); + } + + } + + public boolean invokeClientAction(Name username, NodeAction action) { + return this.invokeClientAction(username, action, null); + } + + public boolean invokeClientAction(Name username, NodeAction action, Runnable onDropped) { + PlayerObject player = (PlayerObject)this._clmgr.getClientObject(username); + if (player != null) { + this.invokeAction(null, this.flattenAction(action)); + return true; + } else { + ProjectXClientInfo info = (ProjectXClientInfo)this.locateClient(username); + if (info != null && info.nodeName != null) { + this.invokeNodeAction(info.nodeName, action); + return true; + } else { + if (onDropped != null) { + onDropped.run(); + } + + return false; + } + } + } + + public boolean invokeKnightAction(Name knight, NodeAction action) { + return this.invokeKnightAction(knight, action, null); + } + + public boolean invokeKnightAction(Name knight, NodeAction action, Runnable onDropped) { + PlayerObject player = this._knightmgr.getPlayer(knight); + if (player != null) { + this.invokeAction(null, this.flattenAction(action)); + return true; + } else { + ProjectXClientInfo info = this.locateKnight(knight); + if (info != null) { + this.invokeNodeAction(info.nodeName, action); + return true; + } else { + if (onDropped != null) { + onDropped.run(); + } + + return false; + } + } + } + + public void invokeKnightRequest(KnightRequest request, ResultListener rl) { + PlayerObject player = this._knightmgr.getPlayer(request.getKnight()); + if (player != null) { + this.invokeRequest(null, this.flattenRequest(request), rl); + } else { + ProjectXClientInfo info = this.locateKnight(request.getKnight()); + if (info != null) { + this.invokeNodeRequest(info.nodeName, request, rl); + } else { + rl.requestFailed("m.user_not_online"); + } + } + } + + public void invokeLeadAction(NodeAction action) { + if (this._leadNode == null) { + this.invokeAction(null, this.flattenAction(action)); + } else { + this.invokeNodeAction(this._leadNode.getNodeName(), action); + } + + } + + public void invokeLeadRequest(NodeRequest request, ResultListener rl) { + if (this._leadNode == null) { + this.invokeRequest(null, this.flattenRequest(request), rl); + } else { + this.invokeNodeRequest(this._leadNode.getNodeName(), request, rl); + } + + } + + public PlayerData getClient(Name name) { + Object clobj = this._clmgr.getClientObject(name); + return (PlayerData)(clobj instanceof PlayerObject ? clobj : this.locateClient(name)); + } + + public PlayerData getKnight(Name name) { + PlayerObject plobj = this._knightmgr.getPlayer(name); + return plobj == null ? this.locateKnight(name) : plobj; + } + + public ProjectXClientInfo locateKnight(Name name) { + return this._knights.get(name); + } + + public Collection getKnights() { + return this._knights.values(); + } + + public ZoneInstanceInfo locateZoneInstance(int zoneId, int instanceId) { + final Long zoneInstanceId = ZoneInstanceInfo.createZoneInstanceId(zoneId, instanceId); + return this.lookupNodeDatum( + nodeobj -> ((ProjectXNodeObject)nodeobj).zoneInstances.get(zoneInstanceId)); + } + + public int getNodeCount() { + return this._peers.size() + 1; + } + + public String getLeastLoadedNode() { + if (this._nodeobj == null) { + return null; + } else { + final int peers = this._peers.size(); + final String[] lowestName = new String[]{PeerConfig.getNode()}; + final MutableInteger lowestLoad = new MutableInteger(this.getLocalLoad()); + final MutableBoolean lowestWillShutdown = new MutableBoolean(this._adminmgr.willShutdown()); + this.invokeOnNodes(tuple -> { + ProjectXNodeObject nodeobj = (ProjectXNodeObject) tuple.right; + int load = nodeobj.getLoad( + ThetyaPeerManager.this._leadNode != null && ThetyaPeerManager.this._leadNode.nodeobj == nodeobj, peers); + if (!nodeobj.info.willShutdown() && (lowestWillShutdown.value || load < lowestLoad.value)) { + lowestName[0] = nodeobj.nodeName; + lowestLoad.value = load; + lowestWillShutdown.value = false; + } + + return true; + }); + return lowestName[0]; + } + } + + public int getLocalLoad() { + return this._nodeobj == null ? 0 : ((ProjectXNodeObject)this._nodeobj).getLoad(this._leadNode == null, this._peers.size()); + } + + public int getPartyCount(final int gateId) { + final MutableInteger count = new MutableInteger(this._dungeonMgr.getGate(gateId).getPartyCount()); + this.invokeOnNodes(tuple -> { + + for (PartyInfo party : ((ProjectXNodeObject) tuple.right).parties) { + if (party.getGateId() == gateId) { + ++count.value; + } + } + + return true; + }); + return count.value; + } + + public ProjectXPeerProvider requireProjectXPeerProvider(Name knight) throws InvocationException { + ProjectXPeerProvider provider = this.getProjectXPeerProvider(knight); + if (provider == null) { + throw new InvocationException("m.user_not_online"); + } else { + return provider; + } + } + + public ProjectXPeerProvider getProjectXPeerProvider(Name knight) { + PlayerData data = this.getKnight(knight); + return data == null ? null : this.getProjectXPeerProvider(data.getNodeName(PeerConfig.getNode())); + } + + public ProjectXPeerProvider requireProjectXPeerProvider(String nodeName) throws InvocationException { + ProjectXPeerProvider provider = this.getProjectXPeerProvider(nodeName); + if (provider == null) { + log.warning("Missing peer provider.", "node", nodeName); + throw new InvocationException("m.internal_error"); + } else { + return provider; + } + } + + public ProjectXPeerProvider getProjectXPeerProvider(String nodeName) { + if (Objects.equal(nodeName, PeerConfig.getNode())) { + return this; + } else { + ThetyaPeerNode node = (ThetyaPeerNode)this._peers.get(nodeName); + return node == null ? null : node.peerProvider; + } + } + + public void queueTicketUpdated(int oticket, PlayerObject player) { + this.updateLogonQueue(oticket, player); + if (this._nodeobj != null && player != null) { + ProjectXClientInfo info = (ProjectXClientInfo)this._nodeobj.clients.get(player.username); + info.queueTicket = player.queueTicket; + this.maybeUpdateClients(player, info); + } + } + + public void whereaboutsUpdated(PlayerObject player) { + if (this._nodeobj != null) { + ProjectXClientInfo info = (ProjectXClientInfo)this._nodeobj.clients.get(player.username); + if (info != null) { + info.whereabouts = player.whereabouts; + this.maybeUpdateClients(player, info); + } + } + } + + public void clientUpdated(String nodeName, ClientInfo oinfo, ClientInfo ninfo) { + ProjectXClientInfo oxinfo = (ProjectXClientInfo)oinfo; + ProjectXClientInfo nxinfo = (ProjectXClientInfo)ninfo; + this.unmapKnight(oxinfo); + this.mapKnight(nodeName, nxinfo); + if (oxinfo.queueTicket != nxinfo.queueTicket) { + this.updateLogonQueue(oxinfo.queueTicket, nxinfo); + } + + } + + public void zoneInstanceCreated(int zoneId, int instanceId, String language) { + if (this._nodeobj != null) { + ((ProjectXNodeObject)this._nodeobj).addToZoneInstances(new ZoneInstanceInfo(zoneId, instanceId, language)); + } + + } + + public void zoneInstanceUpdated(int zoneId, int instanceId, int population) { + if (this._nodeobj != null) { + ProjectXNodeObject xnodeobj = (ProjectXNodeObject)this._nodeobj; + ZoneInstanceInfo info = xnodeobj.zoneInstances.get(ZoneInstanceInfo.createZoneInstanceId(zoneId, instanceId)); + if (info == null) { + log.warning("No entry for zone instance.", "zoneId", zoneId, + "instanceId", instanceId, "population", population); + } else { + info.population = population; + xnodeobj.updateZoneInstances(info); + } + } + } + + public void zoneInstanceDestroyed(int zoneId, int instanceId) { + if (this._nodeobj != null) { + ((ProjectXNodeObject)this._nodeobj).removeFromZoneInstances(ZoneInstanceInfo.createZoneInstanceId(zoneId, instanceId)); + } + + } + + public void partyCreated(PartyInfo info) { + this._adminmgr.getPlaceBrowserObject().addToParties(info.createPartySummary(PeerConfig.getNode())); + if (this._nodeobj != null) { + ((ProjectXNodeObject)this._nodeobj).addToParties(info); + } + + } + + public void partyUpdated(PartyInfo info) { + this._adminmgr.getPlaceBrowserObject().updateParties(info.createPartySummary(PeerConfig.getNode())); + if (this._nodeobj != null) { + ((ProjectXNodeObject)this._nodeobj).updateParties(info); + } + + } + + public void partyDestroyed(int partyOid) { + this._adminmgr.getPlaceBrowserObject().removeFromParties(new Key(PeerConfig.getNode(), partyOid)); + if (this._nodeobj != null) { + ((ProjectXNodeObject)this._nodeobj).removeFromParties(partyOid); + } + + } + + public void placeCreated(PlaceSummary summary) { + this._adminmgr.getPlaceBrowserObject().addToPlaces(summary); + if (this._nodeobj != null) { + ((ProjectXNodeObject)this._nodeobj).addToPlaces(summary); + } + + } + + public void placeUpdated(PlaceSummary summary) { + this._adminmgr.getPlaceBrowserObject().updatePlaces(summary); + if (this._nodeobj != null) { + ((ProjectXNodeObject)this._nodeobj).updatePlaces(summary); + } + + } + + public void placeDestroyed(Comparable key) { + this._adminmgr.getPlaceBrowserObject().removeFromPlaces(key); + if (this._nodeobj != null) { + ((ProjectXNodeObject)this._nodeobj).removeFromPlaces(key); + } + + } + + public void maybeReleaseFromLogonQueue() { + if (!this._adminmgr.clusterAtCapacity() && !this._logonQueue.isEmpty()) { + PlayerData holder = this._logonQueue.get(0); + if (holder instanceof PlayerObject) { + PlayerObject player = (PlayerObject)holder; + if (player.queueTicket != 0) { + ThetyaSession session = (ThetyaSession)this._clmgr.getClient(player.username); + if (session == null) { + log.warning("Missing session for player.", "who", + player.who()); + } else { + player.queueTicket = 0; + player.setQueuePosition(0); + session.didLogon(); + this._adminmgr.noteQueueRemoval(session.getSessionStamp(), false); + this._adminmgr.noteLogon(); + this._logonQueue.remove(0); + this.updateQueuePositions(); + if (this._nodeobj != null) { + ProjectXClientInfo info = (ProjectXClientInfo)this._nodeobj.clients.get(player.username); + info.queueTicket = 0; + this.maybeUpdateClients(player, info); + } + + } + } + } + } + } + + public void subscribeToGuild(final String nodeName, int guildId, final com.samskivert.util.ResultListener listener) { + PeerNode peer = this._peers.get(nodeName); + if (peer == null) { + listener.requestFailed(new Exception("Unknown node for guild subscription [name=" + nodeName + "]")); + } else { + ((ProjectXNodeObject)peer.nodeobj).projectXPeerService.getGuildOids(guildId, new ResultListener() { + public void requestProcessed(Object result) { + //ThetyaPeerManager.this.continueSubscribingToGuild(nodeName, (int[]) result, listener); + } + + public void requestFailed(String cause) { + listener.requestFailed(new InvocationException(cause)); + } + }); + } + } + + public void forceServerSwitch(PlayerObject player, String nodeName, String publicHost) { + if (!player.isActive()) { + this.invokeNodeAction(nodeName, new EndTransferSessionAction(player.username)); + } else { + ThetyaSession session = (ThetyaSession)this._clmgr.getClient(player.username); + if (session.getInetAddress() == null) { + session.endTransferSession(); + } else { + log.info("Transferring player.", "who", player.who(), + "node", nodeName); + player.getLocal(PlayerLocal.class).transferState = TransferState.COMPLETE; + ServerSwitchSender + .forcedServerSwitch(player, publicHost, this.getServerPorts(nodeName), this.getDatagramPorts(nodeName)); + } + } + } + + public int[] getServerPorts(String nodeName) { + ProjectXNodeObject nodeobj = this.getNodeObject(nodeName); + return nodeobj == null ? null : nodeobj.serverPorts; + } + + public int[] getDatagramPorts(String nodeName) { + ProjectXNodeObject nodeobj = this.getNodeObject(nodeName); + return nodeobj == null ? null : nodeobj.datagramPorts; + } + + public ProjectXNodeObject getNodeObject(String nodeName) { + if (this._nodeName.equals(nodeName)) { + return (ProjectXNodeObject)this._nodeobj; + } else { + PeerNode peer = this._peers.get(nodeName); + return peer == null ? null : (ProjectXNodeObject)peer.nodeobj; + } + } + + public void getQueueTicket(ClientObject caller, ResultListener listener) { + if (this._nodeobj == null) { + listener.requestProcessed(++this._unpeeredLastQueueTicket); + } else if (this._leadNode != null) { + ((ProjectXNodeObject)this._leadNode.nodeobj).projectXPeerService.getQueueTicket(listener); + } else { + ProjectXNodeObject nodeobj = (ProjectXNodeObject)this._nodeobj; + int ticket = nodeobj.lastQueueTicket + 1; + nodeobj.setLastQueueTicket(ticket); + listener.requestProcessed(ticket); + } + } + + public void getTestGateId(ClientObject caller, ResultListener listener) { + if (this._nodeobj == null) { + listener.requestProcessed(--this._unpeeredLastTestGateId); + } else if (this._leadNode != null) { + ((ProjectXNodeObject)this._leadNode.nodeobj).projectXPeerService.getTestGateId(listener); + } else { + ProjectXNodeObject nodeobj = (ProjectXNodeObject)this._nodeobj; + int gateId = nodeobj.lastTestGateId - 1; + nodeobj.setLastTestGateId(gateId); + listener.requestProcessed(gateId); + } + } + + public void addToInstance(ClientObject caller, final PlayerObject player, Object[] locals, final int zoneId, final int instanceId, final int sceneId, final Object portalKey, ConfirmListener cl) throws InvocationException { + final Object zonemgr = this._zonereg.getZoneManager(zoneId); + if (!(zonemgr instanceof InstancedZoneManager)) { + throw new InvocationException("m.no_such_zone"); + } else { + this.maybeCreateTransferSession(player, locals, new IgnoreConfirmAdapter(cl) { + public void requestCompleted(ThetyaSession result) { + ((InstancedZoneManager)zonemgr).addToInstance(player, zoneId, instanceId); + ThetyaPeerManager.this._zonereg.moveBody(player, zoneId, sceneId, portalKey); + super.requestCompleted(result); + } + }); + } + } + + public void createInstance(ClientObject caller, int zoneId, int instanceId, String language, ConfirmListener listener) throws InvocationException { + if (this._nodeobj == null) { + this.createLocalInstance(null, zoneId, instanceId, language, listener); + } else { + ZoneInstanceInfo info = this.locateZoneInstance(zoneId, instanceId); + if (info != null) { + listener.requestProcessed(); + } else if (this._leadNode != null) { + ((ProjectXNodeObject)this._leadNode.nodeobj).projectXPeerService.createInstance(zoneId, instanceId, language, listener); + } else { + final Long zoneInstanceId = ZoneInstanceInfo.createZoneInstanceId(zoneId, instanceId); + List penders = this._instancePenders.get(zoneInstanceId); + if (penders != null) { + penders.add(listener); + } else { + this._instancePenders.put(zoneInstanceId, Lists.newArrayList(listener)); + ConfirmListener cl = new ConfirmListener() { + public void requestProcessed() { + List penders = ThetyaPeerManager.this._instancePenders.remove(zoneInstanceId); + int ii = 0; + + for(int nn = penders.size(); ii < nn; ++ii) { + penders.get(ii).requestProcessed(); + } + + } + + public void requestFailed(String cause) { + List penders = ThetyaPeerManager.this._instancePenders.remove(zoneInstanceId); + int ii = 0; + + for(int nn = penders.size(); ii < nn; ++ii) { + penders.get(ii).requestFailed(cause); + } + + } + }; + this.requireProjectXPeerProvider(this.getLeastLoadedNode()).createLocalInstance(null, zoneId, instanceId, language, cl); + } + } + } + } + + public void createLocalInstance(ClientObject caller, int zoneId, int instanceId, String language, ConfirmListener listener) { + if (this._zonereg.getInstance(zoneId, instanceId) == null) { + this._zonereg.createInstance(zoneId, instanceId, language); + } + + listener.requestProcessed(); + } + + public void addToParty(ClientObject caller, final PlayerObject player, Object[] locals, final int partyOid, final boolean force, final boolean watch, ConfirmListener cl) throws InvocationException { + this.maybeCreateTransferSession(player, locals, new IgnoreConfirmAdapter(cl) { + public void requestCompleted(ThetyaSession result) { + Party party = ThetyaPeerManager.this._dungeonMgr.getParty(partyOid); + String error = null; + if (party == null) { + error = "m.party_dissolved"; + } else if (!party.isOpen(player) && !force) { + error = "m.party_full"; + } + + if (error != null) { + ThetyaPeerManager.this.maybeDestroyTransferSession(result); + this._listener.requestFailed(error); + } else { + party.addPlayer(player, true, watch); + super.requestCompleted(result); + } + } + }); + } + + public void createParty(ClientObject caller, final PlayerObject player, Object[] locals, int gateId, final int memberLimit, final boolean inviteOnly, final boolean friendsAllowed, final boolean guildAllowed, final int floor, ConfirmListener cl) throws InvocationException { + final LevelPartyHost host = this._dungeonMgr.getGate(gateId); + this.maybeCreateTransferSession(player, locals, new IgnoreConfirmAdapter(cl) { + public void requestCompleted(ThetyaSession result) { + try { + host.createLocalParty(player, memberLimit, inviteOnly, friendsAllowed, guildAllowed, floor); + super.requestCompleted(result); + } catch (InvocationException var3) { + ThetyaPeerManager.this.maybeDestroyTransferSession(result); + super.requestFailed(var3); + } + + } + }); + } + + public void acceptPartyInvite(ClientObject caller, final PlayerObject player, Object[] locals, final int partyOid, ConfirmListener cl) throws InvocationException { + this.maybeCreateTransferSession(player, locals, new IgnoreConfirmAdapter(cl) { + public void requestCompleted(ThetyaSession result) { + try { + Party party = ThetyaPeerManager.this._dungeonMgr.getParty(partyOid); + if (party == null) { + throw new InvocationException("m.party_dissolved"); + } + + party.acceptInvite(player); + super.requestCompleted(result); + } catch (InvocationException var3) { + ThetyaPeerManager.this.maybeDestroyTransferSession(result); + super.requestFailed(var3); + } + + } + }); + } + + public void rejectPartyInvite(ClientObject caller, Name name, int partyOid, ConfirmListener listener) throws InvocationException { + Party party = this._dungeonMgr.getParty(partyOid); + if (party != null) { + party.rejectInvite(name); + } + + listener.requestProcessed(); + } + + public void joinPlayer(ClientObject caller, final PlayerObject player, Object[] locals, final Name name, ConfirmListener cl) throws InvocationException { + this.maybeCreateTransferSession(player, locals, new IgnoreConfirmAdapter(cl) { + public void requestCompleted(ThetyaSession result) { + try { + PlayerObject oplayer = ThetyaPeerManager.this._knightmgr.getPlayer(name); + if (oplayer == null) { + throw new InvocationException(MessageBundle.tcompose("m.friend_unjoinable", name)); + } + + LevelParty party = LevelParty.getParty(oplayer); + if (party == null) { + ThetyaPeerManager.this.joinPlayerInstance(player, oplayer); + } else { + ThetyaPeerManager.this.joinPlayerParty(player, oplayer, party); + } + + super.requestCompleted(result); + } catch (InvocationException var4) { + ThetyaPeerManager.this.maybeDestroyTransferSession(result); + super.requestFailed(var4); + } + + } + }); + } + + public void moveToPlayer(ClientObject caller, final PlayerObject player, Object[] locals, final Name name, ConfirmListener cl) throws InvocationException { + this.maybeCreateTransferSession(player, locals, new IgnoreConfirmAdapter(cl) { + public void requestCompleted(ThetyaSession result) { + try { + ThetyaPeerManager.this.moveToPlayer(player, name); + super.requestCompleted(result); + } catch (InvocationException var3) { + ThetyaPeerManager.this.maybeDestroyTransferSession(result); + super.requestFailed(var3); + } + + } + }); + } + + public void moveToParty(ClientObject caller, final PlayerObject player, Object[] locals, final int partyOid, final boolean watch, ConfirmListener cl) throws InvocationException { + this.maybeCreateTransferSession(player, locals, new IgnoreConfirmAdapter(cl) { + public void requestCompleted(ThetyaSession result) { + try { + Party party = ThetyaPeerManager.this._dungeonMgr.getParty(partyOid); + if (party == null) { + throw new InvocationException("m.party_dissolved"); + } + + party.addPlayer(player, true, watch); + super.requestCompleted(result); + } catch (InvocationException var3) { + ThetyaPeerManager.this.maybeDestroyTransferSession(result); + super.requestFailed(var3); + } + + } + }); + } + + public void summonPlayer(ClientObject caller, Name name, Name dest, ConfirmListener listener) throws InvocationException { + PlayerObject player = this._knightmgr.getPlayer(name); + if (player == null) { + throw new InvocationException("m.user_not_online"); + } else { + this._adminmgr.movePlayer(player, dest, listener); + } + } + + public void getGuildOids(ClientObject caller, int guildId, ResultListener listener) throws InvocationException { +// this._guildmgr.resolveGuild(guildId, new ResultAdapter(listener) { +// public void requestCompleted(DObject[] result) { +// this._listener.requestProcessed(new int[]{result[0].getOid(), result[1].getOid()}); +// } +// }); + } + + public void scheduleShutdown(ClientObject caller, boolean reboot, int minDelay, int maxDelay, int earlyPlayers, String msg, ConfirmListener listener) throws InvocationException { + this._adminmgr.scheduleShutdown(reboot, minDelay, maxDelay, earlyPlayers, msg); + listener.requestProcessed(); + } + + public void cancelShutdown(ClientObject caller, ConfirmListener listener) throws InvocationException { + this._adminmgr.cancelShutdown(); + listener.requestProcessed(); + } + + public void getExchangeOffers(ClientObject caller, Name name, OfferListener ol) throws InvocationException { + if (this._leadNode != null) { + ((ProjectXNodeObject)this._leadNode.nodeobj).projectXPeerService.getExchangeOffers(name, ol); + } else { + String knight = name.toString(); + //ol.gotOffers(this._exchangemgr.getPlayerOffers(knight, true), this._exchangemgr.getPlayerOffers(knight, false)); + } + } + + public void postExchangeOffer(ClientObject caller, Name username, Name knight, int volume, int pricePerUnit, boolean buying, boolean immediate, ResultListener rl) throws InvocationException { + if (this._leadNode != null) { + ((ProjectXNodeObject)this._leadNode.nodeobj).projectXPeerService.postExchangeOffer(username, knight, volume, pricePerUnit, buying, immediate, rl); + } else { + CoinExOffer offer = new CoinExOffer(); + offer.accountName = username.toString(); + offer.gameName = knight.toString(); + offer.buy = buying; + offer.volume = volume; + offer.price = pricePerUnit; + this._exchangemgr.postOffer(knight, offer, immediate, new ResultAdapter<>(rl)); + } + } + + public void cancelExchangeOffer(ClientObject caller, Name name, int offerId, ConfirmListener cl) throws InvocationException { + if (this._leadNode != null) { + ((ProjectXNodeObject)this._leadNode.nodeobj).projectXPeerService.cancelExchangeOffer(name, offerId, cl); + } else if (this._exchangemgr.cancelOffer(name.toString(), offerId)) { + cl.requestProcessed(); + } else { + throw new InvocationException("m.no_such_offer"); + } + } + + public void exchangeUserWasDeleted(ClientObject caller, Name name) { + if (this._leadNode != null) { + ((ProjectXNodeObject)this._leadNode.nodeobj).projectXPeerService.exchangeUserWasDeleted(name); + } else { + this._exchangemgr.userWasDeleted(name.toString()); + } + } + + @Override + public void clientSessionDidStart(PresentsSession client) { + super.clientSessionDidStart(client); + if (!this.ignoreClient(client)) { + PlayerObject player = (PlayerObject)client.getClientObject(); + player.addListener(new PlayerObjectListener(player)); + } + + } + + public void invokeNodeRequest(NodeRequest request, final NodeRequestsListener listener) { + if (this._nodeobj != null) { + super.invokeNodeRequest(request, listener); + } else { + this.invokeRequest(null, this.flattenRequest(request), new ResultListener() { + public void requestProcessed(Object result) { + listener.requestsProcessed(new NodeRequestsResultImpl( + Collections.singletonMap(null, result), Collections.emptyMap())); + } + + public void requestFailed(String cause) { + listener.requestFailed(cause); + } + }); + } + } + + public void shutdown() { + super.shutdown(); + + for (LeadInterval ival : this._leadIntervals) { + ival.cancel(); + } + + } + + protected void didInit() { + super.didInit(); + ProjectXNodeObject xnobj = (ProjectXNodeObject)this._nodeobj; + xnobj.setServerPorts(ServerConfig.getListenPorts()); + xnobj.setDatagramPorts(ServerConfig.getDatagramPorts()); + xnobj.setProjectXPeerService(this._invmgr.registerProvider(this, ProjectXPeerMarshaller.class)); + xnobj.setDconfigOid(this._dcfgmgr.getConfigObject().getOid()); + xnobj.setInfo(new NodeInfo(this._nodeName)); + xnobj.setStatus(new NodeStatus(this._nodeName)); + } + + protected Class getPeerNodeClass() { + return ThetyaPeerNode.class; + } + + protected NodeObject createNodeObject() { + return new ProjectXNodeObject(); + } + + protected boolean ignoreClient(PresentsSession session) { + return super.ignoreClient(session) || !(session instanceof ThetyaSession); + } + + protected ClientInfo createClientInfo() { + return new ProjectXClientInfo(); + } + + protected void initClientInfo(PresentsSession client, ClientInfo info) { + super.initClientInfo(client, info); + PlayerObject player = (PlayerObject)client.getClientObject(); + ProjectXClientInfo xinfo = (ProjectXClientInfo)info; + xinfo.visibleName = player.knight; + xinfo.machineIdent = player.machineIdent; + xinfo.tokens = player.tokens; + xinfo.knightId = player.knightId; + xinfo.energyStamp = player.getEnergyStamp(System.currentTimeMillis()); + xinfo.whereabouts = player.whereabouts; + xinfo.nodeName = PeerConfig.getNode(); + } + + protected void connectedToPeer(PeerNode peer) { + super.connectedToPeer(peer); + this.updateLeadNode(); + } + + protected void disconnectedFromPeer(PeerNode peer) { + super.disconnectedFromPeer(peer); + peer.nodeobj = null; + this.updateLeadNode(); + } + + @Override + protected void clientLoggedOn(String nodeName, ClientInfo clinfo) { + ProjectXClientInfo xinfo = (ProjectXClientInfo)clinfo; + this.bootDuplicateClient(nodeName, xinfo); + this.mapKnight(nodeName, xinfo); + if (xinfo.queueTicket != 0) { + this.updateLogonQueue(0, xinfo); + } + + } + + @Override + protected void clientLoggedOff(String nodeName, ClientInfo clinfo) { + super.clientLoggedOff(nodeName, clinfo); + ProjectXClientInfo xinfo = (ProjectXClientInfo)clinfo; + this.unmapKnight(xinfo); + if (xinfo.queueTicket != 0) { + this.updateLogonQueue(xinfo.queueTicket, null); + } + + } + + protected Name authFromViz(Name vizname) { + ProjectXClientInfo clinfo = this._knights.get(vizname); + return clinfo == null ? null : clinfo.username; + } + + protected void partyAdded(String nodeName, PartyInfo info) { + LevelPartyHost host = this.getPartyHost(info); + if (host != null) { + host.partyAdded(nodeName, info); + } + + this._adminmgr.getPlaceBrowserObject().addToParties(info.createPartySummary(nodeName)); + } + + protected void partyUpdated(String nodeName, PartyInfo oinfo, PartyInfo ninfo) { + LevelPartyHost host = this.getPartyHost(oinfo); + if (host != null) { + host.partyUpdated(nodeName, oinfo, ninfo); + } + + this._adminmgr.getPlaceBrowserObject().updateParties(ninfo.createPartySummary(nodeName)); + } + + protected void partyRemoved(String nodeName, PartyInfo info) { + LevelPartyHost host = this.getPartyHost(info); + if (host != null) { + host.partyRemoved(nodeName, info); + } + + this._adminmgr.getPlaceBrowserObject().removeFromParties(new Key(nodeName, info.getPartyOid())); + } + + protected LevelPartyHost getPartyHost(PartyInfo info) { + LevelPartyHost host = this._dungeonMgr.getGate(info.getGateId()); + if (host == null) { + log.warning("Missing host for party.", "info", info); + } + + return host; + } + + protected void bootDuplicateClient(String nodeName, ProjectXClientInfo info) { + PresentsSession session = this._clmgr.getClient(info.username); + if (session != null && session.getClientObject() != null) { + PlayerLocal local = session.getClientObject().getLocal(PlayerLocal.class); + if (local.transferState == TransferState.NONE) { + log.info("Booting user that has connected on another node", + "username", info.username, "otherNode", nodeName); + session.endSession(); + } + + } + } + + protected void mapKnight(String nodeName, ProjectXClientInfo clinfo) { + if (clinfo.visibleName != null) { + this._knights.put(clinfo.visibleName, clinfo); + clinfo.nodeName = nodeName; + } + + } + + protected void unmapKnight(ProjectXClientInfo clinfo) { + ProjectXClientInfo oinfo = this._knights.remove(clinfo.visibleName); + if (oinfo != null && !oinfo.nodeName.equals(clinfo.nodeName)) { + this._knights.put(oinfo.visibleName, oinfo); + } + + } + + protected void updateLeadNode() { + PeerNode olead = this._leadNode; + String leadName = this._nodeName; + this._leadNode = null; + + for (PeerNode node : this._peers.values()) { + String name = node.getNodeName(); + if (name.compareTo(leadName) < 0 && node.getClient().isLoggedOn() && node.nodeobj != null) { + leadName = name; + this._leadNode = node; + } + } + + if (this._leadNode != olead) { + + for (LeadInterval ival : this._leadIntervals) { + if (this.isLeadNode()) { + ival.schedule(); + } else { + ival.cancel(); + } + } + + this._leadNodeObservers.apply(observer -> { + observer.leadNodeChanged(ThetyaPeerManager.this._leadNode); + return true; + }); + } + } + + protected void updateLogonQueue(final int oticket, PlayerData holder) { + if (oticket == 0) { + this._logonQueue.insertSorted(holder, QUEUE_TICKET_COMP); + } else { + int idx = this._logonQueue.binarySearch(info -> oticket - info.getQueueTicket()); + if (idx >= 0) { + this._logonQueue.remove(idx); + } else { + Log.log.warning("Couldn't find ticket holder to remove.", "ticket", oticket); + } + } + + this.updateQueuePositions(); + this.maybeReleaseFromLogonQueue(); + } + + protected void updateQueuePositions() { + int ii = 0; + + for(int nn = this._logonQueue.size(); ii < nn; ++ii) { + PlayerData holder = this._logonQueue.get(ii); + if (holder instanceof PlayerObject) { + PlayerObject player = (PlayerObject)holder; + int pos = ii + 1; + if (player.queuePosition > pos) { + player.setQueuePosition(pos); + } + } + } + + } + + protected void joinPlayerInstance(PlayerObject player, PlayerObject oplayer) throws InvocationException { + Instance instance = ThetyaSceneRegistry.getInstance(oplayer); + PlaceManager plmgr = this._plreg.getPlaceManager(oplayer.getPlaceOid()); + String unjoinable = MessageBundle.tcompose("m.friend_unjoinable", oplayer.knight); + if (instance != null && plmgr instanceof ThetyaSceneManager && oplayer.whereabouts.isJoinable(player, this._adminmgr.getServerObject(), System.currentTimeMillis())) { + ThetyaSceneManager scenemgr = (ThetyaSceneManager)plmgr; + ActorLogic logic = scenemgr.getActorLogic(oplayer.pawnId); + if (logic == null) { + throw new InvocationException(unjoinable); + } else { + instance.addPlayer(player); + this._zonereg.moveBody(player, instance.getZoneId(), scenemgr.getScene().getId(), logic.getEntityKey()); + } + } else { + throw new InvocationException(unjoinable); + } + } + + protected void joinPlayerParty(PlayerObject player, PlayerObject oplayer, LevelParty party) throws InvocationException { + if (Party.getParty(player) != party) { + if (party.getBootedIds().contains(player.knightId)) { + throw new InvocationException(MessageBundle.tcompose("m.friend_party_booted", oplayer.knight)); + } else if (!party.isOpen(player)) { + throw new InvocationException(MessageBundle.tcompose("m.friend_party_full", oplayer.knight)); + } else if (player.getEnergy(System.currentTimeMillis()) < party.getEnergy()) { + throw new InvocationException("m.nsf_energy"); + } else { + Integer progress = party.checkProgress(player.knightId); + if (progress != null) { + throw new InvocationException(MessageBundle.tcompose("m.friend_party_progress", oplayer.knight, progress)); + } else { + party.addMember(player, true); + } + } + } + } + + protected void moveToPlayer(PlayerObject player, Name name) throws InvocationException { + PlayerObject oplayer = this._knightmgr.getPlayer(name); + if (oplayer == null) { + throw new InvocationException("m.user_not_online"); + } else { + PlaceManager plmgr = this._plreg.getPlaceManager(oplayer.getPlaceOid()); + if (!(plmgr instanceof ThetyaSceneManager)) { + throw new InvocationException("m.player_between_scenes"); + } else { + ThetyaSceneManager scenemgr = (ThetyaSceneManager) plmgr; + Party party = Party.getParty(player); + Party oparty = Party.getParty(scenemgr); + if (party != oparty) { + if (party != null) { + party.removePlayer(player, false); + } + + if (oparty != null) { + oparty.addMember(player, false); + } + } + + Instance instance = ThetyaSceneRegistry.getInstance(player); + Instance oinstance = scenemgr.getInstance(); + if (instance != oinstance) { + if (instance != null) { + instance.removePlayer(player); + } + + if (oinstance != null) { + oinstance.addPlayer(player); + } + } + + final ActorLogic ologic = scenemgr.getActorLogic(oplayer.pawnId); + if (player.getPlaceOid() == oplayer.getPlaceOid()) { + final ActorLogic logic = scenemgr.getActorLogic(player.pawnId); + if (logic != null && ologic != null) { + scenemgr.addTickParticipant(timestamp -> { + Vector2f translation = ologic.getTranslation(); + logic.warp(translation.x, translation.y, ologic.getRotation()); + return false; + }); + } + + } else { + if (ologic == null) { + this._zonereg.moveBody(player, oplayer.zoneId, scenemgr.getScene().getId()); + } else { + this._zonereg.moveBody(player, oplayer.zoneId, scenemgr.getScene().getId(), ologic.getEntityKey()); + } + + } + } + } + } + + protected void maybeCreateTransferSession(PlayerObject player, Object[] locals, com.samskivert.util.ResultListener rl) throws InvocationException { + if (this._adminmgr.isShuttingDown()) { + throw new InvocationException("m.peer_shutting_down"); + } else { + if (locals == null) { + rl.requestCompleted(null); + } else { + this._clmgr.addClient(player, locals, rl); + } + + } + } + + protected void maybeDestroyTransferSession(ThetyaSession session) { + if (session != null) { + session.endTransferSession(); + } + + } + +// protected void continueSubscribingToGuild(final String nodeName, final int[] remoteOids, com.samskivert.util.ResultListener listener) { +// this.proxyRemoteObject(nodeName, remoteOids[0], new ChainedResultListener(listener) { +// +// public void requestCompleted(Integer result) { +// GuildObject guildobj = (GuildObject) this._dObjectMgr.getObject(result); +// guildobj.remoteOid = remoteOids[0]; +// ThetyaPeerManager.this.finishSubscribingToGuild(nodeName, remoteOids, guildobj, this._target); +// } +// }); +// } + + protected void finishSubscribingToGuild(String nodeName, final int[] remoteOids, final GuildObject guildobj, com.samskivert.util.ResultListener listener) { + this.proxyRemoteObject(nodeName, remoteOids[1], new ChainedResultListener(listener) { + public void requestCompleted(Integer result) { + OfficerObject officerobj = (OfficerObject) ThetyaPeerManager.this._omgr.getObject(result); + officerobj.remoteOid = remoteOids[1]; + this._target.requestCompleted(new DObject[]{guildobj, officerobj}); + } + }); + } + + protected void maybeUpdateClients(PlayerObject player, ProjectXClientInfo info) { + if (player.getLocal(PlayerLocal.class).transferState == TransferState.NONE) { + this._nodeobj.updateClients(info); + } + + } + + protected class PlayerObjectListener implements AttributeChangeListener { + protected PlayerObject _player; + + public PlayerObjectListener(PlayerObject player) { + this._player = player; + } + + public void attributeChanged(AttributeChangedEvent event) { + String name = event.getName(); + ProjectXClientInfo info; + if (name.equals("knight")) { + info = (ProjectXClientInfo) ThetyaPeerManager.this._nodeobj.clients.get(this._player.username); + if (info != null) { + info.visibleName = (Name)event.getValue(); + info.knightId = this._player.knightId; + ThetyaPeerManager.this.maybeUpdateClients(this._player, info); + } + } else if (name.equals("flags") || name.equals("crystal") || name.equals("playerVaporStamp")) { + info = (ProjectXClientInfo) ThetyaPeerManager.this._nodeobj.clients.get(this._player.username); + if (info != null) { + info.energyStamp = this._player.getEnergyStamp(System.currentTimeMillis()); + ThetyaPeerManager.this.maybeUpdateClients(this._player, info); + } + } + + } + } + + public static class ExtendedStats extends Stats { + public Multiset> nodeActionsInvoked = HashMultiset.create(); + public Multiset namedEventsSent = HashMultiset.create(); + + public ExtendedStats() { + } + + public void noteNodeActionInvoked(NodeAction action) { + super.noteNodeActionInvoked(action); + this.nodeActionsInvoked.add(action.getClass()); + } + + public void notePeerMessageSent(DownstreamMessage msg) { + super.notePeerMessageSent(msg); + if (msg instanceof EventNotification) { + this.noteEventSent(((EventNotification)msg).getEvent()); + } + + } + + public ExtendedStats clone() { + ExtendedStats cstats = (ExtendedStats)super.clone(); + cstats.nodeActionsInvoked = HashMultiset.create(this.nodeActionsInvoked); + cstats.namedEventsSent = HashMultiset.create(this.namedEventsSent); + return cstats; + } + + protected void noteEventSent(DEvent event) { + if (event instanceof CompoundEvent) { + List events = ((CompoundEvent)event).getEvents(); + int ii = 0; + + for(int nn = events.size(); ii < nn; ++ii) { + this.noteEventSent(events.get(ii)); + } + } else if (event instanceof NamedEvent) { + this.namedEventsSent.add(((NamedEvent)event).getName()); + } + + } + } + + public static class EndTransferSessionAction extends NodeAction { + protected Name _username; + @Inject + protected transient ThetyaClientManager _clmgr; + + public EndTransferSessionAction(Name username) { + this._username = username; + } + + public EndTransferSessionAction() { + } + + public boolean isApplicable(NodeObject nodeobj) { + return true; + } + + protected void execute() { + ThetyaSession session = (ThetyaSession)this._clmgr.getClient(this._username); + if (session != null) { + session.endTransferSession(); + } + + } + } + + public abstract static class KnightRequest extends NodeRequest { + protected Name _name; + @Inject + protected transient KnightManager _knightmgr; + + public KnightRequest(Name name) { + this._name = name; + } + + public KnightRequest() { + } + + public Name getKnight() { + return this._name; + } + + public boolean isApplicable(NodeObject nodeobj) { + return true; + } + + protected void execute(ResultListener listener) { + PlayerObject player = this._knightmgr.getPlayer(this._name); + if (player != null) { + this.execute(player, listener); + } else { + listener.requestFailed("m.user_not_online"); + } + + } + + protected abstract void execute(PlayerObject var1, ResultListener var2); + } + + public abstract static class KnightAction extends NodeAction { + protected Name _name; + @Inject + protected transient KnightManager _knightmgr; + + public KnightAction(Name name) { + this._name = name; + } + + public KnightAction() { + } + + public Name getName() { + return this._name; + } + + public boolean isApplicable(NodeObject nodeobj) { + return true; + } + + protected void execute() { + PlayerObject player = this._knightmgr.getPlayer(this._name); + if (player != null) { + this.execute(player); + } + + } + + protected abstract void execute(PlayerObject var1); + } + + public abstract static class ClientAction extends NodeAction { + protected Name _username; + @Inject + protected transient ThetyaClientManager _clmgr; + + public ClientAction(Name username) { + this._username = username; + } + + public ClientAction() { + } + + public boolean isApplicable(NodeObject nodeobj) { + return true; + } + + protected void execute() { + PlayerObject player = (PlayerObject)this._clmgr.getClientObject(this._username); + if (player != null) { + this.execute(player); + } + + } + + protected abstract void execute(PlayerObject var1); + } + + public abstract static class LeadInterval extends Interval { + public LeadInterval(RunQueue runQueue) { + super(runQueue); + } + + public abstract void schedule(); + } + + public interface LeadNodeObserver { + void leadNodeChanged(PeerNode var1); + } +} diff --git a/src/com/github/thetya/server/peer/ThetyaPeerNode.java b/src/com/github/thetya/server/peer/ThetyaPeerNode.java new file mode 100644 index 0000000..faf53c8 --- /dev/null +++ b/src/com/github/thetya/server/peer/ThetyaPeerNode.java @@ -0,0 +1,340 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.peer; + +import com.github.thetya.server.admin.ThetyaAdminManager; +import com.github.thetya.server.scene.ThetyaSceneRegistry.Instance; +import com.github.thetya.server.zone.InstancedZoneManager; +import com.github.thetya.server.zone.ThetyaZoneRegistry; +import com.google.inject.Inject; +import com.threerings.config.dist.data.ConfigEntry; +import com.threerings.config.dist.data.ConfigKey; +import com.threerings.config.dist.data.DConfigObject; +import com.threerings.config.dist.data.DConfigObject.ClientEntryAddedEvent; +import com.threerings.config.dist.data.DConfigObject.ClientEntryRemovedEvent; +import com.threerings.config.dist.data.DConfigObject.ClientEntryUpdatedEvent; +import com.threerings.config.dist.server.DConfigManager; +import com.threerings.presents.client.Client; +import com.threerings.presents.dobj.*; +import com.threerings.presents.dobj.DSet.Entry; +import com.threerings.presents.peer.data.ClientInfo; +import com.threerings.presents.peer.data.NodeObject; +import com.threerings.presents.peer.server.PeerNode; +import com.threerings.presents.peer.util.PeerUtil; +import com.threerings.projectx.admin.data.NodeInfo; +import com.threerings.projectx.admin.data.NodeStatus; +import com.threerings.projectx.admin.data.PlaceBrowserObject; +import com.threerings.projectx.admin.data.PlaceSummary; +import com.threerings.projectx.peer.data.PartyInfo; +import com.threerings.projectx.peer.data.ProjectXNodeObject; +import com.threerings.projectx.peer.data.ZoneInstanceInfo; +import com.threerings.projectx.server.ServerConfig; + +import java.util.Collections; + +/** + * Contains all runtime information for one of our peer nodes. + */ +public class ThetyaPeerNode extends PeerNode { + + /** + * Instance of the peer service invocation provider. + **/ + public ProjectXPeerProvider peerProvider; + + /** + * Our peered environment manager. + **/ + @Inject + protected ThetyaPeerManager _peermgr; + + /** + * Our admin services manager. + **/ + @Inject + protected ThetyaAdminManager _adminMgr; + + /** + * Our zone registry. + **/ + @Inject + protected ThetyaZoneRegistry _zoneRegistry; + + /** + * Our distributed configs manager. + **/ + @Inject + protected DConfigManager _distributedConfigMgr; + + /** + * Called when the {@link NodeObject} is available. + */ + @Override + public void objectAvailable(NodeObject nodeObject) { + super.objectAvailable(nodeObject); + + ProjectXNodeObject xNodeObject = (ProjectXNodeObject) nodeObject; + peerProvider = PeerUtil.createProviderProxy(ProjectXPeerProvider.class, xNodeObject.projectXPeerService, _client); + + mirrorLastQueueTicket(xNodeObject.lastQueueTicket); + mirrorLastTestGateId(xNodeObject.lastTestGateId); + + _adminMgr.nodeAdded(xNodeObject.info, xNodeObject.status); + + new DConfigUpdater().init(); + + PlaceBrowserObject placeBrowserObject = _adminMgr.getPlaceBrowserObject(); + placeBrowserObject.startTransaction(); + + try { + for (PartyInfo partyInfo : xNodeObject.parties) { + _peermgr.partyAdded(getNodeName(), partyInfo); + } + + for (PlaceSummary placeSummary : xNodeObject.places) { + placeBrowserObject.addToPlaces(placeSummary); + } + } finally { + placeBrowserObject.commitTransaction(); + } + + for (ZoneInstanceInfo zoneInstanceInfo : xNodeObject.zoneInstances) { + maybeShutdownLocalInstance(zoneInstanceInfo); + } + } + + /** + * Called after the node has been logged off of the peer network and has disconnected. + */ + @Override + public void clientDidLogoff(Client client) { + ProjectXNodeObject xNodeObject = (ProjectXNodeObject) nodeobj; + + if (xNodeObject != null) { + PlaceBrowserObject placeBrowserObject = _adminMgr.getPlaceBrowserObject(); + placeBrowserObject.startTransaction(); + + try { + for (PartyInfo partyInfo : xNodeObject.parties) { + _peermgr.partyRemoved(getNodeName(), partyInfo); + } + + for (PlaceSummary placeSummary : xNodeObject.places) { + placeBrowserObject.removeFromPlaces(placeSummary.getKey()); + } + } finally { + placeBrowserObject.commitTransaction(); + } + } else { + Log.log.warning("No node object found during logoff.", "nodeName", getNodeName()); + } + + super.clientDidLogoff(client); + _adminMgr.nodeRemoved(getNodeName()); + peerProvider = null; + } + + /** + * Creates the {@link ProjectXNodeObjectListener} to use. + */ + @Override + protected NodeObjectListener createListener() { + return new ProjectXNodeObjectListener(); + } + + /** + * Mirrors last queue ticket. + */ + protected void mirrorLastQueueTicket(int value) { + ProjectXNodeObject xNodeObject = (ProjectXNodeObject) _peermgr.getNodeObject(); + + if (value > xNodeObject.lastQueueTicket) { + xNodeObject.setLastQueueTicket(value); + } + } + + /** + * Mirrors last test gate ID. + */ + protected void mirrorLastTestGateId(int value) { + ProjectXNodeObject xNodeObject = (ProjectXNodeObject) _peermgr.getNodeObject(); + + if (value < xNodeObject.lastTestGateId) { + xNodeObject.setLastTestGateId(value); + } + } + + /** + * Attempts to shutdown local zone instance, if found. + */ + protected void maybeShutdownLocalInstance(ZoneInstanceInfo zoneInstance) { + int zoneId = zoneInstance.getZoneId(); + Instance instance = _zoneRegistry.getInstance(zoneId, zoneInstance.getInstanceId()); + if (instance != null) { + if (getNodeName().compareTo(PeerConfig.getNode()) < 0) { + ((InstancedZoneManager) _zoneRegistry.getZoneManager(zoneId)) + .shutdownRedundantInstance(instance); + } + } + } + + /** + * An updater for distributed configs in the peered environment. + */ + protected class DConfigUpdater implements Subscriber, SetListener { + + public void init() { + int oid = ((ProjectXNodeObject) nodeobj).dconfigOid; + _client.getDObjectManager().subscribeToObject(oid, this); + + Log.log.debug("DConfig updater initialized."); + } + + @Override + public void objectAvailable(DConfigObject object) { + _distributedConfigMgr.updateConfigs(0, object.added, object.updated, object.removed); + object.addListener(this); + } + + @Override + public void requestFailed(int oid, ObjectAccessException cause) { + Log.log.warning("Failed to subscribe to DConfig object.", "record", _record, cause); + } + + @Override + public void entryAdded(EntryAddedEvent event) { + if (((ClientEntryAddedEvent) event).getClientOid() != 0) { + String name = event.getName(); + switch (name) { + case "added": + _distributedConfigMgr + .updateConfigs(0, Collections.singleton((ConfigEntry) event.getEntry()), + Collections.emptySet(), Collections.emptySet()); + break; + case "updated": + _distributedConfigMgr.updateConfigs(0, Collections.emptySet(), + Collections.singleton((ConfigEntry) event.getEntry()), Collections.emptySet()); + break; + case "removed": + _distributedConfigMgr + .updateConfigs(0, Collections.emptySet(), Collections.emptySet(), + Collections.singleton((ConfigKey) event.getEntry())); + break; + } + } + } + + @Override + public void entryUpdated(EntryUpdatedEvent event) { + if (((ClientEntryUpdatedEvent) event).getClientOid() != 0) { + String name = event.getName(); + switch (name) { + case "added": + _distributedConfigMgr + .updateConfigs(0, Collections.singleton((ConfigEntry) event.getEntry()), + Collections.emptySet(), Collections.emptySet()); + break; + case "updated": + _distributedConfigMgr.updateConfigs(0, Collections.emptySet(), + Collections.singleton((ConfigEntry) event.getEntry()), Collections.emptySet()); + break; + } + } + } + + @Override + public void entryRemoved(EntryRemovedEvent event) { + if (((ClientEntryRemovedEvent) event).getClientOid() != 0) { + String name = event.getName(); + if (name.equals("added") || name.equals("updated")) { + _distributedConfigMgr + .updateConfigs(0, Collections.emptySet(), Collections.emptySet(), + Collections.singleton((ConfigKey) event.getKey())); + } + } + } + } + + /** + * Listens to {@link ProjectXNodeObject} changes. + */ + protected class ProjectXNodeObjectListener extends NodeObjectListener { + + @Override + public void attributeChanged(AttributeChangedEvent event) { + super.attributeChanged(event); + String name = event.getName(); + switch (name) { + case "info": + _adminMgr.nodeInfoUpdated((NodeInfo) event.getValue()); + break; + case "status": + _adminMgr.nodeStatusUpdated((NodeStatus) event.getValue()); + break; + case "lastQueueTicket": + mirrorLastQueueTicket(event.getIntValue()); + break; + case "lastTestGateId": + mirrorLastTestGateId(event.getIntValue()); + break; + } + } + + @Override + public void entryAdded(EntryAddedEvent event) { + super.entryAdded(event); + String name = event.getName(); + switch (name) { + case "parties": + _peermgr.partyAdded(getNodeName(), (PartyInfo) event.getEntry()); + break; + case "places": + _adminMgr.getPlaceBrowserObject() + .addToPlaces((PlaceSummary) event.getEntry()); + break; + case "zoneInstances": + maybeShutdownLocalInstance((ZoneInstanceInfo) event.getEntry()); + break; + } + } + + @Override + public void entryUpdated(EntryUpdatedEvent event) { + super.entryUpdated(event); + String name = event.getName(); + switch (name) { + case "clients": + _peermgr.clientUpdated(getNodeName(), (ClientInfo) event.getOldEntry(), + (ClientInfo) event.getEntry()); + break; + case "parties": + _peermgr.partyUpdated(getNodeName(), (PartyInfo) event.getOldEntry(), + (PartyInfo) event.getEntry()); + break; + case "places": + _adminMgr.getPlaceBrowserObject() + .updatePlaces((PlaceSummary) event.getEntry()); + break; + } + } + + @Override + public void entryRemoved(EntryRemovedEvent event) { + super.entryRemoved(event); + String name = event.getName(); + switch (name) { + case "parties": + _peermgr.partyRemoved(getNodeName(), (PartyInfo) event.getOldEntry()); + break; + case "places": + _adminMgr.getPlaceBrowserObject().removeFromPlaces(event.getKey()); + break; + } + } + } +} \ No newline at end of file diff --git a/src/com/github/thetya/server/peer/util/NodePlayerTransfer.java b/src/com/github/thetya/server/peer/util/NodePlayerTransfer.java new file mode 100644 index 0000000..d3aad60 --- /dev/null +++ b/src/com/github/thetya/server/peer/util/NodePlayerTransfer.java @@ -0,0 +1,97 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.peer.util; + +import com.github.thetya.server.PlayerLocal; +import com.github.thetya.server.PlayerLocal.TransferState; +import com.github.thetya.server.peer.Log; +import com.github.thetya.server.peer.ThetyaPeerManager; +import com.google.common.base.Function; +import com.samskivert.util.ResultListener; +import com.samskivert.util.Tuple; +import com.threerings.presents.client.Client; +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.peer.data.NodeObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.peer.data.ProjectXNodeObject; + +/** + * A special {@link ConfirmListener} implementation used for node player transfer. + */ +public abstract class NodePlayerTransfer implements ConfirmListener { + protected ThetyaPeerManager _peermgr; + protected PlayerObject _player; + protected String _nodeName; + protected String _publicHost; + protected ResultListener _listener; + + public NodePlayerTransfer(PlayerObject player, ResultListener rl) { + this(player, null, rl); + } + + public NodePlayerTransfer(PlayerObject player, String nodeName, ResultListener rl) { + this._player = player; + this._nodeName = nodeName; + this._listener = rl; + } + + public boolean invoke(ThetyaPeerManager peermgr) { + this._peermgr = peermgr; + return peermgr.invokeOnNodes(new Function, Boolean>() { + protected boolean _requested; + + @Override + public Boolean apply(Tuple tuple) { + if (this._requested) { + return false; + } + + return this._requested = NodePlayerTransfer.this.apply(tuple.left, (ProjectXNodeObject) tuple.right); + } + }) > 0; + } + + @Override + public void requestProcessed() { + this._peermgr.forceServerSwitch(this._player, this._nodeName, this._publicHost); + this._listener.requestCompleted(false); + } + + @Override + public void requestFailed(String cause) { + this._player.getLocal(PlayerLocal.class).transferState = TransferState.NONE; + this.handleFailure(cause); + } + + protected boolean apply(Client client, ProjectXNodeObject nodeobj) { + if (!this.shouldTransfer(nodeobj)) { + return false; + } else { + this._nodeName = nodeobj.nodeName; + if ((this._publicHost = this._peermgr.getPeerPublicHostName(this._nodeName)) == null) { + Log.log.warning("Public hostname not known for peer.", "node", this._nodeName); + return false; + } else { + this._player.getLocal(PlayerLocal.class).transferState = TransferState.IN_PROGRESS; + this.requestTransfer(client, nodeobj, this._player, this._player.getLocals().toArray()); + return true; + } + } + } + + protected boolean shouldTransfer(ProjectXNodeObject nodeobj) { + return nodeobj.nodeName.equals(this._nodeName); + } + + protected abstract void requestTransfer(Client var1, ProjectXNodeObject var2, PlayerObject var3, Object[] var4); + + protected void handleFailure(String cause) { + this._listener.requestFailed(new InvocationException(cause)); + } +} \ No newline at end of file diff --git a/src/com/github/thetya/server/peer/util/ProviderPlayerTransfer.java b/src/com/github/thetya/server/peer/util/ProviderPlayerTransfer.java new file mode 100644 index 0000000..5d17914 --- /dev/null +++ b/src/com/github/thetya/server/peer/util/ProviderPlayerTransfer.java @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.peer.util; + +import com.github.thetya.server.PlayerLocal; +import com.github.thetya.server.PlayerLocal.TransferState; +import com.github.thetya.server.peer.Log; +import com.github.thetya.server.peer.ProjectXPeerProvider; +import com.github.thetya.server.peer.ThetyaPeerManager; +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.server.InvocationException; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.data.ProjectXCodes; + +public abstract class ProviderPlayerTransfer implements ConfirmListener, ProjectXCodes { + protected ThetyaPeerManager _peermgr; + protected PlayerObject _player; + protected String _nodeName; + protected String _publicHost; + protected ConfirmListener _cl; + protected boolean _transferring; + + public ProviderPlayerTransfer(PlayerObject player, String nodeName, ConfirmListener cl) { + this._player = player; + this._nodeName = nodeName; + this._cl = cl; + } + + public void invoke(ThetyaPeerManager peermgr) throws InvocationException { + ProjectXPeerProvider provider = peermgr.requireProjectXPeerProvider(this._nodeName); + if (provider == peermgr) { + this.requestTransfer(provider, this._player, null); + } else if ((this._publicHost = peermgr.getPeerPublicHostName(this._nodeName)) == null) { + Log.log.warning("Public hostname not known for peer.", "node", this._nodeName); + throw new InvocationException("m.internal_error"); + } else { + this._peermgr = peermgr; + this._transferring = true; + (this._player.getLocal(PlayerLocal.class)).transferState = TransferState.IN_PROGRESS; + + try { + this.requestTransfer(provider, this._player, this._player.getLocals().toArray()); + } catch (InvocationException var4) { + (this._player.getLocal(PlayerLocal.class)).transferState = TransferState.NONE; + throw var4; + } + } + } + + public void requestProcessed() { + if (this._transferring) { + this._peermgr.forceServerSwitch(this._player, this._nodeName, this._publicHost); + } + + this._cl.requestProcessed(); + } + + public void requestFailed(String cause) { + if (this._transferring) { + (this._player.getLocal(PlayerLocal.class)).transferState = TransferState.NONE; + } + + this.handleFailure(cause); + } + + protected abstract void requestTransfer(ProjectXPeerProvider var1, PlayerObject var2, Object[] var3) throws InvocationException; + + protected void handleFailure(String cause) { + this._cl.requestFailed(cause); + } +} diff --git a/src/com/github/thetya/server/persist/AnnouncementStatusRecord.java b/src/com/github/thetya/server/persist/AnnouncementStatusRecord.java new file mode 100644 index 0000000..46bebbd --- /dev/null +++ b/src/com/github/thetya/server/persist/AnnouncementStatusRecord.java @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.persist; + +import com.samskivert.depot.Key; +import com.samskivert.depot.PersistentRecord; +import com.samskivert.depot.annotation.Column; +import com.samskivert.depot.annotation.GeneratedValue; +import com.samskivert.depot.annotation.GenerationType; +import com.samskivert.depot.annotation.Id; +import com.samskivert.depot.expression.ColumnExp; + +public class AnnouncementStatusRecord extends PersistentRecord { + + // AUTO-GENERATED: FIELDS START + public static final Class _R = AnnouncementStatusRecord.class; + public static final ColumnExp ID = colexp(_R, "mailId"); + public static final ColumnExp ANNOUNCEMENT_ID = colexp(_R, "announcementId"); + public static final ColumnExp KNIGHT_ID = colexp(_R, "knightId"); + public static final ColumnExp READ = colexp(_R, "read"); + // AUTO-GENERATED: FIELDS END + + /** + * Increment this value if you change this record's schema. + */ + public static final int SCHEMA_VERSION = 2; + + /** + * A mail record's unique identifier. Automatically filled at insertion time. + */ + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + public long id; + + /** + * ID of the announcement this record is for. + */ + public long announcementId; + + /** + * ID of the knight this record is for. + */ + public long knightId; + + /** + * Indicates whether given announcement was read. + */ + @Column(defaultValue = "true") + public boolean read; + + // AUTO-GENERATED: METHODS START + /** + * Create and return a primary {@link Key} to identify a {@link AnnouncementStatusRecord} with + * the supplied key values. + */ + public static Key getKey(int id) { + return newKey(_R, id); + } + // AUTO-GENERATED: METHODS END +} diff --git a/src/com/github/thetya/server/persist/BagRecord.java b/src/com/github/thetya/server/persist/BagRecord.java new file mode 100644 index 0000000..9948a60 --- /dev/null +++ b/src/com/github/thetya/server/persist/BagRecord.java @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.persist; + +import com.samskivert.depot.Key; +import com.samskivert.depot.PersistentRecord; +import com.samskivert.depot.annotation.Entity; +import com.samskivert.depot.annotation.GeneratedValue; +import com.samskivert.depot.annotation.GenerationType; +import com.samskivert.depot.annotation.Id; +import com.samskivert.depot.expression.ColumnExp; + +/** + * Bags are containers for items. They have owners (knights) and items tied to their IDs. They are + * used by the item management code to look up items belonging to knights. + *

+ * I don't have an idea why OOO wouldn't just assign items directly to knights, but whatever. If it + * ever comes to a DB system rewrite, we'll definitely get rid of this shit. ~ sky + */ +@SuppressWarnings("unused") +@Entity(name = "bags") +public class BagRecord extends PersistentRecord { + + // AUTO-GENERATED: FIELDS START + public static final Class _R = BagRecord.class; + public static final ColumnExp BAG_ID = colexp(_R, "bagId"); + public static final ColumnExp KNIGHT_ID = colexp(_R, "knightId"); + // AUTO-GENERATED: FIELDS END + + /** + * Increment this value if you change this record's schema. + */ + public static final int SCHEMA_VERSION = 1; + + /** + * This bag's unique identifier. Automatically filled at insertion time. + */ + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + public int bagId; + + /** + * ID of the knight this bag belongs to. + */ + public int knightId; + + // AUTO-GENERATED: METHODS START + + /** + * Create and return a primary {@link Key} to identify a {@link BagRecord} with the supplied key + * values. + */ + public static Key getKey(int bagId) { + return newKey(_R, bagId); + } + // AUTO-GENERATED: METHODS END +} diff --git a/src/com/github/thetya/server/persist/DailyScoreRecord.java b/src/com/github/thetya/server/persist/DailyScoreRecord.java new file mode 100644 index 0000000..9160e0d --- /dev/null +++ b/src/com/github/thetya/server/persist/DailyScoreRecord.java @@ -0,0 +1,90 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.persist; + +import com.samskivert.depot.Key; +import com.samskivert.depot.PersistentRecord; +import com.samskivert.depot.annotation.Entity; +import com.samskivert.depot.annotation.GeneratedValue; +import com.samskivert.depot.annotation.GenerationType; +import com.samskivert.depot.annotation.Id; +import com.samskivert.depot.expression.ColumnExp; +import java.util.Iterator; +import java.util.List; + +/** + * Individual knight's daily PvP score. + */ +@SuppressWarnings("unused") +@Entity(name = "daily_scores") +public class DailyScoreRecord extends PersistentRecord { + + // AUTO-GENERATED: FIELDS START + public static final Class _R = DailyScoreRecord.class; + public static final ColumnExp DAILY_SCORE_ID = colexp(_R, "dailyScoreId"); + public static final ColumnExp PVP_KEY = colexp(_R, "pvpKey"); + public static final ColumnExp KNIGHT_ID = colexp(_R, "knightId"); + public static final ColumnExp KNIGHTS_BEAT = colexp(_R, "knightsBeatRaw"); + public static final ColumnExp POINTS = colexp(_R, "points"); + // AUTO-GENERATED: FIELDS END + + /** + * Increment this value if you change this record's schema. + */ + public static final int SCHEMA_VERSION = 4; + + /** + * A unique identifier for this record. Automatically filled in at row insertion time. + */ + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + public int dailyScoreId; + + /** + * PvP key (game type) for this record. + */ + public String pvpKey; + + /** + * ID of the knight this record is related to. + */ + public int knightId; + + /** + * Raw list of opponents this knight has beaten that day. + */ + public String knightsBeatRaw; + + /** + * List of opponents this knight has beaten that day. + */ + private List knightsBeat; + + /** + * Number of points scored by this knight that day. + */ + public int points; + + public List getKnightsBeat() { + return knightsBeat; + } + + public void setKnightsBeat(List newKnightsBeat) { + knightsBeat = newKnightsBeat; + } + + // AUTO-GENERATED: METHODS START + /** + * Create and return a primary {@link Key} to identify a {@link DailyScoreRecord} with the + * supplied key values. + */ + public static Key getKey(int dailyScoreId) { + return newKey(_R, dailyScoreId); + } + // AUTO-GENERATED: METHODS END +} diff --git a/src/com/github/thetya/server/persist/DungeonRepository.java b/src/com/github/thetya/server/persist/DungeonRepository.java new file mode 100644 index 0000000..8b8dfef --- /dev/null +++ b/src/com/github/thetya/server/persist/DungeonRepository.java @@ -0,0 +1,102 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.persist; + +import com.github.thetya.server.dungeon.data.GateData; +import com.github.thetya.server.dungeon.data.GateData.Constant; +import com.github.thetya.server.dungeon.data.GateData.Lobby; +import com.github.thetya.server.dungeon.data.GateData.Wedge; +import com.github.thetya.server.dungeon.data.GateData.Wheel; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.samskivert.depot.DepotRepository; +import com.samskivert.depot.PersistenceContext; +import com.samskivert.depot.PersistentRecord; +import com.samskivert.util.StringUtil; +import com.threerings.export.util.ExportUtil; +import com.threerings.opengl.renderer.config.ColorizationConfig; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + +@Singleton +public class DungeonRepository extends DepotRepository { + + /** + * Creates this repository and provides it with a context via which it will obtain JDBC + * connections. + */ + @Inject + public DungeonRepository(PersistenceContext ctx) { + super(ctx); + } + + @Override + public void init() { + super.resolveRecords(); + super.init(); + } + + public List loadLevels() { + return from(LevelRecord.class).select(); + } + + public List loadGates() { + List gateRecords = from(GateRecord.class).select(); + List gateDataContainer = new ArrayList<>(); + + for (GateRecord gateRecord : gateRecords) { + GateData gateData = new GateData(); + gateData.setGateId(gateRecord.gateId); + + if (gateRecord.internalId != null) { + gateData.setInternalId(gateRecord.internalId); + } + + gateData.setName(gateRecord.name); + + if (gateRecord.icon != null) { + gateData.setIcon(gateRecord.icon); + } else { + gateData.setIcon(null); + } + + if (!StringUtil.isBlank(gateRecord.backgroundColorization) + && !StringUtil.isBlank(gateRecord.iconColorization)) { + ColorizationConfig.Normal backgroundConfig = + (ColorizationConfig.Normal) ExportUtil.fromString(gateRecord.backgroundColorization); + ColorizationConfig.Normal iconConfig = + (ColorizationConfig.Normal) ExportUtil.fromString(gateRecord.iconColorization); + + gateData.setColorizations(new ColorizationConfig[] { iconConfig, backgroundConfig }); + } else { + gateData.setColorizations(new ColorizationConfig[] { null, null }); + } + + gateData.setDescription(gateRecord.description); + gateData.setPriority(gateRecord.priority); + gateData.setTokens(gateRecord.tokens); + gateData.setFlags(gateRecord.flags); + gateData.setSourceId(gateRecord.sourceId); + gateData.setDestId(gateRecord.destinationId); + gateData.setDepth(gateRecord.depth); + + gateData.setWheels((Wheel[]) ExportUtil.fromString(gateRecord.wheels)); + + gateDataContainer.add(gateData); + } + + return gateDataContainer; + } + + @Override + protected void getManagedRecords(Set> classes) { + classes.add(GateRecord.class); + classes.add(LevelRecord.class); + } +} diff --git a/src/com/github/thetya/server/persist/FriendRecord.java b/src/com/github/thetya/server/persist/FriendRecord.java new file mode 100644 index 0000000..e0ccd84 --- /dev/null +++ b/src/com/github/thetya/server/persist/FriendRecord.java @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.persist; + +import com.samskivert.depot.Key; +import com.samskivert.depot.PersistentRecord; +import com.samskivert.depot.annotation.Entity; +import com.samskivert.depot.annotation.GeneratedValue; +import com.samskivert.depot.annotation.GenerationType; +import com.samskivert.depot.annotation.Id; +import com.samskivert.depot.expression.ColumnExp; + +@Entity(name = "friends") +public class FriendRecord extends PersistentRecord { + + // AUTO-GENERATED: FIELDS START + public static final Class _R = FriendRecord.class; + public static final ColumnExp FRIENDSHIP_ID = colexp(_R, "friendshipId"); + public static final ColumnExp KNIGHT_ID_1 = colexp(_R, "knightId1"); + public static final ColumnExp KNIGHT_ID_2 = colexp(_R, "knightId2"); + public static final ColumnExp COLOR = colexp(_R, "color"); + // AUTO-GENERATED: FIELDS END + + /** + * Increment this value if you change this record's schema. + */ + public static final int SCHEMA_VERSION = 1; + + /** + * A friend record's unique identifier. Automatically filled at insertion time. + */ + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + public int friendshipId; + + /** + * IDs of both befriended knights; + */ + public int knightId1; + public int knightId2; + + public int color; + + public FriendRecord() {} + + public FriendRecord(int knightId1, int knightId2) { + this.knightId1 = knightId1; + this.knightId2 = knightId2; + this.color = 0; + } + + // AUTO-GENERATED: METHODS START + + /** + * Create and return a primary {@link Key} to identify a {@link FriendRecord} with the supplied key + * values. + */ + public static Key getKey(int friendshipId) { + return newKey(_R, friendshipId); + } + // AUTO-GENERATED: METHODS END + +} diff --git a/src/com/github/thetya/server/persist/FriendRepository.java b/src/com/github/thetya/server/persist/FriendRepository.java new file mode 100644 index 0000000..2aeead2 --- /dev/null +++ b/src/com/github/thetya/server/persist/FriendRepository.java @@ -0,0 +1,73 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.persist; + +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.samskivert.depot.DepotRepository; +import com.samskivert.depot.PersistenceContext; +import com.samskivert.depot.PersistentRecord; + +import java.util.List; +import java.util.Set; + +@Singleton +public class FriendRepository extends DepotRepository { + + @Inject + KnightRepository _knightRepo; + + /** + * Creates this repository and provides it with a context via which it will obtain JDBC + * connections. + */ + @Inject + public FriendRepository(PersistenceContext ctx) { + super(ctx); + } + + @Override + public void init() { + super.resolveRecords(); + super.init(); + } + + public List loadFriends(int requesterId) { + return from(FriendRecord.class).where(FriendRecord.KNIGHT_ID_1.eq(requesterId).or(FriendRecord.KNIGHT_ID_2.eq(requesterId))).select(); + } + + public void befriend(int knightId1, int knightId2) { + FriendRecord record = new FriendRecord(); + record.knightId1 = knightId1; + record.knightId2 = knightId2; + insert(record); + } + + public void befriend(FriendRecord record) { + insert(record); + } + + public void deleteFriend(int knightId, int unfriendedId) { + from(FriendRecord.class).where(FriendRecord.KNIGHT_ID_1.eq(knightId).and(FriendRecord.KNIGHT_ID_2.eq(unfriendedId))).delete(); + from(FriendRecord.class).where(FriendRecord.KNIGHT_ID_1.eq(unfriendedId).and(FriendRecord.KNIGHT_ID_2.eq(knightId))).delete(); + } + + public void deleteFriends(int knightId) { + from(FriendRecord.class).where(FriendRecord.KNIGHT_ID_1.eq(knightId).or(FriendRecord.KNIGHT_ID_2.eq(knightId))).delete(); + } + + public int numFriends(int knightId) { + return from(FriendRecord.class).where(FriendRecord.KNIGHT_ID_1.eq(knightId).or(FriendRecord.KNIGHT_ID_2.eq(knightId))).selectCount(); + } + + @Override + protected void getManagedRecords(Set> classes) { + classes.add(FriendRecord.class); + } + +} diff --git a/src/com/github/thetya/server/persist/GateProgressRecord.java b/src/com/github/thetya/server/persist/GateProgressRecord.java new file mode 100644 index 0000000..0d9011e --- /dev/null +++ b/src/com/github/thetya/server/persist/GateProgressRecord.java @@ -0,0 +1,11 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.persist; + +public class GateProgressRecord { +} diff --git a/src/com/github/thetya/server/persist/GateRecord.java b/src/com/github/thetya/server/persist/GateRecord.java new file mode 100644 index 0000000..64afb93 --- /dev/null +++ b/src/com/github/thetya/server/persist/GateRecord.java @@ -0,0 +1,90 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.persist; + +import com.samskivert.depot.Key; +import com.samskivert.depot.PersistentRecord; +import com.samskivert.depot.annotation.Entity; +import com.samskivert.depot.annotation.GeneratedValue; +import com.samskivert.depot.annotation.GenerationType; +import com.samskivert.depot.annotation.Id; +import com.samskivert.depot.expression.ColumnExp; + +@Entity(name = "gates") +public class GateRecord extends PersistentRecord { + + // AUTO-GENERATED: FIELDS START + public static final Class _R = GateRecord.class; + public static final ColumnExp GATE_ID = colexp(_R, "gateId"); + public static final ColumnExp INTERNAL_ID = colexp(_R, "internalId"); + public static final ColumnExp NAME = colexp(_R, "name"); + public static final ColumnExp DESCRIPTION = colexp(_R, "description"); + public static final ColumnExp ICON = colexp(_R, "icon"); + public static final ColumnExp BACKGROUND_COLORIZATION = colexp(_R, "backgroundColorization"); + public static final ColumnExp ICON_COLORIZATION = colexp(_R, "iconColorization"); + public static final ColumnExp PRIORITY = colexp(_R, "priority"); + public static final ColumnExp TOKENS = colexp(_R, "tokens"); + public static final ColumnExp FLAGS = colexp(_R, "flags"); + public static final ColumnExp SOURCE_ID = colexp(_R, "sourceId"); + public static final ColumnExp SOURCE_PORTAL = colexp(_R, "sourcePortal"); + public static final ColumnExp DESTINATION_ID = colexp(_R, "destinationId"); + public static final ColumnExp DEPTH = colexp(_R, "depth"); + public static final ColumnExp WHEELS = colexp(_R, "wheels"); + + // AUTO-GENERATED: FIELDS END + + /** + * Increment this value if you change this record's schema. + */ + public static final int SCHEMA_VERSION = 2; + + /** + * A unique identifier for this record. Automatically filled in at row insertion time. + */ + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + public int gateId; + + public String internalId; + + public String name; + + public String description; + + public String icon; + + public String backgroundColorization; + + public String iconColorization; + + public int priority; + + public int tokens; + + public int flags; + + public int sourceId; + + public String sourcePortal; + + public int destinationId; + + public int depth; + + public String wheels; + + // AUTO-GENERATED: METHODS START + /** + * Create and return a primary {@link Key} to identify a {@link GateRecord} with the supplied + * key values. + */ + public static Key getKey(int gateId) { + return newKey(_R, gateId); + } + // AUTO-GENERATED: METHODS END +} diff --git a/src/com/github/thetya/server/persist/ItemRecord.java b/src/com/github/thetya/server/persist/ItemRecord.java new file mode 100644 index 0000000..00078bd --- /dev/null +++ b/src/com/github/thetya/server/persist/ItemRecord.java @@ -0,0 +1,110 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.persist; + +import com.samskivert.depot.Key; +import com.samskivert.depot.PersistentRecord; +import com.samskivert.depot.annotation.*; +import com.samskivert.depot.expression.ColumnExp; + +/** + * A single item being owned by a player. + *

+ * If we ever move to a different DB solution, I'd definitely love to drop the static schema 'n shit + * because this record is a perfect fit for something schema-less. But whatever... ~ sky + */ +@SuppressWarnings("unused") +@Entity(name = "items") +public class ItemRecord extends PersistentRecord { + + // AUTO-GENERATED: FIELDS START + public static final Class _R = ItemRecord.class; + public static final ColumnExp ITEM_ID = colexp(_R, "itemId"); + public static final ColumnExp BAG_ID = colexp(_R, "bagId"); + public static final ColumnExp CONFIG_REF = colexp(_R, "configRef"); + public static final ColumnExp PERMANENT = colexp(_R, "permanent"); + public static final ColumnExp LOCKED = colexp(_R, "locked"); + public static final ColumnExp CURSED = colexp(_R, "cursed"); + public static final ColumnExp DIRTY = colexp(_R, "dirty"); + public static final ColumnExp VARIANTS = colexp(_R, "variants"); + public static final ColumnExp LEVEL = colexp(_R, "level"); + public static final ColumnExp HEAT = colexp(_R, "heat"); + public static final ColumnExp COUNT = colexp(_R, "count"); + // AUTO-GENERATED: FIELDS END + + /** + * Increment this value if you change this record's schema. + */ + public static final int SCHEMA_VERSION = 7; + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + public long itemId; + + /** + * ID of the bag this item belongs to. + */ + public int bagId; + + /** + * A stringified {@link com.threerings.config.ConfigReference} for this item. + */ + public String configRef; + + /** + * Whether this item is bound to the player. + */ + public boolean permanent; + + /** + * Whether this item is locked. + */ + public boolean locked; + + /** + * Whether this item is locked. + */ + public boolean cursed; + + /** + * Whether this item is dirty. + *

+ * (if so, clean it motherfuckers ~ sky) + */ + public boolean dirty; + + /** + * Unique Variants this item has. + */ + @Column(nullable = true) + public String variants; + + /** + * This item's level. + */ + @Column(nullable = true) + public Integer level; + + /** + * This item's heat progress to next level. + */ + @Column(nullable = true) + public Float heat; + + /** + * This item's stack count. + */ + @Column(defaultValue = "1") + public int count; + + // AUTO-GENERATED: METHODS START + public static Key getKey(int itemId) { + return newKey(_R, itemId); + } + // AUTO-GENERATED: METHODS END +} diff --git a/src/com/github/thetya/server/persist/ItemRepository.java b/src/com/github/thetya/server/persist/ItemRepository.java new file mode 100644 index 0000000..67e6164 --- /dev/null +++ b/src/com/github/thetya/server/persist/ItemRepository.java @@ -0,0 +1,251 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.persist; + +import com.github.thetya.server.Log; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.samskivert.depot.DepotRepository; +import com.samskivert.depot.PersistenceContext; +import com.samskivert.depot.PersistentRecord; +import com.samskivert.util.StringUtil; +import com.threerings.config.ConfigManager; +import com.threerings.config.ConfigReference; +import com.threerings.export.util.ExportUtil; +import com.threerings.projectx.item.config.ItemConfig; +import com.threerings.projectx.item.config.VariantConfig; +import com.threerings.projectx.item.data.Item; +import com.threerings.projectx.item.data.LevelItem; + +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + +/** + * A repository containing all the items belonging to players. + */ +@Singleton +public class ItemRepository extends DepotRepository { + + @Inject + private ConfigManager _configMgr; + + /** + * Creates this repository and provides it with a context via which it will obtain JDBC + * connections. + */ + @Inject + public ItemRepository(PersistenceContext ctx) { + super(ctx); + } + + /** + * Initializes this repository. + */ + @Override + public void init() { + super.resolveRecords(); + super.init(); + } + + /** + * Serializes an Item object, inserts it to the database and ties it to a specific bag. + */ + public ItemRecord insertItem(Item item, int bagId) { + // Let's create a new record first and assign it a bag ID + ItemRecord itemRecord = serialize(item, bagId, false); + + insert(itemRecord); + item.setItemId(itemRecord.itemId); + return itemRecord; + } + + /** + * Updates an item record. + */ + public void updateItem(Item item) { + // Since it's an update, bagId argument can be set to whatever as it'll pull the actual bagId + // from the Item object. + ItemRecord record = serialize(item, 0, true); + update(record); + } + + /** + * Fetches and deserializes all the Items belonging to a specific bag. + */ + public List getItems(int bagId) { + List itemRecords = from(ItemRecord.class).where(ItemRecord.BAG_ID.eq(bagId)) + .select(); + List actualItems = new ArrayList<>(); + + for (ItemRecord itemRecord : itemRecords) { + Item item = deserialize(itemRecord); + if (item != null) { + actualItems.add(item); + } + } + + return actualItems; + } + + /** + * Fetches and deserializes an Item by its internal ID. Used mainly internally. + */ + public Item getItem(long id) { + ItemRecord itemRecord = from(ItemRecord.class).where(ItemRecord.ITEM_ID.eq(id)).load(); + + if (itemRecord != null) { + return deserialize(itemRecord); + } + + return null; + } + + public void assignItemId(Item item, int bagId) { + + } + + /** + * Deserializes an {@link ItemRecord} into an {@link Item}. + */ + private Item deserialize(ItemRecord itemRecord) { + ConfigReference itemReference = + (ConfigReference) ExportUtil.fromString(itemRecord.configRef); + + ItemConfig itemConfig = _configMgr.getConfig(ItemConfig.class, itemReference); + ItemConfig.Original itemOriginal = + itemConfig == null ? null : itemConfig.getOriginal(_configMgr); + + if (itemOriginal == null) { + Log.log.warning("Could not obtain Item object from its persistent record - config is null!", + "recordId", itemRecord.itemId); + return null; + } + + Item item = itemOriginal.createItem(itemReference, _configMgr); + item.setItemId(itemRecord.itemId); + item.setBagId(itemRecord.bagId); + + if (itemRecord.permanent) { + item.setPermanent(true); + } + + if (itemRecord.locked) { + item.setLocked(true); + } + + if (itemRecord.cursed) { + item.setCursed(true); + } + + if (itemRecord.dirty) { + item.setDirty(true); + } + + item.setCount(itemRecord.count); + + // Try casting to level item to see if the item would fit. + try { + LevelItem levelItem = (LevelItem) item; + + // Decode variants from their XML form + if (!StringUtil.isBlank(itemRecord.variants)) { + ConfigReference[] variants = + (ConfigReference[]) ExportUtil.fromString(itemRecord.variants); + levelItem.setVariants(variants); + } + + levelItem.setLevel(_configMgr, itemRecord.level); + levelItem.setHeat(itemRecord.heat); + } catch (ClassCastException ignored) { + // Not a level item - proceed. Nothing's wrong. + } + + return item; + } + + /** + * Serializes an {@link Item} into an {@link ItemRecord} for persistent storage. + */ + private ItemRecord serialize(Item item, int bagId, boolean update) { + // Create a new record first and assign it a bag ID (and item ID if we're updating) + ItemRecord itemRecord = new ItemRecord(); + if (update) { + itemRecord.itemId = item.getItemId(); + itemRecord.bagId = item.getBagId(); + } else { + itemRecord.bagId = bagId; + } + + // Now let's fetch the config reference for this item, export it to XML and save it + itemRecord.configRef = ExportUtil.toString(item.getConfig()); + + if (item.isPermanent()) { + itemRecord.permanent = true; + } + + if (item.isLocked()) { + itemRecord.locked = true; + } + + if (item.isCursed()) { + itemRecord.cursed = true; + } + + if (item.isDirty()) { + itemRecord.dirty = true; + } + + itemRecord.count = item.getCount(); + + // Try casting to level item to see if we have variants, level and heat. + try { + LevelItem levelItem = (LevelItem) item; + + itemRecord.variants = ExportUtil.toString(levelItem.getVariants()); + itemRecord.level = levelItem.getLevel(_configMgr); + itemRecord.heat = levelItem.getHeat(); + } catch (ClassCastException ignored) { + // Not a level item - proceed. Nothing's wrong. + } + + return itemRecord; + } + + public void deleteItems(List itemIds) { + for (Long itemId : itemIds) { + // TODO: Find a more optimal way to do this + from(ItemRecord.class).where(ItemRecord.ITEM_ID.eq(itemId)).delete(); + } + } + + public void removePendingDeletions(Set itemIds) { + // TODO: Investigate if that's the correct way to handle 'pending deletions' + for (Long itemId : itemIds) { + from(ItemRecord.class).where(ItemRecord.ITEM_ID.eq(itemId)).delete(); + } + } + + /** + * Declares the Persistent Records managed by this repository. + */ + @Override + protected void getManagedRecords(Set> classes) { + classes.add(BagRecord.class); + classes.add(ItemRecord.class); + } + + public void transferItems(int bagId, List transferIds) { + for (Long itemId : transferIds) { + // TODO: Find a more optimal way to do this + ItemRecord itemRecord = from(ItemRecord.class).where(ItemRecord.ITEM_ID.eq(itemId)).load(); + itemRecord.bagId = bagId; + update(itemRecord); + } + } +} diff --git a/src/com/github/thetya/server/persist/KnightInfoRecord.java b/src/com/github/thetya/server/persist/KnightInfoRecord.java new file mode 100644 index 0000000..009e16d --- /dev/null +++ b/src/com/github/thetya/server/persist/KnightInfoRecord.java @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.persist; + +import com.samskivert.depot.Key; +import com.samskivert.depot.PersistentRecord; +import com.samskivert.depot.annotation.Entity; +import com.samskivert.depot.annotation.GeneratedValue; +import com.samskivert.depot.annotation.GenerationType; +import com.samskivert.depot.annotation.Id; +import com.samskivert.depot.expression.ColumnExp; + +@Entity(name = "knight_info") +public class KnightInfoRecord extends PersistentRecord { + + // AUTO-GENERATED: FIELDS START + public static final Class _R = KnightInfoRecord.class; + public static final ColumnExp ID = colexp(_R, "id"); + public static final ColumnExp KNIGHT_ID = colexp(_R, "knightId"); + public static final ColumnExp FLAGS = colexp(_R, "flags"); + public static final ColumnExp NAME = colexp(_R, "name"); + // AUTO-GENERATED: FIELDS END + + /** + * Increment this value if you change this record's schema. + */ + public static final int SCHEMA_VERSION = 1; + + /** + * A unique identifier for this record. Automatically filled in at row insertion time. + */ + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + public int id; + + /** + * ID of the knight associated with this record. + */ + public int knightId; + + /** + * Flags set for the knight associated with this record. + */ + public int flags; + + /** + * Name of the knight associated with this record. + */ + public String name; + + // AUTO-GENERATED: METHODS START + /** + * Create and return a primary {@link Key} to identify a {@link KnightInfoRecord} with the supplied + * key values. + */ + public static Key getKey(int id) { + return newKey(_R, id); + } + // AUTO-GENERATED: METHODS END +} diff --git a/src/com/github/thetya/server/persist/KnightRecord.java b/src/com/github/thetya/server/persist/KnightRecord.java new file mode 100644 index 0000000..70b364b --- /dev/null +++ b/src/com/github/thetya/server/persist/KnightRecord.java @@ -0,0 +1,164 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.persist; + +import com.github.thetya.server.util.PersistUtil; +import com.google.inject.Injector; +import com.samskivert.depot.Key; +import com.samskivert.depot.PersistentRecord; +import com.samskivert.depot.annotation.*; +import com.samskivert.depot.expression.ColumnExp; +import com.threerings.config.ConfigManager; +import com.threerings.config.ConfigReference; +import com.threerings.opengl.model.config.ModelConfig; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.item.data.Item; +import com.threerings.projectx.item.data.ItemCodes; +import com.threerings.projectx.item.util.ItemUtil; +import com.threerings.util.Name; + +/** + * A single knight. + */ +@SuppressWarnings("unused") +@Entity(name = "knights") +public class KnightRecord extends PersistentRecord { + + // AUTO-GENERATED: FIELDS START + public static final Class _R = KnightRecord.class; + public static final ColumnExp KNIGHT_ID = colexp(_R, "knightId"); + public static final ColumnExp PLAYER_ID = colexp(_R, "playerId"); + public static final ColumnExp BAG_ID = colexp(_R, "bagId"); + public static final ColumnExp NAME = colexp(_R, "name"); + public static final ColumnExp COLOR = colexp(_R, "color"); + public static final ColumnExp CROWNS = colexp(_R, "crowns"); + public static final ColumnExp EQUIPPED_ITEMS = colexp(_R, "equippedItems"); + public static final ColumnExp HOME_TOWN_ID = colexp(_R, "homeTownId"); + public static final ColumnExp LAST_PERMANENT_ZONE_ID = colexp(_R, "lastPermanentZoneId"); + public static final ColumnExp LAST_PERMANENT_SCENE_ID = colexp(_R, + "lastPermanentSceneId"); + public static final ColumnExp LAST_PERMANENT_SCENE_NAME = colexp(_R, + "lastPermanentSceneName"); + public static final ColumnExp SESSION_SECONDS = colexp(_R, "sessionSeconds"); + public static final ColumnExp FLAGS = colexp(_R, "flags"); + public static final ColumnExp MODEL = colexp(_R, "model"); + // AUTO-GENERATED: FIELDS END + + /** + * Increment this value if you change this record's schema. + */ + public static final int SCHEMA_VERSION = 14; + + /** + * A unique identifier for this record. Automatically filled in at row insertion time. + */ + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + public int knightId; + + /** + * ID of the player this knight belongs to. + */ + public int playerId; + + /** + * ID of the inventory bag owned by this knight. + */ + public int bagId; + + /** + * This knight's name. + */ + @Column(length = 18) + public String name; + + /** + * This knight's personal color. + */ + public int color; + + /** + * This knight's crown balance. + */ + public int crowns; + + /** + * Item IDs equipped by this player. + */ + public long[] equippedItems; + + /** + * This knight's home town ID. + */ + public int homeTownId; + + /** + * ID of the last permanent zone this player should be directed to upon logon. Set when a player + * is disconnected from the server for some reason. + */ + @Column(defaultValue = "0") + public int lastPermanentZoneId; + + /** + * ID of the last permanent scene this player should be directed to upon logon. Set when a player + * is disconnected from the server for some reason. + */ + @Column(defaultValue = "0") + public int lastPermanentSceneId; + + /** + * Name of the last permanent scene this player should be directed to upon logon. Set when a + * player is disconnected from the server for some reason. + */ + @Column(nullable = true) + public String lastPermanentSceneName; + + /** + * This knight's overall session seconds. + */ + @Column(defaultValue = "0") + public int sessionSeconds; + + /** + * This knight's flags. + */ + @Column(defaultValue = "0") + public int flags; + + /** + * This knight's model preview. Saved on logout. + */ + public byte[] model; + + public ConfigReference getModel() { + return PersistUtil.exportableFromBinary(model); + } + + public void updateModel(ConfigReference knightModel) { + model = PersistUtil.exportableToBinary(knightModel); + } + + /** + * A utility for returning the proper knight's name. + */ + public Name getName() { + return new Name(name); + } + + public boolean isActive() { return true; } + + // AUTO-GENERATED: METHODS START + /** + * Create and return a primary {@link Key} to identify a {@link KnightRecord} with the supplied + * key values. + */ + public static Key getKey(int knightId) { + return newKey(_R, knightId); + } + // AUTO-GENERATED: METHODS END +} diff --git a/src/com/github/thetya/server/persist/KnightRepository.java b/src/com/github/thetya/server/persist/KnightRepository.java new file mode 100644 index 0000000..471fbe9 --- /dev/null +++ b/src/com/github/thetya/server/persist/KnightRepository.java @@ -0,0 +1,215 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.persist; + +import com.google.common.collect.Maps; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.samskivert.depot.DatabaseException; +import com.samskivert.depot.DepotRepository; +import com.samskivert.depot.PersistenceContext; +import com.samskivert.depot.PersistentRecord; +import com.samskivert.depot.util.Tuple2; +import com.threerings.config.ConfigManager; +import com.threerings.config.ConfigReference; +import com.threerings.opengl.model.config.ModelConfig; +import com.threerings.util.Name; + +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Set; + +@Singleton +public class KnightRepository extends DepotRepository { + + @Inject + protected ConfigManager _configMgr; + + /** + * Creates this repository and provides it with a context via which it will obtain JDBC + * connections. + */ + @Inject + public KnightRepository(PersistenceContext ctx) { + super(ctx); + } + + @Override + public void init() { + super.resolveRecords(); + super.init(); + } + + /** + * Loads and returns the knight with the specified ID, or null if no knight exists with that ID. + */ + public KnightRecord loadKnight(int knightId) { + return load(KnightRecord.getKey(knightId)); + } + + /** + * Loads and returns the knight with the specified name, or null if no match. + */ + public KnightRecord loadKnight(String name) { + return from(KnightRecord.class).where(KnightRecord.NAME.eq(name)).load(); + } + + /** + * Loads and returns all knights belonging to the specified player ID, or null if player with such + * ID has no knights. + */ + public List loadKnights(int playerId) { + return from(KnightRecord.class).where(KnightRecord.PLAYER_ID.eq(playerId)).select(); + } + + /** + * Inserts a newly created knight record into the database. If record.knightId is non-zero an + * exception will be thrown. + */ + public void insertKnight(KnightRecord record) { + insert(record); + } + + /** + * Updates a knight record. If record.knightId is non-zero an exception will be thrown. + */ + public void updateKnight(KnightRecord record) { + update(record); + } + + /** + * Updates a knight record. If record.knightId is zero, a new row will be created for this record. + * If not, the matching row will be updated. + */ + public void storeKnight(KnightRecord record) { + store(record); + } + + public int purgeKnight(KnightRecord record) { + return from(KnightRecord.class).where(KnightRecord.KNIGHT_ID.eq(record.knightId)).delete(); + } + + public void flushKnight(int knightId, ConfigReference model, long[] equipment, int crownDelta, int lastPermanentZoneId, int lastPermanentSceneId, int[] levelTokens) { + KnightRecord record = loadKnight(knightId); + record.equippedItems = equipment; + record.crowns += crownDelta; + record.lastPermanentZoneId = lastPermanentZoneId; + record.lastPermanentSceneId = lastPermanentSceneId; + record.updateModel(model); + //record.levelTokens = levelTokens; + update(record); + } + + public void noteSessionEnded(int knightId, int secondsOnline, ConfigReference model, long[] equipment, int crownDelta, int lastPermanentZoneId, int lastPermanentSceneId, int[] levelTokens) { + KnightRecord record = loadKnight(knightId); + record.equippedItems = equipment; + record.crowns += crownDelta; + record.lastPermanentZoneId = lastPermanentZoneId; + record.lastPermanentSceneId = lastPermanentSceneId; + record.sessionSeconds += secondsOnline; + record.updateModel(model); + update(record); + } + + public void grantCrowns(Name knight, int crowns) { + KnightRecord record = this.loadKnight(knight.getNormal()); + record.crowns += crowns; + this.updateKnight(record); + } + + public void updateFlags(int knightId, int flags) { + KnightRecord knightRecord = loadKnight(knightId); + knightRecord.flags = flags; + updateKnight(knightRecord); + } + + public void updateLastPermanents(Name knight, int zoneId, int sceneId, String name) { + KnightRecord knightRecord = loadKnight(knight.toString()); + knightRecord.lastPermanentZoneId = zoneId; + knightRecord.lastPermanentSceneId = sceneId; + knightRecord.lastPermanentSceneName = name; + updateKnight(knightRecord); + } + + /** + * Updates a knight's equipped item in the specified slot. + */ + public void updateEquippedItems(Name knight, int slot, long itemId) { + KnightRecord knightRecord = loadKnight(knight.toString()); + knightRecord.equippedItems[slot] = itemId; + updateKnight(knightRecord); + } + + public void updateHomeTown(int knightId, int homeTownId) { + KnightRecord record = loadKnight(knightId); + record.homeTownId = homeTownId; + update(record); + } + + public KnightInfoRecord resolveKnightInfo(int knightId) { + List fetchedRecords = + from(KnightInfoRecord.class).where(KnightInfoRecord.KNIGHT_ID.eq(knightId)).select(); + + if (!fetchedRecords.isEmpty()) { + return fetchedRecords.get(0); + } + + KnightRecord knightRecord = loadKnight(knightId); + KnightInfoRecord infoRecord = new KnightInfoRecord(); + infoRecord.knightId = knightRecord.knightId; + infoRecord.name = knightRecord.name; + infoRecord.flags = knightRecord.flags; + store(infoRecord); + + return infoRecord; + } + + public KnightInfoRecord resolveKnightInfo(Name knightName) { + List fetchedRecords = + from(KnightInfoRecord.class).where(KnightInfoRecord.NAME.eq(knightName.toString())).select(); + + if (!fetchedRecords.isEmpty()) { + return fetchedRecords.get(0); + } + + KnightRecord knightRecord = loadKnight(knightName.toString()); + + if (knightRecord == null) { + return null; + } + + KnightInfoRecord infoRecord = new KnightInfoRecord(); + infoRecord.knightId = knightRecord.knightId; + infoRecord.name = knightRecord.name; + infoRecord.flags = knightRecord.flags; + store(infoRecord); + + return infoRecord; + } + + public Map getNames(Collection ids) { + Map names = Maps.newHashMap(); + + List> knightInfos = from(KnightInfoRecord.class) + .where(KnightInfoRecord.KNIGHT_ID.in(ids)) + .select(KnightInfoRecord.KNIGHT_ID, KnightInfoRecord.NAME); + + for (Tuple2 tuple : knightInfos) { + names.put(tuple.a, new Name(tuple.b)); + } + + return names; + } + + @Override + protected void getManagedRecords(Set> classes) { + classes.add(KnightRecord.class); + classes.add(KnightInfoRecord.class); + } +} diff --git a/src/com/github/thetya/server/persist/LevelRecord.java b/src/com/github/thetya/server/persist/LevelRecord.java new file mode 100644 index 0000000..dfbebaa --- /dev/null +++ b/src/com/github/thetya/server/persist/LevelRecord.java @@ -0,0 +1,103 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.persist; + +import com.samskivert.depot.Key; +import com.samskivert.depot.PersistentRecord; +import com.samskivert.depot.annotation.Entity; +import com.samskivert.depot.annotation.GeneratedValue; +import com.samskivert.depot.annotation.GenerationType; +import com.samskivert.depot.annotation.Id; +import com.samskivert.depot.expression.ColumnExp; +import com.threerings.export.util.ExportUtil; +import com.threerings.opengl.renderer.config.ColorizationConfig; +import com.threerings.opengl.renderer.config.ColorizationConfig.Normal; +import com.threerings.util.Name; +import com.threerings.whirled.zone.data.SceneSummary; +import com.threerings.whirled.zone.data.ZoneSummary; +import com.threerings.whirled.zone.util.ZoneUtil; + +/** + * A single dungeon level. + */ +@SuppressWarnings("unused") +@Entity(name = "levels") +public class LevelRecord extends PersistentRecord { + + // AUTO-GENERATED: FIELDS START + public static final Class _R = LevelRecord.class; + public static final ColumnExp LEVEL_ID = colexp(_R, "levelId"); + public static final ColumnExp INTERNAL_ID = colexp(_R, "internalId"); + public static final ColumnExp NAME = colexp(_R, "name"); + public static final ColumnExp DEFAULT_SCENE_ID = colexp(_R, "defaultSceneId"); + public static final ColumnExp DESCRIPTION = colexp(_R, "description"); + public static final ColumnExp ICON = colexp(_R, "icon"); + public static final ColumnExp ICON_COLORIZATION = colexp(_R, "iconColorization"); + public static final ColumnExp BACKGROUND_COLORIZATION = colexp(_R, "backgroundColorization"); + // AUTO-GENERATED: FIELDS END + + /** + * Increment this value if you change this record's schema. + */ + public static final int SCHEMA_VERSION = 2; + + /** + * A unique identifier for this record. Automatically filled in at row insertion time. + */ + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + public int levelId; + + public String internalId; + + public String name; + + public int defaultSceneId; + + public String description; + + public String icon; + + public String iconColorization; + + public String backgroundColorization; + + public int getZoneId() { + return ZoneUtil.qualifyZoneId((byte) 2, levelId); + } + + public ColorizationConfig[] getColorizations() { + ColorizationConfig iconConfig = (Normal) ExportUtil.fromString(iconColorization); + ColorizationConfig backgroundConfig = (Normal) ExportUtil.fromString(backgroundColorization); + + return new ColorizationConfig[] { iconConfig, backgroundConfig }; + } + + public ZoneSummary createZoneSummary() { + ZoneSummary summary = new ZoneSummary(); + summary.zoneId = ZoneUtil.qualifyZoneId((byte) 2, levelId); + summary.name = new Name(name); + + SceneSummary sceneSummary = new SceneSummary(); + sceneSummary.sceneId = defaultSceneId; + sceneSummary.name = name; + + summary.scenes = new SceneSummary[]{ sceneSummary }; + return summary; + } + + // AUTO-GENERATED: METHODS START + /** + * Create and return a primary {@link Key} to identify a {@link LevelRecord} with the supplied + * key values. + */ + public static Key getKey(int levelId) { + return newKey(_R, levelId); + } + // AUTO-GENERATED: METHODS END +} diff --git a/src/com/github/thetya/server/persist/MachIdentRecord.java b/src/com/github/thetya/server/persist/MachIdentRecord.java new file mode 100644 index 0000000..508dc69 --- /dev/null +++ b/src/com/github/thetya/server/persist/MachIdentRecord.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.persist; + +import com.samskivert.depot.Key; +import com.samskivert.depot.PersistentRecord; +import com.samskivert.depot.annotation.Entity; +import com.samskivert.depot.annotation.Id; +import com.samskivert.depot.expression.ColumnExp; +import java.sql.Timestamp; + +/** + * A single machine identifier (mach ident) tied to a timestamp. This record is used to calculate + * vapor (mist energy) for knights, basing on idents (looking them up via machines). + */ +@SuppressWarnings("unused") +@Entity(name = "idents") +public class MachIdentRecord extends PersistentRecord { + + // AUTO-GENERATED: FIELDS START + public static final Class _R = MachIdentRecord.class; + public static final ColumnExp IDENT = colexp(_R, "ident"); + public static final ColumnExp VAPOR_STAMP = colexp(_R, "vaporStamp"); + // AUTO-GENERATED: FIELDS START + + /** + * Increment this value if you change this record's schema. + */ + public static final int SCHEMA_VERSION = 2; + + /** + * The machine identifier. + */ + @Id + public String ident; + + /** + * The calculated vapor (mist energy) timestamp. + */ + public Timestamp vaporStamp; + + // AUTO-GENERATED: METHODS START + public static Key getKey(String ident) { + return newKey(_R, ident); + } + // AUTO-GENERATED: METHODS END +} diff --git a/src/com/github/thetya/server/persist/MachIdentRepository.java b/src/com/github/thetya/server/persist/MachIdentRepository.java new file mode 100644 index 0000000..993b0ad --- /dev/null +++ b/src/com/github/thetya/server/persist/MachIdentRepository.java @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.persist; + +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.samskivert.depot.DepotRepository; +import com.samskivert.depot.PersistenceContext; +import com.samskivert.depot.PersistentRecord; + +import java.sql.Timestamp; +import java.util.Set; + +/** + * A repository for machine identifiers. + */ +@Singleton +public class MachIdentRepository extends DepotRepository { + + /** + * Creates this repository and provides it with a context via which it will obtain JDBC + * connections. + */ + @Inject + public MachIdentRepository(PersistenceContext ctx) { + super(ctx); + } + + /** + * Initializes the repository. + */ + @Override + public void init() { + super.resolveRecords(); + super.init(); + } + + /** + * Loads and returns the specified ident, or null if it does not exist. + */ + public MachIdentRecord loadMachIdent(String ident) { + return load(MachIdentRecord.getKey(ident)); + } + + /** + * Inserts a newly created ident record into the database. + */ + public void insertMachIdent(MachIdentRecord record) { + insert(record); + } + + /** + * Updates a ident record. + */ + public void updateMachIdent(MachIdentRecord record) { + update(record); + } + + /** + * Updates a ident record's vapor stamp. + */ + public void updateVaporStamp(String ident, long stamp, boolean energyTransaction) { + MachIdentRecord record = loadMachIdent(ident); + record.vaporStamp = new Timestamp(stamp); + update(record); + } + + @Override + protected void getManagedRecords(Set> classes) { + classes.add(MachIdentRecord.class); + } +} \ No newline at end of file diff --git a/src/com/github/thetya/server/persist/MailRecord.java b/src/com/github/thetya/server/persist/MailRecord.java new file mode 100644 index 0000000..1aad645 --- /dev/null +++ b/src/com/github/thetya/server/persist/MailRecord.java @@ -0,0 +1,125 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.persist; + +import com.github.thetya.server.persist.transformer.MultiAttachmentTransformer; +import com.google.common.base.Function; +import com.google.inject.Inject; +import com.samskivert.depot.Key; +import com.samskivert.depot.PersistentRecord; +import com.samskivert.depot.annotation.*; +import com.samskivert.depot.expression.ColumnExp; +import com.threerings.projectx.uplink.data.MailAttachment; +import com.threerings.projectx.uplink.data.MailType; +import com.threerings.projectx.uplink.data.MultiAttachment; +import java.sql.Timestamp; +import java.util.Objects; + +@Entity(name = "mails") +public class MailRecord extends PersistentRecord { + + @Inject + protected KnightRepository _knightRepo; + + // AUTO-GENERATED: FIELDS START + public static final Class _R = MailRecord.class; + public static final ColumnExp MAIL_ID = colexp(_R, "mailId"); + public static final ColumnExp SENDER_ID = colexp(_R, "senderId"); + public static final ColumnExp RECIPIENT_ID = colexp(_R, "recipientId"); + public static final ColumnExp SUBJECT = colexp(_R, "subject"); + public static final ColumnExp BODY = colexp(_R, "body"); + public static final ColumnExp ATTACHMENT = colexp(_R, "attachment"); + public static final ColumnExp UNREAD = colexp(_R, "unread"); + public static final ColumnExp SENT = colexp(_R, "sent"); + public static final ColumnExp TYPE = colexp(_R, "type"); + // AUTO-GENERATED: FIELDS END + + public static final Function TO_SENDER = mailRecord -> Objects.requireNonNull(mailRecord).senderId; + + /** + * Increment this value if you change this record's schema. + */ + public static final int SCHEMA_VERSION = 10; + + /** + * A mail record's unique identifier. Automatically filled at insertion time. + */ + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + public long mailId; + + /** + * ID of the knight that is sending this mail. + */ + public int senderId; + + /** + * ID of the knight that is receiving this mail. + */ + public int recipientId; + + /** + * A mail's title or subject. + */ + public String subject; + + /** + * Mail's whole text body. + */ + public String body; + + /** + * Any attachments inside this mail. + */ + @Column(nullable = true) + @Transform(MultiAttachmentTransformer.class) + public MultiAttachment attachment; + + /** + * Marks whether this mail record has been read by the recipient yet or not. + */ + @Column(defaultValue = "true") + public boolean unread; + + /** + * Timestamp of the very moment the mail was sent. + */ + public Timestamp sent; + + /** + * Defines which type of mail it is. + * Valid types: MailType.ANNOUNCE, MailType.FRIEND, MailType.GUILD, + * MailType.SYSTEM, MailType.USER. + */ + @Column(nullable = true) + public MailType type; + + public MailRecord(int knightId, int senderId, String subject, String body, MailAttachment attachment, MailType type) { + this.recipientId = knightId; + this.senderId = senderId; + this.subject = subject; + this.body = body; + this.sent = new Timestamp(System.currentTimeMillis()); + this.attachment = null; + this.type = type; + this.unread = true; + } + + public MailRecord() { + } + + // AUTO-GENERATED: METHODS START + /** + * Create and return a primary {@link Key} to identify a {@link MailRecord} with the supplied key + * values. + */ + public static Key getKey(int mailId) { + return newKey(_R, mailId); + } + // AUTO-GENERATED: METHODS END +} diff --git a/src/com/github/thetya/server/persist/PlayerRecord.java b/src/com/github/thetya/server/persist/PlayerRecord.java new file mode 100644 index 0000000..1fa32e3 --- /dev/null +++ b/src/com/github/thetya/server/persist/PlayerRecord.java @@ -0,0 +1,95 @@ +// +// $Id: thetya-server 2020-11-14 16:12 micha $ +// +// Copyright (C) 2013-2020 Thetya Team +// https://github.com/Thetya +// + +package com.github.thetya.server.persist; + +import com.samskivert.depot.Key; +import com.samskivert.depot.PersistentRecord; +import com.samskivert.depot.annotation.Column; +import com.samskivert.depot.annotation.Entity; +import com.samskivert.depot.annotation.GeneratedValue; +import com.samskivert.depot.annotation.GenerationType; +import com.samskivert.depot.annotation.Id; +import com.samskivert.depot.expression.ColumnExp; +import java.sql.Timestamp; + +@SuppressWarnings("unused") +@Entity(name = "players") +public class PlayerRecord extends PersistentRecord { + + // AUTO-GENERATED: FIELDS START + public static final Class _R = PlayerRecord.class; + public static final ColumnExp PLAYER_ID = colexp(_R, "playerId"); + public static final ColumnExp USERNAME = colexp(_R, "username"); + public static final ColumnExp WARNING = colexp(_R, "warning"); + public static final ColumnExp SESSIONS = colexp(_R, "sessions"); + public static final ColumnExp FLOORS = colexp(_R, "floors"); + public static final ColumnExp INVITATIONS = colexp(_R, "invitations"); + public static final ColumnExp VAPOR_STAMP = colexp(_R, "vaporStamp"); + // AUTO-GENERATED: FIELDS END + + /** + * Increment this value if you change this record's schema. + */ + public static final int SCHEMA_VERSION = 9; + + /** + * A unique identifier for this record. Automatically filled in at row insertion time. + */ + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + public int playerId; + + /** + * The authentication username associated with this player. + */ + @Column(length = 16) + public String username; + + /** + * Current warning note issued by Support for this player. + *

+ * If the player has an active, OOO User repository-fetched ban status, this field serves as its + * reason. Once the ban has expired, or if there is no ban after all, this field gets cleared. + */ + @Column(nullable = true) + public String warning; + + /** + * This player's overall session count. + */ + @Column(defaultValue = "0") + public int sessions; + + /** + * This player's overall completed levels count. + */ + @Column(defaultValue = "0") + public int floors; + + /** + * This player's left invitations. All new players can invite up to 5 people using the built-in + * system e-mailer. + */ + @Column(defaultValue = "5") + public int invitations; + + /** + * This player's vapor (mist energy) timestamp. + */ + public Timestamp vaporStamp; + + // AUTO-GENERATED: METHODS START + /** + * Create and return a primary {@link Key} to identify a {@link PlayerRecord} with the supplied + * key values. + */ + public static Key getKey(int playerId) { + return newKey(_R, playerId); + } + // AUTO-GENERATED: METHODS END +} diff --git a/src/com/github/thetya/server/persist/PlayerRepository.java b/src/com/github/thetya/server/persist/PlayerRepository.java new file mode 100644 index 0000000..657868f --- /dev/null +++ b/src/com/github/thetya/server/persist/PlayerRepository.java @@ -0,0 +1,103 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.persist; + +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.samskivert.depot.DepotRepository; +import com.samskivert.depot.PersistenceContext; +import com.samskivert.depot.PersistentRecord; + +import java.sql.Timestamp; +import java.util.List; +import java.util.Set; + +@Singleton +public class PlayerRepository extends DepotRepository { + + /** + * Creates this repository and provides it with a context via which it will obtain JDBC + * connections. + */ + @Inject + public PlayerRepository(PersistenceContext ctx) { + super(ctx); + } + + @Override + public void init() { + super.resolveRecords(); + super.init(); + } + + /** + * Loads and returns the player with the specified ID, or null if no player exists with that ID. + */ + public PlayerRecord loadPlayer(int playerId) { + return load(PlayerRecord.getKey(playerId)); + } + + /** + * Loads and returns the player with the specified username, or null if no player exists with that + * username. + */ + public PlayerRecord loadPlayer(String username) { + List player = from(PlayerRecord.class).where(PlayerRecord.USERNAME.eq(username)) + .select(); + return player.isEmpty() ? null : player.get(0); + } + + /** + * Inserts a newly created player record into the database. If record.playerId is non-zero an + * exception will be thrown. + */ + public void insertPlayer(PlayerRecord record) { + insert(record); + } + + /** + * Updates a player record. If record.playerId is non-zero an exception will be thrown. + */ + public void updatePlayer(PlayerRecord record) { + update(record); + } + + /** + * Updates a player record. If record.playerId is zero, a new row will be created for this record. + * If not, the matching row will be updated. + */ + public void storePlayer(PlayerRecord record) { + store(record); + } + + public void flushPlayer(int playerId, long vaporStamp, int invitations, int floors) { + PlayerRecord record = loadPlayer(playerId); + record.vaporStamp = new Timestamp(vaporStamp); + record.invitations = invitations; + record.floors = floors; + update(record); + } + + /** + * Updates a player record upon session end. Here we'll persist his vapor stamp, invitations + * and floors completed. + */ + public void noteSessionEnded(int playerId, int secondsOnline, long vaporStamp, int sessions, int invitations, int floors) { + PlayerRecord record = loadPlayer(playerId); + record.vaporStamp = new Timestamp(vaporStamp); + record.sessions = sessions; + record.invitations = invitations; + record.floors = floors; + update(record); + } + + @Override + protected void getManagedRecords(Set> classes) { + classes.add(PlayerRecord.class); + } +} diff --git a/src/com/github/thetya/server/persist/PvpRepository.java b/src/com/github/thetya/server/persist/PvpRepository.java new file mode 100644 index 0000000..8732c42 --- /dev/null +++ b/src/com/github/thetya/server/persist/PvpRepository.java @@ -0,0 +1,110 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.persist; + +import com.google.common.collect.Maps; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.samskivert.depot.DepotRepository; +import com.samskivert.depot.PersistenceContext; +import com.samskivert.depot.PersistentRecord; +import com.samskivert.util.ListUtil; +import com.samskivert.util.StringUtil; +import com.threerings.projectx.pvp.data.PvpKey; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; + +@Singleton +public class PvpRepository extends DepotRepository { + + /** + * Creates this repository and provides it with a context via which it will obtain JDBC + * connections. + */ + @Inject + public PvpRepository(PersistenceContext ctx) { + super(ctx); + } + + @Override + public void init() { + super.resolveRecords(); + super.init(); + } + + /** + * Fetches daily scores for given PvP key and knight IDs. + */ + public Map getScores(PvpKey key, List knightIds) { + Map scores = Maps.newHashMap(); + + // Iterate over all the passed knight IDs + for (Integer knightId : knightIds) { + List potentialRecords = from(DailyScoreRecord.class) + .where(DailyScoreRecord.KNIGHT_ID.eq(knightId)) + .select(); + + // The player hasn't played PvP today so let's create a new record for them + if (potentialRecords.isEmpty()) { + DailyScoreRecord dailyScoreRecord = new DailyScoreRecord(); + + // We'll set the record ID to 0 temporarily so that we only call store() when the scores + // are processed instead of making multiple database inserts now + dailyScoreRecord.dailyScoreId = 0; + dailyScoreRecord.pvpKey = key.toString(); + dailyScoreRecord.knightId = knightId; + dailyScoreRecord.points = 0; + dailyScoreRecord.knightsBeatRaw = ""; + dailyScoreRecord.setKnightsBeat(new ArrayList<>()); + + scores.put(knightId, dailyScoreRecord); + continue; + } + + // The player has played PvP today + DailyScoreRecord dailyScoreRecord = potentialRecords.get(0); + + int[] knightsBeat = Arrays + .stream(dailyScoreRecord.knightsBeatRaw.split(",")) + .mapToInt(Integer::parseInt) + .toArray(); + + dailyScoreRecord.setKnightsBeat(Arrays + .stream(knightsBeat) + .boxed() + .collect(Collectors.toList())); + + scores.put(knightId, dailyScoreRecord); + } + + return scores; + } + + /** + * Stores daily scores for given PvP key after being manipulated by the PvP manager. + */ + public void storeScores(Collection scores) { + for (DailyScoreRecord scoreRecord : scores) { + scoreRecord.knightsBeatRaw = StringUtil.join(scoreRecord.getKnightsBeat().toArray(), ","); + + // This is more performant when compared to inserting all the daily scores before + // and updating each one of them now + store(scoreRecord); + } + } + + @Override + protected void getManagedRecords(Set> classes) { + classes.add(PlayerRecord.class); + } +} \ No newline at end of file diff --git a/src/com/github/thetya/server/persist/SceneNameRecord.java b/src/com/github/thetya/server/persist/SceneNameRecord.java new file mode 100644 index 0000000..ec54e63 --- /dev/null +++ b/src/com/github/thetya/server/persist/SceneNameRecord.java @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.persist; + +import com.samskivert.depot.PersistentRecord; +import com.samskivert.depot.annotation.Entity; +import com.samskivert.depot.annotation.GeneratedValue; +import com.samskivert.depot.annotation.GenerationType; +import com.samskivert.depot.annotation.Id; +import com.samskivert.depot.expression.ColumnExp; + +/** + * An ID to name scene map record. + */ +@SuppressWarnings("unused") +@Entity(name = "scene_names") +public class SceneNameRecord extends PersistentRecord { + + // AUTO-GENERATED: FIELDS START + public static final Class _R = SceneNameRecord.class; + public static final ColumnExp SCENE_ID = colexp(_R, "sceneId"); + public static final ColumnExp NAME = colexp(_R, "name"); + // AUTO-GENERATED: FIELDS END + + /** + * Increment this value if you change this record's schema. + */ + public static final int SCHEMA_VERSION = 1; + + /** + * A unique identifier for this scene. Automatically filled in at row insertion time. + */ + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + public int sceneId; + + /** + * This scene's name. + */ + public String name; +} diff --git a/src/com/github/thetya/server/persist/TownRecord.java b/src/com/github/thetya/server/persist/TownRecord.java new file mode 100644 index 0000000..b1f82f5 --- /dev/null +++ b/src/com/github/thetya/server/persist/TownRecord.java @@ -0,0 +1,139 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.persist; + +import com.samskivert.depot.Key; +import com.samskivert.depot.PersistentRecord; +import com.samskivert.depot.annotation.Entity; +import com.samskivert.depot.annotation.GeneratedValue; +import com.samskivert.depot.annotation.GenerationType; +import com.samskivert.depot.annotation.Id; +import com.samskivert.depot.expression.ColumnExp; +import com.threerings.export.util.ExportUtil; +import com.threerings.opengl.renderer.config.ColorizationConfig; +import com.threerings.projectx.town.data.TownSummary; +import com.threerings.util.MessageBundle; +import com.threerings.util.Name; +import com.threerings.whirled.zone.data.SceneSummary; +import com.threerings.whirled.zone.data.ZoneSummary; +import com.threerings.whirled.zone.util.ZoneUtil; + +/** + * A single town. + */ +@SuppressWarnings("unused") +@Entity(name = "towns") +public class TownRecord extends PersistentRecord { + + // AUTO-GENERATED: FIELDS START + public static final Class _R = TownRecord.class; + public static final ColumnExp TOWN_ID = colexp(_R, "townId"); + public static final ColumnExp INTERNAL_ID = colexp(_R, "internalId"); + public static final ColumnExp NAME = colexp(_R, "name"); + public static final ColumnExp DESCRIPTION = colexp(_R, "description"); + public static final ColumnExp ICON = colexp(_R, "icon"); + public static final ColumnExp BACKGROUND_COLORIZATION = colexp(_R, "backgroundColorization"); + public static final ColumnExp ICON_COLORIZATION = colexp(_R, "iconColorization"); + public static final ColumnExp DEFAULT_SCENE_ID = colexp(_R, "defaultSceneId"); + public static final ColumnExp PARENT_TOWN_ID = colexp(_R, "parentTownId"); + public static final ColumnExp SCENES = colexp(_R, "scenes"); + public static final ColumnExp FLAGS = colexp(_R, "flags"); + // AUTO-GENERATED: FIELDS END + + /** + * Increment this value if you change this record's schema. + */ + public static final int SCHEMA_VERSION = 2; + + /** + * A unique identifier for this record. Automatically filled in at row insertion time. + */ + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + public int townId; + + /** + * An internal identifier for this town. Example: haven + */ + public String internalId; + + /** + * The message bundle qualified name of this town. + */ + public String name; + + /** + * The message bundle qualified description of this town. + */ + public String description; + + /** + * The icon for this town. + */ + public String icon; + + /** + * Colorization for the town icon's background. + */ + public String backgroundColorization; + + /** + * Colorization for the town icon. + */ + public String iconColorization; + + /** + * The default scene ID for this town. + */ + public int defaultSceneId; + + /** + * ID of the town parent to this one. + */ + public int parentTownId; + + /** + * Scene IDs which belong to this town. + */ + public int[] scenes; + + /** + * This town's flags. + */ + public int flags; + + public TownSummary createTownSummary() { + ColorizationConfig.Normal backgroundConfig = (ColorizationConfig.Normal) ExportUtil.fromString(backgroundColorization); + ColorizationConfig.Normal iconConfig = (ColorizationConfig.Normal) ExportUtil.fromString(iconColorization); + ColorizationConfig[] colorizations = new ColorizationConfig[]{ iconConfig, backgroundConfig }; + return new TownSummary(townId, name, description, icon, colorizations, flags, defaultSceneId, parentTownId); + } + + public ZoneSummary createZoneSummary() { + ZoneSummary summary = new ZoneSummary(); + summary.zoneId = ZoneUtil.qualifyZoneId((byte) 1, townId); + summary.name = new Name(MessageBundle.qualify("town", name)); + + SceneSummary sceneSummary = new SceneSummary(); + sceneSummary.sceneId = defaultSceneId; + sceneSummary.name = name; + + summary.scenes = new SceneSummary[]{ sceneSummary }; + return summary; + } + + // AUTO-GENERATED: METHODS START + /** + * Create and return a primary {@link Key} to identify a {@link TownRecord} with the supplied + * key values. + */ + public static Key getKey(int townId) { + return newKey(_R, townId); + } + // AUTO-GENERATED: METHODS END +} diff --git a/src/com/github/thetya/server/persist/TownRepository.java b/src/com/github/thetya/server/persist/TownRepository.java new file mode 100644 index 0000000..8400519 --- /dev/null +++ b/src/com/github/thetya/server/persist/TownRepository.java @@ -0,0 +1,145 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.persist; + +import com.github.thetya.server.town.Log; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.samskivert.depot.DepotRepository; +import com.samskivert.depot.PersistenceContext; +import com.samskivert.depot.PersistentRecord; +import com.threerings.export.util.ExportUtil; +import com.threerings.opengl.renderer.config.ColorizationConfig; +import com.threerings.opengl.renderer.config.ColorizationConfig.Normal; +import java.util.List; +import java.util.Set; + +@Singleton +public class TownRepository extends DepotRepository { + + /** + * Creates this repository and provides it with a context via which it will obtain JDBC + * connections. + */ + @Inject + public TownRepository(PersistenceContext ctx) { + super(ctx); + } + + @Override + public void init() { + super.resolveRecords(); + super.init(); + + List towns = from(TownRecord.class).select(); + if (towns.isEmpty()) { + createDefaultTowns(); + } + } + + /** + * Loads and returns all the stored town records. + */ + public List loadTowns() { + return from(TownRecord.class).select(); + } + + /** + * Loads and returns the town with the specified ID, or null if no town exists with that ID. + */ + public TownRecord loadTown(int townId) { + return load(TownRecord.getKey(townId)); + } + + /** + * Loads and returns the town with the specified name, or null if no match. + */ + public TownRecord loadTown(String name) { + return from(TownRecord.class).where(TownRecord.NAME.eq(name)).load(); + } + + /** + * Inserts a newly created town record into the database. If record.townId is non-zero an + * exception will be thrown. + */ + public void insertTown(TownRecord record) { + insert(record); + } + + /** + * Updates a town record. If record.townId is non-zero an exception will be thrown. + */ + public void updateTown(TownRecord record) { + update(record); + } + + /** + * Updates a town record. If record.townId is zero, a new row will be created for this record. + * If not, the matching row will be updated. + */ + public void storeTown(TownRecord record) { + store(record); + } + + /** + * Creates default towns if the "towns" table is empty. + */ + private void createDefaultTowns() { + TownRecord rescueCamp = new TownRecord(); + rescueCamp.internalId = "rescue_camp"; + rescueCamp.name = "m.rescue_camp"; + rescueCamp.description = "m.rescue_camp_desc"; + rescueCamp.icon = "town"; + rescueCamp.defaultSceneId = 4; + rescueCamp.scenes = new int[]{ 4 }; + rescueCamp.flags = 0x4; + + Normal background = new Normal(); + background.colorization = 540; + String backgroundColorization = ExportUtil.toString(background); + + Normal icon = new Normal(); + icon.colorization = 795; + String iconColorization = ExportUtil.toString(icon); + + rescueCamp.backgroundColorization = backgroundColorization; + rescueCamp.iconColorization = iconColorization; + rescueCamp.parentTownId = 0; + + insert(rescueCamp); + + TownRecord haven = new TownRecord(); + haven.internalId = "haven"; + haven.name = "m.haven"; + haven.description = "m.haven_desc"; + haven.icon = "town"; + haven.defaultSceneId = 1; + haven.scenes = new int[]{ 1 }; + haven.flags = 0; + + Normal hBackground = new Normal(); + hBackground.colorization = 528; + String hBackgroundColorization = ExportUtil.toString(hBackground); + + Normal hIcon = new Normal(); + hIcon.colorization = 779; + String hIconColorization = ExportUtil.toString(hIcon); + + haven.backgroundColorization = hBackgroundColorization; + haven.iconColorization = hIconColorization; + haven.parentTownId = 0; + + insert(haven); + Log.log.info("Default towns were created."); + } + + @Override + protected void getManagedRecords(Set> classes) { + classes.add(TownRecord.class); + } +} diff --git a/src/com/github/thetya/server/persist/UplinkRepository.java b/src/com/github/thetya/server/persist/UplinkRepository.java new file mode 100644 index 0000000..4aa41f2 --- /dev/null +++ b/src/com/github/thetya/server/persist/UplinkRepository.java @@ -0,0 +1,265 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.persist; + +import com.github.thetya.server.admin.ThetyaAdminManager; +import com.github.thetya.server.uplink.Log; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.samskivert.depot.DepotRepository; +import com.samskivert.depot.PersistenceContext; +import com.samskivert.depot.PersistentRecord; +import com.samskivert.depot.util.Tuple3; +import com.threerings.projectx.admin.data.Announcement; +import com.threerings.projectx.uplink.data.MailType; +import com.threerings.util.Name; + +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; + +@Singleton +public class UplinkRepository extends DepotRepository { + + @Inject + protected KnightRepository _knightRepo; + @Inject + protected ThetyaAdminManager _adminMgr; + + /** + * Creates this repository and provides it with a context via which it will obtain JDBC + * connections. + */ + @Inject + public UplinkRepository(PersistenceContext ctx) { + super(ctx); + } + + @Override + public void init() { + super.resolveRecords(); + super.init(); + } + + /** + * Loads and returns all mails belonging to the specified knight ID (as recipient), or null if the + * knight has no mails. + */ + public List getMail(Iterable ids, int knightId) { + if(ids != null) { + return from(MailRecord.class).where(MailRecord.RECIPIENT_ID.eq(knightId).and(MailRecord.MAIL_ID.in(ids))).select(); + } else { + return from(MailRecord.class).where(MailRecord.RECIPIENT_ID.eq(knightId)).select(); + } + } + + + public Boolean findAttachment(int recipientId, int senderId, MailType type) { + return false; + } + + public Long acceptAttachment() { + return 0L; + } + + public List deleteOld(long value, TimeUnit unit) { + return Lists.newArrayList(); + } + + public void deleteAnnouncements(int knightId, Iterable ids) { + + } + + public void deleteMail(int knightId, Iterable ids) { + List records = getMail(ids, knightId); + for(MailRecord record : records) { + for (Long id : ids) { + if (record.mailId == id) { + delete(record); + break; + } + } + } + } + + public void resetAttachments(int mailId, MailType type) { + + } + + public void getAttachments(int knightId, int mailId) { + + } + + public void setMailRead(int knightId, Iterable ids) { + List records = getMail(ids, knightId); + for(MailRecord record : records) { + for (Long id : ids) { + if (record.mailId == id) { + record.unread = false; + update(record); + break; + } + } + } + } + + public void setAnnouncementsRead(int knightId, Collection ids) { + Log.log.info("Begin setAnnouncementsRead", "knightId", knightId, "ids", ids); + List statusRecords = from(AnnouncementStatusRecord.class) + .where(AnnouncementStatusRecord.KNIGHT_ID.eq(knightId) + .and(AnnouncementStatusRecord.ANNOUNCEMENT_ID.in(ids))) + .select(); + + Log.log.info("Current status records ", statusRecords); + + if (statusRecords.isEmpty()) { + for (Long id : ids) { + Log.log.info("No match for AID " + id + " - creating new record"); + AnnouncementStatusRecord newRecord = new AnnouncementStatusRecord(); + newRecord.announcementId = id; + newRecord.knightId = knightId; + newRecord.read = true; + + statusRecords.add(newRecord); + } + } else { + for (Long id : ids) { + Log.log.info("Processing AID " + id); + for (AnnouncementStatusRecord record : statusRecords) { + if (record.announcementId == id) { + Log.log.info("Found match for AID " + id + " - its been read"); + record.read = true; + continue; + } + + Log.log.info("No match for AID " + id + " - creating new record"); + AnnouncementStatusRecord newRecord = new AnnouncementStatusRecord(); + newRecord.announcementId = id; + newRecord.knightId = knightId; + newRecord.read = true; + + statusRecords.add(newRecord); + } + } + } + + for (AnnouncementStatusRecord record : statusRecords) { + store(record); + Log.log.info("Stored AID status " + record.announcementId + " for KID " + knightId); + } + } + + public Map getAnnouncementStatus(int knightId) { + List statusRecords = from(AnnouncementStatusRecord.class) + .where(AnnouncementStatusRecord.KNIGHT_ID.eq(knightId)) + .select(); + + Map initialReadMap = Maps.newHashMap(); + + for (AnnouncementStatusRecord status : statusRecords) { + initialReadMap.put(status.announcementId, status.read); + } + + for (Announcement announcement : _adminMgr.getAnnouncementConfigObject().announcements) { + if (!initialReadMap.containsKey(announcement.id)) { + initialReadMap.put(announcement.id, false); + } + } + + return initialReadMap; + } + + public List readAnnouncementIds(int knightId) { + return from(AnnouncementStatusRecord.class) + .where(AnnouncementStatusRecord.KNIGHT_ID.eq(knightId)) + .select(AnnouncementStatusRecord.ANNOUNCEMENT_ID); + } + + public List> getNewMailInfo(int knightId) { + List> newMailInfo = Lists.newArrayList(); + List mailRecords = + from(MailRecord.class) + .where(MailRecord.RECIPIENT_ID.eq(knightId).and(MailRecord.UNREAD.eq(true))) + .select(); + + for (MailRecord mailRecord : mailRecords) { + newMailInfo.add(new Tuple3<>(mailRecord.mailId, mailRecord.senderId, mailRecord.type)); + } + + return newMailInfo; + } + + public Map getNames(List records) { + Map names = Maps.newHashMap(); + for(MailRecord record : records) { + if(record.senderId < 0) { + names.put(record.senderId, null); + break; + } + names.put(record.senderId, _knightRepo.loadKnight(record.senderId).getName()); + } + return names; + } + + /** + * Inserts a newly created mail record into the database. If record.mailId is non-zero an + * exception will be thrown. + */ + public void insertMail(MailRecord record) { + insert(record); + } + + /** + * Updates a mail record. If record.mailId is non-zero an exception will be thrown. + */ + public void updateMail(MailRecord record) { + update(record); + } + + /** + * Updates a mail record. If record.mailId is zero, a new row will be created for this record. + * If not, the matching row will be updated. + */ + public void storeMail(MailRecord record) { + store(record); + } + + public boolean hasUnreadSystemMail(int knightId) { + return from(MailRecord.class) + .where(MailRecord.RECIPIENT_ID.eq(knightId) + .and(MailRecord.UNREAD.eq(true))) + .select() + .isEmpty(); + } + + public Set getUnreadSenders(int knightId) { + return Sets.newHashSet( + _knightRepo.getNames( + from(MailRecord.class) + .where(MailRecord.RECIPIENT_ID.eq(knightId) + .and(MailRecord.UNREAD.eq(true))) + .select() + .stream() + .map(MailRecord.TO_SENDER::apply) + .collect(Collectors.toList()) + ).values() + ); + } + + @Override + protected void getManagedRecords(Set> classes) { + classes.add(MailRecord.class); + classes.add(AnnouncementStatusRecord.class); + } +} diff --git a/src/com/github/thetya/server/persist/transformer/MultiAttachmentTransformer.java b/src/com/github/thetya/server/persist/transformer/MultiAttachmentTransformer.java new file mode 100644 index 0000000..4bff8b7 --- /dev/null +++ b/src/com/github/thetya/server/persist/transformer/MultiAttachmentTransformer.java @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.persist.transformer; + +import com.github.thetya.server.util.PersistUtil; +import com.samskivert.depot.Transformer; +import com.threerings.projectx.uplink.data.MultiAttachment; + +public class MultiAttachmentTransformer extends Transformer { + + @Override + public byte[] toPersistent(MultiAttachment multiAttachment) { + return PersistUtil.exportableToBinary(multiAttachment); + } + + @Override + public MultiAttachment fromPersistent(byte[] bytes) { + return PersistUtil.exportableFromBinary(bytes); + } +} diff --git a/src/com/github/thetya/server/pvp/Log.java b/src/com/github/thetya/server/pvp/Log.java new file mode 100644 index 0000000..07a6c2a --- /dev/null +++ b/src/com/github/thetya/server/pvp/Log.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.pvp; + +import com.samskivert.util.Logger; + +/** + * Contains a reference to the {@link Logger} object used by the pvp package. + */ +@SuppressWarnings("unused") +public class Log { + + /** + * The {@link Logger} reference. + */ + public static Logger log = Logger.getLogger("com.github.thetya.server.pvp"); +} \ No newline at end of file diff --git a/src/com/github/thetya/server/pvp/PvpManager.java b/src/com/github/thetya/server/pvp/PvpManager.java new file mode 100644 index 0000000..9c550d1 --- /dev/null +++ b/src/com/github/thetya/server/pvp/PvpManager.java @@ -0,0 +1,1081 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.pvp; + +import com.github.thetya.server.KnightManager; +import com.github.thetya.server.PlayerLocal; +import com.github.thetya.server.admin.ThetyaAdminManager; +import com.github.thetya.server.dungeon.DungeonManager; +import com.github.thetya.server.dungeon.arena.ArenaParty; +import com.github.thetya.server.dungeon.arena.ArenaPartyHost; +import com.github.thetya.server.peer.ThetyaPeerManager; +import com.github.thetya.server.peer.ThetyaPeerManager.LeadInterval; +import com.github.thetya.server.peer.ThetyaPeerManager.LeadNodeObserver; +import com.github.thetya.server.peer.util.NodePlayerTransfer; +import com.github.thetya.server.persist.DailyScoreRecord; +import com.github.thetya.server.persist.PvpRepository; +import com.github.thetya.server.uplink.UplinkManager; +import com.google.common.base.Function; +import com.google.common.base.Objects; +import com.google.common.collect.HashMultimap; +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.SetMultimap; +import com.google.common.collect.Sets; +import com.google.inject.Inject; +import com.google.inject.Injector; +import com.google.inject.Singleton; +import com.samskivert.depot.PersistenceContext; +import com.samskivert.jdbc.RepositoryListenerUnit; +import com.samskivert.jdbc.RepositoryUnit; +import com.samskivert.util.Calendars; +import com.samskivert.util.CollectionUtil; +import com.samskivert.util.Interval; +import com.samskivert.util.Invoker; +import com.samskivert.util.Invoker.Unit; +import com.samskivert.util.Randoms; +import com.threerings.config.ConfigManager; +import com.threerings.config.ConfigReference; +import com.threerings.crowd.chat.server.SpeakUtil; +import com.threerings.math.FloatMath; +import com.threerings.presents.annotation.MainInvoker; +import com.threerings.presents.client.Client; +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.client.InvocationService.ResultListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.dobj.AttributeChangeListener; +import com.threerings.presents.dobj.AttributeChangedEvent; +import com.threerings.presents.dobj.DEvent; +import com.threerings.presents.dobj.DSet; +import com.threerings.presents.dobj.EventListener; +import com.threerings.presents.dobj.ObjectDeathListener; +import com.threerings.presents.dobj.ObjectDestroyedEvent; +import com.threerings.presents.peer.data.NodeObject; +import com.threerings.presents.peer.server.PeerManager.NodeAction; +import com.threerings.presents.peer.server.PeerNode; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationManager; +import com.threerings.presents.server.PresentsDObjectMgr; +import com.threerings.presents.util.ResultAdapter; + +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.item.config.ItemConfig; +import com.threerings.projectx.item.data.Item; +import com.threerings.projectx.peer.data.ProjectXNodeObject; +import com.threerings.projectx.pvp.data.Leaderboard; +import com.threerings.projectx.pvp.data.Leaderboard.Entry; +import com.threerings.projectx.pvp.data.PlayerRank; +import com.threerings.projectx.pvp.data.PvpConfig; +import com.threerings.projectx.pvp.data.PvpGame; +import com.threerings.projectx.pvp.data.PvpKey; +import com.threerings.projectx.pvp.data.PvpLanguageKey; +import com.threerings.projectx.pvp.data.PvpMarshaller; +import com.threerings.projectx.pvp.data.PvpObject; +import com.threerings.projectx.pvp.data.PvpObject.Status; +import com.threerings.projectx.pvp.data.PvpPayout; +import com.threerings.projectx.pvp.data.PvpPeerMarshaller; +import com.threerings.projectx.pvp.data.PvpPlayer; +import com.threerings.projectx.uplink.data.MailAttachment; +import com.threerings.projectx.uplink.data.MailType; +import com.threerings.projectx.uplink.data.SystemSender; +import com.threerings.projectx.util.DeploymentConfig; +import com.threerings.util.MessageBundle; +import com.threerings.util.Name; +import com.threerings.whirled.zone.util.ZoneUtil; +import java.util.Arrays; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +@Singleton +public class PvpManager implements PvpProvider, PvpPeerProvider, LeadNodeObserver { + + @Inject @MainInvoker protected Invoker _invoker; + @Inject protected PvpRepository _pvprepo; + @Inject protected ConfigManager _cfgmgr; + @Inject protected ThetyaAdminManager _adminmgr; + @Inject protected KnightManager _knightmgr; + @Inject protected UplinkManager _uplinkmgr; + @Inject protected PresentsDObjectMgr _omgr; + @Inject protected DungeonManager _dungeonmgr; + @Inject protected ArenaPartyHost _partyHost; + + protected ThetyaPeerManager _peermgr; + protected PvpObject _pvpobj; + protected String _nodeName; + protected EventListener _cfgListener = event -> PvpManager.this.readConfig(); + protected PlayerListener _playerListener = new PlayerListener(); + protected Map _payments = Maps.newHashMap(); + protected Map _starters; + protected SetMultimap _waiters; + protected SetMultimap _signups; + protected List _leaderboards; + + protected static final Map CONFIGS; + + public static final float MAX_POINTS = 40.0F; + public static final int MAX_POINTS_PLAYERS = 8; + public static final int PRIZE_DAYS = 7; + public static final int TOP_RANKED = 10; + protected static final boolean DEBUG = false; + protected static final int WAIT_FOR_MAX_PLAYERS = 30; + + @Inject + public PvpManager(PersistenceContext ctx, PresentsDObjectMgr omgr, InvocationManager invmgr, ThetyaPeerManager peermgr) { + this._peermgr = peermgr; + omgr.registerObject(this._pvpobj = new PvpObject()); + this._pvpobj.pvpService = invmgr.registerProvider(this, PvpMarshaller.class); + + // Set leaderboards to static for the time being, so it doesn't crash the client + _leaderboards = Lists.newArrayList(); + + Leaderboard t1Leaderboard = new Leaderboard(); + t1Leaderboard.key = PvpKey.SB_T1; + t1Leaderboard.entries = new Entry[]{ new Entry("Clotho", -10), new Entry("Hera", -69), new Entry("Gh-Sucks", -1337) }; + + Leaderboard t2Leaderboard = new Leaderboard(); + t2Leaderboard.key = PvpKey.SB_T2; + t2Leaderboard.entries = new Entry[]{ new Entry("Clotho", -10), new Entry("Hera", -69), new Entry("Gh-Sucks", -1337) }; + + Leaderboard t3Leaderboard = new Leaderboard(); + t3Leaderboard.key = PvpKey.SB_T3; + t3Leaderboard.entries = new Entry[]{ new Entry("Clotho", -10), new Entry("Hera", -69), new Entry("Gh-Sucks", -1337) }; + + Leaderboard uLeaderboard = new Leaderboard(); + uLeaderboard.key = PvpKey.SB_U; + uLeaderboard.entries = new Entry[]{ new Entry("Clotho", -10), new Entry("Hera", -69), new Entry("Gh-Sucks", -1337) }; + + _leaderboards.add(t1Leaderboard); + _leaderboards.add(t2Leaderboard); + _leaderboards.add(t3Leaderboard); + _leaderboards.add(uLeaderboard); + + _pvpobj.setLeaderboards(new DSet<>(_leaderboards)); + + this.resetGames(); + } + + public void init(Injector injector) { + this._partyHost.init(); + this._peermgr.addLeadNodeObserver(this); + this._adminmgr.getPvpConfigObject().addListener(this._cfgListener); + this.readConfig(); + this.loadLeaderboards(); + + ProjectXNodeObject nodeobj = (ProjectXNodeObject)this._peermgr.getNodeObject(); + + if (nodeobj != null) { + this._nodeName = nodeobj.nodeName; + nodeobj.setPvpPeerService(injector.getInstance(InvocationManager.class).registerProvider(this, PvpPeerMarshaller.class)); + } + + this._peermgr.addLeadInterval(new LeadInterval(this._omgr) { + public void expired() { + if (PvpManager.this._peermgr.isLeadNode()) { + PvpManager.this.awardPrizes(); + } + + this.schedule(); + } + + public void schedule() { + this.schedule(Calendars.now().zeroTime().set(7, 2).addDays(7).toDate()); + } + }); + this.leadNodeChanged(this._peermgr.getLeadNode()); + } + + public void leadNodeChanged(PeerNode leadNode) { + Log.log.debug("PvpManager.leadNodeChanged", "leadNode", leadNode); + this.cancelAndRefundAll(); + if (leadNode != null) { + this._starters = null; + this._waiters = null; + this._signups = null; + ((ProjectXNodeObject)leadNode.nodeobj).pvpPeerService.getStatus(new ResultListener() { + public void requestProcessed(Object result) { + DSet status = (DSet) result; + PvpManager.this._pvpobj.setStatus(status); + } + + public void requestFailed(String reason) { + Log.log.warning("Could not request gameInfo from lead node.", "reason", reason); + } + }); + } else { + this._starters = Maps.newHashMap(); + this._waiters = HashMultimap.create(); + this._signups = HashMultimap.create(); + } + + } + + public PvpObject getPvpObject() { + return this._pvpobj; + } + + public void gameResults(PvpConfig config, List players, com.samskivert.util.ResultListener rl) { + this.assignRanksAndPayouts(config, players); + final List knightIds = Lists.newArrayListWithCapacity(players.size()); + + for (PvpPlayer player : players) { + if (player.payout > 0) { + String msg = MessageBundle + .compose("m.winnings", MessageBundle.taint(String.valueOf(player.payout)), + config.key.getName()); + this._knightmgr.grantCrowns(player.name, player.payout, "pvp", msg); + } + + if (player.knightId == 0) { + players = players.subList(0, knightIds.size()); + break; + } + + knightIds.add(player.knightId); + } + + final PvpKey key = config.key; + //this._evlog.log(new GameEnd(config.key, knightIds)); + List finalPlayers = players; + this._invoker.postUnit(new RepositoryListenerUnit("pvpGameResult", rl) { + protected List _entries = Lists.newArrayList(); + + @Override + public Void invokePersistResult() { + Map scores = PvpManager.this._pvprepo.getScores(key, knightIds); + float maxPoints = MAX_POINTS * ((float) finalPlayers.size() / 8.0F); + int ii = 0; + + for(int nn = finalPlayers.size(); ii < nn; ++ii) { + PvpPlayer player = finalPlayers.get(ii); + DailyScoreRecord rec = scores.get(player.knightId); + + int beatIdx; + for(beatIdx = ii + 1; beatIdx < nn && player.rank == (finalPlayers.get(beatIdx)).rank; ++beatIdx) { + } + + int points; + if (beatIdx == nn) { + points = 1; + } else { + int newBeats = 0; + + for(int jj = beatIdx; jj < nn; ++jj) { + rec.getKnightsBeat().add(knightIds.get(jj)); + ++newBeats; + } + + float rankPoints = maxPoints * (1.0F - (float)(beatIdx - 1) / (float)(nn - 1)); + float adjustment = 0.5F + 0.5F * (float)newBeats / (float)(nn - beatIdx); + points = Math.max(1, Math.round(adjustment * rankPoints)); + } + + player.dailyPoints = points; + rec.points += points; + this._entries.add(new Entry(player.name.toString(), rec.points)); + } + + PvpManager.this._pvprepo.storeScores(scores.values()); + return null; + } + + @Override + public void handleSuccess() { + super.handleSuccess(); + Entry[] existing = (PvpManager.this._pvpobj.leaderboards.get(key)).entries; + if (existing.length == 10) { + Entry least = existing[existing.length - 1]; + + for(int ii = this._entries.size() - 1; ii >= 0; --ii) { + if (least.compareTo(this._entries.get(ii)) < 0) { + this._entries.remove(ii); + } + } + } + + if (!this._entries.isEmpty()) { + PvpManager.this._peermgr.invokeNodeAction(new UpdateLeaderboardAction(key, this._entries)); + } + + } + }); + } + + @Override + public void getRanks(ClientObject caller, ResultListener rl) throws InvocationException { + final int knightId = ((PlayerObject)caller).knightId; + this._invoker.postUnit(new RepositoryListenerUnit>(new ResultAdapter(rl)) { + @Override + public Map invokePersistResult() { + // return PvpManager.this._pvprepo.loadRanks(knightId, CONFIGS.keySet()); + return null; + } + }); + } + + @Override + public void signUp(ClientObject caller, final PvpKey key, final ConfirmListener cl) throws InvocationException { + final PvpConfig cfg = this._pvpobj.games.get(key); + precondition(cfg != null); + final PlayerObject plobj = (PlayerObject)caller; + final Integer oid = plobj.getOid(); + Name name = plobj.knight; + if (plobj.pvpSignups.containsKey(key)) { + throw new InvocationException("m.internal_error"); + } else if (!cfg.gearQualifies(this._cfgmgr, plobj)) { + throw new InvocationException("m.internal_error"); + } else { + PaymentRecord payment = this._payments.get(oid); + boolean firstReg = payment == null; + if (firstReg) { + payment = new PaymentRecord(plobj.knight); + } + + int crownsToTake = Math.max(0, cfg.fee - payment.crowns); + plobj.startTransaction(); + + try { + if (crownsToTake > 0) { + if (plobj.crowns < crownsToTake) { + throw new InvocationException("m.nsf_crowns"); + } + + payment.crowns += crownsToTake; + plobj.adjustCrowns(-crownsToTake); + } + + plobj.addToPvpSignups(cfg); + } finally { + plobj.commitTransaction(); + } + + if (firstReg) { + plobj.addListener(this._playerListener); + this._payments.put(oid, payment); + } + + ResultListener rl = new ResultListener() { + @Override + public void requestProcessed(Object result) { + cl.requestProcessed(); + if (Boolean.TRUE.equals(result)) { + SpeakUtil.sendInfo(plobj, "pvp", MessageBundle.compose("m.start_soon", key.getName())); + } + + //this._evlog.log(new Signup(plobj.knightId, key)); + } + + @Override + public void requestFailed(String reason) { + PvpManager.this.cancel(oid, cfg, false); + cl.requestFailed(reason); + } + }; + PeerNode leadNode = this._peermgr.getLeadNode(); + PvpLanguageKey lkey = new PvpLanguageKey(key, (plobj.getLocal(PlayerLocal.class)).credentials.language); + if (leadNode == null) { + this.signUp(null, name, lkey, rl); + } else { + ((ProjectXNodeObject)leadNode.nodeobj).pvpPeerService.signUp(name, lkey, rl); + } + + } + } + + @Override + public void withdraw(ClientObject caller, PvpKey key, ConfirmListener cl) throws InvocationException { + PvpConfig cfg = this._pvpobj.games.get(key); + precondition(cfg != null); + this.removePlayer(caller.getOid(), (caller.getLocal(PlayerLocal.class)).credentials.language, cfg, false, cl); + } + + @Override + public void getStatus(ClientObject node, ResultListener rl) throws InvocationException { + rl.requestProcessed(this._pvpobj.status); + } + + @Override + public void signUp(ClientObject node, Name name, PvpLanguageKey key, ResultListener rl) throws InvocationException { + if (!this._signups.put(name, key)) { + throw new InvocationException("e.already_signed_up"); + } else { + boolean startSoon = false; + if (!this.inPending(name)) { + this._waiters.put(key, name); + this.updateWaiters(key); + startSoon = this.check(key); + } + + rl.requestProcessed(startSoon); + } + } + + @Override + public void withdraw(ClientObject node, Name name, PvpLanguageKey key, ResultListener rl) throws InvocationException { + Set signups = this._signups.get(name); + Object toRemove; + boolean all; + if (key == null) { + if (signups.isEmpty()) { + throw new InvocationException("e.not_signed_up"); + } + + toRemove = Sets.newHashSet(signups); + all = true; + } else { + if (!signups.contains(key)) { + throw new InvocationException("e.not_signed_up"); + } + + toRemove = Collections.singleton(key); + all = toRemove.equals(signups); + } + + rl.requestProcessed(all); + Iterator i$ = ((Set)toRemove).iterator(); + + PvpLanguageKey oKey; + while(i$.hasNext()) { + oKey = (PvpLanguageKey)i$.next(); + this._waiters.remove(oKey, name); + this._signups.remove(name, oKey); + this.updateWaiters(oKey); + this.check(oKey); + } + + if (!this.inPending(name)) { + i$ = signups.iterator(); + + while(i$.hasNext()) { + oKey = (PvpLanguageKey)i$.next(); + if (this._waiters.put(oKey, name)) { + this.updateWaiters(oKey); + this.check(oKey); + if (this._starters.containsKey(oKey) || !this._waiters.containsEntry(oKey, name)) { + break; + } + } + } + } + + } + + protected boolean inPending(Name name) { + Iterator i$ = this._starters.keySet().iterator(); + + PvpLanguageKey starterKey; + do { + if (!i$.hasNext()) { + return false; + } + + starterKey = i$.next(); + } while(!this._waiters.containsEntry(starterKey, name)); + + return true; + } + + protected boolean check(final PvpLanguageKey key) { + Set waiters = this._waiters.get(key); + PvpConfig cfg = this._pvpobj.games.get(key.pvpKey); + if (waiters.size() == cfg.maxPlayers) { + this.startGame(key); + return false; + } else { + Interval interval = this._starters.get(key); + if (waiters.size() >= cfg.minPlayers == (interval != null)) { + return interval != null; + } else { + Set thisKey = Collections.singleton(key); + Set otherKeys = Sets.newHashSet(); + Iterator i$; + if (interval == null) { + interval = new Interval(this._omgr) { + public void expired() { + PvpManager.this.startGame(key); + } + }; + interval.schedule(WAIT_FOR_MAX_PLAYERS * 1000); + this._starters.put(key, interval); + this._knightmgr.sendInfo(waiters, "pvp", MessageBundle.compose("m.start_soon", key.pvpKey.getName())); + waiters = Sets.newHashSet(waiters); + Set oKeys = Sets.newHashSet(Sets.difference(this._waiters.keySet(), thisKey)); + + for (PvpLanguageKey oKey : oKeys) { + + for (Name waiter : waiters) { + if (this._waiters.remove(oKey, waiter)) { + otherKeys.add(oKey); + } + } + } + } else { + this._knightmgr.sendInfo(waiters, "pvp", MessageBundle.compose("m.start_delayed", key.pvpKey.getName())); + interval.cancel(); + this._starters.remove(key); + i$ = Lists.newArrayList(waiters).iterator(); + + label71: + while(true) { + while(true) { + if (!i$.hasNext()) { + break label71; + } + + Name waiter = (Name)i$.next(); + Set otherSignups = Sets.difference(this._signups.get(waiter), thisKey); + otherKeys.addAll(otherSignups); + Set startingSoon = Sets.intersection(otherSignups, this._starters.keySet()); + if (!startingSoon.isEmpty()) { + PvpLanguageKey oKey = (PvpLanguageKey) Randoms.threadLocal().pick(startingSoon, (Object)null); + this._waiters.put(oKey, waiter); + this.check(oKey); + } else { + + for (PvpLanguageKey oKey : otherSignups) { + this._waiters.put(oKey, waiter); + this.check(oKey); + if (this._starters.containsKey(oKey) || !this._waiters + .containsEntry(oKey, waiter)) { + break; + } + } + } + } + } + } + + i$ = otherKeys.iterator(); + + while(i$.hasNext()) { + PvpLanguageKey otherKey = (PvpLanguageKey)i$.next(); + this.updateWaiters(otherKey); + } + + return false; + } + } + } + + protected void updateWaiters(PvpLanguageKey key) { + byte newWaiters = (byte) this._waiters.get(key).size(); + Status status = this._pvpobj.status.get(key); + if (newWaiters != status.waiters) { + status.waiters = newWaiters; + this._peermgr.invokeNodeAction(new UpdateStatusAction(status)); + } + + } + + protected void startGame(PvpLanguageKey key) { + PvpConfig cfg = this._pvpobj.games.get(key.pvpKey); + (this._starters.remove(key)).cancel(); + Set players = this._waiters.get(key); + + ArenaParty party; + try { + party = this._partyHost.createParty(cfg, key.language, players); + } catch (InvocationException var9) { + Log.log.warning("Could not create pvp party.", "cfg", cfg, var9); + return; + } + + players = this._waiters.removeAll(key); + + for (Name name : players) { + + for (PvpLanguageKey otherKey : this._signups.removeAll(name)) { + this._waiters.remove(otherKey, name); + } + } + + //this._peermgr.invokeNodeAction(new GameStartAction(this._nodeName, party.getPartyObject().getOid(), players, key)); + this.gameIsStarting(this._nodeName, party.getPartyObject().getOid(), Iterables.toArray(players, Name.class), key); + this.updateWaiters(key); + } + + protected void gameIsStarting(String nodeName, final int oid, Name[] players, PvpLanguageKey key) { + PvpConfig cfg = this._pvpobj.games.get(key.pvpKey); + int len$ = players.length; + + for (Name name : players) { + PlayerObject plobj = this._knightmgr.getPlayer(name); + if (plobj != null) { + PaymentRecord payment = this._payments.remove(plobj.getOid()); + plobj.setPvpSignups(new DSet<>()); + plobj.removeListener(this._playerListener); + int refund = payment.crowns - cfg.fee; + if (refund > 0) { + plobj.adjustCrowns(refund); + } + + if (Objects.equal(nodeName, this._nodeName)) { + ArenaParty party = (ArenaParty) this._dungeonmgr.getParty(oid); + if (party == null) { + Log.log.warning("What? Party is gone."); + return; + } + + party.addMember(plobj, true); + } else { + com.samskivert.util.ResultListener rl = new com.samskivert.util.ResultListener() { + public void requestCompleted(Boolean result) { + if (!Boolean.FALSE.equals(result)) { + Log.log.warning("Could not transfer player", "problem", "unknown1"); + } + + } + + public void requestFailed(Exception cause) { + Log.log.warning("Could not transfer player", cause); + } + }; + NodePlayerTransfer transfer = new NodePlayerTransfer(plobj, nodeName, rl) { + protected void requestTransfer(Client client, ProjectXNodeObject nodeobj, + PlayerObject player, Object[] locals) { + nodeobj.projectXPeerService.addToParty(player, locals, oid, false, false, this); + } + }; + if (!transfer.invoke(this._peermgr)) { + Log.log.warning("Could not transfer player", "problem", "unknown2"); + } + } + } + } + + } + + protected void integrateLeaderboard(PvpKey key, Iterable entries) { + Leaderboard board = this._pvpobj.leaderboards.get(key); + List topEntries = Lists.newArrayList(board.entries); + + for (Entry entry : entries) { + int idx = topEntries.indexOf(entry); + if (idx != -1) { + topEntries.set(idx, entry); + } else { + topEntries.add(entry); + } + } + + Collections.sort(topEntries); + CollectionUtil.limit(topEntries, 10); + board.entries = Iterables.toArray(topEntries, Entry.class); + this._pvpobj.updateLeaderboards(board); + } + + protected void removePlayer(final int oid, String language, final PvpConfig cfg, + final boolean notify, final ConfirmListener cl) { + PaymentRecord payment = this._payments.get(oid); + if (payment == null) { + if (cl != null) { + cl.requestFailed("e.not_signed_up"); + } + + } else { + ResultListener rl = new ResultListener() { + public void requestProcessed(Object result) { + PvpManager.this.cancel(oid, cfg, notify); + if (cl != null) { + cl.requestProcessed(); + } + + } + + public void requestFailed(String reason) { + if (cl != null) { + cl.requestFailed(reason); + } else { + Log.log.warning("Unable to remove player from lead node", "reason", reason); + } + + } + }; + PeerNode leadNode = this._peermgr.getLeadNode(); + PvpKey key = cfg == null ? null : cfg.key; + PvpLanguageKey lkey = key == null ? null : new PvpLanguageKey(key, language); + if (leadNode == null) { + try { + this.withdraw(null, payment.name, lkey, rl); + } catch (InvocationException var12) { + rl.requestFailed(var12.getMessage()); + } + } else { + ((ProjectXNodeObject)leadNode.nodeobj).pvpPeerService.withdraw(payment.name, lkey, rl); + } + + } + } + + protected void cancel(int oid, PvpConfig cfg, boolean notify) { + PlayerObject plobj = (PlayerObject)this._omgr.getObject(oid); + boolean last = cfg == null || plobj == null; + if (plobj != null) { + if (last) { + plobj.setPvpSignups(new DSet<>()); + } else { + plobj.removeFromPvpSignups(cfg.key); + last = plobj.pvpSignups.size() == 0; + } + + if (last) { + plobj.removeListener(this._playerListener); + } + } + + PaymentRecord payment = last ? this._payments.remove(oid) : this._payments.get(oid); + int refund; + if (last) { + refund = payment.crowns; + } else { + int crowns = 0; + + PvpConfig ocfg; + for(Iterator i$ = plobj.pvpSignups.iterator(); i$.hasNext(); crowns = Math.max(crowns, ocfg.fee)) { + ocfg = i$.next(); + } + + refund = Math.max(payment.crowns - crowns, 0); + payment.crowns = crowns; + } + + if (refund > 0) { + if (notify) { + this._knightmgr.grantCrowns(payment.name, refund, "pvp", MessageBundle.tcompose("m.refunded", String.valueOf(refund))); + } else { + this._knightmgr.grantCrowns(payment.name, refund); + } + } + + } + + protected void readConfig() { + } + + protected void resetGames() { + List list = Lists.newArrayList(); + + for (PvpConfig config : CONFIGS.values()) { + String[] arr$ = DeploymentConfig.getSupportedLocales(); + int len$ = arr$.length; + + for (String language : arr$) { + Status status = new Status(); + status.key = new PvpLanguageKey(config.key, language); + list.add(status); + } + } + + this._pvpobj.startTransaction(); + + try { + this._pvpobj.setGames(new DSet<>(CONFIGS.values())); + this._pvpobj.setStatus(new DSet<>(list)); + } finally { + this._pvpobj.commitTransaction(); + } + + } + + protected void cancelAndRefundAll() { + + for (Integer oid : Lists.newArrayList(this._payments.keySet())) { + this.cancel(oid, null, true); + } + + if (this._peermgr.isLeadNode() && this._starters != null) { + + for (Interval ival : this._starters.values()) { + ival.cancel(); + } + + this._starters.clear(); + this._waiters.clear(); + this._signups.clear(); + this.resetGames(); + } + + } + + protected void assignRanksAndPayouts(PvpConfig cfg, List players) { + int playerCount = players.size(); + if (playerCount != 0) { + int prizePool = (int) FloatMath.ceil((1.0F - cfg.rake) * (float)(cfg.fee * playerCount)); + int minPayout = cfg.payout.minimumPayout(cfg.fee); + int ranksToPay = cfg.payout.ranksToPay(playerCount); + float[] shares = new float[playerCount]; + PvpPlayer atRank = null; + float rankShare = 0.0F; + int rank = 0; + float allocated = 0.0F; + + int ii; + for(ii = 0; ii < playerCount; ++ii) { + PvpPlayer player = players.get(ii); + if (ii == 0 || 0 != atRank.compareTo(player)) { + atRank = player; + rank = ii; + rankShare = ii < ranksToPay ? cfg.payout.shareAmount(ii) : 0.0F; + } + + player.rank = (byte)rank; + shares[ii] = rankShare; + allocated += rankShare; + } + + for(ii = playerCount - 1; ii >= 0; --ii) { + int payout = (int)((float)prizePool * (shares[ii] / allocated)); + PvpPlayer player = players.get(ii); + if (payout < minPayout && player.rank > 0) { + payout = 0; + allocated -= shares[ii]; + } + + player.payout = payout; + } + + } + } + + protected void loadLeaderboards() { + this._invoker.postUnit(new Unit("pvpLoadLeaderboards") { + protected List _boards; + + public boolean invoke() { + // this._boards = PvpManager.this._pvprepo.loadLeaderboards( + // CONFIGS.keySet(), 10); + this._boards = PvpManager.this._leaderboards; + return true; + } + + public void handleResult() { + PvpManager.this._pvpobj.setLeaderboards(new DSet<>(this._boards)); + } + }); + } + + protected void awardPrizes() { + //this._invoker.postUnit(new RepositoryUnit("pvpAwardPrizes") { + // protected Map> _map; +// + // public void invokePersist() { + // this._map = PvpManager.this._pvprepo.loadLeadersAndClearScores( + // CONFIGS.keySet()); + // } +// + // public void handleSuccess() { + // final Long expireTime = Calendars.now().addDays(7).toTime(); + // ItemConfigurator configger = new ItemConfigurator() { + // public void configure(Item item) { + // item.setLocked(true); + // item.setExpire(expireTime); + // } + // }; + // Iterator i$ = CONFIGS.values().iterator(); +// + // while(true) { + // PvpConfig cfg; + // List leaders; + // do { + // do { + // if (!i$.hasNext()) { + // PvpManager.this._peermgr.invokeNodeAction(new ReloadLeaderboardsAction()); + // return; + // } +// + // cfg = (PvpConfig)i$.next(); + // } while(cfg.prize == null); +// + // leaders = (List)this._map.get(cfg.key); + // } while(leaders == null); +// + // ConfigReference ref = new ConfigReference(cfg.prize); + // Iterator i$x = leaders.iterator(); +// + // while(i$x.hasNext()) { + // Leader leader = (Leader)i$x.next(); + // Name name = new Name(leader.name); + // this._knightmgr.grantItem(name, leader.bagId, ref, configger); + // String subject = MessageBundle.qualify("pvp", "m.prize_subj"); + // String mail = MessageBundle.qualify("pvp", MessageBundle.compose("m.prize", cfg.key.getName())); + // PvpManager.this._uplinkmgr.deliverSystem( + // SystemSender.PVP, leader.knightId, name, subject, mail, (MailAttachment)null, (MailType)null); + // } + // } + // } + //}); + } + + protected static void precondition(boolean assertion) throws InvocationException { + precondition(assertion, "m.internal_error"); + } + + protected static void precondition(boolean assertion, String exceptionType) throws InvocationException { + if (!assertion) { + throw new InvocationException(exceptionType); + } + } + + static { + CONFIGS = Maps.uniqueIndex( + Arrays.asList( + new PvpConfig( + PvpKey.SB_T1, + PvpGame.SUPER_BRAWL, + PvpPayout.CASCADE_EXPO, + 0, + 1, + 8, + 2, + 100, + 0.3F, + true, + "Costume/Helm/Super Brawl Crown"), + new PvpConfig( + PvpKey.SB_T2, + PvpGame.SUPER_BRAWL, + PvpPayout.CASCADE_EXPO, + 10, + 3, + 8, + 4, + 200, + 0.3F, + true, + "Costume/Helm/Super Brawl Crown"), + new PvpConfig( + PvpKey.SB_T3, + PvpGame.SUPER_BRAWL, + PvpPayout.CASCADE_EXPO, + 20, + 5, + 8, + 4, + 300, + 0.3F, + true, + "Costume/Helm/Super Brawl Crown"), + new PvpConfig( + PvpKey.SB_U, + PvpGame.SUPER_BRAWL, + PvpPayout.CASCADE_EXPO, + 28, + 5, + 8, + 4, + 5000, + 0.3F, + false, + "Costume/Helm/Super Brawl Crown")), + cfg -> cfg.key); + } + + protected static class PaymentRecord { + public final Name name; + public int crowns; + + public PaymentRecord(Name name) { + this.name = name; + } + } + + protected class PlayerListener implements AttributeChangeListener, ObjectDeathListener { + protected PlayerListener() { + } + + public void attributeChanged(AttributeChangedEvent event) { + if (event.getName().equals("zoneId") && ZoneUtil.zoneType(event.getIntValue()) != 1) { + PvpManager.this.removePlayer(event.getTargetOid(), null, null, true, null); + } + + } + + public void objectDestroyed(ObjectDestroyedEvent event) { + PvpManager.this.removePlayer(event.getTargetOid(), null, null, false, null); + } + } + + public static class GameStartAction extends NodeAction { + + protected String _nodeName; + protected int _partyOid; + protected Name[] _players; + protected PvpLanguageKey _key; + + @Inject protected transient PvpManager _pvpmgr; + + public GameStartAction(String nodeName, int partyOid, Iterable players, PvpLanguageKey key) { + this._nodeName = nodeName; + this._partyOid = partyOid; + this._players = Iterables.toArray(players, Name.class); + this._key = key; + } + + public boolean isApplicable(NodeObject nodeobj) { + return true; + } + + protected void execute() { + this._pvpmgr.gameIsStarting(this._nodeName, this._partyOid, this._players, this._key); + } + } + + public static class ReloadLeaderboardsAction extends NodeAction { + + @Inject protected transient PvpManager _pvpmgr; + + public boolean isApplicable(NodeObject nodeobj) { + return true; + } + + protected void execute() { + this._pvpmgr.loadLeaderboards(); + } + } + + public static class UpdateLeaderboardAction extends NodeAction { + + protected PvpKey _key; + protected Entry[] _entries; + @Inject protected transient PvpManager _pvpmgr; + + public UpdateLeaderboardAction(PvpKey key, Iterable entries) { + this._key = key; + this._entries = Iterables.toArray(entries, Entry.class); + } + + public boolean isApplicable(NodeObject nodeobj) { + return true; + } + + protected void execute() { + this._pvpmgr.integrateLeaderboard(this._key, Arrays.asList(this._entries)); + } + } + + public static class UpdateStatusAction extends NodeAction { + + protected Status _status; + @Inject protected transient PvpManager _pvpmgr; + + public UpdateStatusAction(Status status) { + this._status = status; + } + + public boolean isApplicable(NodeObject nodeobj) { + return true; + } + + protected void execute() { + this._pvpmgr.getPvpObject().updateStatus(this._status); + } + } +} diff --git a/src/com/github/thetya/server/pvp/PvpPeerProvider.java b/src/com/github/thetya/server/pvp/PvpPeerProvider.java new file mode 100644 index 0000000..a61bd3d --- /dev/null +++ b/src/com/github/thetya/server/pvp/PvpPeerProvider.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.pvp; + +import com.threerings.presents.client.InvocationService.ResultListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationProvider; +import com.threerings.projectx.pvp.client.PvpPeerService; +import com.threerings.projectx.pvp.data.PvpLanguageKey; +import com.threerings.util.Name; +import javax.annotation.Generated; + +/** + * Defines the server-side of the {@link PvpPeerService}. + */ +@Generated(value = {"com.threerings.presents.tools.GenServiceTask"}, + comments = "Derived from PvpPeerService.java.") +public interface PvpPeerProvider extends InvocationProvider { + + /** + * Handles a {@link PvpPeerService#getRanks} request. + */ + void getStatus(ClientObject caller, ResultListener rl) throws InvocationException; + + /** + * Handles a {@link PvpPeerService#signUp} request. + */ + void signUp(ClientObject caller, Name name, PvpLanguageKey key, ResultListener rl) + throws InvocationException; + + /** + * Handles a {@link PvpPeerService#withdraw} request. + */ + void withdraw(ClientObject caller, Name name, PvpLanguageKey key, ResultListener rl) + throws InvocationException; +} diff --git a/src/com/github/thetya/server/pvp/PvpProvider.java b/src/com/github/thetya/server/pvp/PvpProvider.java new file mode 100644 index 0000000..16ff4c9 --- /dev/null +++ b/src/com/github/thetya/server/pvp/PvpProvider.java @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.pvp; + +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.client.InvocationService.ResultListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationProvider; +import com.threerings.projectx.pvp.client.PvpService; +import com.threerings.projectx.pvp.data.PvpKey; +import javax.annotation.Generated; + +/** + * Defines the server-side of the {@link PvpService}. + */ +@Generated(value = {"com.threerings.presents.tools.GenServiceTask"}, + comments = "Derived from PvpService.java.") +public interface PvpProvider extends InvocationProvider { + + /** + * Handles a {@link PvpService#getRanks} request. + */ + void getRanks(ClientObject caller, ResultListener rl) throws InvocationException; + + /** + * Handles a {@link PvpService#signUp} request. + */ + void signUp(ClientObject caller, PvpKey key, ConfirmListener cl) throws InvocationException; + + /** + * Handles a {@link PvpService#withdraw} request. + */ + void withdraw(ClientObject caller, PvpKey key, ConfirmListener cl) throws InvocationException; +} diff --git a/src/com/github/thetya/server/redis/Log.java b/src/com/github/thetya/server/redis/Log.java new file mode 100644 index 0000000..ddc8eb3 --- /dev/null +++ b/src/com/github/thetya/server/redis/Log.java @@ -0,0 +1,22 @@ +// +// $Id: thetya-server 2020-11-03 18:30 micha $ +// +// Copyright (C) 2013-2020 Thetya Team +// https://github.com/Thetya +// + +package com.github.thetya.server.redis; + +import com.samskivert.util.Logger; + +/** + * Contains a reference to the {@link Logger} object used by the redis package. + */ +@SuppressWarnings("unused") +public class Log { + + /** + * The {@link Logger} reference. + */ + public static Logger log = Logger.getLogger("com.github.thetya.server.redis"); +} diff --git a/src/com/github/thetya/server/redis/PubSubListener.java b/src/com/github/thetya/server/redis/PubSubListener.java new file mode 100644 index 0000000..a034858 --- /dev/null +++ b/src/com/github/thetya/server/redis/PubSubListener.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.redis; + +import com.github.thetya.server.redis.request.RedisRequest; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.threerings.export.util.ExportUtil; +import redis.clients.jedis.JedisPubSub; +import static com.github.thetya.server.redis.Log.log; + +import java.nio.charset.StandardCharsets; + +@Singleton +public class PubSubListener extends JedisPubSub { + + @Inject + protected RedisManager _redisMgr; + + @Override + public void onMessage(String channel, String message) { + log.debug("Received raw message over pubsub", "channel", channel, "message", message); + + switch (channel) { + case "INGRESS": + RedisRequest request = (RedisRequest) ExportUtil.fromBytes(message.getBytes(StandardCharsets.UTF_8)); + _redisMgr.authorizeAndDispatch(request); + break; + default: + log.warning("Unsupported pubsub channel", "channel", channel, "message", message); + break; + } + } + + @Override + public void onSubscribe(String channel, int subscribedChannels) { + log.info("Subscribed to " + channel + " pubsub channel", "subscribedChannels", subscribedChannels); + } + + @Override + public void onUnsubscribe(String channel, int subscribedChannels) { + log.info("Unsubscribed from " + channel + " pubsub channel", "subscribedChannels", subscribedChannels); + } +} diff --git a/src/com/github/thetya/server/redis/logic/RedisLogic.java b/src/com/github/thetya/server/redis/logic/RedisLogic.java new file mode 100644 index 0000000..1419c3a --- /dev/null +++ b/src/com/github/thetya/server/redis/logic/RedisLogic.java @@ -0,0 +1,15 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.redis.logic; + +import com.github.thetya.server.redis.request.RedisRequest; + +public interface RedisLogic { + + void execute(R request); +} diff --git a/src/com/github/thetya/server/redis/request/RedisRequest.java b/src/com/github/thetya/server/redis/request/RedisRequest.java new file mode 100644 index 0000000..e36fef4 --- /dev/null +++ b/src/com/github/thetya/server/redis/request/RedisRequest.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.redis.request; + +import com.threerings.user.OOOUser; + +public abstract class RedisRequest { + + protected long _id; + protected String _requesterName; + protected long _requesterUid; + + public long getId() { + return _id; + } + + public String getRequester() { + return _requesterName + "(UID: " + _requesterUid + ")"; + } + + public String getRequesterName() { + return _requesterName; + } + + public long getRequesterUid() { + return _requesterUid; + } + + public String getDetails() { + return "blank request"; + } + + public boolean canPerform(OOOUser user) { + return true; + } +} diff --git a/src/com/github/thetya/server/redis/response/RedisResponse.java b/src/com/github/thetya/server/redis/response/RedisResponse.java new file mode 100644 index 0000000..63996b9 --- /dev/null +++ b/src/com/github/thetya/server/redis/response/RedisResponse.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.redis.response; + +public abstract class RedisResponse { + + protected long _ackId; + protected ResponseStatus _status; + protected String _body; + + public RedisResponse(long ackId, ResponseStatus status, String body) { + _ackId = ackId; + _status = status; + _body = body; + } + + public long getAckId() { + return _ackId; + } + + public ResponseStatus getStatus() { + return _status; + } + + public String getBody() { + return _body; + } +} diff --git a/src/com/github/thetya/server/redis/response/ResponseStatus.java b/src/com/github/thetya/server/redis/response/ResponseStatus.java new file mode 100644 index 0000000..d3ab0e0 --- /dev/null +++ b/src/com/github/thetya/server/redis/response/ResponseStatus.java @@ -0,0 +1,13 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.redis.response; + +public enum ResponseStatus { + OK, + ERROR +} diff --git a/src/com/github/thetya/server/redis/response/impl/UnauthorizedResponse.java b/src/com/github/thetya/server/redis/response/impl/UnauthorizedResponse.java new file mode 100644 index 0000000..e5487fd --- /dev/null +++ b/src/com/github/thetya/server/redis/response/impl/UnauthorizedResponse.java @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.redis.response.impl; + +import com.github.thetya.server.redis.response.RedisResponse; +import com.github.thetya.server.redis.response.ResponseStatus; + +public class UnauthorizedResponse extends RedisResponse { + + public UnauthorizedResponse(long ackId) { + super(ackId, ResponseStatus.ERROR, "You are not authorized to perform this action."); + } +} diff --git a/src/com/github/thetya/server/scene/Log.java b/src/com/github/thetya/server/scene/Log.java new file mode 100644 index 0000000..1e55ce9 --- /dev/null +++ b/src/com/github/thetya/server/scene/Log.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.scene; + +import com.samskivert.util.Logger; + +/** + * Contains a reference to the {@link Logger} object used by the scene package. + */ +@SuppressWarnings("unused") +public class Log { + + /** + * The {@link Logger} reference. + */ + public static Logger log = Logger.getLogger("com.github.thetya.server.scene"); +} \ No newline at end of file diff --git a/src/com/github/thetya/server/scene/ProjectXSceneProvider.java b/src/com/github/thetya/server/scene/ProjectXSceneProvider.java new file mode 100644 index 0000000..9edd18b --- /dev/null +++ b/src/com/github/thetya/server/scene/ProjectXSceneProvider.java @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.scene; + +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.client.InvocationService.ResultListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.projectx.client.ProjectXSceneService; +import com.threerings.util.Name; +import javax.annotation.Generated; + +/** + * Defines the server-side of the {@link ProjectXSceneService}. + */ +@Generated(value = {"com.threerings.presents.tools.GenServiceTask"}, + comments = "Derived from ProjectXSceneService.java.") +public interface ProjectXSceneProvider { + + /** + * Handles a {@link ProjectXSceneService#clearSceneDialog} request. + */ + void clearSceneDialog(ClientObject caller); + + /** + * Handles a {@link ProjectXSceneService#inspectKnight} request. + */ + void inspectKnight(ClientObject caller, Name knight, ResultListener rl) + throws InvocationException; + + /** + * Handles a {@link ProjectXSceneService#performEmote} request. + */ + void performEmote(ClientObject caller, String emote, Name targetKnight, ConfirmListener cl) + throws InvocationException; + + /** + * Handles a {@link ProjectXSceneService#tradeWithKnight} request. + */ + void tradeWithKnight(ClientObject caller, Name knight, ConfirmListener cl) + throws InvocationException; +} diff --git a/src/com/github/thetya/server/scene/SceneResolverUnit.java b/src/com/github/thetya/server/scene/SceneResolverUnit.java new file mode 100644 index 0000000..ca5a20c --- /dev/null +++ b/src/com/github/thetya/server/scene/SceneResolverUnit.java @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.scene; + +import com.github.thetya.server.scene.ThetyaSceneRegistry.LoadedScene; +import com.samskivert.util.Invoker.Unit; +import com.samskivert.util.ResultListener; + +public abstract class SceneResolverUnit extends Unit { + private final ResultListener _listener; + private LoadedScene _result; + private Exception _exception; + + public SceneResolverUnit(String name, ResultListener listener) { + super(name); + _listener = listener; + } + + public abstract LoadedScene invokePersistResult() throws Exception; + + @Override + public void handleResult() { + if (_exception != null) { + _listener.requestFailed(_exception); + return; + } + + _listener.requestCompleted(_result); + } + + @Override + public boolean invoke() { + try { + _result = invokePersistResult(); + } catch (Exception exception) { + _exception = exception; + } + + return true; + } +} diff --git a/src/com/github/thetya/server/scene/ThetyaClientLiaison.java b/src/com/github/thetya/server/scene/ThetyaClientLiaison.java new file mode 100644 index 0000000..33e00d4 --- /dev/null +++ b/src/com/github/thetya/server/scene/ThetyaClientLiaison.java @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.scene; + +import com.threerings.crowd.data.BodyObject; +import com.threerings.crowd.data.OccupantInfo; +import com.threerings.crowd.server.CrowdSession; +import com.threerings.projectx.data.ProjectXOccupantInfo; +import com.threerings.tudey.server.ClientLiaison; +import com.threerings.tudey.server.logic.ActorLogic; +import com.threerings.tudey.server.logic.Logic; +import java.util.Iterator; +import java.util.List; + +/** + * Handles Tudey interaction with a single client. Extended by various Spiral Knights bits. + */ +public class ThetyaClientLiaison extends ClientLiaison { + + public ThetyaClientLiaison(ThetyaSceneManager sceneManager, BodyObject bodyObject, + CrowdSession crowdSession) { + super(sceneManager, bodyObject, crowdSession); + } + + /** + * Populates the set of visible actors. + */ + @Override + protected void populateVisibleActors() { + super.populateVisibleActors(); + Iterator occupantIterator = this._tsobj.occupantInfo.iterator(); + + while(true) { + ActorLogic actor; + do { + int nn; + do { + if (!occupantIterator.hasNext()) { + List tagged = this._scenemgr.getTagged("always_visible"); + if (tagged != null) { + int ii = 0; + + for(nn = tagged.size(); ii < nn; ++ii) { + Logic logic = tagged.get(ii); + if (logic instanceof ActorLogic) { + this._visibleActors.add((ActorLogic)logic); + } + } + } + + return; + } + + OccupantInfo info = occupantIterator.next(); + nn = ((ProjectXOccupantInfo)info).pawnId; + } while(nn <= 0); + + actor = this._scenemgr.getActorLogic(nn); + } while(this._target != null && !actor.isVisible(this._target)); + + this._visibleActors.add(actor); + } + } +} diff --git a/src/com/github/thetya/server/scene/ThetyaSceneManager.java b/src/com/github/thetya/server/scene/ThetyaSceneManager.java new file mode 100644 index 0000000..d8450e8 --- /dev/null +++ b/src/com/github/thetya/server/scene/ThetyaSceneManager.java @@ -0,0 +1,619 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package com.github.thetya.server.scene; + +import com.github.thetya.server.admin.ThetyaAdminManager; +import com.github.thetya.server.peer.PeerConfig; +import com.github.thetya.server.peer.ThetyaPeerManager; +import com.github.thetya.server.scene.ThetyaSceneRegistry.Instance; +import com.github.thetya.server.social.SocialManager; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.inject.Inject; +import com.samskivert.util.StringUtil; +import com.threerings.config.ConfigReference; +import com.threerings.crowd.chat.data.ChatCodes; +import com.threerings.crowd.chat.server.SpeakHandler; +import com.threerings.crowd.chat.server.SpeakUtil; +import com.threerings.crowd.data.BodyObject; +import com.threerings.crowd.data.OccupantInfo; +import com.threerings.crowd.data.PlaceObject; +import com.threerings.crowd.server.CrowdSession; +import com.threerings.math.Vector2f; +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.client.InvocationService.ResultListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.projectx.admin.data.PlaceSummary; +import com.threerings.projectx.config.ActionDesc; +import com.threerings.projectx.config.EmoteConfig; +import com.threerings.projectx.data.*; +import com.threerings.projectx.item.data.Item; +import com.threerings.projectx.server.logic.KnightLogic; +import com.threerings.projectx.social.data.Notification.TradeRequest; +import com.threerings.projectx.social.data.Whereabouts; +import com.threerings.projectx.social.data.Whereabouts.Online; +import com.threerings.tudey.config.ActorConfig; +import com.threerings.tudey.data.TudeySceneModel; +import com.threerings.tudey.data.actor.Actor; +import com.threerings.tudey.server.ClientLiaison; +import com.threerings.tudey.server.TudeySceneManager; +import com.threerings.tudey.server.logic.ActorLogic; +import com.threerings.tudey.server.logic.EntryLogic; +import com.threerings.tudey.server.logic.PawnLogic; +import com.threerings.tudey.server.util.SceneTicker; +import com.threerings.tudey.shape.Circle; +import com.threerings.util.MessageBundle; +import com.threerings.util.MessageManager; +import com.threerings.util.Name; +import com.threerings.whirled.data.Scene; +import com.threerings.whirled.util.UpdateList; + +import java.lang.ref.WeakReference; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import static com.github.thetya.server.scene.Log.log; + +/** + * Base Tudey scene manager extended with Thetya bits shared among all the scene types. + */ +public class ThetyaSceneManager extends TudeySceneManager implements ProjectXSceneProvider, + ProjectXCodes { + + /* Dependencies */ + @Inject protected ThetyaPeerManager _peerMgr; + @Inject protected ThetyaAdminManager _adminMgr; + @Inject protected SocialManager _socialMgr; + @Inject protected MessageManager _messageMgr; + + protected MessageBundle _chatMessages; + protected Instance _instance; + protected Online _whereabouts; + + protected PlaceSummary _placeSummary; + protected ThetyaSceneManager _originalSceneMgr; + + protected static int _sceneMgrCount; + protected static List> _sceneMgrReferences = Lists.newArrayList(); + + /* Constants */ + protected static final float SPEAK_RADIUS = 15.0F; + protected static final float SHOUT_RADIUS = 20.0F; + + /** + * Constructs a new base Thetya scene manager. + */ + public ThetyaSceneManager() { + _whereabouts = new Online(); + } + + /** + * Returns the scene registry instance for the managed scene. + */ + public Instance getInstance() { + return _instance; + } + + /** + * Returns the {@link Whereabouts} instance for the managed scene. + */ + public Online getWhereabouts() { + return _whereabouts; + } + + /** + * Returns the managed scene's actor count. + */ + public int getActorCount() { + return _actors.size(); + } + + /** + * Returns the managed scene's tick participants count. + */ + public int getTickParticipantCount() { + return _tickParticipants.size(); + } + + /** + * Returns the managed scene's update list. + */ + public UpdateList getUpdates() { + return _updates; + } + + /** + * Returns whether this scene manager is transferring. + */ + public boolean isTransferring() { + return _originalSceneMgr != null; + } + + /** + * Returns whether specified player controls a pawn. + */ + public boolean hasPawn(PlayerObject playerObject) { + return _tsobj.getPawnId(playerObject.getOid()) > 0; + } + + /** + * Returns whether specified player can drop an item in the scene. + */ + public boolean canDropItem(PlayerObject playerObject, Item item) { + return playerObject.tokens.isAdmin() && hasPawn(playerObject); + } + + /** + * Invokes {@link #dropItem(PlayerObject, Item, int)} with the count parameter set to + * item count obtained from the passed {@link Item} instance. + */ + public void dropItem(PlayerObject playerObject, Item item) { + this.dropItem(playerObject, item, item.getCount()); + } + + /** + * Attempts to drop an item in the scene. + */ + public void dropItem(PlayerObject playerObject, Item item, int count) { + int pawnId = _tsobj.getPawnId(playerObject.getOid()); + ActorLogic playerPawnLogic = _actors.get(pawnId); + + // Don't drop the item if the player doesn't have a pawn + if (playerPawnLogic == null) { + log.warning("Missing pawn for item drop.", "who", playerObject.who(), "item", item); + return; + } + + int timestamp = getNextTimestamp(); + + Vector2f translation = playerPawnLogic.getTranslation(); + float rotation = playerPawnLogic.getRotation(); + + ConfigReference itemConfig = item + .getOriginal(_cfgmgr) + .getDropConfig(item, false, true); + + // Spawn the item drops in the scene + for (int i = 0; i < count; ++i) { + ActorLogic itemLogic = spawnActor(timestamp, translation, rotation, itemConfig); + + if (itemLogic != null) { + itemLogic.setSource(playerPawnLogic); + } + } + } + + public void respondToTradeRequest(PlayerObject player, Name name, boolean accept, + ConfirmListener cl) throws InvocationException { + if (accept) { + PlayerObject oplayer = this.getPlayer(name); + if (oplayer == null) { + throw new InvocationException("m.trader_left"); + } + + if (oplayer.sceneDialog != null && oplayer.sceneDialog.blocksMovement()) { + throw new InvocationException("m.trader_busy"); + } + + //TradeManager trademgr = (TradeManager)this._injector.getInstance(TradeManager.class); + //trademgr.init(player, oplayer); + } + + cl.requestProcessed(); + } + + public void tradeWithKnight(ClientObject caller, Name name, ConfirmListener cl) + throws InvocationException { + PlayerObject player = (PlayerObject) caller; + this.ensureInScene(player); + if (player.knight.equals(name)) { + log.warning("Player tried to trade with self.", "who", player.who()); + throw new InvocationException("m.internal_error"); + } else { + Comparable key = TradeRequest.getKey(name); + if (player.notifications.containsKey(key)) { + this._socialMgr.respondToNotification(caller, key, 0, cl); + } else { + PlayerObject oplayer = this.getPlayer(name); + if (oplayer == null) { + throw new InvocationException(MessageBundle.tcompose("m.not_here", name)); + } else { + key = TradeRequest.getKey(player.knight); + if (oplayer.notifications.containsKey(key)) { + throw new InvocationException(MessageBundle.tcompose("m.trade_request_pending", name)); + } else { + oplayer.addToNotifications(new TradeRequest(player.knight)); + cl.requestProcessed(); + } + } + } + } + } + + @Override + public void inspectKnight(ClientObject caller, Name name, ResultListener rl) + throws InvocationException { + PlayerObject player = (PlayerObject) caller; + this.ensureInScene(player); + if (player.knight.equals(name)) { + log.warning("Player tried to inspect themself.", "who", player.who()); + throw new InvocationException("m.internal_error"); + } else { + PlayerObject oplayer = this.getPlayer(name); + if (oplayer == null) { + throw new InvocationException(MessageBundle.tcompose("m.not_here", name)); + } else { + PlayerEquipment pe = oplayer.createPlayerEquipment(player.tokens.isSupportPlus()); + rl.requestProcessed(pe); + } + } + } + + /** + * Clears current scene dialog for the calling player. + */ + @Override + public void clearSceneDialog(ClientObject caller) { + ((PlayerObject) caller).setSceneDialog(null); + } + + /** + * Attempts to perform an emote in the scene by the calling player. + */ + @Override + public void performEmote(ClientObject caller, String emote, Name target, ConfirmListener cl) + throws InvocationException { + PlayerObject player = (PlayerObject) caller; + this.ensureInScene(player); + EmoteConfig config = this._cfgmgr.getConfig(EmoteConfig.class, emote); + if (config == null) { + log.warning("Tried to perform invalid emote.", "who", caller.who(), "emote", emote); + throw new InvocationException("m.internal_error"); + } else { + String format = "m." + StringUtil.toUSLowerCase(emote) + "_format"; + String msg; + if (config.targetable && target != null) { + PlayerObject tobj = this.getEmoteTarget(target); + if (tobj == null || tobj.isSet(2) && !player.tokens.isSupportPlus()) { + throw new InvocationException("m.no_such_player"); + } + + if (tobj == player) { + throw new InvocationException("m.emote_self"); + } + + String key = format + "_targeted"; + msg = + this._chatMessages.exists(key) ? MessageBundle.tcompose(key, player.knight, tobj.knight) + : null; + } else { + msg = this._chatMessages.exists(format) ? MessageBundle.tcompose(format, player.knight) + : null; + } + + if (msg != null) { + this.sendEmote(player, "chat", msg, (byte) (config.balloonless ? 6 : 5)); + } + + if (config.animation == null) { + cl.requestProcessed(); + } else { + int pawnId = this._tsobj.getPawnId(player.getOid()); + ActorLogic logic = this._actors.get(pawnId); + if (logic instanceof KnightLogic) { + ((KnightLogic) logic).performEmote(config.getAnimatedIndex(this._cfgmgr)); + } + + cl.requestProcessed(); + } + } + } + + /** + * Returns the next base ticker for the managed scene. + */ + @Override + public SceneTicker getTicker() { + return ((ThetyaSceneRegistry) this._screg).getNextBaseTicker(); + } + + /** + * Returns whether region debugging should be enabled. + */ + @Override + public boolean getDebugRegions() { + return this._adminMgr.getDebugConfigObject().debugRegions; + } + + /** + * Constructs a new pawn config for the player. + */ + public ConfigReference getPawnConfig(BodyObject bodyObject) { + return new ConfigReference<>("Character/PC/Default", "Model", ((PlayerObject) bodyObject) + .createPlayerModel(_cfgmgr, true, true, -1)); + } + + /** + * Creates a new {@link PlaceObject} extended with PX bits. + */ + @Override + protected PlaceObject createPlaceObject() { + return _tsobj = new ProjectXSceneObject(); + } + + /** + * Creates a new {@link SpeakHandler} for given {@link PlaceObject}. + */ + @Override + protected SpeakHandler createSpeakHandler(PlaceObject placeObject) { + return new SpeakHandler(_plobj, this) { + + @Override + public void speak(ClientObject caller, String message, byte mode) { + PlayerObject playerObject = (PlayerObject) caller; + String errorMessage = playerObject.checkAccess(ChatCodes.CHAT_ACCESS, null); + + if (errorMessage != null) { + SpeakUtil.sendFeedback(playerObject, "global", errorMessage); + return; + } + + if (mode == 4 || (_validator != null && !_validator.isValidSpeaker(_speakObj, caller, mode))) { + log.warning("Refusing invalid speak request", "caller", caller.who(), + "speakObject", _speakObj.which(), "message", message, "mode", mode); + return; + } + + ThetyaSceneManager.this.speak(playerObject, null, message, mode); + } + }; + } + + /** + * Creates a new {@link ClientLiaison} extended with Thetya bits. + */ + @Override + protected ClientLiaison createClientLiaison(BodyObject bodyObject, CrowdSession session) { + return new ThetyaClientLiaison(this, bodyObject, session); + } + + /** + * Called when the scene manager did init. + */ + protected void didInit() { + super.didInit(); + this._chatMessages = this._messageMgr.getBundle("chat"); + } + + /** + * Called when the scene manager did start up. + */ + protected void didStartup() { + super.didStartup(); + ((ProjectXSceneObject) this._tsobj) + .setProjectXSceneService(this.addProvider(this, ProjectXSceneMarshaller.class)); + this._whereabouts.location = this._scene.getName(); + + if (this._instance != null) { + this._whereabouts.zoneId = this._instance.getZoneId(); + this._whereabouts.instanceId = this._instance.getInstanceId(); + + if (this._whereabouts.instanceId > 0) { + this._peerMgr.placeCreated( + this._placeSummary = new PlaceSummary( + this._whereabouts.zoneId, + this._whereabouts.instanceId, + this._scene.getId(), + PeerConfig.getNode(), + this.getSummaryName(), + this._instance.getLanguage() + ) + ); + } + } + + int nrefs; + for (nrefs = _sceneMgrReferences.size() - 1; nrefs >= 0; --nrefs) { + if (_sceneMgrReferences.get(nrefs).get() == null) { + _sceneMgrReferences.remove(nrefs); + } + } + + _sceneMgrReferences.add(new WeakReference<>(this)); + ++_sceneMgrCount; + nrefs = _sceneMgrReferences.size(); + if (nrefs > _sceneMgrCount + 20) { + log.warning("References to old scene managers not cleared.", "refs", nrefs, "mgrs", + _sceneMgrCount); + } + + } + + /** + * Called when the scene manager did start up. + */ + protected void didShutdown() { + super.didShutdown(); + --_sceneMgrCount; + if (this._placeSummary != null) { + this._peerMgr.placeDestroyed(this._placeSummary.getKey()); + } + + } + + /** + * Called when a body entered the managed scene. + */ + protected void bodyEntered(int bodyOid) { + super.bodyEntered(bodyOid); + PlayerObject plobj = (PlayerObject) this._omgr.getObject(bodyOid); + if (plobj != null) { + this._socialMgr.updateWhereabouts(plobj); + if (this._placeSummary != null) { + this._placeSummary.occupants.add(plobj.knight); + this._peerMgr.placeUpdated(this._placeSummary); + } + } + + } + + /** + * Called when a body left the managed scene. + */ + protected void bodyLeft(int bodyOid) { + OccupantInfo leaver = this._occInfo.get(bodyOid); + super.bodyLeft(bodyOid); + if (this._placeSummary != null && this._placeSummary.occupants.remove(leaver.username)) { + this._peerMgr.placeUpdated(this._placeSummary); + } + + PlayerObject plobj = (PlayerObject) this._omgr.getObject(bodyOid); + if (plobj != null) { + this._socialMgr.updateWhereabouts(plobj); + plobj.removePlaceBoundNotifications(); + plobj.setSceneDialog(null); + } + + int ii = 0; + + for (int nn = this._plobj.occupants.size(); ii < nn; ++ii) { + PlayerObject occupant = (PlayerObject) this._omgr.getObject(this._plobj.occupants.get(ii)); + occupant.removePlaceBoundNotifications(leaver.username); + } + + } + + /** + * Creates entry logics for the managed scene's model if original scene manager is available. + */ + protected void createEntryLogics(TudeySceneModel sceneModel) { + if (this._originalSceneMgr == null) { + super.createEntryLogics(sceneModel); + } else { + this._lastTick = this._originalSceneMgr._lastTick; + this._tickDuration = this._originalSceneMgr._tickDuration; + this._timestamp = this._originalSceneMgr._timestamp; + this._previousTimestamp = this._originalSceneMgr._previousTimestamp; + this._lastActorId = this._originalSceneMgr._lastActorId; + this._defaultLocalInterest = this._originalSceneMgr._defaultLocalInterest; + Map refs = Maps.newIdentityHashMap(); + + Iterator i$ = this._originalSceneMgr._entries.values().iterator(); + + EntryLogic esource; + while (i$.hasNext()) { + esource = i$.next(); + refs.put(esource, this.addLogic(esource.getEntry(), false)); + } + + Iterator i$$ = this._originalSceneMgr._actors.values().iterator(); + + ActorLogic asource; + while (i$$.hasNext()) { + asource = i$$.next(); + if (!(asource instanceof PawnLogic)) { + Actor actor = asource.getActor(); + refs.put(asource, + this.spawnActor(actor.getCreated(), actor.getTranslation(), actor.getRotation(), + actor.getConfig(), actor)); + } + } + + Iterator i$$$ = this._originalSceneMgr._entries.values().iterator(); + + EntryLogic eesource; + while (i$$$.hasNext()) { + eesource = i$$$.next(); + ((EntryLogic) refs.get(eesource)).transfer(eesource, refs); + } + + Iterator i$$$$ = this._originalSceneMgr._actors.values().iterator(); + + ActorLogic aasource; + while (i$$$$.hasNext()) { + aasource = i$$$$.next(); + if (!(aasource instanceof PawnLogic)) { + ((ActorLogic) refs.get(aasource)).transfer(aasource, refs); + } + } + + this._originalSceneMgr = null; + } + } + + protected void setSceneData(Scene scene, UpdateList updates, Object extras, + ThetyaSceneRegistry screg, Instance instance, ThetyaSceneManager original) { + super.setSceneData(scene, updates, extras, screg); + this._instance = instance; + this._originalSceneMgr = original; + } + + protected String getSummaryName() { + return this._scene.getName(); + } + + protected void ensureInScene(PlayerObject player) throws InvocationException { + if (!this._plobj.occupants.contains(player.getOid())) { + log.warning("Player not in scene.", "who", player.who()); + throw new InvocationException("m.internal_error"); + } + } + + protected PlayerObject getEmoteTarget(Name name) { + return this.getPlayer(name); + } + + protected PlayerObject getPlayer(Name name) { + OccupantInfo info = this._plobj.getOccupantInfo(name); + return info == null ? null : (PlayerObject) this._omgr.getObject(info.getBodyOid()); + } + + protected void sendEmote(PlayerObject plobj, String bundle, String message, byte mode) { + this.speak(plobj, bundle, message, mode); + } + + protected void speak(PlayerObject plobj, String bundle, String message, byte mode) { + PlaceUserMessage msg = new PlaceUserMessage(plobj.getVisibleName(), bundle, message, mode); + ActorLogic source = this._actors.get(this._tsobj.getPawnId(plobj.getOid())); + if (source == null) { + SpeakUtil.sendMessage(this._plobj, msg); + } else { + Circle shape = new Circle(source.getTranslation(), mode == 3 ? SHOUT_RADIUS : SPEAK_RADIUS); + this._actorSpace.getIntersecting(shape, this._elements); + int ii = 0; + + for (int nn = this._elements.size(); ii < nn; ++ii) { + ActorLogic logic = (ActorLogic) this._elements.get(ii).getUserObject(); + if (logic instanceof KnightLogic) { + PlayerObject oplayer = ((KnightLogic) logic).getPlayerObject(); + if (oplayer != null) { + SpeakUtil.sendMessage(oplayer, msg); + } + } + } + + this._elements.clear(); + if (source instanceof KnightLogic) { + ((KnightLogic) source).didSpeak(msg); + } + + } + } + + public interface InteractionSensor extends Sensor { + + ActionDesc getActionDesc(KnightLogic knightLogic); + } +} diff --git a/src/com/github/thetya/server/scene/ThetyaSceneRegistry.java b/src/com/github/thetya/server/scene/ThetyaSceneRegistry.java new file mode 100644 index 0000000..04d0227 --- /dev/null +++ b/src/com/github/thetya/server/scene/ThetyaSceneRegistry.java @@ -0,0 +1,625 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package com.github.thetya.server.scene; + +import com.github.thetya.server.PlayerLocal; +import com.github.thetya.server.admin.ThetyaAdminManager; +import com.github.thetya.server.dungeon.Party; +import com.github.thetya.server.peer.ThetyaPeerManager; +import com.github.thetya.server.persist.SceneNameRecord; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.samskivert.io.PersistenceException; +import com.samskivert.util.*; +import com.threerings.crowd.chat.data.SpeakMarshaller; +import com.threerings.crowd.chat.server.SpeakHandler; +import com.threerings.crowd.chat.server.SpeakHandler.SpeakerValidator; +import com.threerings.crowd.data.BodyObject; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.dobj.AttributeChangeListener; +import com.threerings.presents.dobj.DObject; +import com.threerings.presents.server.InvocationManager; +import com.threerings.presents.server.PresentsDObjectMgr; +import com.threerings.projectx.admin.data.DungeonConfigObject; +import com.threerings.projectx.admin.data.ServerConfigObject; +import com.threerings.projectx.config.Persistence; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.data.ProjectXCodes; +import com.threerings.projectx.data.ProjectXSceneConfig; +import com.threerings.projectx.data.ZoneInstanceObject; +import com.threerings.tudey.data.TudeySceneModel; +import com.threerings.tudey.server.TudeySceneRegistry; +import com.threerings.tudey.server.util.SceneTicker; +import com.threerings.tudey.server.util.SceneTicker.EventThread; +import com.threerings.util.MessageBundle; +import com.threerings.util.MessageManager; +import com.threerings.whirled.data.Scene; +import com.threerings.whirled.data.SceneModel; +import com.threerings.whirled.server.SceneManager; +import com.threerings.whirled.util.NoSuchSceneException; +import com.threerings.whirled.util.UpdateList; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.stream.Stream; + +/* + * Commented out 'random' shit + */ +@Singleton +public class ThetyaSceneRegistry extends TudeySceneRegistry implements ProjectXCodes { + + protected IntMap> _loaders = IntMaps.newHashIntMap(); + protected IntMap _testScenes = IntMaps.newHashIntMap(); + //protected IntMap _randomLevels = IntMaps.newHashIntMap(); + //protected int _lastRandomLevelSceneId = 1073741822; + protected List _baseTickers = Lists.newArrayList(); + protected List _dungeonTickers = Lists.newArrayList(); + protected int _baseTickerIndex; + protected int _dungeonTickerIndex; + protected Map _sceneNames = Maps.newHashMap(); + protected InvocationManager _invocationMgr; + @Inject + protected MessageManager _messageMgr; + @Inject + protected ThetyaPeerManager _peermgr; + @Inject + protected ThetyaAdminManager _adminMgr; + //@Inject + //protected RandomLevelCreator _randomLevelCreator; + @Inject + protected ThetyaSceneRepository _sceneRepository; + protected Map preloadedScenes; + + public static void removeFromInstance(PlayerObject player) { + ThetyaSceneRegistry.Instance instance = getInstance(player); + if (instance != null) { + instance.removePlayer(player); + } + + } + + public static ThetyaSceneRegistry.Instance getInstance(PlayerObject player) { + PlayerLocal local = player.getLocal(PlayerLocal.class); + return local == null ? null : local.instance; + } + + @Inject + public ThetyaSceneRegistry(PresentsDObjectMgr omgr, InvocationManager invmgr) { + super(omgr, invmgr); + this._invocationMgr = invmgr; + } + + public void init() { + ServerConfigObject servercfg = this._adminMgr.getServerConfigObject(); + DungeonConfigObject dungeoncfg = this._adminMgr.getDungeonConfigObject(); + this._baseTickers.add(new EventThread(this._omgr, 1000 / servercfg.baseTicksPerSecond)); + this._dungeonTickers.add(new EventThread(this._omgr, 1000 / dungeoncfg.dungeonTicksPerSecond)); + + for (SceneNameRecord sceneNameRecord : this._sceneRepository + .loadSceneNames()) { + this._sceneNames.put(sceneNameRecord.sceneId, sceneNameRecord.name); + } + + servercfg.addListener(this.createTickRateListener("baseTicksPerSecond", this._baseTickers)); + dungeoncfg.addListener(this.createTickRateListener("dungeonTicksPerSecond", this._dungeonTickers)); + + File sceneDirectory = new File(System.getProperty("user.dir")); + File[] sceneFiles = sceneDirectory.listFiles(); + + if (sceneFiles == null) { + return; + } + + preloadedScenes = Maps.newHashMap(); + + for (File file : sceneFiles) { + if (file == null || !file.isFile() || !file.getName().endsWith(".dat")) { + continue; + } + + try { + int sceneId = Integer.parseInt(file.getName().replace(".dat", "")); + Log.log.debug("Found scene ID " + sceneId + ", preloading now."); + + SceneModel sceneModel = _sceneRepository.loadSceneModel(sceneId); + preloadedScenes.put(sceneId, new LoadedScene( + sceneModel, + _sceneRepository.loadUpdates(sceneId), + _sceneRepository.loadExtras(sceneId, sceneModel) + )); + } catch (NumberFormatException ignored) { + // Not a scene + } catch (PersistenceException exception) { + Log.log.debug("Could not preload scene!", exception); + } catch (NoSuchSceneException ignored) { + // Covered earlier + } + } + } + + public ThetyaSceneRegistry.Instance createInstance(int zoneId, int instanceId, String language) { + return new ThetyaSceneRegistry.Instance(zoneId, instanceId, language); + } + + public ThetyaSceneRegistry.Instance createInstance(Party party) { + return new ThetyaSceneRegistry.Instance(party); + } + + public void registerTestScene(TudeySceneModel model) { + this._testScenes.put(model.sceneId, new ThetyaSceneRegistry.LoadedScene(model, new UpdateList(), null)); + } + + public void clearTestScene(int sceneId) { + this._testScenes.remove(sceneId); + } + + //public int registerRandomLevel(RandomLevelData randomLevelData) { + // int sceneId = ++this._lastRandomLevelSceneId; + // this._randomLevels.put(sceneId, randomLevelData); + // return sceneId; + //} + + public List getBaseTickers() { + return this._baseTickers; + } + + public SceneTicker getNextBaseTicker() { + this._baseTickerIndex = (this._baseTickerIndex + 1) % this._baseTickers.size(); + return this._baseTickers.get(this._baseTickerIndex); + } + + public List getDungeonTickers() { + return this._dungeonTickers; + } + + public SceneTicker getNextDungeonTicker() { + this._dungeonTickerIndex = (this._dungeonTickerIndex + 1) % this._dungeonTickers.size(); + return this._dungeonTickers.get(this._dungeonTickerIndex); + } + + public String getSceneName(int sceneId) { + return this._sceneNames.get(sceneId); + } + + public List getScenes(String partialName) { + partialName = partialName.toLowerCase(); + List sceneIds = Lists.newArrayList(); + MessageBundle msgs = this._messageMgr.getBundle("projectx"); + + for (Entry integerStringEntry : this._sceneNames.entrySet()) { + if (msgs.xlate(integerStringEntry.getValue()).toLowerCase().contains(partialName)) { + sceneIds.add(integerStringEntry.getKey()); + } + } + + return sceneIds; + } + + public void addPortalMapping(BodyObject source, int sceneId, Object portalKey) { + super.addPortalMapping(source, sceneId, portalKey); + } + + public void resolveScene(ClientObject caller, int sceneId, ResolutionListener target) { + ThetyaSceneRegistry.Instance instance = getInstance((PlayerObject)caller); + if (instance == null) { + this.resolveScene(sceneId, target); + } else { + instance.resolveScene(sceneId, target); + } + + } + + public void resolveScene(final int sceneId, ResolutionListener target) { + SceneManager mgr = this._scenemgrs.get(sceneId); + if (mgr != null) { + target.sceneWasResolved(mgr); + } else if (this.addResolutionListener(sceneId, target)) { + this.loadScene(sceneId, null, new ResultListener() { + public void requestCompleted(ThetyaSceneRegistry.LoadedScene result) { + ThetyaSceneRegistry.this.processSuccessfulResolution(result.model, result.updates, result.extras); + } + + public void requestFailed(Exception cause) { + ThetyaSceneRegistry.this.processFailedResolution(sceneId, cause); + } + }); + } + } + + public void moveBody(BodyObject source, int sceneId) { + PlayerObject player = (PlayerObject)source; + if (player.status != 2 && !player.receivers.isEmpty()) { + super.moveBody(player, sceneId); + } else { + this.leaveOccupiedScene(player); + player.setReconnectSceneId(sceneId); + } + } + + public void leaveOccupiedScene(BodyObject source) { + super.leaveOccupiedScene(source); + PlayerObject plobj = (PlayerObject)source; + plobj.setReconnectSceneId(0); + plobj.clear(Persistence.SCENE); + } + + protected void sceneManagerDidStart(SceneManager scmgr) { + ThetyaSceneRegistry.Instance instance = ((ThetyaSceneManager)scmgr).getInstance(); + if (instance == null) { + super.sceneManagerDidStart(scmgr); + } else { + instance.sceneManagerDidStart(scmgr); + } + + } + + protected void unmapSceneManager(SceneManager scmgr) { + ThetyaSceneRegistry.Instance instance = ((ThetyaSceneManager)scmgr).getInstance(); + if (instance == null) { + super.unmapSceneManager(scmgr); + } else { + instance.unmapSceneManager(scmgr); + } + + } + + protected AttributeChangeListener createTickRateListener(final String name, final List tickers) { + return event -> { + if (event.getName().equals(name)) { + int interval = 1000 / event.getIntValue(); + int ii = 0; + + for(int nn = tickers.size(); ii < nn; ++ii) { + (tickers.get(ii)).setTargetInterval(interval); + } + + } + }; + } + + protected void loadScene(final int sceneId, ThetyaSceneRegistry.Instance instance, ResultListener rl) { + ThetyaSceneRegistry.LoadedScene test = this._testScenes.get(sceneId); + if (test != null) { + rl.requestCompleted(test); + } else if (preloadedScenes.containsKey(sceneId)) { + rl.requestCompleted(preloadedScenes.get(sceneId)); + } else { + this._invoker.postUnit(new SceneResolverUnit("loadScene", rl) { + public ThetyaSceneRegistry.LoadedScene invokePersistResult() throws Exception { + SceneModel model = ThetyaSceneRegistry.this._screp.loadSceneModel(sceneId); + return new ThetyaSceneRegistry.LoadedScene(model, ThetyaSceneRegistry.this._screp.loadUpdates(sceneId), ThetyaSceneRegistry.this._screp.loadExtras(sceneId, model)); + } + }); + } + } + + protected static class LoadedScene { + public final SceneModel model; + public final UpdateList updates; + public final Object extras; + + public LoadedScene(SceneModel model, UpdateList updates, Object extras) { + this.model = model; + this.updates = updates; + this.extras = extras; + } + } + + public interface InstanceObserver { + void playerAdded(ThetyaSceneRegistry.Instance var1, PlayerObject var2); + + void playerRemoved(ThetyaSceneRegistry.Instance var1, PlayerObject var2, int var3); + + void instanceBecameEmpty(ThetyaSceneRegistry.Instance var1); + } + + public class Instance implements SpeakerValidator { + protected int _zoneId; + protected int _instanceId; + protected String _language; + protected Party _party; + protected ZoneInstanceObject _zoneGeneralObj; + protected ZoneInstanceObject _zoneTradeObj; + protected int _population; + protected IntMap _scenemgrs = IntMaps.newHashIntMap(); + protected IntMap> _penders = IntMaps.newHashIntMap(); + protected ObserverList _observers = ObserverList.newFastUnsafe(); + protected boolean _active = true; + + public Instance(int zoneId, int instanceId, String language) { + this._zoneId = zoneId; + this._instanceId = instanceId; + this._language = language; + ThetyaSceneRegistry.this._omgr.registerObject(this._zoneGeneralObj = new ZoneInstanceObject()); + this._zoneGeneralObj.speakService = ThetyaSceneRegistry.this._invocationMgr + .registerProvider(new SpeakHandler(this._zoneGeneralObj, this), SpeakMarshaller.class); + ThetyaSceneRegistry.this._omgr.registerObject(this._zoneTradeObj = new ZoneInstanceObject()); + this._zoneTradeObj.speakService = ThetyaSceneRegistry.this._invocationMgr + .registerProvider(new SpeakHandler(this._zoneTradeObj, this), SpeakMarshaller.class); + ThetyaSceneRegistry.this._peermgr.zoneInstanceCreated(zoneId, instanceId, this._language); + } + + public Instance(Party party) { + this._party = party; + } + + public int getZoneId() { + return this._zoneId; + } + + public int getInstanceId() { + return this._instanceId; + } + + public String getLanguage() { + return this._language; + } + + public Party getParty() { + return this._party; + } + + public ZoneInstanceObject getZoneGeneralObject() { + return this._zoneGeneralObj; + } + + public ZoneInstanceObject getZoneTradeObject() { + return this._zoneTradeObj; + } + + public void addObserver(ThetyaSceneRegistry.InstanceObserver observer) { + this._observers.add(observer); + } + + public void removeObserver(ThetyaSceneRegistry.InstanceObserver observer) { + this._observers.remove(observer); + } + + public void addPlayer(final PlayerObject player) { + ThetyaSceneRegistry.removeFromInstance(player); + PlayerLocal local = player.getLocal(PlayerLocal.class); + local.instance = this; + local.enteredInstance = System.currentTimeMillis(); + player.setInstanceId(this._instanceId); + ++this._population; + if (this._zoneId != 0) { + player.setZoneGeneralOid(this._zoneGeneralObj.getOid()); + this._zoneGeneralObj.players.add(player); + player.setZoneTradeOid(this._zoneTradeObj.getOid()); + this._zoneTradeObj.players.add(player); + ThetyaSceneRegistry.this._peermgr.zoneInstanceUpdated(this._zoneId, this._instanceId, this._population); + } + + this._observers.apply(observer -> { + observer.playerAdded(Instance.this, player); + return true; + }); + } + + public void removePlayer(final PlayerObject player) { + if (ThetyaSceneRegistry.getInstance(player) == this) { + PlayerLocal local = player.getLocal(PlayerLocal.class); + local.instance = null; + final int seconds = (int)((System.currentTimeMillis() - local.enteredInstance) / 1000L); + player.setInstanceId(0); + --this._population; + if (this._zoneId != 0) { + player.setZoneGeneralOid(0); + this._zoneGeneralObj.players.remove(player); + player.setZoneTradeOid(0); + this._zoneTradeObj.players.remove(player); + ThetyaSceneRegistry.this._peermgr.zoneInstanceUpdated(this._zoneId, this._instanceId, this._population); + } + + this._observers.apply(observer -> { + observer.playerRemoved(Instance.this, player, seconds); + return true; + }); + this.checkEmpty(); + } + } + + public int getPopulation() { + return this._population; + } + + public void resolveScene(final int sceneId, ResolutionListener target) { + SceneManager mgr = this.getSceneManager(sceneId); + if (mgr != null) { + target.sceneWasResolved(mgr); + } else if (this.addResolutionListener(sceneId, target)) { + ThetyaSceneRegistry.this.loadScene(sceneId, this, new ResultListener() { + public void requestCompleted(ThetyaSceneRegistry.LoadedScene result) { + TudeySceneModel model = (TudeySceneModel)result.model; + ProjectXSceneConfig config = (ProjectXSceneConfig)model.getPlaceConfig(); + if (config.isInstanced()) { + Instance.this.processInstancedResolution(result.model, result.updates, result.extras, null); + } else { + Instance.this.processNonInstancedResolution(result.model, result.updates, result.extras); + } + + } + + public void requestFailed(Exception cause) { + Instance.this.processFailedResolution(sceneId, cause); + } + }); + } + } + + public SceneManager getSceneManager(int sceneId) { + SceneManager mgr = this._scenemgrs.get(sceneId); + return mgr == null ? ThetyaSceneRegistry.this.getSceneManager(sceneId) : mgr; + } + + public ThetyaSceneManager copySceneManager(ThetyaSceneManager scenemgr) { + return this.processInstancedResolution(scenemgr.getSceneModel(), scenemgr.getUpdates(), null, scenemgr); + } + + public void setActive(boolean active) { + this._active = active; + } + + public boolean isActive() { + return this._active; + } + + public void shutdown() { + if (this._zoneId != 0) { + ThetyaSceneRegistry.this._peermgr.zoneInstanceDestroyed(this._zoneId, this._instanceId); + ThetyaSceneRegistry.this._invocationMgr.clearDispatcher(this._zoneGeneralObj.speakService); + this._zoneGeneralObj.destroy(); + ThetyaSceneRegistry.this._invocationMgr.clearDispatcher(this._zoneTradeObj.speakService); + this._zoneTradeObj.destroy(); + } + + for (SceneManager scmgr : this._scenemgrs.values()) { + scmgr.shutdown(); + } + + Exception cause = new Exception("Instance shutdown."); + int[] arr$ = this._penders.intKeySet().toIntArray(); + + for (int sceneId : arr$) { + this.processFailedResolution(sceneId, cause); + } + + } + + public boolean isValidSpeaker(DObject speakobj, ClientObject speaker, byte mode) { + return ((PlayerObject)speaker).zoneGeneralOid == this._zoneGeneralObj.getOid(); + } + + public String toString() { + return "[zoneId=" + this._zoneId + ", instanceId=" + this._instanceId + ", party=" + this._party + "]"; + } + + protected boolean addResolutionListener(int sceneId, ResolutionListener rl) { + List penders = this._penders.get(sceneId); + boolean newList = false; + if (penders == null) { + this._penders.put(sceneId, penders = Lists.newArrayList()); + newList = true; + } + + penders.add(rl); + return newList; + } + + protected ThetyaSceneManager processInstancedResolution(SceneModel model, final UpdateList updates, final Object extras, final ThetyaSceneManager original) { + ((TudeySceneModel)model).init(ThetyaSceneRegistry.this._cfgmgr); + + try { + final Scene scene = ThetyaSceneRegistry.this._scfact.createScene(model, ThetyaSceneRegistry.this._confact.createPlaceConfig(model)); + return (ThetyaSceneManager)ThetyaSceneRegistry.this._plreg.createPlace(scene.getPlaceConfig(), + pmgr -> ((ThetyaSceneManager)pmgr).setSceneData(scene, updates, extras, ThetyaSceneRegistry.this, Instance.this, original)); + } catch (Exception var6) { + this.processFailedResolution(model.sceneId, var6); + return null; + } + } + + protected void processNonInstancedResolution(SceneModel model, UpdateList updates, Object extras) { + int sceneId = model.sceneId; + List penders = this._penders.remove(sceneId); + if (penders != null) { + SceneManager scmgr = ThetyaSceneRegistry.this.getSceneManager(sceneId); + if (scmgr == null) { + List rpenders = ThetyaSceneRegistry.this._penders.get(sceneId); + if (rpenders != null) { + rpenders.addAll(penders); + } else { + ThetyaSceneRegistry.this._penders.put(sceneId, penders); + ThetyaSceneRegistry.this.processSuccessfulResolution(model, updates, extras); + } + } else { + + for (ResolutionListener rl : penders) { + try { + rl.sceneWasResolved(scmgr); + } catch (Exception var10) { + Log.log.warning("Resolution listener choked.", var10); + } + } + + } + } + } + + protected void processFailedResolution(int sceneId, Exception cause) { + if (!(cause instanceof NoSuchSceneException)) { + Log.log.warning("Failed to resolve scene.", "sceneId", sceneId, cause); + } + + List penders = this._penders.remove(sceneId); + if (penders != null) { + + for (ResolutionListener rl : penders) { + try { + rl.sceneFailedToResolve(sceneId, cause); + } catch (Exception var7) { + Log.log.warning("Resolution listener choked.", var7); + } + } + + this.checkEmpty(); + } + + } + + protected void sceneManagerDidStart(SceneManager scmgr) { + int sceneId = scmgr.getScene().getId(); + this._scenemgrs.put(sceneId, scmgr); + Log.log.debug("Registering scene manager", "scid", sceneId, "scmgr", scmgr); + List penders = this._penders.remove(sceneId); + if (penders != null) { + + for (ResolutionListener rl : penders) { + try { + rl.sceneWasResolved(scmgr); + } catch (Exception var7) { + Log.log.warning("Resolution listener choked.", var7); + } + } + } + + } + + protected void unmapSceneManager(SceneManager scmgr) { + if (this._scenemgrs.remove(scmgr.getScene().getId()) == null) { + Log.log.warning("Requested to unmap unmapped scene manager.", "scmgr", scmgr); + } else { + Log.log.debug("Unmapped scene manager", "scmgr", scmgr); + this.checkEmpty(); + } + } + + protected void checkEmpty() { + if (this._scenemgrs.isEmpty() && this._penders.isEmpty() && this._population <= 0) { + this._observers.apply(observer -> { + observer.instanceBecameEmpty(Instance.this); + return true; + }); + } + } + } +} diff --git a/src/com/github/thetya/server/scene/ThetyaSceneRepository.java b/src/com/github/thetya/server/scene/ThetyaSceneRepository.java new file mode 100644 index 0000000..0655364 --- /dev/null +++ b/src/com/github/thetya/server/scene/ThetyaSceneRepository.java @@ -0,0 +1,155 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.scene; + +import static com.github.thetya.server.scene.Log.log; + +import com.github.thetya.server.persist.KnightRecord; +import com.github.thetya.server.persist.SceneNameRecord; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.samskivert.depot.DepotRepository; +import com.samskivert.depot.PersistenceContext; +import com.samskivert.depot.PersistentRecord; +import com.samskivert.io.PersistenceException; +import com.samskivert.util.StringUtil; +import com.threerings.config.ConfigManager; +import com.threerings.export.util.ExportFileUtil; +import com.threerings.projectx.data.ProjectXSceneConfig; +import com.threerings.projectx.dungeon.data.LevelSceneConfig; +import com.threerings.tudey.data.TudeySceneModel; +import com.threerings.util.MessageBundle; +import com.threerings.whirled.data.SceneModel; +import com.threerings.whirled.data.SceneUpdate; +import com.threerings.whirled.server.persist.SceneRepository; +import com.threerings.whirled.util.NoSuchSceneException; +import com.threerings.whirled.util.UpdateList; +import java.io.File; +import java.io.IOException; +import java.util.List; +import java.util.Set; + +/** + * The scene repository provides the basic interface for loading and updating scene data. + *

+ * It is used by the scene registry and though more scene related persistence services may be + * needed, the scene repository only encapsulates those needed by the scene registry and other + * services provided by the Whirled framework. + *

+ * It also serves as a Depot repository for the database, not game networking layer. + */ +@Singleton +public class ThetyaSceneRepository extends DepotRepository implements SceneRepository { + + /* Dependencies */ + @Inject + private ConfigManager _configManager; + + @Inject + public ThetyaSceneRepository(PersistenceContext ctx) { + super(ctx); + } + + @Override + public void init() { + super.resolveRecords(); + super.init(); + } + + public List loadSceneNames() { + return from(SceneNameRecord.class).select(); + } + + @Override + protected void getManagedRecords(Set> classes) { + classes.add(SceneNameRecord.class); + } + + /** + * Default loading screen background file name for the client. + **/ + private static final String DEFAULT_SCENE_BACKGROUND = "default.jpg"; + + /** + * Fetches the model for the scene with the specified scene id. + */ + @Override + public SceneModel loadSceneModel(int sceneId) throws PersistenceException, NoSuchSceneException { + final String sceneFileName = String.format("%d.dat", sceneId); + final File sceneFile = new File(sceneFileName); + + if (!sceneFile.exists()) { + throw new NoSuchSceneException(sceneId); + } + + TudeySceneModel sceneModel; + + try { + sceneModel = ExportFileUtil.readObject(sceneFile, TudeySceneModel.class); + } catch (IOException rethrow) { + throw new PersistenceException(rethrow.getMessage(), rethrow); + } + + if (sceneModel == null) { + return null; + } + + if (sceneModel.name == null || StringUtil.isBlank(sceneModel.name)) { + log.info("Scene name is null, assuming it is a test scene?", "sceneId", sceneId); + sceneModel.setName(MessageBundle.taint(String.format("Test scene %d", sceneId))); + } + + sceneModel.sceneId = sceneId; + + if (!(sceneModel.getPlaceConfig() instanceof ProjectXSceneConfig)) { + log.info( + "Scene config is not an instance of ProjectXSceneConfig, assigning ProjectXSceneConfig as place config", + "discoveredConfig", sceneModel.getPlaceConfig().getClass().getName()); + } + + sceneModel.init(_configManager); + + return sceneModel; + } + + /** + * Fetches the set of updates associated with the specified scene. + */ + @SuppressWarnings("RedundantThrows") + @Override + public UpdateList loadUpdates(int sceneId) throws PersistenceException { + // Not used for now. ~ sky + return new UpdateList(); + } + + /** + * Loads optional additional scene data. This data is loaded during the scene resolution process + * and made available to the scene manager via SceneManager#gotSceneData(Object). + */ + @SuppressWarnings("RedundantThrows") + @Override + public Object loadExtras(int sceneId, SceneModel sceneModel) throws PersistenceException { + // Not used for now. ~ sky + return null; + } + + /** + * Applies the supplied scene update to persistent representation of its associated scene, then + * stores the update persistently for future invocations of the server to load. + *

+ * Note: the scene update will have already been applied to the supplied scene model. + */ + @SuppressWarnings("RedundantThrows") + @Override + public void applyAndRecordUpdate(SceneModel sceneModel, SceneUpdate sceneUpdate) + throws PersistenceException { + // Not used for now. ~ sky + } + + +} diff --git a/src/com/github/thetya/server/social/Log.java b/src/com/github/thetya/server/social/Log.java new file mode 100644 index 0000000..c722298 --- /dev/null +++ b/src/com/github/thetya/server/social/Log.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.social; + +import com.samskivert.util.Logger; + +/** + * Contains a reference to the {@link Logger} object used by the social package. + */ +@SuppressWarnings("unused") +public class Log { + + /** + * The {@link Logger} reference. + */ + public static Logger log = Logger.getLogger("com.github.thetya.server.social"); +} diff --git a/src/com/github/thetya/server/social/SocialManager.java b/src/com/github/thetya/server/social/SocialManager.java new file mode 100644 index 0000000..3a1b092 --- /dev/null +++ b/src/com/github/thetya/server/social/SocialManager.java @@ -0,0 +1,388 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.social; + +import com.github.thetya.server.PlayerLocal; +import com.github.thetya.server.PlayerLocal.TransferState; +import com.github.thetya.server.admin.ThetyaAdminManager; +import com.github.thetya.server.dungeon.Party; +import com.github.thetya.server.peer.PeerConfig; +import com.github.thetya.server.peer.ProjectXPeerProvider; +import com.github.thetya.server.peer.ThetyaPeerManager; +import com.github.thetya.server.peer.util.ProviderPlayerTransfer; +import com.github.thetya.server.persist.FriendRecord; +import com.github.thetya.server.persist.FriendRepository; +import com.github.thetya.server.persist.KnightRecord; +import com.github.thetya.server.persist.KnightRepository; +import com.github.thetya.server.scene.ThetyaSceneManager; +import com.github.thetya.server.uplink.UplinkManager; +import com.google.common.base.Function; +import com.google.common.base.Preconditions; +import com.google.common.collect.Iterables; +import com.google.inject.Inject; +import com.google.inject.Injector; +import com.google.inject.Singleton; +import com.samskivert.util.Invoker; +import com.samskivert.util.ResultListener; +import com.threerings.crowd.server.PlaceManager; +import com.threerings.crowd.server.PlaceRegistry; +import com.threerings.presents.annotation.MainInvoker; +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.dobj.DSet; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationManager; +import com.threerings.presents.util.PersistingUnit; +import com.threerings.projectx.data.PlayerData; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.social.data.FriendEntry; +import com.threerings.projectx.social.data.Notification; +import com.threerings.projectx.social.data.SocialMarshaller; +import com.threerings.projectx.social.data.Whereabouts; +import com.threerings.projectx.social.server.logic.ResponseLogic; +import com.threerings.projectx.util.Resulting; +import com.threerings.user.ExternalAuther; +import com.threerings.util.MessageBundle; +import com.threerings.util.Name; + +import java.util.Iterator; +import java.util.List; + +import static com.github.thetya.server.social.Log.log; + +@Singleton +public class SocialManager implements SocialProvider { + + @Inject + protected Injector _injector; + + @Inject + @MainInvoker + protected Invoker _invoker; + + @Inject + protected PlaceRegistry _placeReg; + + @Inject + private UplinkManager _uplinkManager; + @Inject + private ThetyaPeerManager _peerMgr; + @Inject + private ThetyaAdminManager _adminMgr; + + @Inject + private KnightRepository _knightRepo; + @Inject + private FriendRepository _friendRepo; + + @Inject + public SocialManager(InvocationManager invmgr) { + invmgr.registerProvider(this, SocialMarshaller.class, "presents"); + } + + public void init() { + } + + public void initFriends(PlayerObject playerObject, List records) { + final int thisKnightId = playerObject.knightId; + playerObject.setFriends(new DSet<>(Iterables.transform(records, new Function() { + public FriendEntry apply(FriendRecord rec) { + int knightId = thisKnightId == rec.knightId1 ? rec.knightId2 : rec.knightId1; + Name name = _knightRepo.loadKnight(knightId).getName(); + return new FriendEntry(name, knightId, rec.color, SocialManager.this.getWhereabouts(name)); + } + }))); + updateWhereabouts(playerObject); + } + + public void updateWhereabouts(PlayerObject playerObject) { + if (!Whereabouts.OFFLINE.equals(playerObject.whereabouts)) { + Party party = Party.getParty(playerObject); + if (party != null) { + setWhereabouts(playerObject, (party.isMember(playerObject) ? party.getWhereabouts() : Whereabouts.NOWHERE)); + } else { + PlaceManager placeMgr = this._placeReg.getPlaceManager(playerObject.getPlaceOid()); + if (!(placeMgr instanceof ThetyaSceneManager)) { + setWhereabouts(playerObject, Whereabouts.NOWHERE); + } else { + setWhereabouts(playerObject, ((ThetyaSceneManager) placeMgr).getWhereabouts()); + } + } + } + } + + public void setWhereabouts(PlayerObject player, Whereabouts whereabouts) { + if (!whereabouts.equals(player.whereabouts) && (player.getLocal(PlayerLocal.class)).transferState != TransferState.COMPLETE) { + whereabouts = whereabouts.clone(); + player.whereabouts = whereabouts; + this._peerMgr.whereaboutsUpdated(player); + Iterator i = player.friends.iterator(); + + while(i.hasNext()) { + FriendEntry entry = (FriendEntry) i.next(); + this.maybeUpdateFriendWhereabouts(entry.name, player.knight, whereabouts); + } + + //if (player.guildId > 0) { + // try { + // this._guildmgr.requireGuildPeerProvider(player.guildId).memberWhereaboutsUpdated((ClientObject)null, player.knight, whereabouts); + // } catch (InvocationException exception) { + // Log.log.warning("Error updating guild member whereabouts.", "who", player.who(), "where", whereabouts, exception); + // } + //} + + } + } + + public Whereabouts getWhereabouts(Name name) { + PlayerData data = this._peerMgr.getKnight(name); + return data == null ? Whereabouts.OFFLINE : data.getWhereabouts(); + } + + @Override + public void befriendKnight(ClientObject caller, Name targetKnight, String subject, String message, + ConfirmListener cl) throws InvocationException { + // First let's ensure the caller has a knight selected + PlayerObject playerObject = ensureKnightSelected(caller); + + // Subject & message cannot be null + Preconditions.checkNotNull(subject); + Preconditions.checkNotNull(message); + + // Check if they don't want to friend themself + if (playerObject.knight.equals(targetKnight)) { + throw new InvocationException("m.friend_self"); + } + + // Check if they're already friends with target + if (playerObject.friends.containsKey(targetKnight)) { + throw new InvocationException(MessageBundle.tcompose("m.already_friend", targetKnight)); + } + + // Check if they have place for a new friend + if (playerObject.friends.size() >= 250) { + log.warning("Player at max friends tried to befriend a new one", "who", caller.who()); + throw new InvocationException("m.internal_error"); + } + + // Wrap it all up and pass it to the Uplink + //_uplinkManager.deliverFriendRequest(); + establishFriendship(_knightRepo.loadKnight(targetKnight.toString()).knightId, playerObject.knightId, null, new Resulting<>(cl)); + } + + @Override + public void joinFriend(ClientObject caller, Name targetKnight, ConfirmListener cl) + throws InvocationException { + PlayerObject playerObject = ensureKnightSelected(caller); + FriendEntry friend = playerObject.friends.get(targetKnight); + if (friend == null /*&& (playerObject.guildId == 0 || this._guildmgr.requireGuild(plobj.guildId).getGuildObject().members.get(name) == null)*/) { + Log.log.warning("Received request to join non-friend.", "who", playerObject.who(), "name", targetKnight); + throw new InvocationException("m.internal_error"); + } else { + PlayerData data = this._peerMgr.getKnight(targetKnight); + Whereabouts whereabouts = data == null ? null : data.getWhereabouts(); + long now = System.currentTimeMillis(); + if (whereabouts != null && whereabouts.isJoinable(playerObject, this._adminMgr.getServerObject(), now)) { + (new ProviderPlayerTransfer(playerObject, data.getNodeName(PeerConfig.getNode()), cl) { + protected void requestTransfer(ProjectXPeerProvider provider, PlayerObject player, Object[] locals) throws InvocationException { + provider.joinPlayer(null, player, locals, targetKnight, this); + } + }).invoke(this._peerMgr); + } else { + throw new InvocationException(MessageBundle.tcompose("m.friend_unjoinable", targetKnight)); + } + } + } + + @Override + public void respondToNotification(ClientObject caller, Comparable notificationKey, + int response, ConfirmListener cl) throws InvocationException { + PlayerObject playerObject = (PlayerObject) caller; + Notification note = playerObject.notifications.get(notificationKey); + if (note == null) { + Log.log.warning("Received response for invalid notification.", "who", playerObject.who(), "key", notificationKey); + throw new InvocationException("m.internal_error"); + } else { + playerObject.removeFromNotifications(notificationKey); + String responseClass = note.getResponseLogicClassName(); + if (responseClass == null) { + cl.requestProcessed(); + } else { + ResponseLogic logic; + try { + logic = (ResponseLogic) this._injector.getInstance(Class.forName(responseClass)); + } catch (Exception ex) { + Log.log.warning("Failed to instantiate response logic.", "who", playerObject.who(), "note", note, ex); + throw new InvocationException("m.internal_error"); + } + + logic.respond(playerObject, note, response, cl); + } + } + } + + @Override + public void unfriendKnight(ClientObject caller, Name targetKnight, ConfirmListener cl) + throws InvocationException { + final PlayerObject playerObject = this.ensureKnightSelected(caller); + final FriendEntry friend = playerObject.friends.get(targetKnight); + if (friend == null) { + Log.log.warning("Received request to unfriend non-friend.", "who", playerObject.who(), "name", targetKnight); + throw new InvocationException("m.internal_error"); + } else { + this._invoker.postUnit(new PersistingUnit("unfriendKnight", cl, "who", playerObject.who(), "name", targetKnight) { + public void invokePersistent() throws Exception { + SocialManager.this._friendRepo.deleteFriend(playerObject.knightId, friend.knightId); + } + + public void handleSuccess() { + SocialManager.this.maybeRemoveFriendEntry(playerObject.knight, targetKnight); + SocialManager.this.maybeRemoveFriendEntry(targetKnight, playerObject.knight); + this.reportRequestProcessed(); + } + }); + } + } + + protected void establishFriendship(final int requesterId, final int confirmerId, final ExternalAuther auther, ResultListener rl) { + this._invoker.postUnit(new Resulting("establishFriendship", rl) { + protected KnightRecord _confirmer; + protected KnightRecord _requester; + + public Void invokePersist() throws Exception { + this._requester = SocialManager.this._knightRepo.loadKnight(requesterId); + this._confirmer = SocialManager.this._knightRepo.loadKnight(confirmerId); + if (this._requester != null && this._requester.isActive() && this._confirmer != null && this._confirmer.isActive()) { + if (SocialManager.this._friendRepo.numFriends(requesterId) >= 250) { + throw new InvocationException("social", MessageBundle.tcompose("e.maxfriends_inviter", this._requester.name)); + } else if (SocialManager.this._friendRepo.numFriends(confirmerId) >= 250) { + throw new InvocationException("social", "e.maxfriends_invitee"); + } else { + SocialManager.this._friendRepo.insert(new FriendRecord(requesterId, confirmerId)); + return null; + } + } else { + Log.log.warning("Tried to establish friendship with an inactive knight", "requesterId", requesterId, "confirmerId", confirmerId); + throw new InvocationException("m.unknown_knight"); + } + } + + public void requestCompleted(Void result) { + Name requester = new Name(this._requester.name); + Name confirmer = new Name(this._confirmer.name); + SocialManager.this.maybeAddFriendEntry(requester, confirmer, confirmerId, this._confirmer.color); + SocialManager.this.maybeAddFriendEntry(confirmer, requester, requesterId, this._requester.color); + super.requestCompleted(result); + } + }); + } + + protected void maybeAddFriendEntry(Name player, Name friend, int knightId, int color) { + this._peerMgr.invokeKnightAction(player, new FriendAddedAction(player, friend, knightId, color)); + } + + protected void addNewFriendEntry(PlayerObject playerObject, Name name, int knightId, int color) { + playerObject.addToFriends(new FriendEntry(name, knightId, color, this.getWhereabouts(name))); + (playerObject.getLocal(PlayerLocal.class)).madeFriend = true; + } + + protected void maybeRemoveFriendEntry(Name player, Name friend) { + this._peerMgr.invokeKnightAction(player, new FriendRemovedAction(player, friend)); + } + + protected void maybeUpdateFriendWhereabouts(Name player, Name friend, Whereabouts whereabouts) { + this._peerMgr.invokeKnightAction(player, new FriendWhereaboutsUpdatedAction(player, friend, whereabouts)); + } + + /** + * Makes sure that a client is a valid player and has yet chosen a knight. + * Returns their PlayerObject if successful, raises an InvocationException otherwise. + */ + private PlayerObject ensureKnightSelected(ClientObject clientObject) throws InvocationException { + PlayerObject playerObject = (PlayerObject) clientObject; + + if (playerObject.knight == null) { + log.warning("Player tried to use the social system without selecting a knight", "who", playerObject.who()); + throw new InvocationException("m.internal_error"); + } + + return playerObject; + } + + public static class FriendWhereaboutsUpdatedAction extends SocialManager.FriendAction { + + protected Whereabouts _whereabouts; + + public FriendWhereaboutsUpdatedAction(Name name, Name friend, Whereabouts whereabouts) { + super(name, friend); + this._whereabouts = whereabouts; + } + + public FriendWhereaboutsUpdatedAction() {} + + protected void execute(PlayerObject player) { + FriendEntry entry = player.friends.get(this._friend); + if (entry != null) { + entry.whereabouts = this._whereabouts; + player.updateFriends(entry); + } + } + } + + public static class FriendRemovedAction extends SocialManager.FriendAction { + + public FriendRemovedAction(Name name, Name friend) { + super(name, friend); + } + + public FriendRemovedAction() {} + + protected void execute(PlayerObject player) { + if (player.friends.containsKey(this._friend)) { + player.removeFromFriends(this._friend); + } + + } + } + + public static class FriendAddedAction extends SocialManager.FriendAction { + + protected int _knightId; + protected int _color; + + @Inject + protected transient SocialManager _socialMgr; + + public FriendAddedAction(Name name, Name friend, int knightId, int color) { + super(name, friend); + this._knightId = knightId; + this._color = color; + } + + public FriendAddedAction() {} + + protected void execute(PlayerObject player) { + if (!player.friends.containsKey(this._friend)) { + this._socialMgr.addNewFriendEntry(player, this._friend, this._knightId, this._color); + } + + } + } + + public abstract static class FriendAction extends ThetyaPeerManager.KnightAction { + + protected Name _friend; + + public FriendAction(Name name, Name friend) { + super(name); + this._friend = friend; + } + + public FriendAction() {} + } +} diff --git a/src/com/github/thetya/server/social/SocialProvider.java b/src/com/github/thetya/server/social/SocialProvider.java new file mode 100644 index 0000000..3245d60 --- /dev/null +++ b/src/com/github/thetya/server/social/SocialProvider.java @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.social; + +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationProvider; +import com.threerings.util.Name; + +/** + * Defines the server-side of {@link com.threerings.projectx.social.client.SocialService}. Method + * signatures declared here are reversely looked up (via the help of corresponding Marshaller) to + * invocation method codes. + */ +public interface SocialProvider extends InvocationProvider { + + // ID 1 + void befriendKnight(ClientObject caller, Name targetKnight, String subject, String message, + ConfirmListener cl) throws InvocationException; + + // ID 2 + void joinFriend(ClientObject caller, Name targetKnight, ConfirmListener cl) + throws InvocationException; + + // ID 3 + void respondToNotification(ClientObject caller, Comparable notificationKey, int response, + ConfirmListener cl) throws InvocationException; + + // ID 4 + void unfriendKnight(ClientObject caller, Name targetKnight, ConfirmListener cl) + throws InvocationException; +} diff --git a/src/com/github/thetya/server/support/Log.java b/src/com/github/thetya/server/support/Log.java new file mode 100644 index 0000000..8388c7c --- /dev/null +++ b/src/com/github/thetya/server/support/Log.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.support; + +import com.samskivert.util.Logger; + +/** + * Contains a reference to the {@link Logger} object used by the support package. + */ +@SuppressWarnings("unused") +public class Log { + + /** + * The {@link Logger} reference. + */ + public static Logger log = Logger.getLogger("com.github.thetya.server.support"); +} diff --git a/src/com/github/thetya/server/support/ProjectXSupportProvider.java b/src/com/github/thetya/server/support/ProjectXSupportProvider.java new file mode 100644 index 0000000..07bf638 --- /dev/null +++ b/src/com/github/thetya/server/support/ProjectXSupportProvider.java @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.support; + +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationProvider; +import com.threerings.projectx.client.ProjectXSupportService; +import com.threerings.util.Name; +import javax.annotation.Generated; + +/** + * Defines the server-side of the {@link ProjectXSupportService}. + */ +@Generated(value = {"com.threerings.presents.tools.GenServiceTask"}, + comments = "Derived from ProjectXSupportService.java.") +public interface ProjectXSupportProvider extends InvocationProvider { + + /** + * Handles a {@link ProjectXSupportService#clearChatHistory} request. + */ + void clearChatHistory(ClientObject caller); + + /** + * Handles a {@link ProjectXSupportService#registerComplaint} request. + */ + void registerComplaint(ClientObject caller, Name target, String reason, long mailId, + ConfirmListener cl) throws InvocationException; + + /** + * Handles a {@link ProjectXSupportService#storeChatHistory} request. + */ + void storeChatHistory(ClientObject caller); +} diff --git a/src/com/github/thetya/server/support/ThetyaSupportManager.java b/src/com/github/thetya/server/support/ThetyaSupportManager.java new file mode 100644 index 0000000..09b9e31 --- /dev/null +++ b/src/com/github/thetya/server/support/ThetyaSupportManager.java @@ -0,0 +1,90 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.support; + +import com.google.inject.Inject; +import com.google.inject.Injector; +import com.google.inject.Singleton; +import com.threerings.crowd.chat.server.ChatHistory; +import com.threerings.crowd.chat.server.ChatHistory.Entry; +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationManager; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.data.ProjectXSupportMarshaller; +import com.threerings.util.MessageManager; +import com.threerings.util.Name; +import java.util.List; + +/** + * A manager for the support service. + */ +@Singleton +public class ThetyaSupportManager implements ProjectXSupportProvider { + + @Inject + private ChatHistory _chatHistory; + //@Inject + //private LogDispatcher _logDispatcher; + + /** + * Constructs a new support manager. + */ + @Inject + public ThetyaSupportManager(InvocationManager invocationMgr) { + // Register the provider in the presents group so we boot immediately within server startup + invocationMgr.registerProvider(this, ProjectXSupportMarshaller.class, "presents"); + } + + /** + * Clears chat history for the caller. + */ + @Override + public void clearChatHistory(ClientObject caller) { + // The following line should clear the chat history for the caller, but for some reason + // it does not. It is to be investigated. Substituting the argument with caller.username also + // does not work. + _chatHistory.clear(((PlayerObject) caller).knight); + } + + /** + * Registers a new complaint. + */ + @Override + public void registerComplaint(ClientObject caller, Name target, String reason, long mailId, + ConfirmListener cl) throws InvocationException { + PlayerObject playerObject = (PlayerObject) caller; + + //LogEntry logEntry = + // _logDispatcher.createLogEntry(ComplaintLogEntry.class) + // .withId(1) + // .by(playerObject) + // .against(playerObject) + // .withReason(reason) + // .regardingMail(false) + // .chatSaved(false) + // .onNode("tht-eu1"); + //_logDispatcher.dispatch(logEntry); + + cl.requestProcessed(); + } + + /** + * Stores caller's chat history. + */ + @Override + public void storeChatHistory(ClientObject caller) { + List chatHistory = _chatHistory.get(((PlayerObject) caller).knight); + + if (chatHistory == null) return; + for (Entry chatEntry : chatHistory) { + System.out.println(chatEntry.message); + } + } +} diff --git a/src/com/github/thetya/server/tools/DarkTest.java b/src/com/github/thetya/server/tools/DarkTest.java new file mode 100644 index 0000000..70ab006 --- /dev/null +++ b/src/com/github/thetya/server/tools/DarkTest.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.tools; + +//import com.formdev.flatlaf.FlatDarculaLaf; +//import com.formdev.flatlaf.intellijthemes.FlatDarkFlatIJTheme; + +import com.threerings.config.tools.ConfigEditor; + +// 528, 779 = HAVEN +// +public class DarkTest { + public static void main(String[] args) { + //FlatDarkFlatIJTheme.install(); + ConfigEditor.main(args); + } +} diff --git a/src/com/github/thetya/server/tools/UserTool.java b/src/com/github/thetya/server/tools/UserTool.java new file mode 100644 index 0000000..1646f97 --- /dev/null +++ b/src/com/github/thetya/server/tools/UserTool.java @@ -0,0 +1,120 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.tools; + +import com.github.thetya.server.ServerConfig; +import com.samskivert.depot.PersistenceContext; +import com.samskivert.jdbc.StaticConnectionProvider; +import com.samskivert.servlet.user.InvalidUsernameException; +import com.samskivert.servlet.user.Password; +import com.samskivert.servlet.user.UserExistsException; +import com.samskivert.servlet.user.Username; +import com.threerings.user.OOOUser; +import com.threerings.user.depot.DepotUserRepository; + +public class UserTool { + + public static void main(String[] args) { + String action = args[0].toLowerCase(); + + StaticConnectionProvider connProvider = new StaticConnectionProvider( + ServerConfig.getJdbcConfig()); + PersistenceContext userDbCtx = new PersistenceContext("userdb", connProvider, null); + DepotUserRepository userRepo = new DepotUserRepository(userDbCtx); + + switch (action) { + case "create": + create(userRepo, args); + break; + case "remove": + remove(userRepo, args); + break; + case "make_admin": + makeAdmin(userRepo, args); + break; + case "change_password": + changePassword(userRepo, args); + break; + default: + System.out.println("Unknown action: " + action); + } + } + + protected static void create(DepotUserRepository repo, String[] args) { + String username = args[1]; + String password = args[2]; + String email = args[3]; + + if (username == null || password == null || email == null) { + System.err.println("Usage: UserTool create [username] [password] [email]"); + return; + } + + try { + repo.createUser(new Username(username), Password.makeFromClear(password), email, 204, 0); + } catch (InvalidUsernameException e) { + System.err.println("Invalid username. Must be between 3 and 12 chars A-Z a-z 0-9"); + return; + } catch (UserExistsException e) { + System.err.println("User exists"); + return; + } + + System.out.println("Success"); + } + + protected static void remove(DepotUserRepository repo, String[] args) { + String username = args[1]; + + if (username == null) { + System.err.println("Usage: UserTool remove [username]"); + return; + } + + OOOUser user = repo.loadUser(username, false); + if (user == null) { + System.err.println("User does not exist"); + return; + } + repo.deleteUser(user); + System.out.println("Success"); + } + + protected static void makeAdmin(DepotUserRepository repo, String[] args) { + String username = args[1]; + + if (username == null) { + System.err.println("Usage: UserTool make_admin [username]"); + return; + } + + OOOUser user = repo.loadUser(username, false); + if (user.holdsToken(OOOUser.ADMIN)) { + System.err.println("Already admin"); + return; + } + user.addToken(OOOUser.ADMIN); + repo.updateUser(user); + System.out.println("Success"); + } + + protected static void changePassword(DepotUserRepository repo, String[] args) { + String username = args[1]; + String newPassword = args[2]; + + if (username == null || newPassword == null) { + System.err.println("Usage: UserTool change_password [username] [new password]"); + return; + } + + OOOUser user = repo.loadUser(username, false); + user.setPassword(Password.makeFromClear(newPassword)); + repo.updateUser(user); + System.out.println("Success"); + } +} diff --git a/src/com/github/thetya/server/town/Log.java b/src/com/github/thetya/server/town/Log.java new file mode 100644 index 0000000..d99fac8 --- /dev/null +++ b/src/com/github/thetya/server/town/Log.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.town; + +import com.samskivert.util.Logger; + +/** + * Contains a reference to the {@link Logger} object used by the town package. + */ +@SuppressWarnings("unused") +public class Log { + + /** + * The {@link Logger} reference. + */ + public static Logger log = Logger.getLogger("com.github.thetya.server.town"); +} \ No newline at end of file diff --git a/src/com/github/thetya/server/town/TownManager.java b/src/com/github/thetya/server/town/TownManager.java new file mode 100644 index 0000000..d5aba3d --- /dev/null +++ b/src/com/github/thetya/server/town/TownManager.java @@ -0,0 +1,212 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.town; + +import com.github.thetya.server.PlayerLocal; +import com.github.thetya.server.dungeon.DungeonManager; +import com.github.thetya.server.dungeon.Gate; +import com.github.thetya.server.dungeon.RotatingGate; +import com.github.thetya.server.persist.TownRecord; +import com.github.thetya.server.persist.TownRepository; +import com.github.thetya.server.scene.ThetyaSceneRegistry.Instance; +import com.github.thetya.server.zone.InstancedZoneManager; +import com.google.common.collect.Lists; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.samskivert.util.IntMap; +import com.samskivert.util.IntMaps; +import com.samskivert.util.ObserverList; +import com.samskivert.util.QuickSort; +import com.threerings.crowd.data.BodyObject; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.town.data.TownSummary; +import com.threerings.util.MessageBundle; +import com.threerings.whirled.zone.data.ZoneSummary; +import com.threerings.whirled.zone.util.ZoneUtil; + +import java.util.Collection; +import java.util.Comparator; +import java.util.List; + +import static com.github.thetya.server.town.Log.log; + +@Singleton +public class TownManager extends InstancedZoneManager { + + protected static final Comparator GATE_ID_COMP = new Comparator() { + public int compare(RotatingGate g1, RotatingGate g2) { + return g1.getData().getGateId() - g2.getData().getGateId(); + } + }; + private final IntMap _towns = IntMaps.newHashIntMap(); + protected ObserverList _gateObservers = ObserverList.newFastUnsafe(); + protected IntMap> _rotatingGates = IntMaps.newHashIntMap(); + + @Inject + private TownRepository _townRepository; + @Inject + private DungeonManager _dungeonMgr; + + public void init() { + // First let's load up all the existing towns + List townRecords = _townRepository.loadTowns(); + + // Register all of them + for (TownRecord town : townRecords) { + _towns.put(town.townId, town); + + // Add the town to server object + _adminmgr.getServerObject().addToTowns(town.createTownSummary()); + + log.debug("Registered town " + MessageBundle.qualify("town", town.name) + "."); + } + + // Register a zone manager for the type 1 (town type) + _zoneRegistry.registerZoneManager((byte) 1, this); + + // We'll want to init rotating gates and rest of the bologna here later on + } + + public void addGateObserver(GateObserver observer) { + this._gateObservers.add(observer); + } + + public void removeGateObserver(GateObserver observer) { + this._gateObservers.remove(observer); + } + + public List getRotatingGates(int townId) { + return getRotatingGates(townId, true); + } + + public List getRotatingGates(int townId, boolean inherit) { + if (inherit) { + townId = this._adminmgr.getServerObject().getRootTownId(townId); + } + List gates = this._rotatingGates.get(townId); + if (gates == null) { + this._rotatingGates.put(townId, gates = Lists.newArrayList()); + for (Gate gate : this._dungeonMgr.getGates()) { + if (gate instanceof RotatingGate && gate.getData().getSourceId() == townId) { + gates.add((RotatingGate) gate); + } + } + } + QuickSort.sort(gates, GATE_ID_COMP); + return gates; + } + + public TownSummary getTownSummary(int townId) { + TownRecord townRecord = getTownRecord(townId); + return townRecord == null ? null : townRecord.createTownSummary(); + } + + public TownRecord getTownRecord(int townId) { + return _towns.get(townId); + } + + @Override + public void resolveZone(int zoneId, ResolutionListener rl) { + int townId = ZoneUtil.zoneId(zoneId); + TownRecord town = _towns.get(townId); + + if (town == null) { + rl.zoneFailedToResolve(zoneId, new Exception("No such town: " + townId)); + return; + } + + rl.zoneWasResolved(town.createZoneSummary()); + } + + public void resolveZones(String partialName, Collection zones) { + } + + @Override + public String ratifyBodyExit(BodyObject bodyObject) { + return null; + } + + @Override + public String ratifyBodyEntry(BodyObject bodyObject, int i) { + return null; + } + + @Override + public void bodyDidEnterZone(BodyObject bodyObject, int zoneId) { + // First let's grab correct TownRecord by its ID. We're using ZoneUtil here to obtain the + // proper town ID, "encoded" by the zone type. + TownRecord town = _towns.get(ZoneUtil.zoneId(zoneId)); + + PlayerObject playerObject = (PlayerObject) bodyObject; + if (playerObject.lastPermanentZoneId == zoneId && playerObject.lastPermanentSceneId == town.defaultSceneId) { + // The player hasn't changed their default town, so we're done. + return; + } + + // Last permanent zone & scene ids don't match those belonging to the entered town's. + // Example scenario: the player has progressed from Rescue Camp to Haven. + // We're changing multiple properties, so let's start a transaction to have it nicely + // communicated to the client. + playerObject.startTransaction(); + + try { + // Let's adjust their zone&scene permanent IDs and set the town name for reference in UI. + playerObject.setLastPermanentZoneId(zoneId); + playerObject.setLastPermanentSceneId(town.defaultSceneId); + playerObject.setLastPermanentName(MessageBundle.qualify("town", town.name)); + playerObject.setHomeTown(town.createTownSummary()); + } finally { + // Commit the transaction and we're done. + playerObject.commitTransaction(); + } + } + + @Override + public void playerRemoved(Instance instance, PlayerObject player, int seconds) { + // Adjust the playtime tracker + player.getLocal(PlayerLocal.class).secondsInTown += seconds; + } + + @Override + public void instanceBecameEmpty(Instance instance) { + // Normally an instanced zone manager would shutdown the instance and get rid of it, + // when it comes to towns we cannot do that as towns should remain preloaded all the time. + // So we override and do nothing. + } + + public interface GateObserver { + void gatesUpdated(int param1Int); + } + + public String moveToTown(PlayerObject playerObject, String internalId) { + return this.moveToTown(playerObject, internalId, -1, null); + } + + public String moveToTown(PlayerObject playerObject, String internalId, int sceneId, Object portalKey) { + TownRecord[] records = (TownRecord[]) _towns.values().toArray(); + + for (TownRecord record : records) { + if (record.internalId.equals(internalId)) { + int zoneId = ZoneUtil.qualifyZoneId((byte) 1, record.townId); + if (zoneId == playerObject.zoneId) { + return "m.already_in_town"; + } + + if (sceneId == -1) { + sceneId = record.defaultSceneId; + } + + return portalKey != null + ? this._zoneRegistry.moveBody(playerObject, zoneId, sceneId, portalKey) + : this._zoneRegistry.moveBody(playerObject, zoneId, sceneId); + } + } + + return "m.town_does_not_exist"; + } +} diff --git a/src/com/github/thetya/server/town/TownSceneManager.java b/src/com/github/thetya/server/town/TownSceneManager.java new file mode 100644 index 0000000..bd55ca1 --- /dev/null +++ b/src/com/github/thetya/server/town/TownSceneManager.java @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.town; + +import com.github.thetya.server.dungeon.RotatingGate; +import com.github.thetya.server.scene.ThetyaSceneManager; +import com.google.inject.Inject; +import com.threerings.crowd.data.PlaceObject; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.town.data.TownSceneObject; + +import com.threerings.whirled.zone.util.ZoneUtil; +import java.util.List; + +public class TownSceneManager extends ThetyaSceneManager { + + private int _townId; + private boolean _haven; + + @Inject protected TownManager _townMgr; + + public int getTownId() { + return _townId; + } + + public RotatingGate getRotatingGate(int index) { + List gates = this._townMgr.getRotatingGates(this._townId); + if (index >= gates.size()) { + Log.log.warning("Invalid rotating gate requested.", "where", where(), "townId", this._townId, "index", index); + return null; + } + return gates.get(index); + } + + @Override + protected PlaceObject createPlaceObject() { + return _tsobj = new TownSceneObject(); + } + + @Override + protected void didStartup() { + if (_instance != null) { + int zoneId = _instance.getZoneId(); + if (ZoneUtil.zoneType(zoneId) == 1) { + _townId = ZoneUtil.zoneId(zoneId); + _haven = "haven".equals(_townMgr.getTownRecord(_townId).internalId); + } + } + + super.didStartup(); + } + + @Override + protected void bodyEntered(int bodyOid) { + super.bodyEntered(bodyOid); + + PlayerObject playerObject = (PlayerObject) _omgr.getObject(bodyOid); + int sceneId = _scene.getId(); + if (playerObject != null && playerObject.lastPermanentSceneId != sceneId) { + playerObject.setLastPermanentSceneId(sceneId); + } + + if (_haven) { + playerObject.setProgress(4, true); + } + } +} diff --git a/src/com/github/thetya/server/tx/Log.java b/src/com/github/thetya/server/tx/Log.java new file mode 100644 index 0000000..023c178 --- /dev/null +++ b/src/com/github/thetya/server/tx/Log.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.tx; + +import com.samskivert.util.Logger; + +/** + * Contains a reference to the {@link Logger} object used by the tx package. + */ +@SuppressWarnings("unused") +public class Log { + + /** + * The {@link Logger} reference. + */ + public static Logger log = Logger.getLogger("com.github.thetya.server.tx"); +} diff --git a/src/com/github/thetya/server/tx/TransactionManager.java b/src/com/github/thetya/server/tx/TransactionManager.java new file mode 100644 index 0000000..cf31d62 --- /dev/null +++ b/src/com/github/thetya/server/tx/TransactionManager.java @@ -0,0 +1,127 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.tx; + +import com.github.thetya.server.tx.data.TransactionData.EventType; +import com.google.common.collect.Lists; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.samskivert.util.Invoker; +import com.samskivert.util.Lifecycle; +import com.samskivert.util.Lifecycle.InitComponent; +import com.threerings.presents.annotation.MainInvoker; +import com.threerings.projectx.item.data.Item; +import com.threerings.projectx.util.Resulting; +import java.util.Collection; +import java.util.Collections; +import java.util.List; + +/** + * Logs all the transactions made on the server. + */ +@Singleton +public class TransactionManager implements InitComponent { + + /* Dependencies */ + @Inject + @MainInvoker + protected Invoker _invoker; + //@Inject + //protected TransactionRepository _transactionRepo; + //@Inject + //protected CronLogic _cronLogic; + + /** + * Constructs a new transaction manager. + * + * @param lifecycle The server's lifecycle. + */ + @Inject + public TransactionManager(Lifecycle lifecycle) { + lifecycle.addComponent(this); + } + + /** + * Returns the given collection if it's not null, or an empty list otherwise. + */ + protected static Collection deNull(Collection source) { + return source != null ? source : Collections.emptyList(); + } + + /** + * Called during server initialization phase. + */ + @Override + public void init() { + //Runnable purge = () -> _transactionRepo.purgeOldTransactions(); + //_cronLogic.scheduleAt(2, "PurgeOldTransactions", purge); + } + + /** + * Logs a new shop (vendor) purchase. + */ + public void logShopPurchase(int knightId, List purchased, int crowns) { + log(EventType.SHOP, 0, knightId, deNull(purchased), -crowns); + } + + /** + * Logs a new shop (vendor) sell. + */ + public void logShopSell(int knightId, List sold, int crowns) { + log(EventType.SHOP, knightId, 0, deNull(sold), -crowns); + } + + /** + * Logs a new sent mail. + */ + public void logMailSent(int fromKnightId, int toKnightId, List mailed, int crowns) { + log(EventType.MAIL_SENT, fromKnightId, toKnightId, deNull(mailed), crowns); + } + + /** + * Logs accepted mail. + */ + public void logMailAccepted(int fromKnightId, int toKnightId, List mailed, int crowns) { + log(EventType.MAIL_ACCPEPTED, fromKnightId, toKnightId, deNull(mailed), crowns); + } + + /** + * Logs trade. + */ + public void logTrade(int fromKnightId, int toKnightId, Collection items, int crowns) { + log(EventType.TRADE, fromKnightId, toKnightId, deNull(items), crowns); + } + + /** + * Base logging method. Persists data about the event to the database. + */ + protected void log(EventType eventType, int fromKnightId, int toKnightId, Collection items, + int crowns) { + //int size = items.size() + crowns == 0 ? 0 : 1; + //final List txs = Lists.newArrayListWithCapacity(size); +// + //for (Item item : items) { + // txs.add(TransactionRecord.ofItems(eventType, fromKnightId, toKnightId, item.getItemId(), + // item.getConfig().getName(), item.getCount())); + //} +// + //if (crowns != 0) { + // txs.add(TransactionRecord.ofCrowns(eventType, fromKnightId, toKnightId, crowns)); + //} +// + //_invoker.postUnit(new Resulting("Transaction log", Log.log, "transactions", txs) { +// + // @Override + // public Void invokePersist() throws Exception { + // TransactionManager._transactionRepo.insertTransactions(txs); + // stop(); + // return null; + // } + //}); + } +} \ No newline at end of file diff --git a/src/com/github/thetya/server/tx/data/TransactionData.java b/src/com/github/thetya/server/tx/data/TransactionData.java new file mode 100644 index 0000000..aae8e2c --- /dev/null +++ b/src/com/github/thetya/server/tx/data/TransactionData.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.tx.data; + +import com.threerings.io.Streamable; +import java.io.Serializable; +import java.util.Date; + +public class TransactionData implements Serializable, Streamable { + + public EventType eventType; + public String sourceKnight; + public String targetKnight; + public Date when; + public PayloadType payloadType; + public int quantity; + public long itemId; + public String itemConfigName; + + @SuppressWarnings("unused") + public TransactionData() { + // Zero-arg constructor for serialization purposes + } + + public enum PayloadType { + CROWN, + ITEM; + + PayloadType() { + // Zero-arg constructor for serialization purposes + } + } + + public enum EventType { + SHOP, + TRADE, + MAIL_SENT, + MAIL_ACCPEPTED, + DROP, + LOOT, + REWARD; + + EventType() { + // Zero-arg constructor for serialization purposes + } + } +} \ No newline at end of file diff --git a/src/com/github/thetya/server/uplink/AnnouncementInfo.java b/src/com/github/thetya/server/uplink/AnnouncementInfo.java new file mode 100644 index 0000000..fbd00a5 --- /dev/null +++ b/src/com/github/thetya/server/uplink/AnnouncementInfo.java @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.uplink; + +import com.threerings.projectx.admin.data.Announcement; +import com.threerings.projectx.uplink.data.MailType; +import com.threerings.projectx.uplink.data.NewMailInfo; +import com.threerings.util.Name; +import java.util.function.Function; + +public class AnnouncementInfo { + public final long id; + public final Name sender; + public final long sent; + public final String language; + public final String subject; + public final String body; + public final NewMailInfo info; + public static final Function TO_NEW_MAIL_INFO = announcementInfo -> announcementInfo.info; + + public AnnouncementInfo(Announcement announcement) { + id = announcement.id; + sent = announcement.sent; + language = announcement.language; + subject = announcement.subject.trim(); + body = announcement.body.trim(); + String override = announcement.senderOverride.trim(); + sender = "".equals(override) ? announcement.sender.name : new Name(override); + info = new NewMailInfo(id, sender, MailType.ANNOUNCE); + } +} \ No newline at end of file diff --git a/src/com/github/thetya/server/uplink/Log.java b/src/com/github/thetya/server/uplink/Log.java new file mode 100644 index 0000000..e2947ba --- /dev/null +++ b/src/com/github/thetya/server/uplink/Log.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.uplink; + +import com.samskivert.util.Logger; + +/** + * Contains a reference to the {@link Logger} object used by the uplink package. + */ +@SuppressWarnings("unused") +public class Log { + + /** + * The {@link Logger} reference. + */ + public static Logger log = Logger.getLogger("com.github.thetya.server.uplink"); +} \ No newline at end of file diff --git a/src/com/github/thetya/server/uplink/UplinkManager.java b/src/com/github/thetya/server/uplink/UplinkManager.java new file mode 100644 index 0000000..f3a6235 --- /dev/null +++ b/src/com/github/thetya/server/uplink/UplinkManager.java @@ -0,0 +1,915 @@ +package com.github.thetya.server.uplink; + +import com.github.thetya.server.PlayerLocal; +import com.github.thetya.server.ThetyaClientManager; +import com.github.thetya.server.admin.ThetyaAdminManager; +import com.github.thetya.server.coin.ThetyaCoinManager; +import com.github.thetya.server.item.ItemManager; +import com.github.thetya.server.peer.ThetyaPeerManager; +import com.github.thetya.server.peer.ThetyaPeerManager.KnightAction; +import com.github.thetya.server.peer.ThetyaPeerManager.LeadInterval; +import com.github.thetya.server.persist.KnightInfoRecord; +import com.github.thetya.server.persist.KnightRepository; +import com.github.thetya.server.persist.MailRecord; +import com.github.thetya.server.persist.UplinkRepository; +import com.github.thetya.server.social.SocialManager; +import com.github.thetya.server.tx.TransactionManager; +import com.google.common.base.Function; +import com.google.common.base.Objects; +import com.google.common.base.Preconditions; +import com.google.common.base.Predicate; +import com.google.common.base.Predicates; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.ImmutableSet.Builder; +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; +import com.google.common.primitives.Longs; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.samskivert.depot.util.Tuple3; +import com.samskivert.util.Invoker; +import com.samskivert.util.ResultListener; +import com.threerings.config.ConfigManager; +import com.threerings.config.ConfigReference; +import com.threerings.presents.annotation.MainInvoker; +import com.threerings.presents.client.InvocationService; +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.dobj.EventListener; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationManager; +import com.threerings.presents.server.PresentsDObjectMgr; +import com.threerings.projectx.admin.data.Announcement; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.item.config.ItemConfig; +import com.threerings.projectx.item.data.Item; +import com.threerings.projectx.uplink.data.FriendRequest; +import com.threerings.projectx.uplink.data.GuildInvite; +import com.threerings.projectx.uplink.data.MailAttachment; +import com.threerings.projectx.uplink.data.MailType; +import com.threerings.projectx.uplink.data.MultiAttachment; +import com.threerings.projectx.uplink.data.NewMailInfo; +import com.threerings.projectx.uplink.data.ReceivedMail; +import com.threerings.projectx.uplink.data.SentMail; +import com.threerings.projectx.uplink.data.SystemSender; +import com.threerings.projectx.uplink.data.UplinkMarshaller; +import com.threerings.projectx.util.Resulting; +import com.threerings.util.MessageBundle; +import com.threerings.util.Name; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; + +@Singleton +public class UplinkManager implements UplinkProvider { + protected static final Predicate IS_MAIL_ID = i -> i > 0L; + @Inject + @MainInvoker + protected Invoker _invoker; + @Inject + protected ThetyaClientManager _clmgr; + @Inject + protected ConfigManager _cfgmgr; + @Inject + protected ThetyaPeerManager _peermgr; + @Inject + protected PresentsDObjectMgr _omgr; + @Inject + protected ThetyaAdminManager _adminmgr; + @Inject + protected ThetyaCoinManager _coinmgr; + @Inject + protected SocialManager _socialmgr; + //@Inject + //protected GuildManager _guildmgr; + @Inject + protected ItemManager _itemmgr; + @Inject + protected UplinkRepository _uplinkrepo; + @Inject + protected KnightRepository _knightrepo; + @Inject + protected TransactionManager _txmgr; + protected volatile ImmutableMap> _announcements; + protected volatile Predicate _isAnnouncementId; + protected Map _systemNames = Maps.newHashMap(); + protected EventListener _cfgListener; + + @Inject + public UplinkManager(InvocationManager invmgr) { + SystemSender[] systemSenders = SystemSender.values(); + + for (SystemSender sender : systemSenders) { + _systemNames.put(sender.senderId, sender.name); + } + + _cfgListener = event -> regenerateAnnouncements(); + + invmgr.registerProvider(this, UplinkMarshaller.class, "presents"); + } + + public void init() { + _adminmgr.getAnnouncementConfigObject().addListener(_cfgListener); + regenerateAnnouncements(); + _peermgr.addLeadInterval(new LeadInterval(_omgr) { + + @Override + public void expired() { + deleteOldMail(); + } + + @Override + public void schedule() { + schedule(300000L, 3600000L); + } + }); + } + + public Set getAnnouncementIds(String language) { + Map langMap = _announcements.get(language); + return langMap != null ? langMap.keySet() : ImmutableSet.of(); + } + + public void deliverSystem(SystemSender sender, int knightId, Name name, String subject, + String body, MailAttachment attachment, MailType type) { + deliverSystem(sender, knightId, name, subject, body, attachment, type, new Resulting<>("deliverSystem", Log.log)); + } + + public void deliverSystem(SystemSender sender, int knightId, Name name, String subject, + String body, MailAttachment attachment, MailType type, ResultListener rl) { + MailRecord mailRecord = new MailRecord(knightId, sender.senderId, subject, body, attachment, type); + _invoker.postUnit(new Resulting("deliverSystem", rl) { + protected String _name; + + @Override + public Void invokePersist() throws Exception { + if (name == null) { + KnightInfoRecord recipientInfo = _knightrepo.resolveKnightInfo(knightId); + if (recipientInfo == null) { + throw new InvocationException("m.unknown_knight"); + } + + _name = recipientInfo.name; + } + + _uplinkrepo.insert(mailRecord); + return null; + } + + @Override + public void requestCompleted(Void result) { + Name notifyName = name != null ? name : new Name(this._name); + notifyDelivery(notifyName, mailRecord.mailId, sender.name, mailRecord.type); + super.requestCompleted(result); + } + }); + } + + public void deliverFriendRequest(int senderId, Name senderName, Name target, String subject, + String body, ConfirmListener cl) { + MailRecord mailRecord = new MailRecord(0, senderId, subject, body, new FriendRequest(senderId), MailType.FRIEND); + + _invoker.postUnit(new Resulting("deliverFriendRequest", cl) { + + @Override + public Void invokePersist() throws Exception { + KnightInfoRecord recipientInfo = lookupKnight(target); + if (0 != (recipientInfo.flags & 256)) { + throw new InvocationException("e.cannot_friend_gm"); + } + + mailRecord.recipientId = recipientInfo.knightId; + //if (0L != _uplinkrepo.findAttachment(mailRecord.recipientId, mailRecord.senderId, mailRecord.type)) { + // throw new InvocationException(MessageBundle.tcompose("m.friend_request_pending", target)); + //} +// + //long reverseId = _uplinkrepo.findAttachment(mailRecord.senderId, mailRecord.recipientId, mailRecord.type); + //if (reverseId != 0L) { + // _uplinkrepo.acceptAttachment(reverseId); + // return null; + //} + + _uplinkrepo.insert(mailRecord); + return null; + } + + @Override + public void requestCompleted(Void result) { + if (mailRecord.mailId != 0L) { + super.requestCompleted(result); + notifyDelivery(target, mailRecord.mailId, senderName, mailRecord.type); + return; + } + + //_socialmgr.establishFriendship(mailRecord.recipientId, mailRecord.senderId, new Resulting<>(cl)); + } + }); + } + + public void deliverGuildInvite(int senderId, final Name senderName, final Name target, String subject, String body, int guildId, String guildName, ConfirmListener cl) { + MailRecord mailRecord = new MailRecord(0, senderId, subject, body, new GuildInvite(guildId, guildName), MailType.GUILD); + _invoker.postUnit(new Resulting("deliverGuildInvite", cl) { + + @Override + public Void invokePersist() throws Exception { + KnightInfoRecord recipientInfo = lookupKnight(target); + if (0 != (recipientInfo.flags & 256)) { + throw new InvocationException("e.cannot_invite_gm"); + } + + mailRecord.recipientId = recipientInfo.knightId; + //if (0L != _uplinkrepo.findAttachment(mailRecord.recipientId, mailRecord.senderId, mailRecord.type)) { + // throw new InvocationException(MessageBundle.tcompose("m.invite_pending", target)); + //} + + _uplinkrepo.insert(mailRecord); + return null; + } + + @Override + public void requestCompleted(Void result) { + super.requestCompleted(result); + notifyDelivery(target, mailRecord.mailId, senderName, mailRecord.type); + } + }); + } + + public Iterable getNewMailInfo(int knightId, String language) { + //_omgr.refuseEventThread(); + List> mailInfo = _uplinkrepo.getNewMailInfo(knightId); + Map names = _knightrepo.getNames(Sets.newHashSet( + mailInfo.stream().map(tuple -> tuple.b).collect(Collectors.toList()))); + + List newMailInfo = mailInfo.stream() + .map(tuple -> new NewMailInfo(tuple.a, toSenderName(tuple.b, names), tuple.c)) + .collect(Collectors.toList()); + + Map announcements = _announcements.get(language); + if (announcements != null && !announcements.isEmpty()) { + List readAnnouncements = _uplinkrepo.readAnnouncementIds(knightId); + + Iterable announce = Maps + .filterKeys(announcements, Predicates.not(Predicates.in(readAnnouncements))).values().stream() + .map(AnnouncementInfo.TO_NEW_MAIL_INFO).collect(Collectors.toList()); + + return Iterables.concat(newMailInfo, announce); + } + + return newMailInfo; + } + + @Override + public void getMail(ClientObject caller, long[] ids, InvocationService.ResultListener rl) throws InvocationException { + PlayerObject playerObject = ensureKnighted(caller); + int knightId = playerObject.knightId; + List fids = ids == null ? null : Longs.asList(ids); + Map perLangAnnouncements = + _announcements.get((playerObject.getLocal(PlayerLocal.class)).credentials.language); + + if (perLangAnnouncements == null) { + perLangAnnouncements = ImmutableMap.of(); + } + + Map anns = + fids == null ? perLangAnnouncements : Maps.filterKeys(perLangAnnouncements, Predicates.in(fids)); + boolean announcementsPresent = !anns.isEmpty(); + + _invoker.postUnit(new Resulting("getMail", rl) { + protected List _mail; + protected Map _names; + protected Map _announcementStatus; + + @Override + public Void invokePersist() { + _mail = _uplinkrepo.getMail(fids == null ? null : fids.stream() + .filter(UplinkManager.IS_MAIL_ID::apply).collect(Collectors.toList()), knightId); + _names = _knightrepo.getNames(Sets.newHashSet(Lists.transform(_mail, MailRecord.TO_SENDER))); + if (announcementsPresent) { + _announcementStatus = UplinkManager.this._uplinkrepo.getAnnouncementStatus(knightId); + } + + return null; + } + + @Override + public void requestCompleted(Void result) { + List mail = _mail + .stream() + .map(rec -> new ReceivedMail(rec.mailId, toSenderName(rec.senderId, _names), rec.unread, + rec.sent.getTime(), rec.subject, rec.body, rec.attachment, rec.type)) + .collect(Collectors.toList()); + if (!announcementsPresent) { + rl.requestProcessed(mail); + return; + } + + List list = Lists.newArrayList(mail); + + for (AnnouncementInfo info : anns.values()) { + Boolean status = _announcementStatus.get(info.id); + if (!Boolean.TRUE.equals(status)) { + boolean unread = status == Boolean.FALSE; + list.add( + new ReceivedMail(info.id, info.sender, unread, info.sent, info.subject, info.body, + null, MailType.ANNOUNCE)); + } + } + + rl.requestProcessed(list); + } + }); + } + + @Override + public void setRead(ClientObject caller, long[] ids, ConfirmListener cl) throws InvocationException { + PlayerObject playerObject = ensureKnighted(caller); + List fids = Longs.asList(ids); + removeNewMail(playerObject, fids); + int knightId = playerObject.knightId; + + _invoker.postUnit(new Resulting("setRead", cl) { + + @Override + public Void invokePersist() { + _uplinkrepo.setMailRead(knightId, + fids.stream().filter(UplinkManager.IS_MAIL_ID::apply).collect(Collectors.toList())); + _uplinkrepo.setAnnouncementsRead(knightId, + fids.stream().filter(_isAnnouncementId::apply).collect(Collectors.toList())); + return null; + } + }); + } + + @Override + public void acceptAttachment(ClientObject caller, final long id, final ConfirmListener cl) throws InvocationException { + PlayerObject plobj = ensureKnighted(caller); + _invoker.postUnit(new Resulting("acceptAttachment", cl) { + protected MailAttachment _attachment; + protected MailType _type; + protected int _senderId; + + @Override + public Void invokePersist() throws Exception { + //Tuple3 tuple = _uplinkrepo.getAttachment(plobj.knightId, id); + //if (tuple != null && tuple.a != null) { + // _attachment = tuple.a; + // _type = tuple.b; + // _senderId = tuple.c; + // processAttachmentDb(plobj, _attachment); + // _uplinkrepo.acceptAttachment(id); + // return null; + //} + + throw new NullPointerException("Could not accept attachment - getAttachment() returned null!"); + } + + @Override + public void requestCompleted(Void result) { + processAttachmentDobj(plobj, _senderId, _attachment, new Resulting(cl) { + + @Override + public void requestFailed(Exception cause) { + super.requestFailed(cause); + _invoker.postUnit(new Resulting("resetAttachment") { + + @Override + public Void invokePersist() { + //_uplinkrepo.resetAttachment(id, _type); + return stop(); + } + }); + } + }); + } + }); + } + + @Override + public void deleteMail(ClientObject caller, long[] ids, ConfirmListener cl) throws InvocationException { + PlayerObject plobj = this.ensureKnighted(caller); + List fids = Longs.asList(ids); + + removeNewMail(plobj, fids); + int knightId = plobj.knightId; + + _invoker.postUnit(new Resulting("deleteMail", cl) { + + @Override + public Void invokePersist() { + _uplinkrepo.deleteMail(knightId, + fids.stream().filter(UplinkManager.IS_MAIL_ID::apply).collect(Collectors.toList())); + _uplinkrepo.deleteAnnouncements(knightId, + fids.stream().filter(_isAnnouncementId::apply).collect(Collectors.toList())); + return null; + } + }); + } + + @SuppressWarnings("RedundantThrows") + public void validateRecipient(ClientObject caller, Name name, ConfirmListener cl) throws InvocationException { + cl.requestProcessed(); + } + + @Override + public void deliver(ClientObject caller, SentMail sentMail, final ConfirmListener cl) throws InvocationException { + PlayerObject playerObject = ensureKnighted(caller); + + Preconditions.checkArgument(sentMail.subject.length() <= 50); + Preconditions.checkArgument(sentMail.body.length() <= 8096); + Preconditions.checkArgument(sentMail.crowns >= 0); + Preconditions.checkArgument(sentMail.crystal >= 0); + Preconditions.checkArgument(sentMail.itemIds == null || sentMail.itemIds.size() <= 14); + + if (sentMail.crystal > playerObject.crystal) { + throw new InvocationException("m.nsf_energy"); + } + + SendingContext sendCtx = new SendingContext(playerObject, sentMail); + _invoker.postUnit(new Resulting("validateRecipient", cl) { + + @Override + public Boolean invokePersist() throws Exception { + KnightInfoRecord recipientInfo = lookupKnight(sendCtx.out.recipient); + if (0 != (recipientInfo.flags & 256)) { + return false; + } + + sendCtx.rec.recipientId = recipientInfo.knightId; + return true; + } + + public void requestCompleted(Boolean result) { + if (!result) { + deliverSystem(SystemSender.MAIL, sendCtx.plobj.knightId, sendCtx.plobj.knight, + MessageBundle.tcompose("s.bounced", sendCtx.out.recipient, sendCtx.rec.subject), + MessageBundle.tcompose("m.bounced", sendCtx.rec.body), null, null); + super.requestCompleted(false); + return; + } + + validateMailAndCurrency(sendCtx, cl); + } + }); + } + + protected void validateMailAndCurrency(final SendingContext sendCtx, ConfirmListener cl) { + boolean hasAttachments = sendCtx.out.hasAttachments(); + sendCtx.cost = calculateFee(hasAttachments) + sendCtx.out.crowns; + if (sendCtx.plobj.crowns < sendCtx.cost) { + cl.requestFailed("m.nsf_crowns"); + return; + } + + sendCtx.plobj.adjustCrowns(-sendCtx.cost); + Resulting rl = new Resulting("deliver2-crowns", cl) { + + @Override + public void requestFailed(Exception cause) { + sendCtx.plobj.adjustCrowns(sendCtx.cost); + super.requestFailed(cause); + } + }; + + + if (!hasAttachments) { + finalizeDelivery(sendCtx, rl); + return; + } + + final MultiAttachment attachment = new MultiAttachment(); + sendCtx.rec.attachment = attachment; + sendCtx.rec.type = MailType.USER; + attachment.crowns = sendCtx.out.crowns; + attachment.crystal = sendCtx.out.crystal; + + if (attachment.crystal == 0) { + validateItemDelivery(sendCtx, rl); + return; + } + + sendCtx.plobj.setCrystal(sendCtx.plobj.crystal - attachment.crystal); + _coinmgr.reserveCoins(sendCtx.plobj.username.toString(), attachment.crystal, (new Resulting("reserveCoins", rl, Resulting.TO_VOID) { + + @Override + public void requestCompleted(final Integer id) { + sendCtx.coinRezId = id; + validateItemDelivery(sendCtx, new Resulting("deliver2-coins", rl) { + + @Override + public void requestFailed(Exception cause) { + _coinmgr.returnReservation(id, new Resulting<>("returnRez", Log.log)); + sendCtx.plobj.setCrystal(sendCtx.plobj.crystal + attachment.crystal); + super.requestFailed(cause); + } + }); + } + + @Override + public void requestFailed(Exception cause) { + sendCtx.plobj.setCrystal(sendCtx.plobj.crystal + attachment.crystal); + super.requestFailed(cause); + } + }).asIntResultListener()); + } + + protected void validateItemDelivery(final SendingContext sendCtx, final ResultListener rl) { + SentMail sentMail = sendCtx.out; + if (sentMail.itemIds == null || sentMail.itemIds.isEmpty()) { + this.finalizeDelivery(sendCtx, rl); + } + + MultiAttachment attachment = sendCtx.rec.attachment; + attachment.items = Maps.newHashMap(); + + for (Entry itemEntry : sentMail.itemIds.entrySet()) { + Long itemId = itemEntry.getKey(); + Integer count = itemEntry.getValue(); + Item item = sendCtx.plobj.items.get(itemId); + if (item == null || count == null || count <= 0 || count > item.getCount() || !sendCtx.plobj + .canTrade(this._cfgmgr, item)) { + Log.log.warning("User attempting bogus item attachment", "who", sendCtx.plobj.who(), "itemId", itemId, "count", count); + rl.requestFailed(new InvocationException("m.internal_error")); + return; + } + + ConfigReference itemConfig = item.getTransferableConfig(); + Integer oldCount = attachment.items.get(itemConfig); + if (oldCount != null) { + count = count + oldCount; + } + + attachment.items.put(itemConfig, count); + sendCtx.addItem(item); + } + + _itemmgr.createAndDeleteItems(sendCtx.plobj, null, sentMail.itemIds, new Resulting>("deleteSentItems", rl, Resulting.TO_VOID) { + + @Override + public void requestCompleted(List result) { + finalizeDelivery(sendCtx, new Resulting("deliver3", rl) { + + @Override + public void requestFailed(Exception cause) { + _itemmgr.createAndDeleteItems(sendCtx.plobj, createAttachmentItems(attachment), null, new Resulting<>("returnItems", Log.log)); + super.requestFailed(cause); + } + }); + } + }); + } + + protected void finalizeDelivery(final SendingContext sendCtx, ResultListener rl) { + _invoker.postUnit(new Resulting("deliver4", rl) { + + @SuppressWarnings("RedundantThrows") + @Override + public Void invokePersist() throws Exception { + _uplinkrepo.insert(sendCtx.rec); + return null; + } + + @Override + public void requestCompleted(Void result) { + if (sendCtx.coinRezId != null) { + _coinmgr.transferReservation(sendCtx.coinRezId, "@@MAIL@@", 209, + MessageBundle.tcompose("m.mail_attach", sendCtx.out.recipient), + MessageBundle.tcompose("m.mail_attach_from", sendCtx.plobj.knight), + new Resulting<>("deliver4-spendRez", Log.log)); + } + + _txmgr.logMailSent(sendCtx.rec.senderId, sendCtx.rec.recipientId, sendCtx.itemList, sendCtx.out.crowns); + super.requestCompleted(result); + notifyDelivery(sendCtx.out.recipient, sendCtx.rec.mailId, sendCtx.plobj.knight, sendCtx.rec.type); + } + }); + } + + protected void removeNewMail(PlayerObject playerObject, Iterable ids) { + playerObject.startTransaction(); + + try { + for (Long id : ids) { + if (playerObject.newMailInfo.containsKey(id)) { + playerObject.removeFromNewMailInfo(id); + } + } + } finally { + playerObject.commitTransaction(); + } + + } + + protected void notifyDelivery(Name recipient, long msgId, Name sender, MailType type) { + _peermgr.invokeKnightAction(recipient, new MailDelivery(recipient, msgId, sender, type)); + } + + protected void processAttachmentDb(PlayerObject playerObject, MailAttachment attachment) throws InvocationException { + if (attachment instanceof MultiAttachment || attachment instanceof FriendRequest) { + return; + } + + if (attachment instanceof GuildInvite) { + if (playerObject.guildId != 0) { + throw new InvocationException(MessageBundle.qualify("guild", "e.leave_current_first")); + } + } else { + Log.log.warning("Unknown attachment type", "attachment", attachment); + throw new InvocationException("m.internal_error"); + } + } + + protected void processAttachmentDobj(PlayerObject plobj, int senderId, MailAttachment attachment, ResultListener rl) { + if (attachment instanceof FriendRequest) { + //_socialmgr.establishFriendship(plobj.knightId, ((FriendRequest) attachment).knightId, rl); + } else if (attachment instanceof GuildInvite) { + //_guildmgr.addMember(((GuildInvite) attachment).guildId, plobj.knight, plobj.knightId, senderId, rl); + } else if (attachment instanceof MultiAttachment) { + processMultiAttachment(plobj, senderId, (MultiAttachment) attachment, rl); + } else { + rl.requestFailed(new Exception("Unknown attachment: " + attachment)); + } + } + + protected void processMultiAttachment(PlayerObject plobj, int senderId, MultiAttachment attachment, ResultListener rl) { + if (attachment.crystal == 0) { + processMultiAttachment2(plobj, senderId, attachment, rl); + return; + } + + _coinmgr.reserveCoins("@@MAIL@@", attachment.crystal, (new Resulting("processAttachment", rl, Resulting.TO_VOID) { + + @Override + public void requestCompleted(final Integer id) { + processMultiAttachment2(plobj, senderId, attachment, new Resulting("processAttachment-coins", rl) { + + @Override + public void requestCompleted(Void result) { + KnightInfoRecord sender = _knightrepo.resolveKnightInfo(senderId); + String fromMessage = "m.mail_attach_from"; + if (sender != null) { + fromMessage = MessageBundle.tcompose("m.mail_attach_from", sender.name); + } + + _coinmgr.transferReservation(id, plobj.username.toString(), 209, + MessageBundle.tcompose("m.mail_attach", plobj.knight), fromMessage, + new Resulting("trasferRez:" + id, Log.log) { + + @Override + public void requestCompleted(Void result) { + plobj.setCrystal(plobj.crystal + attachment.crystal); + } + }); + + super.requestCompleted(result); + } + + @Override + public void requestFailed(Exception cause) { + _coinmgr.returnReservation(id, new Resulting<>("returnRez:" + id, Log.log)); + super.requestFailed(cause); + } + }); + } + }).asIntResultListener()); + } + + protected void processMultiAttachment2(final PlayerObject plobj, final int senderId, final MultiAttachment tach, final ResultListener rl) { + if (tach.items == null || tach.items.isEmpty()) { + _txmgr.logMailAccepted(senderId, plobj.knightId, null, tach.crowns); + processMultiAttachment3(plobj, tach, rl); + return; + } + + List> create = createAttachmentItems(tach); + + _itemmgr.createAndDeleteItems(plobj, create, null, new Resulting>("processAttachment2", rl, Resulting.TO_VOID) { + + @Override + public void requestCompleted(List items) { + _txmgr.logMailAccepted(senderId, plobj.knightId, items, tach.crowns); + processMultiAttachment3(plobj, tach, new Resulting("processAttachment3", rl) { + + @Override + public void requestFailed(Exception cause) { + Log.log.warning("How did this happen?", cause); + super.requestFailed(cause); + } + }); + } + }); + } + + protected List> createAttachmentItems(MultiAttachment tach) { + List> create = Lists.newArrayList(); + + for (Entry, Integer> entry : tach.items.entrySet()) { + int ii = 0; + + for (int nn = entry.getValue(); ii < nn; ++ii) { + create.add(entry.getKey()); + } + } + + return create; + } + + protected void processMultiAttachment3(PlayerObject plobj, MultiAttachment tach, ResultListener rl) { + plobj.adjustCrowns(tach.crowns); + rl.requestCompleted(null); + } + + protected KnightInfoRecord lookupKnight(Name name) throws InvocationException { + KnightInfoRecord knightInfoRecord = _knightrepo.resolveKnightInfo(name); + if (knightInfoRecord == null) { + throw new InvocationException(MessageBundle.tcompose("m.unknown_knight", name)); + } + + return knightInfoRecord; + } + + protected int calculateFee(boolean hasAttachments) { + int fee = _adminmgr.getServerObject().mailFee; + if (hasAttachments) { + fee += _adminmgr.getServerObject().mailAttachFee; + } + + return fee; + } + + protected PlayerObject ensureKnighted(ClientObject caller) throws InvocationException { + PlayerObject playerObject = (PlayerObject)caller; + if (playerObject.knight == null) { + Log.log.warning("Player who has not selected a knight tried to use uplink", "who", playerObject.who()); + throw new InvocationException("m.internal_error"); + } else { + return playerObject; + } + } + + protected Name toSenderName(int senderId, Map names) { + return senderId <= 0 ? Objects.firstNonNull(this._systemNames.get(senderId), SystemSender.SYSTEM.name) : names.get(senderId); + } + + protected void regenerateAnnouncements() { + Builder idBuilder = ImmutableSet.builder(); + Map> newMap = Maps.newHashMap(); + Announcement[] announcements = _adminmgr.getAnnouncementConfigObject().announcements; + + for (Announcement announcement : announcements) { + if (announcement.active) { + Map perLangAnnouncements = newMap.get(announcement.language); + if (perLangAnnouncements == null) { + perLangAnnouncements = Maps.newHashMap(); + newMap.put(announcement.language, perLangAnnouncements); + } + + perLangAnnouncements.put(announcement.id, new AnnouncementInfo(announcement)); + idBuilder.add(announcement.id); + } + } + + ImmutableMap.Builder> builder = ImmutableMap.builder(); + + for (Entry> entry : newMap.entrySet()) { + builder.put(entry.getKey(), ImmutableMap.copyOf(entry.getValue())); + } + + ImmutableMap> newAnnouncements = builder.build(); + if (_announcements != null) { + announcementsChanged(newAnnouncements); + } + + _announcements = newAnnouncements; + _isAnnouncementId = Predicates.in(idBuilder.build()); + } + + protected void announcementsChanged(Map> newAnnouncements) { + Iterator i$ = Sets.union(_announcements.keySet(), newAnnouncements.keySet()).iterator(); + + while(true) { + String language; + Map newMap; + HashSet addedIds; + do { + if (!i$.hasNext()) { + return; + } + + language = (String)i$.next(); + Map oldMap = Objects.firstNonNull(_announcements.get(language), ImmutableMap.of()); + newMap = Objects.firstNonNull(newAnnouncements.get(language), ImmutableMap.of()); + final Set deletedIds = Sets.newHashSet(Sets.difference(oldMap.keySet(), newMap.keySet())); + if (!deletedIds.isEmpty()) { + if (_peermgr.isLeadNode()) { + _invoker.postUnit(new Resulting("deleteAnnouncements") { + public Void invokePersist() { + //_uplinkrepo.deleteAnnouncements(deletedIds); + return stop(); + } + }); + } + + for (Long id : deletedIds) { + for (ClientObject clobj : this._clmgr.clientObjects()) { + if (clobj instanceof PlayerObject) { + PlayerObject plobj = (PlayerObject) clobj; + if (plobj.newMailInfo.containsKey(id)) { + plobj.removeFromNewMailInfo(id); + } + } + } + } + } + + addedIds = Sets.newHashSet(Sets.difference(newMap.keySet(), oldMap.keySet())); + } while(addedIds.isEmpty()); + + for (Object addedId : addedIds) { + Long id = (Long) addedId; + AnnouncementInfo ann = (AnnouncementInfo) newMap.get(id); + + for (ClientObject clobj : this._clmgr.clientObjects()) { + if (clobj instanceof PlayerObject) { + PlayerObject plobj = (PlayerObject) clobj; + if (plobj.knight != null && language + .equals((plobj.getLocal(PlayerLocal.class)).credentials.language)) { + plobj.addToNewMailInfo(ann.info); + } + } + } + } + } + } + + protected void deleteOldMail() { + this._invoker.postUnit(new Resulting>("deleteOldMail", Log.log) { + public List invokePersist() { + return _uplinkrepo.deleteOld(30L, TimeUnit.DAYS); + } + + public void requestCompleted(List result) { + + for (MailRecord rec : result) { + deliverSystem(SystemSender.MAIL, rec.senderId, null, + MessageBundle.tcompose("s.returned", rec.subject), + MessageBundle.tcompose("m.returned", rec.body), rec.attachment, MailType.SYSTEM, + new Resulting<>("returnToSender", Log.log)); + } + + } + }); + } + + protected static class SendingContext { + public PlayerObject plobj; + public SentMail out; + public MailRecord rec; + public int cost; + public Integer coinRezId; + public List itemList; + + public SendingContext(PlayerObject plobj, SentMail out) { + this.plobj = plobj; + this.out = out; + this.rec = new MailRecord(0, plobj.knightId, out.subject, out.body, null, null); + } + + public void addItem(Item item) { + if (this.itemList == null) { + this.itemList = Lists.newArrayList(); + } + + this.itemList.add(item); + } + } + + public static class MailDelivery extends KnightAction { + protected long _mailId; + protected Name _sender; + protected MailType _type; + + public MailDelivery(Name knight, long msgId, Name sender, MailType type) { + super(knight); + _mailId = msgId; + _sender = sender; + _type = type; + } + + @SuppressWarnings("unused") + public MailDelivery() { + + } + + protected void execute(PlayerObject playerObject) { + playerObject.addToNewMailInfo(new NewMailInfo(_mailId, _sender, _type)); + } + } +} \ No newline at end of file diff --git a/src/com/github/thetya/server/uplink/UplinkProvider.java b/src/com/github/thetya/server/uplink/UplinkProvider.java new file mode 100644 index 0000000..7f203cb --- /dev/null +++ b/src/com/github/thetya/server/uplink/UplinkProvider.java @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.uplink; + +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.client.InvocationService.ResultListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationProvider; +import com.threerings.projectx.uplink.client.UplinkService; +import com.threerings.projectx.uplink.data.SentMail; +import com.threerings.util.Name; +import javax.annotation.Generated; + +/** + * Defines the server-side of the {@link UplinkService}. + */ +@Generated(value = {"com.threerings.presents.tools.GenServiceTask"}, + comments = "Derived from UplinkService.java.") +public interface UplinkProvider extends InvocationProvider { + + /** + * Handles a {@link UplinkService#acceptAttachment} request. + */ + void acceptAttachment(ClientObject caller, long arg1, ConfirmListener cl) + throws InvocationException; + + /** + * Handles a {@link UplinkService#deleteMail} request. + */ + void deleteMail(ClientObject caller, long[] arg1, ConfirmListener cl) throws InvocationException; + + /** + * Handles a {@link UplinkService#deliver} request. + */ + void deliver(ClientObject caller, SentMail arg1, ConfirmListener cl) throws InvocationException; + + /** + * Handles a {@link UplinkService#getMail} request. + */ + void getMail(ClientObject caller, long[] arg1, ResultListener rl) throws InvocationException; + + /** + * Handles a {@link UplinkService#setRead} request. + */ + void setRead(ClientObject caller, long[] arg1, ConfirmListener cl) throws InvocationException; + + /** + * Handles a {@link UplinkService#validateRecipient} request. + */ + void validateRecipient(ClientObject caller, Name arg1, ConfirmListener cl) + throws InvocationException; +} diff --git a/src/com/github/thetya/server/util/LaunchUtil.java b/src/com/github/thetya/server/util/LaunchUtil.java new file mode 100644 index 0000000..dd5262c --- /dev/null +++ b/src/com/github/thetya/server/util/LaunchUtil.java @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.util; + +import com.github.thetya.server.DeploymentConfig; +import com.github.thetya.server.ServerConfig; + +import java.util.logging.Handler; +import java.util.logging.Level; +import java.util.logging.LogManager; +import java.util.logging.Logger; + +import static com.github.thetya.server.Log.log; + +/** + * Various utilities for server start-up. + */ +public class LaunchUtil { + + /** + * Prints the ASCII version of Thetya logo. + */ + public static void printAsciiLogo() { + System.out.println("\033[38;5;231m"); + System.out.println(" _______ _ _ "); + System.out.println(" |__ __|| | | | "); + System.out.println(" | | | |__ ___ | |_ _ _ __ _ "); + System.out.println(" | | | '_ \\ / _ \\| __|| | | | / _` |"); + System.out.println(" | | | | | || __/| |_ | |_| || (_| |"); + System.out.println(" |_| |_| |_| \\___| \\__| \\__, | \\__,_|"); + System.out.println(" __/ | "); + System.out.println(" \033[38;5;66m:: SK Server Emulator :: \033[38;5;231m|___/ "); + System.out.println(" \033[38;5;245mversion " + DeploymentConfig.getVersion()); + System.out.println(" \033[38;5;245mcopyright 2014-2021 Thetya Team"); + System.out.println(); + } + + /** + * Sets all Logger instances to print debug information if configured so. + */ + public static void setupDebugLogging() { + if (ServerConfig.isVerboseLoggingOn()) { + Logger rootLogger = LogManager + .getLogManager() + .getLogger(""); + rootLogger.setLevel(Level.ALL); + for (Handler handler : rootLogger.getHandlers()) { + handler.setLevel(Level.ALL); + } + } + } +} diff --git a/src/com/github/thetya/server/util/PersistUtil.java b/src/com/github/thetya/server/util/PersistUtil.java new file mode 100644 index 0000000..3a013ce --- /dev/null +++ b/src/com/github/thetya/server/util/PersistUtil.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.util; + +import com.threerings.export.Exportable; +import com.threerings.export.util.ExportUtil; + +/** + * Utilities for persisting exportables in the database. + */ +public class PersistUtil { + + public static byte[] exportableToBinary(Exportable exportable) { + return ExportUtil.toBytes(exportable); + } + + public static E exportableFromBinary(byte[] bytes) { + return (E) ExportUtil.fromBytes(bytes); + } + + public static String exportableToXmlString(Exportable exportable) { + return ExportUtil.toString(exportable); + } + + public static E exportableFromXmlString(String xml) { + return (E) ExportUtil.fromString(xml); + } +} diff --git a/src/com/github/thetya/server/util/PrettyLogFormatter.java b/src/com/github/thetya/server/util/PrettyLogFormatter.java new file mode 100644 index 0000000..120608c --- /dev/null +++ b/src/com/github/thetya/server/util/PrettyLogFormatter.java @@ -0,0 +1,144 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.util; + +import com.samskivert.util.FormatterUtil; +import java.io.PrintWriter; +import java.io.StringWriter; +import java.text.FieldPosition; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.logging.Formatter; +import java.util.logging.Level; +import java.util.logging.LogRecord; + +public class PrettyLogFormatter extends Formatter { + + protected boolean _showWhere; + protected Date _date; + protected SimpleDateFormat _format; + protected FieldPosition _fpos; + protected static final String DATE_FORMAT = "{0,date} {0,time}"; + + + protected static final String ANSI_DEBUG = "\033[38;5;39m"; + protected static final String ANSI_INFO = "\033[38;5;34m"; + protected static final String ANSI_WARN = "\033[38;5;214m"; + protected static final String ANSI_ERROR = "\033[38;5;196m"; + + protected static final String ANSI_GRAY = "\033[38;5;246m"; + protected static final String ANSI_GRAY_LIGHT = "\033[38;5;251m"; + protected static final String ANSI_WHITE = "\033[38;5;231m"; + protected static final String ANSI_CYAN = "\033[38;5;37m"; + protected static final String ANSI_PURPLE = "\u001B[35m"; + + public PrettyLogFormatter() { + this(true); + } + + public PrettyLogFormatter(boolean showWhere) { + _date = new Date(); + _format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); + _fpos = new FieldPosition(3); + _showWhere = showWhere; + } + + @Override + public String format(LogRecord record) { + StringBuffer buf = new StringBuffer(); + + buf.append(ANSI_GRAY); + + _date.setTime(record.getMillis()); + _format.format(_date, buf, _fpos); + + buf.append(" "); + + if (record.getLevel() == Level.FINE) { + buf.append(ANSI_DEBUG); + buf.append("DEBUG"); + } + + if (record.getLevel() == Level.INFO) { + buf.append(ANSI_INFO); + buf.append("INFO"); + } + + if (record.getLevel() == Level.WARNING) { + buf.append(ANSI_WARN); + buf.append("WARN"); + } + + if (record.getLevel() == Level.SEVERE) { + buf.append(ANSI_ERROR); + buf.append("ERROR"); + } + + buf.append(ANSI_GRAY); + buf.append(" "); + + buf.append(ANSI_PURPLE); + buf.append(record.getThreadID()); + buf.append(ANSI_GRAY); + buf.append(" --- "); + buf.append(ANSI_CYAN); + + if (_showWhere) { + String where = record.getSourceClassName(); + boolean useLoggerName = true; + + if (where != null) { + where = where.substring(where.lastIndexOf(".") + 1); + useLoggerName = where.equals("Log") + || where.equals("LoggingLogProvider") + || where.startsWith("JDK14Logger$Impl"); + } + + if (useLoggerName) { + where = record.getLoggerName(); + } + + buf.append(where); + buf.append(ANSI_GRAY); + + if (record.getSourceMethodName() != null && !useLoggerName) { + buf.append("."); + buf.append(record.getSourceMethodName()); + } + + buf.append(" : "); + } + + buf.append(ANSI_WHITE); + buf.append(formatMessage(record)); + buf.append(FormatterUtil.LINE_SEPARATOR); + buf.append(ANSI_GRAY_LIGHT); + + if (record.getThrown() != null) { + try { + StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw); + record.getThrown().printStackTrace(pw); + pw.close(); + buf.append(sw.toString()); + } catch (Exception e) { + buf.append("Format failure:").append(e); + } + } + + return buf.toString(); + } + + public static void configureDefaultHandler() { + configureDefaultHandler(true); + } + + public static void configureDefaultHandler(boolean showWhere) { + FormatterUtil.configureDefaultHandler(new PrettyLogFormatter(showWhere)); + } +} diff --git a/src/com/github/thetya/server/zone/InstancedZoneManager.java b/src/com/github/thetya/server/zone/InstancedZoneManager.java new file mode 100644 index 0000000..1eed0c7 --- /dev/null +++ b/src/com/github/thetya/server/zone/InstancedZoneManager.java @@ -0,0 +1,332 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package com.github.thetya.server.zone; + +import com.github.thetya.server.PlayerLocal; +import com.github.thetya.server.admin.ThetyaAdminManager; +import com.github.thetya.server.peer.PeerConfig; +import com.github.thetya.server.peer.ThetyaPeerManager; +import com.github.thetya.server.peer.util.NodePlayerTransfer; +import com.github.thetya.server.scene.ThetyaSceneManager; +import com.github.thetya.server.scene.ThetyaSceneRegistry; +import com.github.thetya.server.scene.ThetyaSceneRegistry.Instance; +import com.github.thetya.server.scene.ThetyaSceneRegistry.InstanceObserver; +import com.google.common.base.Function; +import com.google.common.collect.ComparisonChain; +import com.google.common.collect.Lists; +import com.google.inject.Inject; +import com.samskivert.util.*; +import com.samskivert.util.IntIntMap.IntIntEntry; +import com.threerings.crowd.chat.server.SpeakUtil; +import com.threerings.crowd.server.PlaceRegistry; +import com.threerings.presents.client.Client; +import com.threerings.presents.client.InvocationService; +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.peer.data.NodeObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.projectx.Log; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.data.ProjectXCodes; +import com.threerings.projectx.guild.data.GuildMemberEntry; +import com.threerings.projectx.peer.data.ProjectXNodeObject; +import com.threerings.projectx.peer.data.ZoneInstanceInfo; +import com.threerings.projectx.social.data.FriendEntry; +import com.threerings.projectx.social.data.Whereabouts; +import com.threerings.projectx.social.data.Whereabouts.Online; +import com.threerings.projectx.util.DeploymentConfig; +import com.threerings.tudey.server.logic.ActorLogic; +import com.threerings.whirled.zone.data.ZoneSummary; + +import java.util.Comparator; +import java.util.Iterator; +import java.util.List; + +public abstract class InstancedZoneManager extends ThetyaZoneManager implements InstanceObserver, ProjectXCodes { + protected IntMap> _instances = IntMaps.newHashIntMap(); + @Inject + protected PlaceRegistry _plreg; + @Inject + protected ThetyaSceneRegistry _scenereg; + //@Inject + //protected GuildManager _guildmgr; + protected static final int RESERVED_INSTANCES_PER_LANGUAGE = 25; + @Inject + protected ThetyaAdminManager _adminmgr; + @Inject + protected ThetyaPeerManager _peermgr; + + public InstancedZoneManager() { + } + + public int getPopulationTotal() { + int total = 0; + Iterator i$ = this._instances.values().iterator(); + + while (i$.hasNext()) { + IntMap instances = (IntMap) i$.next(); + + Instance instance; + for(Iterator i$$ = instances.values().iterator(); i$$.hasNext(); total += instance.getPopulation()) { + instance = (Instance)i$$.next(); + } + } + + return total; + } + + public Instance getInstance(int zoneId, int instanceId) { + IntMap instances = this.getInstances(zoneId); + return instances == null ? null : instances.get(instanceId); + } + + public Instance createInstance(int zoneId, int instanceId, String language) { + IntMap instances = this.getInstances(zoneId, true); + Instance instance = this._scenereg.createInstance(zoneId, instanceId, language); + instance.addObserver(this); + instances.put(instanceId, instance); + return instance; + } + + public void addToInstance(final PlayerObject player, final int zoneId, final int sceneId, final Object portalKey, final ResultListener rl) { + IntMap instances = this.getInstances(zoneId, true); + final IntIntMap fcounts = new IntIntMap(); + Iterator i$ = player.friends.iterator(); + + while(i$.hasNext()) { + FriendEntry friend = (FriendEntry)i$.next(); + this.maybeIncrement(zoneId, fcounts, friend.whereabouts, 10); + } + + //if (player.guildId > 0) { + // try { + // i$ = this._guildmgr.requireGuild(player.guildId).getGuildObject().members.iterator(); + + // while(i$.hasNext()) { + // GuildMemberEntry member = (GuildMemberEntry)i$.next(); + // if (!member.name.equals(player.knight)) { + // this.maybeIncrement(zoneId, fcounts, member.whereabouts, 1); + // } + // } + // } catch (InvocationException var14) { + // } + //} + + i$ = instances.values().iterator(); + + while(i$.hasNext()) { + Instance instance = (Instance)i$.next(); + fcounts.increment(instance.getInstanceId(), 0); + } + + this._peermgr.invokeOnNodes(new Function, Boolean>() { + public Boolean apply(Tuple tuple) { + Iterator i$ = ((ProjectXNodeObject)tuple.right).zoneInstances.iterator(); + + while(i$.hasNext()) { + ZoneInstanceInfo info = (ZoneInstanceInfo)i$.next(); + if (info.getZoneId() == zoneId) { + fcounts.increment(info.getInstanceId(), 0); + } + } + + return false; + } + }); + IntIntEntry[] entries = (IntIntEntry[])fcounts.entrySet().toArray(new IntIntEntry[fcounts.size()]); + QuickSort.sort(entries, new Comparator() { + public int compare(IntIntEntry e1, IntIntEntry e2) { + return ComparisonChain.start().compare(e2.getIntValue(), e1.getIntValue()).compare(e1.getIntKey(), e2.getIntKey()).result(); + } + }); + IntIntEntry[] arr$ = entries; + int lidx = entries.length; + + int instanceId; + for(instanceId = 0; instanceId < lidx; ++instanceId) { + IntIntEntry entry = arr$[instanceId]; + if (this.addToInstance(player, zoneId, (Integer)entry.getKey(), sceneId, portalKey, false, rl)) { + return; + } + } + + String language = this.getZoneLanguage(player); + lidx = ListUtil.indexOf(PeerConfig.getSupportedLocales(), language); + + for(instanceId = Math.max(lidx * RESERVED_INSTANCES_PER_LANGUAGE, 1); fcounts.containsKey(instanceId); ++instanceId) { + } + + try { + this._peermgr.createInstance((ClientObject)null, zoneId, instanceId, language, new ConfirmListener() { + public void requestProcessed() { + if (player.isActive()) { + InstancedZoneManager.this.addToInstance(player, zoneId, sceneId, portalKey, rl); + } + + } + + public void requestFailed(String cause) { + rl.requestFailed(new InvocationException(cause)); + } + }); + } catch (InvocationException var13) { + rl.requestFailed(var13); + } + + } + + public boolean addToInstance(PlayerObject player, final int zoneId, final int instanceId, final int sceneId, final Object portalKey, final boolean force, ResultListener rl) { + final String language = this.getZoneLanguage(player); + final int maxPerZoneInstance = this._adminmgr.getServerConfigObject().maxPerZoneInstance; + Instance instance = this.getInstances(zoneId, true).get(instanceId); + if (instance != null && instance.isActive()) { + if ((instance.getPopulation() >= maxPerZoneInstance || !instance.getLanguage().equals(language)) && !force) { + return false; + } else { + instance.addPlayer(player); + rl.requestCompleted(true); + return true; + } + } else { + final Long zoneInstanceId = ZoneInstanceInfo.createZoneInstanceId(zoneId, instanceId); + return (new NodePlayerTransfer(player, rl) { + protected boolean shouldTransfer(ProjectXNodeObject nodeobj) { + if (nodeobj.info.willShutdown() && !force) { + return false; + } else { + ZoneInstanceInfo info = nodeobj.zoneInstances.get(zoneInstanceId); + return info != null && (info.population < maxPerZoneInstance && info.getLanguage().equals(language) || force); + } + } + + protected void requestTransfer(Client client, ProjectXNodeObject nodeobj, PlayerObject player, Object[] locals) { + nodeobj.projectXPeerService.addToInstance(player, locals, zoneId, instanceId, sceneId, portalKey, this); + } + }).invoke(this._peermgr); + } + } + + public void addToInstance(PlayerObject player, int zoneId, int instanceId) { + IntMap instances = this.getInstances(zoneId); + Instance instance = instances.get(instanceId); + instance.addPlayer(player); + } + + public void removeFromInstance(PlayerObject player, int zoneId) { + IntMap instances = this.getInstances(zoneId); + Instance instance = ThetyaSceneRegistry.getInstance(player); + if (instances != null && instances.containsKey(instance.getInstanceId())) { + instance.removePlayer(player); + } + + } + + public void shutdownRedundantInstance(final Instance instance) { + Log.log.info("Shutting down redundant instance.", "instance", instance); + SpeakUtil.sendAttention(instance.getZoneGeneralObject(), "projectx", "m.instance_shutdown"); + this.resolveZone(instance.getZoneId(), new ResolutionListener() { + public void zoneWasResolved(ZoneSummary summary) { + InstancedZoneManager.this.finishShutdownRedundantInstance(instance, summary); + } + + public void zoneFailedToResolve(int zoneId, Exception reason) { + Log.log.warning("Failed to resolve zone for redundant instance.", "zoneId", zoneId, + "instance", instance, reason); + InstancedZoneManager.this.ensureShutdown(instance); + } + }); + } + + public void playerAdded(Instance instance, PlayerObject player) { + } + + public void playerRemoved(Instance instance, PlayerObject player, int seconds) { + } + + public void instanceBecameEmpty(Instance instance) { + this.ensureShutdown(instance); + } + + protected String getZoneLanguage(PlayerObject player) { + return player.getLocal(PlayerLocal.class).credentials.language; + } + + protected void ensureShutdown(Instance instance) { + int zoneId = instance.getZoneId(); + IntMap instances = this.getInstances(zoneId); + if (instances != null) { + int instanceId = instance.getInstanceId(); + Instance removed = instances.remove(instanceId); + if (removed != instance) { + Log.log.warning("Attempted to unmap duplicate instance.", "instance", instance, "removed", + removed); + instances.put(instanceId, removed); + } else { + if (instances.isEmpty()) { + this._instances.remove(zoneId); + } + + instance.shutdown(); + } + } + } + + protected IntMap getInstances(int zoneId) { + return this.getInstances(zoneId, false); + } + + protected IntMap getInstances(int zoneId, boolean create) { + IntMap instances = this._instances.get(zoneId); + if (instances == null && create) { + this._instances.put(zoneId, instances = IntMaps.newHashIntMap()); + } + + return instances; + } + + protected void maybeIncrement(int zoneId, IntIntMap fcounts, Whereabouts whereabouts, int amount) { + if (whereabouts instanceof Online) { + Online online = (Online)whereabouts; + if (online.zoneId == zoneId) { + fcounts.increment(online.instanceId, amount); + } + + } + } + + protected void finishShutdownRedundantInstance(Instance instance, ZoneSummary summary) { + instance.setActive(false); + List players = Lists.newArrayList(instance.getZoneGeneralObject().players); + int ii = 0; + + for(int nn = players.size(); ii < nn; ++ii) { + PlayerObject player = players.get(ii); + int sceneId = summary.scenes[0].sceneId; + Object portalKey = null; + Object plmgr = this._plreg.getPlaceManager(player.getPlaceOid()); + if (plmgr instanceof ThetyaSceneManager) { + ThetyaSceneManager scenemgr = (ThetyaSceneManager)plmgr; + sceneId = scenemgr.getScene().getId(); + ActorLogic logic = ((ThetyaSceneManager)plmgr).getActorLogic(player.pawnId); + if (logic != null) { + portalKey = logic.getTransform(); + } + } + + this._zoneRegistry.leaveOccupiedZone(player); + this._zoneRegistry.moveBody(player, summary.zoneId, sceneId, portalKey); + } + + this.ensureShutdown(instance); + } +} diff --git a/src/com/github/thetya/server/zone/Log.java b/src/com/github/thetya/server/zone/Log.java new file mode 100644 index 0000000..78c1037 --- /dev/null +++ b/src/com/github/thetya/server/zone/Log.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.zone; + +import com.samskivert.util.Logger; + +/** + * Contains a reference to the {@link Logger} object used by the "zone" package. + */ +@SuppressWarnings("unused") +public class Log { + + /** + * The {@link Logger} reference. + */ + public static Logger log = Logger.getLogger("thetya-zone"); +} \ No newline at end of file diff --git a/src/com/github/thetya/server/zone/ProjectXZoneProvider.java b/src/com/github/thetya/server/zone/ProjectXZoneProvider.java new file mode 100644 index 0000000..02020a7 --- /dev/null +++ b/src/com/github/thetya/server/zone/ProjectXZoneProvider.java @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.zone; + +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.client.InvocationService.ResultListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationProvider; + +/** + * Defines the server-side of {@link com.threerings.projectx.client.ProjectXZoneService}. Method + * signatures declared here are reversely looked up (via the help of corresponding Marshaller) to + * invocation method codes. + */ +public interface ProjectXZoneProvider extends InvocationProvider { + + // ID 1 + void getInstanceSummaries(ClientObject caller, ResultListener rl) throws InvocationException; + + // ID 2 + void moveToInstance(ClientObject caller, int instanceId, ConfirmListener cl) throws InvocationException; +} diff --git a/src/com/github/thetya/server/zone/ThetyaZoneManager.java b/src/com/github/thetya/server/zone/ThetyaZoneManager.java new file mode 100644 index 0000000..2e577b5 --- /dev/null +++ b/src/com/github/thetya/server/zone/ThetyaZoneManager.java @@ -0,0 +1,73 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.zone; + +import com.google.inject.Inject; +import com.threerings.crowd.data.BodyObject; +import com.threerings.whirled.zone.data.ZoneSummary; +import com.threerings.whirled.zone.server.ZoneManager; +import java.util.Collection; + +/** + * A zone is a collection of scenes organized into a connected group. A user can wander around + * within a zone, moving from scene to scene via the standard mechanisms. To move between zones, + * they must use a special mechanism (like at the dock, they can move from an island zone into their + * ship zone; or they can move from an island zone into their house zone). A zone provides scene + * summary information that can be used to display a map of the zone to the client. + *

+ * The world of Spiral Knights is divided into 3 zone types, which are: + * 1 = Towns + * 2 = Dungeons, e.g. levels + * 3 = Arenas, e.g. Super Brawl + * 4 = Guild Halls + */ +public abstract class ThetyaZoneManager implements ZoneManager { + + @Inject + protected ThetyaZoneRegistry _zoneRegistry; + + public abstract void resolveZones(String partialName, Collection zones); + + /** + * Called when a body has requested to leave a zone. The zone manager may return null to indicate + * that the body is allowed to leave the current zone or a string error code indicating the reason + * for denial of access (which will be propagated back to the requesting client). + * + * @param bodyObject The BodyObject of the user that desires to depart their current zone (which + * can be obtained by casting the BodyObject to a ZonedBodyObject). + */ + @Override + public String ratifyBodyExit(BodyObject bodyObject) { + return null; + } + + /** + * Called when a body has requested to enter a zone. The zone manager may return null to indicate + * that the body is allowed access to the zone or a string error code indicating the reason for + * denial of access (which will be propagated back to the requesting client). This method is + * called after the zone is resolved so that the zone manager may complete the ratification + * process without blocking (which it must do). + * + * @param bodyObject The BodyObject of the user that desires access to the specified zone. + * @param zoneId The ID of the zone to which the user desires access. + */ + @Override + public String ratifyBodyEntry(BodyObject bodyObject, int zoneId) { + return null; + } + + /** + * Called when a body has been granted access to a zone. + * + * @param bodyObject The BodyObject of the user that was just granted access to a zone. + * @param zoneId The ID of the zone to which they were granted access. + */ + @Override + public void bodyDidEnterZone(BodyObject bodyObject, int zoneId) { + } +} diff --git a/src/com/github/thetya/server/zone/ThetyaZoneMoveHandler.java b/src/com/github/thetya/server/zone/ThetyaZoneMoveHandler.java new file mode 100644 index 0000000..1e60ebd --- /dev/null +++ b/src/com/github/thetya/server/zone/ThetyaZoneMoveHandler.java @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.server.zone; + +import com.github.thetya.server.scene.ThetyaSceneRegistry; +import com.github.thetya.server.scene.ThetyaSceneRegistry.Instance; +import com.samskivert.util.ResultListener; +import com.threerings.crowd.data.BodyObject; +import com.threerings.crowd.server.LocationManager; +import com.threerings.presents.data.InvocationMarshaller; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.tudey.server.TudeyZoneMoveHandler; +import com.threerings.whirled.server.SceneRegistry; +import com.threerings.whirled.zone.client.ZoneService.ZoneMoveListener; +import com.threerings.whirled.zone.server.ZoneManager; + +import static com.github.thetya.server.zone.Log.log; + +public class ThetyaZoneMoveHandler extends TudeyZoneMoveHandler { + + public ThetyaZoneMoveHandler(LocationManager locmgr, ZoneManager zmgr, SceneRegistry screg, BodyObject body, int sceneId, int sceneVer, Object portalKey, ZoneMoveListener listener) { + super(locmgr, zmgr, screg, body, sceneId, sceneVer, portalKey, listener); + } + + @Override + protected void resolveScene() { + PlayerObject player = (PlayerObject)this._body; + Instance instance = ThetyaSceneRegistry.getInstance(player); + if (this._zmgr instanceof InstancedZoneManager && (instance == null || instance.getZoneId() != this._summary.zoneId)) { + ResultListener rl = new ResultListener() { + public void requestCompleted(Boolean result) { + if (result) { + ThetyaZoneMoveHandler.super.resolveScene(); + } else { + InvocationMarshaller.setNoResponse(ThetyaZoneMoveHandler.this._listener); + } + + } + + public void requestFailed(Exception cause) { + log.warning("Failed to add player to instance.", "zoneId", ThetyaZoneMoveHandler.this._summary.zoneId, + cause); + ThetyaZoneMoveHandler.this._listener.requestFailed("m.internal_error"); + } + }; + ((InstancedZoneManager)this._zmgr).addToInstance(player, this._summary.zoneId, this._sceneId, this._portalKey, rl); + } else { + super.resolveScene(); + } + } +} diff --git a/src/com/github/thetya/server/zone/ThetyaZoneRegistry.java b/src/com/github/thetya/server/zone/ThetyaZoneRegistry.java new file mode 100644 index 0000000..944ef93 --- /dev/null +++ b/src/com/github/thetya/server/zone/ThetyaZoneRegistry.java @@ -0,0 +1,204 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package com.github.thetya.server.zone; + +import com.github.thetya.server.admin.ThetyaAdminManager; +import com.github.thetya.server.peer.ThetyaPeerManager; +import com.github.thetya.server.scene.ThetyaSceneManager; +import com.github.thetya.server.scene.ThetyaSceneRegistry.Instance; +import com.google.common.collect.Lists; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.samskivert.util.QuickSort; +import com.samskivert.util.Tuple; +import com.threerings.crowd.data.BodyObject; +import com.threerings.crowd.server.PlaceRegistry; +import com.threerings.math.Transform2D; +import com.threerings.presents.client.Client; +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.client.InvocationService.ResultListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.data.InvocationMarshaller; +import com.threerings.presents.peer.data.NodeObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationManager; +import com.threerings.presents.util.IgnoreConfirmAdapter; +import com.threerings.projectx.Log; +import com.threerings.projectx.config.Persistence; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.data.ProjectXCodes; +import com.threerings.projectx.data.ProjectXZoneMarshaller; +import com.threerings.projectx.data.ZoneInstanceSummary; +import com.threerings.projectx.peer.data.ProjectXNodeObject; +import com.threerings.projectx.peer.data.ZoneInstanceInfo; +import com.threerings.tudey.server.TudeyZoneRegistry; +import com.threerings.tudey.server.logic.ActorLogic; +import com.threerings.whirled.zone.client.ZoneService.ZoneMoveListener; +import com.threerings.whirled.zone.data.ZoneSummary; +import com.threerings.whirled.zone.data.ZonedBodyObject; +import com.threerings.whirled.zone.server.ZoneManager; +import com.threerings.whirled.zone.server.ZoneMoveHandler; +import java.util.Comparator; +import java.util.Iterator; +import java.util.List; +import java.util.function.Function; + +@Singleton +public class ThetyaZoneRegistry extends TudeyZoneRegistry implements ProjectXZoneProvider, ProjectXCodes { + @Inject + protected PlaceRegistry _plreg; + @Inject + protected ThetyaPeerManager _peermgr; + @Inject + protected ThetyaAdminManager _adminmgr; + + @Inject + public ThetyaZoneRegistry(InvocationManager invmgr) { + super(invmgr); + invmgr.registerProvider(this, ProjectXZoneMarshaller.class, "presents"); + } + + public Instance getInstance(int zoneId, int instanceId) { + ZoneManager zonemgr = this.getZoneManager(zoneId); + return zonemgr instanceof InstancedZoneManager ? ((InstancedZoneManager)zonemgr).getInstance(zoneId, instanceId) : null; + } + + public Instance createInstance(int zoneId, int instanceId, String language) { + ZoneManager zonemgr = this.getZoneManager(zoneId); + return zonemgr instanceof InstancedZoneManager ? ((InstancedZoneManager)zonemgr).createInstance(zoneId, instanceId, language) : null; + } + + public List resolveZones(String partialName) { + List summaries = Lists.newArrayList(); + partialName = partialName.toLowerCase(); + + for (ZoneManager zmgr : this._managers.values()) { + ((ThetyaZoneManager) zmgr).resolveZones(partialName, summaries); + } + + return summaries; + } + + public void getInstanceSummaries(ClientObject caller, ResultListener listener) throws InvocationException { + final PlayerObject plobj = (PlayerObject)caller; + Object zmgr = this.getZoneManager(plobj.zoneId); + if (!(zmgr instanceof InstancedZoneManager)) { + Log.log.warning("Got instance summary request for non-instanced zone.", "who", plobj.who(), + "zoneId", plobj.zoneId); + throw new InvocationException("m.internal_error"); + } else { + InstancedZoneManager izmgr = (InstancedZoneManager)zmgr; + final List summaries = Lists.newArrayList(); + final int maxPop = this._adminmgr.getServerConfigObject().maxPerZoneInstance; + + for (Instance instance : izmgr.getInstances(plobj.zoneId, true).values()) { + summaries.add(new ZoneInstanceSummary(instance.getInstanceId(), instance.getLanguage(), + instance.getPopulation(), maxPop)); + } + + this._peermgr.invokeOnNodes(input -> { + + for (ZoneInstanceInfo info : ((ProjectXNodeObject) input.right).zoneInstances) { + if (info.getZoneId() == plobj.zoneId) { + summaries.add( + new ZoneInstanceSummary(info.getInstanceId(), info.getLanguage(), info.population, + maxPop)); + } + } + + return true; + }); + + QuickSort.sort(summaries, Comparator.comparingInt(s -> s.instanceId)); + listener.requestProcessed(summaries); + } + } + + public void moveToInstance(ClientObject caller, int instanceId, ConfirmListener listener) throws InvocationException { + final PlayerObject plobj = (PlayerObject)caller; + final int zoneId = plobj.zoneId; + Object zmgr = this.getZoneManager(zoneId); + if (!(zmgr instanceof InstancedZoneManager)) { + Log.log.warning("Got instance move request for non-instanced zone.", "who", plobj.who(), + "zoneId", zoneId, "instanceId", instanceId); + throw new InvocationException("m.internal_error"); + } else if (plobj.instanceId == instanceId) { + listener.requestProcessed(); + } else { + Object plmgr = this._plreg.getPlaceManager(plobj.getPlaceOid()); + if (!(plmgr instanceof ThetyaSceneManager)) { + Log.log.warning("Got instance move request for player not in scene.", "who", plobj.who()); + throw new InvocationException("m.internal_error"); + } else { + ThetyaSceneManager scenemgr = (ThetyaSceneManager)plmgr; + final int sceneId = scenemgr.getScene().getId(); + ActorLogic pawn = scenemgr.getActorLogic(plobj.pawnId); + final Transform2D transform = pawn == null ? null : pawn.getTransform(); + IgnoreConfirmAdapter rl = new IgnoreConfirmAdapter(listener) { + public void requestCompleted(Boolean result2) { + if (result2) { + ThetyaZoneRegistry.this.moveBody(plobj, zoneId, sceneId); + super.requestCompleted(result2); + } else { + InvocationMarshaller.setNoResponse(this._listener); + } + + } + }; + boolean result = ((InstancedZoneManager)zmgr).addToInstance(plobj, zoneId, instanceId, sceneId, transform, true, rl); + if (!result) { + throw new InvocationException("m.no_such_zone"); + } + } + } + } + + public String moveBody(ZonedBodyObject source, int zoneId, int sceneId) { + PlayerObject player = (PlayerObject)source; + if ((player.status == 2 || player.receivers.isEmpty()) && player.zoneId != zoneId) { + String reason = this.leaveOccupiedZone(player); + if (reason != null) { + return reason; + } else { + player.startTransaction(); + + try { + player.setReconnectZoneId(zoneId); + player.setReconnectSceneId(sceneId); + } finally { + player.commitTransaction(); + } + + return null; + } + } else { + return super.moveBody(source, zoneId, sceneId); + } + } + + public String leaveOccupiedZone(ZonedBodyObject source) { + int zoneId = source.getZoneId(); + ZoneManager zmgr = this.getZoneManager(zoneId); + String msg = super.leaveOccupiedZone(source); + if (msg != null) { + return msg; + } else { + PlayerObject player = (PlayerObject)source; + player.setReconnectZoneId(0); + player.clear(Persistence.ZONE); + if (zmgr instanceof InstancedZoneManager) { + ((InstancedZoneManager)zmgr).removeFromInstance((PlayerObject)source, zoneId); + } + + return null; + } + } + + @Override + protected ZoneMoveHandler createZoneMoveHandler(ZoneManager zmgr, BodyObject body, int sceneId, int sceneVer, Object portalKey, ZoneMoveListener listener) { + return new ThetyaZoneMoveHandler(this._locman, zmgr, this._screg, body, sceneId, sceneVer, portalKey, listener); + } +} diff --git a/src/com/threerings/admin/server/AdminProvider.java b/src/com/threerings/admin/server/AdminProvider.java new file mode 100644 index 0000000..bb55c9c --- /dev/null +++ b/src/com/threerings/admin/server/AdminProvider.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.threerings.admin.server; + +import com.threerings.admin.client.AdminService.ConfigInfoListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationProvider; + +public interface AdminProvider extends InvocationProvider { + + // ID 1 + void getConfigInfo(ClientObject caller, ConfigInfoListener listener) throws InvocationException; +} diff --git a/src/com/threerings/crowd/chat/server/SpeakProvider.java b/src/com/threerings/crowd/chat/server/SpeakProvider.java new file mode 100644 index 0000000..d9949c5 --- /dev/null +++ b/src/com/threerings/crowd/chat/server/SpeakProvider.java @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.threerings.crowd.chat.server; + +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationProvider; + +public interface SpeakProvider extends InvocationProvider { + + // ID 1 + void speak(ClientObject caller, String message, byte mode); +} diff --git a/src/com/threerings/crowd/peer/server/CrowdPeerProvider.java b/src/com/threerings/crowd/peer/server/CrowdPeerProvider.java new file mode 100644 index 0000000..26c35c3 --- /dev/null +++ b/src/com/threerings/crowd/peer/server/CrowdPeerProvider.java @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.threerings.crowd.peer.server; + +import javax.annotation.Generated; + +import com.threerings.util.Name; + +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationProvider; + +import com.threerings.crowd.chat.client.ChatService; +import com.threerings.crowd.chat.data.UserMessage; +import com.threerings.crowd.peer.client.CrowdPeerService; + +/** + * Defines the server-side of the {@link CrowdPeerService}. + */ +@Generated(value={"com.threerings.presents.tools.GenServiceTask"}, + comments="Derived from CrowdPeerService.java.") +public interface CrowdPeerProvider extends InvocationProvider { + /** + * Handles a {@link CrowdPeerService#deliverBroadcast} request. + */ + void deliverBroadcast (ClientObject caller, Name arg1, byte arg2, String arg3, String arg4); + + /** + * Handles a {@link CrowdPeerService#deliverTell} request. + */ + void deliverTell (ClientObject caller, UserMessage arg1, Name arg2, ChatService.TellListener arg3) + throws InvocationException; +} \ No newline at end of file diff --git a/src/com/threerings/crowd/server/BodyProvider.java b/src/com/threerings/crowd/server/BodyProvider.java new file mode 100644 index 0000000..3efe0ac --- /dev/null +++ b/src/com/threerings/crowd/server/BodyProvider.java @@ -0,0 +1,16 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.threerings.crowd.server; + +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationProvider; + +public interface BodyProvider extends InvocationProvider { + + void setIdle(ClientObject caller, boolean idle); +} diff --git a/src/com/threerings/crowd/server/LocationProvider.java b/src/com/threerings/crowd/server/LocationProvider.java new file mode 100644 index 0000000..2145f13 --- /dev/null +++ b/src/com/threerings/crowd/server/LocationProvider.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.threerings.crowd.server; + +import com.threerings.crowd.client.LocationService.MoveListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationProvider; + +public interface LocationProvider extends InvocationProvider { + + void leavePlace(ClientObject caller); + + void moveTo(ClientObject caller, int placeOid, MoveListener listener) throws InvocationException; +} diff --git a/src/com/threerings/presents/peer/server/PeerProvider.java b/src/com/threerings/presents/peer/server/PeerProvider.java new file mode 100644 index 0000000..1448563 --- /dev/null +++ b/src/com/threerings/presents/peer/server/PeerProvider.java @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.threerings.presents.peer.server; + +import javax.annotation.Generated; + +import com.threerings.presents.client.InvocationService; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.peer.client.PeerService; +import com.threerings.presents.peer.data.NodeObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationProvider; + +/** + * Defines the server-side of the {@link PeerService}. + */ +@Generated(value={"com.threerings.presents.tools.GenServiceTask"}, + comments="Derived from PeerService.java.") +public interface PeerProvider extends InvocationProvider { + + /** + * Handles a {@link PeerService#generateReport} request. + */ + void generateReport (ClientObject caller, String arg1, InvocationService.ResultListener arg2) + throws InvocationException; + + /** + * Handles a {@link PeerService#invokeAction} request. + */ + void invokeAction (ClientObject caller, byte[] arg1); + + /** + * Handles a {@link PeerService#invokeRequest} request. + */ + void invokeRequest (ClientObject caller, byte[] arg1, InvocationService.ResultListener arg2) + throws InvocationException; + + /** + * Handles a {@link PeerService#ratifyLockAction} request. + */ + void ratifyLockAction (ClientObject caller, NodeObject.Lock arg1, boolean arg2); +} \ No newline at end of file diff --git a/src/com/threerings/projectx/board/server/logic/BoardActionLogic.java b/src/com/threerings/projectx/board/server/logic/BoardActionLogic.java new file mode 100644 index 0000000..4ff5fb6 --- /dev/null +++ b/src/com/threerings/projectx/board/server/logic/BoardActionLogic.java @@ -0,0 +1,112 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package com.threerings.projectx.board.server.logic; + +import com.github.thetya.server.dungeon.DungeonManager; +import com.github.thetya.server.dungeon.Gate; +import com.github.thetya.server.dungeon.Log; +import com.google.inject.Inject; +import com.threerings.projectx.board.config.BoardActionConfig; +import com.threerings.projectx.board.config.BoardActionConfig.FixedGate; +import com.threerings.projectx.board.config.BoardActionConfig.RotatingGate; +import com.threerings.projectx.board.data.BoardDialogInfo; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.dungeon.server.data.RotatingGateData; +import com.threerings.projectx.server.logic.KnightLogic; +import com.threerings.projectx.server.logic.ProjectXActionLogic; +import com.threerings.projectx.town.server.TownSceneManager; +import com.threerings.tudey.server.logic.Logic; +import com.threerings.util.StreamableIntIntMap; + +import java.util.List; + +public abstract class BoardActionLogic extends ProjectXActionLogic { + public BoardActionLogic() { + } + + public static class OpenBoard extends Targeted { + + @Inject + private DungeonManager _dungeonMgr; + + protected BoardDialogInfo _info = new BoardDialogInfo(); + + public OpenBoard() { + } + + public boolean shouldExecute(Logic activator) { + BoardActionConfig.OpenBoard config = (BoardActionConfig.OpenBoard) _config; + return !(config.destination instanceof RotatingGate) || getGateId((RotatingGate) config.destination) != 0; + } + + public boolean execute(int timestamp, Logic activator) { + BoardActionConfig.OpenBoard config = (BoardActionConfig.OpenBoard) _config; + if (config.destination instanceof RotatingGate) { + _info.gateId = getGateId((RotatingGate) config.destination); + } + + _info.populations = new StreamableIntIntMap(); + int ii; + if (_info.gateId == 0) { + List gates = _dungeonMgr.getVisibleGates(); + ii = 0; + + for(int nn = gates.size(); ii < nn; ++ii) { + Gate gate = gates.get(ii); + _info.populations.put(gate.getData().getGateId(), 0); + } + } else { + _info.populations.put(_info.gateId, _dungeonMgr.getGate(_info.gateId).getPopulation()); + } + + PlayerObject player = ((KnightLogic) activator).getPlayerObject(); + + if (player != null && player.isActive()) { + player.setSceneDialog(_info); + } + + return true; + } + + protected void didInit() { + BoardActionConfig.OpenBoard config = (BoardActionConfig.OpenBoard)_config; + _target = createTarget(config.target, _source); + if (config.destination instanceof FixedGate) { + String internalId = ((FixedGate)config.destination).internalId; + Gate gate = _dungeonMgr.getGate(internalId); + if (gate != null) { + _info.gateId = gate.getData().getGateId(); + } else { + _info.gateId = 0; + Log.log.warning("Invalid internal id for fixed gate.", "where", _scenemgr.where(), + "internalId", internalId); + } + } + + } + + protected int getGateId(RotatingGate destination) { + if (!(_scenemgr instanceof TownSceneManager)) { + return 0; + } else { + com.threerings.projectx.dungeon.server.RotatingGate gate = ((TownSceneManager)_scenemgr).getRotatingGate(destination.index); + if (gate == null) { + return 0; + } else { + RotatingGateData data = (RotatingGateData)gate.getData(); + return data.getCountdown() > 0 ? 0 : data.getGateId(); + } + } + } + } +} diff --git a/src/com/threerings/projectx/craft/server/logic/CraftActionLogic.java b/src/com/threerings/projectx/craft/server/logic/CraftActionLogic.java new file mode 100644 index 0000000..d2428a1 --- /dev/null +++ b/src/com/threerings/projectx/craft/server/logic/CraftActionLogic.java @@ -0,0 +1,175 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package com.threerings.projectx.craft.server.logic; + +import com.google.inject.Inject; +import com.samskivert.util.StringUtil; +import com.threerings.config.ConfigManager; +import com.threerings.presents.client.InvocationService.ResultListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationManager; +import com.threerings.presents.util.ResultAdapter; +import com.threerings.projectx.craft.Log; +import com.threerings.projectx.craft.config.CraftActionConfig; +import com.threerings.projectx.craft.config.CraftActionConfig.RegisterRecipe; +import com.threerings.projectx.craft.config.RecipeConfig; +import com.threerings.projectx.craft.config.RecipeConfig.Original; +import com.threerings.projectx.craft.config.RecipePropertyConfig.RecipeProps; +import com.threerings.projectx.craft.data.CraftMarshaller; +import com.threerings.projectx.craft.data.CrafterDialogInfo; +import com.threerings.projectx.craft.data.Recipe; +import com.threerings.projectx.craft.server.CraftProvider; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.item.data.Item; +import com.threerings.projectx.item.data.LevelItem; +import com.threerings.projectx.server.logic.KnightLogic; +import com.threerings.projectx.server.logic.ProjectXActionLogic; +import com.threerings.tudey.server.logic.Logic; +import com.threerings.util.MessageBundle; + +public abstract class CraftActionLogic extends ProjectXActionLogic { + public CraftActionLogic() { + } + + public static class RecisterRecipe extends Targeted { + //@Inject + //protected CraftManager _craftmgr; + + public RecisterRecipe() { + } + + public boolean execute(int timestamp, Logic activator) { + RegisterRecipe config = (RegisterRecipe) this._config; + if (config.recipe == null) { + return true; + } else { + boolean success = false; + this._target.resolve(activator, this._targets); + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + Logic target = this._targets.get(ii); + if (target instanceof KnightLogic) { + PlayerObject plobj = ((KnightLogic) target).getPlayerObject(); + if (!plobj.hasRecipe(config.recipe)) { + success = true; + //this._craftmgr.registerRecipe(plobj, config.recipe); + } + } + } + + this._targets.clear(); + return success; + } + } + + protected void didInit() { + this._target = this.createTarget(((RegisterRecipe)this._config).target, this._source); + } + } + + public static class OpenCrafter extends Targeted implements CraftProvider { + @Inject + protected InvocationManager _invmgr; + //@Inject + //protected CraftManager _craftmgr; + @Inject + protected ConfigManager _cfgmgr; + //@Inject + //protected ProjectXEventLogger _evlog; + protected CrafterDialogInfo _info = new CrafterDialogInfo(); + + public OpenCrafter() { + } + + public void craftRecipe(ClientObject caller, long recipeId, long[] itemIds, boolean upgrade, ResultListener rl) throws InvocationException { + final PlayerObject plobj = (PlayerObject)caller; + this.ensureDialog(plobj); + final Recipe recipe = plobj.recipes.get(recipeId); + if (recipe == null) { + Log.log.warning("Missing recipe to craft.", "who", plobj.who(), "recipeId", recipeId); + throw new InvocationException("m.internal_error"); + } else { + RecipeConfig config = this._cfgmgr.getConfig(RecipeConfig.class, recipe.getConfig()); + final Original original = config == null ? null : config.getOriginal(this._cfgmgr); + if (original == null) { + Log.log.warning("Missing recipe config to craft.", "who", plobj.who(), "ref", recipe.getConfig()); + throw new InvocationException("m.internal_error"); + } else if (!original.isType(this._info.type)) { + Log.log.warning("Tried to craft recipe and invalid crafter.", "who", plobj.who(), "ref", recipe.getConfig(), "info.type", this._info.type); + throw new InvocationException("m.internal_error"); + } else { + com.samskivert.util.ResultListener ra = new ResultAdapter(rl) { + public void requestCompleted(Item result) { + this._listener.requestProcessed(result.getItemId()); + int variants = 0; + if (result instanceof LevelItem && ((LevelItem)result).hasVariants()) { + variants = ((LevelItem)result).getVariants().length; + } + + RecipeProps props = original.getProps(OpenCrafter.this._cfgmgr); + //OpenCrafter.this._evlog.log(new Craft(plobj.playerId, recipe.getConfig().getName(), props.crowns, props.energy, variants)); + } + }; + //this._craftmgr.craftRecipe(plobj, recipe.getConfig(), itemIds, upgrade, ra); + } + } + } + + public boolean execute(int timestamp, Logic activator) { + this._target.resolve(activator, this._targets); + this._info.sourceKey = this._source.getEntityKey(); + this._info.sourceTranslation = this._source.getTranslation(); + this._info.sourceRotation = this._source.getRotation(); + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + Logic target = this._targets.get(ii); + if (target instanceof KnightLogic && target.isActive()) { + PlayerObject plobj = ((KnightLogic)target).getPlayerObject(); + if (plobj != null && plobj.isActive()) { + plobj.setSceneDialog(this._info); + } + } + } + + this._targets.clear(); + return true; + } + + protected void didInit() { + CraftActionConfig.OpenCrafter config = (CraftActionConfig.OpenCrafter) this._config; + this._target = this.createTarget(config.target, this._source); + this._info.model = config.model == null ? this._source.getModel() : config.model; + this._info.animation = config.animation; + this._info.name = StringUtil.isBlank(config.name) ? MessageBundle.taint("") : config.name; + this._info.title = StringUtil.isBlank(config.title) ? MessageBundle.taint("") : config.title; + this._info.sourceTransient = config.sourceTransient; + this._info.sourceCloseAnimation = config.sourceCloseAnimation; + this._info.craftService = this._invmgr.registerProvider(this, CraftMarshaller.class); + this._info.type = StringUtil.isBlank(config.type) ? null : config.type; + } + + protected void wasRemoved() { + this._invmgr.clearDispatcher(this._info.craftService); + } + + protected void ensureDialog(PlayerObject plobj) throws InvocationException { + if (plobj.sceneDialog != this._info) { + Log.log.warning("Received request from player without dialog.", "who", plobj.who()); + throw new InvocationException("m.internal_error"); + } + } + } +} diff --git a/src/com/threerings/projectx/data/ProjectXSceneConfig.java b/src/com/threerings/projectx/data/ProjectXSceneConfig.java new file mode 100644 index 0000000..ab8c976 --- /dev/null +++ b/src/com/threerings/projectx/data/ProjectXSceneConfig.java @@ -0,0 +1,75 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.threerings.projectx.data; + +import com.threerings.crowd.client.PlaceController; +import com.threerings.projectx.client.ProjectXSceneController; +import com.threerings.tudey.data.TudeySceneConfig; + +/** + * Base Spiral Knights scene configuration object. + */ +public class ProjectXSceneConfig extends TudeySceneConfig { + + /** + * Loading screen background. + *

+ * rsrc/loading/images + */ + protected String _background; + + public ProjectXSceneConfig() { + } + + /** + * Returns the scene type. + *

+ * projectx - base Spiral Knights scene level - dungeon scene arena - Super Brawl scene town - + * Haven scene + */ + public String getType() { + return "projectx"; + } + + /** + * Returns whether the scene should be instanced. + */ + public boolean isInstanced() { + return true; + } + + /** + * Sets the loading screen background. + */ + public void setBackground(String background) { + this._background = background; + } + + /** + * Returns the loading screen background. + */ + public String getBackground() { + return this._background; + } + + /** + * Creates a new Scene Controller for this scene. + */ + @Override + public PlaceController createController() { + return new ProjectXSceneController(); + } + + /** + * Returns the fully-qualified class name of the server-side Scene Manager class for this scene. + */ + @Override + public String getManagerClassName() { + return "com.github.thetya.server.scene.ThetyaSceneManager"; + } +} diff --git a/src/com/threerings/projectx/dungeon/arena/data/ArenaSceneConfig.java b/src/com/threerings/projectx/dungeon/arena/data/ArenaSceneConfig.java new file mode 100644 index 0000000..1a47df6 --- /dev/null +++ b/src/com/threerings/projectx/dungeon/arena/data/ArenaSceneConfig.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.threerings.projectx.dungeon.arena.data; + +import com.threerings.crowd.client.PlaceController; +import com.threerings.projectx.dungeon.arena.client.ArenaSceneController; +import com.threerings.projectx.dungeon.data.LevelSceneConfig; + +/** + * Extends the level scene configuration with arena (Super Brawl) bits. + */ +public class ArenaSceneConfig extends LevelSceneConfig { + + /** + * Zero-args constructor for Narya deserialization. + */ + public ArenaSceneConfig() {} + + /** + * Returns the scene type. + */ + @Override + public String getType() { + return "arena"; + } + + /** + * Creates a client-side PlaceController which should handle scenes with this scene config set. + * + * Used only by the client. + */ + @Override + public PlaceController createController() { + return new ArenaSceneController(); + } + + /** + * Returns the fully qualified class name for the server-side SceneManager which should handle + * scenes with this scene config set. + * + * Used only by the server. + */ + @Override + public String getManagerClassName() { + return "com.github.thetya.server.dungeon.arena.ArenaSceneManager"; + } +} \ No newline at end of file diff --git a/src/com/threerings/projectx/dungeon/arena/server/logic/GladiatorLogic.java b/src/com/threerings/projectx/dungeon/arena/server/logic/GladiatorLogic.java new file mode 100644 index 0000000..2c91601 --- /dev/null +++ b/src/com/threerings/projectx/dungeon/arena/server/logic/GladiatorLogic.java @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.threerings.projectx.dungeon.arena.server.logic; + +import com.github.thetya.server.dungeon.arena.ArenaSceneManager; +import com.threerings.math.Vector2f; +import com.threerings.projectx.dungeon.arena.data.actor.Gladiator; +import com.threerings.projectx.dungeon.server.logic.DungeoneerLogic; +import com.threerings.tudey.server.logic.Logic; + +public class GladiatorLogic extends DungeoneerLogic { + + @Override + protected int getHurtInvulnerability() { + return 250; + } + + public void setHalted(boolean halted) { + Gladiator gladiator = (Gladiator) _actor; + + if (halted != (gladiator.getActivity() == 291)) { + gladiator.setActivity(halted ? 291 : 0); + } + } + + @Override + public void signal(int timestamp, Logic source, String name) { + if (source == this && "resurrect".equals(name)) { + Logic respawnPoint = ((ArenaSceneManager) _scenemgr).getRespawnPoint(this); + + if (respawnPoint != null) { + Vector2f loc = respawnPoint.getTranslation(); + warp(loc.x, loc.y, respawnPoint.getRotation()); + + _scenemgr.addTickParticipant(tickTimestamp -> { + GladiatorLogic.this.delayedResurrect(tickTimestamp); + return false; + }); + + return; + } + } + + super.signal(timestamp, source, name); + } + + @Override + protected void finishedLoading(int timestamp) { + super.finishedLoading(timestamp); + setHalted(!((ArenaSceneManager) _scenemgr).gladiatorReady(_plobj)); + } + + protected void delayedResurrect(int timestamp) { + super.signal(timestamp, this, "resurrect"); + } +} diff --git a/src/com/threerings/projectx/dungeon/data/DepthCodes.java b/src/com/threerings/projectx/dungeon/data/DepthCodes.java new file mode 100644 index 0000000..74e1634 --- /dev/null +++ b/src/com/threerings/projectx/dungeon/data/DepthCodes.java @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2014-2020 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.threerings.projectx.dungeon.data; + +public interface DepthCodes { + + enum DepthType { + LINEAR, + POWER, + ATTACK_30, + HEAVY_ATTACK_30 + } + + interface DepthScale { + + DepthType getDepthType(); + } + + enum DefaultScale implements DepthScale { + LINEAR(DepthType.LINEAR), + POWER(DepthType.POWER); + + protected DepthType _dt; + + DefaultScale(DepthType dt) { + this._dt = dt; + } + + public DepthType getDepthType() { + return this._dt; + } + } + + enum DamageScale implements DepthScale { + LINEAR(DepthType.LINEAR), + POWER(DepthType.POWER), + ATTACK_NORMAL(DepthType.ATTACK_30), + ATTACK_HEAVY(DepthType.HEAVY_ATTACK_30); + + protected DepthType _dt; + + DamageScale(DepthType dt) { + this._dt = dt; + } + + public DepthType getDepthType() { + return this._dt; + } + } +} diff --git a/src/com/threerings/projectx/dungeon/data/LevelSceneConfig.java b/src/com/threerings/projectx/dungeon/data/LevelSceneConfig.java new file mode 100644 index 0000000..692bfbf --- /dev/null +++ b/src/com/threerings/projectx/dungeon/data/LevelSceneConfig.java @@ -0,0 +1,88 @@ +// +// $Id: thetya-server 2020-11-22 20:40 michael $ +// +// Copyright (C) 2013-2020 Thetya Team +// https://github.com/Thetya +// + +package com.threerings.projectx.dungeon.data; + +import com.google.common.collect.Iterables; +import com.google.common.collect.Sets; +import com.samskivert.util.ArrayUtil; +import com.threerings.crowd.client.PlaceController; +import com.threerings.export.Exporter; +import com.threerings.export.Importer; +import com.threerings.projectx.data.ProjectXSceneConfig; +import com.threerings.projectx.dungeon.client.LevelSceneController; +import java.io.IOException; +import java.util.Map; +import java.util.Set; + +/** + * Extends the generic ProjectX scene configuration with dungeon level bits. Every scene which is + * not a town (Haven) or arena (Super Brawl) gets this config assigned. + */ +public class LevelSceneConfig extends ProjectXSceneConfig +{ + public transient Set spawnTypes; + public transient Map spawnTypeWeights; + public transient Set ignoreSpawnTypes; + public transient boolean weighted; + + /** + * Zero-args constructor for Narya deserialization. + */ + public LevelSceneConfig() {} + + /** + * Returns the scene type. + */ + public String getType() + { + return "level"; + } + + /** + * Returns the interval at which clients transmit their input frames. + */ + public int getTransmitInterval() + { + return 33; + } + + /** + * Creates a client-side PlaceController which should handle scenes with this scene config set. + * + * Used only by the client. + */ + public PlaceController createController() + { + return new LevelSceneController(); + } + + /** + * Returns the fully qualified class name for the server-side SceneManager which should handle + * scenes with this scene config set. + * + * Used only by the server. + */ + public String getManagerClassName() + { + return "com.github.thetya.server.dungeon.LevelSceneManager"; + } + + public void writeFields(Exporter out) throws IOException + { + out.defaultWriteFields(); + String[] sptypes = this.spawnTypes == null ? ArrayUtil.EMPTY_STRING : Iterables.toArray(this.spawnTypes, String.class); + out.write("spawnTypes", sptypes, ArrayUtil.EMPTY_STRING, String[].class); + } + + public void readFields(Importer in) throws IOException + { + in.defaultReadFields(); + String[] sptypes = in.read("spawnTypes", ArrayUtil.EMPTY_STRING, String[].class); + this.spawnTypes = sptypes.length == 0 ? null : Sets.newHashSet(sptypes); + } +} diff --git a/src/com/threerings/projectx/dungeon/server/DepthUtil.java b/src/com/threerings/projectx/dungeon/server/DepthUtil.java new file mode 100644 index 0000000..8748b22 --- /dev/null +++ b/src/com/threerings/projectx/dungeon/server/DepthUtil.java @@ -0,0 +1,183 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.threerings.projectx.dungeon.server; + +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.samskivert.util.Tuple; +import com.threerings.math.FloatMath; +import com.threerings.projectx.dungeon.data.DepthCodes.DepthScale; +import com.threerings.projectx.dungeon.data.DepthCodes.DepthType; +import com.threerings.projectx.dungeon.server.logic.AttackLogic; +import com.threerings.projectx.dungeon.server.logic.UltimateSource; +import com.threerings.tudey.server.TudeySceneManager; +import com.threerings.tudey.server.logic.ActorLogic; +import com.threerings.tudey.server.logic.Logic; + +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +public class DepthUtil { + + protected static final Map SCALE_MAP = Maps.newHashMap(); + + public DepthUtil() { + } + + public static int getDepth(TudeySceneManager scenemgr, Logic source) { + int depth; + if (source instanceof UltimateSource) { + depth = ((UltimateSource)source).getDepth(); + } else { + Party party = Party.getParty(scenemgr); + depth = party == null ? 0 : party.getDepth(); + } + + return depth; + } + + public static int scaleForDepth(TudeySceneManager scenemgr, Logic source, int start, int end, + int sDepth, int eDepth, DepthScale ds) { + return scaleForDepth(getDepth(scenemgr, source), start, end, sDepth, eDepth, ds); + } + + public static int scaleForDepth(int depth, int start, int end, int sDepth, int eDepth, + DepthScale ds) { + return FloatMath.iceil(scaleForDepth(depth, (float) start, (float) end, sDepth, eDepth, ds)); + } + + public static float scaleForDepth(TudeySceneManager scenemgr, Logic source, float start, + float end, int sDepth, int eDepth, DepthScale ds) { + return scaleForDepth(getDepth(scenemgr, source), start, end, sDepth, eDepth, ds); + } + + public static float scaleForDepth(int depth, float start, float end, int sDepth, int eDepth, + DepthScale ds) { + float amount = start; + if (eDepth > sDepth) { + if (depth >= eDepth) { + amount = end; + } else if (depth > sDepth) { + DepthUtil.Scaler scaler = SCALE_MAP.get(ds.getDepthType()); + amount = start + (end - start) * scaler + .scale((float) (depth - sDepth) / (float) (eDepth - sDepth)); + } + } + + return amount; + } + + public static Logic getUltimateSource(Logic source) { + Logic ssource = nextSource(source); + return ssource == null ? source + : (ssource instanceof UltimateSource ? ssource : getUltimateSource(ssource)); + } + + public static Logic nextSource(Logic source) { + Logic ssource = null; + if (source instanceof ActorLogic) { + ssource = ((ActorLogic) source).getSource(); + } else if (source instanceof AttackLogic) { + ssource = source.resolveTarget(); + } + + return ssource; + } + + static { + SCALE_MAP.put(DepthType.LINEAR, new DepthUtil.Linear()); + SCALE_MAP.put(DepthType.POWER, new DepthUtil.Power(2.0F)); + SCALE_MAP.put(DepthType.ATTACK_30, new DepthUtil.DepthSegmentLinear(1, 40, 3, 50, 5, 60, 7, 70, + 9, 80, 11, 110, 14, 140, 16, 170, 18, 210, 21, 250, 24, 290, 26, 330, 30, 360)); + SCALE_MAP + .put(DepthType.HEAVY_ATTACK_30, new DepthUtil.DepthSegmentLinear(1, 65, 3, 75, 5, 85, 7, + 95, 9, 125, 11, 150, 14, 175, 16, 205, 18, 255, 21, 275, 24, 325, 26, 365, 30, 395)); + } + + public static class DepthSegmentLinear extends DepthUtil.SegmentLinear { + + public DepthSegmentLinear(int... segments) { + super(); + int end = (segments.length - 2) / 2 * 2; + int sDepth = segments[0]; + int ddiff = segments[end] - sDepth; + int start = segments[1]; + int diff = segments[end + 1] - start; + + for (int ii = 2; ii < segments.length - 1; ii += 2) { + float segment = (float) (segments[ii] - sDepth) / (float) ddiff; + float value = (float) (segments[ii + 1] - start) / (float) diff; + this.add(segment, value); + } + + } + } + + public static class SegmentLinear implements DepthUtil.Scaler { + + protected List> _segments; + + public SegmentLinear(float... segments) { + this._segments = Lists.newArrayListWithCapacity(segments.length / 2); + + for (int ii = 0; ii < segments.length - 1; ii += 2) { + this.add(segments[ii], segments[ii + 1]); + } + + } + + public float scale(float value) { + Tuple last = new Tuple(0.0F, this._segments.get(0).right); + + Tuple segment; + for (Iterator i$ = this._segments.iterator(); i$.hasNext(); last = segment) { + segment = (Tuple) i$.next(); + if (value < (Float) segment.left) { + float result = last.right + ((Float) segment.right - last.right) * (value - last.left) / ( + (Float) segment.left - last.left); + return result; + } + } + + return (1.0F - last.right) * (value - last.left) / (1.0F - last.left); + } + + protected void add(float segment, float value) { + this._segments.add(new Tuple(segment, value)); + } + } + + public static class Power implements DepthUtil.Scaler { + + protected float _power; + + public Power(float power) { + this._power = power; + } + + public float scale(float value) { + return FloatMath.pow(value, this._power); + } + } + + public static class Linear implements DepthUtil.Scaler { + + public Linear() { + } + + public float scale(float value) { + return value; + } + } + + public interface Scaler { + + float scale(float var1); + } +} \ No newline at end of file diff --git a/src/com/threerings/projectx/dungeon/server/logic/DungeonActionLogic.java b/src/com/threerings/projectx/dungeon/server/logic/DungeonActionLogic.java new file mode 100644 index 0000000..0299b00 --- /dev/null +++ b/src/com/threerings/projectx/dungeon/server/logic/DungeonActionLogic.java @@ -0,0 +1,1030 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package com.threerings.projectx.dungeon.server.logic; + +import com.github.thetya.server.dungeon.LevelParty; +import com.github.thetya.server.dungeon.LevelSceneManager; +import com.github.thetya.server.dungeon.Party; +import com.github.thetya.server.item.ItemManager; +import com.github.thetya.server.scene.ThetyaSceneManager; +import com.google.common.collect.Lists; +import com.google.common.collect.Sets; +import com.google.inject.Inject; +import com.samskivert.util.RandomUtil; +import com.threerings.config.ConfigManager; +import com.threerings.config.ConfigReference; +import com.threerings.math.FloatMath; +import com.threerings.math.Transform2D; +import com.threerings.math.Vector2f; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.dungeon.Log; +import com.threerings.projectx.dungeon.config.DepthScaleConfig; +import com.threerings.projectx.dungeon.config.DungeonActionConfig.TagMap; +import com.threerings.projectx.dungeon.config.FireActionConfig; +import com.threerings.projectx.dungeon.config.FireActionConfig.Original; +import com.threerings.projectx.dungeon.config.ImpulseConfig.DamageImpulse; +import com.threerings.projectx.dungeon.config.SpawnTableConfig; +import com.threerings.projectx.dungeon.config.SpawnTableConfig.Implementation; +import com.threerings.projectx.dungeon.config.StatusConditionConfig; +import com.threerings.projectx.dungeon.data.DepthCodes.DefaultScale; +import com.threerings.projectx.dungeon.data.LevelPartyObject; +import com.threerings.projectx.dungeon.data.LevelSceneConfig; +import com.threerings.projectx.dungeon.data.actor.Impulse; +import com.threerings.projectx.dungeon.server.DepthUtil; +import com.threerings.projectx.item.data.Item; +import com.threerings.projectx.item.data.ItemCodes; +import com.threerings.projectx.server.logic.KnightLogic; +import com.threerings.projectx.server.logic.ProjectXActionLogic; +import com.threerings.tudey.config.ActionConfig; +import com.threerings.tudey.config.ActorConfig; +import com.threerings.tudey.config.EffectConfig; +import com.threerings.tudey.data.actor.Actor; +import com.threerings.tudey.data.actor.Prespawnable; +import com.threerings.tudey.data.effect.Effect; +import com.threerings.tudey.data.effect.Prefireable; +import com.threerings.tudey.server.TudeySceneManager; +import com.threerings.tudey.server.logic.*; +import com.threerings.tudey.shape.Shape; +import com.threerings.tudey.space.SpaceElement; + +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public abstract class DungeonActionLogic extends ProjectXActionLogic implements ItemCodes { + protected static final int IMPULSE_CUTOFF = 2; + + public DungeonActionLogic() { + } + + protected static void damageInflicted(TudeySceneManager scenemgr, int timestamp, int hits, Logic activator) { + if (hits != 0) { + AttackLogic attack = getAttack(activator); + if (attack == null) { + Log.log.debug("What's this?", "activator", activator); + } else { + ConfigReference damageEffect = attack.getDamageEffect(); + if (damageEffect != null) { + Logic actor = attack.resolveTarget(); + scenemgr.fireEffect(timestamp, actor, actor.getTranslation(), actor.getRotation(), damageEffect); + } + } + } + } + + protected static AttackLogic getAttack(Logic source) { + if (source instanceof AttackLogic) { + return (AttackLogic)source; + } else { + return source instanceof ActorLogic ? getAttack(((ActorLogic)source).getSource()) : null; + } + } + + protected static int getClientOid(Logic logic) { + if (logic instanceof AttackLogic && (logic = logic.resolveTarget()) instanceof KnightLogic) { + PlayerObject player = ((KnightLogic)logic).getPlayerObject(); + if (player != null) { + return player.getOid(); + } + } + + return 0; + } + + protected static Impulse maybeCreateImpulse(int timestamp, DamageImpulse config, Impulseable impulseable, Vector2f origin, boolean blocked) { + int levelDiff = impulseable.getImpulseLevel() - config.level; + if (levelDiff > 2) { + return null; + } else { + Vector2f translation = config.translation.rotate(origin.direction(impulseable.getTranslation())); + if (levelDiff > 0) { + translation.multLocal(FloatMath.pow(2.0F, (float)(-levelDiff))); + } + + if (blocked) { + translation.multLocal(0.5F); + } + + return new Impulse(timestamp, config.duration, translation); + } + } + + public static class ClearMinimap extends DungeonActionLogic { + public ClearMinimap() { + } + + public boolean execute(int timestamp, Logic activator) { + LevelParty party = LevelParty.getParty(this._scenemgr); + LevelPartyObject partyObj = party.getPartyObject(); + int id = ((ActorLogic)this._source).getActor().getId(); + if (partyObj != null && partyObj.mapActors.containsKey(id)) { + partyObj.removeFromMapActors(id); + return true; + } else { + return false; + } + } + } + + public static class ImpulseTarget extends DungeonActionLogic { + protected TargetLogic _location; + + public ImpulseTarget() { + } + + public boolean execute(int timestamp, Logic activator) { + com.threerings.projectx.dungeon.config.DungeonActionConfig.ImpulseTarget config = (com.threerings.projectx.dungeon.config.DungeonActionConfig.ImpulseTarget)this._config; + List targets = Lists.newArrayList(); + this._location.resolve(activator, targets); + Iterator i$ = targets.iterator(); + + while(i$.hasNext()) { + Logic logic = (Logic)i$.next(); + if (logic instanceof Impulseable) { + Vector2f origin = logic.getTransform().transformPoint(config.impulseTranslation); + Impulseable impulseable = (Impulseable)logic; + if (!impulseable.isDestroyed()) { + Impulse impulse = maybeCreateImpulse(timestamp, config.impulseDealt, impulseable, origin, false); + if (impulse != null) { + impulseable.addImpulse(impulse); + } + } + } + } + + return true; + } + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + this._location.transfer(((DungeonActionLogic.ImpulseTarget)source)._location, refs); + } + + protected void didInit() { + this._location = this.createTarget(((com.threerings.projectx.dungeon.config.DungeonActionConfig.ImpulseTarget)this._config).location, this._source); + } + } + + public static class ImpartImpulse extends DungeonActionLogic { + protected RegionLogic _region; + protected TargetLogic _location; + + public ImpartImpulse() { + } + + public boolean execute(int timestamp, Logic activator) { + com.threerings.projectx.dungeon.config.DungeonActionConfig.ImpartImpulse config = (com.threerings.projectx.dungeon.config.DungeonActionConfig.ImpartImpulse)this._config; + List shapes = this.getShapes(activator); + if (this._scenemgr.getDebugRegions()) { + this.flash(timestamp, shapes); + } + + Set elements = Sets.newHashSet(); + Iterator i$ = shapes.iterator(); + + while(i$.hasNext()) { + Shape shape = (Shape)i$.next(); + this._scenemgr.getActorSpace().getIntersecting(shape, elements); + } + + List locations = Lists.newArrayList(); + this._location.resolve(activator, locations); + Vector2f origin = locations.get(0).getTransform().transformPoint(config.impulseTranslation); + Iterator i$$ = elements.iterator(); + + while(i$$.hasNext()) { + SpaceElement element = (SpaceElement)i$$.next(); + ActorLogic logic = (ActorLogic)element.getUserObject(); + if (!logic.isDestroyed() && logic instanceof Impulseable && logic instanceof Damageable && logic != this._source && (((Damageable)logic).getDamageMask() & config.flags) != 0) { + Impulse impulse = maybeCreateImpulse(timestamp, config.impulseDealt, (Impulseable)logic, origin, false); + if (impulse != null) { + ((Impulseable)logic).addImpulse(impulse); + } + } + } + + return true; + } + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + DungeonActionLogic.ImpartImpulse isource = (DungeonActionLogic.ImpartImpulse)source; + this._region.transfer(isource._region, refs); + this._location.transfer(isource._location, refs); + } + + protected void didInit() { + com.threerings.projectx.dungeon.config.DungeonActionConfig.ImpartImpulse config = (com.threerings.projectx.dungeon.config.DungeonActionConfig.ImpartImpulse)this._config; + this._region = this.createRegion(config.region, this._source); + this._location = this.createTarget(config.location, this._source); + } + + protected List getShapes(Logic activator) { + List shapes = Lists.newArrayList(); + this._region.resolve(activator, shapes); + return shapes; + } + + protected void flash(int timestamp, List shapes) { + com.threerings.tudey.shape.Compound compound = new com.threerings.tudey.shape.Compound(shapes.toArray(new Shape[0])); + Vector2f center = compound.getCenter(); + Shape compoundShape = compound.transform(new Transform2D(center.negate(), 0.0F)); + this._scenemgr.fireEffect(timestamp, null, center, -1.5707964F, "Debug/Flash Shape", "Shape", compoundShape.createConfig()); + } + } + + public static class EquipMetaMineral extends DungeonActionLogic.EquipDungeonItem { + public EquipMetaMineral() { + } + + protected int getSlot() { + return 5; + } + } + + public static class EquipDungeonItem extends DungeonActionLogic { + protected TargetLogic _equipTarget; + @Inject + protected ItemManager _itemmgr; + + public EquipDungeonItem() { + } + + public boolean execute(int timestamp, Logic activator) { + this._equipTarget.resolve(activator, this._targets); + Iterator i$ = this._targets.iterator(); + + Logic logic; + do { + if (!i$.hasNext()) { + this._targets.clear(); + return false; + } + + logic = (Logic)i$.next(); + } while(!(logic instanceof DungeoneerLogic)); + + this._targets.clear(); + return this._itemmgr.createAndEquipTransientItem(((DungeoneerLogic)logic).getPlayerObject(), ((com.threerings.projectx.dungeon.config.DungeonActionConfig.EquipDungeonItem)this._config).item, this.getSlot()); + } + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + this._equipTarget.transfer(((DungeonActionLogic.EquipDungeonItem)source)._equipTarget, refs); + } + + protected void didInit() { + super.didInit(); + this._equipTarget = this.createTarget(((com.threerings.projectx.dungeon.config.DungeonActionConfig.EquipDungeonItem)this._config).target, this._source); + } + + protected int getSlot() { + return 12; + } + } + + public static class TaggedSpawnActor extends SpawnTransformedActor { + protected TargetLogic _tagTarget; + + public TaggedSpawnActor() { + } + + protected void didInit() { + super.didInit(); + this._tagTarget = this.createTarget(((com.threerings.projectx.dungeon.config.DungeonActionConfig.TaggedSpawnActor)this._config).taggedTarget, this._source); + } + + public ConfigReference getActorConfig(Logic activator) { + com.threerings.projectx.dungeon.config.DungeonActionConfig.TaggedSpawnActor config = (com.threerings.projectx.dungeon.config.DungeonActionConfig.TaggedSpawnActor)this._config; + this._tagTarget.resolve(activator, this._targets); + Iterator i$ = this._targets.iterator(); + + while(i$.hasNext()) { + Logic logic = (Logic)i$.next(); + String[] arr$ = logic.getTags(); + int len$ = arr$.length; + + for(int i$$ = 0; i$$ < len$; ++i$$) { + String tag = arr$[i$$]; + TagMap[] arr$$ = config.taggedSpawns; + int len$$ = arr$$.length; + + for(int i$$$ = 0; i$$$ < len$$; ++i$$$) { + TagMap tm = arr$$[i$$$]; + if (tm.tag.equals(tag)) { + this._targets.clear(); + return tm.actor; + } + } + } + } + + this._targets.clear(); + return super.getActorConfig(activator); + } + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + this._tagTarget.transfer(((DungeonActionLogic.TaggedSpawnActor)source)._tagTarget, refs); + } + } + + public static class DestroyItem extends Targeted { + public DestroyItem() { + } + + public boolean execute(int timestamp, Logic activator) { + this._target.resolve(activator, this._targets); + if (this._targets.size() > 0) { + Logic logic = this._targets.get(0); + if (logic instanceof MonsterLogic) { + ((MonsterLogic) logic).setItem(null); + } + } + + this._targets.clear(); + return true; + } + + protected void didInit() { + this._target = this.createTarget(((com.threerings.projectx.dungeon.config.DungeonActionConfig.DestroyItem)this._config).target, this._source); + } + } + + public static class StealItem extends Targeted { + protected TargetLogic _thief; + + public StealItem() { + } + + public boolean execute(int timestamp, Logic activator) { + this._thief.resolve(activator, this._targets); + MonsterLogic monster = null; + if (this._targets.size() > 0 && this._targets.get(0) instanceof MonsterLogic) { + monster = (MonsterLogic)this._targets.get(0); + } + + this._targets.clear(); + if (monster != null && monster.getItem() == null) { + this._target.resolve(activator, this._targets); + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + Logic target = this._targets.get(ii); + if (target instanceof DungeoneerLogic) { + PlayerObject plobj = ((DungeoneerLogic)target).getPlayerObject(); + List indices = Lists.newArrayList(); + Iterator i$ = plobj.items.iterator(); + + while(i$.hasNext()) { + Item item = (Item)i$.next(); + if (item.isTransient() && !plobj.isEquipped(item)) { + indices.add(item.getIndex()); + } + } + + if (indices.size() > 0) { + Item item = plobj.getItem(indices.get(RandomUtil.getInt(indices.size()))); + plobj.removeFromItems(item.getKey()); + monster.setItem(item); + this._targets.clear(); + return true; + } + } + } + + this._targets.clear(); + return false; + } else { + return false; + } + } + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + this._thief.transfer(((DungeonActionLogic.StealItem)source)._thief, refs); + } + + protected void didInit() { + this._target = this.createTarget(((com.threerings.projectx.dungeon.config.DungeonActionConfig.StealItem)this._config).target, this._source); + this._thief = this.createTarget(((com.threerings.projectx.dungeon.config.DungeonActionConfig.StealItem)this._config).thief, this._source); + } + } + + public static class FireAction extends DungeonActionLogic { + protected ActionLogic _actionLogic; + + public FireAction() { + } + + public boolean execute(int timestamp, Logic activator) { + return this._actionLogic != null && this._actionLogic.execute(timestamp, activator); + } + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + if (this._actionLogic != null) { + this._actionLogic.transfer(((DungeonActionLogic.FireAction)source)._actionLogic, refs); + } + + } + + protected void didInit() { + com.threerings.projectx.dungeon.config.DungeonActionConfig.FireAction config = (com.threerings.projectx.dungeon.config.DungeonActionConfig.FireAction)this._config; + ConfigManager cfgmgr = this._scenemgr.getConfigManager(); + FireActionConfig fireAction = cfgmgr.getConfig(FireActionConfig.class, config.fireAction); + Original original = fireAction == null ? null : fireAction.getOriginal(cfgmgr); + if (original != null) { + this._actionLogic = this.createAction(original.action, this._source); + } + + } + } + + public static class ActivateMonster extends DungeonActionLogic.TableSpawn { + public ActivateMonster() { + } + + protected void initLogic(ActorLogic logic, int timestamp, Logic activator) { + super.initLogic(logic, timestamp, activator); + if (logic instanceof MonsterLogic) { + ((MonsterLogic)logic).activate(timestamp); + } + + } + } + + public static class ReturnToTop extends DungeonActionLogic.PartyBase { + public ReturnToTop() { + } + + protected void doAction(Party party) { + if (party instanceof LevelParty) { + ((LevelParty)party).nextFloor(-1); + } + + } + } + + public static class NextFloor extends DungeonActionLogic.PartyBase { + public NextFloor() { + } + + protected void doAction(Party party) { + if (party instanceof LevelParty) { + ((LevelParty)party).nextFloor(); + } + + } + } + + public abstract static class PartyBase extends Targeted { + public PartyBase() { + } + + public boolean execute(int timestamp, Logic activator) { + this._target.resolve(activator, this._targets); + Set parties = Sets.newHashSet(); + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + Party party = DungeonTargetLogic.getParty((ThetyaSceneManager) this._scenemgr, this._targets.get(ii)); + if (party != null && !parties.contains(party)) { + parties.add(party); + this.doAction(party); + } + } + + this._targets.clear(); + return true; + } + + protected void didInit() { + this._target = this.createTarget(((com.threerings.projectx.dungeon.config.DungeonActionConfig.PartyBase)this._config).target, this._source); + } + + protected abstract void doAction(Party var1); + } + + public static class FirePrefired extends DungeonActionLogic { + protected TargetLogic _location; + + public FirePrefired() { + } + + public boolean execute(int timestamp, Logic activator) { + com.threerings.projectx.dungeon.config.DungeonActionConfig.FirePrefired config = (com.threerings.projectx.dungeon.config.DungeonActionConfig.FirePrefired)this._config; + if (config.effect == null) { + return true; + } else { + int clientOid = getClientOid(this._source); + this._location.resolve(activator, this._targets); + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + Logic target = this._targets.get(ii); + EffectLogic logic = this._scenemgr.fireEffect(timestamp, target, target.getTranslation(), target.getRotation(), config.effect); + if (logic != null) { + Effect effect = logic.getEffect(); + if (effect instanceof Prefireable) { + effect.setClientOid(clientOid); + } + } + } + + this._targets.clear(); + return true; + } + } + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + this._location.transfer(((DungeonActionLogic.FirePrefired)source)._location, refs); + } + + protected void didInit() { + com.threerings.projectx.dungeon.config.DungeonActionConfig.FirePrefired config = (com.threerings.projectx.dungeon.config.DungeonActionConfig.FirePrefired)this._config; + this._location = this.createTarget(config.location, this._source); + } + } + + public static class MultiSpawnPrespawned extends DungeonActionLogic { + protected ActionLogic[] _actions; + + public MultiSpawnPrespawned() { + } + + public boolean execute(int timestamp, Logic activator) { + boolean success = false; + ActionLogic[] arr$ = this._actions; + int len$ = arr$.length; + + for(int i$ = 0; i$ < len$; ++i$) { + ActionLogic action = arr$[i$]; + success |= action.execute(timestamp++, activator); + } + + return success; + } + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + ActionLogic[] sactions = ((DungeonActionLogic.MultiSpawnPrespawned)source)._actions; + + for(int ii = 0; ii < this._actions.length; ++ii) { + this._actions[ii].transfer(sactions[ii], refs); + } + + } + + protected void didInit() { + List actions = Lists.newArrayList(); + com.threerings.projectx.dungeon.config.DungeonActionConfig.SpawnPrespawned[] arr$ = ((com.threerings.projectx.dungeon.config.DungeonActionConfig.MultiSpawnPrespawned)this._config).spawns; + int len$ = arr$.length; + + for(int i$ = 0; i$ < len$; ++i$) { + ActionConfig config = arr$[i$]; + ActionLogic action = this.createAction(config, this._source); + if (action != null) { + actions.add(action); + } + } + + this._actions = actions.toArray(new ActionLogic[actions.size()]); + } + + protected void wasRemoved() { + ActionLogic[] arr$ = this._actions; + int len$ = arr$.length; + + for(int i$ = 0; i$ < len$; ++i$) { + ActionLogic action = arr$[i$]; + action.removed(); + } + + } + } + + public static class SpawnPrespawned extends DungeonActionLogic { + protected TargetLogic _location; + + public SpawnPrespawned() { + } + + public boolean execute(int timestamp, Logic activator) { + com.threerings.projectx.dungeon.config.DungeonActionConfig.SpawnPrespawned config = (com.threerings.projectx.dungeon.config.DungeonActionConfig.SpawnPrespawned)this._config; + if (config.actor == null) { + return true; + } else { + int clientOid = getClientOid(this._source); + this._location.resolve(activator, this._targets); + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + Logic target = this._targets.get(ii); + float rotation = config.rotation; + if (config.rotationVariance > 0.0F) { + rotation += config.rotationVariance * ((new java.util.Random()).nextFloat() - 0.5F); + } + + ActorLogic logic = this._scenemgr.spawnActor(timestamp, target.getTranslation(), FloatMath.normalizeAngle((config.relative ? target.getRotation() : 0.0F) + rotation), config.actor); + if (logic != null) { + Actor actor = logic.getActor(); + if (actor instanceof Prespawnable) { + ((Prespawnable)actor).setClientOid(clientOid); + } + + logic.setSource(this._source); + logic.setActivator(activator); + } + } + + this._targets.clear(); + return true; + } + } + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + this._location.transfer(((DungeonActionLogic.SpawnPrespawned)source)._location, refs); + } + + protected void didInit() { + com.threerings.projectx.dungeon.config.DungeonActionConfig.SpawnPrespawned config = (com.threerings.projectx.dungeon.config.DungeonActionConfig.SpawnPrespawned)this._config; + this._location = this.createTarget(config.location, this._source); + } + } + + public static class TableSpawn extends DungeonActionLogic { + protected TargetLogic _location; + + public TableSpawn() { + } + + public boolean execute(int timestamp, Logic activator) { + ConfigManager cfgmgr = this._scenemgr.getConfigManager(); + com.threerings.projectx.dungeon.config.DungeonActionConfig.TableSpawn config = (com.threerings.projectx.dungeon.config.DungeonActionConfig.TableSpawn) this._config; + SpawnTableConfig table = cfgmgr.getConfig(SpawnTableConfig.class, config.spawnTable); + if (table == null) { + return true; + } else { + Object scenecfg = this._scenemgr.getConfig(); + LevelSceneConfig lsc = scenecfg instanceof LevelSceneConfig ? (LevelSceneConfig)scenecfg : null; + this._location.resolve(activator, this._targets); + Party party = Party.getParty(this._scenemgr); + int depth = party == null ? 0 : party.getDepth(); + Implementation impl = table.implementation; + if (config.topLevel) { + impl = table.getTopLevel(cfgmgr, 0.0F, depth, lsc); + } + + List> actors = Lists.newArrayList(); + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + Logic location = this._targets.get(ii); + impl.getActors(cfgmgr, 0.0F, depth, lsc, actors, ii); + int jj = 0; + + for(int mm = actors.size(); jj < mm; ++jj) { + Vector2f trans = config.warp ? location.getTranslation() : this.getTranslation(location); + ActorLogic logic = this._scenemgr.spawnActor(timestamp, trans, this.getRotation(location), actors.get(jj)); + this.initLogic(logic, timestamp, activator); + if (config.warp) { + Vector2f ntrans = this.getTranslation(location); + logic.warp(ntrans.x, ntrans.y, logic.getRotation(), trans.x, trans.y); + } + } + + actors.clear(); + } + + this._targets.clear(); + return true; + } + } + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + this._location.transfer(((DungeonActionLogic.TableSpawn)source)._location, refs); + } + + protected void didInit() { + com.threerings.projectx.dungeon.config.DungeonActionConfig.TableSpawn config = (com.threerings.projectx.dungeon.config.DungeonActionConfig.TableSpawn)this._config; + this._location = this.createTarget(config.location, this._source); + } + + protected void initLogic(ActorLogic logic, int timestamp, Logic activator) { + if (logic != null) { + logic.setSource(this._source); + logic.setActivator(activator); + } + + } + + protected Vector2f getTranslation(Logic location) { + return ((com.threerings.projectx.dungeon.config.DungeonActionConfig.TableSpawn)this._config).translation.rotateAndAdd(location.getRotation(), location.getTranslation(), new Vector2f()); + } + + protected float getRotation(Logic location) { + com.threerings.projectx.dungeon.config.DungeonActionConfig.TableSpawn config = (com.threerings.projectx.dungeon.config.DungeonActionConfig.TableSpawn)this._config; + return FloatMath.normalizeAngle((config.relative ? location.getRotation() : 0.0F) + config.rotation); + } + } + + public static class ClearStatus extends Targeted { + public ClearStatus() { + } + + public boolean execute(int timestamp, Logic activator) { + int mask = ((com.threerings.projectx.dungeon.config.DungeonActionConfig.ClearStatus)this._config).mask; + this._target.resolve(activator, this._targets); + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + Logic target = this._targets.get(ii); + if (target instanceof Damageable && target.isActive()) { + ((Damageable)target).clearStatus(timestamp, mask); + } + } + + this._targets.clear(); + return true; + } + + protected void didInit() { + com.threerings.projectx.dungeon.config.DungeonActionConfig.ClearStatus config = (com.threerings.projectx.dungeon.config.DungeonActionConfig.ClearStatus)this._config; + this._target = this.createTarget(config.target, this._source); + } + } + + public static class ApplyStatus extends Targeted { + public ApplyStatus() { + } + + public boolean execute(int timestamp, Logic activator) { + ConfigReference condition = ((com.threerings.projectx.dungeon.config.DungeonActionConfig.ApplyStatus)this._config).condition; + if (condition == null) { + return false; + } else { + boolean ret = false; + this._target.resolve(activator, this._targets); + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + Logic target = this._targets.get(ii); + if (target instanceof Damageable && target.isActive()) { + ret = ((Damageable)target).applyStatus(timestamp, condition, this._source) || ret; + } + } + + this._targets.clear(); + return ret; + } + } + + protected void didInit() { + com.threerings.projectx.dungeon.config.DungeonActionConfig.ApplyStatus config = (com.threerings.projectx.dungeon.config.DungeonActionConfig.ApplyStatus)this._config; + this._target = this.createTarget(config.target, this._source); + } + } + + public static class DepthHeal extends DungeonActionLogic.Heal { + public DepthHeal() { + } + + protected boolean doHeal(int timestamp, Damageable target) { + com.threerings.projectx.dungeon.config.DungeonActionConfig.DepthHeal config = (com.threerings.projectx.dungeon.config.DungeonActionConfig.DepthHeal)this._config; + int depth = DepthUtil.getDepth(this._scenemgr, DepthUtil.getUltimateSource(this._source)); + int current = DepthUtil.scaleForDepth(depth, config.current, config.endCurrent, config.startDepth, config.endDepth, DefaultScale.POWER); + int maximum = DepthUtil.scaleForDepth(depth, config.maximum, config.endMaximum, config.startDepth, config.endDepth, DefaultScale.POWER); + return target.heal(timestamp, current, maximum, this._source); + } + } + + public static class DepthScaleHeal extends Targeted { + protected int _amount; + + public DepthScaleHeal() { + } + + public boolean execute(int timestamp, Logic activator) { + this._target.resolve(activator, this._targets); + boolean success = false; + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + Logic target = this._targets.get(ii); + if (target instanceof Damageable && target.isActive()) { + success = ((Damageable)target).heal(timestamp, this._amount, 0, this._source) || success; + } + } + + this._targets.clear(); + return success; + } + + protected void didInit() { + ConfigManager cfgmgr = this._scenemgr.getConfigManager(); + com.threerings.projectx.dungeon.config.DungeonActionConfig.DepthScaleHeal config = (com.threerings.projectx.dungeon.config.DungeonActionConfig.DepthScaleHeal)this._config; + this._target = this.createTarget(config.target, this._source); + DepthScaleConfig depthScale = cfgmgr.getConfig(DepthScaleConfig.class, config.depthScale); + if (config != null) { + int depth = DepthUtil.getDepth(this._scenemgr, DepthUtil.getUltimateSource(this._source)); + this._amount = FloatMath.iceil(depthScale.getValue(cfgmgr, depth)); + } + + } + } + + public static class Heal extends Targeted { + public Heal() { + } + + public boolean execute(int timestamp, Logic activator) { + this._target.resolve(activator, this._targets); + boolean success = false; + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + Logic target = this._targets.get(ii); + if (target instanceof Damageable && target.isActive()) { + success = this.doHeal(timestamp, (Damageable)target) || success; + } + } + + this._targets.clear(); + return success; + } + + protected boolean doHeal(int timestamp, Damageable target) { + com.threerings.projectx.dungeon.config.DungeonActionConfig.Heal config = (com.threerings.projectx.dungeon.config.DungeonActionConfig.Heal)this._config; + return target.heal(timestamp, config.current, config.maximum, this._source); + } + + protected void didInit() { + com.threerings.projectx.dungeon.config.DungeonActionConfig.Heal config = (com.threerings.projectx.dungeon.config.DungeonActionConfig.Heal)this._config; + this._target = this.createTarget(config.target, this._source); + } + } + + public static class DamageTarget extends Targeted { + protected DamageLogic _damage; + + public DamageTarget() { + } + + public boolean execute(int timestamp, Logic activator) { + this._target.resolve(activator, this._targets); + int damages = 0; + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + Logic target = this._targets.get(ii); + if ((!(target instanceof ActorLogic) || !((ActorLogic) target).isDestroyed()) && this._damage.inflict(timestamp, null, this._targets.get(ii))) { + ++damages; + } + } + + this._targets.clear(); + DungeonActionLogic.damageInflicted(this._scenemgr, timestamp, damages, activator); + return true; + } + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + this._damage.transfer(((DungeonActionLogic.DamageTarget)source)._damage, refs); + } + + protected void didInit() { + com.threerings.projectx.dungeon.config.DungeonActionConfig.DamageTarget config = (com.threerings.projectx.dungeon.config.DungeonActionConfig.DamageTarget)this._config; + this._target = this.createTarget(config.target, this._source); + this._damage = DamageLogic.createDamage(this._scenemgr, config.damage, this._source); + } + } + + public static class DamageRegionFromPoint extends DungeonActionLogic.DamageRegion { + protected TargetLogic _location; + protected static final int IMPULSE_CUTOFF = 2; + + public DamageRegionFromPoint() { + } + + public boolean execute(int timestamp, Logic activator) { + List shapes = this.getShapes(activator); + if (this._scenemgr.getDebugRegions()) { + this.flash(timestamp, shapes); + } + + if (!(this._scenemgr instanceof LevelSceneManager)) { + return false; + } else { + LevelSceneManager scenemgr = (LevelSceneManager)this._scenemgr; + com.threerings.projectx.dungeon.config.DungeonActionConfig.DamageRegionFromPoint config = (com.threerings.projectx.dungeon.config.DungeonActionConfig.DamageRegionFromPoint)this._config; + List locations = Lists.newArrayList(); + this._location.resolve(activator, locations); + Vector2f origin = locations.get(0).getTransform().transformPoint(config.translation); + List elements = null; + if (config.impulseDealt != null) { + elements = Lists.newArrayList(); + } + + int damaged = scenemgr.inflictDamage(timestamp, shapes, this._damage, this._source, config.collisionMask, origin, config.area, elements); + if (config.impulseDealt == null) { + return true; + } else { + origin = locations.get(0).getTransform().transformPoint(config.impulseTranslation); + int jj = 0; + + for(int mm = elements.size(); jj < mm; ++jj) { + SpaceElement element = elements.get(jj); + if (element != null) { + ActorLogic logic = (ActorLogic)element.getUserObject(); + if (logic instanceof Impulseable && !logic.isDestroyed()) { + Impulse impulse = maybeCreateImpulse(timestamp, config.impulseDealt, (Impulseable)logic, origin, damaged < jj); + if (impulse != null) { + ((Impulseable)logic).addImpulse(impulse); + } + } + } + } + + damageInflicted(this._scenemgr, timestamp, damaged, activator); + return true; + } + } + } + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + this._location.transfer(((DungeonActionLogic.DamageRegionFromPoint)source)._location, refs); + } + + protected void didInit() { + super.didInit(); + com.threerings.projectx.dungeon.config.DungeonActionConfig.DamageRegionFromPoint config = (com.threerings.projectx.dungeon.config.DungeonActionConfig.DamageRegionFromPoint)this._config; + this._location = this.createTarget(config.location, this._source); + } + } + + public static class DamageRegion extends DungeonActionLogic { + protected RegionLogic _region; + protected DamageLogic _damage; + + public DamageRegion() { + } + + public boolean execute(int timestamp, Logic activator) { + List shapes = this.getShapes(activator); + if (this._scenemgr.getDebugRegions()) { + this.flash(timestamp, shapes); + } + + int damaged = 0; + if (this._scenemgr instanceof LevelSceneManager) { + LevelSceneManager scenemgr = (LevelSceneManager)this._scenemgr; + damaged = scenemgr.inflictDamage(timestamp, shapes, this._damage, this._source); + } + + damageInflicted(this._scenemgr, timestamp, damaged, activator); + return true; + } + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + DungeonActionLogic.DamageRegion dsource = (DungeonActionLogic.DamageRegion)source; + this._region.transfer(dsource._region, refs); + this._damage.transfer(dsource._damage, refs); + } + + protected void didInit() { + com.threerings.projectx.dungeon.config.DungeonActionConfig.DamageRegion config = (com.threerings.projectx.dungeon.config.DungeonActionConfig.DamageRegion)this._config; + this._region = this.createRegion(config.region, this._source); + this._damage = DamageLogic.createDamage(this._scenemgr, config.damage, this._source); + } + + protected List getShapes(Logic activator) { + List shapes = Lists.newArrayList(); + this._region.resolve(activator, shapes); + return shapes; + } + + protected void flash(int timestamp, List shapes) { + com.threerings.tudey.shape.Compound compound = new com.threerings.tudey.shape.Compound(shapes.toArray(new Shape[0])); + Vector2f center = compound.getCenter(); + Shape compoundShape = compound.transform(new Transform2D(center.negate(), 0.0F)); + this._scenemgr.fireEffect(timestamp, null, center, -1.5707964F, "Debug/Flash Shape", "Shape", compoundShape.createConfig()); + } + } +} diff --git a/src/com/threerings/projectx/dungeon/server/logic/DungeonConditionLogic.java b/src/com/threerings/projectx/dungeon/server/logic/DungeonConditionLogic.java new file mode 100644 index 0000000..3894067 --- /dev/null +++ b/src/com/threerings/projectx/dungeon/server/logic/DungeonConditionLogic.java @@ -0,0 +1,313 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package com.threerings.projectx.dungeon.server.logic; + +import com.github.thetya.server.dungeon.LevelSceneManager; +import com.google.common.collect.Lists; +import com.google.inject.Inject; +import com.samskivert.util.IntListUtil; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.dungeon.config.DungeonConditionConfig; +import com.threerings.projectx.dungeon.config.DungeonItemConfig.Key; +import com.threerings.projectx.dungeon.data.LevelSceneConfig; +import com.threerings.projectx.dungeon.data.actor.Dungeoneer; +import com.threerings.projectx.dungeon.data.actor.Monster; +import com.threerings.projectx.dungeon.server.LevelParty; +import com.threerings.projectx.dungeon.server.Party; +import com.threerings.projectx.item.data.Item; +import com.threerings.projectx.item.server.ItemManager; +import com.threerings.projectx.server.logic.KnightLogic; +import com.threerings.projectx.server.logic.ProjectXConditionLogic; +import com.threerings.tudey.server.logic.ActorLogic; +import com.threerings.tudey.server.logic.Logic; +import com.threerings.tudey.server.logic.ConditionLogic.Targeted; +import java.util.ArrayList; +import java.util.List; + +public abstract class DungeonConditionLogic extends ProjectXConditionLogic { + public DungeonConditionLogic() { + } + + public static class MonsterAttack extends DungeonConditionLogic.MonsterBase { + public MonsterAttack() { + } + + protected boolean monsterCheck(MonsterLogic logic) { + Monster monster = (Monster)logic.getActor(); + return IntListUtil.contains(((com.threerings.projectx.dungeon.config.DungeonConditionConfig.MonsterAttack)this._config).attacks, monster.getActivity() - 4); + } + } + + public static class MonsterHasItem extends DungeonConditionLogic.MonsterBase { + public MonsterHasItem() { + } + + protected boolean monsterCheck(MonsterLogic logic) { + return logic.getItem() != null; + } + } + + public abstract static class MonsterBase extends Targeted { + protected List _targets = Lists.newArrayList(); + + public MonsterBase() { + } + + public boolean isSatisfied(Logic activator) { + this._target.resolve(activator, this._targets); + + boolean var9; + try { + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + Logic target = (Logic)this._targets.get(ii); + if (target instanceof MonsterLogic) { + boolean var5 = this.monsterCheck((MonsterLogic)target); + return var5; + } + } + + var9 = false; + } finally { + this._targets.clear(); + } + + return var9; + } + + protected void didInit() { + this._target = this.createTarget(((com.threerings.projectx.dungeon.config.DungeonConditionConfig.MonsterBase)this._config).target, this._source); + } + + protected abstract boolean monsterCheck(MonsterLogic var1); + } + + public static class Health extends Targeted { + protected List _targets = Lists.newArrayList(); + + public Health() { + } + + public boolean isSatisfied(Logic activator) { + this._target.resolve(activator, this._targets); + + try { + com.threerings.projectx.dungeon.config.DungeonConditionConfig.Health config = (com.threerings.projectx.dungeon.config.DungeonConditionConfig.Health)this._config; + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + Logic target = (Logic)this._targets.get(ii); + float current; + int max; + if (target instanceof MonsterLogic) { + current = (float)((MonsterLogic)target).getHealth(); + max = ((MonsterLogic)target).getMaxHealth(); + } else { + if (!(target instanceof DungeoneerLogic)) { + continue; + } + + Party party = Party.getParty(this._scenemgr); + if (party == null) { + continue; + } + + PlayerObject plobj = ((DungeoneerLogic)target).getPlayerObject(); + com.threerings.projectx.dungeon.data.Health health = party.getPartyObject().getHealth(plobj.getOid()); + if (health == null) { + continue; + } + + current = (float)health.current; + max = health.maximum; + } + + if (config.percent) { + current /= (float)max; + } + + if (config.below == current < config.health) { + boolean var15 = true; + return var15; + } + } + + boolean var14 = false; + return var14; + } finally { + this._targets.clear(); + } + } + + protected void didInit() { + this._target = this.createTarget(((com.threerings.projectx.dungeon.config.DungeonConditionConfig.Health)this._config).target, this._source); + } + } + + public static class IsSpawnType extends DungeonConditionLogic { + public IsSpawnType() { + } + + public boolean isSatisfied(Logic activator) { + if (!(this._scenemgr instanceof LevelSceneManager)) { + return false; + } else { + LevelSceneConfig lconfig = (LevelSceneConfig)this._scenemgr.getConfig(); + return lconfig.spawnTypes != null && lconfig.spawnTypes.contains(((DungeonConditionConfig.IsSpawnType)this._config).spawnType); + } + } + } + + public static class IsDepth extends DungeonConditionLogic { + public IsDepth() { + } + + public boolean isSatisfied(Logic activator) { + Party party = Party.getParty(this._scenemgr); + int depth = party == null ? 0 : party.getDepth(); + com.threerings.projectx.dungeon.config.DungeonConditionConfig.IsDepth config = (com.threerings.projectx.dungeon.config.DungeonConditionConfig.IsDepth)this._config; + return depth >= config.minDepth && depth <= config.maxDepth; + } + } + + public static class IsLevel extends DungeonConditionLogic { + public IsLevel() { + } + + public boolean isSatisfied(Logic activator) { + com.threerings.projectx.dungeon.config.DungeonConditionConfig.IsLevel config = (com.threerings.projectx.dungeon.config.DungeonConditionConfig.IsLevel)this._config; + return this.inLevel(this._source, config.minLevel, config.maxLevel); + } + + protected boolean inLevel(Logic source, int minLevel, int maxLevel) { + if (!(source instanceof AttackLogic)) { + return source instanceof ActorLogic ? this.inLevel(((ActorLogic)source).getSource(), minLevel, maxLevel) : false; + } else { + int level = ((AttackLogic)source).getLevel() + 1; + return level >= minLevel && level <= maxLevel; + } + } + } + + public static class HasLift extends Targeted { + protected List _targets = Lists.newArrayList(); + + public HasLift() { + } + + public boolean isSatisfied(Logic activator) { + this._target.resolve(activator, this._targets); + + boolean var10; + try { + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + Logic target = (Logic)this._targets.get(ii); + if (target instanceof DungeoneerLogic) { + Dungeoneer dungeoneer = (Dungeoneer)((DungeoneerLogic)target).getActor(); + Logic target$ = this._scenemgr.getActorLogic(dungeoneer.getLift()); + if (target$ != null && target$ instanceof LiftLogic && ((LiftLogic)target$).canSetActionable(((com.threerings.projectx.dungeon.config.DungeonConditionConfig.HasLift)this._config).liftSignal)) { + boolean var6 = true; + return var6; + } + } + } + + var10 = false; + } finally { + this._targets.clear(); + } + + return var10; + } + + protected void didInit() { + this._target = this.createTarget(((com.threerings.projectx.dungeon.config.DungeonConditionConfig.HasLift)this._config).target, this._source); + } + } + + public static class HasKey extends Targeted { + protected List _targets = Lists.newArrayList(); + @Inject + protected ItemManager _itemmgr; + + public HasKey() { + } + + public boolean isSatisfied(Logic activator) { + this._target.resolve(activator, this._targets); + + try { + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + Logic target = (Logic)this._targets.get(ii); + if (target instanceof KnightLogic) { + PlayerObject player = ((KnightLogic)target).getPlayerObject(); + ArrayList keys = Lists.newArrayList(); + this._itemmgr.getItems(player, Key.class, keys); + if (keys.size() > 0) { + if (((com.threerings.projectx.dungeon.config.DungeonConditionConfig.HasKey)this._config).consume) { + Item key = (Item)keys.get(0); + this._itemmgr.removeItem(player, key); + } + + boolean var12 = true; + return var12; + } + } + } + + boolean var11 = false; + return var11; + } finally { + this._targets.clear(); + } + } + + protected void didInit() { + this._target = this.createTarget(((com.threerings.projectx.dungeon.config.DungeonConditionConfig.HasKey)this._config).target, this._source); + } + } + + public static class PartyLeader extends Targeted { + protected List _targets = Lists.newArrayList(); + + public PartyLeader() { + } + + public boolean isSatisfied(Logic activator) { + this._target.resolve(activator, this._targets); + + try { + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + Logic target = (Logic)this._targets.get(ii); + if (target instanceof KnightLogic) { + PlayerObject player = ((KnightLogic)target).getPlayerObject(); + LevelParty party = LevelParty.getParty(player); + if (party != null && party.getLeader() == player) { + boolean var7 = true; + return var7; + } + } + } + + boolean var11 = false; + return var11; + } finally { + this._targets.clear(); + } + } + + protected void didInit() { + this._target = this.createTarget(((com.threerings.projectx.dungeon.config.DungeonConditionConfig.PartyLeader)this._config).target, this._source); + } + } +} diff --git a/src/com/threerings/projectx/dungeon/server/logic/DungeonEntryLogic.java b/src/com/threerings/projectx/dungeon/server/logic/DungeonEntryLogic.java new file mode 100644 index 0000000..a3abee3 --- /dev/null +++ b/src/com/threerings/projectx/dungeon/server/logic/DungeonEntryLogic.java @@ -0,0 +1,50 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package com.threerings.projectx.dungeon.server.logic; + +import com.github.thetya.server.dungeon.LevelSceneManager; +import com.threerings.projectx.dungeon.server.DungeonModifiers; +import com.threerings.projectx.server.logic.ProjectXEntryLogic; +import com.threerings.tudey.data.TudeySceneModel.GlobalEntry; + +public abstract class DungeonEntryLogic extends ProjectXEntryLogic { + public DungeonEntryLogic() { + } + + public static class PPMonsterDamageBonus extends DungeonEntryLogic.DungeonModifier { + public PPMonsterDamageBonus() { + } + + protected void updateModifiers(com.threerings.projectx.dungeon.config.DungeonSceneGlobalConfig.DungeonModifier config, DungeonModifiers modifiers) { + modifiers.ppMonsterDamageBonus = ((com.threerings.projectx.dungeon.config.DungeonSceneGlobalConfig.PPMonsterDamageBonus)config).maxBonus; + } + } + + public static class PPMonsterHealthBonus extends DungeonEntryLogic.DungeonModifier { + public PPMonsterHealthBonus() { + } + + protected void updateModifiers(com.threerings.projectx.dungeon.config.DungeonSceneGlobalConfig.DungeonModifier config, DungeonModifiers modifiers) { + modifiers.ppMonsterHealthBonus = ((com.threerings.projectx.dungeon.config.DungeonSceneGlobalConfig.PPMonsterHealthBonus)config).maxBonus; + } + } + + public abstract static class DungeonModifier extends DungeonEntryLogic { + public DungeonModifier() { + } + + protected void didInit() { + if (this._scenemgr instanceof LevelSceneManager) { + GlobalEntry gentry = (GlobalEntry)this._entry; + com.threerings.projectx.dungeon.config.DungeonSceneGlobalConfig.DungeonModifier config = (com.threerings.projectx.dungeon.config.DungeonSceneGlobalConfig.DungeonModifier)gentry.getConfig(this._scenemgr.getConfigManager()); + this.updateModifiers(config, ((LevelSceneManager)this._scenemgr).getModifiers()); + } + + } + + protected abstract void updateModifiers(com.threerings.projectx.dungeon.config.DungeonSceneGlobalConfig.DungeonModifier var1, DungeonModifiers var2); + } +} diff --git a/src/com/threerings/projectx/dungeon/server/logic/DungeonHandlerLogic.java b/src/com/threerings/projectx/dungeon/server/logic/DungeonHandlerLogic.java new file mode 100644 index 0000000..ed5819f --- /dev/null +++ b/src/com/threerings/projectx/dungeon/server/logic/DungeonHandlerLogic.java @@ -0,0 +1,121 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package com.threerings.projectx.dungeon.server.logic; + +import com.github.thetya.server.dungeon.LevelParty; +import com.github.thetya.server.dungeon.LevelSceneManager.DamageSensor; +import com.github.thetya.server.scene.ThetyaSceneManager; +import com.threerings.projectx.dungeon.data.ActorMapEntry; +import com.threerings.projectx.dungeon.data.DungeonCodes; +import com.threerings.projectx.dungeon.data.LevelPartyObject; +import com.threerings.projectx.server.logic.ProjectXHandlerLogic; +import com.threerings.tudey.server.TudeySceneManager.IntersectionSensor; +import com.threerings.tudey.server.logic.ActorLogic; +import com.threerings.tudey.server.logic.Logic; +import com.threerings.tudey.shape.Circle; +import com.threerings.tudey.shape.ShapeElement; + +import java.util.Map; + +public abstract class DungeonHandlerLogic extends ProjectXHandlerLogic implements DungeonCodes { + public DungeonHandlerLogic() { + } + + public static class MinimapIcon extends DungeonHandlerLogic implements ShapeObserver, IntersectionSensor { + protected ShapeElement _shape; + protected LevelPartyObject _partyObj; + + public MinimapIcon() { + } + + public void startup(int timestamp) { + if (this._source instanceof ActorLogic && ((com.threerings.projectx.dungeon.config.DungeonHandlerConfig.MinimapIcon)this._config).icon != null) { + this._shape = new ShapeElement(new Circle(this._source.getTransform().getTranslation(), 20.0F)); + this._shape.setUserObject(this); + this._scenemgr.getSensorSpace().add(this._shape); + this._source.addShapeObserver(this); + } + + } + + public void shapeWillChange(Logic source) { + } + + public void shapeDidChange(Logic source) { + this._shape.getLocalShape().getCenter().set(this._source.getTransform().getTranslation()); + } + + public int getMask() { + return PLAYER_COLLISION_MASK; + } + + public void trigger(int timestamp, ActorLogic actor) { + if (actor instanceof DungeoneerLogic) { + this._scenemgr.getSensorSpace().remove(this._shape); + this._source.removeShapeObserver(this); + this._shape = null; + LevelParty party = (LevelParty) DungeonTargetLogic.getParty((ThetyaSceneManager) this._scenemgr, actor); + if (party != null) { + this._partyObj = party.getPartyObject(); + this._partyObj.addToMapActors(new ActorMapEntry(((ActorLogic)this._source).getActor().getId(), ((com.threerings.projectx.dungeon.config.DungeonHandlerConfig.MinimapIcon)this._config).icon.file)); + } + } + + } + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + this.startup(0); + } + + public void shutdown(int timestamp, Logic activator) { + if (this._shape != null) { + this._scenemgr.getSensorSpace().remove(this._shape); + this._source.removeShapeObserver(this); + } + + int id = ((ActorLogic)this._source).getActor().getId(); + if (this._partyObj != null && this._partyObj.mapActors.containsKey(id)) { + this._partyObj.removeFromMapActors(id); + } + + } + } + + public static class PartyIntersection extends BaseIntersectionCount { + public PartyIntersection() { + } + + protected void countChanged(int timestamp, int newCount) { + LevelParty party = LevelParty.getParty(this._scenemgr); + if (newCount > 0 && party != null && newCount == party.getLivingMemberCount()) { + this.execute(timestamp); + } + + } + } + + public static class Damage extends BaseIntersection implements DamageSensor { + public Damage() { + super(false, false); + } + + public int getMask() { + return ((com.threerings.projectx.dungeon.config.DungeonHandlerConfig.Damage)this._config).mask; + } + + public void trigger(int timestamp, ActorLogic actor) { + this.execute(timestamp, actor); + } + } +} diff --git a/src/com/threerings/projectx/dungeon/server/logic/DungeonTargetLogic.java b/src/com/threerings/projectx/dungeon/server/logic/DungeonTargetLogic.java new file mode 100644 index 0000000..d4ef6d2 --- /dev/null +++ b/src/com/threerings/projectx/dungeon/server/logic/DungeonTargetLogic.java @@ -0,0 +1,275 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package com.threerings.projectx.dungeon.server.logic; + +import com.github.thetya.server.dungeon.LevelParty; +import com.github.thetya.server.dungeon.Party; +import com.github.thetya.server.scene.ThetyaSceneManager; +import com.google.common.collect.Lists; +import com.google.common.collect.Sets; +import com.threerings.math.FloatMath; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.dungeon.data.actor.Dungeoneer; +import com.threerings.projectx.server.logic.KnightLogic; +import com.threerings.projectx.server.logic.ProjectXTargetLogic; +import com.threerings.tudey.data.TudeySceneObject; +import com.threerings.tudey.server.logic.Logic; +import com.threerings.tudey.server.logic.TargetLogic; + +import java.util.Collection; +import java.util.Iterator; +import java.util.List; +import java.util.Set; + +public abstract class DungeonTargetLogic extends ProjectXTargetLogic { + public DungeonTargetLogic() { + } + + public static Party getParty(ThetyaSceneManager scenemgr, Logic logic) { + Party party = Party.getParty(scenemgr); + if (party != null) { + return party; + } else { + return logic instanceof KnightLogic ? Party.getParty(((KnightLogic)logic).getPlayerObject()) : null; + } + } + + public static class Lift extends DungeonTargetLogic { + protected TargetLogic _target; + + public Lift() { + } + + public void resolve(Logic activator, Collection results) { + List targets = Lists.newArrayList(); + this._target.resolve(activator, targets); + Iterator i$ = targets.iterator(); + + while(i$.hasNext()) { + Logic target = (Logic)i$.next(); + if (target instanceof DungeoneerLogic) { + int liftId = ((Dungeoneer)((DungeoneerLogic)target).getActor()).getLift(); + if (liftId != 0) { + Logic logic = this._scenemgr.getActorLogic(liftId); + if (logic != null) { + results.add(logic); + } + } + } + } + + } + + protected void didInit() { + this._target = this.createTarget(((com.threerings.projectx.dungeon.config.DungeonTargetConfig.Lift)this._config).target, this._source); + } + } + + public static class HighestHealth extends DungeonTargetLogic.HealthSubset { + public HighestHealth() { + } + + public boolean betterTarget(float current, int max) { + com.threerings.projectx.dungeon.config.DungeonTargetConfig.LowestHealth config = (com.threerings.projectx.dungeon.config.DungeonTargetConfig.LowestHealth)this._config; + if (config.percent) { + return current / (float)max > (float)this._health / (float)this._max; + } else { + return current > (float)this._health; + } + } + } + + public static class LowestHealth extends DungeonTargetLogic.HealthSubset { + public LowestHealth() { + } + + public boolean betterTarget(float current, int max) { + com.threerings.projectx.dungeon.config.DungeonTargetConfig.LowestHealth config = (com.threerings.projectx.dungeon.config.DungeonTargetConfig.LowestHealth)this._config; + if (config.percent) { + return current / (float)max < (float)this._health / (float)this._max; + } else { + return current < (float)this._health; + } + } + } + + public abstract static class HealthSubset extends DungeonTargetLogic.BaseHealth { + protected Logic _bestTarget; + protected int _health; + protected int _max; + + public HealthSubset() { + } + + public void resolve(Logic activator, Collection results) { + super.resolve(activator, results); + if (this._bestTarget != null) { + results.add(this._bestTarget); + } + + this._bestTarget = null; + } + + public void checkTarget(Logic target, float current, int max, Collection results) { + if (this._bestTarget == null || this.betterTarget(current, max)) { + this._health = FloatMath.ifloor(current); + this._max = max; + this._bestTarget = target; + } + + } + + public abstract boolean betterTarget(float var1, int var2); + } + + public static class Health extends DungeonTargetLogic.BaseHealth { + public Health() { + } + + public void checkTarget(Logic target, float current, int max, Collection results) { + com.threerings.projectx.dungeon.config.DungeonTargetConfig.Health config = (com.threerings.projectx.dungeon.config.DungeonTargetConfig.Health)this._config; + if (config.percent) { + current /= (float)max; + } + + if (config.below == current < config.health) { + results.add(target); + } + + } + } + + public abstract static class BaseHealth extends DungeonTargetLogic { + protected TargetLogic _target; + + public BaseHealth() { + } + + public void resolve(Logic activator, Collection results) { + List targets = Lists.newArrayList(); + this._target.resolve(activator, targets); + com.threerings.projectx.dungeon.config.DungeonTargetConfig.BaseHealth config = (com.threerings.projectx.dungeon.config.DungeonTargetConfig.BaseHealth)this._config; + int ii = 0; + + for(int nn = targets.size(); ii < nn; ++ii) { + Logic target = targets.get(ii); + float current = 0.0F; + int max = 0; + if (target instanceof MonsterLogic) { + current = (float)((MonsterLogic)target).getHealth(); + max = ((MonsterLogic)target).getMaxHealth(); + } else { + if (!(target instanceof DungeoneerLogic)) { + continue; + } + + Party party = Party.getParty(this._scenemgr); + if (party == null) { + continue; + } + + PlayerObject plobj = ((DungeoneerLogic)target).getPlayerObject(); + com.threerings.projectx.dungeon.data.Health health = party.getPartyObject().getHealth(plobj.getOid()); + if (health != null) { + current = (float)health.current; + max = health.maximum; + } + } + + this.checkTarget(target, current, max, results); + } + + } + + protected void didInit() { + this._target = this.createTarget(((com.threerings.projectx.dungeon.config.DungeonTargetConfig.BaseHealth)this._config).target, this._source); + } + + public abstract void checkTarget(Logic var1, float var2, int var3, Collection var4); + } + + public static class PartyLeader extends DungeonTargetLogic { + protected TargetLogic _target; + + public PartyLeader() { + } + + public void resolve(Logic activator, Collection results) { + List targets = Lists.newArrayList(); + this._target.resolve(activator, targets); + Set parties = Sets.newHashSet(); + TudeySceneObject tsobj = (TudeySceneObject)this._scenemgr.getPlaceObject(); + int ii = 0; + + for(int nn = targets.size(); ii < nn; ++ii) { + Party party = getParty((ThetyaSceneManager) this._scenemgr, targets.get(ii)); + if (party instanceof LevelParty && !parties.contains(party)) { + parties.add(party); + PlayerObject leader = ((LevelParty)party).getLeader(); + if (leader != null) { + int pawnId = tsobj.getPawnId(leader.getOid()); + Logic logic = this._scenemgr.getActorLogic(pawnId); + if (logic != null) { + results.add(logic); + } + } + } + } + + } + + protected void didInit() { + this._target = this.createTarget(((com.threerings.projectx.dungeon.config.DungeonTargetConfig.PartyLeader)this._config).target, this._source); + } + } + + public static class PartyMembers extends DungeonTargetLogic { + protected TargetLogic _target; + + public PartyMembers() { + } + + public void resolve(Logic activator, Collection results) { + List targets = Lists.newArrayList(); + this._target.resolve(activator, targets); + Set parties = Sets.newHashSet(); + TudeySceneObject tsobj = (TudeySceneObject)this._scenemgr.getPlaceObject(); + boolean dead = ((com.threerings.projectx.dungeon.config.DungeonTargetConfig.PartyMembers)this._config).dead; + int ii = 0; + + for(int nn = targets.size(); ii < nn; ++ii) { + Party party = getParty((ThetyaSceneManager) this._scenemgr, targets.get(ii)); + if (party != null && !parties.contains(party)) { + parties.add(party); + int jj = 0; + + for(int mm = party.getMemberCount(); jj < mm; ++jj) { + int poid = party.getMember(jj).getOid(); + int pawnId = tsobj.getPawnId(poid); + if (!dead || party.getPartyObject().getHealth(poid).current <= 0) { + Logic logic = this._scenemgr.getActorLogic(pawnId); + if (logic != null) { + results.add(logic); + } + } + } + } + } + + } + + protected void didInit() { + this._target = this.createTarget(((com.threerings.projectx.dungeon.config.DungeonTargetConfig.PartyMembers)this._config).target, this._source); + } + } +} diff --git a/src/com/threerings/projectx/dungeon/server/logic/DungeonUseLogic.java b/src/com/threerings/projectx/dungeon/server/logic/DungeonUseLogic.java new file mode 100644 index 0000000..777ac52 --- /dev/null +++ b/src/com/threerings/projectx/dungeon/server/logic/DungeonUseLogic.java @@ -0,0 +1,93 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package com.threerings.projectx.dungeon.server.logic; + +import com.github.thetya.server.dungeon.Party; +import com.github.thetya.server.item.ItemManager; +import com.google.inject.Inject; +import com.samskivert.util.ResultListener; +import com.threerings.config.ConfigManager; +import com.threerings.config.ConfigReference; +import com.threerings.crowd.server.PlaceManager; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.dungeon.config.DungeonItemConfig; +import com.threerings.projectx.dungeon.config.DungeonItemConfig.Capsule; +import com.threerings.projectx.item.config.ItemConfig; +import com.threerings.projectx.item.config.ItemConfig.Original; +import com.threerings.projectx.item.data.Item; +import com.threerings.projectx.item.data.ItemCodes; +import com.threerings.projectx.item.server.logic.UseLogic; +import com.threerings.tudey.server.TudeySceneManager; +import com.threerings.tudey.server.logic.ActorLogic; +import com.threerings.tudey.server.logic.Logic; + +public abstract class DungeonUseLogic extends UseLogic implements ItemCodes { + @Inject + protected ItemManager _itemMgr; + @Inject + protected ConfigManager _configMgr; + + public DungeonUseLogic() { + } + + public static boolean activateItem(int timestamp, ConfigReference ref, Logic source, TudeySceneManager scenemgr) { + ItemConfig item = scenemgr.getConfigManager().getConfig(ItemConfig.class, ref); + Original original = item.getOriginal(scenemgr.getConfigManager()); + return original != null && UseLogic.activateItem(timestamp, ref, source, scenemgr); + } + + public void use(PlayerObject player, Item item, ResultListener rl) { + TudeySceneManager scenemgr = this.getSceneManager(player); + DungeoneerLogic logic = this.getDungeoneerLogic(player, scenemgr); + Party party = Party.getParty(player); + if (logic != null && party != null) { + if (logic.usingItem(item)) { + this.doUse(player, item, rl); + } else { + logic.queueItem(item.getItemId()); + rl.requestCompleted(null); + } + + } else { + rl.requestCompleted(null); + } + } + + public abstract void doUse(PlayerObject var1, Item var2, ResultListener var3); + + public TudeySceneManager getSceneManager(PlayerObject player) { + PlaceManager plmgr = this._plreg.getPlaceManager(player.getPlaceOid()); + return !(plmgr instanceof TudeySceneManager) ? null : (TudeySceneManager)plmgr; + } + + public DungeoneerLogic getDungeoneerLogic(PlayerObject player, TudeySceneManager scenemgr) { + if (scenemgr == null) { + return null; + } else if (player.pawnId <= 0) { + return null; + } else { + ActorLogic logic = scenemgr.getActorLogic(player.pawnId); + return logic instanceof DungeoneerLogic && ((DungeoneerLogic)logic).canLift() ? (DungeoneerLogic)logic : null; + } + } + + public static class Capsule extends DungeonUseLogic { + public Capsule() { + } + + @Override + public void doUse(PlayerObject var1, Item var2, ResultListener var3) { + _itemMgr.removeItem(var1, var2); + } + } +} diff --git a/src/com/threerings/projectx/dungeon/server/logic/DungeoneerLogic.java b/src/com/threerings/projectx/dungeon/server/logic/DungeoneerLogic.java new file mode 100644 index 0000000..495c8c3 --- /dev/null +++ b/src/com/threerings/projectx/dungeon/server/logic/DungeoneerLogic.java @@ -0,0 +1,928 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package com.threerings.projectx.dungeon.server.logic; + +import com.github.thetya.server.dungeon.LevelParty; +import com.github.thetya.server.dungeon.Party; +import com.google.common.collect.Maps; +import com.google.inject.Inject; +import com.samskivert.util.IntListUtil; +import com.samskivert.util.ObjectUtil; +import com.samskivert.util.ResultListener; +import com.threerings.config.ConfigManager; +import com.threerings.config.ConfigReference; +import com.threerings.crowd.data.BodyObject; +import com.threerings.math.FloatMath; +import com.threerings.math.Vector2f; +import com.threerings.presents.dobj.AttributeChangedEvent; +import com.threerings.presents.dobj.DObject; +import com.threerings.presents.dobj.ElementUpdatedEvent; +import com.threerings.presents.server.PresentsDObjectMgr; +import com.threerings.projectx.config.ActionDesc; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.dungeon.config.AttackConfig; +import com.threerings.projectx.dungeon.config.AttackConfig.Original; +import com.threerings.projectx.dungeon.config.StatusConditionConfig; +import com.threerings.projectx.dungeon.data.ImmutableStatusModifiers; +import com.threerings.projectx.dungeon.data.PartyObject; +import com.threerings.projectx.dungeon.data.Status; +import com.threerings.projectx.dungeon.data.actor.Dungeoneer; +import com.threerings.projectx.dungeon.data.actor.Impulse; +import com.threerings.projectx.dungeon.server.DepthUtil; +import com.threerings.projectx.dungeon.server.logic.AttackLogic.AttackObserver; +import com.threerings.projectx.dungeon.util.AutoTargeter; +import com.threerings.projectx.dungeon.util.CompoundDamageModifier; +import com.threerings.projectx.dungeon.util.DamageSummary; +import com.threerings.projectx.dungeon.util.DamageSummary.DamageType; +import com.threerings.projectx.dungeon.util.DamageSummary.Total; +import com.threerings.projectx.dungeon.util.DungeoneerAdvancer; +import com.threerings.projectx.dungeon.util.DungeoneerAdvancer.Environment; +import com.threerings.projectx.item.config.ItemConfig; +import com.threerings.projectx.item.config.ItemConfig.Gear; +import com.threerings.projectx.item.config.ItemConfig.Shield; +import com.threerings.projectx.item.config.ItemConfig.Weapon; +import com.threerings.projectx.item.config.ItemPropertyConfig.LevelItemProps; +import com.threerings.projectx.item.data.*; +import com.threerings.projectx.server.logic.Actionable; +import com.threerings.projectx.server.logic.KnightLogic; +import com.threerings.tudey.data.TudeySceneObject; +import com.threerings.tudey.data.actor.Actor; +import com.threerings.tudey.data.actor.Mobile; +import com.threerings.tudey.server.logic.ActionLogic; +import com.threerings.tudey.server.logic.ActivityLogic; +import com.threerings.tudey.server.logic.ActorLogic; +import com.threerings.tudey.server.logic.Logic; + +import java.util.Iterator; +import java.util.Map; +import java.util.Map.Entry; + +public class DungeoneerLogic extends KnightLogic implements Damageable, ItemCodes, Impulseable, + Environment, Actionable, AttackObserver, UltimateSource { + + public static final boolean SHIELD_BLOCK_STATUS = true; + protected LevelItem _weapon; + protected Map _gearDefenses = Maps.newHashMap(); + protected CompoundDamageModifier _gearDamageModifiers = new CompoundDamageModifier(); + protected ActionLogic _damageAction; + protected float _attackSpeed; + protected int _attackSpeedStarted; + protected StatusDelegate _statusDelegate; + protected int _invulnerabilityEnds; + protected int _resurrectAmount; + protected boolean _dropping; + protected long _queueItem; + @Inject protected PresentsDObjectMgr _omgr; + + protected static final int[] DAMAGELESS_ACTIVITIES = new int[]{1, 265, 266, 267, 268, 270, 271, + 272, 279}; + protected static final int INITIAL_INVULNERABILITY = 5000; + protected static final int HURT_INVULNERABILITY = 1000; + protected static final int REZ_INVULNERABILITY = 2000; + protected static final float CHARGE_INTERRUPT = 0.33F; + protected static final String RESURRECT = "resurrect"; + + protected int getHurtInvulnerability() { + return HURT_INVULNERABILITY; + } + + public void setInTransit(int timestamp) { + this.drop(timestamp); + ((Dungeoneer) this._actor).setActivity(279, timestamp); + } + + public void setWaiting(boolean waiting) { + PartyObject partyobj = this.getParty().getPartyObject(); + Status status = partyobj.getStatus(this._plobj.getOid()); + if (status != null && status.isSet(1) != waiting) { + status.set(1, waiting); + partyobj.updateStatus(status); + } + } + + public void setSplit(boolean split) { + PartyObject partyobj = this.getParty().getPartyObject(); + Status status = partyobj.getStatus(this._plobj.getOid()); + if (status != null && status.isSet(4) != split) { + status.set(4, split); + partyobj.updateStatus(status); + } + } + + public void setRevived(int amount, boolean effect) { + this._resurrectAmount = amount; + if (effect) { + this.showRevived(); + } + + } + + public void setRevivedSelf(int timestamp) { + this.setInvulnerable(timestamp + REZ_INVULNERABILITY); + this.showRevived(); + } + + public boolean lift(LiftLogic lift, int timestamp) { + Dungeoneer dungeoneer = (Dungeoneer) this._actor; + if (this.canLift()) { + dungeoneer.setLift(lift.getActor().getId()); + dungeoneer.setActivity(273, timestamp); + return true; + } else { + return false; + } + } + + public boolean canLift() { + return ((Dungeoneer) this._actor).getLift() == 0; + } + + public void drop(int timestamp) { + if (!this._dropping) { + Dungeoneer dungeoneer = (Dungeoneer) this._actor; + ActorLogic logic = this._scenemgr.getActorLogic(dungeoneer.getLift()); + if (logic != null && logic instanceof LiftLogic) { + this._dropping = true; + LiftLogic liftLogic = (LiftLogic) logic; + liftLogic.setSource(this); + liftLogic.drop(timestamp, this, this._interactionShape.getCenter()); + if (dungeoneer.getActionDesc() != null) { + ((ActionableLogic) this._activities.get(2)).startOther(timestamp, logic); + } + + this._dropping = false; + } + + dungeoneer.setLift(0); + } + } + + public void throwLift(int timestamp) { + if (!this._dropping) { + Dungeoneer dungeoneer = (Dungeoneer) this._actor; + ActorLogic logic = this._scenemgr.getActorLogic(dungeoneer.getLift()); + if (logic != null && logic instanceof LiftLogic) { + this._dropping = true; + LiftLogic liftLogic = (LiftLogic) logic; + liftLogic.setSource(this); + liftLogic.startThrow(timestamp, this, + ((com.threerings.projectx.dungeon.config.DungeonActorConfig.Dungeoneer) this._config).liftHeight); + this._dropping = false; + } + + dungeoneer.setLift(0); + } + } + + public boolean usingItem(Item item) { + if (this.canUseItem()) { + this._statusDelegate.useItem(item, this._scenemgr.getNextTimestamp()); + return true; + } else { + return false; + } + } + + public void queueItem(long itemId) { + if (this._queueItem == 0L) { + this._queueItem = itemId; + } + + } + + public boolean damage(int timestamp, Vector2f origin, DamageLogic source, DamageSummary summary) { + this._statusDelegate.damageStatuses(timestamp, source, summary); + if (!this.canBeDamaged()) { + summary.clear(); + return false; + } else { + Dungeoneer dungeoneer = (Dungeoneer) this._actor; + com.threerings.projectx.dungeon.config.DungeonActorConfig.Dungeoneer config = (com.threerings.projectx.dungeon.config.DungeonActorConfig.Dungeoneer) this._config; + summary.prune(config.damageMask); + Total total = summary.getGrandTotal(); + if (total.isEmpty()) { + return false; + } else { + int amount = FloatMath.iceil(total.getAmount()); + int ii; + int nn; + if (dungeoneer.getActivity() == 278) { + Shield shield = ((DungeoneerAdvancer) this._advancer).getShieldConfig(); + if (shield != null) { + int hp = dungeoneer.getCurrentShieldHealth(shield, timestamp); + if (hp > 0) { + this._gearDefenses.get(2).apply(timestamp, source, this, origin, summary); + total = summary.getGrandTotal(); + ii = FloatMath.iceil(total.getAmount()); + nn = FloatMath.iceil(total.getAmount(DamageType.UNBLOCKABLE)); + ii -= nn; + int statusAmount = 0; + if (hp > ii && total.conditions != null) { + Iterator i$ = total.conditions.iterator(); + + while (i$.hasNext()) { + ConfigReference condition = (ConfigReference) i$.next(); + statusAmount += this._statusDelegate + .getStatusShieldDamage(timestamp, condition, total.chanceModifier, + total.powerModifier); + if (ii + statusAmount >= hp) { + break; + } + } + } + + if (hp > ii + statusAmount) { + hp -= ii + statusAmount; + dungeoneer.setShieldRegenStarted( + timestamp + shield.hitTime - shield.regenTime * hp / dungeoneer + .getShieldMaxHealth()); + dungeoneer.setShieldHealth(hp); + dungeoneer.setActivity(268, timestamp); + summary.scaleBlockableDamage(config.damageMask, 0.0F); + summary.removeAll(); + } else { + float scale = (float) (ii - hp) / (float) ii; + dungeoneer.setShieldRegenStarted(timestamp + shield.breakTime); + dungeoneer.setShieldHealth(0); + summary.scaleBlockableDamage(config.damageMask, scale); + } + } + } + } + + Iterator i$ = this._gearDefenses.entrySet().iterator(); + + while (i$.hasNext()) { + Entry entry = (Entry) i$.next(); + if (entry.getKey() != 2 && entry.getValue() != null) { + entry.getValue().apply(timestamp, source, this, origin, summary); + } + } + + summary.scaleAllDefense(this.getStatusModifiers().getDefenseModifier()); + total = summary.getGrandTotal(); + if (total.isEmpty()) { + return false; + } else { + amount = FloatMath.iceil(total.getAmount()); + if (this._damageAction != null) { + this._damageAction.execute(timestamp, source); + } + + source.execute(timestamp, this); + boolean appliedStatus = false; + if (total.conditions != null) { + Logic statusSource = source.getUltimateSource(); + ii = 0; + + for (nn = total.conditions.size(); ii < nn; ++ii) { + appliedStatus |= this + .applyStatus(timestamp, total.conditions.get(ii), total.chanceModifier, + total.powerModifier, statusSource); + } + } + + if (amount <= 0 && !appliedStatus) { + return false; + } else { + this.hurt(timestamp, amount, total.react, source.getUltimateSource()); + + this.getParty().getPartyObject() + .actorDamaged(timestamp, this.getActor().getId(), this.encodeDamage(total, amount), + 0); + return true; + } + } + } + } + } + + public boolean heal(int timestamp, int current, int maximum, Logic source) { + float healModifier = this.getHealModifier(); + current = (int) ((float) current * healModifier); + if (healModifier > 0.0F) { + Party party = this.getParty(); + return party.healMember(this._plobj.getOid(), current, maximum, false); + } else if (current != 0) { + this.hurt(timestamp, -current, false, DepthUtil.getUltimateSource(source)); + return true; + } + + return false; + } + + public boolean applyStatus(int timestamp, ConfigReference condition, + float chanceModifier, float powerModifier, Logic statusSource) { + if (this._statusDelegate + .applyStatus(timestamp, condition, chanceModifier, powerModifier, statusSource)) { + this.updateStatusConditions(); + return true; + } else { + return false; + } + } + + public boolean applyStatus(int timestamp, ConfigReference condition, + Logic statusSource) { + return this.applyStatus(timestamp, condition, 1.0F, 1.0F, statusSource); + } + + public void clearStatus(int timestamp, int mask) { + if (this._statusDelegate.removeStatus(timestamp, mask)) { + this.updateStatusConditions(); + } + + } + + public int getStatusResist(int mask) { + int resist = 0; + + for (int ii = 0; ii < GEAR_SLOTS.length; ++ii) { + if (ii != 2) { + resist += this.getStatusResist(mask, ii); + } + } + + return this._statusDelegate.getStatusResist(mask, resist); + } + + public int getStatusResist(int mask, int slot) { + DefenseLogic defense = this._gearDefenses.get(slot); + return defense == null ? 0 : defense.getResistance(mask); + } + + public void updateStatusModifiers() { + ((Dungeoneer) this._actor).setStatus(this._statusDelegate.generateStatusModifiers()); + } + + public ImmutableStatusModifiers getStatusModifiers() { + return ((Dungeoneer) this._actor).getStatus(); + } + + public boolean blockDamage(int timestamp, boolean area) { + return false; + } + + public int getDamageMask() { + return ((com.threerings.projectx.dungeon.config.DungeonActorConfig.Dungeoneer) this._config).damageMask; + } + + public boolean isAlive() { + return ((Dungeoneer) this._actor).getActivity() != 1 + && this.getParty().isMemberAlive(this._plobj.getOid()); + } + + public void addImpulse(Impulse impulse) { + ((Dungeoneer) this._actor).addImpulse(impulse); + } + + public int getImpulseLevel() { + return ((com.threerings.projectx.dungeon.config.DungeonActorConfig.Dungeoneer) this._config).impulseLevel; + } + + public Actor getActor(int id) { + ActorLogic logic = this._scenemgr.getActorLogic(id); + return logic == null ? null : logic.getActor(); + } + + public Actor findNearestTarget(Mobile source, float maxDist, float maxAngle, int timestamp) { + return AutoTargeter + .findNearestTarget(source, maxDist, maxAngle, this._scenemgr.getActorSpace(), timestamp); + } + + public String getActionableSignal(Logic activator) { + return ((Dungeoneer) this._actor).getActivity() == 271 && this._resurrectAmount == 0 + && activator instanceof DungeoneerLogic && this.getParty() + .canResurrect(((DungeoneerLogic) activator).getPlayerObject().getOid()) ? RESURRECT + : null; + } + + public ActionDesc getActionDesc() { + return ActionDesc.RESURRECT; + } + + public void attackStarted(int timestamp) { + this._statusDelegate + .attackStarted(((DungeoneerAdvancer) this._advancer).getSelectedWeapon(), timestamp); + } + + public int getDepth() { + return this.getParty().getDepth(); + } + + public int getRarity() { + Weapon config = ((Dungeoneer) this._actor).getWeaponConfig(); + return config == null ? 0 : config.rarity; + } + + public void signal(int timestamp, Logic source, String name) { + super.signal(timestamp, source, name); + if (RESURRECT.equals(name) && source instanceof DungeoneerLogic) { + DungeoneerLogic healer = (DungeoneerLogic) source; + if (healer == this) { + this.getParty().healMember(this._plobj.getOid(), this._resurrectAmount, 0, true); + this._resurrectAmount = 0; + this.setInvulnerable(timestamp + REZ_INVULNERABILITY); + ((Dungeoneer) this._actor).setActivity(272, timestamp); + } else { + int amount = this.getParty(LevelParty.class) + .resurrectMember(this._plobj.getOid(), healer.getPlayerObject().getOid()); + if (amount > 0) { + this._resurrectAmount = amount; + healer.setInvulnerable(timestamp + getHurtInvulnerability()); + this._scenemgr.fireEffect(timestamp, this, Vector2f.ZERO, 0.0F, "Player/Health Rez"); + } + } + } + + } + + public void setActionable(Logic actionable) { + if (((Dungeoneer) this._actor).getActivity() == 271) { + if (this._resurrectAmount > 0) { + this.setActionable(this, RESURRECT, ActionDesc.RESURRECT); + } else { + this.setActionable(null, null, null); + } + } else { + super.setActionable(actionable); + } + + } + + public boolean isActive() { + return super.isActive() && ((Dungeoneer) this._actor).getActivity() != 271; + } + + public boolean tick(int timestamp) { + super.tick(timestamp); + this.updateShocked(timestamp); + this.updateWeapon(timestamp); + if (timestamp >= this._invulnerabilityEnds) { + this._actor.clear(32); + } + + this.updateLift(timestamp); + this.updateItem(); + Dungeoneer dungeoneer = (Dungeoneer) this._actor; + + if (this.getParty().isMemberAlive(this._plobj.getOid())) { + if (271 == dungeoneer.getActivity()) { + dungeoneer.setActivity(272, timestamp); + } + } else if (!dungeoneer.isDeadActivity()) { + dungeoneer.setActivity(271, timestamp); + } + + return true; + } + + public void bodyWillEnter(BodyObject body) { + super.bodyWillEnter(body); + this.updateDefenses(); + this.updateEquipMod(); + this.updateProgressFlags(); + ConfigReference[] conditions = this.getParty().getPartyObject().getStatus(body.getOid()).conditions; + if (conditions != null) { + this._statusDelegate.initConditions(conditions); + } + } + + public void attributeChanged(AttributeChangedEvent event) { + super.attributeChanged(event); + if (event.getName().equals("progressFlags")) { + this.updateProgressFlags(); + } + + } + + public void elementUpdated(ElementUpdatedEvent event) { + super.elementUpdated(event); + if (event.getName().equals("equipment")) { + int idx = event.getIndex(); + if (IntListUtil.contains(GEAR_SLOTS, idx)) { + this.updateGearDefense(idx); + this.updateEquipMod(); + } + } + + } + + public boolean createItem(ConfigReference item, boolean loot, boolean distribute, + boolean dropped, Logic source) { + if (this._plobj != null && this._plobj.isActive()) { + Party party = this.getParty(); + if (distribute && source instanceof PickupLogic) { + PickupLogic psource = (PickupLogic) source; + DObject recobj = this._omgr.getObject(psource.getRecipientOid()); + PlayerObject recipient = recobj instanceof PlayerObject ? (PlayerObject) recobj : null; + int oid = recipient != null && party.isMember(recipient) ? party + .createItem(recipient, item, loot, false, true) + : party.createItem(this._plobj, item, loot, true, true); + psource.setAwarded(((TudeySceneObject) this._scenemgr.getPlaceObject()).getPawnId(oid)); + return oid > -1; + } else { + return party.createItem(this._plobj, item, loot, distribute, distribute) > -1; + } + } else { + return false; + } + } + + public boolean grantCrowns(int number) { + if (this._plobj != null && this._plobj.isActive()) { + this.getParty(LevelParty.class).grantCrowns(this._plobj, number); + return true; + } else { + return false; + } + } + + public boolean grantHeat(int amount) { + if (this._plobj != null && this._plobj.isActive()) { + this.getParty(LevelParty.class).grantHeat(this._plobj, amount); + return true; + } else { + return false; + } + } + + public boolean useEnergy(int amount, int type, String description, ResultListener rl) { + if (this._plobj != null && this._plobj.isActive()) { + LevelParty party = this.getParty(LevelParty.class); + return party != null && party.useEnergy(this._plobj, amount, type, description, rl); + } else { + return false; + } + } + + protected void didInit() { + super.didInit(); + com.threerings.projectx.dungeon.config.DungeonActorConfig.Dungeoneer config = (com.threerings.projectx.dungeon.config.DungeonActorConfig.Dungeoneer) this._config; + this._damageAction = + config.damageAction == null ? null : this.createAction(config.damageAction, this); + ActivityLogic drop = new ActivityLogic() { + public void tick(int timestamp) { + if (((Dungeoneer) DungeoneerLogic.this._actor).getLift() > 0 + && timestamp - this._started > 400) { + DungeoneerLogic.this.drop(timestamp); + } + + } + }; + ActivityLogic throwLift = new ActivityLogic() { + public void start(int timestamp) { + if (((Dungeoneer) DungeoneerLogic.this._actor).getLift() > 0) { + DungeoneerLogic.this.throwLift(timestamp); + } + + } + }; + drop.init(this._scenemgr, this); + throwLift.init(this._scenemgr, this); + this._activities.put(276, drop); + this._activities.put(275, throwLift); + this._statusDelegate = new StatusDelegate(this, this._scenemgr); + } + + protected void finishedLoading(int timestamp) { + super.finishedLoading(timestamp); + + if (this.getParty().isMemberAlive(this._plobj.getOid())) { + this.setInvulnerable(timestamp + INITIAL_INVULNERABILITY); + } else { + ((Dungeoneer) this._actor).setActivity(270, timestamp); + } + + } + + protected boolean canSetActionable(String signal) { + int lift = ((Dungeoneer) this._actor).getLift(); + if (lift != 0) { + ActorLogic logic = this._scenemgr.getActorLogic(lift); + return logic instanceof LiftLogic && ((LiftLogic) logic) + .canSetActionable(signal); + } else { + return super.canSetActionable(signal); + } + } + + protected void updateWeapon(int timestamp) { + Dungeoneer dungeoneer = (Dungeoneer) this._actor; + LevelItem weapon = dungeoneer.getWeapon(); + if (!LevelItem.equals(this._weapon, weapon) || dungeoneer + .attackSpeedChanged(this._attackSpeed, this._attackSpeedStarted)) { + this._weapon = weapon; + Weapon config = dungeoneer.getWeaponConfig(); + this.updateEquipMod(); + this._attackSpeed = dungeoneer.getAttackSpeedModifier(); + this._attackSpeedStarted = dungeoneer.getActivityStarted(); + if (config == null) { + for (int ii = 0; ii < 8; ++ii) { + this._activities.remove(283 + ii); + } + + this._activities.remove(280); + this._activities.remove(281); + this._activities.remove(282); + } else { + ConfigManager cfgmgr = this._scenemgr.getConfigManager(); + LevelItemProps props = (LevelItemProps) config.getProps(cfgmgr); + int level = weapon.getLevel(config.getLevelCount(cfgmgr), props) + 1; + int attackIdx = 0; + weapon.updateDamageModifier(cfgmgr, this._gearDamageModifiers); + + int ii; + Original incomplete; + for (ii = 0; ii < config.attacks.length; ++ii) { + incomplete = this.getValidAttack(config.attacks[ii].ref, level); + if (incomplete != null) { + this._activities.put(283 + attackIdx++, this.createAttack(incomplete, weapon)); + } + } + + for (ii = attackIdx; ii < 8; ++ii) { + this._activities.put(283 + ii, null); + } + + Original charged = this.getValidAttack(config.chargedAttack, level); + incomplete = this.getValidAttack(config.incompleteChargedAttack, level); + if (charged != null && incomplete != null) { + this._activities.put(280, this.createAttack(incomplete, weapon)); + this._activities.put(281, this.createAttack(charged, weapon)); + } else { + this._activities.remove(280); + this._activities.remove(281); + } + + Original cooldown = this.getValidAttack(config.cooldownAttack, level); + if (cooldown != null) { + this._activities.put(282, this.createAttack(cooldown, weapon)); + } else { + this._activities.remove(282); + } + } + } + + } + + protected void updateDefenses() { + for (int ii = 0; ii < GEAR_SLOTS.length; ++ii) { + this.updateGearDefense(GEAR_SLOTS[ii]); + } + + } + + protected void updateGearDefense(int slot) { + LevelItem item = this._plobj.getEquipmentItem(slot); + DefenseLogic defense = null; + Dungeoneer dungeoneer = (Dungeoneer) this._actor; + ConfigManager cfgmgr = this._scenemgr.getConfigManager(); + if (slot == 2) { + dungeoneer.setShield(item == null ? null : item.getConfig()); + if (item == null) { + this._activities.remove(278); + } else { + final Shield shield = (Shield) item.getOriginal(cfgmgr); + if (shield != null && shield.action != null) { + dungeoneer.setShieldMaxHealth(shield.getMaxHealth(cfgmgr, this.getDepth())); + final ActionLogic logic = this.createAction(shield.action, this); + if (logic != null) { + ActivityLogic defend = new ActivityLogic() { + protected boolean _defended = false; + + public void start(int timestamp) { + super.start(timestamp); + this._defended = false; + } + + public void tick(int timestamp) { + if (!this._defended && timestamp - this._started > shield.actionDelay) { + this._defended = true; + logic.execute(timestamp, DungeoneerLogic.this); + } + + } + }; + defend.init(this._scenemgr, this); + this._activities.put(278, defend); + } + } else { + this._activities.remove(278); + dungeoneer.setShieldMaxHealth(0); + } + } + } + + if (item != null) { + Gear config = (Gear) item.getOriginal(cfgmgr); + defense = DefenseLogic + .createDefense(this._scenemgr, config.defense, this, item.getDefenseModifier(cfgmgr)); + } + + this._gearDefenses.put(slot, defense); + } + + protected void updateEquipMod() { + EquipmentModifiers modifier = new EquipmentModifiers(); + ConfigManager cfgmgr = this._scenemgr.getConfigManager(); + Weapon weapon = ((Dungeoneer) this._actor).getWeaponConfig(); + this._gearDamageModifiers.clear(); + + for (int ii = 0; ii < GEAR_SLOTS.length; ++ii) { + LevelItem item = this._plobj.getEquipmentItem(GEAR_SLOTS[ii]); + if (item != null) { + this._gearDamageModifiers.addDamageModifier( + DungeoneerAdvancer.updateEquipmentModifiers(cfgmgr, item, modifier, weapon)); + } + } + + ((Dungeoneer) this._actor).setEquipMod(new ImmutableEquipmentModifiers(modifier)); + } + + protected void updateProgressFlags() { + int segment = 0; + this._actor.set(128, segment == 0 || this._plobj.hasProgress(1 << segment - 1)); + } + + protected void updateLift(int timestamp) { + Dungeoneer dungeoneer = (Dungeoneer) this._actor; + if (dungeoneer.getLift() == 0) { + int activity = dungeoneer.getActivity(); + if (activity == 273 || activity == 274) { + dungeoneer.setActivity(0, timestamp); + } + + } else { + LiftLogic logic = (LiftLogic) this._scenemgr.getActorLogic(dungeoneer.getLift()); + if (logic != null) { + logic.move(this._actor.getTranslation().x, this._actor.getTranslation().y, + this._actor.getRotation()); + } + + if (logic == null || !dungeoneer.isLiftActivity() || this._plobj.status != 0) { + this.drop(timestamp); + } + + } + } + + protected boolean canUseItem() { + return ((Dungeoneer) this._actor).canUseItem() && ((DungeoneerAdvancer) this._advancer) + .canOverrideAttack(false); + } + + protected void updateItem() { + if (this._queueItem != 0L && this.canUseItem()) { + long id = this._queueItem; + this._queueItem = 0L; + //this._itemmgr.useItem(this._plobj, id); + } + } + + protected AttackLogic createAttack(Original config, LevelItem item) { + return AttackLogic.createAttack(this._scenemgr, config, this, item, this._attackSpeed); + } + + protected Original getValidAttack(ConfigReference ref, int level) { + return AttackConfig.getValidAttack(this._scenemgr.getConfigManager(), ref, level); + } + + protected boolean canBeDamaged() { + return !IntListUtil.contains(DAMAGELESS_ACTIVITIES, ((Dungeoneer) this._actor).getActivity()) + && !this._actor.isSet(32) && this._plobj != null && !this._plobj.isSet(1); + } + + protected float getHealModifier() { + Dungeoneer dungeoneer = (Dungeoneer) this._actor; + int activity = dungeoneer.getActivity(); + return activity != 270 && activity != 271 ? dungeoneer.getStatus().getHealModifier() : 0.0F; + } + + protected void hurt(int timestamp, int amount, boolean react, Logic source) { + boolean alive = this.getParty().hurtMember(this._plobj.getOid(), amount, this, source); + Dungeoneer dungeoneer = (Dungeoneer) this._actor; + int currentActivity = dungeoneer.getActivity(); + int activity = 0; + Logic activityLogic = this._activities.get(currentActivity); + this._statusDelegate.wasDamaged(amount, timestamp); + boolean interruptable = currentActivity != 277 && (!(activityLogic instanceof AttackLogic) + || ((AttackLogic) activityLogic).shouldReact()); + if (!alive || react && interruptable) { + this.drop(timestamp); + } + + if (!alive) { + activity = 270; + this.clearStatus(timestamp, 65535); + } else if (react) { + activity = 265; + this.setInvulnerable(timestamp + getHurtInvulnerability()); + } + + if (alive && (!react || !interruptable)) { + if (currentActivity == 277) { + int chargeTime = dungeoneer.getChargeTime(); + int elapsed = Math.min(chargeTime, timestamp - dungeoneer.getActivityStarted()); + chargeTime = (int) ((float) chargeTime * CHARGE_INTERRUPT); + dungeoneer.setActivityStarted(Math.max(timestamp - chargeTime, elapsed - chargeTime)); + } + } else { + dungeoneer.setActivity(activity, timestamp); + } + + if (amount > 0) { + dungeoneer.setHitTime(timestamp); + } + + } + + protected void setInvulnerable(int ends) { + this._actor.set(32); + this._invulnerabilityEnds = ends; + } + + protected void updateStatusConditions() { + PartyObject partyobj = this.getParty().getPartyObject(); + Status status = partyobj.getStatus(this._plobj.getOid()); + if (status != null) { + int size = this._statusDelegate.conditionCount(); + if (size == 0) { + status.conditions = null; + status.expires = null; + ((Dungeoneer) this._actor).setConditions(null); + } else { + ConfigReference[] conditions = (ConfigReference[]) (new ConfigReference[size]); + int[] expires = new int[size]; + + for (int ii = 0; ii < size; ++ii) { + StatusConditionLogic logic = this._statusDelegate.getCondition(ii); + conditions[ii] = logic.getReference(); + expires[ii] = logic.getFinished(); + } + + status.conditions = conditions; + status.expires = expires; + ((Dungeoneer) this._actor).setConditions(conditions); + } + + partyobj.updateStatus(status); + ((Dungeoneer) this._actor).setStatus(this._statusDelegate.generateStatusModifiers()); + } + } + + protected Party getParty() { + return Party.getParty(this._scenemgr); + } + + protected

P getParty(Class

clazz) { + return ObjectUtil.as(this.getParty(), clazz); + } + + protected void updateShocked(int timestamp) { + Dungeoneer dungeoneer = (Dungeoneer) this._actor; + int activity = dungeoneer.getActivity(); + if (!dungeoneer.isDeadActivity() && activity != 269 && dungeoneer.getStatus().isShocked()) { + this.drop(timestamp); + dungeoneer.setActivity(269, timestamp); + } else if (activity == 269 && !dungeoneer.getStatus().isShocked()) { + dungeoneer.setActivity(0, timestamp); + } + + } + + protected int encodeDamage(Total total, int amount) { + amount <<= 20; + int rate = 40; + amount += FloatMath.iceil(total.damage.fetch(DamageType.NORMAL).value / (float) rate); + amount += FloatMath.iceil(total.damage.fetch(DamageType.UNBLOCKABLE).value / (float) rate); + amount += FloatMath.iceil(total.damage.fetch(DamageType.PIERCING).value / (float) rate) << 5; + amount += FloatMath.iceil(total.damage.fetch(DamageType.ELEMENTAL).value / (float) rate) << 10; + amount += FloatMath.iceil(total.damage.fetch(DamageType.SHADOW).value / (float) rate) << 15; + return amount; + } + + protected void wasDestroyed() { + int timestamp = this._actor.getDestroyed(); + if (((Dungeoneer) this._actor).getLift() > 0) { + this.drop(timestamp); + } + + this._statusDelegate.removeStatus(timestamp, 65535); + } + + protected void showRevived() { + this._scenemgr.fireEffect(this._scenemgr.getNextTimestamp(), this, Vector2f.ZERO, 0.0F, + "Player/Energy Rez"); + } +} diff --git a/src/com/threerings/projectx/dungeon/server/logic/ElevatorLogic.java b/src/com/threerings/projectx/dungeon/server/logic/ElevatorLogic.java new file mode 100644 index 0000000..2f406b7 --- /dev/null +++ b/src/com/threerings/projectx/dungeon/server/logic/ElevatorLogic.java @@ -0,0 +1,232 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package com.threerings.projectx.dungeon.server.logic; + +import com.github.thetya.server.dungeon.LevelParty; +import com.github.thetya.server.scene.ThetyaSceneManager; +import com.google.common.collect.Maps; +import com.samskivert.util.Interval; +import com.threerings.presents.dobj.ObjectDeathListener; +import com.threerings.presents.dobj.ObjectDestroyedEvent; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.dungeon.config.DungeonActorConfig.Elevator; +import com.threerings.projectx.dungeon.data.DungeonCodes; +import com.threerings.projectx.dungeon.data.LevelPartyObject; +import com.threerings.tudey.data.actor.EntryState; +import com.threerings.tudey.server.TudeySceneManager.IntersectionSensor; +import com.threerings.tudey.server.TudeySceneManager.TickParticipant; +import com.threerings.tudey.server.logic.ActorLogic; +import com.threerings.tudey.server.logic.EntryLogic; +import com.threerings.tudey.server.logic.EntryStateLogic; +import com.threerings.tudey.shape.Circle; +import com.threerings.tudey.shape.ShapeElement; + +import java.util.Iterator; +import java.util.Map; +import java.util.Map.Entry; +import java.util.concurrent.Executor; + +public class ElevatorLogic extends EntryStateLogic implements IntersectionSensor, TickParticipant, ObjectDeathListener, DungeonCodes { + protected ShapeElement _shape; + protected ShapeElement _mapShape; + protected Map _members = Maps.newHashMap(); + + public ElevatorLogic() { + } + + public int getMask() { + return PLAYER_COLLISION_MASK; + } + + public void trigger(int timestamp, ActorLogic actor) { + if (actor instanceof DungeoneerLogic) { + if (this._members.isEmpty()) { + this._scenemgr.addTickParticipant(this); + } + + DungeoneerLogic logic = (DungeoneerLogic)actor; + Boolean previous = this._members.put(logic, true); + if (previous == null) { + logic.setWaiting(true); + logic.getPlayerObject().addListener(this); + } + + } + } + + public boolean tick(int timestamp) { + int count = 0; + LevelParty party = null; + Iterator it = this._members.entrySet().iterator(); + + while(true) { + PlayerObject plobj; + do { + label54: + do { + DungeoneerLogic logic; + while(it.hasNext()) { + Entry entry = (Entry)it.next(); + if (entry.getValue()) { + ++count; + entry.setValue(false); + logic = entry.getKey(); + plobj = logic.getPlayerObject(); + if (party == null) { + party = (LevelParty)DungeonTargetLogic.getParty((ThetyaSceneManager) this._scenemgr, logic); + } + continue label54; + } + + entry.getKey().getPlayerObject().removeListener(this); + entry.getKey().setWaiting(false); + entry.getKey().setSplit(false); + it.remove(); + } + + int state = 0; + if (count > 0) { + if (count < party.getLivingMemberCount()) { + state = 1; + if (((Elevator)this._config).splitParty) { + Iterator i$ = this._members.keySet().iterator(); + + while(i$.hasNext()) { + logic = (DungeoneerLogic)i$.next(); + logic.setSplit(true); + } + } + } else { + state = 2; + this.activate(party, timestamp); + this.clearMembers(); + } + } + + if (((EntryState)this._actor).getState() != state) { + this.setState(state, timestamp); + } + + return !this._members.isEmpty(); + } while(party == null); + } while(party.isMember(plobj) && party.isMemberAlive(plobj.getOid())); + + --count; + } + } + + public void setEntry(final EntryLogic entry) { + super.setEntry(entry); + this._shape = new ShapeElement(this.getShape()); + this._shape.setUserObject(this); + this._scenemgr.getSensorSpace().add(this._shape); + this._mapShape = new ShapeElement(new Circle(this._shape.getWorldShape().getCenter(), 20.0F)); + this._mapShape.setUserObject(new IntersectionSensor() { + public int getMask() { + return DungeonCodes.PLAYER_COLLISION_MASK; + } + + public void trigger(int timestamp, ActorLogic actor) { + if (actor instanceof DungeoneerLogic) { + ElevatorLogic.this._scenemgr.getSensorSpace().remove(ElevatorLogic.this._mapShape); + ElevatorLogic.this._mapShape = null; + LevelParty party = (LevelParty) DungeonTargetLogic.getParty((ThetyaSceneManager) ElevatorLogic.this._scenemgr, actor); + if (party != null) { + LevelPartyObject partyObj = party.getPartyObject(); + partyObj.mapEntries.add(entry.getEntry().getKey()); + partyObj.setMapEntries(partyObj.mapEntries); + } + } + + } + }); + this._scenemgr.getSensorSpace().add(this._mapShape); + } + + public void objectDestroyed(ObjectDestroyedEvent event) { + Iterator it = this._members.entrySet().iterator(); + + while(it.hasNext()) { + Entry entry = (Entry)it.next(); + if (entry.getKey().getPlayerObject().getOid() == event.getTargetOid()) { + entry.getKey().getPlayerObject().removeListener(this); + it.remove(); + break; + } + } + + if (this._members.isEmpty()) { + this._scenemgr.removeTickParticipant(this); + } + + } + + protected void wasRemoved() { + super.wasRemoved(); + if (this._shape != null) { + this._scenemgr.getSensorSpace().remove(this._shape); + } + + if (this._mapShape != null) { + this._scenemgr.getSensorSpace().remove(this._mapShape); + } + + this.clearMembers(); + this._scenemgr.removeTickParticipant(this); + } + + protected void activate(final LevelParty party, int timestamp) { + this._scenemgr.getSensorSpace().remove(this._shape); + Iterator i$ = this._members.keySet().iterator(); + + while(i$.hasNext()) { + DungeoneerLogic member = (DungeoneerLogic)i$.next(); + member.setInTransit(timestamp); + } + + (new Interval(this._scenemgr) { + public void expired() { + ElevatorLogic.this.nextFloor(party); + } + }).schedule(1050L); + } + + protected void nextFloor(final LevelParty party) { + int advance = ((Elevator)this._config).dissolveParty ? -1 : 1; + party.nextFloor(advance, new Executor() { + public void execute(Runnable command) { + ElevatorLogic.this.drop(party, command); + } + }); + } + + protected void drop(LevelParty party, final Runnable command) { + this.setState(party.hasPendingFloor() ? 3 : 4, this._scenemgr.getNextTimestamp()); + (new Interval(this._scenemgr) { + public void expired() { + command.run(); + } + }).schedule(2400L); + } + + protected void clearMembers() { + Iterator i$ = this._members.keySet().iterator(); + + while(i$.hasNext()) { + DungeoneerLogic logic = (DungeoneerLogic)i$.next(); + logic.getPlayerObject().removeListener(this); + } + + this._members.clear(); + } +} diff --git a/src/com/threerings/projectx/dungeon/server/logic/MonsterLogic.java b/src/com/threerings/projectx/dungeon/server/logic/MonsterLogic.java new file mode 100644 index 0000000..0d97786 --- /dev/null +++ b/src/com/threerings/projectx/dungeon/server/logic/MonsterLogic.java @@ -0,0 +1,494 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package com.threerings.projectx.dungeon.server.logic; + +import com.github.thetya.server.dungeon.LevelParty; +import com.github.thetya.server.dungeon.LevelSceneManager; +import com.github.thetya.server.dungeon.Party; +import com.google.common.collect.Lists; +import com.samskivert.util.RandomUtil; +import com.threerings.config.ConfigManager; +import com.threerings.config.ConfigReference; +import com.threerings.math.FloatMath; +import com.threerings.math.Vector2f; +import com.threerings.projectx.dungeon.config.DepthScaleConfig; +import com.threerings.projectx.dungeon.config.StatusConditionConfig; +import com.threerings.projectx.dungeon.data.DepthCodes.DefaultScale; +import com.threerings.projectx.dungeon.data.DungeonCodes; +import com.threerings.projectx.dungeon.data.ImmutableStatusModifiers; +import com.threerings.projectx.dungeon.data.actor.Impulse; +import com.threerings.projectx.dungeon.data.actor.Monster; +import com.threerings.projectx.dungeon.server.DepthUtil; +import com.threerings.projectx.dungeon.util.DamageModifier; +import com.threerings.projectx.dungeon.util.DamageSummary; +import com.threerings.projectx.dungeon.util.DamageSummary.Performance; +import com.threerings.projectx.dungeon.util.DamageSummary.Total; +import com.threerings.projectx.dungeon.util.MonsterAdvancer; +import com.threerings.projectx.dungeon.util.MonsterAdvancer.Environment; +import com.threerings.projectx.item.data.Item; +import com.threerings.tudey.server.logic.ActionLogic; +import com.threerings.tudey.server.logic.ActorLogic; +import com.threerings.tudey.server.logic.AgentLogic; +import com.threerings.tudey.server.logic.Logic; +import com.threerings.tudey.util.ActorAdvancer; + +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +public class MonsterLogic extends AgentLogic implements DungeonCodes, Damageable, Impulseable, Environment, DamageModifier, UltimateSource { + protected DefenseLogic _defense; + protected int _health; + protected int _maximumHealth; + protected float _damageScale = 1.0F; + protected int _depthOffset; + protected float _attackSpeed; + protected int _attackSpeedStarted; + protected ActionLogic _damageAction; + protected StatusDelegate _statusDelegate; + protected Logic _deathCause; + protected List _reactDamage = Lists.newLinkedList(); + protected static final int REACT_TIME = 1000; + protected static final float MIN_HEALTH_MODIFIER = 1.0F; + protected static final float HEALTH_MODIFIER_STEP = 0.33F; + + public MonsterLogic() { + } + + public int getHealth() { + return this._health; + } + + public int getMaxHealth() { + return this._maximumHealth; + } + + public Item getItem() { + return ((Monster)this._actor).getItem(); + } + + public void setItem(Item item) { + ((Monster)this._actor).setItem(item); + } + + public boolean canAttack() { + return this.canAttack(false); + } + + public boolean canAttack(boolean interrupt) { + return ((MonsterAdvancer)this._advancer).canAttack(interrupt); + } + + public boolean canThink() { + return super.canThink() && this.canAttack(); + } + + public void attack(int timestamp) { + int nattacks = ((com.threerings.projectx.dungeon.config.DungeonActorConfig.Monster)this._config).attacks.length; + if (nattacks > 0) { + this.attack(RandomUtil.getInt(nattacks), timestamp); + } + + } + + public void attack(int idx, int timestamp) { + this.attack(idx, timestamp, false); + } + + public void attack(int idx, int timestamp, boolean interrupt) { + com.threerings.projectx.dungeon.config.DungeonActorConfig.Monster config = (com.threerings.projectx.dungeon.config.DungeonActorConfig.Monster)this._config; + if (this.canAttack(interrupt) && idx < config.attacks.length) { + ((Monster)this._actor).setActivity(4 + idx, timestamp); + this._actor.clear(64); + this._statusDelegate.attackStarted(idx, timestamp); + if (!config.attackWhileCamo) { + this._actor.clear(32); + } + } + + } + + public void activate(int timestamp) { + if (((com.threerings.projectx.dungeon.config.DungeonActorConfig.Monster)this._config).activateTime > 0) { + ((Monster)this._actor).setActivity(3, timestamp); + } + + } + + public boolean applyStatus(int timestamp, ConfigReference condition, float chanceModifier, float powerModifier, Logic statusSource) { + if (this._statusDelegate.applyStatus(timestamp, condition, chanceModifier, powerModifier, statusSource)) { + this.updateStatusConditions(); + return true; + } else { + return false; + } + } + + public boolean damage(int timestamp, Vector2f origin, DamageLogic source, DamageSummary summary) { + this._statusDelegate.damageStatuses(timestamp, source, summary); + if (!this.canBeDamaged()) { + return false; + } else { + com.threerings.projectx.dungeon.config.DungeonActorConfig.Monster config = (com.threerings.projectx.dungeon.config.DungeonActorConfig.Monster)this._config; + summary.prune(config.damageMask); + boolean canMiss = !summary.getGrandTotal().isEmpty(); + this._defense.apply(timestamp, source, this, origin, summary); + summary.scaleAllDefense(this.getStatusModifiers().getDefenseModifier()); + if (this._behavior instanceof Damageable) { + ((Damageable)this._behavior).damage(timestamp, origin, source, summary); + } + + Monster monster = (Monster)this._actor; + Total total = summary.getGrandTotal(this.getTags(), true); + if (!total.isEmpty()) { + Logic ultimate = source.getUltimateSource(); + int amount = FloatMath.iceil(total.getAmount()); + if (this._damageAction != null) { + this._damageAction.execute(timestamp, source); + } + + source.execute(timestamp, this); + if (total.conditions != null) { + int ii = 0; + + for(int nn = total.conditions.size(); ii < nn; ++ii) { + this.applyStatus(timestamp, total.conditions.get(ii), total.chanceModifier, total.powerModifier, ultimate); + } + } + + this.hurt(timestamp, amount, total.react, total.major, ultimate, total.getPerformance()); + return true; + } else { + if (canMiss && total.react) { + monster.setAffected(1, timestamp); + } + + return false; + } + } + } + + public boolean heal(int timestamp, int current, int maximum, Logic source) { + boolean healed = false; + float healModifier = this.getHealModifier(); + if (source == this) { + healModifier = Math.max(0.0F, healModifier); + } + + current = (int)((float)current * healModifier); + if (healModifier > 0.0F) { + if (this._behavior instanceof Damageable) { + ((Damageable)this._behavior).heal(timestamp, current, maximum, source); + } + + this._maximumHealth += maximum; + int oldHealth = this._health; + this._health = Math.min(this._health + current, this._maximumHealth); + healed = maximum != 0 || oldHealth != this._health; + } else if (healModifier < 0.0F) { + this.hurt(timestamp, (int)((float)current * -healModifier), false, false, DepthUtil.getUltimateSource(source), Performance.NORMAL); + } + + if (healed) { + Party.getParty(this._scenemgr).getPartyObject().actorHealed(timestamp, this._actor.getId(), current, 0); + ((Monster)this._actor).setAffected(2, timestamp); + } + + return false; + } + + public boolean applyStatus(int timestamp, ConfigReference condition, Logic statusSource) { + return this.applyStatus(timestamp, condition, 1.0F, 1.0F, statusSource); + } + + public void clearStatus(int timestamp, int mask) { + if (this._statusDelegate.removeStatus(timestamp, mask)) { + this.updateStatusConditions(); + } + + } + + public int getStatusResist(int mask) { + return this._statusDelegate.getStatusResist(mask, this._defense.getResistance(mask)); + } + + public void updateStatusModifiers() { + ((Monster)this._actor).setStatus(this._statusDelegate.generateStatusModifiers()); + } + + public ImmutableStatusModifiers getStatusModifiers() { + return ((Monster)this._actor).getStatus(); + } + + public boolean blockDamage(int timestamp, boolean area) { + return !area && ((com.threerings.projectx.dungeon.config.DungeonActorConfig.Monster)this._config).blockDamage && timestamp <= this.getActor().getDestroyed(); + } + + public int getDamageMask() { + return ((com.threerings.projectx.dungeon.config.DungeonActorConfig.Monster)this._config).damageMask; + } + + public boolean isAlive() { + return this._health > 0; + } + + public void addImpulse(Impulse impulse) { + ((Monster)this._actor).addImpulse(impulse); + } + + public int getImpulseLevel() { + return ((com.threerings.projectx.dungeon.config.DungeonActorConfig.Monster)this._config).impulseLevel; + } + + public ConfigManager getConfigManager() { + return this._scenemgr.getConfigManager(); + } + + public void modifyDamage(DamageSummary summary, int depth, Class wclass, boolean capped) { + summary.scaleAllDamage(-1, this._damageScale); + } + + public int getDepth() { + Party party = Party.getParty(this._scenemgr); + return (party == null ? 0 : party.getDepth()) + this._depthOffset; + } + + public int getRarity() { + return 0; + } + + public boolean tick(int timestamp) { + super.tick(timestamp); + this.updateAttacks(false); + Monster monster = (Monster)this._actor; + com.threerings.projectx.dungeon.config.DungeonActorConfig.Monster config = (com.threerings.projectx.dungeon.config.DungeonActorConfig.Monster)this._config; + if (monster.getActivity() == 2 && timestamp - monster.getActivityStarted() >= config.deathTime) { + this.destroy(timestamp, this._deathCause); + } + + return true; + } + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + MonsterLogic msource = (MonsterLogic)source; + this._defense.transfer(msource._defense, refs); + this._health = msource._health; + this._maximumHealth = msource._maximumHealth; + if (this._damageAction != null) { + this._damageAction.transfer(msource._damageAction, refs); + } + + this._statusDelegate.transfer(msource._statusDelegate, refs); + this._deathCause = (Logic)refs.get(msource._deathCause); + this._reactDamage.addAll(msource._reactDamage); + this.updateStatusConditions(); + } + + protected void hurt(int timestamp, int amount, boolean react, boolean major, Logic ultimate, Performance performance) { + this._statusDelegate.wasDamaged(amount, timestamp); + this._reactDamage.add(new MonsterLogic.DamageRec(amount, timestamp)); + this._health -= amount; + Monster monster = (Monster)this._actor; + if (react) { + monster.setAffected(amount > 0 ? 0 : (amount < 0 ? 2 : 1), timestamp); + } + + if (this._health <= 0 || this.shouldReact(amount, react, major, timestamp)) { + monster.setActivity(this._health <= 0 ? 2 : 1, timestamp); + if (this._health <= 0) { + this.clearStatus(timestamp, 65535); + this._deathCause = ultimate; + } + } + + if (amount != 0) { + int sourceId = ultimate instanceof ActorLogic ? ((ActorLogic)ultimate).getActor().getId() : 0; + if (amount > 0) { + float pct = (float)amount / (float)this._maximumHealth; + if (pct > 0.4F) { + switch(performance) { + case WEAK: + performance = Performance.WEAK_LARGE; + break; + case NORMAL: + performance = Performance.NORMAL_LARGE; + break; + case STRONG: + performance = Performance.STRONG_LARGE; + } + } else if (pct > 0.2F) { + switch(performance) { + case WEAK: + performance = Performance.WEAK_MEDIUM; + break; + case NORMAL: + performance = Performance.NORMAL_MEDIUM; + break; + case STRONG: + performance = Performance.STRONG_MEDIUM; + } + } else { + switch(performance) { + case WEAK: + performance = Performance.WEAK_SMALL; + break; + case NORMAL: + performance = Performance.NORMAL_SMALL; + break; + case STRONG: + performance = Performance.STRONG_SMALL; + } + } + } + + Party.getParty(_scenemgr).getPartyObject().actorDamaged(timestamp, monster.getId(), amount, sourceId, performance); + } + + this._actor.clear(32); + } + + protected void wasDestroyed() { + super.wasDestroyed(); + Item item = ((Monster)this._actor).getItem(); + if (item != null) { + ActorLogic logic = this._scenemgr.spawnActor(this._actor.getDestroyed(), this.getTranslation(), this.getRotation(), item.getOriginal(this.getConfigManager()).getDropConfig(item)); + if (logic != null) { + logic.setSource(this); + logic.setActivator(this); + } + + item = null; + } + + } + + protected ActorAdvancer createAdvancer() { + return new MonsterAdvancer(this, (Monster)this._actor, this._actor.getCreated()); + } + + protected void didInit() { + super.didInit(); + if (this._actor.getConfig().getArguments().containsKey("__depth_offset")) { + this._depthOffset = (Integer)this._actor.getConfig().getArguments().get("__depth_offset"); + } + + this.updateAttacks(true); + com.threerings.projectx.dungeon.config.DungeonActorConfig.Monster config = (com.threerings.projectx.dungeon.config.DungeonActorConfig.Monster)this._actor.getOriginal(); + this._defense = DefenseLogic.createDefense(this._scenemgr, config.defense, this); + DepthScaleConfig depthScale = this.getConfigManager().getConfig(DepthScaleConfig.class, config.healthScale); + if (depthScale != null) { + this._health = FloatMath.iceil(depthScale.getValue(this.getConfigManager(), this.getDepth())); + } else { + this._health = DepthUtil.scaleForDepth(this.getDepth(), config.health, config.endHealth, config.startDepth, config.endDepth, DefaultScale.POWER); + } + + this._maximumHealth = this._health; + LevelParty party = LevelParty.getParty(this._scenemgr); + if (this._scenemgr instanceof LevelSceneManager) { + int count = 1; + float healthModifier = 1.0F + 0.33F * (float)(count - 1); + this._health = (int)((float)this._health * healthModifier); + this._maximumHealth = (int)((float)this._maximumHealth * healthModifier); + } + + this._damageAction = config.damageAction == null ? null : this.createAction(config.damageAction, this); + this._statusDelegate = new StatusDelegate(this, this._scenemgr); + this._statusDelegate.initConditions(config.startupConditions); + this.updateStatusConditions(); + } + + protected void updateAttacks(boolean force) { + Monster monster = (Monster)this._actor; + if (force || monster.attackSpeedChanged(this._attackSpeed, this._attackSpeedStarted)) { + this._attackSpeed = monster.getStatus().getAttackSpeedModifier(); + this._attackSpeedStarted = monster.getActivityStarted(); + com.threerings.projectx.dungeon.config.DungeonActorConfig.Monster config = (com.threerings.projectx.dungeon.config.DungeonActorConfig.Monster)this._actor.getOriginal(); + + for(int ii = 0; ii < config.attacks.length; ++ii) { + AttackLogic attack = AttackLogic.createAttack(this._scenemgr, config.attacks[ii].ref, this, null, this._attackSpeed); + if (attack != null) { + attack.setDamageModifier(this); + } + + this._activities.put(4 + ii, attack); + } + } + + } + + protected boolean canBeDamaged() { + return ((Monster)this._actor).getActivity() != 2; + } + + protected float getHealModifier() { + Monster monster = (Monster)this._actor; + return monster.getActivity() == 2 ? 0.0F : monster.getStatus().getHealModifier(); + } + + protected void updateStatusConditions() { + int size = this._statusDelegate.conditionCount(); + if (size == 0) { + ((Monster)this._actor).setConditions(null); + } else { + ConfigReference[] conditions = (ConfigReference[])(new ConfigReference[size]); + + for(int ii = 0; ii < size; ++ii) { + conditions[ii] = this._statusDelegate.getCondition(ii).getReference(); + } + + ((Monster)this._actor).setConditions(conditions); + } + + ((Monster)this._actor).setStatus(this._statusDelegate.generateStatusModifiers()); + } + + protected boolean shouldReact(int damage, boolean react, boolean major, int timestamp) { + int activity = ((Monster)this._actor).getActivity(); + if (react && activity >= 4 && activity < 16) { + AttackLogic attack = (AttackLogic)this._activities.get(activity); + if (attack != null && attack.shouldReact()) { + return true; + } + } + + int damageSum = 0; + Iterator iter = this._reactDamage.iterator(); + + while(iter.hasNext()) { + MonsterLogic.DamageRec rec = (MonsterLogic.DamageRec)iter.next(); + if (rec.expires < timestamp) { + iter.remove(); + } else { + damageSum += rec.damage; + } + } + + if (major && (float)damageSum / (float)this._maximumHealth > ((com.threerings.projectx.dungeon.config.DungeonActorConfig.Monster)this._config).minReactPercent) { + this._reactDamage.clear(); + return true; + } else { + return false; + } + } + + protected static class DamageRec { + public final int damage; + public final int expires; + + public DamageRec(int damage, int timestamp) { + this.damage = damage; + this.expires = timestamp + 1000; + } + } +} diff --git a/src/com/threerings/projectx/dungeon/server/logic/PickupLiftLogic.java b/src/com/threerings/projectx/dungeon/server/logic/PickupLiftLogic.java new file mode 100644 index 0000000..ce5fd35 --- /dev/null +++ b/src/com/threerings/projectx/dungeon/server/logic/PickupLiftLogic.java @@ -0,0 +1,44 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package com.threerings.projectx.dungeon.server.logic; + +import com.google.inject.Inject; +import com.threerings.math.Vector2f; +import com.threerings.projectx.dungeon.config.DungeonActorConfig.PickupLift; +import com.threerings.projectx.item.server.ItemManager; +import com.threerings.projectx.server.logic.KnightLogic; + +public class PickupLiftLogic extends LiftLogic { + @Inject + protected ItemManager _itemmgr; + + public PickupLiftLogic() { + } + + public void drop(int timestamp, KnightLogic holder, Vector2f position) { + if (this._actor.isSet(4)) { + this.activate(timestamp); + this.destroy(timestamp, holder); + } + } + + public boolean tick(int timestamp) { + boolean wasMoving = this._actor.isSet(2); + super.tick(timestamp); + if (wasMoving && !this._actor.isSet(2)) { + this.activate(timestamp); + this.destroy(timestamp, this); + return false; + } else { + return true; + } + } + + protected void activate(int timestamp) { + PickupLift config = (PickupLift)this._actor.getOriginal(); + DungeonUseLogic.activateItem(timestamp, config.item, this, this._scenemgr); + } +} diff --git a/src/com/threerings/projectx/dungeon/server/logic/PickupLogic.java b/src/com/threerings/projectx/dungeon/server/logic/PickupLogic.java new file mode 100644 index 0000000..f58bdc7 --- /dev/null +++ b/src/com/threerings/projectx/dungeon/server/logic/PickupLogic.java @@ -0,0 +1,197 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package com.threerings.projectx.dungeon.server.logic; + +import com.github.thetya.server.dungeon.LevelParty; +import com.google.common.collect.Lists; +import com.threerings.projectx.dungeon.config.DungeonActorConfig.Pickup; +import com.threerings.projectx.dungeon.data.DungeonCodes; +import com.threerings.tudey.data.TudeySceneObject; +import com.threerings.tudey.server.TudeySceneManager.IntersectionSensor; +import com.threerings.tudey.server.TudeySceneManager.TickParticipant; +import com.threerings.tudey.server.logic.ActionLogic; +import com.threerings.tudey.server.logic.ActorLogic; +import com.threerings.tudey.server.logic.Logic; +import com.threerings.tudey.server.logic.PawnLogic; +import com.threerings.tudey.shape.ShapeElement; + +import java.util.List; +import java.util.Map; + +public class PickupLogic extends ActorLogic implements IntersectionSensor, TickParticipant, DungeonCodes { + protected ActionLogic _pickupAction; + protected ShapeElement _sensorShape; + protected int _minActivationTime; + protected int _lifespanTime; + protected int _awardedId; + protected List _partyIds; + protected int _recipientOid; + protected static final int MIN_ACTIVATION_DELAY = 1000; + protected static final int LIFESPAN_WARNING = 5000; + + public PickupLogic() { + } + + public int getRecipientOid() { + return ((Pickup)this._config).dropped ? 0 : this._recipientOid; + } + + public void setAwarded(int id) { + this._awardedId = id; + } + + public int getMask() { + return PLAYER_COLLISION_MASK; + } + + public void trigger(int timestamp, final ActorLogic actor) { + if (actor instanceof PawnLogic && timestamp >= this._minActivationTime) { + this._awardedId = actor.getActor().getId(); + boolean destroy = true; + if ((this._partyIds == null || this._partyIds.contains(this._awardedId)) && this._pickupAction.execute(timestamp, actor)) { + if (this._partyIds != null) { + this._partyIds.remove((Integer) this._awardedId); + destroy = this._partyIds.isEmpty(); + int[] ids = new int[this._partyIds.size()]; + + for(int ii = 0; ii < ids.length; ++ii) { + ids[ii] = this._partyIds.get(ii); + } + + ((com.threerings.projectx.dungeon.data.actor.Pickup)this._actor).setPartyIds(ids); + } + + ((com.threerings.projectx.dungeon.data.actor.Pickup)this._actor).setActivated(timestamp, this._awardedId); + this.wasUpdated(); + if (destroy) { + this._scenemgr.getSensorSpace().remove(this._sensorShape); + this._sensorShape = null; + float distance = this.getTranslation().distance(actor.getTranslation()); + float vacuumSpeed = ((Pickup)this._config).vacuumSpeed; + final int destroyed = timestamp + (vacuumSpeed == 0.0F ? 0 : (int)(distance * 1000.0F / vacuumSpeed)); + if (destroyed > this._scenemgr.getTimestamp()) { + this._scenemgr.addTickParticipant(timestamp1 -> { + if (timestamp1 >= destroyed) { + PickupLogic.this.destroy(destroyed, actor); + return false; + } else { + return true; + } + }); + } else { + this.destroy(destroyed, actor); + } + } + + } + } + } + + public boolean tick(int timestamp) { + if (timestamp > this._lifespanTime) { + this._lifespanTime = 0; + this.removeAndDestroy(timestamp); + return false; + } else { + if (timestamp > this._lifespanTime - 5000 && !this._actor.isSet(2)) { + this._actor.set(2); + this.wasUpdated(); + } + + return true; + } + } + + public void setSource(Logic source) { + super.setSource(source); + if (source instanceof DungeoneerLogic) { + this._recipientOid = ((DungeoneerLogic)source).getPlayerObject().getOid(); + } + + } + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + PickupLogic psource = (PickupLogic)source; + this._pickupAction.transfer(psource._pickupAction, refs); + this._recipientOid = psource._recipientOid; + this._lifespanTime = psource._lifespanTime; + com.threerings.projectx.dungeon.data.actor.Pickup pickup = (com.threerings.projectx.dungeon.data.actor.Pickup)this._actor; + if (pickup.getActivated() != 2147483647 && (pickup.getPartyIds() == null || pickup.getPartyIds().length == 0)) { + this.removeAndDestroy(pickup.getActivated()); + } else { + LevelParty party = LevelParty.getParty(this._scenemgr); + if (party != null && this._recipientOid > 0) { + (party.getCopierOid() == this._recipientOid ? psource : this).removeAndDestroy(this._scenemgr.getTimestamp()); + } + + } + } + + protected void wasRemoved() { + super.wasRemoved(); + if (this._sensorShape != null) { + this._scenemgr.getSensorSpace().remove(this._sensorShape); + this._sensorShape = null; + } + + if (this._lifespanTime > 0) { + this._scenemgr.removeTickParticipant(this); + } + + } + + protected void didInit() { + super.didInit(); + Pickup config = (Pickup)this._config; + this._pickupAction = this.createAction(config.pickupAction, this); + this._sensorShape = new ShapeElement(this.getShape().expand(config.vacuumExpansion)); + this._sensorShape.setUserObject(this); + this._scenemgr.getSensorSpace().add(this._sensorShape); + this._minActivationTime = this._actor.getCreated() + 1000; + if (config.lifespan > 0) { + this._lifespanTime = this._actor.getCreated() + config.lifespan; + this._scenemgr.addTickParticipant(this); + } + + LevelParty party = LevelParty.getParty(this._scenemgr); + if (party != null) { + if (config.party) { + TudeySceneObject tsobj = (TudeySceneObject)this._scenemgr.getPlaceObject(); + this._partyIds = Lists.newArrayList(); + int[] ids = new int[party.getMemberCount()]; + + for(int ii = 0; ii < ids.length; ++ii) { + ids[ii] = tsobj.getPawnId(party.getMember(ii).getOid()); + this._partyIds.add(ids[ii]); + } + + ((com.threerings.projectx.dungeon.data.actor.Pickup)this._actor).setPartyIds(ids); + } + + if (config.predistribute) { + this._recipientOid = party.nextItemRecipientOid(); + } + + } + } + + protected void removeAndDestroy(int timestamp) { + if (this._sensorShape != null) { + this._scenemgr.getSensorSpace().remove(this._sensorShape); + this._sensorShape = null; + } + + this.destroy(timestamp, this); + } +} diff --git a/src/com/threerings/projectx/dungeon/server/logic/StatusConditionLogic.java b/src/com/threerings/projectx/dungeon/server/logic/StatusConditionLogic.java new file mode 100644 index 0000000..9f0ecc2 --- /dev/null +++ b/src/com/threerings/projectx/dungeon/server/logic/StatusConditionLogic.java @@ -0,0 +1,849 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.threerings.projectx.dungeon.server.logic; + +import com.github.thetya.server.dungeon.LevelSceneManager; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Lists; +import com.samskivert.util.RandomUtil; +import com.samskivert.util.StringUtil; +import com.threerings.config.ConfigManager; +import com.threerings.config.ConfigReference; +import com.threerings.math.FloatMath; +import com.threerings.math.Vector2f; +import com.threerings.presents.dobj.EntryAddedEvent; +import com.threerings.presents.dobj.EntryRemovedEvent; +import com.threerings.presents.dobj.EntryUpdatedEvent; +import com.threerings.presents.dobj.SetListener; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.dungeon.Log; +import com.threerings.projectx.dungeon.config.DamageConfig.ExclusiveStatus; +import com.threerings.projectx.dungeon.config.DamageConfig.Unblockable; +import com.threerings.projectx.dungeon.config.DepthScaleConfig; +import com.threerings.projectx.dungeon.config.StatusConditionConfig; +import com.threerings.projectx.dungeon.config.StatusConditionConfig.*; +import com.threerings.projectx.dungeon.data.StatusModifiers; +import com.threerings.projectx.dungeon.server.DepthUtil; +import com.threerings.projectx.dungeon.server.Party; +import com.threerings.projectx.dungeon.util.DamageSummary; +import com.threerings.projectx.dungeon.util.DamageSummary.Total; +import com.threerings.projectx.item.data.Item; +import com.threerings.projectx.item.data.ItemCodes; +import com.threerings.tudey.server.TudeySceneManager; +import com.threerings.tudey.server.TudeySceneManager.TickParticipant; +import com.threerings.tudey.server.logic.ActionLogic; +import com.threerings.tudey.server.logic.ActorLogic; +import com.threerings.tudey.server.logic.Logic; +import com.threerings.tudey.shape.Shape; +import com.threerings.util.DeepUtil; + +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +public class StatusConditionLogic extends Logic implements TickParticipant { + public static final int COOLOFF_TIME = 1000; + protected static final int BOTTOM_HALF = 50; + protected static final int TOP_HALF = 100; + protected ConfigReference _reference; + protected Original _config; + protected int _finished; + protected int _started; + protected ActorLogic _source; + protected Logic _statusSource; + protected float _relativePower; + protected ActionLogic _signal; + protected int _nextSignal; + + public StatusConditionLogic() { + } + + public static void main(String[] args) { + int step = 10; + int count = 31; + int jcount = count + 10; + Integer[] values = new Integer[jcount + 1]; + values[0] = 0; + + int ii; + for(ii = 0; ii < jcount; ++ii) { + values[ii + 1] = (ii - 10) * step; + } + + System.out.println(StringUtil.join(values, ", ")); + + for(ii = 0; ii < count; ++ii) { + values[0] = ii * step; + + for(int jj = 0; jj < jcount; ++jj) { + values[jj + 1] = (int)(relativePower((float)(ii * step), (jj - 10) * step) * 100.0F); + } + + System.out.println(StringUtil.join(values, ", ")); + } + + } + + public static float relativePower(float power, int resist) { + int diff = FloatMath.ifloor(power - (float)resist); + if (diff <= -50) { + return 0.0F; + } else if (diff >= 100) { + return 1.0F; + } else { + return Math.abs(diff) <= 50 ? (float)(diff + 50) / 200.0F : (float)(diff - 50) / 100.0F + 0.5F; + } + } + + public static StatusConditionLogic createStatusCondition(TudeySceneManager scenemgr, ConfigReference reference, ActorLogic source, Logic statusSource, int timestamp) { + ConfigManager cfgmgr = scenemgr.getConfigManager(); + StatusConditionConfig config = cfgmgr.getConfig(StatusConditionConfig.class, reference); + Original original = config == null ? null : config.getOriginal(cfgmgr); + return original == null ? null : createStatusCondition(scenemgr, reference, original, source, statusSource, timestamp); + } + + public static StatusConditionLogic createStatusCondition(TudeySceneManager scenemgr, ConfigReference reference, Original config, ActorLogic source, Logic statusSource, int timestamp) { + return createStatusCondition(scenemgr, reference, config, source, statusSource, timestamp, 1.0F); + } + + public static StatusConditionLogic createStatusCondition(TudeySceneManager scenemgr, ConfigReference reference, Original config, ActorLogic source, Logic statusSource, int timestamp, float powerModifier) { + StatusConditionLogic logic = (StatusConditionLogic)scenemgr.createLogic(config.getLogicClassName()); + if (logic == null) { + return null; + } else { + logic.init(scenemgr, reference, config, source, statusSource, timestamp, powerModifier); + return logic; + } + } + + public void init(TudeySceneManager scenemgr, ConfigReference reference, Original config, ActorLogic source, Logic statusSource, int timestamp, float powerModifier) { + super.init(scenemgr); + this._reference = reference; + this._config = config; + this._source = source; + this._statusSource = statusSource; + this._relativePower = this.relativePower(powerModifier); + this._started = timestamp; + this._finished = timestamp + this.calculateDuration(); + if (config.signalInterval > 0) { + this._signal = this.createAction(config.signal, source); + this._nextSignal = timestamp + config.signalInterval; + } + + scenemgr.addTickParticipant(this); + this.didInit(timestamp); + } + + public boolean tick(int timestamp) { + if (timestamp > this._finished) { + this.isFinished(timestamp); + ((Damageable)this._source).clearStatus(timestamp, this._config.flags); + return false; + } else { + if (this._signal != null && timestamp > this._nextSignal) { + this._nextSignal += this._config.signalInterval; + this._signal.execute(timestamp, this._source); + } + + return true; + } + } + + public ConfigReference getReference() { + return this._reference; + } + + public Original getConfig() { + return this._config; + } + + public Logic getStatusSource() { + return this._statusSource; + } + + public StatusModifiers updateModifiers(StatusModifiers modifiers) { + return modifiers; + } + + public void damage(int timestamp, DamageLogic source, DamageSummary summary) { + } + + public void wasDamaged(int damage, int timestamp) { + } + + public int getStatusResist(int mask) { + return 0; + } + + public void destroy(int timestamp) { + this._scenemgr.removeTickParticipant(this); + this.wasDestroyed(timestamp); + } + + public int getStarted() { + return this._started; + } + + public int getFinished() { + return this._finished; + } + + public void attackStarted(int equipIdx, int timestamp) { + } + + public void useItem(Item item, int timestamp) { + } + + public boolean isConflicting(int timestamp, Original other) { + return this.isConflicting(timestamp, other, 0); + } + + public boolean isConflicting(int timestamp, Original other, int power) { + return timestamp < this._started + 1000 && this.getConfig().flags == other.flags || this.getConfig().isConflicting(other, power); + } + + public Vector2f getTranslation() { + return this._source.getTranslation(); + } + + public float getRotation() { + return this._source.getRotation(); + } + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + StatusConditionLogic ssource = (StatusConditionLogic)source; + this._finished = ssource._finished; + if (this._signal != null) { + this._signal.transfer(ssource._signal, refs); + } + + this._relativePower = ssource._relativePower; + this._nextSignal = ssource._nextSignal; + } + + protected void didInit(int timestamp) { + } + + protected void wasDestroyed(int timestamp) { + } + + protected float relativePower(float powerModifier) { + return relativePower((float)this._config.getPower() * powerModifier, ((Damageable)this._source).getStatusResist(this._config.flags)); + } + + protected int calculateDuration() { + int diff = this._config.maxDuration - this._config.minDuration; + return (int)(this._relativePower * (float)diff) + this._config.minDuration; + } + + protected float getPowerResult(float min, float max) { + return (max - min) * this._relativePower + min; + } + + protected int getPowerResult(int min, int max) { + return (int)((float)(max - min) * this._relativePower + (float)min); + } + + protected void isFinished(int timestamp) { + } + + public static class ShieldLogic extends StatusConditionLogic { + protected ActionLogic _action; + protected int _healthRegen; + protected int _health; + protected int _nextRegen; + + public ShieldLogic() { + } + + public StatusModifiers updateModifiers(StatusModifiers modifiers) { + modifiers.canMove = false; + modifiers.defenseModifier *= 1000.0F; + return modifiers; + } + + public boolean tick(int timestamp) { + if (timestamp >= this._nextRegen) { + Shield config = (Shield)this._config; + if (this._source instanceof MonsterLogic) { + ((MonsterLogic)this._source).heal(timestamp, this._healthRegen, 0, this._source); + } + + this._nextRegen = timestamp + config.healthRegenInterval; + } + + if (this._health <= 0) { + ((Damageable)this._source).clearStatus(timestamp, this._config.flags); + return false; + } else { + return super.tick(timestamp); + } + } + + public void damage(int timestamp, DamageLogic source, DamageSummary summary) { + if (source.getUltimateSource() != this._source) { + Shield config = (Shield)this._config; + summary = summary.clone().prune(config.damageMask); + Total total = summary.getGrandTotal(); + if (!total.isEmpty()) { + this._health -= FloatMath.iceil(total.getAmount()); + this._action.execute(timestamp, source); + } + } + } + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + StatusConditionLogic.ShieldLogic ssource = (StatusConditionLogic.ShieldLogic)source; + this._action.transfer(ssource._action, refs); + this._health = ssource._health; + this._nextRegen = ssource._nextRegen; + } + + protected void didInit(int timestamp) { + Shield config = (Shield)this._config; + this._action = this.createAction(config.damageAction, this._source); + ConfigManager cfgmgr = this._scenemgr.getConfigManager(); + DepthScaleConfig depthScale = cfgmgr.getConfig(DepthScaleConfig.class, config.healScale); + int depth = ((UltimateSource)this._source).getDepth(); + this._healthRegen = FloatMath.iceil(depthScale.getValue(cfgmgr, depth)); + depthScale = cfgmgr.getConfig(DepthScaleConfig.class, config.health); + this._health = FloatMath.iceil(depthScale.getValue(cfgmgr, depth)); + } + } + + public static class ExpiresLogic extends StatusConditionLogic { + protected ActionLogic _action; + + public ExpiresLogic() { + } + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + this._action.transfer(((StatusConditionLogic.ExpiresLogic)source)._action, refs); + } + + protected void didInit(int timestamp) { + this._action = this.createAction(((Expires)this._config).finishedAction, this._source); + } + + protected void isFinished(int timestamp) { + this._action.execute(timestamp, this._source); + } + } + + public static class GrabLogic extends StatusConditionLogic { + public GrabLogic() { + } + + public StatusModifiers updateModifiers(StatusModifiers modifiers) { + modifiers.canMove = false; + modifiers.canRotate = false; + modifiers.canDefend = false; + return modifiers; + } + } + + public static class BuffLogic extends StatusConditionLogic { + public BuffLogic() { + } + + public StatusModifiers updateModifiers(StatusModifiers modifiers) { + Buff config = (Buff)this._config; + modifiers.defenseModifier *= config.defenseModifier + 1.0F; + modifiers.attackDamageModifier *= config.damageModifier + 1.0F; + return modifiers; + } + } + + public static class SleepLogic extends StatusConditionLogic { + protected int _healthRegen; + protected int _wakeDamage; + protected int _nextRegen; + protected int _damage; + + public SleepLogic() { + } + + public StatusModifiers updateModifiers(StatusModifiers modifiers) { + modifiers.canMove = false; + modifiers.canRotate = false; + modifiers.asleep = true; + return modifiers; + } + + public boolean tick(int timestamp) { + if (timestamp >= this._nextRegen) { + Sleep config = (Sleep)this._config; + if (this._source instanceof DungeoneerLogic) { + PlayerObject plobj = ((DungeoneerLogic)this._source).getPlayerObject(); + Party party = Party.getParty(plobj); + if (party != null) { + party.healMember(plobj.getOid(), this._healthRegen, 0, false); + } + } else if (this._source instanceof MonsterLogic) { + ((MonsterLogic)this._source).heal(timestamp, this._healthRegen, 0, this._source); + } + + this._nextRegen = timestamp + config.healthRegenInterval; + } + + return super.tick(timestamp); + } + + public void wasDamaged(int damage, int timestamp) { + this._damage += damage; + if (this._damage > this._wakeDamage) { + this._finished = timestamp; + } + + } + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + StatusConditionLogic.SleepLogic ssource = (StatusConditionLogic.SleepLogic)source; + this._nextRegen = ssource._nextRegen; + this._damage = ssource._damage; + } + + protected void didInit(int timestamp) { + Sleep config = (Sleep)this._config; + ConfigManager cfgmgr = this._scenemgr.getConfigManager(); + int depth = DepthUtil.getDepth(this._scenemgr, this._statusSource); + DepthScaleConfig scale = cfgmgr.getConfig(DepthScaleConfig.class, config.wakeDamageStart); + float start = scale == null ? 0.0F : scale.getValue(cfgmgr, depth); + scale = cfgmgr.getConfig(DepthScaleConfig.class, config.wakeDamageEnd); + float end = scale == null ? 0.0F : scale.getValue(cfgmgr, depth); + this._wakeDamage = (int)this.getPowerResult(start, end); + this._healthRegen = this.getPowerResult(config.minHealthRegen, config.maxHealthRegen); + this._nextRegen = timestamp + config.healthRegenInterval + config.healthRegenDelay; + } + + protected void isFinished(int timestamp) { + ConfigReference ref = ((Sleep)this._config).finishedStatus; + if (ref != null) { + ((Damageable)this._source).applyStatus(timestamp, ref, this._statusSource); + } + + } + } + + public static class CurseLogic extends StatusConditionLogic implements ItemCodes, SetListener { + protected List _weapons = Lists.newArrayList(); + protected List _pickups = Lists.newArrayList(); + protected DamageLogic _damage; + + public CurseLogic() { + } + + public void attackStarted(int equipIdx, int timestamp) { + if (this._source instanceof DungeoneerLogic) { + int ii = 0; + + for(int nn = this._weapons.size(); ii < nn; ++ii) { + int idx = this._weapons.get(ii); + if (idx == equipIdx) { + this._damage.inflict(timestamp, null, this._source); + } + + if (this._weapons.isEmpty()) { + break; + } + } + } else if (this._source instanceof MonsterLogic && this._relativePower > RandomUtil.getFloat(1.0F)) { + this._damage.inflict(timestamp, null, this._source); + } + + } + + public void useItem(Item item, int timestamp) { + int ii = 0; + + for(int nn = this._pickups.size(); ii < nn; ++ii) { + int idx = this._pickups.get(ii); + if (idx == item.getIndex()) { + this._damage.inflict(timestamp, null, this._source); + } + + if (this._pickups.isEmpty()) { + break; + } + } + + } + + public void entryAdded(EntryAddedEvent event) { + if (event.getName().equals("items")) { + Item item = event.getEntry(); + if (this._pickups.contains(item.getIndex())) { + item.setCursed(true); + PlayerObject plobj = ((DungeoneerLogic)this._source).getPlayerObject(); + plobj.updateItems(item); + } + } + + } + + public void entryRemoved(EntryRemovedEvent event) { + } + + public void entryUpdated(EntryUpdatedEvent event) { + } + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + this._damage.transfer(((StatusConditionLogic.CurseLogic)source)._damage, refs); + } + + protected void didInit(int timestamp) { + Curse config = (Curse)this._config; + int numPickups; + if (this._source instanceof DungeoneerLogic) { + int numWeapons = this.getPowerResult(config.minCurseWeapons, config.maxCurseWeapons); + numPickups = this.getPowerResult(config.minCursePickups, config.maxCursePickups); + PlayerObject plobj = ((DungeoneerLogic)this._source).getPlayerObject(); + plobj.startTransaction(); + + try { + int ii; + int start; + int jj; + int idx; + for(ii = 0; ii < numWeapons; ++ii) { + start = RandomUtil.getInt(WEAPON_SLOTS.length); + + for(jj = 0; jj < WEAPON_SLOTS.length; ++jj) { + idx = WEAPON_SLOTS[(start + jj) % WEAPON_SLOTS.length]; + Item weapon = plobj.getEquipmentItem(idx); + if (weapon != null && !weapon.isCursed()) { + weapon.setCursed(true); + this._weapons.add(idx); + plobj.updateItems(weapon); + break; + } + } + } + + for(ii = 0; ii < numPickups; ++ii) { + start = RandomUtil.getInt(4); + + for(jj = 0; jj < 4; ++jj) { + idx = 2000 + (start + jj) % 4; + if (!this._pickups.contains(idx)) { + Item pickup = plobj.getItem(idx); + if (pickup != null && !pickup.isCursed()) { + pickup.setCursed(true); + plobj.updateItems(pickup); + this._pickups.add(idx); + break; + } + } + } + } + } finally { + plobj.commitTransaction(); + } + } + + ConfigManager cfgmgr = this._scenemgr.getConfigManager(); + numPickups = DepthUtil.getDepth(this._scenemgr, this._statusSource); + DepthScaleConfig scale = cfgmgr.getConfig(DepthScaleConfig.class, config.damageStart); + float start = scale == null ? 0.0F : scale.getValue(cfgmgr, numPickups); + scale = cfgmgr.getConfig(DepthScaleConfig.class, config.damageEnd); + float end = scale == null ? 0.0F : scale.getValue(cfgmgr, numPickups); + Unblockable damageConfig = new Unblockable(); + damageConfig.amount = this.getPowerResult(start, end); + damageConfig.shouldReact = false; + damageConfig.majorReact = false; + this._damage = DamageLogic.createDamage(this._scenemgr, damageConfig, this._statusSource); + } + + protected void wasDestroyed(int timestamp) { + if (this._source instanceof DungeoneerLogic) { + PlayerObject plobj = ((DungeoneerLogic)this._source).getPlayerObject(); + plobj.startTransaction(); + + try { + for(int ii = this._weapons.size() - 1; ii >= 0; --ii) { + int idx = this._weapons.get(ii); + Item weapon = plobj.getEquipmentItem(idx); + if (weapon != null) { + weapon.setCursed(false); + plobj.updateItems(weapon); + } + } + + Iterator i$ = this._pickups.iterator(); + + while(i$.hasNext()) { + Integer idx = (Integer)i$.next(); + Item pickup = plobj.getItem(idx); + if (pickup != null) { + pickup.setCursed(false); + plobj.updateItems(pickup); + } + } + } finally { + plobj.commitTransaction(); + } + + plobj.removeListener(this); + this._weapons.clear(); + this._pickups.clear(); + } + + } + } + + public static class ShockLogic extends StatusConditionLogic { + protected boolean _shocked; + protected int _nextShock; + protected int _spasmDuration; + protected float _defenseDebuff; + protected Shape _arcShape; + protected DamageLogic _arcDamage; + + public ShockLogic() { + } + + public StatusModifiers updateModifiers(StatusModifiers modifiers) { + if (this._shocked) { + modifiers.canMove = false; + modifiers.canRotate = false; + modifiers.shocked = true; + modifiers.defenseModifier *= this._defenseDebuff; + } + + return modifiers; + } + + public boolean tick(int timestamp) { + if (timestamp >= this._nextShock) { + Shock config = (Shock)this._config; + this._shocked = !this._shocked; + if (this._shocked) { + this._nextShock += this._spasmDuration; + this._arcShape = this._source.getShape().expand(config.arcExpand); + ((LevelSceneManager) this._scenemgr).inflictDamage(timestamp, ImmutableList.of(this._arcShape), this._arcDamage, this._source, config.arcCollisionMask, this._arcShape.getCenter(), true, null); + } else { + this._nextShock = (int)((float)this._nextShock + (float)config.minSpasmInterval + RandomUtil.getFloat(1.0F) * (float)(config.maxSpasmInterval - config.minSpasmInterval)); + } + + ((Damageable)this._source).updateStatusModifiers(); + } + + return super.tick(timestamp); + } + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + StatusConditionLogic.ShockLogic ssource = (StatusConditionLogic.ShockLogic)source; + this._shocked = ssource._shocked; + this._nextShock = ssource._nextShock; + this._arcDamage.transfer(ssource._arcDamage, refs); + } + + protected void didInit(int timestamp) { + Shock config = (Shock)this._config; + this._nextShock = timestamp; + this._arcDamage = DamageLogic.createDamage(this._scenemgr, this._source instanceof MonsterLogic ? config.monsterArcDamage : config.arcDamage, this._statusSource); + this._spasmDuration = this.getPowerResult(config.minSpasmDuration, config.maxSpasmDuration); + this._defenseDebuff = 1.0F - this.getPowerResult(config.minDefenseDebuff, config.maxDefenseDebuff); + } + } + + public static class FreezeLogic extends StatusConditionLogic { + protected static final int MIN_FREEZE = 250; + protected int _health; + protected DamageLogic _damage; + + public FreezeLogic() { + } + + public StatusModifiers updateModifiers(StatusModifiers modifiers) { + modifiers.canMove = false; + modifiers.canRotate = false; + return modifiers; + } + + public boolean tick(int timestamp) { + if (this._health <= 0) { + ((Damageable)this._source).clearStatus(timestamp, this._config.flags); + if (this._health == -1) { + this._damage.inflict(timestamp, null, this._source); + } + + return false; + } else if (!super.tick(timestamp)) { + if (this._source instanceof MonsterLogic) { + this._damage.inflict(timestamp, null, this._source); + } + + return false; + } else { + return true; + } + } + + public void damage(int timestamp, DamageLogic source, DamageSummary summary) { + if (timestamp >= this._started + 250) { + Logic usource = source.getUltimateSource(); + if (usource != this._source) { + Freeze config = (Freeze)this._config; + summary = summary.clone().prune(config.damageMask); + Total total = summary.getGrandTotal(); + if (total.getAmount() != 0.0F) { + this._health = 0; + if (this._source instanceof DungeoneerLogic && !(usource instanceof DungeoneerLogic)) { + this._health = -1; + } + + } + } + } + } + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + this._health = ((StatusConditionLogic.FreezeLogic)source)._health; + } + + protected void didInit(int timestamp) { + Freeze config = (Freeze)this._config; + ConfigManager cfgmgr = this._scenemgr.getConfigManager(); + int depth = DepthUtil.getDepth(this._scenemgr, this._statusSource); + DepthScaleConfig scale = cfgmgr.getConfig(DepthScaleConfig.class, config.healthStart); + float start = scale == null ? 0.0F : scale.getValue(cfgmgr, depth); + scale = cfgmgr.getConfig(DepthScaleConfig.class, config.healthEnd); + float end = scale == null ? 0.0F : scale.getValue(cfgmgr, depth); + this._health = (int)this.getPowerResult(start, end); + scale = cfgmgr.getConfig(DepthScaleConfig.class, config.damageStart); + start = scale == null ? 0.0F : scale.getValue(cfgmgr, depth); + scale = cfgmgr.getConfig(DepthScaleConfig.class, config.damageEnd); + end = scale == null ? 0.0F : scale.getValue(cfgmgr, depth); + Unblockable damageConfig = new Unblockable(); + damageConfig.amount = this.getPowerResult(start, end); + damageConfig.flags = 7; + damageConfig.shouldReact = false; + damageConfig.majorReact = false; + this._damage = DamageLogic.createDamage(this._scenemgr, damageConfig, this._statusSource); + } + } + + public static class FireLogic extends StatusConditionLogic { + protected static final float SPREAD_EXPAND = 0.5F; + protected static final float SPREAD_RATIO = 0.75F; + protected static final float MOVE_REDUCTION = 0.25F; + protected int _nextFire; + protected int _lastStamp; + protected int _finishedReduction; + protected DamageLogic _damage; + protected DamageLogic _fireSpread; + + public FireLogic() { + } + + public boolean tick(int timestamp) { + if (timestamp >= this._nextFire) { + Fire config = (Fire)this._config; + this._nextFire += config.damageInterval; + this._damage.inflict(timestamp, null, this._source); + if (0.3F + this._relativePower > RandomUtil.getFloat(1.0F)) { + ((LevelSceneManager)this._scenemgr).inflictDamage(timestamp, ImmutableList.of(this._source.getShape().expand(0.5F)), this._fireSpread, this._source, 129, this._source.getTranslation(), true, null); + } + + if (this._finishedReduction > 0) { + this._finished -= this._finishedReduction; + if (this._source instanceof DungeoneerLogic) { + ((DungeoneerLogic)this._source).updateStatusConditions(); + } + + this._finishedReduction = 0; + } + } + + if (this._source.getActor().isSet(2)) { + this._finishedReduction = (int)((float)this._finishedReduction + (float)(timestamp - this._lastStamp) * 0.25F); + } + + this._lastStamp = timestamp; + return super.tick(timestamp); + } + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + StatusConditionLogic.FireLogic fsource = (StatusConditionLogic.FireLogic)source; + this._nextFire = fsource._nextFire; + this._lastStamp = fsource._lastStamp; + this._finishedReduction = fsource._finishedReduction; + this._damage.transfer(fsource._damage, refs); + this._fireSpread.transfer(fsource._fireSpread, refs); + } + + protected void didInit(int timestamp) { + this._nextFire = timestamp; + this._lastStamp = timestamp; + Fire config = (Fire)this._config; + ConfigManager cfgmgr = this._scenemgr.getConfigManager(); + int depth = DepthUtil.getDepth(this._scenemgr, this._statusSource); + DepthScaleConfig scale = cfgmgr.getConfig(DepthScaleConfig.class, config.damageStart); + float start = scale == null ? 0.0F : scale.getValue(cfgmgr, depth); + scale = cfgmgr.getConfig(DepthScaleConfig.class, config.damageEnd); + float end = scale == null ? 0.0F : scale.getValue(cfgmgr, depth); + Unblockable damageConfig = new Unblockable(); + damageConfig.amount = this.getPowerResult(start, end); + damageConfig.flags = 7; + damageConfig.shouldReact = false; + damageConfig.majorReact = false; + this._damage = DamageLogic.createDamage(this._scenemgr, damageConfig, this._statusSource); + ExclusiveStatus fireSpread = DeepUtil.copy(config.fireSpread); + fireSpread.statusCondition.getArguments().put("Power", (float)config.getPower() * 0.75F); + Log.log.debug("Fire spread", "power", (float)config.getPower() * 0.75F); + this._fireSpread = DamageLogic.createDamage(this._scenemgr, fireSpread, this._source); + } + } + + public static class ResistLogic extends StatusConditionLogic { + public ResistLogic() { + } + + public int getStatusResist(int mask) { + return (mask & this._config.mask) != 0 ? this._config.getPower() : super.getStatusResist(mask); + } + } + + public static class StunLogic extends StatusConditionLogic { + public StunLogic() { + } + + public StatusModifiers updateModifiers(StatusModifiers modifiers) { + Stun config = (Stun)this._config; + float modifier = 1.0F - this.getPowerResult(config.minSpeedReduction, config.maxSpeedReduction); + modifiers.speedModifier *= modifier; + modifiers.attackSpeedModifier *= modifier; + return modifiers; + } + } + + public static class PoisonLogic extends StatusConditionLogic { + public PoisonLogic() { + } + + public StatusModifiers updateModifiers(StatusModifiers modifiers) { + Poison config = (Poison)this._config; + modifiers.attackDamageModifier *= 1.0F - this.getPowerResult(config.minAttackReduction, config.maxAttackReduction); + modifiers.defenseModifier *= 1.0F - this.getPowerResult(config.minDefenseReduction, config.maxDefenseReduction); + modifiers.healModifier = this._source instanceof MonsterLogic ? this.getPowerResult(config.minHealModifier, config.maxHealModifier) : 0.0F; + return modifiers; + } + + protected void isFinished(int timestamp) { + } + } +} \ No newline at end of file diff --git a/src/com/threerings/projectx/server/logic/ConversationLogic.java b/src/com/threerings/projectx/server/logic/ConversationLogic.java new file mode 100644 index 0000000..54d3cd7 --- /dev/null +++ b/src/com/threerings/projectx/server/logic/ConversationLogic.java @@ -0,0 +1,421 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package com.threerings.projectx.server.logic; + +import com.github.thetya.server.ConversationProvider; +import com.google.common.collect.Maps; +import com.google.inject.Inject; +import com.threerings.config.ConfigReference; +import com.threerings.opengl.model.config.AnimationConfig; +import com.threerings.opengl.model.config.ModelConfig; +import com.threerings.presents.client.InvocationService; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.dobj.AttributeChangeListener; +import com.threerings.presents.dobj.AttributeChangedEvent; +import com.threerings.presents.dobj.ObjectDeathListener; +import com.threerings.presents.dobj.ObjectDestroyedEvent; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationManager; +import com.threerings.presents.server.PresentsDObjectMgr; +import com.threerings.projectx.Log; +import com.threerings.projectx.config.ConversationConfig; +import com.threerings.projectx.data.*; +import com.threerings.tudey.data.TudeySceneObject; +import com.threerings.tudey.server.TudeySceneManager; +import com.threerings.tudey.server.logic.ActionLogic; +import com.threerings.tudey.server.logic.ActorLogic; +import com.threerings.tudey.server.logic.ConditionLogic; +import com.threerings.tudey.server.logic.Logic; + +import java.util.Map; + +public class ConversationLogic extends Logic implements ProjectXCodes { + public static final float MAX_DISTANCE = 1.0F; + protected ConversationConfig.Original _config; + protected Logic _source; + protected ConfigReference _model; + protected ConfigReference _sourceCloseAnimation; + protected String _name; + protected ActionLogic _initialAction; + protected Map _nodes = Maps.newHashMap(); + + public void init(TudeySceneManager scenemgr, ConversationConfig.Original config, Logic source, ConfigReference model, ConfigReference sourceCloseAnimation, String name) { + init(scenemgr); + this._config = config; + this._source = source; + this._model = model; + this._sourceCloseAnimation = sourceCloseAnimation; + this._name = name; + this._initialAction = createAction(config.initialAction, source); + + + didInit(); + } + + public boolean start(int timestamp, KnightLogic knight) { + knight.setConversation(this); + return this._initialAction.execute(timestamp, knight); + } + + public boolean jump(int timestamp, KnightLogic knight, String name) { + Node node = this._nodes.get(name); + if (node == null) { + ConversationConfig.Node config = this._config.getNode(name); + if (config == null || (node = createNode(config)) == null) { + return false; + } + } + return node.activate(timestamp, knight); + } + + public void removed() { + this._initialAction.removed(); + + + for (Node node : this._nodes.values()) { + node.removed(); + } + this._nodes.clear(); + + + wasRemoved(); + } + + public boolean isModal() { + return this._config.modal; + } + + public boolean isActive() { + return this._source.isActive(); + } + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + this._initialAction.transfer(((ConversationLogic) source)._initialAction, refs); + } + + protected void didInit() { + } + + protected void wasRemoved() { + } + + protected Node createNode(ConversationConfig.Node config) { + Node logic = (Node) this._scenemgr.createLogic(config.getLogicClassName()); + if (logic == null) { + return null; + } + + + logic.init(this._scenemgr, config, this); + this._nodes.put(config.name, logic); + return logic; + } + + protected void removeNode(String name) { + Node node = this._nodes.remove(name); + if (node != null) { + node.removed(); + } else { + Log.log.warning("Missing node to remove.", "name", name); + } + } + + public static abstract class Node + extends Logic { + protected ConversationConfig.Node _config; + protected ConversationLogic _conversation; + + public void init(TudeySceneManager scenemgr, ConversationConfig.Node config, ConversationLogic conversation) { + init(scenemgr); + this._config = config; + this._conversation = conversation; + + + didInit(); + } + + + public abstract boolean activate(int param1Int, KnightLogic param1KnightLogic); + + + public void removed() { + wasRemoved(); + } + + + protected void didInit() { + } + + + protected void wasRemoved() { + } + + + protected ConversationLogic.Response createResponse(ConversationConfig.Response config) { + ConversationLogic.Response logic = (ConversationLogic.Response) this._scenemgr.createLogic(config.getLogicClassName()); + if (logic == null) { + return null; + } + + + logic.init(this._scenemgr, config, this._conversation._source); + return logic; + } + } + + public static class SimpleNode + extends Node + implements ConversationProvider, AttributeChangeListener, ObjectDeathListener { + @Inject + protected PresentsDObjectMgr _omgr; + + @Inject + protected InvocationManager _invmgr; + + protected ConversationMarshaller _conversationService; + + protected ConversationLogic.Response[] _responses; + + protected int _players; + + public void respond(ClientObject caller, int response, InvocationService.ConfirmListener cl) throws InvocationException { + PlayerObject plobj = (PlayerObject) caller; + if (!originatedHere(plobj.sceneDialog)) { + Log.log.warning("Received response from player not in conversation.", "who", plobj.who(), "dialog", plobj.sceneDialog, "node", this._config.name); + + throw new InvocationException("m.internal_error"); + } + + if (response < 0 || response >= this._responses.length) { + Log.log.warning("Received invalid response.", "who", plobj.who(), "node", this._config.name, "response", Integer.valueOf(response)); + + throw new InvocationException("m.internal_error"); + } + + int pawnId = ((TudeySceneObject) this._scenemgr.getPlaceObject()).getPawnId(plobj.getOid()); + ActorLogic pawn = this._scenemgr.getActorLogic(pawnId); + if (!(pawn instanceof KnightLogic)) { + Log.log.warning("Invalid pawn for responder.", "who", plobj.who(), "pawnId", Integer.valueOf(pawnId), "logic", pawn); + + throw new InvocationException("m.internal_error"); + } + this._responses[response].handle((KnightLogic) pawn, cl); + } + + + public void attributeChanged(AttributeChangedEvent event) { + if (event.getName().equals("sceneDialog") && !originatedHere((DialogInfo) event.getValue())) { + + PlayerObject plobj = (PlayerObject) this._omgr.getObject(event.getTargetOid()); + if (plobj != null) { + plobj.removeListener(this); + } + playerLeft(); + } + } + + + public void objectDestroyed(ObjectDestroyedEvent event) { + playerLeft(); + } + + + public boolean activate(int timestamp, KnightLogic knight) { + PlayerObject plobj = knight.getPlayerObject(); + if (plobj == null || !plobj.isActive()) { + return false; + } + ConversationDialogInfo info = new ConversationDialogInfo(); + info.model = this._conversation._model; + info.sourceCloseAnimation = this._conversation._sourceCloseAnimation; + ConversationConfig.SimpleNode config = (ConversationConfig.SimpleNode) this._config; + info.userInterface = config.userInterface; + info.animation = config.animation; + info.modal = this._conversation.isModal(); + info.name = this._conversation._name; + info.bundle = this._conversation._config.bundle; + info.message = config.message; + info.conversationService = this._conversationService; + Logic source = this._conversation._source; + info.sourceKey = source.getEntityKey(); + info.sourceTranslation = source.getTranslation(); + info.sourceRotation = source.getRotation(); + info.sourceTransient = config.sourceTransient; + info.responses = new String[this._responses.length]; + for (int ii = 0; ii < this._responses.length; ii++) { + info.responses[ii] = this._responses[ii].getText(knight); + } + if (!originatedHere(plobj.sceneDialog)) { + plobj.addListener(this); + this._players++; + } + plobj.setSceneDialog(info); + return true; + } + + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + + ConversationLogic.Response[] sresponses = ((SimpleNode) source)._responses; + for (int ii = 0; ii < this._responses.length; ii++) { + this._responses[ii].transfer(sresponses[ii], refs); + } + } + + + protected void didInit() { + this._conversationService = this._invmgr.registerProvider(this, ConversationMarshaller.class); + ConversationConfig.SimpleNode config = (ConversationConfig.SimpleNode) this._config; + this._responses = new ConversationLogic.Response[config.responses.length]; + for (int ii = 0; ii < this._responses.length; ii++) { + this._responses[ii] = createResponse(config.responses[ii]); + } + } + + + protected void wasRemoved() { + this._invmgr.clearDispatcher(this._conversationService); + for (ConversationLogic.Response response : this._responses) { + response.removed(); + } + } + + + protected boolean originatedHere(DialogInfo info) { + return (info instanceof ConversationDialogInfo && ((ConversationDialogInfo) info).conversationService == this._conversationService); + } + + + protected void playerLeft() { + if (--this._players == 0) { + this._conversation.removeNode(this._config.name); + } + } + } + + public static class ConditionalNode + extends SimpleNode { + protected ConditionLogic _condition; + + + public boolean activate(int timestamp, KnightLogic knight) { + return this._condition.isSatisfied(knight) ? super.activate(timestamp, knight) : this._conversation.jump(timestamp, knight, ((ConversationConfig.ConditionalNode) this._config).failNode); + } + + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + this._condition.transfer(((ConditionalNode) source)._condition, refs); + } + + + protected void didInit() { + super.didInit(); + this._condition = createCondition(((ConversationConfig.ConditionalNode) this._config).condition, this._conversation._source); + } + } + + public static abstract class Response + extends Logic { + protected ConversationConfig.Response _config; + + + protected Logic _source; + + + public void init(TudeySceneManager scenemgr, ConversationConfig.Response config, Logic source) { + init(scenemgr); + this._config = config; + this._source = source; + + + didInit(); + } + + + public abstract String getText(KnightLogic param1KnightLogic); + + + public abstract void handle(KnightLogic param1KnightLogic, InvocationService.ConfirmListener param1ConfirmListener); + + + public void removed() { + wasRemoved(); + } + + + protected void didInit() { + } + + + protected void wasRemoved() { + } + } + + public static class SimpleResponse + extends Response { + protected ActionLogic _action; + + + public String getText(KnightLogic knight) { + return ((ConversationConfig.SimpleResponse) this._config).text; + } + + + public void handle(KnightLogic knight, InvocationService.ConfirmListener cl) { + this._action.execute(this._scenemgr.getNextTimestamp(), knight); + cl.requestProcessed(); + } + + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + this._action.transfer(((SimpleResponse) source)._action, refs); + } + + + protected void didInit() { + ConversationConfig.SimpleResponse config = (ConversationConfig.SimpleResponse) this._config; + this._action = createAction(config.action, this._source); + } + + + protected void wasRemoved() { + this._action.removed(); + } + } + + public static class ConditionalResponse + extends SimpleResponse { + protected ConditionLogic _condition; + + + public String getText(KnightLogic knight) { + return this._condition.isSatisfied(knight) ? super.getText(knight) : null; + } + + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + this._condition.transfer(((ConditionalResponse) source)._condition, refs); + } + + + protected void didInit() { + super.didInit(); + this._condition = createCondition(((ConversationConfig.ConditionalResponse) this._config).condition, this._source); + } + } +} diff --git a/src/com/threerings/projectx/server/logic/KnightLogic.java b/src/com/threerings/projectx/server/logic/KnightLogic.java new file mode 100644 index 0000000..0f9de98 --- /dev/null +++ b/src/com/threerings/projectx/server/logic/KnightLogic.java @@ -0,0 +1,488 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package com.threerings.projectx.server.logic; + +import com.github.thetya.server.KnightManager; +import com.github.thetya.server.item.ItemManager; +import com.github.thetya.server.scene.ThetyaSceneManager; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.inject.Inject; +import com.samskivert.util.ResultListener; +import com.threerings.config.ConfigManager; +import com.threerings.config.ConfigReference; +import com.threerings.crowd.data.BodyObject; +import com.threerings.math.Vector2f; +import com.threerings.presents.dobj.*; +import com.threerings.projectx.config.ActionDesc; +import com.threerings.projectx.config.ActionDesc.ConfirmEnergy; +import com.threerings.projectx.config.ActionDesc.Energy; +import com.threerings.projectx.data.DialogInfo; +import com.threerings.projectx.data.Objective; +import com.threerings.projectx.data.PlaceUserMessage; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.data.actor.Knight; +import com.threerings.projectx.item.config.ItemConfig; +import com.threerings.projectx.item.data.Item; +import com.threerings.projectx.item.server.logic.UseLogic; +import com.threerings.projectx.server.ProjectXSceneManager.InteractionSensor; +import com.threerings.projectx.util.KnightAdvancer; +import com.threerings.projectx.util.KnightAdvancer.Environment; +import com.threerings.tudey.server.TudeySceneManager.Sensor; +import com.threerings.tudey.server.logic.ActivityLogic; +import com.threerings.tudey.server.logic.ActorLogic; +import com.threerings.tudey.server.logic.Logic; +import com.threerings.tudey.server.logic.PawnLogic; +import com.threerings.tudey.shape.Shape; +import com.threerings.tudey.space.SpaceElement; + +import java.util.List; +import java.util.Map; + +public class KnightLogic extends PawnLogic implements Environment, AttributeChangeListener, + ElementUpdateListener, SetListener { + + protected PlayerObject _plobj; + protected ConversationLogic _conversation; + protected Vector2f _conversationStart; + protected Shape _interactionShape; + protected List _elements = Lists.newArrayList(); + protected Logic _actionable; + protected UseLogic _useLogic; + protected Map _objectives = Maps.newHashMap(); + @Inject + protected KnightManager _knightmgr; + @Inject + protected ItemManager _itemmgr; + //@Inject + //protected ProjectXEventLogger _evlog; + + public KnightLogic() { + } + + public boolean performEmote(int idx) { + if (!((KnightAdvancer) this._advancer).canEmote()) { + return false; + } else { + ((Knight) this._actor).setActivity(9 + idx, this._scenemgr.getNextTimestamp()); + return true; + } + } + + public void didSpeak(PlaceUserMessage msg) { + Knight knight = (Knight) this._actor; + if (!knight.isEmoting()) { + int activity = getSpeakActivity(msg); + if (activity != -1 && knight.getActivity() != activity && ((KnightAdvancer) this._advancer) + .canEmote()) { + knight.setActivity(activity, this._scenemgr.getNextTimestamp()); + } + } + + } + + public boolean useItem(Item item, UseLogic logic) { + if (!((KnightAdvancer) this._advancer).canUse()) { + return false; + } else { + this._useLogic = logic; + ((Knight) this._actor).setActivity(5, this._scenemgr.getNextTimestamp(), item.getConfig()); + return true; + } + } + + public void setActionable(Logic actionable) { + String signal = null; + ActionDesc action = null; + if (actionable instanceof Actionable) { + Actionable act = (Actionable)actionable; + signal = act.getActionableSignal(this); + action = act.getActionDesc(); + } else if (actionable instanceof InteractionSensor) { + signal = "Action"; + action = ((InteractionSensor)actionable).getActionDesc(this); + } + + if (signal == null) { + this.setActionable((Logic)null, (String)null, (ActionDesc)null); + } else if (this.canSetActionable(signal)) { + this.setActionable(actionable, signal, action); + } + } + + public void setActionable(Logic actionable, String signal, ActionDesc action) { + Knight knight = (Knight) this._actor; + if (actionable == null) { + if (this._actionable != null) { + this._actionable = null; + this._activities.remove(2); + knight.setActionDesc(null); + } + } else if (this.canSetActionable(signal)) { + if (this._actionable == actionable && knight.getActionDesc() instanceof ConfirmEnergy) { + return; + } + + this._actionable = actionable; + ActivityLogic activity = + actionable instanceof Sensor ? this.createTriggerActivity((Sensor) actionable) + : this.createSignalActivity(actionable, signal); + if (action instanceof Energy) { + activity = this.createEnergyActivity(((Energy) action).amount, activity); + } + + this._activities.put(2, activity); + knight.setActionDesc(action); + } + + } + + public void setConversation(ConversationLogic conversation) { + this._conversation = conversation; + if (this._conversation != null && !this._conversation.isModal()) { + this._conversationStart = new Vector2f(this._actor.getTranslation()); + } + + } + + public ConversationLogic getConversation() { + return this._conversation; + } + + public boolean createItem(ConfigReference item, boolean loot, boolean distribute, + boolean dropped, Logic source) { + return false; + //return this._plobj != null && this._itemmgr.createItem(this._plobj, item); + } + + public boolean grantCrowns(int number) { + this._knightmgr.grantCrowns(this._plobj, number); + return this._plobj != null; + } + + public boolean grantHeat(int amount) { + return false; + } + + public boolean useEnergy(int amount, int type, String description, ResultListener rl) { + this._knightmgr.useEnergy(this._plobj, amount, type, description, rl); + return this._plobj != null && this._plobj.getEnergy(System.currentTimeMillis()) >= amount; + } + + public ConfigManager getConfigManager() { + return this._scenemgr.getConfigManager(); + } + + public PlayerObject getPlayerObject() { + return this._plobj; + } + + public void attributeChanged(AttributeChangedEvent event) { + if (event.getName().equals("flags")) { + this.updateFlags(); + } + + } + + public void elementUpdated(ElementUpdatedEvent event) { + if (event.getName().equals("equipment")) { + this._actor.setConfig(((ThetyaSceneManager) this._scenemgr).getPawnConfig(this._plobj)); + } + + } + + public void entryAdded(EntryAddedEvent event) { + if (event.getName().equals("objectives")) { + this.updateObjective((Objective) event.getEntry()); + } + + } + + public void entryUpdated(EntryUpdatedEvent event) { + if (event.getName().equals("objectives")) { + this.updateObjective((Objective) event.getEntry()); + } + + } + + public void entryRemoved(EntryRemovedEvent event) { + if (event.getName().equals("objectives")) { + ObjectiveLogic ologic = this._objectives.remove(event.getKey()); + if (ologic != null) { + ologic.shutdown(); + } + } + + } + + public void bodyWillEnter(BodyObject body) { + super.bodyWillEnter(body); + this._plobj = (PlayerObject) body; + this._plobj.addListener(this); + this.updateFlags(); + + for (Objective objective : this._plobj.objectives) { + this.updateObjective(objective); + } + + } + + public void bodyWillLeave(BodyObject body) { + super.bodyWillLeave(body); + this._plobj.removeListener(this); + + for (ObjectiveLogic logic : this._objectives.values()) { + logic.shutdown(); + } + + this._objectives.clear(); + } + + public boolean isVisible(ActorLogic actor) { + if (actor != this && this._actor.isSet(4)) { + if (actor instanceof KnightLogic) { + PlayerObject plobj = ((KnightLogic) actor).getPlayerObject(); + if (plobj != null) { + return plobj.tokens.isSupportPlus(); + } + } + + return false; + } else { + return true; + } + } + + public boolean tick(int timestamp) { + Knight knight = (Knight)this._actor; + if (knight.getActivity() == 1 && this._client != null && this._client.getLastInput() > 0) { + knight.setActivity(0, timestamp); + this.finishedLoading(timestamp); + } + + super.tick(timestamp); + Logic actionable = null; + this._scenemgr.getActorSpace().getIntersecting(this._interactionShape, this._elements); + int ii = 0; + + int nn; + for(nn = this._elements.size(); ii < nn; ++ii) { + Logic target = (Logic)((SpaceElement)this._elements.get(ii)).getUserObject(); + if (target instanceof Actionable && target != this) { + String signal = ((Actionable)target).getActionableSignal(this); + if (this.canSetActionable(signal)) { + actionable = target; + if (signal != null) { + break; + } + } + } + } + + this._elements.clear(); + if (actionable == null) { + this._scenemgr.getSensorSpace().getIntersecting(this._interactionShape, this._elements); + ii = 0; + + for(nn = this._elements.size(); ii < nn; ++ii) { + Object sensor = ((SpaceElement)this._elements.get(ii)).getUserObject(); + if (sensor instanceof InteractionSensor + && this.canSetActionable("Action") && ((InteractionSensor)sensor).getActionDesc(this) != null) { + actionable = (Logic)sensor; + break; + } + } + + this._elements.clear(); + } + + this.setActionable(actionable); + if (this._conversation != null && !this._conversation.isModal() && this._plobj.isActive() && this._conversationStart.distance(this._actor.getTranslation()) > 1.0F) { + this._plobj.setSceneDialog((DialogInfo)null); + this.setConversation((ConversationLogic)null); + } + + return true; + } + + public void request(int timestamp, PawnLogic source, String name) { + super.request(timestamp, source, name); + if (!this._objectives.isEmpty()) { + + for (ObjectiveLogic objective : this._objectives.values()) { + objective.request(timestamp, source, name); + } + } + + } + + protected void didInit() { + super.didInit(); + ActivityLogic useItem = new ActivityLogic() { + public void start(int timestamp) { + super.start(timestamp); + if (KnightLogic.this._useLogic != null && KnightLogic.this._useLogic.getDelay() == 0) { + this.doUse(timestamp); + } + + } + + public void tick(int timestamp) { + if (KnightLogic.this._useLogic != null && KnightLogic.this._useLogic.getDelay() < timestamp - this._started) { + this.doUse(timestamp); + } + + } + + protected void doUse(int timestamp) { + ConfigReference ref = (ConfigReference) ((Knight) KnightLogic.this._actor) + .getActivityData(); + long itemId = KnightLogic.this._useLogic.getDropItem(); + if (itemId != 0L) { + Item item = KnightLogic.this._plobj.items.get(itemId); + if (item == null || item.getCount() == 0) { + KnightLogic.this._useLogic = null; + return; + } + } + + if (UseLogic.activateItem(timestamp, ref, KnightLogic.this, KnightLogic.this._scenemgr)) { + ItemConfig config = KnightLogic.this.getConfigManager().getConfig(ItemConfig.class, ref); + ItemConfig.Original original = config == null ? null : config.getOriginal(KnightLogic.this.getConfigManager()); + if (original != null) { + KnightLogic.this._scenemgr.fireEffect(this._scenemgr.getNextTimestamp(), KnightLogic.this, new Vector2f(), 0.0F, "Player/Use Item", "Texture", original.getIconTexture()); + } + + if (itemId != 0L) { + //KnightLogic.this._itemmgr.dropCount(KnightLogic.this._plobj, KnightLogic.this._useLogic.getDropItem()); + } + } + + KnightLogic.this._useLogic = null; + } + }; + useItem.init(this._scenemgr, this); + this._activities.put(5, useItem); + } + + protected void updateShape() { + super.updateShape(); + this._interactionShape = ((com.threerings.projectx.config.ProjectXActorConfig.Knight) this._config).interactionShape + .getShape().transform(this._shape.getTransform(), this._interactionShape); + } + + protected void updateFlags() { + this._actor.set(4, this._plobj.isSet(2)); + this._actor.set(8, this._plobj.isSet(8)); + this._actor.set(16, this._plobj.isSet(16)); + this.updateCollisionFlags(); + } + + protected void finishedLoading(int timestamp) { + //this._evlog.log(new ProjectXEvent.LevelLoaded(this._scenemgr.getScene().getName(), (timestamp - this._actor.getCreated()) / 1000)); + } + + protected ActivityLogic createSignalActivity(final Logic target, final String name) { + KnightLogic.ActionableLogic logic = new KnightLogic.ActionableLogic() { + public void start(int timestamp) { + super.start(timestamp); + target.signal(timestamp, this._source, name); + } + + public void startOther(int timestamp, ActorLogic other) { + super.start(timestamp); + target.signal(timestamp, other, name); + } + }; + logic.init(this._scenemgr, this); + return logic; + } + + protected ActivityLogic createTriggerActivity(final Sensor sensor) { + KnightLogic.ActionableLogic logic = new KnightLogic.ActionableLogic() { + public void start(int timestamp) { + super.start(timestamp); + sensor.trigger(timestamp, this._source); + } + + public void startOther(int timestamp, ActorLogic other) { + super.start(timestamp); + sensor.trigger(timestamp, other); + } + }; + logic.init(this._scenemgr, this); + return logic; + } + + protected ActivityLogic createEnergyActivity(final int amount, final ActivityLogic activity) { + KnightLogic.ActionableLogic logic = new KnightLogic.ActionableLogic() { + public void start(int timestamp) { + super.start(timestamp); + this.confirmEnergy(); + } + + public void startOther(int timestamp, ActorLogic other) { + super.start(timestamp); + this.confirmEnergy(); + } + + protected void confirmEnergy() { + KnightLogic.this._activities.put(2, activity); + ((Knight) KnightLogic.this._actor).setActionDesc(new ConfirmEnergy(amount)); + } + }; + logic.init(this._scenemgr, this); + return logic; + } + + protected boolean canSetActionable(String signal) { + return true; + } + + protected ObjectiveLogic updateObjective(Objective objective) { + Integer idx = objective.getIndex(); + ObjectiveLogic ologic = this._objectives.remove(idx); + if (ologic != null) { + ologic.shutdown(); + } + + String cname = objective.config.getLogicClassName(); + ObjectiveLogic nlogic = + cname == null ? null : (ObjectiveLogic) this._scenemgr.createLogic(cname); + if (nlogic != null) { + nlogic.init(this._scenemgr, objective, this); + this._objectives.put(idx, nlogic); + } + + return nlogic; + } + + protected static int getSpeakActivity(PlaceUserMessage msg) { + switch (msg.mode) { + case 0: + return 7; + case 3: + return 8; + default: + return -1; + } + } + + protected abstract static class ActionableLogic extends ActivityLogic { + + protected ActionableLogic() { + } + + public abstract void startOther(int var1, ActorLogic var2); + } +} diff --git a/src/com/threerings/projectx/server/logic/ProjectXActionLogic.java b/src/com/threerings/projectx/server/logic/ProjectXActionLogic.java new file mode 100644 index 0000000..4ef576a --- /dev/null +++ b/src/com/threerings/projectx/server/logic/ProjectXActionLogic.java @@ -0,0 +1,581 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package com.threerings.projectx.server.logic; + +import com.github.thetya.server.KnightManager; +import com.github.thetya.server.dungeon.Log; +import com.google.inject.Inject; +import com.samskivert.util.ResultListener; +import com.samskivert.util.StringUtil; +import com.threerings.coin.server.persist.CoinTransaction; +import com.threerings.config.ConfigManager; +import com.threerings.projectx.config.ConversationConfig; +import com.threerings.projectx.config.ConversationConfig.Original; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.data.actor.Knight; +import com.threerings.tudey.server.logic.ActionLogic; +import com.threerings.tudey.server.logic.Logic; +import com.threerings.tudey.server.logic.TargetLogic; +import com.threerings.util.MessageBundle; +import com.threerings.whirled.zone.server.ZoneRegistry; + +import java.util.Map; + +public abstract class ProjectXActionLogic extends ActionLogic { + public ProjectXActionLogic() { + } + + public static class SendMail extends Targeted { + //@Inject + //protected UplinkManager _uplinkmgr; + + public SendMail() { + } + + public boolean execute(int timestamp, Logic activator) { + //this._target.resolve(activator, this._targets); + //KnightLogic target = (KnightLogic)Iterables.getFirst(Iterables.filter(this._targets, KnightLogic.class), null); + //this._targets.clear(); + //if (target == null) { + // return false; + //} else { + // com.threerings.projectx.config.ProjectXActionConfig.SendMail config = (com.threerings.projectx.config.ProjectXActionConfig.SendMail)this._config; + // PlayerObject plobj = target.getPlayerObject(); + // this._uplinkmgr.deliverSystem(config.sender, plobj.knightId, plobj.knight, "s." + config.mail, "m." + config.mail, (MailAttachment)null, (MailType)null); + // return true; + //} + return true; + } + + protected void didInit() { + this._target = this.createTarget(((com.threerings.projectx.config.ProjectXActionConfig.SendMail)this._config).target, this._source); + } + } + + public static class SetMemory extends Targeted { + //@Inject + //protected KnightManager _knightmgr; + + public SetMemory() { + } + + public boolean execute(int timestamp, Logic activator) { + //com.threerings.projectx.config.ProjectXActionConfig.SetMemory config = (com.threerings.projectx.config.ProjectXActionConfig.SetMemory)this._config; + //boolean success = false; + //this._target.resolve(activator, this._targets); + //int ii = 0; +// + //for(int nn = this._targets.size(); ii < nn; ++ii) { + // Logic target = (Logic)this._targets.get(ii); + // if (target instanceof KnightLogic) { + // PlayerObject player = ((KnightLogic)target).getPlayerObject(); + // this._knightmgr.setMemory(player, config.name, config.persistence); + // success = true; + // } + //} +// + //this._targets.clear(); + //return success; + return true; + } + + protected void didInit() { + this._target = this.createTarget(((com.threerings.projectx.config.ProjectXActionConfig.SetMemory)this._config).target, this._source); + } + } + + public static class SetObjective extends Targeted { + @Inject + protected KnightManager _knightmgr; + + public SetObjective() { + } + + public boolean execute(int timestamp, Logic activator) { + com.threerings.projectx.config.ProjectXActionConfig.SetObjective config = (com.threerings.projectx.config.ProjectXActionConfig.SetObjective) this._config; + boolean success = false; + this._target.resolve(activator, this._targets); + int ii = 0; + + for (int nn = this._targets.size(); ii < nn; ++ii) { + Logic target = this._targets.get(ii); + if (target instanceof KnightLogic) { + PlayerObject player = ((KnightLogic) target).getPlayerObject(); + this._knightmgr.setObjective(player, config.name, config.objective, config.persistence); + success = true; + } + } + + this._targets.clear(); + return success; + } + + protected void didInit() { + this._target = this.createTarget(((com.threerings.projectx.config.ProjectXActionConfig.SetObjective)this._config).target, this._source); + } + } + + public static class SetProgress extends Targeted { + //@Inject + //protected KnightManager _knightmgr; + //@Inject + //protected ProjectXEventLogger _evlog; + + public SetProgress() { + } + + public boolean execute(int timestamp, Logic activator) { + //com.threerings.projectx.config.ProjectXActionConfig.SetProgress config = (com.threerings.projectx.config.ProjectXActionConfig.SetProgress)this._config; + //boolean success = false; + //this._target.resolve(activator, this._targets); + //int ii = 0; +// + //for(int nn = this._targets.size(); ii < nn; ++ii) { + // Logic target = (Logic)this._targets.get(ii); + // if (target instanceof KnightLogic) { + // PlayerObject player = ((KnightLogic)target).getPlayerObject(); + // success = true; + // this._knightmgr.setProgressFlag(player, config.flags, config.set); + // if (config.set) { + // this._evlog.log(new PlayerProgress(player.playerId, config.flags)); + // } + // } + //} +// + //this._targets.clear(); + //return success; + return true; + } + + protected void didInit() { + this._target = this.createTarget(((com.threerings.projectx.config.ProjectXActionConfig.SetProgress)this._config).target, this._source); + } + } + + public static class UseItem extends Targeted { + @Inject + protected ConfigManager _cfgmgr; + //@Inject + //protected ItemManager _itemmgr; + + public UseItem() { + } + + public boolean execute(int timestamp, Logic activator) { + //ConfigReference ref = ((com.threerings.projectx.config.ProjectXActionConfig.UseItem)this._config).item; + //if (ref == null) { + // return false; + //} else { + // boolean success = false; + // this._target.resolve(activator, this._targets); + // int ii = 0; +// + // for(int nn = this._targets.size(); ii < nn; ++ii) { + // Logic target = (Logic)this._targets.get(ii); + // if (target instanceof KnightLogic) { + // PlayerObject player = ((KnightLogic)target).getPlayerObject(); + // Iterator i$ = player.items.iterator(); +// + // while(i$.hasNext()) { + // Item item = (Item)i$.next(); + // if (item.isEquivalent(ref) && item.getOriginal(this._cfgmgr).isUsable(player, item)) { + // this._itemmgr.useItem(player, item.getItemId()); + // success = true; + // break; + // } + // } + // } + // } +// + // this._targets.clear(); + // return success; + //} + return true; + } + + protected void didInit() { + this._target = this.createTarget(((com.threerings.projectx.config.ProjectXActionConfig.UseItem)this._config).target, this._source); + } + } + + public static class ReturnHome extends Targeted { + @Inject + protected ZoneRegistry _zonereg; + + public ReturnHome() { + } + + public boolean execute(int timestamp, Logic activator) { + boolean success = false; + this._target.resolve(activator, this._targets); + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + Logic target = this._targets.get(ii); + if (target instanceof KnightLogic) { + PlayerObject plobj = ((KnightLogic)target).getPlayerObject(); + if (plobj != null) { + String result = this._zonereg.moveBody(plobj, plobj.homeTown.getZoneId(), plobj.homeTown.defaultSceneId); + success |= result == null; + } + } + } + + this._targets.clear(); + return success; + } + + protected void didInit() { + com.threerings.projectx.config.ProjectXActionConfig.ReturnHome config = (com.threerings.projectx.config.ProjectXActionConfig.ReturnHome)this._config; + this._target = this.createTarget(config.target, this._source); + } + } + + public static class UseEnergy extends Targeted { + protected ActionLogic _action; + protected ActionLogic _failAction; + + public UseEnergy() { + } + + public boolean execute(int timestamp, Logic activator) { + com.threerings.projectx.config.ProjectXActionConfig.UseEnergy config = (com.threerings.projectx.config.ProjectXActionConfig.UseEnergy)this._config; + int amount = config.amount; + String description = "m." + config.useType.toString().toLowerCase(); + int type = 1; + + try { + type = CoinTransaction.class.getField(config.useType.toString()).getInt(null); + } catch (Exception var11) { + Log.log.warning("Failed to get coin transaction type", "useType", config.useType); + } + + boolean success = false; + this._target.resolve(activator, this._targets); + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + final Logic target = (Logic)this._targets.get(ii); + if (target instanceof KnightLogic) { + success |= ((KnightLogic)target).useEnergy(amount, type, description, new ResultListener() { + public void requestCompleted(Void result) { + UseEnergy.this._action.execute(UseEnergy.this._scenemgr.getTimestamp(), target); + } + + public void requestFailed(Exception cause) { + UseEnergy.this._failAction.execute(UseEnergy.this._scenemgr.getTimestamp(), target); + Log.log.warning("Failed to extract energy.", cause); + } + }); + } + } + + this._targets.clear(); + return success; + } + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + ProjectXActionLogic.UseEnergy usource = (ProjectXActionLogic.UseEnergy)source; + this._action.transfer(usource._action, refs); + this._failAction.transfer(usource._failAction, refs); + } + + protected void didInit() { + com.threerings.projectx.config.ProjectXActionConfig.UseEnergy config = (com.threerings.projectx.config.ProjectXActionConfig.UseEnergy)this._config; + this._target = this.createTarget(config.target, this._source); + this._action = this.createAction(config.action, this._source); + this._failAction = this.createAction(config.failAction, this._source); + } + } + + public static class HelpTip extends Targeted { + public HelpTip() { + } + + public boolean execute(int timestamp, Logic activator) { + this._target.resolve(activator, this._targets); + boolean success = false; + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + Logic target = this._targets.get(ii); + if (target instanceof KnightLogic) { + ((Knight)((KnightLogic)target).getActor()).setHelpTip(((com.threerings.projectx.config.ProjectXActionConfig.HelpTip)this._config).tip); + success = true; + } + } + + this._targets.clear(); + return success; + } + + protected void didInit() { + com.threerings.projectx.config.ProjectXActionConfig.HelpTip config = (com.threerings.projectx.config.ProjectXActionConfig.HelpTip)this._config; + this._target = this.createTarget(config.target, this._source); + } + } + + public static class ClearDialog extends Targeted { + public ClearDialog() { + } + + public boolean execute(int timestamp, Logic activator) { + this._target.resolve(activator, this._targets); + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + Logic target = this._targets.get(ii); + if (target instanceof KnightLogic && target.isActive()) { + PlayerObject plobj = ((KnightLogic)target).getPlayerObject(); + if (plobj != null && plobj.isActive()) { + plobj.setSceneDialog(null); + } + } + } + + this._targets.clear(); + return true; + } + + protected void didInit() { + com.threerings.projectx.config.ProjectXActionConfig.ClearDialog config = (com.threerings.projectx.config.ProjectXActionConfig.ClearDialog)this._config; + this._target = this.createTarget(config.target, this._source); + } + } + + public static class ConversationJump extends Targeted { + public ConversationJump() { + } + + public boolean execute(int timestamp, Logic activator) { + String node = ((com.threerings.projectx.config.ProjectXActionConfig.ConversationJump)this._config).node; + this._target.resolve(activator, this._targets); + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + Logic target = this._targets.get(ii); + if (target instanceof KnightLogic && target.isActive()) { + KnightLogic knight = (KnightLogic)target; + ConversationLogic conversation = knight.getConversation(); + if (conversation != null && conversation.isActive()) { + conversation.jump(timestamp, knight, node); + } + } + } + + this._targets.clear(); + return true; + } + + protected void didInit() { + com.threerings.projectx.config.ProjectXActionConfig.ConversationJump config = (com.threerings.projectx.config.ProjectXActionConfig.ConversationJump)this._config; + this._target = this.createTarget(config.target, this._source); + } + } + + public static class StartConversation extends Targeted { + protected ConversationLogic _conversation; + + public StartConversation() { + } + + public boolean execute(int timestamp, Logic activator) { + if (this._conversation == null) { + return false; + } else { + this._target.resolve(activator, this._targets); + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + Logic target = this._targets.get(ii); + if (target instanceof KnightLogic && target.isActive()) { + KnightLogic knight = (KnightLogic)target; + PlayerObject plobj = knight.getPlayerObject(); + if (plobj != null && plobj.isActive()) { + this._conversation.start(timestamp, knight); + } + } + } + + this._targets.clear(); + return true; + } + } + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + if (this._conversation != null) { + this._conversation.transfer(((ProjectXActionLogic.StartConversation)source)._conversation, refs); + } + + } + + protected void didInit() { + com.threerings.projectx.config.ProjectXActionConfig.StartConversation config = (com.threerings.projectx.config.ProjectXActionConfig.StartConversation)this._config; + this._target = this.createTarget(config.target, this._source); + ConfigManager cfgmgr = this._scenemgr.getConfigManager(); + ConversationConfig cconfig = cfgmgr.getConfig(ConversationConfig.class, config.conversation); + Original original = cconfig == null ? null : cconfig.getOriginal(cfgmgr); + if (original != null) { + this._conversation = (ConversationLogic)this._scenemgr.createLogic(original.getLogicClassName()); + if (this._conversation != null) { + this._conversation.init(this._scenemgr, original, this._source, config.model == null ? this._source.getModel() : config.model, config.sourceCloseAnimation, StringUtil.isBlank(config.name) ? MessageBundle.taint("") : config.name); + } + } + } + + protected void wasRemoved() { + if (this._conversation != null) { + this._conversation.removed(); + } + + } + } + + public static class SetActionable extends Targeted { + protected TargetLogic _actionable; + + public SetActionable() { + } + + public boolean execute(int timestamp, Logic activator) { + Logic actionable = null; + if (this._actionable != null) { + this._actionable.resolve(activator, this._targets); + if (this._targets.size() > 0) { + actionable = this._targets.get(0); + } + } + + this._targets.clear(); + this._target.resolve(activator, this._targets); + com.threerings.projectx.config.ProjectXActionConfig.SetActionable config = (com.threerings.projectx.config.ProjectXActionConfig.SetActionable)this._config; + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + Logic target = this._targets.get(ii); + if (target instanceof KnightLogic) { + ((KnightLogic)target).setActionable(actionable, config.signal, config.actionDesc); + } + } + + this._targets.clear(); + return true; + } + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + this._actionable.transfer(((ProjectXActionLogic.SetActionable)source)._actionable, refs); + } + + protected void didInit() { + com.threerings.projectx.config.ProjectXActionConfig.SetActionable config = (com.threerings.projectx.config.ProjectXActionConfig.SetActionable)this._config; + this._target = this.createTarget(config.target, this._source); + if (config.actionable != null) { + this._actionable = this.createTarget(config.actionable, this._source); + } + + } + } + + public static class GrantHeat extends Targeted { + public GrantHeat() { + } + + public boolean execute(int timestamp, Logic activator) { + int amount = ((com.threerings.projectx.config.ProjectXActionConfig.GrantHeat)this._config).amount; + if (amount == 0) { + return true; + } else { + boolean success = false; + this._target.resolve(activator, this._targets); + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + Logic target = this._targets.get(ii); + if (target instanceof KnightLogic) { + success |= ((KnightLogic)target).grantHeat(amount); + } + } + + this._targets.clear(); + return success; + } + } + + protected void didInit() { + this._target = this.createTarget(((com.threerings.projectx.config.ProjectXActionConfig.GrantHeat)this._config).target, this._source); + } + } + + public static class GrantCrowns extends Targeted { + public GrantCrowns() { + } + + public boolean execute(int timestamp, Logic activator) { + int number = ((com.threerings.projectx.config.ProjectXActionConfig.GrantCrowns)this._config).number; + if (number == 0) { + return true; + } else { + boolean success = false; + this._target.resolve(activator, this._targets); + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + Logic target = this._targets.get(ii); + if (target instanceof KnightLogic) { + success |= ((KnightLogic)target).grantCrowns(number); + } + } + + this._targets.clear(); + return success; + } + } + + protected void didInit() { + this._target = this.createTarget(((com.threerings.projectx.config.ProjectXActionConfig.GrantCrowns)this._config).target, this._source); + } + } + + public static class CreateItem extends Targeted { + public CreateItem() { + } + + public boolean execute(int timestamp, Logic activator) { + com.threerings.projectx.config.ProjectXActionConfig.CreateItem config = (com.threerings.projectx.config.ProjectXActionConfig.CreateItem)this._config; + if (config.item == null) { + return true; + } else { + boolean success = false; + this._target.resolve(activator, this._targets); + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + Logic target = this._targets.get(ii); + if (target instanceof KnightLogic) { + success |= ((KnightLogic)target).createItem(config.item, config.loot, config.distribute, config.dropped, this._source); + } + } + + this._targets.clear(); + return success; + } + } + + protected void didInit() { + this._target = this.createTarget(((com.threerings.projectx.config.ProjectXActionConfig.CreateItem)this._config).target, this._source); + } + } +} diff --git a/src/com/threerings/projectx/shop/server/logic/ShopActionLogic.java b/src/com/threerings/projectx/shop/server/logic/ShopActionLogic.java new file mode 100644 index 0000000..3b75b3b --- /dev/null +++ b/src/com/threerings/projectx/shop/server/logic/ShopActionLogic.java @@ -0,0 +1,435 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package com.threerings.projectx.shop.server.logic; + +import com.github.thetya.server.KnightManager; +import com.github.thetya.server.item.ItemManager; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; +import com.google.inject.Inject; +import com.samskivert.util.Calendars; +import com.samskivert.util.Calendars.Builder; +import com.samskivert.util.ObjectUtil; +import com.samskivert.util.ResultListener; +import com.samskivert.util.StringUtil; +import com.threerings.config.ConfigManager; +import com.threerings.config.ConfigReference; +import com.threerings.expr.MutableInteger; +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationManager; +import com.threerings.presents.util.IgnoreConfirmAdapter; +import com.threerings.projectx.data.CatalogPurchase; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.dungeon.server.LevelParty; +import com.threerings.projectx.item.config.ItemConfig; +import com.threerings.projectx.item.config.ItemPropertyConfig.ItemProps; +import com.threerings.projectx.server.PlayerLocal; +import com.threerings.projectx.server.ProjectXEvent; +import com.threerings.projectx.server.ProjectXEvent.Buy; +import com.threerings.projectx.server.ProjectXEvent.Sell; +import com.threerings.projectx.server.logic.KnightLogic; +import com.threerings.projectx.server.logic.ProjectXActionLogic; +import com.threerings.projectx.shop.Log; +import com.threerings.projectx.shop.config.CatalogConfig; +import com.threerings.projectx.shop.config.GoodConfig; +import com.threerings.projectx.shop.config.GoodConfig.Item; +import com.threerings.projectx.shop.config.GoodConfig.TokenItem; +import com.threerings.projectx.shop.config.ShopActionConfig.CatalogCycle; +import com.threerings.projectx.shop.data.ShopDialogInfo; +import com.threerings.projectx.shop.data.ShopDialogInfo.Type; +import com.threerings.projectx.shop.data.ShopMarshaller; +import com.threerings.projectx.shop.data.UniqueShopInfo; +import com.threerings.projectx.shop.server.ShopProvider; +import com.threerings.tudey.server.logic.Logic; +import com.threerings.util.MessageBundle; + +import java.lang.ref.SoftReference; +import java.util.*; +import java.util.Map.Entry; + +public abstract class ShopActionLogic extends ProjectXActionLogic { + public ShopActionLogic() { + } + + public static class OpenShop extends Targeted implements ShopProvider { + protected static final GoodConfig[] NULL_GOODS = new GoodConfig[0]; + @Inject + protected InvocationManager _invmgr; + @Inject + protected ItemManager _itemmgr; + @Inject + protected KnightManager _knightmgr; + //@Inject + //protected ProjectXEventLogger _evlog; + //@Inject + //protected TransactionManager _txmgr; + protected ShopDialogInfo _info = new ShopDialogInfo(); + protected Long _seed; + protected Map> _goods = Maps.newHashMap(); + + public OpenShop() { + } + + public void transact(ClientObject caller, int[] buyIndices, long[] sellIds, int[] sellCounts, final ConfirmListener cl) throws InvocationException { + final PlayerObject plobj = (PlayerObject)caller; + if (plobj.sceneDialog != this._info) { + Log.log.warning("Received request from player without dialog.", "who", plobj.who()); + throw new InvocationException("m.internal_error"); + } else { + final List events = Lists.newArrayList(); + int buytotal = 0; + int selltotal = 0; + int energy = 0; + final List> items = Lists.newArrayList(); + Map, MutableInteger> tokens = Maps.newHashMap(); + UniqueShopInfo usi = (UniqueShopInfo)plobj.uniqueDialog; + int[] available = Arrays.copyOf(usi.available, usi.available.length); + final Map cps = Maps.newHashMap(); + com.threerings.projectx.shop.config.ShopActionConfig.OpenShop config = (com.threerings.projectx.shop.config.ShopActionConfig.OpenShop)this._config; + int[] arr$ = buyIndices; + int len$ = buyIndices.length; + + int crownDelta = 0; + int crownDelta1; + for(int i$ = 0; i$ < len$; ++i$) { + crownDelta1 = arr$[i$]; + if (crownDelta1 < 0 || crownDelta1 >= usi.goods.length) { + Log.log.warning("Player requested to buy invalid good.", "who", plobj.who(), "idx", crownDelta1); + throw new InvocationException("m.internal_error"); + } + + if (available[crownDelta1] == 0) { + Log.log.warning("Player requested to buy limited good.", "who", plobj.who(), "idx", crownDelta1); + throw new InvocationException("m.internal_error"); + } + + if (available[crownDelta1] > 0) { + int var10002 = available[crownDelta1]--; + CatalogPurchase cp = cps.get(usi.goods[crownDelta1].getLookup()); + if (cp == null) { + cp = new CatalogPurchase(); + cp.catalog = config.catalog.getName(); + cp.good = usi.goods[crownDelta1].getLookup(); + cp.purchased = 1; + cp.expires = this._seed; + cps.put(cp.good, cp); + } else { + ++cp.purchased; + } + } + + GoodConfig good = usi.goods[crownDelta1]; + TokenItem ti = ObjectUtil.as(good, TokenItem.class); + if (ti != null) { + if (tokens.containsKey(ti.token)) { + MutableInteger var10000 = tokens.get(ti.token); + var10000.value += ti.tokenCount; + } else { + tokens.put(ti.token, new MutableInteger(ti.tokenCount)); + } + } else { + buytotal += good.getPrice(); + energy += good.energy; + } + + good.getItems(items); + if (good instanceof Item) { + Item itemGood = (Item)good; + events.add(new Buy(plobj.playerId, itemGood.item.getName(), itemGood.getCount(), itemGood.getPrice())); + } + } + + final Map sells = Maps.newHashMapWithExpectedSize(sellIds.length); + final List sellItems = Lists.newArrayListWithCapacity(sellIds.length); + Set sellSet = Sets.newHashSet(); + crownDelta1 = 0; + + while(true) { + int ii; + if (crownDelta1 < sellIds.length) { + if (!sellSet.add(sellIds[crownDelta1])) { + Log.log.warning("Player tried to see item twice.", "itemId", sellIds[crownDelta1]); + throw new InvocationException("m.internal_error"); + } + + com.threerings.projectx.item.data.Item item = plobj.items.get(sellIds[crownDelta1]); + if (item != null && plobj.canSell(this._scenemgr.getConfigManager(), item)) { + ii = sellCounts[crownDelta1]; + if (ii > 0 && ii <= item.getCount()) { + ItemProps props = item.getProps(this._scenemgr.getConfigManager()); + if (props.sellPrice == 0) { + Log.log.warning("Player requested to sell unsellable item.", "item", item); + throw new InvocationException("m.internal_error"); + } + + selltotal += props.sellPrice * ii; + events.add(new Sell(plobj.playerId, item.getConfig().getName(), ii, props.sellPrice)); + sells.put(sellIds[crownDelta1], ii); + sellItems.add(item); + ++crownDelta1; + continue; + } + + Log.log.warning("Player requested to sell invalid item count.", "count", ii, "item count", item.getCount()); + throw new InvocationException("m.internal_error"); + } + + Log.log.warning("Player requested to sell invalid item.", "itemId", sellIds[crownDelta1], "item", item); + throw new InvocationException("m.internal_error"); + } + + Iterator i$ = tokens.entrySet().iterator(); + + while(i$.hasNext()) { + Entry, MutableInteger> entry = (Entry)i$.next(); + com.threerings.projectx.item.data.Item token = null; + i$ = plobj.items.iterator(); + + while(i$.hasNext()) { + com.threerings.projectx.item.data.Item item = (com.threerings.projectx.item.data.Item)i$.next(); + if (item.isEquivalent(entry.getKey())) { + token = item; + } + } + + int count = entry.getValue().value; + if (token == null || token.getCount() < count) { + throw new InvocationException("m.nsf_tokens"); + } + + sells.put(token.getItemId(), count); + } + + crownDelta1 = selltotal - buytotal; + int penergy = plobj.getEnergy(System.currentTimeMillis()); + if (plobj.crowns + crownDelta < 0) { + throw new InvocationException("m.nsf_crowns"); + } + + if (penergy < energy) { + throw new InvocationException("m.nsf_energy"); + } + + if (tokens.isEmpty()) { + sells.clear(); + + for(ii = 0; ii < sellIds.length; ++ii) { + sells.put(sellIds[ii], sellCounts[ii]); + } + } + + if (crownDelta < 0) { + plobj.adjustCrowns(crownDelta); + } + + int finalBuytotal = buytotal; + int finalSelltotal = selltotal; + ResultListener rl = new IgnoreConfirmAdapter(cl) { + public void requestCompleted(Void result) { + OpenShop.this._itemmgr.createAndDeleteItems(plobj, items, sells, new IgnoreConfirmAdapter>(cl) { + public void requestCompleted(List itemsx) { + if (crownDelta > 0) { + plobj.adjustCrowns(crownDelta); + } + + Iterator i$x = events.iterator(); + + while(i$x.hasNext()) { + ProjectXEvent event = (ProjectXEvent)i$x.next(); + //OpenShop.this._evlog.log(event); + } + + PlayerLocal local = plobj.getLocal(PlayerLocal.class); + local.madePurchase = true; + plobj.startTransaction(); + + try { + Iterator i$xx = cps.values().iterator(); + + while(i$xx.hasNext()) { + CatalogPurchase cp = (CatalogPurchase)i$xx.next(); + cp.setDirty(true); + local.addCatalogPurchase(cp); + } + + if (OpenShop.this._info.type == Type.TOKEN) { + ConfigManager cfgmgr = OpenShop.this._scenemgr.getConfigManager(); + Iterator i$ = itemsx.iterator(); + + while(i$.hasNext()) { + com.threerings.projectx.item.data.Item item = (com.threerings.projectx.item.data.Item)i$.next(); + if (item.getCount() == 1 && item.getOriginal(cfgmgr).maxStack == 1) { + item.setLocked(true); + plobj.updateItems(item); + } + } + } + } finally { + plobj.commitTransaction(); + } + + //OpenShop.this._txmgr.logShopSell(plobj.knightId, sellItems, finalSelltotal); + //OpenShop.this._txmgr.logShopPurchase(plobj.knightId, itemsx, finalBuytotal); + super.requestCompleted(itemsx); + } + + public void requestFailed(Exception cause) { + if (crownDelta < 0) { + plobj.adjustCrowns(-crownDelta); + } + + super.requestFailed(cause); + } + }); + } + + public void requestFailed(Exception cause) { + if (crownDelta < 0) { + plobj.adjustCrowns(-crownDelta); + } + + super.requestFailed(cause); + } + }; + this._knightmgr.useEnergy(plobj, energy, 207, "m.purchase", rl); + return; + } + } + } + + public boolean execute(int timestamp, Logic activator) { + this._target.resolve(activator, this._targets); + this._info.sourceKey = this._source.getEntityKey(); + this._info.sourceTranslation = this._source.getTranslation(); + this._info.sourceRotation = this._source.getRotation(); + this.updateSeed(); + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + Logic target = this._targets.get(ii); + if (target instanceof KnightLogic && target.isActive()) { + PlayerObject plobj = ((KnightLogic)target).getPlayerObject(); + if (plobj != null && plobj.isActive()) { + UniqueShopInfo usi = new UniqueShopInfo(); + usi.goods = this.getGoods(plobj); + usi.available = this.getAvailableGoods(plobj, usi.goods); + plobj.setUniqueDialog(usi); + plobj.setSceneDialog(this._info); + } + } + } + + this._targets.clear(); + return true; + } + + public void transfer(Logic source, Map refs) { + super.transfer(source, refs); + this._seed = ((ShopActionLogic.OpenShop)source)._seed; + } + + protected void didInit() { + com.threerings.projectx.shop.config.ShopActionConfig.OpenShop config = (com.threerings.projectx.shop.config.ShopActionConfig.OpenShop)this._config; + this._target = this.createTarget(config.target, this._source); + this._info.model = config.model == null ? this._source.getModel() : config.model; + this._info.animation = config.animation; + this._info.name = StringUtil.isBlank(config.name) ? MessageBundle.taint("") : config.name; + this._info.title = StringUtil.isBlank(config.title) ? MessageBundle.taint("") : config.title; + this._info.level = config.level; + this._info.type = config.type; + this._info.sourceTransient = config.sourceTransient; + this._info.sourceCloseAnimation = config.sourceCloseAnimation; + this._info.seedKnight = config.adjustCyclePerKnight; + this._info.shopService = this._invmgr.registerProvider(this, ShopMarshaller.class); + this.updateSeed(); + } + + protected GoodConfig[] getGoods(PlayerObject plobj) { + long seed = this._seed + (long)(this._info.seedKnight ? plobj.knightId : 0); + SoftReference ref = this._goods.get(seed); + if (ref == null || ref.get() == null) { + ConfigManager cfgmgr = this._scenemgr.getConfigManager(); + CatalogConfig cconfig = cfgmgr.getConfig(CatalogConfig.class, ((com.threerings.projectx.shop.config.ShopActionConfig.OpenShop)this._config).catalog); + ref = new SoftReference(cconfig == null ? NULL_GOODS : cconfig.getGoods(cfgmgr, seed)); + } + + return ref.get(); + } + + protected int[] getAvailableGoods(PlayerObject plobj, GoodConfig[] goods) { + int[] available = new int[goods.length]; + if (this._seed == 0L) { + Arrays.fill(available, -1); + } else { + com.threerings.projectx.shop.config.ShopActionConfig.OpenShop config = (com.threerings.projectx.shop.config.ShopActionConfig.OpenShop)this._config; + PlayerLocal local = plobj.getLocal(PlayerLocal.class); + Map catMap = config.catalog == null ? null : local.catPurchases.get(config.catalog.getName()); + + for(int ii = 0; ii < available.length; ++ii) { + if (goods[ii].getLimit() == 0) { + available[ii] = -1; + } else { + CatalogPurchase cp = catMap == null ? null : catMap.get(goods[ii].getLookup()); + available[ii] = Math.max(0, goods[ii].getLimit() - (cp != null && !cp.isExpired() ? cp.purchased : 0)); + } + } + } + + return available; + } + + protected void updateSeed() { + com.threerings.projectx.shop.config.ShopActionConfig.OpenShop config = (com.threerings.projectx.shop.config.ShopActionConfig.OpenShop)this._config; + Builder builder = Calendars.now(); + if (config.catalogCycle == CatalogCycle.CONSTANT) { + if (this._seed == null) { + this._seed = 0L; + } + + } else if (config.catalogCycle == CatalogCycle.INSTANCE) { + if (this._seed == null) { + LevelParty party = LevelParty.getParty(this._scenemgr); + if (party == null) { + this._seed = builder.addDays(1).toTime(); + } else { + this._seed = party.getSeed(); + } + } + + } else { + switch(config.catalogCycle) { + case YEAR: + builder.set(2, 0).set(5, 0).zeroTime().addYears(1); + break; + case MONTH: + builder.set(5, 1).zeroTime().addMonths(1); + break; + case WEEK: + builder.set(7, 1).zeroTime().addDays(7); + break; + case DAY: + builder.zeroTime().addDays(1); + } + + this._seed = builder.toTime(); + } + } + + protected void wasRemoved() { + this._invmgr.clearDispatcher(this._info.shopService); + } + } +} diff --git a/src/com/threerings/projectx/social/server/logic/ResponseLogic.java b/src/com/threerings/projectx/social/server/logic/ResponseLogic.java new file mode 100644 index 0000000..e1c393f --- /dev/null +++ b/src/com/threerings/projectx/social/server/logic/ResponseLogic.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package com.threerings.projectx.social.server.logic; + +import com.github.thetya.server.dungeon.DungeonManager; +import com.github.thetya.server.peer.ProjectXPeerProvider; +import com.github.thetya.server.peer.ThetyaPeerManager; +import com.github.thetya.server.peer.util.ProviderPlayerTransfer; +import com.google.inject.Inject; +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.server.InvocationException; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.social.data.Notification; + +public abstract class ResponseLogic { + public ResponseLogic() { + } + + public abstract void respond(PlayerObject var1, Notification var2, int var3, ConfirmListener var4) throws InvocationException; + + public static class PartyInvite extends ResponseLogic { + @Inject + protected ThetyaPeerManager _peermgr; + @Inject + protected DungeonManager _dungeonmgr; + + public PartyInvite() { + } + + public void respond(PlayerObject player, Notification note, int resp, ConfirmListener cl) throws InvocationException { + final com.threerings.projectx.social.data.Notification.PartyInvite invite = (com.threerings.projectx.social.data.Notification.PartyInvite)note; + if (resp != 0) { + this._peermgr.requireProjectXPeerProvider(invite.nodeName).rejectPartyInvite(null, player.knight, invite.partyOid, cl); + } else { + (new ProviderPlayerTransfer(player, invite.nodeName, cl) { + protected void requestTransfer(ProjectXPeerProvider provider, PlayerObject player, Object[] locals) throws InvocationException { + provider.acceptPartyInvite(null, player, locals, invite.partyOid, this); + } + }).invoke(this._peermgr); + } + } + } +} diff --git a/src/com/threerings/projectx/town/data/TownSceneConfig.java b/src/com/threerings/projectx/town/data/TownSceneConfig.java new file mode 100644 index 0000000..0f49b5b --- /dev/null +++ b/src/com/threerings/projectx/town/data/TownSceneConfig.java @@ -0,0 +1,27 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package com.threerings.projectx.town.data; + +import com.threerings.crowd.client.PlaceController; +import com.threerings.projectx.data.ProjectXSceneConfig; +import com.threerings.projectx.town.client.TownSceneController; + +public class TownSceneConfig extends ProjectXSceneConfig { + public TownSceneConfig() { + } + + public String getType() { + return "town"; + } + + public PlaceController createController() { + return new TownSceneController(); + } + + public String getManagerClassName() { + return "com.github.thetya.server.town.TownSceneManager"; + } +} diff --git a/src/com/threerings/projectx/town/server/logic/GateDisplayLogic.java b/src/com/threerings/projectx/town/server/logic/GateDisplayLogic.java new file mode 100644 index 0000000..9e17328 --- /dev/null +++ b/src/com/threerings/projectx/town/server/logic/GateDisplayLogic.java @@ -0,0 +1,96 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package com.threerings.projectx.town.server.logic; + +import com.github.thetya.server.dungeon.LevelParty; +import com.github.thetya.server.dungeon.RotatingGate; +import com.github.thetya.server.dungeon.RotatingGate.MuffinObserver; +import com.github.thetya.server.town.TownManager; +import com.github.thetya.server.town.TownManager.GateObserver; +import com.github.thetya.server.town.TownSceneManager; +import com.google.inject.Inject; +import com.threerings.projectx.town.data.actor.GateDisplay; +import com.threerings.tudey.server.logic.ActorLogic; + +public class GateDisplayLogic extends ActorLogic implements MuffinObserver, GateObserver { + protected RotatingGate _gate; + @Inject + protected TownManager _townMgr; + + public GateDisplayLogic() { + } + + public void gatesUpdated(int townId) { + this.watchGate(); + } + + public void muffinsUpdated(RotatingGate gate) { + gate.update((GateDisplay)this._actor); + } + + protected void didInit() { + super.didInit(); + if (this.getTownId() > 0) { + this._townMgr.addGateObserver(this); + this.watchGate(); + } else { + LevelParty party = LevelParty.getParty(this._scenemgr); + if (party != null && party.getGate() instanceof RotatingGate) { + this._gate = (RotatingGate)party.getGate(); + this.updateGateDisplay(); + } + } + + } + + protected void wasRemoved() { + super.wasRemoved(); + this.unwatchGate(); + if (this.getTownId() > 0) { + this._townMgr.removeGateObserver(this); + } + + } + + protected void watchGate() { + this.unwatchGate(); + this._gate = ((TownSceneManager) this._scenemgr).getRotatingGate(((com.threerings.projectx.town.config.TownActorConfig.GateDisplay)this._config).gateIndex); + this.updateGateDisplay(); + } + + protected void updateGateDisplay() { + GateDisplay gd = (GateDisplay)this._actor; + if (this._gate == null) { + gd.gateId = 0; + gd.stratum = -1; + gd.themes = null; + gd.reachedCore = false; + gd.setDirty(true); + } else { + this._gate.update(gd); + this._gate.addMuffinObserver(this); + } + } + + protected void unwatchGate() { + if (this._gate != null) { + this._gate.removeMuffinObserver(this); + this._gate = null; + } + + } + + protected int getTownId() { + return this._scenemgr instanceof TownSceneManager ? ((TownSceneManager)this._scenemgr).getTownId() : 0; + } +} diff --git a/src/com/threerings/projectx/town/server/logic/TownActionLogic.java b/src/com/threerings/projectx/town/server/logic/TownActionLogic.java new file mode 100644 index 0000000..ea68111 --- /dev/null +++ b/src/com/threerings/projectx/town/server/logic/TownActionLogic.java @@ -0,0 +1,151 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package com.threerings.projectx.town.server.logic; + +import com.github.thetya.server.dungeon.RotatingGate; +import com.github.thetya.server.dungeon.data.RotatingGateData; +import com.github.thetya.server.town.TownManager; +import com.github.thetya.server.town.TownSceneManager; +import com.google.inject.Inject; +import com.threerings.presents.client.InvocationService.ConfirmListener; +import com.threerings.presents.client.InvocationService.ResultListener; +import com.threerings.presents.data.ClientObject; +import com.threerings.presents.server.InvocationException; +import com.threerings.presents.server.InvocationManager; +import com.threerings.projectx.data.PlayerObject; +import com.threerings.projectx.server.logic.KnightLogic; +import com.threerings.projectx.server.logic.ProjectXActionLogic; +import com.threerings.projectx.town.Log; +import com.threerings.projectx.town.data.MineralAddingDialogInfo; +import com.threerings.projectx.town.data.MineralAddingMarshaller; +import com.threerings.projectx.town.server.MineralAddingProvider; +import com.threerings.tudey.server.logic.Logic; +import com.threerings.tudey.server.logic.ActionLogic.Targeted; + +public abstract class TownActionLogic extends ProjectXActionLogic { + public TownActionLogic() { + } + + public static class MoveToTown extends Targeted { + @Inject + protected TownManager _townmgr; + + public MoveToTown() { + } + + public boolean execute(int timestamp, Logic activator) { + boolean success = false; + this._target.resolve(activator, this._targets); + com.threerings.projectx.town.config.TownActionConfig.MoveToTown config = (com.threerings.projectx.town.config.TownActionConfig.MoveToTown)this._config; + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + Logic target = (Logic)this._targets.get(ii); + if (target instanceof KnightLogic) { + PlayerObject plobj = ((KnightLogic)target).getPlayerObject(); + if (plobj != null) { + String result = this._townmgr.moveToTown(plobj, config.townName, config.sceneId, config.portal.getKey()); + success |= result == null; + } + } + } + + this._targets.clear(); + return success; + } + + protected void didInit() { + this._target = this.createTarget(((com.threerings.projectx.town.config.TownActionConfig.MoveToTown)this._config).target, this._source); + } + } + + public static class OpenMineralAdding extends Targeted implements MineralAddingProvider { + protected MineralAddingDialogInfo _info = new MineralAddingDialogInfo(); + @Inject + protected InvocationManager _invmgr; + + public OpenMineralAdding() { + } + + public void addMinerals(ClientObject caller, int subtier, int approvedCost, long[] itemIds, int[] itemCounts, ResultListener rl) throws InvocationException { + PlayerObject plobj = (PlayerObject)caller; + this.getGate(plobj).addMinerals(plobj, subtier, approvedCost, itemIds, itemCounts, rl); + } + + public void optimizeAddMinerals(ClientObject caller, ResultListener rl) throws InvocationException { + PlayerObject plobj = (PlayerObject)caller; + this.getGate(plobj).optimizeAddMinerals(plobj, false, rl); + } + + public void addSubsidies(ClientObject caller, int subtier, int[] crowns, ConfirmListener cl) throws InvocationException { + PlayerObject plobj = (PlayerObject)caller; + this.getGate(plobj).addSubsidies(plobj, subtier, crowns, cl); + } + + public boolean shouldExecute(Logic activator) { + return this.getGate() != null; + } + + public boolean execute(int timestamp, Logic activator) { + RotatingGate gate = this.getGate(); + if (gate == null) { + return false; + } else { + this._info.gateId = gate.getData().getGateId(); + this._target.resolve(activator, this._targets); + int ii = 0; + + for(int nn = this._targets.size(); ii < nn; ++ii) { + Logic target = (Logic)this._targets.get(ii); + if (target instanceof KnightLogic && target.isActive()) { + PlayerObject plobj = ((KnightLogic)target).getPlayerObject(); + if (plobj != null && plobj.isActive()) { + plobj.setSceneDialog(this._info); + } + } + } + + this._targets.clear(); + return true; + } + } + + protected void didInit() { + com.threerings.projectx.town.config.TownActionConfig.OpenMineralAdding config = (com.threerings.projectx.town.config.TownActionConfig.OpenMineralAdding)this._config; + this._target = this.createTarget(config.target, this._source); + this._info.mineralAddingService = (MineralAddingMarshaller)this._invmgr.registerProvider(this, MineralAddingMarshaller.class); + } + + protected void wasRemoved() { + this._invmgr.clearDispatcher(this._info.mineralAddingService); + } + + protected RotatingGate getGate(PlayerObject plobj) throws InvocationException { + if (plobj.sceneDialog != this._info) { + Log.log.warning("Received request from player without dialog.", new Object[]{"who", plobj.who()}); + throw new InvocationException("m.internal_error"); + } else { + RotatingGate gate = this.getGate(); + if (gate == null) { + throw new InvocationException("m.invalid_gate"); + } else { + return gate; + } + } + } + + protected RotatingGate getGate() { + if (this._scenemgr instanceof TownSceneManager) { + RotatingGate gate = ((TownSceneManager)this._scenemgr).getRotatingGate(((com.threerings.projectx.town.config.TownActionConfig.OpenMineralAdding)this._config).gateIndex); + if (gate != null && ((RotatingGateData)gate.getData()).getCountdown() > 0) { + return gate; + } + } + + return null; + } + } +} diff --git a/thetya-client/thetya-client.iml b/thetya-client/thetya-client.iml new file mode 100644 index 0000000..17d1596 --- /dev/null +++ b/thetya-client/thetya-client.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/thetya-server.iml b/thetya-server.iml new file mode 100644 index 0000000..4543647 --- /dev/null +++ b/thetya-server.iml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/thetya-tools/src/com/github/thetya/tools/ColorizationReader.java b/thetya-tools/src/com/github/thetya/tools/ColorizationReader.java new file mode 100644 index 0000000..1c6cde1 --- /dev/null +++ b/thetya-tools/src/com/github/thetya/tools/ColorizationReader.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.tools; + +import com.threerings.media.image.ColorPository; +import com.threerings.media.image.ColorPository.ClassRecord; +import com.threerings.media.image.ColorPository.ColorRecord; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.util.Iterator; +import java.util.SortedMap; +import java.util.TreeMap; + +public class ColorizationReader { + + public static void main(String[] args) { + if (args.length < 1) { + System.err.println("You need to specify the path to the colordefs.dat file as an argument."); + return; + } + + ColorPository colorPository; + + try { + colorPository = ColorPository.loadColorPository(new FileInputStream(args[0])); + } catch (FileNotFoundException ex) { + System.err.println("File not found."); + return; + } + + SortedMap colorRecords = new TreeMap(); + + for (Iterator it = colorPository.enumerateClasses(); it.hasNext(); ) { + ClassRecord record = it.next(); + + for (Integer colorKey : record.colors.keySet()) { + colorRecords.put(record.colors.get(colorKey).getColorization().colorizationId, + record.colors.get(colorKey)); + } + } + + for (Integer colorizationId : colorRecords.keySet()) { + ColorRecord colorRecord = colorRecords.get(colorizationId); + ClassRecord classRecord = colorRecord.cclass; + System.out.println("[" + classRecord.name + "] " + colorizationId + " = " + colorRecord.name); + } + } +} diff --git a/thetya-tools/src/com/github/thetya/tools/InterfaceTester.java b/thetya-tools/src/com/github/thetya/tools/InterfaceTester.java new file mode 100644 index 0000000..180b8ab --- /dev/null +++ b/thetya-tools/src/com/github/thetya/tools/InterfaceTester.java @@ -0,0 +1,293 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.tools; + +import java.awt.Dimension; +import java.awt.event.KeyEvent; +import java.io.File; +import java.util.Set; +import java.util.logging.Handler; +import java.util.logging.Level; +import java.util.logging.LogManager; +import java.util.logging.Logger; +import java.util.prefs.Preferences; +import javax.swing.BorderFactory; +import javax.swing.JComponent; +import javax.swing.JLabel; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JPanel; +import javax.swing.JSplitPane; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; +import com.google.common.collect.MapMaker; +import com.google.common.collect.Sets; +import org.lwjgl.opengl.GL11; +import com.samskivert.swing.GroupLayout; +import com.samskivert.swing.Spacer; +import com.threerings.config.ConfigEvent; +import com.threerings.config.ConfigReference; +import com.threerings.config.ConfigUpdateListener; +import com.threerings.editor.swing.DraggableSpinner; +import com.threerings.editor.swing.EditorPanel; +import com.threerings.util.ChangeBlock; +import com.threerings.opengl.GlCanvasTool; +import com.threerings.opengl.gui.CanvasRoot; +import com.threerings.opengl.gui.Component; +import com.threerings.opengl.gui.Root; +import com.threerings.opengl.gui.StretchWindow; +import com.threerings.opengl.gui.UserInterface; +import com.threerings.opengl.gui.config.UserInterfaceConfig; +import com.threerings.opengl.renderer.Color4f; + +import com.threerings.expr.Scoped; + +/** + * Tool for testing user interfaces. + */ +public class InterfaceTester extends GlCanvasTool + implements ChangeListener, ConfigUpdateListener { + + /** The panel that holds the control bits. */ + protected JPanel _controlPanel; + + /** The editor panel we use to edit the interface configuration. */ + protected EditorPanel _editorPanel; + + /** The width and height controls. */ + protected DraggableSpinner _width, _height; + + /** Indicates that we should ignore any changes, because we're the one effecting them. */ + protected ChangeBlock _changeBlock = new ChangeBlock(); + + /** The user interface root. */ + protected Root _root; + + /** The user interface component. */ + protected UserInterface _userInterface; + + /** Components that should be drawn highlighted. */ + protected Set _highlights = Sets.newSetFromMap( + new MapMaker().concurrencyLevel(1).weakKeys().makeMap()); + + /** The application preferences. */ + protected static Preferences _preferences = Preferences.userNodeForPackage(InterfaceTester.class); + + /** + * The program entry point. + */ + public static void main(String[] args) { + new InterfaceTester(args.length > 0 ? args[0] : null).startup(); + } + + /** + * Creates the interface tester with (optionally) the path to an interface to load. + */ + public InterfaceTester(String userInterface) { + + super("interface"); + + Logger rootLogger = LogManager + .getLogManager() + .getLogger(""); + rootLogger.setLevel(Level.ALL); + for (Handler handler : rootLogger.getHandlers()) { + handler.setLevel(Level.ALL); + } + + + // Set the title + _frame.setTitle(_msgs.get("m.title")); + + // Populate the menu bar + JMenuBar menubar = new JMenuBar(); + _frame.setJMenuBar(menubar); + + JMenu file = createMenu("file", KeyEvent.VK_F); + menubar.add(file); + file.add(createMenuItem("quit", KeyEvent.VK_Q, KeyEvent.VK_Q)); + + JMenu edit = createMenu("edit", KeyEvent.VK_E); + menubar.add(edit); + edit.add(createMenuItem("configs", KeyEvent.VK_C, KeyEvent.VK_G)); + edit.add(createMenuItem("resources", KeyEvent.VK_R, KeyEvent.VK_R)); + edit.add(createMenuItem("preferences", KeyEvent.VK_P, KeyEvent.VK_P)); + + JMenu view = createMenu("view", KeyEvent.VK_V); + menubar.add(view); + view.add(_showStats = createCheckBoxMenuItem("stats", KeyEvent.VK_S, KeyEvent.VK_T)); + view.addSeparator(); + view.add(createMenuItem("refresh", KeyEvent.VK_F, KeyEvent.VK_F)); + + // Configure the side panel + _controlPanel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); + _controlPanel.setPreferredSize(new Dimension(350, 1)); + + // Add the config editor + _controlPanel.add(_editorPanel = new EditorPanel(this)); + + // Add the controls + JPanel controls = new JPanel(); + _controlPanel.add(controls, GroupLayout.FIXED); + controls.add(new JLabel(_msgs.get("m.width"))); + controls.add(_width = new DraggableSpinner(-1, -1, Integer.MAX_VALUE, 1)); + _width.setMinimumSize(_width.getPreferredSize()); + _width.setMaximumSize(_width.getPreferredSize()); + _width.addChangeListener(this); + controls.add(new Spacer(10, 1)); + controls.add(new JLabel(_msgs.get("m.height"))); + controls.add(_height = new DraggableSpinner(-1, -1, Integer.MAX_VALUE, 1)); + _height.setMinimumSize(_height.getPreferredSize()); + _height.setMaximumSize(_height.getPreferredSize()); + _height.addChangeListener(this); + + // Configure the config editor + UserInterfaceConfig.Derived impl = new UserInterfaceConfig.Derived(); + if (userInterface != null) { + String path = _rsrcmgr.getResourcePath(new File(userInterface)); + if (path != null) { + impl.userInterface = new ConfigReference(path); + } + } + _editorPanel.setObject(impl); + _editorPanel.addChangeListener(this); + } + + @Override + public Root createRoot() { + if (_canvasRoot == null) { + _canvasRoot = new CanvasRoot(this, _canvas) { + @Override + protected void draw () + { + super.draw(); + + if (_highlights.isEmpty()) { + return; + } + _ctx.getRenderer().setTextureState(null); + + GL11.glLineWidth(2f); + GL11.glEnable(GL11.GL_COLOR_LOGIC_OP); + GL11.glLogicOp(GL11.GL_XOR); + + // Draw a box for highlighted components + for (Component comp : _highlights) { + if (!comp.isAdded() || !comp.isVisible()) { + continue; + } + int x = comp.getAbsoluteX(); + int y = comp.getAbsoluteY(); + int w = comp.getWidth(); + int h = comp.getHeight(); + + GL11.glBegin(GL11.GL_LINE_LOOP); + GL11.glVertex2f(x, y); + GL11.glVertex2f(x + w, y); + GL11.glVertex2f(x + w, y + h); + GL11.glVertex2f(x, y + h); + GL11.glEnd(); + } + + GL11.glDisable(GL11.GL_COLOR_LOGIC_OP); + } + }; + } + return _canvasRoot; + } + + public void stateChanged(ChangeEvent event) { + if (event.getSource() == _editorPanel) { + // Let the config know that it was updated + if (!_changeBlock.enter()) { + return; + } + try { + _userInterface.getConfig().wasUpdated(); + } finally { + _changeBlock.leave(); + } + } else { + _userInterface.setPreferredSize(_width.getIntValue(), _height.getIntValue()); + } + } + + public void configUpdated(ConfigEvent event) { + // Update the editor panel + if (!_changeBlock.enter()) { + return; + } + try { + _editorPanel.update(); + _editorPanel.validate(); + } finally { + _changeBlock.leave(); + } + } + + @Override + protected JComponent createCanvasContainer() { + JSplitPane pane = new JSplitPane( + JSplitPane.HORIZONTAL_SPLIT, true, _canvas, _controlPanel = GroupLayout.makeVStretchBox(5)); + _canvas.setMinimumSize(new Dimension(1, 1)); + pane.setResizeWeight(1.0); + pane.setOneTouchExpandable(true); + return pane; + } + + @Override + protected CanvasToolPrefs createEditablePrefs() { + return new CanvasToolPrefs(_preferences); + } + + @Override + protected void didInit() { + super.didInit(); + + // Create the UI root + _root = createRoot(); + _root.setModalShade(new Color4f(0f, 0f, 0f, 0.5f)); + + // And the window + StretchWindow window = new StretchWindow( + this, new com.threerings.opengl.gui.layout.HGroupLayout()); + _root.addWindow(window); + + // Set up the UI + UserInterfaceConfig config = new UserInterfaceConfig(); + config.init(_cfgmgr); + config.implementation = (UserInterfaceConfig.Derived) _editorPanel.getObject(); + config.addListener(this); + window.add(_userInterface = new UserInterface(this, config)); + } + + @Override + protected void updateView(float elapsed) { + super.updateView(elapsed); + _root.tick(elapsed); + } + + @Override + protected void compositeView() { + super.compositeView(); + _root.composite(); + } + + /** + * Tracks components by their originating ComponentConfig. + */ + @Scoped + @SuppressWarnings("unused") + protected void editorHighlight(Component comp, boolean highlight) { + if (highlight) { + _highlights.add(comp); + } else { + _highlights.remove(comp); + } + } +} \ No newline at end of file diff --git a/thetya-tools/src/com/github/thetya/tools/Log.java b/thetya-tools/src/com/github/thetya/tools/Log.java new file mode 100644 index 0000000..c0fadc0 --- /dev/null +++ b/thetya-tools/src/com/github/thetya/tools/Log.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.tools; + +import com.samskivert.util.Logger; + +/** + * Contains a reference to the {@link Logger} object used by the tools package. + */ +@SuppressWarnings("unused") +public class Log { + + /** + * The {@link Logger} reference. + */ + public static Logger log = Logger.getLogger("com.github.thetya.tools"); +} diff --git a/thetya-tools/src/com/github/thetya/tools/RsaKeypairGenerator.java b/thetya-tools/src/com/github/thetya/tools/RsaKeypairGenerator.java new file mode 100644 index 0000000..9c1a837 --- /dev/null +++ b/thetya-tools/src/com/github/thetya/tools/RsaKeypairGenerator.java @@ -0,0 +1,71 @@ +/* + * Copyright (c) 2014-2021 Thetya Team + * Copyright (c) 2005-2011 Three Rings + * + * https://github.com/Thetya + */ + +package com.github.thetya.tools; + +import static com.github.thetya.tools.Log.log; + +import com.threerings.presents.util.SecureUtil; +import java.io.FileWriter; +import java.io.IOException; +import java.security.KeyPair; + +/** + * A simple utility to generate RSA key pairs, using the {@link SecureUtil#genRSAKeyPair(int)} + * method. The generated keys are outputted to a plaintext file or the standard output, if saving to + * a file is impossible. + */ +public class RsaKeypairGenerator { + + /** + * Used during the key pair generation, determines the key bits. + */ + private static int keyBits = 2048; + + public static void main(final String... args) { + if (args.length > 0) { + try { + keyBits = Integer.parseInt(args[0]); + } catch (NumberFormatException e) { + log.warning( + "The passed argument is not an integer, falling back to the default key bits value.", + "input", + args[0]); + } + } + + log.info("Generating a new RSA key pair...", "keyBits", keyBits); + + // First generate the key pair itself. + final KeyPair rsaKeyPair = SecureUtil.genRSAKeyPair(keyBits); + + // Now get the keys + final String privateKey = SecureUtil.RSAKeyToString(rsaKeyPair.getPrivate()); + final String publicKey = SecureUtil.RSAKeyToString(rsaKeyPair.getPublic()); + + try { + final FileWriter writer = new FileWriter("keys.txt"); + writer.append("PUBLIC KEY\n"); + writer.append(publicKey); + writer.append("\n\n"); + writer.append("PRIVATE KEY\n"); + writer.append(privateKey); + + writer.flush(); + writer.close(); + + log.info("Done, see keys.txt."); + } catch (IOException e) { + log.warning( + "Could not open a file writer, outputting the keys to the log instead.", + "public", + publicKey, + "private", + privateKey); + } + } +} \ No newline at end of file diff --git a/thetya-tools/thetya-tools.iml b/thetya-tools/thetya-tools.iml new file mode 100644 index 0000000..f808b84 --- /dev/null +++ b/thetya-tools/thetya-tools.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file