initial import, client gets to the lobby

titan engine, logic model, auth/game/gateway services.
csv tables pulled out of the ipa are checked in so it runs out of the box.
This commit is contained in:
scroll 2026-08-23 07:50:31 +03:00
commit 812052bc3e
164 changed files with 14214 additions and 0 deletions

3
.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
/target
*.json.tmp
docs/protocol.md

584
Cargo.lock generated Normal file
View file

@ -0,0 +1,584 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "aho-corasick"
version = "1.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba"
dependencies = [
"memchr",
]
[[package]]
name = "async-trait"
version = "0.1.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667"
dependencies = [
"proc-macro2",
"quote",
"syn 3.0.3",
]
[[package]]
name = "auth-service"
version = "0.1.0"
dependencies = [
"async-trait",
"rand",
"serde",
"serde_json",
"service-rpc",
"thiserror",
"tokio",
"tracing",
"tracing-subscriber",
]
[[package]]
name = "bytes"
version = "1.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04"
[[package]]
name = "cfg-if"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
[[package]]
name = "errno"
version = "0.3.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
dependencies = [
"libc",
"windows-sys",
]
[[package]]
name = "game-service"
version = "0.1.0"
dependencies = [
"async-trait",
"logic",
"rand",
"serde",
"serde_json",
"service-rpc",
"thiserror",
"titan",
"tokio",
"tracing",
"tracing-subscriber",
]
[[package]]
name = "gateway"
version = "0.1.0"
dependencies = [
"async-trait",
"auth-service",
"game-service",
"logic",
"serde",
"serde_json",
"service-rpc",
"thiserror",
"titan",
"tokio",
"tracing",
"tracing-subscriber",
]
[[package]]
name = "getrandom"
version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0"
dependencies = [
"cfg-if",
"libc",
"wasi",
]
[[package]]
name = "itoa"
version = "1.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
[[package]]
name = "lazy_static"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
[[package]]
name = "libc"
version = "0.2.189"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
[[package]]
name = "log"
version = "0.4.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6"
[[package]]
name = "logic"
version = "0.1.0"
dependencies = [
"serde",
"thiserror",
"titan",
]
[[package]]
name = "matchers"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9"
dependencies = [
"regex-automata",
]
[[package]]
name = "memchr"
version = "2.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98"
[[package]]
name = "mio"
version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "30d65c71f1ce40ab09135ce117d742b9f8a19ff91a41a8b57ed50bc2de59c427"
dependencies = [
"libc",
"wasi",
"windows-sys",
]
[[package]]
name = "nu-ansi-term"
version = "0.50.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
dependencies = [
"windows-sys",
]
[[package]]
name = "once_cell"
version = "1.21.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
[[package]]
name = "pin-project-lite"
version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd"
[[package]]
name = "ppv-lite86"
version = "0.2.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
dependencies = [
"zerocopy",
]
[[package]]
name = "proc-macro2"
version = "1.0.107"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
dependencies = [
"unicode-ident",
]
[[package]]
name = "quote"
version = "1.0.47"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
dependencies = [
"proc-macro2",
]
[[package]]
name = "rand"
version = "0.8.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "22f6172bdec972074665ed81ed53b71da00bfc44b65a753cfde883ec4c702a1a"
dependencies = [
"libc",
"rand_chacha",
"rand_core",
]
[[package]]
name = "rand_chacha"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
dependencies = [
"ppv-lite86",
"rand_core",
]
[[package]]
name = "rand_core"
version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
dependencies = [
"getrandom",
]
[[package]]
name = "regex-automata"
version = "0.4.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2"
dependencies = [
"aho-corasick",
"memchr",
"regex-syntax",
]
[[package]]
name = "regex-syntax"
version = "0.8.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4"
[[package]]
name = "scroll-server"
version = "0.1.0"
dependencies = [
"auth-service",
"game-service",
"gateway",
"logic",
"serde",
"serde_json",
"service-rpc",
"titan",
"tokio",
"tracing",
"tracing-subscriber",
]
[[package]]
name = "serde"
version = "1.0.229"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
dependencies = [
"serde_core",
"serde_derive",
]
[[package]]
name = "serde_core"
version = "1.0.229"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.229"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
dependencies = [
"proc-macro2",
"quote",
"syn 3.0.3",
]
[[package]]
name = "serde_json"
version = "1.0.151"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14"
dependencies = [
"itoa",
"memchr",
"serde",
"serde_core",
"zmij",
]
[[package]]
name = "service-rpc"
version = "0.1.0"
dependencies = [
"async-trait",
"serde",
"serde_json",
"thiserror",
"tokio",
"tracing",
]
[[package]]
name = "sharded-slab"
version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
dependencies = [
"lazy_static",
]
[[package]]
name = "signal-hook-registry"
version = "1.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b"
dependencies = [
"errno",
"libc",
]
[[package]]
name = "smallvec"
version = "1.15.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90"
[[package]]
name = "socket2"
version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4"
dependencies = [
"libc",
"windows-sys",
]
[[package]]
name = "syn"
version = "2.0.119"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "syn"
version = "3.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53e9bae58849f64dfa4f5d5ae372c8341f7305f82a3868709269343628b659a3"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "thiserror"
version = "2.0.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec86235f5fcc2a73650310756d2ac5b138a5780bbbdfae3eeccec992c435ba4f"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
version = "2.0.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bc04cd3e1236dd4a98afca4569f2deb3f120e5422a4023be2cb683f8486292af"
dependencies = [
"proc-macro2",
"quote",
"syn 3.0.3",
]
[[package]]
name = "thread_local"
version = "1.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ad99c4c6d32803332c548b1af0540b357b3f5fc0be8f6c6bfe8b2e6ae784070"
dependencies = [
"cfg-if",
]
[[package]]
name = "titan"
version = "0.1.0"
dependencies = [
"thiserror",
"titan-derive",
"tokio",
"tracing",
]
[[package]]
name = "titan-derive"
version = "0.1.0"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.119",
]
[[package]]
name = "tokio"
version = "1.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "202caea871b69668250d242070849eb495be178ed697a3e98aebce5bc81a0bed"
dependencies = [
"bytes",
"libc",
"mio",
"pin-project-lite",
"signal-hook-registry",
"socket2",
"tokio-macros",
"windows-sys",
]
[[package]]
name = "tokio-macros"
version = "2.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "78773a2a397f451582ce068015985c33193cf6dea8b74d2a639fe457b2f07b0e"
dependencies = [
"proc-macro2",
"quote",
"syn 3.0.3",
]
[[package]]
name = "tracing"
version = "0.1.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100"
dependencies = [
"pin-project-lite",
"tracing-attributes",
"tracing-core",
]
[[package]]
name = "tracing-attributes"
version = "0.1.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.119",
]
[[package]]
name = "tracing-core"
version = "0.1.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a"
dependencies = [
"once_cell",
"valuable",
]
[[package]]
name = "tracing-log"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
dependencies = [
"log",
"once_cell",
"tracing-core",
]
[[package]]
name = "tracing-subscriber"
version = "0.3.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319"
dependencies = [
"matchers",
"nu-ansi-term",
"once_cell",
"regex-automata",
"sharded-slab",
"smallvec",
"thread_local",
"tracing",
"tracing-core",
"tracing-log",
]
[[package]]
name = "unicode-ident"
version = "1.0.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
[[package]]
name = "valuable"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65"
[[package]]
name = "wasi"
version = "0.11.1+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
[[package]]
name = "windows-link"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
[[package]]
name = "windows-sys"
version = "0.61.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
dependencies = [
"windows-link",
]
[[package]]
name = "zerocopy"
version = "0.8.56"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "556764e583adb45a9f8d413c2a147fa7e8d821e48e12b14fd560b607998b75eb"
dependencies = [
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
version = "0.8.56"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f2ab42fc20575779bd240faa45f94a74256f755c0fa9e89f0ede20d91d0cdfc1"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.119",
]
[[package]]
name = "zmij"
version = "1.0.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b"

46
Cargo.toml Normal file
View file

@ -0,0 +1,46 @@
[workspace]
resolver = "2"
members = [
"titan/titan",
"titan/titan-derive",
"logic/logic",
"services/service-rpc",
"services/auth-service",
"services/game-service",
"services/gateway",
"services/scroll-server",
]
[workspace.package]
version = "0.1.0"
edition = "2021"
rust-version = "1.75"
license = "MIT"
[workspace.dependencies]
titan = { path = "titan/titan" }
titan-derive = { path = "titan/titan-derive" }
logic = { path = "logic/logic" }
service-rpc = { path = "services/service-rpc" }
auth-service = { path = "services/auth-service" }
game-service = { path = "services/game-service" }
gateway = { path = "services/gateway" }
tokio = { version = "1.45", features = ["rt-multi-thread", "macros", "net", "io-util", "sync", "time", "signal", "fs"] }
thiserror = "2"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
rand = "0.8"
async-trait = "0.1"
proc-macro2 = "1"
quote = "1"
syn = { version = "2", features = ["full", "extra-traits"] }
[profile.release]
opt-level = 3
lto = "thin"
codegen-units = 1
panic = "abort"
strip = true

79
README.md Normal file
View file

@ -0,0 +1,79 @@
# scroll-server
A server for the `scroll` client (Clash Royale `2.0.1306`, iOS). Takes a real
client from TCP connect to the lobby: login, own home data, chests, card
upgrades, the shop.
## Requirements
* Rust 1.75+
* PostgreSQL 16
## Running
```bash
createdb scroll
```
```bash
cargo run --release -p scroll-server
```
Listens on `0.0.0.0:9339`, the port the client hardcodes. The schema is created
on first boot. `DATABASE_URL` defaults to `postgres:///scroll`.
On macOS a Homebrew cluster may need `LC_ALL=C` to start at all.
Services can also run separately:
```bash
cargo run --release -p auth-service
cargo run --release -p game-service
cargo run --release -p gateway
```
## Checking it without a phone
`scroll-probe` speaks the same protocol and prints the decoded lobby:
```bash
cargo run --release -p gateway --bin scroll-probe -- 127.0.0.1:9339
```
Flags: `--claim-free-chest`, `--buy-chest <name>`, `--desync`. Pass an account
and pass token to reconnect as an existing player:
`scroll-probe 127.0.0.1:9339 0 1 <passtoken>`.
## Pointing a client at it
The client hardcodes `game.clashroyaleapp.com`. Patch that string in the binary
inside the ipa to your machine's address, keeping the 23 byte slot NUL padded so
nothing around it moves.
## Configuration
| variable | default |
| --- | --- |
| `DATABASE_URL` | `postgres:///scroll` |
| `SCROLL_GATEWAY_LISTEN` | `0.0.0.0:9339` |
| `SCROLL_CSV_ROOT` | `assets` |
| `SCROLL_SHOP` | `config/shop.json` |
| `SCROLL_STARTER_PROFILE` | built in |
| `RUST_LOG` | `info` |
## Shop
`config/shop.json` lists what the server sells, as `Name#count`:
```json
{
"offers": [
{ "id": 1, "give": "Gold#1000" },
{ "id": 5, "give": "chest:Gold#1" },
{ "id": 7, "give": "Diamonds#500", "cost": "Gold#20000" }
]
}
```
Names resolve against the csv tables. `cost` is optional; without it the server
charges the same price the client computes from the game data.

View file

@ -0,0 +1,8 @@
"Name","FileName","ExportName","Layer"
"string","string","string","String"
"Grassland_background1","sc/level.sc","Grassland_background1","Background2"
"Grassland_river_bridge1","sc/level.sc","Grassland_river_bridge1","Background3"
"Grassland_river_horizontal_left","sc/level.sc","Grassland_river_horizontal_left","Background1"
"Grassland_river_horizontal_right","sc/level.sc","Grassland_river_horizontal_right","Background1"
"Grassland_river_horizontal","sc/level.sc","grassland_river_horizontal","Background1"
"Arena_deco_ladder_1","sc/level.sc","Arena_deco_ladder_1","Background3"
1 Name FileName ExportName Layer
2 string string string String
3 Grassland_background1 sc/level.sc Grassland_background1 Background2
4 Grassland_river_bridge1 sc/level.sc Grassland_river_bridge1 Background3
5 Grassland_river_horizontal_left sc/level.sc Grassland_river_horizontal_left Background1
6 Grassland_river_horizontal_right sc/level.sc Grassland_river_horizontal_right Background1
7 Grassland_river_horizontal sc/level.sc grassland_river_horizontal Background1
8 Arena_deco_ladder_1 sc/level.sc Arena_deco_ladder_1 Background3

View file

@ -0,0 +1,8 @@
Name,TID,Disabled,ExistsApple,ExistsAndroid,Diamonds,USD,Order,IconFile
String,String,boolean,boolean,boolean,int,int,int,string
com.supercell.scroll.gempack0,TID_DIAMOND_PACK_1,,TRUE,TRUE,500,499,1,shop_gems02
com.supercell.scroll.gempack1,TID_DIAMOND_PACK_2,,TRUE,TRUE,1200,999,2,shop_gems03
com.supercell.scroll.gempack2,TID_DIAMOND_PACK_3,,TRUE,TRUE,2500,1999,3,shop_gems04
com.supercell.scroll.gempack3,TID_DIAMOND_PACK_4,,TRUE,TRUE,6500,4999,4,shop_gems05
com.supercell.scroll.gempack4,TID_DIAMOND_PACK_5,,TRUE,TRUE,14000,9999,5,shop_gems06
com.supercell.scroll.gempack5,TID_DIAMOND_PACK_0,,TRUE,TRUE,80,99,0,shop_gems01
1 Name TID Disabled ExistsApple ExistsAndroid Diamonds USD Order IconFile
2 String String boolean boolean boolean int int int string
3 com.supercell.scroll.gempack0 TID_DIAMOND_PACK_1 TRUE TRUE 500 499 1 shop_gems02
4 com.supercell.scroll.gempack1 TID_DIAMOND_PACK_2 TRUE TRUE 1200 999 2 shop_gems03
5 com.supercell.scroll.gempack2 TID_DIAMOND_PACK_3 TRUE TRUE 2500 1999 3 shop_gems04
6 com.supercell.scroll.gempack3 TID_DIAMOND_PACK_4 TRUE TRUE 6500 4999 4 shop_gems05
7 com.supercell.scroll.gempack4 TID_DIAMOND_PACK_5 TRUE TRUE 14000 9999 5 shop_gems06
8 com.supercell.scroll.gempack5 TID_DIAMOND_PACK_0 TRUE TRUE 80 99 0 shop_gems01

View file

@ -0,0 +1,98 @@
"Name","NumberValue","BooleanValue","TextValue","StringArray","NumberArray"
"String","int","boolean","string","String","int"
"UDP_HEARTBEAT_MS",200,,,,
"UDP_DISCONNECTED_SECONDS",10,,,,
"MAIN_MENU_PARALLAX",0,,,,
"SHOW_MANA_FULL_AFTER_SECONDS",5,,,,
"BACKGROUND_Y_SIZE",1120,,,,
"BACKGROUND_Y_OFFSET",90,,,,
"REPLAY_ENABLED",,"TRUE",,,
"REPLAY_BACKGROUND_Y_SIZE",1200,,,,
"REPLAY_BACKGROUND_Y_OFFSET",250,,,,
"REPLAY_BATTLE_END_HUD_DELAY_MILLIS",2700,,,,
"REPLAY_SHOW_TOUCH_EVENTS",,,,,
"SPELL_DRAG_NAME_Y_POS",-30,,,,
"SHOW_NOT_ENOUGH_MANA_AFTER_FAILURES",1,,,,
"LOCAL_NOTIFICATION_FREE_WORKERS_MINUTES",120,,,,
"SPELL_DRAG_OBJECT_ALPHA",50,,,,
"MIN_SPELL_COUNT_FOR_SORT_BUTTON",10,,,,
"UNIT_SPEED_1",30,,,,
"UNIT_SPEED_2",45,,,,
"UNIT_SPEED_3",60,,,,
"UNIT_SPEED_4",90,,,,
"EGG_PLACEMENT_BLOCK_TOP",0,,,,
"GAME_FACEBOOK_URL",,,,,
"PAYING_USER_EMAIL_ID",249,,,,
"GAME_CENTER_ACHIEVEMENTS_ENABLED",,"TRUE",,,
"GAMECENTER_REAUTHORIZE",,,,,
"GAME_CENTER_CHALLENGES_ENABLED",,"TRUE",,,
"FAQ_URL",,,0,,
"FORUMS_URL",,,0,,
"LOW_GFX_DEVICES",,,,"ipod1",
,,,,"ipod2",
,,,,"ipod3",
,,,,"ipod4",
,,,,"ipad1",
,,,,"iphone1",
,,,,"iphone2",
,,,,"iphone3",
"MED_GFX_DEVICES",,,,"ipad2",
"LOW_MEM_DEVICES",,,,"ipod1",
,,,,"ipod2",
,,,,"ipod3",
,,,,"ipod4",
,,,,"ipad1",
,,,,"iphone2",
"COME_BACK_NOTIFICATION_DELAY_HOURS_SMALL",48,,,,
"COME_BACK_NOTIFICATION_DELAY_HOURS_MEDIUM",120,,,,
"COME_BACK_NOTIFICATION_DELAY_HOURS_LARGE",336,,,,
"APP_RATE_XP_LEVEL",11,,,,
"FEEDBACK_EMAIL",,,0,,
"SECTOR_COMMAND_MESSAGE_INTERVAL_SECONDS",2,,,,
"ENEMY_OUTLINE_COLOR",,,0,,
"OUTLINE_THICKNESS",-2,,,,
"OUTLINE_BLUR_PERCENT",10,,,,
"OUTLINE_BLUR_ITERATIONS",1,,,,
"POPUP_BLUR_PERCENT",120,,,,
"POPUP_BLUR_ITERATIONS",4,,,,
"MATCH_END_BLUR_PERCENT",120,,,,
"MATCH_END_BLUR_ITERATIONS",4,,,,
"MAX_SPELL_PENDING_TIME",1200,,,,
"TAUNTS_ENABLED",,"TRUE",,,
"SHOW_TAUNT_TIME_SEC",4,,,,
"NPC_REPLAY_ENABLED",,,,,
"SHOW_MATCHMAKING_TIME_TOLERANCE",3,,,,
"ENABLE_FACEBOOK",,"TRUE",,,
"ENABLE_GAMECENTER_FRIENDS",,"TRUE",,,
"SWITCH_CONFIRMATION_XP_LEVEL",5,,,,
"PROMPT_GC_SWITCH_MIN_XP_LEVEL",2,,,,
"NO_DEPLOY_ZONE_COLOR",,,90900000,,
"PAYMENT_LIMIT_CONFIRMATION_ENABLED",,"TRUE",,,
"PAYMENT_LIMIT_CONFIRMATION_USD",15000,,,,
"PAYMENT_LIMIT_CONFIRMATION_TIME",15,,,,
"CONFIRM_WORD_MAX_LENGTH",15,,,,
"DISCONNECT_IN_APPS",,"FALSE",,,
"IN_APP_RETRY_LIMIT",4,,,,
"RETRY_PURCHASES_IN_SHOP",,"TRUE",,,
"TOS_URL",,,"http://www.supercell.com/en/terms-of-service",,
"PARENTS_GUIDE_URL",,,"http://www.supercell.com/en/parents",,
"PRIVACY_POLICY_URL",,,"http://www.supercell.com/en/privacy-policy",,
"HELPSHIFT_ENABLED",,"TRUE",,,
"SEND_GC_ACHIVEMENT_0_PROGRESS",,"TRUE",,,
"SEND_GC_ACHIVEMENT_PROGRESS_ONCE",,"TRUE",,,
"USE_GC_SEND_ALL_ACHIEVEMENTS",,"TRUE",,,
"SHOW_NOTIFICATION_FOR_DONATE",,"TRUE",,,
"KEEP_ALIVE_WARNING_MS",10000,,,,
"PING_WARNING_MS",3500,,,,
"MATCHMAKING_TIP_INTERVAL_SEC",15,,,,
"ATTRIBUTION_MAT",,"TRUE",,,
"ATTRIBUTION_FB",,"TRUE",,,
"ATTRIBUTION_IAD",,"TRUE",,,
"APP_RATE_DIALOG_ENABLED",,"TRUE",,,
"PURCHASE_DIALOG_ENABLED",,"TRUE",,,
"PLAYER_ID_SHOW_ENABLED",,"TRUE",,,
"VIBRATE_AFTER_MATCHMAKING_SECONDS",15,,,,
"TAUNT_LIMIT",15,,,,
"NAME_CHANGE_START_LEVEL",4,,,,
"ENABLE_NAME_CHANGE",,"TRUE",,,
"TAUNT_SOUND_COOLDOWN",6000,,,,
1 Name NumberValue BooleanValue TextValue StringArray NumberArray
2 String int boolean string String int
3 UDP_HEARTBEAT_MS 200
4 UDP_DISCONNECTED_SECONDS 10
5 MAIN_MENU_PARALLAX 0
6 SHOW_MANA_FULL_AFTER_SECONDS 5
7 BACKGROUND_Y_SIZE 1120
8 BACKGROUND_Y_OFFSET 90
9 REPLAY_ENABLED TRUE
10 REPLAY_BACKGROUND_Y_SIZE 1200
11 REPLAY_BACKGROUND_Y_OFFSET 250
12 REPLAY_BATTLE_END_HUD_DELAY_MILLIS 2700
13 REPLAY_SHOW_TOUCH_EVENTS
14 SPELL_DRAG_NAME_Y_POS -30
15 SHOW_NOT_ENOUGH_MANA_AFTER_FAILURES 1
16 LOCAL_NOTIFICATION_FREE_WORKERS_MINUTES 120
17 SPELL_DRAG_OBJECT_ALPHA 50
18 MIN_SPELL_COUNT_FOR_SORT_BUTTON 10
19 UNIT_SPEED_1 30
20 UNIT_SPEED_2 45
21 UNIT_SPEED_3 60
22 UNIT_SPEED_4 90
23 EGG_PLACEMENT_BLOCK_TOP 0
24 GAME_FACEBOOK_URL
25 PAYING_USER_EMAIL_ID 249
26 GAME_CENTER_ACHIEVEMENTS_ENABLED TRUE
27 GAMECENTER_REAUTHORIZE
28 GAME_CENTER_CHALLENGES_ENABLED TRUE
29 FAQ_URL 0
30 FORUMS_URL 0
31 LOW_GFX_DEVICES ipod1
32 ipod2
33 ipod3
34 ipod4
35 ipad1
36 iphone1
37 iphone2
38 iphone3
39 MED_GFX_DEVICES ipad2
40 LOW_MEM_DEVICES ipod1
41 ipod2
42 ipod3
43 ipod4
44 ipad1
45 iphone2
46 COME_BACK_NOTIFICATION_DELAY_HOURS_SMALL 48
47 COME_BACK_NOTIFICATION_DELAY_HOURS_MEDIUM 120
48 COME_BACK_NOTIFICATION_DELAY_HOURS_LARGE 336
49 APP_RATE_XP_LEVEL 11
50 FEEDBACK_EMAIL 0
51 SECTOR_COMMAND_MESSAGE_INTERVAL_SECONDS 2
52 ENEMY_OUTLINE_COLOR 0
53 OUTLINE_THICKNESS -2
54 OUTLINE_BLUR_PERCENT 10
55 OUTLINE_BLUR_ITERATIONS 1
56 POPUP_BLUR_PERCENT 120
57 POPUP_BLUR_ITERATIONS 4
58 MATCH_END_BLUR_PERCENT 120
59 MATCH_END_BLUR_ITERATIONS 4
60 MAX_SPELL_PENDING_TIME 1200
61 TAUNTS_ENABLED TRUE
62 SHOW_TAUNT_TIME_SEC 4
63 NPC_REPLAY_ENABLED
64 SHOW_MATCHMAKING_TIME_TOLERANCE 3
65 ENABLE_FACEBOOK TRUE
66 ENABLE_GAMECENTER_FRIENDS TRUE
67 SWITCH_CONFIRMATION_XP_LEVEL 5
68 PROMPT_GC_SWITCH_MIN_XP_LEVEL 2
69 NO_DEPLOY_ZONE_COLOR 90900000
70 PAYMENT_LIMIT_CONFIRMATION_ENABLED TRUE
71 PAYMENT_LIMIT_CONFIRMATION_USD 15000
72 PAYMENT_LIMIT_CONFIRMATION_TIME 15
73 CONFIRM_WORD_MAX_LENGTH 15
74 DISCONNECT_IN_APPS FALSE
75 IN_APP_RETRY_LIMIT 4
76 RETRY_PURCHASES_IN_SHOP TRUE
77 TOS_URL http://www.supercell.com/en/terms-of-service
78 PARENTS_GUIDE_URL http://www.supercell.com/en/parents
79 PRIVACY_POLICY_URL http://www.supercell.com/en/privacy-policy
80 HELPSHIFT_ENABLED TRUE
81 SEND_GC_ACHIVEMENT_0_PROGRESS TRUE
82 SEND_GC_ACHIVEMENT_PROGRESS_ONCE TRUE
83 USE_GC_SEND_ALL_ACHIEVEMENTS TRUE
84 SHOW_NOTIFICATION_FOR_DONATE TRUE
85 KEEP_ALIVE_WARNING_MS 10000
86 PING_WARNING_MS 3500
87 MATCHMAKING_TIP_INTERVAL_SEC 15
88 ATTRIBUTION_MAT TRUE
89 ATTRIBUTION_FB TRUE
90 ATTRIBUTION_IAD TRUE
91 APP_RATE_DIALOG_ENABLED TRUE
92 PURCHASE_DIALOG_ENABLED TRUE
93 PLAYER_ID_SHOW_ENABLED TRUE
94 VIBRATE_AFTER_MATCHMAKING_SECONDS 15
95 TAUNT_LIMIT 15
96 NAME_CHANGE_START_LEVEL 4
97 ENABLE_NAME_CHANGE TRUE
98 TAUNT_SOUND_COOLDOWN 6000

View file

@ -0,0 +1,32 @@
"Name",-0
"String","int"
"Patrick Corander",
"Niko Derome",
"Jonathan Dower",
"Visa Forsten",
"Tommi Hakala",
"Hrvoje Horbec",
"Chih-Han Hsu",
"Rene Kivioja",
"Rauli Laatikainen",
"Lassi Leppinen",
"Jani Lintunen",
"Martin Schjøler",
"Timothy Smith",
"Antti Summala",
"Tibor Toth",
"-",
"Mikko Hokkanen",
"Daniel Iosca",
"Janne Juhola",
"Mikko Lehtonen",
"Lasse Louhento",
"Antti Mattila",
"Taneli Oksama",
"Douglas Portugal",
"Asko Puurula",
"Petri Styrman",
"Ewan Thonger",
"Wilhelm Tigerstedt",
"Kustaa Vuori",
"Tuomas Volotinen",
1 Name -0
2 String int
3 Patrick Corander
4 Niko Derome
5 Jonathan Dower
6 Visa Forsten
7 Tommi Hakala
8 Hrvoje Horbec
9 Chih-Han Hsu
10 Rene Kivioja
11 Rauli Laatikainen
12 Lassi Leppinen
13 Jani Lintunen
14 Martin Schjøler
15 Timothy Smith
16 Antti Summala
17 Tibor Toth
18 -
19 Mikko Hokkanen
20 Daniel Iosca
21 Janne Juhola
22 Mikko Lehtonen
23 Lasse Louhento
24 Antti Mattila
25 Taneli Oksama
26 Douglas Portugal
27 Asko Puurula
28 Petri Styrman
29 Ewan Thonger
30 Wilhelm Tigerstedt
31 Kustaa Vuori
32 Tuomas Volotinen

View file

@ -0,0 +1,741 @@
"Name","Loop","FollowParent","ShakeScreen","Time","Sound","Type","FileName","ExportName","ParticleEmitterName","Effect","Layer","FlashColor","Scale","FlashDuration","TextInstanceName","TextParentInstanceName","EnemyVersion","FlashWidth"
"string","boolean","boolean","int","int","string","string","string","string","string","string","string","int","int","int","string","string","string","int"
"upgradeCard_start",,,,,"sound_upgradeCard_start","SWF",,,,,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"ArcherTower_particle1",,"Above",,,,,,,
"upgradeCard_ready",,,,,"sound_upgradeCard_ready","SWF",,,,,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"Card_upgraded_effect1",,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"Card_upgrade_effect2",,"Above",,,,,,,
,,,,3200,,"ParticleEmitter",,,"Card_upgrade_effect2",,"Above",,,,,,,
,,,,6400,,"ParticleEmitter",,,"Card_upgrade_effect2",,"Above",,,,,,,
,,,,9600,,"ParticleEmitter",,,"Card_upgrade_effect2",,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"Card_upgrade_effect3",,"Above",,,,,,,
"upgradeCard_stat_appear",,,,,"sound_upgradeCard_stat_appear","SWF",,,,,"Above",,,,,,,
"upgradeCard_stat_change",,,,,"sound_upgradeCard_stat_change","SWF",,,,,"Above",,,,,,,
"openChest_wood",,,,,"sound_openChest_wood","SWF",,,,,"Above",,,,,,,
"openChest_iron",,,,,"sound_openChest_iron","SWF",,,,,"Above",,,,,,,
"openChest_gold",,,,,"sound_openChest_gold","SWF",,,,,"Above",,,,,,,
"openChest_magical",,,,,"sound_openChest_magical","SWF",,,,,"Above",,,,,,,
"openChest_star",,,,,"sound_openChest_star","SWF",,,,,"Above",,,,,,,
"openChest_get_gold",,,,,"sound_openChest_get_gold","SWF",,,,,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"openChest_common_effect_smoke",,"Base",,,,,,,
"openChest_get_gem",,,,,"sound_openChest_get_gem","SWF",,,,,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"openChest_common_effect_smoke",,"Base",,,,,,,
"openChest_get_common",,,,,"sound_openChest_get_common","SWF",,,,,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"openChest_common_effect_smoke",,"Base",,,,,,,
"openChest_get_rare",,,,,"sound_openChest_get_rare","SWF",,,,,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"openChest_get_rare",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"openChest_common_effect_smoke",,"Base",,,,,,,
"openChest_get_epic",,,,,"sound_openChest_get_epic","SWF",,,,,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"openChest_epic_stars2",,"Above",,,,,,,
"openChest_loop_gold",,,,,"sound_openChest_loop_gold","SWF",,,,,"Above",,,,,,,
"openChest_loop_gem",,,,,"sound_openChest_loop_gem","SWF",,,,,"Above",,,,,,,
"openChest_loop_common",,,,,"sound_openChest_loop_common","SWF",,,,,"Above",,,,,,,
"openChest_loop_rare","true",,,,"sound_openChest_loop_rare","SWF",,,,,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"BlueSparksEmitter",,"Base",,,,,,,
"openChest_loop_epic","true",,,,"sound_openChest_loop_epic","SWF",,,,,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"openChest_epic_loop1",,"Object",,,,,,,
"musketeer_deploy",,,,,"sound_musketeer_deploy","SWF",,,,,"Object",,100,,,,,
,,,,,"sound_musketeer_deploy_end","SWF",,,,,"Object",,,,,,,
,,,,,,"Effect",,,,"Deploy_ground_fX_mediumSize","Base",,,,,,,
"musketeer_steps",,,,,"sound_musketeer_steps","SWF",,,,,"Ground",,100,,,,,
"musketeer_attack",,,,,"sound_musketeer_attack","SWF",,,,,"Object",,100,,,,,
"musketeer_attack_start",,,,,"sound_musketeer_attack_start","SWF",,,,,"Object",,100,,,,,
"musketeer_hit",,,,,"sound_musketeer_hit","SWF",,,,,"Object",,100,,,,,
"musketeer_target",,,,,"sound_musketeer_target","SWF",,,,,"Above",,100,,,,,
"musketeer_die",,,,,"sound_musketeer_die","Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","Death_player","Object",,100,,,,,
"goblin_barrel_explosion",,,,,"sound_goblin_barrel_explosion","ParticleEmitter",,,"TargetDummy_planks",,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"BlueSparkEmitter",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"catapult_rock_Emitter",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"TargetDummy_planks2",,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"knight_deploy_dustPuff2",,"Base",,,,,,,
"goblin_barrel_spawn",,,,,"sound_goblin_barrel_spawn","SWF",,,,,"Object",,,,,,,
"Deployment_timer_1s",,,,,,"SWF","sc/effects.sc","troopDeployTimer_1s",,,"Above",,,,,,"Deployment_timer_1s_enemy",
"Deployment_timer_1s_enemy",,,,,,"SWF","sc/effects.sc","troopDeployTimer_1s_enemy",,,"Above",,,,,,,
"Deployment_timer_2s",,,,,,"SWF","sc/effects.sc","troopDeployTimer_2s",,,"Above",,,,,,"Deployment_timer_2s_enemy",
"Deployment_timer_2s_enemy",,,,,,"SWF","sc/effects.sc","troopDeployTimer_2s_enemy",,,"Above",,,,,,,
"Deployment_timer_3s",,,,,,"SWF","sc/effects.sc","troopDeployTimer_3s",,,"Above",,,,,,"Deployment_timer_3s_enemy",
"Deployment_timer_3s_enemy",,,,,,"SWF","sc/effects.sc","troopDeployTimer_3s_enemy",,,"Above",,,,,,,
"get_star_player",,,,,"sound_get_star_player","Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","Death_player","Object",,100,,,,,
"get_star_enemy",,,,,"sound_get_star_enemy","Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","Death_player","Object",,100,,,,,
"knight_deploy",,,,,"sound_knight_deploy","SWF",,,,,"Object",,100,,,,,
,,,,,"sound_knight_deploy_end","SWF",,,,,"Object",,,,,,,
,,,,,,"Effect",,,"knight_deploy_dustPuff2","Deploy_ground_fX_mediumSize","Object",,,,,,,
,,,,,,,,,,,,,60,,,,,
,,,,,,,,,,,,,60,,,,,
,,,,,,,,,,,,,60,,,,,
"knight_steps",,,,,"sound_knight_steps","ParticleEmitter",,,"knight_speps_dust1",,"Ground",,100,,,,,
"knight_attack_start",,,,,"sound_knight_attack_start","Effect",,,,,"Object",,100,,,,,
"knight_hit",,,,,"sound_knight_hit","SWF",,,,,"Object",,100,,,,,
"knight_target",,,,,"sound_knight_target","SWF",,,,,"Above",,100,,,,,
"knight_die",,,,,"sound_knight_die","Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","Death_player","Object",,100,,,,,
,,,,,,"ParticleEmitter",,,"knight_deploy_dustPuff1",,"Object",,100,,,,,
,,,,,,"ParticleEmitter",,,"knight_die_particle_sword",,"Object",,100,,,,,
,,,,,,,,,,,,,100,,,,,
"spear_goblin_deploy",,,,,"sound_spear_goblin_deploy","SWF",,,,,"Object",,100,,,,,
"spear_goblin_steps",,,,,"sound_spear_goblin_steps","SWF",,,,,"Ground",,100,,,,,
"spear_goblin_attack_start",,,,,"sound_spear_goblin_attack_start","SWF",,,,,"Object",,100,,,,,
"spear_goblin_attack",,,,,"sound_spear_goblin_attack","SWF",,,,,"Object",,100,,,,,
"spear_goblin_die",,,,,,"Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","Death_player","Object",,100,,,,,
,,,,,"sound_spear_goblin_die","SWF",,,,,"Object",,,,,,,
"spear_goblin_projectile_hit",,,,,"sound_spear_goblin_projectile_hit","SWF",,,,,"Object",,,,,,,
"barbarian_deploy",,,,,"sound_barbarian_deploy","SWF",,,,,"Object",,100,,,,,
,,,,,,"Effect",,,,"Deploy_ground_fX_mediumSize","Base",,,,,,,
"barbarian_steps",,,,,"sound_barbarian_steps","SWF",,,,,"Ground",,100,,,,,
"barbarian_attack_start",,,,,"sound_barbarian_attack_start","SWF",,,,,"Object",,100,,,,,
"barbarian_hit",,,,,"sound_barbarian_hit","SWF",,,,,"Object",,100,,,,,
"barbarian_target",,,,,"sound_barbarian_target","SWF",,,,,"Above",,100,,,,,
"barbarian_die",,,,,,"Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","Death_player","Object",,100,,,,,
,,,,,"sound_barbarian_die","SWF",,,,,"Object",,,,,,,
"goblins_deploy",,,,,"sound_goblins_deploy","SWF",,,"Explosion Pilar",,"Object",,100,,,,,
"goblins_steps","true",,,,"sound_goblins_steps","SWF",,,,,"Ground",,100,,,,,
"goblins_attack_start","true",,,,"sound_goblins_attack_start","SWF",,,,,"Object",,100,,,,,
"goblins_hit",,,,,"sound_goblins_hit","SWF",,,,,"Object",,100,,,,,
"goblins_die",,,,,,"Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","Death_player","Object",,100,,,,,
,,,,,"sound_goblins_die","SWF",,,,,"Object",,,,,,,
"giant_skeleton_deploy",,,,,"sound_giant_skeleton_deploy","SWF",,,"giant_deploy_dustPuff",,"Object",,100,,,,"giant_skeleton_deploy_enemy",
,,,,,,"Effect",,,,"Deploy_ground_fx_largeSize","Base",,,,,,,
"giant_skeleton_deploy_enemy",,,,,"sound_giant_skeleton_deploy","SWF",,,"giant_deploy_dustPuff",,"Object",,100,,,,,
,,,,,,"Effect",,,,"Deploy_ground_fx_largeSize","Base",,,,,,,
"giant_skeleton_steps",,,,,"sound_giant_skeleton_steps","SWF",,,,,"Ground",,100,,,,,
"giant_skeleton_attack_start",,,,,"sound_giant_skeleton_attack_start","SWF",,,,,"Object",,100,,,,,
"giant_skeleton_hit",,,,,"sound_giant_skeleton_hit","SWF",,,,,"Object",,100,,,,,
,,,,,,"ParticleEmitter",,,"giant_hit_sparks",,"Above",,,,,,,
,,,,25,,"ParticleEmitter",,,"giant_hit_puff1",,"Object",,,,,,,
,,,,,,"ParticleEmitter","sc/effects.sc","giant_hit_blow","giant_hitpuff2",,"Object",,,,,,,
"giant_skeleton_die",,,,,"sound_giant_skeleton_die","Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","death_giant1","Object",,100,,,,"giant_die_enemy",
"giant_deploy",,,,,"sound_giant_deploy","SWF",,,"giant_deploy_dustPuff",,"Object",,100,,,,"giant_deploy_enemy",
,,,,,,"Effect",,,,"Deploy_ground_fx_largeSize","Base",,,,,,,
"giant_deploy_enemy",,,,,"sound_giant_deploy","SWF",,,"giant_deploy_dustPuff",,"Object",,100,,,,,
,,,,,,"Effect",,,,"Deploy_ground_fx_largeSize","Base",,,,,,,
"giant_steps",,,,,"sound_giant_steps","SWF",,,,,"Ground",,100,,,,,
"giant_attack_start",,,,,"sound_giant_attack_start","SWF",,,,,"Object",,100,,,,,
"giant_hit",,,,,"sound_giant_hit","SWF",,,,,"Object",,100,,,,,
,,,,,,"ParticleEmitter",,,"giant_hit_sparks",,"Above",,,,,,,
,,,,25,,"ParticleEmitter",,,"giant_hit_puff1",,"Object",,,,,,,
,,,,,,"ParticleEmitter","sc/effects.sc","giant_hit_blow","giant_hitpuff2",,"Object",,,,,,,
"giant_die",,,,,"sound_giant_die","Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","death_giant1","Object",,100,,,,"giant_die_enemy",
"giant_die_enemy",,,,,"sound_giant_die","Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","death_giant1","Object",,100,,,,,
"death_giant1",,,,,"sound_generic_death","ParticleEmitter",,,"giant_death_elixir_burst1",,"Object",,,,,,,
,,,,,,"ParticleEmitter","sc/effects.sc","BloodCloud","giant_death_puff1",,"Object",,,,,,,
,,,,,,"ParticleEmitter","sc/effects.sc","BloodCloud","giant_death_puff1_shadow",,"Shadow",,,,,,,
,,,,,,"ParticleEmitter","sc/effects.sc","BloodCloud","giant_death_elixir_ground1",,"Base",,,,,,,
"pekka_deploy",,,,,"sound_pekka_deploy","SWF",,,,,"Object",,100,,,,"pekka_deploy_enemy",
,,,,,"sound_pekka_deploy_end","SWF",,,,,"Object",,,,,,,
,,,,,,"Effect",,,,"Deploy_ground_fx_largeSize","Base",,,,,,,
"pekka_deploy_enemy",,,,,"sound_pekka_deploy","SWF",,,,,"Object",,100,,,,,
"pekka_steps",,,,,"sound_pekka_steps","SWF",,,,,"Ground",,100,,,,,
"pekka_attack_start",,,,,"sound_pekka_attack_start","SWF",,,,,"Object",,100,,,,,
"pekka_hit",,,,,"sound_pekka_hit","SWF",,,,,"Object",,100,,,,,
"pekka_die",,,,,"sound_pekka_die","Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","Death_player","Object",,100,,,,"pekka_die_enemy",
"pekka_die_enemy",,,,,"sound_pekka_die","Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","Death_player","Object",,100,,,,,
"baby_dragon_deploy",,,,,"sound_baby_dragon_deploy","SWF",,,,,"Object",,100,,,,,
,,,,,"sound_baby_dragon_deploy_end","SWF",,,,,"Object",,,,,,,
"baby_dragon_steps",,,,,"sound_baby_dragon_steps","SWF",,,,,"Ground",,100,,,,,
"baby_dragon_attack_start",,,,,"sound_baby_dragon_attack_start","SWF",,,,,"Object",,100,,,,,
"baby_dragon_attack",,,,,"sound_baby_dragon_attack","SWF",,,,,"Object",,100,,,,,
"baby_dragon_die",,,,,,"Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","Death_player","Object",,100,,,,,
,,,,,"sound_baby_dragon_die","SWF",,,,,"Object",,,,,,,
"minion_deploy",,,,,"sound_minion_deploy","SWF",,,,,"Object",,100,,,,,
"minion_steps",,,,,"sound_minion_steps","SWF",,,,,"Ground",,100,,,,,
"minion_attack_start",,,,,"sound_minion_attack_start","SWF",,,,,"Object",,100,,,,,
"minion_attack",,,,,"sound_minion_attack","SWF",,,,,"Object",,100,,,,,
"minion_die",,,,,,"Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","Death_player","Object",,100,,,,,
,,,,,"sound_minion_die","SWF",,,,,"Object",,,,,,,
"mortar_deploy",,,,,"sound_mortar_deploy","SWF",,,,,"Above",,,,,,,
"mortar_turn",,,,,"sound_mortar_turn","SWF",,,,,"Above",,,,,,,
"mortar_attack_start",,,,,"sound_mortar_attack_start","SWF",,,,,"Above",,,,,,,
"mortar_attack",,,,,"sound_mortar_attack","ParticleEmitter",,,"cannon_smoke1",,"Above",,,,,,,
"mortar_hit",,,350,,"sound_mortar_hit","ParticleEmitter",,,"catapult_rock_Emitter",,"Object",,60,,,,,
,,,,,,"ParticleEmitter",,,"catapult_hit_smoke",,"Object",,60,,,,,
,,,,,,"ParticleEmitter",,,"catapult_smokePuff",,"Object",,60,,,,,
,,,,,,"ParticleEmitter",,,"catapult_grass_emitter",,"Ground",,,,,,,
,,,,,,"ParticleEmitter",,,"catapult_hit_shadow",,"Shadow",,,,,,,
"mortar_target",,,,,,,,,,,,,,,,,,
"mortar_die",,,1000,50,,"ParticleEmitter",,,"TowerExplode_explosion",,"Above",,,,,,,
,,,,50,,"SWF","sc/effects.sc","ExplosionBlast",,,"Above",,,,,,,
,,,,150,,"ParticleEmitter",,,"TowerExplode_sparks",,"Above",,,,,,,
,,,,,"sound_mortar_die","SWF","sc/effects.sc","GlowRed",,,"Above",,,,,,,
,,,,40,,"ParticleEmitter",,,"towerExplode_Smoke",,"Above",,,,,,,
,,,,150,,"ParticleEmitter",,,"TowerExplode_rockEmitter",,"Object",,,,,,,
,,,,300,,"ParticleEmitter",,,"towerExplode_Smoke",,"Shadow",,,,,,,
,,,,200,,"ParticleEmitter",,,"TowerExplode_smokePuff",,"Above",,,,,,,
"balloon_deploy",,,,,"sound_balloon_deploy","SWF",,,,,"Above",,,,,,,
"balloon_turn",,,,,"sound_balloon_turn","SWF",,,,,"Above",,,,,,,
"balloon_steps",,,,,"sound_balloon_steps","SWF",,,,,"Ground",,100,,,,,
"balloon_attack_start",,,,,"sound_balloon_attack_start","SWF",,,,,"Above",,,,,,,
"balloon_attack",,,,,"sound_balloon_attack","ParticleEmitter",,,"cannon_smoke1",,"Above",,,,,,,
"balloon_hit",,,350,,"sound_balloon_hit","ParticleEmitter",,,"catapult_rock_Emitter",,"Object",,60,,,,,
,,,,,,"ParticleEmitter",,,"catapult_hit_smoke",,"Object",,60,,,,,
,,,,,,"ParticleEmitter",,,"catapult_smokePuff",,"Object",,60,,,,,
,,,,,,"ParticleEmitter",,,"catapult_grass_emitter",,"Ground",,,,,,,
,,,,,,"ParticleEmitter",,,"catapult_hit_shadow",,"Shadow",,,,,,,
"balloon_target",,,,,,,,,,,,,,,,,,
"balloon_die",,,,,"sound_balloon_die","SWF","sc/effects.sc",,,,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"balloon_die_puff",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"ballon_die_smoke",,"Above",,,,,,,
"goblin_hut_deploy",,,,250,"sound_goblin_hut_deploy","ParticleEmitter",,,"towerExplode_Smoke",,"Ground",,,,,,,
,,,,250,,"ParticleEmitter",,,"Rock Pieces Emitter",,"Ground",,,,,,,
"goblin_hut_spawn",,,,,"sound_goblin_hut_spawn","SWF",,,"SmokeBomb_smoke1",,"Above",,,,,,,
"goblin_hut_loop","true",,,,"sound_goblin_hut_loop","ParticleEmitter",,,"GoblinHut_smoke",,"Above",,,,,,,
,,,,1000,,"ParticleEmitter",,,"GoblinHut_smoke",,"Above",,,,,,,
,,,,2000,,"ParticleEmitter",,,"GoblinHut_smoke",,"Above",,,,,,,
,,,,3000,,"ParticleEmitter",,,"GoblinHut_smoke",,"Above",,,,,,,
,,,,4000,,"ParticleEmitter",,,"GoblinHut_smoke",,"Above",,,,,,,
,,,,5000,,"ParticleEmitter",,,"GoblinHut_smoke",,"Above",,,,,,,
"goblin_hut_die",,,,,"sound_goblin_hut_die","ParticleEmitter",,,"Goblin_hut_woodExplosion",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"TargetDummy_planks2",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"TowerExplode_smokePuff",,"Base",,,,,,,
"witch_deploy",,,,,"sound_witch_deploy","SWF",,,,,"Object",,100,,,,,
,,,,,,"Effect",,,,"Deploy_ground_fX_mediumSize","Base",,,,,,,
"witch_steps",,,,,"sound_witch_steps","SWF",,,,,"Ground",,100,,,,,
"witch_attack_start",,,,,"sound_witch_attack_start","SWF",,,,,"Object",,100,,,,,
"witch_hit",,,,,"sound_witch_hit","SWF",,,,,"Object",,100,,,,,
"witch_die",,,,,,"Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","Death_player","Object",,100,,,,,
,,,,,"sound_witch_die","SWF",,,,,"Object",,,,,,,
"witch_deploy_skeleton",,,,,"sound_witch_deploy_skeleton","SWF",,,"Explosion Pilar",,"Object",,100,,,,,
"bomber_deploy",,,,,"sound_bomber_deploy","SWF",,,"Explosion Pilar",,"Object",,100,,,,,
,,,,,"sound_bomber_deploy_end","SWF",,,,,"Object",,,,,,,
"bomber_steps","true",,,,"sound_bomber_steps","SWF",,,,,"Ground",,100,,,,,
"bomber_attack","true",,,,"sound_bomber_attack","SWF",,,,,"Object",,100,,,,,
"bomber_attack_start","true",,,,"sound_bomber_attack_start","SWF",,,,,"Object",,100,,,,,
"bomber_hit",,,,,"sound_bomber_hit","SWF",,,,,"Object",,100,,,,,
"bomber_die",,,,,,"Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","Death_player","Object",,100,,,,,
,,,,,"sound_bomber_die","SWF",,,,,"Object",,,,,,,
"skeleton_deploy",,,,,"sound_skeleton_deploy","SWF",,,"Explosion Pilar",,"Object",,100,,,,,
"skeleton_steps","true",,,,"sound_skeleton_steps","SWF",,,,,"Ground",,100,,,,,
"skeleton_attack_start","true",,,,"sound_skeleton_attack_start","SWF",,,,,"Object",,100,,,,,
"skeleton_hit",,,,,"sound_skeleton_hit","SWF",,,,,"Object",,100,,,,,
"skeleton_die",,,,,,"Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","Death_player","Object",,100,,,,,
,,,,,"sound_skeleton_die","SWF",,,,,"Object",,,,,,,
"golem_deploy",,,,,"sound_golem_deploy","SWF",,,,,"Object",,100,,,,"golem_deploy_enemy",
"golem_deploy_enemy",,,,,"sound_golem_deploy","SWF",,,,,"Object",,100,,,,,
"golem_steps",,,,,"sound_golem_steps","SWF",,,,,"Ground",,100,,,,,
"golem_attack_start",,,,,"sound_golem_attack_start","SWF",,,,,"Object",,100,,,,,
"golem_hit",,,,,"sound_golem_hit","SWF",,,,,"Object",,100,,,,,
"golem_die",,,,200,"sound_golem_die","ParticleEmitter",,,"towerExplode_Smoke",,"Object",,100,,,,"golem_die_enemy",
,,,,,,"ParticleEmitter",,,"Small_rock_particle1",,"Object",,,,,,,
,,,,,,"Effect",,,,"Death_player","Object",,,,,,,
,,,,,,"SWF","sc/effects.sc","RoundExplosion",,,"Object",,,,,,,
"golem_die_enemy",,,,200,"sound_golem_die","ParticleEmitter",,,"towerExplode_Smoke",,"Object",,100,,,,,
,,,,,,"ParticleEmitter",,,"Small_rock_particle1",,"Object",,,,,,,
,,,,,,"Effect",,,,"Death_player","Object",,,,,,,
,,,,,,"SWF","sc/effects.sc","RoundExplosion",,,"Object",,,,,,,
"valkyrie_deploy",,,,,"sound_valkyrie_deploy","SWF",,,,,"Object",,100,,,,,
,,,,,"sound_valkyrie_deploy_end","SWF",,,,,"Object",,,,,,,
,,,,,,"Effect",,,,"Deploy_ground_fX_mediumSize","Base",,,,,,,
"valkyrie_steps",,,,,"sound_valkyrie_steps","SWF",,,,,"Ground",,100,,,,,
"valkyrie_attack_start",,,,,"sound_valkyrie_attack_start","SWF",,,,,"Object",,100,,,,,
"valkyrie_hit",,,,,"sound_valkyrie_hit","SWF",,,,,"Object",,100,,,,,
"valkyrie_target",,,,,"sound_valkyrie_target","SWF",,,,,"Above",,100,,,,,
"valkyrie_die",,,,,,"Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","Death_player","Object",,100,,,,,
,,,,,"sound_valkyrie_die","SWF",,,,,"Object",,,,,,,
"replay_drag",,,,,,"ParticleEmitter",,,"touch_sparkle1",,"Above",,,,,,"replay_drag_enemy",
"replay_drag_enemy",,,,,,"ParticleEmitter",,,"touch_sparkle2",,"Above",,,,,,,
"dragon_deploy",,,,,"sound_dragon_deploy","SWF",,,,,"Object",,100,,,,,
"dragon_steps",,,,,"sound_dragon_steps","SWF",,,,,"Ground",,100,,,,,
"dragon_attack_start",,,,,"sound_dragon_attack_start","SWF",,,,,"Object",,100,,,,,
"dragon_attack",,,,,"sound_dragon_attack","SWF",,,,,"Object",,100,,,,,
"dragon_hit",,,,,"sound_dragon_projectile_hit","SWF",,,,,"Object",,100,,,,,
,,,,,,"ParticleEmitter",,,"dragon_hit_sparks",,"Base",,,,,,,
,,,,,,"ParticleEmitter",,,"dragon_fire_hit",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"dragon_hit_smoke",,"Object",,,,,,,
"dragon_die",,,,,,"Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","Death_player","Object",,100,,,,,
,,,,,"sound_dragon_die","SWF",,,,,"Object",,,,,,,
"Dragon_Emitter","true","true",,,,"ParticleEmitter",,,"DragonEmitterTrail",,"Above",,50,,,,,
,,,,,,"ParticleEmitter",,,"dragon_trail_glow",,"Object",,,,,,,
"tesla_deploy",,,,,"sound_tesla_deploy","SWF",,,,,"Above",,,,,,,
"tesla_up",,,,,"sound_tesla_up","SWF",,,,,"Above",,,,,,,
"tesla_down",,,,,"sound_tesla_down","SWF",,,,,"Above",,,,,,,
"tesla_attack_start",,,,,"sound_tesla_attack_start","SWF",,,,,"Above",,,,,,,
"Tesla_beam",,,,,"sound_tesla_attack","SWF","sc/effects.sc","tesla_beam",,,"Above",,,,,,,80
"tesla_hit_effect",,"true",,,"sound_tesla_hit","ParticleEmitter",,,"tesla_hit_spark",,"Object",,70,,,,,
,,,,,,"ParticleEmitter",,,"tesla_spot_hit",,"Ground",,,,,,,
,,,,,,"ParticleEmitter",,,"tesla_smoke_hit",,"Above",,,,,,,
,,,,150,,"ParticleEmitter",,,"tesla_electric_hit",,"Above",,,,,,,
"tesla_target",,,,,"sound_tesla_target",,,,,,,,,,,,,
"tesla_die",,,,,,"Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","Death_player","Object",,,,,,,
,,,,,"Boulder impact","SWF",,,,,"Object",,,,,,,
"chr_wizard_deploy",,,,,"sound_chr_wizard_deploy","SWF",,,"Explosion Pilar",,"Object",,100,,,,,
"chr_wizard_steps","true",,,,"sound_chr_wizard_steps","SWF",,,,,"Ground",,100,,,,,
"chr_wizard_attack","true",,,,"sound_chr_wizard_attack","SWF",,,,,"Object",,100,,,,,
"chr_wizard_attack_start",,,,,"sound_chr_wizard_attack_start","SWF",,,,,"Object",,100,,,,,
"chr_wizard_target",,,,,"sound_chr_wizard_target","SWF",,,,,"Above",,100,,,,,
"chr_wizard_projectile_hit",,,,,"sound_chr_wizard_projectile_hit","ParticleEmitter",,,"chr_wiz_hit_sparks",,"Object",,100,,,,,
,,,,,,"ParticleEmitter",,,"chr_wiz_hit_fire",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"chr_wiz_hit_smoke",,"Object",,,,,,,
"chr_wizard_hit",,,,,"sound_chr_wizard_hit","SWF",,,,,"Object",,100,,,,,
"chr_wizard_die",,,,,,"Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","Death_player","Object",,100,,,,,
,,,,,"sound_chr_wizard_die","SWF",,,,,"Object",,,,,,,
"mini_pekka_deploy",,,,,"sound_minipekka_deploy","SWF",,,,,"Object",,100,,,,"pekka_deploy_enemy",
,,,,,"sound_minipekka_deploy_end","SWF",,,,,"Object",,,,,,,
,,,,,,"Effect",,,,"Deploy_ground_fx_largeSize","Base",,,,,,,
"mini_pekka_deploy_enemy",,,,,"sound_minipekka_deploy","SWF",,,,,"Object",,100,,,,,
"mini_pekka_steps",,,,,"sound_minipekka_steps","SWF",,,,,"Ground",,100,,,,,
"mini_pekka_attack_start",,,,,"sound_minipekka_attack_start","SWF",,,,,"Object",,100,,,,,
"mini_pekka_hit",,,,,"sound_minipekka_hit","SWF",,,,,"Object",,100,,,,,
"mini_pekka_die",,,,,"sound_minipekka_die","Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","Death_player","Object",,100,,,,"pekka_die_enemy",
"mini_pekka_die_enemy",,,,,"sound_minipekka_die","Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","Death_player","Object",,100,,,,,
"hog_rider_deploy",,,,,"sound_hog_rider_deploy","SWF",,,,,"Object",,100,,,,,
,,,,,,"Effect",,,,"Deploy_ground_fX_mediumSize","Base",,,,,,,
"hog_rider_steps",,,,,"sound_hog_rider_steps","SWF",,,,,"Ground",,100,,,,,
"hog_rider_attack_start",,,,,"sound_hog_rider_attack_start","SWF",,,,,"Object",,100,,,,,
"hog_rider_hit",,,,,"sound_hog_rider_hit","SWF",,,,,"Object",,100,,,,,
"hog_rider_target",,,,,"sound_hog_rider_target","SWF",,,,,"Above",,100,,,,,
"hog_rider_die",,,,,,"Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","Death_player","Object",,100,,,,,
,,,,,"sound_hog_rider_die","SWF",,,,,"Object",,,,,,,
"hog_rider_landing",,,,,"sound_hog_rider_landing","SWF",,,,,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"knight_deploy_dustPuff1",,"Ground",,,,,,,
,,,,,,"ParticleEmitter",,,"knight_depoy_dustShadow",,"Shadow",,60,,,,,
,,,,,,"ParticleEmitter",,,"knight_deploy_dustPuff2",,"Object",,60,,,,,
"tombstone_deploy",,,,250,"sound_tombstone_deploy","ParticleEmitter",,,"towerExplode_Smoke",,"Ground",,,,,,,
,,,,250,,"ParticleEmitter",,,"Rock Pieces Emitter",,"Ground",,,,,,,
"tombstone_spawn",,,,,"sound_tombstone_spawn","SWF",,,"SmokeBomb_smoke1",,"Above",,,,,,,
"tombstone_die",,,,,"sound_tombstone_die","ParticleEmitter",,,"Goblin_hut_woodExplosion",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"TargetDummy_planks2",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"TowerExplode_smokePuff",,"Base",,,,,,,
"MAGIC3 EFFECTS ABOVE",,,,,,,,,,,,,,,,,,
"SCROLL EFFECTS BELOW",,,,,,,,,,,,,,,,,,
"Growth",,,,,"Growth","SWF",,,,,"Object",,,,,,,
"HotCoals",,,,,"Hot coals appear","ParticleEmitter",,,"HotHoals1",,"Object",,85,,,,,
,,,,,,"ParticleEmitter",,,"FireRingEmitter",,"Object",,,,,,,
,,,,250,,"ParticleEmitter",,,"BlueSparksEmitter",,"Object",,,,,,,
,,,,2,,"ParticleEmitter",,,"SmokePuff",,"Object",,,,,,,
"HotCoals_loop","true",,,,"Hot coals loop","ParticleEmitter",,,"HotHoals_loop",,"Base",,,,,,,
,,,,,,"ParticleEmitter",,,"HotCoals_loop2",,"Base",,,,,,,
,,,,,,"ParticleEmitter",,,"HotCoals_sparks",,"Base",,,,,,,
,,,,,,"ParticleEmitter",,,"HotCoals_loop4",,"Base",,,,,,,
,,,,,,"ParticleEmitter",,,"HotCoals_darken",,"Base",,,,,,,
,,,,,,"ParticleEmitter",,,"HotCoals_darken2",,"Base",,,,,,,
"Charge_active",,,,,"Get gold","SWF","sc/effects.sc","get_gold",,,"Above",,,,"txt","resource",,
"GetGold",,,,,"Get gold","SWF","sc/effects.sc","get_gold",,,"Above",,,,"txt","resource",,
"GetMana",,,,,"get mana","SWF","sc/effects.sc","get_mana",,,"Above",,,,"txt","resource",,
"Damage",,,,,,"SWF","sc/level.sc","effect_Hit1",,,"Object",,100,,,,,
"Root",,"true",,,"Root","SWF","sc/effects.sc","spell_root_base",,,"Ground",,,,,,,
,,,,250,,"SWF","sc/effects.sc","spell_root_front",,,"Object",,,,,,,
,,,,,,"ParticleEmitter",,"RootRocks1","RootRocks1",,"Ground",,,,,,,
,,,,,,"ParticleEmitter",,,"SewerSteam",,"Above",,,,,,,
,,,,10,,"ParticleEmitter",,,"SewerSteam",,"Above",,,,,,,
"FireballSpell",,,1000,70,,"ParticleEmitter",,,"SparkEmitter1",,"Object",,100,,,,,
,,,,,"Fire ball explo","SWF","sc/effects.sc","ExplosionBlast",,,"Object",,,,,,,
,,,,100,,"ParticleEmitter",,,"SparkEmitter1",,"Object",,,,,,,
,,,,,,"SWF","sc/effects.sc","ExplosionGroundGlowSlowOut",,,"Ground",,,,,,,
,,,,,,"SWF","sc/effects.sc","ExplosionGroundGlow",,,"Ground",,,,,,,
,,,,,,"SWF","sc/effects.sc","ExplosionBlast",,,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"SmokeEmitter",,"Object",,,,,,,
,,,,,,"ScreenFlash",,,,,"Ground",1694485504,,,,,,
,,,,,,"ParticleEmitter",,,"FireRingEmitter",,"Object",,,,,,,
,,,,,,"SWF","sc/effects.sc","Explosion",,,"Object",,,,,,,
"MeteorExplosion",,,,,"Fireball explodes","SWF","sc/level.sc","MeteorExplosion",,,"Object",,100,,,,,
"Immunity",,"true",,,,"SWF","sc/level.sc","immunity",,,"Above",,100,,,,,
"Vulnerability",,"true",,,,"SWF","sc/level.sc","vulnerability",,,"Above",,100,,,,,
"Healing",,"true",,,,"SWF","sc/level.sc","effect_heal",,,"Object",,100,,,,,
"DeathEffect",,,,,,"SWF","sc/characters.sc","death_animation",,,"Ground",,100,,,,,
"Invisibility",,"true",,,"Invisibility","SWF",,,,,"Object",,100,,,,,
"MindControl",,"true",,,"MindControl","SWF",,,,,"Object",,100,,,,,
"CharacterDeploy","true",,,,"CharacterDeploy","SWF",,,,,"Object",,50,,,,,
"Protection",,"true",,,"Protection","SWF","sc/level.sc","effect_protection",,,"Object",,100,,,,,
"damage_burn","true","true",,,,"SWF","sc/level.sc","effect_burn",,,"Object",,100,,,,,
"Explosion",,,,,,"SWF","sc/effects.sc","SlamShockAnim","SmokeEmitter",,"Ground",,100,,,,,
,,,,,,"SWF","sc/effects.sc","SlamFlashAnim",,,"Object",,100,,,,,
,,,,,,"ScreenFlash",,,,,"Ground",-251605914,100,,,,,
"HitEffect1",,"true",,20,,"SWF","sc/effects.sc","HitFlashFx",,,"Object",,100,,,,,
,,,,,,"SWF","sc/effects.sc","hitFx",,,"Object",,100,,,,,
,,,,10,,"ParticleEmitter",,,"BloodSpatter1",,"Object",,100,,,,,
"ObjectClick1",,,,,,"Filter","sc/effects.sc","ObjectClick",,,"Ground",,100,,,,,
"Cast_RainOfArrows",,,,,"Arrow fire","ParticleEmitter",,,,,"Above",,,,,,,
"Cast_FireRainOfArrows",,,,,"Fire arrow","ParticleEmitter",,,,,"Above",,,,,,,
"ArrowHitGround",,,,,"Arrow volley hit","ParticleEmitter",,,"Arrows Hit Ground",,"Ground",,100,,,,,
"FireArrowHitGround","true",,,,"Arrow hit ground","ParticleEmitter",,,"Arrows Hit Ground",,"Ground",,100,,,,,
,,,,,,"ParticleEmitter",,,"FlameEmitter",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"FlameEmitter_small",,"Object",,,,,,,
,,,,10,,"ParticleEmitter",,,"Black_spot",,"Ground",,,,,,,
"FireArrowProjectileEmitter","true",,,,,"ParticleEmitter",,,"FlameArrowEmitter_small",,"Above",,50,,,,,
"ArrowHit",,,,,"Arrow hit","SWF",,,,,"Ground",,100,,,,,
"SmokeArea","true",,,,"Smoke","ParticleEmitter",,,"SmokeBomb_smoke1",,"Above",,,,,,,
,"true",,,100,,"ParticleEmitter",,,"SmokeBomb_smoke2",,"Above",,,,,,,
,,,,200,,"ParticleEmitter",,,"SmokeBomb_smoke3",,"Above",,,,,,,
"TowerDeploy",,,,,,,,,,,,,,,,,,
"TowerIdle",,,,,,,,,,,,,,,,,,
"TowerFire",,,,,"Tower Attack","ParticleEmitter",,,"Tower_fire_glow1",,"Above",,100,,,,,
,,,,,,"ParticleEmitter",,,"Tower_fire_particles1",,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"Tower_fire_particles2",,"Above",,,,,,,
"TowerStartFire",,,,,,"ParticleEmitter",,,"Tower_fire_particles1",,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"Tower_fire_glow1",,"Above",,,,,,,
"TowerProjectileHit",,,,,"Tower Hit","SWF","sc/effects.sc","ExplosionGroundGlowBlue",,,"Above",,35,,,,,
,,,,130,,"SWF","sc/effects.sc","ElectricLightning",,,"Above",,,,,,,
,,,,,,"SWF","sc/effects.sc","ElectricGlowBall",,,"Above",,,,,,,
"TowerExplode",,,1000,50,,"ParticleEmitter",,,"TargetDummy_planks",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"FireRingEmitter",,"Object",,,,,,,
,,,,250,,"ParticleEmitter",,,"TargetDummy_smoke",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"TowerExplode_rockEmitter",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"Tower_destroyed_ground",,"Base",,,,,,,
,,,,,,"ParticleEmitter",,,"Big_rock_particle1",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"TargetDummy_planks2",,"Object",,,,,,,
"TowerPlayerLoop","true",,,,,"SWF","sc/effects.sc","GlowRed",,,"Shadow",,,,,,,
,,,,,,"ParticleEmitter",,,"Tower_continuous_particles1",,"Above",,,,,,,
"CrowdTowerTakeDamage",,,,,"sound_tower_take_damage","Effect",,,,,"Object",,,,,,"CrowdTowerTakeDamageEnemy",
"CrowdTowerTakeDamageEnemy",,,,,"sound_tower_take_damage_enemy","Effect",,,,,"Object",,,,,,,
"CrowdSummonBigUnit",,,,,"sound_summon_own_big","Effect",,,,,"Object",,,,,,"CrowdSummonBigUnitEnemy",
"CrowdSummonBigUnitEnemy",,,,,"sound_summon_enemy_big","Effect",,,,,"Object",,,,,,,
"CrowdDieBigUnit",,,,,"sound_summon_own_big_die","Effect",,,,,"Object",,,,,,"CrowdDieBigUnitEnemy",
"CrowdDieBigUnitEnemy",,,,,"sound_summon_enemy_big_die","Effect",,,,,"Object",,,,,,,
"FireplaceDeploy",,,,,"Fireplace deploy","SWF",,,,,"Object",,18,,,,,
"FireplaceIdle","true",,,,"Fireplace idle","ParticleEmitter",,,"Fireplace_emitter",,"Object",,18,,,,,
"FireplaceAttackStart",,,,,"Fireplace attack start","SWF",,,,,"Object",,100,,,,,
"FireplaceHit",,,,,"Fireplace hit","SWF",,,,,"Object",,100,,,,,
"FireplaceDie",,,,,,"Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","Death_player","Object",,100,,,,,
,,,,,"Fireplace die","SWF",,,,,"Object",,,,,,,
"FireSpiritDeploy","true",,,,"FireSpirit deploy","ParticleEmitter",,,"FireSpirit_emitter",,"Object",,18,,,,,
"FireSpiritSteps",,,,,"FireSpirit steps","SWF",,,,,"Ground",,100,,,,,
"FireSpiritAttackStart",,,,,"FireSpirit attack start","SWF",,,,,"Object",,100,,,,,
"FireSpiritHit",,,,,"FireSpirit hit","ParticleEmitter",,,"FireRingEmitter",,"Object",,30,,,,,
"FireSpiritDie",,,,,,"ParticleEmitter",,,"FlameEmitter",,"Base",,100,,,,,
"WizardDeploy",,,,,"WizardDeploy","SWF",,,,,"Object",,100,,,,,
,,,,,,"Effect",,,,"Deploy_ground_fX_mediumSize","Base",,,,,,,
"WizardSteps","true",,,,"WizardSteps","SWF",,,,,"Ground",,100,,,,,
"WizardAttackStart",,,,,"WizardAttackStart","SWF",,,,,"Object",,100,,,,,
"WizardProjectileHit",,,,,"WizardProjectileHit","SWF",,,,,"Object",,100,,,,,
"WizardHit",,,,,"WizardHit","SWF",,,,,"Object",,100,,,,,
"WizardTakeDamage",,,,,"WizardTakeDamage","Filter","sc/level.sc","filter_burn",,,"Object",,50,,,,,
,,,,,,"ParticleEmitter",,,"Stunner",,"Base",,,,,,,
"WizardDie","true",,,,"WizardDie","ParticleEmitter","sc/characters.sc","death_animation","Wizard_die_player_emitter1",,"Object",,100,,,,,
"ConstructionDeploy2x2",,,,,"Construction deploy 2x2","SWF",,,,,"Above",,100,,,,,
"ConstructionDeploy3x3",,,,,"Construction deploy 3x3","SWF",,,,,"Above",,100,,,,,
"ConstructionDestroyed",,,,,"Construction destroyed","SWF",,,,,"Above",,100,,,,,
"GenericBuildingReady",,,,,"Generic building ready","SWF",,,,,"Above",,100,,,,,
"ArcherTowerDeploy",,,,,"ArcherTower deploy","SWF",,,,,"Object",,100,,,,,
"ArcherTowerAttack",,,,,"ArcherTower attack","SWF",,,,,"Object",,100,,,,,
"ArcherTowerTarget",,,,,"ArcherTower target","SWF",,,,,"Above",,100,,,,,
"ArcherTowerDie",,,,,,"SWF",,,,,"Ground",,100,,,,,
,,,,,"ArcherTower die","SWF",,,,,"Object",,,,,,,
"Knight Deploy",,,,,"Knight deploy","SWF",,,,,"Object",,100,,,,,
"Knight Charge",,,,,"Knight Charge","SWF",,,,,"Object",,100,,,,,
"KnightSteps",,,,,"Knight steps","SWF",,,,,"Ground",,100,,,,,
"KnightAttackStart",,,,,"Knight attack start","ParticleEmitter",,,"Fireplace_emitter",,"Object",,100,,,,,
"KnightHit",,,,,"Knight hit","SWF",,,,,"Object",,100,,,,,
"KnightTarget",,,,,"Knight target","SWF",,,,,"Above",,100,,,,,
"KnightDie",,,,,,"Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","Death_player","Object",,100,,,,,
,,,,,"Ent Big Die","SWF",,,,,"Object",,,,,,,
"ArcherDeploy",,,,,"Archer deploy","SWF",,,,,"Object",,100,,,,,
,,,,,,"Effect",,,,"Deploy_ground_fX_mediumSize","Base",,,,,,,
"ArcherSteps",,,,,"Archer steps","SWF",,,,,"Ground",,100,,,,,
"ArcherAttackStart",,,,,"Archer attack start","SWF",,,,,"Object",,100,,,,,
"ArcherAttack",,,,,"Archer attack","SWF",,,,,"Object",,100,,,,,
"ArcherTarget",,,,,"Archer target","SWF",,,,,"Above",,100,,,,,
"ArcherDie",,,,,,"Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","Death_player","Object",,100,,,,,
,,,,,"Archer die","SWF",,,,,"Object",,,,,,,
"DecoFireplaceLoop","true",,,,,"ParticleEmitter",,,"Fireplace_particles_loop",,"Above",,,,,,,
,"true",,,,,"SWF","sc/effects.sc","Deco_fireplace_glow",,,"Ground",,,,,,,
,,,,,,"ParticleEmitter",,,"Fireplace_bouncy_particles_loop",,"Object",,,,,,,
,,,,,,"SWF","sc/effects.sc","Deco_fireplace_base",,,"Ground",,,,,,,
"Background_haze","true",,,,,"ParticleEmitter","sc/effects.sc",,"Haze1",,"Object",,,,,,,
"SCROLL EFFECTS ABOVE",,,,,,,,,,,,,,,,,,
"GUNSHINE EFFECTS BELOW",,,,,,,,,,,,,,,,,,
"LevelUp",,"true",,,"LevelUpWiz","SWF","sc/effects.sc","LevelUpGroundGlow",,,"Ground",,,,,,,
,,,,,,"SWF","sc/effects.sc","LevelUpFx",,,"Above",,,,,,,
,,,,,,"ScreenFlash",,,,,"Ground",-154,,,,,,
"Stun",,,,70,,"ParticleEmitter",,,"Stunner",,"Object",,,,,,,
,,,,,,"SWF","sc/effects.sc","ExplosionGroundGlowBlue",,,"Ground",,,,,,,
,,,,130,,"SWF","sc/effects.sc","ElectricLightning",,,"Object",,,,,,,
,,,,,,"SWF","sc/effects.sc","ElectricGlowBall",,,"Object",,,,,,,
,,,,200,,"ScreenFlash",,,,,"Ground",-1258291201,,,,,,
"PoisonSteam",,"true",,,,"ParticleEmitter",,,"PoisonSteamer",,"Above",,,,,,,
"Burner","true","true",,,,"ParticleEmitter",,,"FlameEmitter",,"Object",,50,,,,,
"Wall Explode",,,1000,180,,"ParticleEmitter",,,"WallExplosion",,"Above",,,,,,,
,,,,100,,"SWF","sc/effects.sc","ExplosionBlast",,,"Above",,,,,,,
,,,,250,,"ParticleEmitter",,,"WallExplosionSparks1",,"Above",,,,,,,
,,,,,,"SWF","sc/effects.sc","GlowRedBig",,,"Above",,,,,,,
,,,,,,"ScreenFlash",,,,,"Ground",-13261,,,,,,
,,,,40,,"ParticleEmitter",,,"Explosion Pilar",,"Above",,,,,,,
,,,,150,,"ParticleEmitter",,,"Rock Pieces Emitter",,"Object",,,,,,,
,,,,300,,"ParticleEmitter",,,"SmokeEmitter",,"Object",,,,,,,
,,,,200,,"ParticleEmitter",,,"SmokePuff",,"Object",,,,,,,
"EndBattle","true",,,,,"SWF","sc/effects.sc","finalBattle_effect",,,"Base",,,,,,,
,,,,,,"ParticleEmitter",,,"HotCoals_sparks",,"Base",,,,,,,
"GoodTarget",,"true",,,,"Filter","sc/level.sc","filter_target",,,"Base",,100,,,,,
"RangeDanger",,"true",,,,"Filter","sc/level.sc","filter_enemy",,,"Base",,100,,,,,
,,,,,"Enemy on range","SWF","sc/level.sc","spot_enemy",,,"Above",,,,,,,
"DragEffect","true",,,,,"ParticleEmitter",,,"DragSparkEmitter",,"Base",,,,,,,
"SpellCasting",,,,,"SpellCasting","ParticleEmitter",,,"HotCoals_sparks",,"Object",,,,,,,
"Fireball_explosion",,,800,100,,"ParticleEmitter",,,"explosion_base",,"Ground",,85,,,,,
,,,,,"Fire ball explo","ParticleEmitter",,,"Fireball_explosion_smoke",,"Object",,,,,,,
,,,,,,"ParticleEmitter","sc/effects.sc","explosion_glow1","Fireball_explosion_glow",,"Object",,,,,,,
,,,,,,"ParticleEmitter","sc/effects.sc","explosion_glow1","Fireball_explosion_sparks",,"Object",,,,,,,
,,,,,,"ParticleEmitter","sc/effects.sc","darken_gradient","explosion_lava",,"Base",,,,,,,
,,,,10,,"ParticleEmitter",,,"explosion_gradients",,"Base",,,,,,,
,,,,,,"ParticleEmitter",,,"explosion_shadow",,"Shadow",,,,,,,
,,,,,,"ParticleEmitter",,,"explosion_fire",,"Object",,,,,,,
,,,,300,,"ParticleEmitter",,,"explosion_continousFire",,"Base",,,,,,,
,,,,,,"ParticleEmitter",,,"explosion_glow",,"Above",,,,,,,
"Generic_death",,,,,,"ParticleEmitter",,,"Death_sparkle",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"Death_sparkle_still1",,"Ground",,,,,,,
,,,,,,"ParticleEmitter",,,"death_sparkle_still2",,"Object",,,,,,,
,,,,,,"ParticleEmitter","sc/effects.sc","BloodCloud","Fireball_explosion_glow",,"Object",,,,,,,
,,,,,,"ParticleEmitter","sc/effects.sc","BloodCloud","Death_blue_smoke_shadow",,"Shadow",,,,,,,
"TargetDummy_die",,,,,,"ParticleEmitter",,,"TargetDummy_planks",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"TargetDummy_planks2",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"TargetDummy_smoke",,"Object",,,,,,,
,,,,,,"Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","Death_player","Object",,,,,,,
"ArcherTower_continuousEffect","true",,,,,"SWF","sc/effects.sc","RoundExplosion",,,"Shadow",,,,,,,
"ExplosiveBarrel_continuous","true",,,,,"ParticleEmitter",,,"ExplosiveBarrel_cont_glow1",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"ExplosiveBarrel_cont_glow2",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"ExplosiveBarrel_cont_sparks",,"Object",,,,,,,
"Death_enemy",,,,,"sound_generic_death","ParticleEmitter",,,"Death_elixir_burst1",,"Object",,,,,,,
,,,,,,"ParticleEmitter","sc/effects.sc","BloodCloud","Death_enemy_puff",,"Object",,,,,,,
,,,,,,"ParticleEmitter","sc/effects.sc","BloodCloud","Death_blue_smoke_shadow",,"Shadow",,,,,,,
"Death_player",,,,,"sound_generic_death","ParticleEmitter",,,"Death_elixir_burst1",,"Object",,,,,,,
,,,,,,"ParticleEmitter","sc/effects.sc","BloodCloud","Death_enemy_puff",,"Object",,,,,,,
,,,,,,"ParticleEmitter","sc/effects.sc","BloodCloud","Death_blue_smoke_shadow",,"Shadow",,,,,,,
,,,,,,"ParticleEmitter","sc/effects.sc","BloodCloud","Death_elixir_ground1",,"Base",,,,,,,
"ArcherTower_destruction",,,300,,"ArcherTower die","ParticleEmitter",,,"ArcherTower_particle1",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"ArcherTower_particle2",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"ArcherTower_particle3",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"ArcherTower_particle4",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"ArcherTower_particles5",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"ArcherTower_particle6",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"ArcherTower_particle7",,"Object",,,,,,,
,,,,,,"Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","Death_player","Object",,,,,,,
,,,,,,"ParticleEmitter",,,"ArcherTower_destruction_smoke",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"ArcherTower_destruction_smoke_shadow",,"Shadow",,,,,,,
,,,,,,"ParticleEmitter",,,"ArcherTower_destroyed",,"Base",,,,,,,
,,,,,,"ParticleEmitter",,,"AercherTower_particleShadows",,"Shadow",,,,,,,
"ExplosiveBarrel_explosion",,,800,100,,"ParticleEmitter",,,"explosion_base",,"Ground",,85,,,,,
,,,,,"Explosive Barrel explosion","ParticleEmitter",,,"Fireball_explosion_smoke",,"Object",,,,,,,
,,,,,,"ParticleEmitter","sc/effects.sc","explosion_glow1","Fireball_explosion_glow",,"Object",,,,,,,
,,,,,,"ParticleEmitter","sc/effects.sc","explosion_glow1","Fireball_explosion_sparks",,"Object",,,,,,,
,,,,,,"ParticleEmitter","sc/effects.sc","darken_gradient","explosion_lava",,"Base",,,,,,,
,,,,10,,"ParticleEmitter",,,"explosion_gradients",,"Base",,,,,,,
,,,,,,"ParticleEmitter",,,"explosion_shadow",,"Shadow",,,,,,,
,,,,,,"ParticleEmitter",,,"explosion_fire",,"Object",,,,,,,
,,,,300,,"ParticleEmitter",,,"explosion_continousFire",,"Base",,,,,,,
,,,,,,"ParticleEmitter",,,"explosion_glow",,"Above",,,,,,,
"ExplosiveBarrel_deploy",,,,,"ExplosiveBarrel deploy","SWF",,,,,"Object",,,,,,,
"Projectile_rocket_emitter","true","true",,,,"ParticleEmitter",,,"Projectile_rocket_emitter1",,"Above",,,,,,,
"RocketTower_attack",,"true",,,"RocketTower attack","ParticleEmitter",,,"RocketTower_emitter1",,"Above",,,,,,,
,,,,1,,"ParticleEmitter",,,"RocketTower_smoke1",,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"RocketTower_emitter2",,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"Musketeer_glow",,"Above",,,,,,,
"RocketTower_destruction",,,300,,"RocketTower destruction","ParticleEmitter",,,"ArcherTower_particle1",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"ArcherTower_particle2",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"ArcherTower_particle3",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"ArcherTower_particle4",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"ArcherTower_particles5",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"ArcherTower_particle6",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"ArcherTower_particle7",,"Object",,,,,,,
,,,,,,"Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","Death_player","Object",,,,,,,
,,,,,,"ParticleEmitter",,,"ArcherTower_destruction_smoke",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"ArcherTower_destruction_smoke_shadow",,"Shadow",,,,,,,
,,,,,,"ParticleEmitter",,,"AercherTower_particleShadows",,"Shadow",,,,,,,
,,,,,,"ParticleEmitter",,,"RocketTower_destroyed_base",,"Base",,,,,,,
"Beartrap_die",,,,,"BearTrapAttack","SWF",,,,,"Object",,,,,,,
"cannon_fire_projectile",,,,,"Cannon Fire","ParticleEmitter",,,"cannon_glow_top",,"Above",,1,,,,,
,,,,,,"ParticleEmitter",,,"cannon_smoke1",,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"cannon_firePareticles",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"cannon_glow",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"cannon_smoke_shadow",,"Shadow",,,,,,,
"cannon_hit",,"true",,,,"ParticleEmitter",,,"cannon_hit_rock_emiter",,"Object",,100,,,,,
,,,,,,"ParticleEmitter",,,"cannon_hit_smokePuff",,"Object",,60,,,,,
,,,,,,,,,,,,,60,,,,,
"Cannon_deploy",,,,,"Cannon Deploy","SWF",,,,,"Above",,,,,,,
"Cannon_die",,,,,,"Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","Death_player","Object",,,,,,,
,,,,,"Boulder impact","SWF",,,,,"Object",,,,,,,
"Tower_projectile_emitter","true","true",,,,"ParticleEmitter",,,"Tower_projectile_trail1",,"Object",,,,,,,
"Fear_deploy",,,,,"PanicSpell","ParticleEmitter","sc/effects.sc","Fear_face","Fear_face_emitter",,"Object",,,,,,,
,,,,,,"ParticleEmitter","sc/effects.sc","Fear_face","Fear_face_emitter_shadow",,"Shadow",,,,,,,
,,,,,,"ParticleEmitter",,,"SmokePuff",,"Object",,,,,,,
"BearTrap_deploy",,,,,"BearTrapDeploy","SWF",,,,,"Base",,,,,,,
"Character_marker_player",,,,,,"SWF",,,,,"Base",,,,,,"Character_marker_enemy",
"Character_marker_enemy",,,,,,"SWF",,,,,"Base",,,,,,,
"piper_attack_effect","true",,,,,"ParticleEmitter",,,"piper_attack_emmiter",,"Object",,,,,,,
"piper_hit",,"true",,,,"ParticleEmitter",,,"piper_hit_emmiter",,"Object",,100,,,,,
"Character_move_target_marker_player","true","true",,,,"SWF","sc/effects.sc","wizard_roundBase_player",,,"Base",,,,,,"Character_move_target_marker_enemy",
"Character_move_target_marker_enemy","true","true",,,,"SWF","sc/effects.sc","wizard_roundBase_enemy",,,"Base",,,,,,,
"FireballEmitter","true","true",,,,"ParticleEmitter",,,"FireballEmitterTrail",,"Object",,50,,,,,
,,,,,,"ParticleEmitter",,,"fireball_trial_spark",,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"fireball_trail_glow",,"Above",,,,,,,
"rocketTowerHit",,,,,,"ParticleEmitter","sc/effects.sc","SlamShockAnim","rocketTowerHitsmoke",,"Above",,100,,,,,
,,,,,,"ParticleEmitter","sc/effects.sc","ExplosionBlast","RocketTower_fireworks",,"Above",,100,,,,,
,,,,,,"SWF","sc/effects.sc","Deco_small_glow",,,"Base",,100,,,,,
,,,,,,"ParticleEmitter",,,"rocketTower_fireworks2",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"rocketTower_sparks",,"Object",,,,,,,
"Death_elixir_player",,,,,,"ParticleEmitter",,,"Death_elixir_burst1",,"Object",,,,,,,
"Clouds1","true",,,,,"ParticleEmitter",,,"Clouds_move1",,"Above",,,,,,,
,,,,,,"SWF","sc/effects.sc","Overlay_glow",,,"Above",,,,,,,
,,,,,,"SWF","sc/effects.sc","Overlay_darken",,,"Above",,,,,,,
"Player_units_glow","true","true",,,,,,,,,,,,,,,"Enemy_units_glow",
"Enemy_units_glow","true",,,,,"SWF","sc/ui.sc","troop_glow_red",,,"Base",,,,,,,
"Troop_side",,,,,,,,,,,,,,,,,"Troop_side_enemy",
"Troop_side_enemy","true",,,,,"SWF","sc/ui.sc","troop_glow_red",,,"Base",,,,,,,
"Spell_rage_ground",,,,,,"SWF","sc/effects.sc","rage_effect_ground",,,"Base",,,,,,,
"Spell_rage_effect",,,,,"sound_rage_effect","ParticleEmitter",,,"Spell_rage_smoke1",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"Spell_rage_smoke2",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"Spell_rage_glowFast",,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"Spell_rage_sparckle1",,"Object",,,,,,,
"Spell_rage_hit_effect","true","true",,,,,,,,,,,,,,,,
"Spell_rage_loop","true",,,,,"ParticleEmitter",,,"Spell_rage_sparkle1_loop",,"Object",,,,,,,
"EnemyGenericDie",,,,,"sound_enemy_die_jingle","Effect",,,,,"Object",,,,,,,
"GenericDie",,,,,"sound_own_die_jingle","Effect",,,,,"Object",,,,,,"EnemyGenericDie",
"inferno_beam_lvl1","true",,,,"inferno_loop","SWF","sc/effects.sc","inferno_beam",,,"Above",,,,,,,170
"inferno_beam_lvl2","true",,,,"inferno_loop","SWF","sc/effects.sc","inferno_beam_stage2",,,"Above",,,,,,,170
"inferno_beam_lvl3","true",,,,"inferno_loop","SWF","sc/effects.sc","inferno_beam_stage3",,,"Above",,,,,,,170
"inferno_hit_effect",,"true",,,,"ParticleEmitter",,,"inferno_hit_sparks",,"Object",,70,,,,,
,,,,,,"SWF","sc/effects.sc","inferno_hit_lines",,,"Object",,,,,,,
,,,,,,"SWF","sc/effects.sc","inferno_hit",,,"Object",,,,,,,
"inferno_muzzle","true",,,,,"SWF","sc/effects.sc","inferno_shoot",,,"Above",,,,,,,-1
"inferno_stage2_root","true",,,,,"SWF","sc/effects.sc","inferno_stage2_root",,,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"inferno_stage2_sparks",,"Base",,,,,,,
"inferno_stage3_root","true",,,,,"SWF","sc/effects.sc","inferno_stage3_root",,,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"inferno_stage3_sparks",,"Base",,,,,,,
"inferno_muzzle_stage2","true",,,,,"SWF","sc/effects.sc","inferno_shoot_st2",,,"Above",,,,,,,-1
,,,,,,"ParticleEmitter",,,"inferno_stage2_peak_flame",,"Above",,,,,,,
"inferno_muzzle_stage3","true",,,,,"SWF","sc/effects.sc","inferno_shoot_st3",,,"Above",,,,,,,-1
,,,,,,"ParticleEmitter",,,"inferno_stage3_peak_flame",,"Above",,,,,,,
"BombTower_die",,,400,50,"sound_bomb_tower_die","ParticleEmitter",,,"TargetDummy_planks",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"FireRingEmitter",,"Object",,,,,,,
,,,,250,,"ParticleEmitter",,,"TargetDummy_smoke",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"TargetDummy_planks2",,"Object",,,,,,,
"BombTower_projectile_hit",,,,,"sound_BombTower_projectile_hit","ParticleEmitter",,,"FireRingEmitter",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"BlueSparkEmitter",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"cannon_glow",,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"BombTower_hit_flame",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"HitEffectParticles",,"Object",,,,,,,
"Rocket_Emitter","true","true",,,,"ParticleEmitter",,,"Rocket_Emitter_Smoketrail",,"Object",,50,,,,,
,,,,,,"ParticleEmitter",,,"Rocket_Emitter_Sparks",,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"Rocket_Emitter_Glow",,"Above",,,,,,,
,,,,800,,"ParticleEmitter",,,"Rocket_Emitter_Smoketrail",,"Object",,,,,,,
"Rocket_explosion",,,1500,,"sound_rocket_explosion","ParticleEmitter",,,"Fireball_explosion_smoke",,"Object",,100,,,,,
,,,,,,"ParticleEmitter","sc/effects.sc","explosion_glow1","Fireball_explosion_glow",,"Object",,,,,,,
,,,,,,"ParticleEmitter","sc/effects.sc","explosion_glow1","Fireball_explosion_sparks",,"Object",,,,,,,
,,,,10,,"ParticleEmitter",,,"explosion_gradients",,"Base",,,,,,,
,,,,,,"ParticleEmitter",,,"explosion_shadow",,"Shadow",,,,,,,
,,,,,,"ParticleEmitter",,,"explosion_fire",,"Object",,,,,,,
,,,,300,,"ParticleEmitter",,,"explosion_continousFire",,"Base",,,,,,,
,,,,,,"ParticleEmitter",,,"explosion_glow",,"Above",,,,,,,
"Rocket_spawn",,,,,,,,,,,,,,,,,,
,,,,,"sound_rocket_spawn",,,,,,,,,,,,,
"Spell_freeze_loop","true",,,,,"ParticleEmitter",,,"Spell_freeze_snowflake1_loop",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"Spell_freeze_snowflake2_loop",,"Object",,,,,,,
"Spell_freeze_ground",,,,,,"SWF","sc/effects.sc","freeze_effect_ground",,,"Base",,,,,,,
"Spell_freeze_cast",,,,,"sound_freeze_deploy","Effect",,,,,"Above",,,,,,,
"level_up_hud",,,,,,"ParticleEmitter",,,"Death_sparkle_still1",,"Above",,,,,,"replay_drag_enemy",
"summoner_attack",,,,,"Cannon Fire","ParticleEmitter",,,"cannon_glow_top",,"Above",,1,,,,,
,,,,,,"ParticleEmitter",,,"cannon_smoke1",,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"cannon_firePareticles",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"cannon_glow",,"Object",,,,,,,
"KingTowerExplode",,,2000,50,,"ParticleEmitter",,,"TargetDummy_planks",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"FireRingEmitter",,"Object",,,,,,,
,,,,250,,"ParticleEmitter",,,"TargetDummy_smoke",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"TowerExplode_rockEmitter",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"KingTower_destroyed_ground",,"Base",,,,,,,
,,,,,,"ParticleEmitter",,,"Big_rock_particle1",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"TargetDummy_planks2",,"Object",,,,,,,
"Spell_lightning_effect",,,1000,200,"sound_musketeer_attack","ParticleEmitter",,,"Spell_ligntning_smoke1",,"Object",,,,,,,
,,,,200,,"ParticleEmitter",,,"Spell_lightning_hitSpot",,"Ground",,,,,,,
,,,,200,,"ParticleEmitter",,,"Spell_lightning_hitSpot2",,"Above",,,,,,,
,,,,100,,"ParticleEmitter",,,"Spell_lightning_bolt",,"Above",,,,,,,
,,,,50,,"ParticleEmitter",,,"Spell_lightning_sparks",,"Object",,,,,,,
,,,,50,,"ParticleEmitter",,,"Spell_lightning_Flash",,"Ground",,,,,,,
,,,,50,,"ParticleEmitter",,,"Spell_lightning_Rock_debris",,"Base",,,,,,,
,,,,100,,"ParticleEmitter",,,"Spell_lightning_Rock_debris2",,"Base",,,,,,,
,,,,300,,"ParticleEmitter",,,"Spell_lightning_electric",,"Base",,,,,,,
"Spell_lightning_ground",,,,,,,,,,,,,,,,,,
"Spell_lightning_cast",,,,,,"Effect",,,,,"Above",,,,,,,
"Spell_zap_effect",,,250,150,"sound_spell_zap","ParticleEmitter",,,"Spell_zap_smoke1",,"Object",,,,,,,
,,,,200,,"ParticleEmitter",,,"Spell_zap_hitSpot",,"Ground",,,,,,,
,,,,200,,"ParticleEmitter",,,"Spell_zap_hitSpot2",,"Ground",,,,,,,
,,,,100,,"ParticleEmitter",,,"Spell_zap_bolt",,"Above",,,,,,,
,,,,50,,"ParticleEmitter",,,"Spell_zap_sparks",,"Object",,,,,,,
,,,,50,,"ParticleEmitter",,,"Spell_zap_Flash",,"Ground",,,,,,,
"MegaBombExplodeSkeleton",,,1000,,"sound_GiantSkeleton_bomb_die","ParticleEmitter",,,"MagaBomb_FireRing",,"Object",,,,,,,
,,,,100,,"ParticleEmitter",,,"MegaBomb_explode_smoke",,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"MegaBomb_explode_debris",,"Ground",,,,,,,
,,,,100,,"ParticleEmitter",,,"MegaBomb_destroyed_ground",,"Ground",,,,,,,
,,,,,,"ParticleEmitter",,,"MegaBomb_explode_debris2",,"Ground",,,,,,,
,,,,,,"ParticleEmitter",,,"MegaBomb_explosion_glow",,"Object",,,,,,,
"MegaBombExplodeBalloon",,,1000,,"sound_Balloon_Bomb_die","ParticleEmitter",,,"MagaBomb_FireRing",,"Object",,,,,,,
,,,,100,,"ParticleEmitter",,,"MegaBomb_explode_smoke",,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"MegaBomb_explode_debris",,"Ground",,,,,,,
,,,,100,,"ParticleEmitter",,,"MegaBomb_destroyed_ground",,"Ground",,,,,,,
,,,,,,"ParticleEmitter",,,"MegaBomb_explode_debris2",,"Ground",,,,,,,
,,,,,,"ParticleEmitter",,,"MegaBomb_explosion_glow",,"Object",,,,,,,
"prince_deploy",,,,,"sound_prince_deploy","SWF",,,,,"Object",,100,,,,,
,,,,,"sound_prince_deploy_end","SWF",,,,,"Object",,,,,,,
,,,,,,"Effect",,,"deploy_unit_blue","Deploy_ground_fX_mediumSize","Base",,,,,,,
,,,,,,,,,,,,,60,,,,,
,,,,,,,,,,,,,60,,,,,
,,,,,,,,,,,,,60,,,,,
"prince_steps",,,,,"sound_prince_steps","ParticleEmitter",,,"knight_speps_dust1",,"Ground",,100,,,,,
"prince_charge_steps",,,,,"sound_prince_charge_steps","ParticleEmitter",,,"knight_speps_dust1",,"Ground",,100,,,,,
"prince_charge",,,,,"sound_prince_charge","ParticleEmitter",,,"knight_deploy_dustPuff1",,"Object",,,,,,,
,,,,,,"Filter","sc/level.sc","filter_protection",,,"Base",,,,,,,
,,,,,,"SWF","sc/effects.sc","effect_charge",,,"Above",,,,"txt","charge",,
"prince_charge_hit",,,,,"sound_prince_charge_hit","SWF",,,,,"Object",,100,,,,,
"prince_attack_start",,,,,"sound_prince_attack_start","Effect",,,,,"Object",,100,,,,,
"prince_hit",,,,,"sound_prince_hit","SWF",,,,,"Object",,100,,,,,
"prince_target",,,,,"sound_prince_target","SWF",,,,,"Above",,100,,,,,
"prince_die",,,,,,"Effect","sc/effects.sc","RoundExplosion","Death_sparkle_still1","Death_player","Object",,100,,,,,
,,,,,,"ParticleEmitter",,,"knight_deploy_dustPuff1",,"Object",,100,,,,,
,,,,,,,,,,,,,100,,,,,
,,,,,,,,,,,,,100,,,,,
"prince_charge_symbol",,"true",,,,"SWF","sc/level.sc","effect_protection",,,"Above",,,,,,,
"Deploy_ground_fX_mediumSize",,,,300,,"ParticleEmitter",,,"knight_deploy_rocks_hitGround",,"Ground",,100,,,,,
,,,,300,,"ParticleEmitter",,,"knight_deploy_dustPuff1",,"Ground",,,,,,,
,,,,300,,"ParticleEmitter",,,"knight_depoy_dustShadow",,"Shadow",,60,,,,,
,,,,300,,"ParticleEmitter",,,"knight_deploy_dustPuff2",,"Object",,60,,,,,
,,,,,,,,,,,,,60,,,,,
"Deploy_ground_fx_largeSize",,,,300,,"ParticleEmitter",,,"giant_deploy_dustPuff",,"Ground",,100,,,,"giant_skeleton_deploy_enemy",
,,,,300,,"ParticleEmitter",,,"giant_deploy_rocks_hitGround",,"Ground",,,,,,,
,,,,300,,"ParticleEmitter",,,"giant_deploy_dustPuff_shadow",,"Shadow",,,,,,,
"King_player_activate_training",,,,,"sound_king_player_activate","SWF",,,,,"Object",,,,,,"King_enemy_activate_training",
,,,,,"sound_king_angry","SWF",,,,,"Object",,,,,,,
"King_enemy_activate_training",,,,,"sound_king_enemy_activate","SWF",,,,,"Object",,,,,,,
,,,,,"sound_king_happy_tower","SWF",,,,,"Object",,,,,,,
"King_player_activate",,,,,"sound_king_player_activate","SWF",,,,,"Object",,,,,,"King_enemy_activate",
,,,,,"sound_king_angry","SWF",,,,,"Object",,,,,,,
"King_player_die",,,,,"sound_king_player_die","SWF",,,,,"Object",,,,,,"King_enemy_die",
,,,2000,50,,"ParticleEmitter",,,"TargetDummy_planks",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"FireRingEmitter",,"Object",,,,,,,
,,,,250,,"ParticleEmitter",,,"TargetDummy_smoke",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"TowerExplode_rockEmitter",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"KingTower_destroyed_ground",,"Base",,,,,,,
,,,,,,"ParticleEmitter",,,"Big_rock_particle1",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"TargetDummy_planks2",,"Object",,,,,,,
"King_enemy_activate",,,,,"sound_king_enemy_activate","SWF",,,,,"Object",,,,,,,
,,,,,"sound_king_angry","SWF",,,,,"Object",,,,,,,
"King_enemy_die",,,,,"sound_king_enemy_die","SWF",,,,,"Object",,,,,,,
,,,2000,50,,"ParticleEmitter",,,"TargetDummy_planks",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"FireRingEmitter",,"Object",,,,,,,
,,,,250,,"ParticleEmitter",,,"TargetDummy_smoke",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"TowerExplode_rockEmitter",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"KingTower_destroyed_ground",,"Base",,,,,,,
,,,,,,"ParticleEmitter",,,"Big_rock_particle1",,"Object",,,,,,,
,,,,,,"ParticleEmitter",,,"TargetDummy_planks2",,"Object",,,,,,,
"King_attack",,,,,"sound_king_attack","SWF",,,,,"Object",,,,,,,
"chest_landing_gold",,,,,,"SWF",,,,,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"chest_landing_puff",,"Above",,,,,,,
,,,,500,,"ParticleEmitter",,,"chest_landing_goldDust",,"Above",,,,,,,
,,,,500,,"ParticleEmitter",,,"chest_landing_goldDust2",,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"chest_landing_goldFlash",,"Base",,,,,,,
,,,,,,"ParticleEmitter",,,"chest_landing_goldBurst",,"Base",,,,,,,
"chest_landing_magic",,,,,,"SWF",,,,,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"chest_landing_puff",,"Above",,,,,,,
,,,,500,,"ParticleEmitter",,,"chest_landing_magicDust",,"Base",,,,,,,
,,,,,,"ParticleEmitter",,,"chest_landing_magicFlash",,"Base",,,,,,,
,,,,,,"ParticleEmitter",,,"chest_landing_goldFlash",,"Base",,,,,,,
,,,,,,"ParticleEmitter",,,"chest_landing_magicBurst",,"Base",,,,,,,
"chest_landing_wood",,,,,,"SWF",,,,,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"chest_landing_puff",,"Above",,,,,,,
"chest_landing_iron",,,,,,"SWF",,,,,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"chest_landing_puff",,"Above",,,,,,,
,,,,,,"ParticleEmitter",,,"chest_landing_metalHit",,"Base",,,,,,,
"dark_arena_pot_flame",,,,,,"ParticleEmitter",,,"FlameEmitterSlow",,"Above",,100,,,,,
"xp_levelup",,,,,,"SWF",,,,,"Above",,,,,,,
,,,,500,,"ParticleEmitter",,,"xp_levelup_sparks",,"Base",,,,,,,
,,,,,,"ParticleEmitter",,,"xp_levelup_flash",,"Base",,,,,,,
,,,,,,"ParticleEmitter",,,"xp_levelup_burst",,"Base",,,,,,,
"Inferno_continuous","true",,,,,"ParticleEmitter",,,"Inferno_loop1",,"Object",,100,,,,"Inferno_continuous",
,,,,300,,"ParticleEmitter",,,"Inferno_loop1",,"Object",,,,,,,
"GiantSkeleton_Bomb_deploy",,,,,"sound_GiantSkeleton_bomb_deploy","SWF",,,,,"Object",,,,,,,
"GiantSkeleton_Bomb_die",,,,,"sound_GiantSkeleton_bomb_die","Effect","sc/effects.sc","MegaBombExplode",,,"Object",,,,,,,
"Balloon_Bomb_deploy",,,,,"sound_Balloon_Bomb_deploy","SWF",,,,,"Object",,,,,,,
"Balloon_Bomb_die",,,,,"sound_Balloon_Bomb_die","Effect","sc/effects.sc","MegaBombExplode",,,"Object",,,,,,,
1 Name Loop FollowParent ShakeScreen Time Sound Type FileName ExportName ParticleEmitterName Effect Layer FlashColor Scale FlashDuration TextInstanceName TextParentInstanceName EnemyVersion FlashWidth
2 string boolean boolean int int string string string string string string string int int int string string string int
3 upgradeCard_start sound_upgradeCard_start SWF Above
4 ParticleEmitter ArcherTower_particle1 Above
5 upgradeCard_ready sound_upgradeCard_ready SWF Above
6 ParticleEmitter Card_upgraded_effect1 Above
7 ParticleEmitter Card_upgrade_effect2 Above
8 3200 ParticleEmitter Card_upgrade_effect2 Above
9 6400 ParticleEmitter Card_upgrade_effect2 Above
10 9600 ParticleEmitter Card_upgrade_effect2 Above
11 ParticleEmitter Card_upgrade_effect3 Above
12 upgradeCard_stat_appear sound_upgradeCard_stat_appear SWF Above
13 upgradeCard_stat_change sound_upgradeCard_stat_change SWF Above
14 openChest_wood sound_openChest_wood SWF Above
15 openChest_iron sound_openChest_iron SWF Above
16 openChest_gold sound_openChest_gold SWF Above
17 openChest_magical sound_openChest_magical SWF Above
18 openChest_star sound_openChest_star SWF Above
19 openChest_get_gold sound_openChest_get_gold SWF Above
20 ParticleEmitter openChest_common_effect_smoke Base
21 openChest_get_gem sound_openChest_get_gem SWF Above
22 ParticleEmitter openChest_common_effect_smoke Base
23 openChest_get_common sound_openChest_get_common SWF Above
24 ParticleEmitter openChest_common_effect_smoke Base
25 openChest_get_rare sound_openChest_get_rare SWF Above
26 ParticleEmitter openChest_get_rare Object
27 ParticleEmitter openChest_common_effect_smoke Base
28 openChest_get_epic sound_openChest_get_epic SWF Above
29 ParticleEmitter openChest_epic_stars2 Above
30 openChest_loop_gold sound_openChest_loop_gold SWF Above
31 openChest_loop_gem sound_openChest_loop_gem SWF Above
32 openChest_loop_common sound_openChest_loop_common SWF Above
33 openChest_loop_rare true sound_openChest_loop_rare SWF Above
34 ParticleEmitter BlueSparksEmitter Base
35 openChest_loop_epic true sound_openChest_loop_epic SWF Above
36 ParticleEmitter openChest_epic_loop1 Object
37 musketeer_deploy sound_musketeer_deploy SWF Object 100
38 sound_musketeer_deploy_end SWF Object
39 Effect Deploy_ground_fX_mediumSize Base
40 musketeer_steps sound_musketeer_steps SWF Ground 100
41 musketeer_attack sound_musketeer_attack SWF Object 100
42 musketeer_attack_start sound_musketeer_attack_start SWF Object 100
43 musketeer_hit sound_musketeer_hit SWF Object 100
44 musketeer_target sound_musketeer_target SWF Above 100
45 musketeer_die sound_musketeer_die Effect sc/effects.sc RoundExplosion Death_sparkle_still1 Death_player Object 100
46 goblin_barrel_explosion sound_goblin_barrel_explosion ParticleEmitter TargetDummy_planks Above
47 ParticleEmitter BlueSparkEmitter Object
48 ParticleEmitter catapult_rock_Emitter Object
49 ParticleEmitter TargetDummy_planks2 Above
50 ParticleEmitter knight_deploy_dustPuff2 Base
51 goblin_barrel_spawn sound_goblin_barrel_spawn SWF Object
52 Deployment_timer_1s SWF sc/effects.sc troopDeployTimer_1s Above Deployment_timer_1s_enemy
53 Deployment_timer_1s_enemy SWF sc/effects.sc troopDeployTimer_1s_enemy Above
54 Deployment_timer_2s SWF sc/effects.sc troopDeployTimer_2s Above Deployment_timer_2s_enemy
55 Deployment_timer_2s_enemy SWF sc/effects.sc troopDeployTimer_2s_enemy Above
56 Deployment_timer_3s SWF sc/effects.sc troopDeployTimer_3s Above Deployment_timer_3s_enemy
57 Deployment_timer_3s_enemy SWF sc/effects.sc troopDeployTimer_3s_enemy Above
58 get_star_player sound_get_star_player Effect sc/effects.sc RoundExplosion Death_sparkle_still1 Death_player Object 100
59 get_star_enemy sound_get_star_enemy Effect sc/effects.sc RoundExplosion Death_sparkle_still1 Death_player Object 100
60 knight_deploy sound_knight_deploy SWF Object 100
61 sound_knight_deploy_end SWF Object
62 Effect knight_deploy_dustPuff2 Deploy_ground_fX_mediumSize Object
63 60
64 60
65 60
66 knight_steps sound_knight_steps ParticleEmitter knight_speps_dust1 Ground 100
67 knight_attack_start sound_knight_attack_start Effect Object 100
68 knight_hit sound_knight_hit SWF Object 100
69 knight_target sound_knight_target SWF Above 100
70 knight_die sound_knight_die Effect sc/effects.sc RoundExplosion Death_sparkle_still1 Death_player Object 100
71 ParticleEmitter knight_deploy_dustPuff1 Object 100
72 ParticleEmitter knight_die_particle_sword Object 100
73 100
74 spear_goblin_deploy sound_spear_goblin_deploy SWF Object 100
75 spear_goblin_steps sound_spear_goblin_steps SWF Ground 100
76 spear_goblin_attack_start sound_spear_goblin_attack_start SWF Object 100
77 spear_goblin_attack sound_spear_goblin_attack SWF Object 100
78 spear_goblin_die Effect sc/effects.sc RoundExplosion Death_sparkle_still1 Death_player Object 100
79 sound_spear_goblin_die SWF Object
80 spear_goblin_projectile_hit sound_spear_goblin_projectile_hit SWF Object
81 barbarian_deploy sound_barbarian_deploy SWF Object 100
82 Effect Deploy_ground_fX_mediumSize Base
83 barbarian_steps sound_barbarian_steps SWF Ground 100
84 barbarian_attack_start sound_barbarian_attack_start SWF Object 100
85 barbarian_hit sound_barbarian_hit SWF Object 100
86 barbarian_target sound_barbarian_target SWF Above 100
87 barbarian_die Effect sc/effects.sc RoundExplosion Death_sparkle_still1 Death_player Object 100
88 sound_barbarian_die SWF Object
89 goblins_deploy sound_goblins_deploy SWF Explosion Pilar Object 100
90 goblins_steps true sound_goblins_steps SWF Ground 100
91 goblins_attack_start true sound_goblins_attack_start SWF Object 100
92 goblins_hit sound_goblins_hit SWF Object 100
93 goblins_die Effect sc/effects.sc RoundExplosion Death_sparkle_still1 Death_player Object 100
94 sound_goblins_die SWF Object
95 giant_skeleton_deploy sound_giant_skeleton_deploy SWF giant_deploy_dustPuff Object 100 giant_skeleton_deploy_enemy
96 Effect Deploy_ground_fx_largeSize Base
97 giant_skeleton_deploy_enemy sound_giant_skeleton_deploy SWF giant_deploy_dustPuff Object 100
98 Effect Deploy_ground_fx_largeSize Base
99 giant_skeleton_steps sound_giant_skeleton_steps SWF Ground 100
100 giant_skeleton_attack_start sound_giant_skeleton_attack_start SWF Object 100
101 giant_skeleton_hit sound_giant_skeleton_hit SWF Object 100
102 ParticleEmitter giant_hit_sparks Above
103 25 ParticleEmitter giant_hit_puff1 Object
104 ParticleEmitter sc/effects.sc giant_hit_blow giant_hitpuff2 Object
105 giant_skeleton_die sound_giant_skeleton_die Effect sc/effects.sc RoundExplosion Death_sparkle_still1 death_giant1 Object 100 giant_die_enemy
106 giant_deploy sound_giant_deploy SWF giant_deploy_dustPuff Object 100 giant_deploy_enemy
107 Effect Deploy_ground_fx_largeSize Base
108 giant_deploy_enemy sound_giant_deploy SWF giant_deploy_dustPuff Object 100
109 Effect Deploy_ground_fx_largeSize Base
110 giant_steps sound_giant_steps SWF Ground 100
111 giant_attack_start sound_giant_attack_start SWF Object 100
112 giant_hit sound_giant_hit SWF Object 100
113 ParticleEmitter giant_hit_sparks Above
114 25 ParticleEmitter giant_hit_puff1 Object
115 ParticleEmitter sc/effects.sc giant_hit_blow giant_hitpuff2 Object
116 giant_die sound_giant_die Effect sc/effects.sc RoundExplosion Death_sparkle_still1 death_giant1 Object 100 giant_die_enemy
117 giant_die_enemy sound_giant_die Effect sc/effects.sc RoundExplosion Death_sparkle_still1 death_giant1 Object 100
118 death_giant1 sound_generic_death ParticleEmitter giant_death_elixir_burst1 Object
119 ParticleEmitter sc/effects.sc BloodCloud giant_death_puff1 Object
120 ParticleEmitter sc/effects.sc BloodCloud giant_death_puff1_shadow Shadow
121 ParticleEmitter sc/effects.sc BloodCloud giant_death_elixir_ground1 Base
122 pekka_deploy sound_pekka_deploy SWF Object 100 pekka_deploy_enemy
123 sound_pekka_deploy_end SWF Object
124 Effect Deploy_ground_fx_largeSize Base
125 pekka_deploy_enemy sound_pekka_deploy SWF Object 100
126 pekka_steps sound_pekka_steps SWF Ground 100
127 pekka_attack_start sound_pekka_attack_start SWF Object 100
128 pekka_hit sound_pekka_hit SWF Object 100
129 pekka_die sound_pekka_die Effect sc/effects.sc RoundExplosion Death_sparkle_still1 Death_player Object 100 pekka_die_enemy
130 pekka_die_enemy sound_pekka_die Effect sc/effects.sc RoundExplosion Death_sparkle_still1 Death_player Object 100
131 baby_dragon_deploy sound_baby_dragon_deploy SWF Object 100
132 sound_baby_dragon_deploy_end SWF Object
133 baby_dragon_steps sound_baby_dragon_steps SWF Ground 100
134 baby_dragon_attack_start sound_baby_dragon_attack_start SWF Object 100
135 baby_dragon_attack sound_baby_dragon_attack SWF Object 100
136 baby_dragon_die Effect sc/effects.sc RoundExplosion Death_sparkle_still1 Death_player Object 100
137 sound_baby_dragon_die SWF Object
138 minion_deploy sound_minion_deploy SWF Object 100
139 minion_steps sound_minion_steps SWF Ground 100
140 minion_attack_start sound_minion_attack_start SWF Object 100
141 minion_attack sound_minion_attack SWF Object 100
142 minion_die Effect sc/effects.sc RoundExplosion Death_sparkle_still1 Death_player Object 100
143 sound_minion_die SWF Object
144 mortar_deploy sound_mortar_deploy SWF Above
145 mortar_turn sound_mortar_turn SWF Above
146 mortar_attack_start sound_mortar_attack_start SWF Above
147 mortar_attack sound_mortar_attack ParticleEmitter cannon_smoke1 Above
148 mortar_hit 350 sound_mortar_hit ParticleEmitter catapult_rock_Emitter Object 60
149 ParticleEmitter catapult_hit_smoke Object 60
150 ParticleEmitter catapult_smokePuff Object 60
151 ParticleEmitter catapult_grass_emitter Ground
152 ParticleEmitter catapult_hit_shadow Shadow
153 mortar_target
154 mortar_die 1000 50 ParticleEmitter TowerExplode_explosion Above
155 50 SWF sc/effects.sc ExplosionBlast Above
156 150 ParticleEmitter TowerExplode_sparks Above
157 sound_mortar_die SWF sc/effects.sc GlowRed Above
158 40 ParticleEmitter towerExplode_Smoke Above
159 150 ParticleEmitter TowerExplode_rockEmitter Object
160 300 ParticleEmitter towerExplode_Smoke Shadow
161 200 ParticleEmitter TowerExplode_smokePuff Above
162 balloon_deploy sound_balloon_deploy SWF Above
163 balloon_turn sound_balloon_turn SWF Above
164 balloon_steps sound_balloon_steps SWF Ground 100
165 balloon_attack_start sound_balloon_attack_start SWF Above
166 balloon_attack sound_balloon_attack ParticleEmitter cannon_smoke1 Above
167 balloon_hit 350 sound_balloon_hit ParticleEmitter catapult_rock_Emitter Object 60
168 ParticleEmitter catapult_hit_smoke Object 60
169 ParticleEmitter catapult_smokePuff Object 60
170 ParticleEmitter catapult_grass_emitter Ground
171 ParticleEmitter catapult_hit_shadow Shadow
172 balloon_target
173 balloon_die sound_balloon_die SWF sc/effects.sc Above
174 ParticleEmitter balloon_die_puff Object
175 ParticleEmitter ballon_die_smoke Above
176 goblin_hut_deploy 250 sound_goblin_hut_deploy ParticleEmitter towerExplode_Smoke Ground
177 250 ParticleEmitter Rock Pieces Emitter Ground
178 goblin_hut_spawn sound_goblin_hut_spawn SWF SmokeBomb_smoke1 Above
179 goblin_hut_loop true sound_goblin_hut_loop ParticleEmitter GoblinHut_smoke Above
180 1000 ParticleEmitter GoblinHut_smoke Above
181 2000 ParticleEmitter GoblinHut_smoke Above
182 3000 ParticleEmitter GoblinHut_smoke Above
183 4000 ParticleEmitter GoblinHut_smoke Above
184 5000 ParticleEmitter GoblinHut_smoke Above
185 goblin_hut_die sound_goblin_hut_die ParticleEmitter Goblin_hut_woodExplosion Object
186 ParticleEmitter TargetDummy_planks2 Object
187 ParticleEmitter TowerExplode_smokePuff Base
188 witch_deploy sound_witch_deploy SWF Object 100
189 Effect Deploy_ground_fX_mediumSize Base
190 witch_steps sound_witch_steps SWF Ground 100
191 witch_attack_start sound_witch_attack_start SWF Object 100
192 witch_hit sound_witch_hit SWF Object 100
193 witch_die Effect sc/effects.sc RoundExplosion Death_sparkle_still1 Death_player Object 100
194 sound_witch_die SWF Object
195 witch_deploy_skeleton sound_witch_deploy_skeleton SWF Explosion Pilar Object 100
196 bomber_deploy sound_bomber_deploy SWF Explosion Pilar Object 100
197 sound_bomber_deploy_end SWF Object
198 bomber_steps true sound_bomber_steps SWF Ground 100
199 bomber_attack true sound_bomber_attack SWF Object 100
200 bomber_attack_start true sound_bomber_attack_start SWF Object 100
201 bomber_hit sound_bomber_hit SWF Object 100
202 bomber_die Effect sc/effects.sc RoundExplosion Death_sparkle_still1 Death_player Object 100
203 sound_bomber_die SWF Object
204 skeleton_deploy sound_skeleton_deploy SWF Explosion Pilar Object 100
205 skeleton_steps true sound_skeleton_steps SWF Ground 100
206 skeleton_attack_start true sound_skeleton_attack_start SWF Object 100
207 skeleton_hit sound_skeleton_hit SWF Object 100
208 skeleton_die Effect sc/effects.sc RoundExplosion Death_sparkle_still1 Death_player Object 100
209 sound_skeleton_die SWF Object
210 golem_deploy sound_golem_deploy SWF Object 100 golem_deploy_enemy
211 golem_deploy_enemy sound_golem_deploy SWF Object 100
212 golem_steps sound_golem_steps SWF Ground 100
213 golem_attack_start sound_golem_attack_start SWF Object 100
214 golem_hit sound_golem_hit SWF Object 100
215 golem_die 200 sound_golem_die ParticleEmitter towerExplode_Smoke Object 100 golem_die_enemy
216 ParticleEmitter Small_rock_particle1 Object
217 Effect Death_player Object
218 SWF sc/effects.sc RoundExplosion Object
219 golem_die_enemy 200 sound_golem_die ParticleEmitter towerExplode_Smoke Object 100
220 ParticleEmitter Small_rock_particle1 Object
221 Effect Death_player Object
222 SWF sc/effects.sc RoundExplosion Object
223 valkyrie_deploy sound_valkyrie_deploy SWF Object 100
224 sound_valkyrie_deploy_end SWF Object
225 Effect Deploy_ground_fX_mediumSize Base
226 valkyrie_steps sound_valkyrie_steps SWF Ground 100
227 valkyrie_attack_start sound_valkyrie_attack_start SWF Object 100
228 valkyrie_hit sound_valkyrie_hit SWF Object 100
229 valkyrie_target sound_valkyrie_target SWF Above 100
230 valkyrie_die Effect sc/effects.sc RoundExplosion Death_sparkle_still1 Death_player Object 100
231 sound_valkyrie_die SWF Object
232 replay_drag ParticleEmitter touch_sparkle1 Above replay_drag_enemy
233 replay_drag_enemy ParticleEmitter touch_sparkle2 Above
234 dragon_deploy sound_dragon_deploy SWF Object 100
235 dragon_steps sound_dragon_steps SWF Ground 100
236 dragon_attack_start sound_dragon_attack_start SWF Object 100
237 dragon_attack sound_dragon_attack SWF Object 100
238 dragon_hit sound_dragon_projectile_hit SWF Object 100
239 ParticleEmitter dragon_hit_sparks Base
240 ParticleEmitter dragon_fire_hit Object
241 ParticleEmitter dragon_hit_smoke Object
242 dragon_die Effect sc/effects.sc RoundExplosion Death_sparkle_still1 Death_player Object 100
243 sound_dragon_die SWF Object
244 Dragon_Emitter true true ParticleEmitter DragonEmitterTrail Above 50
245 ParticleEmitter dragon_trail_glow Object
246 tesla_deploy sound_tesla_deploy SWF Above
247 tesla_up sound_tesla_up SWF Above
248 tesla_down sound_tesla_down SWF Above
249 tesla_attack_start sound_tesla_attack_start SWF Above
250 Tesla_beam sound_tesla_attack SWF sc/effects.sc tesla_beam Above 80
251 tesla_hit_effect true sound_tesla_hit ParticleEmitter tesla_hit_spark Object 70
252 ParticleEmitter tesla_spot_hit Ground
253 ParticleEmitter tesla_smoke_hit Above
254 150 ParticleEmitter tesla_electric_hit Above
255 tesla_target sound_tesla_target
256 tesla_die Effect sc/effects.sc RoundExplosion Death_sparkle_still1 Death_player Object
257 Boulder impact SWF Object
258 chr_wizard_deploy sound_chr_wizard_deploy SWF Explosion Pilar Object 100
259 chr_wizard_steps true sound_chr_wizard_steps SWF Ground 100
260 chr_wizard_attack true sound_chr_wizard_attack SWF Object 100
261 chr_wizard_attack_start sound_chr_wizard_attack_start SWF Object 100
262 chr_wizard_target sound_chr_wizard_target SWF Above 100
263 chr_wizard_projectile_hit sound_chr_wizard_projectile_hit ParticleEmitter chr_wiz_hit_sparks Object 100
264 ParticleEmitter chr_wiz_hit_fire Object
265 ParticleEmitter chr_wiz_hit_smoke Object
266 chr_wizard_hit sound_chr_wizard_hit SWF Object 100
267 chr_wizard_die Effect sc/effects.sc RoundExplosion Death_sparkle_still1 Death_player Object 100
268 sound_chr_wizard_die SWF Object
269 mini_pekka_deploy sound_minipekka_deploy SWF Object 100 pekka_deploy_enemy
270 sound_minipekka_deploy_end SWF Object
271 Effect Deploy_ground_fx_largeSize Base
272 mini_pekka_deploy_enemy sound_minipekka_deploy SWF Object 100
273 mini_pekka_steps sound_minipekka_steps SWF Ground 100
274 mini_pekka_attack_start sound_minipekka_attack_start SWF Object 100
275 mini_pekka_hit sound_minipekka_hit SWF Object 100
276 mini_pekka_die sound_minipekka_die Effect sc/effects.sc RoundExplosion Death_sparkle_still1 Death_player Object 100 pekka_die_enemy
277 mini_pekka_die_enemy sound_minipekka_die Effect sc/effects.sc RoundExplosion Death_sparkle_still1 Death_player Object 100
278 hog_rider_deploy sound_hog_rider_deploy SWF Object 100
279 Effect Deploy_ground_fX_mediumSize Base
280 hog_rider_steps sound_hog_rider_steps SWF Ground 100
281 hog_rider_attack_start sound_hog_rider_attack_start SWF Object 100
282 hog_rider_hit sound_hog_rider_hit SWF Object 100
283 hog_rider_target sound_hog_rider_target SWF Above 100
284 hog_rider_die Effect sc/effects.sc RoundExplosion Death_sparkle_still1 Death_player Object 100
285 sound_hog_rider_die SWF Object
286 hog_rider_landing sound_hog_rider_landing SWF Object
287 ParticleEmitter knight_deploy_dustPuff1 Ground
288 ParticleEmitter knight_depoy_dustShadow Shadow 60
289 ParticleEmitter knight_deploy_dustPuff2 Object 60
290 tombstone_deploy 250 sound_tombstone_deploy ParticleEmitter towerExplode_Smoke Ground
291 250 ParticleEmitter Rock Pieces Emitter Ground
292 tombstone_spawn sound_tombstone_spawn SWF SmokeBomb_smoke1 Above
293 tombstone_die sound_tombstone_die ParticleEmitter Goblin_hut_woodExplosion Object
294 ParticleEmitter TargetDummy_planks2 Object
295 ParticleEmitter TowerExplode_smokePuff Base
296 MAGIC3 EFFECTS ABOVE
297 SCROLL EFFECTS BELOW
298 Growth Growth SWF Object
299 HotCoals Hot coals appear ParticleEmitter HotHoals1 Object 85
300 ParticleEmitter FireRingEmitter Object
301 250 ParticleEmitter BlueSparksEmitter Object
302 2 ParticleEmitter SmokePuff Object
303 HotCoals_loop true Hot coals loop ParticleEmitter HotHoals_loop Base
304 ParticleEmitter HotCoals_loop2 Base
305 ParticleEmitter HotCoals_sparks Base
306 ParticleEmitter HotCoals_loop4 Base
307 ParticleEmitter HotCoals_darken Base
308 ParticleEmitter HotCoals_darken2 Base
309 Charge_active Get gold SWF sc/effects.sc get_gold Above txt resource
310 GetGold Get gold SWF sc/effects.sc get_gold Above txt resource
311 GetMana get mana SWF sc/effects.sc get_mana Above txt resource
312 Damage SWF sc/level.sc effect_Hit1 Object 100
313 Root true Root SWF sc/effects.sc spell_root_base Ground
314 250 SWF sc/effects.sc spell_root_front Object
315 ParticleEmitter RootRocks1 RootRocks1 Ground
316 ParticleEmitter SewerSteam Above
317 10 ParticleEmitter SewerSteam Above
318 FireballSpell 1000 70 ParticleEmitter SparkEmitter1 Object 100
319 Fire ball explo SWF sc/effects.sc ExplosionBlast Object
320 100 ParticleEmitter SparkEmitter1 Object
321 SWF sc/effects.sc ExplosionGroundGlowSlowOut Ground
322 SWF sc/effects.sc ExplosionGroundGlow Ground
323 SWF sc/effects.sc ExplosionBlast Above
324 ParticleEmitter SmokeEmitter Object
325 ScreenFlash Ground 1694485504
326 ParticleEmitter FireRingEmitter Object
327 SWF sc/effects.sc Explosion Object
328 MeteorExplosion Fireball explodes SWF sc/level.sc MeteorExplosion Object 100
329 Immunity true SWF sc/level.sc immunity Above 100
330 Vulnerability true SWF sc/level.sc vulnerability Above 100
331 Healing true SWF sc/level.sc effect_heal Object 100
332 DeathEffect SWF sc/characters.sc death_animation Ground 100
333 Invisibility true Invisibility SWF Object 100
334 MindControl true MindControl SWF Object 100
335 CharacterDeploy true CharacterDeploy SWF Object 50
336 Protection true Protection SWF sc/level.sc effect_protection Object 100
337 damage_burn true true SWF sc/level.sc effect_burn Object 100
338 Explosion SWF sc/effects.sc SlamShockAnim SmokeEmitter Ground 100
339 SWF sc/effects.sc SlamFlashAnim Object 100
340 ScreenFlash Ground -251605914 100
341 HitEffect1 true 20 SWF sc/effects.sc HitFlashFx Object 100
342 SWF sc/effects.sc hitFx Object 100
343 10 ParticleEmitter BloodSpatter1 Object 100
344 ObjectClick1 Filter sc/effects.sc ObjectClick Ground 100
345 Cast_RainOfArrows Arrow fire ParticleEmitter Above
346 Cast_FireRainOfArrows Fire arrow ParticleEmitter Above
347 ArrowHitGround Arrow volley hit ParticleEmitter Arrows Hit Ground Ground 100
348 FireArrowHitGround true Arrow hit ground ParticleEmitter Arrows Hit Ground Ground 100
349 ParticleEmitter FlameEmitter Object
350 ParticleEmitter FlameEmitter_small Object
351 10 ParticleEmitter Black_spot Ground
352 FireArrowProjectileEmitter true ParticleEmitter FlameArrowEmitter_small Above 50
353 ArrowHit Arrow hit SWF Ground 100
354 SmokeArea true Smoke ParticleEmitter SmokeBomb_smoke1 Above
355 true 100 ParticleEmitter SmokeBomb_smoke2 Above
356 200 ParticleEmitter SmokeBomb_smoke3 Above
357 TowerDeploy
358 TowerIdle
359 TowerFire Tower Attack ParticleEmitter Tower_fire_glow1 Above 100
360 ParticleEmitter Tower_fire_particles1 Above
361 ParticleEmitter Tower_fire_particles2 Above
362 TowerStartFire ParticleEmitter Tower_fire_particles1 Above
363 ParticleEmitter Tower_fire_glow1 Above
364 TowerProjectileHit Tower Hit SWF sc/effects.sc ExplosionGroundGlowBlue Above 35
365 130 SWF sc/effects.sc ElectricLightning Above
366 SWF sc/effects.sc ElectricGlowBall Above
367 TowerExplode 1000 50 ParticleEmitter TargetDummy_planks Object
368 ParticleEmitter FireRingEmitter Object
369 250 ParticleEmitter TargetDummy_smoke Object
370 ParticleEmitter TowerExplode_rockEmitter Object
371 ParticleEmitter Tower_destroyed_ground Base
372 ParticleEmitter Big_rock_particle1 Object
373 ParticleEmitter TargetDummy_planks2 Object
374 TowerPlayerLoop true SWF sc/effects.sc GlowRed Shadow
375 ParticleEmitter Tower_continuous_particles1 Above
376 CrowdTowerTakeDamage sound_tower_take_damage Effect Object CrowdTowerTakeDamageEnemy
377 CrowdTowerTakeDamageEnemy sound_tower_take_damage_enemy Effect Object
378 CrowdSummonBigUnit sound_summon_own_big Effect Object CrowdSummonBigUnitEnemy
379 CrowdSummonBigUnitEnemy sound_summon_enemy_big Effect Object
380 CrowdDieBigUnit sound_summon_own_big_die Effect Object CrowdDieBigUnitEnemy
381 CrowdDieBigUnitEnemy sound_summon_enemy_big_die Effect Object
382 FireplaceDeploy Fireplace deploy SWF Object 18
383 FireplaceIdle true Fireplace idle ParticleEmitter Fireplace_emitter Object 18
384 FireplaceAttackStart Fireplace attack start SWF Object 100
385 FireplaceHit Fireplace hit SWF Object 100
386 FireplaceDie Effect sc/effects.sc RoundExplosion Death_sparkle_still1 Death_player Object 100
387 Fireplace die SWF Object
388 FireSpiritDeploy true FireSpirit deploy ParticleEmitter FireSpirit_emitter Object 18
389 FireSpiritSteps FireSpirit steps SWF Ground 100
390 FireSpiritAttackStart FireSpirit attack start SWF Object 100
391 FireSpiritHit FireSpirit hit ParticleEmitter FireRingEmitter Object 30
392 FireSpiritDie ParticleEmitter FlameEmitter Base 100
393 WizardDeploy WizardDeploy SWF Object 100
394 Effect Deploy_ground_fX_mediumSize Base
395 WizardSteps true WizardSteps SWF Ground 100
396 WizardAttackStart WizardAttackStart SWF Object 100
397 WizardProjectileHit WizardProjectileHit SWF Object 100
398 WizardHit WizardHit SWF Object 100
399 WizardTakeDamage WizardTakeDamage Filter sc/level.sc filter_burn Object 50
400 ParticleEmitter Stunner Base
401 WizardDie true WizardDie ParticleEmitter sc/characters.sc death_animation Wizard_die_player_emitter1 Object 100
402 ConstructionDeploy2x2 Construction deploy 2x2 SWF Above 100
403 ConstructionDeploy3x3 Construction deploy 3x3 SWF Above 100
404 ConstructionDestroyed Construction destroyed SWF Above 100
405 GenericBuildingReady Generic building ready SWF Above 100
406 ArcherTowerDeploy ArcherTower deploy SWF Object 100
407 ArcherTowerAttack ArcherTower attack SWF Object 100
408 ArcherTowerTarget ArcherTower target SWF Above 100
409 ArcherTowerDie SWF Ground 100
410 ArcherTower die SWF Object
411 Knight Deploy Knight deploy SWF Object 100
412 Knight Charge Knight Charge SWF Object 100
413 KnightSteps Knight steps SWF Ground 100
414 KnightAttackStart Knight attack start ParticleEmitter Fireplace_emitter Object 100
415 KnightHit Knight hit SWF Object 100
416 KnightTarget Knight target SWF Above 100
417 KnightDie Effect sc/effects.sc RoundExplosion Death_sparkle_still1 Death_player Object 100
418 Ent Big Die SWF Object
419 ArcherDeploy Archer deploy SWF Object 100
420 Effect Deploy_ground_fX_mediumSize Base
421 ArcherSteps Archer steps SWF Ground 100
422 ArcherAttackStart Archer attack start SWF Object 100
423 ArcherAttack Archer attack SWF Object 100
424 ArcherTarget Archer target SWF Above 100
425 ArcherDie Effect sc/effects.sc RoundExplosion Death_sparkle_still1 Death_player Object 100
426 Archer die SWF Object
427 DecoFireplaceLoop true ParticleEmitter Fireplace_particles_loop Above
428 true SWF sc/effects.sc Deco_fireplace_glow Ground
429 ParticleEmitter Fireplace_bouncy_particles_loop Object
430 SWF sc/effects.sc Deco_fireplace_base Ground
431 Background_haze true ParticleEmitter sc/effects.sc Haze1 Object
432 SCROLL EFFECTS ABOVE
433 GUNSHINE EFFECTS BELOW
434 LevelUp true LevelUpWiz SWF sc/effects.sc LevelUpGroundGlow Ground
435 SWF sc/effects.sc LevelUpFx Above
436 ScreenFlash Ground -154
437 Stun 70 ParticleEmitter Stunner Object
438 SWF sc/effects.sc ExplosionGroundGlowBlue Ground
439 130 SWF sc/effects.sc ElectricLightning Object
440 SWF sc/effects.sc ElectricGlowBall Object
441 200 ScreenFlash Ground -1258291201
442 PoisonSteam true ParticleEmitter PoisonSteamer Above
443 Burner true true ParticleEmitter FlameEmitter Object 50
444 Wall Explode 1000 180 ParticleEmitter WallExplosion Above
445 100 SWF sc/effects.sc ExplosionBlast Above
446 250 ParticleEmitter WallExplosionSparks1 Above
447 SWF sc/effects.sc GlowRedBig Above
448 ScreenFlash Ground -13261
449 40 ParticleEmitter Explosion Pilar Above
450 150 ParticleEmitter Rock Pieces Emitter Object
451 300 ParticleEmitter SmokeEmitter Object
452 200 ParticleEmitter SmokePuff Object
453 EndBattle true SWF sc/effects.sc finalBattle_effect Base
454 ParticleEmitter HotCoals_sparks Base
455 GoodTarget true Filter sc/level.sc filter_target Base 100
456 RangeDanger true Filter sc/level.sc filter_enemy Base 100
457 Enemy on range SWF sc/level.sc spot_enemy Above
458 DragEffect true ParticleEmitter DragSparkEmitter Base
459 SpellCasting SpellCasting ParticleEmitter HotCoals_sparks Object
460 Fireball_explosion 800 100 ParticleEmitter explosion_base Ground 85
461 Fire ball explo ParticleEmitter Fireball_explosion_smoke Object
462 ParticleEmitter sc/effects.sc explosion_glow1 Fireball_explosion_glow Object
463 ParticleEmitter sc/effects.sc explosion_glow1 Fireball_explosion_sparks Object
464 ParticleEmitter sc/effects.sc darken_gradient explosion_lava Base
465 10 ParticleEmitter explosion_gradients Base
466 ParticleEmitter explosion_shadow Shadow
467 ParticleEmitter explosion_fire Object
468 300 ParticleEmitter explosion_continousFire Base
469 ParticleEmitter explosion_glow Above
470 Generic_death ParticleEmitter Death_sparkle Object
471 ParticleEmitter Death_sparkle_still1 Ground
472 ParticleEmitter death_sparkle_still2 Object
473 ParticleEmitter sc/effects.sc BloodCloud Fireball_explosion_glow Object
474 ParticleEmitter sc/effects.sc BloodCloud Death_blue_smoke_shadow Shadow
475 TargetDummy_die ParticleEmitter TargetDummy_planks Object
476 ParticleEmitter TargetDummy_planks2 Object
477 ParticleEmitter TargetDummy_smoke Object
478 Effect sc/effects.sc RoundExplosion Death_sparkle_still1 Death_player Object
479 ArcherTower_continuousEffect true SWF sc/effects.sc RoundExplosion Shadow
480 ExplosiveBarrel_continuous true ParticleEmitter ExplosiveBarrel_cont_glow1 Object
481 ParticleEmitter ExplosiveBarrel_cont_glow2 Object
482 ParticleEmitter ExplosiveBarrel_cont_sparks Object
483 Death_enemy sound_generic_death ParticleEmitter Death_elixir_burst1 Object
484 ParticleEmitter sc/effects.sc BloodCloud Death_enemy_puff Object
485 ParticleEmitter sc/effects.sc BloodCloud Death_blue_smoke_shadow Shadow
486 Death_player sound_generic_death ParticleEmitter Death_elixir_burst1 Object
487 ParticleEmitter sc/effects.sc BloodCloud Death_enemy_puff Object
488 ParticleEmitter sc/effects.sc BloodCloud Death_blue_smoke_shadow Shadow
489 ParticleEmitter sc/effects.sc BloodCloud Death_elixir_ground1 Base
490 ArcherTower_destruction 300 ArcherTower die ParticleEmitter ArcherTower_particle1 Object
491 ParticleEmitter ArcherTower_particle2 Object
492 ParticleEmitter ArcherTower_particle3 Object
493 ParticleEmitter ArcherTower_particle4 Object
494 ParticleEmitter ArcherTower_particles5 Object
495 ParticleEmitter ArcherTower_particle6 Object
496 ParticleEmitter ArcherTower_particle7 Object
497 Effect sc/effects.sc RoundExplosion Death_sparkle_still1 Death_player Object
498 ParticleEmitter ArcherTower_destruction_smoke Object
499 ParticleEmitter ArcherTower_destruction_smoke_shadow Shadow
500 ParticleEmitter ArcherTower_destroyed Base
501 ParticleEmitter AercherTower_particleShadows Shadow
502 ExplosiveBarrel_explosion 800 100 ParticleEmitter explosion_base Ground 85
503 Explosive Barrel explosion ParticleEmitter Fireball_explosion_smoke Object
504 ParticleEmitter sc/effects.sc explosion_glow1 Fireball_explosion_glow Object
505 ParticleEmitter sc/effects.sc explosion_glow1 Fireball_explosion_sparks Object
506 ParticleEmitter sc/effects.sc darken_gradient explosion_lava Base
507 10 ParticleEmitter explosion_gradients Base
508 ParticleEmitter explosion_shadow Shadow
509 ParticleEmitter explosion_fire Object
510 300 ParticleEmitter explosion_continousFire Base
511 ParticleEmitter explosion_glow Above
512 ExplosiveBarrel_deploy ExplosiveBarrel deploy SWF Object
513 Projectile_rocket_emitter true true ParticleEmitter Projectile_rocket_emitter1 Above
514 RocketTower_attack true RocketTower attack ParticleEmitter RocketTower_emitter1 Above
515 1 ParticleEmitter RocketTower_smoke1 Above
516 ParticleEmitter RocketTower_emitter2 Above
517 ParticleEmitter Musketeer_glow Above
518 RocketTower_destruction 300 RocketTower destruction ParticleEmitter ArcherTower_particle1 Object
519 ParticleEmitter ArcherTower_particle2 Object
520 ParticleEmitter ArcherTower_particle3 Object
521 ParticleEmitter ArcherTower_particle4 Object
522 ParticleEmitter ArcherTower_particles5 Object
523 ParticleEmitter ArcherTower_particle6 Object
524 ParticleEmitter ArcherTower_particle7 Object
525 Effect sc/effects.sc RoundExplosion Death_sparkle_still1 Death_player Object
526 ParticleEmitter ArcherTower_destruction_smoke Object
527 ParticleEmitter ArcherTower_destruction_smoke_shadow Shadow
528 ParticleEmitter AercherTower_particleShadows Shadow
529 ParticleEmitter RocketTower_destroyed_base Base
530 Beartrap_die BearTrapAttack SWF Object
531 cannon_fire_projectile Cannon Fire ParticleEmitter cannon_glow_top Above 1
532 ParticleEmitter cannon_smoke1 Above
533 ParticleEmitter cannon_firePareticles Object
534 ParticleEmitter cannon_glow Object
535 ParticleEmitter cannon_smoke_shadow Shadow
536 cannon_hit true ParticleEmitter cannon_hit_rock_emiter Object 100
537 ParticleEmitter cannon_hit_smokePuff Object 60
538 60
539 Cannon_deploy Cannon Deploy SWF Above
540 Cannon_die Effect sc/effects.sc RoundExplosion Death_sparkle_still1 Death_player Object
541 Boulder impact SWF Object
542 Tower_projectile_emitter true true ParticleEmitter Tower_projectile_trail1 Object
543 Fear_deploy PanicSpell ParticleEmitter sc/effects.sc Fear_face Fear_face_emitter Object
544 ParticleEmitter sc/effects.sc Fear_face Fear_face_emitter_shadow Shadow
545 ParticleEmitter SmokePuff Object
546 BearTrap_deploy BearTrapDeploy SWF Base
547 Character_marker_player SWF Base Character_marker_enemy
548 Character_marker_enemy SWF Base
549 piper_attack_effect true ParticleEmitter piper_attack_emmiter Object
550 piper_hit true ParticleEmitter piper_hit_emmiter Object 100
551 Character_move_target_marker_player true true SWF sc/effects.sc wizard_roundBase_player Base Character_move_target_marker_enemy
552 Character_move_target_marker_enemy true true SWF sc/effects.sc wizard_roundBase_enemy Base
553 FireballEmitter true true ParticleEmitter FireballEmitterTrail Object 50
554 ParticleEmitter fireball_trial_spark Above
555 ParticleEmitter fireball_trail_glow Above
556 rocketTowerHit ParticleEmitter sc/effects.sc SlamShockAnim rocketTowerHitsmoke Above 100
557 ParticleEmitter sc/effects.sc ExplosionBlast RocketTower_fireworks Above 100
558 SWF sc/effects.sc Deco_small_glow Base 100
559 ParticleEmitter rocketTower_fireworks2 Object
560 ParticleEmitter rocketTower_sparks Object
561 Death_elixir_player ParticleEmitter Death_elixir_burst1 Object
562 Clouds1 true ParticleEmitter Clouds_move1 Above
563 SWF sc/effects.sc Overlay_glow Above
564 SWF sc/effects.sc Overlay_darken Above
565 Player_units_glow true true Enemy_units_glow
566 Enemy_units_glow true SWF sc/ui.sc troop_glow_red Base
567 Troop_side Troop_side_enemy
568 Troop_side_enemy true SWF sc/ui.sc troop_glow_red Base
569 Spell_rage_ground SWF sc/effects.sc rage_effect_ground Base
570 Spell_rage_effect sound_rage_effect ParticleEmitter Spell_rage_smoke1 Object
571 ParticleEmitter Spell_rage_smoke2 Object
572 ParticleEmitter Spell_rage_glowFast Above
573 ParticleEmitter Spell_rage_sparckle1 Object
574 Spell_rage_hit_effect true true
575 Spell_rage_loop true ParticleEmitter Spell_rage_sparkle1_loop Object
576 EnemyGenericDie sound_enemy_die_jingle Effect Object
577 GenericDie sound_own_die_jingle Effect Object EnemyGenericDie
578 inferno_beam_lvl1 true inferno_loop SWF sc/effects.sc inferno_beam Above 170
579 inferno_beam_lvl2 true inferno_loop SWF sc/effects.sc inferno_beam_stage2 Above 170
580 inferno_beam_lvl3 true inferno_loop SWF sc/effects.sc inferno_beam_stage3 Above 170
581 inferno_hit_effect true ParticleEmitter inferno_hit_sparks Object 70
582 SWF sc/effects.sc inferno_hit_lines Object
583 SWF sc/effects.sc inferno_hit Object
584 inferno_muzzle true SWF sc/effects.sc inferno_shoot Above -1
585 inferno_stage2_root true SWF sc/effects.sc inferno_stage2_root Object
586 ParticleEmitter inferno_stage2_sparks Base
587 inferno_stage3_root true SWF sc/effects.sc inferno_stage3_root Object
588 ParticleEmitter inferno_stage3_sparks Base
589 inferno_muzzle_stage2 true SWF sc/effects.sc inferno_shoot_st2 Above -1
590 ParticleEmitter inferno_stage2_peak_flame Above
591 inferno_muzzle_stage3 true SWF sc/effects.sc inferno_shoot_st3 Above -1
592 ParticleEmitter inferno_stage3_peak_flame Above
593 BombTower_die 400 50 sound_bomb_tower_die ParticleEmitter TargetDummy_planks Object
594 ParticleEmitter FireRingEmitter Object
595 250 ParticleEmitter TargetDummy_smoke Object
596 ParticleEmitter TargetDummy_planks2 Object
597 BombTower_projectile_hit sound_BombTower_projectile_hit ParticleEmitter FireRingEmitter Object
598 ParticleEmitter BlueSparkEmitter Object
599 ParticleEmitter cannon_glow Above
600 ParticleEmitter BombTower_hit_flame Object
601 ParticleEmitter HitEffectParticles Object
602 Rocket_Emitter true true ParticleEmitter Rocket_Emitter_Smoketrail Object 50
603 ParticleEmitter Rocket_Emitter_Sparks Above
604 ParticleEmitter Rocket_Emitter_Glow Above
605 800 ParticleEmitter Rocket_Emitter_Smoketrail Object
606 Rocket_explosion 1500 sound_rocket_explosion ParticleEmitter Fireball_explosion_smoke Object 100
607 ParticleEmitter sc/effects.sc explosion_glow1 Fireball_explosion_glow Object
608 ParticleEmitter sc/effects.sc explosion_glow1 Fireball_explosion_sparks Object
609 10 ParticleEmitter explosion_gradients Base
610 ParticleEmitter explosion_shadow Shadow
611 ParticleEmitter explosion_fire Object
612 300 ParticleEmitter explosion_continousFire Base
613 ParticleEmitter explosion_glow Above
614 Rocket_spawn
615 sound_rocket_spawn
616 Spell_freeze_loop true ParticleEmitter Spell_freeze_snowflake1_loop Object
617 ParticleEmitter Spell_freeze_snowflake2_loop Object
618 Spell_freeze_ground SWF sc/effects.sc freeze_effect_ground Base
619 Spell_freeze_cast sound_freeze_deploy Effect Above
620 level_up_hud ParticleEmitter Death_sparkle_still1 Above replay_drag_enemy
621 summoner_attack Cannon Fire ParticleEmitter cannon_glow_top Above 1
622 ParticleEmitter cannon_smoke1 Above
623 ParticleEmitter cannon_firePareticles Object
624 ParticleEmitter cannon_glow Object
625 KingTowerExplode 2000 50 ParticleEmitter TargetDummy_planks Object
626 ParticleEmitter FireRingEmitter Object
627 250 ParticleEmitter TargetDummy_smoke Object
628 ParticleEmitter TowerExplode_rockEmitter Object
629 ParticleEmitter KingTower_destroyed_ground Base
630 ParticleEmitter Big_rock_particle1 Object
631 ParticleEmitter TargetDummy_planks2 Object
632 Spell_lightning_effect 1000 200 sound_musketeer_attack ParticleEmitter Spell_ligntning_smoke1 Object
633 200 ParticleEmitter Spell_lightning_hitSpot Ground
634 200 ParticleEmitter Spell_lightning_hitSpot2 Above
635 100 ParticleEmitter Spell_lightning_bolt Above
636 50 ParticleEmitter Spell_lightning_sparks Object
637 50 ParticleEmitter Spell_lightning_Flash Ground
638 50 ParticleEmitter Spell_lightning_Rock_debris Base
639 100 ParticleEmitter Spell_lightning_Rock_debris2 Base
640 300 ParticleEmitter Spell_lightning_electric Base
641 Spell_lightning_ground
642 Spell_lightning_cast Effect Above
643 Spell_zap_effect 250 150 sound_spell_zap ParticleEmitter Spell_zap_smoke1 Object
644 200 ParticleEmitter Spell_zap_hitSpot Ground
645 200 ParticleEmitter Spell_zap_hitSpot2 Ground
646 100 ParticleEmitter Spell_zap_bolt Above
647 50 ParticleEmitter Spell_zap_sparks Object
648 50 ParticleEmitter Spell_zap_Flash Ground
649 MegaBombExplodeSkeleton 1000 sound_GiantSkeleton_bomb_die ParticleEmitter MagaBomb_FireRing Object
650 100 ParticleEmitter MegaBomb_explode_smoke Above
651 ParticleEmitter MegaBomb_explode_debris Ground
652 100 ParticleEmitter MegaBomb_destroyed_ground Ground
653 ParticleEmitter MegaBomb_explode_debris2 Ground
654 ParticleEmitter MegaBomb_explosion_glow Object
655 MegaBombExplodeBalloon 1000 sound_Balloon_Bomb_die ParticleEmitter MagaBomb_FireRing Object
656 100 ParticleEmitter MegaBomb_explode_smoke Above
657 ParticleEmitter MegaBomb_explode_debris Ground
658 100 ParticleEmitter MegaBomb_destroyed_ground Ground
659 ParticleEmitter MegaBomb_explode_debris2 Ground
660 ParticleEmitter MegaBomb_explosion_glow Object
661 prince_deploy sound_prince_deploy SWF Object 100
662 sound_prince_deploy_end SWF Object
663 Effect deploy_unit_blue Deploy_ground_fX_mediumSize Base
664 60
665 60
666 60
667 prince_steps sound_prince_steps ParticleEmitter knight_speps_dust1 Ground 100
668 prince_charge_steps sound_prince_charge_steps ParticleEmitter knight_speps_dust1 Ground 100
669 prince_charge sound_prince_charge ParticleEmitter knight_deploy_dustPuff1 Object
670 Filter sc/level.sc filter_protection Base
671 SWF sc/effects.sc effect_charge Above txt charge
672 prince_charge_hit sound_prince_charge_hit SWF Object 100
673 prince_attack_start sound_prince_attack_start Effect Object 100
674 prince_hit sound_prince_hit SWF Object 100
675 prince_target sound_prince_target SWF Above 100
676 prince_die Effect sc/effects.sc RoundExplosion Death_sparkle_still1 Death_player Object 100
677 ParticleEmitter knight_deploy_dustPuff1 Object 100
678 100
679 100
680 prince_charge_symbol true SWF sc/level.sc effect_protection Above
681 Deploy_ground_fX_mediumSize 300 ParticleEmitter knight_deploy_rocks_hitGround Ground 100
682 300 ParticleEmitter knight_deploy_dustPuff1 Ground
683 300 ParticleEmitter knight_depoy_dustShadow Shadow 60
684 300 ParticleEmitter knight_deploy_dustPuff2 Object 60
685 60
686 Deploy_ground_fx_largeSize 300 ParticleEmitter giant_deploy_dustPuff Ground 100 giant_skeleton_deploy_enemy
687 300 ParticleEmitter giant_deploy_rocks_hitGround Ground
688 300 ParticleEmitter giant_deploy_dustPuff_shadow Shadow
689 King_player_activate_training sound_king_player_activate SWF Object King_enemy_activate_training
690 sound_king_angry SWF Object
691 King_enemy_activate_training sound_king_enemy_activate SWF Object
692 sound_king_happy_tower SWF Object
693 King_player_activate sound_king_player_activate SWF Object King_enemy_activate
694 sound_king_angry SWF Object
695 King_player_die sound_king_player_die SWF Object King_enemy_die
696 2000 50 ParticleEmitter TargetDummy_planks Object
697 ParticleEmitter FireRingEmitter Object
698 250 ParticleEmitter TargetDummy_smoke Object
699 ParticleEmitter TowerExplode_rockEmitter Object
700 ParticleEmitter KingTower_destroyed_ground Base
701 ParticleEmitter Big_rock_particle1 Object
702 ParticleEmitter TargetDummy_planks2 Object
703 King_enemy_activate sound_king_enemy_activate SWF Object
704 sound_king_angry SWF Object
705 King_enemy_die sound_king_enemy_die SWF Object
706 2000 50 ParticleEmitter TargetDummy_planks Object
707 ParticleEmitter FireRingEmitter Object
708 250 ParticleEmitter TargetDummy_smoke Object
709 ParticleEmitter TowerExplode_rockEmitter Object
710 ParticleEmitter KingTower_destroyed_ground Base
711 ParticleEmitter Big_rock_particle1 Object
712 ParticleEmitter TargetDummy_planks2 Object
713 King_attack sound_king_attack SWF Object
714 chest_landing_gold SWF Above
715 ParticleEmitter chest_landing_puff Above
716 500 ParticleEmitter chest_landing_goldDust Above
717 500 ParticleEmitter chest_landing_goldDust2 Above
718 ParticleEmitter chest_landing_goldFlash Base
719 ParticleEmitter chest_landing_goldBurst Base
720 chest_landing_magic SWF Above
721 ParticleEmitter chest_landing_puff Above
722 500 ParticleEmitter chest_landing_magicDust Base
723 ParticleEmitter chest_landing_magicFlash Base
724 ParticleEmitter chest_landing_goldFlash Base
725 ParticleEmitter chest_landing_magicBurst Base
726 chest_landing_wood SWF Above
727 ParticleEmitter chest_landing_puff Above
728 chest_landing_iron SWF Above
729 ParticleEmitter chest_landing_puff Above
730 ParticleEmitter chest_landing_metalHit Base
731 dark_arena_pot_flame ParticleEmitter FlameEmitterSlow Above 100
732 xp_levelup SWF Above
733 500 ParticleEmitter xp_levelup_sparks Base
734 ParticleEmitter xp_levelup_flash Base
735 ParticleEmitter xp_levelup_burst Base
736 Inferno_continuous true ParticleEmitter Inferno_loop1 Object 100 Inferno_continuous
737 300 ParticleEmitter Inferno_loop1 Object
738 GiantSkeleton_Bomb_deploy sound_GiantSkeleton_bomb_deploy SWF Object
739 GiantSkeleton_Bomb_die sound_GiantSkeleton_bomb_die Effect sc/effects.sc MegaBombExplode Object
740 Balloon_Bomb_deploy sound_Balloon_Bomb_deploy SWF Object
741 Balloon_Bomb_die sound_Balloon_Bomb_die Effect sc/effects.sc MegaBombExplode Object

View file

@ -0,0 +1,9 @@
"Name","FileName","PlayerExportName","EnemyExportName","NoDamagePlayerExportName","NoDamageEnemyExportName","MinimumHitpointValue","ShowOwnAlways","ShowEnemyAlways","YOffset"
"String","String","String","String","String","String","int","boolean","boolean","int"
"Small","sc/ui.sc","hp_player_small","hp_enemy_small","hp_player_number","hp_enemy_number",0,,"true",
"Minion","sc/ui.sc","hp_player_minion","hp_enemy_minion","hp_player_minion","hp_enemy_minion",,,,
"Medium","sc/ui.sc","hp_player_medium","hp_enemy_medium","hp_player_number","hp_enemy_number",75,,"true",
"Legendary","sc/ui.sc","hp_player_legendary","hp_enemy_legendary","hp_player_number","hp_enemy_number",300,,"true",
"High","sc/ui.sc","hp_player_high","hp_enemy_high","hp_player_number","hp_enemy_number",150,,"true",
"Tower","sc/ui.sc","hp_player_tower_withNumber","hp_enemy_tower_withNumber","hp_player_tower_withNumber","hp_enemy_tower_withNumber",,,"true",
"Summoner","sc/ui.sc","hp_player_wizard","hp_enemy_wizard","hp_player_wizard","hp_enemy_wizard",,"true","true",20
1 Name FileName PlayerExportName EnemyExportName NoDamagePlayerExportName NoDamageEnemyExportName MinimumHitpointValue ShowOwnAlways ShowEnemyAlways YOffset
2 String String String String String String int boolean boolean int
3 Small sc/ui.sc hp_player_small hp_enemy_small hp_player_number hp_enemy_number 0 true
4 Minion sc/ui.sc hp_player_minion hp_enemy_minion hp_player_minion hp_enemy_minion
5 Medium sc/ui.sc hp_player_medium hp_enemy_medium hp_player_number hp_enemy_number 75 true
6 Legendary sc/ui.sc hp_player_legendary hp_enemy_legendary hp_player_number hp_enemy_number 300 true
7 High sc/ui.sc hp_player_high hp_enemy_high hp_player_number hp_enemy_number 150 true
8 Tower sc/ui.sc hp_player_tower_withNumber hp_enemy_tower_withNumber hp_player_tower_withNumber hp_enemy_tower_withNumber true
9 Summoner sc/ui.sc hp_player_wizard hp_enemy_wizard hp_player_wizard hp_enemy_wizard true true 20

View file

@ -0,0 +1,78 @@
"Name","TID","NotBeenInClan","MinNpcWins","MaxNpcWins","MinArena","MaxArena","MinTophies","MaxTrophies","MinExpLevel","MaxExpLevel","iOSTID","AndroidTID"
"String","String","boolean","int","int","int","int","int","int","int","int","String","String"
"welcome message","TID_HINT_WELCOME",,,6,,,,,,,,
"winning condition1","TID_HINT_WINNING_CONDITION1",,2,,,1,,,,,,
"winning condition2","TID_HINT_WINNING_CONDITION2",,2,,,1,,,,,,
"elixir basics1","TID_HINT_ELIXIR_BASICS1",,4,,,1,,,,,,
"elixir basics2","TID_HINT_ELIXIR_BASICS2",,4,,,1,,,,,,
"elixir basics3","TID_HINT_ELIXIR_BASICS3",,4,,,1,,,,,,
"exp level1","TID_HINT_EXP_LEVEL1",,,,2,3,,,,,,
"exp level2","TID_HINT_EXP_LEVEL2",,,,2,3,,,,,,
"battle basics1","TID_HINT_BATTLE_BASICS1",,,,2,3,,,,,,
"battle basics2","TID_HINT_BATTLE_BASICS2",,,,2,3,,,,,,
"join clan","TID_HINT_JOIN_CLAN","TRUE",,,,,,,3,,,
"tv royale","TID_HINT_TV_ROYALE",,,,1,3,,,,,,
"arrows","TID_HINT_ARROWS",,6,,,2,,,,,,
"giant","TID_HINT_GIANT",,6,,,2,,,,,,
"knight and archers","TID_HINT_KIGHT_AND_ARCHERS",,,,1,1,,,,,,
"area damage","TID_HINT_AREA_DAMAGE",,,,2,3,,,,,,
"free chest","TID_HINT_FREE_CHEST",,,,2,3,,,,,,
"match duration","TID_HINT_MATCH_DURATION",,,,1,3,,,,,,
"overtime","TID_HINT_OVERTIME",,,,1,3,,,,,,
"card types","TID_HINT_CARD_TYPES",,,,2,3,,,,,,
"card rarities","TID_HINT_CARD_RARITIES",,,,1,3,,,,,,
"deck basics1","TID_HINT_DECK_BASICS1",,,,2,3,,,,,,
"deck basics2","TID_HINT_DECK_BASICS2",,,,1,1,,,,,,
"achievements","TID_HINT_ACHIEVEMENT_GEMS",,,,,,,,3,6,,
"clan rewards","TID_HINT_DONATE_REWARDS",,,,,,,,3,6,,
"king activation","TID_HINT_KING_ACTIVATION",,,,2,4,,,,,,
"king daughters","TID_HINT_KING_DAUGHTERS",,,,2,3,,,,,,
"story1","TID_HINT_STORY1",,,,3,4,,,,,,
"building lifetime","TID_HINT_BUILDING_LIFETIME",,,,2,4,,,,,,
"crown towers","TID_HINT_TOWER_TARGETING",,,,2,3,,,,,,
"building targeting","TID_HINT_BUILDINGS",,,,2,3,,,,,,
"common max level","TID_HINT_COMMON_MAX_LEVEL",,,,,,,,8,,,
"rare max level","TID_HINT_RARE_MAX_LEVEL",,,,,,,,8,,,
"epic max level","TID_HINT_EPIC_MAX_LEVEL",,,,,,,,8,,,
"card upgrades","TID_HINT_CARD_UPGRADES",,,,1,2,,,,,,
"card unlocks","TID_HINT_CARD_UNLOCKS",,,,2,3,,,,,,
"card shop","TID_HINT_SHOP_CYCLE",,,,1,4,,,,,,
"chest basics1","TID_HINT_CHEST_BASICS1",,,,2,4,,,,,,
"chest basics2","TID_HINT_CHEST_BASICS2",,,,2,4,,,,,,
"chest basics3","TID_HINT_CHEST_BASICS3",,,,2,4,,,,,,
"chest basics4","TID_HINT_CHEST_BASICS4",,,,2,4,,,,,,
"matchmaking","TID_HINT_MATCHMAKING",,,,2,4,,,,,,
"bomb tower","TID_HINT_BOMB_TOWER",,,,2,3,,,,,,
"tank1","TID_HINT_TANK1",,,,2,3,,,,,,
"tank2","TID_HINT_TANK2",,,,2,3,,,,,,
"prince","TID_HINT_PRINCE",,,,2,3,,,,,,
"tesla","TID_HINT_BATTLE_TESLA",,,,4,5,,,,,,
"deploy area","TID_HINT_DEPLOY_AREA",,,,2,3,,,,,,
"taunts","TID_HINT_TAUNTS",,,,2,3,,,,,,
"three crowns","TID_HINT_THREE_CROWNS",,,,3,5,,,,,,
"balloon","TID_HINT_BALLOON",,,,2,4,,,,,,
"double elixir","TID_HINT_DOUBLE_ELIXIR",,,,2,3,,,,,,
"huts","TID_HINT_HUTS",,,,2,3,,,,,,
"tombstone","TID_HINT_TOMBSTONE",,,,2,3,,,,,,
"rage","TID_HINT_RAGE",,,,3,5,,,,,,
"direct damage","TID_HINT_DIRECT_DAMAGE",,,,3,4,,,,,,
"elixir basics4","TID_HINT_MAX_ELIXIR",,,,2,3,,,,,,
"starting hand","TID_HINT_STARTING_HAND",,,,2,3,,,,,,
"crown chest","TID_HINT_CROWN_CHEST",,,,2,4,,,,,,
"pro1","TID_HINT_BATTLE_PRO1",,,,3,,,,,,,
"pro2","TID_HINT_BATTLE_PRO2",,,,3,,,,,,,
"pro3","TID_HINT_BATTLE_PRO3",,,,5,,,,,,,
"pro4","TID_HINT_BATTLE_PRO4",,,,3,5,,,,,,
"pro5","TID_HINT_BATTLE_PRO5",,,,3,,,,,,,
"targeting","TID_HINT_TARGETING",,,,3,5,,,,,,
"inferno","TID_HINT_INFERNO",,,,4,5,,,,,,
"giant skeleton","TID_HINT_GIANT_SKELETON",,,,2,4,,,,,,
"epic sunday","TID_HINT_EPIC_SUNDAY",,,,2,5,,,,,,
"gems from chests","TID_HINT_GEMS_FROM_CHESTS",,,,2,5,,,,,,
"hog rider","TID_HINT_HOG_RIDER",,,,4,,,,,,,
"golem1","TID_HINT_GOLEM1",,,,6,,,,,,,
"golem2","TID_HINT_GOLEM2",,,,6,,,,,,,
"pekkas","TID_HINT_PEKKAS",,,,2,6,,,,,,
"trophy count","TID_HINT_TROPHY_COUNT",,,,3,5,,,,,,
"lightning","TID_HINT_LIGHTNING",,,,2,4,,,,,,
"bomber","TID_HINT_BOMBER",,,,1,2,,,,,,
1 Name TID NotBeenInClan MinNpcWins MaxNpcWins MinArena MaxArena MinTophies MaxTrophies MinExpLevel MaxExpLevel iOSTID AndroidTID
2 String String boolean int int int int int int int int String String
3 welcome message TID_HINT_WELCOME 6
4 winning condition1 TID_HINT_WINNING_CONDITION1 2 1
5 winning condition2 TID_HINT_WINNING_CONDITION2 2 1
6 elixir basics1 TID_HINT_ELIXIR_BASICS1 4 1
7 elixir basics2 TID_HINT_ELIXIR_BASICS2 4 1
8 elixir basics3 TID_HINT_ELIXIR_BASICS3 4 1
9 exp level1 TID_HINT_EXP_LEVEL1 2 3
10 exp level2 TID_HINT_EXP_LEVEL2 2 3
11 battle basics1 TID_HINT_BATTLE_BASICS1 2 3
12 battle basics2 TID_HINT_BATTLE_BASICS2 2 3
13 join clan TID_HINT_JOIN_CLAN TRUE 3
14 tv royale TID_HINT_TV_ROYALE 1 3
15 arrows TID_HINT_ARROWS 6 2
16 giant TID_HINT_GIANT 6 2
17 knight and archers TID_HINT_KIGHT_AND_ARCHERS 1 1
18 area damage TID_HINT_AREA_DAMAGE 2 3
19 free chest TID_HINT_FREE_CHEST 2 3
20 match duration TID_HINT_MATCH_DURATION 1 3
21 overtime TID_HINT_OVERTIME 1 3
22 card types TID_HINT_CARD_TYPES 2 3
23 card rarities TID_HINT_CARD_RARITIES 1 3
24 deck basics1 TID_HINT_DECK_BASICS1 2 3
25 deck basics2 TID_HINT_DECK_BASICS2 1 1
26 achievements TID_HINT_ACHIEVEMENT_GEMS 3 6
27 clan rewards TID_HINT_DONATE_REWARDS 3 6
28 king activation TID_HINT_KING_ACTIVATION 2 4
29 king daughters TID_HINT_KING_DAUGHTERS 2 3
30 story1 TID_HINT_STORY1 3 4
31 building lifetime TID_HINT_BUILDING_LIFETIME 2 4
32 crown towers TID_HINT_TOWER_TARGETING 2 3
33 building targeting TID_HINT_BUILDINGS 2 3
34 common max level TID_HINT_COMMON_MAX_LEVEL 8
35 rare max level TID_HINT_RARE_MAX_LEVEL 8
36 epic max level TID_HINT_EPIC_MAX_LEVEL 8
37 card upgrades TID_HINT_CARD_UPGRADES 1 2
38 card unlocks TID_HINT_CARD_UNLOCKS 2 3
39 card shop TID_HINT_SHOP_CYCLE 1 4
40 chest basics1 TID_HINT_CHEST_BASICS1 2 4
41 chest basics2 TID_HINT_CHEST_BASICS2 2 4
42 chest basics3 TID_HINT_CHEST_BASICS3 2 4
43 chest basics4 TID_HINT_CHEST_BASICS4 2 4
44 matchmaking TID_HINT_MATCHMAKING 2 4
45 bomb tower TID_HINT_BOMB_TOWER 2 3
46 tank1 TID_HINT_TANK1 2 3
47 tank2 TID_HINT_TANK2 2 3
48 prince TID_HINT_PRINCE 2 3
49 tesla TID_HINT_BATTLE_TESLA 4 5
50 deploy area TID_HINT_DEPLOY_AREA 2 3
51 taunts TID_HINT_TAUNTS 2 3
52 three crowns TID_HINT_THREE_CROWNS 3 5
53 balloon TID_HINT_BALLOON 2 4
54 double elixir TID_HINT_DOUBLE_ELIXIR 2 3
55 huts TID_HINT_HUTS 2 3
56 tombstone TID_HINT_TOMBSTONE 2 3
57 rage TID_HINT_RAGE 3 5
58 direct damage TID_HINT_DIRECT_DAMAGE 3 4
59 elixir basics4 TID_HINT_MAX_ELIXIR 2 3
60 starting hand TID_HINT_STARTING_HAND 2 3
61 crown chest TID_HINT_CROWN_CHEST 2 4
62 pro1 TID_HINT_BATTLE_PRO1 3
63 pro2 TID_HINT_BATTLE_PRO2 3
64 pro3 TID_HINT_BATTLE_PRO3 5
65 pro4 TID_HINT_BATTLE_PRO4 3 5
66 pro5 TID_HINT_BATTLE_PRO5 3
67 targeting TID_HINT_TARGETING 3 5
68 inferno TID_HINT_INFERNO 4 5
69 giant skeleton TID_HINT_GIANT_SKELETON 2 4
70 epic sunday TID_HINT_EPIC_SUNDAY 2 5
71 gems from chests TID_HINT_GEMS_FROM_CHESTS 2 5
72 hog rider TID_HINT_HOG_RIDER 4
73 golem1 TID_HINT_GOLEM1 6
74 golem2 TID_HINT_GOLEM2 6
75 pekkas TID_HINT_PEKKAS 2 6
76 trophy count TID_HINT_TROPHY_COUNT 3 5
77 lightning TID_HINT_LIGHTNING 2 4
78 bomber TID_HINT_BOMBER 1 2

View file

@ -0,0 +1,19 @@
"Name","FileName","Volume","Loop","PlayCount","FadeOutTimeSec","DurationSec"
"String","String","int","boolean","int","int","int"
"TutorialMusic","music/2min_loop_battle_01.ogg",50,"true",,,
"BattleMusic","music/2min_loop_battle_01.ogg",50,"true",,,
,"music/2min_loop_battle_02.ogg",50,"true",,,
,"music/2min_loop_battle_03.ogg",50,"true",,,
"MenuMusic","music/menu_03.ogg",70,,2,30,96
,"music/wizmen04.ogg",70,,2,30,96
,"music/new_menu_01.ogg",70,,2,30,96
"TrainingArena","music/tutorial_2m_arena_forest_amb_01.ogg",50,"true",,,
"60sec_training","music/60secs_training_Arena_01.ogg",65,,,,
"Sudden_death","music/sudden_death_01.ogg",60,,,,
"Pre_result","music/scroll_preresult_loop_01.ogg",80,,,,
"Win","music/scroll_win_02.ogg",95,,,,
"Lose","music/scroll_lose_01.ogg",85,,,,
"Draw","music/scroll_draw_01.ogg",85,,,,
"Post_result_loop","music/scroll_post_jingle_loop_01.ogg",50,"true",,,
"60sec_loop","music/60_sec_music_loop_01.ogg",55,,,,
"30sec_loop","music/30_sec_music_loop_01.ogg",60,,,,
1 Name FileName Volume Loop PlayCount FadeOutTimeSec DurationSec
2 String String int boolean int int int
3 TutorialMusic music/2min_loop_battle_01.ogg 50 true
4 BattleMusic music/2min_loop_battle_01.ogg 50 true
5 music/2min_loop_battle_02.ogg 50 true
6 music/2min_loop_battle_03.ogg 50 true
7 MenuMusic music/menu_03.ogg 70 2 30 96
8 music/wizmen04.ogg 70 2 30 96
9 music/new_menu_01.ogg 70 2 30 96
10 TrainingArena music/tutorial_2m_arena_forest_amb_01.ogg 50 true
11 60sec_training music/60secs_training_Arena_01.ogg 65
12 Sudden_death music/sudden_death_01.ogg 60
13 Pre_result music/scroll_preresult_loop_01.ogg 80
14 Win music/scroll_win_02.ogg 95
15 Lose music/scroll_lose_01.ogg 85
16 Draw music/scroll_draw_01.ogg 85
17 Post_result_loop music/scroll_post_jingle_loop_01.ogg 50 true
18 60sec_loop music/60_sec_music_loop_01.ogg 55
19 30sec_loop music/30_sec_music_loop_01.ogg 60

View file

@ -0,0 +1,3 @@
"Name","ID","Enabled","TID","InfoTID","ItemSWF","ItemExportName","IconSWF","IconExportName","ImageSWF","ImageExportName","ButtonUrl","ButtonTID"
"String","int","Boolean","String","String","String","String","String","String","String","String","String","String"
"Update",115,"TRUE","TID_NEWS_UPDATE_TITLE","TID_NEWS_UPDATE_TEXT","sc/ui.sc","news_item",,,,,,
1 Name ID Enabled TID InfoTID ItemSWF ItemExportName IconSWF IconExportName ImageSWF ImageExportName ButtonUrl ButtonTID
2 String int Boolean String String String String String String String String String String
3 Update 115 TRUE TID_NEWS_UPDATE_TITLE TID_NEWS_UPDATE_TEXT sc/ui.sc news_item

View file

@ -0,0 +1,568 @@
"Name","ParticleCount","MinLife","MaxLife","ParticleMinInterval","ParticleMaxInterval","ParticleMinLife","ParticleMaxLife","ParticleMinAngle","ParticleMaxAngle","ParticleAngleRelativeToParent","ParticleRandomAngle","ParticleMinRadius","ParticleMaxRadius","ParticleMinSpeed","ParticleMaxSpeed","ParticleStartZ","ParticleMinVelocityZ","ParticleMaxVelocityZ","ParticleGravity","ParticleMinTailLength","ParticleMaxTailLength","ParticleResource","ParticleExportName","RotateToDirection","LoopParticleClip","StartScale","EndScale","FadeOutDuration","Inertia","EnemyVersion"
"string","int","int","int","int","int","int","int","int","int","boolean","boolean","int","int","int","int","int","int","int","int","int","int","string","string","boolean","boolean","int","int","int","int","string"
"RootRocks1",5,400,400,,5,800,1200,,360,,"true",1,1,10,90,5,100,250,-2000,,,"sc/effects.sc","Rock1ParticleSmall",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Rock2ParticleSmall",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Rock3ParticleSmall",,,,,,,
"Arrows Hit Ground",1,1,200,,,1500,1900,,,,"true",,,,,,,,,,,"sc/level.sc","Arrow_enemy_ground_anim_1",,"true",,,500,,
,,,,,,,,,,,,,,,,,,,,,,"sc/level.sc","Arrow_enemy_ground_anim_2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/level.sc","Arrow_enemy_ground_anim_3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/level.sc","Arrow_enemy_ground_anim_4",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/level.sc","Arrow_enemy_ground_anim_5",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/level.sc","Arrow_enemy_ground_anim_6",,,,,,,
"SmokeEmitter",8,1,1,,,1000,1500,,360,,,,,20,20,,,,,,,"sc/effects.sc","SmokeSmall",,,,,,,
"SewerSteam",7,,,250,350,3100,3350,190,280,"true","true",,,1,2,,10,30,,,,"sc/effects.sc","SteamSmall",,,,,,,
"BloodSpatter1",10,100,200,,50,150,250,,360,,"true",1,1,70,100,40,,,,1,50,"sc/effects.sc","BloodSpatter1",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","BloodSpatter2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","BloodSpatter3",,,,,,,
"FireRingEmitter",16,120,250,,,200,550,100,360,,"true",-1,2,60,120,,10,150,,60,200,"sc/effects.sc","FireParticle1",,,110,50,50,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","FireParticle2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","FireParticle3",,,,,,,
"SparkEmitter1",50,100,200,,,200,500,,360,,"true",,,100,100,,100,200,300,,,"sc/effects.sc","Sparkle",,,,,,,
"Smoker2",17,,,500,700,1700,2000,270,20,,"true",,,,15,45,30,80,,,,"sc/effects.sc","SmokeSmallSlow",,,,,,,
"SmokePuff",8,1,1,,,600,1500,,360,,"true",,,20,20,40,100,,,,,"sc/effects.sc","RisingSmoke",,,,,,,
"Stunner",9,100,200,,,100,400,,360,,"true",,,400,500,,80,100,,200,400,"sc/effects.sc","SparkleBlue",,,,,,,
"Steamer",3,,,,,1100,1500,,,,,,,,,,100,150,,,,"sc/effects.sc","smoke_cloud_1",,,,,,,
"PoisonSteamer",5,,,50,200,600,3000,180,270,,"true",,,1,5,30,5,6,-900,,,"sc/effects.sc","poisoncloud_small",,,,,,,
"PoisonCloud_2",40,1,500,,,700,1400,,360,,"true",,,10,50,,,,-3000,,,"sc/effects.sc","poisoncloud_big",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","poisoncloud_small",,,,,,,
"FireStorm",4,1300,1500,50,140,700,1100,,,,"true",,,,,,45,90,,,,"sc/effects.sc","Fire2_particle1",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Fire2_particle3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Fire2_particle4",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Fire2_particle5",,,,,,,
"FireBall",6,,,,100,700,1000,,,,,,,,,,,,,,,"sc/effects.sc","Fire2_rotator1",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Fire2_rotator2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Fire2_rotator3",,,,,,,
"HitEffectParticles",20,100,100,,10,150,200,1,360,,"true",2,2,300,350,,60,100,,100,150,"sc/effects.sc","Sparkle",,,,,,,
"SlowSparkles",10,,,100,120,1000,2000,,360,,"true",2,2,,,35,50,80,,,,"sc/effects.sc","Sparkle",,,,,,,
"BlueSparkEmitter",10,150,150,,10,200,350,,360,,"true",,,,500,,200,200,,100,300,"sc/effects.sc","SparkleBlue",,,,,,,
"LightningBurst",5,250,400,100,150,450,600,,,"true",,3,3,,,60,,,,,,"sc/effects.sc","Lightning","true",,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Lightning2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Lightning4",,,,,,,
"LightningGlow",8,500,500,20,50,200,450,,,"true",,1,1,200,200,35,,,,,,"sc/effects.sc","ElectricGlow","true",,,,,,
"BlueSparksEmitter",8,100,5000,10,40,300,600,,160,,"true",-25,25,10,100,,20,100,300,,,"sc/effects.sc","SparkleBlue",,,200,100,,,
"DirectionalBlueSparkEmitter",30,500,500,,40,300,400,,,"true",,2,2,100,200,35,,,,,,"sc/effects.sc","SparkleBlueOffset1","true",,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","SparkleBlueOffset2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","SparkleBlueOffset3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","SparkleBlueOffset4",,,,,,,
"FlameEmitter",5,,,150,200,1200,1200,,,,,,,,,,90,100,,,,"sc/effects.sc","FireParticle1",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","FireParticle2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","FireParticle3",,,,,,,
"FlameEmitter_small",15,1000,2500,150,200,400,800,,,,,,,,,,90,100,,,,"sc/effects.sc","FireParticle1_small",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","FireParticle2_small",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","FireParticle3_small",,,,,,,
"FlameArrowEmitter_small",10,1,1,1,50,200,500,,,,,,,,,29,90,100,,,,"sc/effects.sc","FireParticle1_small",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","FireParticle2_small",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","FireParticle3_small",,,,,,,
"Black_spot",1,,,,,2500,3000,,,,,,,,,,,,,,,"sc/effects.sc","dark_spot",,,,,,,
"WallExplosion",10,200,200,,20,250,300,,360,,"true",,,100,140,40,,,,,,"sc/effects.sc","FireParticle1",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","FireParticle2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","FireParticle3",,,,,,,
"WallExplosionSparks1",20,200,200,,10,250,350,,360,,"true",,,200,250,,,,,,,"sc/effects.sc","Sparkle",,,,,,,
"Explosion Pilar",15,600,600,20,60,1000,1200,230,280,,,1,1,50,50,35,10,10,500,,,"sc/effects.sc","Fire2_rotator1",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Fire2_rotator2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Fire2_rotator3",,,,,,,
"Rock Pieces Emitter",13,400,400,,5,800,1200,,360,,"true",,,30,150,20,100,250,-2000,,,"sc/effects.sc","Rock1Particle",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Rock2Particle",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Rock3Particle",,,,,,,
"GlassShatterEmitter",10,1,,,,500,900,,360,,"true",,,70,120,,60,120,-1500,,,"sc/effects.sc","GlassShard1",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","GlassShard2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","GlassShard3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","GlassShard4",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","GlassShard5",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","GlassShard6",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","GlassShard7",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","GlassShard8",,,,,,,
"GlassShatterEmitter2",30,200,400,1,20,500,1900,,360,"true","true",,,10,40,71,40,100,-1500,,,"sc/effects.sc","GlassShard1","true",,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","GlassShard2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","GlassShard3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","GlassShard4",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","GlassShard5",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","GlassShard6",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","GlassShard7",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","GlassShard8",,,,,,,
"GlassShatterEmitter3",10,1,,,,500,500,,360,,"true",,,20,140,100,60,150,-1500,,,"sc/effects.sc","GlassShard1",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","GlassShard2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","GlassShard3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","GlassShard4",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","GlassShard5",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","GlassShard6",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","GlassShard7",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","GlassShard8",,,,,,,
"PoisonDropsEmitter",25,300,,5,20,500,550,,360,,"true",,,80,,25,100,130,-1000,1,5,"sc/effects.sc","PoisonParticle1",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","PoisonParticle2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","PoisonParticle3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","PoisonParticle4",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","PoisonParticle5",,,,,,,
"PoisonSteamSmall",5,,,2000,4000,1800,3000,180,270,,"true",,,1,6,20,1,2,-900,,,"sc/effects.sc","egg_steamer",,,,,,,
"SmokeBomb_smoke1",28,,,,,1100,2500,,500,,"true",5,5,,10,,,100,,,1000,"sc/effects.sc","Steam",,,,,,,
"SmokeBomb_smoke2",28,,,,,1100,2500,,500,,"true",9,9,,10,,,10,,,1000,"sc/effects.sc","Steam",,,,,,,
"SmokeBomb_smoke3",28,,,,,1100,3000,,350,,"true",14,14,,10,,,10,,,1000,"sc/effects.sc","Steam",,,,,,,
"FireSpirit_emitter",4,1,1,1,1,340,700,,180,,"true",,,,,15,,,120,,,"sc/effects.sc","Fire2_particle1",,,,,,,
"Fireplace_emitter",2,1,100,1,50,500,900,,180,,"true",,,,,53,,,100,,,"sc/effects.sc","Fire2_particle1",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Fire2_particle4",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Fire2_particle5",,,,,,,
"HotHoals1",28,,1000,1,2,2500,5000,,360,"true","true",3,3,,30,,,1000,-3500,,,"sc/effects.sc","particle_coal1",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal4",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal5",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal6",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal7",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal8",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal9",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal10",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Sparkle",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Sparkle",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Sparkle",,,,,,,
"HotCoals_sparks",4,100,5000,,50,300,800,,360,,"true",7,7,10,80,,10,100,500,,,"sc/effects.sc","SparkleBlue",,,,,,,
"HotHoals_loop",30,,5000,1,10,4000,5000,,360,"true","true",7,7,,10,,,500,-2000,,,"sc/effects.sc","particle_coal1","true",,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal4",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal5",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal6",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal7",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal8",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal9",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal10",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Sparkle",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Sparkle",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Sparkle",,,,,,,
"HotCoals_loop2",5,,1000,1,200,500,1200,,360,"true","true",7,7,,,,,,300,,,"sc/effects.sc","Sparkle","true",,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Sparkle",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Sparkle",,,,,,,
"HotCoals_loop3",12,,3000,1,100,100,3000,,360,"true","true",4,4,,10,,,500,-2000,,,"sc/effects.sc","particle_coal1","true",,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal4",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal5",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal6",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal7",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal8",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal9",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal10",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Sparkle",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Sparkle",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Sparkle",,,,,,,
"HotCoals_loop4",30,,4000,1,10,4000,5000,,360,"true","true",10,10,,10,,,500,-2000,,,"sc/effects.sc","particle_coal1","true",,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal4",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal5",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal6",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal7",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal8",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal9",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal10",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Sparkle",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Sparkle",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Sparkle",,,,,,,
"HotCoals_darken",9,1,10000,,1,2000,5000,,360,,"true",4,4,,,,,,,,,"sc/effects.sc","darken_gradient",,,,,,,
"HotCoals_darken2",6,1,10000,,1,2000,5000,,360,,"true",9,9,,,,,,,,,"sc/effects.sc","darken_gradient",,,,,,,
"DragSparkEmitter",30,500,500,,40,300,400,90,90,"true",,2,2,100,200,35,,,,,,"sc/effects.sc","SparkleBlueOffset1","true",,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","SparkleBlueOffset2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","SparkleBlueOffset3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","SparkleBlueOffset4",,,,,,,
"Fireplace_particles_loop",2,100,100,1,20,500,900,,,,"true",,2,,,30,10,100,100,,20,"sc/effects.sc","fireplace_particle","true",,,,,,
"Fireplace_bouncy_particles_loop",1,100,100,1,20,1300,1900,1,360,,"true",3,3,10,20,37,20,200,-1000,,20,"sc/effects.sc","fireplace_particle","true",,,,,,
"Musketeer_smoke1",10,,,,,1100,2500,,360,"true",,,,5,15,,50,90,-20,,1000,"sc/effects.sc","smoke_cloud_1","true","true",100,1,300,,
"Musketeer_smoke_shadow",5,,,,,1100,2500,,360,"true",,,,-5,-15,,-50,-90,-20,,1000,"sc/effects.sc","smoke_cloud_1","true","true",80,30,2000,,
"Musketeer_glow",1,,,,,400,600,,,,,,,,,,,,,,,"sc/effects.sc","Deco_small_glow",,,,,,,
"Musketeer_fireParticles",3,,,,,500,800,-40,40,"true","true",,,100,200,,10,200,-200,,,"sc/effects.sc","fireplace_particle",,,180,10,200,,
"Musketeer_glow_top",1,,,,,1200,1400,,,,,,,,,,40,40,30,,,"sc/effects.sc","Deco_small_glow2",,,,,100,,
"Haze1",9,10000,,1000,,3000,9000,,360,,,,20,,,7,,,,,,"sc/effects.sc","Haze1",,,,,7000,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Haze2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Haze3",,,,,,,
"Fireball_explosion_smoke",34,100,100,1,1,1500,2300,,360,,"true",3,7,10,15,14,20,30,10,,,"sc/effects.sc","explosion_cloud_1","true","true",100,120,1500,20,
"Fireball_explosion_sparks",22,190,190,1,3,800,900,,360,,"true",1,3,70,80,73,500,900,-2000,,20,"sc/effects.sc","SparkleBlue","true",,100,1,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","SparkleBlue",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","SparkleBlue",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal4",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal2",,,,,,,
"Fireball_explosion_glow",12,190,190,1,3,1200,2800,-30,30,,"true",,2,,50,10,20,90,35,,,"sc/effects.sc","Death_blue_smoke","true",,23,30,3500,40,
"explosion_lava",15,200,200,,20,900,1000,,360,,"true",1,1,40,90,30,800,900,-3000,3,15,"sc/effects.sc","particle_coal9","true",,120,20,,,
"explosion_gradients",1,190,190,1,1,4000,5000,,,,"true",,,,,,,,,,,"sc/effects.sc","darken_gradient",,,135,135,,,
"explosion_base",32,100,100,1,1,1800,2200,,360,"true","true",1,8,,,,,50,-3500,,,"sc/effects.sc","particle_coal1",,"true",,,300,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal4",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal5",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal6",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal7",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal8",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal9",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal10",,,,,,,
"explosion_shadow",12,100,100,1,1,2700,2800,,360,,"true",4,7,,,,,,,,,"sc/effects.sc","explosion_cloud_1","true","true",150,150,5000,,
"explosion_fire",4,300,300,1,1,1200,1200,,360,,,1,7,1,10,,90,100,,,,"sc/effects.sc","FireParticle1",,,200,50,1500,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","FireParticle2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","FireParticle3",,,,,,,
"explosion_continousFire",8,1500,1500,150,100,700,800,,360,,"true",1,3,,10,,,,300,,,"sc/effects.sc","MolotovTrailParticle","true",,200,1,,,
"explosion_glow",8,100,100,1,1,500,2500,,360,,"true",1,5,,,25,,,100,,,"sc/effects.sc","Deco_fireplace_glow","true",,150,50,2000,,
"FireBreath_attack_sparks",29,800,800,1,20,500,800,-40,40,"true","true",,,100,200,20,10,200,-200,,,"sc/effects.sc","fireplace_particle",,,180,10,500,,
"FireBreath_attack_glow",19,400,400,40,80,600,1800,-10,10,,,,2,40,60,9,,,,,,"sc/effects.sc","Deco_small_glow",,,1,150,,50,
"FireBreath_attack_flames",42,800,800,5,20,350,450,-15,25,"true","true",,,80,150,20,,,30,,,"sc/effects.sc","FireParticle3",,"true",1,130,300,30,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","FireParticle1",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","FireParticle2",,,,,,,
"Death_sparkle",8,180,180,1,3,300,800,-15,15,"true",,,,40,100,44,80,230,-600,,,"sc/effects.sc","Death_blue_sparkle1",,"true",90,10,1000,30,"Death_sparkle_purple"
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_blue_sparkle2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_blue_sparkle3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_blue_sparkle4",,,,,,,
"TargetDummy_planks",31,130,130,2,5,500,1200,,360,,"true",1,3,10,100,8,100,300,-500,,,"sc/effects.sc","crate_particle_1","true",,120,10,,20,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","crate_particle_2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","crate_particle_3",,,,,,,
"TargetDummy_planks2",15,130,130,2,5,2500,3000,,360,,"true",1,3,10,50,4,400,700,-1200,,,"sc/effects.sc","crate_particle_1","true",,100,50,,20,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","crate_particle_2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","crate_particle_3",,,,,,,
"TargetDummy_smoke",10,150,150,1,3,1100,2500,,360,"true",,,2,5,15,59,50,90,-20,,1000,"sc/effects.sc","smoke_cloud_1","true","true",140,1,400,,
"Death_sparkle_still1",12,180,180,1,3,300,2500,-20,20,"true",,,2,,35,25,,50,-150,,,"sc/effects.sc","Death_blue_sparkle1",,"true",80,10,2000,25,"Death_sparkle2_purple"
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_blue_sparkle2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_blue_sparkle3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_blue_sparkle4",,,,,,,
"death_sparkle_still2",17,180,180,1,3,300,3000,-30,30,"true",,,2,,45,45,,30,-150,,,"sc/effects.sc","Death_blue_sparkle1",,"true",60,10,2500,25,"Death_sparkle3_purple"
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_blue_sparkle2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_blue_sparkle3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_blue_sparkle4",,,,,,,
"Death_blue_smoke_shadow",6,190,190,1,3,1200,2800,-30,30,,"true",,2,,50,,-20,-90,-35,,,"sc/effects.sc","Death_blue_smoke","true",,25,40,2500,40,
"ExplosiveBarrel_cont_glow1",10,1000,1000,5,500,2200,500,,,,,,1,,,65,,,,,,"sc/effects.sc","Deco_small_glow2",,,20,40,500,,
"ExplosiveBarrel_cont_glow2",10,1000,1000,5,500,2200,500,,,,,,1,,,65,,,,,,"sc/effects.sc","Deco_small_glow2",,,20,40,500,,
"ExplosiveBarrel_cont_glow3",5,1000,1000,2,50,2200,500,,,,,,1,,,65,,,,,,"sc/effects.sc","Deco_small_glow2",,,20,40,500,,
"ExplosiveBarrel_cont_sparks",9,100,5000,,50,100,2900,,360,,"true",,,,50,61,100,250,-500,,100,"sc/effects.sc","SparkleBlue",,,100,10,200,25,
"Death_sparkle_purple",8,180,180,1,3,300,800,-15,15,"true",,,,40,100,44,80,230,-600,,,"sc/effects.sc","Death_purple_sparkle1",,"true",90,10,300,30,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_purple_sparkle2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_purple_sparkle3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_purple_sparkle4",,,,,,,
"Death_sparkle2_purple",12,180,180,1,3,600,2900,-20,20,"true",,,2,,35,25,,50,-150,,,"sc/effects.sc","Death_purple_sparkle1",,"true",80,10,1600,25,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_purple_sparkle2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_purple_sparkle3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_purple_sparkle4",,,,,,,
"Death_sparkle3_purple",17,180,180,1,3,300,3500,-30,30,"true",,,2,,45,45,,30,-150,,,"sc/effects.sc","Death_purple_sparkle1",,"true",60,10,2900,25,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_purple_sparkle2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_purple_sparkle3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_purple_sparkle4",,,,,,,
"Death_enemy_puff",12,190,190,1,3,1200,2800,-30,30,,"true",,2,,50,10,20,90,35,,,"sc/effects.sc","explosion_purple_glow1","true",,23,30,2000,40,
"Death_player_puff",12,190,190,1,3,1200,2800,-30,30,,"true",,2,,50,10,20,90,35,,,"sc/effects.sc","Death_blue_smoke","true",,23,30,3500,40,"Death_enemy_puff"
"ArcherTower_particle1",1,180,180,1,3,1000,1200,,360,"true",,,,10,50,,450,600,-2000,,,"sc/effects.sc","SparkleBlue",,,100,80,200,55,
"ArcherTower_particle2",1,180,180,1,3,1500,1600,,360,"true",,,,10,50,,250,300,-2000,,,"sc/effects.sc","SparkleBlue",,,100,80,200,55,
"ArcherTower_particle3",2,,200,,5,250,250,,360,"true",,,,,,47,,,,,,"sc/effects.sc","particle_coal6",,,100,200,400,,
"ArcherTower_particle4",1,180,180,1,3,5000,6000,,360,"true",,,,5,20,25,30,50,-1000,,,"sc/effects.sc","SparkleBlue",,"true",100,80,200,20,
"ArcherTower_particles5",1,180,180,1,3,5000,6000,,360,"true","true",,,20,20,93,250,260,-1000,,,"sc/effects.sc","SparkleBlue","true",,100,80,200,20,
"ArcherTower_particle6",2,180,250,1,5,5000,6000,,360,"true",,,,20,20,93,200,250,-1000,,,"sc/effects.sc","SparkleBlue","true",,100,80,200,20,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","SparkleBlue",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","SparkleBlue",,,,,,,
"ArcherTower_particle7",66,250,250,1,10,1000,1600,,360,"true","true",,2,50,80,74,100,850,-1000,,,"sc/effects.sc","SparkleBlue","true",,130,40,200,25,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","SparkleBlue",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","SparkleBlue",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","SparkleBlue",,,,,,,
"ArcherTower_destruction_smoke",13,1000,1000,1,5,2000,4300,,360,,"true",3,5,10,15,14,20,30,10,,,"sc/effects.sc","explosion_cloud_1","true","true",100,120,6500,20,
"ArcherTower_destruction_smoke_shadow",9,100,100,1,1,2700,2800,,360,,"true",1,4,,,,,,,,,"sc/effects.sc","explosion_cloud_1","true","true",150,150,8000,,
"ArcherTower_destroyed",1,,,,,900000,900000,,360,,,,,,,,,,,,,"sc/effects.sc","SparkleBlue",,,,,200,,
"AercherTower_particleShadows",16,250,250,1,10,1000,1200,,360,"true","true",,6,1,80,,-100,-850,-1000,,,"sc/effects.sc","SparkleBlue","true",,80,40,2000,25,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","SparkleBlue",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","SparkleBlue",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","SparkleBlue",,,,,,,
"Projectile_rocket_emitter1",4,,,,,150,600,-40,40,"true",,,2,,,,,,-500,,,"sc/effects.sc","fireplace_particle",,,120,30,200,,
"Projectile_rocket_smoke1",5,,,,,600,1200,,360,"true",,,2,,,,,,20,,1000,"sc/effects.sc","smoke_cloud_1","true",,70,1,400,,
"RocketTower_emitter1",12,190,190,1,2,50,500,170,200,"true",,,4,100,300,,10,100,200,,,"sc/effects.sc","fireplace_particle",,,150,30,200,25,
"RocketTower_emitter2",6,,,,,250,300,170,200,"true",,,4,10,200,,1,10,200,,,"sc/effects.sc","Deco_small_glow2",,,130,30,200,25,
"RocketTower_smoke1",9,200,200,1,30,600,2500,170,200,"true","true",,,40,80,,10,20,-20,,,"sc/effects.sc","smoke_cloud_1","true","true",100,1,400,25,
"Projectile_emitter_glow1",12,1000,1000,2,50,100,300,,360,,"true",,2,,,,,,,,,"sc/effects.sc","Deco_small_glow2","true","true",1,60,,,
"RocketTower_destroyed_base",1,,,,,900000,900000,,360,,,,,,,,,,,,,"sc/effects.sc","SparkleBlue",,,,,200,,
"cannon_glow_top",1,,,,,1200,1400,,,,,,,,,,40,40,30,,,"sc/effects.sc","Deco_small_glow2",,,,,100,,
"cannon_smoke1",10,,,,,500,1500,,360,"true",,,,5,25,,80,120,-60,,250,"sc/effects.sc","smoke_cloud_1","true","true",75,40,1800,,
"cannon_firePareticles",9,150,150,1,50,300,400,-40,40,"true",,,,100,200,,10,200,-200,,,"sc/effects.sc","fireplace_particle","true",,180,10,200,,
"cannon_glow",1,,,,,400,600,,,"true",,,,,,,,,,,,"sc/effects.sc","Deco_small_glow","true",,,,,,
"cannon_smoke_shadow",5,,,,,1100,2500,,360,"true",,,,-5,-15,,-50,-90,-20,,1000,"sc/effects.sc","smoke_cloud_1","true","true",80,30,2000,,
"cannon_hit_rock_emiter",4,200,400,,5,400,800,,360,,"true",,,30,75,35,50,120,-1000,,,"sc/effects.sc","Rock1Particle",,,80,10,,50,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Rock2Particle",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Rock3Particle",,,,,,,
"cannon_hit_smokePuff",7,2,2,,,300,700,10,50,,"true",,,30,40,,200,250,-1000,,,"sc/effects.sc","SteamSmall","true","true",100,125,250,10,
"cannon_hit_ballBounce",1,300,300,10,40,1000,1000,,,"true",,1,1,80,80,,150,150,-2000,,,"sc/level.sc","projectile_cannonball_large","true",,100,75,200,10,
"cannonball_bounce_shadow",1,300,300,10,40,1000,1000,,,,,1,1,80,80,,150,150,-2000,,,"sc/level.sc","cannonball_large_shadow",,,80,55,200,10,
"Wizard_roundBase_player",1,180,180,1,3,5000000,6000000,,360,"true",,,,,,,,,-1000,,,"sc/effects.sc","wizard_roundBase_player",,"true",,,200,20,"Wizard_roundBase_enemy"
"Wizard_roundBase_enemy",1,180,180,1,3,5000000,6000000,,360,"true",,,,,,,,,-1000,,,"sc/effects.sc","wizard_roundBase_enemy",,,,,200,20,
"Tower_fire_particles1",3,50,50,1,10,300,700,,360,"true","true",,1,,,,,,100,,,"sc/effects.sc","SparkleBlue","true",,70,20,300,25,"Tower_fire_particles1_enemy"
"Tower_fire_glow1",2,150,250,20,50,200,200,,,,,,3,,,,10,300,,,,"sc/effects.sc","SparkleBlue",,,160,20,200,,"Tower_fire_glow1_enemy"
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","SparkleBlue",,,,,,,
"Tower_fire_particles2",3,50,50,1,10,500,800,,,,,,,,,,,,,,,"sc/effects.sc","SparkleBlue",,,,,2000,,
"Tower_fire_glow1_enemy",2,150,250,20,50,200,200,,,,,,3,,,,10,300,,,,"sc/effects.sc","SparkleBlue",,,160,20,200,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","SparkleBlue",,,,,,,
"Tower_fire_particles1_enemy",3,50,50,1,10,300,700,,360,"true","true",,1,,,,,,100,,,"sc/effects.sc","SparkleBlue","true",,70,20,300,25,
"Tower_fire_particles2_enemy",3,50,50,1,10,500,800,,,,,,,,,,,,,,,"sc/effects.sc","SparkleBlue",,,,,2000,,"Tower_fire_particles2_enemy"
"Tower_continuous_particles1",2,3500,3500,3400,3500,600,1200,,360,"true","true",,1,,,35,,,100,,,"sc/effects.sc","SparkleBlue","true",,70,40,1000,25,"Tower_continuous_particles1_enemy"
"Tower_continuous_particles1_enemy",2,3500,3500,3400,3500,600,1200,,360,"true","true",,1,,,35,,,100,,,"sc/effects.sc","SparkleBlue","true",,70,40,1000,25,"Tower_fire_particles1_enemy"
"Tower_projectile_emitter1",1,,,,,300,400,,,,,,,,,,,,,,,"sc/effects.sc","SparkleBlue",,,,,600,,
"Tower_projectile_trail1",1,1,1,1,50,200,500,,,,,,,,,,,,,,,"sc/effects.sc","Death_blue_sparkle3","true",,,,,,
"Fear_face_emitter",6,1500,1500,1,100,1200,2500,,360,,"true",6,12,,,14,20,30,,,,"sc/effects.sc","Fear_face",,,40,60,,20,
"Fear_face_emitter_shadow",7,1000,1000,1,5,2000,7300,,360,,,,12,,,14,,,,,,"sc/effects.sc","Fear_face_shadow",,,70,40,19000,,
"Warhound_tear",7,300,300,,50,300,300,,360,,"true",,,80,100,20,100,150,-1000,,,"sc/effects.sc","GlassShard6",,,50,75,,,
"piper_attack_emmiter",1,1500,1500,250,500,800,1000,45,60,,,,,10,25,50,10,25,10,,,"sc/effects.sc","piper_note",,,40,70,,,
"piper_hit_emmiter",2,1000,1500,500,500,800,1200,10,15,,,,,,2,20,20,20,-50,,,"sc/effects.sc","piper_note_charm",,"true",60,25,,,
"FireballEmitterTrail",50,800,800,5,10,600,800,-360,360,,"true",-2,2,1,10,,50,200,35,,,"sc/effects.sc","fireball_trail1",,,55,80,500,1,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","fireball_trail2",,,,,,,
"fireball_trial_spark",16,800,800,5,10,600,800,,360,,"true",-4,4,15,30,,100,200,35,,,"sc/effects.sc","Sparkle",,,55,80,500,1,
"fireball_trail_glow",50,800,800,5,10,600,800,-360,360,,"true",-2,2,1,10,,50,200,35,,,"sc/effects.sc","fireball_trail3",,,55,80,500,1,
"Wizard_die_player_emitter1",1,1,1,,1,1000000,10000000,,,,,,,,,,,,,,,"sc/chr_royal_king.sc","King_royal_blue_die1_1",,,,,,,"Wizard_die_enemy_emitter1"
"Wizard_die_book_emitter1",1,1,1,,1,100000,1000000,,360,,"true",,,60,70,,,,,,,"sc/chr_neutral_wizard.sc","Wizard_book_particle1",,,95,95,,50,
,,,,,,,,,,,,,,,,,,,,,,"sc/chr_neutral_wizard.sc","Wizard_book_particle2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/chr_neutral_wizard.sc","Wizard_book_particle3",,,,,,,
"Wizard_die_enemy_emitter1",1,1,1,,1,1000000,10000000,,,,,,,,,,,,,,,"sc/chr_royal_king.sc","King_royal_red_die1_1",,,,,,,
"rocketTowerHitsmoke",44,100,100,1,1,1000,1500,,360,,"true",-3,3,10,35,66,20,45,50,,,"sc/effects.sc","smoke_cloud_1","true","true",30,95,5000,20,
"RocketTower_fireworks",14,190,190,1,3,500,1200,,360,,"true",1,1,80,100,,100,200,-300,,20,"sc/effects.sc","SparkleBlue","true",,80,1,,100,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","SparkleBlue",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal9",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal2",,,,,,,
"Wizard_die_player_hat",1,1,1,,1,100000,1000000,,360,,"true",,,60,70,,,,,,,"sc/chr_neutral_wizard.sc","Wizard_player_hat1",,,95,95,,50,"Wizard_die_enemy_hat"
"Wizard_die_enemy_hat",1,1,1,,1,100000,1000000,,360,,"true",,,60,70,,,,,,,"sc/chr_neutral_wizard.sc","Wizard_enemy_hat1",,,95,95,,50,
"rocketTower_sparks",18,200,200,1,1,200,250,,360,,,,-1,200,300,9,50,100,-200,,,"sc/effects.sc","hitFx","true",,30,50,,500,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","rocketTower_spark2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","rocketTower_spark1",,,,,,,
"fire_sparks2",46,600,650,25,25,500,1200,,360,,"true",-3,3,,,,200,300,-200,,,"sc/effects.sc","rocketTower_spark1",,,30,1,,,
"rocketTower_fireworks2",4,100,100,25,50,450,500,2,280,,"true",-5,5,5,15,45,3,4,,,,"sc/effects.sc","rocket_tower_hit",,,100,150,350,,
"catapult_hit_smoke",12,1,1,,,1000,1200,,360,,,,,100,120,3,10,10,25,,,"sc/effects.sc","catapult_hit_cloud_1",,,,,800,350,
"catapult_smokePuff",10,100,100,,,600,1000,45,90,,"true",-2,2,10,80,42,50,120,50,,,"sc/effects.sc","catapult_hit_cloud_1",,,50,80,600,80,
"catapultAttack_smoke",3,,,,,600,1000,,360,,"true",-1,1,15,35,42,60,80,-100,,,"sc/effects.sc","catapult_hit_cloud_1",,,40,60,600,100,
"catapult_grass_emitter",5,400,400,,5,800,1200,,360,,"true",,,60,150,20,100,250,-2000,,,"sc/effects.sc","grass_particle_1",,,100,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","grass_particle_2",,,,,,,
"catapult_rock_Emitter",13,400,400,,5,800,1200,,360,,"true",,,50,150,20,100,250,-2000,,,"sc/effects.sc","Rock1Particle",,,100,150,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Rock2Particle",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Rock3Particle",,,,,,,
"catapult_hit_shadow",8,1,1,,,1000,1200,,360,,,,,20,20,,,,-350,,,"sc/effects.sc","catapult_hit_cloud_1",,,,,1000,10,
"catapult_grass_shadow",4,400,400,,5,800,1200,,360,,"true",,,30,150,,100,250,-5000,,,"sc/effects.sc","grass_particle_1",,,100,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","grass_particle_2",,,,,,,
"catapultHitSmoke_shadow",1,1,1,,,1000,1000,-265,-275,"true","true",,,40,40,2,,,,,,"sc/effects.sc","catapult_hit_cloud_1","true",,,,1000,,
"towerExplode_Smoke",10,1,1,,,800,1000,,360,,,,,70,75,8,,,50,,,"sc/effects.sc","tower_destr_cloud_1",,,,,500,125,
"TowerExplode_sparks",20,200,200,,10,250,350,,360,,"true",,,200,250,,,,,,,"sc/effects.sc","Sparkle",,,,,,,
"TowerExplode_smokePuff",11,,,,,800,1000,,360,,"true",,,,20,40,80,100,25,,,"sc/effects.sc","tower_destr_cloud_1",,,,,900,,
"TowerExplode_explosion",37,100,100,1,1,2500,300,,360,,"true",,,250,300,,,,,,,"sc/effects.sc","tower_destr_cloud_2",,,75,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","tower_destr_cloud_2",,,,,,,
"TowerExplode_rockEmitter",23,350,350,,10,600,2000,,360,"true","true",2,4,,60,,300,1000,-3500,,,"sc/effects.sc","Rock1Particle","true",,50,80,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","towerExplode_wall1",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","towerExplode_wall2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","towerExplode_wall3",,,,,,,
"TowerExplode_grassEmitter",1,,,,5,8000,4000,,,,"true",,,,,,,,-2000,,,"sc/effects.sc","star_appear",,"true",50,50,,,
"towerExplode_Smoke_shadow",10,1,1,,,800,1000,,360,,,,,70,75,,,,-50,,,"sc/effects.sc","tower_destr_cloud_1",,,,,750,125,
"TowerExplode_glass",10,1,1,,,800,1000,,360,,"true",,2,,50,90,100,500,-500,,,"sc/effects.sc","towerExplode_blue1","true",,120,70,300,50,"TowerExplode_glass_enemy"
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","towerExplode_blue2",,,,,,,
"TowerExplode_glass2",10,1,1,,,800,1000,,360,,"true",,2,60,150,90,10,50,,,,"sc/effects.sc","GlassShard2","true",,100,70,300,60,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","GlassShard6",,,,,,,
"TowerExplodeBlueShard",1,,,,,800,800,,,,,,,,,,,,,,,"sc/effects.sc","towerExplode_blueShards",,,100,100,500,,"TowerExplodeEnemyShard"
"TowerExplodeEnemyShard",1,,,,,800,800,,,,,,,,,,,,,,,"sc/effects.sc","towerExplode_enemyShards",,,100,100,500,,
"TowerExplode_glass_enemy",10,1,1,,,800,1000,,360,,"true",,2,,50,90,100,500,-500,,,"sc/effects.sc","towerExplode_enemy1","true",,120,70,300,50,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","towerExplode_enemy2",,,,,,,
"tower_destroyed",1,,,,,80000,80000,,,,,,,,,,,,,,,"sc/building_general_tower.sc","Common_Tower_destroyed",,,100,100,500,,
"GoblinHut_smoke",3,1000,1000,200,200,5800,5800,,500,,,,1,,10,62,30,40,,,,"sc/effects.sc","Smoke_goblinHut",,,35,85,11000,100,
"Goblin_hut_woodExplosion",54,150,150,5,10,1000,1600,,360,"true","true",,2,50,80,30,300,700,-1500,,,"sc/effects.sc","crate_particle_1","true",,100,80,200,25,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","crate_particle_2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","crate_particle_3",,,,,,,
"knight_deploy_dustPuff1",12,1,1,,,800,1300,,360,,"true",-1,,40,70,,20,,,,,"sc/effects.sc","d1","true",,150,160,1650,100,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","d2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","d3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","d4",,,,,,,
"knight_deploy_rocks_hitGround",13,400,400,,5,1300,2000,,360,,"true",3,3,30,50,20,150,500,-2000,,,"sc/effects.sc","Rock1Particle",,,80,50,600,50,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Rock2Particle",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Rock3Particle",,,,,,,
"deploy_unit_blue",1,,,,,600,600,,360,,,,,,,,100,,-500,,,"sc/effects.sc","wizard_roundBase_player",,,100,50,250,,
"knight_depoy_dustShadow",3,1,1,,,900,1300,,360,,"true",-1,,-40,-70,,-20,,,,,"sc/effects.sc","d3","true",,230,260,1000,100,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","d4",,,,,,,
"knight_deploy_dustPuff2",55,1,1,,,500,600,,360,,"true",3,4,40,50,21,20,,25,,,"sc/effects.sc","d3",,,80,80,500,100,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","d2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","d3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","d3_green_dark",,,,,,,
"knight_die_particle_shoulders",2,1,1,,1,9000,10000,,360,,"true",1,,30,50,,,,,,,"sc/effects.sc","particle_shoulder1",,,110,100,300,50,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_shoulder2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_shoulder3",,,,,,,
"knight_die_particle_sword",1,1,1,,1,24000,25000,,360,,"true",,,,50,,,,,,,"sc/effects.sc","particle_sword",,,105,100,400,60,
"knight_speps_dust1",3,1,1,,,600,1100,,360,,"true",-1,,,,,20,,,,,"sc/effects.sc","d2","true",,60,80,800,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","d3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","d4",,,,,,,
"Death_elixir_burst1",21,80,80,1,3,300,1000,,360,,,,,20,70,39,,600,-1700,,100,"sc/effects.sc","death_particle_elixir1",,,100,40,200,55,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","death_particle_elixir2",,,,,,,
"Death_elixir_ground1",3,80,80,1,3,3000,4000,,360,"true",,,3,10,20,,,,-1700,,,"sc/effects.sc","death_ground_elixir1",,,100,40,2000,100,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","death_ground_elixir2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","death_ground_elixir3",,,,,,,
"Tower_destroyed_ground",1,,,,,800000,800000,,,,,,,,,,,,,,,"sc/building_tower.sc","Tower_destroyed_ground1",,,,,,,
"Big_rock_particle1",1,180,180,1,3,1900,1900,,360,,"true",,,70,70,,,,15,,,"sc/effects.sc","big_rock_particle1",,,80,80,500,55,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","big_rock_particle2",,,,,,,
"giant_deploy_dustPuff",60,1,1,,,700,750,,360,,"true",4,4,60,80,,20,,25,,,"sc/effects.sc","d3",,,90,120,600,125,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","d2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","d3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","d3_green_dark",,,,,,,
"giant_deploy_rocks_hitGround",13,400,400,,5,1300,2000,,360,,"true",3,6,60,80,20,150,500,-2000,,,"sc/effects.sc","Rock1Particle",,,80,50,600,40,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Rock2Particle",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Rock3Particle",,,,,,,
"giant_deploy_dustPuff_shadow",60,1,1,,,700,750,,360,,"true",4,4,60,80,,20,,25,,,"sc/effects.sc","d3",,,90,120,700,125,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","d2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","d3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","d3_green_dark",,,,,,,
"Clouds_move1",2,,,50000,50000,65000,75000,,,,,,,,8,,,,,,,"sc/effects.sc","cloud_move1",,,130,130,3000,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","cloud_move2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","cloud_move3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","cloud_move4",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","cloud_move5",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","cloud_move6",,,,,,,
"giant_steps_dust1",6,1,1,,,600,1100,,360,,"true",1,2,,,,20,,-10,,,"sc/effects.sc","d2","true",,70,90,800,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","d3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","d4",,,,,,,
"giant_death_elixir_burst1",23,80,80,1,3,300,1000,,360,,,,,20,70,39,,600,-1700,,100,"sc/effects.sc","death_particle_elixir1",,,120,60,200,55,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","death_particle_elixir2",,,,,,,
"giant_death_puff1",15,190,190,1,3,1200,2800,-30,30,,"true",2,4,,50,10,20,90,35,,,"sc/effects.sc","explosion_purple_glow1","true",,40,30,2000,40,
"giant_death_puff1_shadow",6,190,190,1,3,1200,2800,-30,30,,"true",,2,,50,,-20,-90,-35,,,"sc/effects.sc","Death_blue_smoke","true",,25,40,2500,40,
"giant_death_elixir_ground1",4,80,80,1,3,3000,4000,,360,"true",,,3,10,20,,,,-1700,,,"sc/effects.sc","death_ground_elixir1",,,180,40,2000,100,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","death_ground_elixir2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","death_ground_elixir3",,,,,,,
"giant_hit_sparks",10,100,100,,10,100,100,1,360,"true","true",,2,300,350,50,60,100,,500,500,"sc/effects.sc","Sparkle","true",,110,150,,,
"giant_hit_puff1",7,,,,,350,400,,360,"true",,-2,2,25,20,50,200,250,,,600,"sc/effects.sc","d5","true",,40,100,600,50,
"giant_hitpuff2",24,,,,,400,400,-100,360,"true","true",,,100,100,49,,,,,,"sc/effects.sc","d3",,,100,50,500,100,
"Spell_rage_smoke1",16,190,190,1,3,2200,5800,,360,,"true",5,10,,50,21,,,,,,"sc/effects.sc","explosion_purple_glow1","true",,50,100,9000,40,
"Spell_rage_smoke2",16,,50,,,1200,2800,,360,,"true",2,20,,50,10,,50,1,,,"sc/effects.sc","rage_glowPurple",,,200,50,1000,50,
"Spell_rage_glowFast",1,,200,,5,200,200,,360,"true",,,,,,22,,,,,,"sc/effects.sc","rage_effect_glow1",,,50,130,50,,
"Spell_rage_sparckle1",32,180,180,1,3,300,800,,360,"true",,,18,40,100,44,80,230,-600,,,"sc/effects.sc","Death_purple_sparkle1",,"true",90,10,300,30,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_purple_sparkle2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_purple_sparkle3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_purple_sparkle4",,,,,,,
"Spell_rage_sparkle1_loop",7,180,180,1,3,300,1800,,360,"true",,,18,40,100,44,80,230,-600,,,"sc/effects.sc","Death_purple_sparkle1",,"true",90,10,300,30,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_purple_sparkle2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_purple_sparkle3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_purple_sparkle4",,,,,,,
"Spell_rage_sparckle2_loop",9,,200,1,20,300,1800,,360,"true",,17,19,,50,,,150,-600,,,"sc/effects.sc","Death_purple_sparkle1",,"true",90,10,300,30,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_purple_sparkle2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_purple_sparkle3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_purple_sparkle4",,,,,,,
"inferno_hit_sparks",10,150,,,50,150,250,,360,,,2,2,100,200,40,,,,,,"sc/effects.sc","sharp_spark","true","true",5,20,100,,
"inferno_stage2_sparks",28,3000,,100,500,600,800,220,310,,"true",,,50,70,,,,500,,,"sc/effects.sc","inferno_spark",,,80,130,,20,
"inferno_stage3_sparks",27,3000,,50,200,600,900,220,310,,"true",1,2,80,110,,,,700,,,"sc/effects.sc","inferno_spark",,,90,130,,30,
"inferno_stage2_peak_flame",27,3000,,50,200,800,1200,220,310,,"true",1,2,10,15,,,,100,,,"sc/effects.sc","inferno_spark_red",,,300,450,,70,
"inferno_stage3_peak_flame",32,3000,,50,200,950,1350,220,310,,"true",1,2,10,15,,,,130,,,"sc/effects.sc","inferno_spark",,,400,550,,70,
"touch_sparkle1",2,200,200,1,3,800,1500,-180,180,,,,2,5,10,,,,,50,100,"sc/effects.sc","Death_blue_sparkle1",,"true",60,10,1500,1,"Death_sparkle3_purple"
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_blue_sparkle2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_blue_sparkle3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_blue_sparkle4",,,,,,,
"touch_sparkle2",2,200,200,1,3,800,1500,-180,180,,,,2,5,10,,,,,50,100,"sc/effects.sc","Death_purple_sparkle1",,"true",60,10,1500,1,"Death_sparkle3_purple"
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_purple_sparkle2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_purple_sparkle3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_purple_sparkle4",,,,,,,
"Small_rock_particle1",8,180,180,1,3,1900,1900,,360,,"true",1,2,25,35,,,,10,,,"sc/effects.sc","big_rock_particle1",,,40,40,500,10,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","big_rock_particle2",,,,,,,
"BombTower_hit_flame",50,350,350,5,10,600,800,-360,360,,"true",-2,2,1,10,,50,200,35,,,"sc/effects.sc","fireball_trail1",,,70,50,500,1,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","fireball_trail2",,,,,,,
"Rocket_Emitter_Smoketrail",55,800,800,5,10,1800,2000,-360,360,,"true",-2,2,,,,,,35,,,"sc/effects.sc","fireball_trail1",,,120,40,500,20,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","fireball_trail2",,,,,,,
"Rocket_Emitter_Sparks",13,800,800,,10,600,800,,360,,"true",-4,4,15,300,,,50,35,,,"sc/effects.sc","Sparkle",,,55,80,500,20,
"Rocket_Emitter_Glow",50,800,800,5,10,800,800,-360,360,,"true",-3,3,,,,,,35,,,"sc/effects.sc","fireball_trail3",,,150,20,,1,
"dragon_hit_sparks",15,190,190,1,3,800,900,-65,65,"true",,1,3,40,60,41,300,500,-2000,,20,"sc/effects.sc","SparkleBlue","true",,60,1,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","SparkleBlue",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","SparkleBlue",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal4",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal2",,,,,,,
"dragon_AttackStart_smoke",9,600,500,5,10,600,800,-360,360,"true","true",-2,2,1,10,40,50,200,35,,,"sc/effects.sc","fireball_trail1","true",,25,50,300,1,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","fireball_trail2",,,,,,,
"DragonEmitterTrail",31,1200,2000,5,10,700,900,-360,360,,"true",,,1,5,,25,150,35,,,"sc/effects.sc","fireball_trail1",,,35,60,600,1,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","fireball_trail2",,,,,,,
"dragon_trail_glow",27,800,800,5,10,600,800,-360,360,,"true",,,1,10,,50,200,35,,,"sc/effects.sc","fireball_trail3",,,55,80,500,1,
"dragon_fire_hit",11,1,1,,,100,150,-90,90,,"true",-1,3,2,2,,,,25,,,"sc/level.sc","dragon_fire_hit","true",,120,150,200,125,
"dragon_hit_smoke",10,1,1,,,600,650,-45,45,,"true",3,3,50,110,,150,200,25,,,"sc/effects.sc","fireball_trail2","true",,20,120,500,250,
"Spell_freeze_snowflake1_loop",3,180,180,2,2,1000,1000,,360,"true","true",8,9,15,10,66,,,-40,,,"sc/effects.sc","snowflake_anim",,,50,55,,,
"Spell_freeze_snowflake2_loop",2,150,150,3,3,1000,1100,,360,,,5,10,14,16,71,2,2,-180,,,"sc/effects.sc","snowflake_anim",,,50,40,100,,
"openChest_epic_stars2",22,300,300,2,9,300,800,-180,,"true",,,10,,400,44,300,900,-1000,,,"sc/effects.sc","Death_purple_sparkle1",,"true",150,10,300,30,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_purple_sparkle2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_purple_sparkle3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_purple_sparkle4",,,,,,,
"Card_upgraded_effect1",70,1,1,,1,900,1800,,360,"true",,,20,,100,,,,200,,,"sc/effects.sc","Green_sparkle1",,"true",150,10,300,30,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Green_sparkle2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Green_sparkle3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Green_sparkle4",,,,,,,
"Card_upgrade_effect2",22,3000,3000,10,100,900,1800,,360,"true",,-20,20,,100,,,,200,,,"sc/effects.sc","Green_sparkle1",,"true",150,10,300,30,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Green_sparkle2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Green_sparkle3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Green_sparkle4",,,,,,,
"Card_upgrade_effect3",15,1,1,,,2000,3800,,360,"true",,-20,20,,,,50,100,,,,"sc/effects.sc","Haze1",,"true",150,10,4000,30,
"openChest_common_effect_smoke",11,190,190,1,3,2200,5800,,360,,"true",3,8,,50,41,,50,,,,"sc/effects.sc","Smoke_puff_01","true",,40,90,8000,40,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Smoke_puff_02",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Smoke_puff_03",,,,,,,
"openChest_epic_loop1",8,300,300,10,50,300,1500,-180,,"true",,-40,50,,50,,,,,,,"sc/effects.sc","Death_purple_sparkle1",,"true",150,10,500,30,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_purple_sparkle2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_purple_sparkle3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_purple_sparkle4",,,,,,,
"tesla_hit_spark",5,200,300,20,20,500,600,,360,,"true",1,1,50,100,40,60,100,-500,,,"sc/effects.sc","Death_blue_sparkle2","true","true",20,10,300,50,
"tesla_smoke_hit",4,50,100,1,5,500,700,-90,90,,"true",,,30,50,,80,120,,,,"sc/effects.sc","d2","true",,60,80,1200,100,
"tesla_spot_hit",1,,100,,,500,700,,,,,,,,,,,,,,,"sc/effects.sc","SparkleBlue",,,150,80,,,
"tesla_electric_hit",2,450,450,50,75,400,400,-360,360,,"true",1,2,25,30,23,,,,,,"sc/effects.sc","electricity","true",,60,50,,200,
"summoner_attack_start",10,,,,,500,1500,,360,"true",,,,5,25,60,80,120,-60,,250,"sc/effects.sc","smoke_cloud_1","true","true",75,40,1800,,
"chr_wiz_hit_sparks",9,190,190,1,3,800,900,,360,,"true",1,1,60,65,20,200,300,-2000,,20,"sc/effects.sc","SparkleBlue","true",,50,1,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","SparkleBlue",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","SparkleBlue",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal4",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal3",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","particle_coal2",,,,,,,
"chr_wiz_hit_fire",8,300,300,1,1,700,700,,360,,,2,3,,5,,150,200,1250,1000,1000,"sc/effects.sc","FireParticle1",,,60,40,800,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","FireParticle2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","FireParticle3",,,,,,,
"chr_wiz_hit_smoke",34,100,100,1,1,800,1200,,360,,"true",1,2,10,25,,20,50,150,,,"sc/effects.sc","explosion_cloud_1","true","true",60,80,1500,,
"KingTower_destroyed_ground",1,,,,,800000,800000,,,,,,,,,,,,,,,"sc/building_tower.sc","Tower_destroyed_ground2",,,,,,,
"Spell_ligntning_smoke1",16,190,190,1,3,1000,1500,,360,,"true",2,3,30,40,42,25,25,,,,"sc/effects.sc","Smoke_puff_01","true",,35,55,800,10,
"Spell_lightning_Flash",1,,100,,5,100,150,,360,,,,,,,,,,,,,"sc/effects.sc","ExplosionGroundGlowBlue",,,80,80,50,,
"Spell_lightning_bolt",1,1,1,,,300,300,,,,,1,1,,,11,,,,,,"sc/effects.sc","lightning_bolt",,,100,100,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","lightning_bolt2",,,,,,,
"Spell_lightning_hitSpot",1,,100,,,1500,1500,,,,,,,,,,,,,,,"sc/effects.sc","SparkleBlue",,,200,200,500,,
"Spell_lightning_hitSpot2",1,,100,,,1500,1500,,,,,,,,,,,,,,,"sc/effects.sc","Deco_small_glow2",,,100,100,500,,
"Spell_lightning_sparks",10,300,300,10,10,400,600,,360,,"true",1,1,80,150,35,150,150,,,,"sc/effects.sc","Sparkle","true",,80,80,250,20,
"Spell_zap_smoke1",8,190,190,1,3,1000,1200,,360,,"true",1,2,10,25,42,10,20,,,,"sc/effects.sc","Smoke_puff_01","true",,25,35,1000,10,
"Spell_zap_hitSpot",1,,100,,,1500,2000,,,,,,,,,,,,,,,"sc/effects.sc","SparkleBlue",,,200,200,500,,
"Spell_zap_hitSpot2",1,,100,,,1000,1000,,,,,,,,,,,,,,,"sc/effects.sc","Deco_small_glow2",,,80,40,500,,
"Spell_zap_sparks",6,300,300,10,10,400,600,,360,,"true",1,1,50,150,35,50,100,-1000,,,"sc/effects.sc","Death_blue_sparkle1","true",,20,30,400,20,
"Spell_zap_Flash",1,,100,,5,100,150,,360,,,,,,,,,,,,,"sc/effects.sc","ExplosionGroundGlowBlue",,,40,40,50,,
"Spell_zap_bolt",1,1,1,,,200,250,,,,,1,1,,,11,,,,,,"sc/effects.sc","zap_bolt1",,,100,100,250,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","zap_bolt2",,,,,,,
"MegaBomb_destroyed_ground",1,,,,,5000,5000,,,,,,,,,,,,,,,"sc/building_mega_bomb.sc","bomb_destruction_state",,,100,100,1000,,
"MegaBomb_explode_smoke",10,150,200,1,3,1000,2000,,360,"true",,,2,10,25,33,90,100,,,50,"sc/effects.sc","smoke_cloud_1","true","true",200,50,1200,,
"MegaBomb_explode_debris",14,350,350,,10,600,2000,,360,"true","true",2,4,50,60,,300,1000,-3500,,,"sc/effects.sc","Rock1Particle","true",,80,90,,,
"MegaBomb_explode_debris2",5,350,350,,10,600,2000,,360,"true","true",2,4,50,60,,300,600,-1000,,,"sc/effects.sc","towerExplode_wall2","true",,80,80,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","towerExplode_wall1",,,,,,,
"MegaBomb_explosion_glow",8,100,100,1,1,450,800,,360,,"true",1,5,,,11,,,50,,,"sc/effects.sc","Deco_fireplace_glow","true",,120,100,1000,,
"MagaBomb_FireRing",16,120,250,,,200,550,100,360,,"true",-1,2,60,120,,10,150,,60,200,"sc/effects.sc","FireParticle1",,,110,50,50,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","FireParticle2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","fireball_trail2",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","fireball_trail2",,,,,,,
"Spell_lightning_Rock_debris",10,400,400,,5,800,1200,,360,,"true",,,80,100,9,200,300,-1000,,,"sc/effects.sc","Rock1Particle",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Rock2Particle",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Rock3Particle",,,,,,,
"Spell_lightning_Rock_debris2",5,400,400,,5,800,1200,,360,,"true",,,80,100,9,200,300,-2500,,,"sc/effects.sc","towerExplode_wall2","true",,80,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","towerExplode_wall3",,,,,,,
"Spell_lightning_electric",3,800,1200,10,50,150,200,-180,,,"true",-6,6,10,30,,,,,,,"sc/effects.sc","electricity","true","true",60,70,300,30,
"chest_landing_puff",11,190,190,1,3,2200,2500,,360,,"true",1,5,,30,,50,150,,,,"sc/effects.sc","Smoke_puff_01","true",,40,90,6000,30,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Smoke_puff_02",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Smoke_puff_03",,,,,,,
"chest_landing_goldDust",8,800,800,5,10,600,800,,360,,"true",-8,8,15,30,,100,200,35,,,"sc/effects.sc","golden_dust",,,35,10,500,1,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","golden_dust2",,,,,,,
"chest_landing_magicDust",16,800,800,5,10,600,800,,360,,"true",-8,8,15,30,,100,200,35,,,"sc/effects.sc","inferno_hit",,,50,10,500,1,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_purple_sparkle2",,,,,,,
"chest_landing_goldDust2",8,800,800,5,10,600,800,,360,,"true",-8,8,15,30,,100,200,35,,,"sc/effects.sc","golden_dust",,,15,10,500,1,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","golden_dust2",,,,,,,
"chest_landing_metalHit",16,250,250,1,10,1000,1200,,360,"true","true",,2,50,80,,100,150,-1000,,,"sc/effects.sc","d4","true",,80,100,2000,10,
"chest_landing_goldFlash",2,,,,,400,500,,,"true",,,,,,,,,,,,"sc/effects.sc","Deco_small_glow","true",,100,200,,,
"chest_landing_magicFlash",1,,,,,400,500,,360,"true",,,,,,,,,,,,"sc/effects.sc","rage_effect_glow1",,,50,80,300,,
"chest_landing_magicBurst",15,1,1,,1,900,1800,,360,"true",,,10,,100,,,,200,,,"sc/effects.sc","inferno_hit",,"true",100,10,300,50,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_purple_sparkle2",,,,,,,
"chest_landing_goldBurst",15,1,1,,1,900,1800,,360,"true",,,10,,100,,,,200,,,"sc/effects.sc","golden_dust2",,"true",50,10,300,50,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","golden_dust",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Deco_small_glow2",,,,,,,
"openChest_get_rare",25,200,200,,10,400,550,,360,,"true",1,5,200,250,40,150,250,-50,,,"sc/effects.sc","Sparkle",,,200,300,,,
"balloon_die_puff",11,,,,,800,1000,,360,,"true",2,3,15,20,97,100,120,25,,,"sc/effects.sc","tower_destr_cloud_1",,,,,900,,
"ballon_die_smoke",17,100,100,1,1,1000,1500,,360,,"true",,3,10,35,157,50,60,50,,,"sc/effects.sc","smoke_cloud_1","true","true",60,125,3000,25,
"FlameEmitterSlow",8,,,170,200,1600,1800,,,,,,,,,50,50,60,,,,"sc/effects.sc","FireParticle1",,,100,60,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","FireParticle2",,,100,60,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","FireParticle3",,,100,60,,,
"xp_levelup_flash",8,,,,,500,800,,360,"true",,,,100,,,,,,,,"sc/effects.sc","Death_blue_smoke",,,50,300,600,,
"xp_levelup_burst",23,1,1,,1,900,1800,,360,"true",,,10,100,250,,,,100,,,"sc/effects.sc","Death_blue_sparkle2",,"true",100,10,300,50,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_blue_sparkle4",,,,,,,
"xp_levelup_sparks",16,800,800,5,10,600,800,,360,,"true",-8,8,50,80,,100,200,35,,,"sc/effects.sc","Death_blue_sparkle2",,,50,10,500,1,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","Death_blue_sparkle3",,,,,,,
"Inferno_loop1",8,410,800,1,10,300,700,,360,"true","true",2,2,,5,,,100,60,,,"sc/effects.sc","FireParticle1_small",,"true",150,50,300,25,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","FireParticle2_small",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","FireParticle3_small",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","fireplace_particle",,,,,,,
"Inferno_loop2",2,450,750,20,50,200,200,,360,,"true",3,3,1,5,,,,200,,,"sc/effects.sc","FireParticle2_small",,"true",160,50,200,,"Tower_fire_glow1_enemy"
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","FireParticle3_small",,,,,,,
,,,,,,,,,,,,,,,,,,,,,,"sc/effects.sc","fireplace_particle",,,,,,,
1 Name ParticleCount MinLife MaxLife ParticleMinInterval ParticleMaxInterval ParticleMinLife ParticleMaxLife ParticleMinAngle ParticleMaxAngle ParticleAngleRelativeToParent ParticleRandomAngle ParticleMinRadius ParticleMaxRadius ParticleMinSpeed ParticleMaxSpeed ParticleStartZ ParticleMinVelocityZ ParticleMaxVelocityZ ParticleGravity ParticleMinTailLength ParticleMaxTailLength ParticleResource ParticleExportName RotateToDirection LoopParticleClip StartScale EndScale FadeOutDuration Inertia EnemyVersion
2 string int int int int int int int int int boolean boolean int int int int int int int int int int string string boolean boolean int int int int string
3 RootRocks1 5 400 400 5 800 1200 360 true 1 1 10 90 5 100 250 -2000 sc/effects.sc Rock1ParticleSmall
4 sc/effects.sc Rock2ParticleSmall
5 sc/effects.sc Rock3ParticleSmall
6 Arrows Hit Ground 1 1 200 1500 1900 true sc/level.sc Arrow_enemy_ground_anim_1 true 500
7 sc/level.sc Arrow_enemy_ground_anim_2
8 sc/level.sc Arrow_enemy_ground_anim_3
9 sc/level.sc Arrow_enemy_ground_anim_4
10 sc/level.sc Arrow_enemy_ground_anim_5
11 sc/level.sc Arrow_enemy_ground_anim_6
12 SmokeEmitter 8 1 1 1000 1500 360 20 20 sc/effects.sc SmokeSmall
13 SewerSteam 7 250 350 3100 3350 190 280 true true 1 2 10 30 sc/effects.sc SteamSmall
14 BloodSpatter1 10 100 200 50 150 250 360 true 1 1 70 100 40 1 50 sc/effects.sc BloodSpatter1
15 sc/effects.sc BloodSpatter2
16 sc/effects.sc BloodSpatter3
17 FireRingEmitter 16 120 250 200 550 100 360 true -1 2 60 120 10 150 60 200 sc/effects.sc FireParticle1 110 50 50
18 sc/effects.sc FireParticle2
19 sc/effects.sc FireParticle3
20 SparkEmitter1 50 100 200 200 500 360 true 100 100 100 200 300 sc/effects.sc Sparkle
21 Smoker2 17 500 700 1700 2000 270 20 true 15 45 30 80 sc/effects.sc SmokeSmallSlow
22 SmokePuff 8 1 1 600 1500 360 true 20 20 40 100 sc/effects.sc RisingSmoke
23 Stunner 9 100 200 100 400 360 true 400 500 80 100 200 400 sc/effects.sc SparkleBlue
24 Steamer 3 1100 1500 100 150 sc/effects.sc smoke_cloud_1
25 PoisonSteamer 5 50 200 600 3000 180 270 true 1 5 30 5 6 -900 sc/effects.sc poisoncloud_small
26 PoisonCloud_2 40 1 500 700 1400 360 true 10 50 -3000 sc/effects.sc poisoncloud_big
27 sc/effects.sc poisoncloud_small
28 FireStorm 4 1300 1500 50 140 700 1100 true 45 90 sc/effects.sc Fire2_particle1
29 sc/effects.sc Fire2_particle3
30 sc/effects.sc Fire2_particle4
31 sc/effects.sc Fire2_particle5
32 FireBall 6 100 700 1000 sc/effects.sc Fire2_rotator1
33 sc/effects.sc Fire2_rotator2
34 sc/effects.sc Fire2_rotator3
35 HitEffectParticles 20 100 100 10 150 200 1 360 true 2 2 300 350 60 100 100 150 sc/effects.sc Sparkle
36 SlowSparkles 10 100 120 1000 2000 360 true 2 2 35 50 80 sc/effects.sc Sparkle
37 BlueSparkEmitter 10 150 150 10 200 350 360 true 500 200 200 100 300 sc/effects.sc SparkleBlue
38 LightningBurst 5 250 400 100 150 450 600 true 3 3 60 sc/effects.sc Lightning true
39 sc/effects.sc Lightning2
40 sc/effects.sc Lightning4
41 LightningGlow 8 500 500 20 50 200 450 true 1 1 200 200 35 sc/effects.sc ElectricGlow true
42 BlueSparksEmitter 8 100 5000 10 40 300 600 160 true -25 25 10 100 20 100 300 sc/effects.sc SparkleBlue 200 100
43 DirectionalBlueSparkEmitter 30 500 500 40 300 400 true 2 2 100 200 35 sc/effects.sc SparkleBlueOffset1 true
44 sc/effects.sc SparkleBlueOffset2
45 sc/effects.sc SparkleBlueOffset3
46 sc/effects.sc SparkleBlueOffset4
47 FlameEmitter 5 150 200 1200 1200 90 100 sc/effects.sc FireParticle1
48 sc/effects.sc FireParticle2
49 sc/effects.sc FireParticle3
50 FlameEmitter_small 15 1000 2500 150 200 400 800 90 100 sc/effects.sc FireParticle1_small
51 sc/effects.sc FireParticle2_small
52 sc/effects.sc FireParticle3_small
53 FlameArrowEmitter_small 10 1 1 1 50 200 500 29 90 100 sc/effects.sc FireParticle1_small
54 sc/effects.sc FireParticle2_small
55 sc/effects.sc FireParticle3_small
56 Black_spot 1 2500 3000 sc/effects.sc dark_spot
57 WallExplosion 10 200 200 20 250 300 360 true 100 140 40 sc/effects.sc FireParticle1
58 sc/effects.sc FireParticle2
59 sc/effects.sc FireParticle3
60 WallExplosionSparks1 20 200 200 10 250 350 360 true 200 250 sc/effects.sc Sparkle
61 Explosion Pilar 15 600 600 20 60 1000 1200 230 280 1 1 50 50 35 10 10 500 sc/effects.sc Fire2_rotator1
62 sc/effects.sc Fire2_rotator2
63 sc/effects.sc Fire2_rotator3
64 Rock Pieces Emitter 13 400 400 5 800 1200 360 true 30 150 20 100 250 -2000 sc/effects.sc Rock1Particle
65 sc/effects.sc Rock2Particle
66 sc/effects.sc Rock3Particle
67 GlassShatterEmitter 10 1 500 900 360 true 70 120 60 120 -1500 sc/effects.sc GlassShard1
68 sc/effects.sc GlassShard2
69 sc/effects.sc GlassShard3
70 sc/effects.sc GlassShard4
71 sc/effects.sc GlassShard5
72 sc/effects.sc GlassShard6
73 sc/effects.sc GlassShard7
74 sc/effects.sc GlassShard8
75 GlassShatterEmitter2 30 200 400 1 20 500 1900 360 true true 10 40 71 40 100 -1500 sc/effects.sc GlassShard1 true
76 sc/effects.sc GlassShard2
77 sc/effects.sc GlassShard3
78 sc/effects.sc GlassShard4
79 sc/effects.sc GlassShard5
80 sc/effects.sc GlassShard6
81 sc/effects.sc GlassShard7
82 sc/effects.sc GlassShard8
83 GlassShatterEmitter3 10 1 500 500 360 true 20 140 100 60 150 -1500 sc/effects.sc GlassShard1
84 sc/effects.sc GlassShard2
85 sc/effects.sc GlassShard3
86 sc/effects.sc GlassShard4
87 sc/effects.sc GlassShard5
88 sc/effects.sc GlassShard6
89 sc/effects.sc GlassShard7
90 sc/effects.sc GlassShard8
91 PoisonDropsEmitter 25 300 5 20 500 550 360 true 80 25 100 130 -1000 1 5 sc/effects.sc PoisonParticle1
92 sc/effects.sc PoisonParticle2
93 sc/effects.sc PoisonParticle3
94 sc/effects.sc PoisonParticle4
95 sc/effects.sc PoisonParticle5
96 PoisonSteamSmall 5 2000 4000 1800 3000 180 270 true 1 6 20 1 2 -900 sc/effects.sc egg_steamer
97 SmokeBomb_smoke1 28 1100 2500 500 true 5 5 10 100 1000 sc/effects.sc Steam
98 SmokeBomb_smoke2 28 1100 2500 500 true 9 9 10 10 1000 sc/effects.sc Steam
99 SmokeBomb_smoke3 28 1100 3000 350 true 14 14 10 10 1000 sc/effects.sc Steam
100 FireSpirit_emitter 4 1 1 1 1 340 700 180 true 15 120 sc/effects.sc Fire2_particle1
101 Fireplace_emitter 2 1 100 1 50 500 900 180 true 53 100 sc/effects.sc Fire2_particle1
102 sc/effects.sc Fire2_particle4
103 sc/effects.sc Fire2_particle5
104 HotHoals1 28 1000 1 2 2500 5000 360 true true 3 3 30 1000 -3500 sc/effects.sc particle_coal1
105 sc/effects.sc particle_coal2
106 sc/effects.sc particle_coal3
107 sc/effects.sc particle_coal4
108 sc/effects.sc particle_coal5
109 sc/effects.sc particle_coal6
110 sc/effects.sc particle_coal7
111 sc/effects.sc particle_coal8
112 sc/effects.sc particle_coal9
113 sc/effects.sc particle_coal10
114 sc/effects.sc Sparkle
115 sc/effects.sc Sparkle
116 sc/effects.sc Sparkle
117 HotCoals_sparks 4 100 5000 50 300 800 360 true 7 7 10 80 10 100 500 sc/effects.sc SparkleBlue
118 HotHoals_loop 30 5000 1 10 4000 5000 360 true true 7 7 10 500 -2000 sc/effects.sc particle_coal1 true
119 sc/effects.sc particle_coal2
120 sc/effects.sc particle_coal3
121 sc/effects.sc particle_coal4
122 sc/effects.sc particle_coal5
123 sc/effects.sc particle_coal6
124 sc/effects.sc particle_coal7
125 sc/effects.sc particle_coal8
126 sc/effects.sc particle_coal9
127 sc/effects.sc particle_coal10
128 sc/effects.sc Sparkle
129 sc/effects.sc Sparkle
130 sc/effects.sc Sparkle
131 HotCoals_loop2 5 1000 1 200 500 1200 360 true true 7 7 300 sc/effects.sc Sparkle true
132 sc/effects.sc Sparkle
133 sc/effects.sc Sparkle
134 HotCoals_loop3 12 3000 1 100 100 3000 360 true true 4 4 10 500 -2000 sc/effects.sc particle_coal1 true
135 sc/effects.sc particle_coal2
136 sc/effects.sc particle_coal3
137 sc/effects.sc particle_coal4
138 sc/effects.sc particle_coal5
139 sc/effects.sc particle_coal6
140 sc/effects.sc particle_coal7
141 sc/effects.sc particle_coal8
142 sc/effects.sc particle_coal9
143 sc/effects.sc particle_coal10
144 sc/effects.sc Sparkle
145 sc/effects.sc Sparkle
146 sc/effects.sc Sparkle
147 HotCoals_loop4 30 4000 1 10 4000 5000 360 true true 10 10 10 500 -2000 sc/effects.sc particle_coal1 true
148 sc/effects.sc particle_coal2
149 sc/effects.sc particle_coal3
150 sc/effects.sc particle_coal4
151 sc/effects.sc particle_coal5
152 sc/effects.sc particle_coal6
153 sc/effects.sc particle_coal7
154 sc/effects.sc particle_coal8
155 sc/effects.sc particle_coal9
156 sc/effects.sc particle_coal10
157 sc/effects.sc Sparkle
158 sc/effects.sc Sparkle
159 sc/effects.sc Sparkle
160 HotCoals_darken 9 1 10000 1 2000 5000 360 true 4 4 sc/effects.sc darken_gradient
161 HotCoals_darken2 6 1 10000 1 2000 5000 360 true 9 9 sc/effects.sc darken_gradient
162 DragSparkEmitter 30 500 500 40 300 400 90 90 true 2 2 100 200 35 sc/effects.sc SparkleBlueOffset1 true
163 sc/effects.sc SparkleBlueOffset2
164 sc/effects.sc SparkleBlueOffset3
165 sc/effects.sc SparkleBlueOffset4
166 Fireplace_particles_loop 2 100 100 1 20 500 900 true 2 30 10 100 100 20 sc/effects.sc fireplace_particle true
167 Fireplace_bouncy_particles_loop 1 100 100 1 20 1300 1900 1 360 true 3 3 10 20 37 20 200 -1000 20 sc/effects.sc fireplace_particle true
168 Musketeer_smoke1 10 1100 2500 360 true 5 15 50 90 -20 1000 sc/effects.sc smoke_cloud_1 true true 100 1 300
169 Musketeer_smoke_shadow 5 1100 2500 360 true -5 -15 -50 -90 -20 1000 sc/effects.sc smoke_cloud_1 true true 80 30 2000
170 Musketeer_glow 1 400 600 sc/effects.sc Deco_small_glow
171 Musketeer_fireParticles 3 500 800 -40 40 true true 100 200 10 200 -200 sc/effects.sc fireplace_particle 180 10 200
172 Musketeer_glow_top 1 1200 1400 40 40 30 sc/effects.sc Deco_small_glow2 100
173 Haze1 9 10000 1000 3000 9000 360 20 7 sc/effects.sc Haze1 7000
174 sc/effects.sc Haze2
175 sc/effects.sc Haze3
176 Fireball_explosion_smoke 34 100 100 1 1 1500 2300 360 true 3 7 10 15 14 20 30 10 sc/effects.sc explosion_cloud_1 true true 100 120 1500 20
177 Fireball_explosion_sparks 22 190 190 1 3 800 900 360 true 1 3 70 80 73 500 900 -2000 20 sc/effects.sc SparkleBlue true 100 1
178 sc/effects.sc SparkleBlue
179 sc/effects.sc SparkleBlue
180 sc/effects.sc particle_coal4
181 sc/effects.sc particle_coal3
182 sc/effects.sc particle_coal2
183 Fireball_explosion_glow 12 190 190 1 3 1200 2800 -30 30 true 2 50 10 20 90 35 sc/effects.sc Death_blue_smoke true 23 30 3500 40
184 explosion_lava 15 200 200 20 900 1000 360 true 1 1 40 90 30 800 900 -3000 3 15 sc/effects.sc particle_coal9 true 120 20
185 explosion_gradients 1 190 190 1 1 4000 5000 true sc/effects.sc darken_gradient 135 135
186 explosion_base 32 100 100 1 1 1800 2200 360 true true 1 8 50 -3500 sc/effects.sc particle_coal1 true 300
187 sc/effects.sc particle_coal2
188 sc/effects.sc particle_coal3
189 sc/effects.sc particle_coal4
190 sc/effects.sc particle_coal5
191 sc/effects.sc particle_coal6
192 sc/effects.sc particle_coal7
193 sc/effects.sc particle_coal8
194 sc/effects.sc particle_coal9
195 sc/effects.sc particle_coal10
196 explosion_shadow 12 100 100 1 1 2700 2800 360 true 4 7 sc/effects.sc explosion_cloud_1 true true 150 150 5000
197 explosion_fire 4 300 300 1 1 1200 1200 360 1 7 1 10 90 100 sc/effects.sc FireParticle1 200 50 1500
198 sc/effects.sc FireParticle2
199 sc/effects.sc FireParticle3
200 explosion_continousFire 8 1500 1500 150 100 700 800 360 true 1 3 10 300 sc/effects.sc MolotovTrailParticle true 200 1
201 explosion_glow 8 100 100 1 1 500 2500 360 true 1 5 25 100 sc/effects.sc Deco_fireplace_glow true 150 50 2000
202 FireBreath_attack_sparks 29 800 800 1 20 500 800 -40 40 true true 100 200 20 10 200 -200 sc/effects.sc fireplace_particle 180 10 500
203 FireBreath_attack_glow 19 400 400 40 80 600 1800 -10 10 2 40 60 9 sc/effects.sc Deco_small_glow 1 150 50
204 FireBreath_attack_flames 42 800 800 5 20 350 450 -15 25 true true 80 150 20 30 sc/effects.sc FireParticle3 true 1 130 300 30
205 sc/effects.sc FireParticle1
206 sc/effects.sc FireParticle2
207 Death_sparkle 8 180 180 1 3 300 800 -15 15 true 40 100 44 80 230 -600 sc/effects.sc Death_blue_sparkle1 true 90 10 1000 30 Death_sparkle_purple
208 sc/effects.sc Death_blue_sparkle2
209 sc/effects.sc Death_blue_sparkle3
210 sc/effects.sc Death_blue_sparkle4
211 TargetDummy_planks 31 130 130 2 5 500 1200 360 true 1 3 10 100 8 100 300 -500 sc/effects.sc crate_particle_1 true 120 10 20
212 sc/effects.sc crate_particle_2
213 sc/effects.sc crate_particle_3
214 TargetDummy_planks2 15 130 130 2 5 2500 3000 360 true 1 3 10 50 4 400 700 -1200 sc/effects.sc crate_particle_1 true 100 50 20
215 sc/effects.sc crate_particle_2
216 sc/effects.sc crate_particle_3
217 TargetDummy_smoke 10 150 150 1 3 1100 2500 360 true 2 5 15 59 50 90 -20 1000 sc/effects.sc smoke_cloud_1 true true 140 1 400
218 Death_sparkle_still1 12 180 180 1 3 300 2500 -20 20 true 2 35 25 50 -150 sc/effects.sc Death_blue_sparkle1 true 80 10 2000 25 Death_sparkle2_purple
219 sc/effects.sc Death_blue_sparkle2
220 sc/effects.sc Death_blue_sparkle3
221 sc/effects.sc Death_blue_sparkle4
222 death_sparkle_still2 17 180 180 1 3 300 3000 -30 30 true 2 45 45 30 -150 sc/effects.sc Death_blue_sparkle1 true 60 10 2500 25 Death_sparkle3_purple
223 sc/effects.sc Death_blue_sparkle2
224 sc/effects.sc Death_blue_sparkle3
225 sc/effects.sc Death_blue_sparkle4
226 Death_blue_smoke_shadow 6 190 190 1 3 1200 2800 -30 30 true 2 50 -20 -90 -35 sc/effects.sc Death_blue_smoke true 25 40 2500 40
227 ExplosiveBarrel_cont_glow1 10 1000 1000 5 500 2200 500 1 65 sc/effects.sc Deco_small_glow2 20 40 500
228 ExplosiveBarrel_cont_glow2 10 1000 1000 5 500 2200 500 1 65 sc/effects.sc Deco_small_glow2 20 40 500
229 ExplosiveBarrel_cont_glow3 5 1000 1000 2 50 2200 500 1 65 sc/effects.sc Deco_small_glow2 20 40 500
230 ExplosiveBarrel_cont_sparks 9 100 5000 50 100 2900 360 true 50 61 100 250 -500 100 sc/effects.sc SparkleBlue 100 10 200 25
231 Death_sparkle_purple 8 180 180 1 3 300 800 -15 15 true 40 100 44 80 230 -600 sc/effects.sc Death_purple_sparkle1 true 90 10 300 30
232 sc/effects.sc Death_purple_sparkle2
233 sc/effects.sc Death_purple_sparkle3
234 sc/effects.sc Death_purple_sparkle4
235 Death_sparkle2_purple 12 180 180 1 3 600 2900 -20 20 true 2 35 25 50 -150 sc/effects.sc Death_purple_sparkle1 true 80 10 1600 25
236 sc/effects.sc Death_purple_sparkle2
237 sc/effects.sc Death_purple_sparkle3
238 sc/effects.sc Death_purple_sparkle4
239 Death_sparkle3_purple 17 180 180 1 3 300 3500 -30 30 true 2 45 45 30 -150 sc/effects.sc Death_purple_sparkle1 true 60 10 2900 25
240 sc/effects.sc Death_purple_sparkle2
241 sc/effects.sc Death_purple_sparkle3
242 sc/effects.sc Death_purple_sparkle4
243 Death_enemy_puff 12 190 190 1 3 1200 2800 -30 30 true 2 50 10 20 90 35 sc/effects.sc explosion_purple_glow1 true 23 30 2000 40
244 Death_player_puff 12 190 190 1 3 1200 2800 -30 30 true 2 50 10 20 90 35 sc/effects.sc Death_blue_smoke true 23 30 3500 40 Death_enemy_puff
245 ArcherTower_particle1 1 180 180 1 3 1000 1200 360 true 10 50 450 600 -2000 sc/effects.sc SparkleBlue 100 80 200 55
246 ArcherTower_particle2 1 180 180 1 3 1500 1600 360 true 10 50 250 300 -2000 sc/effects.sc SparkleBlue 100 80 200 55
247 ArcherTower_particle3 2 200 5 250 250 360 true 47 sc/effects.sc particle_coal6 100 200 400
248 ArcherTower_particle4 1 180 180 1 3 5000 6000 360 true 5 20 25 30 50 -1000 sc/effects.sc SparkleBlue true 100 80 200 20
249 ArcherTower_particles5 1 180 180 1 3 5000 6000 360 true true 20 20 93 250 260 -1000 sc/effects.sc SparkleBlue true 100 80 200 20
250 ArcherTower_particle6 2 180 250 1 5 5000 6000 360 true 20 20 93 200 250 -1000 sc/effects.sc SparkleBlue true 100 80 200 20
251 sc/effects.sc SparkleBlue
252 sc/effects.sc SparkleBlue
253 ArcherTower_particle7 66 250 250 1 10 1000 1600 360 true true 2 50 80 74 100 850 -1000 sc/effects.sc SparkleBlue true 130 40 200 25
254 sc/effects.sc SparkleBlue
255 sc/effects.sc SparkleBlue
256 sc/effects.sc SparkleBlue
257 ArcherTower_destruction_smoke 13 1000 1000 1 5 2000 4300 360 true 3 5 10 15 14 20 30 10 sc/effects.sc explosion_cloud_1 true true 100 120 6500 20
258 ArcherTower_destruction_smoke_shadow 9 100 100 1 1 2700 2800 360 true 1 4 sc/effects.sc explosion_cloud_1 true true 150 150 8000
259 ArcherTower_destroyed 1 900000 900000 360 sc/effects.sc SparkleBlue 200
260 AercherTower_particleShadows 16 250 250 1 10 1000 1200 360 true true 6 1 80 -100 -850 -1000 sc/effects.sc SparkleBlue true 80 40 2000 25
261 sc/effects.sc SparkleBlue
262 sc/effects.sc SparkleBlue
263 sc/effects.sc SparkleBlue
264 Projectile_rocket_emitter1 4 150 600 -40 40 true 2 -500 sc/effects.sc fireplace_particle 120 30 200
265 Projectile_rocket_smoke1 5 600 1200 360 true 2 20 1000 sc/effects.sc smoke_cloud_1 true 70 1 400
266 RocketTower_emitter1 12 190 190 1 2 50 500 170 200 true 4 100 300 10 100 200 sc/effects.sc fireplace_particle 150 30 200 25
267 RocketTower_emitter2 6 250 300 170 200 true 4 10 200 1 10 200 sc/effects.sc Deco_small_glow2 130 30 200 25
268 RocketTower_smoke1 9 200 200 1 30 600 2500 170 200 true true 40 80 10 20 -20 sc/effects.sc smoke_cloud_1 true true 100 1 400 25
269 Projectile_emitter_glow1 12 1000 1000 2 50 100 300 360 true 2 sc/effects.sc Deco_small_glow2 true true 1 60
270 RocketTower_destroyed_base 1 900000 900000 360 sc/effects.sc SparkleBlue 200
271 cannon_glow_top 1 1200 1400 40 40 30 sc/effects.sc Deco_small_glow2 100
272 cannon_smoke1 10 500 1500 360 true 5 25 80 120 -60 250 sc/effects.sc smoke_cloud_1 true true 75 40 1800
273 cannon_firePareticles 9 150 150 1 50 300 400 -40 40 true 100 200 10 200 -200 sc/effects.sc fireplace_particle true 180 10 200
274 cannon_glow 1 400 600 true sc/effects.sc Deco_small_glow true
275 cannon_smoke_shadow 5 1100 2500 360 true -5 -15 -50 -90 -20 1000 sc/effects.sc smoke_cloud_1 true true 80 30 2000
276 cannon_hit_rock_emiter 4 200 400 5 400 800 360 true 30 75 35 50 120 -1000 sc/effects.sc Rock1Particle 80 10 50
277 sc/effects.sc Rock2Particle
278 sc/effects.sc Rock3Particle
279 cannon_hit_smokePuff 7 2 2 300 700 10 50 true 30 40 200 250 -1000 sc/effects.sc SteamSmall true true 100 125 250 10
280 cannon_hit_ballBounce 1 300 300 10 40 1000 1000 true 1 1 80 80 150 150 -2000 sc/level.sc projectile_cannonball_large true 100 75 200 10
281 cannonball_bounce_shadow 1 300 300 10 40 1000 1000 1 1 80 80 150 150 -2000 sc/level.sc cannonball_large_shadow 80 55 200 10
282 Wizard_roundBase_player 1 180 180 1 3 5000000 6000000 360 true -1000 sc/effects.sc wizard_roundBase_player true 200 20 Wizard_roundBase_enemy
283 Wizard_roundBase_enemy 1 180 180 1 3 5000000 6000000 360 true -1000 sc/effects.sc wizard_roundBase_enemy 200 20
284 Tower_fire_particles1 3 50 50 1 10 300 700 360 true true 1 100 sc/effects.sc SparkleBlue true 70 20 300 25 Tower_fire_particles1_enemy
285 Tower_fire_glow1 2 150 250 20 50 200 200 3 10 300 sc/effects.sc SparkleBlue 160 20 200 Tower_fire_glow1_enemy
286 sc/effects.sc SparkleBlue
287 Tower_fire_particles2 3 50 50 1 10 500 800 sc/effects.sc SparkleBlue 2000
288 Tower_fire_glow1_enemy 2 150 250 20 50 200 200 3 10 300 sc/effects.sc SparkleBlue 160 20 200
289 sc/effects.sc SparkleBlue
290 Tower_fire_particles1_enemy 3 50 50 1 10 300 700 360 true true 1 100 sc/effects.sc SparkleBlue true 70 20 300 25
291 Tower_fire_particles2_enemy 3 50 50 1 10 500 800 sc/effects.sc SparkleBlue 2000 Tower_fire_particles2_enemy
292 Tower_continuous_particles1 2 3500 3500 3400 3500 600 1200 360 true true 1 35 100 sc/effects.sc SparkleBlue true 70 40 1000 25 Tower_continuous_particles1_enemy
293 Tower_continuous_particles1_enemy 2 3500 3500 3400 3500 600 1200 360 true true 1 35 100 sc/effects.sc SparkleBlue true 70 40 1000 25 Tower_fire_particles1_enemy
294 Tower_projectile_emitter1 1 300 400 sc/effects.sc SparkleBlue 600
295 Tower_projectile_trail1 1 1 1 1 50 200 500 sc/effects.sc Death_blue_sparkle3 true
296 Fear_face_emitter 6 1500 1500 1 100 1200 2500 360 true 6 12 14 20 30 sc/effects.sc Fear_face 40 60 20
297 Fear_face_emitter_shadow 7 1000 1000 1 5 2000 7300 360 12 14 sc/effects.sc Fear_face_shadow 70 40 19000
298 Warhound_tear 7 300 300 50 300 300 360 true 80 100 20 100 150 -1000 sc/effects.sc GlassShard6 50 75
299 piper_attack_emmiter 1 1500 1500 250 500 800 1000 45 60 10 25 50 10 25 10 sc/effects.sc piper_note 40 70
300 piper_hit_emmiter 2 1000 1500 500 500 800 1200 10 15 2 20 20 20 -50 sc/effects.sc piper_note_charm true 60 25
301 FireballEmitterTrail 50 800 800 5 10 600 800 -360 360 true -2 2 1 10 50 200 35 sc/effects.sc fireball_trail1 55 80 500 1
302 sc/effects.sc fireball_trail2
303 fireball_trial_spark 16 800 800 5 10 600 800 360 true -4 4 15 30 100 200 35 sc/effects.sc Sparkle 55 80 500 1
304 fireball_trail_glow 50 800 800 5 10 600 800 -360 360 true -2 2 1 10 50 200 35 sc/effects.sc fireball_trail3 55 80 500 1
305 Wizard_die_player_emitter1 1 1 1 1 1000000 10000000 sc/chr_royal_king.sc King_royal_blue_die1_1 Wizard_die_enemy_emitter1
306 Wizard_die_book_emitter1 1 1 1 1 100000 1000000 360 true 60 70 sc/chr_neutral_wizard.sc Wizard_book_particle1 95 95 50
307 sc/chr_neutral_wizard.sc Wizard_book_particle2
308 sc/chr_neutral_wizard.sc Wizard_book_particle3
309 Wizard_die_enemy_emitter1 1 1 1 1 1000000 10000000 sc/chr_royal_king.sc King_royal_red_die1_1
310 rocketTowerHitsmoke 44 100 100 1 1 1000 1500 360 true -3 3 10 35 66 20 45 50 sc/effects.sc smoke_cloud_1 true true 30 95 5000 20
311 RocketTower_fireworks 14 190 190 1 3 500 1200 360 true 1 1 80 100 100 200 -300 20 sc/effects.sc SparkleBlue true 80 1 100
312 sc/effects.sc SparkleBlue
313 sc/effects.sc particle_coal9
314 sc/effects.sc particle_coal2
315 Wizard_die_player_hat 1 1 1 1 100000 1000000 360 true 60 70 sc/chr_neutral_wizard.sc Wizard_player_hat1 95 95 50 Wizard_die_enemy_hat
316 Wizard_die_enemy_hat 1 1 1 1 100000 1000000 360 true 60 70 sc/chr_neutral_wizard.sc Wizard_enemy_hat1 95 95 50
317 rocketTower_sparks 18 200 200 1 1 200 250 360 -1 200 300 9 50 100 -200 sc/effects.sc hitFx true 30 50 500
318 sc/effects.sc rocketTower_spark2
319 sc/effects.sc rocketTower_spark1
320 fire_sparks2 46 600 650 25 25 500 1200 360 true -3 3 200 300 -200 sc/effects.sc rocketTower_spark1 30 1
321 rocketTower_fireworks2 4 100 100 25 50 450 500 2 280 true -5 5 5 15 45 3 4 sc/effects.sc rocket_tower_hit 100 150 350
322 catapult_hit_smoke 12 1 1 1000 1200 360 100 120 3 10 10 25 sc/effects.sc catapult_hit_cloud_1 800 350
323 catapult_smokePuff 10 100 100 600 1000 45 90 true -2 2 10 80 42 50 120 50 sc/effects.sc catapult_hit_cloud_1 50 80 600 80
324 catapultAttack_smoke 3 600 1000 360 true -1 1 15 35 42 60 80 -100 sc/effects.sc catapult_hit_cloud_1 40 60 600 100
325 catapult_grass_emitter 5 400 400 5 800 1200 360 true 60 150 20 100 250 -2000 sc/effects.sc grass_particle_1 100
326 sc/effects.sc grass_particle_2
327 catapult_rock_Emitter 13 400 400 5 800 1200 360 true 50 150 20 100 250 -2000 sc/effects.sc Rock1Particle 100 150
328 sc/effects.sc Rock2Particle
329 sc/effects.sc Rock3Particle
330 catapult_hit_shadow 8 1 1 1000 1200 360 20 20 -350 sc/effects.sc catapult_hit_cloud_1 1000 10
331 catapult_grass_shadow 4 400 400 5 800 1200 360 true 30 150 100 250 -5000 sc/effects.sc grass_particle_1 100
332 sc/effects.sc grass_particle_2
333 catapultHitSmoke_shadow 1 1 1 1000 1000 -265 -275 true true 40 40 2 sc/effects.sc catapult_hit_cloud_1 true 1000
334 towerExplode_Smoke 10 1 1 800 1000 360 70 75 8 50 sc/effects.sc tower_destr_cloud_1 500 125
335 TowerExplode_sparks 20 200 200 10 250 350 360 true 200 250 sc/effects.sc Sparkle
336 TowerExplode_smokePuff 11 800 1000 360 true 20 40 80 100 25 sc/effects.sc tower_destr_cloud_1 900
337 TowerExplode_explosion 37 100 100 1 1 2500 300 360 true 250 300 sc/effects.sc tower_destr_cloud_2 75
338 sc/effects.sc tower_destr_cloud_2
339 TowerExplode_rockEmitter 23 350 350 10 600 2000 360 true true 2 4 60 300 1000 -3500 sc/effects.sc Rock1Particle true 50 80
340 sc/effects.sc towerExplode_wall1
341 sc/effects.sc towerExplode_wall2
342 sc/effects.sc towerExplode_wall3
343 TowerExplode_grassEmitter 1 5 8000 4000 true -2000 sc/effects.sc star_appear true 50 50
344 towerExplode_Smoke_shadow 10 1 1 800 1000 360 70 75 -50 sc/effects.sc tower_destr_cloud_1 750 125
345 TowerExplode_glass 10 1 1 800 1000 360 true 2 50 90 100 500 -500 sc/effects.sc towerExplode_blue1 true 120 70 300 50 TowerExplode_glass_enemy
346 sc/effects.sc towerExplode_blue2
347 TowerExplode_glass2 10 1 1 800 1000 360 true 2 60 150 90 10 50 sc/effects.sc GlassShard2 true 100 70 300 60
348 sc/effects.sc GlassShard6
349 TowerExplodeBlueShard 1 800 800 sc/effects.sc towerExplode_blueShards 100 100 500 TowerExplodeEnemyShard
350 TowerExplodeEnemyShard 1 800 800 sc/effects.sc towerExplode_enemyShards 100 100 500
351 TowerExplode_glass_enemy 10 1 1 800 1000 360 true 2 50 90 100 500 -500 sc/effects.sc towerExplode_enemy1 true 120 70 300 50
352 sc/effects.sc towerExplode_enemy2
353 tower_destroyed 1 80000 80000 sc/building_general_tower.sc Common_Tower_destroyed 100 100 500
354 GoblinHut_smoke 3 1000 1000 200 200 5800 5800 500 1 10 62 30 40 sc/effects.sc Smoke_goblinHut 35 85 11000 100
355 Goblin_hut_woodExplosion 54 150 150 5 10 1000 1600 360 true true 2 50 80 30 300 700 -1500 sc/effects.sc crate_particle_1 true 100 80 200 25
356 sc/effects.sc crate_particle_2
357 sc/effects.sc crate_particle_3
358 knight_deploy_dustPuff1 12 1 1 800 1300 360 true -1 40 70 20 sc/effects.sc d1 true 150 160 1650 100
359 sc/effects.sc d2
360 sc/effects.sc d3
361 sc/effects.sc d4
362 knight_deploy_rocks_hitGround 13 400 400 5 1300 2000 360 true 3 3 30 50 20 150 500 -2000 sc/effects.sc Rock1Particle 80 50 600 50
363 sc/effects.sc Rock2Particle
364 sc/effects.sc Rock3Particle
365 deploy_unit_blue 1 600 600 360 100 -500 sc/effects.sc wizard_roundBase_player 100 50 250
366 knight_depoy_dustShadow 3 1 1 900 1300 360 true -1 -40 -70 -20 sc/effects.sc d3 true 230 260 1000 100
367 sc/effects.sc d4
368 knight_deploy_dustPuff2 55 1 1 500 600 360 true 3 4 40 50 21 20 25 sc/effects.sc d3 80 80 500 100
369 sc/effects.sc d2
370 sc/effects.sc d3
371 sc/effects.sc d3_green_dark
372 knight_die_particle_shoulders 2 1 1 1 9000 10000 360 true 1 30 50 sc/effects.sc particle_shoulder1 110 100 300 50
373 sc/effects.sc particle_shoulder2
374 sc/effects.sc particle_shoulder3
375 knight_die_particle_sword 1 1 1 1 24000 25000 360 true 50 sc/effects.sc particle_sword 105 100 400 60
376 knight_speps_dust1 3 1 1 600 1100 360 true -1 20 sc/effects.sc d2 true 60 80 800
377 sc/effects.sc d3
378 sc/effects.sc d4
379 Death_elixir_burst1 21 80 80 1 3 300 1000 360 20 70 39 600 -1700 100 sc/effects.sc death_particle_elixir1 100 40 200 55
380 sc/effects.sc death_particle_elixir2
381 Death_elixir_ground1 3 80 80 1 3 3000 4000 360 true 3 10 20 -1700 sc/effects.sc death_ground_elixir1 100 40 2000 100
382 sc/effects.sc death_ground_elixir2
383 sc/effects.sc death_ground_elixir3
384 Tower_destroyed_ground 1 800000 800000 sc/building_tower.sc Tower_destroyed_ground1
385 Big_rock_particle1 1 180 180 1 3 1900 1900 360 true 70 70 15 sc/effects.sc big_rock_particle1 80 80 500 55
386 sc/effects.sc big_rock_particle2
387 giant_deploy_dustPuff 60 1 1 700 750 360 true 4 4 60 80 20 25 sc/effects.sc d3 90 120 600 125
388 sc/effects.sc d2
389 sc/effects.sc d3
390 sc/effects.sc d3_green_dark
391 giant_deploy_rocks_hitGround 13 400 400 5 1300 2000 360 true 3 6 60 80 20 150 500 -2000 sc/effects.sc Rock1Particle 80 50 600 40
392 sc/effects.sc Rock2Particle
393 sc/effects.sc Rock3Particle
394 giant_deploy_dustPuff_shadow 60 1 1 700 750 360 true 4 4 60 80 20 25 sc/effects.sc d3 90 120 700 125
395 sc/effects.sc d2
396 sc/effects.sc d3
397 sc/effects.sc d3_green_dark
398 Clouds_move1 2 50000 50000 65000 75000 8 sc/effects.sc cloud_move1 130 130 3000
399 sc/effects.sc cloud_move2
400 sc/effects.sc cloud_move3
401 sc/effects.sc cloud_move4
402 sc/effects.sc cloud_move5
403 sc/effects.sc cloud_move6
404 giant_steps_dust1 6 1 1 600 1100 360 true 1 2 20 -10 sc/effects.sc d2 true 70 90 800
405 sc/effects.sc d3
406 sc/effects.sc d4
407 giant_death_elixir_burst1 23 80 80 1 3 300 1000 360 20 70 39 600 -1700 100 sc/effects.sc death_particle_elixir1 120 60 200 55
408 sc/effects.sc death_particle_elixir2
409 giant_death_puff1 15 190 190 1 3 1200 2800 -30 30 true 2 4 50 10 20 90 35 sc/effects.sc explosion_purple_glow1 true 40 30 2000 40
410 giant_death_puff1_shadow 6 190 190 1 3 1200 2800 -30 30 true 2 50 -20 -90 -35 sc/effects.sc Death_blue_smoke true 25 40 2500 40
411 giant_death_elixir_ground1 4 80 80 1 3 3000 4000 360 true 3 10 20 -1700 sc/effects.sc death_ground_elixir1 180 40 2000 100
412 sc/effects.sc death_ground_elixir2
413 sc/effects.sc death_ground_elixir3
414 giant_hit_sparks 10 100 100 10 100 100 1 360 true true 2 300 350 50 60 100 500 500 sc/effects.sc Sparkle true 110 150
415 giant_hit_puff1 7 350 400 360 true -2 2 25 20 50 200 250 600 sc/effects.sc d5 true 40 100 600 50
416 giant_hitpuff2 24 400 400 -100 360 true true 100 100 49 sc/effects.sc d3 100 50 500 100
417 Spell_rage_smoke1 16 190 190 1 3 2200 5800 360 true 5 10 50 21 sc/effects.sc explosion_purple_glow1 true 50 100 9000 40
418 Spell_rage_smoke2 16 50 1200 2800 360 true 2 20 50 10 50 1 sc/effects.sc rage_glowPurple 200 50 1000 50
419 Spell_rage_glowFast 1 200 5 200 200 360 true 22 sc/effects.sc rage_effect_glow1 50 130 50
420 Spell_rage_sparckle1 32 180 180 1 3 300 800 360 true 18 40 100 44 80 230 -600 sc/effects.sc Death_purple_sparkle1 true 90 10 300 30
421 sc/effects.sc Death_purple_sparkle2
422 sc/effects.sc Death_purple_sparkle3
423 sc/effects.sc Death_purple_sparkle4
424 Spell_rage_sparkle1_loop 7 180 180 1 3 300 1800 360 true 18 40 100 44 80 230 -600 sc/effects.sc Death_purple_sparkle1 true 90 10 300 30
425 sc/effects.sc Death_purple_sparkle2
426 sc/effects.sc Death_purple_sparkle3
427 sc/effects.sc Death_purple_sparkle4
428 Spell_rage_sparckle2_loop 9 200 1 20 300 1800 360 true 17 19 50 150 -600 sc/effects.sc Death_purple_sparkle1 true 90 10 300 30
429 sc/effects.sc Death_purple_sparkle2
430 sc/effects.sc Death_purple_sparkle3
431 sc/effects.sc Death_purple_sparkle4
432 inferno_hit_sparks 10 150 50 150 250 360 2 2 100 200 40 sc/effects.sc sharp_spark true true 5 20 100
433 inferno_stage2_sparks 28 3000 100 500 600 800 220 310 true 50 70 500 sc/effects.sc inferno_spark 80 130 20
434 inferno_stage3_sparks 27 3000 50 200 600 900 220 310 true 1 2 80 110 700 sc/effects.sc inferno_spark 90 130 30
435 inferno_stage2_peak_flame 27 3000 50 200 800 1200 220 310 true 1 2 10 15 100 sc/effects.sc inferno_spark_red 300 450 70
436 inferno_stage3_peak_flame 32 3000 50 200 950 1350 220 310 true 1 2 10 15 130 sc/effects.sc inferno_spark 400 550 70
437 touch_sparkle1 2 200 200 1 3 800 1500 -180 180 2 5 10 50 100 sc/effects.sc Death_blue_sparkle1 true 60 10 1500 1 Death_sparkle3_purple
438 sc/effects.sc Death_blue_sparkle2
439 sc/effects.sc Death_blue_sparkle3
440 sc/effects.sc Death_blue_sparkle4
441 touch_sparkle2 2 200 200 1 3 800 1500 -180 180 2 5 10 50 100 sc/effects.sc Death_purple_sparkle1 true 60 10 1500 1 Death_sparkle3_purple
442 sc/effects.sc Death_purple_sparkle2
443 sc/effects.sc Death_purple_sparkle3
444 sc/effects.sc Death_purple_sparkle4
445 Small_rock_particle1 8 180 180 1 3 1900 1900 360 true 1 2 25 35 10 sc/effects.sc big_rock_particle1 40 40 500 10
446 sc/effects.sc big_rock_particle2
447 BombTower_hit_flame 50 350 350 5 10 600 800 -360 360 true -2 2 1 10 50 200 35 sc/effects.sc fireball_trail1 70 50 500 1
448 sc/effects.sc fireball_trail2
449 Rocket_Emitter_Smoketrail 55 800 800 5 10 1800 2000 -360 360 true -2 2 35 sc/effects.sc fireball_trail1 120 40 500 20
450 sc/effects.sc fireball_trail2
451 Rocket_Emitter_Sparks 13 800 800 10 600 800 360 true -4 4 15 300 50 35 sc/effects.sc Sparkle 55 80 500 20
452 Rocket_Emitter_Glow 50 800 800 5 10 800 800 -360 360 true -3 3 35 sc/effects.sc fireball_trail3 150 20 1
453 dragon_hit_sparks 15 190 190 1 3 800 900 -65 65 true 1 3 40 60 41 300 500 -2000 20 sc/effects.sc SparkleBlue true 60 1
454 sc/effects.sc SparkleBlue
455 sc/effects.sc SparkleBlue
456 sc/effects.sc particle_coal4
457 sc/effects.sc particle_coal3
458 sc/effects.sc particle_coal2
459 dragon_AttackStart_smoke 9 600 500 5 10 600 800 -360 360 true true -2 2 1 10 40 50 200 35 sc/effects.sc fireball_trail1 true 25 50 300 1
460 sc/effects.sc fireball_trail2
461 DragonEmitterTrail 31 1200 2000 5 10 700 900 -360 360 true 1 5 25 150 35 sc/effects.sc fireball_trail1 35 60 600 1
462 sc/effects.sc fireball_trail2
463 dragon_trail_glow 27 800 800 5 10 600 800 -360 360 true 1 10 50 200 35 sc/effects.sc fireball_trail3 55 80 500 1
464 dragon_fire_hit 11 1 1 100 150 -90 90 true -1 3 2 2 25 sc/level.sc dragon_fire_hit true 120 150 200 125
465 dragon_hit_smoke 10 1 1 600 650 -45 45 true 3 3 50 110 150 200 25 sc/effects.sc fireball_trail2 true 20 120 500 250
466 Spell_freeze_snowflake1_loop 3 180 180 2 2 1000 1000 360 true true 8 9 15 10 66 -40 sc/effects.sc snowflake_anim 50 55
467 Spell_freeze_snowflake2_loop 2 150 150 3 3 1000 1100 360 5 10 14 16 71 2 2 -180 sc/effects.sc snowflake_anim 50 40 100
468 openChest_epic_stars2 22 300 300 2 9 300 800 -180 true 10 400 44 300 900 -1000 sc/effects.sc Death_purple_sparkle1 true 150 10 300 30
469 sc/effects.sc Death_purple_sparkle2
470 sc/effects.sc Death_purple_sparkle3
471 sc/effects.sc Death_purple_sparkle4
472 Card_upgraded_effect1 70 1 1 1 900 1800 360 true 20 100 200 sc/effects.sc Green_sparkle1 true 150 10 300 30
473 sc/effects.sc Green_sparkle2
474 sc/effects.sc Green_sparkle3
475 sc/effects.sc Green_sparkle4
476 Card_upgrade_effect2 22 3000 3000 10 100 900 1800 360 true -20 20 100 200 sc/effects.sc Green_sparkle1 true 150 10 300 30
477 sc/effects.sc Green_sparkle2
478 sc/effects.sc Green_sparkle3
479 sc/effects.sc Green_sparkle4
480 Card_upgrade_effect3 15 1 1 2000 3800 360 true -20 20 50 100 sc/effects.sc Haze1 true 150 10 4000 30
481 openChest_common_effect_smoke 11 190 190 1 3 2200 5800 360 true 3 8 50 41 50 sc/effects.sc Smoke_puff_01 true 40 90 8000 40
482 sc/effects.sc Smoke_puff_02
483 sc/effects.sc Smoke_puff_03
484 openChest_epic_loop1 8 300 300 10 50 300 1500 -180 true -40 50 50 sc/effects.sc Death_purple_sparkle1 true 150 10 500 30
485 sc/effects.sc Death_purple_sparkle2
486 sc/effects.sc Death_purple_sparkle3
487 sc/effects.sc Death_purple_sparkle4
488 tesla_hit_spark 5 200 300 20 20 500 600 360 true 1 1 50 100 40 60 100 -500 sc/effects.sc Death_blue_sparkle2 true true 20 10 300 50
489 tesla_smoke_hit 4 50 100 1 5 500 700 -90 90 true 30 50 80 120 sc/effects.sc d2 true 60 80 1200 100
490 tesla_spot_hit 1 100 500 700 sc/effects.sc SparkleBlue 150 80
491 tesla_electric_hit 2 450 450 50 75 400 400 -360 360 true 1 2 25 30 23 sc/effects.sc electricity true 60 50 200
492 summoner_attack_start 10 500 1500 360 true 5 25 60 80 120 -60 250 sc/effects.sc smoke_cloud_1 true true 75 40 1800
493 chr_wiz_hit_sparks 9 190 190 1 3 800 900 360 true 1 1 60 65 20 200 300 -2000 20 sc/effects.sc SparkleBlue true 50 1
494 sc/effects.sc SparkleBlue
495 sc/effects.sc SparkleBlue
496 sc/effects.sc particle_coal4
497 sc/effects.sc particle_coal3
498 sc/effects.sc particle_coal2
499 chr_wiz_hit_fire 8 300 300 1 1 700 700 360 2 3 5 150 200 1250 1000 1000 sc/effects.sc FireParticle1 60 40 800
500 sc/effects.sc FireParticle2
501 sc/effects.sc FireParticle3
502 chr_wiz_hit_smoke 34 100 100 1 1 800 1200 360 true 1 2 10 25 20 50 150 sc/effects.sc explosion_cloud_1 true true 60 80 1500
503 KingTower_destroyed_ground 1 800000 800000 sc/building_tower.sc Tower_destroyed_ground2
504 Spell_ligntning_smoke1 16 190 190 1 3 1000 1500 360 true 2 3 30 40 42 25 25 sc/effects.sc Smoke_puff_01 true 35 55 800 10
505 Spell_lightning_Flash 1 100 5 100 150 360 sc/effects.sc ExplosionGroundGlowBlue 80 80 50
506 Spell_lightning_bolt 1 1 1 300 300 1 1 11 sc/effects.sc lightning_bolt 100 100
507 sc/effects.sc lightning_bolt2
508 Spell_lightning_hitSpot 1 100 1500 1500 sc/effects.sc SparkleBlue 200 200 500
509 Spell_lightning_hitSpot2 1 100 1500 1500 sc/effects.sc Deco_small_glow2 100 100 500
510 Spell_lightning_sparks 10 300 300 10 10 400 600 360 true 1 1 80 150 35 150 150 sc/effects.sc Sparkle true 80 80 250 20
511 Spell_zap_smoke1 8 190 190 1 3 1000 1200 360 true 1 2 10 25 42 10 20 sc/effects.sc Smoke_puff_01 true 25 35 1000 10
512 Spell_zap_hitSpot 1 100 1500 2000 sc/effects.sc SparkleBlue 200 200 500
513 Spell_zap_hitSpot2 1 100 1000 1000 sc/effects.sc Deco_small_glow2 80 40 500
514 Spell_zap_sparks 6 300 300 10 10 400 600 360 true 1 1 50 150 35 50 100 -1000 sc/effects.sc Death_blue_sparkle1 true 20 30 400 20
515 Spell_zap_Flash 1 100 5 100 150 360 sc/effects.sc ExplosionGroundGlowBlue 40 40 50
516 Spell_zap_bolt 1 1 1 200 250 1 1 11 sc/effects.sc zap_bolt1 100 100 250
517 sc/effects.sc zap_bolt2
518 MegaBomb_destroyed_ground 1 5000 5000 sc/building_mega_bomb.sc bomb_destruction_state 100 100 1000
519 MegaBomb_explode_smoke 10 150 200 1 3 1000 2000 360 true 2 10 25 33 90 100 50 sc/effects.sc smoke_cloud_1 true true 200 50 1200
520 MegaBomb_explode_debris 14 350 350 10 600 2000 360 true true 2 4 50 60 300 1000 -3500 sc/effects.sc Rock1Particle true 80 90
521 MegaBomb_explode_debris2 5 350 350 10 600 2000 360 true true 2 4 50 60 300 600 -1000 sc/effects.sc towerExplode_wall2 true 80 80
522 sc/effects.sc towerExplode_wall1
523 MegaBomb_explosion_glow 8 100 100 1 1 450 800 360 true 1 5 11 50 sc/effects.sc Deco_fireplace_glow true 120 100 1000
524 MagaBomb_FireRing 16 120 250 200 550 100 360 true -1 2 60 120 10 150 60 200 sc/effects.sc FireParticle1 110 50 50
525 sc/effects.sc FireParticle2
526 sc/effects.sc fireball_trail2
527 sc/effects.sc fireball_trail2
528 Spell_lightning_Rock_debris 10 400 400 5 800 1200 360 true 80 100 9 200 300 -1000 sc/effects.sc Rock1Particle
529 sc/effects.sc Rock2Particle
530 sc/effects.sc Rock3Particle
531 Spell_lightning_Rock_debris2 5 400 400 5 800 1200 360 true 80 100 9 200 300 -2500 sc/effects.sc towerExplode_wall2 true 80
532 sc/effects.sc towerExplode_wall3
533 Spell_lightning_electric 3 800 1200 10 50 150 200 -180 true -6 6 10 30 sc/effects.sc electricity true true 60 70 300 30
534 chest_landing_puff 11 190 190 1 3 2200 2500 360 true 1 5 30 50 150 sc/effects.sc Smoke_puff_01 true 40 90 6000 30
535 sc/effects.sc Smoke_puff_02
536 sc/effects.sc Smoke_puff_03
537 chest_landing_goldDust 8 800 800 5 10 600 800 360 true -8 8 15 30 100 200 35 sc/effects.sc golden_dust 35 10 500 1
538 sc/effects.sc golden_dust2
539 chest_landing_magicDust 16 800 800 5 10 600 800 360 true -8 8 15 30 100 200 35 sc/effects.sc inferno_hit 50 10 500 1
540 sc/effects.sc Death_purple_sparkle2
541 chest_landing_goldDust2 8 800 800 5 10 600 800 360 true -8 8 15 30 100 200 35 sc/effects.sc golden_dust 15 10 500 1
542 sc/effects.sc golden_dust2
543 chest_landing_metalHit 16 250 250 1 10 1000 1200 360 true true 2 50 80 100 150 -1000 sc/effects.sc d4 true 80 100 2000 10
544 chest_landing_goldFlash 2 400 500 true sc/effects.sc Deco_small_glow true 100 200
545 chest_landing_magicFlash 1 400 500 360 true sc/effects.sc rage_effect_glow1 50 80 300
546 chest_landing_magicBurst 15 1 1 1 900 1800 360 true 10 100 200 sc/effects.sc inferno_hit true 100 10 300 50
547 sc/effects.sc Death_purple_sparkle2
548 chest_landing_goldBurst 15 1 1 1 900 1800 360 true 10 100 200 sc/effects.sc golden_dust2 true 50 10 300 50
549 sc/effects.sc golden_dust
550 sc/effects.sc Deco_small_glow2
551 openChest_get_rare 25 200 200 10 400 550 360 true 1 5 200 250 40 150 250 -50 sc/effects.sc Sparkle 200 300
552 balloon_die_puff 11 800 1000 360 true 2 3 15 20 97 100 120 25 sc/effects.sc tower_destr_cloud_1 900
553 ballon_die_smoke 17 100 100 1 1 1000 1500 360 true 3 10 35 157 50 60 50 sc/effects.sc smoke_cloud_1 true true 60 125 3000 25
554 FlameEmitterSlow 8 170 200 1600 1800 50 50 60 sc/effects.sc FireParticle1 100 60
555 sc/effects.sc FireParticle2 100 60
556 sc/effects.sc FireParticle3 100 60
557 xp_levelup_flash 8 500 800 360 true 100 sc/effects.sc Death_blue_smoke 50 300 600
558 xp_levelup_burst 23 1 1 1 900 1800 360 true 10 100 250 100 sc/effects.sc Death_blue_sparkle2 true 100 10 300 50
559 sc/effects.sc Death_blue_sparkle4
560 xp_levelup_sparks 16 800 800 5 10 600 800 360 true -8 8 50 80 100 200 35 sc/effects.sc Death_blue_sparkle2 50 10 500 1
561 sc/effects.sc Death_blue_sparkle3
562 Inferno_loop1 8 410 800 1 10 300 700 360 true true 2 2 5 100 60 sc/effects.sc FireParticle1_small true 150 50 300 25
563 sc/effects.sc FireParticle2_small
564 sc/effects.sc FireParticle3_small
565 sc/effects.sc fireplace_particle
566 Inferno_loop2 2 450 750 20 50 200 200 360 true 3 3 1 5 200 sc/effects.sc FireParticle2_small true 160 50 200 Tower_fire_glow1_enemy
567 sc/effects.sc FireParticle3_small
568 sc/effects.sc fireplace_particle

View file

@ -0,0 +1,614 @@
"Name","FileNames","MinVolume","MaxVolume","MinPitch","MaxPitch","Priority","MaximumByType","MaxRepeatMs","Loop","PlayVariationsInSequence","PlayVariationsInSequenceManualReset","StartDelayMinMs","StartDelayMaxMs","PlayOnlyWhenInView","MaxVolumeScaleLimit","NoSoundScaleLimit","PadEmpyToEndMs"
"string","string","int","int","int","int","int","int","int","boolean","boolean","boolean","int","int","boolean","int","int","int"
"60sec_warn_01","sfx/60_sec_warn_02_v2.wav",80,80,100,100,1,1,,,,,,,,,,
"30sec_warn_01","sfx/60_sec_warn_02_v2.wav",90,90,119,119,1,1,,,,,,,,,,
"ScrollAmb01","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"ScrollAmb02","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Menu swipe","sfx/menu_swipe_09.wav",30,30,98,102,1,2,,,,,,,,,,
"Menu bump","sfx/bump_01.wav",20,25,97,103,1,2,,,,,,,,,,
"Menu updown swipe","sfx/up_down_swipe_01.wav",25,28,97,103,1,1,,,,,,,,,,
"Menu press select card","sfx/press_select_button_02.wav",50,50,100,100,1,1,,,,,,,,,,
"Menu press upgrade card","sfx/press_select_button_01.wav",50,50,100,100,1,1,,,,,,,,,,
"Countdown_10","sfx/10_cd_02.wav",84,84,100,100,1,3,,,,,,,,,,
"Countdown_9","sfx/9_cd_02.wav",86,86,100,100,1,3,,,,,,,,,,
"Countdown_8","sfx/8_cd_02.wav",88,88,100,100,1,3,,,,,,,,,,
"Countdown_7","sfx/7_cd_02.wav",90,90,100,100,1,3,,,,,,,,,,
"Countdown_6","sfx/6_cd_02.wav",92,92,100,100,1,3,,,,,,,,,,
"Countdown_5","sfx/5_cd_02.wav",94,94,100,100,1,3,,,,,,,,,,
"Countdown_4","sfx/4_cd_02.wav",96,96,100,100,1,3,,,,,,,,,,
"Countdown_3","sfx/3_cd_02.wav",100,100,100,100,1,3,,,,,,,,,,
"Countdown_2","sfx/2_cd_02.wav",100,100,100,100,1,3,,,,,,,,,,
"Countdown_1","sfx/1_cd_02.wav",100,100,100,100,1,3,,,,,,,,,,
"ButtonClick","sfx/button_click_02.wav",60,60,100,100,1,3,,,,,,,,,,
"ButtonClick2","sfx/menu_click_05.wav",50,50,100,100,1,3,,,,,,,,,,
"AttackButton","sfx/attack_button_01.wav",60,60,100,100,1,3,,,,,,,,,,
"SpellCasting","sfx/spellcast01.wav",30,35,96,104,1,2,,,,,,,,,,
"Wiz voc","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
,"sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
,"sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
,"sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
,"sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
,"sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Protection","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"MindControl","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Invisibility","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"CharacterDeploy","sfx/dummy_01.wav",1,1,98,102,3,1,,,,,,,,,,
"Elf wizard","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Elf warrior","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
,"sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
,"sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Fire elemental","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Fireball explodes","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Flaming wall","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Healing","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Orc","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Arrow fire","sfx/archer_queen_attack_02.wav",45,50,98,102,1,3,,,,,,,,,,
"Fire arrow","sfx/fire_arrows_03.wav",45,50,97,103,1,3,,,,,,,,,,
"Fire ball","sfx/fire_ball_02.wav",50,60,98,102,1,3,,,,,,,,,,
"Fire ball explo","sfx/fire_ball_explo_02.wav",50,60,97,103,1,2,,,,,,,,,,
"Arrow hit ground","sfx/arrow_norm_impact_02.wav",10,15,92,108,1,3,,,,,,,,,,
"Arrow volley hit","sfx/arrow_norm_impact_06.wav",55,60,95,105,2,1,,,,,,,,,,
"Fire arrow volley hit","sfx/fire_arrows_impact_01.wav",45,55,95,105,1,2,,,,,,,,,,
"Blood boil","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Tower explode","sfx/building_destroyed_05.wav",40,40,100,100,1,3,,,,,,,,,,
"Footman deploy","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Footman steps","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
,"sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
,"sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
,"sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Footman attack start","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
,"sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
,"sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
,"sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
,"sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Footman hit","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
,"sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
,"sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
,"sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Footman target","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Footman die","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Knight deploy","sfx/barb_deploy_11v2.wav",50,50,100,100,1,3,,,,,,,,,,
,"sfx/barb_deploy_11v3.wav",50,50,100,100,1,3,,,,,,,,,,
"Knight steps","sfx/knight_footstep_01.wav",40,40,98,102,1,2,,,,,,,,,,
,"sfx/knight_footstep_02.wav",40,40,98,102,1,2,,,,,,,,,,
,"sfx/knight_footstep_03.wav",40,40,98,102,1,2,,,,,,,,,,
,"sfx/knight_footstep_04.wav",40,40,98,102,1,3,,,,,,,,,,
"Knight attack start","sfx/knight_attack_hack_01.wav",1,1,95,105,1,3,,,,,,,,,,
"Knight hit","sfx/knight_attack_hack_01.wav",60,80,98,102,1,3,,,,,,,,,,
"Knight Charge","sfx/knight_charge_02.wav",50,50,98,102,1,3,,,,,,,,,,
"Knight target","sfx/target_01.wav",40,40,98,102,1,3,,,,,,,,,,
"Knight die","sfx/knight_death_01.wav",60,60,100,100,1,5,,,,,,,,,,
"King deploy","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"King steps","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
,"sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
,"sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
,"sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"King attack start","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"King hit","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"King target","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"King die","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Demon deploy","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Demon steps","sfx/dummy_01.wav",1,1,100,100,1,1,,,"true",,,,,,,
,"sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Cat jump","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Cat spawn","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Cat land","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Demon attack start","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Demon hit","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Demon target","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Demon die","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Catapult deploy","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Catapult turn","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Catapult attack start","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Catapult fire","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Catapult reload","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Spell available","sfx/card_ready_02.wav",40,40,100,100,1,1,,,,,,,,,,
"Spell not ready","sfx/spell_not_ready_01.wav",50,50,100,100,1,1,,,,,,,,,,
"Spell ready","sfx/spell_ready_01.wav",40,40,100,100,1,1,,,,,,,,,,
"Mana add","sfx/mana_pool_01.wav",20,20,95,105,1,2,,,,,,,,,,
"Boulder impact","sfx/boulder_impact_01.wav",80,90,95,105,1,2,,,,,,,,,,
"Select spell","sfx/grabcard_01.wav",50,50,98,102,1,2,,,,,,,,,,
"Archer deploy","sfx/clash_archer_deploy_01.wav",50,50,98,102,1,1,,,,,,,,,,
"Archer steps","sfx/gen_troop_step_01.wav",40,40,98,102,1,2,,,,,,,,,,
,"sfx/gen_troop_step_02.wav",40,40,98,102,1,3,,,,,,,,,,
,"sfx/gen_troop_step_03.wav",40,40,98,102,1,2,,,,,,,,,,
,"sfx/gen_troop_step_04.wav",40,40,98,102,1,2,,,,,,,,,,
"Archer attack","sfx/archer_attack_07.wav",22,32,97,103,1,2,,,,,,,,,,
"Archer target","sfx/target_01.wav",1,1,98,102,1,3,,,,,,,,,,
"Arrow hit","sfx/arrow_hit_13.wav",20,25,95,105,1,2,,,,,,,,,,
"Archer attack start","sfx/target_01.wav",1,1,97,103,1,3,,,,,,,,,,
"Archer die","sfx/npc_die_02.wav",1,1,97,103,1,5,,,,,,,,,,
"Root","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Smoke","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Lightning","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Wizard hurt","sfx/wiz_hurt_01.wav",50,50,98,102,1,1,,,,,5000,6000,,,,3000
,"sfx/wiz_hurt_02.wav",50,50,98,102,1,1,,,,,5000,6000,,,,3000
,"sfx/wiz_hurt_03.wav",50,50,98,102,1,1,,,,,5000,6000,,,,3000
,"sfx/wiz_hurt_04.wav",50,50,98,102,1,1,,,,,5000,6000,,,,3000
"Get gold","sfx/get_gold_01v2.wav",30,40,97,103,1,2,,,,,,,,,,
"Get diamonds","sfx/get_diamonds_01.wav",30,35,100,100,1,2,,,,,,,,,,
"get mana","sfx/get_mana_01.wav",50,50,97,103,1,2,,,,,,,,,,
"Builder deploy",,,,,,,,,,,,,,,,,
"Builder steps",,,,,,,,,,,,,,,,,
"Builder attack start",,,,,,,,,,,,,,,,,
"Builder hit",,,,,,,,,,,,,,,,,
"Builder target",,,,,,,,,,,,,,,,,
"Builder die",,1,1,98,102,1,3,,,,,,,,,,
"ArcherTower deploy",,,,,,,,,,,,,,,,,
"ArcherTower attack","sfx/archer_tower_fire_05.wav",40,50,96,103,1,3,,,,,,,,,,
"ArcherTower target",,,,,,,,,,,,,,,,,
"ArcherTower die","sfx/building_destroyed_05.wav",40,40,100,100,1,3,,,,,,,,,,
"FireSpirit deploy","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
,"sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
,"sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"FireSpirit steps",,,,,,,,,,,,,,,,,
"FireSpirit attack start","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"FireSpirit hit","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"FireSpirit die","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Wolf deploy","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Wolf steps",,,,,,,,,,,,,,,,,
"Wolf attack start",,,,,,,,,,,,,,,,,
"Wolf hit",,,,,,,,,,,,,,,,,
"Wolf target",,,,,,,,,,,,,,,,,
"Wolf die",,,,,,,,,,,,,,,,,
"Fireplace deploy","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Fireplace idle",,,,,,,,,,,,,,,,,
"Fireplace attack start",,,,,,,,,,,,,,,,,
"Fireplace hit",,,,,,,,,,,,,,,,,
"Fireplace die",,,,,,,,,,,,,,,,,
"Cauldron deploy","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Cauldron steps",,,,,,,,,,,,,,,,,
"Cauldron hit","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Cauldrond die",,,,,,,,,,,,,,,,,
"Construction deploy 2x2","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Construction deploy 3x3","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Construction destroyed",,,,,,,,,,,,,,,,,
"Generic building ready",,,,,,,,,,,,,,,,,
"Card ready","sfx/card_ready_01.wav",30,30,100,100,1,3,,,,,,,,,,
,"sfx/card_ready_01.wav",30,30,112,112,1,3,,,,,,,,,,
,"sfx/card_ready_01.wav",30,30,126,126,1,3,,,,,,,,,,
,"sfx/card_ready_01.wav",30,30,133,133,1,3,,,,,,,,,,
,"sfx/card_ready_01.wav",30,30,150,150,1,3,,,,,,,,,,
"Scroll open","sfx/scroll_open_01v3333.wav",50,50,99,101,1,4,,,,,,,,,,
"Scroll close","sfx/scroll_close_07.wav",40,40,97,103,1,4,,,,,,,,,,
"Scroll taphold","sfx/scroll_taphold_03.wav",40,40,97,103,1,4,,,,,,,,,,
"Scroll drop","sfx/scroll_drop_02.wav",40,40,97,103,1,4,,,,,,,,,,
"Chest unlockstart","sfx/unlock_chest_start_01.wav",50,50,100,100,4,1,,,,,,,,,,
"Claim chest","sfx/dummy_01.wav",1,1,100,100,4,1,,,,,,,,,,
"Chest discard","sfx/chest_discard_01.wav",50,50,98,102,1,2,,,,,,,,,,
"No workers","sfx/tap_locked_chest_01.wav",40,40,100,100,1,2,,,,,,,,,,
"Cast hot coals","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Hot coals appear","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Hot coals loop","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Growth","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"WizardDeploy","sfx/deploy_wizard_01.wav",70,70,100,100,1,3,,,,,,,,,,
"WizardSteps","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"WizardAttackStart","sfx/wiz_attack_01.wav",65,65,95,105,1,3,,,,,,,,,,
"WizardHit","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"WizardProjectileHit","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"WizardTakeDamage","sfx/wiz_hurt_05.wav",1,1,100,100,1,1,,,,,5000,6000,,,,3000
,"sfx/wiz_hurt_06.wav",1,1,100,100,1,1,,,,,5000,6000,,,,3000
,"sfx/wiz_hurt_07.wav",40,40,98,102,1,1,,,,,5000,6000,,,,3000
,"sfx/wiz_hurt_08.wav",40,40,98,102,1,1,,,,,5000,6000,,,,3000
"WizardDie","sfx/wiz_hurt_05.wav",40,40,98,102,1,1,,,,,5000,6000,,,,3000
,"sfx/wiz_hurt_06.wav",40,40,98,102,1,1,,,,,5000,6000,,,,3000
,"sfx/wiz_hurt_07.wav",40,40,98,102,1,1,,,,,5000,6000,,,,3000
,"sfx/wiz_hurt_08.wav",40,40,98,102,1,1,,,,,5000,6000,,,,3000
"Spell sacrifice","sfx/spell_sacrifice_09.wav",75,75,100,100,1,4,,,,,,,,,,
"Spell fuse","sfx/scroll_fusion_01.wav",60,60,100,100,1,4,,,,,,,,,,
"Enemy on range","sfx/bad_drop_03.wav",60,60,100,100,1,2,,,,,,,,,,
"Unlock with diamonds","sfx/open_chest_diamonds_02.wav",50,50,100,100,1,3,,,,,,,,,,
"Scroll loading","sfx/dummy_01.wav",50,50,100,100,1,3,,,,,,,,,,
"Water of life","sfx/water_of_life_01.wav",1,1,100,100,1,2,,,,,,,,,,
"Musketeer deploy",,,,,,,,,,,,,,,,,
"Musketeer steps",,,,,,,,,,,,,,,,,
"Musketeer attack start",,,,,,,,,,,,,,,,,
"Musketeer fire projectile","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Musketeer special attack start",,,,,,,,,,,,,,,,,
"Musketeer special fire projectile",,,,,,,,,,,,,,,,,
"Musketeer die",,,,,,,,,,,,,,,,,
"Mercenary deploy",,,,,,,,,,,,,,,,,
"Mercenary steps",,,,,,,,,,,,,,,,,
"Mercenary attack start",,,,,,,,,,,,,,,,,
"Mercenary hit",,,,,,,,,,,,,,,,,
"Mercenary die","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Ent Big Deploy",,,,,,,,,,,,,,,,,
"Ent Big Steps","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
,"sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
,"sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
,"sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Ent Big AttackStart",,,,,,,,,,,,,,,,,
"Ent Big Attack","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Ent Big Target",,,,,,,,,,,,,,,,,
"Ent Big Die",,,,,,,,,,,,,,,,,
"TutorialCharacter1","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,1000,,,,,
"SellChest","sfx/get_gold_04.wav",50,50,99,99,1,3,,,,,,,,,,
"Fire Breath Deploy",,,,,,,,,,,,,,,,,
"Fire Breath Steps",,,,,,,,,,,,,,,,,
"Fire Breath Attack Start","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Fire Breath Attack",,50,50,99,101,1,3,,,,,,,,,,
"Fire Breath Die",,,,,,,,,,,,,,,,,
"Explosive Barrel explosion","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"ExplosiveBarrel deploy","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"RocketTower attack","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"RocketTower destruction","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"PanicSpell","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"Cannon Fire","sfx/cannon_fire_03.wav",35,45,96,104,1,3,,,,,,,,,,
"Cannon Deploy","sfx/cannon_deploy_01.wav",70,70,98,102,1,3,,,,,,,,,,
"Tower Attack","sfx/tower_shoot_01.wav",30,35,98,102,1,3,,,,,,,,,,
"Tower Hit","sfx/tower_hit_01.wav",25,30,98,102,1,3,,,,,,,,,,
"Spellfusion","sfx/spellfusion01.wav",85,85,100,100,1,3,,,,,,,,,,
"LevelUpWiz","sfx/wiz_level_up_02.wav",90,90,100,100,1,2,,,,,,,,,,
"BearTrapDeploy","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"BearTrapAttack","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"WizMove","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"WarHoundDeploy","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"WarHound steps",,,,,,,,,,,,,,,,,
"WarHound attack start",,,,,,,,,,,,,,,,,
"WarHound hit",,,,,,,,,,,,,,,,,
"WarHound target",,,,,,,,,,,,,,,,,
"WarHound die",,,,,,,,,,,,,,,,,
"sound_knight_deploy","sfx/knight_deploy_31111.wav",70,70,100,100,1,3,,,,,,,,,,
"sound_knight_deploy_end","sfx/knight_deploy_end_01.wav",60,60,100,100,1,3,,,,,1000,1000,,,,
"sound_knight_steps","sfx/knight_footstep_01.wav",40,40,98,102,1,2,,,,,,,,,,
,"sfx/knight_footstep_02.wav",40,40,98,102,1,2,,,,,,,,,,
,"sfx/knight_footstep_03.wav",40,40,98,102,1,2,,,,,,,,,,
,"sfx/knight_footstep_04.wav",40,40,98,102,1,3,,,,,,,,,,
"sound_knight_attack_start","sfx/knight_attack_start_05.wav",45,55,97,101,1,2,,,,,360,360,,,,
,"sfx/knight_attack_start_02.wav",45,55,97,101,1,2,,,,,430,430,,,,
,"sfx/knight_attack_start_03.wav",45,55,97,101,1,2,,,,,320,320,,,,
,"sfx/knight_attack_start_04.wav",45,55,97,101,1,2,,,,,320,320,,,,
,"sfx/knight_attack_start_01.wav",45,55,97,101,1,2,,,,,300,300,,,,
"sound_knight_hit","sfx/knight_hit_01.wav",30,40,98,102,1,3,,,,,,,,,,
"sound_knight_target","sfx/target_01.wav",40,40,98,102,1,3,,,,,,,,,,
"sound_knight_die","sfx/knight_die_01.wav",60,60,100,100,1,2,,,,,,,,,,
,"sfx/knight_die_04.wav",60,60,100,100,1,2,,,,,,,,,,
,"sfx/knight_die_03.wav",60,60,100,100,1,2,,,,,,,,,,
"sound_barbarian_deploy","sfx/deploy_barbarians_01.wav",70,70,98,102,1,1,500,,,,,,,,,
"sound_barbarian_steps","sfx/knight_footstep_01.wav",40,40,99,102,1,2,,,,,,,,,,
,"sfx/knight_footstep_02.wav",40,40,99,102,1,2,,,,,,,,,,
,"sfx/knight_footstep_03.wav",40,40,99,102,1,2,,,,,,,,,,
,"sfx/knight_footstep_04.wav",40,40,98,102,1,3,,,,,,,,,,
"sound_barbarian_attack_start","sfx/barbarian_attack_02.wav",40,40,98,102,1,2,300,,,,300,320,,,,
,"sfx/barbarian_attack_03.wav",40,40,98,102,1,2,300,,,,300,320,,,,
,"sfx/barbarian_attack_04.wav",40,40,98,102,1,2,300,,,,300,320,,,,
,"sfx/barbarian_attack_05.wav",40,40,98,102,1,2,300,,,,300,320,,,,
,"sfx/barbarian_attack_06.wav",40,40,98,102,1,2,300,,,,300,320,,,,
,"sfx/barbarian_attack_07.wav",40,40,98,102,1,2,300,,,,300,320,,,,
,"sfx/barbarian_attack_08.wav",40,40,98,102,1,2,300,,,,300,320,,,,
"sound_barbarian_hit","sfx/knight_attack_hack_01.wav",1,1,98,102,1,3,,,,,,,,,,
"sound_barbarian_target","sfx/target_01.wav",40,40,98,102,1,3,,,,,,,,,,
"sound_barbarian_die","sfx/npc_die_02.wav",1,1,97,103,1,5,,,,,,,,,,
"sound_goblins_deploy","sfx/goblin_deploy_14.wav",50,50,98,102,1,1,,,,,,,,,,
"sound_goblins_steps","sfx/gen_troop_step_01.wav",70,70,98,102,2,4,,,,,,,,,,
,"sfx/gen_troop_step_02.wav",70,70,98,102,2,4,,,,,,,,,,
,"sfx/gen_troop_step_03.wav",70,70,98,102,2,4,,,,,,,,,,
,"sfx/gen_troop_step_04.wav",70,70,98,102,2,4,,,,,,,,,,
"sound_goblins_attack_start","sfx/gob_attack_01v2.wav",30,40,97,103,1,3,,,,,,,,,,
,"sfx/gob_attack_02v2.wav",30,40,97,103,1,3,,,,,,,,,,
,"sfx/gob_attack_03v2.wav",30,40,97,103,1,3,,,,,,,,,,
"sound_goblins_hit","sfx/footman_attack_hit_01.wav",10,20,96,104,2,3,,,,,,,,,,
,"sfx/footman_attack_hit_02.wav",10,20,96,104,2,3,,,,,,,,,,
,"sfx/footman_attack_hit_03.wav",10,20,96,104,2,3,,,,,,,,,,
,"sfx/footman_attack_hit_04.wav",10,20,96,104,2,3,,,,,,,,,,
"sound_goblins_die","sfx/npc_die_02.wav",1,1,97,103,1,5,,,,,,,,,,
"sound_giant_deploy","sfx/giant_deploy_01.wav",90,90,100,100,1,2,,,,,,,,,,
"sound_giant_steps","sfx/demon_step_01.wav",40,60,95,105,1,2,,,,,,,,,,
"sound_giant_attack_start","sfx/giant_attack_swing_01.wav",65,80,98,102,1,1,,,,,,,,,,
,"sfx/giant_attack_swing_02.wav",65,80,98,102,1,1,,,,,,,,,,
,"sfx/giant_attack_swing_03.wav",65,80,98,102,1,1,,,,,,,,,,
"sound_giant_hit","sfx/giant_hit_01.wav",60,70,95,105,1,2,,,,,,,,,,
"sound_giant_die","sfx/npc_die_02.wav",1,1,97,103,1,5,,,,,,,,,,
"sound_pekka_deploy","sfx/pekka_deploy_01.wav",80,80,100,100,1,3,,,,,,,,,,
"sound_pekka_deploy_end","sfx/pekka_deploy_end_03.wav",100,100,100,100,1,3,,,,,3000,3000,,,,
"sound_pekka_steps","sfx/pekka_footstep_02.wav",40,45,96,104,1,3,,,,,,,,,,
"sound_pekka_attack_start","sfx/pekka_atk_01.wav",60,60,97,103,1,3,,,,,,,,,,
"sound_pekka_hit","sfx/pekka_attack_hit_03.wav",50,60,98,102,1,3,,,,,,,,,,
"sound_pekka_die","sfx/npc_die_02.wav",1,1,97,103,1,5,,,,,,,,,,
"sound_minion_deploy","sfx/archer_deploy_05.wav",40,40,98,102,1,2,,,,,,,,,,
"sound_minion_steps","sfx/minion_wing_02.wav",15,30,93,107,2,2,100,,,,,,,,,
"sound_minion_attack_start","sfx/tinymite_attack_04.wav",1,1,96,104,1,3,,,,,,,,,,
"sound_minion_attack","sfx/tinymite_attack_04.wav",50,55,95,105,1,1,,,,,,,,,,
,"sfx/tinymite_attack_05.wav",50,55,95,105,1,1,,,,,,,,,,
,"sfx/tinymite_attack_06.wav",50,55,95,105,1,1,,,,,,,,,,
"sound_minion_die","sfx/npc_die_02.wav",1,1,97,103,1,5,,,,,,,,,,
"sound_minion_projectile_hit",,,,,,,,,,,,,,,,,
"Gameend Horn","sfx/big_horn_end_02_v2.wav",80,80,100,100,1,1,,,,,,,,,,
"sound_mortar_deploy","sfx/boulder_impact_01.wav",40,50,95,105,1,2,,,,,,,,,,
"sound_mortar_turn","sfx/target_01.wav",25,30,97,103,1,3,,,,,,,,,,
"sound_mortar_attack_start","sfx/mortar_fire_02.wav",1,1,98,102,1,2,,,,,,,,,,
"sound_mortar_attack","sfx/mortar_fire_03.wav",80,80,98,102,1,2,,,,,,,,,,
"sound_mortar_hit","sfx/boulder_impact_01.wav",80,90,95,105,1,2,,,,,,,,,,
"sound_mortar_die","sfx/building_destroyed_05.wav",40,40,100,100,1,3,,,,,,,,,,
"sound_balloon_deploy","sfx/deploy_balloon_06.wav",90,90,98,102,1,2,,,,,,,,,,
"sound_balloon_turn","sfx/target_01.wav",25,30,97,103,1,3,,,,,,,,,,
"sound_balloon_steps","sfx/balloon_fly_loop_01.wav",55,55,98,102,2,2,,,,,,,,,,
"sound_balloon_attack_start","sfx/drop_bomb_03.wav",70,70,100,100,1,3,,,,,,,,,,
"sound_balloon_attack",,,,,,,,,,,,,,,,,
"sound_balloon_hit","sfx/boulder_impact_01.wav",80,90,95,105,1,2,,,,,,,,,,
"sound_balloon_die","sfx/building_destroyed_05.wav",40,40,100,100,1,3,,,,,,,,,,
"sound_goblin_hut_deploy","sfx/deploy_goblin_hut_02.wav",75,75,98,102,1,2,,,,,,,,,,
"sound_goblin_hut_spawn","sfx/goblin_spawn_03.wav",40,50,98,102,2,3,,,,,,,,,,
,"sfx/goblin_spawn_04.wav",40,50,98,102,2,3,,,,,,,,,,
,"sfx/goblin_spawn_01.wav",40,50,98,102,2,3,,,,,,,,,,
,"sfx/goblin_spawn_02.wav",40,50,98,102,2,3,,,,,,,,,,
"sound_goblin_hut_loop",,,,,,,,,,,,,,,,,
"sound_goblin_hut_die","sfx/boulder_impact_01.wav",80,90,95,105,1,2,,,,,,,,,,
"sound_witch_deploy","sfx/summon_witch_01.wav",70,70,100,100,1,3,,,,,,,,,,
"sound_witch_steps","sfx/knight_footstep_01.wav",40,40,98,102,1,2,,,,,,,,,,
,"sfx/knight_footstep_02.wav",40,40,98,102,1,2,,,,,,,,,,
,"sfx/knight_footstep_03.wav",40,40,98,102,1,2,,,,,,,,,,
,"sfx/knight_footstep_04.wav",40,40,98,102,1,3,,,,,,,,,,
"sound_witch_attack_start","sfx/witch_attack_02.wav",35,45,101,99,1,3,,,,,,,,,,
"sound_witch_hit","sfx/knight_attack_hack_01.wav",60,80,98,102,1,3,,,,,,,,,,
"sound_witch_die","sfx/npc_die_02.wav",1,1,97,103,1,5,,,,,,,,,,
"sound_witch_deploy_skeleton","sfx/witch_summon_02.wav",60,60,98,102,1,1,1000,,,,,,,,,
"sound_skeleton_deploy","sfx/skeleton_deploy_03.wav",65,65,100,100,1,1,500,,,,,,,,,
"sound_skeleton_steps","sfx/gen_troop_step_01.wav",20,30,98,102,2,4,,,,,,,,,,
,"sfx/gen_troop_step_02.wav",10,20,98,102,2,4,,,,,,,,,,
,"sfx/gen_troop_step_03.wav",10,20,98,102,2,4,,,,,,,,,,
,"sfx/gen_troop_step_04.wav",10,20,98,102,2,4,,,,,,,,,,
"sound_skeleton_attack_start","sfx/skeleton_atk_03.wav",40,50,97,103,1,2,,,,,,,,,,
"sound_skeleton_hit","sfx/footman_attack_hit_01.wav",10,20,96,104,2,3,,,,,,,,,,
,"sfx/footman_attack_hit_02.wav",10,20,96,104,2,3,,,,,,,,,,
,"sfx/footman_attack_hit_03.wav",10,20,96,104,2,3,,,,,,,,,,
,"sfx/footman_attack_hit_04.wav",10,20,96,104,2,3,,,,,,,,,,
"sound_skeleton_die","sfx/npc_die_02.wav",1,1,97,103,1,5,,,,,,,,,,
"sound_golem_deploy","sfx/giant_deploy_04v3.wav",80,80,100,100,1,2,,,,,,,,,,
"sound_golem_steps","sfx/gen_troop_step_01.wav",40,40,98,102,1,3,,,,,,,,,,
,"sfx/gen_troop_step_02.wav",40,40,98,102,1,2,,,,,,,,,,
,"sfx/gen_troop_step_03.wav",40,40,98,102,1,3,,,,,,,,,,
,"sfx/gen_troop_step_04.wav",40,40,98,102,1,2,,,,,,,,,,
"sound_golem_attack_start","sfx/stone_golem_attack_02.wav",70,80,98,102,1,2,,,,,,,,,,
"sound_golem_hit","sfx/golem_hit_01.wav",70,80,98,102,1,2,,,,,,,,,,
"sound_golem_die","sfx/npc_die_02.wav",1,1,97,103,1,5,,,,,,,,,,
"sound_get_star_player","sfx/get_star_equence_01_v2.wav",65,65,100,100,1,2,,,,,,,,,,
"sound_get_star_enemy","sfx/get_star_equence_01boo.wav",60,60,100,100,1,2,,,,,,,,,,
"sound_generic_death","sfx/npc_die_04.wav",35,45,95,104,1,3,,,,,,,,,,
"deploy timer tick","sfx/deploy_timer_tick_01v4.wav",30,30,100,100,1,2,,,,,,,,,,
"deploy timer ding","sfx/deploy_timer_ding_03.wav",40,40,100,100,1,2,,,,,,,,,,
"enemy deploy timer tick","sfx/enemy_deploy_timer_tick_01.wav",20,20,100,100,1,2,,,,,,,,,,
"enemy deploy timer ding","sfx/enemy_deploy_timer_ding_04.wav",40,40,100,100,1,2,,,,,,,,,,
"match start","sfx/big_horn_start_02_v2.wav",90,90,100,100,1,1,,,,,,,,,,
"Goblin_arena_start","sfx/goblin_arena_jingle_01.wav",90,90,100,100,1,1,,,,,,,,,,
"Underground_arena_start","sfx/underground_arena_jingle_01.wav",90,90,100,100,1,1,,,,,,,,,,
"Bone_pit_arena_start","sfx/bone_pit_arena_jingle_01.wav",90,90,100,100,1,1,,,,,,,,,,
"Dark_arena_start","sfx/dark_arena_jing_01.wav",90,90,100,100,1,1,,,,,,,,,,
"Barbarian_arena_start","sfx/barbarian_jingle_01.wav",90,90,100,100,1,1,,,,,,,,,,
"Spell_arena_start","sfx/spellarena_jing_01.wav",90,90,100,100,1,1,,,,,,,,,,
"Builder_arena_start","sfx/builder_arena_jingle_01.wav",90,90,100,100,1,1,,,,,,,,,,
"inferno_loop","sfx/laser_loop_02.wav",33,33,100,100,1,1,,"true",,,,,,,,
"Overtime","sfx/big_horn_start_02_v2.wav",90,90,100,100,1,1,,,,,,,,,,
"sound_tower_take_damage","sfx/tower_attacked_02.wav",50,50,100,100,1,1,30000,,,,,,,,,
"sound_tower_take_damage_enemy","sfx/enemy_tower_attacked_03.wav",55,55,100,100,1,1,30000,,,,,,,,,
"sound_enemy_die_jingle","sfx/dummy_01.wav",1,1,100,100,5,1,300,,,,,,,,,
"sound_own_die_jingle","sfx/dummy_01.wav",1,1,100,100,5,1,300,,,,,,,,,
"sound_rage_effect","sfx/rage_spell_01.wav",60,60,98,102,1,1,,,,,,,,,,
"sound_inferno_tower_attack","sfx/laser_loop_02.wav",50,50,98,102,1,1,,,,,,,,,,
"sound_valkyrie_deploy","sfx/valkyrie_deploy_02.wav",70,70,100,100,1,3,,,,,,,,,,
"sound_valkyrie_deploy_end","sfx/valkyrie_deploy_end_02.wav",50,50,100,100,1,3,,,,,1000,1000,,,,
"sound_valkyrie_steps","sfx/knight_footstep_01.wav",40,40,98,102,1,2,,,,,,,,,,
,"sfx/knight_footstep_02.wav",40,40,98,102,1,2,,,,,,,,,,
,"sfx/knight_footstep_03.wav",40,40,98,102,1,2,,,,,,,,,,
,"sfx/knight_footstep_04.wav",40,40,98,102,1,3,,,,,,,,,,
"sound_valkyrie_attack_start","sfx/valkyrie_atk_04.wav",60,65,97,103,1,3,,,,,,,,,,
,"sfx/valkyrie_atk_05.wav",60,65,97,103,1,3,,,,,,,,,,
,"sfx/valkyrie_atk_04.wav",60,65,97,103,1,3,,,,,,,,,,
,"sfx/valkyrie_atk_06.wav",60,65,97,103,1,3,,,,,,,,,,
,"sfx/valkyrie_atk_07.wav",60,65,97,103,1,3,,,,,,,,,,
,"sfx/valkyrie_atk_08.wav",60,65,97,103,1,3,,,,,,,,,,
,"sfx/valkyrie_atk_09.wav",60,65,97,103,1,3,,,,,,,,,,
,"sfx/valkyrie_atk_10.wav",60,65,97,103,1,3,,,,,,,,,,
"sound_valkyrie_hit","sfx/valkyrie_hit_01.wav",20,35,98,102,1,3,,,,,,,,,,
"sound_valkyrie_target","sfx/target_01.wav",40,40,98,102,1,3,,,,,,,,,,
"sound_valkyrie_die","sfx/npc_die_02.wav",1,1,97,103,1,5,,,,,,,,,,
"sound_summon_own_big","sfx/summon_own_07.wav",80,80,97,102,1,2,,,,,4200,4200,,,,
"sound_summon_enemy_big","sfx/enemy_summon_01.wav",55,55,97,103,1,2,,,,,3000,3200,,,,
"sound_summon_enemy_big_die","sfx/kill_enemy_big_summon_02.wav",55,55,97,103,1,2,,,,,2000,2500,,,,
"sound_summon_own_big_die","sfx/own_summon_die_03.wav",55,55,97,103,1,2,,,,,2000,2500,,,,
"sound_bomber_deploy","sfx/deploy_skeleton_01.wav",70,70,100,100,1,2,,,,,,,,,,
"sound_bomber_deploy_end","sfx/skeleton_deploy_end_01.wav",70,70,100,100,1,2,,,,,1000,1000,,,,
"sound_bomber_steps","sfx/bomb_skeleton_01v3.wav",25,35,95,105,3,2,,,,,,,,,,
"sound_bomber_attack",,,,,,,,,,,,,,,,,
"sound_bomber_attack_start","sfx/bomb_skeleton_atk_04.wav",75,80,97,103,1,1,,,,,,,,,,
"sound_bomber_hit",,,,,,,,,,,,,,,,,
"sound_bomber_die",,,,,,,,,,,,,,,,,
"sound_BombTower_projectile_hit","sfx/skeleton_bomb_explo_01.wav",65,70,95,105,1,1,,,,,,,,,,
"sound_goblin_barrel_explosion","sfx/barrel_explosion_02.wav",65,70,95,105,1,1,,,,,,,,,,
"sound_goblin_barrel_spawn","sfx/barrel_drawback_14.wav",70,70,100,100,1,2,,,,,,,,,,
"sound_rocket_explosion","sfx/rocket_hit_01v2.wav",75,75,96,104,1,2,,,,,,,,,,
"sound_rocket_spawn","sfx/rocket_launch_02v2.wav",75,75,96,104,1,2,,,,,,,,,,
"sound_dragon_deploy","sfx/archer_deploy_05.wav",40,40,98,102,1,2,,,,,,,,,,
"sound_dragon_steps","sfx/gen_troop_step_01.wav",40,40,98,102,1,2,,,,,,,,,,
,"sfx/gen_troop_step_02.wav",40,40,98,102,1,3,,,,,,,,,,
,"sfx/gen_troop_step_03.wav",40,40,98,102,1,2,,,,,,,,,,
,"sfx/gen_troop_step_04.wav",40,40,98,102,1,2,,,,,,,,,,
"sound_dragon_attack_start","sfx/tinymite_attack_04.wav",1,1,96,104,1,3,,,,,,,,,,
"sound_dragon_attack","sfx/tinymite_attack_04.wav",35,50,95,105,1,3,,,,,,,,,,
,"sfx/tinymite_attack_05.wav",35,50,95,105,1,3,,,,,,,,,,
,"sfx/tinymite_attack_06.wav",35,50,95,105,1,3,,,,,,,,,,
"sound_dragon_die","sfx/npc_die_02.wav",1,1,97,103,1,5,,,,,,,,,,
"chat_donate","sfx/donate_01.wav",40,40,100,100,1,3,,,,,,,,,,
"chat_new_msg","sfx/scroll_chat_01.wav",20,20,100,100,1,5,,,,,,,,,,
"sound_openChest_wood","sfx/wooden_chest_open_01.wav",80,80,100,100,1,5,,,,,,,,,,
"sound_openChest_iron","sfx/iron_chest_open_01.wav",80,80,100,100,1,5,,,,,,,,,,
"sound_openChest_gold","sfx/gold_chest_open_01.wav",80,80,100,100,1,5,,,,,,,,,,
"sound_openChest_magical","sfx/magic_chest_open_01.wav",80,80,100,100,1,5,,,,,,,,,,
"sound_openChest_star","sfx/star_chest_open_01.wav",80,80,100,100,1,5,,,,,,,,,,
"sound_openChest_get_gold","sfx/get_card_gold_01.wav",80,80,100,100,1,5,,,,,,,,,,
"sound_openChest_get_gem","sfx/get_card_gems_01.wav",80,80,100,100,1,5,,,,,,,,,,
"sound_openChest_get_common","sfx/get_card_comon_01.wav",80,80,100,100,1,5,,,,,,,,,,
"sound_openChest_get_rare","sfx/get_card_rare_01.wav",80,80,100,100,1,5,,,,,,,,,,
"sound_openChest_get_epic","sfx/get_epic_rare_01.wav",100,100,100,100,1,5,,,,,,,,,,
"sound_openChest_loop_gold","sfx/chest_loop_01.wav",30,30,100,100,1,1,,"true",,,,,,,,
"sound_openChest_loop_gem","sfx/chest_loop_01.wav",30,30,100,100,1,1,,"true",,,,,,,,
"sound_openChest_loop_common",,40,5,100,100,1,1,,"true",,,,,,,,
"sound_openChest_loop_rare",,40,40,100,100,1,1,,"true",,,,,,,,
"sound_openChest_loop_epic",,40,40,100,100,1,1,,"true",,,,,,,,
"sound_musketeer_deploy","sfx/musketeer_deploy_01.wav",70,70,100,100,1,3,,,,,,,,,,
"sound_musketeer_deploy_end","sfx/musketeer_reload_01.wav",60,60,97,103,1,3,,,,,1200,1200,,,,
"sound_musketeer_steps",,,,,,,,,,,,,,,,,
"sound_musketeer_attack","sfx/musket_fire_02.wav",60,65,94,106,1,4,,,,,,,,,,
"sound_musketeer_attack_start",,,,,,,,,,,,,,,,,
"sound_musketeer_hit",,,,,,,,,,,,,,,,,
"sound_musketeer_target",,,,,,,,,,,,,,,,,
"sound_musketeer_die",,,,,,,,,,,,,,,,,
"sound_upgradeCard_start","sfx/upgrade_card_01.wav",80,80,100,100,1,5,,,,,,,,,,
"sound_upgradeCard_ready","sfx/card_upgrade_hit_01.wav",60,60,100,100,1,5,,,,,,,,,,
"sound_upgradeCard_stat_appear","sfx/card_upgrade_stat_05.wav",60,60,100,100,1,3,,,,,,,,,,
"sound_upgradeCard_stat_change","sfx/card_upgrade_counter_01.wav",25,25,100,100,1,20,20,,,,,,,,,
"sound_freeze_deploy","sfx/freeze_04.wav",65,65,98,102,1,2,,,,,,,,,,
"sound_tesla_deploy","sfx/boulder_impact_01.wav",40,50,95,105,1,2,,,,,,,,,,
"sound_tesla_up","sfx/tesla_open_02.wav",80,80,98,102,1,3,,,,,,,,,,
"sound_tesla_down","sfx/tesla_close_02.wav",70,70,98,102,1,3,,,,,,,,,,
"sound_tesla_attack_start","sfx/dummy_01.wav",1,1,96,103,1,5,,,,,,,,,,
"sound_tesla_attack","sfx/tesla_zap_01.wav",40,40,96,103,1,5,,,,,,,,,,
"sound_tesla_hit","sfx/boulder_impact_01.wav",1,1,95,105,1,2,,,,,,,,,,
"sound_tesla_target","sfx/tesla_open_02.wav",1,1,100,100,1,3,,,,,,,,,,
"sound_chr_wizard_deploy","sfx/deploy_wizard_01.wav",70,70,100,100,1,1,,,,,,,,,,
"sound_chr_wizard_steps","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"sound_chr_wizard_target","sfx/target_01.wav",40,40,98,102,1,3,,,,,,,,,,
"sound_chr_wizard_attack_start","sfx/wiz_fireball_01v8.wav",60,60,98,102,1,3,,,,,,,,,,
"sound_chr_wizard_attack","sfx/dummy_01.wav",1,1,95,105,1,3,,,,,,,,,,
"sound_chr_wizard_projectile_hit","sfx/fireball_hit_01.wav",50,50,95,105,2,3,,,,,,,,,,
"sound_chr_wizard_hit","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"sound_chr_wizard_die","sfx/wiz_hurt_05.wav",40,40,98,102,1,1,,,,,5000,6000,,,,3000
"sound_card_fly_in","sfx/card_fly_in_05.wav",40,40,100,100,2,4,,,,,,,,,,
"sound_elixir_bubble","sfx/elixir_lost_01.wav",20,20,98,102,2,3,,,,,,,,,,
"sound_buy_card","sfx/buy_card_01.wav",45,45,100,100,1,4,,,,,,,,,,
"sound_prince_deploy","sfx/prince_deploy_01.wav",65,65,100,100,1,3,,,,,,,,,,
"sound_prince_deploy_end","sfx/horse_blow_01.wav",65,65,100,100,1,3,,,,,1000,1000,,,,
"sound_prince_steps","sfx/horse_gallop_01.wav",40,45,97,102,2,2,,,,,,,,,,
,"sfx/horse_gallop_02.wav",40,45,97,102,2,2,,,,,,,,,,
"sound_prince_charge_steps","sfx/horse_gallop_01.wav",55,60,130,137,2,2,,,,,,,,,,
,"sfx/horse_gallop_02.wav",55,60,130,137,2,2,,,,,,,,,,
"sound_prince_charge","sfx/rider_charge_03.wav",60,60,100,100,1,2,,,,,,,,,,
"sound_prince_charge_hit",,,,,,,,,,,,,,,,,
"sound_prince_attack_start","sfx/prince_atk_01v2.wav",60,60,98,102,1,2,,,,,210,210,,,,
,"sfx/prince_atk_02v2.wav",60,60,98,102,1,2,,,,,210,210,,,,
,"sfx/prince_atk_03v2.wav",60,60,98,102,1,2,,,,,210,210,,,,
,"sfx/prince_atk_04v2.wav",60,60,98,102,1,2,,,,,210,210,,,,
"sound_prince_hit","sfx/prince_hit_01.wav",55,65,95,105,1,2,,,,,,,,,,
"sound_prince_target",,,,,,,,,,,,,,,,,
"sound_spear_goblin_deploy","sfx/spear_gob_dep_01v2.wav",60,60,96,104,1,2,,,,,,,,,,
"sound_spear_goblin_steps",,,,,,,,,,,,,,,,,
"sound_spear_goblin_attack_start","sfx/spear_gob_atk_swish_01.wav",55,55,98,108,1,2,,,,,550,550,,,,
,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,
"sound_spear_goblin_attack","sfx/spear_gob_atk_01.wav",40,40,96,104,1,2,,,,,,,,,,
,"sfx/spear_gob_atk_02.wav",40,40,96,104,1,2,,,,,,,,,,
,"sfx/spear_gob_atk_03.wav",40,40,96,104,1,2,,,,,,,,,,
"sound_spear_goblin_die",,,,,,,,,,,,,,,,,
"sound_spear_goblin_projectile_hit","sfx/spear_gob_atk_hit_01.wav",25,30,95,105,2,4,,,,,,,,,,
"sound_giant_skeleton_deploy","sfx/big_skeleton_summon_01.wav",90,90,100,100,1,3,,,,,,,,,,
"sound_giant_skeleton_steps","sfx/big_skeleton_walk_05.wav",45,55,92,106,1,4,,,,,,,,,,
"sound_giant_skeleton_attack_start","sfx/skeleton_arm_swing_02.wav",60,60,96,104,1,3,,,,,200,200,,,,
"sound_giant_skeleton_hit","sfx/big_skeleton_hit_01.wav",80,80,96,104,1,3,,,,,,,,,,
"sound_giant_skeleton_die",,,,,,,,,,,,,,,,,
"sound_minipekka_deploy","sfx/minipekka_deploy_01.wav",80,80,98,102,1,3,,,,,,,,,,
"sound_minipekka_deploy_end","sfx/mini_pekka_deploy_end_05.wav",65,65,100,100,1,3,,,,,1100,1100,,,,
"sound_minipekka_steps","sfx/minipekka_step_03.wav",40,45,96,104,1,3,,,,,,,,,,
"sound_minipekka_attack_start","sfx/mini_pekka_atk_12.wav",60,60,97,103,1,3,,,,,100,100,,,,
"sound_minipekka_hit","sfx/mini_pekka_hit_03.wav",60,70,95,105,1,3,,,,,,,,,,
"sound_minipekka_die","sfx/npc_die_02.wav",1,1,97,103,1,5,,,,,,,,,,
"sound_hog_rider_deploy","sfx/deploy_barbarians_01.wav",70,70,98,102,1,1,500,,,,,,,,,
"sound_hog_rider_steps","sfx/knight_footstep_01.wav",40,40,99,102,1,2,,,,,,,,,,
,"sfx/knight_footstep_02.wav",40,40,99,102,1,2,,,,,,,,,,
,"sfx/knight_footstep_03.wav",40,40,99,102,1,2,,,,,,,,,,
,"sfx/knight_footstep_04.wav",40,40,98,102,1,3,,,,,,,,,,
"sound_hog_rider_attack_start","sfx/barbarian_attack_02.wav",40,50,98,105,1,3,,,,,300,320,,,,
,"sfx/barbarian_attack_03.wav",40,50,98,105,1,3,,,,,300,320,,,,
,"sfx/barbarian_attack_04.wav",40,50,98,105,1,3,,,,,300,320,,,,
,"sfx/barbarian_attack_05.wav",40,50,98,105,1,3,,,,,300,320,,,,
,"sfx/barbarian_attack_06.wav",40,50,98,105,1,3,,,,,300,320,,,,
,"sfx/barbarian_attack_07.wav",40,50,98,105,1,3,,,,,300,320,,,,
,"sfx/barbarian_attack_08.wav",40,50,98,105,1,3,,,,,300,320,,,,
"sound_hog_rider_hit","sfx/knight_attack_hack_01.wav",1,1,98,102,1,3,,,,,,,,,,
"sound_hog_rider_target","sfx/target_01.wav",40,40,98,102,1,3,,,,,,,,,,
"sound_hog_rider_die","sfx/npc_die_02.wav",1,1,97,103,1,5,,,,,,,,,,
"sound_hog_rider_landing","sfx/boulder_impact_01.wav",70,70,98,102,1,1,,,,,,,,,,
"sound_baby_dragon_deploy","sfx/babydragon_deploy_01.wav",80,80,98,102,1,3,,,,,,,,,,
"sound_baby_dragon_deploy_end","sfx/baby_dragon_deploy_end_11.wav",75,75,98,102,2,1,,,,,1100,1100,,,,
"sound_baby_dragon_steps","sfx/babydragon_wing_01.wav",30,40,95,105,2,4,300,,,,100,100,,,,
"sound_baby_dragon_attack_start","sfx/baby_dragon_fireball_08.wav",65,70,98,102,1,3,,,,,150,150,,,,
"sound_baby_dragon_attack",,,,,,,,,,,,,,,,,
"sound_baby_dragon_die",,,,,,,,,,,,,,,,,
"sound_dragon_projectile_hit","sfx/sound_fireball_hit_01.wav",55,65,93,106,2,4,,,,,,,,,,
"tap_magic_chest","sfx/magic_chest_land_01.wav",70,70,100,100,1,2,,,,,,,,,,
"tap_wooden_chest","sfx/wooden_chest_land_01.wav",70,70,100,100,1,2,,,,,,,,,,
"tap_iron_chest","sfx/iron_chest_land_01.wav",70,70,100,100,1,2,,,,,,,,,,
"tap_gold_chest","sfx/golden_chest_land_01.wav",70,70,100,100,1,2,,,,,,,,,,
"sound_king_player_activate","sfx/king_activate_01.wav",100,100,100,100,1,3,,,,,1800,1800,,,,
"sound_king_player_die",,,,,,,,,,,,,,,,,
"sound_king_enemy_activate","sfx/king_activate_01.wav",100,100,100,100,1,3,,,,,1800,1800,,,,
"sound_king_angry","sfx/king_tower_gone_01.wav",100,100,100,100,1,3,1500,,,,,,,,,
,"sfx/king_tower_gone_02.wav",100,100,100,100,1,3,1500,,,,,,,,,
,"sfx/king_tower_gone_03.wav",100,100,100,100,1,3,1500,,,,,,,,,
,"sfx/king_tower_gone_04.wav",100,100,100,100,1,3,1500,,,,,,,,,
,"sfx/king_tower_gone_05.wav",100,100,100,100,1,3,1500,,,,,,,,,
,"sfx/king_tower_gone_06.wav",100,100,100,100,1,3,1500,,,,,,,,,
,"sfx/king_tower_gone_07.wav",100,100,100,100,1,3,1500,,,,,,,,,
"sound_king_happy_tower","sfx/king_happy_01.wav",100,100,100,100,1,3,1500,,,,,,,,,
,"sfx/king_happy_02.wav",100,100,100,100,1,3,1500,,,,,,,,,
,"sfx/king_happy_03.wav",100,100,100,100,1,3,1500,,,,,,,,,
,"sfx/king_happy_04.wav",100,100,100,100,1,3,1500,,,,,,,,,
"sound_king_enemy_die",,,,,,,,,,,,,,,,,
"sound_king_attack","sfx/king_fire_04.wav",60,70,94,106,1,4,,,,,,,,,,
"Achievement Unlock","sfx/achievement_unlock_01.wav",60,60,100,100,1,2,,,,,,,,,,
"Claim Achievement","sfx/claim_achievement_01.wav",60,60,100,100,1,2,,,,,,,,,,
"First_Crown","sfx/1st_crown_01.wav",60,60,100,100,,2,,,,,,,,,,
"Second_Crown","sfx/2nd_crown_01.wav",65,65,100,100,,2,,,,,,,,,,
"Third_Crown","sfx/3rd_crown_01.wav",70,70,100,100,,2,,,,,,,,,,
"sound_chest_fly","sfx/chest_fly_01.wav",60,60,100,100,1,2,,,,,250,250,,,,
"Tut_jing_start","sfx/tut_jing_01.wav",90,90,100,100,1,1,,,,,,,,,,
"Tut_jing_time_1","sfx/tut_jing_02.wav",70,70,100,100,1,1,,,,,,,,,,
"Tut_jing_time_2","sfx/tut_jing_02.wav",80,80,119,119,1,1,,,,,,,,,,
"Tut_count_01","sfx/tut_count_01.wav",55,55,100,100,1,4,,,,,,,,,,
"Names_whoosh_out","sfx/tex_whoosh_02.wav",60,60,100,100,1,4,,,,,,,,,,
"Names_whoosh_in","sfx/text_whoosh_in_03.wav",90,90,100,100,1,4,,,,,200,200,,,,
"sound_spell_zap","sfx/zap_02.wav",80,80,95,105,1,3,,,,,,,,,,
"sound_board_slide_in","sfx/board_slide_in_01.wav",55,55,92,92,1,2,,,,,,,,,,
"sound_tombstone_deploy","sfx/tombstone_deploy_01.wav",65,65,100,100,1,3,,,,,,,,,,
"sound_tombstone_spawn","sfx/goblin_spawn_03.wav",40,50,98,102,2,3,,,,,,,,,,
,"sfx/goblin_spawn_04.wav",40,50,98,102,2,3,,,,,,,,,,
,"sfx/goblin_spawn_01.wav",40,50,98,102,2,3,,,,,,,,,,
,"sfx/goblin_spawn_02.wav",40,50,98,102,2,3,,,,,,,,,,
"sound_tombstone_die","sfx/boulder_impact_01.wav",80,90,95,105,1,2,,,,,,,,,,
"sound_supercell_jingle","sfx/supercell_jingle.wav",80,80,100,100,1,3,,,,,,,,,,
"sound_tutorial_first_vo","sfx/king_tut_first_vo_01.wav",90,90,100,100,1,3,,,,,300,300,,,,
"sound_tutorial_second_vo","sfx/king_tut_second_vo_01.wav",80,80,100,100,1,3,,,,,3200,3200,,,,
"sound_tutorial_first_plink","sfx/dummy_01.wav",1,1,100,100,1,1,,,,,,,,,,
"sound_tutorial_second_plink","sfx/tutorial_plink_02v2.wav",65,65,100,100,1,3,,,,,,,,,,
"sound_text_bubble_appear","sfx/speech_bubble_tut_03.wav",40,40,95,105,1,3,,,,,,,,,,
"sound_press_battle_button","sfx/press_arena_01.wav",80,80,100,100,1,3,,,,,,,,,,
"sound_get_crown","sfx/get_crown_02.wav",40,40,100,100,1,5,,,,,,,,,,
"sound_tap_gems","sfx/tap_gems_02.wav",60,60,100,100,1,5,,,,,,,,,,
"sound_tap_coins","sfx/tap_coins_01.wav",42,42,100,100,1,3,,,,,,,,,,
"sound_buy_card_common","sfx/buy_common_card_01.wav",80,80,100,100,1,5,,,,,,,,,,
"sound_buy_card_rare","sfx/buy_rare_card_01.wav",80,80,100,100,1,5,,,,,,,,,,
"sound_buy_card_epic","sfx/buy_epic_card_01.wav",80,80,100,100,1,5,,,,,,,,,,
"sound_bomb_tower_die","sfx/building_explode_01.wav",80,80,95,105,1,3,,,,,,,,,,
"sound_purchase_gems","sfx/buy_gems_02.wav",60,60,100,100,1,3,,,,,,,,,,
"sound_king_level_up","sfx/king_level_up_01.wav",95,95,100,100,1,2,,,,,,,,,,
"sound_king_happy","sfx/king_laughter_01.wav",65,65,98,102,1,2,15000,,,,,,,,,
,"sfx/king_laughter_02.wav",65,65,98,102,1,2,15000,,,,,,,,,
,"sfx/king_laughter_03.wav",65,65,98,102,1,2,15000,,,,,,,,,
,"sfx/king_laughter_04.wav",65,65,98,102,1,2,15000,,,,,,,,,
"sound_king_crying","sfx/king_crying_01.wav",65,65,98,102,1,2,15000,,,,,,,,,
,"sfx/king_crying_02.wav",65,65,98,102,1,2,15000,,,,,,,,,
,"sfx/king_crying_03.wav",65,65,98,102,1,2,15000,,,,,,,,,
,"sfx/king_crying_04.wav",65,65,98,102,1,2,15000,,,,,,,,,
"sound_king_congratulate","sfx/king_congrats_01.wav",65,65,98,102,1,2,15000,,,,,,,,,
,"sfx/king_congrats_02.wav",65,65,98,102,1,2,15000,,,,,,,,,
,"sfx/king_congrats_03.wav",65,65,98,102,1,2,15000,,,,,,,,,
,"sfx/king_congrats_04.wav",65,65,98,102,1,2,15000,,,,,,,,,
"sound_king_mad","sfx/king_mad_01.wav",65,65,98,102,1,2,15000,,,,,,,,,
,"sfx/king_mad_02.wav",65,65,98,102,1,2,15000,,,,,,,,,
,"sfx/king_mad_03.wav",65,65,98,102,1,2,15000,,,,,,,,,
,"sfx/king_mad_04.wav",65,65,98,102,1,2,15000,,,,,,,,,
"sound_explosion","sfx/explosion_01.wav",80,80,97,103,1,3,,,,,,,,,,
"sound_GiantSkeleton_bomb_deploy","sfx/bomb_drop_01.wav",80,80,100,100,1,2,,,,,,,,,,
"sound_GiantSkeleton_bomb_die","sfx/explosion_01.wav",80,80,97,103,1,3,,,,,,,,,,
"sound_Balloon_Bomb_deploy","sfx/bomb_drop_01.wav",80,80,100,100,1,2,,,,,,,,,,
"sound_Balloon_Bomb_die","sfx/explosion_01.wav",80,80,97,103,1,3,,,,,,,,,,
"sound_extra_time_jingle","sfx/extratime_jingle_02.wav",100,100,100,100,1,3,,,,,,,,,,
1 Name FileNames MinVolume MaxVolume MinPitch MaxPitch Priority MaximumByType MaxRepeatMs Loop PlayVariationsInSequence PlayVariationsInSequenceManualReset StartDelayMinMs StartDelayMaxMs PlayOnlyWhenInView MaxVolumeScaleLimit NoSoundScaleLimit PadEmpyToEndMs
2 string string int int int int int int int boolean boolean boolean int int boolean int int int
3 60sec_warn_01 sfx/60_sec_warn_02_v2.wav 80 80 100 100 1 1
4 30sec_warn_01 sfx/60_sec_warn_02_v2.wav 90 90 119 119 1 1
5 ScrollAmb01 sfx/dummy_01.wav 1 1 100 100 1 1
6 ScrollAmb02 sfx/dummy_01.wav 1 1 100 100 1 1
7 Menu swipe sfx/menu_swipe_09.wav 30 30 98 102 1 2
8 Menu bump sfx/bump_01.wav 20 25 97 103 1 2
9 Menu updown swipe sfx/up_down_swipe_01.wav 25 28 97 103 1 1
10 Menu press select card sfx/press_select_button_02.wav 50 50 100 100 1 1
11 Menu press upgrade card sfx/press_select_button_01.wav 50 50 100 100 1 1
12 Countdown_10 sfx/10_cd_02.wav 84 84 100 100 1 3
13 Countdown_9 sfx/9_cd_02.wav 86 86 100 100 1 3
14 Countdown_8 sfx/8_cd_02.wav 88 88 100 100 1 3
15 Countdown_7 sfx/7_cd_02.wav 90 90 100 100 1 3
16 Countdown_6 sfx/6_cd_02.wav 92 92 100 100 1 3
17 Countdown_5 sfx/5_cd_02.wav 94 94 100 100 1 3
18 Countdown_4 sfx/4_cd_02.wav 96 96 100 100 1 3
19 Countdown_3 sfx/3_cd_02.wav 100 100 100 100 1 3
20 Countdown_2 sfx/2_cd_02.wav 100 100 100 100 1 3
21 Countdown_1 sfx/1_cd_02.wav 100 100 100 100 1 3
22 ButtonClick sfx/button_click_02.wav 60 60 100 100 1 3
23 ButtonClick2 sfx/menu_click_05.wav 50 50 100 100 1 3
24 AttackButton sfx/attack_button_01.wav 60 60 100 100 1 3
25 SpellCasting sfx/spellcast01.wav 30 35 96 104 1 2
26 Wiz voc sfx/dummy_01.wav 1 1 100 100 1 1
27 sfx/dummy_01.wav 1 1 100 100 1 1
28 sfx/dummy_01.wav 1 1 100 100 1 1
29 sfx/dummy_01.wav 1 1 100 100 1 1
30 sfx/dummy_01.wav 1 1 100 100 1 1
31 sfx/dummy_01.wav 1 1 100 100 1 1
32 Protection sfx/dummy_01.wav 1 1 100 100 1 1
33 MindControl sfx/dummy_01.wav 1 1 100 100 1 1
34 Invisibility sfx/dummy_01.wav 1 1 100 100 1 1
35 CharacterDeploy sfx/dummy_01.wav 1 1 98 102 3 1
36 Elf wizard sfx/dummy_01.wav 1 1 100 100 1 1
37 Elf warrior sfx/dummy_01.wav 1 1 100 100 1 1
38 sfx/dummy_01.wav 1 1 100 100 1 1
39 sfx/dummy_01.wav 1 1 100 100 1 1
40 Fire elemental sfx/dummy_01.wav 1 1 100 100 1 1
41 Fireball explodes sfx/dummy_01.wav 1 1 100 100 1 1
42 Flaming wall sfx/dummy_01.wav 1 1 100 100 1 1
43 Healing sfx/dummy_01.wav 1 1 100 100 1 1
44 Orc sfx/dummy_01.wav 1 1 100 100 1 1
45 Arrow fire sfx/archer_queen_attack_02.wav 45 50 98 102 1 3
46 Fire arrow sfx/fire_arrows_03.wav 45 50 97 103 1 3
47 Fire ball sfx/fire_ball_02.wav 50 60 98 102 1 3
48 Fire ball explo sfx/fire_ball_explo_02.wav 50 60 97 103 1 2
49 Arrow hit ground sfx/arrow_norm_impact_02.wav 10 15 92 108 1 3
50 Arrow volley hit sfx/arrow_norm_impact_06.wav 55 60 95 105 2 1
51 Fire arrow volley hit sfx/fire_arrows_impact_01.wav 45 55 95 105 1 2
52 Blood boil sfx/dummy_01.wav 1 1 100 100 1 1
53 Tower explode sfx/building_destroyed_05.wav 40 40 100 100 1 3
54 Footman deploy sfx/dummy_01.wav 1 1 100 100 1 1
55 Footman steps sfx/dummy_01.wav 1 1 100 100 1 1
56 sfx/dummy_01.wav 1 1 100 100 1 1
57 sfx/dummy_01.wav 1 1 100 100 1 1
58 sfx/dummy_01.wav 1 1 100 100 1 1
59 Footman attack start sfx/dummy_01.wav 1 1 100 100 1 1
60 sfx/dummy_01.wav 1 1 100 100 1 1
61 sfx/dummy_01.wav 1 1 100 100 1 1
62 sfx/dummy_01.wav 1 1 100 100 1 1
63 sfx/dummy_01.wav 1 1 100 100 1 1
64 Footman hit sfx/dummy_01.wav 1 1 100 100 1 1
65 sfx/dummy_01.wav 1 1 100 100 1 1
66 sfx/dummy_01.wav 1 1 100 100 1 1
67 sfx/dummy_01.wav 1 1 100 100 1 1
68 Footman target sfx/dummy_01.wav 1 1 100 100 1 1
69 Footman die sfx/dummy_01.wav 1 1 100 100 1 1
70 Knight deploy sfx/barb_deploy_11v2.wav 50 50 100 100 1 3
71 sfx/barb_deploy_11v3.wav 50 50 100 100 1 3
72 Knight steps sfx/knight_footstep_01.wav 40 40 98 102 1 2
73 sfx/knight_footstep_02.wav 40 40 98 102 1 2
74 sfx/knight_footstep_03.wav 40 40 98 102 1 2
75 sfx/knight_footstep_04.wav 40 40 98 102 1 3
76 Knight attack start sfx/knight_attack_hack_01.wav 1 1 95 105 1 3
77 Knight hit sfx/knight_attack_hack_01.wav 60 80 98 102 1 3
78 Knight Charge sfx/knight_charge_02.wav 50 50 98 102 1 3
79 Knight target sfx/target_01.wav 40 40 98 102 1 3
80 Knight die sfx/knight_death_01.wav 60 60 100 100 1 5
81 King deploy sfx/dummy_01.wav 1 1 100 100 1 1
82 King steps sfx/dummy_01.wav 1 1 100 100 1 1
83 sfx/dummy_01.wav 1 1 100 100 1 1
84 sfx/dummy_01.wav 1 1 100 100 1 1
85 sfx/dummy_01.wav 1 1 100 100 1 1
86 King attack start sfx/dummy_01.wav 1 1 100 100 1 1
87 King hit sfx/dummy_01.wav 1 1 100 100 1 1
88 King target sfx/dummy_01.wav 1 1 100 100 1 1
89 King die sfx/dummy_01.wav 1 1 100 100 1 1
90 Demon deploy sfx/dummy_01.wav 1 1 100 100 1 1
91 Demon steps sfx/dummy_01.wav 1 1 100 100 1 1 true
92 sfx/dummy_01.wav 1 1 100 100 1 1
93 Cat jump sfx/dummy_01.wav 1 1 100 100 1 1
94 Cat spawn sfx/dummy_01.wav 1 1 100 100 1 1
95 Cat land sfx/dummy_01.wav 1 1 100 100 1 1
96 Demon attack start sfx/dummy_01.wav 1 1 100 100 1 1
97 Demon hit sfx/dummy_01.wav 1 1 100 100 1 1
98 Demon target sfx/dummy_01.wav 1 1 100 100 1 1
99 Demon die sfx/dummy_01.wav 1 1 100 100 1 1
100 Catapult deploy sfx/dummy_01.wav 1 1 100 100 1 1
101 Catapult turn sfx/dummy_01.wav 1 1 100 100 1 1
102 Catapult attack start sfx/dummy_01.wav 1 1 100 100 1 1
103 Catapult fire sfx/dummy_01.wav 1 1 100 100 1 1
104 Catapult reload sfx/dummy_01.wav 1 1 100 100 1 1
105 Spell available sfx/card_ready_02.wav 40 40 100 100 1 1
106 Spell not ready sfx/spell_not_ready_01.wav 50 50 100 100 1 1
107 Spell ready sfx/spell_ready_01.wav 40 40 100 100 1 1
108 Mana add sfx/mana_pool_01.wav 20 20 95 105 1 2
109 Boulder impact sfx/boulder_impact_01.wav 80 90 95 105 1 2
110 Select spell sfx/grabcard_01.wav 50 50 98 102 1 2
111 Archer deploy sfx/clash_archer_deploy_01.wav 50 50 98 102 1 1
112 Archer steps sfx/gen_troop_step_01.wav 40 40 98 102 1 2
113 sfx/gen_troop_step_02.wav 40 40 98 102 1 3
114 sfx/gen_troop_step_03.wav 40 40 98 102 1 2
115 sfx/gen_troop_step_04.wav 40 40 98 102 1 2
116 Archer attack sfx/archer_attack_07.wav 22 32 97 103 1 2
117 Archer target sfx/target_01.wav 1 1 98 102 1 3
118 Arrow hit sfx/arrow_hit_13.wav 20 25 95 105 1 2
119 Archer attack start sfx/target_01.wav 1 1 97 103 1 3
120 Archer die sfx/npc_die_02.wav 1 1 97 103 1 5
121 Root sfx/dummy_01.wav 1 1 100 100 1 1
122 Smoke sfx/dummy_01.wav 1 1 100 100 1 1
123 Lightning sfx/dummy_01.wav 1 1 100 100 1 1
124 Wizard hurt sfx/wiz_hurt_01.wav 50 50 98 102 1 1 5000 6000 3000
125 sfx/wiz_hurt_02.wav 50 50 98 102 1 1 5000 6000 3000
126 sfx/wiz_hurt_03.wav 50 50 98 102 1 1 5000 6000 3000
127 sfx/wiz_hurt_04.wav 50 50 98 102 1 1 5000 6000 3000
128 Get gold sfx/get_gold_01v2.wav 30 40 97 103 1 2
129 Get diamonds sfx/get_diamonds_01.wav 30 35 100 100 1 2
130 get mana sfx/get_mana_01.wav 50 50 97 103 1 2
131 Builder deploy
132 Builder steps
133 Builder attack start
134 Builder hit
135 Builder target
136 Builder die 1 1 98 102 1 3
137 ArcherTower deploy
138 ArcherTower attack sfx/archer_tower_fire_05.wav 40 50 96 103 1 3
139 ArcherTower target
140 ArcherTower die sfx/building_destroyed_05.wav 40 40 100 100 1 3
141 FireSpirit deploy sfx/dummy_01.wav 1 1 100 100 1 1
142 sfx/dummy_01.wav 1 1 100 100 1 1
143 sfx/dummy_01.wav 1 1 100 100 1 1
144 FireSpirit steps
145 FireSpirit attack start sfx/dummy_01.wav 1 1 100 100 1 1
146 FireSpirit hit sfx/dummy_01.wav 1 1 100 100 1 1
147 FireSpirit die sfx/dummy_01.wav 1 1 100 100 1 1
148 Wolf deploy sfx/dummy_01.wav 1 1 100 100 1 1
149 Wolf steps
150 Wolf attack start
151 Wolf hit
152 Wolf target
153 Wolf die
154 Fireplace deploy sfx/dummy_01.wav 1 1 100 100 1 1
155 Fireplace idle
156 Fireplace attack start
157 Fireplace hit
158 Fireplace die
159 Cauldron deploy sfx/dummy_01.wav 1 1 100 100 1 1
160 Cauldron steps
161 Cauldron hit sfx/dummy_01.wav 1 1 100 100 1 1
162 Cauldrond die
163 Construction deploy 2x2 sfx/dummy_01.wav 1 1 100 100 1 1
164 Construction deploy 3x3 sfx/dummy_01.wav 1 1 100 100 1 1
165 Construction destroyed
166 Generic building ready
167 Card ready sfx/card_ready_01.wav 30 30 100 100 1 3
168 sfx/card_ready_01.wav 30 30 112 112 1 3
169 sfx/card_ready_01.wav 30 30 126 126 1 3
170 sfx/card_ready_01.wav 30 30 133 133 1 3
171 sfx/card_ready_01.wav 30 30 150 150 1 3
172 Scroll open sfx/scroll_open_01v3333.wav 50 50 99 101 1 4
173 Scroll close sfx/scroll_close_07.wav 40 40 97 103 1 4
174 Scroll taphold sfx/scroll_taphold_03.wav 40 40 97 103 1 4
175 Scroll drop sfx/scroll_drop_02.wav 40 40 97 103 1 4
176 Chest unlockstart sfx/unlock_chest_start_01.wav 50 50 100 100 4 1
177 Claim chest sfx/dummy_01.wav 1 1 100 100 4 1
178 Chest discard sfx/chest_discard_01.wav 50 50 98 102 1 2
179 No workers sfx/tap_locked_chest_01.wav 40 40 100 100 1 2
180 Cast hot coals sfx/dummy_01.wav 1 1 100 100 1 1
181 Hot coals appear sfx/dummy_01.wav 1 1 100 100 1 1
182 Hot coals loop sfx/dummy_01.wav 1 1 100 100 1 1
183 Growth sfx/dummy_01.wav 1 1 100 100 1 1
184 WizardDeploy sfx/deploy_wizard_01.wav 70 70 100 100 1 3
185 WizardSteps sfx/dummy_01.wav 1 1 100 100 1 1
186 WizardAttackStart sfx/wiz_attack_01.wav 65 65 95 105 1 3
187 WizardHit sfx/dummy_01.wav 1 1 100 100 1 1
188 WizardProjectileHit sfx/dummy_01.wav 1 1 100 100 1 1
189 WizardTakeDamage sfx/wiz_hurt_05.wav 1 1 100 100 1 1 5000 6000 3000
190 sfx/wiz_hurt_06.wav 1 1 100 100 1 1 5000 6000 3000
191 sfx/wiz_hurt_07.wav 40 40 98 102 1 1 5000 6000 3000
192 sfx/wiz_hurt_08.wav 40 40 98 102 1 1 5000 6000 3000
193 WizardDie sfx/wiz_hurt_05.wav 40 40 98 102 1 1 5000 6000 3000
194 sfx/wiz_hurt_06.wav 40 40 98 102 1 1 5000 6000 3000
195 sfx/wiz_hurt_07.wav 40 40 98 102 1 1 5000 6000 3000
196 sfx/wiz_hurt_08.wav 40 40 98 102 1 1 5000 6000 3000
197 Spell sacrifice sfx/spell_sacrifice_09.wav 75 75 100 100 1 4
198 Spell fuse sfx/scroll_fusion_01.wav 60 60 100 100 1 4
199 Enemy on range sfx/bad_drop_03.wav 60 60 100 100 1 2
200 Unlock with diamonds sfx/open_chest_diamonds_02.wav 50 50 100 100 1 3
201 Scroll loading sfx/dummy_01.wav 50 50 100 100 1 3
202 Water of life sfx/water_of_life_01.wav 1 1 100 100 1 2
203 Musketeer deploy
204 Musketeer steps
205 Musketeer attack start
206 Musketeer fire projectile sfx/dummy_01.wav 1 1 100 100 1 1
207 Musketeer special attack start
208 Musketeer special fire projectile
209 Musketeer die
210 Mercenary deploy
211 Mercenary steps
212 Mercenary attack start
213 Mercenary hit
214 Mercenary die sfx/dummy_01.wav 1 1 100 100 1 1
215 Ent Big Deploy
216 Ent Big Steps sfx/dummy_01.wav 1 1 100 100 1 1
217 sfx/dummy_01.wav 1 1 100 100 1 1
218 sfx/dummy_01.wav 1 1 100 100 1 1
219 sfx/dummy_01.wav 1 1 100 100 1 1
220 Ent Big AttackStart
221 Ent Big Attack sfx/dummy_01.wav 1 1 100 100 1 1
222 Ent Big Target
223 Ent Big Die
224 TutorialCharacter1 sfx/dummy_01.wav 1 1 100 100 1 1 1000
225 SellChest sfx/get_gold_04.wav 50 50 99 99 1 3
226 Fire Breath Deploy
227 Fire Breath Steps
228 Fire Breath Attack Start sfx/dummy_01.wav 1 1 100 100 1 1
229 Fire Breath Attack 50 50 99 101 1 3
230 Fire Breath Die
231 Explosive Barrel explosion sfx/dummy_01.wav 1 1 100 100 1 1
232 ExplosiveBarrel deploy sfx/dummy_01.wav 1 1 100 100 1 1
233 RocketTower attack sfx/dummy_01.wav 1 1 100 100 1 1
234 RocketTower destruction sfx/dummy_01.wav 1 1 100 100 1 1
235 PanicSpell sfx/dummy_01.wav 1 1 100 100 1 1
236 Cannon Fire sfx/cannon_fire_03.wav 35 45 96 104 1 3
237 Cannon Deploy sfx/cannon_deploy_01.wav 70 70 98 102 1 3
238 Tower Attack sfx/tower_shoot_01.wav 30 35 98 102 1 3
239 Tower Hit sfx/tower_hit_01.wav 25 30 98 102 1 3
240 Spellfusion sfx/spellfusion01.wav 85 85 100 100 1 3
241 LevelUpWiz sfx/wiz_level_up_02.wav 90 90 100 100 1 2
242 BearTrapDeploy sfx/dummy_01.wav 1 1 100 100 1 1
243 BearTrapAttack sfx/dummy_01.wav 1 1 100 100 1 1
244 WizMove sfx/dummy_01.wav 1 1 100 100 1 1
245 WarHoundDeploy sfx/dummy_01.wav 1 1 100 100 1 1
246 WarHound steps
247 WarHound attack start
248 WarHound hit
249 WarHound target
250 WarHound die
251 sound_knight_deploy sfx/knight_deploy_31111.wav 70 70 100 100 1 3
252 sound_knight_deploy_end sfx/knight_deploy_end_01.wav 60 60 100 100 1 3 1000 1000
253 sound_knight_steps sfx/knight_footstep_01.wav 40 40 98 102 1 2
254 sfx/knight_footstep_02.wav 40 40 98 102 1 2
255 sfx/knight_footstep_03.wav 40 40 98 102 1 2
256 sfx/knight_footstep_04.wav 40 40 98 102 1 3
257 sound_knight_attack_start sfx/knight_attack_start_05.wav 45 55 97 101 1 2 360 360
258 sfx/knight_attack_start_02.wav 45 55 97 101 1 2 430 430
259 sfx/knight_attack_start_03.wav 45 55 97 101 1 2 320 320
260 sfx/knight_attack_start_04.wav 45 55 97 101 1 2 320 320
261 sfx/knight_attack_start_01.wav 45 55 97 101 1 2 300 300
262 sound_knight_hit sfx/knight_hit_01.wav 30 40 98 102 1 3
263 sound_knight_target sfx/target_01.wav 40 40 98 102 1 3
264 sound_knight_die sfx/knight_die_01.wav 60 60 100 100 1 2
265 sfx/knight_die_04.wav 60 60 100 100 1 2
266 sfx/knight_die_03.wav 60 60 100 100 1 2
267 sound_barbarian_deploy sfx/deploy_barbarians_01.wav 70 70 98 102 1 1 500
268 sound_barbarian_steps sfx/knight_footstep_01.wav 40 40 99 102 1 2
269 sfx/knight_footstep_02.wav 40 40 99 102 1 2
270 sfx/knight_footstep_03.wav 40 40 99 102 1 2
271 sfx/knight_footstep_04.wav 40 40 98 102 1 3
272 sound_barbarian_attack_start sfx/barbarian_attack_02.wav 40 40 98 102 1 2 300 300 320
273 sfx/barbarian_attack_03.wav 40 40 98 102 1 2 300 300 320
274 sfx/barbarian_attack_04.wav 40 40 98 102 1 2 300 300 320
275 sfx/barbarian_attack_05.wav 40 40 98 102 1 2 300 300 320
276 sfx/barbarian_attack_06.wav 40 40 98 102 1 2 300 300 320
277 sfx/barbarian_attack_07.wav 40 40 98 102 1 2 300 300 320
278 sfx/barbarian_attack_08.wav 40 40 98 102 1 2 300 300 320
279 sound_barbarian_hit sfx/knight_attack_hack_01.wav 1 1 98 102 1 3
280 sound_barbarian_target sfx/target_01.wav 40 40 98 102 1 3
281 sound_barbarian_die sfx/npc_die_02.wav 1 1 97 103 1 5
282 sound_goblins_deploy sfx/goblin_deploy_14.wav 50 50 98 102 1 1
283 sound_goblins_steps sfx/gen_troop_step_01.wav 70 70 98 102 2 4
284 sfx/gen_troop_step_02.wav 70 70 98 102 2 4
285 sfx/gen_troop_step_03.wav 70 70 98 102 2 4
286 sfx/gen_troop_step_04.wav 70 70 98 102 2 4
287 sound_goblins_attack_start sfx/gob_attack_01v2.wav 30 40 97 103 1 3
288 sfx/gob_attack_02v2.wav 30 40 97 103 1 3
289 sfx/gob_attack_03v2.wav 30 40 97 103 1 3
290 sound_goblins_hit sfx/footman_attack_hit_01.wav 10 20 96 104 2 3
291 sfx/footman_attack_hit_02.wav 10 20 96 104 2 3
292 sfx/footman_attack_hit_03.wav 10 20 96 104 2 3
293 sfx/footman_attack_hit_04.wav 10 20 96 104 2 3
294 sound_goblins_die sfx/npc_die_02.wav 1 1 97 103 1 5
295 sound_giant_deploy sfx/giant_deploy_01.wav 90 90 100 100 1 2
296 sound_giant_steps sfx/demon_step_01.wav 40 60 95 105 1 2
297 sound_giant_attack_start sfx/giant_attack_swing_01.wav 65 80 98 102 1 1
298 sfx/giant_attack_swing_02.wav 65 80 98 102 1 1
299 sfx/giant_attack_swing_03.wav 65 80 98 102 1 1
300 sound_giant_hit sfx/giant_hit_01.wav 60 70 95 105 1 2
301 sound_giant_die sfx/npc_die_02.wav 1 1 97 103 1 5
302 sound_pekka_deploy sfx/pekka_deploy_01.wav 80 80 100 100 1 3
303 sound_pekka_deploy_end sfx/pekka_deploy_end_03.wav 100 100 100 100 1 3 3000 3000
304 sound_pekka_steps sfx/pekka_footstep_02.wav 40 45 96 104 1 3
305 sound_pekka_attack_start sfx/pekka_atk_01.wav 60 60 97 103 1 3
306 sound_pekka_hit sfx/pekka_attack_hit_03.wav 50 60 98 102 1 3
307 sound_pekka_die sfx/npc_die_02.wav 1 1 97 103 1 5
308 sound_minion_deploy sfx/archer_deploy_05.wav 40 40 98 102 1 2
309 sound_minion_steps sfx/minion_wing_02.wav 15 30 93 107 2 2 100
310 sound_minion_attack_start sfx/tinymite_attack_04.wav 1 1 96 104 1 3
311 sound_minion_attack sfx/tinymite_attack_04.wav 50 55 95 105 1 1
312 sfx/tinymite_attack_05.wav 50 55 95 105 1 1
313 sfx/tinymite_attack_06.wav 50 55 95 105 1 1
314 sound_minion_die sfx/npc_die_02.wav 1 1 97 103 1 5
315 sound_minion_projectile_hit
316 Gameend Horn sfx/big_horn_end_02_v2.wav 80 80 100 100 1 1
317 sound_mortar_deploy sfx/boulder_impact_01.wav 40 50 95 105 1 2
318 sound_mortar_turn sfx/target_01.wav 25 30 97 103 1 3
319 sound_mortar_attack_start sfx/mortar_fire_02.wav 1 1 98 102 1 2
320 sound_mortar_attack sfx/mortar_fire_03.wav 80 80 98 102 1 2
321 sound_mortar_hit sfx/boulder_impact_01.wav 80 90 95 105 1 2
322 sound_mortar_die sfx/building_destroyed_05.wav 40 40 100 100 1 3
323 sound_balloon_deploy sfx/deploy_balloon_06.wav 90 90 98 102 1 2
324 sound_balloon_turn sfx/target_01.wav 25 30 97 103 1 3
325 sound_balloon_steps sfx/balloon_fly_loop_01.wav 55 55 98 102 2 2
326 sound_balloon_attack_start sfx/drop_bomb_03.wav 70 70 100 100 1 3
327 sound_balloon_attack
328 sound_balloon_hit sfx/boulder_impact_01.wav 80 90 95 105 1 2
329 sound_balloon_die sfx/building_destroyed_05.wav 40 40 100 100 1 3
330 sound_goblin_hut_deploy sfx/deploy_goblin_hut_02.wav 75 75 98 102 1 2
331 sound_goblin_hut_spawn sfx/goblin_spawn_03.wav 40 50 98 102 2 3
332 sfx/goblin_spawn_04.wav 40 50 98 102 2 3
333 sfx/goblin_spawn_01.wav 40 50 98 102 2 3
334 sfx/goblin_spawn_02.wav 40 50 98 102 2 3
335 sound_goblin_hut_loop
336 sound_goblin_hut_die sfx/boulder_impact_01.wav 80 90 95 105 1 2
337 sound_witch_deploy sfx/summon_witch_01.wav 70 70 100 100 1 3
338 sound_witch_steps sfx/knight_footstep_01.wav 40 40 98 102 1 2
339 sfx/knight_footstep_02.wav 40 40 98 102 1 2
340 sfx/knight_footstep_03.wav 40 40 98 102 1 2
341 sfx/knight_footstep_04.wav 40 40 98 102 1 3
342 sound_witch_attack_start sfx/witch_attack_02.wav 35 45 101 99 1 3
343 sound_witch_hit sfx/knight_attack_hack_01.wav 60 80 98 102 1 3
344 sound_witch_die sfx/npc_die_02.wav 1 1 97 103 1 5
345 sound_witch_deploy_skeleton sfx/witch_summon_02.wav 60 60 98 102 1 1 1000
346 sound_skeleton_deploy sfx/skeleton_deploy_03.wav 65 65 100 100 1 1 500
347 sound_skeleton_steps sfx/gen_troop_step_01.wav 20 30 98 102 2 4
348 sfx/gen_troop_step_02.wav 10 20 98 102 2 4
349 sfx/gen_troop_step_03.wav 10 20 98 102 2 4
350 sfx/gen_troop_step_04.wav 10 20 98 102 2 4
351 sound_skeleton_attack_start sfx/skeleton_atk_03.wav 40 50 97 103 1 2
352 sound_skeleton_hit sfx/footman_attack_hit_01.wav 10 20 96 104 2 3
353 sfx/footman_attack_hit_02.wav 10 20 96 104 2 3
354 sfx/footman_attack_hit_03.wav 10 20 96 104 2 3
355 sfx/footman_attack_hit_04.wav 10 20 96 104 2 3
356 sound_skeleton_die sfx/npc_die_02.wav 1 1 97 103 1 5
357 sound_golem_deploy sfx/giant_deploy_04v3.wav 80 80 100 100 1 2
358 sound_golem_steps sfx/gen_troop_step_01.wav 40 40 98 102 1 3
359 sfx/gen_troop_step_02.wav 40 40 98 102 1 2
360 sfx/gen_troop_step_03.wav 40 40 98 102 1 3
361 sfx/gen_troop_step_04.wav 40 40 98 102 1 2
362 sound_golem_attack_start sfx/stone_golem_attack_02.wav 70 80 98 102 1 2
363 sound_golem_hit sfx/golem_hit_01.wav 70 80 98 102 1 2
364 sound_golem_die sfx/npc_die_02.wav 1 1 97 103 1 5
365 sound_get_star_player sfx/get_star_equence_01_v2.wav 65 65 100 100 1 2
366 sound_get_star_enemy sfx/get_star_equence_01boo.wav 60 60 100 100 1 2
367 sound_generic_death sfx/npc_die_04.wav 35 45 95 104 1 3
368 deploy timer tick sfx/deploy_timer_tick_01v4.wav 30 30 100 100 1 2
369 deploy timer ding sfx/deploy_timer_ding_03.wav 40 40 100 100 1 2
370 enemy deploy timer tick sfx/enemy_deploy_timer_tick_01.wav 20 20 100 100 1 2
371 enemy deploy timer ding sfx/enemy_deploy_timer_ding_04.wav 40 40 100 100 1 2
372 match start sfx/big_horn_start_02_v2.wav 90 90 100 100 1 1
373 Goblin_arena_start sfx/goblin_arena_jingle_01.wav 90 90 100 100 1 1
374 Underground_arena_start sfx/underground_arena_jingle_01.wav 90 90 100 100 1 1
375 Bone_pit_arena_start sfx/bone_pit_arena_jingle_01.wav 90 90 100 100 1 1
376 Dark_arena_start sfx/dark_arena_jing_01.wav 90 90 100 100 1 1
377 Barbarian_arena_start sfx/barbarian_jingle_01.wav 90 90 100 100 1 1
378 Spell_arena_start sfx/spellarena_jing_01.wav 90 90 100 100 1 1
379 Builder_arena_start sfx/builder_arena_jingle_01.wav 90 90 100 100 1 1
380 inferno_loop sfx/laser_loop_02.wav 33 33 100 100 1 1 true
381 Overtime sfx/big_horn_start_02_v2.wav 90 90 100 100 1 1
382 sound_tower_take_damage sfx/tower_attacked_02.wav 50 50 100 100 1 1 30000
383 sound_tower_take_damage_enemy sfx/enemy_tower_attacked_03.wav 55 55 100 100 1 1 30000
384 sound_enemy_die_jingle sfx/dummy_01.wav 1 1 100 100 5 1 300
385 sound_own_die_jingle sfx/dummy_01.wav 1 1 100 100 5 1 300
386 sound_rage_effect sfx/rage_spell_01.wav 60 60 98 102 1 1
387 sound_inferno_tower_attack sfx/laser_loop_02.wav 50 50 98 102 1 1
388 sound_valkyrie_deploy sfx/valkyrie_deploy_02.wav 70 70 100 100 1 3
389 sound_valkyrie_deploy_end sfx/valkyrie_deploy_end_02.wav 50 50 100 100 1 3 1000 1000
390 sound_valkyrie_steps sfx/knight_footstep_01.wav 40 40 98 102 1 2
391 sfx/knight_footstep_02.wav 40 40 98 102 1 2
392 sfx/knight_footstep_03.wav 40 40 98 102 1 2
393 sfx/knight_footstep_04.wav 40 40 98 102 1 3
394 sound_valkyrie_attack_start sfx/valkyrie_atk_04.wav 60 65 97 103 1 3
395 sfx/valkyrie_atk_05.wav 60 65 97 103 1 3
396 sfx/valkyrie_atk_04.wav 60 65 97 103 1 3
397 sfx/valkyrie_atk_06.wav 60 65 97 103 1 3
398 sfx/valkyrie_atk_07.wav 60 65 97 103 1 3
399 sfx/valkyrie_atk_08.wav 60 65 97 103 1 3
400 sfx/valkyrie_atk_09.wav 60 65 97 103 1 3
401 sfx/valkyrie_atk_10.wav 60 65 97 103 1 3
402 sound_valkyrie_hit sfx/valkyrie_hit_01.wav 20 35 98 102 1 3
403 sound_valkyrie_target sfx/target_01.wav 40 40 98 102 1 3
404 sound_valkyrie_die sfx/npc_die_02.wav 1 1 97 103 1 5
405 sound_summon_own_big sfx/summon_own_07.wav 80 80 97 102 1 2 4200 4200
406 sound_summon_enemy_big sfx/enemy_summon_01.wav 55 55 97 103 1 2 3000 3200
407 sound_summon_enemy_big_die sfx/kill_enemy_big_summon_02.wav 55 55 97 103 1 2 2000 2500
408 sound_summon_own_big_die sfx/own_summon_die_03.wav 55 55 97 103 1 2 2000 2500
409 sound_bomber_deploy sfx/deploy_skeleton_01.wav 70 70 100 100 1 2
410 sound_bomber_deploy_end sfx/skeleton_deploy_end_01.wav 70 70 100 100 1 2 1000 1000
411 sound_bomber_steps sfx/bomb_skeleton_01v3.wav 25 35 95 105 3 2
412 sound_bomber_attack
413 sound_bomber_attack_start sfx/bomb_skeleton_atk_04.wav 75 80 97 103 1 1
414 sound_bomber_hit
415 sound_bomber_die
416 sound_BombTower_projectile_hit sfx/skeleton_bomb_explo_01.wav 65 70 95 105 1 1
417 sound_goblin_barrel_explosion sfx/barrel_explosion_02.wav 65 70 95 105 1 1
418 sound_goblin_barrel_spawn sfx/barrel_drawback_14.wav 70 70 100 100 1 2
419 sound_rocket_explosion sfx/rocket_hit_01v2.wav 75 75 96 104 1 2
420 sound_rocket_spawn sfx/rocket_launch_02v2.wav 75 75 96 104 1 2
421 sound_dragon_deploy sfx/archer_deploy_05.wav 40 40 98 102 1 2
422 sound_dragon_steps sfx/gen_troop_step_01.wav 40 40 98 102 1 2
423 sfx/gen_troop_step_02.wav 40 40 98 102 1 3
424 sfx/gen_troop_step_03.wav 40 40 98 102 1 2
425 sfx/gen_troop_step_04.wav 40 40 98 102 1 2
426 sound_dragon_attack_start sfx/tinymite_attack_04.wav 1 1 96 104 1 3
427 sound_dragon_attack sfx/tinymite_attack_04.wav 35 50 95 105 1 3
428 sfx/tinymite_attack_05.wav 35 50 95 105 1 3
429 sfx/tinymite_attack_06.wav 35 50 95 105 1 3
430 sound_dragon_die sfx/npc_die_02.wav 1 1 97 103 1 5
431 chat_donate sfx/donate_01.wav 40 40 100 100 1 3
432 chat_new_msg sfx/scroll_chat_01.wav 20 20 100 100 1 5
433 sound_openChest_wood sfx/wooden_chest_open_01.wav 80 80 100 100 1 5
434 sound_openChest_iron sfx/iron_chest_open_01.wav 80 80 100 100 1 5
435 sound_openChest_gold sfx/gold_chest_open_01.wav 80 80 100 100 1 5
436 sound_openChest_magical sfx/magic_chest_open_01.wav 80 80 100 100 1 5
437 sound_openChest_star sfx/star_chest_open_01.wav 80 80 100 100 1 5
438 sound_openChest_get_gold sfx/get_card_gold_01.wav 80 80 100 100 1 5
439 sound_openChest_get_gem sfx/get_card_gems_01.wav 80 80 100 100 1 5
440 sound_openChest_get_common sfx/get_card_comon_01.wav 80 80 100 100 1 5
441 sound_openChest_get_rare sfx/get_card_rare_01.wav 80 80 100 100 1 5
442 sound_openChest_get_epic sfx/get_epic_rare_01.wav 100 100 100 100 1 5
443 sound_openChest_loop_gold sfx/chest_loop_01.wav 30 30 100 100 1 1 true
444 sound_openChest_loop_gem sfx/chest_loop_01.wav 30 30 100 100 1 1 true
445 sound_openChest_loop_common 40 5 100 100 1 1 true
446 sound_openChest_loop_rare 40 40 100 100 1 1 true
447 sound_openChest_loop_epic 40 40 100 100 1 1 true
448 sound_musketeer_deploy sfx/musketeer_deploy_01.wav 70 70 100 100 1 3
449 sound_musketeer_deploy_end sfx/musketeer_reload_01.wav 60 60 97 103 1 3 1200 1200
450 sound_musketeer_steps
451 sound_musketeer_attack sfx/musket_fire_02.wav 60 65 94 106 1 4
452 sound_musketeer_attack_start
453 sound_musketeer_hit
454 sound_musketeer_target
455 sound_musketeer_die
456 sound_upgradeCard_start sfx/upgrade_card_01.wav 80 80 100 100 1 5
457 sound_upgradeCard_ready sfx/card_upgrade_hit_01.wav 60 60 100 100 1 5
458 sound_upgradeCard_stat_appear sfx/card_upgrade_stat_05.wav 60 60 100 100 1 3
459 sound_upgradeCard_stat_change sfx/card_upgrade_counter_01.wav 25 25 100 100 1 20 20
460 sound_freeze_deploy sfx/freeze_04.wav 65 65 98 102 1 2
461 sound_tesla_deploy sfx/boulder_impact_01.wav 40 50 95 105 1 2
462 sound_tesla_up sfx/tesla_open_02.wav 80 80 98 102 1 3
463 sound_tesla_down sfx/tesla_close_02.wav 70 70 98 102 1 3
464 sound_tesla_attack_start sfx/dummy_01.wav 1 1 96 103 1 5
465 sound_tesla_attack sfx/tesla_zap_01.wav 40 40 96 103 1 5
466 sound_tesla_hit sfx/boulder_impact_01.wav 1 1 95 105 1 2
467 sound_tesla_target sfx/tesla_open_02.wav 1 1 100 100 1 3
468 sound_chr_wizard_deploy sfx/deploy_wizard_01.wav 70 70 100 100 1 1
469 sound_chr_wizard_steps sfx/dummy_01.wav 1 1 100 100 1 1
470 sound_chr_wizard_target sfx/target_01.wav 40 40 98 102 1 3
471 sound_chr_wizard_attack_start sfx/wiz_fireball_01v8.wav 60 60 98 102 1 3
472 sound_chr_wizard_attack sfx/dummy_01.wav 1 1 95 105 1 3
473 sound_chr_wizard_projectile_hit sfx/fireball_hit_01.wav 50 50 95 105 2 3
474 sound_chr_wizard_hit sfx/dummy_01.wav 1 1 100 100 1 1
475 sound_chr_wizard_die sfx/wiz_hurt_05.wav 40 40 98 102 1 1 5000 6000 3000
476 sound_card_fly_in sfx/card_fly_in_05.wav 40 40 100 100 2 4
477 sound_elixir_bubble sfx/elixir_lost_01.wav 20 20 98 102 2 3
478 sound_buy_card sfx/buy_card_01.wav 45 45 100 100 1 4
479 sound_prince_deploy sfx/prince_deploy_01.wav 65 65 100 100 1 3
480 sound_prince_deploy_end sfx/horse_blow_01.wav 65 65 100 100 1 3 1000 1000
481 sound_prince_steps sfx/horse_gallop_01.wav 40 45 97 102 2 2
482 sfx/horse_gallop_02.wav 40 45 97 102 2 2
483 sound_prince_charge_steps sfx/horse_gallop_01.wav 55 60 130 137 2 2
484 sfx/horse_gallop_02.wav 55 60 130 137 2 2
485 sound_prince_charge sfx/rider_charge_03.wav 60 60 100 100 1 2
486 sound_prince_charge_hit
487 sound_prince_attack_start sfx/prince_atk_01v2.wav 60 60 98 102 1 2 210 210
488 sfx/prince_atk_02v2.wav 60 60 98 102 1 2 210 210
489 sfx/prince_atk_03v2.wav 60 60 98 102 1 2 210 210
490 sfx/prince_atk_04v2.wav 60 60 98 102 1 2 210 210
491 sound_prince_hit sfx/prince_hit_01.wav 55 65 95 105 1 2
492 sound_prince_target
493 sound_spear_goblin_deploy sfx/spear_gob_dep_01v2.wav 60 60 96 104 1 2
494 sound_spear_goblin_steps
495 sound_spear_goblin_attack_start sfx/spear_gob_atk_swish_01.wav 55 55 98 108 1 2 550 550
496
497
498 sound_spear_goblin_attack sfx/spear_gob_atk_01.wav 40 40 96 104 1 2
499 sfx/spear_gob_atk_02.wav 40 40 96 104 1 2
500 sfx/spear_gob_atk_03.wav 40 40 96 104 1 2
501 sound_spear_goblin_die
502 sound_spear_goblin_projectile_hit sfx/spear_gob_atk_hit_01.wav 25 30 95 105 2 4
503 sound_giant_skeleton_deploy sfx/big_skeleton_summon_01.wav 90 90 100 100 1 3
504 sound_giant_skeleton_steps sfx/big_skeleton_walk_05.wav 45 55 92 106 1 4
505 sound_giant_skeleton_attack_start sfx/skeleton_arm_swing_02.wav 60 60 96 104 1 3 200 200
506 sound_giant_skeleton_hit sfx/big_skeleton_hit_01.wav 80 80 96 104 1 3
507 sound_giant_skeleton_die
508 sound_minipekka_deploy sfx/minipekka_deploy_01.wav 80 80 98 102 1 3
509 sound_minipekka_deploy_end sfx/mini_pekka_deploy_end_05.wav 65 65 100 100 1 3 1100 1100
510 sound_minipekka_steps sfx/minipekka_step_03.wav 40 45 96 104 1 3
511 sound_minipekka_attack_start sfx/mini_pekka_atk_12.wav 60 60 97 103 1 3 100 100
512 sound_minipekka_hit sfx/mini_pekka_hit_03.wav 60 70 95 105 1 3
513 sound_minipekka_die sfx/npc_die_02.wav 1 1 97 103 1 5
514 sound_hog_rider_deploy sfx/deploy_barbarians_01.wav 70 70 98 102 1 1 500
515 sound_hog_rider_steps sfx/knight_footstep_01.wav 40 40 99 102 1 2
516 sfx/knight_footstep_02.wav 40 40 99 102 1 2
517 sfx/knight_footstep_03.wav 40 40 99 102 1 2
518 sfx/knight_footstep_04.wav 40 40 98 102 1 3
519 sound_hog_rider_attack_start sfx/barbarian_attack_02.wav 40 50 98 105 1 3 300 320
520 sfx/barbarian_attack_03.wav 40 50 98 105 1 3 300 320
521 sfx/barbarian_attack_04.wav 40 50 98 105 1 3 300 320
522 sfx/barbarian_attack_05.wav 40 50 98 105 1 3 300 320
523 sfx/barbarian_attack_06.wav 40 50 98 105 1 3 300 320
524 sfx/barbarian_attack_07.wav 40 50 98 105 1 3 300 320
525 sfx/barbarian_attack_08.wav 40 50 98 105 1 3 300 320
526 sound_hog_rider_hit sfx/knight_attack_hack_01.wav 1 1 98 102 1 3
527 sound_hog_rider_target sfx/target_01.wav 40 40 98 102 1 3
528 sound_hog_rider_die sfx/npc_die_02.wav 1 1 97 103 1 5
529 sound_hog_rider_landing sfx/boulder_impact_01.wav 70 70 98 102 1 1
530 sound_baby_dragon_deploy sfx/babydragon_deploy_01.wav 80 80 98 102 1 3
531 sound_baby_dragon_deploy_end sfx/baby_dragon_deploy_end_11.wav 75 75 98 102 2 1 1100 1100
532 sound_baby_dragon_steps sfx/babydragon_wing_01.wav 30 40 95 105 2 4 300 100 100
533 sound_baby_dragon_attack_start sfx/baby_dragon_fireball_08.wav 65 70 98 102 1 3 150 150
534 sound_baby_dragon_attack
535 sound_baby_dragon_die
536 sound_dragon_projectile_hit sfx/sound_fireball_hit_01.wav 55 65 93 106 2 4
537 tap_magic_chest sfx/magic_chest_land_01.wav 70 70 100 100 1 2
538 tap_wooden_chest sfx/wooden_chest_land_01.wav 70 70 100 100 1 2
539 tap_iron_chest sfx/iron_chest_land_01.wav 70 70 100 100 1 2
540 tap_gold_chest sfx/golden_chest_land_01.wav 70 70 100 100 1 2
541 sound_king_player_activate sfx/king_activate_01.wav 100 100 100 100 1 3 1800 1800
542 sound_king_player_die
543 sound_king_enemy_activate sfx/king_activate_01.wav 100 100 100 100 1 3 1800 1800
544 sound_king_angry sfx/king_tower_gone_01.wav 100 100 100 100 1 3 1500
545 sfx/king_tower_gone_02.wav 100 100 100 100 1 3 1500
546 sfx/king_tower_gone_03.wav 100 100 100 100 1 3 1500
547 sfx/king_tower_gone_04.wav 100 100 100 100 1 3 1500
548 sfx/king_tower_gone_05.wav 100 100 100 100 1 3 1500
549 sfx/king_tower_gone_06.wav 100 100 100 100 1 3 1500
550 sfx/king_tower_gone_07.wav 100 100 100 100 1 3 1500
551 sound_king_happy_tower sfx/king_happy_01.wav 100 100 100 100 1 3 1500
552 sfx/king_happy_02.wav 100 100 100 100 1 3 1500
553 sfx/king_happy_03.wav 100 100 100 100 1 3 1500
554 sfx/king_happy_04.wav 100 100 100 100 1 3 1500
555 sound_king_enemy_die
556 sound_king_attack sfx/king_fire_04.wav 60 70 94 106 1 4
557 Achievement Unlock sfx/achievement_unlock_01.wav 60 60 100 100 1 2
558 Claim Achievement sfx/claim_achievement_01.wav 60 60 100 100 1 2
559 First_Crown sfx/1st_crown_01.wav 60 60 100 100 2
560 Second_Crown sfx/2nd_crown_01.wav 65 65 100 100 2
561 Third_Crown sfx/3rd_crown_01.wav 70 70 100 100 2
562 sound_chest_fly sfx/chest_fly_01.wav 60 60 100 100 1 2 250 250
563 Tut_jing_start sfx/tut_jing_01.wav 90 90 100 100 1 1
564 Tut_jing_time_1 sfx/tut_jing_02.wav 70 70 100 100 1 1
565 Tut_jing_time_2 sfx/tut_jing_02.wav 80 80 119 119 1 1
566 Tut_count_01 sfx/tut_count_01.wav 55 55 100 100 1 4
567 Names_whoosh_out sfx/tex_whoosh_02.wav 60 60 100 100 1 4
568 Names_whoosh_in sfx/text_whoosh_in_03.wav 90 90 100 100 1 4 200 200
569 sound_spell_zap sfx/zap_02.wav 80 80 95 105 1 3
570 sound_board_slide_in sfx/board_slide_in_01.wav 55 55 92 92 1 2
571 sound_tombstone_deploy sfx/tombstone_deploy_01.wav 65 65 100 100 1 3
572 sound_tombstone_spawn sfx/goblin_spawn_03.wav 40 50 98 102 2 3
573 sfx/goblin_spawn_04.wav 40 50 98 102 2 3
574 sfx/goblin_spawn_01.wav 40 50 98 102 2 3
575 sfx/goblin_spawn_02.wav 40 50 98 102 2 3
576 sound_tombstone_die sfx/boulder_impact_01.wav 80 90 95 105 1 2
577 sound_supercell_jingle sfx/supercell_jingle.wav 80 80 100 100 1 3
578 sound_tutorial_first_vo sfx/king_tut_first_vo_01.wav 90 90 100 100 1 3 300 300
579 sound_tutorial_second_vo sfx/king_tut_second_vo_01.wav 80 80 100 100 1 3 3200 3200
580 sound_tutorial_first_plink sfx/dummy_01.wav 1 1 100 100 1 1
581 sound_tutorial_second_plink sfx/tutorial_plink_02v2.wav 65 65 100 100 1 3
582 sound_text_bubble_appear sfx/speech_bubble_tut_03.wav 40 40 95 105 1 3
583 sound_press_battle_button sfx/press_arena_01.wav 80 80 100 100 1 3
584 sound_get_crown sfx/get_crown_02.wav 40 40 100 100 1 5
585 sound_tap_gems sfx/tap_gems_02.wav 60 60 100 100 1 5
586 sound_tap_coins sfx/tap_coins_01.wav 42 42 100 100 1 3
587 sound_buy_card_common sfx/buy_common_card_01.wav 80 80 100 100 1 5
588 sound_buy_card_rare sfx/buy_rare_card_01.wav 80 80 100 100 1 5
589 sound_buy_card_epic sfx/buy_epic_card_01.wav 80 80 100 100 1 5
590 sound_bomb_tower_die sfx/building_explode_01.wav 80 80 95 105 1 3
591 sound_purchase_gems sfx/buy_gems_02.wav 60 60 100 100 1 3
592 sound_king_level_up sfx/king_level_up_01.wav 95 95 100 100 1 2
593 sound_king_happy sfx/king_laughter_01.wav 65 65 98 102 1 2 15000
594 sfx/king_laughter_02.wav 65 65 98 102 1 2 15000
595 sfx/king_laughter_03.wav 65 65 98 102 1 2 15000
596 sfx/king_laughter_04.wav 65 65 98 102 1 2 15000
597 sound_king_crying sfx/king_crying_01.wav 65 65 98 102 1 2 15000
598 sfx/king_crying_02.wav 65 65 98 102 1 2 15000
599 sfx/king_crying_03.wav 65 65 98 102 1 2 15000
600 sfx/king_crying_04.wav 65 65 98 102 1 2 15000
601 sound_king_congratulate sfx/king_congrats_01.wav 65 65 98 102 1 2 15000
602 sfx/king_congrats_02.wav 65 65 98 102 1 2 15000
603 sfx/king_congrats_03.wav 65 65 98 102 1 2 15000
604 sfx/king_congrats_04.wav 65 65 98 102 1 2 15000
605 sound_king_mad sfx/king_mad_01.wav 65 65 98 102 1 2 15000
606 sfx/king_mad_02.wav 65 65 98 102 1 2 15000
607 sfx/king_mad_03.wav 65 65 98 102 1 2 15000
608 sfx/king_mad_04.wav 65 65 98 102 1 2 15000
609 sound_explosion sfx/explosion_01.wav 80 80 97 103 1 3
610 sound_GiantSkeleton_bomb_deploy sfx/bomb_drop_01.wav 80 80 100 100 1 2
611 sound_GiantSkeleton_bomb_die sfx/explosion_01.wav 80 80 97 103 1 3
612 sound_Balloon_Bomb_deploy sfx/bomb_drop_01.wav 80 80 100 100 1 2
613 sound_Balloon_Bomb_die sfx/explosion_01.wav 80 80 97 103 1 3
614 sound_extra_time_jingle sfx/extratime_jingle_02.wav 100 100 100 100 1 3

1088
assets/csv_client/texts.csv Normal file

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,13 @@
"Name","Level","TID","InfoTID","Action","ActionCount","ExpReward","DiamondReward","Hero","SortIndex","Hidden"
"String","int","String","String","String","int","int","int","String","int","Boolean"
"com.supercell.scroll.teamplayer",2,"TID_ACHIEVEMENT_TITLE_CLAN","TID_ACHIEVEMENT_INFO_CLAN","jointeam",1,10,100,,1,
"com.supercell.scroll.donate",0,"TID_ACHIEVEMENT_TITLE_DONATE","TID_ACHIEVEMENT_INFO_DONATE","donate",25,5,3,,2,
"com.supercell.scroll.donate2",1,"TID_ACHIEVEMENT_TITLE_DONATE","TID_ACHIEVEMENT_INFO_DONATE","donate",250,10,5,,3,
"com.supercell.scroll.donate3",2,"TID_ACHIEVEMENT_TITLE_DONATE","TID_ACHIEVEMENT_INFO_DONATE","donate",2500,20,10,,4,
"com.supercell.scroll.reacharena",0,"TID_ACHIEVEMENT_TITLE_REACHARENA","TID_ACHIEVEMENT_INFO_REACHARENA","reacharena",2,5,3,,5,
"com.supercell.scroll.reacharena2",1,"TID_ACHIEVEMENT_TITLE_REACHARENA","TID_ACHIEVEMENT_INFO_REACHARENA","reacharena",4,10,5,,6,
"com.supercell.scroll.reacharena3",2,"TID_ACHIEVEMENT_TITLE_REACHARENA","TID_ACHIEVEMENT_INFO_REACHARENA","reacharena",6,20,10,,7,
"com.supercell.scroll.cards",0,"TID_ACHIEVEMENT_TITLE_CARDS","TID_ACHIEVEMENT_INFO_CARDS","findcard",20,5,3,,8,
"com.supercell.scroll.cards2",1,"TID_ACHIEVEMENT_TITLE_CARDS","TID_ACHIEVEMENT_INFO_CARDS","findcard",30,10,5,,9,
"com.supercell.scroll.cards3",2,"TID_ACHIEVEMENT_TITLE_CARDS","TID_ACHIEVEMENT_INFO_CARDS","findcard",40,20,10,,10,
"com.supercell.scroll.watchtv",2,"TID_ACHIEVEMENT_TITLE_TV","TID_ACHIEVEMENT_INFO_TV","watchtv",1,5,5,,11,
1 Name Level TID InfoTID Action ActionCount ExpReward DiamondReward Hero SortIndex Hidden
2 String int String String String int int int String int Boolean
3 com.supercell.scroll.teamplayer 2 TID_ACHIEVEMENT_TITLE_CLAN TID_ACHIEVEMENT_INFO_CLAN jointeam 1 10 100 1
4 com.supercell.scroll.donate 0 TID_ACHIEVEMENT_TITLE_DONATE TID_ACHIEVEMENT_INFO_DONATE donate 25 5 3 2
5 com.supercell.scroll.donate2 1 TID_ACHIEVEMENT_TITLE_DONATE TID_ACHIEVEMENT_INFO_DONATE donate 250 10 5 3
6 com.supercell.scroll.donate3 2 TID_ACHIEVEMENT_TITLE_DONATE TID_ACHIEVEMENT_INFO_DONATE donate 2500 20 10 4
7 com.supercell.scroll.reacharena 0 TID_ACHIEVEMENT_TITLE_REACHARENA TID_ACHIEVEMENT_INFO_REACHARENA reacharena 2 5 3 5
8 com.supercell.scroll.reacharena2 1 TID_ACHIEVEMENT_TITLE_REACHARENA TID_ACHIEVEMENT_INFO_REACHARENA reacharena 4 10 5 6
9 com.supercell.scroll.reacharena3 2 TID_ACHIEVEMENT_TITLE_REACHARENA TID_ACHIEVEMENT_INFO_REACHARENA reacharena 6 20 10 7
10 com.supercell.scroll.cards 0 TID_ACHIEVEMENT_TITLE_CARDS TID_ACHIEVEMENT_INFO_CARDS findcard 20 5 3 8
11 com.supercell.scroll.cards2 1 TID_ACHIEVEMENT_TITLE_CARDS TID_ACHIEVEMENT_INFO_CARDS findcard 30 10 5 9
12 com.supercell.scroll.cards3 2 TID_ACHIEVEMENT_TITLE_CARDS TID_ACHIEVEMENT_INFO_CARDS findcard 40 20 10 10
13 com.supercell.scroll.watchtv 2 TID_ACHIEVEMENT_TITLE_TV TID_ACHIEVEMENT_INFO_TV watchtv 1 5 5 11

View file

@ -0,0 +1,98 @@
Name,IconSWF,IconExportName
String,String,String
clan_badge_01_01,sc/ui.sc,clan_badge_01_01
clan_badge_01_02,sc/ui.sc,clan_badge_01_02
clan_badge_01_03,sc/ui.sc,clan_badge_01_03
clan_badge_01_04,sc/ui.sc,clan_badge_01_04
clan_badge_02_01,sc/ui.sc,clan_badge_02_01
clan_badge_02_02,sc/ui.sc,clan_badge_02_02
clan_badge_02_03,sc/ui.sc,clan_badge_02_03
clan_badge_02_04,sc/ui.sc,clan_badge_02_04
clan_badge_03_01,sc/ui.sc,clan_badge_03_01
clan_badge_03_02,sc/ui.sc,clan_badge_03_02
clan_badge_03_03,sc/ui.sc,clan_badge_03_03
clan_badge_03_04,sc/ui.sc,clan_badge_03_04
clan_badge_04_01,sc/ui.sc,clan_badge_04_01
clan_badge_04_02,sc/ui.sc,clan_badge_04_02
clan_badge_04_03,sc/ui.sc,clan_badge_04_03
clan_badge_04_04,sc/ui.sc,clan_badge_04_04
clan_badge_05_01,sc/ui.sc,clan_badge_05_01
clan_badge_05_02,sc/ui.sc,clan_badge_05_02
clan_badge_05_03,sc/ui.sc,clan_badge_05_03
clan_badge_05_04,sc/ui.sc,clan_badge_05_04
clan_badge_06_01,sc/ui.sc,clan_badge_06_01
clan_badge_06_02,sc/ui.sc,clan_badge_06_02
clan_badge_06_03,sc/ui.sc,clan_badge_06_03
clan_badge_06_04,sc/ui.sc,clan_badge_06_04
clan_badge_07_01,sc/ui.sc,clan_badge_07_01
clan_badge_07_02,sc/ui.sc,clan_badge_07_02
clan_badge_07_03,sc/ui.sc,clan_badge_07_03
clan_badge_07_04,sc/ui.sc,clan_badge_07_04
clan_badge_07_05,sc/ui.sc,clan_badge_07_05
clan_badge_07_06,sc/ui.sc,clan_badge_07_06
clan_badge_08_01,sc/ui.sc,clan_badge_08_01
clan_badge_08_02,sc/ui.sc,clan_badge_08_02
clan_badge_08_03,sc/ui.sc,clan_badge_08_03
clan_badge_09_01,sc/ui.sc,clan_badge_09_01
clan_badge_09_02,sc/ui.sc,clan_badge_09_02
clan_badge_09_03,sc/ui.sc,clan_badge_09_03
clan_badge_10_01,sc/ui.sc,clan_badge_10_01
clan_badge_10_02,sc/ui.sc,clan_badge_10_02
clan_badge_10_03,sc/ui.sc,clan_badge_10_03
clan_badge_10_04,sc/ui.sc,clan_badge_10_04
clan_badge_10_05,sc/ui.sc,clan_badge_10_05
clan_badge_10_06,sc/ui.sc,clan_badge_10_06
clan_badge_11_01,sc/ui.sc,clan_badge_11_01
clan_badge_11_02,sc/ui.sc,clan_badge_11_02
clan_badge_11_03,sc/ui.sc,clan_badge_11_03
clan_badge_12_01,sc/ui.sc,clan_badge_12_01
clan_badge_12_02,sc/ui.sc,clan_badge_12_02
clan_badge_12_03,sc/ui.sc,clan_badge_12_03
clan_badge_13_01,sc/ui.sc,clan_badge_13_01
clan_badge_13_02,sc/ui.sc,clan_badge_13_02
clan_badge_13_03,sc/ui.sc,clan_badge_13_03
clan_badge_14_01,sc/ui.sc,clan_badge_14_01
clan_badge_14_02,sc/ui.sc,clan_badge_14_02
clan_badge_14_03,sc/ui.sc,clan_badge_14_03
clan_badge_15_01,sc/ui.sc,clan_badge_15_01
clan_badge_15_02,sc/ui.sc,clan_badge_15_02
clan_badge_15_03,sc/ui.sc,clan_badge_15_03
clan_badge_15_04,sc/ui.sc,clan_badge_15_04
clan_badge_15_05,sc/ui.sc,clan_badge_15_05
clan_badge_15_06,sc/ui.sc,clan_badge_15_06
clan_badge_16_01,sc/ui.sc,clan_badge_16_01
clan_badge_16_02,sc/ui.sc,clan_badge_16_02
clan_badge_16_03,sc/ui.sc,clan_badge_16_03
clan_badge_16_04,sc/ui.sc,clan_badge_16_04
clan_badge_16_05,sc/ui.sc,clan_badge_16_05
clan_badge_16_06,sc/ui.sc,clan_badge_16_06
clan_badge_17_01,sc/ui.sc,clan_badge_17_01
clan_badge_17_02,sc/ui.sc,clan_badge_17_02
clan_badge_18_01,sc/ui.sc,clan_badge_18_01
clan_badge_18_02,sc/ui.sc,clan_badge_18_02
clan_badge_19_01,sc/ui.sc,clan_badge_19_01
clan_badge_19_02,sc/ui.sc,clan_badge_19_02
clan_badge_20_01,sc/ui.sc,clan_badge_20_01
clan_badge_20_02,sc/ui.sc,clan_badge_20_02
clan_badge_20_03,sc/ui.sc,clan_badge_20_03
clan_badge_21_01,sc/ui.sc,clan_badge_21_01
clan_badge_21_02,sc/ui.sc,clan_badge_21_02
clan_badge_21_03,sc/ui.sc,clan_badge_21_03
clan_badge_22_01,sc/ui.sc,clan_badge_22_01
clan_badge_22_02,sc/ui.sc,clan_badge_22_02
clan_badge_22_03,sc/ui.sc,clan_badge_22_03
clan_badge_22_04,sc/ui.sc,clan_badge_22_04
clan_badge_22_05,sc/ui.sc,clan_badge_22_05
clan_badge_22_06,sc/ui.sc,clan_badge_22_06
clan_badge_23_01,sc/ui.sc,clan_badge_23_01
clan_badge_23_02,sc/ui.sc,clan_badge_23_02
clan_badge_23_03,sc/ui.sc,clan_badge_23_03
clan_badge_24_01,sc/ui.sc,clan_badge_24_01
clan_badge_24_02,sc/ui.sc,clan_badge_24_02
clan_badge_24_03,sc/ui.sc,clan_badge_24_03
clan_badge_25_01,sc/ui.sc,clan_badge_25_01
clan_badge_25_02,sc/ui.sc,clan_badge_25_02
clan_badge_25_03,sc/ui.sc,clan_badge_25_03
clan_badge_25_04,sc/ui.sc,clan_badge_25_04
clan_badge_25_05,sc/ui.sc,clan_badge_25_05
clan_badge_25_06,sc/ui.sc,clan_badge_25_06
1 Name IconSWF IconExportName
2 String String String
3 clan_badge_01_01 sc/ui.sc clan_badge_01_01
4 clan_badge_01_02 sc/ui.sc clan_badge_01_02
5 clan_badge_01_03 sc/ui.sc clan_badge_01_03
6 clan_badge_01_04 sc/ui.sc clan_badge_01_04
7 clan_badge_02_01 sc/ui.sc clan_badge_02_01
8 clan_badge_02_02 sc/ui.sc clan_badge_02_02
9 clan_badge_02_03 sc/ui.sc clan_badge_02_03
10 clan_badge_02_04 sc/ui.sc clan_badge_02_04
11 clan_badge_03_01 sc/ui.sc clan_badge_03_01
12 clan_badge_03_02 sc/ui.sc clan_badge_03_02
13 clan_badge_03_03 sc/ui.sc clan_badge_03_03
14 clan_badge_03_04 sc/ui.sc clan_badge_03_04
15 clan_badge_04_01 sc/ui.sc clan_badge_04_01
16 clan_badge_04_02 sc/ui.sc clan_badge_04_02
17 clan_badge_04_03 sc/ui.sc clan_badge_04_03
18 clan_badge_04_04 sc/ui.sc clan_badge_04_04
19 clan_badge_05_01 sc/ui.sc clan_badge_05_01
20 clan_badge_05_02 sc/ui.sc clan_badge_05_02
21 clan_badge_05_03 sc/ui.sc clan_badge_05_03
22 clan_badge_05_04 sc/ui.sc clan_badge_05_04
23 clan_badge_06_01 sc/ui.sc clan_badge_06_01
24 clan_badge_06_02 sc/ui.sc clan_badge_06_02
25 clan_badge_06_03 sc/ui.sc clan_badge_06_03
26 clan_badge_06_04 sc/ui.sc clan_badge_06_04
27 clan_badge_07_01 sc/ui.sc clan_badge_07_01
28 clan_badge_07_02 sc/ui.sc clan_badge_07_02
29 clan_badge_07_03 sc/ui.sc clan_badge_07_03
30 clan_badge_07_04 sc/ui.sc clan_badge_07_04
31 clan_badge_07_05 sc/ui.sc clan_badge_07_05
32 clan_badge_07_06 sc/ui.sc clan_badge_07_06
33 clan_badge_08_01 sc/ui.sc clan_badge_08_01
34 clan_badge_08_02 sc/ui.sc clan_badge_08_02
35 clan_badge_08_03 sc/ui.sc clan_badge_08_03
36 clan_badge_09_01 sc/ui.sc clan_badge_09_01
37 clan_badge_09_02 sc/ui.sc clan_badge_09_02
38 clan_badge_09_03 sc/ui.sc clan_badge_09_03
39 clan_badge_10_01 sc/ui.sc clan_badge_10_01
40 clan_badge_10_02 sc/ui.sc clan_badge_10_02
41 clan_badge_10_03 sc/ui.sc clan_badge_10_03
42 clan_badge_10_04 sc/ui.sc clan_badge_10_04
43 clan_badge_10_05 sc/ui.sc clan_badge_10_05
44 clan_badge_10_06 sc/ui.sc clan_badge_10_06
45 clan_badge_11_01 sc/ui.sc clan_badge_11_01
46 clan_badge_11_02 sc/ui.sc clan_badge_11_02
47 clan_badge_11_03 sc/ui.sc clan_badge_11_03
48 clan_badge_12_01 sc/ui.sc clan_badge_12_01
49 clan_badge_12_02 sc/ui.sc clan_badge_12_02
50 clan_badge_12_03 sc/ui.sc clan_badge_12_03
51 clan_badge_13_01 sc/ui.sc clan_badge_13_01
52 clan_badge_13_02 sc/ui.sc clan_badge_13_02
53 clan_badge_13_03 sc/ui.sc clan_badge_13_03
54 clan_badge_14_01 sc/ui.sc clan_badge_14_01
55 clan_badge_14_02 sc/ui.sc clan_badge_14_02
56 clan_badge_14_03 sc/ui.sc clan_badge_14_03
57 clan_badge_15_01 sc/ui.sc clan_badge_15_01
58 clan_badge_15_02 sc/ui.sc clan_badge_15_02
59 clan_badge_15_03 sc/ui.sc clan_badge_15_03
60 clan_badge_15_04 sc/ui.sc clan_badge_15_04
61 clan_badge_15_05 sc/ui.sc clan_badge_15_05
62 clan_badge_15_06 sc/ui.sc clan_badge_15_06
63 clan_badge_16_01 sc/ui.sc clan_badge_16_01
64 clan_badge_16_02 sc/ui.sc clan_badge_16_02
65 clan_badge_16_03 sc/ui.sc clan_badge_16_03
66 clan_badge_16_04 sc/ui.sc clan_badge_16_04
67 clan_badge_16_05 sc/ui.sc clan_badge_16_05
68 clan_badge_16_06 sc/ui.sc clan_badge_16_06
69 clan_badge_17_01 sc/ui.sc clan_badge_17_01
70 clan_badge_17_02 sc/ui.sc clan_badge_17_02
71 clan_badge_18_01 sc/ui.sc clan_badge_18_01
72 clan_badge_18_02 sc/ui.sc clan_badge_18_02
73 clan_badge_19_01 sc/ui.sc clan_badge_19_01
74 clan_badge_19_02 sc/ui.sc clan_badge_19_02
75 clan_badge_20_01 sc/ui.sc clan_badge_20_01
76 clan_badge_20_02 sc/ui.sc clan_badge_20_02
77 clan_badge_20_03 sc/ui.sc clan_badge_20_03
78 clan_badge_21_01 sc/ui.sc clan_badge_21_01
79 clan_badge_21_02 sc/ui.sc clan_badge_21_02
80 clan_badge_21_03 sc/ui.sc clan_badge_21_03
81 clan_badge_22_01 sc/ui.sc clan_badge_22_01
82 clan_badge_22_02 sc/ui.sc clan_badge_22_02
83 clan_badge_22_03 sc/ui.sc clan_badge_22_03
84 clan_badge_22_04 sc/ui.sc clan_badge_22_04
85 clan_badge_22_05 sc/ui.sc clan_badge_22_05
86 clan_badge_22_06 sc/ui.sc clan_badge_22_06
87 clan_badge_23_01 sc/ui.sc clan_badge_23_01
88 clan_badge_23_02 sc/ui.sc clan_badge_23_02
89 clan_badge_23_03 sc/ui.sc clan_badge_23_03
90 clan_badge_24_01 sc/ui.sc clan_badge_24_01
91 clan_badge_24_02 sc/ui.sc clan_badge_24_02
92 clan_badge_24_03 sc/ui.sc clan_badge_24_03
93 clan_badge_25_01 sc/ui.sc clan_badge_25_01
94 clan_badge_25_02 sc/ui.sc clan_badge_25_02
95 clan_badge_25_03 sc/ui.sc clan_badge_25_03
96 clan_badge_25_04 sc/ui.sc clan_badge_25_04
97 clan_badge_25_05 sc/ui.sc clan_badge_25_05
98 clan_badge_25_06 sc/ui.sc clan_badge_25_06

View file

@ -0,0 +1,7 @@
"Name","Level","TID","CanInvite","CanSendMail","CanChangeAllianceSettings","CanAcceptJoinRequest","CanKick","CanBePromotedToLeader","CanPromoteToOwnLevel"
"String","int","String","Boolean","Boolean","Boolean","Boolean","Boolean","Boolean","Boolean"
"NonMember",0,,"false","false","false","false",,,
"Member",1,"TID_ALLIANCE_ROLE_MEMBER","false","false","false","false","false",,
"Leader",20,"TID_ALLIANCE_ROLE_LEADER","true","true","true","true","true","true",
"Elder",5,"TID_ALLIANCE_ROLE_ELDER","true","false","false","true","true",,
"Co-leader",10,"TID_ALLIANCE_ROLE_CO_LEADER","true","true","true","true","true","true","true"
1 Name Level TID CanInvite CanSendMail CanChangeAllianceSettings CanAcceptJoinRequest CanKick CanBePromotedToLeader CanPromoteToOwnLevel
2 String int String Boolean Boolean Boolean Boolean Boolean Boolean Boolean
3 NonMember 0 false false false false
4 Member 1 TID_ALLIANCE_ROLE_MEMBER false false false false false
5 Leader 20 TID_ALLIANCE_ROLE_LEADER true true true true true true
6 Elder 5 TID_ALLIANCE_ROLE_ELDER true false false true true
7 Co-leader 10 TID_ALLIANCE_ROLE_CO_LEADER true true true true true true true

View file

@ -0,0 +1,6 @@
"Name","LifeDuration","LifeDurationIncreasePerLevel","Radius","LoopingEffect","OneShotEffect","ScaledEffect","HitEffect","Pushback","MaximumTargets","HitSpeed","Damage","ReducedTowerDamage","HitBiggestTargets","DamageType","Healing","Buff","BuffTime","BuffTimeIncreasePerLevel","BuffNumber","OnlyEnemies","OnlyOwnTroops","Projectile","HitsGround","HitsAir","ProjectileStartHeight","ProjectilesToCenter"
"string","int","int","int","string","string","string","string","int","int","int","int","boolean","boolean","string","int","string","int","int","int","boolean","boolean","string","boolean","boolean","int","boolean"
"Rage",9000,600,5000,"Spell_rage_loop","Spell_rage_effect","Spell_rage_ground",,,,300,,,,,,"Rage",500,,1,,"TRUE",,"TRUE","TRUE",,
"Freeze",6000,400,4000,"Spell_freeze_loop",,"Spell_freeze_ground",,,,,,,,,,"Freeze",6000,400,1,"TRUE",,,"TRUE","TRUE",,
"Lightning",1500,,3000,,,,,,,460,,,"TRUE",,,,,,,"TRUE",,"LighningSpell","TRUE","TRUE",10,
"Zap",1,,2500,,"Spell_zap_effect",,,,,,90,"TRUE",,,,,,,,"TRUE",,,"TRUE","TRUE",,
1 Name LifeDuration LifeDurationIncreasePerLevel Radius LoopingEffect OneShotEffect ScaledEffect HitEffect Pushback MaximumTargets HitSpeed Damage ReducedTowerDamage HitBiggestTargets DamageType Healing Buff BuffTime BuffTimeIncreasePerLevel BuffNumber OnlyEnemies OnlyOwnTroops Projectile HitsGround HitsAir ProjectileStartHeight ProjectilesToCenter
2 string int int int string string string string int int int int boolean boolean string int string int int int boolean boolean string boolean boolean int boolean
3 Rage 9000 600 5000 Spell_rage_loop Spell_rage_effect Spell_rage_ground 300 Rage 500 1 TRUE TRUE TRUE
4 Freeze 6000 400 4000 Spell_freeze_loop Spell_freeze_ground Freeze 6000 400 1 TRUE TRUE TRUE
5 Lightning 1500 3000 460 TRUE TRUE LighningSpell TRUE TRUE 10
6 Zap 1 2500 Spell_zap_effect 90 TRUE TRUE TRUE TRUE

View file

@ -0,0 +1,9 @@
"Name","TID","SubtitleTID","Arena","TrainingCamp","TrophyLimit","DemoteTrophyLimit","ChestRewardMultiplier","ChestShopPriceMultiplier","MatchCost","RequestSize","MaxDonationCount","IconSWF","IconExportName","MatchmakingMinTrophyDelta","MatchmakingMaxTrophyDelta","MatchmakingMaxSeconds","PvpLocation","DailyDonationCapacityLimit"
"string","string","string","Int","boolean","int","int","int","int","int","int","int","string","string","int","int","int","String","int"
"TrainingCamp","TID_ARENA_TRAINING_CAMP","TID_INFO_ARENA_TRAINING_CAMP",0,"TRUE",0,0,100,100,0,10,1,"sc/ui_arena.sc","arena_00",0,200,120,"TrainingCamp",60
"Arena1","TID_ARENA1","TID_INFO_ARENA1",1,,0,0,100,100,1,10,1,"sc/ui_arena.sc","arena_01",0,200,120,"PvP_goblin",60
"Arena2","TID_ARENA2","TID_INFO_ARENA2",2,,400,350,135,130,2,10,2,"sc/ui_arena.sc","arena_02",40,300,120,"PvP_bone",60
"Arena3","TID_ARENA3","TID_INFO_ARENA3",3,,800,750,160,150,3,10,2,"sc/ui_arena.sc","arena_03",80,350,120,"PvP_barbarian",60
"Arena4","TID_ARENA4","TID_INFO_ARENA4",4,,1000,950,180,165,4,11,2,"sc/ui_arena.sc","arena_04",100,400,120,"PvP_dark",66
"Arena5","TID_ARENA5","TID_INFO_ARENA5",5,,1200,1150,200,180,5,12,2,"sc/ui_arena.sc","arena_05",120,450,120,"PvP_spell",72
"Arena6","TID_ARENA6","TID_INFO_ARENA6",6,,1400,1350,210,185,6,13,2,"sc/ui_arena.sc","arena_06",140,500,120,"PvP_royal",78
1 Name TID SubtitleTID Arena TrainingCamp TrophyLimit DemoteTrophyLimit ChestRewardMultiplier ChestShopPriceMultiplier MatchCost RequestSize MaxDonationCount IconSWF IconExportName MatchmakingMinTrophyDelta MatchmakingMaxTrophyDelta MatchmakingMaxSeconds PvpLocation DailyDonationCapacityLimit
2 string string string Int boolean int int int int int int int string string int int int String int
3 TrainingCamp TID_ARENA_TRAINING_CAMP TID_INFO_ARENA_TRAINING_CAMP 0 TRUE 0 0 100 100 0 10 1 sc/ui_arena.sc arena_00 0 200 120 TrainingCamp 60
4 Arena1 TID_ARENA1 TID_INFO_ARENA1 1 0 0 100 100 1 10 1 sc/ui_arena.sc arena_01 0 200 120 PvP_goblin 60
5 Arena2 TID_ARENA2 TID_INFO_ARENA2 2 400 350 135 130 2 10 2 sc/ui_arena.sc arena_02 40 300 120 PvP_bone 60
6 Arena3 TID_ARENA3 TID_INFO_ARENA3 3 800 750 160 150 3 10 2 sc/ui_arena.sc arena_03 80 350 120 PvP_barbarian 60
7 Arena4 TID_ARENA4 TID_INFO_ARENA4 4 1000 950 180 165 4 11 2 sc/ui_arena.sc arena_04 100 400 120 PvP_dark 66
8 Arena5 TID_ARENA5 TID_INFO_ARENA5 5 1200 1150 200 180 5 12 2 sc/ui_arena.sc arena_05 120 450 120 PvP_spell 72
9 Arena6 TID_ARENA6 TID_INFO_ARENA6 6 1400 1350 210 185 6 13 2 sc/ui_arena.sc arena_06 140 500 120 PvP_royal 78

View file

@ -0,0 +1,16 @@
"Name","SightRange","DeployTime","ChargeRange","Speed","Hitpoints","HitSpeed","LoadTime","Damage","DamageSpecial","DamageType","Projectile","Range","MinimumRange","AttacksGround","AttacksAir","DeathDamageRadius","DeathDamage","DeathPushBack","Healing","ReloadAfterHits","ReloadTime","LifeTime","ProjectileSpecial","ProjectileEffect","ProjectileEffectSpecial","AreaDamageRadius","TargetOnlyBuildings","DamageTypeVulnerabilities","DamageTypeImmunities","SpecialAttackInterval","BuffOnDamage","BuffOnDamageTime","IgnoreTargetIfImmuneToBuff","StartingBuff","StartingBuffTime","FileName","BlueExportName","BlueTopExportName","RedExportName","RedTopExportName","UseAnimator","AttachedCharacter","AttachedCharacterHeight","DamageEffect","DamageEffectSpecial","DeathEffect","MoveEffect","SpawnEffect","CrowdEffects","ShadowScaleX","ShadowScaleY","ShadowX","ShadowY","ShadowSkew","Pushback","IgnorePushback","Scale","CollisionRadius","Mass","TileSizeOverride","AreaBuff","AreaBuffTime","AreaBuffRadius","AreaBuffOwnTroops","AreaBuffEnemies","Gold","ManaOnDeath","HealthBar","HealthBarOffsetY","ShowHealthNumber","FlyingHeight","DamageExportName","GrowTime","GrowSize","MorphCharacter","MorphEffect","HealOnMorph","AreaEffectOnMorph","AttackStartEffect","AttackStartEffectSpecial","DashCooldown","JumpHeight","DashPushBack","DashRadius","DashDamage","LandingEffect","DashMinRange","DashMaxRange","JumpSpeed","ContinuousEffect","SpawnStartTime","SpawnInterval","SpawnNumber","SpawnLimit","SpawnPauseTime","SpawnCharacterLevelIndex","SpawnCharacter","SpawnCharacterEffect","DeathSpawnCount","DeathSpawnCharacter","Kamikaze","ChargeEffect","TakeDamageEffect","ProjectileStartRadius","ProjectileStartZ","StopMovementAfterMS","WaitMS","IsSummonerTower","NoDeploySizeW","NoDeploySizeH","TID","VariableDamage2","VariableDamageTime1","VariableDamage3","VariableDamageTime2","TargettedDamageEffect1","TargettedDamageEffect2","TargettedDamageEffect3","DamageLevelTransitionEffect12","DamageLevelTransitionEffect23","FlameEffect1","FlameEffect2","FlameEffect3","TargetEffectY","ForceAttackAnimationToEnd","SelfAsAoeCenter","HidesWhenNotAttacking","HideTimeMs","TargetedHitEffect","UpTimeMs","HideEffect","AppearEffect","ManaCollectAmount","ManaGenerateTimeMs","ManaGenerateLimit","HasRotationOnTimeline","TurretMovement","ProjectileYOffset","ChargeSpeedMultiplier","RandomDeployDelay","DeployBaseAnimExportName","JumpEnabled","SightClip","Egg"
"string","int","int","int","int","int","int","int","int","int","string","string","int","int","boolean","boolean","int","int","int","int","int","int","int","string","string","string","int","boolean","string","string","int","string","int","boolean","string","int","string","string","string","string","string","boolean","string","int","string","string","string","string","string","boolean","int","int","int","int","int","int","boolean","int","int","int","int","string","int","int","boolean","boolean","int","int","string","int","boolean","int","string","int","int","string","string","boolean","string","string","string","int","int","int","int","int","string","int","int","int","string","int","int","int","int","int","int","string","string","int","string","boolean","string","string","int","int","int","int","boolean","int","int","string","int","int","int","int","string","string","string","string","string","string","string","string","int","boolean","boolean","boolean","int","string","int","string","string","int","int","int","boolean","int","int","int","int","string","boolean","int","string"
"KingTower",8000,,,,2400,1000,500,,,,"KingProjectile",8000,,"true","true",,,,,,,,,"King_attack",,,,,,,,,,"SummonerBuff",-1,"sc/building_tower.sc","KingTower_blue",,"KingTower_red",,,,2400,"musketeer_hit",,"King_player_die",,,,102,60,-6,2,13,,,100,1400,,2,,,,,,,,"Summoner",-27,"true",,"filter_damage",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,300,3500,,,,18,16,"TID_CHARACTER_WIZARD",,,,,,,,,,,,,,,,,,,,,,,,,"true",5,400,,,,,,
"PrincessTower",8500,,,,1400,800,,,,,"PrincessProjectile",8500,,"true","true",,,,,,,,,"ArcherTowerAttack",,,,,,,,,,,,"sc/building_tower.sc","StarTower_base_blue","StarTower_top_blue","StarTower_base_red","StarTower_top_red",,"PrincessB",2200,,,"TowerExplode",,,"true",102,70,-5,5,13,,,100,1000,,,,,,,,,,"Tower",,"true",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,300,3000,,,"true",11,21,"TID_BUILDING_ARCHER_TOWER",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"Cannon",7000,1000,,,700,800,,,,,"TowerCannonball",7000,,"true",,,,,,,,60000,,"cannon_fire_projectile",,,,,,,,,,,,"sc/building_basic_cannon.sc","building_cannon",,"building_enemy_cannon",,,,,,,"Cannon_die",,"Cannon_deploy",,90,-90,-7,10,10,,,100,600,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1000,2500,,,,,,"TID_BUILDING_CANNON",,,,,,,,,,,,,,,,,,,,,,,,,"true",15,,,,,,,
"GoblinHut",,1000,,,700,10000,,,,,,,,"true",,,,,,,,60000,,,,,,,,,,,,,,"sc/building_goblin_hut.sc","building_goblinHut_player",,"building_goblinHut_enemy",,,,,,,"goblin_hut_die",,"goblin_hut_deploy",,90,60,-8,,5,,,100,1000,,,,,,,,,,,,,,"filter_damage_wobble",,,,,,,,,,,,,,,,,,,,,1,,4950,2,"SpearGoblin",,,,,,,400,400,,,,,,"TID_BUILDING_GOBLIN_HUT",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"Mortar",13000,3000,,,500,5000,4000,,,,"MortarProjectile",13000,5000,"true",,,,,,,,60000,,"mortar_attack",,,,,,,,,,,,"sc/building_mortar.sc","building_mortar1",,"building_mortar1_enemy",,"true",,,,,"mortar_die",,,,80,80,,,35,,,140,600,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1000,1000,,,,,,"TID_BUILDING_MORTAR",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"InfernoTower",6500,1000,,,840,400,1200,20,,,,6500,,"true","true",,,,,,,60000,,,,,,,,,,,,,,"sc/building_inferno_tower.sc","inferno_blue",,"inferno_red",,"true",,,"inferno_hit_effect",,"Cannon_die",,,,90,70,-5,15,35,,,120,600,,,,,,,,,,,,,,,,,,,,,"knight_attack_start",,,,,,,,,,,"Inferno_continuous",,,,,,,,,,,,,,1000,1000,,,,,,"TID_BUILDING_INFERNO",75,2000,400,2000,"inferno_beam_lvl1","inferno_beam_lvl2","inferno_beam_lvl3","inferno_stage2_root","inferno_stage3_root","inferno_muzzle","inferno_muzzle_stage2","inferno_muzzle_stage3",-80,,,,,,,,,,,,,,,,,,,,
"BombTower",6500,1000,,,800,1900,1400,,,,"BombTowerProjectile",6500,,"true",,,,,,,,60000,,,,,,,,,,,,,,"sc/building_bomb_tower.sc","building_bomb_tower_blue","building_bomb_tower_top_blue","building_bomb_tower_red","building_bomb_tower_top_red",,"Bomber",3200,,,"BombTower_die",,"Cannon_deploy",,100,85,-8,,35,,,100,600,,,,,,,,,,,-15,,,"filter_damage_wobble",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4500,,,,,,"TID_BUILDING_BOMB_TOWER",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"BarbarianHut",,1000,,,700,10000,,,,,,,,"true",,,,,,,,60000,,,,,,,,,,,,,,"sc/building_barbarian_hut.sc","building_barbarian_hut_blue",,"building_barbarian_hut_red",,,,,,,"goblin_hut_die",,,,90,60,-8,,5,,,100,1000,,,,,,,,,,,,,,"filter_damage_wobble",,,,,,,,,,,,,,,,,,,,500,2,,11350,2,"Barbarian",,,,,,,400,400,,,,,,"TID_BUILDING_BARBARIAN_HUT",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"Tesla",6000,1000,,,340,700,,60,,,,6000,,"true","true",,,,,,,60000,,,,,,,,,,,,,,"sc/building_tesla.sc","tesla1_blue",,"tesla1_red",,,,,"tesla_hit_effect",,"tesla_die",,"tesla_deploy",,80,80,,,35,,,90,500,,,,,,,,,,,10,,,,,,,,,,"Tesla_beam",,,,,,,,,,,,,,,,,,,,,,,,,1000,1000,,,,,,"TID_BUILDING_TESLA",,,,,,,,,,,,,-60,,,"true",800,"Tesla_beam",800,"tesla_down","tesla_up",,,,,,,,,,,,
"ElixirCollector",,1000,,,800,,,,,,,,,,,,,,,,,70000,,,,,,,,,,,,,,"sc/building_elixir_collector.sc","building_elixir_pump_blue",,"building_elixir_pump_red",,,,,,,"tesla_die",,"tesla_deploy",,55,50,-15,,35,,,100,1000,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"TID_BUILDING_ELIXIR_COLLECTOR",,,,,,,,,,,,,,,,,,,,,,1,9950,,,,,,,,,,
"Xbow",13000,3000,,,900,300,,,,,"xbow_projectile",13000,,"true","true",,,,,,,40000,,"ArcherTowerAttack",,,,,,,,,,,,"sc/building_xbow.sc","building_xbow_attack1_1",,"building_xbow_red_attack1",,,,,,,"Cannon_die",,"Cannon_deploy",,80,80,,,35,,,100,600,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1000,2400,,,,,,"TID_BUILDING_XBOW",,,,,,,,,,,,,,,,,,,,,,,,,"true",10,,,,,,,
"Tombstone",,1000,,,200,10000,,,,,,,,"true",,,,,,,,60000,,,,,,,,,,,,,,"sc/building_tombstone.sc","building_tombstone_blue",,"building_tombstone_red",,,,,,,"tombstone_die",,"tombstone_deploy",,90,60,-8,,5,,,100,1000,,,,,,,,,,,,,,"filter_damage_wobble",,,,,,,,,,,,,,,,,,,,,1,,3950,2,"Skeleton",,6,"Skeleton",,,,400,400,,,,,,"TID_BUILDING_TOMBSTONE",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"GiantSkeletonBomb",,1000,,,,,,,,,,,,"true","true",3000,720,1800,,,,,,,,,,,,,,,,,,"sc/building_mega_bomb.sc","giant_skeleton_bomb_blue",,"giant_skeleton_bomb_red",,,,,,,"MegaBombExplodeSkeleton",,"GiantSkeleton_Bomb_deploy",,,,,,,,,100,450,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,400,,,,,,"TID_BUILDING_GIANT_SKELETON_BOMB",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"BalloonBomb",,1000,,,,,,,,,,,,"true","true",2000,100,,,,,,,,,,,,,,,,,,,"sc/building_mega_bomb.sc","balloon_bomb_blue",,"balloon_bomb_red",,,,,,,"MegaBombExplodeBalloon",,"Balloon_Bomb_deploy",,,,,,,,,100,450,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,400,,,,,,"TID_BUILDING_GIANT_SKELETON_BOMB",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
1 Name SightRange DeployTime ChargeRange Speed Hitpoints HitSpeed LoadTime Damage DamageSpecial DamageType Projectile Range MinimumRange AttacksGround AttacksAir DeathDamageRadius DeathDamage DeathPushBack Healing ReloadAfterHits ReloadTime LifeTime ProjectileSpecial ProjectileEffect ProjectileEffectSpecial AreaDamageRadius TargetOnlyBuildings DamageTypeVulnerabilities DamageTypeImmunities SpecialAttackInterval BuffOnDamage BuffOnDamageTime IgnoreTargetIfImmuneToBuff StartingBuff StartingBuffTime FileName BlueExportName BlueTopExportName RedExportName RedTopExportName UseAnimator AttachedCharacter AttachedCharacterHeight DamageEffect DamageEffectSpecial DeathEffect MoveEffect SpawnEffect CrowdEffects ShadowScaleX ShadowScaleY ShadowX ShadowY ShadowSkew Pushback IgnorePushback Scale CollisionRadius Mass TileSizeOverride AreaBuff AreaBuffTime AreaBuffRadius AreaBuffOwnTroops AreaBuffEnemies Gold ManaOnDeath HealthBar HealthBarOffsetY ShowHealthNumber FlyingHeight DamageExportName GrowTime GrowSize MorphCharacter MorphEffect HealOnMorph AreaEffectOnMorph AttackStartEffect AttackStartEffectSpecial DashCooldown JumpHeight DashPushBack DashRadius DashDamage LandingEffect DashMinRange DashMaxRange JumpSpeed ContinuousEffect SpawnStartTime SpawnInterval SpawnNumber SpawnLimit SpawnPauseTime SpawnCharacterLevelIndex SpawnCharacter SpawnCharacterEffect DeathSpawnCount DeathSpawnCharacter Kamikaze ChargeEffect TakeDamageEffect ProjectileStartRadius ProjectileStartZ StopMovementAfterMS WaitMS IsSummonerTower NoDeploySizeW NoDeploySizeH TID VariableDamage2 VariableDamageTime1 VariableDamage3 VariableDamageTime2 TargettedDamageEffect1 TargettedDamageEffect2 TargettedDamageEffect3 DamageLevelTransitionEffect12 DamageLevelTransitionEffect23 FlameEffect1 FlameEffect2 FlameEffect3 TargetEffectY ForceAttackAnimationToEnd SelfAsAoeCenter HidesWhenNotAttacking HideTimeMs TargetedHitEffect UpTimeMs HideEffect AppearEffect ManaCollectAmount ManaGenerateTimeMs ManaGenerateLimit HasRotationOnTimeline TurretMovement ProjectileYOffset ChargeSpeedMultiplier RandomDeployDelay DeployBaseAnimExportName JumpEnabled SightClip Egg
2 string int int int int int int int int int string string int int boolean boolean int int int int int int int string string string int boolean string string int string int boolean string int string string string string string boolean string int string string string string string boolean int int int int int int boolean int int int int string int int boolean boolean int int string int boolean int string int int string string boolean string string string int int int int int string int int int string int int int int int int string string int string boolean string string int int int int boolean int int string int int int int string string string string string string string string int boolean boolean boolean int string int string string int int int boolean int int int int string boolean int string
3 KingTower 8000 2400 1000 500 KingProjectile 8000 true true King_attack SummonerBuff -1 sc/building_tower.sc KingTower_blue KingTower_red 2400 musketeer_hit King_player_die 102 60 -6 2 13 100 1400 2 Summoner -27 true filter_damage 300 3500 18 16 TID_CHARACTER_WIZARD true 5 400
4 PrincessTower 8500 1400 800 PrincessProjectile 8500 true true ArcherTowerAttack sc/building_tower.sc StarTower_base_blue StarTower_top_blue StarTower_base_red StarTower_top_red PrincessB 2200 TowerExplode true 102 70 -5 5 13 100 1000 Tower true 300 3000 true 11 21 TID_BUILDING_ARCHER_TOWER
5 Cannon 7000 1000 700 800 TowerCannonball 7000 true 60000 cannon_fire_projectile sc/building_basic_cannon.sc building_cannon building_enemy_cannon Cannon_die Cannon_deploy 90 -90 -7 10 10 100 600 1000 2500 TID_BUILDING_CANNON true 15
6 GoblinHut 1000 700 10000 true 60000 sc/building_goblin_hut.sc building_goblinHut_player building_goblinHut_enemy goblin_hut_die goblin_hut_deploy 90 60 -8 5 100 1000 filter_damage_wobble 1 4950 2 SpearGoblin 400 400 TID_BUILDING_GOBLIN_HUT
7 Mortar 13000 3000 500 5000 4000 MortarProjectile 13000 5000 true 60000 mortar_attack sc/building_mortar.sc building_mortar1 building_mortar1_enemy true mortar_die 80 80 35 140 600 1000 1000 TID_BUILDING_MORTAR
8 InfernoTower 6500 1000 840 400 1200 20 6500 true true 60000 sc/building_inferno_tower.sc inferno_blue inferno_red true inferno_hit_effect Cannon_die 90 70 -5 15 35 120 600 knight_attack_start Inferno_continuous 1000 1000 TID_BUILDING_INFERNO 75 2000 400 2000 inferno_beam_lvl1 inferno_beam_lvl2 inferno_beam_lvl3 inferno_stage2_root inferno_stage3_root inferno_muzzle inferno_muzzle_stage2 inferno_muzzle_stage3 -80
9 BombTower 6500 1000 800 1900 1400 BombTowerProjectile 6500 true 60000 sc/building_bomb_tower.sc building_bomb_tower_blue building_bomb_tower_top_blue building_bomb_tower_red building_bomb_tower_top_red Bomber 3200 BombTower_die Cannon_deploy 100 85 -8 35 100 600 -15 filter_damage_wobble 4500 TID_BUILDING_BOMB_TOWER
10 BarbarianHut 1000 700 10000 true 60000 sc/building_barbarian_hut.sc building_barbarian_hut_blue building_barbarian_hut_red goblin_hut_die 90 60 -8 5 100 1000 filter_damage_wobble 500 2 11350 2 Barbarian 400 400 TID_BUILDING_BARBARIAN_HUT
11 Tesla 6000 1000 340 700 60 6000 true true 60000 sc/building_tesla.sc tesla1_blue tesla1_red tesla_hit_effect tesla_die tesla_deploy 80 80 35 90 500 10 Tesla_beam 1000 1000 TID_BUILDING_TESLA -60 true 800 Tesla_beam 800 tesla_down tesla_up
12 ElixirCollector 1000 800 70000 sc/building_elixir_collector.sc building_elixir_pump_blue building_elixir_pump_red tesla_die tesla_deploy 55 50 -15 35 100 1000 TID_BUILDING_ELIXIR_COLLECTOR 1 9950
13 Xbow 13000 3000 900 300 xbow_projectile 13000 true true 40000 ArcherTowerAttack sc/building_xbow.sc building_xbow_attack1_1 building_xbow_red_attack1 Cannon_die Cannon_deploy 80 80 35 100 600 1000 2400 TID_BUILDING_XBOW true 10
14 Tombstone 1000 200 10000 true 60000 sc/building_tombstone.sc building_tombstone_blue building_tombstone_red tombstone_die tombstone_deploy 90 60 -8 5 100 1000 filter_damage_wobble 1 3950 2 Skeleton 6 Skeleton 400 400 TID_BUILDING_TOMBSTONE
15 GiantSkeletonBomb 1000 true true 3000 720 1800 sc/building_mega_bomb.sc giant_skeleton_bomb_blue giant_skeleton_bomb_red MegaBombExplodeSkeleton GiantSkeleton_Bomb_deploy 100 450 400 400 TID_BUILDING_GIANT_SKELETON_BOMB
16 BalloonBomb 1000 true true 2000 100 sc/building_mega_bomb.sc balloon_bomb_blue balloon_bomb_red MegaBombExplodeBalloon Balloon_Bomb_deploy 100 450 400 400 TID_BUILDING_GIANT_SKELETON_BOMB

View file

@ -0,0 +1,15 @@
"Name","IconFileName","IconExportName","ChangeControl","DamagePerSecond","DamageType","DamageReduction","HealReduction","ImmuneToAntiMagic","HitSpeedMultiplier","SpeedMultiplier","SpawnSpeedMultiplier","NegatesBuffs","ImmunityToBuffs","Invisible","RemoveOnAttack","TimeToEmptyBankedDamage","RemoveOnHeal","DamageMultiplier","Panic","Effect","FilterFile","FilterExportName","SizeMultiplier","StaticTarget","HitsToDestroy","DisableRadius","DisabledCooldown","IgnorePushBack","MarkEffect"
"String","String","String","Boolean","int","String","int","int","Boolean","int","int","int","String","String","Boolean","Boolean","int","Boolean","int","boolean","String","String","String","int","boolean","int","int","int","boolean","String"
"Rage",,,,,,,,,135,135,135,,,,,,,,,"Spell_rage_hit_effect","sc/effects.sc","filter_rage",,,,,,,"Healing"
"Flaming","sc/ui.sc","buff_icon_small_fire",,25,"Fire",,,"TRUE",,,,"Freeze","Freeze",,,,,,,"Burner","sc/level.sc","filter_burn",,,,,,,
"Freeze",,,,,,,,"TRUE",-100,-100,-100,"Flaming","Flaming",,,,,,,,"sc/level.sc","filter_cold",,,,,,,
"Poisoned",,,,,"Poison",,,"TRUE",,,,,,,,7000,"TRUE",,,"PoisonSteam","sc/level.sc","filter_poison",,,,,,,
"Smoke","sc/ui.sc","buff_icon_small_smoke",,,,,,"TRUE",-100,-50,,,,"TRUE",,,,,,,"sc/level.sc","filter_cold",,,,,,,
"Supersize","sc/ui.sc",,,,,,,,,,,"Poisoned",,,,,,,,"Growth",,,150,,,,,,"Healing"
"Root","sc/ui.sc",,,,,,,,,-100,,,,,,,,,,"Root",,,,"true",,,,"true","Healing"
"Stun","sc/ui.sc",,,,,,,,,-100,,,,,,,,,,"Stun",,,,"true",,,,,
"Panic","sc/ui.sc","buff_icon_small_mindcotroll",,,,,,,,,,,,,,,,,"true",,,,,,,,,,"Healing"
"Maul",,,,,,,,,-50,-50,,,,,,,"TRUE",,,,,,,,,,,,
"Steroid","sc/ui.sc","buff_icon_small_bloodrage",,,,,100,,140,130,,,,,,,,,,,,,,,,,,,"Healing"
"SummonerBuff",,,,,,,90,"TRUE",,,,,,,,,,,,,,,,,,,,,
,,,,,,,90,,,,,,,,,,,,,,,,,,,,,,
1 Name IconFileName IconExportName ChangeControl DamagePerSecond DamageType DamageReduction HealReduction ImmuneToAntiMagic HitSpeedMultiplier SpeedMultiplier SpawnSpeedMultiplier NegatesBuffs ImmunityToBuffs Invisible RemoveOnAttack TimeToEmptyBankedDamage RemoveOnHeal DamageMultiplier Panic Effect FilterFile FilterExportName SizeMultiplier StaticTarget HitsToDestroy DisableRadius DisabledCooldown IgnorePushBack MarkEffect
2 String String String Boolean int String int int Boolean int int int String String Boolean Boolean int Boolean int boolean String String String int boolean int int int boolean String
3 Rage 135 135 135 Spell_rage_hit_effect sc/effects.sc filter_rage Healing
4 Flaming sc/ui.sc buff_icon_small_fire 25 Fire TRUE Freeze Freeze Burner sc/level.sc filter_burn
5 Freeze TRUE -100 -100 -100 Flaming Flaming sc/level.sc filter_cold
6 Poisoned Poison TRUE 7000 TRUE PoisonSteam sc/level.sc filter_poison
7 Smoke sc/ui.sc buff_icon_small_smoke TRUE -100 -50 TRUE sc/level.sc filter_cold
8 Supersize sc/ui.sc Poisoned Growth 150 Healing
9 Root sc/ui.sc -100 Root true true Healing
10 Stun sc/ui.sc -100 Stun true
11 Panic sc/ui.sc buff_icon_small_mindcotroll true Healing
12 Maul -50 -50 TRUE
13 Steroid sc/ui.sc buff_icon_small_bloodrage 100 140 130 Healing
14 SummonerBuff 90 TRUE
15 90

View file

@ -0,0 +1,25 @@
"Name","SightRange","DeployTime","ChargeRange","Speed","Hitpoints","HitSpeed","LoadTime","Damage","DamageSpecial","DamageType","Projectile","Range","MinimumRange","AttacksGround","AttacksAir","DeathDamageRadius","DeathDamage","DeathPushBack","Healing","ReloadAfterHits","ReloadTime","LifeTime","ProjectileSpecial","ProjectileEffect","ProjectileEffectSpecial","AreaDamageRadius","TargetOnlyBuildings","DamageTypeVulnerabilities","DamageTypeImmunities","SpecialAttackInterval","BuffOnDamage","BuffOnDamageTime","IgnoreTargetIfImmuneToBuff","StartingBuff","StartingBuffTime","FileName","BlueExportName","BlueTopExportName","RedExportName","RedTopExportName","UseAnimator","AttachedCharacter","AttachedCharacterHeight","DamageEffect","DamageEffectSpecial","DeathEffect","MoveEffect","SpawnEffect","CrowdEffects","ShadowScaleX","ShadowScaleY","ShadowX","ShadowY","ShadowSkew","Pushback","IgnorePushback","Scale","CollisionRadius","Mass","TileSizeOverride","AreaBuff","AreaBuffTime","AreaBuffRadius","AreaBuffOwnTroops","AreaBuffEnemies","Gold","ManaOnDeath","HealthBar","HealthBarOffsetY","ShowHealthNumber","FlyingHeight","DamageExportName","GrowTime","GrowSize","MorphCharacter","MorphEffect","HealOnMorph","AreaEffectOnMorph","AttackStartEffect","AttackStartEffectSpecial","DashCooldown","JumpHeight","DashPushBack","DashRadius","DashDamage","LandingEffect","DashMinRange","DashMaxRange","JumpSpeed","ContinuousEffect","SpawnStartTime","SpawnInterval","SpawnNumber","SpawnLimit","SpawnPauseTime","SpawnCharacterLevelIndex","SpawnCharacter","SpawnCharacterEffect","DeathSpawnCount","DeathSpawnCharacter","Kamikaze","ChargeEffect","TakeDamageEffect","ProjectileStartRadius","ProjectileStartZ","StopMovementAfterMS","WaitMS","IsSummonerTower","NoDeploySizeW","NoDeploySizeH","TID","VariableDamage2","VariableDamageTime1","VariableDamage3","VariableDamageTime2","TargettedDamageEffect1","TargettedDamageEffect2","TargettedDamageEffect3","DamageLevelTransitionEffect12","DamageLevelTransitionEffect23","FlameEffect1","FlameEffect2","FlameEffect3","TargetEffectY","ForceAttackAnimationToEnd","SelfAsAoeCenter","HidesWhenNotAttacking","HideTimeMs","TargetedHitEffect","UpTimeMs","HideEffect","AppearEffect","ManaCollectAmount","ManaGenerateTimeMs","ManaGenerateLimit","HasRotationOnTimeline","TurretMovement","ProjectileYOffset","ChargeSpeedMultiplier","RandomDeployDelay","DeployBaseAnimExportName","JumpEnabled","SightClip","Egg"
"string","int","int","int","int","int","int","int","int","int","string","string","int","int","boolean","boolean","int","int","int","int","int","int","int","string","string","string","int","boolean","string","string","int","string","int","boolean","string","int","string","string","string","string","string","boolean","string","int","string","string","string","string","string","boolean","int","int","int","int","int","int","boolean","int","int","int","int","string","int","int","boolean","boolean","int","int","string","int","boolean","int","string","int","int","string","string","boolean","string","string","string","int","int","int","int","int","string","int","int","int","string","int","int","int","int","int","int","string","string","int","string","boolean","string","string","int","int","int","int","boolean","int","int","string","int","int","int","int","string","string","string","string","string","string","string","string","int","boolean","boolean","boolean","int","string","int","string","string","int","int","int","boolean","int","int","int","int","string","boolean","int","string"
"Knight",6000,1000,,60,650,1100,700,75,,,,1500,,"true",,,,,,,,,,,,,,,,,,,,,,"sc/chr_knight.sc","Knight",,"Knight_enemy",,"true",,,"knight_hit",,"knight_die","knight_steps","knight_deploy",,85,85,,-10,35,,,100,500,6,,,,,,,,,"Medium",35,,,"filter_damage",,,,,,,"knight_attack_start",,,,,,,,,,,,,,,,,,,,,,,,,450,450,,,,,,"TID_CHARACTER_KNIGHT",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"filter_deploy_unit_default",,,
"Archer",6000,1000,,60,125,1200,1000,,,,"ArcherArrow",5500,,"true","true",,,,,,,,,"ArcherAttack",,,,,,,,,,,,"sc/chr_archer.sc","archer1",,"archer1_enemy",,"true",,,,,"ArcherDie","ArcherSteps","ArcherDeploy",,75,75,,-15,25,,,87,500,3,,,,,,,,,"Small",-10,,,"filter_damage",,,,,,,"ArcherAttackStart",,,,,,,,,,,,,,,,,,,,,,,,,450,450,,,,,,"TID_CHARACTER_ARCHER",,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,"filter_deploy_unit_default",,,
"Goblin",6000,1000,,120,80,1100,900,50,,,,1000,,"true",,,,,,,,,,,,,,,,,,,,,,"sc/chr_goblin.sc","goblin1",,"goblin1_enemy",,"true",,,"goblins_hit",,"goblins_die","goblins_steps","goblins_deploy",,50,50,-5,5,35,,,100,500,2,,,,,,,,,"Small",,,,"filter_damage",,,,,,,"goblins_attack_start",,,,,,,,,,,,,,,,,,,,,,,,,350,350,,,,,,"TID_CHARACTER_GOBLIN",,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,"filter_deploy_unit_default",,,
"Giant",8000,1000,,45,1700,1500,1000,115,,,,2000,,"true",,,,,,,,,,,,,"true",,,,,,,,,"sc/chr_giant.sc","giant1",,"giant1_enemy",,"true",,,"giant_hit",,"giant_die","giant_steps","giant_deploy","TRUE",85,80,,,25,,"true",100,750,18,,,,,,,,,"High",,,,"filter_damage_wobble",,,,,,,"giant_attack_start",,,,,,,,,,,,,,,,,,,,,,,,,450,450,640,100,,,,"TID_CHARACTER_GIANT",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"filter_deploy_unit_default",,,
"Pekka",6000,3000,,45,3000,1700,1200,450,,,,1500,,"true",,,,,,,,,,,,,,,,,,,,,,"sc/chr_pekka.sc","pekka",,"pekka_enemy",,"true",,,"pekka_hit",,"pekka_die","pekka_steps","pekka_deploy","TRUE",80,80,,,35,,"true",100,750,18,,,,,,,,,"Medium",,,,"filter_damage_wobble",,,,,,,"pekka_attack_start",,,,,,,,,,,,,,,,,,,,,,,,,450,450,,,,,,"TID_CHARACTER_PEKKA",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"filter_deploy_unit_default",,,
"Minion",6000,1000,,90,85,1000,500,,,,"MinionSpit",2500,,"true","true",,,,,,,,,"minion_attack",,,,,,,,,,,,"sc/chr_minion.sc","minion1",,"minion1_enemy",,"true",,,,,"minion_die","minion_steps","minion_deploy",,85,-60,,20,,,,85,500,2,,,,,,,,,"Small",,,1500,,,,,,,,"minion_attack_start",,,,,,,,,,,,,,,,,,,,,,,,,450,450,,,,,,"TID_CHARACTER_MINION",,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,"filter_deploy_unit_default",,,
"Balloon",8000,3000,,60,760,3000,2800,600,,,,400,,"true",,,,,,,,,,,,,"true",,,,,,,,,"sc/chr_balloon.sc","balloon1",,"balloon1_enemy",,"true",,,"balloon_hit",,"balloon_die","balloon_steps","balloon_deploy",,85,50,,-10,15,,"true",100,300,6,,,,,,,,,"Small",,,3000,,,,,,,,"balloon_attack_start",,,,,,,,,,,,,,,,,,,,,"BalloonBomb",,,,450,450,,,,,,"TID_CHARACTER_BALLOON",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"filter_deploy_unit_default",,,
"Witch",6000,1000,,60,500,700,200,,,,"WitchProjectile",5500,,"true","true",,,,,,,,,,,,,,,,,,,,,"sc/chr_witch.sc","witch1",,"witch1_enemy",,"true",,,"witch_hit",,"witch_die","witch_steps","witch_deploy",,80,80,,,35,,,100,500,4,,,,,,,,,"Medium",,,,"filter_damage",,,,,,,"witch_attack_start",,,,,,,,,,,,,300,3,,6900,6,"Skeleton","witch_deploy_skeleton",,,,,,450,450,,,,,,"TID_CHARACTER_WITCH",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"filter_deploy_unit_default",,,
"Skeleton",6000,1000,,90,25,1000,500,25,,,,750,,"true",,,,,,,,,,,,,,,,,,,,,,"sc/chr_skeleton.sc","skeleton1",,"skeleton1",,"true",,,"skeleton_hit",,"skeleton_die","skeleton_steps","skeleton_deploy",,50,50,-5,5,35,,,130,500,1,,,,,,,,,"Small",,,,"filter_damage",,,,,,,"skeleton_attack_start",,,,,,,,,,,,,,,,,,,,,,,,,350,350,,,,,,"TID_CHARACTER_SKELETON",,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,"filter_deploy_unit_default",,,
"Barbarian",6000,1000,,60,250,1500,1000,85,,,,1200,,"true",,,,,,,,,,,,,,,,,,,,,,"sc/chr_barbarian.sc","barbarian1",,"barbarian1_enemy",,"true",,,"barbarian_hit",,"barbarian_die","barbarian_steps","barbarian_deploy",,85,85,,-10,35,,,95,500,4,,,,,,,,,"Medium",,,,"filter_damage",,,,,,,"barbarian_attack_start",,,,,,,,,,,,,,,,,,,,,,,,,450,450,,,,,,"TID_CHARACTER_BARBARIAN",,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,"filter_deploy_unit_default",,,
"Golem",8000,3000,,45,2300,2500,1500,130,,,,1500,,"true",,2000,200,1800,,,,,,,,,"true",,,,,,,,,"sc/chr_golem.sc","golem1",,"golem1_enemy",,"true",,,"golem_hit",,"golem_die","golem_steps","golem_deploy",,-85,80,,,25,,"true",130,750,20,,,,,,,,,"High",,,,"filter_damage_wobble",,,,,,,"golem_attack_start",,,,,,,,,,,,,,,,,,,,2,"GolemSmall",,,,450,450,,,,,,"TID_CHARACTER_GOLEM",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"filter_deploy_unit_default",,,
"GolemSmall",8000,1000,,45,1150,2500,1500,65,,,,750,,"true",,2000,100,1800,,,,,,,,,"true",,,,,,,,,"sc/chr_golem.sc","golem1",,"golem1_enemy",,"true",,,"golem_hit",,"golem_die","golem_steps","golem_deploy","TRUE",50,50,-5,5,35,,,75,500,6,,,,,,,,,"Medium",,,,"filter_damage",,,,,,,"golem_attack_start",,,,,,,,,,,,,,,,,,,,,,,,,350,350,,,,,,"TID_CHARACTER_SMALL_GOLEM",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"filter_deploy_unit_default",,,
"Valkyrie",6000,1000,,60,700,1600,1400,110,,,,1500,,"true",,,,,,,,,,,,2000,,,,,,,,,,"sc/chr_valkyrie.sc","valkyrie1",,"valkyrie1_enemy",,"true",,,"valkyrie_hit",,"valkyrie_die","valkyrie_steps","valkyrie_deploy",,-85,80,,,25,,"true",140,500,5,,,,,,,,,"Medium",,,,"filter_damage",,,,,,,"valkyrie_attack_start",,,,,,,,,,,,,,,,,,,,,,,,,450,450,,,,,,"TID_CHARACTER_VALKYRIE",,,,,,,,,,,,,,"true","true",,,,,,,,,,,,,,,"filter_deploy_unit_default",,,
"Bomber",6000,1000,,60,150,2000,1800,,,,"BombSkeletonProjectile",5000,,"true",,,,,,,,,,"bomber_attack",,,,,,,,,,,,"sc/chr_bomber.sc","chr_bomber",,"chr_bomber_RED",,"true",,,,,"bomber_die","bomber_steps","bomber_deploy",,50,50,-5,5,35,,,100,500,4,,,,,,,,,"Small",,,,"filter_damage",,,,,,,"bomber_attack_start",,,,,,,,,,,,,,,,,,,,,,,,,350,350,,,,,,"TID_CHARACTER_BOMBER",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"filter_deploy_unit_default",,,
"Musketeer",6500,1000,,60,340,1100,600,,,,"MusketeerProjectile",6500,,"true","true",,,,,,,,,"musketeer_attack",,,,,,,,,,,,"sc/chr_musketeer.sc","chr_musketeer_blue",,"chr_musketeer",,"true",,,"musketeer_hit",,"musketeer_die","musketeer_steps","musketeer_deploy",,80,80,,-10,35,,,100,750,5,,,,,,,,,"Medium",,,,"filter_damage",,,,,,,"musketeer_attack_start",,,,,,,,,,,,,,,,,,,,,,,,,450,450,,,,,,"TID_CHARACTER_MUSKETEER",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"filter_deploy_unit_default",,,
"BabyDragon",6000,1000,,90,800,1800,1300,,,,"BabyDragonProjectile",3500,,"true","true",,,,,,,,,"dragon_attack_start",,,,,,,,,,,,"sc/chr_baby_dragon.sc","baby_dragon",,"baby_dragon_enemy",,"true",,,,,"baby_dragon_die","baby_dragon_steps","baby_dragon_deploy",,85,-60,,20,,,"true",100,500,5,,,,,,,,,"High",,,3500,,,,,,,,"baby_dragon_attack_start",,,,,,,,,,,,,,,,,,,,,,,,,500,1900,,,,,,"TID_CHARACTER_BABY_DRAGON",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"filter_deploy_unit_default",,,
"MiniPekka",6000,1000,,90,650,1800,1300,450,,,,1500,,"true",,,,,,,,,,,,,,,,,,,,,,"sc/chr_mini_pekka.sc","minipekka",,"minipekka_red",,"true",,,"mini_pekka_hit",,"mini_pekka_die","mini_pekka_steps","mini_pekka_deploy",,80,80,,,35,,"true",100,450,4,,,,,,,,,"Medium",,,,"filter_damage_wobble",,,,,,,"mini_pekka_attack_start",,,,,,,,,,,,,,,,,,,,,,,,,450,450,,,,,,"TID_CHARACTER_MINIPEKKA",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"filter_deploy_unit_default",,,
"Wizard",6000,1000,,60,340,1700,1200,,,,"chr_wizardProjectile",5500,,"true","true",,,,,,,,,,,,,,,,,,,,,"sc/chr_wizard.sc","wizard1",,"wizard1_red",,"true",,,"chr_wizard_hit",,"chr_wizard_die","chr_wizard_steps","chr_wizard_deploy",,80,80,,,35,,,87,700,5,,,,,,,,,"Medium",,,,"filter_damage",,,,,,,"chr_wizard_attack_start",,,,,,,,,,,,,,,,,,,,,,,,,550,1500,,,,,,"TID_CHARACTER_WIZARD",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"filter_deploy_unit_default",,,
"Prince",6000,1000,250,60,820,1500,1000,160,350,,,2500,,"true",,,,,,,,,,,,,,,,,,,,,,"sc/chr_prince.sc","Prince",,"Prince_red",,"true",,,"prince_hit","prince_charge_hit","prince_die","prince_steps","prince_deploy",,80,80,,,35,,"true",92,650,6,,,,,,,,,"Medium",,,,"filter_damage_wobble",,,,,,,"prince_attack_start",,,,,,,,,,,,,,,,,,,,,,,"prince_charge",,,,,,,,,"TID_CHARACTER_PRINCE",,,,,,,,,,,,,,,,,,,,,,,,,,,,230,,"filter_deploy_unit_default",,,
"SpearGoblin",6000,1000,,120,52,1300,1100,,,,"SpearGoblinProjectile",5500,,"true","true",,,,,,,,,"spear_goblin_attack",,,,,,,,,,,,"sc/chr_goblin_archer.sc","goblinArcher_blue",,"goblinArcher",,"true",,,,,"spear_goblin_die","spear_goblin_steps","spear_goblin_deploy",,75,75,,-15,25,,,133,500,1,,,,,,,,,"Small",-10,,,"filter_damage",,,,,,,"spear_goblin_attack_start",,,,,,,,,,,,,,,,,,,,,,,,,,600,,,,,,"TID_CHARACTER_SPEAR_GOBLIN",,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,"filter_deploy_unit_default",,,
"GiantSkeleton",6000,1000,,60,2000,1500,1000,90,,,,2000,,"true",,,,,,,,,,,,,,,,,,,,,,"sc/chr_giant_skeleton.sc","giant_skeleton",,"giant_skeleton_enemy",,"true",,,"giant_skeleton_hit",,"giant_skeleton_die","giant_skeleton_steps","giant_skeleton_deploy","TRUE",50,50,-5,5,35,,"true",105,1200,15,,,,,,,,,"High",,,,"filter_damage_wobble",,,,,,,"giant_skeleton_attack_start",,,,,,,,,,,,,,,,,,,,1,"GiantSkeletonBomb",,,,450,450,,,,,,"TID_CHARACTER_GIANT_SKELETON",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"filter_deploy_unit_default",,,
"HogRider",10000,1000,,120,800,1500,1000,170,,,,1400,,"true",,,,,,,,,,,,,"true",,,,,,,,,"sc/chr_hog_rider.sc","hog_rider",,"hog_rider_red",,"true",,,"hog_rider_hit",,"hog_rider_die","hog_rider_steps","hog_rider_deploy",,85,85,,-10,35,,,95,600,4,,,,,,,,,"Medium",-15,,,"filter_damage",,,,,,,"hog_rider_attack_start",,,4000,,,,"hog_rider_landing",,,160,,,,,,,,,,,,,,,450,450,,,,,,"TID_CHARACTER_HOG_RIDER",,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,"filter_deploy_unit_default","true",3000,
"PrincessB",6000,1000,,60,125,1200,1000,,,,"PrincessProjectile",5500,,"true","true",,,,,,,,,"ArcherAttack",,,,,,,,,,,,"sc/chr_princess_twins.sc","princessB",,"princessB_red",,"true",,,,,"ArcherDie","ArcherSteps","ArcherDeploy",,75,75,,-15,25,,,100,500,3,,,,,,,,,"Small",-10,,,"filter_damage",,,,,,,"ArcherAttackStart",,,,,,,,,,,,,,,,,,,,,,,,,450,450,,,,,,"TID_CHARACTER_ARCHER",,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,"filter_deploy_unit_default",,,
1 Name SightRange DeployTime ChargeRange Speed Hitpoints HitSpeed LoadTime Damage DamageSpecial DamageType Projectile Range MinimumRange AttacksGround AttacksAir DeathDamageRadius DeathDamage DeathPushBack Healing ReloadAfterHits ReloadTime LifeTime ProjectileSpecial ProjectileEffect ProjectileEffectSpecial AreaDamageRadius TargetOnlyBuildings DamageTypeVulnerabilities DamageTypeImmunities SpecialAttackInterval BuffOnDamage BuffOnDamageTime IgnoreTargetIfImmuneToBuff StartingBuff StartingBuffTime FileName BlueExportName BlueTopExportName RedExportName RedTopExportName UseAnimator AttachedCharacter AttachedCharacterHeight DamageEffect DamageEffectSpecial DeathEffect MoveEffect SpawnEffect CrowdEffects ShadowScaleX ShadowScaleY ShadowX ShadowY ShadowSkew Pushback IgnorePushback Scale CollisionRadius Mass TileSizeOverride AreaBuff AreaBuffTime AreaBuffRadius AreaBuffOwnTroops AreaBuffEnemies Gold ManaOnDeath HealthBar HealthBarOffsetY ShowHealthNumber FlyingHeight DamageExportName GrowTime GrowSize MorphCharacter MorphEffect HealOnMorph AreaEffectOnMorph AttackStartEffect AttackStartEffectSpecial DashCooldown JumpHeight DashPushBack DashRadius DashDamage LandingEffect DashMinRange DashMaxRange JumpSpeed ContinuousEffect SpawnStartTime SpawnInterval SpawnNumber SpawnLimit SpawnPauseTime SpawnCharacterLevelIndex SpawnCharacter SpawnCharacterEffect DeathSpawnCount DeathSpawnCharacter Kamikaze ChargeEffect TakeDamageEffect ProjectileStartRadius ProjectileStartZ StopMovementAfterMS WaitMS IsSummonerTower NoDeploySizeW NoDeploySizeH TID VariableDamage2 VariableDamageTime1 VariableDamage3 VariableDamageTime2 TargettedDamageEffect1 TargettedDamageEffect2 TargettedDamageEffect3 DamageLevelTransitionEffect12 DamageLevelTransitionEffect23 FlameEffect1 FlameEffect2 FlameEffect3 TargetEffectY ForceAttackAnimationToEnd SelfAsAoeCenter HidesWhenNotAttacking HideTimeMs TargetedHitEffect UpTimeMs HideEffect AppearEffect ManaCollectAmount ManaGenerateTimeMs ManaGenerateLimit HasRotationOnTimeline TurretMovement ProjectileYOffset ChargeSpeedMultiplier RandomDeployDelay DeployBaseAnimExportName JumpEnabled SightClip Egg
2 string int int int int int int int int int string string int int boolean boolean int int int int int int int string string string int boolean string string int string int boolean string int string string string string string boolean string int string string string string string boolean int int int int int int boolean int int int int string int int boolean boolean int int string int boolean int string int int string string boolean string string string int int int int int string int int int string int int int int int int string string int string boolean string string int int int int boolean int int string int int int int string string string string string string string string int boolean boolean boolean int string int string string int int int boolean int int int int string boolean int string
3 Knight 6000 1000 60 650 1100 700 75 1500 true sc/chr_knight.sc Knight Knight_enemy true knight_hit knight_die knight_steps knight_deploy 85 85 -10 35 100 500 6 Medium 35 filter_damage knight_attack_start 450 450 TID_CHARACTER_KNIGHT filter_deploy_unit_default
4 Archer 6000 1000 60 125 1200 1000 ArcherArrow 5500 true true ArcherAttack sc/chr_archer.sc archer1 archer1_enemy true ArcherDie ArcherSteps ArcherDeploy 75 75 -15 25 87 500 3 Small -10 filter_damage ArcherAttackStart 450 450 TID_CHARACTER_ARCHER 400 filter_deploy_unit_default
5 Goblin 6000 1000 120 80 1100 900 50 1000 true sc/chr_goblin.sc goblin1 goblin1_enemy true goblins_hit goblins_die goblins_steps goblins_deploy 50 50 -5 5 35 100 500 2 Small filter_damage goblins_attack_start 350 350 TID_CHARACTER_GOBLIN 400 filter_deploy_unit_default
6 Giant 8000 1000 45 1700 1500 1000 115 2000 true true sc/chr_giant.sc giant1 giant1_enemy true giant_hit giant_die giant_steps giant_deploy TRUE 85 80 25 true 100 750 18 High filter_damage_wobble giant_attack_start 450 450 640 100 TID_CHARACTER_GIANT filter_deploy_unit_default
7 Pekka 6000 3000 45 3000 1700 1200 450 1500 true sc/chr_pekka.sc pekka pekka_enemy true pekka_hit pekka_die pekka_steps pekka_deploy TRUE 80 80 35 true 100 750 18 Medium filter_damage_wobble pekka_attack_start 450 450 TID_CHARACTER_PEKKA filter_deploy_unit_default
8 Minion 6000 1000 90 85 1000 500 MinionSpit 2500 true true minion_attack sc/chr_minion.sc minion1 minion1_enemy true minion_die minion_steps minion_deploy 85 -60 20 85 500 2 Small 1500 minion_attack_start 450 450 TID_CHARACTER_MINION 400 filter_deploy_unit_default
9 Balloon 8000 3000 60 760 3000 2800 600 400 true true sc/chr_balloon.sc balloon1 balloon1_enemy true balloon_hit balloon_die balloon_steps balloon_deploy 85 50 -10 15 true 100 300 6 Small 3000 balloon_attack_start BalloonBomb 450 450 TID_CHARACTER_BALLOON filter_deploy_unit_default
10 Witch 6000 1000 60 500 700 200 WitchProjectile 5500 true true sc/chr_witch.sc witch1 witch1_enemy true witch_hit witch_die witch_steps witch_deploy 80 80 35 100 500 4 Medium filter_damage witch_attack_start 300 3 6900 6 Skeleton witch_deploy_skeleton 450 450 TID_CHARACTER_WITCH filter_deploy_unit_default
11 Skeleton 6000 1000 90 25 1000 500 25 750 true sc/chr_skeleton.sc skeleton1 skeleton1 true skeleton_hit skeleton_die skeleton_steps skeleton_deploy 50 50 -5 5 35 130 500 1 Small filter_damage skeleton_attack_start 350 350 TID_CHARACTER_SKELETON 400 filter_deploy_unit_default
12 Barbarian 6000 1000 60 250 1500 1000 85 1200 true sc/chr_barbarian.sc barbarian1 barbarian1_enemy true barbarian_hit barbarian_die barbarian_steps barbarian_deploy 85 85 -10 35 95 500 4 Medium filter_damage barbarian_attack_start 450 450 TID_CHARACTER_BARBARIAN 400 filter_deploy_unit_default
13 Golem 8000 3000 45 2300 2500 1500 130 1500 true 2000 200 1800 true sc/chr_golem.sc golem1 golem1_enemy true golem_hit golem_die golem_steps golem_deploy -85 80 25 true 130 750 20 High filter_damage_wobble golem_attack_start 2 GolemSmall 450 450 TID_CHARACTER_GOLEM filter_deploy_unit_default
14 GolemSmall 8000 1000 45 1150 2500 1500 65 750 true 2000 100 1800 true sc/chr_golem.sc golem1 golem1_enemy true golem_hit golem_die golem_steps golem_deploy TRUE 50 50 -5 5 35 75 500 6 Medium filter_damage golem_attack_start 350 350 TID_CHARACTER_SMALL_GOLEM filter_deploy_unit_default
15 Valkyrie 6000 1000 60 700 1600 1400 110 1500 true 2000 sc/chr_valkyrie.sc valkyrie1 valkyrie1_enemy true valkyrie_hit valkyrie_die valkyrie_steps valkyrie_deploy -85 80 25 true 140 500 5 Medium filter_damage valkyrie_attack_start 450 450 TID_CHARACTER_VALKYRIE true true filter_deploy_unit_default
16 Bomber 6000 1000 60 150 2000 1800 BombSkeletonProjectile 5000 true bomber_attack sc/chr_bomber.sc chr_bomber chr_bomber_RED true bomber_die bomber_steps bomber_deploy 50 50 -5 5 35 100 500 4 Small filter_damage bomber_attack_start 350 350 TID_CHARACTER_BOMBER filter_deploy_unit_default
17 Musketeer 6500 1000 60 340 1100 600 MusketeerProjectile 6500 true true musketeer_attack sc/chr_musketeer.sc chr_musketeer_blue chr_musketeer true musketeer_hit musketeer_die musketeer_steps musketeer_deploy 80 80 -10 35 100 750 5 Medium filter_damage musketeer_attack_start 450 450 TID_CHARACTER_MUSKETEER filter_deploy_unit_default
18 BabyDragon 6000 1000 90 800 1800 1300 BabyDragonProjectile 3500 true true dragon_attack_start sc/chr_baby_dragon.sc baby_dragon baby_dragon_enemy true baby_dragon_die baby_dragon_steps baby_dragon_deploy 85 -60 20 true 100 500 5 High 3500 baby_dragon_attack_start 500 1900 TID_CHARACTER_BABY_DRAGON filter_deploy_unit_default
19 MiniPekka 6000 1000 90 650 1800 1300 450 1500 true sc/chr_mini_pekka.sc minipekka minipekka_red true mini_pekka_hit mini_pekka_die mini_pekka_steps mini_pekka_deploy 80 80 35 true 100 450 4 Medium filter_damage_wobble mini_pekka_attack_start 450 450 TID_CHARACTER_MINIPEKKA filter_deploy_unit_default
20 Wizard 6000 1000 60 340 1700 1200 chr_wizardProjectile 5500 true true sc/chr_wizard.sc wizard1 wizard1_red true chr_wizard_hit chr_wizard_die chr_wizard_steps chr_wizard_deploy 80 80 35 87 700 5 Medium filter_damage chr_wizard_attack_start 550 1500 TID_CHARACTER_WIZARD filter_deploy_unit_default
21 Prince 6000 1000 250 60 820 1500 1000 160 350 2500 true sc/chr_prince.sc Prince Prince_red true prince_hit prince_charge_hit prince_die prince_steps prince_deploy 80 80 35 true 92 650 6 Medium filter_damage_wobble prince_attack_start prince_charge TID_CHARACTER_PRINCE 230 filter_deploy_unit_default
22 SpearGoblin 6000 1000 120 52 1300 1100 SpearGoblinProjectile 5500 true true spear_goblin_attack sc/chr_goblin_archer.sc goblinArcher_blue goblinArcher true spear_goblin_die spear_goblin_steps spear_goblin_deploy 75 75 -15 25 133 500 1 Small -10 filter_damage spear_goblin_attack_start 600 TID_CHARACTER_SPEAR_GOBLIN 400 filter_deploy_unit_default
23 GiantSkeleton 6000 1000 60 2000 1500 1000 90 2000 true sc/chr_giant_skeleton.sc giant_skeleton giant_skeleton_enemy true giant_skeleton_hit giant_skeleton_die giant_skeleton_steps giant_skeleton_deploy TRUE 50 50 -5 5 35 true 105 1200 15 High filter_damage_wobble giant_skeleton_attack_start 1 GiantSkeletonBomb 450 450 TID_CHARACTER_GIANT_SKELETON filter_deploy_unit_default
24 HogRider 10000 1000 120 800 1500 1000 170 1400 true true sc/chr_hog_rider.sc hog_rider hog_rider_red true hog_rider_hit hog_rider_die hog_rider_steps hog_rider_deploy 85 85 -10 35 95 600 4 Medium -15 filter_damage hog_rider_attack_start 4000 hog_rider_landing 160 450 450 TID_CHARACTER_HOG_RIDER 400 filter_deploy_unit_default true 3000
25 PrincessB 6000 1000 60 125 1200 1000 PrincessProjectile 5500 true true ArcherAttack sc/chr_princess_twins.sc princessB princessB_red true ArcherDie ArcherSteps ArcherDeploy 75 75 -15 25 100 500 3 Small -10 filter_damage ArcherAttackStart 450 450 TID_CHARACTER_ARCHER 400 filter_deploy_unit_default

View file

@ -0,0 +1,248 @@
"Name","Chest",,,,
"String","String",,,,
"Newbie1","Newbie1",,,,
"Newbie2","Newbie2",,,,
"Newbie3","NewbieRandom",,,,
"Newbie4","NewbieFixedEpic",,,,
"Newbie5","NewbieRandom",,,,
"Newbie6","NewbieRandom",,,,
"MainCycle","Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Magic",,0,0,1
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Magic",,0,0,1
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Magic",,0,0,1
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
,"Silver",,1,0,0
,"Gold",,0,1,0
,"Silver",,1,0,0
1 Name Chest
2 String String
3 Newbie1 Newbie1
4 Newbie2 Newbie2
5 Newbie3 NewbieRandom
6 Newbie4 NewbieFixedEpic
7 Newbie5 NewbieRandom
8 Newbie6 NewbieRandom
9 MainCycle Silver 1 0 0
10 Silver 1 0 0
11 Silver 1 0 0
12 Gold 0 1 0
13 Silver 1 0 0
14 Silver 1 0 0
15 Gold 0 1 0
16 Silver 1 0 0
17 Silver 1 0 0
18 Silver 1 0 0
19 Silver 1 0 0
20 Magic 0 0 1
21 Silver 1 0 0
22 Silver 1 0 0
23 Gold 0 1 0
24 Silver 1 0 0
25 Silver 1 0 0
26 Silver 1 0 0
27 Gold 0 1 0
28 Silver 1 0 0
29 Silver 1 0 0
30 Silver 1 0 0
31 Silver 1 0 0
32 Gold 0 1 0
33 Silver 1 0 0
34 Gold 0 1 0
35 Silver 1 0 0
36 Silver 1 0 0
37 Silver 1 0 0
38 Silver 1 0 0
39 Gold 0 1 0
40 Silver 1 0 0
41 Silver 1 0 0
42 Silver 1 0 0
43 Silver 1 0 0
44 Gold 0 1 0
45 Silver 1 0 0
46 Silver 1 0 0
47 Gold 0 1 0
48 Silver 1 0 0
49 Silver 1 0 0
50 Silver 1 0 0
51 Silver 1 0 0
52 Gold 0 1 0
53 Silver 1 0 0
54 Silver 1 0 0
55 Gold 0 1 0
56 Silver 1 0 0
57 Silver 1 0 0
58 Silver 1 0 0
59 Silver 1 0 0
60 Gold 0 1 0
61 Silver 1 0 0
62 Silver 1 0 0
63 Gold 0 1 0
64 Silver 1 0 0
65 Silver 1 0 0
66 Silver 1 0 0
67 Gold 0 1 0
68 Silver 1 0 0
69 Silver 1 0 0
70 Silver 1 0 0
71 Silver 1 0 0
72 Gold 0 1 0
73 Silver 1 0 0
74 Gold 0 1 0
75 Silver 1 0 0
76 Silver 1 0 0
77 Silver 1 0 0
78 Silver 1 0 0
79 Gold 0 1 0
80 Silver 1 0 0
81 Silver 1 0 0
82 Silver 1 0 0
83 Silver 1 0 0
84 Gold 0 1 0
85 Silver 1 0 0
86 Silver 1 0 0
87 Gold 0 1 0
88 Silver 1 0 0
89 Silver 1 0 0
90 Silver 1 0 0
91 Silver 1 0 0
92 Gold 0 1 0
93 Silver 1 0 0
94 Silver 1 0 0
95 Gold 0 1 0
96 Silver 1 0 0
97 Silver 1 0 0
98 Silver 1 0 0
99 Silver 1 0 0
100 Gold 0 1 0
101 Silver 1 0 0
102 Silver 1 0 0
103 Gold 0 1 0
104 Silver 1 0 0
105 Silver 1 0 0
106 Silver 1 0 0
107 Gold 0 1 0
108 Silver 1 0 0
109 Silver 1 0 0
110 Silver 1 0 0
111 Silver 1 0 0
112 Gold 0 1 0
113 Silver 1 0 0
114 Gold 0 1 0
115 Silver 1 0 0
116 Silver 1 0 0
117 Silver 1 0 0
118 Silver 1 0 0
119 Gold 0 1 0
120 Silver 1 0 0
121 Silver 1 0 0
122 Silver 1 0 0
123 Silver 1 0 0
124 Gold 0 1 0
125 Silver 1 0 0
126 Silver 1 0 0
127 Gold 0 1 0
128 Silver 1 0 0
129 Silver 1 0 0
130 Silver 1 0 0
131 Silver 1 0 0
132 Gold 0 1 0
133 Silver 1 0 0
134 Silver 1 0 0
135 Gold 0 1 0
136 Silver 1 0 0
137 Silver 1 0 0
138 Silver 1 0 0
139 Silver 1 0 0
140 Magic 0 0 1
141 Silver 1 0 0
142 Silver 1 0 0
143 Gold 0 1 0
144 Silver 1 0 0
145 Silver 1 0 0
146 Silver 1 0 0
147 Gold 0 1 0
148 Silver 1 0 0
149 Silver 1 0 0
150 Silver 1 0 0
151 Silver 1 0 0
152 Gold 0 1 0
153 Silver 1 0 0
154 Gold 0 1 0
155 Silver 1 0 0
156 Silver 1 0 0
157 Silver 1 0 0
158 Silver 1 0 0
159 Gold 0 1 0
160 Silver 1 0 0
161 Silver 1 0 0
162 Silver 1 0 0
163 Silver 1 0 0
164 Gold 0 1 0
165 Silver 1 0 0
166 Silver 1 0 0
167 Gold 0 1 0
168 Silver 1 0 0
169 Silver 1 0 0
170 Silver 1 0 0
171 Silver 1 0 0
172 Gold 0 1 0
173 Silver 1 0 0
174 Silver 1 0 0
175 Gold 0 1 0
176 Silver 1 0 0
177 Silver 1 0 0
178 Silver 1 0 0
179 Silver 1 0 0
180 Gold 0 1 0
181 Silver 1 0 0
182 Silver 1 0 0
183 Gold 0 1 0
184 Silver 1 0 0
185 Silver 1 0 0
186 Silver 1 0 0
187 Gold 0 1 0
188 Silver 1 0 0
189 Silver 1 0 0
190 Silver 1 0 0
191 Silver 1 0 0
192 Gold 0 1 0
193 Silver 1 0 0
194 Gold 0 1 0
195 Silver 1 0 0
196 Silver 1 0 0
197 Silver 1 0 0
198 Silver 1 0 0
199 Gold 0 1 0
200 Silver 1 0 0
201 Silver 1 0 0
202 Silver 1 0 0
203 Silver 1 0 0
204 Gold 0 1 0
205 Silver 1 0 0
206 Silver 1 0 0
207 Gold 0 1 0
208 Silver 1 0 0
209 Silver 1 0 0
210 Silver 1 0 0
211 Silver 1 0 0
212 Magic 0 0 1
213 Silver 1 0 0
214 Silver 1 0 0
215 Gold 0 1 0
216 Silver 1 0 0
217 Silver 1 0 0
218 Silver 1 0 0
219 Silver 1 0 0
220 Gold 0 1 0
221 Silver 1 0 0
222 Silver 1 0 0
223 Gold 0 1 0
224 Silver 1 0 0
225 Silver 1 0 0
226 Silver 1 0 0
227 Gold 0 1 0
228 Silver 1 0 0
229 Silver 1 0 0
230 Silver 1 0 0
231 Silver 1 0 0
232 Gold 0 1 0
233 Silver 1 0 0
234 Gold 0 1 0
235 Silver 1 0 0
236 Silver 1 0 0
237 Silver 1 0 0
238 Silver 1 0 0
239 Gold 0 1 0
240 Silver 1 0 0
241 Silver 1 0 0
242 Silver 1 0 0
243 Silver 1 0 0
244 Gold 0 1 0
245 Silver 1 0 0
246 Silver 1 0 0
247 Gold 0 1 0
248 Silver 1 0 0

View file

@ -0,0 +1,7 @@
"Name","Efficiency","NumberOfJumps","MinBuffChance","MaxBuffChance","BankDamage","Buff","DamageEffect","BuffTime","TID"
"String","int","int","int","int","int","String","String","int","String"
"Physical",100,,,,,,"Damage",,"TID_DAMAGE_TYPE_PHYSICAL"
"Fire",100,,,,,,"Damage",,"TID_DAMAGE_TYPE_FIRE"
"Poison",100,,,,25,"Poisoned","Damage",,"TID_DAMAGE_TYPE_POISON"
"Electrical",100,4,,,,,"Damage",,"TID_DAMAGE_TYPE_ELECTRICAL"
"Cold",100,,100,100,,"Freeze","Damage",2000,"TID_DAMAGE_TYPE_COLD"
1 Name Efficiency NumberOfJumps MinBuffChance MaxBuffChance BankDamage Buff DamageEffect BuffTime TID
2 String int int int int int String String int String
3 Physical 100 Damage TID_DAMAGE_TYPE_PHYSICAL
4 Fire 100 Damage TID_DAMAGE_TYPE_FIRE
5 Poison 100 25 Poisoned Damage TID_DAMAGE_TYPE_POISON
6 Electrical 100 4 Damage TID_DAMAGE_TYPE_ELECTRICAL
7 Cold 100 100 100 Freeze Damage 2000 TID_DAMAGE_TYPE_COLD

172
assets/csv_logic/decos.csv Normal file
View file

@ -0,0 +1,172 @@
"Name","FileName","ExportName","Layer","LowendLayer","ShadowScale","ShadowX","ShadowY","ShadowSkew","CollisionRadius","Effect"
"string","string","string","string","string","int","int","int","int","int","string"
"Grassland_tree1","sc/level.sc","Grassland_2x2_tree1","Object","Ground",80,-24,-31,4,,
"Grassland_tree2","sc/level.sc","Grassland_2x2_tree2","Object","Ground",80,-24,-31,4,,
"Grassland_tree3","sc/level.sc","Grassland_2x2_tree3","Object","Ground",85,-26,-39,4,,
"Grassland_tree4","sc/level.sc","Grassland_2x2_tree4","Object","Ground",80,-23,-28,2,,
"Grassland_rock1","sc/level.sc","Grassland_1x1_rock1","Object","Ground",63,-5,5,12,,
"Grassland_rock2","sc/level.sc","Grassland_2x2_rock2","Object","Ground",88,-3,-5,,,
"Grassland_rock3","sc/level.sc","Grassland_1x1_rock3","Object","Ground",71,-4,1,,,
"Grassland_bush1","sc/level.sc","Grassland_1x1_bush1","Object","Ground",91,-4,-8,28,,
"Deco_fireplace","sc/effects.sc","Deco_fireplace","Object","Ground",1,,,,,"DecoFireplaceLoop"
"deco_chest_wood1","sc/level.sc","deco_chest_wood1","Object","Ground",92,,-18,67,,
"deco_chest_iron1","sc/level.sc","deco_chest_iron1","Object","Ground",92,,-18,67,,
"deco_chest_silver1","sc/level.sc","deco_chest_silver1","Object","Ground",92,,-18,67,,
"deco_chest_gold1","sc/level.sc","deco_chest_gold1","Object","Ground",92,,-18,67,,
"deco_chest_magical1","sc/level.sc","deco_chest_magical1","Object","Ground",92,,-18,67,,
"Grassland_1x1_flower1","sc/level.sc","Grassland_1x1_flower1","Ground","Ground",,,,,,
"Grassland_1x1_flower2","sc/level.sc","Grassland_1x1_flower2","Ground","Ground",,,,,,
"Grassland_1x1_flower3","sc/level.sc","Grassland_1x1_flower3","Ground","Ground",,,,,,
"Grassland_1x1_flower4","sc/level.sc","Grassland_1x1_flower4","Ground","Ground",,,,,,
"Grassland_3x3_flowers1","sc/level.sc","Grassland_3x3_flowers1","Ground","Ground",,,,,,
"Grassland_3x3_flowers2","sc/level.sc","Grassland_3x3_flowers2","Ground","Ground",,,,,,
"Grassland_rock1_withHaze","sc/level.sc","Grassland_1x1_rock1","Object","Ground",77,-5,7,12,,"Background_haze"
"Grassland_rock2_withHaze","sc/level.sc","Grassland_2x2_rock2","Object","Ground",94,-3,-5,,,"Background_haze"
"Grassland_rock3_withHaze","sc/level.sc","Grassland_1x1_rock3","Object","Ground",78,-4,1,,,"Background_haze"
"WoodWall_single_1","sc/level.sc","WoodWall_single_1","Object","Ground",83,,,38,,
"WoodWall_single_2","sc/level.sc","WoodWall_single_2","Object","Ground",83,,,38,,
"WoodWall_single_3","sc/level.sc","WoodWall_single_3","Object","Ground",79,,,38,,
"WoodWall_multi_horizontal_1","sc/level.sc","WoodWall_multi_horizontal_1","Object","Ground",95,,3,50,,
"WoodWall_multi_vertical_1","sc/level.sc","WoodWall_multi_vertical_1","Object","Ground",98,-8,-6,18,,
"ChestTemplate","sc/effects.sc","Deco_fireplace","Object","Ground",100,,,,,
"Arena_stand_right_1","sc/level.sc","arena_stand_right_1","Object","Ground",95,-6,-6,,,
"Arena_stand_left_1","sc/level.sc","arena_stand_left_1","Object","Ground",95,-6,-6,,,
"Arena_stand_right_full_1","sc/level.sc","arena_stand_right_full_1","Object","Ground",95,-6,-6,,,
"Arena_stand_left_full_1","sc/level.sc","arena_stand_left_full_1","Object","Ground",95,-6,-6,,,
"Cloud_object","sc/level.sc","Cloud_object","Object","Ground",,-4,-8,28,,"Clouds1"
"arena_stand_right_full_1_blue","sc/level.sc","arena_stand_right_full_1_blue","Object","Ground",95,-6,-6,,,
"arena_stand_left_full_1_blue","sc/level.sc","arena_stand_left_full_1_blue","Object","Ground",95,-6,-6,,,
"arena_stand_right_full_1_red","sc/level.sc","arena_stand_right_full_1_red","Object","Ground",95,-6,-6,,,
"arena_stand_left_full_1_red","sc/level.sc","arena_stand_left_full_1_red","Object","Ground",95,-6,-6,,,
"royal_arena_bridge","sc/level_royal_arena.sc","royal_arena_bridge","Object","Ground",95,-9,58,,,
"royal_red_deco","sc/level_royal_arena.sc","royal_red_deco","Object","Ground",61,,5,22,496,
"royal_blue_deco","sc/level_royal_arena.sc","royal_blue_deco","Object","Ground",67,2,2,31,496,
"royal_bucket","sc/level_royal_arena.sc","royal_bucket","Object","Ground",94,-5,73,6,,
"royal_red_endwall1","sc/level_royal_arena.sc","royal_red_endwall1","Object","Ground",95,,-48,4,,
"royal_red_tower1","sc/level_royal_arena.sc","royal_red_tower1","Object","Ground",95,,,37,,
"royal_red_tower2","sc/level_royal_arena.sc","royal_red_tower2","Object","Ground",95,,-32,18,,
"royal_red_wall_middle","sc/level_royal_arena.sc","royal_red_wall_middle","Object","Ground",100,21,-88,26,,
"royal_mid_tower","sc/level_royal_arena.sc","royal_mid_tower","Object","Ground",95,-8,76,14,,
"royal_red_endwall2","sc/level_royal_arena.sc","royal_red_endwall2","Object","Ground",95,35,-48,59,,
"royal_blue_endwall1","sc/level_royal_arena.sc","royal_blue_endwall1","Object","Ground",96,-12,59,24,,
"royal_blue_endwall2","sc/level_royal_arena.sc","royal_blue_endwall2","Object","Ground",95,-13,72,11,,
"royal_blue_roof_left","sc/level_royal_arena.sc","royal_blue_roof_left","Object","Ground",95,-28,-139,,,
"royal_blue_roof_right","sc/level_royal_arena.sc","royal_blue_roof_right","Object","Ground",95,-4,-112,11,,
"royal_blue_tower1","sc/level_royal_arena.sc","royal_blue_tower1","Object","Ground",95,2,11,10,,
"royal_blue_tower2","sc/level_royal_arena.sc","royal_blue_tower2","Object","Ground",94,24,-111,53,,
"royal_blue_wall_middle","sc/level_royal_arena.sc","royal_blue_wall_middle","Object","Ground",95,-7,43,42,,
"royal_red_roof_left","sc/level_royal_arena.sc","royal_red_roof_left","Object","Ground",95,3,-151,33,,
"royal_red_roof_right","sc/level_royal_arena.sc","royal_red_roof_right","Object","Ground",95,-9,-146,,,
"royal_sidestand_left","sc/level_royal_arena.sc","royal_sidestand_left","Object","Ground",95,-29,147,8,,
"royal_sidestand_right","sc/level_royal_arena.sc","royal_sidestand_right","Object","Ground",84,-35,112,1,,
"royal_blocktree","sc/level_royal_arena.sc","royal_blocktree","Object","Ground",95,-6,-6,29,,
"royal_bush1x","sc/level_royal_arena.sc","royal_bush1x","Object","Ground",95,-3,-5,25,,
"royal_mushrooms","sc/level_royal_arena.sc","royal_mushrooms","Object","Ground",95,-2,4,6,,
"goblin_roofshade_left_blue","sc/level_goblin_arena.sc","goblin_roofshade_left_blue","Object","Ground",95,-6,-6,,,
"goblin_roofshade_left_red","sc/level_goblin_arena.sc","goblin_roofshade_left_red","Object","Ground",95,-6,-6,,,
"goblin_roofshade_right_blue","sc/level_goblin_arena.sc","goblin_roofshade_right_blue","Object","Ground",95,-6,-6,,,
"goblin_roofshade_right_red","sc/level_goblin_arena.sc","goblin_roofshade_right_red","Object","Ground",95,-6,-6,,,
"goblin_sharp1","sc/level_goblin_arena.sc","goblin_sharp1","Object","Ground",95,-6,-6,,,
"goblin_sharp2","sc/level_goblin_arena.sc","goblin_sharp2","Object","Ground",95,-6,-6,,,
"goblin_sharp3","sc/level_goblin_arena.sc","goblin_sharp3","Object","Ground",95,-6,-6,,,
"goblin_sidestand_left","sc/level_goblin_arena.sc","goblin_sidestand_left","Object","Ground",95,-6,-6,,,
"goblin_sidestand_right","sc/level_goblin_arena.sc","goblin_sidestand_right","Object","Ground",95,-6,-6,,,
"goblin_stone1","sc/level_goblin_arena.sc","goblin_stone1","Object","Ground",95,-6,-6,,,
"goblin_stone2","sc/level_goblin_arena.sc","goblin_stone2","Object","Ground",95,-6,-6,,,
"goblin_waterwheel","sc/level_goblin_arena.sc","goblin_waterwheel","Object","Ground",95,10,-41,21,,
"goblin_woodpole1","sc/level_goblin_arena.sc","goblin_woodpole1","Object","Ground",95,-6,-6,,,
"goblin_woodpole2","sc/level_goblin_arena.sc","goblin_woodpole2","Object","Ground",95,-6,-6,,,
"goblin_woodtower1","sc/level_goblin_arena.sc","goblin_woodtower1","Object","Ground",95,-6,-6,,,
"goblin_woodtower2","sc/level_goblin_arena.sc","goblin_woodtower2","Object","Ground",95,2,-23,44,,
"goblin_woodwall1","sc/level_goblin_arena.sc","goblin_woodwall1","Object","Ground",95,-6,-6,,,
"goblin_tree1","sc/level_goblin_arena.sc","goblin_tree1","Object","Ground",95,-6,-6,,,
"goblin_tree2","sc/level_goblin_arena.sc","goblin_tree2","Object","Ground",95,-6,-6,,,
"goblin_tree3","sc/level_goblin_arena.sc","goblin_tree3","Object","Ground",95,-6,-6,,,
"goblin_tree4","sc/level_goblin_arena.sc","goblin_tree4","Object","Ground",95,-6,-6,,,
"goblin_red_tower","sc/level_goblin_arena.sc","goblin_red_tower","Object","Ground",95,-6,-6,,,
"goblin_blue_tower","sc/level_goblin_arena.sc","goblin_blue_tower","Object","Ground",95,-6,-6,,,
"training_cliff1","sc/arena_training.sc","cliff01","Object","Ground",95,-15,34,24,,
"training_cliff2","sc/arena_training.sc","cliff02","Object","Ground",95,-6,4,14,,
"training_cliff3","sc/arena_training.sc","cliff03","Object","Ground",95,-8,,31,,
"training_cliff4","sc/arena_training.sc","cliff04","Object","Ground",95,-3,-2,24,,
"training_cliff5","sc/arena_training.sc","cliff05","Object","Ground",95,-8,-8,19,,
"training_cliff6","sc/arena_training.sc","cliff06","Object","Ground",95,-13,2,32,,
"training_cliff7","sc/arena_training.sc","cliff07","Object","Ground",95,-10,2,13,,
"training_tree1","sc/arena_training.sc","tree01","Object","Ground",95,-6,-6,,,
"training_tree2","sc/arena_training.sc","tree02","Object","Ground",95,-6,-6,,,
"training_tree3","sc/arena_training.sc","tree03","Object","Ground",95,-6,-6,,,
"training_bush1","sc/arena_training.sc","bush01","Object","Ground",95,-6,-6,,,
"training_bush2","sc/arena_training.sc","bush02","Object","Ground",95,-6,-6,,,
"training_cliffs_left","sc/arena_training.sc","training_cliffs_left","Object","Ground",95,-28,92,10,,
"training_cliffs_right","sc/arena_training.sc","training_cliffs_right","Object","Ground",98,-23,93,13,,
"training_deco1","sc/arena_training.sc","training_deco1","Object","Ground",72,2,,22,386,
"training_deco2","sc/arena_training.sc","training_deco2","Object","Ground",78,,,13,386,
"fence_left_back","sc/arena_training.sc","fence_left_back","Object","Ground",95,,10,15,,
"fence_left_front","sc/arena_training.sc","fence_left_front","Object","Ground",98,2,-6,21,,
"fence_right_back","sc/arena_training.sc","fence_right_back","Object","Ground",95,1,7,12,,
"fence_right_front","sc/arena_training.sc","fence_right_front","Object","Ground",95,2,,21,,
"tree_group01","sc/arena_training.sc","tree_group01","Object","Ground",90,-6,-6,,,
"bone_1_left","sc/level_bone_arena.sc","bone_1_left","Object","Ground",90,-3,-32,10,,
"bone_1_right","sc/level_bone_arena.sc","bone_1_right","Object","Ground",90,6,-56,60,,
"bone_2_left","sc/level_bone_arena.sc","bone_2_left","Object","Ground",90,-9,19,,,
"bone_2_right","sc/level_bone_arena.sc","bone_2_right","Object","Ground",90,,5,64,,
"bone_endstones_bottom","sc/level_bone_arena.sc","bone_endstones_bottom","Object","Ground",90,-15,-31,31,,
"bone_endstones_top","sc/level_bone_arena.sc","bone_endstones_top","Object","Ground",90,-10,-21,33,,
"bone_sidestands_botleft","sc/level_bone_arena.sc","bone_sidestands_botleft","Object","Ground",90,-19,132,,,
"bone_sidestands_botright","sc/level_bone_arena.sc","bone_sidestands_botright","Object","Ground",90,-15,153,5,,
"bone_sidestands_right","sc/level_bone_arena.sc","bone_sidestands_right","Object","Ground",90,-12,127,,,
"bone_sidestands_topleft","sc/level_bone_arena.sc","bone_sidestands_topleft","Object","Ground",90,-31,127,5,,
"bone_tower1","sc/level_bone_arena.sc","bone_tower1","Object","Ground",98,-8,-45,,,
"bone_tower2","sc/level_bone_arena.sc","bone_tower2","Object","Ground",98,-6,-35,22,,
"bone_deco_left","sc/level_bone_arena.sc","bone_deco_left","Object","Object",90,,-2,21,380,
"bone_deco_right","sc/level_bone_arena.sc","bone_deco_right","Object","Object",90,-1,,37,380,
"bone_decostone1","sc/level_bone_arena.sc","bone_decostone1","Object","Ground",111,-13,-17,,,
"bone_decostone2","sc/level_bone_arena.sc","bone_decostone2","Object","Ground",90,2,-11,39,,
"dark_fire_pot","sc/level_dark_arena.sc","dark_fire_pot","Object","Object",95,-6,-6,,,"dark_arena_pot_flame"
"dark_gate_bottom","sc/level_dark_arena.sc","dark_gate_bottom","Object","Ground",95,-6,-6,,,
"dark_gate_top","sc/level_dark_arena.sc","dark_gate_top","Object","Ground",95,-6,-6,,,
"dark_deco1","sc/level_dark_arena.sc","dark_deco1","Object","Ground",84,,-4,20,410,
"dark_pekka_bottom_left","sc/level_dark_arena.sc","dark_pekka_bottom_left","Object","Ground",95,-6,-6,,,
"dark_pekka_bottom_right","sc/level_dark_arena.sc","dark_pekka_bottom_right","Object","Ground",95,-6,-6,,,
"dark_pekka_top_left","sc/level_dark_arena.sc","dark_pekka_top_left","Object","Ground",95,-6,-6,,,
"dark_pekka_top_right","sc/level_dark_arena.sc","dark_pekka_top_right","Object","Ground",95,-6,-6,,,
"dark_stand_blue_left","sc/level_dark_arena.sc","dark_stand_blue_left","Object","Ground",95,-6,-6,,,
"dark_stand_blue_right","sc/level_dark_arena.sc","dark_stand_blue_right","Object","Ground",95,-6,-6,,,
"dark_stand_left_red","sc/level_dark_arena.sc","dark_stand_left_red","Object","Ground",95,-6,-6,,,
"dark_stand_red_right","sc/level_dark_arena.sc","dark_stand_red_right","Object","Ground",95,-6,-6,,,
"barbarian_blocktree","sc/level_barbarian_arena.sc","barbarian_blocktree","Object","Ground",95,-6,-6,29,,
"barbarian_blue_barracks","sc/level_barbarian_arena.sc","barbarian_blue_barracks","Object","Ground",95,-22,-4,38,,
"barbarian_red_barracks","sc/level_barbarian_arena.sc","barbarian_red_barracks","Object","Ground",95,-6,-6,31,,
"barbarian_blue_sidestand_left","sc/level_barbarian_arena.sc","barbarian_blue_sidestand_left","Object","Ground",95,-11,1,20,,
"barbarian_blue_sidestand_right","sc/level_barbarian_arena.sc","barbarian_blue_sidestand_right","Object","Ground",95,-17,-6,26,,
"barbarian_red_sidestand_left","sc/level_barbarian_arena.sc","barbarian_red_sidestand_left","Object","Ground",95,-6,-6,10,,
"barbarian_red_sidestand_right","sc/level_barbarian_arena.sc","barbarian_red_sidestand_right","Object","Ground",95,-6,-6,19,,
"barbarian_tower1","sc/level_barbarian_arena.sc","barbarian_tower1","Object","Ground",95,-4,9,20,,
"barbarian_tower2","sc/level_barbarian_arena.sc","barbarian_tower2","Object","Ground",95,,5,11,,
"barbarian_tower3","sc/level_barbarian_arena.sc","barbarian_tower3","Object","Ground",104,-12,25,20,,
"barbarian_tower4","sc/level_barbarian_arena.sc","barbarian_tower4","Object","Ground",95,5,11,23,,
"barbarian_barrell","sc/level_barbarian_arena.sc","barbarian_barrell","Object","Ground",95,-8,51,39,,
"barbarian_fence1","sc/level_barbarian_arena.sc","barbarian_fence1","Object","Ground",95,-2,4,39,,
"barbarian_wall1","sc/level_barbarian_arena.sc","barbarian_wall1","Object","Ground",95,-8,2,,,
"barbarian_wall2","sc/level_barbarian_arena.sc","barbarian_wall2","Object","Ground",95,2,1,39,,
"barbarian_bush1x","sc/level_barbarian_arena.sc","barbarian_bush1x","Object","Ground",95,-3,-5,25,,
"barbarian_mushrooms","sc/level_barbarian_arena.sc","barbarian_mushrooms","Object","Ground",95,-2,4,6,,
"barbarian_deco1","sc/level_barbarian_arena.sc","barbarian_deco1","Object","Ground",95,-4,13,24,392,
"barbarian_deco2","sc/level_barbarian_arena.sc","barbarian_deco2","Object","Ground",95,-4,13,39,392,
"spell_arena_edge_back","sc/level_spell_arena.sc","arena_edge_back","Object","Ground",95,-6,-6,,,
"spell_arena_edge_front","sc/level_spell_arena.sc","arena_edge_front","Object","Ground",95,-6,-6,,,
"spell_arena_edge_left","sc/level_spell_arena.sc","arena_edge_left","Object","Ground",95,-6,-6,,,
"spell_arena_edge_right","sc/level_spell_arena.sc","arena_edge_right","Object","Ground",95,-6,-6,,,
"spell_arena_edge_pole","sc/level_spell_arena.sc","arena_edge_pole","Object","Ground",95,-6,-6,,,
"spell_entry_pole_back","sc/level_spell_arena.sc","entry_pole_back","Object","Ground",95,-6,-6,,,
"spell_entry_pole_front","sc/level_spell_arena.sc","entry_pole_front","Object","Ground",95,-6,-6,,,
"spell_crystal_rock_left","sc/level_spell_arena.sc","crystal_rock_left","Object","Ground",95,-6,-6,,,
"spell_crystal_rock_right","sc/level_spell_arena.sc","crystal_rock_right","Object","Ground",95,-6,-6,,,
"spell_pot_left","sc/level_spell_arena.sc","spell_pot_left","Object","Ground",95,-6,-6,,,
"spell_pot_right","sc/level_spell_arena.sc","spell_pot_right","Object","Ground",95,-6,-6,,,
"spell_stand_blue_left","sc/level_spell_arena.sc","stand_blue_left","Object","Ground",95,-6,-6,,,
"spell_stand_blue_right","sc/level_spell_arena.sc","stand_blue_right","Object","Ground",95,-6,-6,,,
"spell_stand_red_left","sc/level_spell_arena.sc","stand_red_left","Object","Ground",95,-6,-6,,,
"spell_stand_red_right","sc/level_spell_arena.sc","stand_red_right","Object","Ground",95,-6,-6,,,
"spell_red_deco","sc/level_spell_arena.sc","spell_red_deco","Object","Ground",95,-6,-6,,,
"spell_blue_deco","sc/level_spell_arena.sc","spell_blue_deco","Object","Ground",95,-6,-6,,,
1 Name FileName ExportName Layer LowendLayer ShadowScale ShadowX ShadowY ShadowSkew CollisionRadius Effect
2 string string string string string int int int int int string
3 Grassland_tree1 sc/level.sc Grassland_2x2_tree1 Object Ground 80 -24 -31 4
4 Grassland_tree2 sc/level.sc Grassland_2x2_tree2 Object Ground 80 -24 -31 4
5 Grassland_tree3 sc/level.sc Grassland_2x2_tree3 Object Ground 85 -26 -39 4
6 Grassland_tree4 sc/level.sc Grassland_2x2_tree4 Object Ground 80 -23 -28 2
7 Grassland_rock1 sc/level.sc Grassland_1x1_rock1 Object Ground 63 -5 5 12
8 Grassland_rock2 sc/level.sc Grassland_2x2_rock2 Object Ground 88 -3 -5
9 Grassland_rock3 sc/level.sc Grassland_1x1_rock3 Object Ground 71 -4 1
10 Grassland_bush1 sc/level.sc Grassland_1x1_bush1 Object Ground 91 -4 -8 28
11 Deco_fireplace sc/effects.sc Deco_fireplace Object Ground 1 DecoFireplaceLoop
12 deco_chest_wood1 sc/level.sc deco_chest_wood1 Object Ground 92 -18 67
13 deco_chest_iron1 sc/level.sc deco_chest_iron1 Object Ground 92 -18 67
14 deco_chest_silver1 sc/level.sc deco_chest_silver1 Object Ground 92 -18 67
15 deco_chest_gold1 sc/level.sc deco_chest_gold1 Object Ground 92 -18 67
16 deco_chest_magical1 sc/level.sc deco_chest_magical1 Object Ground 92 -18 67
17 Grassland_1x1_flower1 sc/level.sc Grassland_1x1_flower1 Ground Ground
18 Grassland_1x1_flower2 sc/level.sc Grassland_1x1_flower2 Ground Ground
19 Grassland_1x1_flower3 sc/level.sc Grassland_1x1_flower3 Ground Ground
20 Grassland_1x1_flower4 sc/level.sc Grassland_1x1_flower4 Ground Ground
21 Grassland_3x3_flowers1 sc/level.sc Grassland_3x3_flowers1 Ground Ground
22 Grassland_3x3_flowers2 sc/level.sc Grassland_3x3_flowers2 Ground Ground
23 Grassland_rock1_withHaze sc/level.sc Grassland_1x1_rock1 Object Ground 77 -5 7 12 Background_haze
24 Grassland_rock2_withHaze sc/level.sc Grassland_2x2_rock2 Object Ground 94 -3 -5 Background_haze
25 Grassland_rock3_withHaze sc/level.sc Grassland_1x1_rock3 Object Ground 78 -4 1 Background_haze
26 WoodWall_single_1 sc/level.sc WoodWall_single_1 Object Ground 83 38
27 WoodWall_single_2 sc/level.sc WoodWall_single_2 Object Ground 83 38
28 WoodWall_single_3 sc/level.sc WoodWall_single_3 Object Ground 79 38
29 WoodWall_multi_horizontal_1 sc/level.sc WoodWall_multi_horizontal_1 Object Ground 95 3 50
30 WoodWall_multi_vertical_1 sc/level.sc WoodWall_multi_vertical_1 Object Ground 98 -8 -6 18
31 ChestTemplate sc/effects.sc Deco_fireplace Object Ground 100
32 Arena_stand_right_1 sc/level.sc arena_stand_right_1 Object Ground 95 -6 -6
33 Arena_stand_left_1 sc/level.sc arena_stand_left_1 Object Ground 95 -6 -6
34 Arena_stand_right_full_1 sc/level.sc arena_stand_right_full_1 Object Ground 95 -6 -6
35 Arena_stand_left_full_1 sc/level.sc arena_stand_left_full_1 Object Ground 95 -6 -6
36 Cloud_object sc/level.sc Cloud_object Object Ground -4 -8 28 Clouds1
37 arena_stand_right_full_1_blue sc/level.sc arena_stand_right_full_1_blue Object Ground 95 -6 -6
38 arena_stand_left_full_1_blue sc/level.sc arena_stand_left_full_1_blue Object Ground 95 -6 -6
39 arena_stand_right_full_1_red sc/level.sc arena_stand_right_full_1_red Object Ground 95 -6 -6
40 arena_stand_left_full_1_red sc/level.sc arena_stand_left_full_1_red Object Ground 95 -6 -6
41 royal_arena_bridge sc/level_royal_arena.sc royal_arena_bridge Object Ground 95 -9 58
42 royal_red_deco sc/level_royal_arena.sc royal_red_deco Object Ground 61 5 22 496
43 royal_blue_deco sc/level_royal_arena.sc royal_blue_deco Object Ground 67 2 2 31 496
44 royal_bucket sc/level_royal_arena.sc royal_bucket Object Ground 94 -5 73 6
45 royal_red_endwall1 sc/level_royal_arena.sc royal_red_endwall1 Object Ground 95 -48 4
46 royal_red_tower1 sc/level_royal_arena.sc royal_red_tower1 Object Ground 95 37
47 royal_red_tower2 sc/level_royal_arena.sc royal_red_tower2 Object Ground 95 -32 18
48 royal_red_wall_middle sc/level_royal_arena.sc royal_red_wall_middle Object Ground 100 21 -88 26
49 royal_mid_tower sc/level_royal_arena.sc royal_mid_tower Object Ground 95 -8 76 14
50 royal_red_endwall2 sc/level_royal_arena.sc royal_red_endwall2 Object Ground 95 35 -48 59
51 royal_blue_endwall1 sc/level_royal_arena.sc royal_blue_endwall1 Object Ground 96 -12 59 24
52 royal_blue_endwall2 sc/level_royal_arena.sc royal_blue_endwall2 Object Ground 95 -13 72 11
53 royal_blue_roof_left sc/level_royal_arena.sc royal_blue_roof_left Object Ground 95 -28 -139
54 royal_blue_roof_right sc/level_royal_arena.sc royal_blue_roof_right Object Ground 95 -4 -112 11
55 royal_blue_tower1 sc/level_royal_arena.sc royal_blue_tower1 Object Ground 95 2 11 10
56 royal_blue_tower2 sc/level_royal_arena.sc royal_blue_tower2 Object Ground 94 24 -111 53
57 royal_blue_wall_middle sc/level_royal_arena.sc royal_blue_wall_middle Object Ground 95 -7 43 42
58 royal_red_roof_left sc/level_royal_arena.sc royal_red_roof_left Object Ground 95 3 -151 33
59 royal_red_roof_right sc/level_royal_arena.sc royal_red_roof_right Object Ground 95 -9 -146
60 royal_sidestand_left sc/level_royal_arena.sc royal_sidestand_left Object Ground 95 -29 147 8
61 royal_sidestand_right sc/level_royal_arena.sc royal_sidestand_right Object Ground 84 -35 112 1
62 royal_blocktree sc/level_royal_arena.sc royal_blocktree Object Ground 95 -6 -6 29
63 royal_bush1x sc/level_royal_arena.sc royal_bush1x Object Ground 95 -3 -5 25
64 royal_mushrooms sc/level_royal_arena.sc royal_mushrooms Object Ground 95 -2 4 6
65 goblin_roofshade_left_blue sc/level_goblin_arena.sc goblin_roofshade_left_blue Object Ground 95 -6 -6
66 goblin_roofshade_left_red sc/level_goblin_arena.sc goblin_roofshade_left_red Object Ground 95 -6 -6
67 goblin_roofshade_right_blue sc/level_goblin_arena.sc goblin_roofshade_right_blue Object Ground 95 -6 -6
68 goblin_roofshade_right_red sc/level_goblin_arena.sc goblin_roofshade_right_red Object Ground 95 -6 -6
69 goblin_sharp1 sc/level_goblin_arena.sc goblin_sharp1 Object Ground 95 -6 -6
70 goblin_sharp2 sc/level_goblin_arena.sc goblin_sharp2 Object Ground 95 -6 -6
71 goblin_sharp3 sc/level_goblin_arena.sc goblin_sharp3 Object Ground 95 -6 -6
72 goblin_sidestand_left sc/level_goblin_arena.sc goblin_sidestand_left Object Ground 95 -6 -6
73 goblin_sidestand_right sc/level_goblin_arena.sc goblin_sidestand_right Object Ground 95 -6 -6
74 goblin_stone1 sc/level_goblin_arena.sc goblin_stone1 Object Ground 95 -6 -6
75 goblin_stone2 sc/level_goblin_arena.sc goblin_stone2 Object Ground 95 -6 -6
76 goblin_waterwheel sc/level_goblin_arena.sc goblin_waterwheel Object Ground 95 10 -41 21
77 goblin_woodpole1 sc/level_goblin_arena.sc goblin_woodpole1 Object Ground 95 -6 -6
78 goblin_woodpole2 sc/level_goblin_arena.sc goblin_woodpole2 Object Ground 95 -6 -6
79 goblin_woodtower1 sc/level_goblin_arena.sc goblin_woodtower1 Object Ground 95 -6 -6
80 goblin_woodtower2 sc/level_goblin_arena.sc goblin_woodtower2 Object Ground 95 2 -23 44
81 goblin_woodwall1 sc/level_goblin_arena.sc goblin_woodwall1 Object Ground 95 -6 -6
82 goblin_tree1 sc/level_goblin_arena.sc goblin_tree1 Object Ground 95 -6 -6
83 goblin_tree2 sc/level_goblin_arena.sc goblin_tree2 Object Ground 95 -6 -6
84 goblin_tree3 sc/level_goblin_arena.sc goblin_tree3 Object Ground 95 -6 -6
85 goblin_tree4 sc/level_goblin_arena.sc goblin_tree4 Object Ground 95 -6 -6
86 goblin_red_tower sc/level_goblin_arena.sc goblin_red_tower Object Ground 95 -6 -6
87 goblin_blue_tower sc/level_goblin_arena.sc goblin_blue_tower Object Ground 95 -6 -6
88 training_cliff1 sc/arena_training.sc cliff01 Object Ground 95 -15 34 24
89 training_cliff2 sc/arena_training.sc cliff02 Object Ground 95 -6 4 14
90 training_cliff3 sc/arena_training.sc cliff03 Object Ground 95 -8 31
91 training_cliff4 sc/arena_training.sc cliff04 Object Ground 95 -3 -2 24
92 training_cliff5 sc/arena_training.sc cliff05 Object Ground 95 -8 -8 19
93 training_cliff6 sc/arena_training.sc cliff06 Object Ground 95 -13 2 32
94 training_cliff7 sc/arena_training.sc cliff07 Object Ground 95 -10 2 13
95 training_tree1 sc/arena_training.sc tree01 Object Ground 95 -6 -6
96 training_tree2 sc/arena_training.sc tree02 Object Ground 95 -6 -6
97 training_tree3 sc/arena_training.sc tree03 Object Ground 95 -6 -6
98 training_bush1 sc/arena_training.sc bush01 Object Ground 95 -6 -6
99 training_bush2 sc/arena_training.sc bush02 Object Ground 95 -6 -6
100 training_cliffs_left sc/arena_training.sc training_cliffs_left Object Ground 95 -28 92 10
101 training_cliffs_right sc/arena_training.sc training_cliffs_right Object Ground 98 -23 93 13
102 training_deco1 sc/arena_training.sc training_deco1 Object Ground 72 2 22 386
103 training_deco2 sc/arena_training.sc training_deco2 Object Ground 78 13 386
104 fence_left_back sc/arena_training.sc fence_left_back Object Ground 95 10 15
105 fence_left_front sc/arena_training.sc fence_left_front Object Ground 98 2 -6 21
106 fence_right_back sc/arena_training.sc fence_right_back Object Ground 95 1 7 12
107 fence_right_front sc/arena_training.sc fence_right_front Object Ground 95 2 21
108 tree_group01 sc/arena_training.sc tree_group01 Object Ground 90 -6 -6
109 bone_1_left sc/level_bone_arena.sc bone_1_left Object Ground 90 -3 -32 10
110 bone_1_right sc/level_bone_arena.sc bone_1_right Object Ground 90 6 -56 60
111 bone_2_left sc/level_bone_arena.sc bone_2_left Object Ground 90 -9 19
112 bone_2_right sc/level_bone_arena.sc bone_2_right Object Ground 90 5 64
113 bone_endstones_bottom sc/level_bone_arena.sc bone_endstones_bottom Object Ground 90 -15 -31 31
114 bone_endstones_top sc/level_bone_arena.sc bone_endstones_top Object Ground 90 -10 -21 33
115 bone_sidestands_botleft sc/level_bone_arena.sc bone_sidestands_botleft Object Ground 90 -19 132
116 bone_sidestands_botright sc/level_bone_arena.sc bone_sidestands_botright Object Ground 90 -15 153 5
117 bone_sidestands_right sc/level_bone_arena.sc bone_sidestands_right Object Ground 90 -12 127
118 bone_sidestands_topleft sc/level_bone_arena.sc bone_sidestands_topleft Object Ground 90 -31 127 5
119 bone_tower1 sc/level_bone_arena.sc bone_tower1 Object Ground 98 -8 -45
120 bone_tower2 sc/level_bone_arena.sc bone_tower2 Object Ground 98 -6 -35 22
121 bone_deco_left sc/level_bone_arena.sc bone_deco_left Object Object 90 -2 21 380
122 bone_deco_right sc/level_bone_arena.sc bone_deco_right Object Object 90 -1 37 380
123 bone_decostone1 sc/level_bone_arena.sc bone_decostone1 Object Ground 111 -13 -17
124 bone_decostone2 sc/level_bone_arena.sc bone_decostone2 Object Ground 90 2 -11 39
125 dark_fire_pot sc/level_dark_arena.sc dark_fire_pot Object Object 95 -6 -6 dark_arena_pot_flame
126 dark_gate_bottom sc/level_dark_arena.sc dark_gate_bottom Object Ground 95 -6 -6
127 dark_gate_top sc/level_dark_arena.sc dark_gate_top Object Ground 95 -6 -6
128 dark_deco1 sc/level_dark_arena.sc dark_deco1 Object Ground 84 -4 20 410
129 dark_pekka_bottom_left sc/level_dark_arena.sc dark_pekka_bottom_left Object Ground 95 -6 -6
130 dark_pekka_bottom_right sc/level_dark_arena.sc dark_pekka_bottom_right Object Ground 95 -6 -6
131 dark_pekka_top_left sc/level_dark_arena.sc dark_pekka_top_left Object Ground 95 -6 -6
132 dark_pekka_top_right sc/level_dark_arena.sc dark_pekka_top_right Object Ground 95 -6 -6
133 dark_stand_blue_left sc/level_dark_arena.sc dark_stand_blue_left Object Ground 95 -6 -6
134 dark_stand_blue_right sc/level_dark_arena.sc dark_stand_blue_right Object Ground 95 -6 -6
135 dark_stand_left_red sc/level_dark_arena.sc dark_stand_left_red Object Ground 95 -6 -6
136 dark_stand_red_right sc/level_dark_arena.sc dark_stand_red_right Object Ground 95 -6 -6
137 barbarian_blocktree sc/level_barbarian_arena.sc barbarian_blocktree Object Ground 95 -6 -6 29
138 barbarian_blue_barracks sc/level_barbarian_arena.sc barbarian_blue_barracks Object Ground 95 -22 -4 38
139 barbarian_red_barracks sc/level_barbarian_arena.sc barbarian_red_barracks Object Ground 95 -6 -6 31
140 barbarian_blue_sidestand_left sc/level_barbarian_arena.sc barbarian_blue_sidestand_left Object Ground 95 -11 1 20
141 barbarian_blue_sidestand_right sc/level_barbarian_arena.sc barbarian_blue_sidestand_right Object Ground 95 -17 -6 26
142 barbarian_red_sidestand_left sc/level_barbarian_arena.sc barbarian_red_sidestand_left Object Ground 95 -6 -6 10
143 barbarian_red_sidestand_right sc/level_barbarian_arena.sc barbarian_red_sidestand_right Object Ground 95 -6 -6 19
144 barbarian_tower1 sc/level_barbarian_arena.sc barbarian_tower1 Object Ground 95 -4 9 20
145 barbarian_tower2 sc/level_barbarian_arena.sc barbarian_tower2 Object Ground 95 5 11
146 barbarian_tower3 sc/level_barbarian_arena.sc barbarian_tower3 Object Ground 104 -12 25 20
147 barbarian_tower4 sc/level_barbarian_arena.sc barbarian_tower4 Object Ground 95 5 11 23
148 barbarian_barrell sc/level_barbarian_arena.sc barbarian_barrell Object Ground 95 -8 51 39
149 barbarian_fence1 sc/level_barbarian_arena.sc barbarian_fence1 Object Ground 95 -2 4 39
150 barbarian_wall1 sc/level_barbarian_arena.sc barbarian_wall1 Object Ground 95 -8 2
151 barbarian_wall2 sc/level_barbarian_arena.sc barbarian_wall2 Object Ground 95 2 1 39
152 barbarian_bush1x sc/level_barbarian_arena.sc barbarian_bush1x Object Ground 95 -3 -5 25
153 barbarian_mushrooms sc/level_barbarian_arena.sc barbarian_mushrooms Object Ground 95 -2 4 6
154 barbarian_deco1 sc/level_barbarian_arena.sc barbarian_deco1 Object Ground 95 -4 13 24 392
155 barbarian_deco2 sc/level_barbarian_arena.sc barbarian_deco2 Object Ground 95 -4 13 39 392
156 spell_arena_edge_back sc/level_spell_arena.sc arena_edge_back Object Ground 95 -6 -6
157 spell_arena_edge_front sc/level_spell_arena.sc arena_edge_front Object Ground 95 -6 -6
158 spell_arena_edge_left sc/level_spell_arena.sc arena_edge_left Object Ground 95 -6 -6
159 spell_arena_edge_right sc/level_spell_arena.sc arena_edge_right Object Ground 95 -6 -6
160 spell_arena_edge_pole sc/level_spell_arena.sc arena_edge_pole Object Ground 95 -6 -6
161 spell_entry_pole_back sc/level_spell_arena.sc entry_pole_back Object Ground 95 -6 -6
162 spell_entry_pole_front sc/level_spell_arena.sc entry_pole_front Object Ground 95 -6 -6
163 spell_crystal_rock_left sc/level_spell_arena.sc crystal_rock_left Object Ground 95 -6 -6
164 spell_crystal_rock_right sc/level_spell_arena.sc crystal_rock_right Object Ground 95 -6 -6
165 spell_pot_left sc/level_spell_arena.sc spell_pot_left Object Ground 95 -6 -6
166 spell_pot_right sc/level_spell_arena.sc spell_pot_right Object Ground 95 -6 -6
167 spell_stand_blue_left sc/level_spell_arena.sc stand_blue_left Object Ground 95 -6 -6
168 spell_stand_blue_right sc/level_spell_arena.sc stand_blue_right Object Ground 95 -6 -6
169 spell_stand_red_left sc/level_spell_arena.sc stand_red_left Object Ground 95 -6 -6
170 spell_stand_red_right sc/level_spell_arena.sc stand_red_right Object Ground 95 -6 -6
171 spell_red_deco sc/level_spell_arena.sc spell_red_deco Object Ground 95 -6 -6
172 spell_blue_deco sc/level_spell_arena.sc spell_blue_deco Object Ground 95 -6 -6

View file

@ -0,0 +1,3 @@
"Name","FileName","BlueExportName","RedExportName","BlueTopExportName","RedTopExportName","HatchDuration","Hitpoints","CharacterStartingBuff","CharacterStartingBuffTime","Homespawn","IgnoreAggro","CollisionRadius","Effect","DeathEffect","ShadowScale","ShadowX","ShadowY","ShadowSkew"
"String","String","String","String","String","String","int","int","String","int","boolean","boolean","int","String","String","int","int","int","int"
"Egg","sc/characters.sc","order_spawning_orb","order_spawning_orb",,,3000,1,,,,,350,,,100,,10,35
1 Name FileName BlueExportName RedExportName BlueTopExportName RedTopExportName HatchDuration Hitpoints CharacterStartingBuff CharacterStartingBuffTime Homespawn IgnoreAggro CollisionRadius Effect DeathEffect ShadowScale ShadowX ShadowY ShadowSkew
2 String String String String String String int int String int boolean boolean int String String int int int int
3 Egg sc/characters.sc order_spawning_orb order_spawning_orb 3000 1 350 100 10 35

View file

@ -0,0 +1,14 @@
"Name","ExpToNextLevel","SummonerLevel","TowerLevel","TroopLevel","Decks","SummonerKillGold","TowerKillGold","DiamondReward"
"String","int","int","int","int","int","int","int","int"
1,20,1,1,1,1,0,0,
2,50,2,2,2,1,0,0,
3,100,3,3,3,1,0,0,
4,200,4,4,4,1,0,0,
5,400,5,5,5,1,0,0,
6,1000,6,6,6,1,0,0,
7,2000,7,7,7,1,0,0,
8,4000,8,8,8,1,0,0,
9,10000,9,9,9,1,0,0,
10,30000,10,10,10,1,0,0,
11,80000,11,11,11,1,0,0,
12,100000,12,12,12,1,0,0,
1 Name ExpToNextLevel SummonerLevel TowerLevel TroopLevel Decks SummonerKillGold TowerKillGold DiamondReward
2 String int int int int int int int int
3 1 20 1 1 1 1 0 0
4 2 50 2 2 2 1 0 0
5 3 100 3 3 3 1 0 0
6 4 200 4 4 4 1 0 0
7 5 400 5 5 5 1 0 0
8 6 1000 6 6 6 1 0 0
9 7 2000 7 7 7 1 0 0
10 8 4000 8 8 8 1 0 0
11 9 10000 9 9 9 1 0 0
12 10 30000 10 10 10 1 0 0
13 11 80000 11 11 11 1 0 0
14 12 100000 12 12 12 1 0 0

View file

@ -0,0 +1,2 @@
"Name","GoldPrice","Location"
"String","int","String"
1 Name GoldPrice Location
2 String int String

View file

@ -0,0 +1,158 @@
"Name","NumberValue","BooleanValue","TextValue","StringArray","NumberArray"
"String","int","boolean","string","String","int"
"ALLIANCE_CREATE_RESOURCE",,,"Gold",,
"ALLIANCE_CREATE_COST",1000,,,,
"ALLIANCE_TROOP_REQUEST_COOLDOWN",1200,,,,
"STARTING_DIAMONDS",100,,,,
"CLAN_TOURNAMENT_ENABLED",,"TRUE",,,
"ACHIEVEMENTS_ENABLED",,"TRUE",,,
"MAX_MANA",10,,,,
"MANA_REGEN_MS",28000,,,,
"MANA_REGEN_MS_END",14000,,,,
"MANA_REGEN_MS_OVERTIME",14000,,,,
"MANA_SPEED_UP_WHEN_REMAINING_SECONDS",60,,,,
"MANA_REGEN_PENALTY_FROM_TOWER",,,,,
"START_MANA",5,,,,
"K_FACTOR",60,,,,
"MINIMUM_CHANGE_FOR_REAL_BATTLE",1,,,,
"TARGET_SCORE",1000,,,,
"MINIMUM_SCORE",0,,,,
"DAMAGE_NOTICE_TIME",2000,,,,
"PROTECTION_CAP_PERCENTAGE",90,,,,
"PANIC_RUN_MIN_TIME",1000,,,,
"PANIC_RUN_MAX_TIME",1500,,,,
"PANIC_SPEED_MULTIPLIER",175,,,,
"MAX_MESSAGE_LENGTH",128,,,,
"MAX_ALLIANCE_MAIL_LENGTH",256,,,,
"CHARGE_DAMAGE_MULTIPLIER",200,,,,
"NEXT_SPELL_COOLDOWN_MILLISECONDS",2000,,,,
"NEXT_SPELL_COOLDOWN_MILLISECONDS_BOOST",1000,,,,
"NEXT_SPELL_COOLDOWN_MILLISECONDS_OVERTIME",1000,,,,
"SPEED_UP_DIAMOND_COST_1_MIN",1,,,,
"SPEED_UP_DIAMOND_COST_1_HOUR",20,,,,
"SPEED_UP_DIAMOND_COST_24_HOURS",360,,,,
"SPEED_UP_DIAMOND_COST_1_WEEK",1800,,,,
"BATTLE_END_EXP_REWARD",0,,,,
"GAMBLE_PRICE_COOLDOWN_MINUTES",1380,,,,
"TUTORIAL_MAX_SPELL_CAST_DISTANCE_TILES",6,,,,
"SPEED_UP_FREE_SECONDS",0,,,,
"RESOURCE_DIAMOND_COST_1",1,,,,
"RESOURCE_DIAMOND_COST_10",1,,,,
"RESOURCE_DIAMOND_COST_100",8,,,,
"RESOURCE_DIAMOND_COST_1000",60,,,,
"RESOURCE_DIAMOND_COST_10000",500,,,,
"RESOURCE_DIAMOND_COST_100000",4500,,,,
"RESOURCE_DIAMOND_COST_1000000",45000,,,,
"MAX_RESOURCE_PURCHASE_SIZE",1000000,,,,
"ALLIANCE_SCORE_CONTRIBUTION_PERCENTAGE",,,,,50
,,,,,25
,,,,,12
,,,,,10
,,,,,3
"STARTING_GOLD",100,,,,
"ATTACK_FINISH_TIME_MS",250,,,,
"BATTLE_PING_SAMPLE_SECONDS",15,,,,
"FREE_CHEST_INTERVAL_HOURS",4,,,,
"EXTRA_BUFF_RADIUS",2000,,,,
"PVP_UNLOCKED_AT_LEVEL",1,,,,
"DAMAGE_INCREASE_PERCENT_PER_SPELL_LEVEL",10,,,,
"HITPOINT_INCREASE_PERCENT_PER_SPELL_LEVEL",10,,,,
"DAMAGE_INCREASE_PERCENT_PER_KING_LEVEL",8,,,,
"HITPOINT_INCREASE_PERCENT_PER_KING_LEVEL",8,,,,
"DAMAGE_INCREASE_PERCENT_PER_TOWER_LEVEL",9,,,,
"HITPOINT_INCREASE_PERCENT_PER_TOWER_LEVEL",9,,,,
"END_TIMER_ANIM_MS",12000,,,,
"MAX_CHEST_COUNT",4,,,,
"MAX_WORKERS",1,,,,
"EXTRA_CHEST_ENABLED",,"FALSE",,,
"CHEST_AUTO_OPENING",,"FALSE",,,
"RECORD_TOUCH_EVENTS",,"TRUE",,,
"CROWN_CHEST_COOLDOWN_HOURS",24,,,,
"CROWN_CHEST_CROWN_COUNT",10,,,,
"MELEE_RANGE_LIMIT",2000,,,,
"REQUEST_SPELLS_COOLDOWN_MINUTES",480,,,,
"STARTING_ARENA",,,"TrainingCamp",,
"REDUCED_TOWER_DAMAGE_PERCENT",50,,,,
"LEAVE_ALLIANCE_DONATION_COOLDOWN_MINUTES",150,,,,
"ALLIANCE_UNLOCK_EXP_LEVEL",3,,,,
"TUTORIAL_ARENA_MATCH_COUNT",7,,,,
"TUTORIAL_UPGRADE_COUNT",1,,,,
"PRICE_EPIC",2000,,,,
"PRICE_RARE",40,,,,
"PRICE_COMMON",3,,,,
"PRICE_EPIC_INCREASE_PER_ONE_BOUGHT_PERCENT",180,,,,
"PRICE_RARE_INCREASE_PER_ONE_BOUGHT_PERCENT",140,,,,
"PRICE_COMMON_INCREASE_PER_ONE_BOUGHT_PERCENT",120,,,,
"BUY_LIMIT_EPIC",10,,,,
"BUY_LIMIT_RARE",20,,,,
"BUY_LIMIT_COMMON",50,,,,
"BIG_LIMIT",1000,,,,
"SUPER_LIMIT",50000,,,,
"SHARE_REPLAY_COOLDOWN_SECS",40,,,,
"TEAM_MAIL_COOLDOWN_SECS",43200,,,,
"CHALLENGE_MATCH_COST",5,,,,
"CHALLENGE_MATCHES_ENABLED",,"TRUE",,,
"NAME_POPUP_WIN_CNT",6,,,,
"KING_ACTIVATE_TIME_MS",3300,,,,
"TV_WEIGHT_TOP3_VS_TOP3",100,,,,
"TV_WEIGHT_TOP3_VS_TOP10",70,,,,
"TV_WEIGHT_TOP10_VS_TOP10",60,,,,
"TV_WEIGHT_TOP10_VS_TOP20",55,,,,
"TV_WEIGHT_TOP20_VS_TOP20",50,,,,
"TV_WEIGHT_TOP20_VS_TOP50",45,,,,
"TV_WEIGHT_TOP50_VS_TOP50",40,,,,
"TV_WEIGHT_OTHERS",40,,,,
"TV_WEIGTH_NOT_UNDERDOG",80,,,,
"TV_WEIGHT_WINNER_ONE_CROWN_BEHIND",90,,,,
"DONATION_CAPACITY_LIMIT_COOLDOWN_HOURS",24,,,,
"DEVICE_LINK_CODE_LENGTH",12,,,,
"DEVICE_LINK_CODE_VALID_SECONDS",120,,,,
"RESET_SPELL_USAGE_COUNTER_MATCHES",10,,,,
"FREE_CHEST_DIAMONDS",,,,,2
,,,,,0
,,,,,0
,,,,,0
,,,,,2
,,,,,0
,,,,,0
,,,,,2
,,,,,0
,,,,,0
,,,,,0
,,,,,2
,,,,,0
,,,,,0
,,,,,0
,,,,,2
,,,,,0
,,,,,0
,,,,,2
,,,,,2
,,,,,0
,,,,,0
,,,,,0
,,,,,0
"CROWN_CHEST_DIAMONDS",,,,,2
,,,,,3
,,,,,2
,,,,,3
,,,,,2
,,,,,4
,,,,,2
,,,,,2
,,,,,2
,,,,,4
,,,,,2
,,,,,2
,,,,,3
,,,,,2
,,,,,2
,,,,,2
,,,,,2
,,,,,3
,,,,,3
,,,,,2
,,,,,3
,,,,,2
,,,,,3
,,,,,3
1 Name NumberValue BooleanValue TextValue StringArray NumberArray
2 String int boolean string String int
3 ALLIANCE_CREATE_RESOURCE Gold
4 ALLIANCE_CREATE_COST 1000
5 ALLIANCE_TROOP_REQUEST_COOLDOWN 1200
6 STARTING_DIAMONDS 100
7 CLAN_TOURNAMENT_ENABLED TRUE
8 ACHIEVEMENTS_ENABLED TRUE
9 MAX_MANA 10
10 MANA_REGEN_MS 28000
11 MANA_REGEN_MS_END 14000
12 MANA_REGEN_MS_OVERTIME 14000
13 MANA_SPEED_UP_WHEN_REMAINING_SECONDS 60
14 MANA_REGEN_PENALTY_FROM_TOWER
15 START_MANA 5
16 K_FACTOR 60
17 MINIMUM_CHANGE_FOR_REAL_BATTLE 1
18 TARGET_SCORE 1000
19 MINIMUM_SCORE 0
20 DAMAGE_NOTICE_TIME 2000
21 PROTECTION_CAP_PERCENTAGE 90
22 PANIC_RUN_MIN_TIME 1000
23 PANIC_RUN_MAX_TIME 1500
24 PANIC_SPEED_MULTIPLIER 175
25 MAX_MESSAGE_LENGTH 128
26 MAX_ALLIANCE_MAIL_LENGTH 256
27 CHARGE_DAMAGE_MULTIPLIER 200
28 NEXT_SPELL_COOLDOWN_MILLISECONDS 2000
29 NEXT_SPELL_COOLDOWN_MILLISECONDS_BOOST 1000
30 NEXT_SPELL_COOLDOWN_MILLISECONDS_OVERTIME 1000
31 SPEED_UP_DIAMOND_COST_1_MIN 1
32 SPEED_UP_DIAMOND_COST_1_HOUR 20
33 SPEED_UP_DIAMOND_COST_24_HOURS 360
34 SPEED_UP_DIAMOND_COST_1_WEEK 1800
35 BATTLE_END_EXP_REWARD 0
36 GAMBLE_PRICE_COOLDOWN_MINUTES 1380
37 TUTORIAL_MAX_SPELL_CAST_DISTANCE_TILES 6
38 SPEED_UP_FREE_SECONDS 0
39 RESOURCE_DIAMOND_COST_1 1
40 RESOURCE_DIAMOND_COST_10 1
41 RESOURCE_DIAMOND_COST_100 8
42 RESOURCE_DIAMOND_COST_1000 60
43 RESOURCE_DIAMOND_COST_10000 500
44 RESOURCE_DIAMOND_COST_100000 4500
45 RESOURCE_DIAMOND_COST_1000000 45000
46 MAX_RESOURCE_PURCHASE_SIZE 1000000
47 ALLIANCE_SCORE_CONTRIBUTION_PERCENTAGE 50
48 25
49 12
50 10
51 3
52 STARTING_GOLD 100
53 ATTACK_FINISH_TIME_MS 250
54 BATTLE_PING_SAMPLE_SECONDS 15
55 FREE_CHEST_INTERVAL_HOURS 4
56 EXTRA_BUFF_RADIUS 2000
57 PVP_UNLOCKED_AT_LEVEL 1
58 DAMAGE_INCREASE_PERCENT_PER_SPELL_LEVEL 10
59 HITPOINT_INCREASE_PERCENT_PER_SPELL_LEVEL 10
60 DAMAGE_INCREASE_PERCENT_PER_KING_LEVEL 8
61 HITPOINT_INCREASE_PERCENT_PER_KING_LEVEL 8
62 DAMAGE_INCREASE_PERCENT_PER_TOWER_LEVEL 9
63 HITPOINT_INCREASE_PERCENT_PER_TOWER_LEVEL 9
64 END_TIMER_ANIM_MS 12000
65 MAX_CHEST_COUNT 4
66 MAX_WORKERS 1
67 EXTRA_CHEST_ENABLED FALSE
68 CHEST_AUTO_OPENING FALSE
69 RECORD_TOUCH_EVENTS TRUE
70 CROWN_CHEST_COOLDOWN_HOURS 24
71 CROWN_CHEST_CROWN_COUNT 10
72 MELEE_RANGE_LIMIT 2000
73 REQUEST_SPELLS_COOLDOWN_MINUTES 480
74 STARTING_ARENA TrainingCamp
75 REDUCED_TOWER_DAMAGE_PERCENT 50
76 LEAVE_ALLIANCE_DONATION_COOLDOWN_MINUTES 150
77 ALLIANCE_UNLOCK_EXP_LEVEL 3
78 TUTORIAL_ARENA_MATCH_COUNT 7
79 TUTORIAL_UPGRADE_COUNT 1
80 PRICE_EPIC 2000
81 PRICE_RARE 40
82 PRICE_COMMON 3
83 PRICE_EPIC_INCREASE_PER_ONE_BOUGHT_PERCENT 180
84 PRICE_RARE_INCREASE_PER_ONE_BOUGHT_PERCENT 140
85 PRICE_COMMON_INCREASE_PER_ONE_BOUGHT_PERCENT 120
86 BUY_LIMIT_EPIC 10
87 BUY_LIMIT_RARE 20
88 BUY_LIMIT_COMMON 50
89 BIG_LIMIT 1000
90 SUPER_LIMIT 50000
91 SHARE_REPLAY_COOLDOWN_SECS 40
92 TEAM_MAIL_COOLDOWN_SECS 43200
93 CHALLENGE_MATCH_COST 5
94 CHALLENGE_MATCHES_ENABLED TRUE
95 NAME_POPUP_WIN_CNT 6
96 KING_ACTIVATE_TIME_MS 3300
97 TV_WEIGHT_TOP3_VS_TOP3 100
98 TV_WEIGHT_TOP3_VS_TOP10 70
99 TV_WEIGHT_TOP10_VS_TOP10 60
100 TV_WEIGHT_TOP10_VS_TOP20 55
101 TV_WEIGHT_TOP20_VS_TOP20 50
102 TV_WEIGHT_TOP20_VS_TOP50 45
103 TV_WEIGHT_TOP50_VS_TOP50 40
104 TV_WEIGHT_OTHERS 40
105 TV_WEIGTH_NOT_UNDERDOG 80
106 TV_WEIGHT_WINNER_ONE_CROWN_BEHIND 90
107 DONATION_CAPACITY_LIMIT_COOLDOWN_HOURS 24
108 DEVICE_LINK_CODE_LENGTH 12
109 DEVICE_LINK_CODE_VALID_SECONDS 120
110 RESET_SPELL_USAGE_COUNTER_MATCHES 10
111 FREE_CHEST_DIAMONDS 2
112 0
113 0
114 0
115 2
116 0
117 0
118 2
119 0
120 0
121 0
122 2
123 0
124 0
125 0
126 2
127 0
128 0
129 2
130 2
131 0
132 0
133 0
134 0
135 CROWN_CHEST_DIAMONDS 2
136 3
137 2
138 3
139 2
140 4
141 2
142 2
143 2
144 4
145 2
146 2
147 3
148 2
149 2
150 2
151 2
152 3
153 3
154 2
155 3
156 2
157 3
158 3

View file

@ -0,0 +1,14 @@
"Name","IconSWF","IconExportName","LocalizedName","Enabled","FileName"
"String","String","String","String","Boolean","String"
"EN","sc/ui.sc","flag_gb","English","true","csv_client/texts.csv"
"FR","sc/ui.sc","flag_france",,,"csv_client/texts.csv"
"DE","sc/ui.sc","flag_germany",,,"csv_client/texts.csv"
"ES","sc/ui.sc","flag_spain",,,"csv_client/texts.csv"
"IT","sc/ui.sc","flag_italy",,,"csv_client/texts.csv"
"NL","sc/ui.sc","flag_netherlands",,,"csv_client/texts.csv"
"NO","sc/ui.sc","flag_norway",,,"csv_client/texts.csv"
"PT","sc/ui.sc","flag_brazil",,,"csv_client/texts.csv"
"TR","sc/ui.sc","flag_turkey",,,"csv_client/texts.csv"
"Asia",,,,,"csv_client/texts.csv"
"Arabic",,,,,"csv_client/texts.csv"
"Other",,,,,"csv_client/texts.csv"
1 Name IconSWF IconExportName LocalizedName Enabled FileName
2 String String String String Boolean String
3 EN sc/ui.sc flag_gb English true csv_client/texts.csv
4 FR sc/ui.sc flag_france csv_client/texts.csv
5 DE sc/ui.sc flag_germany csv_client/texts.csv
6 ES sc/ui.sc flag_spain csv_client/texts.csv
7 IT sc/ui.sc flag_italy csv_client/texts.csv
8 NL sc/ui.sc flag_netherlands csv_client/texts.csv
9 NO sc/ui.sc flag_norway csv_client/texts.csv
10 PT sc/ui.sc flag_brazil csv_client/texts.csv
11 TR sc/ui.sc flag_turkey csv_client/texts.csv
12 Asia csv_client/texts.csv
13 Arabic csv_client/texts.csv
14 Other csv_client/texts.csv

View file

@ -0,0 +1,94 @@
"Name","NpcOnly","PvpOnly","ShadowR","ShadowG","ShadowB","ShadowA","ShadowOffsetX","ShadowOffsetY","ShadowClamp","Music","MusicStartTime","Sound","SoundStartTime","SoundPlayOvertime","ExtraTimeMusic","MatchLength","WinCondition","OvertimeSeconds","NoStartScreen","NoEndScreen","HideTopUI","HideManaBar","EndScreenDelay","FileName","AmbientSound","OverlaySC","OverlayExportName","CrowdEffects","CloudFileName","CloudExportName","CloudMinScale","CloudMaxScale","CloudMinSpeed","CloudMaxSpeed","CloudMinAlpha","CloudMaxAlpha","CloudCount"
"string","boolean","boolean","int","int","int","int","int","int","int","string","int","string","int","boolean","string","int","string","int","boolean","boolean","boolean","boolean","int","string","string","string","string","boolean","string","string","int","int","int","int","int","int","int"
"FirstMatch","true",,,,100,60,100,100,50,"TrainingArena",180,"Tut_jing_start",180,,"60sec_training",,"Normal",,,,,,4000,"locations/training_arena.csv","ScrollAmb01",,,,"sc/effects.sc","cloud_1",54,114,25,154,7,10,4
"TrainingCamp",,,,,100,60,100,100,50,"TrainingArena",180,"Tut_jing_start",180,,"60sec_training",180,"Normal",60,,,,,4000,"locations/training_arena.csv","ScrollAmb01",,,,"sc/effects.sc","cloud_1",54,114,25,154,7,10,4
,,,,,,,,,,"60sec_training",60,"Tut_jing_time_1",60,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Tut_jing_time_2",30,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Tut_count_01",10,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Tut_count_01",9,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Tut_count_01",8,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Tut_count_01",7,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Tut_count_01",6,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Tut_count_01",5,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Tut_count_01",4,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Tut_count_01",3,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Tut_count_01",2,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Tut_count_01",1,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
"PvP_goblin",,"true",,30,,55,100,100,50,"BattleMusic",180,"Goblin_arena_start",180,,"Sudden_death",180,"Normal",60,,,,,4000,"locations/goblin_arena.csv","ScrollAmb01",,,"TRUE","sc/effects.sc","cloud_1",70,110,25,80,15,15,5
,,,,,,,,,,"60sec_loop",60,"60sec_warn_01",60,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,"30sec_loop",30,"30sec_warn_01",30,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_10",10,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_9",9,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_8",8,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_7",7,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_6",6,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_5",5,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_4",4,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_3",3,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_2",2,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_1",1,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
"PvP_barbarian",,"true",,,100,50,100,100,50,"BattleMusic",180,"Barbarian_arena_start",180,,"Sudden_death",180,"Normal",60,,,,,4000,"locations/barbarian_arena.csv","ScrollAmb01",,,"TRUE","sc/effects.sc","cloud_1",70,110,25,80,15,15,5
,,,,,,,,,,"60sec_loop",60,"60sec_warn_01",60,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,"30sec_loop",30,"30sec_warn_01",30,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_10",10,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_9",9,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_8",8,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_7",7,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_6",6,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_5",5,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_4",4,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_3",3,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_2",2,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_1",1,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
"PvP_bone",,"true",50,10,,55,100,100,50,"BattleMusic",180,"Bone_pit_arena_start",180,,"Sudden_death",180,"Normal",60,,,,,4000,"locations/bone_arena.csv","ScrollAmb01",,,"TRUE","sc/effects.sc","cloud_1",70,110,25,80,15,15,5
,,,,,,,,,,"60sec_loop",60,"60sec_warn_01",60,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,"30sec_loop",30,"30sec_warn_01",30,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_10",10,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_9",9,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_8",8,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_7",7,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_6",6,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_5",5,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_4",4,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_3",3,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_2",2,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_1",1,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
"PvP_dark",,"true",50,10,,55,100,100,50,"BattleMusic",180,"Dark_arena_start",180,,"Sudden_death",180,"Normal",60,,,,,4000,"locations/dark_arena.csv","ScrollAmb01",,,"TRUE",,,,,,,,,
,,,,,,,,,,"60sec_loop",60,"60sec_warn_01",60,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,"30sec_loop",30,"30sec_warn_01",30,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_10",10,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_9",9,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_8",8,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_7",7,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_6",6,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_5",5,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_4",4,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_3",3,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_2",2,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_1",1,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
"PvP_royal",,"true",,,100,50,100,100,50,"BattleMusic",180,"match start",180,,"Sudden_death",180,"Normal",60,,,,,4000,"locations/royal_arena.csv","ScrollAmb01",,,"TRUE","sc/effects.sc","cloud_1",70,110,25,80,15,15,5
,,,,,,,,,,"60sec_loop",60,"60sec_warn_01",60,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,"30sec_loop",30,"30sec_warn_01",30,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_10",10,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_9",9,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_8",8,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_7",7,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_6",6,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_5",5,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_4",4,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_3",3,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_2",2,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_1",1,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
"PvP_spell",,"true",,,100,50,100,100,50,"BattleMusic",180,"Spell_arena_start",180,,"Sudden_death",180,"Normal",60,,,,,4000,"locations/spell_arena.csv","ScrollAmb01",,,"TRUE","sc/effects.sc","cloud_1",70,110,25,80,15,15,5
,,,,,,,,,,"60sec_loop",60,"60sec_warn_01",60,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,"30sec_loop",30,"30sec_warn_01",30,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_10",10,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_9",9,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_8",8,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_7",7,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_6",6,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_5",5,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_4",4,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_3",3,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_2",2,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,"Countdown_1",1,"TRUE",,,,,,,,,,,,,,,,,,,,,,,
1 Name NpcOnly PvpOnly ShadowR ShadowG ShadowB ShadowA ShadowOffsetX ShadowOffsetY ShadowClamp Music MusicStartTime Sound SoundStartTime SoundPlayOvertime ExtraTimeMusic MatchLength WinCondition OvertimeSeconds NoStartScreen NoEndScreen HideTopUI HideManaBar EndScreenDelay FileName AmbientSound OverlaySC OverlayExportName CrowdEffects CloudFileName CloudExportName CloudMinScale CloudMaxScale CloudMinSpeed CloudMaxSpeed CloudMinAlpha CloudMaxAlpha CloudCount
2 string boolean boolean int int int int int int int string int string int boolean string int string int boolean boolean boolean boolean int string string string string boolean string string int int int int int int int
3 FirstMatch true 100 60 100 100 50 TrainingArena 180 Tut_jing_start 180 60sec_training Normal 4000 locations/training_arena.csv ScrollAmb01 sc/effects.sc cloud_1 54 114 25 154 7 10 4
4 TrainingCamp 100 60 100 100 50 TrainingArena 180 Tut_jing_start 180 60sec_training 180 Normal 60 4000 locations/training_arena.csv ScrollAmb01 sc/effects.sc cloud_1 54 114 25 154 7 10 4
5 60sec_training 60 Tut_jing_time_1 60
6 Tut_jing_time_2 30
7 Tut_count_01 10 TRUE
8 Tut_count_01 9 TRUE
9 Tut_count_01 8 TRUE
10 Tut_count_01 7 TRUE
11 Tut_count_01 6 TRUE
12 Tut_count_01 5 TRUE
13 Tut_count_01 4 TRUE
14 Tut_count_01 3 TRUE
15 Tut_count_01 2 TRUE
16 Tut_count_01 1 TRUE
17 PvP_goblin true 30 55 100 100 50 BattleMusic 180 Goblin_arena_start 180 Sudden_death 180 Normal 60 4000 locations/goblin_arena.csv ScrollAmb01 TRUE sc/effects.sc cloud_1 70 110 25 80 15 15 5
18 60sec_loop 60 60sec_warn_01 60
19 30sec_loop 30 30sec_warn_01 30
20 Countdown_10 10 TRUE
21 Countdown_9 9 TRUE
22 Countdown_8 8 TRUE
23 Countdown_7 7 TRUE
24 Countdown_6 6 TRUE
25 Countdown_5 5 TRUE
26 Countdown_4 4 TRUE
27 Countdown_3 3 TRUE
28 Countdown_2 2 TRUE
29 Countdown_1 1 TRUE
30 PvP_barbarian true 100 50 100 100 50 BattleMusic 180 Barbarian_arena_start 180 Sudden_death 180 Normal 60 4000 locations/barbarian_arena.csv ScrollAmb01 TRUE sc/effects.sc cloud_1 70 110 25 80 15 15 5
31 60sec_loop 60 60sec_warn_01 60
32 30sec_loop 30 30sec_warn_01 30
33 Countdown_10 10 TRUE
34 Countdown_9 9 TRUE
35 Countdown_8 8 TRUE
36 Countdown_7 7 TRUE
37 Countdown_6 6 TRUE
38 Countdown_5 5 TRUE
39 Countdown_4 4 TRUE
40 Countdown_3 3 TRUE
41 Countdown_2 2 TRUE
42 Countdown_1 1 TRUE
43 PvP_bone true 50 10 55 100 100 50 BattleMusic 180 Bone_pit_arena_start 180 Sudden_death 180 Normal 60 4000 locations/bone_arena.csv ScrollAmb01 TRUE sc/effects.sc cloud_1 70 110 25 80 15 15 5
44 60sec_loop 60 60sec_warn_01 60
45 30sec_loop 30 30sec_warn_01 30
46 Countdown_10 10 TRUE
47 Countdown_9 9 TRUE
48 Countdown_8 8 TRUE
49 Countdown_7 7 TRUE
50 Countdown_6 6 TRUE
51 Countdown_5 5 TRUE
52 Countdown_4 4 TRUE
53 Countdown_3 3 TRUE
54 Countdown_2 2 TRUE
55 Countdown_1 1 TRUE
56 PvP_dark true 50 10 55 100 100 50 BattleMusic 180 Dark_arena_start 180 Sudden_death 180 Normal 60 4000 locations/dark_arena.csv ScrollAmb01 TRUE
57 60sec_loop 60 60sec_warn_01 60
58 30sec_loop 30 30sec_warn_01 30
59 Countdown_10 10 TRUE
60 Countdown_9 9 TRUE
61 Countdown_8 8 TRUE
62 Countdown_7 7 TRUE
63 Countdown_6 6 TRUE
64 Countdown_5 5 TRUE
65 Countdown_4 4 TRUE
66 Countdown_3 3 TRUE
67 Countdown_2 2 TRUE
68 Countdown_1 1 TRUE
69 PvP_royal true 100 50 100 100 50 BattleMusic 180 match start 180 Sudden_death 180 Normal 60 4000 locations/royal_arena.csv ScrollAmb01 TRUE sc/effects.sc cloud_1 70 110 25 80 15 15 5
70 60sec_loop 60 60sec_warn_01 60
71 30sec_loop 30 30sec_warn_01 30
72 Countdown_10 10 TRUE
73 Countdown_9 9 TRUE
74 Countdown_8 8 TRUE
75 Countdown_7 7 TRUE
76 Countdown_6 6 TRUE
77 Countdown_5 5 TRUE
78 Countdown_4 4 TRUE
79 Countdown_3 3 TRUE
80 Countdown_2 2 TRUE
81 Countdown_1 1 TRUE
82 PvP_spell true 100 50 100 100 50 BattleMusic 180 Spell_arena_start 180 Sudden_death 180 Normal 60 4000 locations/spell_arena.csv ScrollAmb01 TRUE sc/effects.sc cloud_1 70 110 25 80 15 15 5
83 60sec_loop 60 60sec_warn_01 60
84 30sec_loop 30 30sec_warn_01 30
85 Countdown_10 10 TRUE
86 Countdown_9 9 TRUE
87 Countdown_8 8 TRUE
88 Countdown_7 7 TRUE
89 Countdown_6 6 TRUE
90 Countdown_5 5 TRUE
91 Countdown_4 4 TRUE
92 Countdown_3 3 TRUE
93 Countdown_2 2 TRUE
94 Countdown_1 1 TRUE

22
assets/csv_logic/npcs.csv Normal file
View file

@ -0,0 +1,22 @@
"Name","Location","PredefinedDeck","Trophies","ManaRegenMs","ManaRegenMsEnd","ManaRegenMsOvertime","ExpLevel","CanReplay","TID","ExpReward","Seed","FullDeckNotNeeded","ReserveMana","StartingMana","WizardHpMultiplier","StartTaunt","OwnTowerDestroyedTaunt","HighlightTargetsOnManaFull"
"String","String","String","int","int","int","int","int","boolean","String","int","int","boolean","int","int","int","String","String","boolean"
"Npc1","FirstMatch","BasicDeck1",0,120000,120000,120000,1,"true","TID_NPC_1",0,2,"true",0,1,40,,"NPC1_Tower","TRUE"
"Npc2","FirstMatch","BasicDeck2",0,120000,120000,120000,1,"true","TID_NPC_2",0,,"true",1,1,60,"NPC2_Start","NPC2_Tower",
"Npc3","TrainingCamp","BasicDeck3",0,100000,100000,100000,1,"true","TID_NPC_3",0,,"true",2,1,60,"NPC3_Start","NPC3_Tower",
"Npc4","TrainingCamp","BasicDeck4",0,80000,40000,40000,1,"true","TID_NPC_4",0,,"true",2,2,80,"NPC4_Start","NPC4_Tower",
"Npc5","TrainingCamp","BasicDeck5",0,60000,30000,30000,1,"true","TID_NPC_5",0,,"true",3,3,80,"NPC4_Start","NPC4_Tower",
"Npc6","TrainingCamp","BasicDeck6",0,60000,30000,30000,1,"true","TID_NPC_6",0,,"true",4,4,,"NPC4_Start","NPC4_Tower",
"Npc7","TrainingCamp","BasicDeck7",0,50000,25000,25000,1,"true","TID_NPC_7",0,,"true",5,5,,"NPC4_Start","NPC4_Tower",
"Npc8","TrainingCamp","BasicDeck8",50,50000,25000,25000,2,"true","TID_NPC_8",0,,"true",5,5,,"NPC4_Start","NPC4_Tower",
"Npc9","TrainingCamp","BasicDeck9",150,40000,20000,20000,2,"true","TID_NPC_9",0,,"true",5,5,,"NPC4_Start","NPC4_Tower",
"Npc10","TrainingCamp","BasicDeck10",300,30000,15000,15000,2,"true","TID_NPC_10",0,,"true",5,5,,"NPC4_Start","NPC4_Tower",
"Npc11","TrainingCamp","BasicDeck11",450,30000,15000,15000,3,"true","TID_NPC_11",0,,"true",5,,,"NPC4_Start","NPC4_Tower",
"Npc12","TrainingCamp","BasicDeck12",600,30000,15000,15000,3,"true","TID_NPC_12",0,,"true",5,,,"NPC4_Start","NPC4_Tower",
"Npc13","TrainingCamp","BasicDeck13",700,30000,15000,15000,3,"true","TID_NPC_13",0,,"true",5,,,"NPC4_Start","NPC4_Tower",
"Npc14","TrainingCamp","BasicDeck14",800,30000,15000,15000,4,"true","TID_NPC_14",0,,"true",5,,,"NPC4_Start","NPC4_Tower",
"Npc15","TrainingCamp","BasicDeck15",900,30000,15000,15000,4,"true","TID_NPC_15",0,,"true",5,,,"NPC4_Start","NPC4_Tower",
"Npc16","TrainingCamp","BasicDeck16",1000,28000,14000,9000,5,"true","TID_NPC_16",0,,"true",5,,,"NPC16_Start","NPC4_Tower",
"Npc17","TrainingCamp","BasicDeck17",1100,28000,14000,9000,5,"true","TID_NPC_17",0,,"true",5,,,"NPC4_Start","NPC4_Tower",
"Npc18","TrainingCamp","BasicDeck18",1200,28000,14000,9000,6,"true","TID_NPC_18",0,,"true",5,,,"NPC4_Start","NPC4_Tower",
"Npc19","TrainingCamp","BasicDeck19",1300,28000,14000,9000,6,"true","TID_NPC_19",0,,"true",5,,,"NPC4_Start","NPC4_Tower",
"Npc20","TrainingCamp","BasicDeck20",1400,28000,14000,9000,7,"true","TID_NPC_20",0,,"true",5,,,"NPC4_Start","NPC4_Tower",
1 Name Location PredefinedDeck Trophies ManaRegenMs ManaRegenMsEnd ManaRegenMsOvertime ExpLevel CanReplay TID ExpReward Seed FullDeckNotNeeded ReserveMana StartingMana WizardHpMultiplier StartTaunt OwnTowerDestroyedTaunt HighlightTargetsOnManaFull
2 String String String int int int int int boolean String int int boolean int int int String String boolean
3 Npc1 FirstMatch BasicDeck1 0 120000 120000 120000 1 true TID_NPC_1 0 2 true 0 1 40 NPC1_Tower TRUE
4 Npc2 FirstMatch BasicDeck2 0 120000 120000 120000 1 true TID_NPC_2 0 true 1 1 60 NPC2_Start NPC2_Tower
5 Npc3 TrainingCamp BasicDeck3 0 100000 100000 100000 1 true TID_NPC_3 0 true 2 1 60 NPC3_Start NPC3_Tower
6 Npc4 TrainingCamp BasicDeck4 0 80000 40000 40000 1 true TID_NPC_4 0 true 2 2 80 NPC4_Start NPC4_Tower
7 Npc5 TrainingCamp BasicDeck5 0 60000 30000 30000 1 true TID_NPC_5 0 true 3 3 80 NPC4_Start NPC4_Tower
8 Npc6 TrainingCamp BasicDeck6 0 60000 30000 30000 1 true TID_NPC_6 0 true 4 4 NPC4_Start NPC4_Tower
9 Npc7 TrainingCamp BasicDeck7 0 50000 25000 25000 1 true TID_NPC_7 0 true 5 5 NPC4_Start NPC4_Tower
10 Npc8 TrainingCamp BasicDeck8 50 50000 25000 25000 2 true TID_NPC_8 0 true 5 5 NPC4_Start NPC4_Tower
11 Npc9 TrainingCamp BasicDeck9 150 40000 20000 20000 2 true TID_NPC_9 0 true 5 5 NPC4_Start NPC4_Tower
12 Npc10 TrainingCamp BasicDeck10 300 30000 15000 15000 2 true TID_NPC_10 0 true 5 5 NPC4_Start NPC4_Tower
13 Npc11 TrainingCamp BasicDeck11 450 30000 15000 15000 3 true TID_NPC_11 0 true 5 NPC4_Start NPC4_Tower
14 Npc12 TrainingCamp BasicDeck12 600 30000 15000 15000 3 true TID_NPC_12 0 true 5 NPC4_Start NPC4_Tower
15 Npc13 TrainingCamp BasicDeck13 700 30000 15000 15000 3 true TID_NPC_13 0 true 5 NPC4_Start NPC4_Tower
16 Npc14 TrainingCamp BasicDeck14 800 30000 15000 15000 4 true TID_NPC_14 0 true 5 NPC4_Start NPC4_Tower
17 Npc15 TrainingCamp BasicDeck15 900 30000 15000 15000 4 true TID_NPC_15 0 true 5 NPC4_Start NPC4_Tower
18 Npc16 TrainingCamp BasicDeck16 1000 28000 14000 9000 5 true TID_NPC_16 0 true 5 NPC16_Start NPC4_Tower
19 Npc17 TrainingCamp BasicDeck17 1100 28000 14000 9000 5 true TID_NPC_17 0 true 5 NPC4_Start NPC4_Tower
20 Npc18 TrainingCamp BasicDeck18 1200 28000 14000 9000 6 true TID_NPC_18 0 true 5 NPC4_Start NPC4_Tower
21 Npc19 TrainingCamp BasicDeck19 1300 28000 14000 9000 6 true TID_NPC_19 0 true 5 NPC4_Start NPC4_Tower
22 Npc20 TrainingCamp BasicDeck20 1400 28000 14000 9000 7 true TID_NPC_20 0 true 5 NPC4_Start NPC4_Tower

View file

@ -0,0 +1,135 @@
"Name","Spells","SpellLevel","Description"
"String","String","int","String"
"BasicDeck1","Goblins",1,
"BasicDeck2","Goblins",1,
,"Knight",1,
"BasicDeck3","Knight",1,
,"Goblins",1,
,"Skeletons",1,
"BasicDeck4","Knight",1,
,"Goblins",1,
,"Skeletons",1,
,"Archer",1,
"BasicDeck5","Knight",1,
,"Goblins",1,
,"Skeletons",1,
,"Archer",1,
,"Bomber",1,
"BasicDeck6","Knight",1,
,"Goblins",2,
,"Skeletons",1,
,"Archer",2,
,"Bomber",1,
,"Arrows",1,
"BasicDeck7","Knight",1,
,"Goblins",2,
,"Skeletons",1,
,"Archer",2,
,"Bomber",1,
,"Arrows",1,
,"Fireball",1,
,"Giant",1,
"BasicDeck8","Knight",2,
,"Archer",2,
,"Goblins",2,
,"SpearGoblins",2,
,"Giant",1,
,"GoblinHut",1,
,"Fireball",2,
,"BabyDragon",1,
"BasicDeck9","Knight",2,
,"Archer",2,
,"Goblins",2,
,"SpearGoblins",3,
,"Giant",1,
,"GoblinHut",1,
,"Arrows",3,
,"SkeletonArmy",1,
"BasicDeck10","Knight",3,
,"Archer",3,
,"Goblins",2,
,"Skeletons",2,
,"Prince",1,
,"SpearGoblins",3,
,"Arrows",3,
,"Fireball",1,
"BasicDeck11","Valkyrie",1,
,"Archer",3,
,"Witch",1,
,"Skeletons",3,
,"Tombstone",1,
,"GiantSkeleton",1,
,"Knight",3,
,"Fireball",2,
"BasicDeck12","Knight",3,
,"Archer",3,
,"Goblins",3,
,"Skeletons",4,
,"BombTower",2,
,"Minions",2,
,"Tombstone",2,
,"Balloon",1,
"BasicDeck13","Barbarians",3,
,"BarbarianHut",1,
,"SkeletonArmy",2,
,"Skeletons",4,
,"Witch",1,
,"Fireball",2,
,"Cannon",1,
,"Arrows",4,
"BasicDeck14","Musketeer",2,
,"Bomber",4,
,"BarbarianHut",2,
,"Goblins",4,
,"Giant",2,
,"Balloon",2,
,"Archer",4,
,"Fireball",2,
"BasicDeck15","Musketeer",2,
,"Bomber",5,
,"MiniPekka",2,
,"Goblins",4,
,"Prince",1,
,"Balloon",1,
,"Archer",4,
,"Fireball",4,
"BasicDeck16","Knight",5,
,"Archer",5,
,"SkeletonArmy",2,
,"Goblins",5,
,"Fireball",3,
,"Giant",2,
,"Valkyrie",3,
,"MiniPekka",2,
"BasicDeck17","HogRider",3,
,"InfernoTower",2,
,"Cannon",6,
,"Knight",5,
,"SpearGoblins",6,
,"Prince",3,
,"Archer",6,
,"Fireball",3,
"BasicDeck18","Witch",2,
,"Pekka",2,
,"Goblins",6,
,"SpearGoblins",6,
,"Zap",6,
,"Wizard",3,
,"Archer",6,
,"Arrows",6,
"BasicDeck19","Musketeer",4,
,"MinionHorde",6,
,"Rocket",4,
,"Goblins",6,
,"Giant",4,
,"Wizard",3,
,"Archer",7,
,"Arrows",6,
"BasicDeck20","BarbarianHut",4,
,"Tombstone",3,
,"BombTower",4,
,"Goblins",6,
,"Giant",4,
,"SpearGoblins",7,
,"Prince",3,
,"Fireball",4,
1 Name Spells SpellLevel Description
2 String String int String
3 BasicDeck1 Goblins 1
4 BasicDeck2 Goblins 1
5 Knight 1
6 BasicDeck3 Knight 1
7 Goblins 1
8 Skeletons 1
9 BasicDeck4 Knight 1
10 Goblins 1
11 Skeletons 1
12 Archer 1
13 BasicDeck5 Knight 1
14 Goblins 1
15 Skeletons 1
16 Archer 1
17 Bomber 1
18 BasicDeck6 Knight 1
19 Goblins 2
20 Skeletons 1
21 Archer 2
22 Bomber 1
23 Arrows 1
24 BasicDeck7 Knight 1
25 Goblins 2
26 Skeletons 1
27 Archer 2
28 Bomber 1
29 Arrows 1
30 Fireball 1
31 Giant 1
32 BasicDeck8 Knight 2
33 Archer 2
34 Goblins 2
35 SpearGoblins 2
36 Giant 1
37 GoblinHut 1
38 Fireball 2
39 BabyDragon 1
40 BasicDeck9 Knight 2
41 Archer 2
42 Goblins 2
43 SpearGoblins 3
44 Giant 1
45 GoblinHut 1
46 Arrows 3
47 SkeletonArmy 1
48 BasicDeck10 Knight 3
49 Archer 3
50 Goblins 2
51 Skeletons 2
52 Prince 1
53 SpearGoblins 3
54 Arrows 3
55 Fireball 1
56 BasicDeck11 Valkyrie 1
57 Archer 3
58 Witch 1
59 Skeletons 3
60 Tombstone 1
61 GiantSkeleton 1
62 Knight 3
63 Fireball 2
64 BasicDeck12 Knight 3
65 Archer 3
66 Goblins 3
67 Skeletons 4
68 BombTower 2
69 Minions 2
70 Tombstone 2
71 Balloon 1
72 BasicDeck13 Barbarians 3
73 BarbarianHut 1
74 SkeletonArmy 2
75 Skeletons 4
76 Witch 1
77 Fireball 2
78 Cannon 1
79 Arrows 4
80 BasicDeck14 Musketeer 2
81 Bomber 4
82 BarbarianHut 2
83 Goblins 4
84 Giant 2
85 Balloon 2
86 Archer 4
87 Fireball 2
88 BasicDeck15 Musketeer 2
89 Bomber 5
90 MiniPekka 2
91 Goblins 4
92 Prince 1
93 Balloon 1
94 Archer 4
95 Fireball 4
96 BasicDeck16 Knight 5
97 Archer 5
98 SkeletonArmy 2
99 Goblins 5
100 Fireball 3
101 Giant 2
102 Valkyrie 3
103 MiniPekka 2
104 BasicDeck17 HogRider 3
105 InfernoTower 2
106 Cannon 6
107 Knight 5
108 SpearGoblins 6
109 Prince 3
110 Archer 6
111 Fireball 3
112 BasicDeck18 Witch 2
113 Pekka 2
114 Goblins 6
115 SpearGoblins 6
116 Zap 6
117 Wizard 3
118 Archer 6
119 Arrows 6
120 BasicDeck19 Musketeer 4
121 MinionHorde 6
122 Rocket 4
123 Goblins 6
124 Giant 4
125 Wizard 3
126 Archer 7
127 Arrows 6
128 BasicDeck20 BarbarianHut 4
129 Tombstone 3
130 BombTower 4
131 Goblins 6
132 Giant 4
133 SpearGoblins 7
134 Prince 3
135 Fireball 4

View file

@ -0,0 +1,22 @@
"Name","Speed","FileName","ExportName","ShadowExportName","Homing","HitEffect","Damage","ReducedTowerDamage","Pushback","Radius","VisualRandomRadius","AoeToAir","AoeToGround","DamageType","OnlyEnemies","OnlyOwnTroops","MaximumTargets","Gravity","SpawnAreaEffectObject","SpawnCharacterLevelIndex","SpawnCharacterDeployTime","SpawnCharacter","SpawnCharacterCount","TargetBuff","BuffTime","BuffTimeIncreasePerLevel","TrailEffect","ProjectileRadius","ProjectileRange","use360Frames"
"string","int","string","string","string","boolean","string","int","boolean","int","int","int","boolean","boolean","string","boolean","boolean","int","int","string","int","int","string","int","string","int","int","string","int","int","boolean"
"FireballSpell",600,"sc/level.sc","fireball_projectile1","projectile_arrow_shadow",,"Fireball_explosion",325,"TRUE",1800,2500,,"true","true",,"true",,,50,,,,,,,,,"FireballEmitter",,,
"KingProjectile",850,"sc/level.sc","projectile_cannonball_small",,"true","cannon_hit",50,,,,,,,,"true",,,,,,,,,,,,,,,
"ArcherArrow",400,"sc/level.sc","projectile_arrow_basic_enemy","projectile_arrow_shadow","true","ArrowHit",40,,,,,,,,"true",,,60,,,,,,,,,,,,
"PrincessProjectile",400,"sc/level.sc","projectile_arrow_basic_enemy","projectile_arrow_shadow","true","ArrowHit",50,,,,,,,,"true",,,60,,,,,,,,,,,,
"ArrowsSpell",600,"sc/level.sc","projectile_arrow_basic_enemy","projectile_arrow_shadow","true","ArrowHitGround",110,"TRUE",,4000,,"true","true",,"true",,,50,,,,,,,,,,,,
"ArrowsSpellDeco",600,"sc/level.sc","projectile_arrow_basic_enemy","projectile_arrow_shadow","true","ArrowHitGround",,,,,,"true","true",,"true",,,50,,,,,,,,,,,,
"TowerCannonball",1000,"sc/level.sc","projectile_cannonball_large","projectile_arrow_shadow","true","cannon_hit",60,,,,,,,,"true",,,,,,,,,,,,,,,
"MinionSpit",1000,"sc/level.sc","projectile_cannonball_small","projectile_arrow_shadow","true","ArrowHit",40,,,,,,,,"true",,,,,,,,,,,,,,,
"MortarProjectile",300,"sc/level.sc","catapult_projectile1","projectile_arrow_shadow",,"mortar_hit",200,,,1800,,,"true",,"true",,,60,,,,,,,,,,,,
"WitchProjectile",600,"sc/level.sc","Tower_projectile1",,"true","WizardProjectileHit",32,,,1000,,"true","true",,"true",,,,,,,,,,,,,,,
"BombSkeletonProjectile",300,"sc/level.sc","projectile_bomb","projectile_arrow_shadow",,"BombTower_projectile_hit",100,,,1500,,,"true",,"true",,,200,,,,,,,,,"FireArrowProjectileEmitter",,,
"BombTowerProjectile",300,"sc/level.sc","projectile_bomb","projectile_arrow_shadow",,"BombTower_projectile_hit",120,,,1500,,,"true",,"true",,,200,,,,,,,,,"FireArrowProjectileEmitter",,,
"RocketSpell",350,"sc/level.sc","projectile_rocket","projectile_shadow_rocket",,"Rocket_explosion",650,"TRUE",1800,2000,,"true","true",,"true",,,50,,,,,,,,,"Rocket_Emitter",,,"true"
"GoblinBarrelSpell",400,"sc/spell_goblin_barrel.sc","spell_goblin_barrel_projectile","Barrel_shadow",,"goblin_barrel_explosion",,,,1500,,,"true",,"true",,,40,,6,1300,"Goblin",3,,,,,,,
"MusketeerProjectile",1000,"sc/level.sc","projectile_cannonball_small","projectile_arrow_shadow","true","cannon_hit",140,,,,,,,,"true",,,,,,,,,,,,,,,
"BabyDragonProjectile",500,"sc/level.sc","dragon_projectile","projectile_arrow_shadow","true","dragon_hit",100,,,1200,,"true","true",,"true",,,250,,,,,,,,,"Dragon_Emitter",,,
"chr_wizardProjectile",600,"sc/level.sc","fireball_small",,"true","chr_wizard_projectile_hit",140,,,1200,,"true","true",,"true",,,,,,,,,,,,,,,
"xbow_projectile",1400,"sc/level.sc","projectile_arrow_basic","projectile_arrow_shadow","true","ArrowHit",18,,,,,,,,"true",,,,,,,,,,,,,,,
"LighningSpell",500,,,,,"Spell_lightning_effect",600,"TRUE",,,,,,,"true",,,,,,,,,,,,,,,
"SpearGoblinProjectile",350,"sc/level.sc","projectile_spear_360","projectile_arrow_shadow","true","spear_goblin_projectile_hit",24,,,,,,,,"true",,,150,,,,,,,,,,,,"true"
1 Name Speed FileName ExportName ShadowExportName Homing HitEffect Damage ReducedTowerDamage Pushback Radius VisualRandomRadius AoeToAir AoeToGround DamageType OnlyEnemies OnlyOwnTroops MaximumTargets Gravity SpawnAreaEffectObject SpawnCharacterLevelIndex SpawnCharacterDeployTime SpawnCharacter SpawnCharacterCount TargetBuff BuffTime BuffTimeIncreasePerLevel TrailEffect ProjectileRadius ProjectileRange use360Frames
2 string int string string string boolean string int boolean int int int boolean boolean string boolean boolean int int string int int string int string int int string int int boolean
3 FireballSpell 600 sc/level.sc fireball_projectile1 projectile_arrow_shadow Fireball_explosion 325 TRUE 1800 2500 true true true 50 FireballEmitter
4 KingProjectile 850 sc/level.sc projectile_cannonball_small true cannon_hit 50 true
5 ArcherArrow 400 sc/level.sc projectile_arrow_basic_enemy projectile_arrow_shadow true ArrowHit 40 true 60
6 PrincessProjectile 400 sc/level.sc projectile_arrow_basic_enemy projectile_arrow_shadow true ArrowHit 50 true 60
7 ArrowsSpell 600 sc/level.sc projectile_arrow_basic_enemy projectile_arrow_shadow true ArrowHitGround 110 TRUE 4000 true true true 50
8 ArrowsSpellDeco 600 sc/level.sc projectile_arrow_basic_enemy projectile_arrow_shadow true ArrowHitGround true true true 50
9 TowerCannonball 1000 sc/level.sc projectile_cannonball_large projectile_arrow_shadow true cannon_hit 60 true
10 MinionSpit 1000 sc/level.sc projectile_cannonball_small projectile_arrow_shadow true ArrowHit 40 true
11 MortarProjectile 300 sc/level.sc catapult_projectile1 projectile_arrow_shadow mortar_hit 200 1800 true true 60
12 WitchProjectile 600 sc/level.sc Tower_projectile1 true WizardProjectileHit 32 1000 true true true
13 BombSkeletonProjectile 300 sc/level.sc projectile_bomb projectile_arrow_shadow BombTower_projectile_hit 100 1500 true true 200 FireArrowProjectileEmitter
14 BombTowerProjectile 300 sc/level.sc projectile_bomb projectile_arrow_shadow BombTower_projectile_hit 120 1500 true true 200 FireArrowProjectileEmitter
15 RocketSpell 350 sc/level.sc projectile_rocket projectile_shadow_rocket Rocket_explosion 650 TRUE 1800 2000 true true true 50 Rocket_Emitter true
16 GoblinBarrelSpell 400 sc/spell_goblin_barrel.sc spell_goblin_barrel_projectile Barrel_shadow goblin_barrel_explosion 1500 true true 40 6 1300 Goblin 3
17 MusketeerProjectile 1000 sc/level.sc projectile_cannonball_small projectile_arrow_shadow true cannon_hit 140 true
18 BabyDragonProjectile 500 sc/level.sc dragon_projectile projectile_arrow_shadow true dragon_hit 100 1200 true true true 250 Dragon_Emitter
19 chr_wizardProjectile 600 sc/level.sc fireball_small true chr_wizard_projectile_hit 140 1200 true true true
20 xbow_projectile 1400 sc/level.sc projectile_arrow_basic projectile_arrow_shadow true ArrowHit 18 true
21 LighningSpell 500 Spell_lightning_effect 600 TRUE true
22 SpearGoblinProjectile 350 sc/level.sc projectile_spear_360 projectile_arrow_shadow true spear_goblin_projectile_hit 24 true 150 true

View file

@ -0,0 +1,32 @@
"Name","LevelCount","RelativeLevel","DonateCapacity","DonateReward","DonateXP","GoldConversionValue","ChanceWeight","BalanceMultiplier","UpgradeExp","UpgradeMaterialCount","UpgradeCost","TID","IconExportNamePrefix","CardBaseFileName","BigFrameExportName","CardBaseExportName","StackedCardExportName","CardRewardExportName","CastEffect","InfoTitleExportName","CardRarityBGExportName","SortOrder","Red","Green","Blue","AppearEffect","BuySound","LoopEffect","ShowAsQuestionMark","CardTxtBgFrameIdx","CardGlowInstanceName"
"String","int","int","int","int","int","int","int","int","int","int","int","String","String","String","String","String","String","String","String","String","String","int","int","int","int","String","String","String","boolean","int","String"
"Common",12,0,1,5,1,5,194,100,4,2,5,"TID_RARITY_COMMON",,"sc/ui.sc","spell_card_big","spell_card","spell_stack","spell_card_reward","SpellCasting","rarity_common","common_order",1,153,204,255,"openChest_get_common","sound_buy_card_common","openChest_loop_common","FALSE",0,
,,,,,,,,,5,4,20,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,6,10,50,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,10,20,150,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,25,50,400,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,50,100,1000,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,100,200,2000,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,200,400,4000,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,400,800,8000,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,800,2000,20000,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,1600,5000,50000,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,0,100,0,,,,,,,,,,,,,,,,,,,,
"Rare",10,2,10,50,5,50,10,130,6,2,50,"TID_RARITY_RARE",,"sc/ui.sc","spell_card_rare_big","spell_card_rare","spell_stack_rare","spell_card_rare_reward","SpellCasting","rarity_rare","rare_order",2,255,204,102,"openChest_get_rare","sound_buy_card_rare","openChest_loop_rare","FALSE",1,"card_glow_rare"
,,,,,,,,,10,4,150,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,25,10,400,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,50,20,1000,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,100,50,2000,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,200,100,4000,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,400,200,8000,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,800,500,20000,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,1600,1000,50000,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,0,10,0,,,,,,,,,,,,,,,,,,,,
"Epic",8,6,200,50,25,1000,1,180,25,2,400,"TID_RARITY_EPIC",,"sc/ui.sc","spell_card_epic_big","spell_card_epic","spell_stack_epic","spell_card_epic_reward","SpellCasting","rarity_epic","epic_order",3,255,153,255,"openChest_get_epic","sound_buy_card_epic","openChest_loop_epic","TRUE",2,"card_frame_glow_epic"
,,,,,,,,,50,4,1000,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,100,10,2000,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,200,20,4000,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,400,50,8000,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,800,100,20000,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,1600,300,50000,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,0,1,0,,,,,,,,,,,,,,,,,,,,
1 Name LevelCount RelativeLevel DonateCapacity DonateReward DonateXP GoldConversionValue ChanceWeight BalanceMultiplier UpgradeExp UpgradeMaterialCount UpgradeCost TID IconExportNamePrefix CardBaseFileName BigFrameExportName CardBaseExportName StackedCardExportName CardRewardExportName CastEffect InfoTitleExportName CardRarityBGExportName SortOrder Red Green Blue AppearEffect BuySound LoopEffect ShowAsQuestionMark CardTxtBgFrameIdx CardGlowInstanceName
2 String int int int int int int int int int int int String String String String String String String String String String int int int int String String String boolean int String
3 Common 12 0 1 5 1 5 194 100 4 2 5 TID_RARITY_COMMON sc/ui.sc spell_card_big spell_card spell_stack spell_card_reward SpellCasting rarity_common common_order 1 153 204 255 openChest_get_common sound_buy_card_common openChest_loop_common FALSE 0
4 5 4 20
5 6 10 50
6 10 20 150
7 25 50 400
8 50 100 1000
9 100 200 2000
10 200 400 4000
11 400 800 8000
12 800 2000 20000
13 1600 5000 50000
14 0 100 0
15 Rare 10 2 10 50 5 50 10 130 6 2 50 TID_RARITY_RARE sc/ui.sc spell_card_rare_big spell_card_rare spell_stack_rare spell_card_rare_reward SpellCasting rarity_rare rare_order 2 255 204 102 openChest_get_rare sound_buy_card_rare openChest_loop_rare FALSE 1 card_glow_rare
16 10 4 150
17 25 10 400
18 50 20 1000
19 100 50 2000
20 200 100 4000
21 400 200 8000
22 800 500 20000
23 1600 1000 50000
24 0 10 0
25 Epic 8 6 200 50 25 1000 1 180 25 2 400 TID_RARITY_EPIC sc/ui.sc spell_card_epic_big spell_card_epic spell_stack_epic spell_card_epic_reward SpellCasting rarity_epic epic_order 3 255 153 255 openChest_get_epic sound_buy_card_epic openChest_loop_epic TRUE 2 card_frame_glow_epic
26 50 4 1000
27 100 10 2000
28 200 20 4000
29 400 50 8000
30 800 100 20000
31 1600 300 50000
32 0 1 0

View file

@ -0,0 +1,268 @@
Name,TID,DisplayName,IsCountry
String,String,String,boolean
_EU,,Europe,FALSE
_NA,,North America,FALSE
_SA,,South America,FALSE
_AS,,Asia,FALSE
_AU,,Australia,FALSE
_AF,,Africa,FALSE
_INT,TID_REGION_INT,International,FALSE
AF,,Afghanistan,TRUE
AX,,Åland Islands,TRUE
AL,,Albania,TRUE
DZ,,Algeria,TRUE
AS,,American Samoa,TRUE
AD,,Andorra,TRUE
AO,,Angola,TRUE
AI,,Anguilla,TRUE
AQ,,Antarctica,TRUE
AG,,Antigua and Barbuda,TRUE
AR,,Argentina,TRUE
AM,,Armenia,TRUE
AW,,Aruba,TRUE
AC,,Ascension Island,TRUE
AU,,Australia,TRUE
AT,,Austria,TRUE
AZ,,Azerbaijan,TRUE
BS,,Bahamas,TRUE
BH,,Bahrain,TRUE
BD,,Bangladesh,TRUE
BB,,Barbados,TRUE
BY,,Belarus,TRUE
BE,,Belgium,TRUE
BZ,,Belize,TRUE
BJ,,Benin,TRUE
BM,,Bermuda,TRUE
BT,,Bhutan,TRUE
BO,,Bolivia,TRUE
BA,,Bosnia and Herzegovina,TRUE
BW,,Botswana,TRUE
BV,,Bouvet Island,TRUE
BR,,Brazil,TRUE
IO,,British Indian Ocean Territory,TRUE
VG,,British Virgin Islands,TRUE
BN,,Brunei,TRUE
BG,,Bulgaria,TRUE
BF,,Burkina Faso,TRUE
BI,,Burundi,TRUE
KH,,Cambodia,TRUE
CM,,Cameroon,TRUE
CA,,Canada,TRUE
IC,,Canary Islands,TRUE
CV,,Cape Verde,TRUE
BQ,,Caribbean Netherlands,TRUE
KY,,Cayman Islands,TRUE
CF,,Central African Republic,TRUE
EA,,Ceuta and Melilla,TRUE
TD,,Chad,TRUE
CL,,Chile,TRUE
CN,,China,TRUE
CX,,Christmas Island,TRUE
CC,,Cocos (Keeling) Islands,TRUE
CO,,Colombia,TRUE
KM,,Comoros,TRUE
CG,,Congo (DRC),TRUE
CD,,Congo (Republic),TRUE
CK,,Cook Islands,TRUE
CR,,Costa Rica,TRUE
CI,,Côte dIvoire,TRUE
HR,,Croatia,TRUE
CU,,Cuba,TRUE
CW,,Curaçao,TRUE
CY,,Cyprus,TRUE
CZ,,Czech Republic,TRUE
DK,,Denmark,TRUE
DG,,Diego Garcia,TRUE
DJ,,Djibouti,TRUE
DM,,Dominica,TRUE
DO,,Dominican Republic,TRUE
EC,,Ecuador,TRUE
EG,,Egypt,TRUE
SV,,El Salvador,TRUE
GQ,,Equatorial Guinea,TRUE
ER,,Eritrea,TRUE
EE,,Estonia,TRUE
ET,,Ethiopia,TRUE
FK,,Falkland Islands,TRUE
FO,,Faroe Islands,TRUE
FJ,,Fiji,TRUE
FI,,Finland,TRUE
FR,,France,TRUE
GF,,French Guiana,TRUE
PF,,French Polynesia,TRUE
TF,,French Southern Territories,TRUE
GA,,Gabon,TRUE
GM,,Gambia,TRUE
GE,,Georgia,TRUE
DE,,Germany,TRUE
GH,,Ghana,TRUE
GI,,Gibraltar,TRUE
GR,,Greece,TRUE
GL,,Greenland,TRUE
GD,,Grenada,TRUE
GP,,Guadeloupe,TRUE
GU,,Guam,TRUE
GT,,Guatemala,TRUE
GG,,Guernsey,TRUE
GN,,Guinea,TRUE
GW,,Guinea-Bissau,TRUE
GY,,Guyana,TRUE
HT,,Haiti,TRUE
HM,,Heard & McDonald Islands,TRUE
HN,,Honduras,TRUE
HK,,Hong Kong,TRUE
HU,,Hungary,TRUE
IS,,Iceland,TRUE
IN,,India,TRUE
ID,,Indonesia,TRUE
IR,,Iran,TRUE
IQ,,Iraq,TRUE
IE,,Ireland,TRUE
IM,,Isle of Man,TRUE
IL,,Israel,TRUE
IT,,Italy,TRUE
JM,,Jamaica,TRUE
JP,,Japan,TRUE
JE,,Jersey,TRUE
JO,,Jordan,TRUE
KZ,,Kazakhstan,TRUE
KE,,Kenya,TRUE
KI,,Kiribati,TRUE
XK,,Kosovo,TRUE
KW,,Kuwait,TRUE
KG,,Kyrgyzstan,TRUE
LA,,Laos,TRUE
LV,,Latvia,TRUE
LB,,Lebanon,TRUE
LS,,Lesotho,TRUE
LR,,Liberia,TRUE
LY,,Libya,TRUE
LI,,Liechtenstein,TRUE
LT,,Lithuania,TRUE
LU,,Luxembourg,TRUE
MO,,Macau,TRUE
MK,,Macedonia (FYROM),TRUE
MG,,Madagascar,TRUE
MW,,Malawi,TRUE
MY,,Malaysia,TRUE
MV,,Maldives,TRUE
ML,,Mali,TRUE
MT,,Malta,TRUE
MH,,Marshall Islands,TRUE
MQ,,Martinique,TRUE
MR,,Mauritania,TRUE
MU,,Mauritius,TRUE
YT,,Mayotte,TRUE
MX,,Mexico,TRUE
FM,,Micronesia,TRUE
MD,,Moldova,TRUE
MC,,Monaco,TRUE
MN,,Mongolia,TRUE
ME,,Montenegro,TRUE
MS,,Montserrat,TRUE
MA,,Morocco,TRUE
MZ,,Mozambique,TRUE
MM,,Myanmar (Burma),TRUE
NA,,Namibia,TRUE
NR,,Nauru,TRUE
NP,,Nepal,TRUE
NL,,Netherlands,TRUE
NC,,New Caledonia,TRUE
NZ,,New Zealand,TRUE
NI,,Nicaragua,TRUE
NE,,Niger,TRUE
NG,,Nigeria,TRUE
NU,,Niue,TRUE
NF,,Norfolk Island,TRUE
KP,,North Korea,TRUE
MP,,Northern Mariana Islands,TRUE
NO,,Norway,TRUE
OM,,Oman,TRUE
PK,,Pakistan,TRUE
PW,,Palau,TRUE
PS,,Palestine,TRUE
PA,,Panama,TRUE
PG,,Papua New Guinea,TRUE
PY,,Paraguay,TRUE
PE,,Peru,TRUE
PH,,Philippines,TRUE
PN,,Pitcairn Islands,TRUE
PL,,Poland,TRUE
PT,,Portugal,TRUE
PR,,Puerto Rico,TRUE
QA,,Qatar,TRUE
RE,,Réunion,TRUE
RO,,Romania,TRUE
RU,,Russia,TRUE
RW,,Rwanda,TRUE
BL,,Saint Barthélemy,TRUE
SH,,Saint Helena,TRUE
KN,,Saint Kitts and Nevis,TRUE
LC,,Saint Lucia,TRUE
MF,,Saint Martin,TRUE
PM,,Saint Pierre and Miquelon,TRUE
WS,,Samoa,TRUE
SM,,San Marino,TRUE
ST,,São Tomé and Príncipe,TRUE
SA,,Saudi Arabia,TRUE
SN,,Senegal,TRUE
RS,,Serbia,TRUE
SC,,Seychelles,TRUE
SL,,Sierra Leone,TRUE
SG,,Singapore,TRUE
SX,,Sint Maarten,TRUE
SK,,Slovakia,TRUE
SI,,Slovenia,TRUE
SB,,Solomon Islands,TRUE
SO,,Somalia,TRUE
ZA,,South Africa,TRUE
KR,,South Korea,TRUE
SS,,South Sudan,TRUE
ES,,Spain,TRUE
LK,,Sri Lanka,TRUE
VC,,St. Vincent & Grenadines,TRUE
SD,,Sudan,TRUE
SR,,Suriname,TRUE
SJ,,Svalbard and Jan Mayen,TRUE
SZ,,Swaziland,TRUE
SE,,Sweden,TRUE
CH,,Switzerland,TRUE
SY,,Syria,TRUE
TW,,Taiwan,TRUE
TJ,,Tajikistan,TRUE
TZ,,Tanzania,TRUE
TH,,Thailand,TRUE
TL,,Timor-Leste,TRUE
TG,,Togo,TRUE
TK,,Tokelau,TRUE
TO,,Tonga,TRUE
TT,,Trinidad and Tobago,TRUE
TA,,Tristan da Cunha,TRUE
TN,,Tunisia,TRUE
TR,,Turkey,TRUE
TM,,Turkmenistan,TRUE
TC,,Turks and Caicos Islands,TRUE
TV,,Tuvalu,TRUE
UM,,U.S. Outlying Islands,TRUE
VI,,U.S. Virgin Islands,TRUE
UG,,Uganda,TRUE
UA,,Ukraine,TRUE
AE,,United Arab Emirates,TRUE
GB,,United Kingdom,TRUE
US,,United States,TRUE
UY,,Uruguay,TRUE
UZ,,Uzbekistan,TRUE
VU,,Vanuatu,TRUE
VA,,Vatican City,TRUE
VE,,Venezuela,TRUE
VN,,Vietnam,TRUE
WF,,Wallis and Futuna,TRUE
EH,,Western Sahara,TRUE
YE,,Yemen,TRUE
ZM,,Zambia,TRUE
ZW,,Zimbabwe,TRUE
CUSTOM1,TID_REGION_CUSTOM1,,FALSE
CUSTOM2,TID_REGION_CUSTOM2,,FALSE
CUSTOM3,TID_REGION_CUSTOM3,,FALSE
CUSTOM4,TID_REGION_CUSTOM4,,FALSE
CUSTOM5,TID_REGION_CUSTOM5,,FALSE
1 Name TID DisplayName IsCountry
2 String String String boolean
3 _EU Europe FALSE
4 _NA North America FALSE
5 _SA South America FALSE
6 _AS Asia FALSE
7 _AU Australia FALSE
8 _AF Africa FALSE
9 _INT TID_REGION_INT International FALSE
10 AF Afghanistan TRUE
11 AX Åland Islands TRUE
12 AL Albania TRUE
13 DZ Algeria TRUE
14 AS American Samoa TRUE
15 AD Andorra TRUE
16 AO Angola TRUE
17 AI Anguilla TRUE
18 AQ Antarctica TRUE
19 AG Antigua and Barbuda TRUE
20 AR Argentina TRUE
21 AM Armenia TRUE
22 AW Aruba TRUE
23 AC Ascension Island TRUE
24 AU Australia TRUE
25 AT Austria TRUE
26 AZ Azerbaijan TRUE
27 BS Bahamas TRUE
28 BH Bahrain TRUE
29 BD Bangladesh TRUE
30 BB Barbados TRUE
31 BY Belarus TRUE
32 BE Belgium TRUE
33 BZ Belize TRUE
34 BJ Benin TRUE
35 BM Bermuda TRUE
36 BT Bhutan TRUE
37 BO Bolivia TRUE
38 BA Bosnia and Herzegovina TRUE
39 BW Botswana TRUE
40 BV Bouvet Island TRUE
41 BR Brazil TRUE
42 IO British Indian Ocean Territory TRUE
43 VG British Virgin Islands TRUE
44 BN Brunei TRUE
45 BG Bulgaria TRUE
46 BF Burkina Faso TRUE
47 BI Burundi TRUE
48 KH Cambodia TRUE
49 CM Cameroon TRUE
50 CA Canada TRUE
51 IC Canary Islands TRUE
52 CV Cape Verde TRUE
53 BQ Caribbean Netherlands TRUE
54 KY Cayman Islands TRUE
55 CF Central African Republic TRUE
56 EA Ceuta and Melilla TRUE
57 TD Chad TRUE
58 CL Chile TRUE
59 CN China TRUE
60 CX Christmas Island TRUE
61 CC Cocos (Keeling) Islands TRUE
62 CO Colombia TRUE
63 KM Comoros TRUE
64 CG Congo (DRC) TRUE
65 CD Congo (Republic) TRUE
66 CK Cook Islands TRUE
67 CR Costa Rica TRUE
68 CI Côte d’Ivoire TRUE
69 HR Croatia TRUE
70 CU Cuba TRUE
71 CW Curaçao TRUE
72 CY Cyprus TRUE
73 CZ Czech Republic TRUE
74 DK Denmark TRUE
75 DG Diego Garcia TRUE
76 DJ Djibouti TRUE
77 DM Dominica TRUE
78 DO Dominican Republic TRUE
79 EC Ecuador TRUE
80 EG Egypt TRUE
81 SV El Salvador TRUE
82 GQ Equatorial Guinea TRUE
83 ER Eritrea TRUE
84 EE Estonia TRUE
85 ET Ethiopia TRUE
86 FK Falkland Islands TRUE
87 FO Faroe Islands TRUE
88 FJ Fiji TRUE
89 FI Finland TRUE
90 FR France TRUE
91 GF French Guiana TRUE
92 PF French Polynesia TRUE
93 TF French Southern Territories TRUE
94 GA Gabon TRUE
95 GM Gambia TRUE
96 GE Georgia TRUE
97 DE Germany TRUE
98 GH Ghana TRUE
99 GI Gibraltar TRUE
100 GR Greece TRUE
101 GL Greenland TRUE
102 GD Grenada TRUE
103 GP Guadeloupe TRUE
104 GU Guam TRUE
105 GT Guatemala TRUE
106 GG Guernsey TRUE
107 GN Guinea TRUE
108 GW Guinea-Bissau TRUE
109 GY Guyana TRUE
110 HT Haiti TRUE
111 HM Heard & McDonald Islands TRUE
112 HN Honduras TRUE
113 HK Hong Kong TRUE
114 HU Hungary TRUE
115 IS Iceland TRUE
116 IN India TRUE
117 ID Indonesia TRUE
118 IR Iran TRUE
119 IQ Iraq TRUE
120 IE Ireland TRUE
121 IM Isle of Man TRUE
122 IL Israel TRUE
123 IT Italy TRUE
124 JM Jamaica TRUE
125 JP Japan TRUE
126 JE Jersey TRUE
127 JO Jordan TRUE
128 KZ Kazakhstan TRUE
129 KE Kenya TRUE
130 KI Kiribati TRUE
131 XK Kosovo TRUE
132 KW Kuwait TRUE
133 KG Kyrgyzstan TRUE
134 LA Laos TRUE
135 LV Latvia TRUE
136 LB Lebanon TRUE
137 LS Lesotho TRUE
138 LR Liberia TRUE
139 LY Libya TRUE
140 LI Liechtenstein TRUE
141 LT Lithuania TRUE
142 LU Luxembourg TRUE
143 MO Macau TRUE
144 MK Macedonia (FYROM) TRUE
145 MG Madagascar TRUE
146 MW Malawi TRUE
147 MY Malaysia TRUE
148 MV Maldives TRUE
149 ML Mali TRUE
150 MT Malta TRUE
151 MH Marshall Islands TRUE
152 MQ Martinique TRUE
153 MR Mauritania TRUE
154 MU Mauritius TRUE
155 YT Mayotte TRUE
156 MX Mexico TRUE
157 FM Micronesia TRUE
158 MD Moldova TRUE
159 MC Monaco TRUE
160 MN Mongolia TRUE
161 ME Montenegro TRUE
162 MS Montserrat TRUE
163 MA Morocco TRUE
164 MZ Mozambique TRUE
165 MM Myanmar (Burma) TRUE
166 NA Namibia TRUE
167 NR Nauru TRUE
168 NP Nepal TRUE
169 NL Netherlands TRUE
170 NC New Caledonia TRUE
171 NZ New Zealand TRUE
172 NI Nicaragua TRUE
173 NE Niger TRUE
174 NG Nigeria TRUE
175 NU Niue TRUE
176 NF Norfolk Island TRUE
177 KP North Korea TRUE
178 MP Northern Mariana Islands TRUE
179 NO Norway TRUE
180 OM Oman TRUE
181 PK Pakistan TRUE
182 PW Palau TRUE
183 PS Palestine TRUE
184 PA Panama TRUE
185 PG Papua New Guinea TRUE
186 PY Paraguay TRUE
187 PE Peru TRUE
188 PH Philippines TRUE
189 PN Pitcairn Islands TRUE
190 PL Poland TRUE
191 PT Portugal TRUE
192 PR Puerto Rico TRUE
193 QA Qatar TRUE
194 RE Réunion TRUE
195 RO Romania TRUE
196 RU Russia TRUE
197 RW Rwanda TRUE
198 BL Saint Barthélemy TRUE
199 SH Saint Helena TRUE
200 KN Saint Kitts and Nevis TRUE
201 LC Saint Lucia TRUE
202 MF Saint Martin TRUE
203 PM Saint Pierre and Miquelon TRUE
204 WS Samoa TRUE
205 SM San Marino TRUE
206 ST São Tomé and Príncipe TRUE
207 SA Saudi Arabia TRUE
208 SN Senegal TRUE
209 RS Serbia TRUE
210 SC Seychelles TRUE
211 SL Sierra Leone TRUE
212 SG Singapore TRUE
213 SX Sint Maarten TRUE
214 SK Slovakia TRUE
215 SI Slovenia TRUE
216 SB Solomon Islands TRUE
217 SO Somalia TRUE
218 ZA South Africa TRUE
219 KR South Korea TRUE
220 SS South Sudan TRUE
221 ES Spain TRUE
222 LK Sri Lanka TRUE
223 VC St. Vincent & Grenadines TRUE
224 SD Sudan TRUE
225 SR Suriname TRUE
226 SJ Svalbard and Jan Mayen TRUE
227 SZ Swaziland TRUE
228 SE Sweden TRUE
229 CH Switzerland TRUE
230 SY Syria TRUE
231 TW Taiwan TRUE
232 TJ Tajikistan TRUE
233 TZ Tanzania TRUE
234 TH Thailand TRUE
235 TL Timor-Leste TRUE
236 TG Togo TRUE
237 TK Tokelau TRUE
238 TO Tonga TRUE
239 TT Trinidad and Tobago TRUE
240 TA Tristan da Cunha TRUE
241 TN Tunisia TRUE
242 TR Turkey TRUE
243 TM Turkmenistan TRUE
244 TC Turks and Caicos Islands TRUE
245 TV Tuvalu TRUE
246 UM U.S. Outlying Islands TRUE
247 VI U.S. Virgin Islands TRUE
248 UG Uganda TRUE
249 UA Ukraine TRUE
250 AE United Arab Emirates TRUE
251 GB United Kingdom TRUE
252 US United States TRUE
253 UY Uruguay TRUE
254 UZ Uzbekistan TRUE
255 VU Vanuatu TRUE
256 VA Vatican City TRUE
257 VE Venezuela TRUE
258 VN Vietnam TRUE
259 WF Wallis and Futuna TRUE
260 EH Western Sahara TRUE
261 YE Yemen TRUE
262 ZM Zambia TRUE
263 ZW Zimbabwe TRUE
264 CUSTOM1 TID_REGION_CUSTOM1 FALSE
265 CUSTOM2 TID_REGION_CUSTOM2 FALSE
266 CUSTOM3 TID_REGION_CUSTOM3 FALSE
267 CUSTOM4 TID_REGION_CUSTOM4 FALSE
268 CUSTOM5 TID_REGION_CUSTOM5 FALSE

View file

@ -0,0 +1,5 @@
"Name","TID","Resource","Amount","IconFile"
"String","String","String","int","string"
"Gold1","TID_RESOURCE_PACK_GOLD_SMALL","Gold",1000,"shop_gold01"
"Gold2","TID_RESOURCE_PACK_GOLD_MEDIUM","Gold",10000,"shop_gold02"
"Gold3","TID_RESOURCE_PACK_GOLD_BIG","Gold",100000,"shop_gold03"
1 Name TID Resource Amount IconFile
2 String String String int string
3 Gold1 TID_RESOURCE_PACK_GOLD_SMALL Gold 1000 shop_gold01
4 Gold2 TID_RESOURCE_PACK_GOLD_MEDIUM Gold 10000 shop_gold02
5 Gold3 TID_RESOURCE_PACK_GOLD_BIG Gold 100000 shop_gold03

View file

@ -0,0 +1,13 @@
"Name","TID","IconSWF","CollectEffect","IconExportName","PremiumCurrency","CapFullTID","TextRed","TextGreen","TextBlue","Cap","IconFile","ShopIcon"
"String","String","String","String","String","Boolean","String","int","int","int","int","string","string"
"Diamonds","TID_DIAMONDS","sc/ui.sc",,"icon_gems","TRUE",,,255,92,,"gems","icon_gems"
"Gold","TID_GOLD","sc/ui.sc","Collect Gold","icon_gold",,"TID_GOLD_CAP_FULL",192,,192,500000,"gold","icon_gold"
"ChestOrderIndex",,,,,,,,,,,,
"ChestCount",,,,,,,,,,,,
"StarCount",,,,,,,,,,,,
"FreeGold","TID_GOLD","sc/ui.sc","Collect Gold","icon_gold",,,192,,192,500000,"gold","icon_gold"
"MaxScore",,,,,,,,,,,,
"ThreeCrownWins",,,,,,,,,,,,
"CardCount",,,,,,,,,,,,
"FavouriteSpell",,,,,,,,,,,,
"DonationsTotal",,,,,,,,,,,,
1 Name TID IconSWF CollectEffect IconExportName PremiumCurrency CapFullTID TextRed TextGreen TextBlue Cap IconFile ShopIcon
2 String String String String String Boolean String int int int int string string
3 Diamonds TID_DIAMONDS sc/ui.sc icon_gems TRUE 255 92 gems icon_gems
4 Gold TID_GOLD sc/ui.sc Collect Gold icon_gold TID_GOLD_CAP_FULL 192 192 500000 gold icon_gold
5 ChestOrderIndex
6 ChestCount
7 StarCount
8 FreeGold TID_GOLD sc/ui.sc Collect Gold icon_gold 192 192 500000 gold icon_gold
9 MaxScore
10 ThreeCrownWins
11 CardCount
12 FavouriteSpell
13 DonationsTotal

View file

@ -0,0 +1,5 @@
"Name","FileName","ExportName","FirstWait","Characters","Wait","DontLoop"
"string","string","string","int","String","int","boolean"
"SpawnPoint",,,1,"Barbarian",1300,
,,,,"Barbarian",1300,
,,,,"Barbarian",7300,
1 Name FileName ExportName FirstWait Characters Wait DontLoop
2 string string string int String int boolean
3 SpawnPoint 1 Barbarian 1300
4 Barbarian 1300
5 Barbarian 7300

View file

@ -0,0 +1,2 @@
"Name","Spells"
"String","String"
1 Name Spells
2 String String

View file

@ -0,0 +1,12 @@
"Name","IconFile","UnlockArena","Rarity","ManaCost","NotInUse","Mirror","SummonCharacter","SummonNumber","Radius","RadiusRangeIncrease","Projectile","InstantDamage","DamagePerSecond","DurationSeconds","InstantHeal","HealPerSecond","Effect","DamageType","Pushback","MultipleProjectiles","CustomFirstProjectile","BuffTime","BuffTimeIncreasePerLevel","BuffNumber","BuffType","BuffOnDamage","OnlyOwnTroops","OnlyEnemies","CastSound","AreaEffectObject","TID","TID_INFO","TID_FLAVOR"
"string","string","string","string","int","boolean","boolean","string","int","int","int","string","int","int","int","int","int","string","string","int","int","string","int","int","int","string","string","boolean","boolean","string","string","string","string","string"
"Cannon","chaos_cannon","Arena3","Common",6,,,"Cannon",,,,,,,,,,,,,,,,,,,,,,"SpellCasting",,"TID_SPELL_CANNON","TID_SPELL_INFO_CANNON",
"GoblinHut","fire_furnace","Arena1","Rare",5,,,"GoblinHut",,,,,,,,,,,,,,,,,,,,,,"SpellCasting",,"TID_SPELL_GOBLIN_HUT","TID_SPELL_INFO_GOBLIN_HUT",
"Mortar","building_mortar","Arena6","Common",6,,,"Mortar",,,,,,,,,,,,,,,,,,,,,,"SpellCasting",,"TID_SPELL_MORTAR","TID_SPELL_INFO_MORTAR",
"InfernoTower","building_inferno","Arena4","Rare",6,,,"InfernoTower",,,,,,,,,,,,,,,,,,,,,,"SpellCasting",,"TID_SPELL_INFERNO","TID_SPELL_INFO_INFERNO",
"BombTower","bomb_tower","Arena2","Rare",6,,,"BombTower",,,,,,,,,,,,,,,,,,,,,,"SpellCasting",,"TID_SPELL_BOMB_TOWER","TID_SPELL_INFO_BOMB_TOWER",
"BarbarianHut","barbarian_hut","Arena3","Rare",6,,,"BarbarianHut",,,,,,,,,,,,,,,,,,,,,,"SpellCasting",,"TID_SPELL_BARBARIAN_HUT","TID_SPELL_INFO_BARBARIAN_HUT",
"Tesla","building_tesla","Arena4","Common",4,,,"Tesla",,,,,,,,,,,,,,,,,,,,,,"SpellCasting",,"TID_SPELL_TESLA","TID_SPELL_INFO_TESLA",
"Elixir Collector","building_elixir_collector","Arena6","Rare",5,,,"ElixirCollector",,,,,,,,,,,,,,,,,,,,,,"SpellCasting",,"TID_SPELL_ELIXIR_COLLECTOR","TID_SPELL_INFO_ELIXIR_COLLECTOR",
"Xbow","building_xbow","Arena3","Epic",6,,,"Xbow",,,,,,,,,,,,,,,,,,,,,,"SpellCasting",,"TID_SPELL_XBOW","TID_SPELL_INFO_XBOW",
"Tombstone","tombstone","Arena2","Rare",3,,,"Tombstone",,,,,,,,,,,,,,,,,,,,,,"SpellCasting",,"TID_SPELL_TOMBSTONE","TID_SPELL_INFO_TOMBSTONE",
1 Name IconFile UnlockArena Rarity ManaCost NotInUse Mirror SummonCharacter SummonNumber Radius RadiusRangeIncrease Projectile InstantDamage DamagePerSecond DurationSeconds InstantHeal HealPerSecond Effect DamageType Pushback MultipleProjectiles CustomFirstProjectile BuffTime BuffTimeIncreasePerLevel BuffNumber BuffType BuffOnDamage OnlyOwnTroops OnlyEnemies CastSound AreaEffectObject TID TID_INFO TID_FLAVOR
2 string string string string int boolean boolean string int int int string int int int int int string string int int string int int int string string boolean boolean string string string string string
3 Cannon chaos_cannon Arena3 Common 6 Cannon SpellCasting TID_SPELL_CANNON TID_SPELL_INFO_CANNON
4 GoblinHut fire_furnace Arena1 Rare 5 GoblinHut SpellCasting TID_SPELL_GOBLIN_HUT TID_SPELL_INFO_GOBLIN_HUT
5 Mortar building_mortar Arena6 Common 6 Mortar SpellCasting TID_SPELL_MORTAR TID_SPELL_INFO_MORTAR
6 InfernoTower building_inferno Arena4 Rare 6 InfernoTower SpellCasting TID_SPELL_INFERNO TID_SPELL_INFO_INFERNO
7 BombTower bomb_tower Arena2 Rare 6 BombTower SpellCasting TID_SPELL_BOMB_TOWER TID_SPELL_INFO_BOMB_TOWER
8 BarbarianHut barbarian_hut Arena3 Rare 6 BarbarianHut SpellCasting TID_SPELL_BARBARIAN_HUT TID_SPELL_INFO_BARBARIAN_HUT
9 Tesla building_tesla Arena4 Common 4 Tesla SpellCasting TID_SPELL_TESLA TID_SPELL_INFO_TESLA
10 Elixir Collector building_elixir_collector Arena6 Rare 5 ElixirCollector SpellCasting TID_SPELL_ELIXIR_COLLECTOR TID_SPELL_INFO_ELIXIR_COLLECTOR
11 Xbow building_xbow Arena3 Epic 6 Xbow SpellCasting TID_SPELL_XBOW TID_SPELL_INFO_XBOW
12 Tombstone tombstone Arena2 Rare 3 Tombstone SpellCasting TID_SPELL_TOMBSTONE TID_SPELL_INFO_TOMBSTONE

View file

@ -0,0 +1,25 @@
"Name","IconFile","UnlockArena","Rarity","ManaCost","NotInUse","Mirror","SummonCharacter","SummonNumber","Radius","RadiusRangeIncrease","Projectile","InstantDamage","DamagePerSecond","DurationSeconds","InstantHeal","HealPerSecond","Effect","DamageType","Pushback","MultipleProjectiles","CustomFirstProjectile","BuffTime","BuffTimeIncreasePerLevel","BuffNumber","BuffType","BuffOnDamage","OnlyOwnTroops","OnlyEnemies","CastSound","AreaEffectObject","TID","TID_INFO","TID_FLAVOR"
"string","string","string","string","int","boolean","boolean","string","int","int","int","string","int","int","int","int","int","string","string","int","int","string","int","int","int","string","string","boolean","boolean","string","string","string","string","string"
"Knight","knight","TrainingCamp","Common",3,,,"Knight",,,,,,,,,,"CharacterDeploy",,,,,,,,,,,,,,"TID_SPELL_KNIGHT","TID_SPELL_INFO_KNIGHT",
"Archer","archers","TrainingCamp","Common",3,,,"Archer",2,,,,,,,,,"CharacterDeploy",,,,,,,,,,,,,,"TID_SPELL_ARCHERS","TID_SPELL_INFO_ARCHERS",
"Goblins","goblins","Arena1","Common",2,,,"Goblin",3,,,,,,,,,"CharacterDeploy",,,,,,,,,,,,,,"TID_SPELL_GOBLINS","TID_SPELL_INFO_GOBLINS",
"Giant","giant","TrainingCamp","Rare",5,,,"Giant",,,,,,,,,,"CharacterDeploy",,,,,,,,,,"true",,,,"TID_SPELL_GIANT","TID_SPELL_INFO_GIANT",
"Pekka","pekka","Arena4","Epic",8,,,"Pekka",,,,,,,,,,"CharacterDeploy",,,,,,,,,,"true",,,,"TID_SPELL_PEKKA","TID_SPELL_INFO_PEKKA",
"Minions","minion","Arena2","Common",3,,,"Minion",3,,,,,,,,,"CharacterDeploy",,,,,,,,,,,,,,"TID_SPELL_MINIONS","TID_SPELL_INFO_MINIONS",
"Balloon","chr_balloon","Arena2","Epic",4,,,"Balloon",,,,,,,,,,"CharacterDeploy",,,,,,,,,,,,,,"TID_SPELL_BALLOON","TID_SPELL_INFO_BALLOON",
"Witch","chr_witch","TrainingCamp","Epic",5,,,"Witch",,,,,,,,,,"CharacterDeploy",,,,,,,,,,"true",,,,"TID_SPELL_WITCH","TID_SPELL_INFO_WITCH",
"Barbarians","barbarians","Arena3","Common",5,,,"Barbarian",4,,,,,,,,,"CharacterDeploy",,,,,,,,,,,,,,"TID_SPELL_BARBARIANS","TID_SPELL_INFO_BARBARIANS",
"Golem","chr_golem","Arena6","Epic",8,,,"Golem",,,,,,,,,,"CharacterDeploy",,,,,,,,,,"true",,,,"TID_SPELL_GOLEM","TID_SPELL_INFO_GOLEM",
"Skeletons","skeletons","Arena2","Common",1,,,"Skeleton",4,,,,,,,,,"CharacterDeploy",,,,,,,,,,,,,,"TID_SPELL_SKELETONS","TID_SPELL_INFO_SKELETONS",
"Valkyrie","valkyrie","Arena1","Rare",4,,,"Valkyrie",,,,,,,,,,"CharacterDeploy",,,,,,,,,,,,,,"TID_SPELL_VALKYRIE","TID_SPELL_INFO_VALKYRIE",
"SkeletonArmy","skeleton_horde","TrainingCamp","Epic",4,,,"Skeleton",20,,,,,,,,,"CharacterDeploy",,,,,,,,,,,,,,"TID_SPELL_SKELETON_HORDE","TID_SPELL_INFO_SKELETON_HORDE",
"Bomber","bomber","TrainingCamp","Common",3,,,"Bomber",,,,,,,,,,"CharacterDeploy",,,,,,,,,,,,,,"TID_SPELL_BOMBER","TID_SPELL_INFO_BOMBER",
"Musketeer","musketeer","TrainingCamp","Rare",5,,,"Musketeer",,,,,,,,,,"CharacterDeploy",,,,,,,,,,,,,,"TID_SPELL_MUSKETEER","TID_SPELL_INFO_MUSKETEER",
"BabyDragon","baby_dragon","TrainingCamp","Epic",4,,,"BabyDragon",,,,,,,,,,"CharacterDeploy",,,,,,,,,,,,,,"TID_SPELL_BABY_DRAGON","TID_SPELL_INFO_BABY_DRAGON",
"MiniPekka","mini_pekka","TrainingCamp","Epic",4,,,"MiniPekka",,,,,,,,,,"CharacterDeploy",,,,,,,,,,"true",,,,"TID_SPELL_MINIPEKKA","TID_SPELL_INFO_MINIPEKKA",
"Wizard","wizard","Arena5","Rare",5,,,"Wizard",,,,,,,,,,"CharacterDeploy",,,,,,,,,,,,,,"TID_SPELL_WIZARD","TID_SPELL_INFO_WIZARD",
"Prince","prince","TrainingCamp","Rare",5,,,"Prince",,,,,,,,,,"CharacterDeploy",,,,,,,,,,,,,,"TID_SPELL_PRINCE","TID_SPELL_INFO_PRINCE",
"SpearGoblins","goblin_archer","Arena1","Common",2,,,"SpearGoblin",3,,,,,,,,,"CharacterDeploy",,,,,,,,,,,,,,"TID_SPELL_SPEAR_GOBLINS","TID_SPELL_INFO_SPEAR_GOBLINS",
"GiantSkeleton","giant_skeleton","Arena2","Epic",7,,,"GiantSkeleton",1,,,,,,,,,"CharacterDeploy",,,,,,,,,,,,,,"TID_SPELL_GIANT_SKELETON","TID_SPELL_INFO_GIANT_SKELETON",
"HogRider","hog_rider","Arena4","Rare",4,,,"HogRider",1,,,,,,,,,"CharacterDeploy",,,,,,,,,,,,,,"TID_SPELL_HOG_RIDER","TID_SPELL_INFO_HOG_RIDER",
"MinionHorde","minion_horde","Arena4","Common",5,,,"Minion",6,,,,,,,,,"CharacterDeploy",,,,,,,,,,,,,,"TID_SPELL_MINION_HORDE","TID_SPELL_INFO_MINION_HORDE",
1 Name IconFile UnlockArena Rarity ManaCost NotInUse Mirror SummonCharacter SummonNumber Radius RadiusRangeIncrease Projectile InstantDamage DamagePerSecond DurationSeconds InstantHeal HealPerSecond Effect DamageType Pushback MultipleProjectiles CustomFirstProjectile BuffTime BuffTimeIncreasePerLevel BuffNumber BuffType BuffOnDamage OnlyOwnTroops OnlyEnemies CastSound AreaEffectObject TID TID_INFO TID_FLAVOR
2 string string string string int boolean boolean string int int int string int int int int int string string int int string int int int string string boolean boolean string string string string string
3 Knight knight TrainingCamp Common 3 Knight CharacterDeploy TID_SPELL_KNIGHT TID_SPELL_INFO_KNIGHT
4 Archer archers TrainingCamp Common 3 Archer 2 CharacterDeploy TID_SPELL_ARCHERS TID_SPELL_INFO_ARCHERS
5 Goblins goblins Arena1 Common 2 Goblin 3 CharacterDeploy TID_SPELL_GOBLINS TID_SPELL_INFO_GOBLINS
6 Giant giant TrainingCamp Rare 5 Giant CharacterDeploy true TID_SPELL_GIANT TID_SPELL_INFO_GIANT
7 Pekka pekka Arena4 Epic 8 Pekka CharacterDeploy true TID_SPELL_PEKKA TID_SPELL_INFO_PEKKA
8 Minions minion Arena2 Common 3 Minion 3 CharacterDeploy TID_SPELL_MINIONS TID_SPELL_INFO_MINIONS
9 Balloon chr_balloon Arena2 Epic 4 Balloon CharacterDeploy TID_SPELL_BALLOON TID_SPELL_INFO_BALLOON
10 Witch chr_witch TrainingCamp Epic 5 Witch CharacterDeploy true TID_SPELL_WITCH TID_SPELL_INFO_WITCH
11 Barbarians barbarians Arena3 Common 5 Barbarian 4 CharacterDeploy TID_SPELL_BARBARIANS TID_SPELL_INFO_BARBARIANS
12 Golem chr_golem Arena6 Epic 8 Golem CharacterDeploy true TID_SPELL_GOLEM TID_SPELL_INFO_GOLEM
13 Skeletons skeletons Arena2 Common 1 Skeleton 4 CharacterDeploy TID_SPELL_SKELETONS TID_SPELL_INFO_SKELETONS
14 Valkyrie valkyrie Arena1 Rare 4 Valkyrie CharacterDeploy TID_SPELL_VALKYRIE TID_SPELL_INFO_VALKYRIE
15 SkeletonArmy skeleton_horde TrainingCamp Epic 4 Skeleton 20 CharacterDeploy TID_SPELL_SKELETON_HORDE TID_SPELL_INFO_SKELETON_HORDE
16 Bomber bomber TrainingCamp Common 3 Bomber CharacterDeploy TID_SPELL_BOMBER TID_SPELL_INFO_BOMBER
17 Musketeer musketeer TrainingCamp Rare 5 Musketeer CharacterDeploy TID_SPELL_MUSKETEER TID_SPELL_INFO_MUSKETEER
18 BabyDragon baby_dragon TrainingCamp Epic 4 BabyDragon CharacterDeploy TID_SPELL_BABY_DRAGON TID_SPELL_INFO_BABY_DRAGON
19 MiniPekka mini_pekka TrainingCamp Epic 4 MiniPekka CharacterDeploy true TID_SPELL_MINIPEKKA TID_SPELL_INFO_MINIPEKKA
20 Wizard wizard Arena5 Rare 5 Wizard CharacterDeploy TID_SPELL_WIZARD TID_SPELL_INFO_WIZARD
21 Prince prince TrainingCamp Rare 5 Prince CharacterDeploy TID_SPELL_PRINCE TID_SPELL_INFO_PRINCE
22 SpearGoblins goblin_archer Arena1 Common 2 SpearGoblin 3 CharacterDeploy TID_SPELL_SPEAR_GOBLINS TID_SPELL_INFO_SPEAR_GOBLINS
23 GiantSkeleton giant_skeleton Arena2 Epic 7 GiantSkeleton 1 CharacterDeploy TID_SPELL_GIANT_SKELETON TID_SPELL_INFO_GIANT_SKELETON
24 HogRider hog_rider Arena4 Rare 4 HogRider 1 CharacterDeploy TID_SPELL_HOG_RIDER TID_SPELL_INFO_HOG_RIDER
25 MinionHorde minion_horde Arena4 Common 5 Minion 6 CharacterDeploy TID_SPELL_MINION_HORDE TID_SPELL_INFO_MINION_HORDE

View file

@ -0,0 +1,11 @@
"Name","IconFile","UnlockArena","Rarity","ManaCost","NotInUse","Mirror","SummonCharacter","SummonNumber","Radius","RadiusRangeIncrease","Projectile","InstantDamage","DamagePerSecond","DurationSeconds","InstantHeal","HealPerSecond","Effect","DamageType","Pushback","MultipleProjectiles","CustomFirstProjectile","BuffTime","BuffTimeIncreasePerLevel","BuffNumber","BuffType","BuffOnDamage","OnlyOwnTroops","OnlyEnemies","CastSound","AreaEffectObject","TID","TID_INFO","TID_FLAVOR"
"string","string","string","string","int","boolean","boolean","string","int","int","int","string","int","int","int","int","int","string","string","int","int","string","int","int","int","string","string","boolean","boolean","string","string","string","string","string"
"Fireball","fire_fireball","TrainingCamp","Rare",4,,,,,,,"FireballSpell",,,,,,,,,,,,,,,,,"true","Fire ball",,"TID_SPELL_FIREBALL","TID_SPELL_INFO_FIREBALL",
"Arrows","order_volley","TrainingCamp","Common",3,,,,,4000,,"ArrowsSpellDeco",,,,,,"Cast_RainOfArrows",,,15,"ArrowsSpell",,,,,,,"true","SpellCasting",,"TID_SPELL_ARROWS","TID_SPELL_INFO_ARROWS",
"Rage","rage","Arena3","Epic",3,,,,,,,,,,,,,,,,,,,,,,,"true",,"SpellCasting","Rage","TID_SPELL_RAGE","TID_SPELL_INFO_RAGE",
"Rocket","rocket","Arena3","Rare",6,,,,,,,"RocketSpell",,,,,,,,,,,,,,,,,"true","sound_rocket_spawn",,"TID_SPELL_ROCKET","TID_SPELL_INFO_ROCKET",
"GoblinBarrel","goblin_barrel","Arena1","Epic",4,,,,,,,"GoblinBarrelSpell",,,,,,"goblin_barrel_spawn",,,,,,,,,,,"true","sound_goblin_barrel_spawn",,"TID_SPELL_GOBLIN_BARREL","TID_SPELL_INFO_GOBLIN_BARREL",
"Freeze","freeze","Arena4","Epic",4,,,,,,,,,,,,,"Spell_freeze_cast",,,,,,,,,,,"true","SpellCasting","Freeze","TID_SPELL_FREEZE","TID_SPELL_INFO_FREEZE",
"Mirror","mirror","Arena5","Epic",1,,"true",,,,,,,,,,,,,,,,,,,,,,,"SpellCasting",,"TID_SPELL_MIRROR","TID_SPELL_INFO_MIRROR",
"Lightning","lightning","Arena1","Epic",6,,,,,3000,,,,,,,,,,,,,,,,,,,"true","SpellCasting","Lightning","TID_SPELL_LIGHTNING","TID_SPELL_INFO_LIGHTNING",
"Zap","zap","Arena5","Common",2,,,,,2500,,,,,,,,,,,,,,,,,,,"true","SpellCasting","Zap","TID_SPELL_ZAP","TID_SPELL_INFO_ZAP",
1 Name IconFile UnlockArena Rarity ManaCost NotInUse Mirror SummonCharacter SummonNumber Radius RadiusRangeIncrease Projectile InstantDamage DamagePerSecond DurationSeconds InstantHeal HealPerSecond Effect DamageType Pushback MultipleProjectiles CustomFirstProjectile BuffTime BuffTimeIncreasePerLevel BuffNumber BuffType BuffOnDamage OnlyOwnTroops OnlyEnemies CastSound AreaEffectObject TID TID_INFO TID_FLAVOR
2 string string string string int boolean boolean string int int int string int int int int int string string int int string int int int string string boolean boolean string string string string string
3 Fireball fire_fireball TrainingCamp Rare 4 FireballSpell true Fire ball TID_SPELL_FIREBALL TID_SPELL_INFO_FIREBALL
4 Arrows order_volley TrainingCamp Common 3 4000 ArrowsSpellDeco Cast_RainOfArrows 15 ArrowsSpell true SpellCasting TID_SPELL_ARROWS TID_SPELL_INFO_ARROWS
5 Rage rage Arena3 Epic 3 true SpellCasting Rage TID_SPELL_RAGE TID_SPELL_INFO_RAGE
6 Rocket rocket Arena3 Rare 6 RocketSpell true sound_rocket_spawn TID_SPELL_ROCKET TID_SPELL_INFO_ROCKET
7 GoblinBarrel goblin_barrel Arena1 Epic 4 GoblinBarrelSpell goblin_barrel_spawn true sound_goblin_barrel_spawn TID_SPELL_GOBLIN_BARREL TID_SPELL_INFO_GOBLIN_BARREL
8 Freeze freeze Arena4 Epic 4 Spell_freeze_cast true SpellCasting Freeze TID_SPELL_FREEZE TID_SPELL_INFO_FREEZE
9 Mirror mirror Arena5 Epic 1 true SpellCasting TID_SPELL_MIRROR TID_SPELL_INFO_MIRROR
10 Lightning lightning Arena1 Epic 6 3000 true SpellCasting Lightning TID_SPELL_LIGHTNING TID_SPELL_INFO_LIGHTNING
11 Zap zap Arena5 Common 2 2500 true SpellCasting Zap TID_SPELL_ZAP TID_SPELL_INFO_ZAP

View file

@ -0,0 +1,26 @@
"Name","TID","TauntMenu","FileName","ExportName","IconExportName","BtnExportName","Sound"
"String","String","Boolean","string","string","string","string","string"
"Taunt1","TID_EMOTE1","TRUE",,,,"taunt_btn_01",
"Taunt2","TID_EMOTE2","TRUE",,,,"taunt_btn_02",
"Taunt3","TID_EMOTE3","TRUE",,,,"taunt_btn_03",
"Taunt4","TID_EMOTE4","TRUE",,,,"taunt_btn_04",
"Taunt5","TID_EMOTE5","TRUE",,,,"taunt_btn_05",
"Taunt6","TID_EMOTE6","TRUE",,,,"taunt_btn_06",
"Taunt7","TID_EMOTE7",,,,,,
"Taunt8","TID_EMOTE8",,,,,,
"Taunt9","TID_EMOTE9",,,,,,
"NPC1_Start","NPC1_TAUNT_START",,,,,,
"NPC1_Tower","NPC1_TAUNT_TOWER",,,,,,
"NPC1_Deploy","NPC1_TAUNT_DEPLOY",,,,,,
"NPC1_Attack","NPC1_TAUNT_ATTACK",,,,,,
"NPC2_Start","NPC2_TAUNT_START",,,,,,
"NPC2_Tower","NPC2_TAUNT_TOWER",,,,,,
"NPC3_Start","NPC3_TAUNT_START",,,,,,
"NPC3_Tower","NPC3_TAUNT_TOWER",,,,,,
"NPC4_Start","NPC4_TAUNT_START",,,,,,
"NPC4_Tower","NPC4_TAUNT_TOWER",,,,,,
"NPC16_Start","NPC16_TAUNT_START",,,,,,
"TauntGfx1",,"TRUE","sc/ui_stickers.sc","sticker_thumbs_anim","sticker_thumbs_icon","emoji_btn_01","sound_king_congratulate"
"TauntGfx2",,"TRUE","sc/ui_stickers.sc","sticker_angry_anim","sticker_angry_icon","emoji_btn_02","sound_king_mad"
"TauntGfx3",,"TRUE","sc/ui_stickers.sc","sticker_cry_anim","sticker_cry_icon","emoji_btn_03","sound_king_crying"
"TauntGfx4",,"TRUE","sc/ui_stickers.sc","sticker_lol_anim","sticker_lol_icon","emoji_btn_04","sound_king_happy"
1 Name TID TauntMenu FileName ExportName IconExportName BtnExportName Sound
2 String String Boolean string string string string string
3 Taunt1 TID_EMOTE1 TRUE taunt_btn_01
4 Taunt2 TID_EMOTE2 TRUE taunt_btn_02
5 Taunt3 TID_EMOTE3 TRUE taunt_btn_03
6 Taunt4 TID_EMOTE4 TRUE taunt_btn_04
7 Taunt5 TID_EMOTE5 TRUE taunt_btn_05
8 Taunt6 TID_EMOTE6 TRUE taunt_btn_06
9 Taunt7 TID_EMOTE7
10 Taunt8 TID_EMOTE8
11 Taunt9 TID_EMOTE9
12 NPC1_Start NPC1_TAUNT_START
13 NPC1_Tower NPC1_TAUNT_TOWER
14 NPC1_Deploy NPC1_TAUNT_DEPLOY
15 NPC1_Attack NPC1_TAUNT_ATTACK
16 NPC2_Start NPC2_TAUNT_START
17 NPC2_Tower NPC2_TAUNT_TOWER
18 NPC3_Start NPC3_TAUNT_START
19 NPC3_Tower NPC3_TAUNT_TOWER
20 NPC4_Start NPC4_TAUNT_START
21 NPC4_Tower NPC4_TAUNT_TOWER
22 NPC16_Start NPC16_TAUNT_START
23 TauntGfx1 TRUE sc/ui_stickers.sc sticker_thumbs_anim sticker_thumbs_icon emoji_btn_01 sound_king_congratulate
24 TauntGfx2 TRUE sc/ui_stickers.sc sticker_angry_anim sticker_angry_icon emoji_btn_02 sound_king_mad
25 TauntGfx3 TRUE sc/ui_stickers.sc sticker_cry_anim sticker_cry_icon emoji_btn_03 sound_king_crying
26 TauntGfx4 TRUE sc/ui_stickers.sc sticker_lol_anim sticker_lol_icon emoji_btn_04 sound_king_happy

View file

@ -0,0 +1,42 @@
"Name","BaseChest","Arena","ShopPriceWithoutSpeedUp","SpeedUpCost","TimeTakenDays","TimeTakenHours","TimeTakenMinutes","TimeTakenSeconds","RandomSpells","DifferentSpells","ChestCountInChestCycle","RareChance","EpicChance","GuaranteedSpells","MinDiamonds","MaxDiamonds","MinGold","MaxGold","FileName","ExportName","ShopExportName","GainedExportName","AnimExportName","OpenInstanceName","SlotLandEffect","OpenEffect","TapSound","TapSoundShop","DescriptionTID","TID","NotificationTID","AddFirstSpellToCollection","TutorialChest","SpellSet","Exp"
"String","String","String","int","int","int","int","int","int","int","int","int","int","int","String","int","int","int","int","String","String","String","String","String","String","String","String","String","String","String","String","String","boolean","boolean","String","int"
"Newbie1",,"TrainingCamp",0,1,,,,15,2,2,,,,"Knight",,,16,16,"sc/ui_chest.sc","Chest_wood",,"get_wood_chest","chest_open_wooden","chest_wood","chest_landing_wood","openChest_wood","tap_wooden_chest","sound_openChest_wood",,"TID_CHEST_WOOD","TID_CHEST_WOOD_NOTIFICATION",,,,
,,,,,,,,,,,,,,"Arrows",,,,,,,,,,,,,,,,,,,,,
"Newbie2",,"TrainingCamp",0,1,,,,15,2,2,,10,200,"Musketeer",,,16,16,"sc/ui_chest.sc","Chest_wood",,"get_wood_chest","chest_open_wooden","chest_wood","chest_landing_wood","openChest_wood","tap_wooden_chest","sound_openChest_wood",,"TID_CHEST_WOOD","TID_CHEST_WOOD_NOTIFICATION",,,,
"NewbieFixedEpic",,"TrainingCamp",0,1,,,,15,2,2,,10,2,,,,13,19,"sc/ui_chest.sc","Chest_wood",,"get_wood_chest","chest_open_wooden","chest_wood","chest_landing_wood","openChest_wood","tap_wooden_chest","sound_openChest_wood",,"TID_CHEST_WOOD","TID_CHEST_WOOD_NOTIFICATION",,,,
"NewbieRandom",,"TrainingCamp",0,1,,,,15,2,2,,10,200,,,,13,19,"sc/ui_chest.sc","Chest_wood",,"get_wood_chest","chest_open_wooden","chest_wood","chest_landing_wood","openChest_wood","tap_wooden_chest","sound_openChest_wood",,"TID_CHEST_WOOD","TID_CHEST_WOOD_NOTIFICATION",,,,
"Silver",,"TrainingCamp",5,15,,3,,,3,3,60,12,540,,,,19,29,"sc/ui_chest.sc","Chest_iron","chest_iron_open","get_metal_chest","chest_open_iron","chest_iron","chest_landing_iron","openChest_iron","tap_iron_chest","sound_openChest_iron",,"TID_CHEST_SILVER","TID_CHEST_SILVER_NOTIFICATION",,,,
"Gold",,"TrainingCamp",20,40,,8,,,10,5,19,10,285,,,,64,96,"sc/ui_chest.sc","Chest_gold","chest_gold_open","get_gold_chest","chest_open_gold","chest_gold","chest_landing_gold","openChest_gold","tap_gold_chest","sound_openChest_gold",,"TID_CHEST_GOLD","TID_CHEST_GOLD_NOTIFICATION",,,,
"Magic",,"TrainingCamp",230,60,,12,,,30,8,1,5,30,,,,192,288,"sc/ui_chest.sc","Chest_magical","chest_magical_open","get_magic_chest","chest_open_magical","chest_magical","chest_landing_magic","openChest_magical","tap_magic_chest","sound_openChest_magical",,"TID_CHEST_MAGICAL","TID_CHEST_MAGICAL_NOTIFICATION",,,,
"Free",,"TrainingCamp",0,0,,,,,3,3,,10,200,"Goblins",,,19,29,"sc/ui_chest.sc","Chest_wood",,"get_wood_chest","chest_open_wooden","chest_wood","chest_landing_wood","openChest_wood","tap_wooden_chest","sound_openChest_wood",,"TID_CHEST_WOOD","TID_CHEST_WOOD_NOTIFICATION",,,,
"Star",,"TrainingCamp",0,0,,,,,10,5,,10,200,,,,64,96,"sc/ui_chest.sc","Chest_gold",,"get_gold_chest","chest_open_gold","chest_star","chest_landing_magic","openChest_star","tap_magic_chest","sound_openChest_magical",,"TID_CHEST_GOLD","TID_CHEST_GOLD_NOTIFICATION",,,,
"Silver_Arena1","Silver","Arena1",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_iron","chest_iron_open","get_metal_chest","chest_open_iron","chest_iron","chest_landing_iron","openChest_iron","tap_iron_chest","sound_openChest_iron",,"TID_CHEST_SILVER","TID_CHEST_SILVER_NOTIFICATION",,,,
"Gold_Arena1","Gold","Arena1",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_gold","chest_gold_open","get_gold_chest","chest_open_gold","chest_gold","chest_landing_gold","openChest_gold","tap_gold_chest","sound_openChest_gold",,"TID_CHEST_GOLD","TID_CHEST_GOLD_NOTIFICATION",,,,
"Magic_Arena1","Magic","Arena1",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_magical","chest_magical_open","get_magic_chest","chest_open_magical","chest_magical","chest_landing_magic","openChest_magical","tap_magic_chest","sound_openChest_magical",,"TID_CHEST_MAGICAL","TID_CHEST_MAGICAL_NOTIFICATION",,,,
"Free_Arena1","Free","Arena1",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_wood",,"get_wood_chest","chest_open_wooden","chest_wood","chest_landing_wood","openChest_wood","tap_wooden_chest","sound_openChest_wood",,"TID_CHEST_WOOD","TID_CHEST_WOOD_NOTIFICATION",,,,
"Star_Arena1","Star","Arena1",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_gold",,"get_gold_chest","chest_open_gold","chest_star","chest_landing_magic","openChest_star","tap_magic_chest","sound_openChest_star",,"TID_CHEST_GOLD","TID_CHEST_GOLD_NOTIFICATION",,,,
"Silver_Arena2","Silver","Arena2",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_iron","chest_iron_open","get_metal_chest","chest_open_iron","chest_iron","chest_landing_iron","openChest_iron","tap_iron_chest","sound_openChest_iron",,"TID_CHEST_SILVER","TID_CHEST_SILVER_NOTIFICATION",,,,
"Gold_Arena2","Gold","Arena2",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_gold","chest_gold_open","get_gold_chest","chest_open_gold","chest_gold","chest_landing_gold","openChest_gold","tap_gold_chest","sound_openChest_gold",,"TID_CHEST_GOLD","TID_CHEST_GOLD_NOTIFICATION",,,,
"Magic_Arena2","Magic","Arena2",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_magical","chest_magical_open","get_magic_chest","chest_open_magical","chest_magical","chest_landing_magic","openChest_magical","tap_magic_chest","sound_openChest_magical",,"TID_CHEST_MAGICAL","TID_CHEST_MAGICAL_NOTIFICATION",,,,
"Free_Arena2","Free","Arena2",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_wood",,"get_wood_chest","chest_open_wooden","chest_wood","chest_landing_wood","openChest_wood","tap_wooden_chest","sound_openChest_wood",,"TID_CHEST_WOOD","TID_CHEST_WOOD_NOTIFICATION",,,,
"Star_Arena2","Star","Arena2",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_gold",,"get_gold_chest","chest_open_gold","chest_star","chest_landing_magic","openChest_star","tap_magic_chest","sound_openChest_star",,"TID_CHEST_GOLD","TID_CHEST_GOLD_NOTIFICATION",,,,
"Silver_Arena3","Silver","Arena3",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_iron","chest_iron_open","get_metal_chest","chest_open_iron","chest_iron","chest_landing_iron","openChest_iron","tap_iron_chest","sound_openChest_iron",,"TID_CHEST_SILVER","TID_CHEST_SILVER_NOTIFICATION",,,,
"Gold_Arena3","Gold","Arena3",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_gold","chest_gold_open","get_gold_chest","chest_open_gold","chest_gold","chest_landing_gold","openChest_gold","tap_gold_chest","sound_openChest_gold",,"TID_CHEST_GOLD","TID_CHEST_GOLD_NOTIFICATION",,,,
"Magic_Arena3","Magic","Arena3",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_magical","chest_magical_open","get_magic_chest","chest_open_magical","chest_magical","chest_landing_magic","openChest_magical","tap_magic_chest","sound_openChest_magical",,"TID_CHEST_MAGICAL","TID_CHEST_MAGICAL_NOTIFICATION",,,,
"Free_Arena3","Free","Arena3",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_wood",,"get_wood_chest","chest_open_wooden","chest_wood","chest_landing_wood","openChest_wood","tap_wooden_chest","sound_openChest_wood",,"TID_CHEST_WOOD","TID_CHEST_WOOD_NOTIFICATION",,,,
"Star_Arena3","Star","Arena3",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_gold",,"get_gold_chest","chest_open_gold","chest_star","chest_landing_magic","openChest_star","tap_magic_chest","sound_openChest_star",,"TID_CHEST_GOLD","TID_CHEST_GOLD_NOTIFICATION",,,,
"Silver_Arena4","Silver","Arena4",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_iron","chest_iron_open","get_metal_chest","chest_open_iron","chest_iron","chest_landing_iron","openChest_iron","tap_iron_chest","sound_openChest_iron",,"TID_CHEST_SILVER","TID_CHEST_SILVER_NOTIFICATION",,,,
"Gold_Arena4","Gold","Arena4",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_gold","chest_gold_open","get_gold_chest","chest_open_gold","chest_gold","chest_landing_gold","openChest_gold","tap_gold_chest","sound_openChest_gold",,"TID_CHEST_GOLD","TID_CHEST_GOLD_NOTIFICATION",,,,
"Magic_Arena4","Magic","Arena4",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_magical","chest_magical_open","get_magic_chest","chest_open_magical","chest_magical","chest_landing_magic","openChest_magical","tap_magic_chest","sound_openChest_magical",,"TID_CHEST_MAGICAL","TID_CHEST_MAGICAL_NOTIFICATION",,,,
"Free_Arena4","Free","Arena4",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_wood",,"get_wood_chest","chest_open_wooden","chest_wood","chest_landing_wood","openChest_wood","tap_wooden_chest","sound_openChest_wood",,"TID_CHEST_WOOD","TID_CHEST_WOOD_NOTIFICATION",,,,
"Star_Arena4","Star","Arena4",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_gold",,"get_gold_chest","chest_open_gold","chest_star","chest_landing_magic","openChest_star","tap_magic_chest","sound_openChest_star",,"TID_CHEST_GOLD","TID_CHEST_GOLD_NOTIFICATION",,,,
"Silver_Arena5","Silver","Arena5",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_iron","chest_iron_open","get_metal_chest","chest_open_iron","chest_iron","chest_landing_iron","openChest_iron","tap_iron_chest","sound_openChest_iron",,"TID_CHEST_SILVER","TID_CHEST_SILVER_NOTIFICATION",,,,
"Gold_Arena5","Gold","Arena5",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_gold","chest_gold_open","get_gold_chest","chest_open_gold","chest_gold","chest_landing_gold","openChest_gold","tap_gold_chest","sound_openChest_gold",,"TID_CHEST_GOLD","TID_CHEST_GOLD_NOTIFICATION",,,,
"Magic_Arena5","Magic","Arena5",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_magical","chest_magical_open","get_magic_chest","chest_open_magical","chest_magical","chest_landing_magic","openChest_magical","tap_magic_chest","sound_openChest_magical",,"TID_CHEST_MAGICAL","TID_CHEST_MAGICAL_NOTIFICATION",,,,
"Free_Arena5","Free","Arena5",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_wood",,"get_wood_chest","chest_open_wooden","chest_wood","chest_landing_wood","openChest_wood","tap_wooden_chest","sound_openChest_wood",,"TID_CHEST_WOOD","TID_CHEST_WOOD_NOTIFICATION",,,,
"Star_Arena5","Star","Arena5",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_gold",,"get_gold_chest","chest_open_gold","chest_star","chest_landing_magic","openChest_star","tap_magic_chest","sound_openChest_star",,"TID_CHEST_GOLD","TID_CHEST_GOLD_NOTIFICATION",,,,
"Silver_Arena6","Silver","Arena6",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_iron","chest_iron_open","get_metal_chest","chest_open_iron","chest_iron","chest_landing_iron","openChest_iron","tap_iron_chest","sound_openChest_iron",,"TID_CHEST_SILVER","TID_CHEST_SILVER_NOTIFICATION",,,,
"Gold_Arena6","Gold","Arena6",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_gold","chest_gold_open","get_gold_chest","chest_open_gold","chest_gold","chest_landing_gold","openChest_gold","tap_gold_chest","sound_openChest_gold",,"TID_CHEST_GOLD","TID_CHEST_GOLD_NOTIFICATION",,,,
"Magic_Arena6","Magic","Arena6",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_magical","chest_magical_open","get_magic_chest","chest_open_magical","chest_magical","chest_landing_magic","openChest_magical","tap_magic_chest","sound_openChest_magical",,"TID_CHEST_MAGICAL","TID_CHEST_MAGICAL_NOTIFICATION",,,,
"Free_Arena6","Free","Arena6",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_wood",,"get_wood_chest","chest_open_wooden","chest_wood","chest_landing_wood","openChest_wood","tap_wooden_chest","sound_openChest_wood",,"TID_CHEST_WOOD","TID_CHEST_WOOD_NOTIFICATION",,,,
"Star_Arena6","Star","Arena6",,,,,,,,,,,,,,,,,"sc/ui_chest.sc","Chest_gold",,"get_gold_chest","chest_open_gold","chest_star","chest_landing_magic","openChest_star","tap_magic_chest","sound_openChest_star",,"TID_CHEST_GOLD","TID_CHEST_GOLD_NOTIFICATION",,,,
1 Name BaseChest Arena ShopPriceWithoutSpeedUp SpeedUpCost TimeTakenDays TimeTakenHours TimeTakenMinutes TimeTakenSeconds RandomSpells DifferentSpells ChestCountInChestCycle RareChance EpicChance GuaranteedSpells MinDiamonds MaxDiamonds MinGold MaxGold FileName ExportName ShopExportName GainedExportName AnimExportName OpenInstanceName SlotLandEffect OpenEffect TapSound TapSoundShop DescriptionTID TID NotificationTID AddFirstSpellToCollection TutorialChest SpellSet Exp
2 String String String int int int int int int int int int int int String int int int int String String String String String String String String String String String String String boolean boolean String int
3 Newbie1 TrainingCamp 0 1 15 2 2 Knight 16 16 sc/ui_chest.sc Chest_wood get_wood_chest chest_open_wooden chest_wood chest_landing_wood openChest_wood tap_wooden_chest sound_openChest_wood TID_CHEST_WOOD TID_CHEST_WOOD_NOTIFICATION
4 Arrows
5 Newbie2 TrainingCamp 0 1 15 2 2 10 200 Musketeer 16 16 sc/ui_chest.sc Chest_wood get_wood_chest chest_open_wooden chest_wood chest_landing_wood openChest_wood tap_wooden_chest sound_openChest_wood TID_CHEST_WOOD TID_CHEST_WOOD_NOTIFICATION
6 NewbieFixedEpic TrainingCamp 0 1 15 2 2 10 2 13 19 sc/ui_chest.sc Chest_wood get_wood_chest chest_open_wooden chest_wood chest_landing_wood openChest_wood tap_wooden_chest sound_openChest_wood TID_CHEST_WOOD TID_CHEST_WOOD_NOTIFICATION
7 NewbieRandom TrainingCamp 0 1 15 2 2 10 200 13 19 sc/ui_chest.sc Chest_wood get_wood_chest chest_open_wooden chest_wood chest_landing_wood openChest_wood tap_wooden_chest sound_openChest_wood TID_CHEST_WOOD TID_CHEST_WOOD_NOTIFICATION
8 Silver TrainingCamp 5 15 3 3 3 60 12 540 19 29 sc/ui_chest.sc Chest_iron chest_iron_open get_metal_chest chest_open_iron chest_iron chest_landing_iron openChest_iron tap_iron_chest sound_openChest_iron TID_CHEST_SILVER TID_CHEST_SILVER_NOTIFICATION
9 Gold TrainingCamp 20 40 8 10 5 19 10 285 64 96 sc/ui_chest.sc Chest_gold chest_gold_open get_gold_chest chest_open_gold chest_gold chest_landing_gold openChest_gold tap_gold_chest sound_openChest_gold TID_CHEST_GOLD TID_CHEST_GOLD_NOTIFICATION
10 Magic TrainingCamp 230 60 12 30 8 1 5 30 192 288 sc/ui_chest.sc Chest_magical chest_magical_open get_magic_chest chest_open_magical chest_magical chest_landing_magic openChest_magical tap_magic_chest sound_openChest_magical TID_CHEST_MAGICAL TID_CHEST_MAGICAL_NOTIFICATION
11 Free TrainingCamp 0 0 3 3 10 200 Goblins 19 29 sc/ui_chest.sc Chest_wood get_wood_chest chest_open_wooden chest_wood chest_landing_wood openChest_wood tap_wooden_chest sound_openChest_wood TID_CHEST_WOOD TID_CHEST_WOOD_NOTIFICATION
12 Star TrainingCamp 0 0 10 5 10 200 64 96 sc/ui_chest.sc Chest_gold get_gold_chest chest_open_gold chest_star chest_landing_magic openChest_star tap_magic_chest sound_openChest_magical TID_CHEST_GOLD TID_CHEST_GOLD_NOTIFICATION
13 Silver_Arena1 Silver Arena1 sc/ui_chest.sc Chest_iron chest_iron_open get_metal_chest chest_open_iron chest_iron chest_landing_iron openChest_iron tap_iron_chest sound_openChest_iron TID_CHEST_SILVER TID_CHEST_SILVER_NOTIFICATION
14 Gold_Arena1 Gold Arena1 sc/ui_chest.sc Chest_gold chest_gold_open get_gold_chest chest_open_gold chest_gold chest_landing_gold openChest_gold tap_gold_chest sound_openChest_gold TID_CHEST_GOLD TID_CHEST_GOLD_NOTIFICATION
15 Magic_Arena1 Magic Arena1 sc/ui_chest.sc Chest_magical chest_magical_open get_magic_chest chest_open_magical chest_magical chest_landing_magic openChest_magical tap_magic_chest sound_openChest_magical TID_CHEST_MAGICAL TID_CHEST_MAGICAL_NOTIFICATION
16 Free_Arena1 Free Arena1 sc/ui_chest.sc Chest_wood get_wood_chest chest_open_wooden chest_wood chest_landing_wood openChest_wood tap_wooden_chest sound_openChest_wood TID_CHEST_WOOD TID_CHEST_WOOD_NOTIFICATION
17 Star_Arena1 Star Arena1 sc/ui_chest.sc Chest_gold get_gold_chest chest_open_gold chest_star chest_landing_magic openChest_star tap_magic_chest sound_openChest_star TID_CHEST_GOLD TID_CHEST_GOLD_NOTIFICATION
18 Silver_Arena2 Silver Arena2 sc/ui_chest.sc Chest_iron chest_iron_open get_metal_chest chest_open_iron chest_iron chest_landing_iron openChest_iron tap_iron_chest sound_openChest_iron TID_CHEST_SILVER TID_CHEST_SILVER_NOTIFICATION
19 Gold_Arena2 Gold Arena2 sc/ui_chest.sc Chest_gold chest_gold_open get_gold_chest chest_open_gold chest_gold chest_landing_gold openChest_gold tap_gold_chest sound_openChest_gold TID_CHEST_GOLD TID_CHEST_GOLD_NOTIFICATION
20 Magic_Arena2 Magic Arena2 sc/ui_chest.sc Chest_magical chest_magical_open get_magic_chest chest_open_magical chest_magical chest_landing_magic openChest_magical tap_magic_chest sound_openChest_magical TID_CHEST_MAGICAL TID_CHEST_MAGICAL_NOTIFICATION
21 Free_Arena2 Free Arena2 sc/ui_chest.sc Chest_wood get_wood_chest chest_open_wooden chest_wood chest_landing_wood openChest_wood tap_wooden_chest sound_openChest_wood TID_CHEST_WOOD TID_CHEST_WOOD_NOTIFICATION
22 Star_Arena2 Star Arena2 sc/ui_chest.sc Chest_gold get_gold_chest chest_open_gold chest_star chest_landing_magic openChest_star tap_magic_chest sound_openChest_star TID_CHEST_GOLD TID_CHEST_GOLD_NOTIFICATION
23 Silver_Arena3 Silver Arena3 sc/ui_chest.sc Chest_iron chest_iron_open get_metal_chest chest_open_iron chest_iron chest_landing_iron openChest_iron tap_iron_chest sound_openChest_iron TID_CHEST_SILVER TID_CHEST_SILVER_NOTIFICATION
24 Gold_Arena3 Gold Arena3 sc/ui_chest.sc Chest_gold chest_gold_open get_gold_chest chest_open_gold chest_gold chest_landing_gold openChest_gold tap_gold_chest sound_openChest_gold TID_CHEST_GOLD TID_CHEST_GOLD_NOTIFICATION
25 Magic_Arena3 Magic Arena3 sc/ui_chest.sc Chest_magical chest_magical_open get_magic_chest chest_open_magical chest_magical chest_landing_magic openChest_magical tap_magic_chest sound_openChest_magical TID_CHEST_MAGICAL TID_CHEST_MAGICAL_NOTIFICATION
26 Free_Arena3 Free Arena3 sc/ui_chest.sc Chest_wood get_wood_chest chest_open_wooden chest_wood chest_landing_wood openChest_wood tap_wooden_chest sound_openChest_wood TID_CHEST_WOOD TID_CHEST_WOOD_NOTIFICATION
27 Star_Arena3 Star Arena3 sc/ui_chest.sc Chest_gold get_gold_chest chest_open_gold chest_star chest_landing_magic openChest_star tap_magic_chest sound_openChest_star TID_CHEST_GOLD TID_CHEST_GOLD_NOTIFICATION
28 Silver_Arena4 Silver Arena4 sc/ui_chest.sc Chest_iron chest_iron_open get_metal_chest chest_open_iron chest_iron chest_landing_iron openChest_iron tap_iron_chest sound_openChest_iron TID_CHEST_SILVER TID_CHEST_SILVER_NOTIFICATION
29 Gold_Arena4 Gold Arena4 sc/ui_chest.sc Chest_gold chest_gold_open get_gold_chest chest_open_gold chest_gold chest_landing_gold openChest_gold tap_gold_chest sound_openChest_gold TID_CHEST_GOLD TID_CHEST_GOLD_NOTIFICATION
30 Magic_Arena4 Magic Arena4 sc/ui_chest.sc Chest_magical chest_magical_open get_magic_chest chest_open_magical chest_magical chest_landing_magic openChest_magical tap_magic_chest sound_openChest_magical TID_CHEST_MAGICAL TID_CHEST_MAGICAL_NOTIFICATION
31 Free_Arena4 Free Arena4 sc/ui_chest.sc Chest_wood get_wood_chest chest_open_wooden chest_wood chest_landing_wood openChest_wood tap_wooden_chest sound_openChest_wood TID_CHEST_WOOD TID_CHEST_WOOD_NOTIFICATION
32 Star_Arena4 Star Arena4 sc/ui_chest.sc Chest_gold get_gold_chest chest_open_gold chest_star chest_landing_magic openChest_star tap_magic_chest sound_openChest_star TID_CHEST_GOLD TID_CHEST_GOLD_NOTIFICATION
33 Silver_Arena5 Silver Arena5 sc/ui_chest.sc Chest_iron chest_iron_open get_metal_chest chest_open_iron chest_iron chest_landing_iron openChest_iron tap_iron_chest sound_openChest_iron TID_CHEST_SILVER TID_CHEST_SILVER_NOTIFICATION
34 Gold_Arena5 Gold Arena5 sc/ui_chest.sc Chest_gold chest_gold_open get_gold_chest chest_open_gold chest_gold chest_landing_gold openChest_gold tap_gold_chest sound_openChest_gold TID_CHEST_GOLD TID_CHEST_GOLD_NOTIFICATION
35 Magic_Arena5 Magic Arena5 sc/ui_chest.sc Chest_magical chest_magical_open get_magic_chest chest_open_magical chest_magical chest_landing_magic openChest_magical tap_magic_chest sound_openChest_magical TID_CHEST_MAGICAL TID_CHEST_MAGICAL_NOTIFICATION
36 Free_Arena5 Free Arena5 sc/ui_chest.sc Chest_wood get_wood_chest chest_open_wooden chest_wood chest_landing_wood openChest_wood tap_wooden_chest sound_openChest_wood TID_CHEST_WOOD TID_CHEST_WOOD_NOTIFICATION
37 Star_Arena5 Star Arena5 sc/ui_chest.sc Chest_gold get_gold_chest chest_open_gold chest_star chest_landing_magic openChest_star tap_magic_chest sound_openChest_star TID_CHEST_GOLD TID_CHEST_GOLD_NOTIFICATION
38 Silver_Arena6 Silver Arena6 sc/ui_chest.sc Chest_iron chest_iron_open get_metal_chest chest_open_iron chest_iron chest_landing_iron openChest_iron tap_iron_chest sound_openChest_iron TID_CHEST_SILVER TID_CHEST_SILVER_NOTIFICATION
39 Gold_Arena6 Gold Arena6 sc/ui_chest.sc Chest_gold chest_gold_open get_gold_chest chest_open_gold chest_gold chest_landing_gold openChest_gold tap_gold_chest sound_openChest_gold TID_CHEST_GOLD TID_CHEST_GOLD_NOTIFICATION
40 Magic_Arena6 Magic Arena6 sc/ui_chest.sc Chest_magical chest_magical_open get_magic_chest chest_open_magical chest_magical chest_landing_magic openChest_magical tap_magic_chest sound_openChest_magical TID_CHEST_MAGICAL TID_CHEST_MAGICAL_NOTIFICATION
41 Free_Arena6 Free Arena6 sc/ui_chest.sc Chest_wood get_wood_chest chest_open_wooden chest_wood chest_landing_wood openChest_wood tap_wooden_chest sound_openChest_wood TID_CHEST_WOOD TID_CHEST_WOOD_NOTIFICATION
42 Star_Arena6 Star Arena6 sc/ui_chest.sc Chest_gold get_gold_chest chest_open_gold chest_star chest_landing_magic openChest_star tap_magic_chest sound_openChest_star TID_CHEST_GOLD TID_CHEST_GOLD_NOTIFICATION

View file

@ -0,0 +1,4 @@
"Name","Location","NPC","TID","ButtonTID","FinishRequirement","WaitTimeMS","FileName","PopupCorner","PopupExportName","BubbleExportName","Sound","Darkening","BubbleObject","OverlayExportName","SpellDragExportName","SpellToCast","TutorialSpell","SpellTileX","SpellTileY","DisableSpells","HideCombatUI","DisableTroopMovement","DisableLeaderMovement","DisableSpawnPoints","DisableOpponentSpells","PauseCombat","Dependency","Priority","Taunt","HighlightTargetsOnManaFull","DisableBattleStartScreen","NpcMatchesPlayed","DisableBattleMenu"
"String","String","String","String","String","String","int","String","int","String","String","String","boolean","String","String","String","String","String","int","int","boolean","boolean","boolean","boolean","boolean","boolean","boolean","String","int","String","boolean","boolean","int","boolean"
"UpgradeSpell",,,,,"FuseSpell",,,,,,,,,,,,,,,,,,,,,,,0,,,,,"true"
"AskName",,,,,"EnterName",,,,,,,,,,,,,,,,,,,,,,,1,,,,6,
1 Name Location NPC TID ButtonTID FinishRequirement WaitTimeMS FileName PopupCorner PopupExportName BubbleExportName Sound Darkening BubbleObject OverlayExportName SpellDragExportName SpellToCast TutorialSpell SpellTileX SpellTileY DisableSpells HideCombatUI DisableTroopMovement DisableLeaderMovement DisableSpawnPoints DisableOpponentSpells PauseCombat Dependency Priority Taunt HighlightTargetsOnManaFull DisableBattleStartScreen NpcMatchesPlayed DisableBattleMenu
2 String String String String String String int String int String String String boolean String String String String String int int boolean boolean boolean boolean boolean boolean boolean String int String boolean boolean int boolean
3 UpgradeSpell FuseSpell 0 true
4 AskName EnterName 1 6

View file

@ -0,0 +1,23 @@
"Name","Location","NPC","TID","ButtonTID","FinishRequirement","WaitTimeMS","FileName","PopupCorner","PopupExportName","BubbleExportName","Sound","Darkening","BubbleObject","OverlayExportName","SpellDragExportName","SpellToCast","TutorialSpell","SpellTileX","SpellTileY","DisableSpells","HideCombatUI","DisableTroopMovement","DisableLeaderMovement","DisableSpawnPoints","DisableOpponentSpells","PauseCombat","Dependency","Priority","Taunt","HighlightTargetsOnManaFull","DisableBattleStartScreen","NpcMatchesPlayed","DisableBattleMenu"
"String","String","String","String","String","String","int","String","int","String","String","String","boolean","String","String","String","String","String","int","int","boolean","boolean","boolean","boolean","boolean","boolean","boolean","String","int","String","boolean","boolean","int","boolean"
"NPC1_Start_Delay","FirstMatch","Npc1",,,,3000,,,,,,,,,,,,,,,"TRUE",,,,"TRUE",,,,,,"true",,
"NPC1_King_Speaks","FirstMatch","Npc1","TID_TUTORIAL_KING_WELCOME",,,,"sc/tutorial.sc",4,"tutorial_character1_left","bubble_tutorial_anim","sound_tutorial_first_vo",,,,,,,,,,"TRUE",,,,"TRUE",,,,,,"true",,
,,,"TID_TUTORIAL_KING_WELCOME2",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"NPC1_Start_Taunt","FirstMatch","Npc1",,,,2000,,,,,,,,,,,,,,,"TRUE",,,,"TRUE",,"NPC1_King_Speaks",,,,,,
"NPC1_Attack_HighlightArea","FirstMatch","Npc1","TID_TUTORIAL_ENEMY_AREA",,,1000,,,,,"sound_tutorial_first_plink",,,,,,,,,,"TRUE",,,,"TRUE",,,,,,,,
"NPC1_Attack_HighlightUnits","FirstMatch","Npc1",,,,3000,,,,,"sound_tutorial_second_plink",,,,,,,,,,"TRUE",,,,"TRUE",,,,,,,,
"NPC1_Attack_ShowSpells","FirstMatch","Npc1",,,,3000,,,,,"sound_tutorial_second_vo",,,,,,,,,,,,,,"TRUE",,,,,,,,
"NPC1_Attack_DragSpell","FirstMatch","Npc1",,,"CastSpell",,,,,,,,,,"Tutorial_Hand1","Knight",,10,38,,,,,,"TRUE",,,,"NPC1_Deploy",,,,
"NPC1_Attack_DragSpell2","FirstMatch","Npc1",,,"CastSpell",,,,,,,,,,"Tutorial_Hand1","Archer",,10,38,,,,,,"TRUE",,,,,,,,
"NPC1_Attack_Tower","FirstMatch","Npc1",,,"StarGained",,,,,,,,,,,,,,,,,,,,"TRUE",,,,,,,,
"NPC1_Defend_Delay","FirstMatch","Npc1",,,,5000,,,,,,,,,,,,,,,,,,,"TRUE",,,,,,,,
"NPC1_Defend_EnemyDeploy","FirstMatch","Npc1",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"NPC1_Defend2_Delay","FirstMatch","Npc1",,,,10000,,,,,,,,,,,,,,,,,,,,,,,,,,,
"NPC1_Attack_Last","FirstMatch","Npc1",,,,120000,,,,,,,,,,,,,,,,,,,,,,,,"TRUE",,,
"NPC2_Mana_Popup_Delay","FirstMatch","Npc2",,,,1200,,,,,,,,,,,,,,"TRUE",,,,,"TRUE","TRUE",,,,,"true",,
"NPC2_Mana_Popup","FirstMatch","Npc2",,,"PressOK",,"sc/ui.sc",,"popup_elixir_tip",,,"true",,,,,,,,"TRUE",,,,,,"TRUE","NPC2_Mana_Popup_Delay",,,,"true",,
"NPC3_start","TrainingCamp","Npc3",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"NPC4_start","TrainingCamp","Npc4",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"NPC5_start","TrainingCamp","Npc5",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"NPC6_start","TrainingCamp","Npc6",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"NPC7_start","TrainingCamp","Npc7",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
1 Name Location NPC TID ButtonTID FinishRequirement WaitTimeMS FileName PopupCorner PopupExportName BubbleExportName Sound Darkening BubbleObject OverlayExportName SpellDragExportName SpellToCast TutorialSpell SpellTileX SpellTileY DisableSpells HideCombatUI DisableTroopMovement DisableLeaderMovement DisableSpawnPoints DisableOpponentSpells PauseCombat Dependency Priority Taunt HighlightTargetsOnManaFull DisableBattleStartScreen NpcMatchesPlayed DisableBattleMenu
2 String String String String String String int String int String String String boolean String String String String String int int boolean boolean boolean boolean boolean boolean boolean String int String boolean boolean int boolean
3 NPC1_Start_Delay FirstMatch Npc1 3000 TRUE TRUE true
4 NPC1_King_Speaks FirstMatch Npc1 TID_TUTORIAL_KING_WELCOME sc/tutorial.sc 4 tutorial_character1_left bubble_tutorial_anim sound_tutorial_first_vo TRUE TRUE true
5 TID_TUTORIAL_KING_WELCOME2
6 NPC1_Start_Taunt FirstMatch Npc1 2000 TRUE TRUE NPC1_King_Speaks
7 NPC1_Attack_HighlightArea FirstMatch Npc1 TID_TUTORIAL_ENEMY_AREA 1000 sound_tutorial_first_plink TRUE TRUE
8 NPC1_Attack_HighlightUnits FirstMatch Npc1 3000 sound_tutorial_second_plink TRUE TRUE
9 NPC1_Attack_ShowSpells FirstMatch Npc1 3000 sound_tutorial_second_vo TRUE
10 NPC1_Attack_DragSpell FirstMatch Npc1 CastSpell Tutorial_Hand1 Knight 10 38 TRUE NPC1_Deploy
11 NPC1_Attack_DragSpell2 FirstMatch Npc1 CastSpell Tutorial_Hand1 Archer 10 38 TRUE
12 NPC1_Attack_Tower FirstMatch Npc1 StarGained TRUE
13 NPC1_Defend_Delay FirstMatch Npc1 5000 TRUE
14 NPC1_Defend_EnemyDeploy FirstMatch Npc1
15 NPC1_Defend2_Delay FirstMatch Npc1 10000
16 NPC1_Attack_Last FirstMatch Npc1 120000 TRUE
17 NPC2_Mana_Popup_Delay FirstMatch Npc2 1200 TRUE TRUE TRUE true
18 NPC2_Mana_Popup FirstMatch Npc2 PressOK sc/ui.sc popup_elixir_tip true TRUE TRUE NPC2_Mana_Popup_Delay true
19 NPC3_start TrainingCamp Npc3
20 NPC4_start TrainingCamp Npc4
21 NPC5_start TrainingCamp Npc5
22 NPC6_start TrainingCamp Npc6
23 NPC7_start TrainingCamp Npc7

View file

@ -0,0 +1,37 @@
{
"name_prefix": "Scroll",
"exp_level": 3,
"exp_points": 0,
"gold": 25000,
"diamonds": 5000,
"free_diamonds": 0,
"trophies": 0,
"npc_win_count": 1,
"npc_lose_count": 0,
"arena": "Arena1",
"gold_resource": "Gold",
"chest_slot_count": 4,
"deck": [
"Knight",
"Archer",
"Goblins",
"Giant",
"Minions",
"Fireball",
"Arrows",
"Cannon"
],
"extra_collection": [
"Musketeer",
"Valkyrie",
"Skeletons",
"Bomber",
"Barbarians",
"SpearGoblins",
"MiniPekka",
"Witch"
],
"card_level_index": 0,
"card_count": 20,
"finish_tutorials": true
}

15
data/accounts.json Normal file
View file

@ -0,0 +1,15 @@
{
"next_low": 2,
"accounts": [
{
"high": 0,
"low": 1,
"pass_token": "KIzXwApNr3fe6Yn0SOtv1gm9kOFIZnl3CAFT92EQ",
"created_at": 1787460399,
"last_seen_at": 1787460399,
"session_count": 1,
"play_time_seconds": 0,
"banned": false
}
]
}

182
data/players.json Normal file
View file

@ -0,0 +1,182 @@
{
"profiles": [
{
"account": {
"high": 0,
"low": 1
},
"name": "Scroll1",
"name_set_by_user": false,
"exp_level": 1,
"exp_points": 0,
"gold": 5026,
"diamonds": 1000,
"free_diamonds": 0,
"trophies": 0,
"arena": {
"table": 54,
"name": "Arena1"
},
"chest_slot_count": 4,
"deck": [
{
"card": {
"table": 26,
"name": "Knight"
},
"level_index": 0,
"count": 10
},
{
"card": {
"table": 26,
"name": "Archer"
},
"level_index": 0,
"count": 10
},
{
"card": {
"table": 26,
"name": "Goblins"
},
"level_index": 0,
"count": 10
},
{
"card": {
"table": 26,
"name": "Giant"
},
"level_index": 0,
"count": 10
},
{
"card": {
"table": 26,
"name": "Pekka"
},
"level_index": 0,
"count": 10
},
{
"card": {
"table": 26,
"name": "Minions"
},
"level_index": 0,
"count": 10
},
{
"card": {
"table": 26,
"name": "Balloon"
},
"level_index": 0,
"count": 10
},
{
"card": {
"table": 26,
"name": "Witch"
},
"level_index": 0,
"count": 10
}
],
"collection": [
{
"card": {
"table": 26,
"name": "Barbarians"
},
"level_index": 0,
"count": 10
},
{
"card": {
"table": 26,
"name": "Golem"
},
"level_index": 0,
"count": 10
},
{
"card": {
"table": 26,
"name": "Skeletons"
},
"level_index": 0,
"count": 10
},
{
"card": {
"table": 26,
"name": "Valkyrie"
},
"level_index": 0,
"count": 10
},
{
"card": {
"table": 26,
"name": "SkeletonArmy"
},
"level_index": 0,
"count": 10
},
{
"card": {
"table": 26,
"name": "Bomber"
},
"level_index": 0,
"count": 10
},
{
"card": {
"table": 26,
"name": "Musketeer"
},
"level_index": 0,
"count": 10
},
{
"card": {
"table": 26,
"name": "BabyDragon"
},
"level_index": 0,
"count": 10
},
{
"card": {
"table": 26,
"name": "Prince"
},
"level_index": 0,
"count": 3
},
{
"card": {
"table": 26,
"name": "SpearGoblins"
},
"level_index": 1,
"count": 1
}
],
"battle_count": 0,
"win_count": 0,
"lose_count": 0,
"npc_win_count": 1,
"npc_lose_count": 0,
"three_crown_wins": 0,
"tutorials_finished": true,
"gold_resource": {
"table": 5,
"name": "Gold"
}
}
]
}

16
logic/logic/Cargo.toml Normal file
View file

@ -0,0 +1,16 @@
[package]
name = "logic"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
description = "Scroll game logic model and wire messages built on top of the titan engine"
[features]
default = []
serde = ["dep:serde"]
[dependencies]
titan = { workspace = true }
thiserror = { workspace = true }
serde = { workspace = true, optional = true }

View file

@ -0,0 +1,47 @@
use titan::Payload;
use crate::commands::chest_source;
use crate::commands::command_type;
use crate::commands::header::LogicCommandHeader;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Payload)]
#[codec(tag = vint)]
pub enum ClientCommand {
#[codec(id = command_type::START_REWARD_CLAIM)]
StartRewardClaim {
header: LogicCommandHeader,
#[codec(vint)]
chest_id: i32,
},
#[codec(id = command_type::COLLECT_FREE_CHEST)]
CollectFreeChest { header: LogicCommandHeader },
#[codec(id = command_type::COLLECT_MULTI_WIN_CHEST)]
CollectMultiWinChest { header: LogicCommandHeader },
}
impl ClientCommand {
pub fn command_type(&self) -> i32 {
match self {
ClientCommand::StartRewardClaim { .. } => command_type::START_REWARD_CLAIM,
ClientCommand::CollectFreeChest { .. } => command_type::COLLECT_FREE_CHEST,
ClientCommand::CollectMultiWinChest { .. } => command_type::COLLECT_MULTI_WIN_CHEST,
}
}
pub fn header(&self) -> &LogicCommandHeader {
match self {
ClientCommand::StartRewardClaim { header, .. }
| ClientCommand::CollectFreeChest { header }
| ClientCommand::CollectMultiWinChest { header } => header,
}
}
pub fn claimed_chest_source(&self) -> Option<i32> {
match self {
ClientCommand::StartRewardClaim { .. } => Some(chest_source::SLOT),
ClientCommand::CollectFreeChest { .. } => Some(chest_source::FREE),
ClientCommand::CollectMultiWinChest { .. } => Some(chest_source::CROWN),
}
}
pub fn claimed_chest_id(&self) -> i32 {
match self {
ClientCommand::StartRewardClaim { chest_id, .. } => *chest_id,
_ => 0,
}
}
}

View file

@ -0,0 +1,106 @@
use titan::Payload;
use crate::commands::chest_source;
use crate::commands::command_type;
use crate::commands::header::LogicCommandHeader;
use crate::commands::reward::LogicReward;
use crate::data::LogicDataRef;
#[derive(Debug, Default, Clone, PartialEq, Eq, Payload)]
pub struct LogicClaimRewardCommand {
pub reward: Option<LogicReward>,
#[codec(vint)]
pub chest_id: i32,
#[codec(vint)]
pub chest_source: i32,
#[codec(vint)]
pub server_command_id: i32,
pub header: LogicCommandHeader,
}
impl LogicClaimRewardCommand {
pub fn new(reward: LogicReward, chest_id: i32, chest_source: i32) -> Self {
Self {
reward: Some(reward),
chest_id,
chest_source,
server_command_id: 0,
header: LogicCommandHeader::default(),
}
}
}
#[derive(Debug, Clone, PartialEq, Eq, Payload)]
#[codec(tag = vint)]
pub enum LogicCommand {
#[codec(id = command_type::CLAIM_REWARD)]
ClaimReward { command: LogicClaimRewardCommand },
#[codec(id = command_type::START_REWARD_CLAIM)]
StartRewardClaim {
header: LogicCommandHeader,
#[codec(vint)]
chest_id: i32,
},
#[codec(id = command_type::FUSE_SPELLS)]
FuseSpells {
header: LogicCommandHeader,
spell: LogicDataRef,
},
#[codec(id = command_type::COLLECT_FREE_CHEST)]
CollectFreeChest { header: LogicCommandHeader },
#[codec(id = command_type::COLLECT_MULTI_WIN_CHEST)]
CollectMultiWinChest { header: LogicCommandHeader },
#[codec(id = command_type::SORT_COLLECTION)]
SortCollection {
header: LogicCommandHeader,
#[codec(vint)]
sort_mode: i32,
},
#[codec(id = command_type::HELP_OPENED)]
HelpOpened { header: LogicCommandHeader },
#[codec(id = command_type::SHOP_OPENED)]
ShopOpened { header: LogicCommandHeader },
#[codec(id = command_type::REFRESH_ACHIEVEMENTS)]
RefreshAchievements { header: LogicCommandHeader },
#[codec(id = command_type::PAGE_OPENED)]
PageOpened {
header: LogicCommandHeader,
#[codec(vint)]
page: i32,
},
}
impl LogicCommand {
pub fn command_type(&self) -> i32 {
match self {
LogicCommand::ClaimReward { .. } => command_type::CLAIM_REWARD,
LogicCommand::StartRewardClaim { .. } => command_type::START_REWARD_CLAIM,
LogicCommand::FuseSpells { .. } => command_type::FUSE_SPELLS,
LogicCommand::CollectFreeChest { .. } => command_type::COLLECT_FREE_CHEST,
LogicCommand::CollectMultiWinChest { .. } => command_type::COLLECT_MULTI_WIN_CHEST,
LogicCommand::SortCollection { .. } => command_type::SORT_COLLECTION,
LogicCommand::HelpOpened { .. } => command_type::HELP_OPENED,
LogicCommand::ShopOpened { .. } => command_type::SHOP_OPENED,
LogicCommand::RefreshAchievements { .. } => command_type::REFRESH_ACHIEVEMENTS,
LogicCommand::PageOpened { .. } => command_type::PAGE_OPENED,
}
}
pub fn is_server_command(&self) -> bool {
(200..500).contains(&self.command_type())
}
pub fn claimed_chest_source(&self) -> Option<i32> {
match self {
LogicCommand::StartRewardClaim { .. } => Some(chest_source::SLOT),
LogicCommand::CollectFreeChest { .. } => Some(chest_source::FREE),
LogicCommand::CollectMultiWinChest { .. } => Some(chest_source::CROWN),
_ => None,
}
}
pub fn claimed_chest_id(&self) -> i32 {
match self {
LogicCommand::StartRewardClaim { chest_id, .. } => *chest_id,
_ => 0,
}
}
pub fn upgraded_spell(&self) -> Option<&LogicDataRef> {
match self {
LogicCommand::FuseSpells { spell, .. } => Some(spell),
_ => None,
}
}
}

View file

@ -0,0 +1,27 @@
use titan::{LogicLong, Payload};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Payload)]
pub struct LogicCommandHeader {
#[codec(vint)]
pub tick_when_given: i32,
#[codec(vint)]
pub execute_tick: i32,
#[codec(vlong)]
pub executor_account_id: LogicLong,
}
impl Default for LogicCommandHeader {
fn default() -> Self {
Self {
tick_when_given: -1,
execute_tick: -1,
executor_account_id: LogicLong::ZERO,
}
}
}
impl LogicCommandHeader {
pub fn for_account(executor_account_id: LogicLong) -> Self {
Self {
executor_account_id,
..Self::default()
}
}
}

View file

@ -0,0 +1,33 @@
mod command;
mod header;
mod reward;
pub use command::{LogicClaimRewardCommand, LogicCommand};
pub use header::LogicCommandHeader;
pub use reward::LogicReward;
pub mod command_type {
pub const CLAIM_REWARD: i32 = 213;
pub const ADD_CHEST: i32 = 214;
pub const ADD_SPELLS: i32 = 216;
pub const SWAP_SPELLS: i32 = 500;
pub const START_EXPLORING: i32 = 502;
pub const START_REWARD_CLAIM: i32 = 503;
pub const FUSE_SPELLS: i32 = 504;
pub const SPEED_UP_EXPLORING: i32 = 506;
pub const SELL_CHEST: i32 = 507;
pub const UPDATE_LAST_SHOWN_LEVEL_UP: i32 = 516;
pub const CANCEL_CHEST_OPEN: i32 = 517;
pub const COLLECT_FREE_CHEST: i32 = 518;
pub const SORT_COLLECTION: i32 = 520;
pub const MOVE_SPELL: i32 = 521;
pub const COLLECT_MULTI_WIN_CHEST: i32 = 523;
pub const HELP_OPENED: i32 = 531;
pub const SHOP_OPENED: i32 = 532;
pub const REFRESH_ACHIEVEMENTS: i32 = 538;
pub const PAGE_OPENED: i32 = 539;
}
pub mod chest_source {
pub const SLOT: i32 = 1;
pub const FREE: i32 = 2;
pub const CROWN: i32 = 3;
pub const PURCHASED: i32 = 4;
}

View file

@ -0,0 +1,29 @@
use titan::Payload;
use crate::model::LogicSpell;
#[derive(Debug, Default, Clone, PartialEq, Eq, Payload)]
pub struct LogicReward {
#[codec(null_list)]
pub spells: Option<Vec<LogicSpell>>,
#[codec(vint)]
pub gold: i32,
#[codec(vint)]
pub diamonds: i32,
}
impl LogicReward {
pub fn new(spells: Vec<LogicSpell>, gold: i32, diamonds: i32) -> Self {
Self {
spells: Some(spells),
gold,
diamonds,
}
}
pub fn spell_count(&self) -> usize {
self.spells.as_ref().map(Vec::len).unwrap_or_default()
}
pub fn card_copies(&self) -> i32 {
self.spells
.as_ref()
.map(|spells| spells.iter().map(|spell| spell.count).sum())
.unwrap_or_default()
}
}

View file

@ -0,0 +1,39 @@
use titan::Payload;
use crate::commands::command_type;
use crate::commands::header::LogicCommandHeader;
use crate::commands::reward::LogicReward;
#[derive(Debug, Default, Clone, PartialEq, Eq, Payload)]
pub struct LogicClaimRewardCommand {
pub reward: Option<LogicReward>,
#[codec(vint)]
pub chest_id: i32,
#[codec(vint)]
pub chest_source: i32,
#[codec(vint)]
pub server_command_id: i32,
pub header: LogicCommandHeader,
}
impl LogicClaimRewardCommand {
pub fn new(reward: LogicReward, chest_id: i32, chest_source: i32) -> Self {
Self {
reward: Some(reward),
chest_id,
chest_source,
server_command_id: 0,
header: LogicCommandHeader::default(),
}
}
}
#[derive(Debug, Clone, PartialEq, Eq, Payload)]
#[codec(tag = vint)]
pub enum ServerCommand {
#[codec(id = command_type::CLAIM_REWARD)]
ClaimReward { command: LogicClaimRewardCommand },
}
impl ServerCommand {
pub fn command_type(&self) -> i32 {
match self {
ServerCommand::ClaimReward { .. } => command_type::CLAIM_REWARD,
}
}
}

View file

@ -0,0 +1,218 @@
use std::fmt;
use std::sync::Arc;
use titan::{ByteStreamReader, ByteStreamWriter, GlobalId, Payload, Result};
use crate::data::logic_data::LogicData;
use crate::data::logic_data_tables::LogicDataTables;
use crate::data::tables::table;
use crate::data::typed::{
LogicArenaData, LogicRarityData, LogicResourceData, LogicSpellData, LogicTreasureChestData,
};
#[derive(Clone, Default)]
pub enum LogicDataRef {
#[default]
None,
Resolved(Arc<LogicData>),
Unresolved(GlobalId),
}
impl LogicDataRef {
pub fn of(table_index: i32, instance_id: i32) -> Self {
Self::from_global_id(GlobalId::new(table_index, instance_id))
}
pub fn from_global_id(global_id: GlobalId) -> Self {
match LogicDataTables::instance().data_by_id(global_id) {
Some(data) => LogicDataRef::Resolved(Arc::clone(data)),
None => LogicDataRef::Unresolved(global_id),
}
}
pub fn by_name(table_index: i32, name: &str) -> Self {
match LogicDataTables::instance().data_by_name(table_index, name) {
Some(data) => LogicDataRef::Resolved(Arc::clone(data)),
None => LogicDataRef::None,
}
}
pub fn spell(name: &str) -> Self {
Self::by_name(table::SPELLS, name)
}
pub fn arena(name: &str) -> Self {
Self::by_name(table::ARENAS, name)
}
pub fn resource(name: &str) -> Self {
Self::by_name(table::RESOURCES, name)
}
pub fn treasure_chest(name: &str) -> Self {
Self::by_name(table::TREASURE_CHESTS, name)
}
pub fn is_none(&self) -> bool {
matches!(self, LogicDataRef::None)
}
pub fn is_resolved(&self) -> bool {
matches!(self, LogicDataRef::Resolved(_))
}
pub fn global_id(&self) -> Option<GlobalId> {
match self {
LogicDataRef::None => None,
LogicDataRef::Resolved(data) => Some(data.global_id()),
LogicDataRef::Unresolved(id) => Some(*id),
}
}
pub fn table_index(&self) -> Option<i32> {
self.global_id().map(|id| id.class_id)
}
pub fn instance_id(&self) -> Option<i32> {
self.global_id().map(|id| id.instance_id)
}
pub fn data(&self) -> Option<&Arc<LogicData>> {
match self {
LogicDataRef::Resolved(data) => Some(data),
_ => None,
}
}
pub fn name(&self) -> &str {
self.data().map(|data| data.name()).unwrap_or("")
}
pub fn belongs_to(&self, table_index: i32) -> bool {
let Some(class_id) = self.table_index() else {
return false;
};
class_id == table_index || LogicDataTables::members_of(table_index).contains(&class_id)
}
fn typed<T>(&self, table_index: i32, wrap: fn(Arc<LogicData>) -> T) -> Option<T> {
self.belongs_to(table_index)
.then(|| self.data().map(|data| wrap(Arc::clone(data))))
.flatten()
}
pub fn as_spell(&self) -> Option<LogicSpellData> {
self.typed(table::SPELLS, LogicSpellData::new)
}
pub fn as_arena(&self) -> Option<LogicArenaData> {
self.typed(table::ARENAS, LogicArenaData::new)
}
pub fn as_resource(&self) -> Option<LogicResourceData> {
self.typed(table::RESOURCES, LogicResourceData::new)
}
pub fn as_treasure_chest(&self) -> Option<LogicTreasureChestData> {
self.typed(table::TREASURE_CHESTS, LogicTreasureChestData::new)
}
pub fn as_rarity(&self) -> Option<LogicRarityData> {
self.typed(table::RARITIES, LogicRarityData::new)
}
}
impl PartialEq for LogicDataRef {
fn eq(&self, other: &Self) -> bool {
self.global_id() == other.global_id()
}
}
impl Eq for LogicDataRef {}
impl fmt::Debug for LogicDataRef {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self.global_id() {
None => f.write_str("LogicDataRef(none)"),
Some(id) => match self.name() {
"" => write!(f, "LogicDataRef({id})"),
name => write!(f, "LogicDataRef({id} {name})"),
},
}
}
}
impl fmt::Display for LogicDataRef {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match (self.global_id(), self.name()) {
(None, _) => f.write_str("-"),
(Some(id), "") => write!(f, "{id}"),
(Some(_), name) => f.write_str(name),
}
}
}
impl From<GlobalId> for LogicDataRef {
fn from(value: GlobalId) -> Self {
Self::from_global_id(value)
}
}
impl From<Arc<LogicData>> for LogicDataRef {
fn from(value: Arc<LogicData>) -> Self {
LogicDataRef::Resolved(value)
}
}
impl Payload for LogicDataRef {
fn encode(&self, writer: &mut ByteStreamWriter) -> Result<()> {
match self.global_id() {
None => writer.write_vint(0),
Some(id) => {
writer.write_vint(id.class_id);
writer.write_vint(id.instance_id);
}
}
Ok(())
}
fn decode(reader: &mut ByteStreamReader<'_>) -> Result<Self> {
let class_id = reader.read_vint()?;
if class_id == 0 {
return Ok(LogicDataRef::None);
}
let instance_id = reader.read_vint()?;
Ok(Self::from_global_id(GlobalId::new(class_id, instance_id)))
}
}
#[cfg(feature = "serde")]
mod serde_support {
use serde::de::{self, MapAccess, Visitor};
use serde::ser::SerializeMap;
use serde::{Deserialize, Deserializer, Serialize, Serializer};
use super::LogicDataRef;
impl Serialize for LogicDataRef {
fn serialize<S: Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error> {
let Some(id) = self.global_id() else {
return serializer.serialize_none();
};
let mut map = serializer.serialize_map(Some(2))?;
map.serialize_entry("table", &id.class_id)?;
match self.name() {
"" => map.serialize_entry("instance", &id.instance_id)?,
name => map.serialize_entry("name", name)?,
}
map.end()
}
}
#[derive(Deserialize)]
struct Repr {
table: i32,
#[serde(default)]
name: Option<String>,
#[serde(default)]
instance: Option<i32>,
}
impl<'de> Deserialize<'de> for LogicDataRef {
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
struct RefVisitor;
impl<'de> Visitor<'de> for RefVisitor {
type Value = LogicDataRef;
fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
formatter.write_str("null or a { table, name | instance } object")
}
fn visit_unit<E: de::Error>(self) -> Result<Self::Value, E> {
Ok(LogicDataRef::None)
}
fn visit_none<E: de::Error>(self) -> Result<Self::Value, E> {
Ok(LogicDataRef::None)
}
fn visit_some<D: Deserializer<'de>>(
self,
deserializer: D,
) -> Result<Self::Value, D::Error> {
deserializer.deserialize_any(RefVisitor)
}
fn visit_map<A: MapAccess<'de>>(self, map: A) -> Result<Self::Value, A::Error> {
let repr = Repr::deserialize(de::value::MapAccessDeserializer::new(map))?;
if let Some(instance) = repr.instance {
return Ok(LogicDataRef::of(repr.table, instance));
}
let name = repr.name.ok_or_else(|| {
de::Error::custom("a data reference needs either `name` or `instance`")
})?;
Ok(LogicDataRef::by_name(repr.table, &name))
}
}
deserializer.deserialize_option(RefVisitor)
}
}
}

View file

@ -0,0 +1,74 @@
use std::sync::Arc;
use titan::{CsvRow, CsvTable, GlobalId};
#[derive(Debug, Clone)]
pub struct LogicData {
csv_table: Arc<CsvTable>,
row_index: usize,
global_id: GlobalId,
name: String,
}
impl LogicData {
pub fn new(csv_table: Arc<CsvTable>, row_index: usize, table_index: i32) -> Self {
let name = csv_table
.row_at(row_index)
.map(|row| row.string(0).to_owned())
.unwrap_or_default();
Self {
csv_table,
row_index,
global_id: GlobalId::new(table_index, row_index as i32),
name,
}
}
pub fn name(&self) -> &str {
&self.name
}
pub fn global_id(&self) -> GlobalId {
self.global_id
}
pub fn table_index(&self) -> i32 {
self.global_id.class_id
}
pub fn instance_id(&self) -> i32 {
self.global_id.instance_id
}
pub fn row_index(&self) -> usize {
self.row_index
}
pub fn csv_table(&self) -> &Arc<CsvTable> {
&self.csv_table
}
pub fn row(&self) -> Option<&CsvRow> {
self.csv_table.row_at(self.row_index)
}
pub fn array_size(&self) -> usize {
self.row().map(CsvRow::array_size).unwrap_or_default()
}
fn column(&self, name: &str) -> Option<usize> {
self.csv_table.column_index(name)
}
pub fn int(&self, column: &str) -> i32 {
match (self.row(), self.column(column)) {
(Some(row), Some(index)) => row.int(index),
_ => 0,
}
}
pub fn int_at(&self, column: &str, level: usize) -> i32 {
match (self.row(), self.column(column)) {
(Some(row), Some(index)) => row.scaled_int(index, level),
_ => 0,
}
}
pub fn string(&self, column: &str) -> &str {
match (self.row(), self.column(column)) {
(Some(row), Some(index)) => row.string(index),
_ => "",
}
}
pub fn boolean(&self, column: &str) -> bool {
match (self.row(), self.column(column)) {
(Some(row), Some(index)) => row.boolean(index),
_ => false,
}
}
}

View file

@ -0,0 +1,52 @@
use std::collections::HashMap;
use std::sync::Arc;
use titan::CsvTable;
use crate::data::logic_data::LogicData;
#[derive(Debug, Clone)]
pub struct LogicDataTable {
table_index: i32,
csv_table: Arc<CsvTable>,
items: Vec<Arc<LogicData>>,
by_name: HashMap<String, usize>,
}
impl LogicDataTable {
pub fn load(table_index: i32, csv_table: CsvTable) -> Self {
let csv_table = Arc::new(csv_table);
let items: Vec<Arc<LogicData>> = (0..csv_table.row_count())
.map(|row_index| Arc::new(LogicData::new(Arc::clone(&csv_table), row_index, table_index)))
.collect();
let by_name = items
.iter()
.enumerate()
.filter(|(_, item)| !item.name().is_empty())
.map(|(index, item)| (item.name().to_owned(), index))
.collect();
Self {
table_index,
csv_table,
items,
by_name,
}
}
pub fn table_index(&self) -> i32 {
self.table_index
}
pub fn csv_table(&self) -> &Arc<CsvTable> {
&self.csv_table
}
pub fn count(&self) -> usize {
self.items.len()
}
pub fn is_empty(&self) -> bool {
self.items.is_empty()
}
pub fn get_at(&self, index: usize) -> Option<&Arc<LogicData>> {
self.items.get(index)
}
pub fn get_by_name(&self, name: &str) -> Option<&Arc<LogicData>> {
self.by_name.get(name).and_then(|index| self.items.get(*index))
}
pub fn iter(&self) -> impl Iterator<Item = &Arc<LogicData>> {
self.items.iter()
}
}

View file

@ -0,0 +1,217 @@
use std::collections::HashMap;
use std::path::Path;
use std::sync::{Arc, OnceLock, RwLock};
use titan::{CsvError, CsvReader, GlobalId};
use crate::data::logic_data::LogicData;
use crate::data::logic_data_table::LogicDataTable;
use crate::data::tables::table;
pub const TABLE_COUNT: usize = 62;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct LogicDataTableResource {
pub file_name: &'static str,
pub table_index: i32,
}
impl LogicDataTableResource {
const fn new(file_name: &'static str, table_index: i32) -> Self {
Self {
file_name,
table_index,
}
}
}
pub const DATA_TABLE_RESOURCES: &[LogicDataTableResource] = &[
LogicDataTableResource::new("csv_logic/locales.csv", table::LOCALES),
LogicDataTableResource::new("csv_logic/globals.csv", table::GLOBALS),
LogicDataTableResource::new("csv_logic/resources.csv", table::RESOURCES),
LogicDataTableResource::new("csv_logic/damage_types.csv", table::DAMAGE_TYPES),
LogicDataTableResource::new("csv_logic/character_buffs.csv", table::CHARACTER_BUFFS),
LogicDataTableResource::new("csv_logic/projectiles.csv", table::PROJECTILES),
LogicDataTableResource::new("csv_logic/predefined_decks.csv", table::PREDEFINED_DECKS),
LogicDataTableResource::new("csv_logic/eggs.csv", table::EGGS),
LogicDataTableResource::new("csv_logic/rarities.csv", table::RARITIES),
LogicDataTableResource::new("csv_logic/locations.csv", table::LOCATIONS),
LogicDataTableResource::new("csv_logic/npcs.csv", table::NPCS),
LogicDataTableResource::new("csv_logic/treasure_chests.csv", table::TREASURE_CHESTS),
LogicDataTableResource::new("csv_logic/area_effect_objects.csv", table::AREA_EFFECT_OBJECTS),
LogicDataTableResource::new("csv_logic/spells_characters.csv", table::SPELLS_CHARACTERS),
LogicDataTableResource::new("csv_logic/spells_buildings.csv", table::SPELLS_BUILDINGS),
LogicDataTableResource::new("csv_logic/spells_other.csv", table::SPELLS_OTHER),
LogicDataTableResource::new("csv_logic/characters.csv", table::CHARACTERS),
LogicDataTableResource::new("csv_logic/buildings.csv", table::BUILDINGS),
LogicDataTableResource::new("csv_logic/decos.csv", table::DECOS),
LogicDataTableResource::new("csv_logic/gamble_chests.csv", table::GAMBLE_CHESTS),
LogicDataTableResource::new("csv_logic/spawn_points.csv", table::SPAWN_POINTS),
LogicDataTableResource::new("csv_logic/tutorials_home.csv", table::TUTORIALS_HOME),
LogicDataTableResource::new("csv_logic/exp_levels.csv", table::EXP_LEVELS),
LogicDataTableResource::new("csv_logic/tutorials_npc.csv", table::TUTORIALS_NPC),
LogicDataTableResource::new("csv_logic/spell_sets.csv", table::SPELL_SETS),
LogicDataTableResource::new("csv_logic/chest_order.csv", table::CHEST_ORDER),
LogicDataTableResource::new("csv_logic/taunts.csv", table::TAUNTS),
LogicDataTableResource::new("csv_logic/arenas.csv", table::ARENAS),
LogicDataTableResource::new("csv_logic/resource_packs.csv", table::RESOURCE_PACKS),
LogicDataTableResource::new("csv_logic/regions.csv", table::REGIONS),
LogicDataTableResource::new("csv_logic/alliance_roles.csv", table::ALLIANCE_ROLES),
LogicDataTableResource::new("csv_logic/alliance_badges.csv", table::ALLIANCE_BADGES),
LogicDataTableResource::new("csv_logic/achievements.csv", table::ACHIEVEMENTS),
LogicDataTableResource::new("csv_client/music.csv", table::MUSIC),
LogicDataTableResource::new("csv_client/background_decos.csv", table::BACKGROUND_DECOS),
LogicDataTableResource::new("csv_client/billing_packages.csv", table::BILLING_PACKAGES),
LogicDataTableResource::new("csv_client/sounds.csv", table::SOUNDS),
LogicDataTableResource::new("csv_client/effects.csv", table::EFFECTS),
LogicDataTableResource::new("csv_client/particle_emitters.csv", table::PARTICLE_EMITTERS),
LogicDataTableResource::new("csv_client/health_bars.csv", table::HEALTH_BARS),
LogicDataTableResource::new("csv_client/client_globals.csv", table::CLIENT_GLOBALS),
LogicDataTableResource::new("csv_client/credits.csv", table::CREDITS),
LogicDataTableResource::new("csv_client/news.csv", table::NEWS),
LogicDataTableResource::new("csv_client/hints.csv", table::HINTS),
];
pub const COMBINED_TABLES: &[(i32, &[i32])] = &[
(table::SPELLS, &[
table::SPELLS_CHARACTERS,
table::SPELLS_BUILDINGS,
table::SPELLS_OTHER,
]),
(table::CHARACTERS_COMBINED, &[table::CHARACTERS, table::BUILDINGS]),
(table::TUTORIALS_COMBINED, &[
table::TUTORIALS_HOME,
table::TUTORIALS_NPC,
]),
];
#[derive(Debug, thiserror::Error)]
pub enum DataError {
#[error("{file}: {source}")]
Csv {
file: String,
#[source]
source: CsvError,
},
#[error("no data table was found under {0}")]
NothingLoaded(String),
}
static INSTANCE: RwLock<Option<Arc<LogicDataTables>>> = RwLock::new(None);
static EMPTY: OnceLock<Arc<LogicDataTables>> = OnceLock::new();
#[derive(Debug, Default)]
pub struct LogicDataTables {
tables: HashMap<i32, Arc<LogicDataTable>>,
loaded_files: Vec<String>,
skipped_files: Vec<String>,
}
impl LogicDataTables {
pub fn empty() -> Self {
Self::default()
}
pub fn install(tables: Arc<LogicDataTables>) -> bool {
let mut slot = INSTANCE.write().expect("data table lock poisoned");
slot.replace(tables).is_none()
}
pub fn instance() -> Arc<LogicDataTables> {
match INSTANCE.read().expect("data table lock poisoned").as_ref() {
Some(tables) => Arc::clone(tables),
None => Arc::clone(EMPTY.get_or_init(|| Arc::new(LogicDataTables::empty()))),
}
}
pub fn is_installed() -> bool {
INSTANCE
.read()
.expect("data table lock poisoned")
.as_ref()
.map(|tables| tables.is_loaded())
.unwrap_or(false)
}
pub fn load_from_dir(root: impl AsRef<Path>) -> Result<Self, DataError> {
let root = root.as_ref();
let mut tables = HashMap::new();
let mut loaded_files = Vec::new();
let mut skipped_files = Vec::new();
for resource in DATA_TABLE_RESOURCES {
let path = root.join(resource.file_name);
if !path.is_file() {
skipped_files.push(resource.file_name.to_owned());
continue;
}
let csv = CsvReader::parse_file(&path).map_err(|source| DataError::Csv {
file: resource.file_name.to_owned(),
source,
})?;
tables.insert(
resource.table_index,
Arc::new(LogicDataTable::load(resource.table_index, csv)),
);
loaded_files.push(resource.file_name.to_owned());
}
if tables.is_empty() {
return Err(DataError::NothingLoaded(root.display().to_string()));
}
Ok(Self {
tables,
loaded_files,
skipped_files,
})
}
pub fn is_loaded(&self) -> bool {
!self.tables.is_empty()
}
pub fn loaded_files(&self) -> &[String] {
&self.loaded_files
}
pub fn skipped_files(&self) -> &[String] {
&self.skipped_files
}
pub fn table(&self, table_index: i32) -> Option<&Arc<LogicDataTable>> {
self.tables.get(&table_index)
}
pub fn members_of(table_index: i32) -> &'static [i32] {
COMBINED_TABLES
.iter()
.find(|(combined, _)| *combined == table_index)
.map(|(_, members)| *members)
.unwrap_or(&[])
}
pub fn data_by_id(&self, id: GlobalId) -> Option<&Arc<LogicData>> {
self.table(id.class_id)?.get_at(id.instance_id as usize)
}
pub fn data_by_name(&self, table_index: i32, name: &str) -> Option<&Arc<LogicData>> {
if let Some(table) = self.table(table_index) {
if let Some(data) = table.get_by_name(name) {
return Some(data);
}
}
Self::members_of(table_index)
.iter()
.find_map(|member| self.table(*member)?.get_by_name(name))
}
pub fn global_id_by_name(&self, table_index: i32, name: &str) -> Option<GlobalId> {
self.data_by_name(table_index, name)
.map(|data| data.global_id())
}
pub fn spell_by_name(&self, name: &str) -> Option<&Arc<LogicData>> {
self.data_by_name(table::SPELLS, name)
}
pub fn arena_by_name(&self, name: &str) -> Option<&Arc<LogicData>> {
self.data_by_name(table::ARENAS, name)
}
pub fn resource_by_name(&self, name: &str) -> Option<&Arc<LogicData>> {
self.data_by_name(table::RESOURCES, name)
}
pub fn treasure_chest_by_name(&self, name: &str) -> Option<&Arc<LogicData>> {
self.data_by_name(table::TREASURE_CHESTS, name)
}
pub fn exp_level_count(&self) -> usize {
self.table(table::EXP_LEVELS).map(|table| table.count()).unwrap_or(0)
}
pub fn globals(&self) -> Option<&Arc<LogicDataTable>> {
self.table(table::GLOBALS)
}
pub fn global_int(&self, name: &str, fallback: i32) -> i32 {
self.globals()
.and_then(|table| table.get_by_name(name).cloned())
.map(|data| data.int("NumberValue"))
.unwrap_or(fallback)
}
pub fn global_boolean(&self, name: &str, fallback: bool) -> bool {
self.globals()
.and_then(|table| table.get_by_name(name).cloned())
.map(|data| data.boolean("BooleanValue"))
.unwrap_or(fallback)
}
}

View file

@ -0,0 +1,16 @@
mod data_ref;
mod logic_data;
mod logic_data_table;
mod logic_data_tables;
mod tables;
mod typed;
pub use data_ref::LogicDataRef;
pub use logic_data::LogicData;
pub use logic_data_table::LogicDataTable;
pub use logic_data_tables::{
DataError, LogicDataTableResource, LogicDataTables, DATA_TABLE_RESOURCES, TABLE_COUNT,
};
pub use tables::{table, DataId, RESOURCE_DIAMONDS, RESOURCE_FREE_GOLD, RESOURCE_GOLD};
pub use typed::{
LogicArenaData, LogicRarityData, LogicResourceData, LogicSpellData, LogicTreasureChestData,
};

View file

@ -0,0 +1,87 @@
use crate::data::data_ref::LogicDataRef;
pub mod table {
pub const LOCALES: i32 = 1;
pub const BILLING_PACKAGES: i32 = 2;
pub const GLOBALS: i32 = 3;
pub const SOUNDS: i32 = 4;
pub const RESOURCES: i32 = 5;
pub const CHARACTERS_COMBINED: i32 = 6;
pub const SPELLS: i32 = 7;
pub const DAMAGE_TYPES: i32 = 8;
pub const CHARACTER_BUFFS: i32 = 9;
pub const PROJECTILES: i32 = 10;
pub const EFFECTS: i32 = 11;
pub const PREDEFINED_DECKS: i32 = 12;
pub const EGGS: i32 = 13;
pub const RARITIES: i32 = 14;
pub const LOCATIONS: i32 = 15;
pub const ALLIANCE_BADGES: i32 = 16;
pub const NPCS: i32 = 18;
pub const TREASURE_CHESTS: i32 = 19;
pub const CLIENT_GLOBALS: i32 = 20;
pub const PARTICLE_EMITTERS: i32 = 21;
pub const AREA_EFFECT_OBJECTS: i32 = 22;
pub const SPELLS_CHARACTERS: i32 = 26;
pub const SPELLS_BUILDINGS: i32 = 27;
pub const SPELLS_OTHER: i32 = 28;
pub const CHARACTERS: i32 = 34;
pub const BUILDINGS: i32 = 35;
pub const HEALTH_BARS: i32 = 40;
pub const MUSIC: i32 = 41;
pub const DECOS: i32 = 42;
pub const GAMBLE_CHESTS: i32 = 43;
pub const SPAWN_POINTS: i32 = 44;
pub const TUTORIALS_HOME: i32 = 45;
pub const EXP_LEVELS: i32 = 46;
pub const TUTORIALS_NPC: i32 = 48;
pub const TUTORIALS_COMBINED: i32 = 49;
pub const BACKGROUND_DECOS: i32 = 50;
pub const SPELL_SETS: i32 = 51;
pub const CHEST_ORDER: i32 = 52;
pub const TAUNTS: i32 = 53;
pub const ARENAS: i32 = 54;
pub const RESOURCE_PACKS: i32 = 55;
pub const CREDITS: i32 = 56;
pub const REGIONS: i32 = 57;
pub const NEWS: i32 = 58;
pub const ALLIANCE_ROLES: i32 = 59;
pub const ACHIEVEMENTS: i32 = 60;
pub const HINTS: i32 = 61;
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DataId;
impl DataId {
pub fn of(table: i32, instance: i32) -> LogicDataRef {
LogicDataRef::of(table, instance)
}
pub fn arena(instance: i32) -> LogicDataRef {
Self::of(table::ARENAS, instance)
}
pub fn character_card(instance: i32) -> LogicDataRef {
Self::of(table::SPELLS_CHARACTERS, instance)
}
pub fn building_card(instance: i32) -> LogicDataRef {
Self::of(table::SPELLS_BUILDINGS, instance)
}
pub fn other_card(instance: i32) -> LogicDataRef {
Self::of(table::SPELLS_OTHER, instance)
}
pub fn treasure_chest(instance: i32) -> LogicDataRef {
Self::of(table::TREASURE_CHESTS, instance)
}
pub fn resource(instance: i32) -> LogicDataRef {
Self::of(table::RESOURCES, instance)
}
pub fn chest_order(instance: i32) -> LogicDataRef {
Self::of(table::CHEST_ORDER, instance)
}
pub fn locale(instance: i32) -> LogicDataRef {
Self::of(table::LOCALES, instance)
}
pub fn alliance_badge(instance: i32) -> LogicDataRef {
Self::of(table::ALLIANCE_BADGES, instance)
}
}
pub const RESOURCE_GOLD: &str = "Gold";
pub const RESOURCE_DIAMONDS: &str = "Diamonds";
pub const RESOURCE_FREE_GOLD: &str = "FreeGold";

View file

@ -0,0 +1,124 @@
use std::sync::Arc;
use crate::data::logic_data::LogicData;
macro_rules! typed_data {
($name:ident) => {
#[derive(Debug, Clone)]
pub struct $name(Arc<LogicData>);
impl $name {
pub fn new(data: Arc<LogicData>) -> Self {
Self(data)
}
pub fn data(&self) -> &Arc<LogicData> {
&self.0
}
pub fn name(&self) -> &str {
self.0.name()
}
pub fn global_id(&self) -> titan::GlobalId {
self.0.global_id()
}
pub fn instance_id(&self) -> i32 {
self.0.instance_id()
}
pub fn int(&self, column: &str) -> i32 {
self.0.int(column)
}
pub fn int_at(&self, column: &str, level: usize) -> i32 {
self.0.int_at(column, level)
}
pub fn string(&self, column: &str) -> &str {
self.0.string(column)
}
pub fn boolean(&self, column: &str) -> bool {
self.0.boolean(column)
}
}
};
}
typed_data!(LogicSpellData);
typed_data!(LogicArenaData);
typed_data!(LogicResourceData);
typed_data!(LogicTreasureChestData);
typed_data!(LogicRarityData);
impl LogicSpellData {
pub fn rarity(&self) -> &str {
self.string("Rarity")
}
pub fn mana_cost(&self) -> i32 {
self.int("ManaCost")
}
pub fn unlock_arena(&self) -> &str {
self.string("UnlockArena")
}
pub fn not_in_use(&self) -> bool {
self.boolean("NotInUse")
}
pub fn tid(&self) -> &str {
self.string("TID")
}
}
impl LogicArenaData {
pub fn arena_index(&self) -> i32 {
self.int("Arena")
}
pub fn trophy_limit(&self) -> i32 {
self.int("TrophyLimit")
}
pub fn demote_trophy_limit(&self) -> i32 {
self.int("DemoteTrophyLimit")
}
pub fn is_training_camp(&self) -> bool {
self.boolean("TrainingCamp")
}
pub fn daily_donation_capacity_limit(&self) -> i32 {
self.int("MaxDonationCount")
}
pub fn request_size(&self) -> i32 {
self.int("RequestSize")
}
}
impl LogicResourceData {
pub fn cap(&self) -> i32 {
self.int("Cap")
}
}
impl LogicTreasureChestData {
pub fn arena(&self) -> &str {
self.string("Arena")
}
pub fn total_time_taken_seconds(&self) -> i32 {
self.int("TimeTakenDays") * 86_400
+ self.int("TimeTakenHours") * 3_600
+ self.int("TimeTakenMinutes") * 60
+ self.int("TimeTakenSeconds")
}
pub fn random_spells(&self) -> i32 {
self.int("RandomSpells")
}
pub fn different_spells(&self) -> i32 {
self.int("DifferentSpells")
}
pub fn min_gold(&self) -> i32 {
self.int("MinGold")
}
pub fn max_gold(&self) -> i32 {
self.int("MaxGold")
}
}
impl LogicRarityData {
pub fn level_count(&self) -> i32 {
self.int("LevelCount")
}
pub fn relative_level(&self) -> i32 {
self.int("RelativeLevel")
}
pub fn upgrade_cost(&self, level: usize) -> i32 {
self.int_at("UpgradeCost", level)
}
pub fn upgrade_material_count(&self, level: usize) -> i32 {
self.int_at("UpgradeMaterialCount", level)
}
pub fn donate_capacity(&self) -> i32 {
self.int("DonateCapacity")
}
}

View file

@ -0,0 +1,36 @@
use titan::{message_registry, MessageRegistry};
use crate::messages::{
AskForAvatarStreamMessage, AskForBattleReplayStreamMessage,
AskForPlayingFacebookFriendsMessage, AskForTVContentMessage, AvailableServerCommandMessage,
ClientCapabilitiesMessage, EndClientTurnMessage, GoHomeMessage, KeepAliveMessage,
KeepAliveServerMessage, LoginFailedMessage, LoginMessage, LoginOkMessage, OwnHomeDataMessage,
OutOfSyncMessage, ServerErrorMessage, SetDeviceTokenMessage, StartMissionMessage,
};
pub struct LogicScrollMessageFactory;
impl LogicScrollMessageFactory {
pub fn registry() -> MessageRegistry {
scroll_message_registry()
}
}
pub fn scroll_message_registry() -> MessageRegistry {
message_registry![
LoginMessage,
ClientCapabilitiesMessage,
KeepAliveMessage,
GoHomeMessage,
EndClientTurnMessage,
StartMissionMessage,
SetDeviceTokenMessage,
AskForPlayingFacebookFriendsMessage,
AskForTVContentMessage,
AskForAvatarStreamMessage,
AskForBattleReplayStreamMessage,
LoginOkMessage,
LoginFailedMessage,
KeepAliveServerMessage,
OwnHomeDataMessage,
AvailableServerCommandMessage,
OutOfSyncMessage,
ServerErrorMessage,
]
}

View file

@ -0,0 +1,231 @@
use crate::commands::{chest_source, LogicCommand, LogicReward};
use crate::data::{LogicDataRef, LogicRarityData};
use crate::model::{
LogicClientAvatar, LogicClientHome, LogicSpell, LogicTimer, TICKS_PER_SECOND,
};
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum CommandOutcome {
ClaimStarted { source: i32, chest_id: i32 },
Upgraded { spell: LogicDataRef, level: i32, gold_spent: i32 },
Applied,
Rejected(&'static str),
Ignored,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct LogicHomeMode {
home: LogicClientHome,
avatar: LogicClientAvatar,
tick: i32,
current_timestamp: i32,
claiming_reward: bool,
}
impl LogicHomeMode {
pub fn new(home: LogicClientHome, avatar: LogicClientAvatar, current_timestamp: i32) -> Self {
Self {
home,
avatar,
tick: 0,
current_timestamp,
claiming_reward: false,
}
}
pub fn home(&self) -> &LogicClientHome {
&self.home
}
pub fn home_mut(&mut self) -> &mut LogicClientHome {
&mut self.home
}
pub fn avatar(&self) -> &LogicClientAvatar {
&self.avatar
}
pub fn avatar_mut(&mut self) -> &mut LogicClientAvatar {
&mut self.avatar
}
pub fn tick_count(&self) -> i32 {
self.tick
}
pub fn current_timestamp(&self) -> i32 {
self.current_timestamp
}
pub fn set_current_timestamp(&mut self, timestamp: i32) {
self.current_timestamp = timestamp;
}
pub fn is_claiming_reward(&self) -> bool {
self.claiming_reward
}
pub fn checksum(&self) -> i32 {
self.home
.chest_id_counter
.wrapping_add((self.home.spell_collection.spells.len() as i32) << 16)
}
pub fn tick(&mut self) {
for timer in self.timers_mut() {
if timer.remaining_ticks > 0 {
timer.remaining_ticks -= 1;
}
}
for chest in self.home.chest_slots.iter_mut().flatten() {
if let Some(timer) = chest.unlock_timer.as_mut() {
if timer.remaining_ticks > 0 {
timer.remaining_ticks -= 1;
} else {
chest.unlocked = true;
}
}
}
self.tick += 1;
if self.tick % TICKS_PER_SECOND == 0 {
self.current_timestamp = self.current_timestamp.saturating_add(1);
}
}
pub fn fast_forward_to_tick(&mut self, target_tick: i32, tick_limit: i32) -> i32 {
let mut executed = 0;
while self.tick < target_tick && executed < tick_limit {
self.tick();
executed += 1;
}
if self.tick < target_tick {
self.tick = target_tick;
}
executed
}
fn timers_mut(&mut self) -> impl Iterator<Item = &mut LogicTimer> {
[
&mut self.home.free_chest_timer,
&mut self.home.donation_cooldown_timer,
&mut self.home.donation_capacity_limit_timer,
&mut self.home.star_chest_timer,
&mut self.home.request_spells_cooldown_timer,
&mut self.home.shop_timer,
&mut self.home.share_replay_cooldown_timer,
&mut self.home.send_team_mail_cooldown_timer,
]
.into_iter()
}
pub fn execute(&mut self, command: &LogicCommand) -> CommandOutcome {
match command {
LogicCommand::ClaimReward { .. } => CommandOutcome::Ignored,
LogicCommand::CollectFreeChest { .. } => self.start_claim(chest_source::FREE, 0),
LogicCommand::CollectMultiWinChest { .. } => self.start_claim(chest_source::CROWN, 0),
LogicCommand::StartRewardClaim { chest_id, .. } => {
self.start_claim(chest_source::SLOT, *chest_id)
}
LogicCommand::FuseSpells { spell, .. } => self.upgrade_spell(spell),
LogicCommand::SortCollection { sort_mode, .. } => {
self.home.spell_collection.current_sort = *sort_mode;
CommandOutcome::Applied
}
LogicCommand::PageOpened { page, .. } => {
if (0..32).contains(page) {
self.home.opened_pages |= 1 << page;
}
CommandOutcome::Applied
}
LogicCommand::HelpOpened { .. }
| LogicCommand::ShopOpened { .. }
| LogicCommand::RefreshAchievements { .. } => CommandOutcome::Applied,
}
}
fn start_claim(&mut self, source: i32, chest_id: i32) -> CommandOutcome {
if self.claiming_reward {
return CommandOutcome::Rejected("a reward claim is already in progress");
}
self.claiming_reward = true;
CommandOutcome::ClaimStarted { source, chest_id }
}
pub fn apply_reward(&mut self, reward: &LogicReward) {
for spell in reward.spells.iter().flatten() {
self.grant_spell(spell);
}
self.avatar.diamonds = self.avatar.diamonds.saturating_add(reward.diamonds);
self.add_gold(reward.gold);
self.claiming_reward = false;
}
fn grant_spell(&mut self, granted: &LogicSpell) {
if let Some(spell) = self.find_spell_mut(&granted.data) {
spell.count = spell.count.saturating_add(granted.count);
return;
}
if let Some(slot) = self.free_selected_deck_slot() {
*slot = Some(granted.clone());
return;
}
self.home.spell_collection.spells.push(granted.clone());
}
fn free_selected_deck_slot(&mut self) -> Option<&mut Option<LogicSpell>> {
let index = self.home.selected_deck_index.max(0) as usize;
self.home
.decks
.get_mut(index)?
.slots
.iter_mut()
.find(|slot| slot.is_none())
}
fn upgrade_spell(&mut self, data: &LogicDataRef) -> CommandOutcome {
let rarity = rarity_of(data);
let Some(spell) = self.find_spell_mut(data) else {
return CommandOutcome::Rejected("the avatar does not own this card");
};
let level_index = spell.level_index;
let (cost, material) = match &rarity {
Some(rarity) => (
rarity.upgrade_cost(level_index as usize),
rarity.upgrade_material_count(level_index as usize),
),
None => (0, 0),
};
if let Some(rarity) = &rarity {
if level_index + 1 >= rarity.level_count() {
return CommandOutcome::Rejected("the card is already at its maximum level");
}
}
if spell.count < material {
return CommandOutcome::Rejected("not enough cards to upgrade");
}
if self.gold() < cost {
return CommandOutcome::Rejected("not enough gold to upgrade");
}
let spell = self.find_spell_mut(data).expect("card present");
spell.count -= material;
spell.level_index += 1;
let level = spell.level_index + 1;
self.add_gold(-cost);
CommandOutcome::Upgraded {
spell: data.clone(),
level,
gold_spent: cost,
}
}
fn find_spell_mut(&mut self, data: &LogicDataRef) -> Option<&mut LogicSpell> {
self.home
.decks
.iter_mut()
.flat_map(|deck| deck.slots.iter_mut().flatten())
.chain(self.home.spell_collection.spells.iter_mut())
.find(|spell| &spell.data == data)
}
pub fn gold(&self) -> i32 {
self.avatar
.commodities
.types
.first()
.and_then(|slots| slots.first())
.map(|slot| slot.count)
.unwrap_or(0)
}
pub fn add_gold(&mut self, amount: i32) {
if let Some(slot) = self
.avatar
.commodities
.types
.first_mut()
.and_then(|slots| slots.first_mut())
{
slot.count = slot.count.saturating_add(amount).max(0);
}
}
}
fn rarity_of(data: &LogicDataRef) -> Option<LogicRarityData> {
let name = data.as_spell()?.rarity().to_owned();
LogicDataRef::by_name(crate::data::table::RARITIES, &name).as_rarity()
}

View file

@ -0,0 +1,2 @@
mod logic_home_mode;
pub use logic_home_mode::{CommandOutcome, LogicHomeMode};

20
logic/logic/src/lib.rs Normal file
View file

@ -0,0 +1,20 @@
pub mod commands;
pub mod data;
pub mod home;
pub mod factory;
pub mod messages;
pub mod model;
pub use data::{
table, DataError, LogicArenaData, LogicData, LogicDataRef, LogicDataTable,
LogicDataTableResource, LogicDataTables, LogicRarityData, LogicResourceData, LogicSpellData,
LogicTreasureChestData, DATA_TABLE_RESOURCES, TABLE_COUNT,
};
pub use factory::{scroll_message_registry, LogicScrollMessageFactory};
pub use commands::{
chest_source, command_type, LogicClaimRewardCommand, LogicCommand, LogicCommandHeader,
LogicReward,
};
pub use home::{CommandOutcome, LogicHomeMode};
pub use messages::*;
pub use model::*;
pub use titan::{GlobalId, LogicLong};

View file

@ -0,0 +1,19 @@
use titan::Message;
use crate::commands::{LogicClaimRewardCommand, LogicCommand};
#[derive(Debug, Clone, PartialEq, Eq, Message)]
#[message(id = 24111, direction = "server", name = "AvailableServerCommandMessage")]
pub struct AvailableServerCommandMessage {
pub command: LogicCommand,
}
impl AvailableServerCommandMessage {
pub fn claim_reward(command: LogicClaimRewardCommand) -> Self {
Self {
command: LogicCommand::ClaimReward { command },
}
}
}
impl Default for AvailableServerCommandMessage {
fn default() -> Self {
Self::claim_reward(LogicClaimRewardCommand::default())
}
}

View file

@ -0,0 +1,7 @@
use titan::Message;
#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Message)]
#[message(id = 10107, direction = "client", name = "ClientCapabilitiesMessage")]
pub struct ClientCapabilitiesMessage {
#[codec(vint)]
pub ping_ms: i32,
}

View file

@ -0,0 +1,25 @@
use titan::{LogicLong, Message};
#[derive(Debug, Default, Clone, PartialEq, Eq, Message)]
#[message(id = 10113, direction = "client", name = "SetDeviceTokenMessage")]
pub struct SetDeviceTokenMessage {
#[codec(bytes)]
pub device_token: Option<Vec<u8>>,
}
#[derive(Debug, Default, Clone, PartialEq, Eq, Message)]
#[message(id = 10513, direction = "client", name = "AskForPlayingFacebookFriendsMessage")]
pub struct AskForPlayingFacebookFriendsMessage {
#[codec(string, null_list)]
pub facebook_ids: Option<Vec<Option<String>>>,
}
#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Message)]
#[message(id = 14402, direction = "client", name = "AskForTVContentMessage")]
pub struct AskForTVContentMessage {}
#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Message)]
#[message(id = 14405, direction = "client", name = "AskForAvatarStreamMessage")]
pub struct AskForAvatarStreamMessage {}
#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Message)]
#[message(id = 14406, direction = "client", name = "AskForBattleReplayStreamMessage")]
pub struct AskForBattleReplayStreamMessage {
#[codec(long)]
pub avatar_id: LogicLong,
}

View file

@ -0,0 +1,14 @@
use titan::Message;
use crate::commands::LogicCommand;
#[derive(Debug, Default, Clone, PartialEq, Eq, Message)]
#[message(id = 14102, direction = "client", name = "EndClientTurnMessage")]
#[codec(partial)]
pub struct EndClientTurnMessage {
#[codec(vint)]
pub tick: i32,
#[codec(vint)]
pub checksum: i32,
pub commands: Vec<LogicCommand>,
#[codec(bytes, stop_if_eof)]
pub trailing: Option<Vec<u8>>,
}

View file

@ -0,0 +1,7 @@
use titan::Message;
#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Message)]
#[message(id = 14101, direction = "client", name = "GoHomeMessage")]
pub struct GoHomeMessage {
#[codec(bool)]
pub from_offer_wall: bool,
}

View file

@ -0,0 +1,7 @@
use titan::Message;
#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Message)]
#[message(id = 10108, direction = "client", name = "KeepAliveMessage")]
pub struct KeepAliveMessage {}
#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Message)]
#[message(id = 20108, direction = "server", name = "KeepAliveServerMessage")]
pub struct KeepAliveServerMessage {}

View file

@ -0,0 +1,58 @@
use titan::{LogicLong, Message};
use crate::data::LogicDataRef;
#[derive(Debug, Default, Clone, PartialEq, Eq, Message)]
#[message(id = 10101, direction = "client", name = "LoginMessage")]
#[codec(partial)]
pub struct LoginMessage {
#[codec(long)]
pub account_id: LogicLong,
#[codec(string)]
pub pass_token: Option<String>,
#[codec(vint)]
pub client_major_version: i32,
#[codec(vint)]
pub client_minor_version: i32,
#[codec(vint)]
pub client_build: i32,
#[codec(string)]
pub resource_sha: Option<String>,
#[codec(string)]
pub udid: Option<String>,
#[codec(string)]
pub open_udid: Option<String>,
#[codec(string)]
pub mac_address: Option<String>,
#[codec(string)]
pub device: Option<String>,
#[codec(string)]
pub advertising_id: Option<String>,
#[codec(string)]
pub os_version: Option<String>,
#[codec(bool)]
pub android: bool,
#[codec(string_ref)]
pub reserved_device_string: String,
#[codec(string_ref)]
pub android_id: String,
#[codec(string_ref, stop_if_eof)]
pub preferred_device_language: String,
pub preferred_language: LogicDataRef,
#[codec(string_ref, stop_if_eof)]
pub facebook_attribution_id: String,
#[codec(bool)]
pub advertising_enabled: bool,
#[codec(string)]
pub apple_identifier_for_vendor: Option<String>,
}
impl LoginMessage {
pub fn is_new_account(&self) -> bool {
self.account_id.is_zero() || self.pass_token.is_none()
}
pub fn client_version(&self) -> (i32, i32, i32) {
(
self.client_major_version,
self.client_minor_version,
self.client_build,
)
}
}

View file

@ -0,0 +1,40 @@
use titan::Message;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum LoginFailureReason {
ClientVersionTooOld = 8,
PatchContent = 7,
ServerMaintenance = 10,
Banned = 11,
AccountNotFound = 12,
Generic = 1,
}
#[derive(Debug, Default, Clone, PartialEq, Eq, Message)]
#[message(id = 20103, direction = "server", name = "LoginFailedMessage")]
pub struct LoginFailedMessage {
#[codec(vint)]
pub error_code: i32,
#[codec(string)]
pub fingerprint_json: Option<String>,
#[codec(string)]
pub redirect_domain: Option<String>,
#[codec(string)]
pub content_url: Option<String>,
#[codec(vint)]
pub remaining_seconds: i32,
}
impl LoginFailedMessage {
pub fn with_reason(reason: LoginFailureReason) -> Self {
Self {
error_code: reason as i32,
..Self::default()
}
}
pub fn patch(fingerprint_json: String, content_url: String) -> Self {
Self {
error_code: LoginFailureReason::PatchContent as i32,
fingerprint_json: Some(fingerprint_json),
content_url: Some(content_url),
..Self::default()
}
}
}

View file

@ -0,0 +1,39 @@
use titan::{LogicLong, Message};
#[derive(Debug, Default, Clone, PartialEq, Eq, Message)]
#[message(id = 20104, direction = "server", name = "LoginOkMessage")]
pub struct LoginOkMessage {
#[codec(long)]
pub account_id: LogicLong,
#[codec(long)]
pub home_id: LogicLong,
#[codec(string)]
pub pass_token: Option<String>,
#[codec(string)]
pub facebook_id: Option<String>,
#[codec(string)]
pub gamecenter_id: Option<String>,
#[codec(vint)]
pub server_major_version: i32,
#[codec(vint)]
pub server_minor_version: i32,
#[codec(vint)]
pub server_build: i32,
#[codec(vint)]
pub content_version: i32,
#[codec(string)]
pub server_environment: Option<String>,
#[codec(vint)]
pub session_count: i32,
#[codec(vint)]
pub play_time_seconds: i32,
#[codec(vint)]
pub days_since_started_playing: i32,
#[codec(string)]
pub facebook_app_id: Option<String>,
#[codec(string)]
pub server_time: Option<String>,
#[codec(string)]
pub account_created_date: Option<String>,
#[codec(vint)]
pub startup_cooldown_seconds: i32,
}

View file

@ -0,0 +1,51 @@
mod available_server_command;
mod client_capabilities;
mod client_requests;
mod end_client_turn;
mod go_home;
mod keep_alive;
mod login;
mod login_failed;
mod login_ok;
mod out_of_sync;
mod own_home_data;
mod server_error;
mod start_mission;
pub use available_server_command::AvailableServerCommandMessage;
pub use client_capabilities::ClientCapabilitiesMessage;
pub use client_requests::{
AskForAvatarStreamMessage, AskForBattleReplayStreamMessage, AskForPlayingFacebookFriendsMessage,
AskForTVContentMessage, SetDeviceTokenMessage,
};
pub use end_client_turn::EndClientTurnMessage;
pub use go_home::GoHomeMessage;
pub use keep_alive::{KeepAliveMessage, KeepAliveServerMessage};
pub use login::LoginMessage;
pub use login_failed::{LoginFailedMessage, LoginFailureReason};
pub use login_ok::LoginOkMessage;
pub use out_of_sync::OutOfSyncMessage;
pub use own_home_data::OwnHomeDataMessage;
pub use server_error::ServerErrorMessage;
pub use start_mission::StartMissionMessage;
pub mod message_type {
pub const LOGIN: u16 = 10101;
pub const CLIENT_CAPABILITIES: u16 = 10107;
pub const SET_DEVICE_TOKEN: u16 = 10113;
pub const ASK_FOR_PLAYING_FACEBOOK_FRIENDS: u16 = 10513;
pub const ASK_FOR_TV_CONTENT: u16 = 14402;
pub const ASK_FOR_AVATAR_STREAM: u16 = 14405;
pub const ASK_FOR_BATTLE_REPLAY_STREAM: u16 = 14406;
pub const KEEP_ALIVE: u16 = 10108;
pub const GO_HOME: u16 = 14101;
pub const END_CLIENT_TURN: u16 = 14102;
pub const START_MISSION: u16 = 14104;
pub const SERVER_HELLO: u16 = 20100;
pub const LOGIN_FAILED: u16 = 20103;
pub const LOGIN_OK: u16 = 20104;
pub const KEEP_ALIVE_SERVER: u16 = 20108;
pub const OWN_HOME_DATA: u16 = 24101;
pub const AVAILABLE_SERVER_COMMAND: u16 = 24111;
pub const OWN_AVATAR_DATA: u16 = 24102;
pub const OUT_OF_SYNC: u16 = 24104;
pub const SERVER_ERROR: u16 = 24115;
}

View file

@ -0,0 +1,11 @@
use titan::Message;
#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Message)]
#[message(id = 24104, direction = "server", name = "OutOfSyncMessage")]
pub struct OutOfSyncMessage {
#[codec(vint)]
pub server_checksum: i32,
#[codec(vint)]
pub client_checksum: i32,
#[codec(vint)]
pub tick: i32,
}

View file

@ -0,0 +1,19 @@
use titan::Message;
use crate::model::{LogicClientAvatar, LogicClientHome};
#[derive(Debug, Default, Clone, PartialEq, Eq, Message)]
#[message(id = 24101, direction = "server", name = "OwnHomeDataMessage")]
pub struct OwnHomeDataMessage {
pub home: LogicClientHome,
pub avatar: LogicClientAvatar,
#[codec(vint)]
pub random_seed: i32,
}
impl OwnHomeDataMessage {
pub fn new(home: LogicClientHome, avatar: LogicClientAvatar, random_seed: i32) -> Self {
Self {
home,
avatar,
random_seed,
}
}
}

View file

@ -0,0 +1,14 @@
use titan::Message;
#[derive(Debug, Default, Clone, PartialEq, Eq, Message)]
#[message(id = 24115, direction = "server", name = "ServerErrorMessage")]
pub struct ServerErrorMessage {
#[codec(string)]
pub message: Option<String>,
}
impl ServerErrorMessage {
pub fn new(message: impl Into<String>) -> Self {
Self {
message: Some(message.into()),
}
}
}

View file

@ -0,0 +1,7 @@
use titan::Message;
use crate::data::LogicDataRef;
#[derive(Debug, Default, Clone, PartialEq, Eq, Message)]
#[message(id = 14104, direction = "client", name = "StartMissionMessage")]
pub struct StartMissionMessage {
pub npc: LogicDataRef,
}

View file

@ -0,0 +1,48 @@
use titan::Payload;
use crate::data::{LogicDataRef, LogicTreasureChestData};
use crate::model::LogicTimer;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum ChestSource {
Free = 0,
Battle = 1,
Crown = 2,
Shop = 3,
Reward = 4,
}
#[derive(Debug, Default, Clone, PartialEq, Eq, Payload)]
pub struct LogicChest {
pub data: LogicDataRef,
#[codec(bool)]
pub unlocked: bool,
#[codec(bool)]
pub claimed: bool,
#[codec(bool)]
pub is_new: bool,
pub unlock_timer: Option<LogicTimer>,
#[codec(vint)]
pub chest_id: i32,
#[codec(vint)]
pub source: i32,
#[codec(vint)]
pub slot_index: i32,
}
impl LogicChest {
pub fn locked(data: LogicDataRef, chest_id: i32, slot_index: i32, source: ChestSource) -> Self {
Self {
data,
unlocked: false,
claimed: false,
is_new: true,
unlock_timer: None,
chest_id,
source: source as i32,
slot_index,
}
}
pub fn is_unlocking(&self) -> bool {
self.unlock_timer.is_some()
}
pub fn treasure_chest_data(&self) -> Option<LogicTreasureChestData> {
self.data.as_treasure_chest()
}
}

View file

@ -0,0 +1,99 @@
use titan::{LogicLong, Payload};
use crate::data::{LogicArenaData, LogicDataRef};
use crate::model::LogicDataSlot;
pub const COMMODITY_TYPE_COUNT: usize = 6;
#[derive(Debug, Clone, PartialEq, Eq, Payload)]
pub struct LogicCommodityStore {
#[codec(vint)]
pub type_count: i32,
pub types: [Vec<LogicDataSlot>; COMMODITY_TYPE_COUNT],
}
impl Default for LogicCommodityStore {
fn default() -> Self {
Self {
type_count: COMMODITY_TYPE_COUNT as i32,
types: Default::default(),
}
}
}
impl LogicCommodityStore {
pub fn set(&mut self, commodity_type: usize, slots: Vec<LogicDataSlot>) {
if let Some(entry) = self.types.get_mut(commodity_type) {
*entry = slots;
}
}
pub fn push(&mut self, commodity_type: usize, slot: LogicDataSlot) {
if let Some(entry) = self.types.get_mut(commodity_type) {
entry.push(slot);
}
}
}
#[derive(Debug, Default, Clone, PartialEq, Eq, Payload)]
pub struct LogicAllianceInfo {
#[codec(vlong)]
pub alliance_id: LogicLong,
#[codec(string_ref)]
pub name: String,
pub badge: LogicDataRef,
#[codec(vint)]
pub role: i32,
}
#[derive(Debug, Default, Clone, PartialEq, Eq, Payload)]
pub struct LogicClientAvatar {
#[codec(vlong)]
pub avatar_id: LogicLong,
#[codec(vlong)]
pub account_id: LogicLong,
#[codec(vlong)]
pub home_id: LogicLong,
#[codec(string_ref)]
pub name: String,
#[codec(bool)]
pub name_set_by_user: bool,
#[codec(vint)]
pub name_change_state: i32,
pub arena: LogicDataRef,
#[codec(vint)]
pub score: i32,
#[codec(bool)]
pub legacy_flag: bool,
pub commodities: LogicCommodityStore,
#[codec(vint)]
pub diamonds: i32,
#[codec(vint)]
pub free_diamonds: i32,
#[codec(vint)]
pub exp_points: i32,
#[codec(vint)]
pub exp_level: i32,
#[codec(vint)]
pub cumulative_purchased_diamonds: i32,
pub alliance: Option<LogicAllianceInfo>,
#[codec(vint)]
pub battle_count: i32,
#[codec(vint)]
pub win_count: i32,
#[codec(vint)]
pub lose_count: i32,
#[codec(vint)]
pub win_loose_streak: i32,
#[codec(vint)]
pub npc_win_count: i32,
#[codec(vint)]
pub npc_lose_count: i32,
#[codec(bool)]
pub arena_before_last_npc_match: bool,
}
impl LogicClientAvatar {
pub fn is_in_alliance(&self) -> bool {
self.alliance.is_some()
}
pub fn arena_data(&self) -> Option<LogicArenaData> {
self.arena.as_arena()
}
pub fn total_battle_count(&self) -> i32 {
self.battle_count
.saturating_add(self.npc_win_count)
.saturating_add(self.npc_lose_count)
}
}

View file

@ -0,0 +1,85 @@
use titan::{LogicLong, Payload};
use crate::data::{LogicArenaData, LogicDataRef};
use crate::model::{LogicChest, LogicDataSlot, LogicSpellCollection, LogicSpellDeck, LogicTimer};
pub const TUTORIAL_BITSET_WORDS: usize = 8;
#[derive(Debug, Default, Clone, PartialEq, Eq, Payload)]
pub struct LogicClientHome {
#[codec(long)]
pub home_id: LogicLong,
#[codec(vint)]
pub chest_id_counter: i32,
#[codec(vint)]
pub free_chest_collect_count: i32,
pub donation_capacity_limit_timer: LogicTimer,
#[codec(vint)]
pub donated_capacity: i32,
pub decks: Vec<LogicSpellDeck>,
pub spell_collection: LogicSpellCollection,
#[codec(vint)]
pub selected_deck_index: i32,
pub chest_slots: Vec<Option<LogicChest>>,
pub free_chest_timer: LogicTimer,
pub donation_cooldown_timer: LogicTimer,
pub free_chest: Option<LogicChest>,
pub purchased_chest: Option<LogicChest>,
#[codec(vint)]
pub crowns_towards_crown_chest: i32,
#[codec(bool)]
pub star_chest_timer_pending: bool,
pub star_chest_timer: LogicTimer,
pub crown_chest: Option<LogicChest>,
pub request_spells_cooldown_timer: LogicTimer,
#[codec(vint)]
pub finished_tutorials: [i32; TUTORIAL_BITSET_WORDS],
#[codec(vint)]
pub opened_pages: i32,
#[codec(vint)]
pub last_shown_level_up: i32,
pub arena: LogicDataRef,
#[codec(vint)]
pub shop_seed: i32,
#[codec(vint)]
pub shop_weekday_index: i32,
#[codec(vint)]
pub shop_weekday_index_seen: i32,
pub shop_timer: LogicTimer,
pub shop_spells: Vec<LogicDataSlot>,
pub share_replay_cooldown_timer: LogicTimer,
pub send_team_mail_cooldown_timer: LogicTimer,
#[codec(vint)]
pub free_chest_diamond_index: i32,
#[codec(vint)]
pub crown_chest_diamond_index: i32,
#[codec(vint)]
pub card_usage_stats_battle_count: i32,
#[codec(vint)]
pub royal_tv_replay_version_major: i32,
#[codec(vint)]
pub royal_tv_replay_version_build: i32,
#[codec(vint)]
pub royal_tv_replay_version_content: i32,
#[codec(vint)]
pub seen_replay_ids: Vec<i32>,
#[codec(string)]
pub card_request_message: Option<String>,
pub requested_cards: Vec<LogicDataRef>,
}
impl LogicClientHome {
pub fn selected_deck(&self) -> Option<&LogicSpellDeck> {
self.decks.get(self.selected_deck_index.max(0) as usize)
}
pub fn total_spell_count(&self) -> usize {
self.spell_collection.spells.len()
+ self
.decks
.iter()
.map(LogicSpellDeck::filled_slot_count)
.sum::<usize>()
}
pub fn finish_all_tutorials(&mut self) {
self.finished_tutorials = [-1; TUTORIAL_BITSET_WORDS];
}
pub fn arena_data(&self) -> Option<LogicArenaData> {
self.arena.as_arena()
}
}

View file

@ -0,0 +1,16 @@
use titan::Payload;
use crate::data::LogicDataRef;
#[derive(Debug, Default, Clone, PartialEq, Eq, Payload)]
pub struct LogicDataSlot {
pub data: LogicDataRef,
#[codec(vint)]
pub count: i32,
}
impl LogicDataSlot {
pub fn new(data: LogicDataRef, count: i32) -> Self {
Self { data, count }
}
pub fn resource(&self) -> Option<crate::data::LogicResourceData> {
self.data.as_resource()
}
}

View file

@ -0,0 +1,12 @@
mod chest;
mod client_avatar;
mod client_home;
mod data_slot;
mod spell;
mod timer;
pub use chest::{ChestSource, LogicChest};
pub use client_avatar::{LogicAllianceInfo, LogicClientAvatar, LogicCommodityStore, COMMODITY_TYPE_COUNT};
pub use client_home::{LogicClientHome, TUTORIAL_BITSET_WORDS};
pub use data_slot::LogicDataSlot;
pub use spell::{LogicSpell, LogicSpellCollection, LogicSpellDeck, DECK_SLOT_COUNT};
pub use timer::{LogicTimer, TICKS_PER_SECOND};

View file

@ -0,0 +1,82 @@
use titan::Payload;
use crate::data::LogicDataRef;
pub const DECK_SLOT_COUNT: usize = 8;
#[derive(Debug, Default, Clone, PartialEq, Eq, Payload)]
pub struct LogicSpell {
pub data: LogicDataRef,
#[codec(vint)]
pub level_index: i32,
#[codec(vint)]
pub create_time: i32,
#[codec(vint)]
pub count: i32,
#[codec(vint)]
pub new_count: i32,
#[codec(vint)]
pub recent_use_count: i32,
#[codec(bool)]
pub new_upgrade_available: bool,
#[codec(bool)]
pub show_new_icon: bool,
}
impl LogicSpell {
pub fn card(data: LogicDataRef, level_index: i32, count: i32) -> Self {
Self {
data,
level_index,
count,
..Self::default()
}
}
pub fn spell_data(&self) -> Option<crate::data::LogicSpellData> {
self.data.as_spell()
}
pub fn mana_cost(&self) -> i32 {
self.spell_data().map(|data| data.mana_cost()).unwrap_or(0)
}
pub fn rarity(&self) -> Option<crate::data::LogicRarityData> {
let name = self.spell_data()?.rarity().to_owned();
LogicDataRef::by_name(crate::data::table::RARITIES, &name).as_rarity()
}
pub fn level(&self) -> i32 {
self.level_index + 1
}
}
#[derive(Debug, Clone, PartialEq, Eq, Payload)]
pub struct LogicSpellDeck {
#[codec(split)]
pub slots: [Option<LogicSpell>; DECK_SLOT_COUNT],
}
impl Default for LogicSpellDeck {
fn default() -> Self {
Self {
slots: std::array::from_fn(|_| None),
}
}
}
impl LogicSpellDeck {
pub fn from_cards(cards: impl IntoIterator<Item = LogicSpell>) -> Self {
let mut deck = Self::default();
for (slot, card) in deck.slots.iter_mut().zip(cards) {
*slot = Some(card);
}
deck
}
pub fn filled_slot_count(&self) -> usize {
self.slots.iter().flatten().count()
}
}
#[derive(Debug, Default, Clone, PartialEq, Eq, Payload)]
pub struct LogicSpellCollection {
pub spells: Vec<LogicSpell>,
#[codec(vint)]
pub current_sort: i32,
}
impl LogicSpellCollection {
pub fn from_spells(spells: Vec<LogicSpell>) -> Self {
Self {
spells,
current_sort: 0,
}
}
}

View file

@ -0,0 +1,30 @@
use titan::Payload;
#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Payload)]
pub struct LogicTimer {
#[codec(vint)]
pub remaining_ticks: i32,
#[codec(vint)]
pub total_ticks: i32,
#[codec(vint)]
pub end_timestamp: i32,
}
pub const TICKS_PER_SECOND: i32 = 20;
impl LogicTimer {
pub const fn idle() -> Self {
Self {
remaining_ticks: 0,
total_ticks: 0,
end_timestamp: -1,
}
}
pub fn started(seconds: i32, timestamp: i32) -> Self {
Self {
remaining_ticks: seconds.saturating_mul(TICKS_PER_SECOND),
total_ticks: seconds.saturating_mul(TICKS_PER_SECOND),
end_timestamp: seconds.saturating_add(timestamp),
}
}
pub const fn remaining_seconds(&self) -> i32 {
self.remaining_ticks / TICKS_PER_SECOND
}
}

View file

@ -0,0 +1,194 @@
use std::path::{Path, PathBuf};
use logic::{table, LogicDataTables};
use titan::GlobalId;
struct TempTree {
root: PathBuf,
}
impl TempTree {
fn new(label: &str) -> Self {
let root = std::env::temp_dir().join(format!(
"scroll-data-{label}-{}-{:?}",
std::process::id(),
std::thread::current().id()
));
let _ = std::fs::remove_dir_all(&root);
std::fs::create_dir_all(root.join("csv_logic")).expect("create tree");
Self { root }
}
fn write(&self, relative: &str, contents: &str) {
let path = self.root.join(relative);
if let Some(parent) = path.parent() {
std::fs::create_dir_all(parent).expect("create parent");
}
std::fs::write(path, contents).expect("write fixture");
}
fn path(&self) -> &Path {
&self.root
}
}
impl Drop for TempTree {
fn drop(&mut self) {
let _ = std::fs::remove_dir_all(&self.root);
}
}
fn fixture(label: &str) -> TempTree {
let tree = TempTree::new(label);
tree.write(
"csv_logic/spells_characters.csv",
concat!(
"Name,Rarity,ManaCost\n",
"string,string,int\n",
"Knight,Common,3\n",
"Archers,Common,3\n",
"Giant,Rare,5\n"
),
);
tree.write(
"csv_logic/spells_buildings.csv",
concat!(
"Name,Rarity,ManaCost\n",
"string,string,int\n",
"Cannon,Common,3\n",
"Tesla,Common,4\n"
),
);
tree.write(
"csv_logic/arenas.csv",
concat!(
"Name,Arena,TrophyLimit\n",
"string,int,int\n",
"TrainingCamp,0,0\n",
"Arena1,1,400\n"
),
);
tree.write(
"csv_logic/resources.csv",
concat!(
"Name,Cap\n",
"string,int\n",
"Gold,1000000\n",
"Diamonds,0\n",
"FreeGold,0\n"
),
);
tree
}
#[test]
fn tables_are_indexed_by_the_client_table_ids() {
let tree = fixture("ids");
let tables = LogicDataTables::load_from_dir(tree.path()).expect("load");
assert!(tables.is_loaded());
assert_eq!(tables.loaded_files().len(), 4);
assert!(!tables.skipped_files().is_empty());
assert_eq!(
tables.table(table::SPELLS_CHARACTERS).map(|t| t.count()),
Some(3)
);
assert_eq!(tables.table(table::ARENAS).map(|t| t.count()), Some(2));
assert!(tables.table(table::ACHIEVEMENTS).is_none());
}
#[test]
fn names_resolve_to_the_global_id_that_travels_on_the_wire() {
let tree = fixture("names");
let tables = LogicDataTables::load_from_dir(tree.path()).expect("load");
assert_eq!(
tables.global_id_by_name(table::SPELLS, "Knight"),
Some(GlobalId::new(table::SPELLS_CHARACTERS, 0))
);
assert_eq!(
tables.global_id_by_name(table::SPELLS, "Giant"),
Some(GlobalId::new(table::SPELLS_CHARACTERS, 2))
);
assert_eq!(
tables.global_id_by_name(table::SPELLS, "Tesla"),
Some(GlobalId::new(table::SPELLS_BUILDINGS, 1))
);
assert_eq!(tables.global_id_by_name(table::SPELLS, "Golem"), None);
assert_eq!(
tables.global_id_by_name(table::ARENAS, "Arena1"),
Some(GlobalId::new(table::ARENAS, 1))
);
assert_eq!(
tables.global_id_by_name(table::RESOURCES, "Gold"),
Some(GlobalId::new(table::RESOURCES, 0))
);
}
#[test]
fn a_global_id_resolves_back_to_its_row() {
let tree = fixture("roundtrip");
let tables = LogicDataTables::load_from_dir(tree.path()).expect("load");
let knight = tables
.data_by_id(GlobalId::new(table::SPELLS_CHARACTERS, 0))
.expect("knight");
assert_eq!(knight.name(), "Knight");
assert_eq!(knight.int("ManaCost"), 3);
assert_eq!(knight.string("Rarity"), "Common");
assert_eq!(knight.global_id(), GlobalId::new(table::SPELLS_CHARACTERS, 0));
assert!(tables
.data_by_id(GlobalId::new(table::SPELLS_CHARACTERS, 99))
.is_none());
}
#[test]
fn an_empty_directory_is_reported_rather_than_silently_accepted() {
let tree = TempTree::new("empty");
let error = LogicDataTables::load_from_dir(tree.path()).expect_err("must fail");
assert!(error.to_string().contains("no data table"));
assert!(!LogicDataTables::empty().is_loaded());
}
fn shipped_assets() -> Option<PathBuf> {
let root = Path::new(env!("CARGO_MANIFEST_DIR"))
.join("../../assets")
.canonicalize()
.ok()?;
root.join("csv_logic/spells_characters.csv").is_file().then_some(root)
}
#[test]
fn data_references_round_trip_whether_or_not_the_tables_are_installed() {
use titan::Payload;
let raw = logic::LogicDataRef::of(table::SPELLS_CHARACTERS, 3);
let bytes = raw.to_bytes().expect("encode");
let decoded = logic::LogicDataRef::from_bytes(&bytes).expect("decode");
assert_eq!(decoded, raw);
assert_eq!(decoded.global_id(), Some(GlobalId::new(table::SPELLS_CHARACTERS, 3)));
let empty = logic::LogicDataRef::None;
let bytes = empty.to_bytes().expect("encode");
assert_eq!(bytes, vec![0]);
assert!(logic::LogicDataRef::from_bytes(&bytes).expect("decode").is_none());
}
#[test]
fn installed_tables_turn_references_into_typed_data_classes() {
let Some(root) = shipped_assets() else {
eprintln!("assets/ is absent, skipping the typed data class check");
return;
};
let tables = LogicDataTables::load_from_dir(&root).expect("load");
logic::LogicDataTables::install(std::sync::Arc::new(tables));
let knight = logic::LogicDataRef::spell("Knight");
assert!(knight.is_resolved());
assert_eq!(knight.name(), "Knight");
assert_eq!(knight.to_string(), "Knight");
assert_eq!(
knight.global_id(),
Some(GlobalId::new(table::SPELLS_CHARACTERS, 0))
);
let spell = knight.as_spell().expect("spell data");
assert_eq!(spell.rarity(), "Common");
assert_eq!(spell.mana_cost(), 3);
assert!(knight.as_arena().is_none());
let arena = logic::LogicDataRef::arena("TrainingCamp");
let arena_data = arena.as_arena().expect("arena data");
assert!(arena_data.is_training_camp());
assert_eq!(arena_data.trophy_limit(), 0);
let card = logic::model::LogicSpell::card(knight.clone(), 0, 10);
assert_eq!(card.mana_cost(), 3);
assert_eq!(card.level(), 1);
let rarity = card.rarity().expect("rarity data");
assert_eq!(rarity.name(), "Common");
assert_eq!(rarity.level_count(), 12);
assert_eq!(rarity.upgrade_cost(0), 5);
let chest = logic::LogicDataRef::treasure_chest("Silver")
.as_treasure_chest()
.expect("chest data");
assert!(chest.total_time_taken_seconds() > 0);
assert!(chest.max_gold() >= chest.min_gold());
}

View file

@ -0,0 +1,163 @@
use logic::model::{
ChestSource, LogicAllianceInfo, LogicChest, LogicClientAvatar, LogicClientHome, LogicDataSlot,
LogicSpell, LogicSpellCollection, LogicSpellDeck, LogicTimer,
};
use logic::{DataId, LogicScrollMessageFactory, OwnHomeDataMessage};
use titan::{ByteStreamReader, ByteStreamWriter, LogicLong, MessageFactory, MessageMeta, Payload};
fn sample_message() -> OwnHomeDataMessage {
let deck = LogicSpellDeck::from_cards((0..8).map(|index| {
LogicSpell::card(DataId::character_card(index), index % 3, 10 + index)
}));
let collection = LogicSpellCollection::from_spells(
(0..12)
.map(|index| LogicSpell::card(DataId::character_card(index), 1, index))
.collect(),
);
let mut home = LogicClientHome {
home_id: LogicLong::new(0, 42),
chest_id_counter: 7,
free_chest_collect_count: 3,
donation_capacity_limit_timer: LogicTimer::started(86_400, 1_000),
donated_capacity: 12,
decks: vec![deck, LogicSpellDeck::default()],
spell_collection: collection,
selected_deck_index: 0,
chest_slots: vec![
Some(LogicChest::locked(
DataId::treasure_chest(0),
1,
0,
ChestSource::Battle,
)),
None,
Some(LogicChest {
unlock_timer: Some(LogicTimer::started(3_600, 500)),
..LogicChest::locked(DataId::treasure_chest(1), 2, 2, ChestSource::Crown)
}),
],
free_chest_timer: LogicTimer::started(14_400, 100),
donation_cooldown_timer: LogicTimer::idle(),
free_chest: Some(LogicChest::locked(
DataId::treasure_chest(2),
3,
-1,
ChestSource::Free,
)),
purchased_chest: None,
crowns_towards_crown_chest: 4,
star_chest_timer_pending: true,
star_chest_timer: LogicTimer::idle(),
crown_chest: None,
request_spells_cooldown_timer: LogicTimer::idle(),
finished_tutorials: [0; 8],
opened_pages: 0b1011,
last_shown_level_up: 2,
arena: DataId::arena(1),
shop_seed: -1,
shop_weekday_index: 3,
shop_weekday_index_seen: 3,
shop_timer: LogicTimer::started(600, 900),
shop_spells: vec![
LogicDataSlot::new(DataId::character_card(4), 1),
LogicDataSlot::new(DataId::other_card(2), 0),
],
share_replay_cooldown_timer: LogicTimer::idle(),
send_team_mail_cooldown_timer: LogicTimer::idle(),
free_chest_diamond_index: 1,
crown_chest_diamond_index: 2,
card_usage_stats_battle_count: 25,
royal_tv_replay_version_major: 2,
royal_tv_replay_version_build: 1306,
royal_tv_replay_version_content: 8,
seen_replay_ids: vec![5, -9, 1_000_000],
card_request_message: Some("need arrows".to_owned()),
requested_cards: vec![DataId::other_card(1), DataId::character_card(3)],
};
home.set_tutorial_finished(0);
home.set_tutorial_finished(37);
let mut avatar = LogicClientAvatar {
avatar_id: LogicLong::new(0, 42),
account_id: LogicLong::new(0, 42),
home_id: LogicLong::new(0, 42),
name: "BladeWise".to_owned(),
name_set_by_user: true,
name_change_state: -1,
arena: DataId::arena(1),
score: 1_337,
legacy_flag: false,
commodities: Default::default(),
diamonds: 500,
free_diamonds: 25,
exp_points: 90,
exp_level: 6,
cumulative_purchased_diamonds: 0,
alliance: Some(LogicAllianceInfo {
alliance_id: LogicLong::new(0, 9),
name: "Scroll Devs".to_owned(),
badge: DataId::alliance_badge(16_000_000),
role: 2,
}),
battle_count: 40,
win_count: 22,
lose_count: 18,
win_loose_streak: 3,
npc_win_count: 4,
npc_lose_count: 0,
arena_before_last_npc_match: true,
};
avatar
.commodities
.set(0, vec![LogicDataSlot::new(DataId::resource(0), 12_500)]);
avatar.commodities.set(
1,
vec![LogicDataSlot::new(DataId::character_card(0), 3)],
);
OwnHomeDataMessage::new(home, avatar, 0x5EED)
}
#[test]
fn own_home_data_roundtrips_byte_for_byte() {
let message = sample_message();
let bytes = message.to_bytes().unwrap();
let decoded = OwnHomeDataMessage::from_bytes(&bytes).unwrap();
assert_eq!(decoded, message);
assert_eq!(decoded.to_bytes().unwrap(), bytes);
let mut reader = ByteStreamReader::new(&bytes);
OwnHomeDataMessage::decode(&mut reader).unwrap();
assert_eq!(reader.remaining(), 0);
}
#[test]
fn own_home_data_starts_with_the_raw_big_endian_home_id() {
let message = sample_message();
let bytes = message.to_bytes().unwrap();
assert_eq!(&bytes[0..8], &[0, 0, 0, 0, 0, 0, 0, 42]);
assert_eq!(bytes[8], 7);
}
#[test]
fn message_metadata_matches_the_client_definition() {
assert_eq!(OwnHomeDataMessage::MESSAGE_TYPE, 24101);
assert_eq!(OwnHomeDataMessage::MESSAGE_VERSION, 0);
assert_eq!(OwnHomeDataMessage::NAME, "OwnHomeDataMessage");
}
#[test]
fn the_factory_decodes_registered_messages() {
let registry = LogicScrollMessageFactory::registry();
let message = sample_message();
let bytes = message.to_bytes().unwrap();
let decoded = registry.create(24101, 0, &bytes).unwrap();
assert_eq!(decoded.message_type(), 24101);
assert_eq!(decoded.name(), "OwnHomeDataMessage");
let concrete = decoded
.as_any()
.downcast_ref::<OwnHomeDataMessage>()
.expect("downcast");
assert_eq!(concrete, &message);
}
#[test]
fn empty_optionals_only_cost_a_single_packed_bit() {
let mut writer = ByteStreamWriter::new();
let home = LogicClientHome::default();
home.encode(&mut writer).unwrap();
let bytes = writer.into_inner();
let decoded = LogicClientHome::from_bytes(&bytes).unwrap();
assert_eq!(decoded, home);
}

View file

@ -0,0 +1,21 @@
[package]
name = "auth-service"
version.workspace = true
edition.workspace = true
license.workspace = true
description = "Account identity and session issuing service"
[dependencies]
service-rpc = { workspace = true }
tokio = { workspace = true }
thiserror = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
rand = { workspace = true }
async-trait = { workspace = true }
[[bin]]
name = "auth-service"
path = "src/main.rs"

View file

@ -0,0 +1,43 @@
use std::path::PathBuf;
#[derive(Debug, Clone)]
pub struct AuthConfig {
pub listen: String,
pub store_path: PathBuf,
pub min_client_build: i32,
pub max_client_build: i32,
pub content_fingerprint: Option<String>,
pub content_url: Option<String>,
}
impl Default for AuthConfig {
fn default() -> Self {
Self {
listen: "127.0.0.1:9401".to_owned(),
store_path: PathBuf::from("data/accounts.json"),
min_client_build: 0,
max_client_build: i32::MAX,
content_fingerprint: None,
content_url: None,
}
}
}
impl AuthConfig {
pub fn from_env() -> Self {
let defaults = Self::default();
Self {
listen: env_string("SCROLL_AUTH_LISTEN").unwrap_or(defaults.listen),
store_path: env_string("SCROLL_AUTH_STORE")
.map(PathBuf::from)
.unwrap_or(defaults.store_path),
min_client_build: env_i32("SCROLL_MIN_CLIENT_BUILD").unwrap_or(defaults.min_client_build),
max_client_build: env_i32("SCROLL_MAX_CLIENT_BUILD").unwrap_or(defaults.max_client_build),
content_fingerprint: env_string("SCROLL_CONTENT_FINGERPRINT"),
content_url: env_string("SCROLL_CONTENT_URL"),
}
}
}
pub fn env_string(key: &str) -> Option<String> {
std::env::var(key).ok().filter(|value| !value.is_empty())
}
pub fn env_i32(key: &str) -> Option<i32> {
env_string(key).and_then(|value| value.parse().ok())
}

View file

@ -0,0 +1,7 @@
pub mod config;
pub mod service;
pub mod store;
pub mod time;
pub use config::AuthConfig;
pub use service::AuthService;
pub use store::{Account, AccountStore};

View file

@ -0,0 +1,19 @@
use std::sync::Arc;
use auth_service::{AuthConfig, AuthService};
use service_rpc::serve;
use tokio::net::TcpListener;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
tracing_subscriber::fmt()
.with_env_filter(
tracing_subscriber::EnvFilter::try_from_default_env()
.unwrap_or_else(|_| tracing_subscriber::EnvFilter::new("info")),
)
.init();
let config = AuthConfig::from_env();
let listener = TcpListener::bind(&config.listen).await?;
tracing::info!(listen = %config.listen, "auth service listening");
let service = AuthService::bootstrap(config).await?;
serve(listener, Arc::clone(&service)).await?;
Ok(())
}

View file

@ -0,0 +1,137 @@
use std::sync::Arc;
use service_rpc::{
AccountRef, AuthApi, AuthRequest, AuthResponse, DeviceInfo, LoginOutcome, RpcResult, RpcService,
Session,
};
use crate::config::AuthConfig;
use crate::store::AccountStore;
use crate::time::{days_between, format_utc, unix_millis, unix_seconds};
pub const ERROR_CODE_GENERIC: i32 = 1;
pub const ERROR_CODE_PATCH: i32 = 7;
pub const ERROR_CODE_CLIENT_TOO_OLD: i32 = 8;
pub const ERROR_CODE_BANNED: i32 = 11;
pub struct AuthService {
config: AuthConfig,
store: Arc<AccountStore>,
}
impl AuthService {
pub async fn bootstrap(config: AuthConfig) -> std::io::Result<Arc<Self>> {
let store = Arc::new(AccountStore::open(&config.store_path).await?);
tracing::info!(
accounts = store.len().await,
store = %config.store_path.display(),
"account store ready"
);
Ok(Arc::new(Self { config, store }))
}
pub fn store(&self) -> &Arc<AccountStore> {
&self.store
}
fn version_verdict(&self, device: &DeviceInfo) -> Option<(i32, Option<String>)> {
if device.client_build < self.config.min_client_build {
return Some((
ERROR_CODE_CLIENT_TOO_OLD,
Some(format!(
"client build {} is older than the required {}",
device.client_build, self.config.min_client_build
)),
));
}
if device.client_build > self.config.max_client_build {
return Some((
ERROR_CODE_CLIENT_TOO_OLD,
Some(format!(
"client build {} is newer than the supported {}",
device.client_build, self.config.max_client_build
)),
));
}
None
}
}
#[async_trait::async_trait]
impl AuthApi for AuthService {
async fn login(
&self,
account: AccountRef,
pass_token: Option<String>,
device: DeviceInfo,
) -> RpcResult<LoginOutcome> {
if let Some((error_code, message)) = self.version_verdict(&device) {
tracing::warn!(%account, build = device.client_build, "rejecting outdated client");
return Ok(LoginOutcome::Rejected {
error_code,
message,
});
}
let stored = if account.is_zero() || pass_token.is_none() {
None
} else {
self.store.get(account).await
};
let stored = match stored {
Some(existing) => {
let presented = pass_token.as_deref().unwrap_or_default();
if existing.pass_token != presented {
tracing::warn!(%account, "pass token mismatch");
return Ok(LoginOutcome::Rejected {
error_code: ERROR_CODE_GENERIC,
message: Some("invalid pass token".to_owned()),
});
}
if existing.banned {
return Ok(LoginOutcome::Rejected {
error_code: ERROR_CODE_BANNED,
message: Some("account is banned".to_owned()),
});
}
existing
}
None => {
let created = self.store.create().await?;
tracing::info!(account = %created.account_ref(), "created account");
created
}
};
let refreshed = self
.store
.touch_session(stored.account_ref())
.await?
.unwrap_or(stored);
let now = unix_seconds();
Ok(LoginOutcome::Accepted(Session {
account: refreshed.account_ref(),
pass_token: refreshed.pass_token.clone(),
session_count: refreshed.session_count,
play_time_seconds: refreshed.play_time_seconds,
days_since_started_playing: days_between(refreshed.created_at, now),
account_created_date: format_utc(refreshed.created_at),
server_time: unix_millis().to_string(),
}))
}
async fn resolve(&self, account: AccountRef) -> RpcResult<bool> {
Ok(self.store.get(account).await.is_some())
}
}
#[async_trait::async_trait]
impl RpcService for AuthService {
type Request = AuthRequest;
type Response = AuthResponse;
fn service_name(&self) -> &'static str {
"auth"
}
async fn call(&self, request: AuthRequest) -> RpcResult<AuthResponse> {
match request {
AuthRequest::Login {
account,
pass_token,
device,
} => Ok(AuthResponse::Login(
self.login(account, pass_token, device).await?,
)),
AuthRequest::Resolve { account } => Ok(AuthResponse::Resolved {
known: self.resolve(account).await?,
}),
}
}
}

View file

@ -0,0 +1,139 @@
use std::collections::HashMap;
use std::path::{Path, PathBuf};
use rand::distributions::Alphanumeric;
use rand::Rng;
use serde::{Deserialize, Serialize};
use service_rpc::AccountRef;
use tokio::sync::RwLock;
use crate::time::unix_seconds;
pub const PASS_TOKEN_LEN: usize = 40;
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct Account {
pub high: i32,
pub low: i32,
pub pass_token: String,
pub created_at: i64,
pub last_seen_at: i64,
pub session_count: i32,
pub play_time_seconds: i32,
#[serde(default)]
pub banned: bool,
}
impl Account {
pub fn account_ref(&self) -> AccountRef {
AccountRef::new(self.high, self.low)
}
}
#[derive(Debug, Default, Serialize, Deserialize)]
struct StoreSnapshot {
next_low: i32,
accounts: Vec<Account>,
}
pub struct AccountStore {
path: PathBuf,
state: RwLock<StoreState>,
}
#[derive(Default)]
struct StoreState {
next_low: i32,
accounts: HashMap<AccountRef, Account>,
}
impl AccountStore {
pub async fn open(path: impl AsRef<Path>) -> std::io::Result<Self> {
let path = path.as_ref().to_path_buf();
let snapshot = match tokio::fs::read(&path).await {
Ok(bytes) => serde_json::from_slice::<StoreSnapshot>(&bytes).unwrap_or_default(),
Err(error) if error.kind() == std::io::ErrorKind::NotFound => StoreSnapshot::default(),
Err(error) => return Err(error),
};
let mut accounts = HashMap::with_capacity(snapshot.accounts.len());
for account in snapshot.accounts {
accounts.insert(account.account_ref(), account);
}
Ok(Self {
path,
state: RwLock::new(StoreState {
next_low: snapshot.next_low.max(1),
accounts,
}),
})
}
pub async fn create(&self) -> std::io::Result<Account> {
let now = unix_seconds();
let account = {
let mut state = self.state.write().await;
let low = state.next_low;
state.next_low = state.next_low.wrapping_add(1).max(1);
let account = Account {
high: 0,
low,
pass_token: generate_pass_token(),
created_at: now,
last_seen_at: now,
session_count: 0,
play_time_seconds: 0,
banned: false,
};
state.accounts.insert(account.account_ref(), account.clone());
account
};
self.persist().await?;
Ok(account)
}
pub async fn get(&self, account: AccountRef) -> Option<Account> {
self.state.read().await.accounts.get(&account).cloned()
}
pub async fn touch_session(&self, account: AccountRef) -> std::io::Result<Option<Account>> {
let updated = {
let mut state = self.state.write().await;
match state.accounts.get_mut(&account) {
None => None,
Some(stored) => {
let now = unix_seconds();
stored.play_time_seconds = stored
.play_time_seconds
.saturating_add(((now - stored.last_seen_at).clamp(0, 3_600)) as i32);
stored.last_seen_at = now;
stored.session_count = stored.session_count.saturating_add(1);
Some(stored.clone())
}
}
};
if updated.is_some() {
self.persist().await?;
}
Ok(updated)
}
pub async fn len(&self) -> usize {
self.state.read().await.accounts.len()
}
pub async fn is_empty(&self) -> bool {
self.state.read().await.accounts.is_empty()
}
async fn persist(&self) -> std::io::Result<()> {
let snapshot = {
let state = self.state.read().await;
StoreSnapshot {
next_low: state.next_low,
accounts: state.accounts.values().cloned().collect(),
}
};
let encoded = serde_json::to_vec_pretty(&snapshot)
.map_err(|error| std::io::Error::new(std::io::ErrorKind::InvalidData, error))?;
if let Some(parent) = self.path.parent() {
if !parent.as_os_str().is_empty() {
tokio::fs::create_dir_all(parent).await?;
}
}
let temporary = self.path.with_extension("json.tmp");
tokio::fs::write(&temporary, &encoded).await?;
tokio::fs::rename(&temporary, &self.path).await
}
}
pub fn generate_pass_token() -> String {
rand::thread_rng()
.sample_iter(&Alphanumeric)
.take(PASS_TOKEN_LEN)
.map(char::from)
.collect()
}

View file

@ -0,0 +1,44 @@
use std::time::{SystemTime, UNIX_EPOCH};
pub fn unix_seconds() -> i64 {
SystemTime::now()
.duration_since(UNIX_EPOCH)
.map(|elapsed| elapsed.as_secs() as i64)
.unwrap_or_default()
}
pub fn unix_millis() -> i64 {
SystemTime::now()
.duration_since(UNIX_EPOCH)
.map(|elapsed| elapsed.as_millis() as i64)
.unwrap_or_default()
}
pub fn format_utc(seconds: i64) -> String {
let days_since_epoch = seconds.div_euclid(86_400);
let seconds_of_day = seconds.rem_euclid(86_400);
let (year, month, day) = civil_from_days(days_since_epoch);
format!(
"{year:04}-{month:02}-{day:02}T{:02}:{:02}:{:02}Z",
seconds_of_day / 3_600,
(seconds_of_day % 3_600) / 60,
seconds_of_day % 60
)
}
fn civil_from_days(days: i64) -> (i64, u32, u32) {
let z = days + 719_468;
let era = z.div_euclid(146_097);
let day_of_era = z.rem_euclid(146_097);
let year_of_era =
(day_of_era - day_of_era / 1_460 + day_of_era / 36_524 - day_of_era / 146_096) / 365;
let year = year_of_era + era * 400;
let day_of_year = day_of_era - (365 * year_of_era + year_of_era / 4 - year_of_era / 100);
let shifted_month = (5 * day_of_year + 2) / 153;
let day = (day_of_year - (153 * shifted_month + 2) / 5 + 1) as u32;
let month = if shifted_month < 10 {
shifted_month + 3
} else {
shifted_month - 9
} as u32;
(year + i64::from(month <= 2), month, day)
}
pub fn days_between(from_seconds: i64, to_seconds: i64) -> i32 {
((to_seconds - from_seconds).max(0) / 86_400) as i32
}

Some files were not shown because too many files have changed in this diff Show more