Board index
Programs with AI or Rules Enforcement
Magic: The Gathering - Duels of the Planeswalkers
Documentation



DotP2013 LOL files decoded
Moderator: CCGHQ Admins
2 posts
• Page 1 of 1
DotP2013 LOL files decoded
by thefiremind » 23 Jun 2012, 10:17
Thanks to kevlahnota's advices found here, I decoded the LOL files inside the DotP2013 core. KEYWORDS.LOL is always empty so I'm not listing it.
COMPARTMENTIDS.LOL:
COMPARTMENTIDS.LOL:
- Code: Select all
COMPARTMENT_ID_DEFAULT_TARGET = 0
COMPARTMENT_ID_PARAM_TRIGGER_OBJECT = -1000
COMPARTMENT_ID_PARAM_TRIGGER_PLAYER = -1001
COMPARTMENT_ID_PARAM_SECONDARY_CARD = -1002
COMPARTMENT_ID_PARAM_SECONDARY_PLAYER = -1003
COMPARTMENT_ID_PARAM_AMOUNT = -1004
COMPARTMENT_ID_PARAM_FROM_ZONE = -1005
COMPARTMENT_ID_PARAM_TO_ZONE = -1006
COMPARTMENT_ID_COUNTER_TYPE = -1007
COMPARTMENT_ID_FILTERED_CARD = -1008
COMPARTMENT_ID_FILTERED_PLAYER = -1009
COMPARTMENT_ID_DAMAGE = -1010
COMPARTMENT_ID_EFFECT_SOURCE = -1011
COMPARTMENT_ID_STACK_OBJECT = -1012
COMPARTMENT_ID_MULTICHOICE_ANSWER = -1100
COMPARTMENT_ID_COLOUR_ANSWER = -1101
COMPARTMENT_ID_X = -1102
PLAYER_UTILITY_COMPARTMENT_ID_DISCARD_TARGET = 0
PLAYER_UTILITY_COMPARTMENT_ID_CHEAT_TUTOR_TARGET = -2000
PLAYER_UTILITY_COMPARTMENT_ID_PLAYER_DAMAGE_TAKEN_THIS_TURN = -2001
PLAYER_UTILITY_COMPARTMENT_ID_PLAYERS_CREATURES_DIED_THIS_TURN = -2002
DUEL_UTILITY_COMPARTMENT_ID_SPELLS_PLAYED_THIS_TURN = -3000
COMPARTMENT_ID_INT_REGISTER_0 = 1000
COMPARTMENT_ID_INT_REGISTER_1 = 1001
COMPARTMENT_ID_INT_REGISTER_2 = 1002
COMPARTMENT_ID_INT_REGISTER_3 = 1003
COMPARTMENT_ID_OBJ_REGISTER_0 = 2000
COMPARTMENT_ID_OBJ_REGISTER_1 = 2001
COMPARTMENT_ID_OBJ_REGISTER_2 = 2002
COMPARTMENT_ID_OBJ_REGISTER_3 = 2003
COMPARTMENT_ID_PLR_REGISTER_0 = 3000
COMPARTMENT_ID_PLR_REGISTER_1 = 3001
- Code: Select all
ZONE_NOWHERE_YET = 0
ZONE_ANYWHERE = 0
ZONE_IN_PLAY = 1
ZONE_REMOVED_FROM_GAME = 2
ZONE_PHASED_OUT = 3
ZONE_LIBRARY = 4
ZONE_GRAVEYARD = 5
ZONE_HAND = 6
ZONE_STACK = 7
ZONE_CEASED_TO_EXIST = 8
ZONE_COMMAND_SCHEME_DECK = 9
ZONE_COMMAND_SCHEME_ACTIVE = 10
ZONE_COMMAND_PLANE_DECK = 11
ZONE_COMMAND_PLANE_ACTIVE = 12
ZONE_COMMAND_GENERAL = 13
_ZONE_COUNT = 14
PHASE_BEGINNING = 0
PHASE_MAIN_1 = 1
PHASE_COMBAT = 2
PHASE_MAIN_2 = 3
PHASE_END = 4
_PHASE_COUNT = 5
STEP_UNTAP = 0
STEP_UPKEEP = 1
STEP_DRAW = 2
STEP_MAIN_1 = 3
STEP_BEGIN_COMBAT = 4
STEP_DECLARE_ATTACKERS = 5
STEP_DECLARE_BLOCKERS = 6
STEP_COMBAT_DAMAGE = 7
STEP_END_OF_COMBAT = 8
STEP_MAIN_2 = 9
STEP_END_OF_TURN = 10
STEP_CLEANUP = 11
_STEP_COUNT = 12
CHARACTERISTIC_DEATHTOUCH = 0
CHARACTERISTIC_DEFENDER = 1
CHARACTERISTIC_DOUBLE_STRIKE = 2
CHARACTERISTIC_FIRST_STRIKE = 3
CHARACTERISTIC_FLASH = 4
CHARACTERISTIC_FLYING = 5
CHARACTERISTIC_HASTE = 6
CHARACTERISTIC_HEXPROOF = 7
CHARACTERISTIC_INTIMIDATE = 8
CHARACTERISTIC_PLAINSWALK = 9
CHARACTERISTIC_ISLANDWALK = 10
CHARACTERISTIC_SWAMPWALK = 11
CHARACTERISTIC_MOUNTAINWALK = 12
CHARACTERISTIC_FORESTWALK = 13
CHARACTERISTIC_LIFELINK = 14
CHARACTERISTIC_REACH = 15
CHARACTERISTIC_SHROUD = 16
CHARACTERISTIC_TRAMPLE = 17
CHARACTERISTIC_VIGILANCE = 18
CHARACTERISTIC_FLANKING = 19
CHARACTERISTIC_PHASING = 20
CHARACTERISTIC_CHANGELING = 21
CHARACTERISTIC_SHADOW = 22
CHARACTERISTIC_FEAR = 23
CHARACTERISTIC_ANNIHILATOR = 24
CHARACTERISTIC_BATTLE_CRY = 25
CHARACTERISTIC_FADING = 26
CHARACTERISTIC_TOTEM_ARMOUR = 27
CHARACTERISTIC_INFECT = 28
CHARACTERISTIC_WITHER = 29
CHARACTERISTIC_INDESTRUCTIBLE = 30
CHARACTERISTIC_UNBLOCKABLE = 31
CHARACTERISTIC_MUST_ATTACK = 32
CHARACTERISTIC_MUST_ATTACK_EACH_TURN = 33
CHARACTERISTIC_MUST_BLOCK = 34
CHARACTERISTIC_CANT_ATTACK = 35
CHARACTERISTIC_CANT_BLOCK = 36
CHARACTERISTIC_CANNOT_ATTACK_ALONE = 37
CHARACTERISTIC_CANNOT_BLOCK_ALONE = 38
CHARACTERISTIC_MUST_BE_BLOCKED_IF_ABLE = 39
CHARACTERISTIC_ALL_CREATURES_MUST_BLOCK_THIS_IF_ABLE = 40
CHARACTERISTIC_CANT_BE_PLAYED = 41
CHARACTERISTIC_CANT_USE_ACTIVATED_ABILITIES = 42
CHARACTERISTIC_CANT_BE_COUNTERED = 43
CHARACTERISTIC_CANT_BE_REGENERATED = 44
CHARACTERISTIC_CANT_HAVE_COUNTERS = 45
CHARACTERISTIC_DOESNT_UNTAP = 46
CHARACTERISTIC_COMES_INTO_PLAY_TAPPED = 47
CHARACTERISTIC_DOESNT_DEAL_DAMAGE = 48
CHARACTERISTIC_DOESNT_DEAL_COMBAT_DAMAGE = 49
CHARACTERISTIC_DOESNT_RECEIVE_COMBAT_DAMAGE = 50
CHARACTERISTIC_USE_TOUGHNESS_FOR_COMBAT_DAMAGE = 51
CHARACTERISTIC_WORTHLESS = 52
_CHARACTERISTIC_COUNT = 53
PLAYER_CHARACTERISTIC_DOESNT_DIE_ON_ZERO_LIFE = 0
PLAYER_CHARACTERISTIC_CANT_LOSE = 1
PLAYER_CHARACTERISTIC_CANT_WIN = 2
PLAYER_CHARACTERISTIC_CANT_BE_TARGETTED = 3
PLAYER_CHARACTERISTIC_NO_HAND_LIMIT = 4
PLAYER_CHARACTERISTIC_PLAY_WITH_TOP_CARD_OF_LIBRARY_REVEALED = 5
PLAYER_CHARACTERISTIC_CANT_CAST_SPELLS = 6
PLAYER_CHARACTERISTIC_CANT_ATTACK = 7
PLAYER_CHARACTERISTIC_CANT_TAKE_COMBAT_DAMAGE = 8
PLAYER_CHARACTERISTIC_CANT_TAKE_NONCOMBAT_DAMAGE = 9
PLAYER_CHARACTERISTIC_CREATURES_CANT_TAKE_COMBAT_DAMAGE = 10
PLAYER_CHARACTERISTIC_CREATURES_CANT_TAKE_NONCOMBAT_DAMAGE = 11
PLAYER_CHARACTERISTIC_CREATURES_CANT_DEAL_COMBAT_DAMAGE = 12
PLAYER_CHARACTERISTIC_CREATURES_CANT_DEAL_NONCOMBAT_DAMAGE = 13
PLAYER_CHARACTERISTIC_CREATURES_CANT_BE_SACRIFICED = 14
PLAYER_CHARACTERISTIC_CAN_PLAY_TOP_CARD_OF_LIBRARY = 15
PLAYER_CHARACTERISTIC_PLAY_WITH_TOP_CARD_OF_LIBRARY_REVEALED_TO_ME = 16
PLAYER_CHARACTERISTIC_HAS_HEXPROOF = 17
PLAYER_CHARACTERISTIC_HAS_SHROUD = 18
PLAYER_CHARACTERISTIC_CANT_BE_ATTACKED = 19
PLAYER_CHARACTERISTIC_AI_WORSHIP_HACK = 20
_PLAYER_CHARACTERISTIC_COUNT = 21
PLAYER_INTCHARACTERISTIC_EXTRA_LAND_DROPS = 0
_PLAYER_INTCHARACTERISTIC_COUNT = 1
PLAYER_BADGE_ICON_CHOSEN_PLAYER = 0
PLAYER_BADGE_ICON_FOG = 1
PLAYER_BADGE_ICON_PREVENTION = 2
PLAYER_BADGE_ICON_REPLACEMENT_REDIRECTION = 3
PLAYER_BADGE_ICON_TIME_DISTORTION = 4
_PLAYER_BADGE_ICON_COUNT = 5
DUEL_CHARACTERISTIC_MAX_ONE_ATTACKER = 0
DUEL_CHARACTERISTIC_MAX_ONE_BLOCKER = 1
_DUEL_CHARACTERISTIC_COUNT = 2
PARENT_CHILD_NONE = 0
PARENT_CHILD_ATTACHED = 1
PARENT_CHILD_OTHER = 2
COLOUR_COLOURLESS = 0
COLOUR_WHITE = 1
COLOUR_BLUE = 2
COLOUR_BLACK = 3
COLOUR_RED = 4
COLOUR_GREEN = 5
COLOUR_X = 6
COLOUR_SNOW = 7
_COLOUR_COUNT = 8
CARD_TYPE_ARTIFACT = 0
CARD_TYPE_CREATURE = 1
CARD_TYPE_ENCHANTMENT = 2
CARD_TYPE_INSTANT = 3
CARD_TYPE_LAND = 4
CARD_TYPE_PLANESWALKER = 5
CARD_TYPE_SORCERY = 6
CARD_TYPE_TRIBAL = 7
CARD_TYPE_SCHEME = 8
CARD_TYPE_PLANE = 9
CARD_TYPE_PHENOMENON = 10
SUPERTYPE_BASIC = 0
SUPERTYPE_LEGENDARY = 1
SUPERTYPE_WORLD = 2
SUPERTYPE_SNOW = 3
SUPERTYPE_ONGOING = 4
SIZE_OF_TYPE_BAND = 1000
SUBTYPE_NONE = -1
ARTIFACT_TYPES = SIZE_OF_TYPE_BAND * CARD_TYPE_ARTIFACT
ARTIFACT_TYPE_CONTRAPTION = ARTIFACT_TYPES
ARTIFACT_TYPE_EQUIPMENT = ARTIFACT_TYPE_CONTRAPTION + 1
ARTIFACT_TYPE_FORTIFICATION = ARTIFACT_TYPE_EQUIPMENT + 1
ENCHANTMENT_TYPES = SIZE_OF_TYPE_BAND * CARD_TYPE_ENCHANTMENT
ENCHANTMENT_TYPE_AURA = ENCHANTMENT_TYPES
ENCHANTMENT_TYPE_SHRINE = ENCHANTMENT_TYPE_AURA + 1
ENCHANTMENT_TYPE_CURSE = ENCHANTMENT_TYPE_SHRINE + 1
SPELL_TYPES = SIZE_OF_TYPE_BAND * CARD_TYPE_INSTANT
LAND_TYPES = SIZE_OF_TYPE_BAND * CARD_TYPE_LAND
LAND_TYPE_DESERT = LAND_TYPES
LAND_TYPE_FOREST = LAND_TYPE_DESERT + 1
LAND_TYPE_ISLAND = LAND_TYPE_FOREST + 1
LAND_TYPE_LAIR = LAND_TYPE_ISLAND + 1
LAND_TYPE_LOCUS = LAND_TYPE_LAIR + 1
LAND_TYPE_MINE = LAND_TYPE_LOCUS + 1
LAND_TYPE_MOUNTAIN = LAND_TYPE_MINE + 1
LAND_TYPE_PLAINS = LAND_TYPE_MOUNTAIN + 1
LAND_TYPE_POWER_PLANT = LAND_TYPE_PLAINS + 1
LAND_TYPE_SWAMP = LAND_TYPE_POWER_PLANT + 1
LAND_TYPE_TOWER = LAND_TYPE_SWAMP + 1
LAND_TYPE_URZAS = LAND_TYPE_TOWER + 1
PLANESWALKER_TYPES = SIZE_OF_TYPE_BAND * CARD_TYPE_PLANESWALKER
CREATURE_TYPES = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE
EVASION_INDEX_COLOURLESS = 1
EVASION_INDEX_RED = 2
EVASION_INDEX_GREEN = 4
EVASION_INDEX_BLACK = 8
EVASION_INDEX_BLUE = 16
EVASION_INDEX_WHITE = 32
EVASION_INDEX_X = 64
EVASION_INDEX_SNOW = 128
EVASION_INDEX_MULTICOLOURED = 256
EVASION_INDEX_ARTIFACT = 512
EVASION_INDEX_LEGEND = 1024
EVASION_INDEX_FLYING = 16777216
EVASION_INDEX_SHADOW = 33554432
EVASION_INDEX_UNBLOCKABLE = 67108864
SPECIAL_EFFECT_FLYING = 0
FILTER_TYPE_CARDS = 1
FILTER_TYPE_PLAYERS = 16
FILTER_TYPE_OPPONENTS = 32
FILTER_TYPE_ALL = 4294967295
SUBJECT_NONE = 0
SUBJECT_OBJECT = 1
SUBJECT_PLAYER = 2
SUBJECT_WORLD = 3
FILTER_EXTRA_CREATURE_ATTACKING = 1
FILTER_EXTRA_CREATURE_BLOCKING = 2
FILTER_EXTRA_CREATURE_TAPPED = 4
FILTER_EXTRA_CREATURE_UNTAPPED = 8
FILTER_EXTRA_IS_TOKEN = 16
FILTER_EXTRA_NOT_TOKEN = 32
FILTER_EXTRA_FLIP_CARD_TYPES = 65536
FILTER_EXTRA_FLIP_SECOND_CARD_TYPES = 32768
FILTER_EXTRA_FLIP_SUB_TYPES = 131072
FILTER_EXTRA_FLIP_SUPER_TYPES = 262144
FILTER_EXTRA_FLIP_PLAYER = 524288
FILTER_EXTRA_FLIP_ZONE = 1048576
FILTER_EXTRA_FLIP_COLOUR = 2097152
FILTER_EXTRA_FLIP_CARD_REF = 4194304
FILTER_EXTRA_FLIP_CARD_INSTANCE = 8388608
FILTER_EXTRA_ANY_SUPER_TYPE = 16777216
FILTER_EXTRA_ANY_SUB_TYPE = 33554432
FILTER_EXTRA_FLIP_TEAM = 67108864
FILTER_EXTRA_FLIP_NAMES = 134217728
FILTER_EXTRA_FLIP_CHARACTERISTICS = 268435456
FILTER_EXTRA_FLIP_PLAYER_INSTANCE = 536870912
FILTER_EXTRA_FLIP_COUNTER_TYPE = 1073741824
CREATURE_TYPE_HUMAN = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 0
CREATURE_TYPE_ADVISOR = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 1
CREATURE_TYPE_ANEMONE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 2
CREATURE_TYPE_ANGEL = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 3
CREATURE_TYPE_ANTEATER = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 4
CREATURE_TYPE_ANTELOPE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 5
CREATURE_TYPE_APE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 6
CREATURE_TYPE_ARCHER = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 7
CREATURE_TYPE_ARCHON = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 8
CREATURE_TYPE_ARTIFICER = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 9
CREATURE_TYPE_ASSASSIN = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 10
CREATURE_TYPE_ASSEMBLY_WORKER = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 11
CREATURE_TYPE_ATOG = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 12
CREATURE_TYPE_AUROCHS = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 13
CREATURE_TYPE_AVATAR = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 14
CREATURE_TYPE_BADGER = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 15
CREATURE_TYPE_BARBARIAN = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 16
CREATURE_TYPE_BASILISK = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 17
CREATURE_TYPE_BAT = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 18
CREATURE_TYPE_BEAR = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 19
CREATURE_TYPE_BEAST = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 20
CREATURE_TYPE_BEEBLE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 21
CREATURE_TYPE_BERSERKER = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 22
CREATURE_TYPE_BIRD = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 23
CREATURE_TYPE_BLINKMOTH = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 24
CREATURE_TYPE_BOAR = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 25
CREATURE_TYPE_BRINGER = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 26
CREATURE_TYPE_BRUSHWAGG = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 27
CREATURE_TYPE_CAMARID = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 28
CREATURE_TYPE_CAMEL = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 29
CREATURE_TYPE_CARIBOU = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 30
CREATURE_TYPE_CARRIER = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 31
CREATURE_TYPE_CAT = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 32
CREATURE_TYPE_CENTAUR = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 33
CREATURE_TYPE_CEPHALID = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 34
CREATURE_TYPE_CHIMERA = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 35
CREATURE_TYPE_CITIZEN = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 36
CREATURE_TYPE_CLERIC = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 37
CREATURE_TYPE_COCKATRICE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 38
CREATURE_TYPE_CONSTRUCT = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 39
CREATURE_TYPE_COWARD = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 40
CREATURE_TYPE_CRAB = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 41
CREATURE_TYPE_CROCODILE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 42
CREATURE_TYPE_CYCLOPS = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 43
CREATURE_TYPE_DAUTHI = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 44
CREATURE_TYPE_DEMON = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 45
CREATURE_TYPE_DESERTER = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 46
CREATURE_TYPE_DEVIL = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 47
CREATURE_TYPE_DJINN = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 48
CREATURE_TYPE_DRAGON = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 49
CREATURE_TYPE_DRAKE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 50
CREATURE_TYPE_DREADNOUGHT = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 51
CREATURE_TYPE_DRONE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 52
CREATURE_TYPE_DRUID = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 53
CREATURE_TYPE_DRYAD = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 54
CREATURE_TYPE_DWARF = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 55
CREATURE_TYPE_EFREET = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 56
CREATURE_TYPE_EGG = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 57
CREATURE_TYPE_ELDER = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 58
CREATURE_TYPE_ELEMENTAL = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 59
CREATURE_TYPE_ELEPHANT = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 60
CREATURE_TYPE_ELF = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 61
CREATURE_TYPE_ELK = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 62
CREATURE_TYPE_EYE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 63
CREATURE_TYPE_FAERIE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 64
CREATURE_TYPE_FERRET = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 65
CREATURE_TYPE_FISH = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 66
CREATURE_TYPE_FLAGBEARER = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 67
CREATURE_TYPE_FOX = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 68
CREATURE_TYPE_FROG = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 69
CREATURE_TYPE_FUNGUS = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 70
CREATURE_TYPE_GARGOYLE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 71
CREATURE_TYPE_GIANT = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 72
CREATURE_TYPE_GNOME = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 73
CREATURE_TYPE_GOAT = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 74
CREATURE_TYPE_GOBLIN = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 75
CREATURE_TYPE_GOLEM = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 76
CREATURE_TYPE_GORGON = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 77
CREATURE_TYPE_GRAVEBORN = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 78
CREATURE_TYPE_GREMLIN = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 79
CREATURE_TYPE_GRIFFIN = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 80
CREATURE_TYPE_HAG = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 81
CREATURE_TYPE_HARPY = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 82
CREATURE_TYPE_HELLION = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 83
CREATURE_TYPE_HIPPO = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 84
CREATURE_TYPE_HOMARID = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 85
CREATURE_TYPE_HOMUNCULUS = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 86
CREATURE_TYPE_HORROR = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 87
CREATURE_TYPE_HORSE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 88
CREATURE_TYPE_HOUND = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 89
CREATURE_TYPE_HYDRA = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 90
CREATURE_TYPE_ILLUSION = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 91
CREATURE_TYPE_IMP = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 92
CREATURE_TYPE_INCARNATION = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 93
CREATURE_TYPE_INSECT = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 94
CREATURE_TYPE_JELLYFISH = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 95
CREATURE_TYPE_JUGGERNAUT = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 96
CREATURE_TYPE_KAVU = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 97
CREATURE_TYPE_KIRIN = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 98
CREATURE_TYPE_KITHKIN = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 99
CREATURE_TYPE_KNIGHT = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 100
CREATURE_TYPE_KOBOLD = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 101
CREATURE_TYPE_KOR = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 102
CREATURE_TYPE_KRAKEN = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 103
CREATURE_TYPE_LAMMASU = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 104
CREATURE_TYPE_LEECH = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 105
CREATURE_TYPE_LEVIATHAN = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 106
CREATURE_TYPE_LHURGOYF = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 107
CREATURE_TYPE_LICID = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 108
CREATURE_TYPE_LIZARD = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 109
CREATURE_TYPE_MANTICORE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 110
CREATURE_TYPE_MASTICORE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 111
CREATURE_TYPE_MERCENARY = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 112
CREATURE_TYPE_MERFOLK = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 113
CREATURE_TYPE_METATHRAN = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 114
CREATURE_TYPE_MINION = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 115
CREATURE_TYPE_MINOTAUR = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 116
CREATURE_TYPE_MONGER = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 117
CREATURE_TYPE_MONGOOSE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 118
CREATURE_TYPE_MONK = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 119
CREATURE_TYPE_MOONFOLK = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 120
CREATURE_TYPE_MUTANT = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 121
CREATURE_TYPE_MYR = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 122
CREATURE_TYPE_MYSTIC = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 123
CREATURE_TYPE_NAUTILUS = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 124
CREATURE_TYPE_NEPHILIM = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 125
CREATURE_TYPE_NIGHTMARE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 126
CREATURE_TYPE_NIGHTSTALKER = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 127
CREATURE_TYPE_NINJA = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 128
CREATURE_TYPE_NOMAD = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 129
CREATURE_TYPE_OCTOPUS = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 130
CREATURE_TYPE_OGRE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 131
CREATURE_TYPE_OOZE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 132
CREATURE_TYPE_ORB = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 133
CREATURE_TYPE_ORC = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 134
CREATURE_TYPE_ORGG = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 135
CREATURE_TYPE_OUPHE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 136
CREATURE_TYPE_OX = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 137
CREATURE_TYPE_OYSTER = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 138
CREATURE_TYPE_PEGASUS = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 139
CREATURE_TYPE_PENTAVITE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 140
CREATURE_TYPE_PEST = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 141
CREATURE_TYPE_PHELDDAGRIF = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 142
CREATURE_TYPE_PHOENIX = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 143
CREATURE_TYPE_PINCHER = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 144
CREATURE_TYPE_PIRATE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 145
CREATURE_TYPE_PLANT = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 146
CREATURE_TYPE_PRISM = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 147
CREATURE_TYPE_RABBIT = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 148
CREATURE_TYPE_RAT = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 149
CREATURE_TYPE_REBEL = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 150
CREATURE_TYPE_REFLECTION = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 151
CREATURE_TYPE_RHINO = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 152
CREATURE_TYPE_RIGGER = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 153
CREATURE_TYPE_ROGUE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 154
CREATURE_TYPE_SALAMANDER = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 155
CREATURE_TYPE_SAMURAI = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 156
CREATURE_TYPE_SAND = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 157
CREATURE_TYPE_SAPROLING = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 158
CREATURE_TYPE_SATYR = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 159
CREATURE_TYPE_SCARECROW = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 160
CREATURE_TYPE_SCORPION = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 161
CREATURE_TYPE_SCOUT = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 162
CREATURE_TYPE_SERF = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 163
CREATURE_TYPE_SERPENT = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 164
CREATURE_TYPE_SHADE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 165
CREATURE_TYPE_SHAMAN = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 166
CREATURE_TYPE_SHAPESHIFTER = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 167
CREATURE_TYPE_SHEEP = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 168
CREATURE_TYPE_SKELETON = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 169
CREATURE_TYPE_SLITH = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 170
CREATURE_TYPE_SLIVER = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 171
CREATURE_TYPE_SLUG = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 172
CREATURE_TYPE_SNAKE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 173
CREATURE_TYPE_SOLDIER = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 174
CREATURE_TYPE_SOLTARI = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 175
CREATURE_TYPE_SPAWN = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 176
CREATURE_TYPE_SPECTER = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 177
CREATURE_TYPE_SPELLSHAPER = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 178
CREATURE_TYPE_SPHINX = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 179
CREATURE_TYPE_SPIDER = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 180
CREATURE_TYPE_SPIKE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 181
CREATURE_TYPE_SPIRIT = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 182
CREATURE_TYPE_SPLINTER = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 183
CREATURE_TYPE_SPONGE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 184
CREATURE_TYPE_SQUID = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 185
CREATURE_TYPE_SQUIRREL = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 186
CREATURE_TYPE_STARFISH = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 187
CREATURE_TYPE_SURVIVOR = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 188
CREATURE_TYPE_TETRAVITE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 189
CREATURE_TYPE_THALAKOS = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 190
CREATURE_TYPE_THOPTER = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 191
CREATURE_TYPE_THRULL = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 192
CREATURE_TYPE_TREEFOLK = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 193
CREATURE_TYPE_TRISKELAVITE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 194
CREATURE_TYPE_TROLL = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 195
CREATURE_TYPE_TURTLE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 196
CREATURE_TYPE_UNICORN = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 197
CREATURE_TYPE_VAMPIRE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 198
CREATURE_TYPE_VEDALKEN = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 199
CREATURE_TYPE_VIASHINO = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 200
CREATURE_TYPE_VOLVER = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 201
CREATURE_TYPE_WALL = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 202
CREATURE_TYPE_WARRIOR = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 203
CREATURE_TYPE_WEIRD = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 204
CREATURE_TYPE_WHALE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 205
CREATURE_TYPE_WIZARD = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 206
CREATURE_TYPE_WOLF = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 207
CREATURE_TYPE_WOLVERINE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 208
CREATURE_TYPE_WOMBAT = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 209
CREATURE_TYPE_WORM = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 210
CREATURE_TYPE_WRAITH = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 211
CREATURE_TYPE_WURM = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 212
CREATURE_TYPE_YETI = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 213
CREATURE_TYPE_ZOMBIE = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 214
CREATURE_TYPE_ZUBERA = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 215
CREATURE_TYPE_ALLY = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 216
CREATURE_TYPE_TRAP = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 217
CREATURE_TYPE_ELDRAZI = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 218
CREATURE_TYPE_PRAETOR = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 219
CREATURE_TYPE_WEREWOLF = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 220
TRIGGER_BEGINNING_OF_STEP = 0
TRIGGER_END_OF_STEP = 1
TRIGGER_BEGINNING_OF_TURN = 2
TRIGGER_END_OF_TURN = 3
TRIGGER_ATTACKERS_DECLARED = 4
TRIGGER_BLOCKERS_DECLARED = 5
TRIGGER_COMBAT_DAMAGE_PUSHED = 6
TRIGGER_ACTIVATED_ABILITY_PLAYED = 7
TRIGGER_CREATURE_TOOK_DAMAGE = 8
TRIGGER_PLAYER_TOOK_DAMAGE = 9
TRIGGER_PLAYER_LOST_LIFE = 10
TRIGGER_PLAYER_GAINED_LIFE = 11
TRIGGER_PLAYER_LIFE_CHANGED = 12
TRIGGER_ATTACKING_AND_ISNT_BLOCKED = 13
TRIGGER_ATTACKING = 14
TRIGGER_AURA_ATTACHED = 15
TRIGGER_EQUIPMENT_ATTACHED = 16
TRIGGER_ATTACKING_ALONE = 17
TRIGGER_BECAME_TAPPED = 18
TRIGGER_BECAME_TAPPED_FOR_MANA = 19
TRIGGER_BECAME_TARGET = 20
TRIGGER_BECAME_UNTAPPED = 21
TRIGGER_BLOCKING = 22
TRIGGER_CHAMPIONED = 23
TRIGGER_CLASH = 24
TRIGGER_CONTROLLER_CHANGED = 25
TRIGGER_COUNTERS_CHANGED = 26
TRIGGER_CYCLED = 27
TRIGGER_CREATURE_DEALS_COMBAT_DAMAGE = 28
TRIGGER_CREATURE_DEALS_COMBAT_DAMAGE_TO_PLAYER = 29
TRIGGER_DESTROYED = 30
TRIGGER_DISCARD = 31
TRIGGER_DREW_CARD = 32
TRIGGER_KICKER_PAID = 33
TRIGGER_LOST_CLASH = 34
TRIGGER_PAY_CUMULATIVE_UPKEEP = 35
TRIGGER_PAY_ECHO = 36
TRIGGER_SPELL_OR_ABILITY_CAUSED_SHUFFLE = 37
TRIGGER_STATE_BASED_EFFECTS = 38
TRIGGER_TARGETS_CHOSEN = 39
TRIGGER_TURNED_FACE_UP = 40
TRIGGER_UNATTACHED_FROM_CREATURE = 41
TRIGGER_WAS_BLOCKED_BY = 42
TRIGGER_WON_CLASH = 43
TRIGGER_ZONECHANGE_CONSIDERED = 44
TRIGGER_ZONECHANGE_BEGIN = 45
TRIGGER_ZONECHANGE_TRANSITION = 46
TRIGGER_ZONECHANGE_END = 47
TRIGGER_SACRIFICE = 48
TRIGGER_SPELL_PLAYED = 49
TRIGGER_SPELL_RESOLVED = 50
TRIGGER_ABILITY_PLAYED = 51
TRIGGER_ABILITY_RESOLVED = 52
TRIGGER_LAND_PLAYED = 53
TRIGGER_WAS_BLOCKED = 54
TRIGGER_CARD_CONSIDERED_FOR_TARGETTING = 55
TRIGGER_PLAYER_CONSIDERED_FOR_TARGETTING = 56
TRIGGER_SPELL_BEING_COUNTERED = 57
TRIGGER_CREATURE_DEALS_COMBAT_DAMAGE_TO_CREATURE = 58
TRIGGER_STACK_PUSHED = 59
TRIGGER_STACK_POPPED = 60
TRIGGER_CREATURE_TOOK_COMBAT_DAMAGE_FROM_SOURCE = 61
TRIGGER_PLAYER_TOOK_COMBAT_DAMAGE_FROM_SOURCE = 62
TRIGGER_CREATURE_TOOK_NON_COMBAT_DAMAGE = 63
TRIGGER_PLAYER_TOOK_NON_COMBAT_DAMAGE = 64
TRIGGER_CREATURE_DEALS_COMBAT_DAMAGE = 65
TRIGGER_SET_IN_MOTION = 66
TRIGGER_ABANDONED = 67
TRIGGER_PLAYER_LOSES_GAME = 68
TRIGGER_ROLLED_CHAOS = 69
TRIGGER_ROLLED_PLANESWALK = 70
TRIGGER_PHENOMENON_ENCOUNTERED = 71
TRIGGER_PLANESWALK_AWAY_FROM = 72
TRIGGER_PLANESWALK_TO = 73
TRIGGER_PLANAR_DIE_ROLLED = 74
TRIGGER_PLAYER_POISON_CHANGED = 75
TRIGGER_PLAYER_GAIN_POISON = 76
TRIGGER_PLAYER_LOST_LIFE_FROM_DAMAGE = 77
TRIGGER_CREATURE_TOOK_COMBAT_DAMAGE = 78
TRIGGER_PLAYER_TOOK_COMBAT_DAMAGE = 79
TRIGGER_PLAYER_PUT_TOKENS_INTO_PLAY = 80
TRIGGER_CANT_ATTACK_TEST = 81
TRIGGER_CANT_BLOCK_TEST = 82
TRIGGER_CANT_ATTACK_PLAYER_TEST = 83
TRIGGER_EVASION_TEST = 84
TRIGGER_SPELL_ABOUT_TO_RESOLVE = 85
TRIGGER_ABILITY_ABOUT_TO_RESOLVE = 86
_TRIGGER_COUNT = 87
TARGET_DETERMINATION_NONE = 0
TARGET_DETERMINATION_ALL = 1
TARGET_DETERMINATION_SOME = 2
STACK_OBJECT_UNDEFINED = 0
STACK_OBJECT_CARD = 1
STACK_OBJECT_ABILITY = 2
STACK_OBJECT_COMBAT_DAMAGE = 3
SCORE_QUERY = 0
SCORE_BASIC_LOOKAHEAD = 1
SCORE_FULL_LOOKAHEAD = 2
SCORE_COMBAT_PRECALC = 3
GAME_TYPE_FREE_FOR_ALL = 0
GAME_TYPE_TWO_HEADED_GIANT = 1
QUERY_FLAG_CAN_BE_FINISHED_EARLY = 1
QUERY_FLAG_SELECT_EVERYTHING = 2
QUERY_FLAG_SLOWLY_RIPPLE = 4
QUERY_FLAG_REVEAL_RESULTS = 8
QUERY_FLAG_CAN_BE_FINISHED_EARLY_CANCEL_EDITION = 16
QUERY_FLAG_CAN_BE_FINISHED_EARLY_FOR_AI_AS_WELL = 32
QUERY_FLAG_RANDOM = 64
QUERY_FLAG_USE_TARGET_SORTER = 128
_COMPARTMENT_FREE = 0
COMPARTMENT_INTEGER = 1
COMPARTMENT_FLOAT = 2
COMPARTMENT_PLAYER_PTR = 3
COMPARTMENT_TEAM_PTR = 4
COMPARTMENT_OBJECT_PTR = 5
COMPARTMENT_PROTECTED_OBJECT_PTR = 6
COMPARTMENT_CARD_TYPE = 7
COMPARTMENT_SUB_TYPE = 8
COMPARTMENT_SUPER_TYPE = 9
COMPARTMENT_FILTER = 10
COMPARTMENT_COLOUR = 11
COMPARTMENT_ABILITY = 12
COMPARTMENT_DAMAGE = 13
COMPARTMENT_TARGET = 14
COMPARTMENT_CHEST = 15
NEXT_COMPARTMENT = -1
NO_VALIDATION = -1
HINT_ALLIED_ONLY = 0
HINT_ALLIED = 1
HINT_NEUTRAL = 2
HINT_ENEMY = 3
HINT_ENEMY_ONLY = 4
PLANECHASE_DICE_ROLL_NOT_ROLLED = -1
PLANECHASE_DICE_ROLL_NONE = 0
PLANECHASE_DICE_ROLL_CHAOS = 1
PLANECHASE_DICE_ROLL_PLANESWALK = 2
TARGET_SORT_TYPE_CONTROL = 0
TARGET_SORT_TYPE_SCORE = 1
TARGET_SORT_TYPE_DESTROY = 2
TARGET_SORT_TYPE_DAMAGE = 3
TARGET_SORT_POLARITY_ENEMY = 0
TARGET_SORT_POLARITY_ALLIED = 1
TARGET_SORT_POLARITY_NEUTRAL = 2
TARGET_SORT_POLARITY_INVERSE_NEUTRAL = 3
BADGE_FIRSTSTRIKE = 0
BADGE_TRAMPLE = 1
BADGE_DOUBLESTRIKE = 2
BADGE_DEATHTOUCH = 3
BADGE_LIFELINK = 4
BADGE_REACH = 5
BADGE_DEFENDER = 6
BADGE_SHROUD = 7
BADGE_INDESTRUCTIBLE = 8
BADGE_UNBLOCKABLE = 9
BADGE_FLYING = 10
BADGE_SHADOW = 11
BADGE_FLASH = 12
BADGE_VIGILANCE = 13
BADGE_HASTE = 14
BADGE_FEAR = 15
BADGE_PLAINS_WALK = 16
BADGE_ISLAND_WALK = 17
BADGE_SWAMP_WALK = 18
BADGE_MOUNTAIN_WALK = 19
BADGE_FOREST_WALK = 20
BADGE_HEXPROOF = 21
BADGE_DOESNT_UNTAP = 22
BADGE_DOESNT_UNTAP_NEXT_TIME = 23
BADGE_INTIMIDATE = 24
BADGE_ANNIHILATOR = 25
BADGE_BATTLE_CRY = 26
BADGE_FADING = 27
BADGE_TOTEM_ARMOR = 28
BADGE_DIES_AT_END_OF_TURN = 29
BADGE_FLANKING = 30
BADGE_INFECT = 31
BADGE_WITHER = 32
BADGE_EXALTED = 33
BADGE_UNDYING = 34
BADGE_CHANGELING = 35
_BADGE_COUNT = 36
- Code: Select all
PlayerDrawCards = function(l_1_0, l_1_1)
repeat
if l_1_1 > 0 then
l_1_1 = l_1_1 - 1
l_1_0:DrawCard()
else
-- Warning: missing end command somewhere! Added here
end
-- Warning: missing end command somewhere! Added here
end
end
DiscardHand = function(l_2_0)
repeat
if CountCardsInHand(l_2_0) > 0 then
l_2_0:DiscardRandomCard()
else
-- Warning: missing end command somewhere! Added here
end
-- Warning: missing end command somewhere! Added here
end
end
PutTokensIntoPlay = function(l_3_0, l_3_1)
PutTokensIntoPlayUnderControlOf(l_3_0, Object():GetPlayer(), l_3_1)
end
PutTokensIntoPlayUnderControlOf = function(l_4_0, l_4_1, l_4_2)
repeat
repeat
if l_4_2 > 0 then
l_4_2 = l_4_2 - 1
local l_4_3 = MTG():ObtainToken(l_4_0, l_4_1)
until l_4_3 ~= nil
l_4_3:PutIntoPlay(l_4_1)
else
-- Warning: missing end command somewhere! Added here
end
-- Warning: missing end command somewhere! Added here
end
end
PutTokensIntoPlayTapped = function(l_5_0, l_5_1)
PutTokensIntoPlayTappedUnderControlOf(l_5_0, Object():GetPlayer(), l_5_1)
end
PutTokensIntoPlayTappedUnderControlOf = function(l_6_0, l_6_1, l_6_2)
repeat
repeat
if l_6_2 > 0 then
l_6_2 = l_6_2 - 1
local l_6_3 = MTG():ObtainToken(l_6_0, l_6_1)
until l_6_3 ~= nil
l_6_3:PutIntoPlayTapped(l_6_1)
else
-- Warning: missing end command somewhere! Added here
end
-- Warning: missing end command somewhere! Added here
end
end
PutTokenIntoPlay = function(l_7_0)
local l_7_1 = MTG():ObtainToken(l_7_0, Object():GetPlayer())
if l_7_1 ~= nil then
l_7_1:PutIntoPlay(Object():GetPlayer())
end
return l_7_1
end
PutTokensIntoPlayAttacking = function(l_8_0, l_8_1, l_8_2)
pController = Object():GetPlayer()
repeat
repeat
if l_8_1 > 0 then
l_8_1 = l_8_1 - 1
local l_8_3 = MTG():ObtainToken(l_8_0, pController)
until l_8_3 ~= nil
l_8_3:PutIntoPlayTapped(pController)
l_8_3:AttackPlayer(l_8_2)
else
-- Warning: missing end command somewhere! Added here
end
-- Warning: missing end command somewhere! Added here
end
end
PutTokensIntoPlayBlocking = function(l_9_0, l_9_1, l_9_2)
pController = Object():GetPlayer()
repeat
repeat
if l_9_1 > 0 then
l_9_1 = l_9_1 - 1
local l_9_3 = MTG():ObtainToken(l_9_0, pController)
until l_9_3 ~= nil
l_9_3:PutIntoPlay(pController)
l_9_3:BlockAttacker(l_9_2)
else
-- Warning: missing end command somewhere! Added here
end
-- Warning: missing end command somewhere! Added here
end
end
MillCards = function(l_10_0, l_10_1)
repeat
repeat
if l_10_1 > 0 then
l_10_1 = l_10_1 - 1
until l_10_0:Library_GetTop() ~= nil
local l_10_2 = l_10_0:Library_GetTop()
l_10_2:PutInGraveyard()
l_10_2:GuidedReveal(ZONE_LIBRARY, ZONE_GRAVEYARD)
else
-- Warning: missing end command somewhere! Added here
end
-- Warning: missing end command somewhere! Added here
end
end
SearchLibrary = function(l_11_0, l_11_1)
Object():GetFilter():SetPlayer(l_11_0)
Object():GetFilter():SetZone(ZONE_LIBRARY)
Object():GetFilter():NotTargetted()
Object():GetPlayer():ChooseTargetWithFlags(l_11_1, QUERY_FLAG_CAN_BE_FINISHED_EARLY_CANCEL_EDITION)
end
SearchLibraryForNCards = function(l_12_0, l_12_1, l_12_2)
Object():GetFilter():SetPlayer(l_12_0)
Object():GetFilter():SetZone(ZONE_LIBRARY)
Object():GetFilter():NotTargetted()
Object():GetPlayer():SetTargetCount(l_12_2)
do
local l_12_3 = 1
repeat
if l_12_3 < l_12_2 + 1 then
Object():GetPlayer():SetTargetPrompt(l_12_3 - 1, l_12_1)
l_12_3 = l_12_3 + 1
else
Object():GetPlayer():ChooseTargetsWithFlags(QUERY_FLAG_CAN_BE_FINISHED_EARLY_CANCEL_EDITION)
end
-- Warning: missing end command somewhere! Added here
end
-- Warning: missing end command somewhere! Added here
end
end
- Code: Select all
CountCreaturesInPlay = function()
Object():GetFilter():Clear()
Object():GetFilter():SetZone(ZONE_IN_PLAY)
Object():GetFilter():AddCardType(CARD_TYPE_CREATURE)
Object():GetFilter():NotTargetted()
return Object():GetFilter():Count()
end
CountCardsInHand = function(l_2_0)
Object():GetFilter():Clear()
Object():GetFilter():SetZone(ZONE_HAND)
Object():GetFilter():SetPlayer(l_2_0)
Object():GetFilter():NotTargetted()
return Object():GetFilter():Count()
end
CountCardsInGraveyard = function(l_3_0)
Object():GetFilter():Clear()
Object():GetFilter():SetZone(ZONE_GRAVEYARD)
Object():GetFilter():SetPlayer(l_3_0)
Object():GetFilter():NotTargetted()
return Object():GetFilter():Count()
end
CountCardsInLibrary = function(l_4_0)
Object():GetFilter():Clear()
Object():GetFilter():SetZone(ZONE_LIBRARY)
Object():GetFilter():SetPlayer(l_4_0)
Object():GetFilter():NotTargetted()
return Object():GetFilter():Count()
end
CountCardsInYourGraveyardOfType = function(l_5_0)
Object():GetFilter():Clear()
Object():GetFilter():SetZone(ZONE_GRAVEYARD)
Object():GetFilter():AddSubType(l_5_0)
Object():GetFilter():SetPlayer(Object():GetPlayer())
Object():GetFilter():NotTargetted()
return Object():GetFilter():Count()
end
TriggeredForMe = function()
return TriggerPlayer() == Object():GetPlayer()
end
EveryUpkeep = function()
if MTG():GetStep() == STEP_UPKEEP then
local l_7_0 = TriggeredForMe()
else
return false
end
end
EveryEndStep = function()
if MTG():GetStep() == STEP_END_OF_TURN then
local l_8_0 = TriggeredForMe()
else
return false
end
end
MyUpkeep = function()
if MTG():GetStep() == STEP_UPKEEP and Object():GetController():MyTurn() ~= 0 then
local l_9_0 = TriggeredForMe()
else
return false
end
end
OtherPlayersUpkeep = function()
return MTG():GetStep() == STEP_UPKEEP and Object():GetController():MyTurn() == 0
end
PlayersUpkeep = function(l_11_0)
return MTG():GetStep() == STEP_UPKEEP and l_11_0:MyTurn() ~= 0 and TriggerPlayer() == l_11_0
end
MyStep = function(l_12_0)
if MTG():GetStep() == l_12_0 and Object():GetController():MyTurn() ~= 0 then
local l_12_1 = TriggeredForMe()
else
return false
end
end
AnyOpponentBloodied = function(l_13_0)
local l_13_1 = l_13_0:GetTeam()
for l_13_5 = 0, MTG():GetNumberOfPlayers() - 1 do
local l_13_6 = MTG():GetNthPlayer(l_13_5)
if l_13_6:GetTeam() ~= l_13_1 and l_13_6:GetLifeTotal() < 11 then
return true
end
end
return false
end
IsInstantOrSorcery = function(l_14_0)
return l_14_0:GetCardType():Test(CARD_TYPE_INSTANT) ~= 0 or l_14_0:GetCardType():Test(CARD_TYPE_SORCERY) ~= 0
end
Object = function()
local l_15_0, l_15_1 = MTG():GetCurrentObject, MTG()
return l_15_0(l_15_1)
end
EffectController = function()
local l_16_0, l_16_1 = MTG():EffectController, MTG()
return l_16_0(l_16_1)
end
EffectDC = function()
local l_17_0, l_17_1 = MTG():EffectDataChest, MTG()
return l_17_0(l_17_1)
end
ObjectDC = function()
local l_18_0, l_18_1 = MTG():ObjectDataChest, MTG()
return l_18_0(l_18_1)
end
TriggerObject = function()
local l_19_0, l_19_1 = MTG():EffectDataChest():Get_CardPtr, MTG():EffectDataChest()
local l_19_2 = COMPARTMENT_ID_PARAM_TRIGGER_OBJECT
return l_19_0(l_19_1, l_19_2)
end
TriggerPlayer = function()
local l_20_0, l_20_1 = MTG():EffectDataChest():Get_PlayerPtr, MTG():EffectDataChest()
local l_20_2 = COMPARTMENT_ID_PARAM_TRIGGER_PLAYER
return l_20_0(l_20_1, l_20_2)
end
SecondaryObject = function()
local l_21_0, l_21_1 = MTG():EffectDataChest():Get_CardPtr, MTG():EffectDataChest()
local l_21_2 = COMPARTMENT_ID_PARAM_SECONDARY_CARD
return l_21_0(l_21_1, l_21_2)
end
TriggerStackID = function()
local l_22_0, l_22_1 = MTG():EffectDataChest():Get_Int, MTG():EffectDataChest()
local l_22_2 = COMPARTMENT_ID_STACK_OBJECT
return l_22_0(l_22_1, l_22_2)
end
SecondaryPlayer = function()
local l_23_0, l_23_1 = MTG():EffectDataChest():Get_PlayerPtr, MTG():EffectDataChest()
local l_23_2 = COMPARTMENT_ID_PARAM_SECONDARY_PLAYER
return l_23_0(l_23_1, l_23_2)
end
GetAmount = function()
local l_24_0, l_24_1 = MTG():EffectDataChest():Get_Int, MTG():EffectDataChest()
local l_24_2 = COMPARTMENT_ID_PARAM_AMOUNT
return l_24_0(l_24_1, l_24_2)
end
SetAmount = function(l_25_0)
MTG():EffectDataChest():Set_Int(COMPARTMENT_ID_PARAM_AMOUNT, l_25_0)
end
GetFromZone = function()
local l_26_0, l_26_1 = MTG():EffectDataChest():Get_Int, MTG():EffectDataChest()
local l_26_2 = COMPARTMENT_ID_PARAM_FROM_ZONE
return l_26_0(l_26_1, l_26_2)
end
GetToZone = function()
local l_27_0, l_27_1 = MTG():EffectDataChest():Get_Int, MTG():EffectDataChest()
local l_27_2 = COMPARTMENT_ID_PARAM_TO_ZONE
return l_27_0(l_27_1, l_27_2)
end
CounterTypeIndex = function()
local l_28_0, l_28_1 = MTG():EffectDataChest():Get_Int, MTG():EffectDataChest()
local l_28_2 = COMPARTMENT_ID_COUNTER_TYPE
return l_28_0(l_28_1, l_28_2)
end
Damage = function()
local l_29_0, l_29_1 = MTG():EffectDataChest():Get_Damage, MTG():EffectDataChest()
local l_29_2 = COMPARTMENT_ID_DAMAGE
return l_29_0(l_29_1, l_29_2)
end
FilteredCard = function()
local l_30_0, l_30_1 = MTG():EffectDataChest():Get_CardPtr, MTG():EffectDataChest()
local l_30_2 = COMPARTMENT_ID_FILTERED_CARD
return l_30_0(l_30_1, l_30_2)
end
FilteredPlayer = function()
local l_31_0, l_31_1 = MTG():EffectDataChest():Get_PlayerPtr, MTG():EffectDataChest()
local l_31_2 = COMPARTMENT_ID_FILTERED_PLAYER
return l_31_0(l_31_1, l_31_2)
end
EffectSource = function()
local l_32_0, l_32_1 = MTG():EffectDataChest():Get_CardPtr, MTG():EffectDataChest()
local l_32_2 = COMPARTMENT_ID_EFFECT_SOURCE
return l_32_0(l_32_1, l_32_2)
end
GetEffectX = function()
local l_33_0, l_33_1 = MTG():EffectDataChest():Get_Int, MTG():EffectDataChest()
local l_33_2 = COMPARTMENT_ID_X
return l_33_0(l_33_1, l_33_2)
end
GetObjectX = function()
local l_34_0, l_34_1 = MTG():ObjectDataChest():Get_Int, MTG():ObjectDataChest()
local l_34_2 = COMPARTMENT_ID_X
return l_34_0(l_34_1, l_34_2)
end
GetChosenColour = function()
local l_35_0, l_35_1 = MTG():EffectDataChest():Get_Colour, MTG():EffectDataChest()
local l_35_2 = COMPARTMENT_ID_COLOUR_ANSWER
return l_35_0(l_35_1, l_35_2)
end
- Code: Select all
IsPlayer = function()
return FilteredPlayer() ~= nil
end
You = function()
return FilteredPlayer() ~= nil and FilteredPlayer() == Object():GetPlayer()
end
Opponents = function()
return FilteredPlayer() ~= nil and FilteredPlayer():GetTeam() ~= Object():GetPlayer():GetTeam()
end
InGraveyard = function()
return FilteredCard() ~= nil and FilteredCard():GetZone() == ZONE_GRAVEYARD
end
InHand = function()
return FilteredCard() ~= nil and FilteredCard():GetZone() == ZONE_HAND
end
InLibrary = function()
return FilteredCard() ~= nil and FilteredCard():GetZone() == ZONE_LIBRARY
end
InPlay = function()
return FilteredCard() ~= nil and FilteredCard():GetZone() == ZONE_IN_PLAY
end
RemovedFromGame = function()
return FilteredCard() ~= nil and FilteredCard():GetZone() == ZONE_REMOVED_FROM_GAME
end
PhasedOut = function()
return FilteredCard() ~= nil and FilteredCard():GetZone() == ZONE_PHASED_OUT
end
CreaturesAndPlayers = function()
return (FilteredCard() ~= nil and FilteredCard():GetCardType():Test(CARD_TYPE_CREATURE) ~= 0) or FilteredPlayer() ~= nil
end
CreaturesPlaneswalkersAndPlayers = function()
return CreaturesAndPlayers() or (FilteredCard() ~= nil and FilteredCard():GetCardType():Test(CARD_TYPE_PLANESWALKER) ~= 0)
end
Damageable = function()
return CreaturesPlaneswalkersAndPlayers()
end
Permanents = function()
return FilteredCard() ~= nil and FilteredCard():GetCardType():Test(CARD_TYPE_ENCHANTMENT) ~= 0 or FilteredCard():GetCardType():Test(CARD_TYPE_LAND) ~= 0 or FilteredCard():GetCardType():Test(CARD_TYPE_ARTIFACT) ~= 0 or FilteredCard():GetCardType():Test(CARD_TYPE_CREATURE) ~= 0 or FilteredCard():GetCardType():Test(CARD_TYPE_PLANESWALKER) ~= 0
end
Enchantments = function()
return FilteredCard() ~= nil and FilteredCard():GetCardType():Test(CARD_TYPE_ENCHANTMENT) ~= 0
end
NonArtifacts = function()
return FilteredCard() ~= nil and FilteredCard():GetCardType():Test(CARD_TYPE_ARTIFACT) == 0
end
Artifacts = function()
return FilteredCard() ~= nil and FilteredCard():GetCardType():Test(CARD_TYPE_ARTIFACT) ~= 0
end
EnchantmentsInPlay = function()
if Enchantments() then
return InPlay()
end
end
ArtifactsInPlay = function()
if Artifacts() then
return InPlay()
end
end
Creatures = function()
return FilteredCard() ~= nil and FilteredCard():GetCardType():Test(CARD_TYPE_CREATURE) ~= 0
end
IsFlying = function()
return FilteredCard():GetCurrentCharacteristics():Badge_Test(BADGE_FLYING) ~= 0
end
Lands = function()
return FilteredCard() ~= nil and FilteredCard():GetCardType():Test(CARD_TYPE_LAND) ~= 0
end
NonLands = function()
return FilteredCard() ~= nil and FilteredCard():GetCardType():Test(CARD_TYPE_LAND) == 0
end
TargetPlayerControls = function()
return FilteredCard() ~= nil and FilteredCard():GetController() == Object():GetTargetPlayer()
end
YouControl = function()
return FilteredCard() ~= nil and FilteredCard():GetController() == Object():GetController()
end
YouDontControl = function()
return FilteredCard() ~= nil and FilteredCard():GetController() ~= Object():GetController()
end
IsController = function()
return FilteredPlayer() == Object():GetController()
end
ColourTest = function(l_27_0)
return FilteredCard() ~= nil and FilteredCard():GetColour():Test(l_27_0) ~= 0
end
Black = function()
return ColourTest(COLOUR_BLACK)
end
Red = function()
return ColourTest(COLOUR_RED)
end
Green = function()
return ColourTest(COLOUR_GREEN)
end
Blue = function()
return ColourTest(COLOUR_BLUE)
end
White = function()
return ColourTest(COLOUR_WHITE)
end
Colourless = function()
return ColourTest(COLOUR_COLOURLESS)
end
ColourNonTest = function(l_34_0)
return FilteredCard() ~= nil and FilteredCard():GetColour():Test(l_34_0) == 0
end
NonBlack = function()
return ColourNonTest(COLOUR_BLACK)
end
NonRed = function()
return ColourNonTest(COLOUR_RED)
end
NonGreen = function()
return ColourNonTest(COLOUR_GREEN)
end
NonBlue = function()
return ColourNonTest(COLOUR_BLUE)
end
NonWhite = function()
return ColourNonTest(COLOUR_WHITE)
end
CreaturesInPlay = function()
if Creatures() then
return InPlay()
end
end
NonLandsInPlay = function()
if NonLands() then
return InPlay()
end
end
CreaturesYouControl = function()
if CreaturesInPlay() then
return YouControl()
end
end
CreaturesControlledBy = function(l_43_0)
return not CreaturesInPlay() or FilteredCard():GetController() == l_43_0
end
CreaturesYouControlOfType = function(l_44_0)
if CreaturesInPlayOfType(l_44_0) then
return YouControl()
end
end
OtherCreaturesInPlayYouControl = function()
if FilteredCard() ~= Object() then
local l_45_0 = CreaturesYouControl()
else
return false
end
end
OtherCreaturesInPlayYouControlOfType = function(l_46_0)
if FilteredCard() ~= Object() then
local l_46_1 = CreaturesYouControlOfType(l_46_0)
else
return false
end
end
ThisAndOtherCreaturesInPlayYouControlOfType = function(l_47_0)
return (FilteredCard() ~= Object() and CreaturesYouControlOfType(l_47_0)) or FilteredCard() == Object()
end
ArtifactsYouControl = function()
if Artifacts() then
return YouControl()
end
end
OtherArtifactsYouControl = function()
do
if FilteredCard() ~= Object() and Artifacts() then
local l_49_0 = YouControl()
end
-- DECOMPILER ERROR: Confused about usage of registers!
end
return l_49_0
end
EnchantmentsYouControl = function()
if Enchantments() then
return YouControl()
end
end
LandsYouControl = function()
if Lands() then
return YouControl()
end
end
PermanentsYouControl = function()
if Permanents() then
return YouControl()
end
end
BlackCreatures = function()
if Creatures() then
return Black()
end
end
OtherBlackCreatures = function()
if OtherCreatures() then
return Black()
end
end
RedCreatures = function()
if Creatures() then
return Red()
end
end
RedCreaturesYouControl = function()
if CreaturesYouControl() then
return Red()
end
end
GreenCreatures = function()
if Creatures() then
return Green()
end
end
GreenCreaturesYouControl = function()
if CreaturesYouControl() then
return Green()
end
end
BlueCreatures = function()
if Creatures() then
return Blue()
end
end
WhiteCreatures = function()
if Creatures() then
return White()
end
end
NonBlackCreatures = function()
if Creatures() then
return NonBlack()
end
end
NonRedCreatures = function()
if Creatures() then
return NonRed()
end
end
NonGreenCreatures = function()
if Creatures() then
return NonGreen()
end
end
NonBlueCreatures = function()
if Creatures() then
return NonBlue()
end
end
NonWhiteCreatures = function()
if Creatures() then
return NonWhite()
end
end
CreaturesTargetPlayerControls = function()
if Creatures() then
return TargetPlayerControls()
end
end
ArtifactsTargetPlayerControls = function()
if Artifacts() then
return TargetPlayerControls()
end
end
EnchantmentsTargetPlayerControls = function()
if Enchantments() then
return TargetPlayerControls()
end
end
LandsTargetPlayerControls = function()
if Lands() then
return TargetPlayerControls()
end
end
PermanentsTargetPlayerControls = function()
if Permanents() then
return TargetPlayerControls()
end
end
FlyingCreatures = function()
if CreaturesInPlay() then
return IsFlying()
end
end
CreaturesWithoutFlying = function()
if CreaturesInPlay() then
return not IsFlying()
end
end
OtherCreatures = function()
return not CreaturesInPlay() or FilteredCard() ~= Object()
end
EnchantedObject = function()
return FilteredCard() ~= nil and FilteredCard() == Object():GetParent()
end
EquippedCreature = function()
return FilteredCard() ~= nil and FilteredCard() == Object():GetParent()
end
TargetCard = function()
return FilteredCard() ~= nil and not Object():GetTargetCard() or FilteredCard() == Object():GetTargetCard()
end
TargetCreature = function()
return TargetCard()
end
TargetCardOrPlayer = function()
return (FilteredCard() ~= nil and Object():GetTargetCard() and FilteredCard() == Object():GetTargetCard()) or (FilteredPlayer() ~= nil and not Object():GetTargetPlayer() or FilteredPlayer() == Object():GetTargetPlayer())
end
TargetPlayer = function()
return FilteredPlayer() ~= nil and not Object():GetTargetPlayer() or FilteredPlayer() == Object():GetTargetPlayer()
end
CreaturesInPlayOfType = function(l_80_0)
return not CreaturesInPlay() or FilteredCard():GetSubType():Test(l_80_0) ~= 0
end
OtherCreaturesInPlayOfType = function(l_81_0)
return not OtherCreatures() or FilteredCard():GetSubType():Test(l_81_0) ~= 0
end
OtherCreaturesInPlayCalled = function(l_82_0)
return not CreaturesInPlay() or (FilteredCard() ~= Object() and l_82_0:GetRef() == FilteredCard():GetRef())
end
TargetPlayersGraveyard = function()
if InGraveyard() then
return TargetPlayerOwns()
end
end
ClearFilter = function()
Object():GetFilter():Clear()
end
Self = function()
if FilteredCard() ~= nil then
if Object() == FilteredCard() then
return true
else
return false
end
else
return false
end
end
SelfTriggered = function()
return Object() == TriggerObject()
end
OpponentTriggered = function(l_87_0)
return Object():GetPlayer():GetTeam() ~= l_87_0:GetTeam()
end
ParentTriggered = function()
return Object():GetParent() == TriggerObject()
end
WhiteSpell = function()
return TriggerObject():GetColour():Test(COLOUR_WHITE) ~= 0
end
BlueSpell = function()
return TriggerObject():GetColour():Test(COLOUR_BLUE) ~= 0
end
BlackSpell = function()
return TriggerObject():GetColour():Test(COLOUR_BLACK) ~= 0
end
RedSpell = function()
return TriggerObject():GetColour():Test(COLOUR_RED) ~= 0
end
GreenSpell = function()
return TriggerObject():GetColour():Test(COLOUR_GREEN) ~= 0
end
LandFall = function()
return TriggerObject():GetCardType():Test(CARD_TYPE_LAND) ~= 0 and TriggerObject():GetPlayer() == Object():GetPlayer()
end
Intimidate = function()
return not SelfTriggered() or (SecondaryObject():GetColour():TestAny(Object():GetColour()) == 0 and SecondaryObject():GetCardType():Test(CARD_TYPE_ARTIFACT) == 0)
end
UntilEndOfTurn = function()
return MTG():GetStep() == STEP_CLEANUP
end
OwnedByAnOpponent = function()
return FilteredCard():GetOwner():GetTeam() ~= Object():GetPlayer():GetTeam()
end
OwnedByYou = function()
return FilteredCard():GetPlayer() == Object():GetPlayer()
end
- Code: Select all
lua_mtg_index = 5
lua_effect_index = 6
lua_triggerobject_index = 7
lua_triggerplayer_index = 8
lua_secondaryobject_index = 9
lua_secondaryplayer_index = 10
lua_triggerability_index = 11
lua_amount_index = 12
lua_countertype_index = 13
lua_player_index = 14
lua_damage_index = 15
MTG = function()
local l_1_0 = rawget
local l_1_1 = _G
local l_1_2 = lua_mtg_index
return l_1_0(l_1_1, l_1_2)
end
- Code: Select all
AtLeastOneTargetFromDefinition = function(l_1_0)
local l_1_1 = Object():LoadTargetDefinition(l_1_0)
local l_1_2, l_1_3 = l_1_1:CountStopAt, l_1_1
local l_1_4 = 1
return l_1_2(l_1_3, l_1_4)
end
AtLeastNTargetsFromDefinition = function(l_2_0, l_2_1)
local l_2_2 = Object():LoadTargetDefinition(l_2_0)
if l_2_2:CountStopAt(l_2_1) == l_2_1 then
return 1
else
return 0
end
end
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
Currently busy with life...
-
thefiremind - Programmer
- Posts: 3515
- Joined: 07 Nov 2011, 10:55
- Has thanked: 118 times
- Been thanked: 722 times
Re: DotP2013 LOL files decoded
by thefiremind » 30 Mar 2013, 14:22
The following doesn't come from a LOL file, but I think it fits well here because it's the list of the triggers from the DotP2012 file DATA_CORE\DATA_ALL_PLATFORMS\DATA_REQUIRED\SPECIALFX\SPECIALFX\DEFAULTS.XML. It contains some wrong information (not because it comes from DotP2012: I remember something being wrong in DotP2012 as well!) but most of the times you can rely on it in order to know which kind of information comes with each trigger.
It's possible that some information comes from DotP2010 where there was an Effect() pointer available, but this is no longer true for the following versions.
- Code: Select all
BEGINNING_OF_STEP, // X Info: player (will be called for each player in turn)
END_OF_STEP, // X Info: player (will be called for each player in turn)
BEGINNING_OF_TURN, // X Info: player (will be called for each player in turn)
END_OF_TURN, // X Info: player (will be called for each player in turn)
ATTACKERS_DECLARED, // X Info: player (will be called for each player in turn)
BLOCKERS_DECLARED, // X Info: player (will be called for each player in turn)
COMBAT_DAMAGE_PUSHED, // X Info: player (will be called for each player in turn)
ACTIVATED_ABILITY_PLAYED, // X Info: object, ability
CREATURE_TOOK_DAMAGE, // X Info: object, damage amount
PLAYER_TOOK_DAMAGE, // X Info: object, damage amount
PLAYER_LOST_LIFE, // X Info: player, life-loss amount
PLAYER_GAINED_LIFE, // X Info: player, life-loss amount
PLAYER_LIFE_CHANGED, // X Info: player, life-loss amount
ATTACKING_AND_ISNT_BLOCKED, // X Info: object
ATTACKING, // X Info: object
AURA_ATTACHED, // X Info: object, aura
EQUIPMENT_ATTACHED, // X Info: object, equipment
BECAME_BLOCKED, // X Info: object (once per attacker, per blocker)
BECAME_TAPPED, // X Info: object
BECAME_TAPPED_FOR_MANA, // - Info: object
BECAME_TARGET, // X Info: object
BECAME_UNTAPPED, // X Info: object
BLOCKING, // X Info: object
CHAMPIONED, // ? Info: object
CLASH, // ? Info: player1, player2
CONTROLLER_CHANGED, // X Info: object
COUNTERS_CHANGED, // X Info: counter type, amount difference
CYCLED, // ? Info: object
CREATURE_DEALT_COMBAT_DAMAGE, // X Info: object, amount
CREATURE_DEALT_COMBAT_DAMAGE_TO_PLAYER, // X Info: object, player, amount
DESTROYED, // X Info: object
DISCARD, // X Info: object
DREW_CARD, // X Info: player
KICKER_PAID, // - Info: object
LOST_CLASH, // ? Info: player
PAY_CUMULATIVE_UPKEEP, // - Info: object
PAY_ECHO, // - Info: object
SPELL_OR_ABILITY_CAUSED_SHUFFLE, // X Info: player
STATE_BASED_EFFECTS, // X Info: player (will be called for each player in turn)
TARGETS_CHOSEN, // X Info: object
TURNED_FACE_UP, // - Info: object
UNATTACHED_FROM_CREATURE, // X Info: object
WAS_BLOCKED_BY, // X Info: object, blocker
WON_CLASH, // ? Info: player
HIT_GRAVEYARD, // X Info: object
ZONECHANGE, // X Info: object
SACRIFICE, // X Info: object
SPELL_PLAYED, // X Info: object
SPELL_RESOLVED, // X Info: object
ABILITY_PLAYED, // X Info: object, ability
ABILITY_RESOLVED, // X Info: object, ability
LAND_PLAYED, // X Info: object
COMES_INTO_PLAY, // X Info: object
WAS_BLOCKED, // X Info: object (once per attacker that was blocked)
CARD_CONSIDERED_FOR_TARGETTING, // X Info: object, source of targetting
PLAYER_CONSIDERED_FOR_TARGETTING, // X Info: player, source of targetting
EVASION_TEST, // X Info: attacker, blocker
SPELL_BEING_COUNTERED, // X Info: object
CREATURE_DEALT_COMBAT_DAMAGE_TO_CREATURE, // X Info: object, object, amount
STACK_PUSHED, // X Info: stack object // NOT FOR USE FOR SFX TRIGGERS
STACK_POPPED, // X Info: stack object // NOT FOR USE FOR SFX TRIGGERS

< Former DotP 2012/2013/2014 modder >
Currently busy with life...
Currently busy with life...
-
thefiremind - Programmer
- Posts: 3515
- Joined: 07 Nov 2011, 10:55
- Has thanked: 118 times
- Been thanked: 722 times
2 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 1 guest