├── Server ├── Database │ └── .gitkeep ├── Networking │ └── index.js └── DatabaseManager │ └── index.js ├── Titan ├── BitStream │ └── .gitkeep ├── Cryptography │ └── .gitkeep └── ByteStream │ ├── ByteArray.js │ └── index.js ├── .gitignore ├── start.bat ├── .gitattributes ├── Logic ├── Instances │ ├── Alliance.js │ ├── Server.js │ └── Player.js ├── Protocol │ ├── Commands │ │ ├── Avatar │ │ │ └── LogicChangeAvatarNameCommand.js │ │ └── Home │ │ │ ├── Server │ │ │ └── LogicGiveDeliveryItems.js │ │ │ └── Client │ │ │ └── LogicPurchaseCommand.js │ ├── Messages │ │ ├── Server │ │ │ ├── KeepAliveOKMessage.js │ │ │ ├── ServerHelloMessage.js │ │ │ ├── OwnHomeDataMessage.js │ │ │ ├── AvailableServerCommandMessage.js │ │ │ └── LoginOkMessage.js │ │ └── Client │ │ │ ├── GoHomeFromOfflinePractiseMessage.js │ │ │ ├── KeepAliveMessage.js │ │ │ ├── ClientHelloMessage.js │ │ │ ├── EndClientTurnMessage.js │ │ │ ├── ChangeAvatarNameMessage.js │ │ │ └── LoginMessage.js │ ├── PiranhaMessage.js │ └── MessageFactory.js ├── Home │ ├── ClientHome.js │ ├── Logic │ │ ├── LogicShopData.js │ │ ├── LogicConfData.js │ │ └── LogicDailyData.js │ └── ClientAvatar.js └── Assets │ ├── Csvreader.js │ └── Files │ └── csv_logic │ ├── characters.csv │ └── cards.csv ├── package.json └── README.md /Server/Database/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Titan/BitStream/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Titan/Cryptography/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | *.db 3 | -------------------------------------------------------------------------------- /start.bat: -------------------------------------------------------------------------------- 1 | cd Server/Networking 2 | node index.js 3 | pause 4 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /Logic/Instances/Alliance.js: -------------------------------------------------------------------------------- 1 | class Alliance{ 2 | id = 0 3 | tick = 0 4 | 5 | constructor(){ 6 | } 7 | } 8 | module.exports = Alliance -------------------------------------------------------------------------------- /Logic/Protocol/Commands/Avatar/LogicChangeAvatarNameCommand.js: -------------------------------------------------------------------------------- 1 | 2 | class LogicChangeAvatarNameCommand{ 3 | encode(self){ 4 | self.writeString(self.player.name)// Name 5 | self.writeVInt(0)// Name Cost 6 | } 7 | 8 | 9 | 10 | constructor(){ 11 | } 12 | } 13 | 14 | module.exports = LogicChangeAvatarNameCommand -------------------------------------------------------------------------------- /Logic/Protocol/Messages/Server/KeepAliveOKMessage.js: -------------------------------------------------------------------------------- 1 | const PiranhaMessage = require('../../PiranhaMessage') 2 | 3 | class KeepAliveOKMessage extends PiranhaMessage { 4 | constructor (client) { 5 | super() 6 | this.id = 20108 7 | this.client = client 8 | this.version = 0 9 | } 10 | 11 | async encode () { 12 | 13 | } 14 | } 15 | 16 | module.exports = KeepAliveOKMessage 17 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bsjss", 3 | "version": "0.0.1", 4 | "description": "A Brawl Stars Server Emulator by Lwitchy. Based on nodebrawl-core v2.3.1", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "Lwitchy", 10 | "license": "ISC", 11 | "dependencies": { 12 | "crypto": "^1.0.1", 13 | "csv": "^6.2.7", 14 | "sqlite3": "^5.1.4" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Logic/Protocol/Messages/Server/ServerHelloMessage.js: -------------------------------------------------------------------------------- 1 | const PiranhaMessage = require('../../PiranhaMessage') 2 | 3 | class ServerHelloMessage extends PiranhaMessage { 4 | constructor (client) { 5 | super() 6 | this.id = 20100 7 | this.client = client 8 | this.version = 0 9 | } 10 | 11 | async encode () { 12 | this.writeInt(24) 13 | for (let i = 0; i < 24; i++) 14 | { this.writeByte(1) } 15 | } 16 | } 17 | 18 | module.exports = ServerHelloMessage -------------------------------------------------------------------------------- /Logic/Protocol/PiranhaMessage.js: -------------------------------------------------------------------------------- 1 | const ByteStream = require('../../Titan/ByteStream') 2 | 3 | 4 | class PiranhaMessage extends ByteStream{ 5 | constructor(bytes){ 6 | super(bytes) 7 | this.id = 0 8 | this.client = null 9 | this.version = 0 10 | this.player = null 11 | } 12 | encode(){ 13 | 14 | }; 15 | 16 | decode(){ 17 | 18 | }; 19 | 20 | process(){ 21 | 22 | } 23 | 24 | } 25 | 26 | module.exports = PiranhaMessage -------------------------------------------------------------------------------- /Logic/Protocol/Messages/Client/GoHomeFromOfflinePractiseMessage.js: -------------------------------------------------------------------------------- 1 | const PiranhaMessage = require('../../PiranhaMessage') 2 | const OwnHomeDataMessage = require('../Server/OwnHomeDataMessage') 3 | 4 | class GoHomeFromOfflinePractiseMessage extends PiranhaMessage { 5 | constructor (bytes, client, player) { 6 | super(bytes) 7 | this.client = client 8 | this.player = player 9 | this.id = 14109 10 | this.version = 0 11 | } 12 | 13 | async decode () { 14 | 15 | } 16 | 17 | async process () { 18 | new OwnHomeDataMessage(this.client, this.player).send() 19 | } 20 | } 21 | 22 | module.exports = GoHomeFromOfflinePractiseMessage 23 | -------------------------------------------------------------------------------- /Logic/Protocol/Messages/Client/KeepAliveMessage.js: -------------------------------------------------------------------------------- 1 | const PiranhaMessage = require('../../PiranhaMessage') 2 | const KeepAliveOKMessage = require('../Server/KeepAliveOKMessage') 3 | //const LobbyInfoMessage = require('../Server/LobbyInfoMessage') 4 | 5 | class KeepAliveMessage extends PiranhaMessage { 6 | constructor (bytes, client, player) { 7 | super(bytes) 8 | this.client = client 9 | this.player = player 10 | this.id = 10108 11 | this.version = 0 12 | } 13 | 14 | async decode () { 15 | 16 | } 17 | 18 | async process () { 19 | new KeepAliveOKMessage(this.client, this.player).send() 20 | //new LobbyInfoMessage(this.client, this.player).send() 21 | } 22 | } 23 | 24 | module.exports = KeepAliveMessage 25 | -------------------------------------------------------------------------------- /Logic/Home/ClientHome.js: -------------------------------------------------------------------------------- 1 | const LogicDailyData = require('./Logic/LogicDailyData') 2 | const LogicConfData = require('./Logic/LogicConfData') 3 | 4 | class ClientHome{ 5 | encode(self){ 6 | new LogicDailyData().encode(self) 7 | new LogicConfData().encode(self) 8 | 9 | // Client Home Start 10 | self.writeInt(0) // PlayerID 11 | self.writeInt(self.player.low_id) // PlayerID 12 | 13 | self.writeVInt(0) // Notification Factory 14 | 15 | self.writeVInt(-64) // VideoAdStarted 16 | self.writeBoolean(false) 17 | self.writeVInt(0) // Gatcha Drop 18 | self.writeVInt(0) // FriendlyStarPower 19 | // Client Home End 20 | 21 | } 22 | } 23 | 24 | module.exports = ClientHome -------------------------------------------------------------------------------- /Logic/Protocol/Messages/Server/OwnHomeDataMessage.js: -------------------------------------------------------------------------------- 1 | const PiranhaMessage = require('../../PiranhaMessage') 2 | const ClientHome = require('../../../Home/ClientHome') 3 | const ClientAvatar = require('../../../Home/ClientAvatar') 4 | 5 | 6 | 7 | class OwnHomeData extends PiranhaMessage{ 8 | constructor(client, player, serverSettings){ 9 | super() 10 | this.id = 24101 11 | this.client = client 12 | this.player = player 13 | this.serverSettings = serverSettings 14 | this.version = 1 15 | this.timestamp = Math.floor(Date.now() / 1000) 16 | } 17 | 18 | async encode(){ 19 | new ClientHome().encode(this) 20 | new ClientAvatar().encode(this) 21 | } 22 | } 23 | 24 | module.exports = OwnHomeData -------------------------------------------------------------------------------- /Logic/Protocol/MessageFactory.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs') 2 | 3 | 4 | class MessageFactory{ 5 | constructor () { 6 | this.packets = {} 7 | 8 | fs.readdir('../../Logic/Protocol/Messages/Client', (err, files) => { 9 | if (err)console.log(err) 10 | files.forEach(e => { 11 | try{ 12 | const Packet = require(`./Messages/Client/${e.replace('.js', '')}`) 13 | const packetClass = new Packet() 14 | 15 | this.packets[packetClass.id] = Packet 16 | }catch(err){ 17 | console.log(`Error Occured when try to load package "${e.replace(".js", "")}" packet!`) 18 | console.log(err) 19 | } 20 | }) 21 | }) 22 | } 23 | handle (id) { 24 | return this.packets[id] 25 | }; 26 | 27 | getPackets () { 28 | return Object.keys(this.packets) 29 | } 30 | } 31 | 32 | module.exports = MessageFactory -------------------------------------------------------------------------------- /Logic/Protocol/Messages/Client/ClientHelloMessage.js: -------------------------------------------------------------------------------- 1 | const PiranhaMessage = require('../../PiranhaMessage') 2 | const ServerHelloMessage = require('../Server/ServerHelloMessage') 3 | 4 | 5 | class ClientHelloMessage extends PiranhaMessage{ 6 | constructor(bytes, client, player, db){ 7 | super(bytes) 8 | this.client = client 9 | this.player = player 10 | this.db = db 11 | this.id = 10100 12 | this.version = 0 13 | } 14 | 15 | async decode(){ 16 | this.protocol = this.readInt() 17 | this.key_version = this.readInt() 18 | this.major_version = this.readInt() 19 | this.minor_version = this.readInt() 20 | this.build_version = this.readInt() 21 | this.content_hash = this.readString() 22 | this.device_type = this.readInt() 23 | this.app_store = this.readInt() 24 | } 25 | 26 | async process(){ 27 | new ServerHelloMessage(this.client).send() 28 | } 29 | } 30 | 31 | module.exports = ClientHelloMessage -------------------------------------------------------------------------------- /Logic/Protocol/Messages/Client/EndClientTurnMessage.js: -------------------------------------------------------------------------------- 1 | const PiranhaMessage = require('../../PiranhaMessage') 2 | const LogicPurchaseCommand = require('../../Commands/Home/Client/LogicPurchaseCommand') 3 | 4 | class EndClientTurnMessage extends PiranhaMessage{ 5 | constructor(bytes, client, player, db){ 6 | super(bytes) 7 | this.client = client 8 | this.player = player 9 | this.db = db 10 | this.id = 14102 11 | this.version = 0 12 | } 13 | async decode(){ 14 | this.readVInt() 15 | this.readVInt() 16 | this.readVInt() 17 | this.readVInt() 18 | this.command_id = this.readVInt() 19 | } 20 | async process(){ 21 | var commands = { 22 | 519: LogicPurchaseCommand 23 | } 24 | 25 | if(this.command_id in commands){ 26 | var command = new commands[this.command_id] 27 | command.decode(this) 28 | command.process(this, this.db) 29 | } 30 | } 31 | } 32 | 33 | module.exports = EndClientTurnMessage -------------------------------------------------------------------------------- /Logic/Protocol/Messages/Server/AvailableServerCommandMessage.js: -------------------------------------------------------------------------------- 1 | const PiranhaMessage = require('../../PiranhaMessage') 2 | const LogicChangeAvatarNameCommand = require('../../Commands/Avatar/LogicChangeAvatarNameCommand') 3 | const LogicGiveDeliveryItems = require('../../Commands/Home/Server/LogicGiveDeliveryItems') 4 | 5 | class AvailableServerCommandMessage extends PiranhaMessage { 6 | constructor (client, player, command_id) { 7 | super() 8 | this.id = 24111 9 | this.client = client 10 | this.player = player 11 | this.command_id = command_id 12 | this.version = 0 13 | } 14 | 15 | async encode () { 16 | var commands = { 17 | 201: LogicChangeAvatarNameCommand, 18 | 203: LogicGiveDeliveryItems 19 | } 20 | 21 | if(this.command_id in commands){ 22 | 23 | this.writeVInt(this.command_id) 24 | new commands[this.command_id]().encode(this) 25 | 26 | /*if(this.command_id == 201){ 27 | new LogicChangeAvatarNameCommand().encode(this) 28 | }*/ 29 | } 30 | } 31 | } 32 | 33 | module.exports = AvailableServerCommandMessage -------------------------------------------------------------------------------- /Logic/Protocol/Messages/Client/ChangeAvatarNameMessage.js: -------------------------------------------------------------------------------- 1 | const PiranhaMessage = require('../../PiranhaMessage') 2 | const AvailableServerCommandMessage = require('../Server/AvailableServerCommandMessage') 3 | 4 | class ChangeAvatarNameMessage extends PiranhaMessage{ 5 | constructor(bytes, client, player, db){ 6 | super(bytes) 7 | this.client = client 8 | this.player = player 9 | this.db = db 10 | this.id = 10212 11 | } 12 | async decode(){ 13 | this.username = this.readString() 14 | this.state = this.readVInt() 15 | } 16 | async process(){ 17 | if(this.username){ 18 | if(this.username.length > 3 && this.username.length < 20){ 19 | this.player.name = this.username 20 | await this.db.update_data(0, this.player.low_id, this.player.token, 'name', this.player.name) 21 | await this.db.update_data(0, this.player.low_id, this.player.token, 'name_set', true) 22 | new AvailableServerCommandMessage(this.client, this.player, 201).send() 23 | } 24 | } 25 | } 26 | } 27 | 28 | module.exports = ChangeAvatarNameMessage -------------------------------------------------------------------------------- /Logic/Instances/Server.js: -------------------------------------------------------------------------------- 1 | const CSVReader = require('../../Logic/Assets/Csvreader') 2 | 3 | class Server{ 4 | server_port = 9339 5 | 6 | // CSV Data 7 | all_brawlers = [] 8 | all_brawlers_card_id = {} 9 | all_skins = [] 10 | 11 | loadCsvData(){ 12 | const csvreader = new CSVReader() 13 | csvreader.loadAllBrawlers() 14 | .then((data)=>{ 15 | this.all_brawlers = data; 16 | console.log("[INFO]:",this.all_brawlers.length, "Brawler Loaded."); 17 | }) 18 | .then(()=>{ 19 | const promises = []; 20 | for (var x = 0; x < this.all_brawlers.length; x++) { 21 | (function(w) { 22 | const promise = csvreader.loadCardID(this.all_brawlers[x]).then((index) => { 23 | this.all_brawlers_card_id[w] = index 24 | }); 25 | promises.push(promise); 26 | }).call(this, x) 27 | } 28 | return Promise.all(promises); 29 | }).then(()=>{ 30 | //finished 31 | console.log("[INFO]: Card IDs Loaded.") 32 | }) 33 | } 34 | 35 | constructor(){ 36 | } 37 | } 38 | 39 | module.exports = Server -------------------------------------------------------------------------------- /Logic/Protocol/Messages/Server/LoginOkMessage.js: -------------------------------------------------------------------------------- 1 | const PiranhaMessage = require('../../PiranhaMessage') 2 | 3 | 4 | class LoginOkMessage extends PiranhaMessage{ 5 | constructor(client, player, low_id, token){ 6 | super() 7 | this.id = 20104 8 | this.client = client 9 | this.player = player 10 | this.version = 0 11 | } 12 | 13 | async encode(){ 14 | this.writeLong(0, this.player.low_id) 15 | this.writeLong(0, this.player.low_id) 16 | 17 | this.writeString(this.player.token)// Tokenki 18 | this.writeString()// Facebook ID 19 | this.writeString()// Gamecenter ID (ios moment) 20 | 21 | // Versions 22 | this.writeInt(29)// Major 23 | this.writeInt(98)// Minor 24 | this.writeInt(1)// Build 25 | 26 | this.writeString("prod")// Environment 27 | 28 | this.writeInt(0)// Sessions Count 29 | this.writeInt(0)// Play Time Seconds 30 | this.writeInt(0)// Days Since Started Playing 31 | 32 | this.writeString() 33 | this.writeString() 34 | this.writeString() 35 | 36 | this.writeInt() 37 | 38 | this.writeString() 39 | 40 | this.writeString("AZ")// Region 41 | this.writeString() 42 | 43 | this.writeInt(1) 44 | 45 | this.writeString() 46 | this.writeString() 47 | this.writeString() 48 | 49 | this.writeVInt(0) 50 | 51 | this.writeString() 52 | 53 | this.writeVInt(1) 54 | 55 | } 56 | } 57 | 58 | module.exports = LoginOkMessage -------------------------------------------------------------------------------- /Logic/Home/Logic/LogicShopData.js: -------------------------------------------------------------------------------- 1 | class LogicShopData{ 2 | 3 | encode(self){ 4 | var offers = self.player.offers 5 | var offer_length = offers.length 6 | 7 | // SHOP 8 | self.writeVInt(offer_length) 9 | 10 | // Rewards 11 | for(var i in offers){ 12 | self.writeVInt(1) 13 | 14 | self.writeVInt(offers[i]['ID'])// ID 15 | self.writeVInt(offers[i]['Count'])// Count 16 | self.writeDataReference(offers[i]['DataReference'][0],offers[i]['DataReference'][1]) 17 | self.writeVInt(offers[i]['ItemID'])// ItemID 18 | 19 | self.writeVInt(offers[i]['Currency'])// Currency (0-Gems,1-Gold,3-StarPoints) 20 | self.writeVInt(offers[i]['Cost'])// Cost 21 | self.writeVInt(200)// Time 22 | self.writeVInt(offers[i]['State'])// State (0-New with Animations, 1-New, 2-Nothing) 23 | self.writeVInt(0) 24 | self.writeBoolean(false)// Who Buyed 25 | self.writeVInt(0)// Offer Index 26 | self.writeVInt(0) 27 | self.writeBoolean(offers[i]['isDaily'])// isDaily? 28 | self.writeVInt(offers[i]['oldCost'])// OldPrice 29 | self.writeInt(0) 30 | self.writeString(offers[i]['offerText'])// Offer Text 31 | self.writeBoolean(false) 32 | self.writeString(offers[i]['offerBGR'])// Offer Background 33 | self.writeVInt(0) 34 | self.writeBoolean(offers[i]['isProcess'])// isProcess 35 | self.writeVInt(offers[i]['ExtraType'])// ExtraType 36 | self.writeVInt(offers[i]['Extra'])// Extra 37 | self.writeString() 38 | self.writeBoolean(offers[i]['isOneTimePurchase'])// isOneTimePurchase 39 | // SHOP 40 | } 41 | } 42 | } 43 | 44 | module.exports = LogicShopData -------------------------------------------------------------------------------- /Logic/Protocol/Commands/Home/Server/LogicGiveDeliveryItems.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | class LogicGiveDeliveryItems{ 4 | encode(self){ 5 | self.writeVInt(0) 6 | self.writeVInt(self.player.delivery_items['Count']) 7 | 8 | for(var i = 0; i < self.player.delivery_items.Count; i++){ 9 | var type = self.player.delivery_items['Type'] 10 | self.writeVInt(type) 11 | 12 | if(type !== 100){ 13 | if(type == 10){ 14 | // Brawl Box 15 | } 16 | if(type == 11){ 17 | // Mega Box 18 | } 19 | if(type == 12){ 20 | // Big Box 21 | } 22 | }else{ 23 | var rewards = self.player.delivery_items['Items'] 24 | } 25 | 26 | self.writeVInt(rewards.length) 27 | for(var x in rewards){ 28 | self.writeVInt(rewards[x]['Amount']) 29 | self.writeVInt(rewards[x]['DataRef'][0], rewards[x]['DataRef'][1]) 30 | self.writeVInt(rewards[x]['Value']) 31 | self.writeDataReference(rewards[x]['SkinID'][0], rewards[x]['SkinID'][1]) 32 | self.writeDataReference(rewards[x]['PinID'][0], rewards[x]['PinID'][1]) 33 | self.writeDataReference(rewards[x]['SPGID'][0], rewards[x]['SPGID'][1]) 34 | self.writeVInt(0) 35 | } 36 | } 37 | 38 | self.writeBoolean(false) 39 | 40 | self.writeVInt(0)// milstoneid 41 | self.writeVInt(0)// milstone track 42 | self.writeVInt(0) 43 | self.writeVInt(0) 44 | self.writeVInt(0)// season end ril 45 | self.writeVInt(0) 46 | 47 | self.writeVInt(0) 48 | self.writeVInt(0) 49 | } 50 | 51 | constructor() { 52 | } 53 | } 54 | module.exports = LogicGiveDeliveryItems -------------------------------------------------------------------------------- /Logic/Instances/Player.js: -------------------------------------------------------------------------------- 1 | class Player { 2 | state = 1 3 | 4 | low_id = 0 5 | high_id = 0 6 | token = "None" 7 | 8 | // Player Information 9 | name = "Player" 10 | name_set = false 11 | gems = 0 12 | coins = 0 13 | starpoints = 0 14 | exp_points = 0 15 | trophies = 0 16 | highest_trophies = 0 17 | trophyroad_reward = 1 18 | name_color = 0 19 | profile_icon = 0 20 | region = "AZ" 21 | content_creator = "BSJSS" 22 | inbox = [] 23 | offers = [ 24 | { 25 | "ID": 4, 26 | "Count": 1, 27 | "DataReference": [0, 0], 28 | "ItemID": 52, 29 | "Currency": 0, 30 | "Cost": 0, 31 | "State": 0, 32 | "isDaily": false, 33 | "oldCost": 0, 34 | "offerText": "", 35 | "offerBGR": "", 36 | "isProcess": false, 37 | "ExtraType": 0, 38 | "Extra": 0, 39 | "isOneTimePurchase": false 40 | } 41 | 42 | ] 43 | 44 | 45 | // Unlocked Data 46 | unlocked_brawlers = [0,8] 47 | unlocked_skins = [] 48 | unlocked_pins = [] 49 | unlocked_thumbnails = [] 50 | unlocked_gadgets = [] 51 | 52 | // Selected Data 53 | selected_brawler = 0 54 | selected_skins = {} 55 | selected_gadgets = {} 56 | 57 | // Brawlers Data 58 | brawlers_trophies = {} 59 | brawlers_high_trophies = {} 60 | brawlers_level = {} 61 | brawlers_powerpoints = {} 62 | 63 | 64 | delivery_items = {} 65 | 66 | 67 | update_brawler_data(){ 68 | for (let x of this.unlocked_brawlers) { 69 | this.brawlers_trophies[x.toString()] = 0; 70 | } 71 | for (let x of this.unlocked_brawlers) { 72 | this.brawlers_high_trophies[x.toString()] = 0; 73 | } 74 | for (let x of this.unlocked_brawlers) { 75 | this.brawlers_level[x.toString()] = 0; 76 | } 77 | for (let x of this.unlocked_brawlers) { 78 | this.brawlers_powerpoints[x.toString()] = 0; 79 | } 80 | 81 | } 82 | 83 | constructor(){ 84 | } 85 | } 86 | module.exports = Player -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ABANDONED PROJECT - I do not suggest you to use this, I don't have idea to continue this project maybe if some miracle happens 2 | # NOTE 3 | This content is not affiliated with, endorsed, sponsored, or specifically approved by Supercell and Supercell is not responsible for it. For more information see Supercell’s Fan Content Policy 4 | # PROJECT-BSJSS 5 | BSJSS - V39 Brawl stars server based on nodeJS. 6 | 7 | Also! This is First Version of BSJSS! I will update this project and will add more features 8 | 9 | U can write me what you want to see in BSJSS 10 | 11 | # How to run? 12 | The main file in Server/Networking/index.js 13 | 14 | I added simple shortcut for windows users. 15 | 16 | - Install node and run with this code `node index.js` 17 | 18 | # About BSJSS 19 | A Brawl Stars Server Emulator by Lwitchy. Based on nodebrawl-core v2.3.1 20 | Note: Also this is first version of `BSJSS` It will be updated later. 21 | 22 | # Features of this server 23 | - Based on nodeJS 24 | - SQLITE3 Database (Create Account, Load Account, Update Account) 25 | - 3 shop offer type working (Gems, Coins, Skins also you can write others I showed how it's working) 26 | - Set Avatar name 27 | - CSV Reader (Only Characters and Card IDs) 28 | 29 | # How to connect Server? 30 | Download the BSDS Client for connect server 31 | 32 | Android: https://www.mediafire.com/file/4lqxq2phdswikv1/com.projectbsds.v3999-rev1.apk/file 33 | 34 | IOS: https://mega.nz/file/9p9AHIhI#nzbAHRjy-eJhjlxAmbYSLVj6zvOg_OXPdgy46JI25ss 35 | 36 | # Screenshots 37 | ![WhatsApp Image 2023-03-07 at 14 36 51](https://user-images.githubusercontent.com/98178721/223398490-51dd3cf7-2c69-4b12-a310-e9fb7b8ce6c9.jpg) 38 | ![WhatsApp Image 2023-03-07 at 14 36 49](https://user-images.githubusercontent.com/98178721/223398394-485c80bd-e01f-45e8-a0e0-bba5d0f78519.jpg) 39 | ![WhatsApp Image 2023-03-07 at 14 36 50](https://user-images.githubusercontent.com/98178721/223398436-e701d000-f15c-4558-b7e1-16a69356d939.jpg) 40 | ![WhatsApp Image 2023-03-07 at 14 36 51](https://user-images.githubusercontent.com/98178721/223398465-b1c255b9-675e-43e0-8d93-46edb745e988.jpg) 41 | 42 | 43 | # Contact with me 44 | You can message me from discord lwitchy#1935 45 | -------------------------------------------------------------------------------- /Server/Networking/index.js: -------------------------------------------------------------------------------- 1 | // Project BSJSS 2 | const net = require('net') 3 | const Player = require('../../Logic/Instances/Player.js') 4 | const Server = require('../../Logic/Instances/Server') 5 | const MessageFactory = require('../../Logic/Protocol/MessageFactory.js') 6 | const DB = require('../DatabaseManager/index') 7 | 8 | const serverSettings = new Server() 9 | const playerClass = new Player() 10 | const server = new net.Server() 11 | const Messages = new MessageFactory() 12 | const dbmanager = new DB(playerClass) 13 | 14 | serverSettings.loadCsvData() 15 | playerClass.update_brawler_data(serverSettings) 16 | 17 | 18 | server.on('connection', async (client) => { 19 | client.setNoDelay(true) 20 | client.log = function (text) { 21 | return console.log(`[${this.remoteAddress.split(':').slice(-1)}] >> ${text}`) 22 | } 23 | 24 | client.log('[SERVER]: New Connection!') 25 | const packets = Messages.getPackets(); 26 | client.player = playerClass 27 | client.db = dbmanager 28 | client.serverSettings = serverSettings 29 | 30 | client.on('data', async (packet) => { 31 | const message = { 32 | id: packet.readUInt16BE(0), 33 | len: packet.readUIntBE(2, 3), 34 | version: packet.readUInt16BE(5), 35 | payload: packet.slice(7, this.len), 36 | client, 37 | } 38 | if (packets.indexOf(String(message.id)) !== -1) { 39 | try { 40 | const packet = new (Messages.handle(message.id))(message.payload, client, client.player, client.db, client.serverSettings) 41 | 42 | client.log(`[CLIENT][<<]: New Packet! ${message.id} (${packet.constructor.name})`) 43 | await packet.decode() 44 | await packet.process() 45 | } catch (e) { 46 | console.log(e) 47 | } 48 | } else { 49 | client.log(`[CLIENT][<<]: Packet not handled! ${message.id}!`) 50 | } 51 | }) 52 | 53 | client.on('end', async () => { 54 | return client.log('[SERVER]: Client disconnected.') 55 | }) 56 | 57 | client.on('error', async error => { 58 | try { 59 | console.log(error) 60 | client.destroy() 61 | } catch (e) { } 62 | }) 63 | }) 64 | 65 | server.once('listening', () => console.log(`Server Listening ${serverSettings.server_port} PORT`)) 66 | server.listen(serverSettings.server_port) 67 | 68 | 69 | 70 | process.on("uncaughtException", e => console.log(e)); 71 | process.on("unhandledRejection", e => console.log(e)); 72 | -------------------------------------------------------------------------------- /Titan/ByteStream/ByteArray.js: -------------------------------------------------------------------------------- 1 | class ByteArray { 2 | static bytesToString (arr) { 3 | let str = '' 4 | arr = new Uint8Array(arr) 5 | for (const i in arr) { 6 | str += String.fromCharCode(arr[i]) 7 | } 8 | return str 9 | } 10 | 11 | static stringToBytes (str) { 12 | let ch, st, re = [] 13 | for (let i = 0; i < str.length; i++) { 14 | ch = str.charCodeAt(i) 15 | st = [] 16 | do { 17 | st.push(ch & 0xFF) 18 | ch = ch >> 8 19 | } 20 | while (ch) 21 | re = re.concat(st.reverse()) 22 | } 23 | return re 24 | } 25 | 26 | static bytesToHex (arr) { 27 | let str = '' 28 | let k, j 29 | for (let i = 0; i < arr.length; i++) { 30 | k = arr[i] 31 | j = k 32 | if (k < 0) { 33 | j = k + 256 34 | } 35 | if (j < 16) { 36 | str += '0' 37 | } 38 | str += j.toString(16) 39 | } 40 | return str 41 | } 42 | 43 | static hexToBytes (str) { 44 | let pos = 0 45 | let len = str.length 46 | if (len % 2 !== 0) 47 | { return null } 48 | len /= 2 49 | const hexA = [] 50 | for (let i = 0; i < len; i++) { 51 | const s = str.substr(pos, 2) 52 | const v = parseInt(s, 16) 53 | hexA.push(v) 54 | pos += 2 55 | } 56 | return hexA 57 | } 58 | 59 | static arrayToBytes (arr) { 60 | const result = new Buffer.alloc(arr.length) 61 | 62 | for (let i = 0; i < arr.length; i++) { 63 | result[i] = arr[i] 64 | } 65 | return result 66 | } 67 | 68 | static intToBytes (x) { 69 | const bytes = new Buffer.alloc(4) 70 | bytes[0] = x 71 | bytes[1] = x >> 8 72 | bytes[2] = x >> 16 73 | bytes[3] = x >> 24 74 | return bytes 75 | }; 76 | 77 | static getInt (bytes) { 78 | if (bytes.length === 1) { 79 | return bytes[0] 80 | } 81 | 82 | if (bytes.length === 2) { 83 | return bytes[1] >> 8 | bytes[0] 84 | } 85 | 86 | if (bytes.length === 3) { 87 | return bytes[2] << 16 | bytes[1] << 8 | bytes[0] 88 | } 89 | 90 | if (bytes.length === 4) { 91 | return bytes[3] >> 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0] 92 | } 93 | else { 94 | return -1 95 | } 96 | } 97 | } 98 | 99 | module.exports = ByteArray 100 | -------------------------------------------------------------------------------- /Logic/Assets/Csvreader.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const csv = require('csv'); 3 | 4 | class CSVReader{ 5 | readCsv(filename, isEncodeUTF = false) { 6 | return new Promise((resolve, reject) => { 7 | let rowData = []; 8 | let lineCount = 0; 9 | let stream; 10 | 11 | if (isEncodeUTF) { 12 | stream = fs.createReadStream(filename, { encoding: 'utf-8' }); 13 | } else { 14 | stream = fs.createReadStream(filename); 15 | } 16 | 17 | stream.pipe(csv.parse()) 18 | .on('data', (row) => { 19 | if (lineCount === 0 || lineCount === 1) { 20 | lineCount++; 21 | } else { 22 | rowData.push(row); 23 | lineCount++; 24 | } 25 | }) 26 | .on('end', () => { 27 | resolve(rowData); 28 | }) 29 | .on('error', (err) => { 30 | reject(err); 31 | }); 32 | }); 33 | } 34 | 35 | loadCardID(brawlerId) { 36 | return new Promise((resolve, reject) => { 37 | let charsData, cardsData; 38 | this.readCsv(`../../Logic/Assets/Files/csv_logic/characters.csv`, false) 39 | .then((data) => { 40 | charsData = data; 41 | return this.readCsv(`../../Logic/Assets/Files/csv_logic/cards.csv`, false) 42 | }) 43 | .then((data) => { 44 | cardsData = data; 45 | for (let i = 0; i < charsData.length; i++) { 46 | if (i == brawlerId) { 47 | const name = charsData[i][0]; 48 | for (let j = 0; j < cardsData.length; j++) { 49 | if (cardsData[j][7].toLowerCase() == '0' && cardsData[j][3] == name) { 50 | resolve(j); 51 | return; 52 | } 53 | } 54 | } 55 | } 56 | }) 57 | .catch((err) => { 58 | reject(err); 59 | }); 60 | }); 61 | } 62 | 63 | loadAllBrawlers(){ 64 | return new Promise((resolve, reject) => { 65 | let brawlers = [] 66 | this.readCsv('../../Logic/Assets/Files/csv_logic/characters.csv') 67 | .then((data)=>{ 68 | var charsData = data; 69 | for(let i=0; i < charsData.length; i++){ 70 | if(charsData[i][23] == 'Hero' && charsData[i][2].toLowerCase() !== 'true' && charsData[i][1].toLowerCase() !== 'true'){ 71 | //console.log(charsData[i][0]) 72 | brawlers.push(i) 73 | } 74 | } 75 | resolve(brawlers) 76 | return; 77 | }) 78 | }) 79 | } 80 | } 81 | 82 | 83 | module.exports = CSVReader -------------------------------------------------------------------------------- /Logic/Protocol/Commands/Home/Client/LogicPurchaseCommand.js: -------------------------------------------------------------------------------- 1 | const AvailableServerCommand = require('../../../Messages/Server/AvailableServerCommandMessage') 2 | 3 | class LogicPurchaseCommand{ 4 | decode(self){ 5 | self.readVInt() 6 | self.readVInt() 7 | self.readLogicLong() 8 | this.offer_index = self.readVInt() 9 | this.brawler = self.readDataReference()[1] 10 | } 11 | process(self){ 12 | var offers = self.player.offers 13 | var offer_id = offers[this.offer_index]['ID'] 14 | var offer_count = offers[this.offer_index]['Count'] 15 | var offer_char = offers[this.offer_index]['DataReference'][1] 16 | var offer_itemID = offers[this.offer_index]['ItemID'] 17 | var offer_currency = offers[this.offer_index]['Currency'] 18 | var offer_cost = offers[this.offer_index]['Cost'] 19 | 20 | 21 | self.player.delivery_items = { 22 | 'Count': 1, 23 | 'Type': 0, 24 | 'Items': [] 25 | } 26 | 27 | // Update Costs 28 | if(offer_currency == 0){ 29 | self.player.gems - offer_cost 30 | self.db.update_data(0,self.player.low_id,self.player.token,'gems',self.player.gems) 31 | }else if(offer_currency == 1){ 32 | self.player.coins - offer_cost 33 | //self.db.update_data(0, self.player.low_id,self.player.token,'') 34 | }else if(offer_currency == 3){ 35 | // starpoints 36 | } 37 | /* Add your offers to here! */ 38 | 39 | // Give Items 40 | if (offer_id == 1){ 41 | var item = {'Amount': offer_count, 'DataRef': [0,0], 'Value': 7, 'SkinID': [0,0], 'PinID':[0,0], 'SPGID': [0,0]} 42 | self.player.delivery_items['Type'] = 100 43 | self.player.delivery_items['Items'].push(item) 44 | 45 | self.player.coins += offer_count 46 | self.db.update_data(0, self.player.low_id, self.player.token, 'coins', self.player.coins) 47 | new AvailableServerCommand(self.client, self.player, 203).send() 48 | } 49 | 50 | if (offer_id == 4){ 51 | var item = {'Amount': offer_count, 'DataRef': [0,0], 'Value': 9, 'SkinID': [29,offer_itemID], 'PinID': [0,0], 'SPGID': [0,0]} 52 | self.player.delivery_items['Type'] = 100 53 | self.player.delivery_items['Items'].push(item) 54 | 55 | self.player.unlocked_skins.push(offer_itemID) 56 | self.db.update_data(0,self.player.low_id, self.player.token, 'unlocked_skins', self.player.unlocked_skins) 57 | 58 | new AvailableServerCommand(self.client, self.player, 203).send() 59 | } 60 | 61 | if (offer_id == 16){ 62 | var item = {'Amount': offer_count, 'DataRef': [0, 0], 'Value': 8, 'SkinID': [0,0], 'PinID': [0,0], 'SPGID': [0,0]} 63 | self.player.delivery_items['Type'] = 100 64 | self.player.delivery_items['Items'].push(item) 65 | 66 | self.player.gems += offer_count 67 | self.db.update_data(0,self.player.low_id, self.player.token, 'gems', self.player.gems) 68 | new AvailableServerCommand(self.client, self.player, 203).send() 69 | } 70 | 71 | 72 | 73 | 74 | } 75 | 76 | 77 | constructor() { 78 | } 79 | } 80 | 81 | module.exports = LogicPurchaseCommand -------------------------------------------------------------------------------- /Logic/Home/ClientAvatar.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | class ClientAvatar{ 4 | encode(self){ 5 | // Logic Client Avatar Start 6 | self.writeVInt(0) //ID? 7 | self.writeVInt(self.player.low_id) //ID? 8 | 9 | self.writeVInt(0) //ID? 10 | self.writeVInt(self.player.low_id) //ID? 11 | 12 | self.writeVInt(0) //ID? 13 | self.writeVInt(self.player.low_id) //ID? 14 | 15 | if (self.player.name === "Player" && !self.player.name_set) { 16 | self.writeString("Player") 17 | self.writeVInt(0) 18 | }else{ 19 | self.writeString(self.player.name) 20 | self.writeVInt(1) 21 | } 22 | 23 | self.writeString() 24 | self.writeVInt(15) // Commodity Count 25 | 26 | 27 | // Resources Array 28 | self.writeVInt(self.player.unlocked_brawlers.length + 1) 29 | for(var x in self.player.unlocked_brawlers){ 30 | self.writeDataReference(23, self.serverSettings.all_brawlers_card_id[self.player.unlocked_brawlers[x]]) 31 | self.writeVInt(1) 32 | } 33 | 34 | self.writeDataReference(5,8) 35 | self.writeVInt(self.player.coins) 36 | // Resources Array End 37 | 38 | // Brawlers Trophies Array 39 | self.writeVInt(0) 40 | // Brawlers Trophies Array End 41 | 42 | // Brawlers Trophies for Rank Array 43 | self.writeVInt(0) 44 | // Brawlers Trophies for Rank Array End 45 | 46 | 47 | // Unknown Brawlers Array 48 | self.writeVInt(0) // Count 49 | // Unknown Brawlers Array End 50 | 51 | // Brawlers Power Points Array 52 | self.writeVInt(0) 53 | // Brawlers Power Points Array End 54 | 55 | // Brawlers Power Level Array 56 | self.writeVInt(0) 57 | // Brawlers Power Level Array End 58 | 59 | // Array 60 | self.writeVInt(0) // Count 61 | // Brawlers Star Powers Array End 62 | 63 | // "NEW" Brawlers Tag Array 64 | self.writeVInt(0) 65 | // "NEW" Brawlers Tag array End 66 | 67 | // Array 68 | self.writeVInt(0) 69 | 70 | // Array 71 | self.writeVInt(0) 72 | 73 | // Array 74 | self.writeVInt(0) 75 | 76 | // Array 77 | self.writeVInt(0) 78 | 79 | // Array 80 | self.writeVInt(0) 81 | 82 | // Array 83 | self.writeVInt(0) 84 | 85 | // Array 86 | self.writeVInt(0) 87 | 88 | self.writeVInt(self.player.gems) // Gems 89 | self.writeVInt(self.player.gems) // Gems 90 | self.writeVInt(self.player.exp_points) // EXP 91 | self.writeVInt(100) 92 | self.writeVInt(0) // CumulativePurchasedDiamonds or Avatar User Level Tier | 10000 < Level Tier = 3 | 1000 < Level Tier = 2 | 0 < Level Tier = 1 93 | self.writeVInt(0) // Battle Count 94 | self.writeVInt(0) // WinCount 95 | self.writeVInt(0) // LoseCount 96 | self.writeVInt(0) // WinLooseStreak 97 | self.writeVInt(0) // NpcWinCount 98 | self.writeVInt(0) // NpcLoseCount 99 | self.writeVInt(2) // TutorialState | shouldGoToFirstTutorialBattle = State == 0 100 | self.writeVInt(0) // TimeStamp 101 | } 102 | } 103 | 104 | module.exports = ClientAvatar -------------------------------------------------------------------------------- /Logic/Home/Logic/LogicConfData.js: -------------------------------------------------------------------------------- 1 | class LogicConfData{ 2 | encode(self){ 3 | //Logic Conf Data start 4 | self.writeVInt(0) 5 | 6 | self.writeVInt(22) // Count 7 | self.writeVInt(1) // Gem Grab 8 | self.writeVInt(2) // Showdown 9 | self.writeVInt(3) // Daily Events 10 | self.writeVInt(4) // Team Events 11 | self.writeVInt(5) // Duo Showdown 12 | self.writeVInt(6) // Team Events 2 13 | self.writeVInt(7) // Special Events 14 | self.writeVInt(8) // Solo Events 15 | self.writeVInt(9) // Power Play 16 | self.writeVInt(10) // Seasonal Events 17 | self.writeVInt(11) // Seasonal Events 2 18 | self.writeVInt(12) // Candidates of The Day 19 | self.writeVInt(13) // Winner of The Day 20 | self.writeVInt(14) // Solo Mode Power League 21 | self.writeVInt(15) // Team Mode Power League 22 | self.writeVInt(16) // Club league 23 | self.writeVInt(17) // Club league 24 | self.writeVInt(20) // Championship Challenge (Stage 1) 25 | self.writeVInt(21) // Championship Challenge (Stage 2) 26 | self.writeVInt(22) // Championship Challenge (Stage 3) 27 | self.writeVInt(23) // Championship Challenge (Stage 4) 28 | self.writeVInt(24) // Championship Challenge (Stage 5) 29 | // Event Slots IDs Array End 30 | 31 | // Events Count 32 | self.writeVInt(1) // Events 33 | 34 | self.writeVInt(1) 35 | self.writeVInt(1) // EventType 36 | self.writeVInt(0) // EventsBeginCountdown 37 | self.writeVInt(0) // Timer 38 | self.writeVInt(0) // tokens reward for new event 39 | self.writeDataReference(15, 7) // MapID 40 | self.writeVInt(-64) // GameModeVariation 41 | self.writeVInt(2) // State 42 | self.writeString() 43 | self.writeVInt(0) 44 | self.writeVInt(0) 45 | self.writeVInt(0) 46 | self.writeVInt(0) // Modifiers 47 | self.writeVInt(0) 48 | self.writeVInt(0) 49 | self.writeBoolean(false) // Map Maker Map Structure Array 50 | self.writeVInt(0) 51 | self.writeBoolean(false) // Power League Data Array 52 | self.writeVInt(0) 53 | self.writeVInt(0) 54 | self.writeVInt(0) // Chronos Text Entry 55 | self.writeVInt(-64) 56 | self.writeBoolean(false) 57 | 58 | self.writeVInt(0) // Coming Up Events Count 59 | 60 | self.writeVInt(8) // Brawler Upgrade Cost 61 | self.writeVInt(25) 62 | self.writeVInt(40) 63 | self.writeVInt(80) 64 | self.writeVInt(145) 65 | self.writeVInt(295) 66 | self.writeVInt(485) 67 | self.writeVInt(805) 68 | self.writeVInt(1255) 69 | 70 | self.writeVInt(4) // Shop Coins Price 71 | self.writeVInt(20) 72 | self.writeVInt(50) 73 | self.writeVInt(140) 74 | self.writeVInt(280) 75 | 76 | self.writeVInt(4) // Shop Coins Amount 77 | self.writeVInt(150) 78 | self.writeVInt(400) 79 | self.writeVInt(1200) 80 | self.writeVInt(2600) 81 | 82 | self.writeBoolean(true) // Show Offers Packs 83 | 84 | //Locked for chronos array 85 | self.writeVInt(0)// Count 86 | //Locked for chronos array End 87 | 88 | self.writeVInt(1) // IntValueEntry 89 | self.writeLongInt(1, 41000000 + 28) // ThemeID 90 | 91 | 92 | self.writeVInt(0) // Timed Int Value Entry 93 | 94 | self.writeVInt(0) // Custom Event 95 | 96 | self.writeVInt(0) 97 | 98 | self.writeVInt(0) 99 | self.writeVInt(0) 100 | // Logic Conf Data End 101 | } 102 | 103 | 104 | } 105 | 106 | module.exports = LogicConfData -------------------------------------------------------------------------------- /Logic/Protocol/Messages/Client/LoginMessage.js: -------------------------------------------------------------------------------- 1 | const PiranhaMessage = require('../../PiranhaMessage') 2 | const LoginOkMessage = require('../../Messages/Server/LoginOkMessage') 3 | const OwnHomeData = require('../Server/OwnHomeDataMessage') 4 | const crypto = require('crypto') 5 | 6 | class LoginMessage extends PiranhaMessage { 7 | constructor (bytes, client, player, db, serverSettings) { 8 | super(bytes) 9 | this.client = client 10 | this.player = player 11 | this.serverSettings = serverSettings 12 | this.db = db 13 | this.id = 10101 14 | this.version = 0 15 | } 16 | 17 | async decode () { 18 | this.player.high_id = this.readInt() 19 | this.player.low_id = this.readInt() 20 | this.player.token = this.readString() 21 | 22 | this.major = this.readInt() 23 | this.minor = this.readInt() 24 | this.build = this.readInt() 25 | } 26 | 27 | async process () { 28 | function generate_token(){// Generating user token)) 29 | const currentDateTime = new Date().valueOf().toString(); 30 | const random = Math.random().toString(); 31 | return crypto.createHash('sha1').update(currentDateTime + random).digest('hex'); 32 | } 33 | 34 | function generate_id(length){// Generating used id between 0-9 random numbers 35 | let randomNumberString = ''; 36 | for (let i = 0; i < length; i++) { 37 | randomNumberString += Math.floor(Math.random() * 10); 38 | } 39 | return parseInt(randomNumberString); 40 | } 41 | 42 | if(this.player.state == 1){// State check (ig I will not share with crypto so u can delete) 43 | if(this.player.low_id == 0){// If low_id == 0 means there is no id saved in client so new account 44 | // Generate New ID 45 | var id = generate_id(8) 46 | var token = generate_token() 47 | 48 | // Set Token and ID 49 | this.player.low_id = id 50 | this.player.token = token 51 | 52 | // Create new data in DB 53 | this.db.create_account(id, token) 54 | 55 | // And send loginOK, OwnHomeData 56 | new LoginOkMessage(this.client, this.player, id, token).send() 57 | new OwnHomeData(this.client, this.player,this.serverSettings).send() 58 | 59 | }else{// Load account with id come from client 60 | var player = this.player 61 | var data = null 62 | 63 | this.db.load_data(0, this.player.low_id, this.player.token).then(function(result){ 64 | // Set variables from result 65 | data = JSON.parse(result) 66 | }).then(() => {// After finish load data set variables 67 | player.name = data['name'] 68 | player.name_set = data['name_set'] 69 | player.gems = data['gems'] 70 | player.exp_points = data['exp_points'] 71 | player.trophies = data['trophies'] 72 | player.highest_trophies = data['highest_trophies'] 73 | player.trophyroad_reward = data['trophyroad_reward'] 74 | player.name_color = data['name_color'] 75 | player.profile_icon = data['profile_icon'] 76 | player.region = data['region'] 77 | player.content_creator = data['content_creator'] 78 | player.inbox = data['inbox'] 79 | //player.offers = data['offers'] 80 | player.unlocked_brawlers = data['unlocked_brawlers'] 81 | player.unlocked_skins = data['unlocked_skins'] 82 | player.unlocked_pins = data['unlocked_pins'] 83 | player.unlocked_thumbnails = data['unlocked_thumbnails'] 84 | player.unlocked_gadgets = data['unlocked_gadgets'] 85 | player.selected_brawler = data['selected_brawler'] 86 | player.selected_skins = data['selected_skins'] 87 | player.selected_gadgets = data['selected_gadgets'] 88 | player.brawlers_trophies = data['brawlers_trophies'] 89 | player.brawlers_high_trophies = data['brawlers_high_trophies'] 90 | player.brawlers_level = data['brawlers_level'] 91 | player.brawlers_powerpoints = data['brawlers_powerpoints'] 92 | 93 | // And send loginOK, OwnHomeData 94 | new LoginOkMessage(this.client, this.player).send() 95 | new OwnHomeData(this.client, this.player, this.serverSettings).send() 96 | }) 97 | } 98 | 99 | } 100 | } 101 | } 102 | 103 | module.exports = LoginMessage -------------------------------------------------------------------------------- /Server/DatabaseManager/index.js: -------------------------------------------------------------------------------- 1 | const sqlite3 = require('sqlite3') 2 | 3 | class DatabaseManager{ 4 | constructor(player){ 5 | this.player = player 6 | // Connect to database 7 | console.log("Attempt to connect database!") 8 | this.db = new sqlite3.Database('../Database/Players.db', (err)=>{ 9 | if(err){// Failed 10 | console.log('Failed to connect database!') 11 | }else{// Success 12 | console.log('Connected to database!') 13 | // Create Table 14 | this.create_table() 15 | } 16 | }) 17 | 18 | } 19 | 20 | log_ping(){ 21 | console.log("Log Ping!") 22 | } 23 | 24 | create_table(){// Create SQL Table 25 | const create_table_sqlite3 = 'CREATE TABLE IF NOT EXISTS main (id integer, token text, data json)' 26 | this.db.run(create_table_sqlite3) 27 | 28 | } 29 | 30 | create_account(low_id, token){ 31 | // JSON Data 32 | const data = { 33 | 'token': token, 34 | 'id': low_id, 35 | 'name': this.player.name, 36 | 'name_set': this.player.name_set, 37 | 'gems': this.player.gems, 38 | 'coins': this.player.coins, 39 | 'starpoints': this.player.starpoints, 40 | 'exp_points': this.player.gems, 41 | 'trophies': this.player.trophies, 42 | 'highest_trophies': this.player.highest_trophies, 43 | 'trophyroad_reward': this.player.trophyroad_reward, 44 | 'name_color': this.player.name_color, 45 | 'profile_icon': this.player.profile_icon, 46 | 'region': this.player.region, 47 | 'content_creator': this.player.content_creator, 48 | 'inbox': this.player.inbox, 49 | 'offers': this.player.offers, 50 | 'unlocked_brawlers': this.player.unlocked_brawlers, 51 | 'unlocked_skins': this.player.unlocked_skins, 52 | 'unlocked_pins': this.player.unlocked_pins, 53 | 'unlocked_thumbnails': this.player.unlocked_thumbnails, 54 | 'unlocked_gadgets': this.player.unlocked_gadgets, 55 | 'selected_brawler': this.player.selected_brawler, 56 | 'selected_skins': this.player.selected_skins, 57 | 'selected_gadgets': this.player.selected_gadgets, 58 | 'brawlers_trophies': this.player.brawlers_trophies, 59 | 'brawlers_high_trophies': this.player.brawlers_high_trophies, 60 | 'brawlers_level': this.player.brawlers_level, 61 | 'brawlers_powerpoints': this.player.brawlers_powerpoints 62 | } 63 | 64 | // Dump JSON data 65 | const dump_data = JSON.stringify(data)// dump 66 | this.db.run(`INSERT INTO main(id, token, data) VALUES(${low_id},"${token}",'${dump_data}')`, function(err){ 67 | if(err){ 68 | return console.log(err) 69 | }else{ 70 | // omg success 71 | } 72 | }) 73 | } 74 | 75 | load_data(high_id, low_id, token){// Load Data and return with it 76 | return new Promise((resolve, reject)=>{// Spend 30 min to find how to return? ahh 77 | this.db.get(`SELECT * from main where id=${low_id} AND token="${token}"`, (err,result)=>{ 78 | if(err){// yes and I'm talking in code with myself 79 | console.log(err) 80 | reject() 81 | }else{// ig need to sleep 82 | resolve(result['data']) 83 | }// I feel bad enough for today 84 | }) 85 | }) 86 | } 87 | 88 | update_data(high_id, low_id, token, item, value){ 89 | return new Promise((resolve, reject) => {this.db.get(`SELECT * from main where id=${low_id} AND token="${token}"`, (err,result)=>{ 90 | if(err){ 91 | console.log(err)// imagine 92 | reject() 93 | }else{ 94 | // Loaded DATA 95 | const loaded_data = result['data'] 96 | // JSON Parse 97 | const data = JSON.parse(loaded_data) 98 | // Update DATA 99 | data[`${item}`] = value 100 | // Dump Data 101 | const dump_data = JSON.stringify(data)// dump json data again damn 102 | this.db.run(`UPDATE main SET data='${dump_data}' WHERE id=${low_id} AND token="${token}"`) 103 | resolve() 104 | } 105 | }) 106 | }) 107 | } 108 | 109 | } 110 | 111 | 112 | 113 | module.exports = DatabaseManager -------------------------------------------------------------------------------- /Logic/Home/Logic/LogicDailyData.js: -------------------------------------------------------------------------------- 1 | var LogicShopData = require('./LogicShopData') 2 | class LogicDailyData{ 3 | encode(self){ 4 | // Logic Daily Data Start 5 | self.writeVInt(0) //Timestamp 6 | self.writeVInt(0) //Timestamp 7 | 8 | self.writeVInt(0) //Timestamp 9 | self.writeVInt(0) //Timestamp 10 | 11 | 12 | self.writeVInt(self.player.trophies)//Trophies 13 | self.writeVInt(self.player.highest_trophies)//HTRP 14 | self.writeVInt(self.player.highest_trophies)//HTRP 15 | self.writeVInt(self.player.trophyroad_reward)//TrophyRoadReward 16 | 17 | self.writeVInt(self.player.exp_points)//EXP 18 | 19 | self.writeDataReference(28, self.player.profile_icon) 20 | self.writeDataReference(43, self.player.name_color) 21 | 22 | //Played Game Modes Array 23 | self.writeVInt(0) 24 | //Played Game Modes Array End 25 | 26 | //Selected Skins Array 27 | self.writeVInt(0) 28 | //Selected Skins Array End 29 | 30 | //Selected Skins Random 31 | self.writeVInt(0) 32 | //self.writeDataReference(29, i) 33 | //Selected Skins Random End 34 | 35 | // Current Random Skin 36 | self.writeVInt(0) 37 | // Current Random Skin End 38 | 39 | // Selected Group Skin 40 | self.writeVInt(0) // Skin Count 41 | //self.writeVInt(1) // Group Index 42 | //self.writeDataReference(29, 18) // SkinID 43 | // Selected Group Skin End 44 | 45 | // Unlocked Skins Array 46 | self.writeVInt(self.player.unlocked_skins.length) 47 | for (var x in self.player.unlocked_skins){ 48 | self.writeDataReference(29, self.player.unlocked_skins[x]) 49 | } 50 | // Unlocked Skins Array End 51 | 52 | // Unlocked Skin Purchase Option 53 | self.writeVInt(0) 54 | // Unlocked Skin Purchase Option End 55 | 56 | self.writeVInt(0) 57 | 58 | self.writeVInt(0)// Leaderboard Region | 0 = Global, 1 = Asia 59 | self.writeVInt(self.player.highest_trophies)// Trophy Road Highest Trophies 60 | self.writeVInt(0)// Tokens Used In Battles 61 | self.writeVInt(1)// Control Mode 62 | self.writeBoolean(false)// Is Token Limit Reached 63 | self.writeVInt(0)// Tokens Doubler 64 | self.writeVInt(0)// Trophy Road Timer 65 | self.writeVInt(0)// Power Play Timer (maybe power league now?) 66 | self.writeVInt(0)// Brawl Pass Timer 67 | 68 | self.writeVInt(0) // Starpower Drop 69 | self.writeVInt(0) // Gadget Drop 70 | 71 | self.writeVInt(0) // Rarity Count 72 | 73 | 74 | 75 | self.writeByte(4) // Shop Token Doubler 76 | self.writeVInt(2) // Token Doubler New Tag State 77 | self.writeVInt(2) // Event Tickets New Tag State 78 | self.writeVInt(2) // Coin Packs New Tag State 79 | self.writeVInt(0) // Change Name Cost 80 | self.writeVInt(0) // Timer For the Next Name Change 81 | 82 | 83 | new LogicShopData().encode(self) 84 | 85 | self.writeVInt(0) 86 | 87 | self.writeVInt(0) // Available tokens from battles 88 | self.writeVInt(0) // Timer for new tokens 89 | 90 | self.writeVInt(0) 91 | 92 | self.writeVInt(0)// Event Tickets lol 93 | self.writeVInt(0)// Tickets (still?) 94 | 95 | self.writeDataReference(16, 0)// Home Brawler 96 | self.writeString(self.player.region) 97 | self.writeString(self.player.content_creator) 98 | 99 | // Home Events arraychiki 100 | self.writeVInt(0) 101 | 102 | self.writeVInt(0)// CoolDown Entry Array 103 | 104 | // BrawlPass array 105 | self.writeVInt(1) // Season Count 106 | 107 | self.writeVInt(7) // Season 108 | self.writeVInt(0) // Tokens 109 | self.writeVInt(0) // isBrawlPass 110 | self.writeVInt(0) 111 | 112 | self.writeByte(2) 113 | self.writeInt(4294967292) 114 | self.writeInt(4294967295) 115 | self.writeInt(511) 116 | self.writeInt(0) 117 | 118 | self.writeByte(1) 119 | self.writeInt(4294967292) 120 | self.writeInt(4294967295) 121 | self.writeInt(511) 122 | self.writeInt(0) 123 | // BrawlPass array End 124 | 125 | self.writeVInt(0) 126 | 127 | // Quest Array 128 | self.writeBoolean(true) 129 | self.writeVInt(0) 130 | // Quest Array End 131 | 132 | // Emojis and Thumbnails Array 133 | self.writeBoolean(true) 134 | self.writeVInt(self.player.unlocked_pins.length + self.player.unlocked_thumbnails.length) // Vanity Count 135 | for(var x in self.player.unlocked_pins){ 136 | self.writeDataReference(52, x) 137 | self.writeVInt(1) 138 | self.writeVInt(1) 139 | self.writeVInt(1) 140 | } 141 | 142 | for(var i in self.player.unlocked_thumbnails){ 143 | self.writeDataReference(28, i) 144 | self.writeVInt(1) 145 | self.writeVInt(1) 146 | self.writeVInt(1) 147 | } 148 | // Emojis and Thumbnails Array End 149 | 150 | // ig thumnails? like comes with power league pfps 151 | self.writeBoolean(false) 152 | self.writeInt(0) 153 | // end 154 | 155 | // Logic Daily Data End 156 | } 157 | } 158 | 159 | module.exports = LogicDailyData -------------------------------------------------------------------------------- /Titan/ByteStream/index.js: -------------------------------------------------------------------------------- 1 | const ByteArray = require('./ByteArray') 2 | 3 | class ByteStream { 4 | constructor (data) { 5 | this.buffer = data ? data : Buffer.alloc(0) 6 | this.length = 0 7 | this.offset = 0 8 | this.bitOffset = 0 9 | } 10 | 11 | readInt () { 12 | this.bitOffset = 0 13 | return (this.buffer[this.offset++] << 24 | 14 | (this.buffer[this.offset++] << 16 | 15 | (this.buffer[this.offset++] << 8 | 16 | this.buffer[this.offset++]))) 17 | } 18 | 19 | skip (len) { 20 | this.bitOffset += len 21 | } 22 | 23 | readShort () { 24 | this.bitOffset = 0 25 | return (this.buffer[this.offset++] << 8 | 26 | this.buffer[this.offset++]) 27 | } 28 | 29 | 30 | writeShort (value) { 31 | this.bitOffset = 0 32 | this.ensureCapacity(2) 33 | this.buffer[this.offset++] = (value >> 8) 34 | this.buffer[this.offset++] = (value) 35 | } 36 | 37 | 38 | writeInt (value) { 39 | this.bitOffset = 0 40 | this.ensureCapacity(4) 41 | this.buffer[this.offset++] = (value >> 24) 42 | this.buffer[this.offset++] = (value >> 16) 43 | this.buffer[this.offset++] = (value >> 8) 44 | this.buffer[this.offset++] = (value) 45 | } 46 | 47 | 48 | getHex () { 49 | return ByteArray.bytesToHex(this.buffer) 50 | } 51 | 52 | readString () { 53 | const length = this.readInt() 54 | 55 | if (length > 0 && length < 90000) { 56 | const stringBytes = this.buffer.slice(this.offset, this.offset + length) 57 | const string = stringBytes.toString('utf8') 58 | this.offset += length 59 | return string 60 | } 61 | return '' 62 | } 63 | 64 | readVInt () { 65 | let result = 0, 66 | shift = 0, 67 | s = 0, 68 | a1 = 0, 69 | a2 = 0 70 | do { 71 | let byte = this.buffer[this.offset++] 72 | if (shift === 0) { 73 | a1 = (byte & 0x40) >> 6 74 | a2 = (byte & 0x80) >> 7 75 | s = (byte << 1) & ~0x181 76 | byte = s | (a2 << 7) | a1 77 | } 78 | result |= (byte & 0x7f) << shift 79 | shift += 7 80 | if (!(byte & 0x80)) 81 | { break } 82 | } while (true) 83 | 84 | return (result >> 1) ^ (-(result & 1)) 85 | } 86 | 87 | 88 | readDataReference(){ 89 | const a1 = this.readVInt() 90 | return [ a1, a1 == 0 ? 0 : this.readVInt() ] 91 | } 92 | 93 | 94 | writeDataReference (value1, value2) { 95 | if(value1 < 1){ 96 | this.writeVInt(0) 97 | }else{ 98 | this.writeVInt(value1) 99 | this.writeVInt(value2) 100 | } 101 | } 102 | 103 | writeVInt (value) { 104 | this.bitOffset = 0 105 | let temp = (value >> 25) & 0x40 106 | 107 | let flipped = value ^ (value >> 31) 108 | 109 | temp |= value & 0x3F 110 | 111 | value >>= 6 112 | flipped >>= 6 113 | 114 | if (flipped === 0) { 115 | this.writeByte(temp) 116 | return 0 117 | } 118 | 119 | this.writeByte(temp | 0x80) 120 | 121 | flipped >>= 7 122 | let r = 0 123 | 124 | if (flipped) 125 | { r = 0x80 } 126 | 127 | this.writeByte((value & 0x7F) | r) 128 | 129 | value >>= 7 130 | 131 | while (flipped !== 0) { 132 | flipped >>= 7 133 | r = 0 134 | if (flipped) 135 | { r = 0x80 } 136 | this.writeByte((value & 0x7F) | r) 137 | value >>= 7 138 | } 139 | } 140 | 141 | 142 | writeBoolean (value) { 143 | if (this.bitOffset === 0) { 144 | this.ensureCapacity(1) 145 | this.buffer[this.offset++] = 0 146 | } 147 | 148 | if (value) 149 | { this.buffer[this.offset - 1] |= (1 << this.bitOffset) } 150 | 151 | this.bitOffset = (this.bitOffset + 1) & 7 152 | } 153 | 154 | readBoolean(){ 155 | return this.readVInt() >= 1 156 | } 157 | 158 | 159 | writeString (value) { 160 | if (!value || value == null || value.length > 90000) { 161 | this.writeInt(-1) 162 | return 163 | } 164 | 165 | const buf = Buffer.from(value, 'utf8') 166 | this.writeInt(buf.length) 167 | this.buffer = Buffer.concat([this.buffer, buf]) 168 | this.offset += buf.length 169 | } 170 | 171 | 172 | writeStringReference = this.writeString 173 | 174 | writeLongLong (value) { 175 | this.writeInt(value >> 32) 176 | this.writeInt(value) 177 | } 178 | 179 | writeLongInt(value1, value2){ 180 | this.writeInt(value1) 181 | this.writeInt(value2) 182 | } 183 | 184 | writeLogicLong (value1, value2) { 185 | this.writeVInt(value1) 186 | this.writeVInt(value2) 187 | } 188 | 189 | 190 | readLogicLong () { 191 | return [ this.readVInt(), this.readVInt() ] 192 | } 193 | 194 | 195 | writeLong (value1, value2) { 196 | this.writeInt(value1) 197 | this.writeInt(value2) 198 | } 199 | 200 | 201 | readLong () { 202 | return [ this.readInt(), this.readInt() ] 203 | } 204 | 205 | 206 | writeByte (value) { 207 | this.bitOffset = 0 208 | this.ensureCapacity(1) 209 | this.buffer[this.offset++] = value 210 | } 211 | 212 | 213 | writeBytes (buffer) { 214 | const length = buffer.length 215 | 216 | if (buffer != null) { 217 | this.writeInt(length) 218 | this.buffer = Buffer.concat([this.buffer, buffer]) 219 | this.offset += length 220 | return 221 | } 222 | 223 | this.writeInt(-1) 224 | } 225 | 226 | 227 | ensureCapacity (capacity) { 228 | const bufferLength = this.buffer.length 229 | 230 | if (this.offset + capacity > bufferLength) { 231 | const tmpBuffer = new Buffer.alloc(capacity) 232 | this.buffer = Buffer.concat([this.buffer, tmpBuffer]) 233 | } 234 | } 235 | 236 | 237 | send () { 238 | if (this.id < 20000) return; 239 | 240 | this.encode() 241 | 242 | const header = Buffer.alloc(7) 243 | header.writeUInt16BE(this.id, 0) 244 | header.writeUIntBE(this.buffer.length, 2, 3) 245 | header.writeUInt16BE(this.version, 5) 246 | 247 | this.client.write(Buffer.concat([header, this.buffer, Buffer.from([0xFF, 0xFF, 0x0, 0x0, 0x0, 0x0, 0x0])])) 248 | this.client.log(`[SERVER][>>]: Packet ${this.id} (${this.constructor.name}) was sent.`) 249 | } 250 | } 251 | 252 | module.exports = ByteStream 253 | -------------------------------------------------------------------------------- /Logic/Assets/Files/csv_logic/characters.csv: -------------------------------------------------------------------------------- 1 | Name,LockedForChronos,Disabled,ItemName,WeaponSkill,UltimateSkill,Pet,Speed,Hitpoints,HealthPromilleLostPerSecond,HealPercentChange,MeleeAutoAttackSplashDamage,AutoAttackSpeedMs,AutoAttackDamage,AutoAttackBulletsPerShot,AutoAttackMode,AutoAttackProjectileSpread,AutoAttackProjectile,AutoAttackRange,RegeneratePerSecond,LowPriorityTarget,UltiChargeMul,UltiChargeUltiMul,Type,CarryableType,DamagerPercentFromAliens,DefaultSkin,ManualRotations,FileName,BlueExportName,RedExportName,ShadowExportName,AreaEffect,DeathAreaEffect,TakeDamageEffect,DeathEffect,MoveEffect,ReloadEffect,OutOfAmmoEffect,DryFireEffect,SpawnEffect,MeleeHitEffect,AutoAttackStartEffect,BoneEffect1,BoneEffect2,BoneEffect3,BoneEffect4,BoneEffectUse,LoopedEffect,LoopedEffect2,KillCelebrationSoundVO,InLeadCelebrationSoundVO,StartSoundVO,UseUltiSoundVO,TakeDamageSoundVO,DeathSoundVO,AttackSoundVO,UnlockVO,UnlockVOIndex,AttackStartEffectOffset,TwoWeaponAttackEffectOffset,ShadowScaleX,ShadowScaleY,ShadowX,ShadowY,ShadowSkew,Scale,HeroScreenScale,FitToBoxScale,EndScreenScale,GatchaScreenScale,HomeScreenScale,ShowPetInHeroScreen,HeroScreenXOffset,HeroScreenZOffset,HeroScreenEmoteX,HeroScreenEmoteY,CollisionRadius,HealthBar,HealthBarOffsetY,FlyingHeight,ProjectileStartZ,StopMovementAfterMS,WaitMS,TID,ForceAttackAnimationToEnd,IconSWF,IconExportName,RecoilAmount,Homeworld,FootstepClip,DifferentFootstepOffset,FootstepIntervalMS,AttackingWeaponScale,UseThrowingLeftWeaponBoneScaling,UseThrowingRightWeaponBoneScaling,CommonSetUpgradeBonus,RareSetUpgradeBonus,SuperRareSetUpgradeBonus,CanWalkOverWater,UseColorMod,RedAdd,GreenAdd,BlueAdd,RedMul,GreenMul,BlueMul,ChargeUltiAutomatically,ChargeUltiFromDamage,VideoLink,ShouldEncodePetStatus,SecondaryPet,ExtraMinions,PetAutoSpawnDelay,HasPowerLevels,OffenseRating,DefenseRating,UtilityRating,UniqueProperty,UniquePropertyValue1,UniquePropertyValue2 2 | string,boolean,boolean,string,string,string,string,int,int,int,int,boolean,int,int,int,string,int,string,int,int,boolean,int,int,String,string,int,string,boolean,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,int,int,int,int,int,int,int,int,int,int,int,int,int,int,boolean,int,int,int,int,int,string,int,int,int,int,int,string,boolean,string,string,int,string,string,int,int,int,boolean,boolean,int,int,int,boolean,boolean,int,int,int,int,int,int,int,int,string,boolean,boolean,int,int,boolean,int,int,int,int,int,int 3 | ShotgunGirl,,,shelly,ShotgunGirlWeapon,ShotgunGirlUlti,,720,3800,,,,,,,,,,12,,,134,112,Hero,,,BanditGirlDefault,,,,,,,,takedamage_gen,death_shotgun_girl,Gen_move_fx,reload_shotgun_girl,No_ammo_shotgungirl,Dry_fire_shotgungirl,,,,,,,,,,,Shelly_Kill,Shelly_Lead,Shelly_Start,Utilshotgun_Vo,ShellyTakedamge_Vo,Shelly_Die,,Shelly_Start,2,30,,80,80,,,35,116,210,284,90,175,260,,,,-25,40,120,Medium,-48,,450,,,TID_SHOTGUN_GIRL,,sc/ui.sc,hero_icon_shelly,1000,human,footstep,25,250,200,,,1,3,2,,,,,,,,,,,ShellyTutorial,,,,,,4,3,2,,, 4 | Gunslinger,,,colt,GunslingerWeapon,GunslingerUlti,,720,2800,,,,,,,,,,12,,,93,87,Hero,,,GunSlingerDefault,,,,,,,,takedamage_gen,death_gunslinger,Gen_move_fx,reload_gunslinger,No_ammo_shotgungirl,Dry_fire_shotgungirl,,,,,,,,,,,Hotshot_Kill,Hotshot_Lead,Hotshot_Start,Hotshot_Ulti,Hotshot_Takedamge_Vo,Hotshot_Die,,Hotshot_Start,1,35,50,80,80,,,35,116,210,284,90,185,270,,,,-30,40,120,Medium,-52,,400,,,TID_GUNSLINGER,,sc/ui.sc,hero_icon_colt,300,human,footstep,25,300,160,,,2,3,1,,,,,,,,,,,ColtTutorial,,,,,,5,2,2,,, 5 | BullDude,,,bull,BullDudeWeapon,BullDudeUlti,,770,5000,,,,,,,,,,12,,,100,150,Hero,,,BullGuyDefault,,,,,,,,takedamage_gen,death_bull_dude,Gen_move_fx,reload_bull_dude,No_ammo_shotgungirl,Dry_fire_shotgungirl,,,,,,,,,,,Bull_kill,Bull_lead,Bull_start,Bull_ulti,Bull_takedamage_vo,Bull_die,,Bull_start,0,40,,80,80,,,35,116,175,236,80,150,220,,,,-30,45,145,Medium,-64,,450,,,TID_BULL_DUDE,,sc/ui.sc,hero_icon_bull,600,human,footstep,40,300,130,,,1,2,3,,,,,,,,,,240,BullTutorial,,,,,,3,4,2,,, 6 | RocketGirl,,,brock,RocketGirlWeapon,RocketGirlUlti,,720,2400,,,,,,,,,,12,,,90,80,Hero,,,RocketGirlDefault,,,,,,,,takedamage_gen,death_rocket_girl,Gen_move_fx,reload_rocket_girl,No_ammo_shotgungirl,Brock_dryfire,,,,,,,,,,,Brock_kill_vo,Brock_lead_vo,Brock_start_vo,Brock_ulti_vo,Brock_hurt_vo,Brock_die_vo,,Brock_start_vo,3,35,,80,80,,,35,116,200,270,90,180,260,,,,-50,,120,Medium,-52,,500,,,TID_ROCKET_GIRL,,sc/ui.sc,hero_icon_brock,300,human,footstep,25,500,100,,,2,3,1,,,,,,,,,,,BrockTutorial,,,,,,5,2,2,,, 7 | TrickshotDude,,,ricochet,TrickshotDudeWeapon,TrickshotDudeUlti,,720,2800,,,,,,,,,,12,,,105,105,Hero,,,TrickshotDefault,,,,,,,,takedamage_gen,death_trickshot_dude,Gen_move_fx,reload_trickshot_dude,No_ammo_shotgungirl,dry_fire_mechanic,,,,,,,,,,,Rick_kill,Rick_lead,Rick_start,Rick_ulti,Rick_hurt,Rick_die,,Rick_start,0,60,,80,80,,,35,116,200,280,90,175,260,,,,-40,,120,Medium,-49,,450,,,TID_TRICKSHOT_DUDE,,sc/ui.sc,hero_icon_rick,300,human,footstep,25,300,160,,,2,3,1,,,,,,,,,,,RicoTutorial,,,,,,5,2,2,,, 8 | Cactus,,,spike,CactusWeapon,CactusUlti,,720,2400,,,,,,,,,,12,,,103,125,Hero,,,CactusDefault,,,,,,,,takedamage_gen,death_cactus,Gen_move_fx,reload_cactus,No_ammo_shotgungirl,crow_dryfire,,,,,,,,,,,,,,,,,,,,35,,80,80,,,35,116,240,324,80,210,290,,,,,50,120,Medium,-32,,450,,,TID_CACTUS,,sc/ui.sc,hero_icon_spike,0,human,footstep,40,300,100,true,true,2,1,3,,,,,,,,,,,SpikeTutorial,,,,,,4,2,3,,, 9 | Barkeep,,,barley,BarkeepWeapon,BarkeepUlti,,720,2400,,,,,,,,,,12,,,100,74,Hero,,,BarkeepDefault,,,,,,,,takedamage_gen,death_barkeep,Gen_move_fx,reload_barkeep,No_ammo_shotgungirl,dry_fire_barkeep,,,,,,,,,,,Barley_Kill,Barley_Lead,Barley_Start,Barley_Ulti,Barley_Hurt,Barley_Die,Barley_throw,Barley_Start,0,,,80,80,,,35,116,190,290,80,180,250,,,,-30,,120,Medium,-45,,350,,,TID_BARKEEP,,sc/ui.sc,hero_icon_barley,0,human,footstep,25,300,100,true,true,2,3,1,,,,,,,,,,,BarleyTutorial,,,,,,5,2,2,,, 10 | Mechanic,,,jessie,MechanicWeapon,MechanicUlti,,720,3000,,,,,,,,,,12,,,63,97,Hero,,,MechanicDefault,,,,,,,,takedamage_gen,death_mechanic,Gen_move_fx,reload_mechanic,No_ammo_shotgungirl,dry_fire_mechanic,,,,,,,,,,,Jess_kill,Jess_lead,Jess_start,Jess_ulti,Jess_takedamage,Jess_die,,Jess_start,0,35,,80,80,,,35,116,190,300,80,150,270,true,-800,100,-80,60,120,Medium,-47,,350,,,TID_MECHANIC,,sc/ui.sc,hero_icon_jess,500,human,footstep,20,200,160,,,3,2,1,,,,,,,,,,,JessieTutorial,,,,,,3,2,4,,, 11 | Shaman,,,nita,ShamanWeapon,ShamanUlti,,720,4000,,,,,,,,,,12,,,76,100,Hero,,,ShamanDefault,,,,,,,,takedamage_gen,death_shaman,Gen_move_fx,,No_ammo_shotgungirl,dry_fire_barkeep,,,,,,,,,,,Nita_kill,Nita_lead,Nita_start,Nita_ulti,Nita_hurt,Nita_death,,Nita_start,0,35,,80,80,,,35,116,190,250,80,150,270,true,-600,1000,-250,60,120,Medium,-46,,100,,,TID_SHAMAN,,sc/ui.sc,hero_icon_nita,1000,human,footstep,25,250,160,,,3,1,2,,,,,,,,,,,NitaTutorial,,,,,,3,4,2,,, 12 | TntDude,,,dynamike,TntDudeWeapon,TntDudeUlti,TntPet,770,2800,,,,,,,,,,12,,,125,91,Hero,,,TntGuyDefault,,,,,,,,takedamage_gen,death_tnt_dude,Gen_move_fx,reload_tnt_dude,No_ammo_shotgungirl,dry_fire_barkeep,,,,,,,,,,,Tnt_guy_kill_vo,Tnt_guy_lead_vo,Tnt_guy_start_vo,Tnt_guy_ulti_vo,Tnt_guy_hurt_vo,Tnt_guy_die_vo,,Tnt_guy_start_vo,2,35,,80,80,,,35,116,190,300,80,150,270,,,,,60,120,Medium,-50,,350,,,TID_TNT_DUDE,,sc/ui.sc,hero_icon_mike,0,human,footstep,25,200,100,true,true,2,1,3,,,,,,,,,,,MikeTutorial,,,,,,5,2,2,,, 13 | Luchador,,,elprimo,LuchadorWeapon,LuchadorUlti,,770,6000,,,,,,,,,,12,,,70,125,Hero,,,LuchadorDefault,,,,,,,,takedamage_gen,death_luchador,Gen_move_fx,,No_ammo_shotgungirl,dry_fire_barkeep,,Gen_hit_melee,,,,,,,,,El_primo_kill,El_primo_lead,El_primo_start,El_primo_ulti,El_primo_hurt,El_primo_die,El_primo_atk,El_primo_start,2,50,50,80,80,,,35,116,170,245,90,150,235,,,,-20,-20,145,Medium,-56,,400,,,TID_LUCHADOR,,sc/ui.sc,hero_icon_primo,0,human,footstep,40,250,130,,,1,3,2,,,,,,,,,,240,PrimpTutorial,,,,,,2,5,2,,, 14 | Undertaker,,,mortis,UndertakerWeapon,UndertakerUlti,,820,3800,,,,,,,,,,12,,,89,134,Hero,,,UndertakerDefault,,,,,,,,takedamage_gen,death_undertaker,Gen_move_fx,reload_undertaker,No_ammo_shotgungirl,dry_fire_barkeep,,Dummy_effect,,,,,,,,,Mortis_kill,Mortis_lead,Mortis_start,Mortis_ulti_vo,Mortis_hurt,Mortis_die,Mortis_atk_vo,Mortis_start,1,50,,80,80,,,35,130,200,285,95,170,260,,,,,20,120,Medium,-59,,350,,,TID_UNDERTAKER,,sc/ui.sc,hero_icon_mortis,0,human,footstep,25,350,165,,,1,2,3,,,,,,,,,,,MortisTutorial,,,,,,2,3,4,,, 15 | Crow,,,crow,CrowWeapon,CrowUlti,,820,2400,,,,,,,,,,12,,,89,75,Hero,,,CrowDefault,,,,,,,,takedamage_gen,death_crow,Gen_move_fx,reload_crow,No_ammo_shotgungirl,crow_dryfire,,,,,,,,,,,Crow_Kill,Crow_Lead,Crow_Start,Crow_Ulti,Crow_Takedamage,Crow_Die,,Crow_Start,0,45,,80,80,,,35,116,230,350,90,210,290,,,,-10,20,120,Medium,-41,,400,,,TID_CROW,,sc/ui.sc,hero_icon_crow,0,human,footstep,20,200,100,true,true,2,1,3,,,,,,,,,,,CrowTutorial,,,,,,5,1,3,,, 16 | DeadMariachi,,,poco,DeadMariachiWeapon,DeadMariachiUlti,,720,4000,,,,,,,,,,12,,,120,150,Hero,,,DeadMariachiDefault,,,,,,,,takedamage_gen,death_dead_mariachi,Gen_move_fx,reload_dead_mariachi,No_ammo_shotgungirl,dry_fire_barkeep,,,,,,,,,,,Poco_kill,Poco_lead,Poco_start,Poco_ulti_vo,Poco_hurt,Poco_die,,Poco_start,1,20,,80,80,,,35,116,200,300,85,180,260,,,,,60,120,Medium,-56,,0,,,TID_DEAD_MARIACHI,,sc/ui.sc,hero_icon_poco,0,human,footstep,25,250,100,,,1,3,2,,,,,,,,,,,PocoTutorial,,,,,,2,3,4,,, 17 | BowDude,,,bo,BowDudeWeapon,BowDudeUlti,,720,3600,,,,,,,,,,12,,,80,93,Hero,,,BowDudeDefault,,,,,,,,takedamage_gen,death_bow_dude,Gen_move_fx,reload_bow_dude,No_ammo_shotgungirl,dry_fire_bowdude,,,,,,,,,,,Bo_kill,Bo_lead,Bo_start,Bo_ulti_vo,Bo_hurt,Bo_die,Bo_atk_vo,Bo_start,2,45,,80,80,,,35,106,170,245,75,165,220,,-150,,-40,,120,Medium,-56,,400,,,TID_BOW_DUDE,,sc/ui.sc,hero_icon_bo,0,human,footstep,30,300,100,true,,1,2,3,,,,,,,,,,,BoTutorial,,,,,,3,2,4,,, 18 | Sniper,,,piper,SniperWeapon,SniperUlti,,720,2400,,,,,,,,,,12,,,97,90,Hero,,,SniperDefault,,,,,,,,takedamage_gen,death_sniper,Gen_move_fx,reload_sniper,No_ammo_shotgungirl,Minig_dryfire,,,,,,,,,,,Piper_Kill,Piper_Lead,Piper_Start,Piper_Ulti,Piper_Takedamage,Piper_Die,,Piper_Start,0,45,,80,80,,,35,116,200,320,90,190,260,,,,,,120,Medium,-46,,450,,,TID_SNIPER,,sc/ui.sc,hero_icon_piper,100,human,footstep,25,400,160,,,2,3,1,,,,,,,,,,,PiperTutorial,,,,,,5,1,3,,, 19 | MinigunDude,,,pam,MinigunDudeWeapon,MinigunDudeUlti,,720,4800,,,,,,,,,,12,,,105,130,Hero,,,MinigunDudeDefault,,,,,,,,takedamage_gen,death_minigun,Gen_move_fx,reload_minigun,No_ammo_shotgungirl,Minig_dryfire,,,,,,,,,,,Pam_kill,Pam_lead,Pam_start,Pam_ulti,Pam_hurt,Pam_die,,Pam_start,2,40,,80,80,,,35,106,170,245,75,150,220,true,-500,,-80,,145,Medium,-59,,450,,,TID_MINIGUN_DUDE,,sc/ui.sc,hero_icon_mj,400,human,footstep,30,400,130,,,1,3,2,,,,,,,,,,,PamTutorial,,,,,,2,4,3,,, 20 | BlackHole,,,tara,BlackHoleWeapon,BlackHoleUlti,BlackHolePet,720,3200,,,,,,,,,,12,,,73,90,Hero,,,BlackholeDefault,,,,,,,,takedamage_gen,death_blackhole,Gen_move_fx,reload_blackhole,No_ammo_shotgungirl,Mystic_dryfire,,,,,,,,,,,Tara_kill_vo,Tara_lead_vo,Tara_start_vo,,Tara_hurt_vo,Tara_die_vo,,Tara_start_vo,0,50,,80,80,,,35,120,210,300,90,175,270,,,,-20,30,120,Medium,-59,,450,,,TID_BLACK_HOLE,,sc/ui.sc,hero_icon_taro,400,human,footstep,25,300,130,,,1,2,3,,,,,,,,,,,TaraTutorial,,,,,,2,2,5,,, 21 | BarrelBot,,,darryl,BarrelBotWeapon,BarrelBotUlti,,770,5300,,,,,,,,,,12,,,117,120,Hero,,,BarrelbotDefault,,,,,,,,takedamage_gen,death_barrel_bot,Gen_move_fx,reload_barrel_bot,No_ammo_shotgungirl,Dry_fire_shotgungirl,,,,,,,,,,,Darryl_Kill_VO,Darryl_Lead_VO,Darryl_Start_VO,Darryl_Ulti_VO,Darryl_Hurt_VO,Darryl_Die_VO,,Darryl_Start_VO,4,50,0,80,80,,,35,116,190,257,80,175,230,,,,,80,145,Medium,-48,,450,,,TID_BARREL_BOT,,sc/ui.sc,hero_icon_barrelbot,600,human,footstep,40,300,130,,,1,2,3,,,,,,,,,132,,DarrylTutorial,,,,,,3,4,2,,, 22 | ArtilleryDude,,,penny,ArtilleryDudeWeapon,ArtilleryDudeUlti,,720,3400,,,,,,,,,,12,,,93,100,Hero,,,ArtilleryGalDefault,,,,,,,,takedamage_gen,death_artillery_dude,Gen_move_fx,reload_artillery_dude,No_ammo_shotgungirl,dry_fire_mechanic,,,,,,,,,,,Penny_kill,Penny_lead,Penny_start,Penny_ulti,Penny_takedamage,Penny_die,,Penny_start,0,35,,80,80,,,35,110,190,290,80,150,260,true,-500,600,-80,60,120,Medium,-45,,400,,,TID_ARTILLERY_DUDE,,sc/ui.sc,hero_icon_penny,500,human,footstep,20,200,160,,,3,2,1,,,,,,,,,,,PennyTutorial,,,,,,3,2,4,,, 23 | HammerDude,,,frank,HammerDudeWeapon,HammerDudeUlti,,770,7000,,,,,,,,,,12,,,120,120,Hero,,,FrankDefault,,,,,,,,takedamage_gen,death_hammer_dude,Gen_move_fx,,No_ammo_shotgungirl,dry_fire_barkeep,,,,,,,,,,,Frank_vo,Frank_vo,Frank_vo,Frank_vo,Frank_vo,Frank_vo,Frank_vo,Frank_vo,2,75,,80,80,,,35,110,150,240,80,150,230,,,,,,145,Medium,-60,,100,,,TID_HAMMER_DUDE,,sc/ui.sc,hero_icon_frank,0,human,footstep,40,250,130,,,1,3,2,,,,,,,,,,240,FrankTutorial,,,,,,2,5,2,,, 24 | HookDude,,,gene,HookWeapon,HookUlti,,720,3600,,,,,,,,,,12,,,105,100,Hero,,,HookDefault,,,,,,,,takedamage_gen,death_hook_dude,Gen_move_fx,reload_gene,No_ammo_shotgungirl,dry_fire_gene,,,,,,,,,,,Gene_vo,Gene_vo,Gene_vo,Gene_vo,Gene_vo,Gene_vo,,Gene_vo,1,30,,80,80,,,35,116,230,340,90,175,270,,,,,,120,Medium,-36,,350,,,TID_HOOK,,sc/ui.sc,hero_icon_gene,0,human,footstep,25,350,200,,,1,3,2,,,,,,,,,,,GeneTutorial,,,,,,2,2,5,,, 25 | ClusterBombDude,,,tick,ClusterBombDudeWeapon,ClusterBombDudeUlti,,720,2200,,,,,,,,,,12,,,110,70,Hero,,,ClusterBombDefault,,,,,,,,takedamage_gen,death_artillery_dude,Gen_move_fx,reload_tick,No_ammo_shotgungirl,Dry_fire_shotgungirl,,,,,,,,,,,Tick_vo_1,Tick_vo_1,Tick_vo_1,Tick_vo_1,Tick_vo_hurt,Tick_vo_die,,Tick_vo_1,0,35,,80,80,,,35,110,230,270,80,150,270,,,,-20,50,120,Medium,-40,,350,,,TID_CLUSTER_BOMB_DUDE,,sc/ui.sc,hero_icon_tick,0,human,footstep,85,300,160,,,3,2,1,,,,,,,,,,,,true,,,,,5,1,3,,, 26 | Ninja,,,leon,NinjaWeapon,NinjaUlti,,820,3200,,,,,,,,,,12,,,105,100,Hero,,,NinjaDefault,,,,,,,,takedamage_gen,death_ninja,Gen_move_fx,reload_leon,No_ammo_shotgungirl,Dry_fire_leon,,,,,,,,,,,Leon_kill_vo,Leon_lead_vo,Leon_start_vo,Leon_ulti_vo,Leon_hurt_vo,Leon_die_vo,,Leon_start_vo,2,50,,80,80,,,35,116,190,330,80,150,270,,,,,,120,Medium,-55,,450,,,TID_NINJA,,sc/ui.sc,hero_icon_leon,0,human,footstep,25,250,130,,,3,2,1,,,,,,,,,,,LeonTutorial,,,,,,4,2,3,,, 27 | Rosa,,,rosa,RosaWeapon,RosaUlti,,770,5400,,,,,,,,,,12,,,97,100,Hero,,,RosaDefault,,,,,,,,takedamage_gen,death_rosa,Gen_move_fx,reload_rosa,No_ammo_shotgungirl,dry_fire_barkeep,,,,,,,,,,,Rosa_kill,Rosa_lead,Rosa_start,Rosa_ulti_vo,Rosa_hurt,Rosa_die,,Rosa_start,2,50,,80,80,,,35,110,100,245,80,150,240,,,,,50,145,Medium,-55,,400,,,TID_ROSA,,sc/ui.sc,hero_icon_rosa,0,human,footstep,30,400,130,,,3,2,1,,,,,,,,,,,,,,,,,3,5,1,,, 28 | Whirlwind,,,carl,WhirlwindWeapon,WhirlwindUlti,,720,4400,,,,,,,,,,12,,,102,60,Hero,,,WhirlwindDefault,,,,,,,,takedamage_gen,death_whirlwind,Gen_move_fx,reload_whirlwind,No_ammo_shotgungirl,Dry_fire_whirlwind,,carl_def_ulti_hit,,,,,,,,,Carl_kill_vo,Carl_lead_vo,Carl_start_vo,Carl_ulti_vo,Carl_hurt_vo,Carl_die_vo,Carl_atk_vo,Carl_start_vo,5,30,,80,80,,,35,110,190,255,80,150,230,,,,-20,60,120,Medium,-48,,450,,,TID_WHIRLWIND,,sc/ui.sc,hero_icon_carl,0,human,,25,50,200,TRUE,TRUE,1,3,2,,,,,,,,,,,,,,,,,3,3,3,,, 29 | Baseball,,,bibi,BaseballWeapon,BaseballUlti,,820,4200,,,,,,,,,,12,,,110,112,Hero,,,BaseballDefault,,,,,,,,takedamage_gen,death_baseball,Gen_move_fx,reload_baseball,No_ammo_shotgungirl,dry_fire_barkeep,,bibi_def_atk_hit,,,,,,,,,Bibi_kill_vo,Bibi_lead_vo,Bibi_start_vo,Bibi_ulti_vo,Bibi_hurt_vo,Bibi_die_vo,,Bibi_start_vo,5,30,,80,80,,,35,116,210,320,90,190,270,,,,,60,120,Medium,-48,,450,,,TID_BASEBALL,,sc/ui.sc,hero_icon_bibi,0,human,footstep,25,400,100,,,1,3,2,,,,,,,,,,,,,,,,,3,3,3,,, 30 | Arcade,,,8bit,ArcadeWeapon,ArcadeUlti,,580,4800,,,,,,,,,,12,,,106,100,Hero,,,ArcadeDefault,,,,,,,,takedamage_gen,death_arcade,Gen_move_fx,reload_arcade,No_ammo_shotgungirl,arcade_dryfire,,,,,,,,,,,8bit_kill_vo,8bit_lead_vo,8bit_start_vo,8bit_ulti_vo,8bit_hurt_vo,8bit_die_vo,,8bit_start_vo,2,57,,80,80,,,35,116,240,300,80,210,240,true,-500,,,80,145,Medium,-43,,450,,,TID_ARCADE,,sc/ui.sc,hero_icon_8bit,0,human,footstep,30,400,130,,,1,3,2,,,,,,,,,,,,,,,,,5,1,3,,, 31 | Sandstorm,,,sandy,SandstormWeapon,SandstormUlti,,770,3800,,,,,,,,,,12,,,73,100,Hero,,,SandstormDefault,,,,,,,,takedamage_gen,death_rosa,Gen_move_fx,reload_sandy,No_ammo_shotgungirl,Dry_fire_sandy,,,,,,,,,,,Sandy_kill_vo,Sandy_lead_vo,Sandy_start_vo,Sandy_ulti_vo,Sandy_hurt_vo,Sandy_die_vo,,Sandy_start_vo,4,50,,80,80,,,35,116,190,330,80,150,270,,,,-10,30,145,Medium,-55,,400,,,TID_SANDSTORM,,sc/ui.sc,hero_icon_sandy,0,human,footstep,30,400,130,,,3,2,1,,,,,,,,,,,,,,,,,2,2,5,,, 32 | BeeSniper,,,bea,BeeSniperWeapon,BeeSniperUlti,BeeSniperSlowPot,720,2400,,,,,,,,,,12,,,178,100,Hero,,,BeeSniperDefault,,,,,,,,takedamage_gen,death_sniper,Gen_move_fx,reload_bea,No_ammo_bea,Minig_dryfire,,,,,,,,,,,Bea_Kill_VO,Bea_Lead_VO,Bea_Start_VO,Bea_Ulti_VO,Bea_Hurt_VO,Bea_Die_VO,Bea_Atk_VO,Bea_Start_VO,0,45,50,80,80,,,35,116,200,320,90,190,270,,,,,80,120,Medium,-46,,450,,,TID_BEE_SNIPER,,sc/ui.sc,hero_icon_bea,100,human,footstep,35,350,160,,,2,3,1,,,,,,,,,,,,,,,,,5,2,2,,, 33 | Mummy,,,emz,MummyWeapon,MummyUlti,,720,3600,,,,,,,,,,12,,,86,76,Hero,,,MummyDefault,,,,,,,,takedamage_gen,death_shotgun_girl,Gen_move_fx,Emz_reload,No_ammo_shotgungirl,Emz_dryfire,,,,,,,,,,,Emz_kill_vo,Emz_lead_vo,Emz_start_vo,Emz_ulti_vo,Emz_hurt_vo,Emz_die_vo,Emz_atk_vo,Emz_start_vo,3,30,,80,80,,,35,116,210,270,90,175,240,,,,-20,,120,Medium,-48,,450,,,TID_MUMMY,,sc/ui.sc,hero_icon_emz,0,human,footstep,25,250,200,,,1,3,2,,,,,,,,,,,ShellyTutorial,,,,,,4,2,3,,, 34 | SpawnerDude,,,mr.p,SpawnerDudeWeapon,SpawnerDudeUlti,,720,3000,,,,,,,,,,12,,,93,86,Hero,,,SpawnerDudeDefault,,,,,,,,takedamage_gen,death_artillery_dude,Gen_move_fx,Mrp_Reload,No_ammo_shotgungirl,Mrp_Dryfire,,,,,,,,,,,Mrp_Kill_VO,Mrp_Lead_VO,Mrp_Lead_VO,Mrp_Ulti_VO,Mrp_Hurt_VO,Mrp_Die_VO,Mrp_Atk_VO,Mrp_Lead_VO,0,35,75,80,80,,,35,110,240,330,90,175,300,true,-500,600,-50,80,120,Medium,-45,,400,,,TID_SPAWNER_DUDE,,sc/ui.sc,hero_icon_mrp,500,human,footstep,30,320,160,,,3,2,1,,,,,,,,,,,PennyTutorial,,,,,,3,2,4,,, 35 | Speedy,,,max,SpeedyWeapon,SpeedyUlti,,820,3200,,,,,,,,,,12,,,105,100,Hero,,,SpeedyDefault,,,,,,,,takedamage_gen,death_gunslinger,Gen_move_fx,reload_max,No_ammo_shotgungirl,dry_fire_max,,,,,,,,,,,Max_Kill_VO,Max_Lead_VO,Max_Start_VO,Max_Ulti_VO,Max_Hurt_VO,Max_Die_VO,,Max_Start_VO,2,35,,80,80,,,35,116,210,284,90,185,270,,,,-20,40,120,Medium,-52,,400,,,TID_SPEEDY,,sc/ui.sc,hero_icon_max,300,human,footstep,25,300,160,,,2,3,1,,,,,,,,,,,ColtTutorial,,,,,,2,2,5,,, 36 | 07220d24fa2e06c356cad4e7c6037d70b265010e,,true,shelly,ShotgunGirlWeapon,ShotgunGirlUlti,,720,3800,,,,,,,,,,12,,,134,112,Hero,,,BanditGirlDefault,,,,,,,,takedamage_gen,death_shotgun_girl,Gen_move_fx,reload_shotgun_girl,No_ammo_shotgungirl,Dry_fire_shotgungirl,,,,,,,,,,,Shelly_Kill,Shelly_Lead,Shelly_Start,Utilshotgun_Vo,ShellyTakedamge_Vo,Shelly_Die,,Shelly_Start,2,30,,80,80,,,35,116,210,284,90,175,260,,,,-25,40,120,Medium,-48,,450,,,TID_SHOTGUN_GIRL,,sc/ui.sc,hero_icon_shelly,1000,human,footstep,25,250,200,,,1,3,2,,,,,,,,,,,ShellyTutorial,,,,,,4,3,2,,, 37 | Driller,,,jacky,DrillerWeapon,DrillerUlti,,770,5000,,,,,,,,,,12,,,87,100,Hero,,,DrillerDefault,,,,,,,,takedamage_gen,death_shotgun_girl,Gen_move_fx,reload_jackie,No_ammo_shotgungirl,Jackie_dryfire,,,,,,,,,,,Jackie_Kill_VO,Jackie_Lead_VO,Jackie_Start_VO,Jackie_Ulti_VO,Jackie_Hurt_VO,Jackie_Die_VO,,Jackie_Start_VO,1,50,,80,80,,,35,130,210,350,90,175,310,,,,,,145,Medium,-59,,450,,,TID_DRILLER,,sc/ui.sc,hero_icon_jacky,400,human,footstep,25,300,130,,,1,2,3,,,,,,,,,,240,TaraTutorial,,,,,,2,5,2,,, 38 | Blower,,,gale,BlowerWeapon,BlowerUlti,,720,3600,,,,,,,,,,12,,,120,209,Hero,,,BlowerDefault,,,,,,,,takedamage_gen,death_shotgun_girl,Gen_move_fx,reload_gale,No_ammo_shotgungirl,gale_dryfire,,,,,,,,,,,Gale_Kill_VO,Gale_Lead_VO,Gale_Start_VO,Gale_Ulti_VO,Gale_Hurt_VO,Gale_Die_VO,,Gale_Start_VO,0,50,,80,80,,,35,120,210,300,90,175,270,,,,,50,120,Medium,-59,,450,,,TID_BLOWER,,sc/ui.sc,hero_icon_gale,400,human,footstep,25,300,130,,,1,2,3,,,,,,,,,,,TaraTutorial,,,,,,2,2,5,,, 39 | Controller,,,nani,ControllerWeapon,ControllerUlti,,720,2600,,,,,,,,,,12,,,100,50,Hero,,,ControllerDefault,,,,,,,,takedamage_gen,death_shotgun_girl,Gen_move_fx,Nani_Reload,No_ammo_shotgungirl,Nani_Dryfire,,,,,,,,,,,Nani_Kill_VO,Nani_Lead_VO,Nani_Start_VO,Nani_Ulti,Nani_Hurt_VO,Nani_Die_VO,,Nani_Start_VO,0,50,,80,80,,,35,100,210,300,90,175,270,,,,-260,100,120,Medium,-59,,250,,,TID_CONTROLLER,,sc/ui.sc,hero_icon_nani,400,human,footstep,25,300,130,,,1,2,3,,,,,,,,,,,TaraTutorial,,,,,,5,1,3,,, 40 | Wally,,,sprout,WallyWeapon,WallyUlti,,720,3000,,,,,,,,,,12,,,84,100,Hero,,,WallyDefault,,,,,,,,takedamage_gen,death_shotgun_girl,Gen_move_fx,reload_sprout,No_ammo_shotgungirl,sprout_dryfire,,,,,,,,,,,Sprout_Kill_VO,Sprout_Lead_VO,Sprout_Start_VO,Sprout_Ulti_VO,Sprout_Hurt_VO,Sprout_Die_VO,,Sprout_Start_VO,1,50,,80,80,,,35,120,210,300,90,175,270,,,,,140,120,Medium,-59,,450,,,TID_WALLY,,sc/ui.sc,hero_icon_sprout,400,human,footstep,25,300,130,,,1,2,3,,,,,,,,,,,TaraTutorial,,,,,,3,2,4,,, 41 | PowerLeveler,,,surge,PowerLevelerWeapon,PowerLevelerUlti,,650,2800,,,,,,,,,,12,,,120,134,Hero,,,PowerLevelerDefault,,,,,,,,takedamage_gen,death_artillery_dude,Gen_move_fx,Surge_Reload,No_ammo_shotgungirl,Surge_Dryfire,,,,,,,,,,,Surge_Kill_VO,Surge_Lead_VO,Surge_Start_VO,Surge_Ulti_VO,Surge_Hurt_VO,Surge_Die_VO,Surge_Atk_VO,Surge_Start_VO,4,35,,80,80,,,35,90,190,200,80,150,200,,,600,,,120,Medium,-45,,400,,,TID_POWER_LEVELER,,sc/ui.sc,hero_icon_surge,500,human,footstep,20,200,160,,,3,2,1,,,,,,,,,,,PennyTutorial,,,,,true,5,3,1,,, 42 | Percenter,,,colette,PercenterWeapon,PercenterUlti,,720,3400,,,,,,,,,,12,,,100,100,Hero,,,PercenterDefault,,,,,,,,takedamage_gen,death_mechanic,Gen_move_fx,reload_mechanic,No_ammo_shotgungirl,dry_fire_mechanic,,,,,,,,,,,Colette_Kill_VO,Colette_Lead_VO,Colette_Start_VO,Colette_Ulti_VO,Colette_Hurt_VO,Colette_Die_VO,,Colette_Start_VO,5,35,,80,80,,,35,116,210,284,90,175,260,,,,-25,40,120,Medium,-48,,400,,,TID_PERCENTER,,sc/ui.sc,hero_icon_colette,500,human,footstep,40,300,160,,,3,2,1,,,,,,,,,,,PennyTutorial,,,,,,4,2,3,,, 43 | FireDude,,,amber,FireDudeWeapon,FireDudeUlti,,720,3200,,,,,,,,,,12,,,91,53,Hero,,,FireDudeDefault,,,,,,,,takedamage_gen,death_arcade,Gen_move_fx,Amber_Reload,No_ammo_shotgungirl,Amber_Dryfire,,,,,,,,,,,Amber_Kill_VO,Amber_Lead_VO,Amber_Start_VO,Amber_Ulti_VO,Amber_Hurt_VO,Amber_Die_VO,Amber_Atk_VO,Amber_Start_VO,1,40,,80,80,,,35,116,210,284,90,175,260,true,,,-80,,120,Medium,-59,,450,,,TID_FIRE_DUDE,,sc/ui.sc,hero_icon_amber,400,human,footstep,30,400,130,,,1,3,2,,,,,,,,,,,PamTutorial,,,,,,5,2,2,,, 44 | IceDude,,,lou,IceDudeWeapon,IceDudeUlti,,720,3200,,,,,,,,,,12,,,143,100,Hero,,,IceDudeDefault,,,,,,,,takedamage_gen,death_cactus,Gen_move_fx,Lou_Reload,No_ammo_shotgungirl,Lou_Dryfire,,,,,,,,,,,Lou_Kill_VO,Lou_Lead_VO,Lou_Start_VO,Lou_Ulti_VO,Lou_Hurt_VO,Lou_Die_VO,Lou_Atk_VO,Lou_Start_VO,2,35,50,80,80,,,35,116,240,324,80,210,290,,,,,50,120,Medium,-32,,450,,,TID_ICE_DUDE,,sc/ui.sc,hero_icon_lou,0,human,footstep,40,300,100,true,true,2,1,3,,,,,,,,,,,SpikeTutorial,,,,,,3,1,5,,, 45 | SnakeOil,,,byron,SnakeOilWeapon,SnakeOilUlti,,720,2400,,,,,,,,,,12,,,131,61,Hero,,,SnakeOilDefault,,,,,,,,takedamage_gen,death_sniper,Gen_move_fx,Byron_Reload,No_ammo_shotgungirl,Byron_Dryfire,,,,,,,,,,,Snakeoil_Kill_VO,Snakeoil_Lead_VO,Snakeoil_Start_VO,Snakeoil_Ulti_VO,Snakeoil_Hurt_VO,Snakeoil_Die_VO,,Snakeoil_Start_VO,0,45,,80,80,,,35,140,230,320,100,190,260,,,,,,120,Medium,-46,,450,,,TID_SNAKE_OIL,,sc/ui.sc,hero_icon_byron,100,human,footstep,25,400,160,,,2,3,1,,,,,,,,,,,PiperTutorial,,,,,,3,2,4,,, 46 | Enrager,,,edgar,EnragerWeapon,EnragerUlti,,820,2800,,,,,,,,,,12,,,62,100,Hero,,,EnragerDefault,,,,,,,,takedamage_gen,death_undertaker,Gen_move_fx,Edgar_Reload,No_ammo_shotgungirl,dry_fire_barkeep,,,,,,,,,,,Edgar_Kill_VO,Edgar_Lead_VO,Edgar_Start_VO,Edgar_Ulti_VO,Edgar_Hurt_VO,Edgar_Die_VO,,Edgar_Start_VO,5,50,,80,80,,,35,116,200,285,95,170,260,,,,,20,120,Medium,-59,,350,,,TID_ENRAGER,,sc/ui.sc,hero_icon_edgar,0,human,footstep,25,350,165,,,1,2,3,,,,,,,,,132,,MortisTutorial,,,,,,5,3,1,,, 47 | Ruffs,,,ruffs,RuffsWeapon,RuffsUlti,,720,2800,,,,,,,,,,12,,,122,134,Hero,,,RuffsDefault,,,,,,,,takedamage_gen,death_sniper,Gen_move_fx,Ruff_Reload,No_ammo_shotgungirl,Ruff_Dryfire,,,,,,,,,,,Ruff_Kill_VO,Ruff_Lead_VO,Ruff_Start_VO,Ruff_Ulti_VO,Ruff_Hurt_VO,Ruff_Die_VO,,Ruff_Start_VO,1,45,,80,80,,,35,116,200,320,90,190,260,,,,,,120,Medium,-46,,450,,,TID_RUFFS,,sc/ui.sc,hero_icon_ruffs,100,human,footstep,25,400,160,,,2,3,1,,,,,,,,,,,PiperTutorial,,,,,,2,2,5,,, 48 | Roller,,,stu,RollerWeapon,RollerUlti,,720,2800,,,,,,,,,,12,,,1000,100,Hero,,,RollerDefault,,,,,,,,takedamage_gen,death_shotgun_girl,Gen_move_fx,Stu_Reload,No_ammo_shotgungirl,Stu_Dryfire,,,,,,,,,,,Stu_Kill_VO,Stu_Lead_VO,Stu_Start_VO,Stu_Ulti_VO,Stu_Hurt_VO,Stu_Die_VO,,Stu_Start_VO,7,30,50,80,80,,,35,130,210,284,90,175,290,,,,-25,40,120,Medium,-48,,450,,,TID_ROLLER,,sc/ui.sc,hero_icon_stu,1000,human,footstep,25,250,200,,,1,3,2,,,,,,,,,,,ShellyTutorial,,,,,,4,3,2,,, 49 | ElectroSniper,,,belle,ElectroSniperWeapon,ElectroSniperUlti,,720,2600,,,,,,,,,,12,,,84,200,Hero,,,ElectroSniperDefault,,,,,,,,takedamage_gen,death_shaman,Gen_move_fx,Belle_Reload,No_ammo_shotgungirl,Belle_Dryfire,,,,,,,,,,,Belle_Kill_VO,Belle_Lead_VO,Belle_Start_VO,Belle_Ulti_VO,Belle_Hurt_VO,Belle_Die_VO,,Belle_Start_VO,2,35,,80,80,,,35,116,190,300,80,150,270,,,,,,120,Medium,-46,,100,,,TID_ELECTRO_SNIPER,,sc/ui.sc,hero_icon_belle,1000,human,footstep,25,250,100,,,3,1,2,,,,,,,,,,,NitaTutorial,,,,,,5,1,3,,, 50 | StickyBomb,,,squeak,StickyBombWeapon,StickyBombUlti,,720,3600,,,,,,,,,,12,,,100,50,Hero,,,StickyBombDefault,,,,,,,,takedamage_gen,death_crow,Gen_move_fx,reload_crow,No_ammo_shotgungirl,crow_dryfire,,,,,,,,,,,Squeak_Kill_VO,Squeak_Lead_VO,Squeak_Start_VO,,Squeak_Hurt_VO,Squeak_Die_VO,,Squeak_Start_VO,3,45,,80,80,,,35,116,230,350,90,210,290,,,,-10,20,120,Medium,-41,,400,,,TID_STICKY_BOMB,,sc/ui.sc,hero_icon_squeak,0,human,footstep,20,200,100,true,true,2,1,3,,,,,,,,,,,CrowTutorial,,,,,,4,2,3,,, 51 | c40e04a2c11fef1c9e5ad740e344f6571f5e7d05,,true,shelly,ShotgunGirlWeapon,ShotgunGirlUlti,,720,3800,,,,,,,,,,12,,,134,112,Hero,,,BanditGirlDefault,,,,,,,,takedamage_gen,death_shotgun_girl,Gen_move_fx,reload_shotgun_girl,No_ammo_shotgungirl,Dry_fire_shotgungirl,,,,,,,,,,,Shelly_Kill,Shelly_Lead,Shelly_Start,Utilshotgun_Vo,ShellyTakedamge_Vo,Shelly_Die,,Shelly_Start,2,30,,80,80,,,35,116,210,284,90,175,260,,,,-25,40,120,Medium,-48,,450,,,TID_SHOTGUN_GIRL,,sc/ui.sc,hero_icon_shelly,1000,human,footstep,25,250,200,,,1,3,2,,,,,,,,,,,ShellyTutorial,,,,,,4,3,2,,, 52 | RopeDude,,,buzz,RopeDudeWeapon,RopeDudeUlti,,770,4200,,,,,,,,,,12,,,96,100,Hero,,,RopeDudeDefault,,,,,,RopeDudeSuperChargeArea,,takedamage_gen,death_rosa,Gen_move_fx,reload_rosa,No_ammo_shotgungirl,dry_fire_barkeep,,,,,,,,,,,Buzz_Kill_VO,Buzz_Lead_VO,Buzz_Start_VO,Buzz_Ulti_VO,Buzz_Hurt_VO,Buzz_Die_VO,,Buzz_Start_VO,2,50,,80,80,,,35,116,210,330,90,210,300,,,,,50,120,Medium,-55,,400,,,TID_ROPE_DUDE,,sc/ui.sc,hero_icon_buzz,0,human,footstep,30,400,130,,,3,2,1,,,,,,,,,,,,,,,,,3,2,4,,, 53 | AssaultShotgun,,,griff,AssaultShotgunWeapon,AssaultShotgunUlti,,720,3400,,,,,,,,,,12,,,152,102,Hero,,,AssaultShotgunDefault,,,,,,,,takedamage_gen,death_shotgun_girl,Gen_move_fx,Griff_Reload,No_ammo_shotgungirl,Dry_fire_shotgungirl,,,,,,,,,,,Griff_Kill_VO,Griff_Lead_VO,Griff_Start_VO,Griff_Ulti_VO,Griff_Hurt_VO,Griff_Die_VO,,Griff_Start_VO,2,30,,80,80,,,35,100,180,240,80,150,200,,,,-25,40,120,Medium,-48,,450,,,TID_ASSAULT_SHOTGUN,,sc/ui.sc,hero_icon_griff,1000,human,footstep,25,250,200,,,1,3,2,,,,,,,,,,,ShellyTutorial,,,,,,5,3,1,,, 54 | Knight,,,ash,KnightWeapon,KnightUlti,,720,4800,,,,,,,,,,12,,,84,50,Hero,,,KnightDefault,,,,,,,,takedamage_gen,death_baseball,Gen_move_fx,reload_baseball,No_ammo_shotgungirl,dry_fire_barkeep,,bibi_def_atk_hit,,,,,,,,,Ash_Kill_VO,Ash_Lead_VO,Ash_Start_VO,Ash_Ulti_VO,Ash_Hurt_VO,Ash_Die_VO,,Ash_Start_VO,0,75,,80,80,,,35,110,200,250,90,190,250,,,,-250,75,145,Medium,-48,,0,,,TID_KNIGHT,,sc/ui.sc,hero_icon_ash,0,human,footstep,25,400,100,,,1,3,2,,,,,,,,,,,,,,,,,5,3,1,,, 55 | MechaDude,,,meg,MechaDudeWeapon,MechaDudeUlti,MechaDudeBig,770,2200,,,,,,,,,,12,,,223,100,Hero,,,MechaDudeDefault,,,,,,,,takedamage_gen,death_sniper,Gen_move_fx,Meg_Reload,No_ammo_shotgungirl,Meg_Dryfire,,,,,,,,,,,Meg_kill_vo,Meg_lead_vo,Meg_start_vo,Meg_ulti_vo,Meg_hurt_vo,Meg_die_vo,,Meg_start_vo,0,45,50,80,80,,,35,116,190,250,80,150,270,true,700,1000,25,0,120,Medium,-46,,450,,,TID_MECHA_DUDE,,sc/ui.sc,hero_icon_meg,100,human,footstep,35,350,160,,,2,3,1,,,,,,,,,,,,,,,,,4,3,2,,, 56 | Duplicator,,,lolla,DuplicatorWeapon,DuplicatorUlti,,720,4000,,,,,,,,,,12,,,100,50,Hero,,,DuplicatorDefault,,,,,,,,takedamage_gen,death_shaman,Gen_move_fx,,No_ammo_shotgungirl,dry_fire_barkeep,,,,,,,,,,,Lolla_Kill_VO,Lolla_Lead_VO,Lolla_Start_VO,Lolla_Ulti_VO,Lolla_Hurt_VO,Lolla_Die_VO,,Lolla_Start_VO,0,35,,80,80,,,35,116,190,250,80,150,270,,0,0,-250,60,120,Medium,-46,,100,,,TID_DUPLICATOR,,sc/ui.sc,hero_icon_lolla,1000,human,footstep,25,250,160,,,3,1,2,,,,,,,,,,,NitaTutorial,,,,,,4,2,3,,, 57 | TutorialDummy,,,,,,,0,700,,,,,,,,,,12,,,,,Minion_Building,,,MeleeBotDefault,,,,,,,,takedamage_gen,nuts_bolts_metal_explosion,Gen_move_fx,,No_ammo_shotgungirl,,tutorial_robo_spawn,,,,,,,,,,,,,,,,,,,35,,80,80,,,35,140,,,,,,,,,,,145,Medium,-60,,350,,,,,,,,,footstep,25,400,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 58 | TutorialDummy2,,,,,,,0,700,,,,,,,,,,12,,,,,Minion_Building_charges_ulti,,,MeleeBotDefault,,,,,,,,takedamage_gen,nuts_bolts_metal_explosion,Gen_move_fx,,,,tutorial_robo_spawn,,,,,,,,,,,,,,,,,,,35,,80,80,,,35,140,,,,,,,,,,,145,Medium,-60,,350,,,,,,,,,footstep,25,400,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 59 | MechanicTurret,,,,,,,0,3000,,,,300,260,,,30,MechanicTurretProjectile,27,,,1,,Minion_Building,,,TurretDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,,,,,SpawnTurret,,jessie_def_turret_atk,,,,,,,,,,,,,,,,,35,,75,75,,,25,116,220,297,,,,,1000,-400,,,120,Medium,-32,,220,,,,,,,,,footstep,25,400,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 60 | HealingStation,,,,,,,0,2800,,,,,,,,,,12,,,,,Minion_Building,,,HealstationDefault,,,,,,HealingStationHeal,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,,,,,pam_def_ulti_spawn,,,,,,,,,,,,,,,,,,,,,75,75,,,25,110,100,200,,,,,1400,-500,,,120,Medium,-49,,300,,,,,,,,,footstep,25,400,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 61 | Safe,,,,,,,0,40000,,,,700,,,,,,20,,,,,Pvp_Base,,,Safe,,,,,,,,nuts_bolts_metal_small,safe_explosion,,,,,,,,,,,,,,,,,,,,,,,,,,100,-100,0,0,0,84,,,,,,,,,,,160,Medium,-75,,300,,,,,,,,,footstep,25,400,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 62 | ExplodingBarrel,,,,,,,0,12000,,,,,,,,,,,,,,,Minion_Building,,,,,sc/level.sc,tnt_box,tnt_box,tnt_box_shadow,,ExplodingBarrelExplosion,,,,,,,,,,,,,,,,,,,,,,,,,,35,,100,-100,0,0,0,95,,,,,,,,,,,145,Medium,-59,,350,,,,,,,,,footstep,25,400,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 63 | PoisonBarrel,,,,,,,0,2,,,,,,,,,,,,,,,Minion_Building,,,Safe,,,,,,,PoisonBarrelExplosion,,,,,,,,,,,,,,,,,,,,,,,,,,35,,80,80,,,35,106,,,,,,,,,,,145,,0,,350,,,,,,,,,footstep,25,400,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 64 | ShamanPet,,,,,,,610,4000,,,,600,400,,,,,6,,,1,,Minion_FindEnemies,,,ShamanBearDefault,,,,,,,,,death_bull_dude,Gen_move_fx,,,,nita_def_ulti_spawn,,bear_attack,,,,,,,,,,,,,,,,,30,,85,80,,,25,106,200,280,,,,,500,-1250,,,145,Medium,-63,,100,,,,,,,,,footstep,25,250,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 65 | BoneThrowerPet,,,,,,,870,4000,,,,300,600,,,,,6,1200,,,,Minion_Dog,,,ShamanBearDefault,,,,,,,,,death_bull_dude,Gen_move_fx,,,,nita_def_ulti_spawn,,bear_attack,,,,,,,,,,,,,,,,,30,,85,80,,,25,84,,,,,,,,,,,120,Medium,-43,,,,,,,,,,,footstep,25,250,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 66 | LaserBall,,,,,,,0,1,,,,,,,,,,,,,,,Carryable,LaserBall,,BallDefault,,,,,,,,,laser_ball_goal,,,,,,,,,,,,,,,,,,,,,,,,,,80,80,,,25,179,,,,,,,,,,,120,,0,,,,,,,,,,,,,,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 67 | LootBox,,,,,,,0,4300,,,,,,,,,,,,true,,,LootBox,,,LootBox,,,,,,,,,Gen_wood_explosion,,,,,,,,,,,,,,,,,,,,,,,,35,,100,-100,0,0,0,95,,,,,,,,,,,145,Medium,-40,,350,,,,,,,,,footstep,25,400,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 68 | TutorialDummy3,,,,,,,0,4000,,,,,,,,,,12,,,,,Minion_Building_charges_ulti,,,BossBotDefault,,,,,,,,takedamage_gen,boss_explosion,Gen_move_fx,,,,tutorial_robo_spawn,,,,,,,,,,,,,,,,,,,35,,80,80,,,35,200,,,,,,,,,,,145,Medium,-75,,350,,,,,,,,,footstep,25,400,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 69 | ArtilleryDudeTurret,,,,,,,0,2800,,,,2500,1200,,,,ArtilleryDudeTurretProjectile,40,,,1,,Minion_Building,,,ArtilleryTurretDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,,,,,penny_def_ulti_spawn,,penny_def_turret_atk,,,,,,,,,,,,,,,,,35,,75,75,,,25,116,180,243,,,,,1000,-1400,,,120,Medium,-32,,150,,,,,,,,,footstep,25,400,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 70 | CoopMeleeEnemy1,,,,,,,600,4800,,,,400,260,,,,,5,,,,,Minion_FindEnemies,,,MeleeBotDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,Gen_move_fx,,,,robo_spawn,,coop_melee_attack,,,,,,,,,,,,,,,,,30,70,85,80,,,25,127,200,270,,,,,,,,,120,Medium,-54,,,,,,,,,,,footstep,25,250,130,,,,,,,,,,,,,,,,,,,,,,,,,,, 71 | CoopMeleeEnemy2,,,,,,,600,6800,,,,400,470,,,,,5,,,,,Minion_FindEnemies,,,MeleeBotDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,Gen_move_fx,,,,robo_spawn,,coop_melee_attack,,,,,,,,,,,,,,,,,30,70,85,80,,,25,148,200,270,,,,,,,,,145,Medium,-59,,,,,,,,,,,footstep,25,250,130,,,,,,,true,30,,30,255,120,255,,,,,,,,,,,,,, 72 | CoopMeleeEnemy3,,,,,,,600,11000,,,,400,600,,,,,6,,,,,Minion_FindEnemies,,,MeleeBotDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,Gen_move_fx,,,,robo_spawn,,coop_melee_attack,,,,,,,,,,,,,,,,,30,70,85,80,,,25,169,200,270,,,,,,,,,170,Medium,-65,,,,,,,,,,,footstep,25,250,130,,,,,,,true,100,,,255,140,140,,,,,,,,,,,,,, 73 | CoopMeleeEnemy4,,,,,,,600,16200,,,,400,730,,,,,6,,,,,Minion_FindEnemies,,,MeleeBotDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,Gen_move_fx,,,,robo_spawn,,coop_melee_attack,,,,,,,,,,,,,,,,,30,70,85,80,,,25,190,200,270,,,,,,,,,195,Medium,-70,,,,,,,,,,,footstep,25,250,130,,,,,,,true,150,100,,255,255,180,,,,,,,,,,,,,, 74 | CoopFastMeleeEnemy1,,,,,,,900,3000,,,,600,400,,,,,5,,,,,Minion_FindEnemies,,,MeleeFastBotDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,Gen_move_fx,,,,robo_spawn,,coop_fast_melee_attack,,,,,,,,,,,,,,,,,30,,85,80,,,25,106,200,270,,,,,,,,,100,Medium,-43,,,,,,,,,,,footstep,25,250,130,,,,,,,,,,,,,,,,,,,,,,,,,,, 75 | CoopFastMeleeEnemy2,,,,,,,900,5400,,,,600,720,,,,,5,,,,,Minion_FindEnemies,,,MeleeFastBotDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,Gen_move_fx,,,,robo_spawn,,coop_fast_melee_attack,,,,,,,,,,,,,,,,,30,,85,80,,,25,127,200,270,,,,,,,,,120,Medium,-49,,,,,,,,,,,footstep,25,250,130,,,,,,,true,30,,30,255,120,255,,,,,,,,,,,,,, 76 | CoopFastMeleeEnemy3,,,,,,,900,6900,,,,600,920,,,,,6,,,,,Minion_FindEnemies,,,MeleeFastBotDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,Gen_move_fx,,,,robo_spawn,,coop_fast_melee_attack,,,,,,,,,,,,,,,,,30,,85,80,,,25,148,200,270,,,,,,,,,140,Medium,-54,,,,,,,,,,,footstep,25,250,130,,,,,,,true,100,,,255,140,140,,,,,,,,,,,,,, 77 | CoopFastMeleeEnemy4,,,,,,,900,10080,,,,600,1120,,,,,6,,,,,Minion_FindEnemies,,,MeleeFastBotDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,Gen_move_fx,,,,robo_spawn,,coop_fast_melee_attack,,,,,,,,,,,,,,,,,30,,85,80,,,25,169,200,270,,,,,,,,,160,Medium,-59,,,,,,,,,,,footstep,25,250,130,,,,,,,true,150,100,,255,255,180,,,,,,,,,,,,,, 78 | CoopRangedEnemy1,,,,,,,750,2000,,,,1400,630,,,30,CoopRangedEnemyProjectile,27,,,,,Minion_FindEnemies,,,RangedBotDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,Gen_move_fx,,,,robo_spawn,,coop_ranged_attack,,,,,,,,,,,,,,,,,30,,85,80,,,25,127,200,270,,,,,,,,,100,Medium,-49,,350,,,,,,,,,footstep,25,250,130,,,,,,,,,,,,,,,,,,,,,,,,,,, 79 | CoopRangedEnemy2,,,,,,,750,3600,,,,1400,1130,,,30,CoopRangedEnemyProjectile,27,,,,,Minion_FindEnemies,,,RangedBotDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,Gen_move_fx,,,,robo_spawn,,coop_ranged_attack,,,,,,,,,,,,,,,,,30,,85,80,,,25,148,200,270,,,,,,,,,120,Medium,-54,,350,,,,,,,,,footstep,25,250,130,,,,,,,true,30,,30,255,120,255,,,,,,,,,,,,,, 80 | CoopRangedEnemy3,,,,,,,750,4600,,,,1400,1450,,,30,CoopRangedEnemyProjectile,27,,,,,Minion_FindEnemies,,,RangedBotDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,Gen_move_fx,,,,robo_spawn,,coop_ranged_attack,,,,,,,,,,,,,,,,,30,,85,80,,,25,169,200,270,,,,,,,,,140,Medium,-59,,350,,,,,,,,,footstep,25,250,130,,,,,,,true,100,,,255,140,140,,,,,,,,,,,,,, 81 | CoopRangedEnemy4,,,,,,,750,6700,,,,1400,1760,,,30,CoopRangedEnemyProjectile,27,,,,,Minion_FindEnemies,,,RangedBotDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,Gen_move_fx,,,,robo_spawn,,coop_ranged_attack,,,,,,,,,,,,,,,,,30,,85,80,,,25,190,200,270,,,,,,,,,160,Medium,-65,,350,,,,,,,,,footstep,25,250,130,,,,,,,true,150,100,,255,255,180,,,,,,,,,,,,,, 82 | TntPet,,,,,,,770,2400,,,,600,400,,,30,ShotgunGirlPetProjectile,22,320,,,,Minion_FollowOwner,,,TntPetDefault,,,,,,,,,death_shotgun_girl,Gen_move_fx,,,,,,bear_attack,,,,,,,,,,,,,,,,,30,,85,80,,,25,43,200,270,,,,,,,,,90,Medium,-11,,350,,,,,,,,,footstep,25,250,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 83 | BlackHolePet,,,,,,,870,3000,,,,600,800,,,,,5,,,,,Minion_FindEnemies,,,BlackholePetDefault,,,,,,,,,death_shotgun_girl,,,,,tara_def_ulti_starPower_spawn,,bear_attack,,,,,,sparkle_trail_dark_minion,,,,,,,,,,,30,,85,80,,,25,95,200,270,,,,,,,,,90,Medium,-43,,350,,,,,,,,,,25,250,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 84 | CoopBoss1,,,,BossRapidFire,BossCharge,,600,45000,,,,400,600,,,,,8,,,,,Npc_Boss,,,BigBotDefault,,,,,,,,nuts_bolts_metal_small,boss_explosion,Gen_move_fx,,,,robo_spawn,,coop_melee_attack,,,,,,,,,,,,,,,,,30,150,85,80,,,25,250,200,270,,,,,,,,,220,Medium,-100,,500,,,,,,,,,footstep,60,400,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 85 | CoopBoss2,,,,BossRapidFire2,BossCharge,,600,55000,,,,400,640,,,,,9,,,,,Npc_Boss,,,BigBotDefault,,,,,,,,nuts_bolts_metal_small,boss_explosion,Gen_move_fx,,,,robo_spawn,,coop_melee_attack,,,,,,,,,,,,,,,,,30,150,85,80,,,25,300,200,270,,,,,,,,,250,Medium,-120,,500,,,,,,,,,footstep,60,400,160,,,,,,,true,30,,30,255,120,255,,,,,,,,,,,,,, 86 | CoopBoss3,,,,BossRapidFire3,BossCharge,,600,65000,,,,400,680,,,,,9,,,,,Npc_Boss,,,BigBotDefault,,,,,,,,nuts_bolts_metal_small,boss_explosion,Gen_move_fx,,,,robo_spawn,,coop_melee_attack,,,,,,,,,,,,,,,,,30,150,85,80,,,25,350,200,270,,,,,,,,,280,Medium,-140,,500,,,,,,,,,footstep,60,400,160,,,,,,,true,100,,,255,140,140,,,,,,,,,,,,,, 87 | TutorialExplodingBarrel,,,,,,,0,300,,,,,,,,,,,,,,,Minion_Building,,,TntBox,,,,,,,ExplodingBarrelExplosion,,,,,,,,,,,,,,,,,,,,,,,,,,35,,100,-100,0,0,0,95,,,,,,,,,,,145,,-59,,350,,,,,,,,,footstep,25,400,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 88 | EventModifierBoss,,,,,,,600,22800,,,,400,400,,,,,7,,,,,Minion_FindEnemies2,,,BigBotDefault,,,,,,,,nuts_bolts_metal_small,boss_explosion,Gen_move_fx,,,,robo_spawn,,coop_melee_attack,,,,,,,,,,,,,,,,,35,,85,80,,,25,250,200,270,,,,,,,,,220,Medium,-100,,,,,,,,,,,footstep,25,250,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 89 | RaidBoss,,,,RaidBossRapidFire,RaidBossCharge,,550,250000,,,,400,800,,,,,9,,,,,Npc_Boss,,,BossBotDefault,,,,,,,,nuts_bolts_metal_small,boss_explosion,Gen_move_fx,,,,robo_spawn,,coop_melee_attack,,,,,,,,,,,,,,,,,30,150,85,80,,,25,300,200,270,,,,,,,,,280,Medium,-130,,500,,,,,,,,,footstep,60,400,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 90 | RaidBossMeleeEnemy1,,,,,,,650,3600,,,,400,260,,,,,5,,,,,Minion_FindEnemies,,,MeleeBotDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,Gen_move_fx,,,,robo_spawn,,coop_melee_attack,,,,,,,,,,,,,,,,,30,70,85,80,,,25,127,200,270,,,,,,,,,120,Medium,-54,,,,,,,,,,,footstep,25,250,130,,,,,,,,,,,,,,,,,,,,,,,,,,, 91 | RaidBossMeleeEnemy2,,,,,,,650,5100,,,,400,470,,,,,5,,,,,Minion_FindEnemies,,,MeleeBotDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,Gen_move_fx,,,,robo_spawn,,coop_melee_attack,,,,,,,,,,,,,,,,,30,70,85,80,,,25,148,200,270,,,,,,,,,145,Medium,-59,,,,,,,,,,,footstep,25,250,130,,,,,,,true,30,,30,255,120,255,,,,,,,,,,,,,, 92 | RaidBossMeleeEnemy3,,,,,,,650,8250,,,,400,600,,,,,6,,,,,Minion_FindEnemies,,,MeleeBotDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,Gen_move_fx,,,,robo_spawn,,coop_melee_attack,,,,,,,,,,,,,,,,,30,70,85,80,,,25,169,200,270,,,,,,,,,170,Medium,-65,,,,,,,,,,,footstep,25,250,130,,,,,,,true,100,,,255,140,140,,,,,,,,,,,,,, 93 | RaidBossMeleeEnemy4,,,,,,,650,12150,,,,400,730,,,,,6,,,,,Minion_FindEnemies,,,MeleeBotDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,Gen_move_fx,,,,robo_spawn,,coop_melee_attack,,,,,,,,,,,,,,,,,30,70,85,80,,,25,190,200,270,,,,,,,,,195,Medium,-70,,,,,,,,,,,footstep,25,250,130,,,,,,,true,150,100,,255,255,180,,,,,,,,,,,,,, 94 | RaidBossFastMeleeEnemy1,,,,,,,950,2250,,,,600,400,,,,,5,,,,,Minion_FindEnemies,,,MeleeFastBotDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,Gen_move_fx,,,,robo_spawn,,coop_fast_melee_attack,,,,,,,,,,,,,,,,,30,,85,80,,,25,106,200,270,,,,,,,,,100,Medium,-43,,,,,,,,,,,footstep,25,250,130,,,,,,,,,,,,,,,,,,,,,,,,,,, 95 | RaidBossFastMeleeEnemy2,,,,,,,950,4050,,,,600,720,,,,,5,,,,,Minion_FindEnemies,,,MeleeFastBotDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,Gen_move_fx,,,,robo_spawn,,coop_fast_melee_attack,,,,,,,,,,,,,,,,,30,,85,80,,,25,127,200,270,,,,,,,,,120,Medium,-49,,,,,,,,,,,footstep,25,250,130,,,,,,,true,30,,30,255,120,255,,,,,,,,,,,,,, 96 | RaidBossFastMeleeEnemy3,,,,,,,950,5175,,,,600,920,,,,,6,,,,,Minion_FindEnemies,,,MeleeFastBotDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,Gen_move_fx,,,,robo_spawn,,coop_fast_melee_attack,,,,,,,,,,,,,,,,,30,,85,80,,,25,148,200,270,,,,,,,,,140,Medium,-54,,,,,,,,,,,footstep,25,250,130,,,,,,,true,100,,,255,140,140,,,,,,,,,,,,,, 97 | RaidBossFastMeleeEnemy4,,,,,,,950,7560,,,,600,1120,,,,,6,,,,,Minion_FindEnemies,,,MeleeFastBotDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,Gen_move_fx,,,,robo_spawn,,coop_fast_melee_attack,,,,,,,,,,,,,,,,,30,,85,80,,,25,169,200,270,,,,,,,,,160,Medium,-59,,,,,,,,,,,footstep,25,250,130,,,,,,,true,150,100,,255,255,180,,,,,,,,,,,,,, 98 | RaidBossRangedEnemy1,,,,,,,800,1500,,,,1400,630,,,40,RaidBossRangedEnemyProjectile,27,,,,,Minion_FindEnemies,,,RangedBotDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,Gen_move_fx,,,,robo_spawn,,coop_ranged_attack,,,,,,,,,,,,,,,,,30,,85,80,,,25,127,200,270,,,,,,,,,100,Medium,-49,,350,,,,,,,,,footstep,25,250,130,,,,,,,,,,,,,,,,,,,,,,,,,,, 99 | RaidBossRangedEnemy2,,,,,,,800,2700,,,,1400,1130,,,40,RaidBossRangedEnemyProjectile,27,,,,,Minion_FindEnemies,,,RangedBotDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,Gen_move_fx,,,,robo_spawn,,coop_ranged_attack,,,,,,,,,,,,,,,,,30,,85,80,,,25,148,200,270,,,,,,,,,120,Medium,-54,,350,,,,,,,,,footstep,25,250,130,,,,,,,true,30,,30,255,120,255,,,,,,,,,,,,,, 100 | RaidBossRangedEnemy3,,,,,,,800,3450,,,,1400,1450,,,40,RaidBossRangedEnemyProjectile,27,,,,,Minion_FindEnemies,,,RangedBotDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,Gen_move_fx,,,,robo_spawn,,coop_ranged_attack,,,,,,,,,,,,,,,,,30,,85,80,,,25,169,200,270,,,,,,,,,140,Medium,-59,,350,,,,,,,,,footstep,25,250,130,,,,,,,true,100,,,255,140,140,,,,,,,,,,,,,, 101 | RaidBossRangedEnemy4,,,,,,,800,5040,,,,1400,1760,,,40,RaidBossRangedEnemyProjectile,27,,,,,Minion_FindEnemies,,,RangedBotDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,Gen_move_fx,,,,robo_spawn,,coop_ranged_attack,,,,,,,,,,,,,,,,,30,,85,80,,,25,190,200,270,,,,,,,,,160,Medium,-65,,350,,,,,,,,,footstep,25,250,130,,,,,,,true,150,100,,255,255,180,,,,,,,,,,,,,, 102 | RoboWarsBase,,,,,,,0,25000,,,,500,700,,,,RoboWarsBaseProjectile,35,,,,,Pvp_Base,,,RoboWarsBaseDefault,,,,,,,,nuts_bolts_metal_small,siege_base_destroyed,,,,,,,siege_base_attack,,,,,,,,,,,,,,,,,40,,100,-100,0,0,0,550,,,,,,,,,,,160,Medium,-75,,300,,,,,,,,,footstep,25,400,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 103 | RoboWarsBox,,,,,,,0,4000,,,,,,,,,,,,,,,LootBox,,,RoboWarsBox,,,,,,,,,Gen_wood_explosion,,,,,robo_wars_box_spawn,,,,,,,,,,,,,,,,,,,35,,100,-100,0,0,0,,,,,,,,,,,,145,Medium,-40,,350,,,,,,,,,footstep,25,400,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 104 | RoboWarsRobo,,,,,,,650,32000,,,,400,350,,,,,6,,,,,RoboWars,,,BigBotDefault,,,,,,,,nuts_bolts_metal_small,explosion_tnt_dude,Gen_move_fx,,,,robo_spawn,,coop_melee_attack,,,,,,,,,,,,,,,,,35,,85,80,,,25,250,200,270,,,,,,,,,220,Medium,-100,,,,,,,,,,,footstep,25,250,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 105 | TrainingDummySmall,,,,,,,0,1500,,,,,,,,,,12,,,,,Minion_Building_charges_ulti,,,MeleeFastBotDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,Gen_move_fx,,,,robo_spawn,,,,,,,,,,,,,,,,,,,35,,80,80,,,35,140,,,,,,,,,,,120,Medium,-50,,350,,,,,,,,,footstep,25,400,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 106 | TrainingDummyMedium,,,,,,,0,4000,,,,,,,,,,12,,,,,Minion_Building_charges_ulti,,,MeleeBotDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,Gen_move_fx,,,,robo_spawn,,,,,,,,,,,,,,,,,,,35,,80,80,,,35,140,,,,,,,,,,,120,Medium,-50,,350,,,,,,,,,footstep,25,400,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 107 | TrainingDummyBig,,,,,,,0,100000,,,,,,,,,,12,,,,,Minion_Building_charges_ulti,,,BossBotDefault,,,,,,,,nuts_bolts_metal_small,boss_explosion,Gen_move_fx,,,,robo_spawn,,,,,,,,,,,,,,,,,,,35,,80,80,,,35,200,,,,,,,,,,,220,Medium,-75,,350,,,,,,,,,footstep,25,400,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 108 | TrainingDummyShooting,,,,,,,0,4000,,,,1400,500,,,,CoopRangedEnemyProjectile,20,,,,,Minion_Building_charges_ulti,,,RangedBotDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,Gen_move_fx,,,,robo_spawn,,coop_ranged_attack,,,,,,,,,,,,,,,,,50,,85,80,,,25,127,200,270,,,,,,,,,120,Medium,-49,,350,,,,,,,,,footstep,25,250,130,,,,,,,,,,,,,,,,,,,,,,,,,,, 109 | Train0,,,,,,,0,1,,,,,,,,,,,,,,,Train,,,MineCart,,,,,,,,,,Gen_move_fx,,,,,,,,,,,,,,,,,,,,,,,,,80,80,,,25,250,,,,,,,,,,,200,,,,,,,,,,,,,,130,50,,,,,,,,,,,,,,,,,,,,,,,,,,,, 110 | Train1,,,,,,,0,1,,,,,,,,,,,,,,,Train,,,MineCartB,,,,,,,,,,Gen_move_fx,,,,,,,,,,,,,,,,,,,,,,,,,80,80,,,25,250,,,,,,,,,,,200,,,,,,,,,,,,,,130,50,,,,,,,,,,,,,,,,,,,,,,,,,,,, 111 | Train2,,,,,,,0,1,,,,,,,,,,,,,,,Train,,,MineCartC,,,,,,,,,,Gen_move_fx,,,,,,,,,,,,,,,,,,,,,,,,,80,80,,,25,250,,,,,,,,,,,200,,,,,,,,,,,,,,130,50,,,,,,,,,,,,,,,,,,,,,,,,,,,, 112 | Train3,,,,,,,0,1,,,,,,,,,,,,,,,Train,,,MineCartD,,,,,,,,,,Gen_move_fx,,,,,,,,,,,,,,,,,,,,,,,,,80,80,,,25,250,,,,,,,,,,,200,,,,,,,,,,,,,,130,50,,,,,,,,,,,,,,,,,,,,,,,,,,,, 113 | Train4,,,,,,,0,1,,,,,,,,,,,,,,,Train,,,MineCartE,,,,,,,,,,Gen_move_fx,,,,,,,,,,,,,,,,,,,,,,,,,80,80,,,25,250,,,,,,,,,,,200,,,,,,,,,,,,,,130,50,,,,,,,,,,,,,,,,,,,,,,,,,,,, 114 | ClusterBombPet,,,,,,,1200,1600,,,,1000,2000,,,,,,,,1,,Minion_FindEnemies,,,ClusterBombPetDefault,,,,,,,ClusterBombPetExplosion,nuts_bolts_metal_small,nuts_bolts_metal_explosion,,,,,tick_def_ulti_spawn,,,,,,,,,,,,,,,,,,,,,85,80,,,25,150,200,270,,,,,,,,,90,Medium,-43,,,,,,,,,,,,25,250,,,,,,,,,,,,,,,,,,,,,,,,,,,, 115 | BlackHolePet2,,,,,,,870,2400,,,,600,400,,,,BlackHolePet2Projectile,15,,,,,Minion_FindEnemies,,,BlackholePetDefault,,,,,,,,,death_shotgun_girl,,,,,tara_def_ulti_starPower_spawn,,,,,,,,sparkle_trail_dark_minion,,,,,,,,,,,30,,85,80,,,25,95,200,270,,,,,,,,,90,Medium,-43,,350,,,,,,,,,,25,250,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 116 | 49c039b18c82880638cd3ba472dc5db3e8cc6f8b,,true,shelly,ShotgunGirlWeapon,ShotgunGirlUlti,,720,3800,,,,,,,,,,12,,,134,112,Hero,,,BanditGirlDefault,,,,,,,,takedamage_gen,death_shotgun_girl,Gen_move_fx,reload_shotgun_girl,No_ammo_shotgungirl,Dry_fire_shotgungirl,,,,,,,,,,,Shelly_Kill,Shelly_Lead,Shelly_Start,Utilshotgun_Vo,ShellyTakedamge_Vo,Shelly_Die,,Shelly_Start,2,30,,80,80,,,35,116,210,284,90,175,260,,,,-25,40,120,Medium,-48,,450,,,TID_SHOTGUN_GIRL,,sc/ui.sc,hero_icon_shelly,1000,human,footstep,25,250,200,,,1,3,2,,,,,,,,,,,ShellyTutorial,,,,,,4,3,2,,, 117 | DamageBooster,,,,,,,0,2800,,,,,,,,,,12,,,,,Minion_Building,,,DamageBoosterDefault,,,,,,DamageBoost,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,,,,,8bit_def_ulti_spawn,,,,,,,,,,,,,,,,,,,,,75,75,,,25,180,220,300,,,,,1400,-500,,,120,Medium,-49,,300,,,,,,,,,footstep,25,400,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 118 | 4028aae4a6bbbdea17608222005fefc028ff7c45,,true,shelly,ShotgunGirlWeapon,ShotgunGirlUlti,,720,3800,,,,,,,,,,12,,,134,112,Hero,,,BanditGirlDefault,,,,,,,,takedamage_gen,death_shotgun_girl,Gen_move_fx,reload_shotgun_girl,No_ammo_shotgungirl,Dry_fire_shotgungirl,,,,,,,,,,,Shelly_Kill,Shelly_Lead,Shelly_Start,Utilshotgun_Vo,ShellyTakedamge_Vo,Shelly_Die,,Shelly_Start,2,30,,80,80,,,35,116,210,284,90,175,260,,,,-25,40,120,Medium,-48,,450,,,TID_SHOTGUN_GIRL,,sc/ui.sc,hero_icon_shelly,1000,human,footstep,25,250,200,,,1,3,2,,,,,,,,,,,ShellyTutorial,,,,,,4,3,2,,, 119 | BossRaceBoss,,,,BossRaceBossRapidFire,BossRaceBossCharge,,500,220000,,,,400,800,,,,,9,,,,,Npc_Boss,,,BossRaceBossDefault,,,,,,,,nuts_bolts_metal_small,boss_explosion,Gen_move_fx,,,,robo_spawn,,coop_melee_attack,,,,,,,,,,,,,,,,,30,150,85,80,,,25,300,200,270,,,,,,,,,280,Medium,-130,,500,,,,,,,,,footstep,60,400,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 120 | SpawnerDudeTurret,,,,,,SpawnerPet,0,2200,,,,,,,,,,40,,,,,Minion_Building,,,SpawnerDudeTurretDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,,,,,,,,,,,,,,,,,,,,,,,,35,,75,75,,,25,130,180,243,,,,,1000,-1400,,,120,Medium,-32,,150,,,,,,,,,footstep,25,400,160,,,,,,,,,,,,,,,,,,,,4,,,,,,, 121 | SpawnerDudeTurret002,,,,,,SpawnerPet002,0,2200,,,,,,,,,,40,,,,,Minion_Building,,,SpawnerDudeTurretDefault,,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,,explosion_pengula,,,,,,,,,,,,,,,,,,,,,,35,,75,75,,,25,130,180,243,,,,,1000,-1400,,,120,Medium,-32,,150,,,,,,,,,footstep,25,400,160,,,,,,,,,,,,,,,,,,,,4,,,,,,, 122 | SpawnerPet,,,,,,,800,1400,,,,700,260,,,,SpawnerPetProjectile,14,,,1,,Minion_FindEnemies,,,SpawnerPetDefault,,,,,,,,,mrp_def_pet_death,Gen_move_fx,,,,nita_def_ulti_spawn,,,,,,,,,,,,,,,,,,,30,,85,80,,,25,150,200,280,,,,,500,-1250,,,145,Medium,-35,,100,,,,,,,,,footstep,25,250,160,,,,,,,,,,,,,,,,,,true,,,,,,,,, 123 | SpawnerPet002,,,,,,,800,1400,,,,700,260,,,,SpawnerPet002Projectile,14,,,100,,Minion_FindEnemies,,,SpawnerPetDefault,,,,,,,,,mrp_def_pet_death,Gen_move_fx,explosion_pengula,,,,,,,,,,,,,,,,,,,,,,30,,85,80,,,25,150,200,280,,,,,500,-1250,,,145,Medium,-35,,100,,,,,,,,,footstep,25,250,160,,,,,,,,,,,,,,,,,,true,,,,,,,,, 124 | 037424c2385e031824f496c787e2ab8f473b70f8,,true,shelly,ShotgunGirlWeapon,ShotgunGirlUlti,,720,3800,,,,,,,,,,12,,,134,112,Hero,,,BanditGirlDefault,,,,,,,,takedamage_gen,death_shotgun_girl,Gen_move_fx,reload_shotgun_girl,No_ammo_shotgungirl,Dry_fire_shotgungirl,,,,,,,,,,,Shelly_Kill,Shelly_Lead,Shelly_Start,Utilshotgun_Vo,ShellyTakedamge_Vo,Shelly_Die,,Shelly_Start,2,30,,80,80,,,35,116,210,284,90,175,260,,,,-25,40,120,Medium,-48,,450,,,TID_SHOTGUN_GIRL,,sc/ui.sc,hero_icon_shelly,1000,human,footstep,25,250,200,,,1,3,2,,,,,,,,,,,ShellyTutorial,,,,,,4,3,2,,, 125 | CaptureFlag,,,,,,,0,150,,,,,,,,,,,,,,,Carryable,CaptureFlag,,TrophyBlueRed,,,,,,,,,mode_gift_goal,,mode_gift_destoryed,,,,,,,,,,,,,,,,,,,,,,,,80,80,,,25,100,,,,,,,,,,,140,Medium,-30,,,,,,,,,,,,,,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 126 | Bee,,,,,,,0,1,,,,,,,,,,,,,,,Minion_FollowOwner,,,BeeSniperDefaultAddonBee,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,80,80,,,25,116,200,320,90,190,270,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 127 | NinjaFake,,,,,,,820,3200,,,,,,,,,,12,,,,,Minion_Mirage,,,NinjaDefault,,,,,,,,takedamage_gen,death_ninja,Gen_move_fx,reload_leon,No_ammo_shotgungirl,Dry_fire_leon,,,,,,,,,,,Leon_kill_vo,Leon_lead_vo,Leon_start_vo,Leon_ulti_vo,Leon_hurt_vo,Leon_die_vo,,,,50,,80,80,,,35,116,190,330,80,150,270,,,,,,120,Medium,-55,,450,,,,,,,,,footstep,25,250,130,,,3,2,1,,,,,,,,,,,LeonTutorial,,,,,,4,2,3,,, 128 | BeeSniperSlowPot,,,,,,,0,1000,,,,,,,,,,12,,,,,Minion_Building,,,BeeSniperSlowPotDefault,,,,,,BeeSniperSlowArea,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,,,,,gadget_bea_honeypot_spawn,,,,,,,,,,,,,,,,,,,,,75,75,,,25,120,220,300,,,,,1400,-500,,,120,Medium,-49,,300,,,,,,,,,footstep,25,400,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 129 | BowDudeTotem,,,,,,,0,1000,50,,,,,,,,,12,,,,,Minion_Building,,,BowDudeTotemDefault,,,,,,BowDudeSuperChargeArea,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,,,,,gadget_bo_totem_spawn,,,,,,,,,,,,,,,,,,,,,75,75,,,25,120,220,300,,,,,1400,-500,,,120,Medium,-49,,300,,,,,,,,,footstep,25,400,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 130 | ControllerAddon,,,,,,,0,1,,,,,,,,,,,,,,,Minion_FollowOwner,,,ControllerDefaultAddon,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,80,80,,,25,116,210,300,90,175,270,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 131 | RaidBoss_TownCrush,,,,BossTownCrushAoE,BossTownCrushCharge,,550,150000,,,,400,800,,,,RaidBossTCBasicAttackProjectile,9,,,,,Npc_Boss_TownCrush,,,BossKaijuDefault,,,,,,,,nuts_bolts_metal_small,boss_explosion,Gen_move_fx,,,,robo_spawn,,mode_tc_boss_atk_melee,,,,,,,,,,,,,,,,,30,150,85,80,,,25,100,200,270,,,,,,,,,280,Medium,-130,,500,,,,,,,,,footstep,60,400,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 132 | RuffsCover,,,,,,,0,2000,,,,,,,,,,12,,true,,,Minion_Building,,,RuffsCoverDefault,true,,,,,,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,,,,,gadget_bo_totem_spawn,,,,,,,,,,,,,,,,,,,,,75,75,,,25,300,,,,,,,1400,-500,,,120,Medium,-33,,300,,,,,,,,,footstep,25,400,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 133 | BlackHolePetGadget,,,,,,,870,1000,,,,600,500,,,,,5,,,,,Minion_FindEnemies,,,BlackholePetDefault,,,,,,,,,death_shotgun_girl,,,,,tara_def_ulti_starPower_spawn,,bear_attack,,,,,,sparkle_trail_dark_minion,,,,,,,,,,,30,,85,80,,,25,95,200,270,,,,,,,,,90,Medium,-43,,350,,,,,,,,,,25,250,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 134 | SpeedBooster,,,,,,,0,1000,,,,,,,,,,12,,,,,Minion_Building,,,SpeedBoosterDefault,,,,,,SpeedBoost,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,,,,,8bit_def_ulti_spawn,,,,,,,,,,,,,,,,,,,,,75,75,,,25,250,220,300,,,,,1400,-500,,,120,Medium,-49,,300,,,,,,,,,footstep,25,400,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 135 | SpawnerPetGadget,,,,,,,800,700,,,,700,200,,,,SpawnerPetProjectile,14,,,1,,Minion_FindEnemies,,,SpawnerPetDefault,,,,,,,,,mrp_def_pet_death,Gen_move_fx,,,,nita_def_ulti_spawn,,,,,,,,,,,,,,,,,,,30,,85,80,,,25,100,200,280,,,,,500,-1250,,,145,Medium,-35,,100,,,,,,,,,footstep,25,250,160,,,,,,,,,,,,,,,,,,true,,,,,,,,, 136 | HoldingBall,,,,,,,0,100,,,,,,,,,,,,,,,Carryable,HoldingBall,,Trophy,,,,,,,,,mode_gift_destoryed,,,,,,,,,,,,,,,,,,,,,,,,,,50,50,,,25,100,,,,,,,,,,,200,Medium,-60,,,,,,,,,,,,,,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 137 | VolleyBall,,,,,,,0,1,,,,,,,,,,,,,,,Carryable,VolleyBall,,Volleyball,,,,,,,,,laser_ball_goal,,,,,,,,,,,,,,,,,,,,,,,,,,50,50,,,25,100,,,,,,,,,,,320,Medium,-30,,,,,,,,,,,,,,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 138 | BasketBall,,,,,,,0,1,,,,,,,,,,,,,,,Carryable,BasketBall,,Basketball,,,,,,,,,mode_gift_destoryed,,,,,,,,,,,,,,,,,,,,,,,,,,50,50,,,25,100,,,,,,,,,,,120,Medium,-30,,,,,,,,,,,,,,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 139 | CactusCover,,,,,,,0,3500,,,,,,,,,,12,,,,,Minion_Building,,,CactusCoverDefault,,,,,,,CactusCoverHeal,gadget_spike_cactus_damaged,gadget_spike_cactus_destroyed,,,,,gadget_bo_totem_spawn,,,,,,,,,,,,,,,,,,,,,75,75,,,25,120,220,300,,,,,1400,-500,,,120,Medium,-49,,300,,,,,,,,,footstep,25,400,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 140 | NinjaInvisibleArea,,,,,,,0,1500,50,,,,,,,,,12,,,,,Minion_Building,,,NinjaInvisibleAreaDefault,,,,,,NinjaInvisibleArea,,nuts_bolts_metal_small,nuts_bolts_metal_explosion,,,,,gadget_bo_totem_spawn,,,,,,,,,,,,,,,,,,,,,75,75,,,25,120,220,300,,,,,1400,-500,,,120,Medium,-49,,300,,,,,,,,,footstep,25,400,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 141 | StuDrums,,,,,,,0,1,,,,,,,,,,,,,,,Minion_Building,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 142 | KnightPet,,,,,,,1200,300,,,,1000,300,,,,,,,,1,,Minion_FindEnemies,,,KnightPetDefault,,,,,,,KnightPetExplosion,nuts_bolts_metal_small,nuts_bolts_metal_explosion,,,,,ash_def_ulti_spawn,,,,,,,,,,,,,,,,,,,,,85,80,,,25,200,200,270,,,,,,,,,90,Medium,-43,,,,,,,,,,,,25,250,,,,,,,,,,,,,,,,,,,,,,,,,,,, 143 | MechaDudeBig,true,,,MechaDudeBigWeapon,MechaDudeBigUlti,,720,5000,20,-80,,,,,,,,12,,,0,0,Hero,,,MechaDudeBigDefault,,,,,,,,takedamage_gen,mecha_def_ulti2_death,Gen_move_fx,Meg_Reload,No_ammo_shotgungirl,Meg_Dryfire,,,,,,,,,,,,,,,,,,,0,45,200,80,80,,,35,116,190,300,80,150,270,,200,-1000,,80,145,Medium,-80,,450,,,TID_MECHA_DUDE,,sc/ui.sc,hero_icon_tbd,100,human,footstep,35,350,160,,,2,3,1,,,,,,,,,800,,,,,,,,4,3,2,2,, 144 | DuplicatorPet,,,,DuplicatorWeapon,DuplicatorUlti,,720,2000,,,,,,,,,,6,,,,,Minion_Duplicate,,,DuplicatorDefault,,,,,,,,,death_bull_dude,Gen_move_fx,,,,nita_def_ulti_spawn,,bear_attack,,,,,,,,,,,,,,,,,30,,85,80,,,25,106,200,280,,,,,500,-1250,,,145,Medium,-63,,100,,,,,,,,,footstep,25,250,160,,,,,,,,,,,,,,,,,,,,,,,,,,, 145 | MechaDudeAddon,,,,,,,0,1,,,,,,,,,,,,,,,Minion_FollowOwner,,,MechaDudeDefaultAddon,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,80,80,,,35,100,100,200,90,190,250,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 146 | -------------------------------------------------------------------------------- /Logic/Assets/Files/csv_logic/cards.csv: -------------------------------------------------------------------------------- 1 | Name,IconSWF,IconExportName,Target,Disabled,LockedForChronos,DynamicRarityStartSeason,MetaType,RequiresCard,Type,Skill,Value,Value2,Value3,Rarity,TID,PowerNumberTID,PowerNumber2TID,PowerNumber3TID,PowerIcon1ExportName,PowerIcon2ExportName,SortOrder,DontUpgradeStat,HideDamageStat 2 | String,String,String,String,boolean,boolean,int,int,String,String,String,int,int,int,String,String,String,String,String,String,String,int,boolean,boolean 3 | ShotgunGirl_unlock,sc/ui.sc,,ShotgunGirl,,,,0,,unlock,,,,,common,,,,,,,101,, 4 | ShotgunGirl_hp,sc/ui.sc,health_icon,ShotgunGirl,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 5 | ShotgunGirl_abi,sc/ui.sc,attack_icon,ShotgunGirl,,,,2,,skill,ShotgunGirlWeapon,,,,common,TID_LONG_RANGE_SHOTGUN,TID_STAT_DAMAGE_PER_SHELL,,,genicon_damage,,,, 6 | ShotgunGirl_ulti,sc/ui.sc,ulti_icon,ShotgunGirl,,,,3,,skill,ShotgunGirlUlti,,,,common,TID_MEGA_BLASH_ULTI,TID_STAT_DAMAGE_PER_SHELL,,,genicon_damage,,,, 7 | Gunslinger_unlock,sc/ui.sc,,Gunslinger,,,,0,,unlock,,,,,common,,,,,,,103,, 8 | Gunslinger_hp,sc/ui.sc,health_icon,Gunslinger,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 9 | Gunslinger_abi,sc/ui.sc,attack_icon,Gunslinger,,,,2,,skill,GunslingerWeapon,,,,common,TID_RAPID_FIRE,TID_STAT_DAMAGE_PER_SHOT,,,genicon_damage,,,, 10 | Gunslinger_ulti,sc/ui.sc,ulti_icon,Gunslinger,,,,3,,skill,GunslingerUlti,,,,common,TID_RAPID_FIRE_ULTI,TID_STAT_DAMAGE_PER_SHOT,,,genicon_damage,,,, 11 | BullDude_unlock,sc/ui.sc,,BullDude,,,,0,,unlock,,,,,common,,,,,,,104,, 12 | BullDude_hp,sc/ui.sc,health_icon,BullDude,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 13 | BullDude_abi,sc/ui.sc,attack_icon,BullDude,,,,2,,skill,BullDudeWeapon,,,,common,TID_SHOTGUN_BLAST,TID_STAT_DAMAGE_PER_SHELL,,,genicon_damage,,,, 14 | BullDude_ulti,sc/ui.sc,ulti_icon,BullDude,,,,3,,skill,BullDudeUlti,,,,common,TID_CHARGE,TID_STAT_DAMAGE,,,genicon_damage,,,, 15 | RocketGirl_unlock,sc/ui.sc,,RocketGirl,,,,0,,unlock,,,,,common,,,,,,,106,, 16 | RocketGirl_hp,sc/ui.sc,health_icon,RocketGirl,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 17 | RocketGirl_abi,sc/ui.sc,attack_icon,RocketGirl,,,,2,,skill,RocketGirlWeapon,,,,common,TID_FIREWORKS_WEAPON,TID_STAT_DAMAGE,,,genicon_damage,,,, 18 | RocketGirl_ulti,sc/ui.sc,ulti_icon,RocketGirl,,,,3,,skill,RocketGirlUlti,,,,common,TID_FIREWORKS_ULTI,TID_STAT_MISSILE_DAMAGE,,,genicon_damage,,,, 19 | TrickshotDude_unlock,sc/ui.sc,,TrickshotDude,,,,0,,unlock,,,,,super_rare,,,,,,,301,, 20 | TrickshotDude_hp,sc/ui.sc,health_icon,TrickshotDude,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 21 | TrickshotDude_abi,sc/ui.sc,attack_icon,TrickshotDude,,,,2,,skill,TrickshotDudeWeapon,,,,common,TID_TRICKSHOT_DUDE_WEAPON,TID_STAT_DAMAGE_PER_SHOT,,,genicon_damage,,,, 22 | TrickshotDude_ulti,sc/ui.sc,ulti_icon,TrickshotDude,,,,3,,skill,TrickshotDudeUlti,,,,common,TID_TRICKSHOT_DUDE_ULTI,TID_STAT_DAMAGE_PER_SHOT,,,genicon_damage,,,, 23 | Cactus_unlock,sc/ui.sc,,Cactus,,,,0,,unlock,,,,,legendary,,,,,,,601,, 24 | Cactus_hp,sc/ui.sc,health_icon,Cactus,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 25 | Cactus_abi,sc/ui.sc,attack_icon,Cactus,,,,2,,skill,CactusWeapon,,,,common,TID_CACTUS_WEAPON,TID_STAT_DAMAGE_PER_SPIKE,,,genicon_damage,,,, 26 | Cactus_ulti,sc/ui.sc,ulti_icon,Cactus,,,,3,,skill,CactusUlti,,,,common,TID_CACTUS_ULTI,TID_STAT_DAMAGE_PER_SECOND,,,genicon_damage,,,, 27 | Barkeep_unlock,sc/ui.sc,,Barkeep,,,,0,,unlock,,,,,rare,,,,,,,202,, 28 | Barkeep_hp,sc/ui.sc,health_icon,Barkeep,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 29 | Barkeep_abi,sc/ui.sc,attack_icon,Barkeep,,,,2,,skill,BarkeepWeapon,,,,common,TID_BARKEEP_WEAPON,TID_STAT_DAMAGE_PER_SECOND,,,genicon_damage,,,, 30 | Barkeep_ulti,sc/ui.sc,ulti_icon,Barkeep,,,,3,,skill,BarkeepUlti,,,,common,TID_BARKEEP_ULTI,TID_STAT_DAMAGE_PER_SECOND_EACH,,,genicon_damage,,,, 31 | Mechanic_unlock,sc/ui.sc,,Mechanic,,,,0,,unlock,,,,,common,,,,,,,105,, 32 | Mechanic_hp,sc/ui.sc,health_icon,Mechanic,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 33 | Mechanic_abi,sc/ui.sc,attack_icon,Mechanic,,,,2,,skill,MechanicWeapon,,,,common,TID_MECHANIC_WEAPON,TID_STAT_DAMAGE,,,genicon_damage,,,, 34 | Mechanic_ulti,sc/ui.sc,ulti_icon,Mechanic,,,,3,,skill,MechanicUlti,,,,common,TID_MECHANIC_ULTI,TID_TURRET_DAMAGE,TID_TURRET_HEALTH,,genicon_damage,genicon_health,,, 35 | Shaman_unlock,sc/ui.sc,,Shaman,,,,0,,unlock,,,,,common,,,,,,,102,, 36 | Shaman_hp,sc/ui.sc,health_icon,Shaman,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 37 | Shaman_abi,sc/ui.sc,attack_icon,Shaman,,,,2,,skill,ShamanWeapon,,,,common,TID_SHAMAN_WEAPON,TID_STAT_DAMAGE,,,genicon_damage,,,, 38 | Shaman_ulti,sc/ui.sc,ulti_icon,Shaman,,,,3,,skill,ShamanUlti,,,,common,TID_SHAMAN_ULTI,TID_BEAR_DAMAGE,TID_BEAR_HEALTH,,genicon_damage,genicon_health,,, 39 | TntDude_unlock,sc/ui.sc,,TntDude,,,,0,,unlock,,,,,common,,,,,,,107,, 40 | TntDude_hp,sc/ui.sc,health_icon,TntDude,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 41 | TntDude_abi,sc/ui.sc,attack_icon,TntDude,,,,2,,skill,TntDudeWeapon,,,,common,TID_MORTAR,TID_STAT_PER_DYNAMITE,,,genicon_damage,,,, 42 | TntDude_ulti,sc/ui.sc,ulti_icon,TntDude,,,,3,,skill,TntDudeUlti,,,,common,TID_MORTAR_ULTI,TID_STAT_DAMAGE,,,genicon_damage,,,, 43 | Luchador_unlock,sc/ui.sc,,Luchador,,,,0,,unlock,,,,,rare,,,,,,,201,, 44 | Luchador_hp,sc/ui.sc,health_icon,Luchador,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 45 | Luchador_abi,sc/ui.sc,attack_icon,Luchador,,,,2,,skill,LuchadorWeapon,,,,common,TID_LUCHADOR_WEAPON,TID_STAT_DAMAGE_PER_STRIKE,,,genicon_damage,,,, 46 | Luchador_ulti,sc/ui.sc,ulti_icon,Luchador,,,,3,,skill,LuchadorUlti,,,,common,TID_LUCHADOR_ULTI,TID_STAT_DAMAGE,,,genicon_damage,,,, 47 | Undertaker_unlock,sc/ui.sc,,Undertaker,,,,0,,unlock,,,,,mega_epic,,,,,,,501,, 48 | Undertaker_hp,sc/ui.sc,health_icon,Undertaker,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 49 | Undertaker_abi,sc/ui.sc,attack_icon,Undertaker,,,,2,,skill,UndertakerWeapon,,,,common,TID_UNDERTAKER_WEAPON,TID_STAT_DAMAGE,,,genicon_damage,,,, 50 | Undertaker_ulti,sc/ui.sc,ulti_icon,Undertaker,,,,3,,skill,UndertakerUlti,,,,common,TID_UNDERTAKER_ULTI,TID_STAT_DAMAGE,,,genicon_damage,,,, 51 | Crow_unlock,sc/ui.sc,,Crow,,,,0,,unlock,,,,,legendary,,,,,,,602,, 52 | Crow_hp,sc/ui.sc,health_icon,Crow,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 53 | Crow_abi,sc/ui.sc,attack_icon,Crow,,,,2,,skill,CrowWeapon,,,,common,TID_CROW_WEAPON,TID_STAT_DAMAGE_PER_DAGGER,,,genicon_damage,,,, 54 | Crow_ulti,sc/ui.sc,ulti_icon,Crow,,,,3,,skill,CrowUlti,,,,common,TID_CROW_ULTI,TID_STAT_DAMAGE_PER_DAGGER,,,genicon_damage,,,, 55 | DeadMariachi_unlock,sc/ui.sc,,DeadMariachi,,,,0,,unlock,,,,,rare,,,,,,,203,, 56 | DeadMariachi_hp,sc/ui.sc,health_icon,DeadMariachi,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 57 | DeadMariachi_abi,sc/ui.sc,attack_icon,DeadMariachi,,,,2,,skill,DeadMariachiWeapon,,,,common,TID_DEAD_MARIACHI_WEAPON,TID_STAT_DAMAGE,,,genicon_damage,,,, 58 | DeadMariachi_ulti,sc/ui.sc,ulti_icon,DeadMariachi,,,,3,,skill,DeadMariachiUlti,,,,common,TID_DEAD_MARIACHI_ULTI,TID_STAT_HEAL,,,genicon_health,,,, 59 | BowDude_unlock,sc/ui.sc,,BowDude,,,,0,,unlock,,,,,common,,,,,,,108,, 60 | BowDude_hp,sc/ui.sc,health_icon,BowDude,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 61 | BowDude_abi,sc/ui.sc,attack_icon,BowDude,,,,2,,skill,BowDudeWeapon,,,,common,TID_BOW_DUDE_WEAPON,TID_STAT_DAMAGE_PER_ARROW,,,genicon_damage,,,, 62 | BowDude_ulti,sc/ui.sc,ulti_icon,BowDude,,,,3,,skill,BowDudeUlti,,,,common,TID_BOW_DUDE_ULTI,TID_STAT_DAMAGE_PER_MINE,,,genicon_damage,,,, 63 | Sniper_unlock,sc/ui.sc,,Sniper,,,,0,,unlock,,,,,epic,,,,,,,401,, 64 | Sniper_hp,sc/ui.sc,health_icon,Sniper,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 65 | Sniper_abi,sc/ui.sc,attack_icon,Sniper,,,,2,,skill,SniperWeapon,,,,common,TID_SNIPER_WEAPON,TID_STAT_MAX_DAMAGE,,,genicon_damage,,,, 66 | Sniper_ulti,sc/ui.sc,ulti_icon,Sniper,,,,3,,skill,SniperUlti,,,,common,TID_SNIPER_ULTI,TID_STAT_DAMAGE_PER_BOMB,,,genicon_damage,,,, 67 | MinigunDude_unlock,sc/ui.sc,,MinigunDude,,,,0,,unlock,,,,,epic,,,,,,,402,, 68 | MinigunDude_hp,sc/ui.sc,health_icon,MinigunDude,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 69 | MinigunDude_abi,sc/ui.sc,attack_icon,MinigunDude,,,,2,,skill,MinigunDudeWeapon,,,,common,TID_MINIGUN_DUDE_WEAPON,TID_STAT_DAMAGE_PER_SHOT,,,genicon_damage,,,, 70 | MinigunDude_ulti,sc/ui.sc,ulti_icon,MinigunDude,,,,3,,skill,MinigunDudeUlti,,,,common,TID_MINIGUN_DUDE_ULTI,TID_STAT_HEALING_PER_SEC,TID_TURRET_HEALTH,,genicon_heal,genicon_health,,, 71 | BlackHole_unlock,sc/ui.sc,,BlackHole,,,,0,,unlock,,,,,mega_epic,,,,,,,502,, 72 | BlackHole_hp,sc/ui.sc,health_icon,BlackHole,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 73 | BlackHole_abi,sc/ui.sc,attack_icon,BlackHole,,,,2,,skill,BlackHoleWeapon,,,,common,TID_BLACK_HOLE_WEAPON,TID_STAT_DAMAGE_PER_CARD,,,genicon_damage,,,, 74 | BlackHole_ulti,sc/ui.sc,ulti_icon,BlackHole,,,,3,,skill,BlackHoleUlti,,,,common,TID_BLACK_HOLE_ULTI,TID_STAT_DAMAGE,,,genicon_damage,,,, 75 | BarrelBot_unlock,sc/ui.sc,,BarrelBot,,,,0,,unlock,,,,,super_rare,,,,,,,302,, 76 | BarrelBot_hp,sc/ui.sc,health_icon,BarrelBot,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 77 | BarrelBot_abi,sc/ui.sc,attack_icon,BarrelBot,,,,2,,skill,BarrelBotWeapon,,,,common,TID_BARREL_BOT_WEAPON,TID_STAT_DAMAGE_PER_SHELL,,,genicon_damage,,,, 78 | BarrelBot_ulti,sc/ui.sc,ulti_icon,BarrelBot,,,,3,,skill,BarrelBotUlti,,,,common,TID_BARREL_BOT_ULTI,TID_STAT_DAMAGE,,,genicon_damage,,,, 79 | ShotgunGirl_unique,sc/ui.sc,,ShotgunGirl,,,,4,,freeze,,90,350,,common,TID_SPEC_ABI_FREEZE,,,,genicon_health,,,, 80 | Gunslinger_unique,sc/ui.sc,,Gunslinger,,,,4,,speed,,100,,,common,TID_SPEC_ABI_SPEED,,,,genicon_health,,,, 81 | BullDude_unique,sc/ui.sc,,BullDude,,,,4,,berserker,,60,,,common,TID_SPEC_ABI_BERSERKER,,,,genicon_health,,,, 82 | RocketGirl_unique,sc/ui.sc,,RocketGirl,,,,4,,main_attack_burn,,520,,,common,TID_SPEC_BURN,,,,genicon_health,,,, 83 | TrickshotDude_unique,sc/ui.sc,,TrickshotDude,,,,4,,bounced_bullets_stronger,,124,,,common,TID_SPEC_BOUNCED_BULLETS_STRONGER,,,,genicon_health,,,, 84 | Cactus_unique,sc/ui.sc,,Cactus,,,,4,,cactus_heal,,800,,,common,TID_SPEC_ABI_CACTUS_HEAL,,,,genicon_health,,,, 85 | Barkeep_unique,sc/ui.sc,,Barkeep,,,,4,,heal_self_main_attack,,400,,,common,TID_SPEC_ABI_HEAL_SELF_MAIN_ATTACK,,,,genicon_health,,,, 86 | Mechanic_unique,sc/ui.sc,,Mechanic,,,,4,,repair_turret,,896,,,common,TID_SPEC_ABI_REPAIR_TURRET,,,,genicon_health,,,, 87 | Shaman_unique,sc/ui.sc,,Shaman,,,,4,,pet_lifesteal,,800,800,,common,TID_SPEC_ABI_PET_LIFESTEAL,,,,genicon_health,,,, 88 | TntDude_unique,sc/ui.sc,,TntDude,,,,4,,pushback_self,,972,,,common,TID_SPEC_ABI_PUSHBACK_SELF,,,,genicon_health,,,, 89 | Luchador_unique,sc/ui.sc,,Luchador,,,,4,,fire_dot_ulti,,1200,,,common,TID_SPEC_ABI_FIRE_DOT_ULTI,,,,genicon_health,,,, 90 | Undertaker_unique,sc/ui.sc,,Undertaker,,,,4,,steal_souls,,1400,,,common,TID_SPEC_ABI_STEAL_SOULS,,,,genicon_health,,,, 91 | Crow_unique,sc/ui.sc,,Crow,,,,4,,cripple,,25,,,common,TID_SPEC_CRIPPLE,,,,genicon_health,,,, 92 | DeadMariachi_unique,sc/ui.sc,,DeadMariachi,,,,4,,heal_main_attack,,700,,,common,TID_SPEC_HEAL_MAIN_ATTACK,,,,genicon_health,,,, 93 | BowDude_unique,sc/ui.sc,,BowDude,,,,4,,spot,,5,,,common,TID_SPEC_ABI_SPOT,,,,genicon_health,,,, 94 | Sniper_unique,sc/ui.sc,,Sniper,,,,4,,ambush,,800,,,common,TID_SPEC_ABI_AMBUSH,,,,genicon_health,,,, 95 | MinigunDude_unique,sc/ui.sc,,MinigunDude,,,,4,,heal_others_main_attack,,48,,,common,TID_SPEC_ABI_HEAL_OTHERS_MAIN_ATTACK,,,,genicon_health,,,, 96 | BlackHole_unique,sc/ui.sc,,BlackHole,,,,4,,black_hole_monster,,1,,,common,TID_SPEC_ABI_BLACK_HOLE_MONSTER,,,,genicon_health,,,, 97 | BarrelBot_unique,sc/ui.sc,,BarrelBot,,,,4,,barrel_defense,,18,90,,common,TID_SPEC_ABI_BARREL_DEFENSE,,,,genicon_health,,,, 98 | ArtilleryDude_unlock,sc/ui.sc,,ArtilleryDude,,,,0,,unlock,,,,,super_rare,,,,,,,303,, 99 | ArtilleryDude_hp,sc/ui.sc,health_icon,ArtilleryDude,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 100 | ArtilleryDude_abi,sc/ui.sc,attack_icon,ArtilleryDude,,,,2,,skill,ArtilleryDudeWeapon,,,,common,TID_ARTILLERY_DUDE_WEAPON,TID_STAT_DAMAGE,,,genicon_damage,,,, 101 | ArtilleryDude_ulti,sc/ui.sc,ulti_icon,ArtilleryDude,,,,3,,skill,ArtilleryDudeUlti,,,,common,TID_ARTILLERY_DUDE_ULTI,TID_CANNON_DAMAGE,TID_CANNON_HEALTH,,genicon_damage,genicon_health,,, 102 | ArtilleryDude_unique,sc/ui.sc,,ArtilleryDude,,,,4,,self_destruct,,1680,,,common,TID_SPEC_ABI_SELF_DESTRUCT,,,,genicon_health,,,, 103 | HammerDude_unlock,sc/ui.sc,,HammerDude,,,,0,,unlock,,,,,epic,,,,,,,403,, 104 | HammerDude_hp,sc/ui.sc,health_icon,HammerDude,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 105 | HammerDude_abi,sc/ui.sc,attack_icon,HammerDude,,,,2,,skill,HammerDudeWeapon,,,,common,TID_HAMMER_DUDE_WEAPON,TID_STAT_DAMAGE,,,genicon_damage,,,, 106 | HammerDude_ulti,sc/ui.sc,ulti_icon,HammerDude,,,,3,,skill,HammerDudeUlti,,,,common,TID_HAMMER_DUDE_ULTI,TID_STAT_DAMAGE,,,genicon_damage,genicon_health,,, 107 | HammerDude_unique,sc/ui.sc,,HammerDude,,,,4,,steal_souls2,,50,12,,common,TID_SPEC_ABI_STEAL_SOULS2,,,,genicon_health,,,, 108 | HookDude_unlock,sc/ui.sc,,HookDude,,,,0,,unlock,,,,,mega_epic,,,,,,,503,, 109 | HookDude_hp,sc/ui.sc,health_icon,HookDude,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 110 | HookDude_abi,sc/ui.sc,attack_icon,HookDude,,,,2,,skill,HookWeapon,,,,common,TID_HOOK_WEAPON,TID_STAT_DAMAGE,,,genicon_damage,,,, 111 | HookDude_ulti,sc/ui.sc,ulti_icon,HookDude,,,,3,,skill,HookUlti,,,,common,TID_HOOK_ULTI,TID_HOOK_ULTI,,,genicon_damage,,,, 112 | HookDude_unique,sc/ui.sc,,HookDude,,,,4,,aoe_regenerate,,400,,,common,TID_SPEC_ABI_HOOK,,,,genicon_health,,,, 113 | ClusterBombDude_unlock,sc/ui.sc,,ClusterBombDude,,,,0,,unlock,,,,,common,,,,,,,109,, 114 | ClusterBombDude_hp,sc/ui.sc,health_icon,ClusterBombDude,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 115 | ClusterBombDude_abi,sc/ui.sc,attack_icon,ClusterBombDude,,,,2,,skill,ClusterBombDudeWeapon,,,,common,TID_CLUSTER_BOMB_DUDE_WEAPON,TID_STAT_DAMAGE_PER_PROXIMITY_MINE,,,genicon_damage,,,, 116 | ClusterBombDude_ulti,sc/ui.sc,ulti_icon,ClusterBombDude,,,,3,,skill,ClusterBombDudeUlti,,,,common,TID_CLUSTER_BOMB_DUDE_ULTI,TID_STAT_DAMAGE,TID_HEAD_HEALTH,,genicon_damage,,,, 117 | ClusterBombDude_unique,sc/ui.sc,,ClusterBombDude,,,,4,,repair_self,,40,,,common,TID_SPEC_ABI_REPAIR_SELF,,,,genicon_health,,,, 118 | Ninja_unlock,sc/ui.sc,,Ninja,,,,0,,unlock,,,,,legendary,,,,,,,603,, 119 | Ninja_hp,sc/ui.sc,health_icon,Ninja,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 120 | Ninja_abi,sc/ui.sc,attack_icon,Ninja,,,,2,,skill,NinjaWeapon,,,,common,TID_NINJA_WEAPON,TID_STAT_DAMAGE_PER_SHURIKEN,,,genicon_damage,,,, 121 | Ninja_ulti,sc/ui.sc,ulti_icon,Ninja,,,,3,,skill,NinjaUlti,,,,common,TID_NINJA_ULTI,TID_STAT_INVISIBLE,,,genicon_damage,,,, 122 | Ninja_unique,sc/ui.sc,,Ninja,,,,4,,speed_invisible,,250,,,common,TID_SPEC_ABI_SPEED_INVISIBLE,,,,genicon_health,,,, 123 | Rosa_unlock,sc/ui.sc,,Rosa,,,,0,,unlock,,,,,rare,,,,,,,204,, 124 | Rosa_hp,sc/ui.sc,health_icon,Rosa,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 125 | Rosa_abi,sc/ui.sc,attack_icon,Rosa,,,,2,,skill,RosaWeapon,,,,common,TID_ROSA_WEAPON,TID_STAT_DAMAGE_PER_STRIKE,,,genicon_damage,,,, 126 | Rosa_ulti,sc/ui.sc,ulti_icon,Rosa,,,,3,,skill,RosaUlti,,,,common,TID_ROSA_ULTI,TID_STAT_SHIELD,,,genicon_damage,,,, 127 | Rosa_unique,sc/ui.sc,,Rosa,,,,4,,heal_forest,,200,,,common,TID_SPEC_ABI_HEAL_FOREST,,,,genicon_health,,,, 128 | Whirlwind_unlock,sc/ui.sc,,Whirlwind,,,,0,,unlock,,,,,super_rare,,,,,,,304,, 129 | Whirlwind_hp,sc/ui.sc,health_icon,Whirlwind,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 130 | Whirlwind_abi,sc/ui.sc,attack_icon,Whirlwind,,,,2,,skill,WhirlwindWeapon,,,,common,TID_WHIRLWIND_WEAPON,TID_STAT_DAMAGE_EACH_WAY,,,genicon_damage,,,, 131 | Whirlwind_ulti,sc/ui.sc,ulti_icon,Whirlwind,,,,3,,skill,WhirlwindUlti,,,,common,TID_WHIRLWIND_ULTI,TID_STAT_DAMAGE_PER_SWING,,,genicon_damage,,,, 132 | Whirlwind_unique,sc/ui.sc,,Whirlwind,,,,4,,projectile_speed,,312,,,common,TID_SPEC_ABI_PROJECTILE_SPEED,,,,genicon_health,,,, 133 | Baseball_unlock,sc/ui.sc,,Baseball,,,,0,,unlock,,,,,epic,,,,,,,404,, 134 | Baseball_hp,sc/ui.sc,health_icon,Baseball,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 135 | Baseball_abi,sc/ui.sc,attack_icon,Baseball,,,,2,,skill,BaseballWeapon,,,,common,TID_BASEBALL_WEAPON,TID_STAT_DAMAGE,,,genicon_damage,,,, 136 | Baseball_ulti,sc/ui.sc,ulti_icon,Baseball,,,,3,,skill,BaseballUlti,,,,common,TID_BASEBALL_ULTI,TID_STAT_DAMAGE_EACH_WAY,,,genicon_damage,,,, 137 | Baseball_unique,sc/ui.sc,,Baseball,,,,4,,speed_full_ammo,,100,,,common,TID_SPEC_ABI_SPED_FULL_AMMO,,,,genicon_health,,,, 138 | ShotgunGirl_unique_2,sc/ui.sc,,ShotgunGirl,,,,4,,medikit,,40,2000,15000,common,TID_SPEC_ABI_MEDIKIT,,,,genicon_health,,,, 139 | Shaman_unique_2,sc/ui.sc,,Shaman,,,,4,,pet_attack_speed,,60,,,common,TID_SPEC_ABI_PET_ATTACK_SPEED,,,,genicon_health,,,, 140 | BullDude_unique_2,sc/ui.sc,,BullDude,,,,4,,low_health_shield,,40,30,,common,TID_SPEC_ABI_LOW_HEALTH_SHIELD,,,,genicon_health,,,, 141 | Gunslinger_unique_2,sc/ui.sc,,Gunslinger,,,,4,,attack_range,,3,,,common,TID_SPEC_ABI_ATTACK_RANGE,,,,genicon_health,,,, 142 | MinigunDude_unique_2,sc/ui.sc,,MinigunDude,,,,4,,aoe_dot,,800,,,common,TID_SPEC_ABI_TURRET_AOE,,,,genicon_health,,,, 143 | Luchador_unique_2,sc/ui.sc,,Luchador,,,,4,,speed_after_ulti,,200,80,,common,TID_SPEC_ABI_SPEED_AFTER_ULTI,,,,genicon_health,,,, 144 | Ninja_unique_2,sc/ui.sc,,Ninja,,,,4,,heal_invisible,,1000,,,common,TID_SPEC_ABI_HOT_INVISIBLE,,,,genicon_health,,,, 145 | ArtilleryDude_unique_2,sc/ui.sc,,ArtilleryDude,,,,4,,ulti_burn,,400,,,common,TID_SPEC_ULTI_BURN,,,,genicon_health,,,, 146 | Crow_unique_2,sc/ui.sc,,Crow,,,,4,,prey_on_the_weak,,50,152,,common,TID_SPEC_ABI_PREY_ON_THE_WEAK,,,,genicon_health,,,, 147 | DeadMariachi_unique_2,sc/ui.sc,,DeadMariachi,,,,4,,damage_super,,1000,,,common,TID_SPEC_DAMAGE_SUPER,,,,genicon_health,,,, 148 | Whirlwind_unique_2,sc/ui.sc,,Whirlwind,,,,4,,ulti_defense,,60,35,,common,TID_SPEC_ABI_WHIRLWIND_SHIELD,,,,genicon_health,,,, 149 | Baseball_unique_2,sc/ui.sc,,Baseball,,,,4,,shield_homerun,,20,,,common,TID_SPEC_ABI_SHIELD_HOMERUN,,,,genicon_health,,,, 150 | Rosa_unique_2,sc/ui.sc,,Rosa,,,,4,,damage_buff_super,,220,,,common,TID_SPEC_ABI_DAMAGE_BUFF_SUPER,,,,genicon_health,,,, 151 | BowDude_unique_2,sc/ui.sc,,BowDude,,,,4,,stun_trap,,40,,,common,TID_SPEC_ABI_STUN_TRAP,,,,genicon_health,,,, 152 | Mechanic_unique_2,sc/ui.sc,,Mechanic,,,,4,,turret_electricity,,1,,,common,TID_SPEC_ABI_TURRET_ELECTRICITY,,,,genicon_health,,,, 153 | RocketGirl_unique_2,sc/ui.sc,,RocketGirl,,,,4,,extra_bullet,,1,,,common,TID_SPEC_EXTRA_BULLET,,,,genicon_health,,,, 154 | Cactus_unique_2,sc/ui.sc,,Cactus,,,,4,,curve_ball,,75,150,,common,TID_SPEC_ABI_CURVEBALL,,,,genicon_health,,,, 155 | Sniper_unique_2,sc/ui.sc,,Sniper,,,,4,,reload_on_hit,,40,,,common,TID_SPEC_ABI_RELOAD_ON_HIT,,,,genicon_health,,,, 156 | HammerDude_unique_2,sc/ui.sc,,HammerDude,,,,4,,gain_health,,1100,,,common,TID_SPEC_ABI_GAIN_HEALTH,,,,genicon_health,,,, 157 | Undertaker_unique_2,sc/ui.sc,,Undertaker,,,,4,,faster_long_dash,,30,,,common,TID_SPEC_ABI_LONGER_DASH,,,,genicon_health,,,, 158 | TntDude_unique_2,sc/ui.sc,,TntDude,,,,4,,gain_damage_super,,1000,,,common,TID_SPEC_ABI_SUPER_DAMAGE,,,,genicon_health,,,, 159 | TrickshotDude_unique_2,sc/ui.sc,,TrickshotDude,,,,4,,speed_low_health,,250,40,,common,TID_SPEC_ABI_SPEED_LOW_HEALTH,,,,genicon_health,,,, 160 | BarrelBot_unique_2,sc/ui.sc,,BarrelBot,,,,4,,super_reload,,100,,,common,TID_SPEC_ABI_SUPER_RELOAD,,,,genicon_health,,,, 161 | Barkeep_unique_2,sc/ui.sc,,Barkeep,,,,4,,damage_main_attack,,200,,,common,TID_SPEC_ABI_DAMAGE_MAIN_ATTACK,,,,genicon_health,,,, 162 | HookDude_unique_2,sc/ui.sc,,HookDude,,,,4,,damage_ulti,,300,,,common,TID_SPEC_ABI_DAMAGE_ULTI,,,,genicon_health,,,, 163 | BlackHole_unique_2,sc/ui.sc,,BlackHole,,,,4,,black_hole_healer,,1,,,common,TID_SPEC_ABI_BLACK_HOLE_HEALER,,,,genicon_health,,,, 164 | ClusterBombDude_unique_2,sc/ui.sc,,ClusterBombDude,,,,4,,recharge,,220,,,common,TID_SPEC_ABI_RECHARGE,,,,genicon_health,,,, 165 | ShotgunGirl_unique_3,sc/ui.sc,,ShotgunGirl,true,true,,4,,petrol_reload,,7,40,,common,TID_SPEC_SUPER_RANGE,,,,genicon_health,,,, 166 | BullDude_unique_3,sc/ui.sc,,BullDude,true,true,,4,,petrol_reload,,1,,,common,TID_SPEC_ABI_IMMUNE_TO_CC,,,,genicon_health,,,, 167 | DeadMariachi_unique_3,sc/ui.sc,,DeadMariachi,true,true,,4,,petrol_reload,,1,,,common,TID_SPEC_ABI_CURE_DEBUFFS,,,,genicon_health,,,, 168 | Baseball_unique_3,sc/ui.sc,,Baseball,true,true,,4,,petrol_reload,,60,350,,common,TID_SPEC_ABI_SUPER_SLOW,,,,genicon_health,,,, 169 | Whirlwind_unique_3,sc/ui.sc,,Whirlwind,true,true,,4,,petrol_reload,,600,,,common,TID_SPEC_ABI_SUPER_DESTROY_WALLS,,,,genicon_health,,,, 170 | Undertaker_unique_3,sc/ui.sc,,Undertaker,true,true,,4,,petrol_reload,,15,30,,common,TID_SPEC_ABI_DASH_SHIELD,,,,genicon_health,,,, 171 | Arcade_unique,sc/ui.sc,,Arcade,,,,4,,larger_area_ulti,,1,,,common,TID_SPEC_ABI_LARGER_AREA_ULTI,,,,genicon_health,,,, 172 | Luchador_unique_3,sc/ui.sc,,Luchador,true,true,,4,,petrol_reload,,500,2880,,common,TID_SPEC_ABI_GROW_FROM_DAMAGE,,,,genicon_health,,,, 173 | Gunslinger_unique_3,sc/ui.sc,,Gunslinger,true,true,,4,,petrol_reload,,2000,,,common,TID_SPEC_ABI_ARMOR,,,,genicon_health,,,, 174 | Mechanic_unique_3,sc/ui.sc,,Mechanic,true,true,,4,,petrol_reload,,600,,,common,TID_SPEC_ABI_WALKING_TURRET,,,,genicon_health,,,, 175 | RocketGirl_unique_3,sc/ui.sc,,RocketGirl,true,true,,4,,petrol_reload,,30,,,common,TID_SPEC_SHIELD_ULTI,,,,genicon_health,,,, 176 | TntDude_unique_3,sc/ui.sc,,TntDude,true,true,,4,,petrol_reload,,1,,,common,TID_SPEC_ABI_PET,,,,genicon_health,,,, 177 | Sniper_unique_3,sc/ui.sc,,Sniper,true,true,,4,,petrol_reload,,15,,,common,TID_SPEC_SPOT_FROM_AIR,,,,genicon_health,,,, 178 | Ninja_unique_3,sc/ui.sc,,Ninja,true,true,,4,,petrol_reload,,140,,,common,TID_SPEC_ABI_DAMAGE_ULTI,,,,genicon_health,,,, 179 | Cactus_unique_3,sc/ui.sc,,Cactus,true,true,,4,,petrol_reload,,40,672,20,common,TID_SPEC_ABI_SPIKES_LOW_HEALTH,,,,genicon_health,,,, 180 | Arcade_unlock,sc/ui.sc,,Arcade,,,,0,,unlock,,,,,common,,,,,,,110,, 181 | Arcade_hp,sc/ui.sc,health_icon,Arcade,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 182 | Arcade_abi,sc/ui.sc,attack_icon,Arcade,,,,2,,skill,ArcadeWeapon,,,,common,TID_ARCADE_WEAPON,TID_STAT_DAMAGE_PER_BEAM,,,genicon_damage,,,, 183 | Arcade_ulti,sc/ui.sc,ulti_icon,Arcade,,,,3,,skill,ArcadeUlti,,,,common,TID_ARCADE_ULTI,TID_STAT_DAMAGE_BOOST,TID_DAMAGE_BOOSTER_HEALTH,,genicon_heal,genicon_health,,true, 184 | Arcade_unique_2,sc/ui.sc,,Arcade,,,,4,,plugged_in,,140,7,8,common,TID_SPEC_ABI_PLUGGED_IN,,,,genicon_health,,,, 185 | Sandstorm_unlock,sc/ui.sc,,Sandstorm,,,,0,,unlock,,,,,legendary,,,,,,,604,, 186 | Sandstorm_hp,sc/ui.sc,health_icon,Sandstorm,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 187 | Sandstorm_abi,sc/ui.sc,attack_icon,Sandstorm,,,,2,,skill,SandstormWeapon,,,,common,TID_SANDSTORM_WEAPON,TID_STAT_DAMAGE,,,genicon_damage,,,, 188 | Sandstorm_ulti,sc/ui.sc,ulti_icon,Sandstorm,,,,3,,skill,SandstormUlti,,,,common,TID_SANDSTORM_ULTI,TID_STAT_SANDSTORM,,,genicon_damage,,,, 189 | Sandstorm_unique,sc/ui.sc,,Sandstorm,,,,4,,aoe_dot,,100,,,common,TID_SPEC_ABI_SANDSTORM_DOT,,,,genicon_health,,,, 190 | Sandstorm_unique_2,sc/ui.sc,,Sandstorm,,,,4,,aoe_dot,,-300,,,common,TID_SPEC_ABI_SANDSTORM_HOT,,,,genicon_health,,,, 191 | BeeSniper_unlock,sc/ui.sc,,BeeSniper,,,,0,,unlock,,,,,epic,,,,,,,405,, 192 | BeeSniper_hp,sc/ui.sc,health_icon,BeeSniper,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 193 | BeeSniper_abi,sc/ui.sc,attack_icon,BeeSniper,,,,2,,skill,BeeSniperWeapon,,,,common,TID_BEE_SNIPER_WEAPON,TID_STAT_DAMAGE,,,genicon_damage,,,, 194 | BeeSniper_ulti,sc/ui.sc,ulti_icon,BeeSniper,,,,3,,skill,BeeSniperUlti,,,,common,TID_BEE_SNIPER_ULTI,TID_STAT_DAMAGE_PER_DRONE,,,genicon_damage,,,, 195 | BeeSniper_unique,sc/ui.sc,,BeeSniper,,,,4,,instant_charged_shot,,2,,,common,TID_SPEC_ABI_BEE_SNIPER_1,,,,genicon_damage,,,, 196 | BeeSniper_unique_2,sc/ui.sc,,BeeSniper,,,,4,,shield_while_charged,,20,,,common,TID_SPEC_ABI_BEE_SNIPER_2,,,,genicon_damage,,,, 197 | Mummy_unlock,sc/ui.sc,,Mummy,,,,0,,unlock,,,,,common,,,,,,,111,, 198 | Mummy_hp,sc/ui.sc,health_icon,Mummy,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 199 | Mummy_abi,sc/ui.sc,attack_icon,Mummy,,,,2,,skill,MummyWeapon,,,,common,TID_MUMMY_WEAPON,TID_STAT_DAMAGE_PER_HALF_SECOND,,,genicon_damage,,,, 200 | Mummy_ulti,sc/ui.sc,ulti_icon,Mummy,,,,3,,skill,MummyUlti,,,,common,TID_MUMMY_ULTI,TID_STAT_DAMAGE_PER_SECOND,,,genicon_damage,,,, 201 | Mummy_unique,sc/ui.sc,,Mummy,,,,4,,increase_dmg_consecutive_dot,,25,,,common,TID_SPEC_ABI_TICK_DMG_GROW,,,,genicon_damage,,,, 202 | Mummy_unique_2,sc/ui.sc,,Mummy,,,,4,,ulti_heals_self,,420,,,common,TID_SPEC_ABI_HEAL_SUPER_DMG,,,,genicon_health,,,, 203 | SpawnerDude_unlock,sc/ui.sc,,SpawnerDude,,,,0,,unlock,,,,,mega_epic,,,,,,,505,, 204 | SpawnerDude_hp,sc/ui.sc,health_icon,SpawnerDude,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 205 | SpawnerDude_abi,sc/ui.sc,attack_icon,SpawnerDude,,,,2,,skill,SpawnerDudeWeapon,,,,common,TID_SPAWNER_DUDE_WEAPON,TID_STAT_DAMAGE_EACH_WAY,,,genicon_damage,,,, 206 | SpawnerDude_ulti,sc/ui.sc,ulti_icon,SpawnerDude,,,,3,,skill,SpawnerDudeUlti,,,,common,TID_SPAWNER_DUDE_ULTI,TID_PORTER_HEALTH,TID_SPAWN_BUILDING_HEALTH,TID_PORTER_DAMAGE,genicon_damage,genicon_health,,, 207 | SpawnerDude_unique,sc/ui.sc,icon_sp_spawner_1,SpawnerDude,,,,4,,always_bounce_shot,,1,,,common,TID_SPEC_ABI_SPAWNER_DUDE_1,,,,genicon_damage,,,, 208 | SpawnerDude_unique_2,sc/ui.sc,icon_sp_spawner_2,SpawnerDude,,,,4,,spawn_speed,,3,,,common,TID_SPEC_ABI_SPAWNER_DUDE_2,,,,genicon_damage,,,, 209 | Speedy_unlock,sc/ui.sc,,Speedy,,,,0,,unlock,,,,,mega_epic,,,,,,,504,, 210 | Speedy_hp,sc/ui.sc,health_icon,Speedy,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 211 | Speedy_abi,sc/ui.sc,attack_icon,Speedy,,,,2,,skill,SpeedyWeapon,,,,common,TID_SPEEDY_WEAPON,TID_STAT_DAMAGE_PER_SHOT,,,genicon_damage,,,, 212 | Speedy_ulti,sc/ui.sc,ulti_icon,Speedy,,,,3,,skill,SpeedyUlti,,,,common,TID_SPEEDY_ULTI,TID_SPEEDY_ULTI_STAT,,,genicon_damage,genicon_health,,true,true 213 | Speedy_unique,sc/ui.sc,,Speedy,,,,4,,running_charges_ulti,,14,1,,common,TID_SPEC_ABI_SPEEDY_1,,,,genicon_damage,,,, 214 | Speedy_unique_2,sc/ui.sc,,Speedy,,,,4,,running_charges_weapon,,60,1,,common,TID_SPEC_ABI_SPEEDY_2,,,,genicon_damage,,,, 215 | 712ea998e59dc1ccab9c215a1d71731bd453e402,sc/ui.sc,,07220d24fa2e06c356cad4e7c6037d70b265010e,true,,,0,,unlock,,,,,common,,,,,,,101,, 216 | 2ee96b8e775c9b09f313d8e1f6512beda6556503,sc/ui.sc,health_icon,07220d24fa2e06c356cad4e7c6037d70b265010e,true,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 217 | aa1af7bf1fd9b059eba7868156e62e7839e298f3,sc/ui.sc,attack_icon,07220d24fa2e06c356cad4e7c6037d70b265010e,true,,,2,,skill,ShotgunGirlWeapon,,,,common,TID_LONG_RANGE_SHOTGUN,TID_STAT_DAMAGE_PER_SHELL,,,genicon_damage,,,, 218 | e9113d8031ba7ef4b32086d0cb907fd9743070e2,sc/ui.sc,ulti_icon,07220d24fa2e06c356cad4e7c6037d70b265010e,true,,,3,,skill,ShotgunGirlUlti,,,,common,TID_MEGA_BLASH_ULTI,TID_STAT_DAMAGE_PER_SHELL,,,genicon_damage,,,, 219 | 06a226dbc7ddbcf3f8e97cb995f5cf645a2d3aff,sc/ui.sc,,07220d24fa2e06c356cad4e7c6037d70b265010e,true,true,,4,,petrol_reload,,7,40,,common,TID_SPEC_SUPER_RANGE,,,,genicon_health,,,, 220 | 6ec42df0c615b2d98f9f7fc900a5a4a1c37c5f6e,sc/ui.sc,,07220d24fa2e06c356cad4e7c6037d70b265010e,true,true,,4,,petrol_reload,,7,40,,common,TID_SPEC_SUPER_RANGE,,,,genicon_health,,,, 221 | Driller_unlock,sc/ui.sc,,Driller,,,,0,,unlock,,,,,super_rare,,,,,,,305,, 222 | Driller_hp,sc/ui.sc,health_icon,Driller,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 223 | Driller_abi,sc/ui.sc,attack_icon,Driller,,,,2,,skill,DrillerWeapon,,,,common,TID_DRILLER_WEAPON,TID_STAT_DAMAGE,,,genicon_damage,,,, 224 | Driller_ulti,sc/ui.sc,ulti_icon,Driller,,,,3,,skill,DrillerUlti,,,,common,TID_DRILLER_ULTI,TID_STAT_DAMAGE,,,genicon_damage,,,, 225 | Driller_unique,sc/ui.sc,,Driller,,,,4,,reflect_damage_aoe,,30,,,common,TID_SPEC_ABI_DRILLER_1,,,,genicon_damage,,,, 226 | Driller_unique_2,sc/ui.sc,,Driller,,,,4,,reduce_all_damage,,15,,,common,TID_SPEC_ABI_DRILLER_2,,,,genicon_damage,,,, 227 | Blower_unlock,sc/ui.sc,,Blower,,,1,0,,unlock,,,,,epic,,,,,,,701,, 228 | Blower_hp,sc/ui.sc,health_icon,Blower,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 229 | Blower_abi,sc/ui.sc,attack_icon,Blower,,,,2,,skill,BlowerWeapon,,,,common,TID_BLOWER_WEAPON,TID_STAT_DAMAGE,,,genicon_damage,,,, 230 | Blower_ulti,sc/ui.sc,ulti_icon,Blower,,,,3,,skill,BlowerUlti,,,,common,TID_BLOWER_ULTI,TID_STAT_DAMAGE,,,genicon_damage,,,, 231 | Blower_unique,sc/ui.sc,,Blower,,,,4,,stun_wall_push,,20,,,common,TID_SPEC_ABI_BLOWER_1,,,,genicon_damage,,,, 232 | Blower_unique_2,sc/ui.sc,,Blower,,,,4,,basic_freeze,,10,350,,common,TID_SPEC_ABI_BLOWER_2,,,,genicon_damage,,,, 233 | Controller_unlock,sc/ui.sc,,Controller,,,,0,,unlock,,,,,epic,,,,,,,406,, 234 | Controller_hp,sc/ui.sc,health_icon,Controller,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 235 | Controller_abi,sc/ui.sc,attack_icon,Controller,,,,2,,skill,ControllerWeapon,,,,common,TID_CONTROLLER_WEAPON,TID_STAT_DAMAGE,,,genicon_damage,,,, 236 | Controller_ulti,sc/ui.sc,ulti_icon,Controller,,,,3,,skill,ControllerUlti,,,,common,TID_CONTROLLER_ULTI,TID_STAT_DAMAGE,,,genicon_damage,,,, 237 | Controller_unique,sc/ui.sc,,Controller,,,,4,,increase_missile_dmg_over_distance,,1600,,,common,TID_SPEC_ABI_CONTROLLER_1,,,,genicon_damage,,,, 238 | Controller_unique_2,sc/ui.sc,,Controller,,,,4,,shield_while_ulti,,80,,,common,TID_SPEC_ABI_CONTROLLER_2,,,,genicon_damage,,,, 239 | Wally_unlock,sc/ui.sc,,Wally,,,,0,,unlock,,,,,mega_epic,,,,,,,506,, 240 | Wally_hp,sc/ui.sc,health_icon,Wally,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 241 | Wally_abi,sc/ui.sc,attack_icon,Wally,,,,2,,skill,WallyWeapon,,,,common,TID_WALLY_WEAPON,TID_STAT_DAMAGE,,,genicon_damage,,,, 242 | Wally_ulti,sc/ui.sc,ulti_icon,Wally,,,,3,,skill,WallyUlti,,,,common,TID_WALLY_ULTI,TID_STAT_DAMAGE,,,genicon_damage,,,, 243 | Wally_unique,sc/ui.sc,,Wally,,,,4,,increased_explosion,,5000,,,common,TID_SPEC_ABI_WALLY_1,,,,genicon_damage,,,, 244 | Wally_unique_2,sc/ui.sc,,Wally,,,,4,,bush_shield,,30,60,,common,TID_SPEC_ABI_WALLY_2,,,,genicon_damage,,,, 245 | Rosa_GrowBush,sc/ui.sc,icon_item_rosa_1,Rosa,,,,5,,accessory,Rosa_GrowBush,0,,,common,TID_ACCESSORY_GROW_BUSH,,,,genicon_health,,,, 246 | Crow_Shield,sc/ui.sc,icon_item_crow_1,Crow,,,,5,,accessory,Crow_Shield,14,15,,common,TID_ACCESSORY_CROW_SHIELD,,,,genicon_health,,,, 247 | Wally_Heal,sc/ui.sc,icon_item_wally_1,Wally,,,,5,,accessory,Wally_Heal,1,2,3,common,TID_ACCESSORY_WALLY_HEAL,,,,genicon_health,,,, 248 | RocketGirl_Jump,sc/ui.sc,icon_item_brock_1,RocketGirl,,,,5,,accessory,RocketGirl_Jump,16,17,,common,TID_ACCESSORY_ROCKET_JUMP,,,,genicon_health,,,, 249 | TrickshotDude_ShootAround,sc/ui.sc,icon_item_ricochet_1,TrickshotDude,,,,5,,accessory,TrickshotDude_ShootAround,0,,,common,TID_ACCESSORY_RICO_SHOOT_AROUND,,,,genicon_health,,,, 250 | Cactus_ShootAround,sc/ui.sc,icon_item_spike_1,Cactus,,,,5,,accessory,Cactus_ShootAround,19,16,,common,TID_ACCESSORY_CACTUS_SHOOT_AROUND,,,,genicon_health,,,, 251 | ArtilleryDude_DestroyPet,sc/ui.sc,icon_item_penny_1,ArtilleryDude,,,,5,,accessory,ArtilleryDude_DestroyPet,12,,,common,TID_ACCESSORY_ARTILLERY_DESTROY_PET,,,,genicon_health,,,, 252 | Shaman_PetSlam,sc/ui.sc,icon_item_nita_1,Shaman,,,,5,,accessory,Shaman_PetSlam,0,,,common,TID_ACCESSORY_PET_SLAM,,,,genicon_health,,,, 253 | Barkeep_Slow,sc/ui.sc,icon_item_barley_1,Barkeep,,,,5,,accessory,Barkeep_Slow,0,,,common,TID_ACCESSORY_BARKEEP_SLOW,,,,genicon_health,,,, 254 | Mechanic_Slow,sc/ui.sc,icon_item_jessie_1,Mechanic,,,,5,,accessory,Mechanic_Slow,0,,,common,TID_ACCESSORY_JESSIE_SLOW,,,,genicon_health,,,, 255 | HookDude_Push,sc/ui.sc,icon_item_gene_1,HookDude,,,,5,,accessory,HookDude_Push,1,20,,common,TID_ACCESSORY_GENE_PUSH,,,,genicon_health,,,, 256 | ClusterBombDude_ExtraMines,sc/ui.sc,icon_item_tick_1,ClusterBombDude,,,,5,,accessory,ClusterBombDude_ExtraMines,1,,,common,TID_ACCESSORY_TICK_EXTRA_MINES,,,,genicon_health,,,, 257 | Speedy_Dash,sc/ui.sc,icon_item_max_1,Speedy,,,,5,,accessory,Speedy_Dash,0,,,common,TID_ACCESSORY_MAX_DASH,,,,genicon_health,,,, 258 | ShotgunGirl_Dash,sc/ui.sc,icon_item_shelly_1,ShotgunGirl,,,,5,,accessory,ShotgunGirl_Dash,0,,,common,TID_ACCESSORY_SHELLY_DASH,,,,genicon_health,,,, 259 | Driller_SpeedBoost,sc/ui.sc,icon_item_driller_1,Driller,,,,5,,accessory,Driller_SpeedBoost,21,22,,common,TID_ACCESSORY_DRILLER_SPEED_BOOST,,,,genicon_health,,,, 260 | MinigunDude_BurstHeal,sc/ui.sc,icon_item_pam_1,MinigunDude,,,,5,,accessory,MinigunDude_BurstHeal,12,,,common,TID_ACCESSORY_TOWER_BURST_HEAL,,,,genicon_health,,,, 261 | TntDude_Spin,sc/ui.sc,icon_item_dynamike_1,TntDude,,,,5,,accessory,TntDude_Spin,3,,,common,TID_ACCESSORY_TNT_SPIN,,,,genicon_health,,,, 262 | Arcade_Teleport,sc/ui.sc,icon_item_8bit_1,Arcade,,,,5,,accessory,Arcade_Teleport,0,,,common,TID_ACCESSORY_TELEPORT_TO_PET,,,,genicon_health,,,, 263 | BarrelBot_Spin,sc/ui.sc,icon_item_darryl_1,BarrelBot,,,,5,,accessory,BarrelBot_Spin,3,10,,common,TID_ACCESSORY_BARREL_SPIN,,,,genicon_health,,,, 264 | HammerDude_Immunity,sc/ui.sc,icon_item_frank_1,HammerDude,,,,5,,accessory,HammerDude_Immunity,0,,,common,TID_ACCESSORY_FRANK_CC_IMMUNITY,,,,genicon_health,,,, 265 | Whirlwind_Trail,sc/ui.sc,icon_item_carl_1,Whirlwind,,,,5,,accessory,Whirlwind_Trail,23,,,common,TID_ACCESSORY_CARL_TRAIL,,,,genicon_health,,,, 266 | BowDude_Totem,sc/ui.sc,icon_item_bo_1,BowDude,,,,5,,accessory,BowDude_Totem,0,,,common,TID_ACCESSORY_BOW_TOTEM,,,,genicon_health,,,, 267 | Luchador_Grab,sc/ui.sc,icon_item_elprimo_1,Luchador,,,,5,,accessory,Luchador_Grab,0,,,common,TID_ACCESSORY_PRIMO_GRAB,,,,genicon_health,,,, 268 | Undertaker_Swing,sc/ui.sc,icon_item_mortis_1,Undertaker,,,,5,,accessory,Undertaker_Swing,16,17,,common,TID_ACCESSORY_MORTIS_SWING,,,,genicon_health,,,, 269 | BlackHole_Vision,sc/ui.sc,icon_item_tara_1,BlackHole,,,,5,,accessory,BlackHole_Vision,20,1,,common,TID_ACCESSORY_TARA_VISION,,,,genicon_health,,,, 270 | DeadMariachi_Regen,sc/ui.sc,icon_item_poco_1,DeadMariachi,,,,5,,accessory,DeadMariachi_Regen,16,17,,common,TID_ACCESSORY_POCO_REGEN,,,,genicon_health,,,, 271 | Sniper_HandGun,sc/ui.sc,icon_item_piper_1,Sniper,,,,5,,accessory,Sniper_HandGun,19,2,,common,TID_ACCESSORY_SNIPER_HANDGUN,,,,genicon_health,,,, 272 | SpawnerDude_Promote,sc/ui.sc,icon_item_spawner_1,SpawnerDude,,,,5,,accessory,SpawnerDude_Promote,1,2,3,common,TID_ACCESSORY_SPAWNER_DUDE_PROMOTE,,,,genicon_health,,,, 273 | Sandstorm_Sleep,sc/ui.sc,icon_item_sandy_1,Sandstorm,,,,5,,accessory,Sandstorm_Sleep,13,,,common,TID_ACCESSORY_SANDY_SLEEP,,,,genicon_health,,,, 274 | BeeSniper_Slow,sc/ui.sc,icon_item_bea_1,BeeSniper,,,,5,,accessory,BeeSniper_Slow,0,,,common,TID_ACCESSORY_BEE_SNIPER_SLOW,,,,genicon_health,,,, 275 | BullDude_Heal,sc/ui.sc,icon_item_bull_1,BullDude,,,,5,,accessory,BullDude_Heal,1,20,,common,TID_ACCESSORY_BULL_HEAL,,,,genicon_health,,,, 276 | Gunslinger_Reload,sc/ui.sc,icon_item_colt_1,Gunslinger,,,,5,,accessory,Gunslinger_Reload,11,,,common,TID_ACCESSORY_GUNSLINGER_RELOAD,,,,genicon_health,,,, 277 | Mummy_Push,sc/ui.sc,icon_item_emz_1,Mummy,,,,5,,accessory,Mummy_Push,16,17,,common,TID_ACCESSORY_MUMMY_PUSH,,,,genicon_health,,,, 278 | Baseball_Heal,sc/ui.sc,icon_item_bibi_1,Baseball,,,,5,,accessory,Baseball_Heal,1,20,,common,TID_ACCESSORY_BASEBALL_HEAL,,,,genicon_health,,,, 279 | Ninja_Fake,sc/ui.sc,icon_item_leon_1,Ninja,,,,5,,accessory,Ninja_Fake,0,,,common,TID_ACCESSORY_NINJA_FAKE,,,,genicon_health,,,, 280 | Blower_Trampoline,sc/ui.sc,icon_item_gale_1,Blower,,,,5,,accessory,Blower_Trampoline,0,,,common,TID_ACCESSORY_BLOWER_TRAMPOLINE,,,,genicon_health,,,, 281 | Controller_Explode,sc/ui.sc,icon_item_nani_1,Controller,,,,5,,accessory,Controller_Explode,0,,,common,TID_ACCESSORY_CONTROLLER_EXPLODE,,,,genicon_health,,,, 282 | PowerLeveler_unlock,sc/ui.sc,,PowerLeveler,,,2,0,,unlock,,,,,epic,,,,,,,702,, 283 | PowerLeveler_hp,sc/ui.sc,health_icon,PowerLeveler,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 284 | PowerLeveler_abi,sc/ui.sc,attack_icon,PowerLeveler,,,,2,,skill,PowerLevelerWeapon,,,,common,TID_POWER_LEVELER_WEAPON,TID_STAT_DAMAGE,,,genicon_damage,,,, 285 | PowerLeveler_ulti,sc/ui.sc,ulti_icon,PowerLeveler,,,,3,,skill,PowerLevelerUlti,,,,common,TID_POWER_LEVELER_ULTI,TID_STAT_DAMAGE,,,genicon_damage,,,, 286 | PowerLeveler_unique,sc/ui.sc,,PowerLeveler,,,,4,,split_also_wall_hit,,1,,,common,TID_SPEC_ABI_POWER_LEVELER_1,,,,genicon_damage,,,, 287 | PowerLeveler_unique_2,sc/ui.sc,,PowerLeveler,,,,4,,decrease_level_loss,,1,,,common,TID_SPEC_ABI_POWER_LEVELER_2,,,,genicon_damage,,,, 288 | PowerLeveler_Blink,sc/ui.sc,icon_item_8bit_1,PowerLeveler,,,,5,,accessory,PowerLeveler_Blink,0,,,common,TID_ACCESSORY_POWER_LEVELER_BLINK,,,,genicon_health,,,, 289 | Crow_PoisonTrigger,sc/ui.sc,icon_item_crow_2,Crow,,,,5,,accessory,Crow_PoisonTrigger,24,3,,common,TID_ACCESSORY_CROW_POISON_TRIGGER,,,,genicon_health,,,, 290 | ArtilleryDude_Barrage,sc/ui.sc,icon_item_penny_2,ArtilleryDude,,,,5,,accessory,ArtilleryDude_Barrage,0,,,common,TID_ACCESSORY_ARTILLERY_BARRAGE,,,,genicon_health,,,, 291 | ShotgunGirl_Focus,sc/ui.sc,icon_item_shelly_2,ShotgunGirl,,,,5,,accessory,ShotgunGirl_Focus,20,,,common,TID_ACCESSORY_SHELLY_FOCUS,,,,genicon_health,,,, 292 | BowDude_MineTrigger,sc/ui.sc,icon_item_bo_2,BowDude,,,,5,,accessory,BowDude_MineTrigger,20,1,,common,TID_ACCESSORY_BO_MINE_TRIGGER,,,,genicon_health,,,, 293 | Undertaker_Reload,sc/ui.sc,icon_item_mortis_2,Undertaker,,,,5,,accessory,Undertaker_Reload,20,1,,common,TID_ACCESSORY_UNDERTAKER_RELOAD,,,,genicon_health,,,, 294 | Sniper_Seeker,sc/ui.sc,icon_item_piper_2,Sniper,,,,5,,accessory,Sniper_Seeker,0,,,common,TID_ACCESSORY_SNIPER_SEEKER,,,,genicon_health,,,, 295 | Luchador_Meteor,sc/ui.sc,icon_item_elprimo_2,Luchador,,,,5,,accessory,Luchador_Meteor,1,2,3,common,TID_ACCESSORY_LUCHADOR_METEOR,,,,genicon_health,,,, 296 | Barkeep_HealPotion,sc/ui.sc,icon_item_barley_2,Barkeep,,,,5,,accessory,Barkeep_HealPotion,2,,,common,TID_ACCESSORY_BARKEEP_HEAL_POTION,,,,genicon_health,,,, 297 | TntDude_Stun,sc/ui.sc,icon_item_dynamike_2,TntDude,,,,5,,accessory,TntDude_Stun,25,,,common,TID_ACCESSORY_TNT_STUN,,,,genicon_health,,,, 298 | Mechanic_TurretBuff,sc/ui.sc,icon_item_jessie_2,Mechanic,,,,5,,accessory,Mechanic_TurretBuff,20,1,,common,TID_ACCESSORY_MECHANIC_TURRET_BUFF,,,,genicon_health,,,, 299 | Percenter_unlock,sc/ui.sc,,Percenter,,,3,0,,unlock,,,,,epic,,,,,,,703,, 300 | Percenter_hp,sc/ui.sc,health_icon,Percenter,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 301 | Percenter_abi,sc/ui.sc,attack_icon,Percenter,,,,2,,skill,PercenterWeapon,,,,common,TID_PERCENTER_WEAPON,TID_STAT_DAMAGE,,,genicon_damage,,,, 302 | Percenter_ulti,sc/ui.sc,ulti_icon,Percenter,,,,3,,skill,PercenterUlti,,,,common,TID_PERCENTER_ULTI,TID_STAT_DAMAGE,,,genicon_damage,,,, 303 | Percenter_unique,sc/ui.sc,,Percenter,,,,4,,push_charge,,300,,,common,TID_SPEC_ABI_PERCENTER_1,,,,genicon_damage,,,, 304 | Percenter_unique_2,sc/ui.sc,,Percenter,,,,4,,shield_charge,,20,10,100,common,TID_SPEC_ABI_PERCENTER_2,,,,genicon_damage,,,, 305 | Percenter_StaticDamage,sc/ui.sc,icon_item_colette_1,Percenter,,,,5,,accessory,Percenter_StaticDamage,1,,,common,TID_ACCESSORY_PERCENTER_STATIC_DAMAGE,,,,genicon_health,,,, 306 | FireDude_unlock,sc/ui.sc,,FireDude,,,,0,,unlock,,,,,legendary,,,,,,,605,, 307 | FireDude_hp,sc/ui.sc,health_icon,FireDude,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 308 | FireDude_abi,sc/ui.sc,attack_icon,FireDude,,,,2,,skill,FireDudeWeapon,,,,common,TID_FIRE_DUDE_WEAPON,TID_STAT_DAMAGE_PER_SECOND,,,genicon_damage,,,, 309 | FireDude_ulti,sc/ui.sc,ulti_icon,FireDude,,,,3,,skill,FireDudeUlti,,,,common,TID_FIRE_DUDE_ULTI,TID_STAT_DAMAGE,,,genicon_damage,,,, 310 | FireDude_unique,sc/ui.sc,,FireDude,,,,4,,more_petrol,,200,,,common,TID_SPEC_ABI_FIRE_DUDE_1,,,,genicon_damage,,,, 311 | FireDude_unique_2,sc/ui.sc,,FireDude,,,,4,,petrol_reload,,50,,,common,TID_SPEC_ABI_FIRE_DUDE_2,,,,genicon_damage,,,, 312 | FireDude_Spill,sc/ui.sc,icon_item_amber_1,FireDude,,,,5,,accessory,FireDude_Spill,20,1,,common,TID_ACCESSORY_FIRE_DUDE_SPILL,,,,genicon_health,,,, 313 | BullDude_Stomp,sc/ui.sc,icon_item_bull_2,BullDude,,,,5,,accessory,BullDude_Stomp,26,,,common,TID_ACCESSORY_BULL_STOMP,,,,genicon_health,,,, 314 | Speedy_Rewind,sc/ui.sc,icon_item_max_2,Speedy,,,,5,,accessory,Speedy_Rewind,20,1,,common,TID_ACCESSORY_REWIND,,,,genicon_health,,,, 315 | BeeSniper_ExtraBee,sc/ui.sc,icon_item_bea_2,BeeSniper,,,,5,,accessory,BeeSniper_ExtraBee,19,2,,common,TID_ACCESSORY_EXTRA_BEE,,,,genicon_health,,,, 316 | BarrelBot_Slow,sc/ui.sc,icon_item_darryl_2,BarrelBot,,,,5,,accessory,BarrelBot_Slow,20,1,,common,TID_ACCESSORY_BARREL_SLOW,,,,genicon_health,,,, 317 | Shaman_Shield,sc/ui.sc,icon_item_nita_2,Shaman,,,,5,,accessory,Shaman_Shield,20,1,,common,TID_ACCESSORY_SHAMAN_SHIELD,,,,genicon_health,,,, 318 | Wally_Reposition,sc/ui.sc,icon_item_sprout_2,Wally,,,,5,,accessory,Wally_Reposition,0,,,common,TID_ACCESSORY_WALLY_REPOSITION,,,,genicon_health,,,, 319 | RocketGirl_MegaRocket,sc/ui.sc,icon_item_brock_2,RocketGirl,,,,5,,accessory,RocketGirl_MegaRocket,1,2,3,common,TID_ACCESSORY_MEGA_ROCKET,,,,genicon_health,,,, 320 | Whirlwind_Fly,sc/ui.sc,icon_item_carl_2,Whirlwind,,,,5,,accessory,Whirlwind_Fly,0,,,common,TID_ACCESSORY_WHIRLWIND_FLY,,,,genicon_health,,,, 321 | Arcade_Double,sc/ui.sc,icon_item_8bit_2,Arcade,,,,5,,accessory,Arcade_Double,27,,,common,TID_ACCESSORY_ARCADE_DOUBLE,,,,genicon_health,,,, 322 | Gunslinger_BigBullet,sc/ui.sc,icon_item_colt_2,Gunslinger,,,,5,,accessory,Gunslinger_BigBullet,31,,,common,TID_ACCESSORY_GUNSLINGER_BIG_BULLET,,,,genicon_health,,,, 323 | IceDude_unlock,sc/ui.sc,,IceDude,,,4,0,,unlock,,,,,epic,,,,,,,704,, 324 | IceDude_hp,sc/ui.sc,health_icon,IceDude,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 325 | IceDude_abi,sc/ui.sc,attack_icon,IceDude,,,,2,,skill,IceDudeWeapon,,,,common,TID_ICE_DUDE_WEAPON,TID_STAT_DAMAGE,,,genicon_damage,,,, 326 | IceDude_ulti,sc/ui.sc,ulti_icon,IceDude,,,,3,,skill,IceDudeUlti,,,,common,TID_ICE_DUDE_ULTI,TID_STAT_DAMAGE,,,genicon_damage,,,, 327 | IceDude_unique,sc/ui.sc,,IceDude,,,,4,,slippery_to_frost,,7,,,common,TID_SPEC_ABI_ICE_DUDE_1,,,,genicon_damage,,,, 328 | IceDude_unique_2,sc/ui.sc,,IceDude,,,,4,,freeze_reload,,75,,,common,TID_SPEC_ABI_ICE_DUDE_2,,,,genicon_damage,,,, 329 | IceDude_Freeze,sc/ui.sc,icon_item_lou_1,IceDude,,,,5,,accessory,IceDude_Freeze,20,1,,common,TID_ACCESSORY_ICE_DUDE_GADGET,,,,genicon_health,,,, 330 | SnakeOil_unlock,sc/ui.sc,,SnakeOil,,,,0,,unlock,,,,,mega_epic,,,,,,,507,, 331 | SnakeOil_hp,sc/ui.sc,health_icon,SnakeOil,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 332 | SnakeOil_abi,sc/ui.sc,attack_icon,SnakeOil,,,,2,,skill,SnakeOilWeapon,,,,common,TID_SNAKE_OIL_WEAPON,TID_STAT_DAMAGE_OR_HEAL,,,genicon_damage,,,, 333 | SnakeOil_ulti,sc/ui.sc,ulti_icon,SnakeOil,,,,3,,skill,SnakeOilUlti,,,,common,TID_SNAKE_OIL_ULTI,TID_STAT_DAMAGE_OR_HEAL,,,genicon_damage,,,, 334 | SnakeOil_unique,sc/ui.sc,,SnakeOil,,,,4,,suppress_heals,,75,180,,common,TID_SPEC_ABI_SNAKE_OIL_1,,,,genicon_damage,,,, 335 | SnakeOil_unique_2,sc/ui.sc,,SnakeOil,,,,4,,attack_pierce,,70,,,common,TID_SPEC_ABI_SNAKE_OIL_2,,,,genicon_damage,,,, 336 | SnakeOil_Heal,sc/ui.sc,icon_item_byron_1,SnakeOil,,,,5,,accessory,SnakeOil_Heal,1,28,,common,TID_ACCESSORY_SNAKE_OIL_HEAL,,,,genicon_health,,,, 337 | Enrager_unlock,sc/ui.sc,,Enrager,,,,0,,unlock,,,,,epic,,,,,,,407,, 338 | Enrager_hp,sc/ui.sc,health_icon,Enrager,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 339 | Enrager_abi,sc/ui.sc,attack_icon,Enrager,,,,2,,skill,EnragerWeapon,,,,common,TID_ENRAGER_WEAPON,TID_STAT_DAMAGE,,,genicon_damage,,,, 340 | Enrager_ulti,sc/ui.sc,ulti_icon,Enrager,,,,3,,skill,EnragerUlti,,,,common,TID_ENRAGER_ULTI,TID_STAT_DAMAGE,,,genicon_damage,,,,true 341 | Enrager_unique,sc/ui.sc,,Enrager,,,,4,,charge_end_damage,,35,60,,common,TID_SPEC_ABI_ENRAGER_1,,,,genicon_damage,,,, 342 | Enrager_unique_2,sc/ui.sc,,Enrager,,,,4,,self_heal_increase,,25,,,common,TID_SPEC_ABI_ENRAGER_2,,,,genicon_damage,,,, 343 | Enrager_SuperBoost,sc/ui.sc,icon_item_edgar_1,Enrager,,,,5,,accessory,Enrager_SuperBoost,1,20,,common,TID_ACCESSORY_ENRAGER_SUPER_BOOST,,,,genicon_health,,,, 344 | Ruffs_unlock,sc/ui.sc,,Ruffs,,,5,0,,unlock,,,,,epic,,,,,,,705,, 345 | Ruffs_hp,sc/ui.sc,health_icon,Ruffs,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 346 | Ruffs_abi,sc/ui.sc,attack_icon,Ruffs,,,,2,,skill,RuffsWeapon,,,,common,TID_RUFFS_WEAPON,TID_STAT_DAMAGE,,,genicon_damage,,,, 347 | Ruffs_ulti,sc/ui.sc,ulti_icon,Ruffs,,,,3,,skill,RuffsUlti,,,,common,TID_RUFFS_ULTI,TID_STAT_DAMAGE,,,genicon_damage,,,,true 348 | Ruffs_unique,sc/ui.sc,,Ruffs,,,,4,,supply_bomb,,1000,,,common,TID_SPEC_ABI_RUFFS_1,,,,genicon_damage,,,, 349 | Ruffs_unique_2,sc/ui.sc,,Ruffs,,,,4,,increase_team_health,,30,,,common,TID_SPEC_ABI_RUFFS_2,,,,genicon_damage,,,, 350 | Ruffs_Cover,sc/ui.sc,icon_item_ruffs_1,Ruffs,,,,5,,accessory,Ruffs_Cover,1,29,,common,TID_ACCESSORY_RUFFS_COVER,,,,genicon_health,,,, 351 | Rosa_BushControl,sc/ui.sc,icon_item_rosa_2,Rosa,,,,5,,accessory,Rosa_BushControl,24,3,,common,TID_ACCESSORY_ROSA_BUSH_CONTROL,,,,genicon_health,,,, 352 | SpawnerDude_ExtraPorter,sc/ui.sc,icon_item_spawner_2,SpawnerDude,,,,5,,accessory,SpawnerDude_ExtraPorter,0,,,common,TID_ACCESSORY_SPAWNER_DUDE_EXTRA_PORTER,,,,genicon_health,,,, 353 | DeadMariachi_Cleanse,sc/ui.sc,icon_item_poco_2,DeadMariachi,,,,5,,accessory,DeadMariachi_Cleanse,16,17,,common,TID_ACCESSORY_POCO_CLEANSE,,,,genicon_health,,,, 354 | HammerDude_Pull,sc/ui.sc,icon_item_frank_2,HammerDude,,,,5,,accessory,HammerDude_Pull,2,,,common,TID_ACCESSORY_FRANK_PULL,,,,genicon_health,,,, 355 | HookDude_Homing,sc/ui.sc,icon_item_gene_2,HookDude,,,,5,,accessory,HookDude_Homing,1,2,3,common,TID_ACCESSORY_GENE_HOMING,,,,genicon_health,,,, 356 | Controller_BounceBack,sc/ui.sc,icon_item_nani_2,Controller,,,,5,,accessory,Controller_BounceBack,1,20,,common,TID_ACCESSORY_CONTROLLER_BOUNCE_BACK,,,,genicon_health,,,, 357 | Driller_Proto,sc/ui.sc,icon_item_edgar_1,Driller,TRUE,TRUE,,5,,accessory,Driller_Proto,0,,,common,TID_ACCESSORY_PROTO,,,,genicon_health,,,, 358 | ClusterBombDude_Explosion,sc/ui.sc,icon_item_tick_2,ClusterBombDude,,,,5,,accessory,ClusterBombDude_Explosion,13,16,14,common,TID_ACCESSORY_TICK_EXPLOSION,,,,genicon_health,,,, 359 | BlackHole_Shadows,sc/ui.sc,icon_item_tara_2,BlackHole,,,,5,,accessory,BlackHole_Shadows,30,,,common,TID_ACCESSORY_TARA_SHADOWS,,,,genicon_health,,,, 360 | Baseball_Proto,sc/ui.sc,icon_item_edgar_1,Baseball,TRUE,TRUE,,5,,accessory,Baseball_Proto,0,,,common,TID_ACCESSORY_PROTO,,,,genicon_health,,,, 361 | Roller_unlock,sc/ui.sc,,Roller,,,,0,,unlock,,,,,common,,,,,,,112,, 362 | Roller_hp,sc/ui.sc,health_icon,Roller,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 363 | Roller_abi,sc/ui.sc,attack_icon,Roller,,,,2,,skill,RollerWeapon,,,,common,TID_ROLLER_WEAPON,TID_STAT_DAMAGE,,,genicon_damage,,,, 364 | Roller_ulti,sc/ui.sc,ulti_icon,Roller,,,,3,,skill,RollerUlti,,,,common,TID_ROLLER_ULTI,TID_STAT_DAMAGE,,,genicon_damage,,,, 365 | Roller_unique,sc/ui.sc,,Roller,,,,4,,increase_dodge_length,,5,,,common,TID_SPEC_ABI_ROLLER_1,,,,genicon_damage,,,, 366 | Roller_unique_2,sc/ui.sc,,Roller,,,,4,,heal_on_charge,,400,,,common,TID_SPEC_ABI_ROLLER_2,,,,genicon_damage,,,, 367 | Roller_Speed,sc/ui.sc,icon_item_stu_1,Roller,,,,5,,accessory,Roller_Speed,0,,,common,TID_ACCESSORY_ROLLER_SPEED,,,,genicon_health,,,, 368 | ElectroSniper_unlock,sc/ui.sc,,ElectroSniper,,,6,0,,unlock,,,,,epic,,,,,,,706,, 369 | ElectroSniper_hp,sc/ui.sc,health_icon,ElectroSniper,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 370 | ElectroSniper_abi,sc/ui.sc,attack_icon,ElectroSniper,,,,2,,skill,ElectroSniperWeapon,,,,common,TID_ELECTRO_SNIPER_WEAPON,TID_STAT_DAMAGE,,,genicon_damage,,,, 371 | ElectroSniper_ulti,sc/ui.sc,ulti_icon,ElectroSniper,,,,3,,skill,ElectroSniperUlti,,,,common,TID_ELECTRO_SNIPER_ULTI,TID_STAT_DAMAGE,,,genicon_damage,,,, 372 | ElectroSniper_unique,sc/ui.sc,icon_sp_belle_1,ElectroSniper,,,,4,,electro_shield,,20,20,,common,TID_SPEC_ABI_ELECTRO_SNIPER_1,,,,genicon_damage,,,, 373 | ElectroSniper_unique_2,sc/ui.sc,icon_sp_belle_2,ElectroSniper,,,,4,,ulti_reload_debuff,,1000,60,,common,TID_SPEC_ABI_ELECTRO_SNIPER_2,,,,genicon_damage,,,, 374 | ElectroSniper_Trap,sc/ui.sc,icon_item_belle_1,ElectroSniper,,,,5,,accessory,ElectroSniper_Trap,1,33,,common,TID_ACCESSORY_ELECTRO_SNIPER_TRAP,,,,genicon_health,,,, 375 | StickyBomb_unlock,sc/ui.sc,,StickyBomb,,,,0,,unlock,,,,,mega_epic,,,,,,,508,, 376 | StickyBomb_hp,sc/ui.sc,health_icon,StickyBomb,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 377 | StickyBomb_abi,sc/ui.sc,attack_icon,StickyBomb,,,,2,,skill,StickyBombWeapon,,,,common,TID_STICKY_BOMB_WEAPON,TID_STAT_DAMAGE,,,genicon_damage,,,, 378 | StickyBomb_ulti,sc/ui.sc,ulti_icon,StickyBomb,,,,3,,skill,StickyBombUlti,,,,common,TID_STICKY_BOMB_ULTI,TID_STAT_DAMAGE,,,genicon_damage,,,, 379 | StickyBomb_unique,sc/ui.sc,icon_sp_squeak_1,StickyBomb,,,,4,,target_count_damage,,10,,,common,TID_SPEC_ABI_STICKY_BOMB_1,,,,genicon_damage,,,, 380 | StickyBomb_unique_2,sc/ui.sc,icon_sp_squeak_2,StickyBomb,,,,4,,ulti_bomb_slow,,350,80,,common,TID_SPEC_ABI_STICKY_BOMB_2,,,,genicon_damage,,,, 381 | StickyBomb_Range,sc/ui.sc,icon_item_squeak_1,StickyBomb,,,,5,,accessory,StickyBomb_Range,32,,,common,TID_ACCESSORY_STICKY_BOMB_RANGE,,,,genicon_health,,,, 382 | 0e180ca50a75f08ec5d54eca19d214be61f76909,sc/ui.sc,,c40e04a2c11fef1c9e5ad740e344f6571f5e7d05,true,,,0,,unlock,,,,,common,,,,,,,101,, 383 | 8a99d481f6000c5257d09a5d1dcbc37e45e40def,sc/ui.sc,health_icon,c40e04a2c11fef1c9e5ad740e344f6571f5e7d05,true,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 384 | 5cfa70cbd7a23b3d451b311f052dde347657f32a,sc/ui.sc,attack_icon,c40e04a2c11fef1c9e5ad740e344f6571f5e7d05,true,,,2,,skill,ShotgunGirlWeapon,,,,common,TID_LONG_RANGE_SHOTGUN,TID_STAT_DAMAGE_PER_SHELL,,,genicon_damage,,,, 385 | ac0fe58137217b42178d63ce4404f48b1c6e9fb3,sc/ui.sc,ulti_icon,c40e04a2c11fef1c9e5ad740e344f6571f5e7d05,true,,,3,,skill,ShotgunGirlUlti,,,,common,TID_MEGA_BLASH_ULTI,TID_STAT_DAMAGE_PER_SHELL,,,genicon_damage,,,, 386 | 8da2c843cd0c17dd3f276e285051688c65df84ad,sc/ui.sc,,c40e04a2c11fef1c9e5ad740e344f6571f5e7d05,true,true,,4,,petrol_reload,,7,40,,common,TID_SPEC_SUPER_RANGE,,,,genicon_health,,,, 387 | dd2c290001dc0540fbd4548f5d9a6ce55793323b,sc/ui.sc,,c40e04a2c11fef1c9e5ad740e344f6571f5e7d05,true,true,,4,,petrol_reload,,7,40,,common,TID_SPEC_SUPER_RANGE,,,,genicon_health,,,, 388 | 99fe230d961782e3d9160f4b3235bebf410365bf,sc/ui.sc,icon_item_shelly_2,c40e04a2c11fef1c9e5ad740e344f6571f5e7d05,true,,,5,,accessory,ShotgunGirl_Focus,20,,,common,TID_ACCESSORY_SHELLY_FOCUS,,,,genicon_health,,,, 389 | RopeDude_unlock,sc/ui.sc,,RopeDude,,,7,0,,unlock,,,,,epic,,,,,,,707,, 390 | RopeDude_hp,sc/ui.sc,health_icon,RopeDude,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 391 | RopeDude_abi,sc/ui.sc,attack_icon,RopeDude,,,,2,,skill,RopeDudeWeapon,,,,common,TID_ROPE_DUDE_WEAPON,TID_STAT_DAMAGE,,,genicon_damage,,,, 392 | RopeDude_ulti,sc/ui.sc,ulti_icon,RopeDude,,,,3,,skill,RopeDudeUlti,,,,common,TID_ROPE_DUDE_ULTI,TID_STAT_DAMAGE,,,genicon_damage,,,, 393 | RopeDude_unique,sc/ui.sc,,RopeDude,,,,4,,min_stun,,10,,,common,TID_SPEC_ABI_ROPE_DUDE_1,,,,genicon_damage,,,, 394 | RopeDude_unique_2,sc/ui.sc,,RopeDude,,,,4,,super_charge_area,,1,,,common,TID_SPEC_ABI_ROPE_DUDE_2,,,,genicon_damage,,,, 395 | RopeDude_WeakUlti,sc/ui.sc,icon_item_buzz_1,RopeDude,,,,5,,accessory,RopeDude_WeakUlti,0,,,common,TID_ACCESSORY_ROPE_DUDE_WEAK_ULTI,,,,genicon_health,,,, 396 | AssaultShotgun_unlock,sc/ui.sc,,AssaultShotgun,,,,0,,unlock,,,,,epic,,,,,,,408,, 397 | AssaultShotgun_hp,sc/ui.sc,health_icon,AssaultShotgun,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 398 | AssaultShotgun_abi,sc/ui.sc,attack_icon,AssaultShotgun,,,,2,,skill,AssaultShotgunWeapon,,,,common,TID_ASSAULT_SHOTGUN_WEAPON,TID_STAT_DAMAGE,,,genicon_damage,,,, 399 | AssaultShotgun_ulti,sc/ui.sc,ulti_icon,AssaultShotgun,,,,3,,skill,AssaultShotgunUlti,,,,common,TID_ASSAULT_SHOTGUN_ULTI,TID_STAT_DAMAGE,,,genicon_damage,,,, 400 | AssaultShotgun_unique,sc/ui.sc,,AssaultShotgun,,,,4,,decrease_unload_time,,35,,,common,TID_SPEC_ABI_ASSAULT_SHOTGUN_1,,,,genicon_damage,,,, 401 | AssaultShotgun_unique_2,sc/ui.sc,,AssaultShotgun,,,,4,,heal_continuous,,10,40,,common,TID_SPEC_ABI_ASSAULT_SHOTGUN_2,,,,genicon_damage,,,, 402 | AssaultShotgun_Bomb,sc/ui.sc,icon_item_griff_1,AssaultShotgun,,,,5,,accessory,AssaultShotgun_Bomb,2,,,common,TID_ACCESSORY_ASSAULT_SHOTGUN_BOMB,,,,genicon_health,,,, 403 | IceDude_AreaFreeze,sc/ui.sc,icon_item_lou_2,IceDude,,,,5,,accessory,IceDude_AreaFreeze,1,,,common,TID_ACCESSORY_ICE_DUDE_AREA_FREEZE,,,,genicon_health,,,, 404 | Roller_MegaStunt,sc/ui.sc,icon_item_stu_2,Roller,,,,5,,accessory,Roller_MegaStunt,1,,,common,TID_ACCESSORY_ROLLER_MEGA_STUNT,,,,genicon_health,,,, 405 | Ruffs_AirStrike,sc/ui.sc,icon_item_ruffs_2,Ruffs,,,,5,,accessory,Ruffs_AirStrike,1,,,common,TID_ACCESSORY_RUFFS_AIR_STRIKE,,,,genicon_health,,,, 406 | Enrager_Protection,sc/ui.sc,icon_item_edgar_2,Enrager,,,,5,,accessory,Enrager_Protection,1,,,common,TID_ACCESSORY_ENRAGER_PROTECTION,,,,genicon_health,,,, 407 | MinigunDude_AmmoSink,sc/ui.sc,icon_item_pam_2,MinigunDude,,,,5,,accessory,MinigunDude_AmmoSink,1,2,,common,TID_ACCESSORY_MINIGUN_DUDE_AMMO_SINK,,,,genicon_health,,,, 408 | Sandstorm_StunSleep,sc/ui.sc,icon_item_sandy_2,Sandstorm,,,,5,,accessory,Sandstorm_StunSleep,25,,,common,TID_ACCESSORY_SANDSTORM_STUN_SLEEP,,,,genicon_health,,,, 409 | Cactus_Cover,sc/ui.sc,icon_item_spike_2,Cactus,,,,5,,accessory,Cactus_Cover,29,34,,common,TID_ACCESSORY_CACTUS_COVER,,,,genicon_health,,,, 410 | Blower_Stopper,sc/ui.sc,icon_item_gale_2,Blower,,,,5,,accessory,Blower_Stopper,1,,,common,TID_ACCESSORY_BLOWER_STOPPER,,,,genicon_health,,,, 411 | Ninja_InvisibleArea,sc/ui.sc,icon_item_leon_2,Ninja,,,,5,,accessory,Ninja_InvisibleArea,1,,,common,TID_ACCESSORY_NINJA_INVISIBLE_AREA,,,,genicon_health,,,, 412 | TrickshotDude_BounceHeal,sc/ui.sc,icon_item_ricochet_2,TrickshotDude,,,,5,,accessory,TrickshotDude_BounceHeal,1,,,common,TID_ACCESSORY_TRICKSHOT_DUDE_BOUNCE_HEAL,,,,genicon_health,,,, 413 | Knight_unlock,sc/ui.sc,,Knight,,,8,0,,unlock,,,,,epic,,,,,,,708,, 414 | Knight_hp,sc/ui.sc,health_icon,Knight,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 415 | Knight_abi,sc/ui.sc,attack_icon,Knight,,,,2,,skill,KnightWeapon,,,,common,TID_KNIGHT_WEAPON,TID_STAT_DAMAGE,,,genicon_damage,,,, 416 | Knight_ulti,sc/ui.sc,ulti_icon,Knight,,,,3,,skill,KnightUlti,,,,common,TID_KNIGHT_ULTI,TID_STAT_DAMAGE,,,genicon_damage,,,, 417 | Knight_unique,sc/ui.sc,,Knight,,,,4,,extra_rage,,200,,,common,TID_SPEC_ABI_KNIGHT_1,,,,genicon_damage,,,, 418 | Knight_unique_2,sc/ui.sc,,Knight,,,,4,,reload_from_rage,,30,,,common,TID_SPEC_ABI_KNIGHT_2,,,,genicon_damage,,,, 419 | Knight_Heal,sc/ui.sc,icon_item_ash_1,Knight,,,,5,,accessory,Knight_Heal,1,,,common,TID_ACCESSORY_KNIGHT_HEAL,,,,genicon_health,,,, 420 | MechaDude_unlock,sc/ui.sc,,MechaDude,,,,0,,unlock,,,,,legendary,,,,,,,606,, 421 | MechaDude_hp,sc/ui.sc,health_icon,MechaDude,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 422 | MechaDude_abi,sc/ui.sc,attack_icon,MechaDude,,,,2,,skill,MechaDudeWeapon,,,,common,TID_MECHA_DUDE_WEAPON,TID_STAT_DAMAGE,,,genicon_damage,,,, 423 | MechaDude_ulti,sc/ui.sc,ulti_icon,MechaDude,,,,3,,skill,MechaDudeUlti,,,,common,TID_MECHA_DUDE_ULTI,TID_STAT_DAMAGE,,,genicon_damage,,,, 424 | MechaDude_unique,sc/ui.sc,,MechaDude,,,,4,,downgrade_shield,,35,600,,common,TID_SPEC_ABI_MECHA_DUDE_1,,,,genicon_damage,,,, 425 | MechaDude_unique_2,sc/ui.sc,,MechaDude,,,,4,,mecha_explosion,,1,,,common,TID_SPEC_ABI_MECHA_DUDE_2,,,,genicon_damage,,,, 426 | MechaDude_Heal,sc/ui.sc,icon_item_meg_1,MechaDude,,,,5,,accessory,MechaDude_Heal,1,20,,common,TID_ACCESSORY_MECHA_DUDE_HEAL,,,,genicon_health,,,, 427 | MechaDudeBig_hp,sc/ui.sc,health_icon,MechaDudeBig,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 428 | MechaDudeBig_abi,sc/ui.sc,attack_icon,MechaDudeBig,,,,2,,skill,MechaDudeBigWeapon,,,,common,TID_MECHA_DUDE_BIG_WEAPON,TID_STAT_DAMAGE,,,genicon_damage,,,, 429 | MechaDudeBig_ulti,sc/ui.sc,ulti_icon,MechaDudeBig,,,,3,,skill,MechaDudeBigUlti,,,,common,TID_MECHA_DUDE_BIG_ULTI,TID_STAT_DAMAGE,,,genicon_damage,,,, 430 | Duplicator_unlock,sc/ui.sc,,Duplicator,,,9,0,,unlock,,,,,epic,,,,,,,709,, 431 | Duplicator_hp,sc/ui.sc,health_icon,Duplicator,,,,1,,hp,,,,,common,TID_ARMOR,TID_ARMOR_STAT,,,genicon_health,,,, 432 | Duplicator_abi,sc/ui.sc,attack_icon,Duplicator,,,,2,,skill,DuplicatorWeapon,,,,common,TID_DUPLICATOR_WEAPON,TID_STAT_DAMAGE,,,genicon_damage,,,, 433 | Duplicator_ulti,sc/ui.sc,ulti_icon,Duplicator,,,,3,,skill,DuplicatorUlti,,,,common,TID_DUPLICATOR_ULTI,TID_STAT_DAMAGE,,,genicon_damage,,,, 434 | Duplicator_unique,sc/ui.sc,,Duplicator,,,,4,,last_shot_damage,,66,30,,common,TID_SPEC_ABI_DUPLICATOR_1,,,,genicon_damage,,,, 435 | Duplicator_unique_2,sc/ui.sc,,Duplicator,,TRUE,,4,,pet_healing_bullets,,100,,,common,TID_SPEC_ABI_DUPLICATOR_2,,,,genicon_damage,,,, 436 | Duplicator_StaticDuplicate,sc/ui.sc,icon_item_lolla_1,Duplicator,,,,5,,accessory,Duplicator_StaticDuplicate,1,20,,common,TID_ACCESSORY_DUPLICATOR_GADGET,,,,genicon_health,,,, 437 | --------------------------------------------------------------------------------