GameTags added

This commit is contained in:
Michael Wain 2024-06-16 01:44:15 +03:00
parent 9ddfdb3aa0
commit d7f51cba32
26 changed files with 501 additions and 119 deletions

View File

@ -1,6 +1,6 @@
package com.alterdekim.hearthhack.component;
import com.alterdekim.hearthhack.config.DBFConfig;
import com.alterdekim.hearthhack.config.ObjectConfig;
import com.alterdekim.hearthhack.config.FS;
import com.alterdekim.hearthhack.config.ServerConfig;
import com.alterdekim.hearthhack.parser.CardsXmlParser;
@ -25,7 +25,7 @@ import java.util.Map;
public class StartupListener {
@Autowired
private DBFConfig dbfConfig;
private ObjectConfig dbfConfig;
@Autowired
private ServerConfig serverConfig;
@ -50,8 +50,7 @@ public class StartupListener {
if( !Path.of(serverConfig.getWorkDir() + File.separator + FS.dbfDir).toFile().exists() ) initDbf();
if( !Path.of(serverConfig.getWorkDir() + File.separator + FS.dataDir).toFile().exists() ) initXml();
dbfConfig.setCards(DBFParser.parseCards(serverConfig.getWorkDir() + File.separator + FS.dbfDir));
CardsXML xml = DBFParser.parse(serverConfig.getWorkDir() + File.separator + FS.dataDir + File.separator + "enUS.xml", CardsXML.class);
log.info("CardsXML: {}", xml);
dbfConfig.setCardsXML(DBFParser.parse(serverConfig.getWorkDir() + File.separator + FS.dataDir + File.separator + "enUS.xml", CardsXML.class));
} catch (Exception e) {
log.error(e.getMessage());
}

View File

@ -1,11 +1,9 @@
package com.alterdekim.hearthhack.component;
import com.alterdekim.hearthhack.component.processor.*;
import com.alterdekim.hearthhack.config.DBFConfig;
import com.alterdekim.hearthhack.config.ServerConfig;
import com.alterdekim.hearthhack.config.ObjectConfig;
import com.alterdekim.hearthhack.service.UserService;
import com.alterdekim.hearthhack.util.BattleNetPacket;
import com.alterdekim.hearthhack.util.Util;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
@ -32,7 +30,7 @@ public class TcpConnection extends Thread {
private final Map<Integer, Processor> processors;
@Getter
private final DBFConfig dbfConfig;
private final ObjectConfig dbfConfig;
@Getter
private final UserService userService;

View File

@ -2,7 +2,7 @@ package com.alterdekim.hearthhack.component;
import com.alterdekim.hearthhack.component.processor.Processor;
import com.alterdekim.hearthhack.config.DBFConfig;
import com.alterdekim.hearthhack.config.ObjectConfig;
import com.alterdekim.hearthhack.config.ServerConfig;
import com.alterdekim.hearthhack.reflect.ReflectionLoader;
import com.alterdekim.hearthhack.service.UserService;
@ -17,7 +17,6 @@ import javax.net.ssl.SSLSocket;
import java.io.IOException;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
@Slf4j
@Component
@ -29,7 +28,7 @@ public class TcpServer extends ReflectionLoader<Processor> {
private List<TcpConnection> connections;
@Autowired
private DBFConfig dbfConfig;
private ObjectConfig dbfConfig;
@Autowired
private ServerConfig serverConfig;

View File

@ -2,11 +2,7 @@ package com.alterdekim.hearthhack.component.processor.client.request.generic;
import com.alterdekim.Protocol;
import com.alterdekim.hearthhack.component.TcpConnection;
import com.alterdekim.hearthhack.config.DBFConfig;
import com.alterdekim.hearthhack.config.ServerConfig;
import com.alterdekim.hearthhack.service.IService;
import com.alterdekim.hearthhack.util.BattleNetPacket;
import com.alterdekim.hearthhack.util.GetAccountInfoRequest;
import static com.alterdekim.hearthhack.util.GameUtilities.generateEmptyNotification;
import static com.alterdekim.hearthhack.util.GetAccountInfoRequest.ACCOUNT_LICENSES;

View File

@ -2,12 +2,7 @@ package com.alterdekim.hearthhack.component.processor.client.request.generic;
import com.alterdekim.Protocol;
import com.alterdekim.hearthhack.component.TcpConnection;
import com.alterdekim.hearthhack.config.DBFConfig;
import com.alterdekim.hearthhack.config.ServerConfig;
import com.alterdekim.hearthhack.service.IService;
import com.alterdekim.hearthhack.util.BattleNetPacket;
import com.alterdekim.hearthhack.util.Util;
import lombok.AllArgsConstructor;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;

View File

@ -2,9 +2,6 @@ package com.alterdekim.hearthhack.component.processor.client.request.generic;
import com.alterdekim.Protocol;
import com.alterdekim.hearthhack.component.TcpConnection;
import com.alterdekim.hearthhack.config.DBFConfig;
import com.alterdekim.hearthhack.service.IService;
import com.alterdekim.hearthhack.service.UserService;
import com.alterdekim.hearthhack.util.BattleNetPacket;
import java.util.List;

View File

@ -2,13 +2,8 @@ package com.alterdekim.hearthhack.component.processor.client.request.generic;
import com.alterdekim.Protocol;
import com.alterdekim.hearthhack.component.TcpConnection;
import com.alterdekim.hearthhack.config.DBFConfig;
import com.alterdekim.hearthhack.config.ServerConfig;
import com.alterdekim.hearthhack.entity.CardBack;
import com.alterdekim.hearthhack.service.IService;
import com.alterdekim.hearthhack.service.UserService;
import com.alterdekim.hearthhack.util.BattleNetPacket;
import com.alterdekim.hearthhack.util.GetAccountInfoRequest;
import java.util.stream.Collectors;

View File

@ -2,17 +2,10 @@ package com.alterdekim.hearthhack.component.processor.client.request.generic;
import com.alterdekim.Protocol;
import com.alterdekim.hearthhack.component.TcpConnection;
import com.alterdekim.hearthhack.config.DBFConfig;
import com.alterdekim.hearthhack.config.ServerConfig;
import com.alterdekim.hearthhack.dbf.CardsDBF;
import com.alterdekim.hearthhack.dbf.DBFField;
import com.alterdekim.hearthhack.parser.DBFParser;
import com.alterdekim.hearthhack.service.IService;
import com.alterdekim.hearthhack.util.BattleNetPacket;
import com.alterdekim.hearthhack.util.GetAccountInfoRequest;
import com.alterdekim.hearthhack.util.Util;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;

View File

@ -2,11 +2,7 @@ package com.alterdekim.hearthhack.component.processor.client.request.generic;
import com.alterdekim.Protocol;
import com.alterdekim.hearthhack.component.TcpConnection;
import com.alterdekim.hearthhack.config.DBFConfig;
import com.alterdekim.hearthhack.config.ServerConfig;
import com.alterdekim.hearthhack.service.IService;
import com.alterdekim.hearthhack.util.BattleNetPacket;
import com.alterdekim.hearthhack.util.GetAccountInfoRequest;
import static com.alterdekim.hearthhack.util.GameUtilities.generateNotification;
import static com.alterdekim.hearthhack.util.GetAccountInfoRequest.CLIENT_OPTIONS;

View File

@ -2,12 +2,7 @@ package com.alterdekim.hearthhack.component.processor.client.request.generic;
import com.alterdekim.Protocol;
import com.alterdekim.hearthhack.component.TcpConnection;
import com.alterdekim.hearthhack.config.DBFConfig;
import com.alterdekim.hearthhack.config.ServerConfig;
import com.alterdekim.hearthhack.service.IService;
import com.alterdekim.hearthhack.service.UserService;
import com.alterdekim.hearthhack.util.BattleNetPacket;
import com.alterdekim.hearthhack.util.GetAccountInfoRequest;
import static com.alterdekim.hearthhack.util.GameUtilities.generateEmptyNotification;
import static com.alterdekim.hearthhack.util.GetAccountInfoRequest.COLLECTION;

View File

@ -2,12 +2,7 @@ package com.alterdekim.hearthhack.component.processor.client.request.generic;
import com.alterdekim.Protocol;
import com.alterdekim.hearthhack.component.TcpConnection;
import com.alterdekim.hearthhack.config.DBFConfig;
import com.alterdekim.hearthhack.config.ServerConfig;
import com.alterdekim.hearthhack.service.IService;
import com.alterdekim.hearthhack.service.UserService;
import com.alterdekim.hearthhack.util.BattleNetPacket;
import com.alterdekim.hearthhack.util.GetAccountInfoRequest;
import static com.alterdekim.hearthhack.util.GameUtilities.generateNotification;
import static com.alterdekim.hearthhack.util.GetAccountInfoRequest.DECK_LIST;

View File

@ -2,12 +2,7 @@ package com.alterdekim.hearthhack.component.processor.client.request.generic;
import com.alterdekim.Protocol;
import com.alterdekim.hearthhack.component.TcpConnection;
import com.alterdekim.hearthhack.config.DBFConfig;
import com.alterdekim.hearthhack.config.ServerConfig;
import com.alterdekim.hearthhack.service.IService;
import com.alterdekim.hearthhack.service.UserService;
import com.alterdekim.hearthhack.util.BattleNetPacket;
import com.alterdekim.hearthhack.util.GetAccountInfoRequest;
import static com.alterdekim.hearthhack.util.GameUtilities.generateNotification;
import static com.alterdekim.hearthhack.util.GetAccountInfoRequest.ARCANE_DUST_BALANCE;

View File

@ -2,12 +2,7 @@ package com.alterdekim.hearthhack.component.processor.client.request.generic;
import com.alterdekim.Protocol;
import com.alterdekim.hearthhack.component.TcpConnection;
import com.alterdekim.hearthhack.config.DBFConfig;
import com.alterdekim.hearthhack.config.ServerConfig;
import com.alterdekim.hearthhack.service.IService;
import com.alterdekim.hearthhack.service.UserService;
import com.alterdekim.hearthhack.util.BattleNetPacket;
import com.alterdekim.hearthhack.util.GetAccountInfoRequest;
import static com.alterdekim.hearthhack.util.GameUtilities.generateNotification;
import static com.alterdekim.hearthhack.util.GetAccountInfoRequest.FAVORITE_HEROES;

View File

@ -1,18 +1,9 @@
package com.alterdekim.hearthhack.component.processor.client.request.generic;
import com.alterdekim.Protocol;
import com.alterdekim.hearthhack.component.TcpConnection;
import com.alterdekim.hearthhack.config.DBFConfig;
import com.alterdekim.hearthhack.config.ServerConfig;
import com.alterdekim.hearthhack.reflect.AbstractParser;
import com.alterdekim.hearthhack.service.IService;
import com.alterdekim.hearthhack.util.BattleNetPacket;
import com.alterdekim.hearthhack.util.GetAccountInfoRequest;
import com.alterdekim.hearthhack.util.Util;
import lombok.NoArgsConstructor;
import static com.alterdekim.hearthhack.util.GameUtilities.generateNotification;
@NoArgsConstructor
public abstract class GenericParser implements AbstractParser {

View File

@ -2,12 +2,7 @@ package com.alterdekim.hearthhack.component.processor.client.request.generic;
import com.alterdekim.Protocol;
import com.alterdekim.hearthhack.component.TcpConnection;
import com.alterdekim.hearthhack.config.DBFConfig;
import com.alterdekim.hearthhack.config.ServerConfig;
import com.alterdekim.hearthhack.service.IService;
import com.alterdekim.hearthhack.service.UserService;
import com.alterdekim.hearthhack.util.BattleNetPacket;
import com.alterdekim.hearthhack.util.GetAccountInfoRequest;
import static com.alterdekim.hearthhack.util.GameUtilities.generateNotification;
import static com.alterdekim.hearthhack.util.GetAccountInfoRequest.GOLD_BALANCE;

View File

@ -2,12 +2,7 @@ package com.alterdekim.hearthhack.component.processor.client.request.generic;
import com.alterdekim.Protocol;
import com.alterdekim.hearthhack.component.TcpConnection;
import com.alterdekim.hearthhack.config.DBFConfig;
import com.alterdekim.hearthhack.config.ServerConfig;
import com.alterdekim.hearthhack.service.IService;
import com.alterdekim.hearthhack.service.UserService;
import com.alterdekim.hearthhack.util.BattleNetPacket;
import com.alterdekim.hearthhack.util.GetAccountInfoRequest;
import static com.alterdekim.hearthhack.util.GameUtilities.generateNotification;
import static com.alterdekim.hearthhack.util.GetAccountInfoRequest.HERO_XP;

View File

@ -2,12 +2,7 @@ package com.alterdekim.hearthhack.component.processor.client.request.generic;
import com.alterdekim.Protocol;
import com.alterdekim.hearthhack.component.TcpConnection;
import com.alterdekim.hearthhack.config.DBFConfig;
import com.alterdekim.hearthhack.config.ServerConfig;
import com.alterdekim.hearthhack.service.IService;
import com.alterdekim.hearthhack.service.UserService;
import com.alterdekim.hearthhack.util.BattleNetPacket;
import com.alterdekim.hearthhack.util.GetAccountInfoRequest;
import static com.alterdekim.hearthhack.util.GameUtilities.generateNotification;
import static com.alterdekim.hearthhack.util.GetAccountInfoRequest.MEDAL_INFO;

View File

@ -2,12 +2,7 @@ package com.alterdekim.hearthhack.component.processor.client.request.generic;
import com.alterdekim.Protocol;
import com.alterdekim.hearthhack.component.TcpConnection;
import com.alterdekim.hearthhack.config.DBFConfig;
import com.alterdekim.hearthhack.config.ServerConfig;
import com.alterdekim.hearthhack.service.IService;
import com.alterdekim.hearthhack.service.UserService;
import com.alterdekim.hearthhack.util.BattleNetPacket;
import com.alterdekim.hearthhack.util.GetAccountInfoRequest;
import static com.alterdekim.hearthhack.util.GameUtilities.generateNotification;
import static com.alterdekim.hearthhack.util.GetAccountInfoRequest.NOT_SO_MASSIVE_LOGIN;

View File

@ -2,12 +2,7 @@ package com.alterdekim.hearthhack.component.processor.client.request.generic;
import com.alterdekim.Protocol;
import com.alterdekim.hearthhack.component.TcpConnection;
import com.alterdekim.hearthhack.config.DBFConfig;
import com.alterdekim.hearthhack.config.ServerConfig;
import com.alterdekim.hearthhack.service.IService;
import com.alterdekim.hearthhack.service.UserService;
import com.alterdekim.hearthhack.util.BattleNetPacket;
import com.alterdekim.hearthhack.util.GetAccountInfoRequest;
import lombok.extern.slf4j.Slf4j;
import static com.alterdekim.hearthhack.util.GameUtilities.generateNotification;

View File

@ -2,12 +2,7 @@ package com.alterdekim.hearthhack.component.processor.client.request.generic;
import com.alterdekim.Protocol;
import com.alterdekim.hearthhack.component.TcpConnection;
import com.alterdekim.hearthhack.config.DBFConfig;
import com.alterdekim.hearthhack.config.ServerConfig;
import com.alterdekim.hearthhack.service.IService;
import com.alterdekim.hearthhack.service.UserService;
import com.alterdekim.hearthhack.util.BattleNetPacket;
import com.alterdekim.hearthhack.util.GetAccountInfoRequest;
import static com.alterdekim.hearthhack.util.GameUtilities.generateNotification;
import static com.alterdekim.hearthhack.util.GetAccountInfoRequest.PLAYER_RECORD;

View File

@ -2,18 +2,11 @@ package com.alterdekim.hearthhack.component.processor.client.request.generic;
import com.alterdekim.Protocol;
import com.alterdekim.hearthhack.component.TcpConnection;
import com.alterdekim.hearthhack.config.DBFConfig;
import com.alterdekim.hearthhack.config.ServerConfig;
import com.alterdekim.hearthhack.service.IService;
import com.alterdekim.hearthhack.service.UserService;
import com.alterdekim.hearthhack.util.BattleNetPacket;
import com.alterdekim.hearthhack.util.GetAccountInfoRequest;
import lombok.AllArgsConstructor;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import static com.alterdekim.hearthhack.util.GameUtilities.generateEmptyNotification;
import static com.alterdekim.hearthhack.util.GameUtilities.generateNotification;
import static com.alterdekim.hearthhack.util.GetAccountInfoRequest.NOTICES;

View File

@ -2,12 +2,7 @@ package com.alterdekim.hearthhack.component.processor.client.request.generic;
import com.alterdekim.Protocol;
import com.alterdekim.hearthhack.component.TcpConnection;
import com.alterdekim.hearthhack.config.DBFConfig;
import com.alterdekim.hearthhack.config.ServerConfig;
import com.alterdekim.hearthhack.service.IService;
import com.alterdekim.hearthhack.service.UserService;
import com.alterdekim.hearthhack.util.BattleNetPacket;
import com.alterdekim.hearthhack.util.GetAccountInfoRequest;
import static com.alterdekim.hearthhack.util.GameUtilities.generateNotification;
import static com.alterdekim.hearthhack.util.GetAccountInfoRequest.CAMPAIGN_INFO;

View File

@ -2,12 +2,7 @@ package com.alterdekim.hearthhack.component.processor.client.request.generic;
import com.alterdekim.Protocol;
import com.alterdekim.hearthhack.component.TcpConnection;
import com.alterdekim.hearthhack.config.DBFConfig;
import com.alterdekim.hearthhack.config.ServerConfig;
import com.alterdekim.hearthhack.service.IService;
import com.alterdekim.hearthhack.service.UserService;
import com.alterdekim.hearthhack.util.BattleNetPacket;
import com.alterdekim.hearthhack.util.GetAccountInfoRequest;
import static com.alterdekim.hearthhack.util.GameUtilities.generateNotification;
import static com.alterdekim.hearthhack.util.GetAccountInfoRequest.REWARD_PROGRESS;

View File

@ -1,12 +1,14 @@
package com.alterdekim.hearthhack.config;
import com.alterdekim.hearthhack.dbf.CardsDBF;
import com.alterdekim.hearthhack.xml.CardsXML;
import lombok.Data;
import org.springframework.context.annotation.Configuration;
@Data
@Configuration
public class DBFConfig {
public class ObjectConfig {
private CardsDBF cards;
private CardsXML cardsXML;
private String clientConfig;
}

View File

@ -1,8 +1,7 @@
package com.alterdekim.hearthhack.controller;
import com.alterdekim.hearthhack.config.DBFConfig;
import com.alterdekim.hearthhack.config.ObjectConfig;
import com.alterdekim.hearthhack.config.ServerConfig;
import com.alterdekim.hearthhack.entity.User;
import com.alterdekim.hearthhack.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@ -20,7 +19,7 @@ public class StaticController {
private final String base_title = " | Hearthhack";
@Autowired
private DBFConfig dbfConfig;
private ObjectConfig dbfConfig;
@Autowired
private UserService userService;

View File

@ -0,0 +1,489 @@
package com.alterdekim.hearthhack.game;
public enum GameTag {
// Token: 0x04000B83 RID: 2947
TAG_SCRIPT_DATA_ENT_1(4),
// Token: 0x04000B84 RID: 2948
TAG_SCRIPT_DATA_ENT_2(5),
// Token: 0x04000B85 RID: 2949
TAG_SCRIPT_DATA_NUM_1(2),
// Token: 0x04000B86 RID: 2950
TAG_SCRIPT_DATA_NUM_2(3),
// Token: 0x04000B87 RID: 2951
STATE(204),
// Token: 0x04000B88 RID: 2952
TURN(20),
// Token: 0x04000B89 RID: 2953
STEP(19),
// Token: 0x04000B8A RID: 2954
NEXT_STEP(198),
// Token: 0x04000B8B RID: 2955
TEAM_ID(31),
// Token: 0x04000B8C RID: 2956
PLAYER_ID(30),
// Token: 0x04000B8D RID: 2957
STARTHANDSIZE(29),
// Token: 0x04000B8E RID: 2958
MAXHANDSIZE(28),
// Token: 0x04000B8F RID: 2959
MAXRESOURCES(176),
// Token: 0x04000B90 RID: 2960
TIMEOUT(7),
// Token: 0x04000B91 RID: 2961
TURN_START(8),
// Token: 0x04000B92 RID: 2962
TURN_TIMER_SLUSH(9),
// Token: 0x04000B93 RID: 2963
HEROPOWER_ADDITIONAL_ACTIVATIONS(405),
// Token: 0x04000B94 RID: 2964
HEROPOWER_ACTIVATIONS_THIS_TURN(406),
// Token: 0x04000B95 RID: 2965
GOLD_REWARD_STATE(13),
// Token: 0x04000B96 RID: 2966
FIRST_PLAYER(24),
// Token: 0x04000B97 RID: 2967
CURRENT_PLAYER(23),
// Token: 0x04000B98 RID: 2968
HERO_ENTITY(27),
// Token: 0x04000B99 RID: 2969
RESOURCES(26),
// Token: 0x04000B9A RID: 2970
RESOURCES_USED(25),
// Token: 0x04000B9B RID: 2971
FATIGUE(22),
// Token: 0x04000B9C RID: 2972
PLAYSTATE(17),
// Token: 0x04000B9D RID: 2973
CURRENT_SPELLPOWER(291),
// Token: 0x04000B9E RID: 2974
MULLIGAN_STATE(305),
// Token: 0x04000B9F RID: 2975
HAND_REVEALED(348),
// Token: 0x04000BA0 RID: 2976
STEADY_SHOT_CAN_TARGET(383),
// Token: 0x04000BA1 RID: 2977
OVERLOAD_THIS_GAME(427),
// Token: 0x04000BA2 RID: 2978
SPELLS_COST_HEALTH(431),
// Token: 0x04000BA3 RID: 2979
PROXY_CTHUN(434),
// Token: 0x04000BA4 RID: 2980
CARDNAME(185),
// Token: 0x04000BA5 RID: 2981
CARDTEXT_INHAND(184),
// Token: 0x04000BA6 RID: 2982
CARDRACE(200),
// Token: 0x04000BA7 RID: 2983
CARDTYPE(202),
// Token: 0x04000BA8 RID: 2984
COST(48),
// Token: 0x04000BA9 RID: 2985
HEALTH(45),
// Token: 0x04000BAA RID: 2986
ATK(47),
// Token: 0x04000BAB RID: 2987
DURABILITY(187),
// Token: 0x04000BAC RID: 2988
ARMOR(292),
// Token: 0x04000BAD RID: 2989
PREDAMAGE(318),
// Token: 0x04000BAE RID: 2990
PREHEALING(425),
// Token: 0x04000BAF RID: 2991
TARGETING_ARROW_TEXT(325),
// Token: 0x04000BB0 RID: 2992
LAST_AFFECTED_BY(18),
// Token: 0x04000BB1 RID: 2993
ENCHANTMENT_BIRTH_VISUAL(330),
// Token: 0x04000BB2 RID: 2994
ENCHANTMENT_IDLE_VISUAL(331),
// Token: 0x04000BB3 RID: 2995
PREMIUM(12),
// Token: 0x04000BB4 RID: 2996
ENTITY_ID(53),
// Token: 0x04000BB5 RID: 2997
DEFINITION(52),
// Token: 0x04000BB6 RID: 2998
OWNER(51),
// Token: 0x04000BB7 RID: 2999
CONTROLLER(50),
// Token: 0x04000BB8 RID: 3000
ZONE(49),
// Token: 0x04000BB9 RID: 3001
EXHAUSTED(43),
// Token: 0x04000BBA RID: 3002
ATTACHED(40),
// Token: 0x04000BBB RID: 3003
PROPOSED_ATTACKER(39),
// Token: 0x04000BBC RID: 3004
ATTACKING(38),
// Token: 0x04000BBD RID: 3005
PROPOSED_DEFENDER(37),
// Token: 0x04000BBE RID: 3006
DEFENDING(36),
// Token: 0x04000BBF RID: 3007
PROTECTED(35),
// Token: 0x04000BC0 RID: 3008
PROTECTING(34),
// Token: 0x04000BC1 RID: 3009
RECENTLY_ARRIVED(33),
// Token: 0x04000BC2 RID: 3010
DAMAGE(44),
// Token: 0x04000BC3 RID: 3011
TRIGGER_VISUAL(32),
// Token: 0x04000BC4 RID: 3012
TAG_ONE_TURN_EFFECT(338),
// Token: 0x04000BC5 RID: 3013
TAUNT(190),
// Token: 0x04000BC6 RID: 3014
SPELLPOWER(192),
// Token: 0x04000BC7 RID: 3015
DIVINE_SHIELD(194),
// Token: 0x04000BC8 RID: 3016
CHARGE(197),
// Token: 0x04000BC9 RID: 3017
SECRET(219),
// Token: 0x04000BCA RID: 3018
MORPH(293),
// Token: 0x04000BCB RID: 3019
TAUNT_READY(306),
// Token: 0x04000BCC RID: 3020
STEALTH_READY(307),
// Token: 0x04000BCD RID: 3021
CHARGE_READY(308),
// Token: 0x04000BCE RID: 3022
CREATOR(313),
// Token: 0x04000BCF RID: 3023
CANT_DRAW(232),
// Token: 0x04000BD0 RID: 3024
CANT_PLAY(231),
// Token: 0x04000BD1 RID: 3025
CANT_DISCARD(230),
// Token: 0x04000BD2 RID: 3026
CANT_DESTROY(229),
// Token: 0x04000BD3 RID: 3027
CANT_TARGET(228),
// Token: 0x04000BD4 RID: 3028
CANT_ATTACK(227),
// Token: 0x04000BD5 RID: 3029
CANT_EXHAUST(226),
// Token: 0x04000BD6 RID: 3030
CANT_READY(225),
// Token: 0x04000BD7 RID: 3031
CANT_REMOVE_FROM_GAME(224),
// Token: 0x04000BD8 RID: 3032
CANT_SET_ASIDE(223),
// Token: 0x04000BD9 RID: 3033
CANT_DAMAGE(222),
// Token: 0x04000BDA RID: 3034
CANT_HEAL(221),
// Token: 0x04000BDB RID: 3035
CANT_BE_DESTROYED(247),
// Token: 0x04000BDC RID: 3036
CANT_BE_TARGETED(246),
// Token: 0x04000BDD RID: 3037
CANT_BE_ATTACKED(245),
// Token: 0x04000BDE RID: 3038
CANT_BE_EXHAUSTED(244),
// Token: 0x04000BDF RID: 3039
CANT_BE_READIED(243),
// Token: 0x04000BE0 RID: 3040
CANT_BE_REMOVED_FROM_GAME(242),
// Token: 0x04000BE1 RID: 3041
CANT_BE_SET_ASIDE(241),
// Token: 0x04000BE2 RID: 3042
CANT_BE_DAMAGED(240),
// Token: 0x04000BE3 RID: 3043
CANT_BE_HEALED(239),
// Token: 0x04000BE4 RID: 3044
CANT_BE_SUMMONING_SICK(253),
// Token: 0x04000BE5 RID: 3045
CANT_BE_DISPELLED(314),
// Token: 0x04000BE6 RID: 3046
APPEAR_FUNCTIONALLY_DEAD(426),
// Token: 0x04000BE7 RID: 3047
INCOMING_DAMAGE_CAP(238),
// Token: 0x04000BE8 RID: 3048
INCOMING_DAMAGE_ADJUSTMENT(237),
// Token: 0x04000BE9 RID: 3049
INCOMING_DAMAGE_MULTIPLIER(236),
// Token: 0x04000BEA RID: 3050
INCOMING_HEALING_CAP(235),
// Token: 0x04000BEB RID: 3051
INCOMING_HEALING_ADJUSTMENT(234),
// Token: 0x04000BEC RID: 3052
INCOMING_HEALING_MULTIPLIER(233),
// Token: 0x04000BED RID: 3053
FROZEN(260),
// Token: 0x04000BEE RID: 3054
JUST_PLAYED(261),
// Token: 0x04000BEF RID: 3055
LINKED_ENTITY(262),
// Token: 0x04000BF0 RID: 3056
ZONE_POSITION(263),
// Token: 0x04000BF1 RID: 3057
CANT_BE_FROZEN(264),
// Token: 0x04000BF2 RID: 3058
COMBO_ACTIVE(266),
// Token: 0x04000BF3 RID: 3059
CARD_TARGET(267),
// Token: 0x04000BF4 RID: 3060
NUM_CARDS_PLAYED_THIS_TURN(269),
// Token: 0x04000BF5 RID: 3061
CANT_BE_TARGETED_BY_OPPONENTS(270),
// Token: 0x04000BF6 RID: 3062
NUM_TURNS_IN_PLAY(271),
// Token: 0x04000BF7 RID: 3063
SUMMONED(205),
// Token: 0x04000BF8 RID: 3064
ENRAGED(212),
// Token: 0x04000BF9 RID: 3065
SILENCED(188),
// Token: 0x04000BFA RID: 3066
WINDFURY(189),
// Token: 0x04000BFB RID: 3067
LOYALTY(216),
// Token: 0x04000BFC RID: 3068
DEATHRATTLE(217),
// Token: 0x04000BFD RID: 3069
ADJACENT_BUFF(350),
// Token: 0x04000BFE RID: 3070
STEALTH(191),
// Token: 0x04000BFF RID: 3071
BATTLECRY(218),
// Token: 0x04000C00 RID: 3072
NUM_TURNS_LEFT(272),
// Token: 0x04000C01 RID: 3073
OUTGOING_DAMAGE_CAP(273),
// Token: 0x04000C02 RID: 3074
OUTGOING_DAMAGE_ADJUSTMENT(274),
// Token: 0x04000C03 RID: 3075
OUTGOING_DAMAGE_MULTIPLIER(275),
// Token: 0x04000C04 RID: 3076
OUTGOING_HEALING_CAP(276),
// Token: 0x04000C05 RID: 3077
OUTGOING_HEALING_ADJUSTMENT(277),
// Token: 0x04000C06 RID: 3078
OUTGOING_HEALING_MULTIPLIER(278),
// Token: 0x04000C07 RID: 3079
INCOMING_ABILITY_DAMAGE_ADJUSTMENT(279),
// Token: 0x04000C08 RID: 3080
INCOMING_COMBAT_DAMAGE_ADJUSTMENT(280),
// Token: 0x04000C09 RID: 3081
OUTGOING_ABILITY_DAMAGE_ADJUSTMENT(281),
// Token: 0x04000C0A RID: 3082
OUTGOING_COMBAT_DAMAGE_ADJUSTMENT(282),
// Token: 0x04000C0B RID: 3083
OUTGOING_ABILITY_DAMAGE_MULTIPLIER(283),
// Token: 0x04000C0C RID: 3084
OUTGOING_ABILITY_DAMAGE_CAP(284),
// Token: 0x04000C0D RID: 3085
INCOMING_ABILITY_DAMAGE_MULTIPLIER(285),
// Token: 0x04000C0E RID: 3086
INCOMING_ABILITY_DAMAGE_CAP(286),
// Token: 0x04000C0F RID: 3087
OUTGOING_COMBAT_DAMAGE_MULTIPLIER(287),
// Token: 0x04000C10 RID: 3088
OUTGOING_COMBAT_DAMAGE_CAP(288),
// Token: 0x04000C11 RID: 3089
INCOMING_COMBAT_DAMAGE_MULTIPLIER(289),
// Token: 0x04000C12 RID: 3090
INCOMING_COMBAT_DAMAGE_CAP(290),
// Token: 0x04000C13 RID: 3091
IS_MORPHED(294),
// Token: 0x04000C14 RID: 3092
TEMP_RESOURCES(295),
// Token: 0x04000C15 RID: 3093
OVERLOAD_OWED(296),
// Token: 0x04000C16 RID: 3094
NUM_ATTACKS_THIS_TURN(297),
// Token: 0x04000C17 RID: 3095
NEXT_ALLY_BUFF(302),
// Token: 0x04000C18 RID: 3096
MAGNET(303),
// Token: 0x04000C19 RID: 3097
FIRST_CARD_PLAYED_THIS_TURN(304),
// Token: 0x04000C1A RID: 3098
CARD_ID(186),
// Token: 0x04000C1B RID: 3099
CANT_BE_TARGETED_BY_ABILITIES(311),
// Token: 0x04000C1C RID: 3100
SHOULDEXITCOMBAT(312),
// Token: 0x04000C1D RID: 3101
PARENT_CARD(316),
// Token: 0x04000C1E RID: 3102
NUM_MINIONS_PLAYED_THIS_TURN(317),
// Token: 0x04000C1F RID: 3103
CANT_BE_TARGETED_BY_HERO_POWERS(332),
// Token: 0x04000C20 RID: 3104
CANT_BE_TARGETED_BY_BATTLECRIES(379),
// Token: 0x04000C21 RID: 3105
CANNOT_ATTACK_HEROES(413),
// Token: 0x04000C22 RID: 3106
COMBO(220),
// Token: 0x04000C23 RID: 3107
ELITE(114),
// Token: 0x04000C24 RID: 3108
CARD_SET(183),
// Token: 0x04000C25 RID: 3109
FACTION(201),
// Token: 0x04000C26 RID: 3110
RARITY(203),
// Token: 0x04000C27 RID: 3111
CLASS(199),
// Token: 0x04000C28 RID: 3112
MISSION_EVENT(6),
// Token: 0x04000C29 RID: 3113
FREEZE(208),
// Token: 0x04000C2A RID: 3114
OVERLOAD(215),
// Token: 0x04000C2B RID: 3115
SILENCE(339),
// Token: 0x04000C2C RID: 3116
COUNTER(340),
// Token: 0x04000C2D RID: 3117
ARTISTNAME(342),
// Token: 0x04000C2E RID: 3118
FLAVORTEXT(351),
// Token: 0x04000C2F RID: 3119
FORCED_PLAY(352),
// Token: 0x04000C30 RID: 3120
LOW_HEALTH_THRESHOLD(353),
// Token: 0x04000C31 RID: 3121
SPELLPOWER_DOUBLE(356),
// Token: 0x04000C32 RID: 3122
HEALING_DOUBLE(357),
// Token: 0x04000C33 RID: 3123
NUM_OPTIONS_PLAYED_THIS_TURN(358),
// Token: 0x04000C34 RID: 3124
TO_BE_DESTROYED(360),
// Token: 0x04000C35 RID: 3125
HEALTH_MINIMUM(337),
// Token: 0x04000C36 RID: 3126
AURA(362),
// Token: 0x04000C37 RID: 3127
POISONOUS(363),
// Token: 0x04000C38 RID: 3128
HOW_TO_EARN(364),
// Token: 0x04000C39 RID: 3129
HOW_TO_EARN_GOLDEN(365),
// Token: 0x04000C3A RID: 3130
HERO_POWER_DOUBLE(366),
// Token: 0x04000C3B RID: 3131
AI_MUST_PLAY(367),
// Token: 0x04000C3C RID: 3132
NUM_MINIONS_PLAYER_KILLED_THIS_TURN(368),
// Token: 0x04000C3D RID: 3133
NUM_MINIONS_KILLED_THIS_TURN(369),
// Token: 0x04000C3E RID: 3134
AFFECTED_BY_SPELL_POWER(370),
// Token: 0x04000C3F RID: 3135
EXTRA_DEATHRATTLES(371),
// Token: 0x04000C40 RID: 3136
START_WITH_1_HEALTH(372),
// Token: 0x04000C41 RID: 3137
IMMUNE_WHILE_ATTACKING(373),
// Token: 0x04000C42 RID: 3138
MULTIPLY_HERO_DAMAGE(374),
// Token: 0x04000C43 RID: 3139
MULTIPLY_BUFF_VALUE(375),
// Token: 0x04000C44 RID: 3140
CUSTOM_KEYWORD_EFFECT(376),
// Token: 0x04000C45 RID: 3141
TOPDECK(377),
// Token: 0x04000C46 RID: 3142
SHOWN_HERO_POWER(380),
// Token: 0x04000C47 RID: 3143
DEATHRATTLE_RETURN_ZONE(382),
// Token: 0x04000C48 RID: 3144
DISPLAYED_CREATOR(385),
// Token: 0x04000C49 RID: 3145
POWERED_UP(386),
// Token: 0x04000C4A RID: 3146
SPARE_PART(388),
// Token: 0x04000C4B RID: 3147
FORGETFUL(389),
// Token: 0x04000C4C RID: 3148
CAN_SUMMON_MAXPLUSONE_MINION(390),
// Token: 0x04000C4D RID: 3149
OBFUSCATED(391),
// Token: 0x04000C4E RID: 3150
BURNING(392),
// Token: 0x04000C4F RID: 3151
OVERLOAD_LOCKED(393),
// Token: 0x04000C50 RID: 3152
NUM_TIMES_HERO_POWER_USED_THIS_GAME(394),
// Token: 0x04000C51 RID: 3153
CURRENT_HEROPOWER_DAMAGE_BONUS(395),
// Token: 0x04000C52 RID: 3154
HEROPOWER_DAMAGE(396),
// Token: 0x04000C53 RID: 3155
LAST_CARD_PLAYED(397),
// Token: 0x04000C54 RID: 3156
NUM_FRIENDLY_MINIONS_THAT_DIED_THIS_TURN(398),
// Token: 0x04000C55 RID: 3157
NUM_CARDS_DRAWN_THIS_TURN(399),
// Token: 0x04000C56 RID: 3158
AI_ONE_SHOT_KILL(400),
// Token: 0x04000C57 RID: 3159
EVIL_GLOW(401),
// Token: 0x04000C58 RID: 3160
HIDE_COST(402),
// Token: 0x04000C59 RID: 3161
INSPIRE(403),
// Token: 0x04000C5A RID: 3162
RECEIVES_DOUBLE_SPELLDAMAGE_BONUS(404),
// Token: 0x04000C5B RID: 3163
REVEALED(410),
// Token: 0x04000C5C RID: 3164
NUM_FRIENDLY_MINIONS_THAT_DIED_THIS_GAME(412),
// Token: 0x04000C5D RID: 3165
LOCK_AND_LOAD(414),
// Token: 0x04000C5E RID: 3166
TREASURE(415),
// Token: 0x04000C5F RID: 3167
SHADOWFORM(416),
// Token: 0x04000C60 RID: 3168
HISTORY_PROXY(54),
// Token: 0x04000C61 RID: 3169
NUM_FRIENDLY_MINIONS_THAT_ATTACKED_THIS_TURN(417),
// Token: 0x04000C62 RID: 3170
COPY_DEATHRATTLE(55),
// Token: 0x04000C63 RID: 3171
NUM_RESOURCES_SPENT_THIS_GAME(418),
// Token: 0x04000C64 RID: 3172
CHOOSE_BOTH(419),
// Token: 0x04000C65 RID: 3173
ELECTRIC_CHARGE_LEVEL(420),
// Token: 0x04000C66 RID: 3174
HEAVILY_ARMORED(421),
// Token: 0x04000C67 RID: 3175
DONT_SHOW_IMMUNE(422),
// Token: 0x04000C68 RID: 3176
RITUAL(424),
// Token: 0x04000C69 RID: 3177
HISTORY_PROXY_NO_BIG_CARD(432),
// Token: 0x04000C6A RID: 3178
TRANSFORMED_FROM_CARD(435),
// Token: 0x04000C6B RID: 3179
CTHUN(436),
// Token: 0x04000C6C RID: 3180
CAST_RANDOM_SPELLS(437),
// Token: 0x04000C6D RID: 3181
SHIFTING(438),
// Token: 0x04000C6E RID: 3182
EMBRACE_THE_SHADOW(442),
// Token: 0x04000C6F RID: 3183
CHOOSE_ONE(443),
// Token: 0x04000C70 RID: 3184
EXTRA_ATTACKS_THIS_TURN(444),
// Token: 0x04000C71 RID: 3185
SEEN_CTHUN(445);
private final Integer value;
GameTag(Integer value) {
this.value = value;
}
}